pixel-flow-vue 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,9 +20,18 @@ yarn add pixel-flow-vue vant
20
20
  pnpm add pixel-flow-vue vant
21
21
  ```
22
22
 
23
+ ## 重要:关于 Vant 依赖
24
+
25
+ 本组件库依赖 Vant UI,使用前需要在你的项目中单独安装和配置 Vant。**Vant 不会被打包进本组件库中**,这样可以避免版本冲突和重复打包。
26
+
27
+ ### 支持的 Vant 版本
28
+
29
+ - Vant 4.x
30
+ - Vant 5.x
31
+
23
32
  ## 快速开始
24
33
 
25
- ### 完整引入
34
+ ### 完整引入(推荐)
26
35
 
27
36
  ```typescript
28
37
  import { createApp } from 'vue'
@@ -33,9 +42,16 @@ import pixelFlowVue from 'pixel-flow-vue'
33
42
  import 'pixel-flow-vue/dist/pixel-flow-vue.css'
34
43
 
35
44
  const app = createApp(App)
45
+
46
+ // 1. 先安装 Vant
36
47
  app.use(Vant)
48
+
49
+ // 2. 安装 Lazyload(如果使用了懒加载功能)
37
50
  app.use(Lazyload)
51
+
52
+ // 3. 再安装 pixel-flow-vue
38
53
  app.use(pixelFlowVue)
54
+
39
55
  app.mount('#app')
40
56
  ```
41
57
 
@@ -50,12 +66,19 @@ import { hxButton, hxAdGrid, hxBannerSwipe, hxHotSaleList } from 'pixel-flow-vue
50
66
  import 'pixel-flow-vue/dist/pixel-flow-vue.css'
51
67
 
52
68
  const app = createApp(App)
69
+
70
+ // 1. 先安装 Vant
53
71
  app.use(Vant)
72
+
73
+ // 2. 安装 Lazyload(如果使用了懒加载功能)
54
74
  app.use(Lazyload)
75
+
76
+ // 3. 再注册需要的组件
55
77
  app.use(hxButton)
56
78
  app.use(hxAdGrid)
57
79
  app.use(hxBannerSwipe)
58
80
  app.use(hxHotSaleList)
81
+
59
82
  app.mount('#app')
60
83
  ```
61
84
 
@@ -81,7 +104,7 @@ app.mount('#app')
81
104
  </template>
82
105
  ```
83
106
 
84
- **数据结构:**
107
+ **数据结构**:
85
108
 
86
109
  ```typescript
87
110
  import type { AdItem } from 'pixel-flow-vue'
