@ykcl/smart-ui-oversea
Version:
A Component Library for Vue.js.
1,548 lines (1,424 loc) • 379 kB
JavaScript
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, exports) {
module.exports = require("vue");
/***/ }),
/***/ 1:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return on; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return off; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return once; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hasClass; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addClass; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return removeClass; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getStyle; });
/* unused harmony export setStyle */
/* unused harmony export isScroll */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollContainer; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isInContainer; });
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__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; };
/* istanbul ignore next */
var isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.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 = 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 = 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 = 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 = 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 = 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 = 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 = 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;
};
/***/ }),
/***/ 10:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var element_ui_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9);
var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(24);
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.
*/
/* harmony default export */ __webpack_exports__["a"] = ({
props: {
transformOrigin: {
type: [Boolean, String],
default: true
},
placement: {
type: String,
default: 'bottom'
},
boundariesPadding: {
type: Number,
default: 10
},
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;
options.boundariesPadding = this.boundariesPadding;
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 = element_ui_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__[/* PopupManager */ "a"].nextZIndex();
this.popperElm.addEventListener('click', stop);
},
updatePopper: function updatePopper() {
var popperJS = this.popperJS;
if (popperJS) {
popperJS.update();
if (popperJS._popper) {
popperJS._popper.style.zIndex = element_ui_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__[/* PopupManager */ "a"].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);
}
});
/***/ }),
/***/ 108:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules
var picker = __webpack_require__(40);
// CONCATENATED MODULE: ./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=template&id=6655ef3d
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"transition",
{
attrs: { name: "yk-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: "yk-picker-panel yk-date-picker yk-popper",
class: [
{
"has-time": _vm.showTime,
},
_vm.popperClass,
],
},
[
_c(
"div",
{ staticClass: "yk-picker-panel__body-wrapper" },
[
_vm._t("sidebar"),
_c("div", { staticClass: "yk-picker-panel__body" }, [
_vm.showTime
? _c("div", { staticClass: "yk-date-picker__time-header" }, [
_c(
"span",
{ staticClass: "yk-date-picker__editor-wrap" },
[
_c("yk-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: "yk-date-picker__editor-wrap",
},
[
_c("yk-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: "yk-date-picker__header",
class: {
"yk-date-picker__header--bordered":
_vm.currentView === "year" ||
_vm.currentView === "month",
},
},
[
_c("button", {
staticClass:
"yk-picker-panel__icon-btn yk-date-picker__prev-btn yk_icon_arrow_double_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:
"yk-picker-panel__icon-btn yk-date-picker__prev-btn yk_icon_arrow_border_1_left",
attrs: {
type: "button",
"aria-label": _vm.t("el.datepicker.prevMonth"),
},
on: { click: _vm.prevMonth },
}),
_c(
"span",
{
staticClass: "yk-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: "yk-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:
"yk-picker-panel__icon-btn yk-date-picker__next-btn yk_icon_arrow_double_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:
"yk-picker-panel__icon-btn yk-date-picker__next-btn yk_icon_arrow_border_1_right",
attrs: {
type: "button",
"aria-label": _vm.t("el.datepicker.nextMonth"),
},
on: { click: _vm.nextMonth },
}),
]
),
_c(
"div",
{ staticClass: "yk-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: {
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: {
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.shortcuts,
expression:
"(footerVisible && currentView === 'date') || shortcuts",
},
],
staticClass: "yk-picker-panel__footer",
},
[
_vm.shortcuts
? _c(
"div",
{ staticClass: "yk-picker-panel__slide__left" },
_vm._l(_vm.shortcuts, function (shortcut, key) {
return _c(
"yk-button",
{
key: key,
attrs: { type: "primary", size: "small", plain: "" },
on: {
click: function ($event) {
_vm.handleShortcutClick(shortcut)
},
},
},
[_vm._v(_vm._s(shortcut.text))]
)
}),
1
)
: _vm._e(),
_c(
"div",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm.footerVisible && _vm.currentView === "date",
expression: "footerVisible && currentView === 'date'",
},
],
staticClass: "yk-picker-panel__slide__right",
},
[
_c(
"yk-button",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm.selectionMode !== "dates",
expression: "selectionMode !== 'dates'",
},
],
staticClass: "yk-picker-panel__link-btn",
attrs: { plain: "", size: "medium" },
on: { click: _vm.changeToNow },
},
[
_vm._v(
"\n " +
_vm._s(_vm.t("el.datepicker.now")) +
"\n "
),
]
),
_c(
"yk-button",
{
staticClass: "yk-picker-panel__link-btn",
attrs: { size: "medium", type: "primary" },
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=6655ef3d
// EXTERNAL MODULE: ./src/utils/date-util.js
var date_util = __webpack_require__(4);
// EXTERNAL MODULE: ./src/utils/clickoutside.js
var clickoutside = __webpack_require__(19);
// EXTERNAL MODULE: ./src/mixins/locale.js
var locale = __webpack_require__(13);
// EXTERNAL MODULE: ./packages/input/index.js + 6 modules
var input = __webpack_require__(18);
// EXTERNAL MODULE: ./packages/button/index.js + 10 modules
var packages_button = __webpack_require__(22);
// EXTERNAL MODULE: ./packages/date-picker/src/panel/time.vue + 4 modules
var panel_time = __webpack_require__(37);
// CONCATENATED MODULE: ./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=f25b9674
var year_tablevue_type_template_id_f25b9674_render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"table",
{ staticClass: "yk-year-table", on: { click: _vm.handleYearTableClick } },
[
_c("tbody", [
_c("tr", [
_c(
"td",
{
staticClass: "available prev-year",
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 + 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("tr", [
_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(
"td",
{
staticClass: "available",
class: _vm.getCellStyle(_vm.startYear + 4),
},
[
_c("a", { staticClass: "cell" }, [
_vm._v(_vm._s(_vm.startYear + 4)),
]),
]
),
]),
_c("tr", [
_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",
{
staticClass: "available next-year",
class: _vm.getCellStyle(_vm.startYear + 10),
},
[
_c("a", { staticClass: "cell" }, [
_vm._v(_vm._s(_vm.startYear + 10)),
]),
]
),
]),
]),
]
)
}
var year_tablevue_type_template_id_f25b9674_staticRenderFns = []
year_tablevue_type_template_id_f25b9674_render._withStripped = true
// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=f25b9674
// EXTERNAL MODULE: ./src/utils/dom.js
var dom = __webpack_require__(1);
// EXTERNAL MODULE: ./src/utils/util.js
var util = __webpack_require__(3);
// CONCATENATED MODULE: ./node_modules/_babel-loader@7.1.5@babel-loader/lib!./node_modules/_vue-loader@15.11.1@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["h" /* getDayCountOfYear */])(year);
var firstDay = new Date(year, 0, 1);
return Object(date_util["D" /* range */])(numOfDays).map(function (n) {
return Object(date_util["w" /* 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["q" /* isDate */])(val);
}
},
date: {}
},
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["b" /* arrayFindIndex */])(Object(util["e" /* 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["d" /* hasClass */])(target.parentNode, 'disabled')) return;
var year = target.textContent || target.innerText;
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@15.11.1@vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);
// 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_f25b9674_render,
year_tablevue_type_template_id_f25b9674_staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var year_table = (component.exports);
// CONCATENATED MODULE: ./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=5c19c79e
var month_tablevue_type_template_id_5c19c79e_render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"table",
{
staticClass: "yk-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_5c19c79e_staticRenderFns = []
month_tablevue_type_template_id_5c19c79e_render._withStripped = true
// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=5c19c79e
// CONCATENATED MODULE: ./node_modules/_babel-loader@7.1.5@babel-loader/lib!./node_modules/_vue-loader@15.11.1@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["g" /* getDayCountOfMonth */])(year, month);
var firstDay = new Date(year, month, 1);
return Object(date_util["D" /* range */])(numOfDays).map(function (n) {
return Object(date_util["w" /* 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;
}
};
/* 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["q" /* isDate */])(val) || Array.isArray(val) && val.every(date_util["q" /* isDate */]);
}
},
date: {},
rangeState: {
default: function _default() {
return {
endDate: null,
selecting: false
};
}
}
},
mixins: [locale["a" /* default */]],
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["b" /* arrayFindIndex */])(Object(util["e" /* 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 * 3 + 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 * 3 + 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["d" /* hasClass */])(target, 'disabled')) return;
var column = target.cellIndex;
var row = target.parentNode.rowIndex;
var month = row * 3 + 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 {
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 < 4; i++) {
var row = rows[i];
var _loop = function _loop(j) {
var cell = row[j];
if (!cell) {
cell