{"version":3,"sources":["../../../src/mixins/positionable/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;AACA;;;;AAGA,IAAM,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;;AAcM,SAAU,OAAV,GAAuC;AAAA,MAApB,QAAoB,uEAAF,EAAE;AAC3C,SAAO,aAAI,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,cADU;AAEhB,IAAA,KAAK,EAAE,QAAQ,CAAC,MAAT,GAAkB,iCAAmB,cAAnB,EAAmC,QAAnC,CAAlB,GAAiE;AAFxD,GAAX,CAAP;AAID;;eAEc,OAAO,E,EAEtB;;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"}