@@ -104,7 +127,7 @@ const adItem: AdItem = {
104
127
  </template>
105
128
  ```
106
129
 
107
- **数据结构:**
130
+ **数据结构**:
108
131
 
109
132
  ```typescript
110
133
  import type { BannerItem } from 'pixel-flow-vue'
@@ -127,13 +150,13 @@ const bannerItem: BannerItem = {
127
150
  </template>
128
151
  ```
129
152
 
130
- **Props:**
153
+ **Props**:
131
154
 
132
155
  | 属性 | 说明 | 类型 | 默认值 |
133
156
  |------|------|------|--------|
134
157
  | title | 标题 | string | '热卖推荐' |
135
158
 
136
- **数据结构:**
159
+ **数据结构**:
137
160
 
138
161
  ```typescript
139
162
  import type { ProductItem } from 'pixel-flow-vue'
@@ -182,12 +205,23 @@ interface ThemeProductItem extends ProductItem {
182
205
  }
183
206
  ```
184
207
 
185
- ## 依赖说明
208
+ ## 常见问题
209
+
210
+ ### Q: 为什么 Vant 组件没有生效?
211
+
212
+ A: 请确保按照以下步骤操作:
213
+ 1. 确认已正确安装 Vant:`npm install vant`
214
+ 2. 在 app 中先注册 Vant:`app.use(Vant)`
215
+ 3. 如果使用了图片懒加载,还需要注册 Lazyload:`app.use(Lazyload)`
216
+ 4. 最后再注册 pixel-flow-vue
217
+
218
+ ### Q: 如何避免 Vant 重复打包?
219
+
220
+ A: 本组件库已经将 Vant 设置为 `peerDependencies`,不会被打包进组件库中。请确保你的项目使用正确的包管理器配置。
186
221
 
187
- 本组件库依赖以下库,请确保项目中已正确安装:
222
+ ### Q: 我可以使用不同版本的 Vant 吗?
188
223
 
189
- - `vue`: ^3.0.0
190
- - `vant`: ^4.0.0 || ^5.0.0
224
+ A: 可以!本组件库支持 Vant 4.x 和 Vant 5.x,你可以根据项目需要选择合适的版本。
191
225
 
192
226
  ## 开发
193
227
 
@@ -1048,12 +1048,15 @@ var cn = Q, ln = [
1048
1048
  Gt,
1049
1049
  Yt,
1050
1050
  cn
1051
- ], $ = function(e) {
1052
- $.installed || ($.installed = !0, ln.map((t) => {
1051
+ ], $ = function(e, t) {
1052
+ $.installed || ($.installed = !0, t?.vant && console.warn("[pixel-flow-vue] 请确保已经在你的应用中通过 app.use(Vant) 安装了Vant"), ln.forEach((t) => {
1053
1053
  e.component(t.name, t);
1054
1054
  }));
1055
1055
  };
1056
1056
  typeof window < "u" && window.Vue && $(window.Vue);
1057
- var un = { install: $ };
1057
+ var un = {
1058
+ install: $,
1059
+ version: "1.0.20"
1060
+ };
1058
1061
  //#endregion
1059
1062
  export { un as default, Yt as hxAdGrid, Vt as hxBannerSwipe, Gt as hxButton, cn as hxHotSaleList };
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`pixel-flow-vue`]={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function n(){}var r=Object.assign,i=typeof window<`u`,a=e=>typeof e==`object`&&!!e,o=e=>e!=null,s=e=>typeof e==`function`,c=e=>a(e)&&s(e.then)&&s(e.catch),l=e=>typeof e==`number`||/^\d+(\.\d+)?$/.test(e),u=()=>i?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):!1;function d(e,t){let n=t.split(`.`),r=e;return n.forEach(e=>{r=a(r)?r[e]??``:``}),r}function f(e,t,n){return t.reduce((t,r)=>((!n||e[r]!==void 0)&&(t[r]=e[r]),t),{})}var p=[Number,String],m={type:Boolean,default:!0},ee=e=>({type:Number,default:e}),h=e=>({type:String,default:e}),g=typeof window<`u`;function _(e){let n;(0,t.onMounted)(()=>{e(),(0,t.nextTick)(()=>{n=!0})}),(0,t.onActivated)(()=>{n&&e()})}function v(e,n,r={}){if(!g)return;let{target:i=window,passive:a=!1,capture:o=!1}=r,s=!1,c,l=r=>{if(s)return;let i=(0,t.unref)(r);i&&!c&&(i.addEventListener(e,n,{capture:o,passive:a}),c=!0)},u=r=>{if(s)return;let i=(0,t.unref)(r);i&&c&&(i.removeEventListener(e,n,o),c=!1)};(0,t.onUnmounted)(()=>u(i)),(0,t.onDeactivated)(()=>u(i)),_(()=>l(i));let d;return(0,t.isRef)(i)&&(d=(0,t.watch)(i,(e,t)=>{u(t),l(e)})),()=>{d?.(),u(i),s=!0}}var y,b;function x(){if(!y&&(y=(0,t.ref)(0),b=(0,t.ref)(0),g)){let e=()=>{y.value=window.innerWidth,b.value=window.innerHeight};e(),window.addEventListener(`resize`,e,{passive:!0}),window.addEventListener(`orientationchange`,e,{passive:!0})}return{width:y,height:b}}var S=/scroll|auto|overlay/i,C=g?window:void 0;function w(e){return e.tagName!==`HTML`&&e.tagName!==`BODY`&&e.nodeType===1}function te(e,t=C){let n=e;for(;n&&n!==t&&w(n);){let{overflowY:e}=window.getComputedStyle(n);if(S.test(e))return n;n=n.parentNode}return t}u();var ne=e=>e.stopPropagation();function re(e,t){(typeof e.cancelable!=`boolean`||e.cancelable)&&e.preventDefault(),t&&ne(e)}var{width:ie,height:ae}=x();function T(e){if(o(e))return l(e)?`${e}px`:String(e)}function oe(e){if(o(e)){if(Array.isArray(e))return{width:T(e[0]),height:T(e[1])};let t=T(e);return{width:t,height:t}}}function se(e){let t={};return e!==void 0&&(t.zIndex=+e),t}var ce=/-(\w)/g,le=e=>e.replace(ce,(e,t)=>t.toUpperCase()),ue=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase().replace(/^-/,``),{hasOwnProperty:de}=Object.prototype;function fe(e,t,n){let r=t[n];o(r)&&(!de.call(e,n)||!a(r)?e[n]=r:e[n]=E(Object(e[n]),r))}function E(e,t){return Object.keys(t).forEach(n=>{fe(e,t,n)}),e}var pe={name:`姓名`,tel:`电话`,save:`保存`,clear:`清空`,undo:`撤销`,cancel:`取消`,confirm:`确认`,delete:`删除`,loading:`加载中...`,noCoupon:`暂无优惠券`,nameEmpty:`请填写姓名`,addContact:`添加联系人`,telInvalid:`请填写正确的电话`,vanCalendar:{end:`结束`,start:`开始`,title:`日期选择`,weekdays:[`日`,`一`,`二`,`三`,`四`,`五`,`六`],monthTitle:(e,t)=>`${e}\u5E74${t}\u6708`,rangePrompt:e=>`\u6700\u591A\u9009\u62E9 ${e} \u5929`},vanCascader:{select:`请选择`},vanPagination:{prev:`上一页`,next:`下一页`},vanPullRefresh:{pulling:`下拉即可刷新...`,loosing:`释放即可刷新...`},vanSubmitBar:{label:`合计:`},vanCoupon:{unlimited:`无门槛`,discount:e=>`${e}\u6298`,condition:e=>`\u6EE1${e}\u5143\u53EF\u7528`},vanCouponCell:{title:`优惠券`,count:e=>`${e}\u5F20\u53EF\u7528`},vanCouponList:{exchange:`兑换`,close:`不使用`,enable:`可用`,disabled:`不可用`,placeholder:`输入优惠码`},vanAddressEdit:{area:`地区`,areaEmpty:`请选择地区`,addressEmpty:`请填写详细地址`,addressDetail:`详细地址`,defaultAddress:`设为默认收货地址`},vanAddressList:{add:`新增地址`}},D=(0,t.ref)(`zh-CN`),O=(0,t.reactive)({"zh-CN":pe}),me={messages(){return O[D.value]},use(e,t){D.value=e,this.add({[e]:t})},add(e={}){E(O,e)}};function he(e){let t=le(e)+`.`;return(e,...n)=>{let r=me.messages(),i=d(r,t+e)||d(r,e);return s(i)?i(...n):i}}function k(e,t){return t?typeof t==`string`?` ${e}--${t}`:Array.isArray(t)?t.reduce((t,n)=>t+k(e,n),``):Object.keys(t).reduce((n,r)=>n+(t[r]?k(e,r):``),``):``}function ge(e){return(t,n)=>(t&&typeof t!=`string`&&(n=t,t=``),t=t?`${e}__${t}`:e,`${t}${k(t,n)}`)}function A(e){let t=`van-${e}`;return[t,ge(t),he(t)]}var j=`van-hairline`;`${j}`,`${j}`,`${j}`,`${j}`,`${j}`,`${j}`,`${j}`;var _e=`van-haptics-feedback`;function ve(e,{args:t=[],done:r,canceled:i,error:a}){if(e){let o=e.apply(null,t);c(o)?o.then(e=>{e?r():i&&i()}).catch(a||n):o?r():i&&i()}else r()}function M(e){return e.install=t=>{let{name:n}=e;n&&(t.component(n,e),t.component(le(`-${n}`),e))},e}var ye=Symbol();function N(e){let n=(0,t.getCurrentInstance)();n&&r(n.proxy,e)}var[be,P]=A(`badge`),xe={dot:Boolean,max:p,tag:h(`div`),color:String,offset:Array,content:p,showZero:m,position:h(`top-right`)},Se=M((0,t.defineComponent)({name:be,props:xe,setup(e,{slots:n}){let r=()=>{if(n.content)return!0;let{content:t,showZero:r}=e;return o(t)&&t!==``&&(r||t!==0&&t!==`0`)},i=()=>{let{dot:t,max:i,content:a}=e;if(!t&&r())return n.content?n.content():o(i)&&l(a)&&+a>+i?`${i}+`:a},a=e=>e.startsWith(`-`)?e.replace(`-`,``):`-${e}`,s=(0,t.computed)(()=>{let t={background:e.color};if(e.offset){let[r,i]=e.offset,{position:o}=e,[s,c]=o.split(`-`);n.default?(typeof i==`number`?t[s]=T(s===`top`?i:-i):t[s]=s===`top`?T(i):a(i),typeof r==`number`?t[c]=T(c===`left`?r:-r):t[c]=c===`left`?T(r):a(r)):(t.marginTop=T(i),t.marginLeft=T(r))}return t}),c=()=>{if(r()||e.dot)return(0,t.createVNode)(`div`,{class:P([e.position,{dot:e.dot,fixed:!!n.default}]),style:s.value},[i()])};return()=>{if(n.default){let{tag:r}=e;return(0,t.createVNode)(r,{class:P(`wrapper`)},{default:()=>[n.default(),c()]})}return c()}}})),F=2e3,Ce=()=>++F,we=e=>{F=e},[I,Te]=A(`config-provider`),L=Symbol(I),Ee={tag:h(`div`),theme:h(`light`),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,themeVarsScope:h(`local`),iconPrefix:String};function De(e){return e.replace(/([a-zA-Z])(\d)/g,`$1-$2`)}function Oe(e){let t={};return Object.keys(e).forEach(n=>{let r=De(ue(n));t[`--van-${r}`]=e[n]}),t}function R(e={},t={}){Object.keys(e).forEach(n=>{e[n]!==t[n]&&document.documentElement.style.setProperty(n,e[n])}),Object.keys(t).forEach(t=>{e[t]||document.documentElement.style.removeProperty(t)})}(0,t.defineComponent)({name:I,props:Ee,setup(e,{slots:n}){let a=(0,t.computed)(()=>Oe(r({},e.themeVars,e.theme===`dark`?e.themeVarsDark:e.themeVarsLight)));if(i){let n=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},r=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};(0,t.watch)(()=>e.theme,(e,t)=>{t&&r(t),n()},{immediate:!0}),(0,t.onActivated)(n),(0,t.onDeactivated)(r),(0,t.onBeforeUnmount)(r),(0,t.watch)(a,(t,n)=>{e.themeVarsScope===`global`&&R(t,n)}),(0,t.watch)(()=>e.themeVarsScope,(e,t)=>{t===`global`&&R({},a.value),e===`global`&&R(a.value,{})}),e.themeVarsScope===`global`&&R(a.value,{})}return(0,t.provide)(L,e),(0,t.watchEffect)(()=>{e.zIndex!==void 0&&we(e.zIndex)}),()=>(0,t.createVNode)(e.tag,{class:Te(),style:e.themeVarsScope===`local`?a.value:void 0},{default:()=>[n.default?.call(n)]})}});var[ke,z]=A(`icon`),Ae=e=>e?.includes(`/`),je={dot:Boolean,tag:h(`i`),name:String,size:p,badge:p,color:String,badgeProps:Object,classPrefix:String},B=M((0,t.defineComponent)({name:ke,props:je,setup(e,{slots:n}){let r=(0,t.inject)(L,null),i=(0,t.computed)(()=>e.classPrefix||r?.iconPrefix||z());return()=>{let{tag:r,dot:a,name:o,size:s,badge:c,color:l}=e,u=Ae(o);return(0,t.createVNode)(Se,(0,t.mergeProps)({dot:a,tag:r,class:[i.value,u?``:`${i.value}-${o}`],style:{color:l,fontSize:T(s)},content:c},e.badgeProps),{default:()=>[n.default?.call(n),u&&(0,t.createVNode)(`img`,{class:z(`image`),src:o},null)]})}}})),[Me,V]=A(`loading`),Ne=Array(12).fill(null).map((e,n)=>(0,t.createVNode)(`i`,{class:V(`line`,String(n+1))},null)),Pe=(0,t.createVNode)(`svg`,{class:V(`circular`),viewBox:`25 25 50 50`},[(0,t.createVNode)(`circle`,{cx:`50`,cy:`50`,r:`20`,fill:`none`},null)]),Fe={size:p,type:h(`circular`),color:String,vertical:Boolean,textSize:p,textColor:String},Ie=M((0,t.defineComponent)({name:Me,props:Fe,setup(e,{slots:n}){let i=(0,t.computed)(()=>r({color:e.color},oe(e.size))),a=()=>{let r=e.type===`spinner`?Ne:Pe;return(0,t.createVNode)(`span`,{class:V(`spinner`,e.type),style:i.value},[n.icon?n.icon():r])},o=()=>{if(n.default)return(0,t.createVNode)(`span`,{class:V(`text`),style:{fontSize:T(e.textSize),color:e.textColor??e.color}},[n.default()])};return()=>{let{type:n,vertical:r}=e;return(0,t.createVNode)(`div`,{class:V([n,{vertical:r}]),"aria-live":`polite`,"aria-busy":!0},[a(),o()])}}})),Le={show:Boolean,zIndex:p,overlay:m,duration:p,teleport:[String,Object],lockScroll:m,lazyRender:m,beforeClose:Function,overlayProps:Object,overlayStyle:Object,overlayClass:null,transitionAppear:Boolean,closeOnClickOverlay:m};function Re(e,t){return e>t?`horizontal`:t>e?`vertical`:``}function ze(){let e=(0,t.ref)(0),n=(0,t.ref)(0),r=(0,t.ref)(0),i=(0,t.ref)(0),a=(0,t.ref)(0),o=(0,t.ref)(0),s=(0,t.ref)(``),c=(0,t.ref)(!0),l=()=>s.value===`vertical`,u=()=>s.value===`horizontal`,d=()=>{r.value=0,i.value=0,a.value=0,o.value=0,s.value=``,c.value=!0};return{move:(t=>{let l=t.touches[0];r.value=(l.clientX<0?0:l.clientX)-e.value,i.value=l.clientY-n.value,a.value=Math.abs(r.value),o.value=Math.abs(i.value),(!s.value||a.value<10&&o.value<10)&&(s.value=Re(a.value,o.value)),c.value&&(a.value>5||o.value>5)&&(c.value=!1)}),start:(t=>{d(),e.value=t.touches[0].clientX,n.value=t.touches[0].clientY}),reset:d,startX:e,startY:n,deltaX:r,deltaY:i,offsetX:a,offsetY:o,direction:s,isVertical:l,isHorizontal:u,isTap:c}}var H=0,Be=`van-overflow-hidden`;function Ve(e,n){let r=ze(),i=t=>{r.move(t);let n=r.deltaY.value>0?`10`:`01`,{scrollHeight:i,offsetHeight:a,scrollTop:o}=te(t.target,e.value),s=`11`;o===0?s=a>=i?`00`:`01`:o+a>=i&&(s=`10`),s!==`11`&&r.isVertical()&&!(parseInt(s,2)&parseInt(n,2))&&re(t,!0)},a=()=>{document.addEventListener(`touchstart`,r.start),document.addEventListener(`touchmove`,i,{passive:!1}),H||document.body.classList.add(Be),H++},o=()=>{H&&(document.removeEventListener(`touchstart`,r.start),document.removeEventListener(`touchmove`,i),H--,H||document.body.classList.remove(Be))},s=()=>n()&&a(),c=()=>n()&&o();_(s),(0,t.onDeactivated)(c),(0,t.onBeforeUnmount)(c),(0,t.watch)(n,e=>{e?a():o()})}function He(e){let n=(0,t.ref)(!1);return(0,t.watch)(e,e=>{e&&(n.value=e)},{immediate:!0}),e=>()=>n.value?e():null}var Ue=()=>{let{scopeId:e}=(0,t.getCurrentInstance)()?.vnode||{};return e?{[e]:``}:null},[We,Ge]=A(`overlay`),Ke={show:Boolean,zIndex:p,duration:p,className:null,lockScroll:m,lazyRender:m,customStyle:Object,teleport:[String,Object]},qe=M((0,t.defineComponent)({name:We,inheritAttrs:!1,props:Ke,setup(e,{attrs:n,slots:i}){let a=(0,t.ref)(),s=He(()=>e.show||!e.lazyRender),c=t=>{e.lockScroll&&re(t,!0)},l=s(()=>{let s=r(se(e.zIndex),e.customStyle);return o(e.duration)&&(s.animationDuration=`${e.duration}s`),(0,t.withDirectives)((0,t.createVNode)(`div`,(0,t.mergeProps)({ref:a,style:s,class:[Ge(),e.className]},n),[i.default?.call(i)]),[[t.vShow,e.show]])});return v(`touchmove`,c,{target:a}),()=>{let n=(0,t.createVNode)(t.Transition,{name:`van-fade`,appear:!0},{default:l});return e.teleport?(0,t.createVNode)(t.Teleport,{to:e.teleport},{default:()=>[n]}):n}}})),Je=r({},Le,{round:Boolean,position:h(`center`),closeIcon:h(`cross`),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:h(`top-right`),destroyOnClose:Boolean,safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[Ye,Xe]=A(`popup`),Ze=M((0,t.defineComponent)({name:Ye,inheritAttrs:!1,props:Je,emits:[`open`,`close`,`opened`,`closed`,`keydown`,`update:show`,`clickOverlay`,`clickCloseIcon`],setup(e,{emit:n,attrs:i,slots:a}){let s,c,l=(0,t.ref)(),u=(0,t.ref)(),d=He(()=>e.show||!e.lazyRender),f=(0,t.computed)(()=>{let t={zIndex:l.value};if(o(e.duration)){let n=e.position===`center`?`animationDuration`:`transitionDuration`;t[n]=`${e.duration}s`}return t}),p=()=>{s||(s=!0,l.value=e.zIndex===void 0?Ce():+e.zIndex,n(`open`))},m=()=>{s&&ve(e.beforeClose,{done(){s=!1,n(`close`),n(`update:show`,!1)}})},ee=t=>{n(`clickOverlay`,t),e.closeOnClickOverlay&&m()},h=()=>{if(e.overlay)return(0,t.createVNode)(qe,(0,t.mergeProps)(r({show:e.show,class:e.overlayClass,zIndex:l.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?`button`:void 0,tabindex:e.closeOnClickOverlay?0:void 0},e.overlayProps),Ue(),{onClick:ee}),{default:a[`overlay-content`]})},g=e=>{n(`clickCloseIcon`,e),m()},_=()=>{if(e.closeable)return(0,t.createVNode)(B,{role:`button`,tabindex:0,name:e.closeIcon,class:[Xe(`close-icon`,e.closeIconPosition),_e],classPrefix:e.iconPrefix,onClick:g},null)},y,b=()=>{y&&clearTimeout(y),y=setTimeout(()=>{n(`opened`)})},x=()=>n(`closed`),S=e=>n(`keydown`,e),C=d(()=>{let{destroyOnClose:n,round:r,position:o,safeAreaInsetTop:s,safeAreaInsetBottom:c,show:l}=e;if(!(!l&&n))return(0,t.withDirectives)((0,t.createVNode)(`div`,(0,t.mergeProps)({ref:u,style:f.value,role:`dialog`,tabindex:0,class:[Xe({round:r,[o]:o}),{"van-safe-area-top":s,"van-safe-area-bottom":c}],onKeydown:S},i,Ue()),[a.default?.call(a),_()]),[[t.vShow,l]])}),w=()=>{let{position:n,transition:r,transitionAppear:i}=e,a=n===`center`?`van-fade`:`van-popup-slide-${n}`;return(0,t.createVNode)(t.Transition,{name:r||a,appear:i,onAfterEnter:b,onAfterLeave:x},{default:C})};return(0,t.watch)(()=>e.show,e=>{e&&!s&&(p(),i.tabindex===0&&(0,t.nextTick)(()=>{var e;(e=u.value)==null||e.focus()})),!e&&s&&(s=!1,n(`close`))}),N({popupRef:u}),Ve(u,()=>e.show&&e.lockScroll),v(`popstate`,()=>{e.closeOnPopstate&&(m(),c=!1)}),(0,t.onMounted)(()=>{e.show&&p()}),(0,t.onActivated)(()=>{c&&=(n(`update:show`,!0),!1)}),(0,t.onDeactivated)(()=>{e.show&&e.teleport&&(m(),c=!0)}),(0,t.provide)(ye,()=>e.show),()=>e.teleport?(0,t.createVNode)(t.Teleport,{to:e.teleport},{default:()=>[h(),w()]}):(0,t.createVNode)(t.Fragment,null,[h(),w()])}})),U=0;function Qe(e){e?(U||document.body.classList.add(`van-toast--unclickable`),U++):U&&(U--,U||document.body.classList.remove(`van-toast--unclickable`))}var[$e,W]=A(`toast`),et=[`show`,`overlay`,`teleport`,`transition`,`overlayClass`,`overlayStyle`,`closeOnClickOverlay`,`zIndex`],tt={icon:String,show:Boolean,type:h(`text`),overlay:Boolean,message:p,iconSize:p,duration:ee(2e3),position:h(`middle`),teleport:[String,Object],wordBreak:String,className:null,iconPrefix:String,transition:h(`van-fade`),loadingType:String,forbidClick:Boolean,overlayClass:null,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean,zIndex:p},nt=(0,t.defineComponent)({name:$e,props:tt,emits:[`update:show`],setup(e,{emit:n,slots:r}){let i,a=!1,s=()=>{let t=e.show&&e.forbidClick;a!==t&&(a=t,Qe(a))},c=e=>n(`update:show`,e),l=()=>{e.closeOnClick&&c(!1)},u=()=>clearTimeout(i),d=()=>{let{icon:n,type:r,iconSize:i,iconPrefix:a,loadingType:o}=e;if(n||r===`success`||r===`fail`)return(0,t.createVNode)(B,{name:n||r,size:i,class:W(`icon`),classPrefix:a},null);if(r===`loading`)return(0,t.createVNode)(Ie,{class:W(`loading`),size:i,type:o},null)},p=()=>{let{type:n,message:i}=e;if(r.message)return(0,t.createVNode)(`div`,{class:W(`text`)},[r.message()]);if(o(i)&&i!==``)return n===`html`?(0,t.createVNode)(`div`,{key:0,class:W(`text`),innerHTML:String(i)},null):(0,t.createVNode)(`div`,{class:W(`text`)},[i])};return(0,t.watch)(()=>[e.show,e.forbidClick],s),(0,t.watch)(()=>[e.show,e.type,e.message,e.duration],()=>{u(),e.show&&e.duration>0&&(i=setTimeout(()=>{c(!1)},e.duration))}),(0,t.onMounted)(s),(0,t.onUnmounted)(s),()=>(0,t.createVNode)(Ze,(0,t.mergeProps)({class:[W([e.position,e.wordBreak===`normal`?`break-normal`:e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:l,onClosed:u,"onUpdate:show":c},f(e,et)),{default:()=>[d(),p()]})}});function rt(){let e=(0,t.reactive)({show:!1}),n=t=>{e.show=t},i=t=>{r(e,t,{transitionAppear:!0}),n(!0)},a=()=>n(!1);return N({open:i,close:a,toggle:n}),{open:i,close:a,state:e,toggle:n}}function it(e){let n=(0,t.createApp)(e),r=document.createElement(`div`);return document.body.appendChild(r),{instance:n.mount(r),unmount(){n.unmount(),document.body.removeChild(r)}}}var at={icon:``,type:`text`,message:``,className:``,overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:`body`,iconSize:void 0,iconPrefix:void 0,position:`middle`,transition:`van-fade`,forbidClick:!1,loadingType:void 0,overlayClass:``,overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1},G=[],ot=!1,st=r({},at),ct=new Map;function lt(e){return a(e)?e:{message:e}}function ut(){let{instance:e,unmount:n}=it({setup(){let r=(0,t.ref)(``),{open:i,state:a,close:o,toggle:s}=rt(),c=()=>{ot&&(G=G.filter(t=>t!==e),n())},l=()=>(0,t.createVNode)(nt,(0,t.mergeProps)(a,{onClosed:c,"onUpdate:show":s}),null);return(0,t.watch)(r,e=>{a.message=e}),(0,t.getCurrentInstance)().render=l,{open:i,close:o,message:r}}});return e}function dt(){if(!G.length||ot){let e=ut();G.push(e)}return G[G.length-1]}function K(e={}){if(!i)return{};let t=dt(),n=lt(e);return t.open(r({},st,ct.get(n.type||st.type),n)),t}var ft={class:`banner-swipe-container`},pt=[`src`,`alt`],mt=(0,t.defineComponent)({__name:`index`,setup(e){let n=(0,t.ref)([{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`示例 Banner 1`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`示例 Banner 2`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`示例 Banner 3`}]),r=(0,t.ref)(!0),i=async()=>{r.value=!0,n.value=[{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`示例 Banner 1`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`示例 Banner 2`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`示例 Banner 3`}],r.value=!1},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`点击了: ${e.title||e.id}`)};return(0,t.onMounted)(()=>{i()}),(e,i)=>{let o=(0,t.resolveComponent)(`van-swipe-item`),s=(0,t.resolveComponent)(`van-swipe`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,ft,[(0,t.createVNode)(c,{row:3,loading:r.value,class:`banner-skeleton`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{class:`my-swipe`,autoplay:3e3,"indicator-color":`white`,"lazy-render":``},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value,e=>((0,t.openBlock)(),(0,t.createBlock)(o,{key:e.id,onClick:t=>a(e)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`img`,{src:e.imageUrl,alt:e.title,class:`banner-image`},null,8,pt)]),_:2},1032,[`onClick`]))),128))]),_:1})]),_:1},8,[`loading`])])}}}),q=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},J=q(mt,[[`__scopeId`,`data-v-53ac4ba7`]]);J.name=`hx-banner-swipe`,J.install=function(e){e.component(`hx-banner-swipe`,J)};var ht=J,gt={},_t={class:`tButton`};function vt(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`button`,_t,`测试 发布 按钮组件1`)}var Y=q(gt,[[`render`,vt],[`__scopeId`,`data-v-0957b8d5`]]);Y.name=`hx-button`,Y.install=function(e){e.component(`hx-button`,Y)};var yt=Y,bt={class:`ad-grid-container`},xt={class:`ad-grid`},St=[`onClick`],X=q((0,t.defineComponent)({__name:`index`,setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!0),i=async()=>{try{r.value=!0,await new Promise(e=>setTimeout(e,800)),n.value=[{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`大图广告`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`小图广告1`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`小图广告2`}]}catch(e){console.error(`Failed to fetch ad data:`,e)}finally{r.value=!1}},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`点击了广告: ${e.title||e.id}`)};return(0,t.onMounted)(()=>{i()}),(e,i)=>{let o=(0,t.resolveComponent)(`van-loading`),s=(0,t.resolveComponent)(`van-image`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,bt,[(0,t.createVNode)(c,{row:4,loading:r.value},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,xt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value.slice(0,3),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`ad-item`,{"is-large":n===0}]),onClick:t=>a(e)},[(0,t.createVNode)(s,{src:e.imageUrl,fit:`cover`,width:`100%`,height:`100%`,"lazy-load":``},{loading:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{type:`spinner`,size:`20`})]),_:1},8,[`src`])],10,St))),128))])]),_:1},8,[`loading`])])}}}),[[`__scopeId`,`data-v-1efa7c90`]]);X.name=`hx-adgrid`,X.install=function(e){e.component(`hx-adgrid`,X)};var Ct=X,wt={class:`hot-sale-container`},Tt={class:`header`},Et={class:`title`},Dt={class:`product-list-wrapper`},Ot={class:`product-list`},kt=[`onClick`],At={class:`image-box`},jt={class:`product-info`},Mt={class:`product-name van-multi-ellipsis--l2`},Nt={class:`product-bottom`},Pt={class:`price-value`},Z=q((0,t.defineComponent)({__name:`index`,props:{title:{default:`热卖推荐`}},setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!0),i=async()=>{try{r.value=!0,n.value=[{id:1,name:`Apple iPhone 15`,price:`5999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`},{id:2,name:`MacBook Pro 14`,price:`12999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`},{id:3,name:`iPad Air`,price:`4799`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`},{id:4,name:`Apple Watch S9`,price:`2999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-4.jpeg`},{id:5,name:`AirPods Pro`,price:`1899`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-5.jpeg`}]}catch(e){console.error(`Failed to fetch hot sale data:`,e)}finally{r.value=!1}},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`查看商品: ${e.name}`)};return(0,t.onMounted)(()=>{i()}),(i,o)=>{let s=(0,t.resolveComponent)(`van-image`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,wt,[(0,t.createElementVNode)(`div`,Tt,[(0,t.createElementVNode)(`span`,Et,(0,t.toDisplayString)(e.title),1)]),(0,t.createVNode)(c,{row:3,loading:r.value,class:`skeleton-padding`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Dt,[(0,t.createElementVNode)(`div`,Ot,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:`product-item`,onClick:t=>a(e)},[(0,t.createElementVNode)(`div`,At,[(0,t.createVNode)(s,{src:e.imageUrl,fit:`cover`,width:`100%`,height:`100%`,radius:`8px`,"lazy-load":``},null,8,[`src`])]),(0,t.createElementVNode)(`div`,jt,[(0,t.createElementVNode)(`div`,Mt,(0,t.toDisplayString)(e.name),1),(0,t.createElementVNode)(`div`,Nt,[o[0]||=(0,t.createElementVNode)(`span`,{class:`price-symbol`},`¥`,-1),(0,t.createElementVNode)(`span`,Pt,(0,t.toDisplayString)(e.price),1)])])],8,kt))),128))])])]),_:1},8,[`loading`])])}}}),[[`__scopeId`,`data-v-27732ea0`]]);Z.name=`hx-hotSaleList`,Z.install=function(e){e.component(`hx-hotSaleList`,Z)};var Q=Z,Ft=[ht,yt,Ct,Q],$=function(e){$.installed||($.installed=!0,Ft.map(t=>{e.component(t.name,t)}))};typeof window<`u`&&window.Vue&&$(window.Vue),e.default={install:$},e.hxAdGrid=Ct,e.hxBannerSwipe=ht,e.hxButton=yt,e.hxHotSaleList=Q});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`pixel-flow-vue`]={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function n(){}var r=Object.assign,i=typeof window<`u`,a=e=>typeof e==`object`&&!!e,o=e=>e!=null,s=e=>typeof e==`function`,c=e=>a(e)&&s(e.then)&&s(e.catch),l=e=>typeof e==`number`||/^\d+(\.\d+)?$/.test(e),u=()=>i?/ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()):!1;function d(e,t){let n=t.split(`.`),r=e;return n.forEach(e=>{r=a(r)?r[e]??``:``}),r}function f(e,t,n){return t.reduce((t,r)=>((!n||e[r]!==void 0)&&(t[r]=e[r]),t),{})}var p=[Number,String],m={type:Boolean,default:!0},ee=e=>({type:Number,default:e}),h=e=>({type:String,default:e}),g=typeof window<`u`;function _(e){let n;(0,t.onMounted)(()=>{e(),(0,t.nextTick)(()=>{n=!0})}),(0,t.onActivated)(()=>{n&&e()})}function v(e,n,r={}){if(!g)return;let{target:i=window,passive:a=!1,capture:o=!1}=r,s=!1,c,l=r=>{if(s)return;let i=(0,t.unref)(r);i&&!c&&(i.addEventListener(e,n,{capture:o,passive:a}),c=!0)},u=r=>{if(s)return;let i=(0,t.unref)(r);i&&c&&(i.removeEventListener(e,n,o),c=!1)};(0,t.onUnmounted)(()=>u(i)),(0,t.onDeactivated)(()=>u(i)),_(()=>l(i));let d;return(0,t.isRef)(i)&&(d=(0,t.watch)(i,(e,t)=>{u(t),l(e)})),()=>{d?.(),u(i),s=!0}}var y,b;function x(){if(!y&&(y=(0,t.ref)(0),b=(0,t.ref)(0),g)){let e=()=>{y.value=window.innerWidth,b.value=window.innerHeight};e(),window.addEventListener(`resize`,e,{passive:!0}),window.addEventListener(`orientationchange`,e,{passive:!0})}return{width:y,height:b}}var S=/scroll|auto|overlay/i,C=g?window:void 0;function w(e){return e.tagName!==`HTML`&&e.tagName!==`BODY`&&e.nodeType===1}function te(e,t=C){let n=e;for(;n&&n!==t&&w(n);){let{overflowY:e}=window.getComputedStyle(n);if(S.test(e))return n;n=n.parentNode}return t}u();var ne=e=>e.stopPropagation();function re(e,t){(typeof e.cancelable!=`boolean`||e.cancelable)&&e.preventDefault(),t&&ne(e)}var{width:ie,height:ae}=x();function T(e){if(o(e))return l(e)?`${e}px`:String(e)}function oe(e){if(o(e)){if(Array.isArray(e))return{width:T(e[0]),height:T(e[1])};let t=T(e);return{width:t,height:t}}}function se(e){let t={};return e!==void 0&&(t.zIndex=+e),t}var ce=/-(\w)/g,le=e=>e.replace(ce,(e,t)=>t.toUpperCase()),ue=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase().replace(/^-/,``),{hasOwnProperty:de}=Object.prototype;function fe(e,t,n){let r=t[n];o(r)&&(!de.call(e,n)||!a(r)?e[n]=r:e[n]=E(Object(e[n]),r))}function E(e,t){return Object.keys(t).forEach(n=>{fe(e,t,n)}),e}var pe={name:`姓名`,tel:`电话`,save:`保存`,clear:`清空`,undo:`撤销`,cancel:`取消`,confirm:`确认`,delete:`删除`,loading:`加载中...`,noCoupon:`暂无优惠券`,nameEmpty:`请填写姓名`,addContact:`添加联系人`,telInvalid:`请填写正确的电话`,vanCalendar:{end:`结束`,start:`开始`,title:`日期选择`,weekdays:[`日`,`一`,`二`,`三`,`四`,`五`,`六`],monthTitle:(e,t)=>`${e}\u5E74${t}\u6708`,rangePrompt:e=>`\u6700\u591A\u9009\u62E9 ${e} \u5929`},vanCascader:{select:`请选择`},vanPagination:{prev:`上一页`,next:`下一页`},vanPullRefresh:{pulling:`下拉即可刷新...`,loosing:`释放即可刷新...`},vanSubmitBar:{label:`合计:`},vanCoupon:{unlimited:`无门槛`,discount:e=>`${e}\u6298`,condition:e=>`\u6EE1${e}\u5143\u53EF\u7528`},vanCouponCell:{title:`优惠券`,count:e=>`${e}\u5F20\u53EF\u7528`},vanCouponList:{exchange:`兑换`,close:`不使用`,enable:`可用`,disabled:`不可用`,placeholder:`输入优惠码`},vanAddressEdit:{area:`地区`,areaEmpty:`请选择地区`,addressEmpty:`请填写详细地址`,addressDetail:`详细地址`,defaultAddress:`设为默认收货地址`},vanAddressList:{add:`新增地址`}},D=(0,t.ref)(`zh-CN`),O=(0,t.reactive)({"zh-CN":pe}),me={messages(){return O[D.value]},use(e,t){D.value=e,this.add({[e]:t})},add(e={}){E(O,e)}};function he(e){let t=le(e)+`.`;return(e,...n)=>{let r=me.messages(),i=d(r,t+e)||d(r,e);return s(i)?i(...n):i}}function k(e,t){return t?typeof t==`string`?` ${e}--${t}`:Array.isArray(t)?t.reduce((t,n)=>t+k(e,n),``):Object.keys(t).reduce((n,r)=>n+(t[r]?k(e,r):``),``):``}function ge(e){return(t,n)=>(t&&typeof t!=`string`&&(n=t,t=``),t=t?`${e}__${t}`:e,`${t}${k(t,n)}`)}function A(e){let t=`van-${e}`;return[t,ge(t),he(t)]}var j=`van-hairline`;`${j}`,`${j}`,`${j}`,`${j}`,`${j}`,`${j}`,`${j}`;var _e=`van-haptics-feedback`;function ve(e,{args:t=[],done:r,canceled:i,error:a}){if(e){let o=e.apply(null,t);c(o)?o.then(e=>{e?r():i&&i()}).catch(a||n):o?r():i&&i()}else r()}function M(e){return e.install=t=>{let{name:n}=e;n&&(t.component(n,e),t.component(le(`-${n}`),e))},e}var ye=Symbol();function N(e){let n=(0,t.getCurrentInstance)();n&&r(n.proxy,e)}var[be,P]=A(`badge`),xe={dot:Boolean,max:p,tag:h(`div`),color:String,offset:Array,content:p,showZero:m,position:h(`top-right`)},Se=M((0,t.defineComponent)({name:be,props:xe,setup(e,{slots:n}){let r=()=>{if(n.content)return!0;let{content:t,showZero:r}=e;return o(t)&&t!==``&&(r||t!==0&&t!==`0`)},i=()=>{let{dot:t,max:i,content:a}=e;if(!t&&r())return n.content?n.content():o(i)&&l(a)&&+a>+i?`${i}+`:a},a=e=>e.startsWith(`-`)?e.replace(`-`,``):`-${e}`,s=(0,t.computed)(()=>{let t={background:e.color};if(e.offset){let[r,i]=e.offset,{position:o}=e,[s,c]=o.split(`-`);n.default?(typeof i==`number`?t[s]=T(s===`top`?i:-i):t[s]=s===`top`?T(i):a(i),typeof r==`number`?t[c]=T(c===`left`?r:-r):t[c]=c===`left`?T(r):a(r)):(t.marginTop=T(i),t.marginLeft=T(r))}return t}),c=()=>{if(r()||e.dot)return(0,t.createVNode)(`div`,{class:P([e.position,{dot:e.dot,fixed:!!n.default}]),style:s.value},[i()])};return()=>{if(n.default){let{tag:r}=e;return(0,t.createVNode)(r,{class:P(`wrapper`)},{default:()=>[n.default(),c()]})}return c()}}})),F=2e3,Ce=()=>++F,we=e=>{F=e},[I,Te]=A(`config-provider`),L=Symbol(I),Ee={tag:h(`div`),theme:h(`light`),zIndex:Number,themeVars:Object,themeVarsDark:Object,themeVarsLight:Object,themeVarsScope:h(`local`),iconPrefix:String};function De(e){return e.replace(/([a-zA-Z])(\d)/g,`$1-$2`)}function Oe(e){let t={};return Object.keys(e).forEach(n=>{let r=De(ue(n));t[`--van-${r}`]=e[n]}),t}function R(e={},t={}){Object.keys(e).forEach(n=>{e[n]!==t[n]&&document.documentElement.style.setProperty(n,e[n])}),Object.keys(t).forEach(t=>{e[t]||document.documentElement.style.removeProperty(t)})}(0,t.defineComponent)({name:I,props:Ee,setup(e,{slots:n}){let a=(0,t.computed)(()=>Oe(r({},e.themeVars,e.theme===`dark`?e.themeVarsDark:e.themeVarsLight)));if(i){let n=()=>{document.documentElement.classList.add(`van-theme-${e.theme}`)},r=(t=e.theme)=>{document.documentElement.classList.remove(`van-theme-${t}`)};(0,t.watch)(()=>e.theme,(e,t)=>{t&&r(t),n()},{immediate:!0}),(0,t.onActivated)(n),(0,t.onDeactivated)(r),(0,t.onBeforeUnmount)(r),(0,t.watch)(a,(t,n)=>{e.themeVarsScope===`global`&&R(t,n)}),(0,t.watch)(()=>e.themeVarsScope,(e,t)=>{t===`global`&&R({},a.value),e===`global`&&R(a.value,{})}),e.themeVarsScope===`global`&&R(a.value,{})}return(0,t.provide)(L,e),(0,t.watchEffect)(()=>{e.zIndex!==void 0&&we(e.zIndex)}),()=>(0,t.createVNode)(e.tag,{class:Te(),style:e.themeVarsScope===`local`?a.value:void 0},{default:()=>[n.default?.call(n)]})}});var[ke,z]=A(`icon`),Ae=e=>e?.includes(`/`),je={dot:Boolean,tag:h(`i`),name:String,size:p,badge:p,color:String,badgeProps:Object,classPrefix:String},B=M((0,t.defineComponent)({name:ke,props:je,setup(e,{slots:n}){let r=(0,t.inject)(L,null),i=(0,t.computed)(()=>e.classPrefix||r?.iconPrefix||z());return()=>{let{tag:r,dot:a,name:o,size:s,badge:c,color:l}=e,u=Ae(o);return(0,t.createVNode)(Se,(0,t.mergeProps)({dot:a,tag:r,class:[i.value,u?``:`${i.value}-${o}`],style:{color:l,fontSize:T(s)},content:c},e.badgeProps),{default:()=>[n.default?.call(n),u&&(0,t.createVNode)(`img`,{class:z(`image`),src:o},null)]})}}})),[Me,V]=A(`loading`),Ne=Array(12).fill(null).map((e,n)=>(0,t.createVNode)(`i`,{class:V(`line`,String(n+1))},null)),Pe=(0,t.createVNode)(`svg`,{class:V(`circular`),viewBox:`25 25 50 50`},[(0,t.createVNode)(`circle`,{cx:`50`,cy:`50`,r:`20`,fill:`none`},null)]),Fe={size:p,type:h(`circular`),color:String,vertical:Boolean,textSize:p,textColor:String},Ie=M((0,t.defineComponent)({name:Me,props:Fe,setup(e,{slots:n}){let i=(0,t.computed)(()=>r({color:e.color},oe(e.size))),a=()=>{let r=e.type===`spinner`?Ne:Pe;return(0,t.createVNode)(`span`,{class:V(`spinner`,e.type),style:i.value},[n.icon?n.icon():r])},o=()=>{if(n.default)return(0,t.createVNode)(`span`,{class:V(`text`),style:{fontSize:T(e.textSize),color:e.textColor??e.color}},[n.default()])};return()=>{let{type:n,vertical:r}=e;return(0,t.createVNode)(`div`,{class:V([n,{vertical:r}]),"aria-live":`polite`,"aria-busy":!0},[a(),o()])}}})),Le={show:Boolean,zIndex:p,overlay:m,duration:p,teleport:[String,Object],lockScroll:m,lazyRender:m,beforeClose:Function,overlayProps:Object,overlayStyle:Object,overlayClass:null,transitionAppear:Boolean,closeOnClickOverlay:m};function Re(e,t){return e>t?`horizontal`:t>e?`vertical`:``}function ze(){let e=(0,t.ref)(0),n=(0,t.ref)(0),r=(0,t.ref)(0),i=(0,t.ref)(0),a=(0,t.ref)(0),o=(0,t.ref)(0),s=(0,t.ref)(``),c=(0,t.ref)(!0),l=()=>s.value===`vertical`,u=()=>s.value===`horizontal`,d=()=>{r.value=0,i.value=0,a.value=0,o.value=0,s.value=``,c.value=!0};return{move:(t=>{let l=t.touches[0];r.value=(l.clientX<0?0:l.clientX)-e.value,i.value=l.clientY-n.value,a.value=Math.abs(r.value),o.value=Math.abs(i.value),(!s.value||a.value<10&&o.value<10)&&(s.value=Re(a.value,o.value)),c.value&&(a.value>5||o.value>5)&&(c.value=!1)}),start:(t=>{d(),e.value=t.touches[0].clientX,n.value=t.touches[0].clientY}),reset:d,startX:e,startY:n,deltaX:r,deltaY:i,offsetX:a,offsetY:o,direction:s,isVertical:l,isHorizontal:u,isTap:c}}var H=0,Be=`van-overflow-hidden`;function Ve(e,n){let r=ze(),i=t=>{r.move(t);let n=r.deltaY.value>0?`10`:`01`,{scrollHeight:i,offsetHeight:a,scrollTop:o}=te(t.target,e.value),s=`11`;o===0?s=a>=i?`00`:`01`:o+a>=i&&(s=`10`),s!==`11`&&r.isVertical()&&!(parseInt(s,2)&parseInt(n,2))&&re(t,!0)},a=()=>{document.addEventListener(`touchstart`,r.start),document.addEventListener(`touchmove`,i,{passive:!1}),H||document.body.classList.add(Be),H++},o=()=>{H&&(document.removeEventListener(`touchstart`,r.start),document.removeEventListener(`touchmove`,i),H--,H||document.body.classList.remove(Be))},s=()=>n()&&a(),c=()=>n()&&o();_(s),(0,t.onDeactivated)(c),(0,t.onBeforeUnmount)(c),(0,t.watch)(n,e=>{e?a():o()})}function He(e){let n=(0,t.ref)(!1);return(0,t.watch)(e,e=>{e&&(n.value=e)},{immediate:!0}),e=>()=>n.value?e():null}var Ue=()=>{let{scopeId:e}=(0,t.getCurrentInstance)()?.vnode||{};return e?{[e]:``}:null},[We,Ge]=A(`overlay`),Ke={show:Boolean,zIndex:p,duration:p,className:null,lockScroll:m,lazyRender:m,customStyle:Object,teleport:[String,Object]},qe=M((0,t.defineComponent)({name:We,inheritAttrs:!1,props:Ke,setup(e,{attrs:n,slots:i}){let a=(0,t.ref)(),s=He(()=>e.show||!e.lazyRender),c=t=>{e.lockScroll&&re(t,!0)},l=s(()=>{let s=r(se(e.zIndex),e.customStyle);return o(e.duration)&&(s.animationDuration=`${e.duration}s`),(0,t.withDirectives)((0,t.createVNode)(`div`,(0,t.mergeProps)({ref:a,style:s,class:[Ge(),e.className]},n),[i.default?.call(i)]),[[t.vShow,e.show]])});return v(`touchmove`,c,{target:a}),()=>{let n=(0,t.createVNode)(t.Transition,{name:`van-fade`,appear:!0},{default:l});return e.teleport?(0,t.createVNode)(t.Teleport,{to:e.teleport},{default:()=>[n]}):n}}})),Je=r({},Le,{round:Boolean,position:h(`center`),closeIcon:h(`cross`),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:h(`top-right`),destroyOnClose:Boolean,safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[Ye,Xe]=A(`popup`),Ze=M((0,t.defineComponent)({name:Ye,inheritAttrs:!1,props:Je,emits:[`open`,`close`,`opened`,`closed`,`keydown`,`update:show`,`clickOverlay`,`clickCloseIcon`],setup(e,{emit:n,attrs:i,slots:a}){let s,c,l=(0,t.ref)(),u=(0,t.ref)(),d=He(()=>e.show||!e.lazyRender),f=(0,t.computed)(()=>{let t={zIndex:l.value};if(o(e.duration)){let n=e.position===`center`?`animationDuration`:`transitionDuration`;t[n]=`${e.duration}s`}return t}),p=()=>{s||(s=!0,l.value=e.zIndex===void 0?Ce():+e.zIndex,n(`open`))},m=()=>{s&&ve(e.beforeClose,{done(){s=!1,n(`close`),n(`update:show`,!1)}})},ee=t=>{n(`clickOverlay`,t),e.closeOnClickOverlay&&m()},h=()=>{if(e.overlay)return(0,t.createVNode)(qe,(0,t.mergeProps)(r({show:e.show,class:e.overlayClass,zIndex:l.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?`button`:void 0,tabindex:e.closeOnClickOverlay?0:void 0},e.overlayProps),Ue(),{onClick:ee}),{default:a[`overlay-content`]})},g=e=>{n(`clickCloseIcon`,e),m()},_=()=>{if(e.closeable)return(0,t.createVNode)(B,{role:`button`,tabindex:0,name:e.closeIcon,class:[Xe(`close-icon`,e.closeIconPosition),_e],classPrefix:e.iconPrefix,onClick:g},null)},y,b=()=>{y&&clearTimeout(y),y=setTimeout(()=>{n(`opened`)})},x=()=>n(`closed`),S=e=>n(`keydown`,e),C=d(()=>{let{destroyOnClose:n,round:r,position:o,safeAreaInsetTop:s,safeAreaInsetBottom:c,show:l}=e;if(!(!l&&n))return(0,t.withDirectives)((0,t.createVNode)(`div`,(0,t.mergeProps)({ref:u,style:f.value,role:`dialog`,tabindex:0,class:[Xe({round:r,[o]:o}),{"van-safe-area-top":s,"van-safe-area-bottom":c}],onKeydown:S},i,Ue()),[a.default?.call(a),_()]),[[t.vShow,l]])}),w=()=>{let{position:n,transition:r,transitionAppear:i}=e,a=n===`center`?`van-fade`:`van-popup-slide-${n}`;return(0,t.createVNode)(t.Transition,{name:r||a,appear:i,onAfterEnter:b,onAfterLeave:x},{default:C})};return(0,t.watch)(()=>e.show,e=>{e&&!s&&(p(),i.tabindex===0&&(0,t.nextTick)(()=>{var e;(e=u.value)==null||e.focus()})),!e&&s&&(s=!1,n(`close`))}),N({popupRef:u}),Ve(u,()=>e.show&&e.lockScroll),v(`popstate`,()=>{e.closeOnPopstate&&(m(),c=!1)}),(0,t.onMounted)(()=>{e.show&&p()}),(0,t.onActivated)(()=>{c&&=(n(`update:show`,!0),!1)}),(0,t.onDeactivated)(()=>{e.show&&e.teleport&&(m(),c=!0)}),(0,t.provide)(ye,()=>e.show),()=>e.teleport?(0,t.createVNode)(t.Teleport,{to:e.teleport},{default:()=>[h(),w()]}):(0,t.createVNode)(t.Fragment,null,[h(),w()])}})),U=0;function Qe(e){e?(U||document.body.classList.add(`van-toast--unclickable`),U++):U&&(U--,U||document.body.classList.remove(`van-toast--unclickable`))}var[$e,W]=A(`toast`),et=[`show`,`overlay`,`teleport`,`transition`,`overlayClass`,`overlayStyle`,`closeOnClickOverlay`,`zIndex`],tt={icon:String,show:Boolean,type:h(`text`),overlay:Boolean,message:p,iconSize:p,duration:ee(2e3),position:h(`middle`),teleport:[String,Object],wordBreak:String,className:null,iconPrefix:String,transition:h(`van-fade`),loadingType:String,forbidClick:Boolean,overlayClass:null,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean,zIndex:p},nt=(0,t.defineComponent)({name:$e,props:tt,emits:[`update:show`],setup(e,{emit:n,slots:r}){let i,a=!1,s=()=>{let t=e.show&&e.forbidClick;a!==t&&(a=t,Qe(a))},c=e=>n(`update:show`,e),l=()=>{e.closeOnClick&&c(!1)},u=()=>clearTimeout(i),d=()=>{let{icon:n,type:r,iconSize:i,iconPrefix:a,loadingType:o}=e;if(n||r===`success`||r===`fail`)return(0,t.createVNode)(B,{name:n||r,size:i,class:W(`icon`),classPrefix:a},null);if(r===`loading`)return(0,t.createVNode)(Ie,{class:W(`loading`),size:i,type:o},null)},p=()=>{let{type:n,message:i}=e;if(r.message)return(0,t.createVNode)(`div`,{class:W(`text`)},[r.message()]);if(o(i)&&i!==``)return n===`html`?(0,t.createVNode)(`div`,{key:0,class:W(`text`),innerHTML:String(i)},null):(0,t.createVNode)(`div`,{class:W(`text`)},[i])};return(0,t.watch)(()=>[e.show,e.forbidClick],s),(0,t.watch)(()=>[e.show,e.type,e.message,e.duration],()=>{u(),e.show&&e.duration>0&&(i=setTimeout(()=>{c(!1)},e.duration))}),(0,t.onMounted)(s),(0,t.onUnmounted)(s),()=>(0,t.createVNode)(Ze,(0,t.mergeProps)({class:[W([e.position,e.wordBreak===`normal`?`break-normal`:e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:l,onClosed:u,"onUpdate:show":c},f(e,et)),{default:()=>[d(),p()]})}});function rt(){let e=(0,t.reactive)({show:!1}),n=t=>{e.show=t},i=t=>{r(e,t,{transitionAppear:!0}),n(!0)},a=()=>n(!1);return N({open:i,close:a,toggle:n}),{open:i,close:a,state:e,toggle:n}}function it(e){let n=(0,t.createApp)(e),r=document.createElement(`div`);return document.body.appendChild(r),{instance:n.mount(r),unmount(){n.unmount(),document.body.removeChild(r)}}}var at={icon:``,type:`text`,message:``,className:``,overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:`body`,iconSize:void 0,iconPrefix:void 0,position:`middle`,transition:`van-fade`,forbidClick:!1,loadingType:void 0,overlayClass:``,overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1},G=[],ot=!1,st=r({},at),ct=new Map;function lt(e){return a(e)?e:{message:e}}function ut(){let{instance:e,unmount:n}=it({setup(){let r=(0,t.ref)(``),{open:i,state:a,close:o,toggle:s}=rt(),c=()=>{ot&&(G=G.filter(t=>t!==e),n())},l=()=>(0,t.createVNode)(nt,(0,t.mergeProps)(a,{onClosed:c,"onUpdate:show":s}),null);return(0,t.watch)(r,e=>{a.message=e}),(0,t.getCurrentInstance)().render=l,{open:i,close:o,message:r}}});return e}function dt(){if(!G.length||ot){let e=ut();G.push(e)}return G[G.length-1]}function K(e={}){if(!i)return{};let t=dt(),n=lt(e);return t.open(r({},st,ct.get(n.type||st.type),n)),t}var ft={class:`banner-swipe-container`},pt=[`src`,`alt`],mt=(0,t.defineComponent)({__name:`index`,setup(e){let n=(0,t.ref)([{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`示例 Banner 1`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`示例 Banner 2`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`示例 Banner 3`}]),r=(0,t.ref)(!0),i=async()=>{r.value=!0,n.value=[{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`示例 Banner 1`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`示例 Banner 2`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`示例 Banner 3`}],r.value=!1},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`点击了: ${e.title||e.id}`)};return(0,t.onMounted)(()=>{i()}),(e,i)=>{let o=(0,t.resolveComponent)(`van-swipe-item`),s=(0,t.resolveComponent)(`van-swipe`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,ft,[(0,t.createVNode)(c,{row:3,loading:r.value,class:`banner-skeleton`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(s,{class:`my-swipe`,autoplay:3e3,"indicator-color":`white`,"lazy-render":``},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value,e=>((0,t.openBlock)(),(0,t.createBlock)(o,{key:e.id,onClick:t=>a(e)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`img`,{src:e.imageUrl,alt:e.title,class:`banner-image`},null,8,pt)]),_:2},1032,[`onClick`]))),128))]),_:1})]),_:1},8,[`loading`])])}}}),q=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},J=q(mt,[[`__scopeId`,`data-v-53ac4ba7`]]);J.name=`hx-banner-swipe`,J.install=function(e){e.component(`hx-banner-swipe`,J)};var ht=J,gt={},_t={class:`tButton`};function vt(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`button`,_t,`测试 发布 按钮组件1`)}var Y=q(gt,[[`render`,vt],[`__scopeId`,`data-v-0957b8d5`]]);Y.name=`hx-button`,Y.install=function(e){e.component(`hx-button`,Y)};var yt=Y,bt={class:`ad-grid-container`},xt={class:`ad-grid`},St=[`onClick`],X=q((0,t.defineComponent)({__name:`index`,setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!0),i=async()=>{try{r.value=!0,await new Promise(e=>setTimeout(e,800)),n.value=[{id:1,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`,title:`大图广告`},{id:2,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`,title:`小图广告1`},{id:3,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`,title:`小图广告2`}]}catch(e){console.error(`Failed to fetch ad data:`,e)}finally{r.value=!1}},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`点击了广告: ${e.title||e.id}`)};return(0,t.onMounted)(()=>{i()}),(e,i)=>{let o=(0,t.resolveComponent)(`van-loading`),s=(0,t.resolveComponent)(`van-image`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,bt,[(0,t.createVNode)(c,{row:4,loading:r.value},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,xt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value.slice(0,3),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`ad-item`,{"is-large":n===0}]),onClick:t=>a(e)},[(0,t.createVNode)(s,{src:e.imageUrl,fit:`cover`,width:`100%`,height:`100%`,"lazy-load":``},{loading:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{type:`spinner`,size:`20`})]),_:1},8,[`src`])],10,St))),128))])]),_:1},8,[`loading`])])}}}),[[`__scopeId`,`data-v-1efa7c90`]]);X.name=`hx-adgrid`,X.install=function(e){e.component(`hx-adgrid`,X)};var Ct=X,wt={class:`hot-sale-container`},Tt={class:`header`},Et={class:`title`},Dt={class:`product-list-wrapper`},Ot={class:`product-list`},kt=[`onClick`],At={class:`image-box`},jt={class:`product-info`},Mt={class:`product-name van-multi-ellipsis--l2`},Nt={class:`product-bottom`},Pt={class:`price-value`},Z=q((0,t.defineComponent)({__name:`index`,props:{title:{default:`热卖推荐`}},setup(e){let n=(0,t.ref)([]),r=(0,t.ref)(!0),i=async()=>{try{r.value=!0,n.value=[{id:1,name:`Apple iPhone 15`,price:`5999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg`},{id:2,name:`MacBook Pro 14`,price:`12999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg`},{id:3,name:`iPad Air`,price:`4799`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg`},{id:4,name:`Apple Watch S9`,price:`2999`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-4.jpeg`},{id:5,name:`AirPods Pro`,price:`1899`,imageUrl:`https://fastly.jsdelivr.net/npm/@vant/assets/apple-5.jpeg`}]}catch(e){console.error(`Failed to fetch hot sale data:`,e)}finally{r.value=!1}},a=e=>{e.linkUrl?window.location.href=e.linkUrl:K(`查看商品: ${e.name}`)};return(0,t.onMounted)(()=>{i()}),(i,o)=>{let s=(0,t.resolveComponent)(`van-image`),c=(0,t.resolveComponent)(`van-skeleton`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,wt,[(0,t.createElementVNode)(`div`,Tt,[(0,t.createElementVNode)(`span`,Et,(0,t.toDisplayString)(e.title),1)]),(0,t.createVNode)(c,{row:3,loading:r.value,class:`skeleton-padding`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Dt,[(0,t.createElementVNode)(`div`,Ot,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:`product-item`,onClick:t=>a(e)},[(0,t.createElementVNode)(`div`,At,[(0,t.createVNode)(s,{src:e.imageUrl,fit:`cover`,width:`100%`,height:`100%`,radius:`8px`,"lazy-load":``},null,8,[`src`])]),(0,t.createElementVNode)(`div`,jt,[(0,t.createElementVNode)(`div`,Mt,(0,t.toDisplayString)(e.name),1),(0,t.createElementVNode)(`div`,Nt,[o[0]||=(0,t.createElementVNode)(`span`,{class:`price-symbol`},`¥`,-1),(0,t.createElementVNode)(`span`,Pt,(0,t.toDisplayString)(e.price),1)])])],8,kt))),128))])])]),_:1},8,[`loading`])])}}}),[[`__scopeId`,`data-v-27732ea0`]]);Z.name=`hx-hotSaleList`,Z.install=function(e){e.component(`hx-hotSaleList`,Z)};var Q=Z,Ft=[ht,yt,Ct,Q],$=function(e,t){$.installed||($.installed=!0,t?.vant&&console.warn(`[pixel-flow-vue] 请确保已经在你的应用中通过 app.use(Vant) 安装了Vant`),Ft.forEach(t=>{e.component(t.name,t)}))};typeof window<`u`&&window.Vue&&$(window.Vue),e.default={install:$,version:`1.0.20`},e.hxAdGrid=Ct,e.hxBannerSwipe=ht,e.hxButton=yt,e.hxHotSaleList=Q});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixel-flow-vue",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "type": "module",
5
5
  "main": "dist/pixel-flow-vue.umd.js",
6
6
  "module": "dist/pixel-flow-vue.es.js",
@@ -7,7 +7,8 @@ import hxHotSaleList from './packages/hx-hotsaleList/index'
7
7
  export { hxButton, hxAdGrid, hxBannerSwipe, hxHotSaleList }
8
8
 
9
9
  declare const _default: {
10
- install: (app: App) => void
10
+ install: (app: App, options?: { vant?: any }) => void
11
+ version: string
11
12
  }
12
13
 
13
14
  export default _default