UNPKG

2.44 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/Interactions.ts"],"names":["InteractionKey","Interactions","interaction","interactions","_interactions","Object","entries","reduce","acc","name","query","onlyMatch","includes","keys"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEYA,c;AAIZ;;;;;;;WAJYA,c;AAAAA,EAAAA,c;GAAAA,c,8BAAAA,c;;IAQCC,Y;;;;;gCACQ;AACjB,aAAO,CAACD,cAAc,CAACE,WAAhB,CAAP;AACD;;;AAID,wBAAYC,YAAZ,EAAsD;AAAA;;AAAA;;AACpD,SAAKC,aAAL,GAAqBD,YAArB;AACD;;;;iCAEmB;AAClB,aAAOE,MAAM,CAACC,OAAP,CAAe,KAAKF,aAApB,EAAmCG,MAAnC,CACL,UAACC,GAAD,QAAkC;AAAA;AAAA,YAAjBC,IAAiB;AAAA,YAAXC,KAAW;;AAChC,kCACKF,GADL,UAEE,0BACE,4BAAgBR,cAAc,CAACE,WAA/B,EAA4CO,IAA5C,CADF,EAEEC,KAFF,CAFF;AAOD,OATI,EAUL,EAVK,CAAP;AAYD;;;2CAcCR,W,EACAS,S,EACS;AACT,aAAO,CAAC,EAAEA,SAAS,IAAIA,SAAS,CAACC,QAAV,CAAmBV,WAAnB,CAAf,CAAR;AACD;;;wBAhByB;AACxB,aAAOG,MAAM,CAACQ,IAAP,CAAY,KAAKT,aAAjB,CAAP;AACD;;;wBAE0C;AACzC,aAAOC,MAAM,CAACC,OAAP,CAAe,KAAKF,aAApB,EAAmCG,MAAnC,CACL,UAACC,GAAD;AAAA;AAAA,YAAOC,IAAP;AAAA,YAAaC,KAAb;;AAAA,iCAA8BF,GAA9B,sBAAoCC,IAApC,EAA2CC,KAA3C;AAAA,OADK,EAEL,EAFK,CAAP;AAID","sourcesContent":["import { createClassName, createRuleSet } from \"./Utils\"\n\nexport enum InteractionKey {\n interaction = \"interaction\",\n}\n\n/**\n * Encapsulates all interaction data needed by the Media component. The data is\n * generated on initialization so no further runtime work is necessary.\n */\nexport class Interactions {\n static validKeys() {\n return [InteractionKey.interaction]\n }\n\n private _interactions: { [key: string]: string }\n\n constructor(interactions: { [name: string]: string }) {\n this._interactions = interactions\n }\n\n public toRuleSets() {\n return Object.entries(this._interactions).reduce(\n (acc: string[], [name, query]) => {\n return [\n ...acc,\n createRuleSet(\n createClassName(InteractionKey.interaction, name),\n query\n ),\n ]\n },\n []\n )\n }\n\n public get interactions() {\n return Object.keys(this._interactions)\n }\n\n public get dynamicResponsiveMediaQueries() {\n return Object.entries(this._interactions).reduce(\n (acc, [name, query]) => ({ ...acc, [name]: query }),\n {}\n )\n }\n\n public shouldRenderMediaQuery(\n interaction: string,\n onlyMatch: string[]\n ): boolean {\n return !!(onlyMatch && onlyMatch.includes(interaction))\n }\n}\n"],"file":"Interactions.js"}
\No newline at end of file