UNPKG

vuestic-ui

Version:
40 lines (39 loc) 1.3 kB
import { c as camelCaseToKebabCase } from "../../utils/text-case.mjs"; import { defineCustomElement } from "vue"; const componentsOrder = [ "VaConfig", // VaConfig should be registered before any component, because it provides them config "VaForm", // VaForm registered before any component, but not before VaConfig "VaAccordion", "VaFileUpload", "VaSidebar", "VaTabs" ]; const registerVuesticWebComponentsEssential = (options) => { const { css, components } = options; Object.entries(components).sort(([nameA], [nameB]) => { if (!componentsOrder.includes(nameA) && !componentsOrder.includes(nameB)) { return 0; } let indexA = componentsOrder.indexOf(nameA); let indexB = componentsOrder.indexOf(nameB); if (indexA === -1) { indexA = Number.MAX_SAFE_INTEGER; } if (indexB === -1) { indexB = Number.MAX_SAFE_INTEGER; } return indexA - indexB; }).forEach(([name, component]) => { const customElement = defineCustomElement(component); if (css && "styles" in component) { component.styles.push(css); } customElements.define(`${camelCaseToKebabCase(name)}`, customElement); }); }; export { registerVuesticWebComponentsEssential as r }; //# sourceMappingURL=register-vuestic-web-components-essential.mjs.map