{"version":3,"sources":["../../../src/mixins/positionable/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAgB,KAAhB;AACA,SAAS,kBAAT,QAAmC,oBAAnC;AAGA,MAAM,cAAc,GAAG;AACrB,EAAA,QAAQ,EAAE,OADW;AAErB,EAAA,MAAM,EAAE,OAFa;AAGrB,EAAA,KAAK,EAAE,OAHc;AAIrB,EAAA,IAAI,EAAE,OAJe;AAKrB,EAAA,KAAK,EAAE,OALc;AAMrB,EAAA,GAAG,EAAE;AANgB,CAAvB;AAcA,OAAM,SAAU,OAAV,CAAmB,QAAA,GAAkB,EAArC,EAAuC;AAC3C,SAAO,GAAG,CAAC,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,cADU;AAEhB,IAAA,KAAK,EAAE,QAAQ,CAAC,MAAT,GAAkB,kBAAkB,CAAC,cAAD,EAAiB,QAAjB,CAApC,GAAiE;AAFxD,GAAX,CAAP;AAID;AAED,eAAe,OAAO,EAAtB,C,CAEA;;AACA","sourcesContent":["import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record\n\nexport type Positionable = VueConstructor\n\nexport function factory (selected?: S[]): Positionable\nexport function factory (selected: undefined): OptionsVue\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n"],"sourceRoot":"","file":"index.js"}