{"version":3,"sources":["node_modules/@sydle/sydle-ui/dist/collection/components/context/consumer/consumes-decorator.js"],"names":["Consumes","context","target","propertyKey","contextKey","componentWillLoad","connectedCallback","disconnectedCallback","__syContextConsumesKeys","find","el","push","__syContextConsumesMount","element","getHostElement","this","__syContextConsumesElements","forEach","key","changeValue","newValue","dispatchEvent","CustomEvent","detail","bubbles","composed","__syContextConsumesWrapped","async","hookReturn","call","_a","_b","unsubscribe","component","getElement","e"],"mappings":"oCACO,SAASA,EAASC,GACvB,MAAO,CAACC,EAAQC,KACd,MAAMC,EAAaH,IAAY,MAAQA,SAAiB,EAAIA,EAAUE,EACtE,MAAME,kBAAEA,EAAiBC,kBAAEA,EAAiBC,qBAAEA,GAAyBL,EACvEA,EAAOM,wBAA0BN,EAAOM,yBAA2B,GACnE,IAAKN,EAAOM,wBAAwBC,MAAKC,GAAMA,EAAGN,YAAcA,IAAa,CAC3EF,EAAOM,wBAAwBG,KAAK,CAAEP,WAAAA,EAAYD,YAAAA,IAEpDD,EAAOU,yBAA2B,WAChC,MAAMC,EAAUC,EAAeC,MAC/BA,KAAKC,4BAA8BD,KAAKC,6BAA+B,GACvED,KAAKP,wBAAwBS,SAAQC,IACnC,IAAKH,KAAKC,4BAA4BE,EAAId,YAAa,CACrDW,KAAKC,4BAA4BE,EAAId,YAAc,CACjDc,IAAAA,EACAC,YAAaC,IACXL,KAAKG,EAAIf,aAAeiB,QAKhCL,KAAKP,wBAAwBS,SAAQC,IACnCL,IAAY,MAAQA,SAAiB,OAAS,EAAIA,EAAQQ,cAAc,IAAIC,YAAY,gCAAiC,CACvHC,OAAQ,CACNtB,QAASiB,EAAId,WACbM,GAAIK,KAAKC,4BAA4BE,EAAId,aAE3CoB,QAAS,KACTC,SAAU,YAIhB,IAAKvB,EAAOwB,2BAA4B,CACtCxB,EAAOwB,2BAA6B,KACpCxB,EAAOG,kBAAoBsB,iBACzB,MAAMC,EAAavB,GAAqBA,EAAkBwB,KAAKd,MAC/DA,KAAKH,2BACL,OAAOgB,GAET1B,EAAOI,kBAAoBqB,iBACzB,MAAMC,EAAatB,GAAqBA,EAAkBuB,KAAKd,MAC/DA,KAAKH,2BACL,OAAOgB,GAET1B,EAAOK,qBAAuBoB,iBAC5B,MAAMC,EAAarB,GAAwBA,EAAqBsB,KAAKd,MACrEA,KAAKP,wBAAwBS,SAAQC,IACnC,IAAIY,EAAIC,EACR,IAAKD,EAAKf,KAAKC,4BAA4BE,EAAId,eAAiB,MAAQ0B,SAAY,OAAS,EAAIA,EAAGE,YAAa,EAC9GD,EAAKhB,KAAKC,4BAA4BE,EAAId,eAAiB,MAAQ2B,SAAY,OAAS,EAAIA,EAAGC,kBAGpG,OAAOJ,KAKR,SAASd,EAAemB,GAC7B,IACE,OAAOC,EAAWD,GAEpB,MAAOE,GACL,OAAO","sourcesContent":["import { getElement } from '@stencil/core';\nexport function Consumes(context) {\n return (target, propertyKey) => {\n const contextKey = context !== null && context !== void 0 ? context : propertyKey;\n const { componentWillLoad, connectedCallback, disconnectedCallback } = target;\n target.__syContextConsumesKeys = target.__syContextConsumesKeys || [];\n if (!target.__syContextConsumesKeys.find(el => el.contextKey == contextKey)) {\n target.__syContextConsumesKeys.push({ contextKey, propertyKey });\n }\n target.__syContextConsumesMount = function () {\n const element = getHostElement(this);\n this.__syContextConsumesElements = this.__syContextConsumesElements || {};\n this.__syContextConsumesKeys.forEach(key => {\n if (!this.__syContextConsumesElements[key.contextKey]) {\n this.__syContextConsumesElements[key.contextKey] = {\n key,\n changeValue: newValue => {\n this[key.propertyKey] = newValue;\n },\n };\n }\n });\n this.__syContextConsumesKeys.forEach(key => {\n element === null || element === void 0 ? void 0 : element.dispatchEvent(new CustomEvent('syContextConsumerDidSubscribe', {\n detail: {\n context: key.contextKey,\n el: this.__syContextConsumesElements[key.contextKey],\n },\n bubbles: true,\n composed: true,\n }));\n });\n };\n if (!target.__syContextConsumesWrapped) {\n target.__syContextConsumesWrapped = true;\n target.componentWillLoad = async function () {\n const hookReturn = componentWillLoad && componentWillLoad.call(this);\n this.__syContextConsumesMount();\n return hookReturn;\n };\n target.connectedCallback = async function () {\n const hookReturn = connectedCallback && connectedCallback.call(this);\n this.__syContextConsumesMount();\n return hookReturn;\n };\n target.disconnectedCallback = async function () {\n const hookReturn = disconnectedCallback && disconnectedCallback.call(this);\n this.__syContextConsumesKeys.forEach(key => {\n var _a, _b;\n if ((_a = this.__syContextConsumesElements[key.contextKey]) === null || _a === void 0 ? void 0 : _a.unsubscribe) {\n (_b = this.__syContextConsumesElements[key.contextKey]) === null || _b === void 0 ? void 0 : _b.unsubscribe();\n }\n });\n return hookReturn;\n };\n }\n };\n}\nexport function getHostElement(component) {\n try {\n return getElement(component);\n }\n catch (e) {\n return null;\n }\n}\n"]}