acdr-ui/dist/dev/mp-weixin/node-modules/wot-design-uni/components/wd-search/wd-search.js

212 lines
6.7 KiB
JavaScript
Raw Normal View History

2024-09-19 07:20:14 +08:00
"use strict";
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
const common_vendor = require("../../../../common/vendor.js");
if (!Array) {
const _easycom_wd_icon2 = common_vendor.resolveComponent("wd-icon");
_easycom_wd_icon2();
}
const _easycom_wd_icon = () => "../wd-icon/wd-icon.js";
if (!Math) {
_easycom_wd_icon();
}
const __default__ = {
name: "wd-search",
options: {
virtualHost: true,
addGlobalClass: true,
styleIsolation: "shared"
}
};
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent(__spreadProps(__spreadValues({}, __default__), {
props: common_vendor.searchProps,
emits: ["update:modelValue", "change", "clear", "search", "focus", "blur", "cancel"],
setup(__props, { emit: __emit }) {
const props = __props;
const emit = __emit;
const { translate } = common_vendor.useTranslate("search");
const isFocused = common_vendor.ref(false);
const showInput = common_vendor.ref(false);
const str = common_vendor.ref("");
const showPlaceHolder = common_vendor.ref(true);
const clearing = common_vendor.ref(false);
common_vendor.watch(
() => props.modelValue,
(newValue) => {
str.value = newValue;
if (newValue) {
showInput.value = true;
}
},
{ immediate: true }
);
common_vendor.watch(
() => props.focus,
(newValue) => {
if (newValue) {
if (props.disabled)
return;
closeCover();
}
}
);
common_vendor.onMounted(() => {
if (props.focus) {
closeCover();
}
});
const rootClass = common_vendor.computed(() => {
return `wd-search ${props.light ? "is-light" : ""} ${props.hideCancel ? "is-without-cancel" : ""} ${props.customClass}`;
});
const coverStyle = common_vendor.computed(() => {
const coverStyle2 = {
display: str.value === "" && showPlaceHolder.value ? "flex" : "none"
};
return common_vendor.objToStyle(coverStyle2);
});
function hackFocus(focus) {
showInput.value = focus;
common_vendor.requestAnimationFrame(() => {
isFocused.value = focus;
});
}
function closeCover() {
if (props.disabled)
return;
common_vendor.requestAnimationFrame().then(() => common_vendor.requestAnimationFrame()).then(() => common_vendor.requestAnimationFrame()).then(() => {
showPlaceHolder.value = false;
hackFocus(true);
});
}
function inputValue(event) {
str.value = event.detail.value;
emit("update:modelValue", event.detail.value);
emit("change", {
value: event.detail.value
});
}
function clearSearch() {
str.value = "";
clearing.value = true;
if (props.focusWhenClear) {
isFocused.value = false;
}
common_vendor.requestAnimationFrame().then(() => common_vendor.requestAnimationFrame()).then(() => common_vendor.requestAnimationFrame()).then(() => {
if (props.focusWhenClear) {
showPlaceHolder.value = false;
hackFocus(true);
} else {
showPlaceHolder.value = true;
hackFocus(false);
}
emit("change", {
value: ""
});
emit("update:modelValue", "");
emit("clear");
});
}
function search({ detail: { value } }) {
emit("search", {
value
});
}
function searchFocus() {
if (clearing.value) {
clearing.value = false;
return;
}
showPlaceHolder.value = false;
emit("focus", {
value: str.value
});
}
function searchBlur() {
if (clearing.value)
return;
showPlaceHolder.value = !str.value;
showInput.value = !showPlaceHolder.value;
isFocused.value = false;
emit("blur", {
value: str.value
});
}
function handleCancel() {
emit("cancel", {
value: str.value
});
}
return (_ctx, _cache) => {
return common_vendor.e({
a: !_ctx.placeholderLeft
}, !_ctx.placeholderLeft ? {
b: common_vendor.p({
name: "search",
size: "18px",
["custom-class"]: "wd-search__search-icon"
}),
c: common_vendor.t(_ctx.placeholder || common_vendor.unref(translate)("search")),
d: common_vendor.s(coverStyle.value),
e: common_vendor.o(closeCover)
} : {}, {
f: showInput.value || str.value || _ctx.placeholderLeft
}, showInput.value || str.value || _ctx.placeholderLeft ? {
g: common_vendor.p({
name: "search",
size: "18px",
["custom-class"]: "wd-search__search-left-icon"
})
} : {}, {
h: showInput.value || str.value || _ctx.placeholderLeft
}, showInput.value || str.value || _ctx.placeholderLeft ? {
i: _ctx.placeholder || common_vendor.unref(translate)("search"),
j: common_vendor.o(searchFocus),
k: common_vendor.o([($event) => str.value = $event.detail.value, inputValue]),
l: common_vendor.o(searchBlur),
m: common_vendor.o(search),
n: _ctx.disabled,
o: _ctx.maxlength,
p: isFocused.value,
q: str.value
} : {}, {
r: str.value
}, str.value ? {
s: common_vendor.o(clearSearch),
t: common_vendor.p({
["custom-class"]: "wd-search__clear wd-search__clear-icon",
name: "error-fill",
size: "16px"
})
} : {}, {
v: !_ctx.hideCancel
}, !_ctx.hideCancel ? {
w: common_vendor.t(_ctx.cancelTxt || common_vendor.unref(translate)("cancel")),
x: common_vendor.o(handleCancel)
} : {}, {
y: common_vendor.n(rootClass.value),
z: common_vendor.s(_ctx.customStyle)
});
};
}
}));
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4ebafd4c"]]);
wx.createComponent(Component);
//# sourceMappingURL=wd-search.js.map