UNPKG

vuestic-ui

Version:
1 lines 2.15 kB
{"version":3,"file":"createAttrs.mjs","sources":["../../../../../src/services/config-transport/createAttrs.ts"],"sourcesContent":["import { ComponentInternalInstance, Ref, normalizeClass, normalizeStyle } from 'vue'\nimport { Props } from './shared'\n\nexport const createAttrs = (instance: ComponentInternalInstance, propsFromConfig: Ref<Props>) => {\n // Instance.attrs will be patched later, so we save original object here to prevent recursion\n const instanceAttrs = instance.attrs\n\n return new Proxy(instanceAttrs, {\n get: (target, key: string) => {\n if (typeof key !== 'string') { return target[key] }\n\n if (key === 'class') {\n return normalizeClass([propsFromConfig.value.class, instanceAttrs.class])\n }\n\n if (key === 'style') {\n return normalizeStyle([propsFromConfig.value.style, instanceAttrs.style])\n }\n\n const attrFromConfig = propsFromConfig.value?.[key]\n\n if (attrFromConfig !== undefined) {\n return attrFromConfig\n }\n\n return target[key]\n },\n ownKeys (target) {\n // TODO: Optimize\n return [...new Set([...Object.keys(instanceAttrs), ...Object.keys(propsFromConfig.value)])]\n },\n getOwnPropertyDescriptor (target, key) {\n return Reflect.getOwnPropertyDescriptor(propsFromConfig.value, key) ?? Reflect.getOwnPropertyDescriptor(instanceAttrs, key)\n },\n })\n}\n"],"names":[],"mappings":";AAGa,MAAA,cAAc,CAAC,UAAqC,oBAAgC;AAE/F,QAAM,gBAAgB,SAAS;AAExB,SAAA,IAAI,MAAM,eAAe;AAAA,IAC9B,KAAK,CAAC,QAAQ,QAAgB;;AACxB,UAAA,OAAO,QAAQ,UAAU;AAAE,eAAO,OAAO,GAAG;AAAA,MAAE;AAElD,UAAI,QAAQ,SAAS;AACnB,eAAO,eAAe,CAAC,gBAAgB,MAAM,OAAO,cAAc,KAAK,CAAC;AAAA,MAC1E;AAEA,UAAI,QAAQ,SAAS;AACnB,eAAO,eAAe,CAAC,gBAAgB,MAAM,OAAO,cAAc,KAAK,CAAC;AAAA,MAC1E;AAEM,YAAA,kBAAiB,qBAAgB,UAAhB,mBAAwB;AAE/C,UAAI,mBAAmB,QAAW;AACzB,eAAA;AAAA,MACT;AAEA,aAAO,OAAO,GAAG;AAAA,IACnB;AAAA,IACA,QAAS,QAAQ;AAEf,aAAO,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,aAAa,GAAG,GAAG,OAAO,KAAK,gBAAgB,KAAK,CAAC,CAAC,CAAC;AAAA,IAC5F;AAAA,IACA,yBAA0B,QAAQ,KAAK;AAC9B,aAAA,QAAQ,yBAAyB,gBAAgB,OAAO,GAAG,KAAK,QAAQ,yBAAyB,eAAe,GAAG;AAAA,IAC5H;AAAA,EAAA,CACD;AACH;"}