plate-no-keyboard
Version:
299 lines (268 loc) • 15.7 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["index"] = factory(require("vue"));
else
root["index"] = factory(root["Vue"]);
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__274__) {
return /******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 274:
/***/ (function(module) {
module.exports = __WEBPACK_EXTERNAL_MODULE__274__;
/***/ }),
/***/ 907:
/***/ (function(__unused_webpack_module, exports) {
var __webpack_unused_export__;
__webpack_unused_export__ = ({
value: true
});
// runtime helper for setting properties on components
// in a tree-shakable way
exports.A = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ !function() {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ !function() {
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ }();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ !function() {
/******/ // 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 });
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/publicPath */
/******/ !function() {
/******/ __webpack_require__.p = "";
/******/ }();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ entry_lib; }
});
;// ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
/* eslint-disable no-var */
// This file is imported into lib/wc client bundles.
if (typeof window !== 'undefined') {
var currentScript = window.document.currentScript
if (false) { var getCurrentScript; }
var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
if (src) {
__webpack_require__.p = src[1] // eslint-disable-line
}
}
// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(274);
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/PlateNoKeyboard.vue?vue&type=script&setup=true&lang=js
const _hoisted_1 = ["disabled", "onTouchstart"];
const _hoisted_2 = ["disabled"];
/* harmony default export */ var PlateNoKeyboardvue_type_script_setup_true_lang_js = ({
__name: 'PlateNoKeyboard',
props: {
visible: {
type: Boolean,
default: false
},
modelValue: {
type: String,
default: ''
},
maxlength: {
type: [Number, String],
default: 8
}
},
emits: ['update:modelValue', 'update:visible', 'print', 'delete', 'open', 'opened', 'close', 'closed'],
setup(__props, {
emit: __emit
}) {
const emits = __emit;
const props = __props;
const printValue = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)('');
const plateNoKeyboardRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
const toggle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
const keyboard = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
return toggle.value ? ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'O', 'P', '学', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '临', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '挂'] : ['京', '津', '晋', '冀', '蒙', '辽', '吉', '黑', '沪', '苏', '浙', '皖', '闽', '赣', '鲁', '豫', '湘', '鄂', '粤', '桂', '琼', '渝', '川', '云', '贵', '藏', '陕', '甘', '青', '宁', '新', '台', '港', '澳', '使', '领', '警', '军'];
});
function onPrint(value) {
if (printValue.value.length >= props.maxlength) return;
printValue.value += value;
toggle.value = Boolean(printValue.value);
emits('print', value);
emits('update:modelValue', printValue.value);
}
function onDelete() {
if (!printValue.value.length) return;
printValue.value = printValue.value.slice(0, -1);
toggle.value = Boolean(printValue.value);
emits('delete');
emits('update:modelValue', printValue.value);
}
function listenerTouchstart(e) {
if (plateNoKeyboardRef.value?.contains(e.target)) return;
emits('update:visible', false);
}
function onBeforeEnter() {
printValue.value = props.modelValue;
toggle.value = Boolean(props.modelValue);
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
window.addEventListener('touchstart', listenerTouchstart);
});
emits('open');
}
function onAfterEnter() {
const {
height
} = plateNoKeyboardRef.value?.getBoundingClientRect();
emits('opened', height);
}
function onBeforeLeave() {
window.removeEventListener('touchstart', listenerTouchstart);
emits('close');
}
function onAfterLeave() {
emits('closed');
}
return (_ctx, _cache) => {
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Transition, {
onBeforeEnter: onBeforeEnter,
onAfterEnter: onAfterEnter,
onBeforeLeave: onBeforeLeave,
onAfterLeave: onAfterLeave
}, {
default: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withCtx)(() => [__props.visible ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
key: 0,
ref_key: "plateNoKeyboardRef",
ref: plateNoKeyboardRef,
class: "plate-no-keyboard"
}, [((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(keyboard.value, (value, index) => {
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("button", {
class: "value-btn",
key: index,
disabled: __props.modelValue.length >= __props.maxlength,
onTouchstart: $event => onPrint(value)
}, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(value), 41, _hoisted_1);
}), 128)), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("button", {
class: "switch-btn",
onTouchstart: _cache[0] || (_cache[0] = $event => toggle.value = !toggle.value)
}, _cache[1] || (_cache[1] = [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("svg", {
t: "1743437048443",
class: "icon",
viewBox: "0 0 1024 1024",
version: "1.1",
xmlns: "http://www.w3.org/2000/svg",
"p-id": "10258",
width: "26",
height: "26"
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("path", {
d: "M512 76.53333333C266.66666667 76.53333333 70.4 272.8 70.4 518.13333333S266.66666667 959.73333333 512 959.73333333s441.6-196.26666667 441.6-441.6C953.6 278.93333333 757.33333333 76.53333333 512 76.53333333zM377.06666667 150.13333333c-24.53333333 24.53333333-42.93333333 61.33333333-61.33333334 98.13333334-18.4-6.13333333-36.8-18.4-49.06666666-30.66666667 30.66666667-30.66666667 67.46666667-49.06666667 110.4-67.46666667zM229.86666667 248.26666667c18.4 18.4 42.93333333 36.8 67.46666666 49.06666666-18.4 61.33333333-30.66666667 128.8-30.66666666 196.26666667H119.46666667c6.13333333-92 49.06666667-177.86666667 110.4-245.33333333zM119.46666667 542.66666667H266.66666667c0 73.6 12.26666667 134.93333333 30.66666666 196.26666666-24.53333333 12.26666667-49.06666667 30.66666667-73.6 49.06666667-55.2-61.33333333-98.13333333-147.2-104.26666666-245.33333333zM266.66666667 824.8c12.26666667-12.26666667 36.8-24.53333333 55.2-36.8 18.4 36.8 36.8 73.6 61.33333333 98.13333333-49.06666667-12.26666667-85.86666667-36.8-116.53333333-61.33333333z m220.8 79.73333333c-49.06666667-12.26666667-98.13333333-67.46666667-128.8-141.06666666 36.8-12.26666667 79.73333333-24.53333333 128.8-24.53333334v165.6z m0-214.66666666c-49.06666667 0-98.13333333 12.26666667-141.06666667 30.66666666-18.4-49.06666667-24.53333333-110.4-30.66666667-177.86666666h171.73333334v147.2z m0-196.26666667H315.73333333c0-61.33333333 12.26666667-122.66666667 24.53333334-177.86666667 49.06666667 18.4 92 30.66666667 147.2 30.66666667v147.2z m0-196.26666667c-49.06666667 0-85.86666667-12.26666667-128.8-24.53333333C389.33333333 199.2 438.4 144 487.46666667 131.73333333v165.6zM757.33333333 217.6c-12.26666667 12.26666667-36.8 24.53333333-55.2 36.8-18.4-36.8-36.8-73.6-61.33333333-98.13333333 49.06666667 12.26666667 85.86666667 30.66666667 116.53333333 61.33333333zM536.53333333 131.73333333c49.06666667 12.26666667 98.13333333 67.46666667 128.8 141.06666667-42.93333333 18.4-79.73333333 24.53333333-128.8 24.53333333V131.73333333z m0 214.66666667c49.06666667 0 98.13333333-12.26666667 141.06666667-30.66666667 12.26666667 49.06666667 24.53333333 110.4 24.53333333 177.86666667H536.53333333V346.4z m0 196.26666667h171.73333334c0 61.33333333-12.26666667 122.66666667-24.53333334 177.86666666-49.06666667-18.4-92-24.53333333-147.2-30.66666666V542.66666667z m0 361.86666666v-165.6c49.06666667 0 85.86666667 12.26666667 128.8 24.53333334-30.66666667 79.73333333-79.73333333 128.8-128.8 141.06666666z m110.4-18.4c24.53333333-24.53333333 42.93333333-61.33333333 61.33333334-98.13333333l55.2 36.8c-36.8 24.53333333-73.6 49.06666667-116.53333334 61.33333333z m147.2-98.13333333c-18.4-18.4-42.93333333-36.8-73.6-49.06666667 18.4-61.33333333 30.66666667-122.66666667 30.66666667-196.26666666h147.2c0 98.13333333-42.93333333 184-104.26666667 245.33333333zM757.33333333 493.6c0-73.6-12.26666667-134.93333333-30.66666666-196.26666667 24.53333333-12.26666667 49.06666667-30.66666667 73.6-49.06666666 61.33333333 61.33333333 104.26666667 147.2 110.4 245.33333333H757.33333333z",
fill: "#000000",
"p-id": "10259"
})], -1)]), 32), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("button", {
class: "delete-btn",
disabled: !__props.modelValue,
onTouchstart: onDelete
}, _cache[2] || (_cache[2] = [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("svg", {
t: "1743260041599",
class: "icon",
viewBox: "0 0 1024 1024",
version: "1.1",
xmlns: "http://www.w3.org/2000/svg",
"p-id": "4757",
width: "26",
height: "26"
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("path", {
d: "M856.2 890.5H402.4c-55.3-0.1-108-23.4-145.4-64.2L23 571c-30.7-33.4-30.7-84.8 0-118.2l233.9-255.1c37.3-40.8 90.1-64.1 145.4-64.2h453.8c92.7 0.2 167.8 75.4 167.8 168.1v420.7c0.1 92.8-75 168-167.7 168.2zM402.6 184.9c-41 0-80 17.2-107.8 47.4L60.9 487.6c-12.8 13.7-12.8 34.9 0 48.6l233.7 255.3c27.7 30.2 66.8 47.4 107.8 47.4h454c64.4-0.1 116.5-52.4 116.5-116.8V301.6c0-64.4-52.2-116.6-116.5-116.8H402.6z m323.7 471c-6.8 0-13.4-2.7-18.2-7.5l-100-100.2L508 648.4c-9.9 10.1-26.1 10.2-36.2 0.3-10.1-9.9-10.2-26.1-0.3-36.2l0.4-0.4 100-100.2-100-100.2c-10.1-9.9-10.3-26.1-0.4-36.2 9.9-10.1 26.1-10.3 36.2-0.4l0.4 0.4 100 100.2 100-100.2c10-10 26.2-10 36.2 0 10 10 10 26.2 0 36.2l-100 100.2 100.2 100.2c10 10 10 26.3-0.1 36.3-4.8 4.8-11.3 7.5-18.1 7.5z",
"p-id": "4758",
fill: "#000000"
})], -1)]), 40, _hoisted_2)], 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]),
_: 1
});
};
}
});
;// ./src/components/PlateNoKeyboard.vue?vue&type=script&setup=true&lang=js
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/PlateNoKeyboard.vue?vue&type=style&index=0&id=5afa31c8&scoped=true&lang=css
// extracted by mini-css-extract-plugin
;// ./src/components/PlateNoKeyboard.vue?vue&type=style&index=0&id=5afa31c8&scoped=true&lang=css
// EXTERNAL MODULE: ./node_modules/vue-loader/dist/exportHelper.js
var exportHelper = __webpack_require__(907);
;// ./src/components/PlateNoKeyboard.vue
;
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(PlateNoKeyboardvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-5afa31c8"]])
/* harmony default export */ var PlateNoKeyboard = (__exports__);
;// ./src/components/index.js
const install = Vue => {
Vue.component('PlateNoKeyboard', PlateNoKeyboard);
};
/* harmony default export */ var components = ({
install
});
;// ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
/* harmony default export */ var entry_lib = (components);
/******/ return __webpack_exports__;
/******/ })()
;
});
//# sourceMappingURL=index.umd.js.map