@scriptloom/ngx-media-query
Version:
A convenient media query service for building responsive Angular components.
2 lines • 12.5 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/core"),require("@ngrx/store"),require("@ngrx/entity"),require("@ngrx/effects"),require("rxjs/operators"),require("rxjs")):"function"==typeof define&&define.amd?define("@scriptloom/ngx-media-query",["exports","@angular/core","@ngrx/store","@ngrx/entity","@ngrx/effects","rxjs/operators","rxjs"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).scriptloom=e.scriptloom||{},e.scriptloom["ngx-media-query"]={}),e.ng.core,e.i1,e.entity,e.effects,e.rxjs.operators,e.rxjs)}(this,(function(e,r,t,i,n,s,u){"use strict";var o;(o=e.ɵf||(e.ɵf={})).LoadMediaQueries="[NgxMediaQuery/API] Load Media Queries",o.LoadMediaQueriesSuccess="[NgxMediaQuery/API] Load MediaQueries Success",o.LoadMediaQueriesFailure="[NgxMediaQuery/API] Load MediaQueries Failure",o.AddMediaQuery="[NgxMediaQuery/API] Add Media Query",o.SetMediaQuery="[NgxMediaQuery/API] Set Media Query",o.UpsertMediaQuery="[NgxMediaQuery/API] Upsert Media Query",o.AddMediaQueries="[NgxMediaQuery/API] Add Media Queries",o.UpsertMediaQueries="[NgxMediaQuery/API] Upsert Media Queries",o.UpdateMediaQuery="[NgxMediaQuery/API] Update Media Query",o.UpdateMediaQueries="[NgxMediaQuery/API] Update Media Queries",o.MapMediaQueries="[NgxMediaQuery/API] Map Media Queries",o.DeleteMediaQuery="[NgxMediaQuery/API] Delete Media Query",o.DeleteMediaQueries="[NgxMediaQuery/API] Delete Media Queries",o.DeleteMediaQueriesByPredicate="[NgxMediaQuery/API] Delete Media Queries By Predicate",o.ClearMediaQueries="[NgxMediaQuery/API] Clear Media Queries",o.SelectMediaQuery="[NgxMediaQuery/API] Select Media Query by ID";var d=t.createAction(e.ɵf.LoadMediaQueries),a=t.createAction(e.ɵf.LoadMediaQueriesSuccess,t.props()),c=t.createAction(e.ɵf.SelectMediaQuery,t.props()),l=t.createAction(e.ɵf.LoadMediaQueriesFailure,t.props()),y=t.createAction(e.ɵf.AddMediaQuery,t.props()),h=t.createAction(e.ɵf.SetMediaQuery,t.props()),p=t.createAction(e.ɵf.UpsertMediaQuery,t.props()),Q=t.createAction(e.ɵf.AddMediaQueries,t.props()),m=t.createAction(e.ɵf.UpsertMediaQueries,t.props()),g=t.createAction(e.ɵf.UpdateMediaQuery,t.props()),M=t.createAction(e.ɵf.UpdateMediaQueries,t.props()),f=t.createAction(e.ɵf.MapMediaQueries,t.props()),L=t.createAction(e.ɵf.DeleteMediaQuery,t.props()),x=t.createAction(e.ɵf.DeleteMediaQueries,t.props()),v=t.createAction(e.ɵf.DeleteMediaQueriesByPredicate,t.props()),w=t.createAction(e.ɵf.ClearMediaQueries),S="mediaQueries",_=i.createEntityAdapter(),A=_.getInitialState({loaded:!1}),X=t.createReducer(A,t.on(d,(function(e){return Object.assign(Object.assign({},e),{loaded:!1,error:null})})),t.on(a,(function(e,r){var t=r.mediaQueries;return _.setAll(t,Object.assign(Object.assign({},e),{loaded:!0}))})),t.on(l,(function(e,r){var t=r.error;return Object.assign(Object.assign({},e),{error:t})})),t.on(c,(function(e,r){var t=r.id;return Object.assign(Object.assign({},e),{selectedId:void 0!==e.entities[t]?t:void 0})})),t.on(y,(function(e,r){var t=r.mediaQuery;return _.addOne(t,e)})),t.on(h,(function(e,r){var t=r.mediaQuery;return _.setOne(t,e)})),t.on(p,(function(e,r){var t=r.mediaQuery;return _.upsertOne(t,e)})),t.on(Q,(function(e,r){var t=r.mediaQueries;return _.addMany(t,e)})),t.on(m,(function(e,r){var t=r.mediaQueries;return _.upsertMany(t,e)})),t.on(g,(function(e,r){var t=r.update;return _.updateOne(t,e)})),t.on(M,(function(e,r){var t=r.updates;return _.updateMany(t,e)})),t.on(f,(function(e,r){var t=r.entityMap;return _.map(t,e)})),t.on(L,(function(e,r){var t=r.id;return _.removeOne(t,e)})),t.on(x,(function(e,r){var t=r.ids;return _.removeMany(t,e)})),t.on(v,(function(e,r){var t=r.predicate;return _.removeMany(t,e)})),t.on(w,(function(e){return _.removeAll(Object.assign(Object.assign({},e),{selectedId:null}))})));function E(e,r){return X(e,r)}var I=t.createFeatureSelector(S),W=_.getSelectors(),b=W.selectAll,P=W.selectEntities,j=(t.createSelector(I,(function(e){return e.loaded})),t.createSelector(I,(function(e){return e.error})),t.createSelector(I,(function(e){return b(e)})),t.createSelector(I,(function(e){return P(e)}))),N=t.createSelector(I,(function(e){return e.selectedId})),O=(t.createSelector(I,(function(e){return e.ids})),t.createSelector(j,N,(function(e,r){return e[r]}))),C=function(){function e(e){this.store=e}return e.prototype.getSelectedMediaQuery$=function(){return this.store.pipe(t.select(O))},e.prototype.clearMediaQueries=function(){this.store.dispatch(w())},e}();C.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new C(r.ɵɵinject(t.Store))},token:C,providedIn:"root"}),C.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],C.ctorParameters=function(){return[{type:t.Store}]};var D=function(){function e(e){this.store=e}return e.prototype.ngOnInit=function(){this.store.dispatch(d())},e.prototype.ngOnDestroy=function(){this.store.dispatch(w())},e}();D.decorators=[{type:r.Component,args:[{selector:"lib-ngx-media-query",template:"\n <div libNgxMediaQuery></div>\n "}]}],D.ctorParameters=function(){return[{type:t.Store}]};var U={xs:!1,sm:!1,md:!1,lg:!1,xl:!0,lt_sm:!1,lt_md:!1,lt_lg:!1,lt_xl:!1,gt_xs:!0,gt_sm:!0,gt_md:!0,gt_lg:!0},q={xs:!1,sm:!1,md:!1,lg:!0,xl:!1,lt_sm:!1,lt_md:!1,lt_lg:!1,lt_xl:!0,gt_xs:!0,gt_sm:!0,gt_md:!0,gt_lg:!1},F={xs:!1,sm:!1,md:!0,lg:!1,xl:!1,lt_sm:!1,lt_md:!1,lt_lg:!0,lt_xl:!0,gt_xs:!0,gt_sm:!0,gt_md:!1,gt_lg:!1},T={xs:!1,sm:!0,md:!1,lg:!1,xl:!1,lt_sm:!1,lt_md:!0,lt_lg:!0,lt_xl:!0,gt_xs:!0,gt_sm:!1,gt_md:!1,gt_lg:!1},$={xs:!0,sm:!1,md:!1,lg:!1,xl:!1,lt_sm:!0,lt_md:!0,lt_lg:!0,lt_xl:!0,gt_xs:!1,gt_sm:!1,gt_md:!1,gt_lg:!1},B=function(){function e(e){this.store=e,this.screenQuery=window.matchMedia("screen"),this.screenQueryListener=function(){},this.upperXsQuery=window.matchMedia("(max-width: 599px)"),this.xsQueryListener=this.screenXsConditional(),this.lowerSmQuery=window.matchMedia("(min-width: 600px)"),this.upperSmQuery=window.matchMedia("(max-width: 959px)"),this.smQueryListener=this.screenSmConditional(),this.lowerMdQuery=window.matchMedia("(min-width: 960px)"),this.upperMdQuery=window.matchMedia("(max-width: 1279px)"),this.mdQueryListener=this.screenMdConditional(),this.lowerLgQuery=window.matchMedia("(min-width: 1280px)"),this.upperLgQuery=window.matchMedia("(max-width: 1919px)"),this.lgQueryListener=this.screenLgConditional(),this.lowerXlQuery=window.matchMedia("(min-width: 1920px)"),this.upperXlQuery=window.matchMedia("(max-width: 5000px)"),this.xlQueryListener=this.screenXlConditional()}return e.prototype.ngOnInit=function(){void 0!==window.matchMedia("(min-width: 0px)").addEventListener?(this.screenQuery.addEventListener("change",this.screenQueryListener),this.upperXsQuery.addEventListener("change",this.xsQueryListener),this.lowerSmQuery.addEventListener("change",this.smQueryListener),this.upperSmQuery.addEventListener("change",this.smQueryListener),this.lowerMdQuery.addEventListener("change",this.mdQueryListener),this.upperMdQuery.addEventListener("change",this.mdQueryListener),this.lowerLgQuery.addEventListener("change",this.lgQueryListener),this.upperLgQuery.addEventListener("change",this.lgQueryListener),this.lowerXlQuery.addEventListener("change",this.xlQueryListener),this.upperXlQuery.addEventListener("change",this.xlQueryListener)):(this.screenQuery.addListener(this.screenQueryListener),this.upperXsQuery.addListener(this.xsQueryListener),this.lowerSmQuery.addListener(this.smQueryListener),this.upperSmQuery.addListener(this.smQueryListener),this.lowerMdQuery.addListener(this.mdQueryListener),this.upperMdQuery.addListener(this.mdQueryListener),this.lowerLgQuery.addListener(this.lgQueryListener),this.upperLgQuery.addListener(this.lgQueryListener),this.lowerXlQuery.addListener(this.xlQueryListener),this.upperXlQuery.addListener(this.xlQueryListener)),this.initializeState()},e.prototype.ngOnDestroy=function(){void 0!==window.matchMedia("(min-width: 0px)").removeEventListener?(this.screenQuery.removeEventListener("change",this.screenQueryListener),this.upperXsQuery.removeEventListener("change",this.xsQueryListener),this.lowerSmQuery.removeEventListener("change",this.smQueryListener),this.upperSmQuery.removeEventListener("change",this.smQueryListener),this.lowerMdQuery.removeEventListener("change",this.mdQueryListener),this.upperMdQuery.removeEventListener("change",this.mdQueryListener),this.lowerLgQuery.removeEventListener("change",this.lgQueryListener),this.upperLgQuery.removeEventListener("change",this.lgQueryListener),this.lowerXlQuery.removeEventListener("change",this.xlQueryListener),this.upperXlQuery.removeEventListener("change",this.xlQueryListener)):(this.screenQuery.removeListener(this.screenQueryListener),this.upperXsQuery.removeListener(this.xsQueryListener),this.lowerSmQuery.removeListener(this.smQueryListener),this.upperSmQuery.removeListener(this.smQueryListener),this.lowerMdQuery.removeListener(this.mdQueryListener),this.upperMdQuery.removeListener(this.mdQueryListener),this.lowerLgQuery.removeListener(this.lgQueryListener),this.upperLgQuery.removeListener(this.lgQueryListener),this.lowerXlQuery.removeListener(this.xlQueryListener),this.upperXlQuery.removeListener(this.xlQueryListener))},e.prototype.dispatchMediaQuery=function(){var e=(new Date).getTime().toString();this.store.dispatch(y({mediaQuery:{id:e,query:this.currentMediaQuery}})),this.store.dispatch(c({id:e}))},e.prototype.screenXsConditional=function(){var e=this;return function(){e.screenQuery.matches&&e.upperXsQuery.matches&&e.notifyStoreScreenWidthXs()}},e.prototype.notifyStoreScreenWidthXs=function(){this.currentMediaQuery=$,this.dispatchMediaQuery()},e.prototype.screenSmConditional=function(){var e=this;return function(){e.screenQuery.matches&&e.lowerSmQuery.matches&&e.upperSmQuery.matches&&e.notifyStoreScreenWidthSm()}},e.prototype.notifyStoreScreenWidthSm=function(){this.currentMediaQuery=T,this.dispatchMediaQuery()},e.prototype.screenMdConditional=function(){var e=this;return function(){e.screenQuery.matches&&e.lowerMdQuery.matches&&e.upperMdQuery.matches&&e.notifyStoreScreenWidthMd()}},e.prototype.notifyStoreScreenWidthMd=function(){this.currentMediaQuery=F,this.dispatchMediaQuery()},e.prototype.screenLgConditional=function(){var e=this;return function(){e.screenQuery.matches&&e.lowerLgQuery.matches&&e.upperLgQuery.matches&&e.notifyStoreScreenWidthLg()}},e.prototype.notifyStoreScreenWidthLg=function(){this.currentMediaQuery=q,this.dispatchMediaQuery()},e.prototype.screenXlConditional=function(){var e=this;return function(){e.screenQuery.matches&&e.lowerXlQuery.matches&&e.upperXlQuery.matches&&e.notifyStoreScreenWidthXl()}},e.prototype.notifyStoreScreenWidthXl=function(){this.currentMediaQuery=U,this.dispatchMediaQuery()},e.prototype.initializeState=function(){window.screen&&window.innerWidth<600?this.notifyStoreScreenWidthXs():window.screen&&window.innerWidth<960&&window.innerWidth>=600?this.notifyStoreScreenWidthSm():window.screen&&window.innerWidth<1280&&window.innerWidth>=960?this.notifyStoreScreenWidthMd():window.screen&&window.innerWidth<1920&&window.innerWidth>=960?this.notifyStoreScreenWidthLg():window.screen&&this.notifyStoreScreenWidthXl()},e}();B.decorators=[{type:r.Directive,args:[{selector:"[libNgxMediaQuery]"}]}],B.ctorParameters=function(){return[{type:t.Store}]};var k=function(){function e(e){var r=this;this.actions$=e,this.loadMediaQueries$=n.createEffect((function(){return r.actions$.pipe(n.ofType(d),s.map((function(){var e=r.loadMediaQueries();return a({mediaQueries:e})})),s.catchError((function(e){return console.error("Error",e),u.of(l({error:e}))})))}),{dispatch:!0,resubscribeOnError:!1})}return e.prototype.loadMediaQueries=function(){return[]},e}();k.decorators=[{type:r.Injectable}],k.ctorParameters=function(){return[{type:n.Actions}]};var z=function(){};z.decorators=[{type:r.NgModule,args:[{declarations:[D,B],imports:[t.StoreModule.forFeature(S,E),n.EffectsModule.forFeature([k])],exports:[D]}]}],e.NgxMediaQueryComponent=D,e.NgxMediaQueryModule=z,e.NgxMediaQueryService=C,e.nullMediaQuery={xs:null,sm:null,md:null,lg:null,xl:null,lt_sm:null,lt_md:null,lt_lg:null,lt_xl:null,gt_xs:null,gt_sm:null,gt_md:null,gt_lg:null},e.screenWidthLg=q,e.screenWidthMd=F,e.screenWidthSm=T,e.screenWidthXl=U,e.screenWidthXs=$,e.ɵa=B,e.ɵb=S,e.ɵc=_,e.ɵd=A,e.ɵe=E,e.ɵg=d,e.ɵh=a,e.ɵi=c,e.ɵj=l,e.ɵk=y,e.ɵl=h,e.ɵm=p,e.ɵn=Q,e.ɵo=m,e.ɵp=g,e.ɵq=M,e.ɵr=f,e.ɵs=L,e.ɵt=x,e.ɵu=v,e.ɵv=w,e.ɵw=k,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=scriptloom-ngx-media-query.umd.min.js.map