{"version":3,"sources":["../../src/mixins/positionable.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAgB,KAAhB;AACA,SAAS,kBAAT,QAAmC,iBAAnC;AAGA,IAAM,iBAAiB;AACrB,YAAU,OADW;AAErB,UAAQ,OAFa;AAGrB,SAAO,OAHc;AAIrB,QAAM,OAJe;AAKrB,SAAO,OALc;AAMrB,OAAK;AANgB,CAAvB;AAcA,OAAM,SAAU,OAAV,GAAuC;AAAA,MAApB,QAAoB,uEAAF,EAAE;;AAC3C,SAAO,IAAI,MAAJ,CAAW;AAChB,UAAM,cADU;AAEhB,WAAO,SAAS,MAAT,GAAkB,mBAAmB,cAAnB,EAAmC,QAAnC,CAAlB,GAAiE;AAFxD,GAAX,CAAP;AAID;AAED,eAAe,SAAf;AAEA;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":""}