@oinone/kunlun-vue-router 6.2.11 → 6.3.0

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.
@@ -12,4 +12,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */let b=class BaseRouterWidget extends t{};b=function(e,t,r,o){var n,u=arguments.length,l=u<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(l=(u<3?n(l):u>3?n(t,r,l):n(t,r))||l);return u>3&&l&&Object.defineProperty(t,r,l),l}([e.Base("Router",["widget"])],b);class RouterWidget extends b{}const M=r("router view location matched"),y=r("parent_segment_group"),S=e=>{const t=u(M),r=u(y,l((()=>t.value.root))),o=l((()=>{if(!(null==r?void 0:r.value))return;const{children:t}=r.value;return e?t[e]:t.primary}));e&&a(y,o);return{currentSegmentGroup:l((()=>{if(!o.value)return;const{children:e}=o.value;return Object.keys(e).length?e.primary:o.value}))}},W=r("root widget token"),k=e=>{const t=o.select(e);return a(W,t),t},j=()=>u(W),O=e=>{const t=j();if(!t)throw new Error("Need a root widget in Match tag");t.children.forEach((e=>e.dispose())),Object.entries(e).forEach((([e,r])=>{"default"===e&&t.createWidget(r),t.createWidget(r,e),t.forceUpdate()}))},E=()=>({setRootWidget:k,getRootWidget:j,registerWidgets:O}),N="Route",P={name:N,inheritAttrs:!1,props:{path:String,slotName:{type:String,required:!0},namespace:String,computedMatched:Object,widgets:Object,widget:String},setup(e,{slots:t}){const{widget:r,widgets:o}=e,{path:u,namespace:l,computedMatched:a}=i(e),{currentSegmentGroup:c}=S(null==l?void 0:l.value),{matched:s,setMatched:d}=h(),{registerWidgets:p}=E();let g={};if(r){const t=b.Selector({widget:r})||n.Selector({widget:r});if(!t||!e.slotName)throw new Error(`路由${u}对应的页面:${r}匹配异常`);g={[e.slotName]:t},p(g)}return o&&p(o),()=>{var e;if(!t.default||!c.value)return!c.value&&t.default?t.default():null;let r;const o=t.default();return r=(null==a?void 0:a.value)?a.value:u.value?w(null===(e=c.value)||void 0===e?void 0:e.segments,{path:u.value}):s,r&&d(r),r?o:null}}},$=P,x=()=>{const e=c();if(!e)throw new Error("No vue instance in current component.");return{router:e.appContext.config.globalProperties.$router}},G=()=>x().router,A="Redirect",B={name:A,props:{to:String},setup(e){const{router:t}=x();s((()=>{t.navigate(e.to,{replaceUrl:!0})}))}},C=[N,A],T=e=>e.reduce(((e,t)=>[...e,...t.type===d?T(t.children):[t]]),[]),U={name:"Match",props:{namespace:String,rootToken:String},setup(e,{slots:t}){const{rootToken:r}=e,{namespace:o}=i(e),{currentSegmentGroup:n}=S(null==o?void 0:o.value),{matched:u,setMatched:a}=h();let c;if(r){const{setRootWidget:e}=E(),t=e(r);c=t.getNodeCodeRef()}const s=l((()=>{if(!t.default)return null;let e,r=[];n.value&&(r=n.value.segments);let o=null;return T(t.default()).forEach((t=>{if(o||!p(t))return;const n=t.type,{name:l}=n;if(!C.includes(l))return;e=t;const{path:a}=t.props;o=a?w(r,{path:a}):u})),o?(a(o),{currentMatched:o,element:e}):null})),d=g(null);return v([s],(([e],[t])=>{d.value&&(null==e?void 0:e.currentMatched.path)===(null==t?void 0:t.currentMatched.path)||(d.value=e)}),{immediate:!0}),()=>{if(d.value&&c.value)return f(d.value.element,{key:d.value.element,computedMatched:d.value.currentMatched})}}},_=U,q=()=>{const e=R(),t=m(null);return e.activatedRoute.subscribe((e=>{t.value=e})),{install:r=>{if(r.config.globalProperties.$router)return void console.warn("Already install vue router: ",r.config.globalProperties.$router);r.config.globalProperties.$router=e,r.component("Route",$),r.component("Match",_),r.component("Redirect",B);const o=l((()=>t.value));r.provide(M,o),e.ignite()}}};export{b as BaseRouterWidget,_ as Match,A as REDIRECT_COMPONENT_NAME,N as ROUTE_COMPONENT_NAME,B as Redirect,$ as Route,RouterWidget,q as createVueRouter,G as getRouter,x as useRouter};
15
+ ***************************************************************************** */let b=class BaseRouterWidget extends t{};b=function(e,t,r,o){var n,u=arguments.length,l=u<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(l=(u<3?n(l):u>3?n(t,r,l):n(t,r))||l);return u>3&&l&&Object.defineProperty(t,r,l),l}([e.Base("Router",["widget"])],b);class RouterWidget extends b{}const M=r("router view location matched"),y=r("parent_segment_group"),S=e=>{const t=u(M),r=u(y,l(()=>t.value.root)),o=l(()=>{if(!(null==r?void 0:r.value))return;const{children:t}=r.value;return e?t[e]:t.primary});e&&a(y,o);return{currentSegmentGroup:l(()=>{if(!o.value)return;const{children:e}=o.value;return Object.keys(e).length?e.primary:o.value})}},W=r("root widget token"),k=e=>{const t=o.select(e);return a(W,t),t},j=()=>u(W),O=e=>{const t=j();if(!t)throw new Error("Need a root widget in Match tag");t.children.forEach(e=>e.dispose()),Object.entries(e).forEach(([e,r])=>{"default"===e&&t.createWidget(r),t.createWidget(r,e),t.forceUpdate()})},E=()=>({setRootWidget:k,getRootWidget:j,registerWidgets:O}),N="Route",P={name:N,inheritAttrs:!1,props:{path:String,slotName:{type:String,required:!0},namespace:String,computedMatched:Object,widgets:Object,widget:String},setup(e,{slots:t}){const{widget:r,widgets:o}=e,{path:u,namespace:l,computedMatched:a}=i(e),{currentSegmentGroup:c}=S(null==l?void 0:l.value),{matched:s,setMatched:d}=h(),{registerWidgets:p}=E();let g={};if(r){const t=b.Selector({widget:r})||n.Selector({widget:r});if(!t||!e.slotName)throw new Error(`路由${u}对应的页面:${r}匹配异常`);g={[e.slotName]:t},p(g)}return o&&p(o),()=>{var e;if(!t.default||!c.value)return!c.value&&t.default?t.default():null;let r;const o=t.default();return r=(null==a?void 0:a.value)?a.value:u.value?w(null===(e=c.value)||void 0===e?void 0:e.segments,{path:u.value}):s,r&&d(r),r?o:null}}},$=P,x=()=>{const e=c();if(!e)throw new Error("No vue instance in current component.");return{router:e.appContext.config.globalProperties.$router}},G=()=>x().router,A="Redirect",B={name:A,props:{to:String},setup(e){const{router:t}=x();s(()=>{t.navigate(e.to,{replaceUrl:!0})})}},C=[N,A],T=e=>e.reduce((e,t)=>[...e,...t.type===d?T(t.children):[t]],[]),U={name:"Match",props:{namespace:String,rootToken:String},setup(e,{slots:t}){const{rootToken:r}=e,{namespace:o}=i(e),{currentSegmentGroup:n}=S(null==o?void 0:o.value),{matched:u,setMatched:a}=h();let c;if(r){const{setRootWidget:e}=E(),t=e(r);c=t.getNodeCodeRef()}const s=l(()=>{if(!t.default)return null;let e,r=[];n.value&&(r=n.value.segments);let o=null;return T(t.default()).forEach(t=>{if(o||!p(t))return;const n=t.type,{name:l}=n;if(!C.includes(l))return;e=t;const{path:a}=t.props;o=a?w(r,{path:a}):u}),o?(a(o),{currentMatched:o,element:e}):null}),d=g(null);return v([s],([e],[t])=>{d.value&&(null==e?void 0:e.currentMatched.path)===(null==t?void 0:t.currentMatched.path)||(d.value=e)},{immediate:!0}),()=>{if(d.value&&c.value)return f(d.value.element,{key:d.value.element,computedMatched:d.value.currentMatched})}}},_=U,q=()=>{const e=R(),t=m(null);return e.activatedRoute.subscribe(e=>{t.value=e}),{install:r=>{if(r.config.globalProperties.$router)return void console.warn("Already install vue router: ",r.config.globalProperties.$router);r.config.globalProperties.$router=e,r.component("Route",$),r.component("Match",_),r.component("Redirect",B);const o=l(()=>t.value);r.provide(M,o),e.ignite()}}};export{b as BaseRouterWidget,_ as Match,A as REDIRECT_COMPONENT_NAME,N as ROUTE_COMPONENT_NAME,B as Redirect,$ as Route,RouterWidget,q as createVueRouter,G as getRouter,x as useRouter};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oinone/kunlun-vue-router",
3
- "version": "6.2.11",
3
+ "version": "6.3.0",
4
4
  "main": "index.ts",
5
5
  "scripts": {
6
6
  "prebuild": "rimraf dist",
@@ -12,12 +12,12 @@
12
12
  "doc": "typedoc --out docs src/index.ts"
13
13
  },
14
14
  "dependencies": {
15
- "@oinone/kunlun-vue-widget": "6.2.11"
15
+ "@oinone/kunlun-vue-widget": "6.3.0"
16
16
  },
17
17
  "devDependencies": {
18
- "@oinone/kunlun-router": "~6.2.0",
19
- "@oinone/kunlun-shared": "~6.2.0",
20
- "@oinone/kunlun-spi": "~6.2.0",
18
+ "@oinone/kunlun-router": "~6.3.0",
19
+ "@oinone/kunlun-shared": "~6.3.0",
20
+ "@oinone/kunlun-spi": "~6.3.0",
21
21
  "@rollup/plugin-json": "4.1.0",
22
22
  "@rollup/plugin-node-resolve": "11.2.1",
23
23
  "@rollup/plugin-replace": "2.4.2",