@robosophy/ui-vue 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/RsIcon/RsIcon.vue","../src/components/RsIcon/index.ts","../src/components/RsAccountSelector/RsAccountSelector.vue","../src/components/RsSidebar/RsSidebar.vue","../src/plugin.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport type { RsIconProps } from \"./RsIcon.types\";\n\ndefineOptions({\n name: \"RsIcon\",\n});\n\nconst props = withDefaults(defineProps<RsIconProps>(), {\n color: \"inherit\",\n family: \"outlined\",\n fill: false,\n grade: 0,\n interactive: false,\n size: \"md\",\n weight: 400,\n});\n\nconst rootClass = computed(() => [\n \"rs-icon\",\n `rs-icon--${props.family}`,\n `rs-icon--${props.color}`,\n {\n \"rs-icon--interactive\": props.interactive,\n \"rs-icon--sm\": props.size === \"sm\",\n \"rs-icon--md\": props.size === \"md\",\n \"rs-icon--lg\": props.size === \"lg\",\n },\n]);\n\nconst rootStyle = computed(() => ({\n \"--rs-icon-fill\": props.fill ? 1 : 0,\n \"--rs-icon-grade\": props.grade,\n \"--rs-icon-optical-size\": props.opticalSize,\n \"--rs-icon-size\": typeof props.size === \"number\" ? `${props.size}px` : undefined,\n \"--rs-icon-weight\": props.weight,\n}));\n\nconst ariaHidden = computed(() => (props.ariaLabel ? undefined : \"true\"));\nconst role = computed(() => (props.ariaLabel ? \"img\" : undefined));\n</script>\n\n<template>\n <span\n :aria-hidden=\"ariaHidden\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n :role=\"role\"\n :style=\"rootStyle\"\n >\n {{ name }}\n </span>\n</template>\n\n<style src=\"./RsIcon.css\"></style>\n","import \"./RsIcon.css\";\n\nimport type { RsIconFamily, RsPrimeIconOptions } from \"./RsIcon.types\";\n\nconst iconNamePattern = /^[a-z0-9_]+$/;\n\nexport function rsPrimeIcon(name: string, options: RsPrimeIconOptions = {}) {\n const family: RsIconFamily = options.family ?? \"outlined\";\n const normalizedName = name.trim();\n\n if (!iconNamePattern.test(normalizedName)) {\n throw new Error(`Invalid Material Symbols icon name: \"${name}\"`);\n }\n\n return `rs-icon rs-icon--prime rs-icon--${family} rs-icon-${normalizedName}`;\n}\n\nexport { default } from \"./RsIcon.vue\";\nexport type {\n RsIconColor,\n RsIconFamily,\n RsIconProps,\n RsIconSize,\n RsIconWeight,\n RsPrimeIconOptions,\n} from \"./RsIcon.types\";\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport Button from \"primevue/button\";\n\nimport RsIcon from \"../RsIcon\";\nimport type {\n RsAccountSelectorAccount,\n RsAccountSelectorAction,\n RsAccountSelectorProps,\n} from \"./RsAccountSelector.types\";\n\ndefineOptions({\n name: \"RsAccountSelector\",\n});\n\nconst props = withDefaults(defineProps<RsAccountSelectorProps>(), {\n accounts: () => [],\n actions: () => [],\n activeText: \"Activo en pantalla\",\n emptyText: \"No hay cuentas disponibles\",\n footerActions: () => [],\n loading: false,\n modelValue: null,\n selectText: \"Ingresar\",\n triggerAriaLabel: \"Abrir selector de cuenta\",\n width: \"270px\",\n});\n\nconst emit = defineEmits<{\n \"select-account\": [account: RsAccountSelectorAccount];\n action: [action: RsAccountSelectorAction];\n \"footer-action\": [action: RsAccountSelectorAction];\n \"update:modelValue\": [open: boolean];\n open: [];\n close: [];\n}>();\n\nconst rootRef = ref<HTMLElement | null>(null);\nconst panelRef = ref<HTMLElement | null>(null);\nconst internalOpen = ref(false);\nconst panelAlignment = ref<\"left\" | \"right\">(\"right\");\nconst panelStyle = ref<Record<string, string>>({});\nlet scrollRAF: number | null = null;\n\nconst isControlled = computed(() => props.modelValue !== null);\nconst isOpen = computed(() =>\n isControlled.value ? Boolean(props.modelValue) : internalOpen.value,\n);\nconst rootStyle = computed(() => ({\n \"--rs-account-selector-width\": props.width,\n}));\n\nconst computedTitle = computed(() => {\n if (props.title) {\n return props.title;\n }\n\n return props.accounts.length > 1\n ? `Acceso a ${props.accounts.length} Cuentas`\n : \"Acceso a\";\n});\n\nconst visibleActions = computed(() =>\n props.actions.filter((action) => action.visible !== false),\n);\nconst visibleFooterActions = computed(() =>\n props.footerActions.filter((action) => action.visible !== false),\n);\nconst shouldShowAccounts = computed(() => props.accounts.length > 1);\nconst profileAction: RsAccountSelectorAction = {\n id: \"profile\",\n label: \"Ver mi perfil\",\n};\n\nfunction headerButtonProps(action: RsAccountSelectorAction) {\n return action.variant === \"danger\"\n ? { severity: \"danger\" as const, outlined: true, rounded: true }\n : { severity: \"secondary\" as const, outlined: true, rounded: true };\n}\n\nfunction footerButtonProps(action: RsAccountSelectorAction) {\n return action.variant === \"danger\"\n ? { severity: \"danger\" as const, text: true }\n : { severity: \"secondary\" as const, text: true };\n}\n\nfunction emitAction(action: RsAccountSelectorAction) {\n if (!action.disabled) {\n emit(\"action\", action);\n closeSelector();\n }\n}\n\nfunction emitFooterAction(action: RsAccountSelectorAction) {\n if (!action.disabled) {\n emit(\"footer-action\", action);\n closeSelector();\n }\n}\n\nfunction selectAccount(account: RsAccountSelectorAccount) {\n if (!account.active && !account.disabled) {\n emit(\"select-account\", account);\n closeSelector();\n }\n}\n\nfunction getInitials(initials?: string) {\n return (initials?.trim() || \"?\").slice(0, 3);\n}\n\nfunction setOpen(nextOpen: boolean) {\n if (!isControlled.value) {\n internalOpen.value = nextOpen;\n }\n\n emit(\"update:modelValue\", nextOpen);\n\n if (nextOpen) {\n emit(\"open\");\n } else {\n emit(\"close\");\n }\n}\n\nfunction toggleSelector() {\n setOpen(!isOpen.value);\n}\n\nfunction closeSelector() {\n if (isOpen.value) {\n setOpen(false);\n }\n}\n\nfunction updatePanelPosition() {\n const root = rootRef.value;\n const panel = panelRef.value;\n\n if (!root || !panel) {\n return;\n }\n\n const viewportWidth = window.innerWidth;\n const viewportPadding = 16;\n const rootRect = root.getBoundingClientRect();\n const panelRect = panel.getBoundingClientRect();\n const fitsRight = rootRect.left + panelRect.width <= viewportWidth - viewportPadding;\n\n panelAlignment.value = fitsRight ? \"left\" : \"right\";\n\n panelStyle.value = {\n position: \"fixed\",\n top: `${rootRect.bottom + 8}px`,\n left: fitsRight ? `${rootRect.left}px` : `${rootRect.right - panelRect.width}px`,\n \"--rs-account-selector-width\": props.width,\n };\n}\n\nfunction handleWindowResize() {\n if (isOpen.value) {\n void updatePanelPosition();\n }\n}\n\nfunction handleScroll() {\n if (isOpen.value) {\n if (scrollRAF === null) {\n scrollRAF = window.requestAnimationFrame(() => {\n scrollRAF = null;\n void updatePanelPosition();\n });\n }\n }\n}\n\nfunction handleDocumentPointerDown(event: PointerEvent) {\n const target = event.target;\n\n if (\n target instanceof Node &&\n rootRef.value &&\n !rootRef.value.contains(target) &&\n !panelRef.value?.contains(target)\n ) {\n closeSelector();\n }\n}\n\nonMounted(() => {\n document.addEventListener(\"pointerdown\", handleDocumentPointerDown);\n window.addEventListener(\"resize\", handleWindowResize);\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n\n if (isOpen.value) {\n void updatePanelPosition();\n }\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", handleDocumentPointerDown);\n window.removeEventListener(\"resize\", handleWindowResize);\n window.removeEventListener(\"scroll\", handleScroll);\n\n if (scrollRAF !== null) {\n cancelAnimationFrame(scrollRAF);\n }\n});\n\nwatch(isOpen, (open) => {\n if (open) {\n void nextTick().then(updatePanelPosition);\n }\n});\n</script>\n\n<template>\n <div ref=\"rootRef\" class=\"rs-account-selector-host\" :style=\"rootStyle\">\n <Button\n :aria-expanded=\"isOpen\"\n :aria-label=\"triggerAriaLabel\"\n aria-haspopup=\"menu\"\n :class=\"[\n 'rs-account-selector__trigger',\n { 'rs-account-selector__trigger--open': isOpen },\n ]\"\n text\n @click.stop=\"toggleSelector\"\n >\n <RsIcon\n class=\"rs-account-selector__trigger-chevron\"\n family=\"rounded\"\n name=\"arrow_drop_down\"\n :size=\"22\"\n />\n <slot name=\"trigger-avatar\" :user=\"user\">\n <span class=\"rs-account-selector__trigger-avatar\">\n <img\n v-if=\"user.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.avatarSrc\"\n :alt=\"user.name || user.email\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(user.initials) }}\n </span>\n </span>\n </slot>\n </Button>\n\n <Teleport to=\"body\" v-if=\"isOpen\">\n <section\n ref=\"panelRef\"\n :aria-busy=\"loading || undefined\"\n :class=\"[\n 'rs-account-selector',\n `rs-account-selector--align-${panelAlignment}`,\n ]\"\n :style=\"panelStyle\"\n >\n <header class=\"rs-account-selector__summary\">\n <slot name=\"user-avatar\" :user=\"user\">\n <span class=\"rs-account-selector__avatar-stack\">\n <span\n class=\"rs-account-selector__avatar rs-account-selector__avatar--lg\"\n >\n <img\n v-if=\"user.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.avatarSrc\"\n :alt=\"user.name || user.email\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(user.initials) }}\n </span>\n </span>\n <span\n v-if=\"user.secondaryAvatarSrc\"\n class=\"rs-account-selector__avatar rs-account-selector__avatar--lg rs-account-selector__secondary-avatar\"\n >\n <img\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.secondaryAvatarSrc\"\n :alt=\"user.name || user.email\"\n />\n </span>\n </span>\n </slot>\n\n <div class=\"rs-account-selector__user\">\n <p class=\"rs-account-selector__title\">{{ computedTitle }}</p>\n <p v-if=\"user.name\" class=\"rs-account-selector__name\">\n {{ user.name }}\n </p>\n <p class=\"rs-account-selector__email\">{{ user.email }}</p>\n </div>\n\n <slot name=\"actions\" :actions=\"visibleActions\">\n <div class=\"rs-account-selector__actions\">\n <template v-if=\"visibleActions.length > 0\">\n <Button\n v-for=\"action in visibleActions\"\n :key=\"action.id\"\n class=\"rs-account-selector__button\"\n :disabled=\"action.disabled\"\n size=\"small\"\n v-bind=\"headerButtonProps(action)\"\n @click.stop=\"emitAction(action)\"\n >\n <span>{{ action.label }}</span>\n <RsIcon v-if=\"action.icon\" :name=\"action.icon\" size=\"sm\" />\n </Button>\n </template>\n <Button\n v-else\n class=\"rs-account-selector__button rs-account-selector__profile-button\"\n severity=\"secondary\"\n outlined\n rounded\n size=\"small\"\n @click.stop=\"emitAction(profileAction)\"\n >\n Ver mi perfil\n </Button>\n </div>\n </slot>\n </header>\n\n <p v-if=\"loading\" class=\"rs-account-selector__state\">\n Cargando cuentas...\n </p>\n\n <slot v-else-if=\"accounts.length === 0\" name=\"empty\">\n <p class=\"rs-account-selector__state\">{{ emptyText }}</p>\n </slot>\n\n <div v-else-if=\"shouldShowAccounts\" class=\"rs-account-selector__accounts\">\n <Button\n v-for=\"account in accounts\"\n :key=\"account.id\"\n :class=\"[\n 'rs-account-selector__account',\n {\n 'rs-account-selector__account--active': account.active,\n 'rs-account-selector__account--disabled': account.disabled,\n },\n ]\"\n :disabled=\"account.active || account.disabled\"\n text\n severity=\"secondary\"\n @click.stop=\"selectAccount(account)\"\n >\n <slot name=\"account-avatar\" :account=\"account\">\n <span\n class=\"rs-account-selector__avatar rs-account-selector__avatar--sm rs-account-selector__account-avatar\"\n >\n <img\n v-if=\"account.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"account.avatarSrc\"\n :alt=\"account.label\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(account.initials) }}\n </span>\n </span>\n </slot>\n\n <span class=\"rs-account-selector__account-info\">\n <span class=\"rs-account-selector__account-label\">{{\n account.label\n }}</span>\n <span\n :class=\"[\n 'rs-account-selector__account-state',\n account.active\n ? 'rs-account-selector__account-state--active'\n : 'rs-account-selector__account-state--inactive',\n ]\"\n >\n {{ account.active ? activeText : selectText }}\n </span>\n </span>\n\n <span class=\"rs-account-selector__account-trailing\">\n <slot name=\"account-trailing\" :account=\"account\">\n <RsIcon name=\"login\" />\n </slot>\n </span>\n </Button>\n </div>\n\n <slot name=\"footer\" :actions=\"visibleFooterActions\">\n <footer\n v-if=\"visibleFooterActions.length > 0\"\n class=\"rs-account-selector__footer\"\n >\n <Button\n v-for=\"action in visibleFooterActions\"\n :key=\"action.id\"\n class=\"rs-account-selector__button\"\n :disabled=\"action.disabled\"\n size=\"small\"\n v-bind=\"footerButtonProps(action)\"\n @click.stop=\"emitFooterAction(action)\"\n >\n <span class=\"rs-account-selector__button-content\">\n <span>{{ action.label }}</span>\n <RsIcon v-if=\"action.icon\" :name=\"action.icon\" size=\"sm\" />\n </span>\n </Button>\n </footer>\n </slot>\n </section>\n </Teleport>\n </div>\n</template>\n\n<style src=\"./RsAccountSelector.css\"></style>\n","<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport Menu from \"primevue/menu\";\nimport type { MenuItem } from \"primevue/menuitem\";\n\nimport RsIcon from \"../RsIcon\";\nimport type { RsSidebarItem, RsSidebarModule, RsSidebarProps } from \"./RsSidebar.types\";\n\ndefineOptions({\n name: \"RsSidebar\",\n});\n\nconst props = withDefaults(defineProps<RsSidebarProps>(), {\n ariaLabel: \"Navegacion principal\",\n expandOnHover: true,\n expanded: false,\n footerItems: () => [],\n icon: \"nest_eco_leaf\",\n mobileOpen: false,\n modules: () => [],\n navigateOnModuleSelect: false,\n title: \"\",\n variant: \"cyo\",\n});\n\nconst emit = defineEmits<{\n \"item-click\": [item: RsSidebarItem];\n \"close-mobile\": [];\n \"expanded-change\": [expanded: boolean];\n \"module-select\": [module: RsSidebarModule];\n}>();\n\nconst isHovered = ref(false);\nconst activeParent = ref<RsSidebarItem | null>(null);\nconst isModuleMenuOpen = ref(false);\nconst rootElement = ref<HTMLElement | null>(null);\n\nconst visibleItems = computed(() => props.items.filter(isVisible));\nconst visibleFooterItems = computed(() => props.footerItems.filter(isVisible));\nconst visibleModules = computed(() => props.modules);\nconst activeModule = computed(\n () =>\n props.modules.find((module) => module.active) ??\n props.modules.find((module) => module.text === props.title) ??\n props.modules[0] ??\n null,\n);\nconst displayedHeaderTitle = computed(() => activeParent.value?.label || activeModule.value?.text || props.title);\nconst moduleMenuItems = computed<MenuItem[]>(() =>\n visibleModules.value.map((module) => ({\n class: [\n \"rs-sidebar__module-option\",\n {\n \"rs-sidebar__module-option--active\": module.active || module.text === displayedHeaderTitle.value,\n \"rs-sidebar__module-option--disabled\": module.disabled,\n },\n ],\n command: () => selectModule(module),\n disabled: module.disabled,\n label: module.text,\n })),\n);\n\nconst displayedItems = computed(() =>\n activeParent.value ? activeParent.value.children?.filter(isVisible) ?? [] : visibleItems.value,\n);\n\nconst isExpanded = computed(() => props.expanded || props.mobileOpen || isHovered.value);\nconst hasHeaderAction = computed(() => props.mobileOpen || !!activeParent.value);\nconst hasModuleSelector = computed(() => !activeParent.value && props.modules.length > 0);\n\nconst rootClass = computed(() => [\n \"rs-sidebar\",\n `rs-sidebar--${props.variant}`,\n {\n \"rs-sidebar--expanded\": isExpanded.value,\n \"rs-sidebar--mobile-open\": props.mobileOpen,\n \"rs-sidebar--submenu\": !!activeParent.value,\n },\n]);\n\nwatch(\n () => props.mobileOpen,\n (isOpen) => {\n if (!isOpen) {\n activeParent.value = null;\n }\n\n isModuleMenuOpen.value = false;\n },\n);\n\nwatch(isExpanded, (expanded) => {\n if (!expanded) {\n activeParent.value = null;\n }\n\n emit(\"expanded-change\", expanded);\n});\n\nwatch(\n () => activeParent.value,\n () => {\n isModuleMenuOpen.value = false;\n },\n);\n\nonMounted(() => {\n document.addEventListener(\"pointerdown\", handleDocumentPointerDown);\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", handleDocumentPointerDown);\n});\n\nfunction isVisible(item: RsSidebarItem) {\n return item.visible !== false;\n}\n\nfunction hasVisibleChildren(item: RsSidebarItem) {\n return (item.children ?? []).some(isVisible);\n}\n\nfunction setHovered(value: boolean) {\n if (!props.expandOnHover || props.mobileOpen) {\n return;\n }\n\n isHovered.value = value;\n if (!value) {\n isModuleMenuOpen.value = false;\n }\n}\n\nfunction handleItemClick(item: RsSidebarItem) {\n if (item.disabled) {\n return;\n }\n\n if (hasVisibleChildren(item)) {\n activeParent.value = item;\n return;\n }\n\n emit(\"item-click\", item);\n}\n\nfunction goBack() {\n activeParent.value = null;\n}\n\nfunction closeMobile() {\n activeParent.value = null;\n isModuleMenuOpen.value = false;\n emit(\"close-mobile\");\n}\n\nfunction toggleModuleMenu() {\n if (!hasModuleSelector.value || !isExpanded.value) {\n return;\n }\n\n isModuleMenuOpen.value = !isModuleMenuOpen.value;\n}\n\nfunction selectModule(module: RsSidebarModule) {\n if (module.disabled) {\n return;\n }\n\n isModuleMenuOpen.value = false;\n emit(\"module-select\", module);\n\n if (props.navigateOnModuleSelect && typeof window !== \"undefined\" && module.link) {\n window.location.href = module.link;\n }\n}\n\nfunction handleDocumentPointerDown(event: PointerEvent) {\n if (!isModuleMenuOpen.value || !rootElement.value) {\n return;\n }\n\n if (!rootElement.value.contains(event.target as Node)) {\n isModuleMenuOpen.value = false;\n }\n}\n</script>\n\n<template>\n <aside\n ref=\"rootElement\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n @mouseenter=\"setHovered(true)\"\n @mouseleave=\"setHovered(false)\"\n >\n <slot\n name=\"header\"\n :expanded=\"isExpanded\"\n :active-parent=\"activeParent\"\n :close-mobile=\"closeMobile\"\n :go-back=\"goBack\"\n >\n <header class=\"rs-sidebar__header\">\n <div\n :class=\"[\n 'rs-sidebar__brand',\n {\n 'rs-sidebar__brand--trigger': hasModuleSelector,\n },\n ]\"\n >\n <button\n v-if=\"hasModuleSelector\"\n class=\"rs-sidebar__module-trigger\"\n type=\"button\"\n :aria-expanded=\"isModuleMenuOpen\"\n aria-haspopup=\"menu\"\n @click=\"toggleModuleMenu\"\n >\n <RsIcon :name=\"icon\" />\n <span class=\"rs-sidebar__title\">{{ displayedHeaderTitle }}</span>\n <RsIcon\n class=\"rs-sidebar__module-chevron\"\n :name=\"isModuleMenuOpen ? 'arrow_drop_up' : 'arrow_drop_down'\"\n size=\"sm\"\n />\n </button>\n\n <template v-else>\n <RsIcon :name=\"icon\" />\n <span class=\"rs-sidebar__title\">{{ displayedHeaderTitle }}</span>\n </template>\n </div>\n\n <slot\n name=\"header-action\"\n :active-parent=\"activeParent\"\n :close-mobile=\"closeMobile\"\n :go-back=\"goBack\"\n >\n <button\n v-if=\"hasHeaderAction\"\n class=\"rs-sidebar__header-button\"\n type=\"button\"\n :aria-label=\"activeParent ? 'Volver' : 'Cerrar menu'\"\n @click=\"activeParent ? goBack() : closeMobile()\"\n >\n <RsIcon :name=\"activeParent ? 'arrow_left' : 'close'\" />\n </button>\n </slot>\n </header>\n\n <Menu\n v-if=\"hasModuleSelector && isModuleMenuOpen\"\n class=\"rs-sidebar__module-menu\"\n :model=\"moduleMenuItems\"\n :pt=\"{\n root: { role: 'menu' },\n }\"\n />\n </slot>\n\n <div class=\"rs-sidebar__content\">\n <nav class=\"rs-sidebar__nav\" aria-label=\"Secciones\">\n <ul class=\"rs-sidebar__list\">\n <li v-for=\"item in displayedItems\" :key=\"item.id\" class=\"rs-sidebar__list-item\">\n <button\n :class=\"[\n 'rs-sidebar__item',\n {\n 'rs-sidebar__item--active': item.active,\n 'rs-sidebar__item--disabled': item.disabled,\n 'rs-sidebar__item--parent': hasVisibleChildren(item),\n },\n ]\"\n type=\"button\"\n :disabled=\"item.disabled\"\n @click=\"handleItemClick(item)\"\n >\n <slot name=\"item\" :item=\"item\" :expanded=\"isExpanded\">\n <RsIcon\n v-if=\"item.icon\"\n class=\"rs-sidebar__item-icon\"\n :name=\"item.icon\"\n />\n <span class=\"rs-sidebar__item-label\">{{ item.label }}</span>\n <RsIcon\n v-if=\"hasVisibleChildren(item)\"\n class=\"rs-sidebar__item-chevron\"\n name=\"chevron_right\"\n size=\"sm\"\n />\n </slot>\n </button>\n </li>\n </ul>\n </nav>\n\n <slot name=\"footer\" :items=\"visibleFooterItems\" :expanded=\"isExpanded\">\n <nav\n v-if=\"visibleFooterItems.length > 0\"\n class=\"rs-sidebar__footer\"\n aria-label=\"Acciones secundarias\"\n >\n <ul class=\"rs-sidebar__list\">\n <li v-for=\"item in visibleFooterItems\" :key=\"item.id\" class=\"rs-sidebar__list-item\">\n <button\n :class=\"[\n 'rs-sidebar__item',\n 'rs-sidebar__item--footer',\n {\n 'rs-sidebar__item--active': item.active,\n 'rs-sidebar__item--disabled': item.disabled,\n },\n ]\"\n type=\"button\"\n :disabled=\"item.disabled\"\n @click=\"handleItemClick(item)\"\n >\n <RsIcon\n v-if=\"item.icon\"\n class=\"rs-sidebar__item-icon\"\n :name=\"item.icon\"\n />\n <span class=\"rs-sidebar__item-label\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </nav>\n </slot>\n </div>\n </aside>\n</template>\n\n<style src=\"./RsSidebar.css\"></style>\n","import type { App, Plugin } from \"vue\";\n\nimport RsAccountSelector from \"./components/RsAccountSelector\";\nimport RsIcon from \"./components/RsIcon\";\nimport RsSidebar from \"./components/RsSidebar\";\n\nexport const components = [RsAccountSelector, RsIcon, RsSidebar] as const;\n\nexport const RobosophyUiVue: Plugin = {\n install(app: App) {\n for (const component of components) {\n app.component(component.name ?? \"\", component);\n }\n },\n};\n\nexport default RobosophyUiVue;\n"],"names":["props","__props","rootClass","computed","rootStyle","ariaHidden","role","_createElementBlock","_hoisted_1","iconNamePattern","rsPrimeIcon","name","options","family","normalizedName","emit","__emit","rootRef","ref","panelRef","internalOpen","panelAlignment","panelStyle","scrollRAF","isControlled","isOpen","computedTitle","visibleActions","action","visibleFooterActions","shouldShowAccounts","profileAction","headerButtonProps","footerButtonProps","emitAction","closeSelector","emitFooterAction","selectAccount","account","getInitials","initials","setOpen","nextOpen","toggleSelector","updatePanelPosition","root","panel","viewportWidth","viewportPadding","rootRect","panelRect","fitsRight","handleWindowResize","handleScroll","handleDocumentPointerDown","event","target","onMounted","onBeforeUnmount","watch","open","nextTick","_createVNode","_unref","Button","_normalizeClass","RsIcon","_renderSlot","_ctx","_createElementVNode","_openBlock","_hoisted_3","_toDisplayString","_createBlock","_Teleport","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_Fragment","_renderList","_mergeProps","_withModifiers","$event","_cache","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isHovered","activeParent","isModuleMenuOpen","rootElement","visibleItems","isVisible","visibleFooterItems","visibleModules","activeModule","module","displayedHeaderTitle","moduleMenuItems","selectModule","displayedItems","isExpanded","hasHeaderAction","hasModuleSelector","expanded","item","hasVisibleChildren","setHovered","value","handleItemClick","goBack","closeMobile","toggleModuleMenu","_hoisted_2","_hoisted_4","Menu","_hoisted_8","_hoisted_11","components","RsAccountSelector","RsSidebar","RobosophyUiVue","app","component"],"mappings":";;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAURC,IAAYC,EAAS,MAAM;AAAA,MAC/B;AAAA,MACA,YAAYH,EAAM,MAAM;AAAA,MACxB,YAAYA,EAAM,KAAK;AAAA,MACvB;AAAA,QACE,wBAAwBA,EAAM;AAAA,QAC9B,eAAeA,EAAM,SAAS;AAAA,QAC9B,eAAeA,EAAM,SAAS;AAAA,QAC9B,eAAeA,EAAM,SAAS;AAAA,MAAA;AAAA,IAChC,CACD,GAEKI,IAAYD,EAAS,OAAO;AAAA,MAChC,kBAAkBH,EAAM,OAAO,IAAI;AAAA,MACnC,mBAAmBA,EAAM;AAAA,MACzB,0BAA0BA,EAAM;AAAA,MAChC,kBAAkB,OAAOA,EAAM,QAAS,WAAW,GAAGA,EAAM,IAAI,OAAO;AAAA,MACvE,oBAAoBA,EAAM;AAAA,IAAA,EAC1B,GAEIK,IAAaF,EAAS,MAAOH,EAAM,YAAY,SAAY,MAAO,GAClEM,IAAOH,EAAS,MAAOH,EAAM,YAAY,QAAQ,MAAU;2BAI/DO,EAQO,QAAA;AAAA,MAPJ,eAAaF,EAAA;AAAA,MACb,cAAYJ,EAAA;AAAA,MACZ,SAAOC,EAAA,KAAS;AAAA,MAChB,MAAMI,EAAA;AAAA,MACN,UAAOF,EAAA,KAAS;AAAA,IAAA,KAEdH,EAAA,IAAI,GAAA,IAAAO,EAAA;AAAA;IC/CLC,KAAkB;AAEjB,SAASC,GAAYC,GAAcC,IAA8B,IAAI;AAC1E,QAAMC,IAAuBD,EAAQ,UAAU,YACzCE,IAAiBH,EAAK,KAAA;AAE5B,MAAI,CAACF,GAAgB,KAAKK,CAAc;AACtC,UAAM,IAAI,MAAM,wCAAwCH,CAAI,GAAG;AAGjE,SAAO,mCAAmCE,CAAM,YAAYC,CAAc;AAC5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAMd,IAAQC,GAaRc,IAAOC,GASPC,IAAUC,EAAwB,IAAI,GACtCC,IAAWD,EAAwB,IAAI,GACvCE,IAAeF,EAAI,EAAK,GACxBG,IAAiBH,EAAsB,OAAO,GAC9CI,IAAaJ,EAA4B,EAAE;AACjD,QAAIK,IAA2B;AAE/B,UAAMC,IAAerB,EAAS,MAAMH,EAAM,eAAe,IAAI,GACvDyB,IAAStB;AAAA,MAAS,MACtBqB,EAAa,QAAQ,EAAQxB,EAAM,aAAcoB,EAAa;AAAA,IAAA,GAE1DhB,IAAYD,EAAS,OAAO;AAAA,MAChC,+BAA+BH,EAAM;AAAA,IAAA,EACrC,GAEI0B,IAAgBvB,EAAS,MACzBH,EAAM,QACDA,EAAM,QAGRA,EAAM,SAAS,SAAS,IAC3B,YAAYA,EAAM,SAAS,MAAM,aACjC,UACL,GAEK2B,IAAiBxB;AAAA,MAAS,MAC9BH,EAAM,QAAQ,OAAO,CAAC4B,MAAWA,EAAO,YAAY,EAAK;AAAA,IAAA,GAErDC,IAAuB1B;AAAA,MAAS,MACpCH,EAAM,cAAc,OAAO,CAAC4B,MAAWA,EAAO,YAAY,EAAK;AAAA,IAAA,GAE3DE,IAAqB3B,EAAS,MAAMH,EAAM,SAAS,SAAS,CAAC,GAC7D+B,IAAyC;AAAA,MAC7C,IAAI;AAAA,MACJ,OAAO;AAAA,IAAA;AAGT,aAASC,EAAkBJ,GAAiC;AAC1D,aAAOA,EAAO,YAAY,WACtB,EAAE,UAAU,UAAmB,UAAU,IAAM,SAAS,GAAA,IACxD,EAAE,UAAU,aAAsB,UAAU,IAAM,SAAS,GAAA;AAAA,IACjE;AAEA,aAASK,EAAkBL,GAAiC;AAC1D,aAAOA,EAAO,YAAY,WACtB,EAAE,UAAU,UAAmB,MAAM,GAAA,IACrC,EAAE,UAAU,aAAsB,MAAM,GAAA;AAAA,IAC9C;AAEA,aAASM,EAAWN,GAAiC;AACnD,MAAKA,EAAO,aACVb,EAAK,UAAUa,CAAM,GACrBO,EAAA;AAAA,IAEJ;AAEA,aAASC,EAAiBR,GAAiC;AACzD,MAAKA,EAAO,aACVb,EAAK,iBAAiBa,CAAM,GAC5BO,EAAA;AAAA,IAEJ;AAEA,aAASE,EAAcC,GAAmC;AACxD,MAAI,CAACA,EAAQ,UAAU,CAACA,EAAQ,aAC9BvB,EAAK,kBAAkBuB,CAAO,GAC9BH,EAAA;AAAA,IAEJ;AAEA,aAASI,EAAYC,GAAmB;AACtC,cAAQA,GAAU,KAAA,KAAU,KAAK,MAAM,GAAG,CAAC;AAAA,IAC7C;AAEA,aAASC,EAAQC,GAAmB;AAClC,MAAKlB,EAAa,UAChBJ,EAAa,QAAQsB,IAGvB3B,EAAK,qBAAqB2B,CAAQ,GAGhC3B,EADE2B,IACG,SAEA,OAFM;AAAA,IAIf;AAEA,aAASC,KAAiB;AACxB,MAAAF,EAAQ,CAAChB,EAAO,KAAK;AAAA,IACvB;AAEA,aAASU,IAAgB;AACvB,MAAIV,EAAO,SACTgB,EAAQ,EAAK;AAAA,IAEjB;AAEA,aAASG,IAAsB;AAC7B,YAAMC,IAAO5B,EAAQ,OACf6B,IAAQ3B,EAAS;AAEvB,UAAI,CAAC0B,KAAQ,CAACC;AACZ;AAGF,YAAMC,IAAgB,OAAO,YACvBC,IAAkB,IAClBC,IAAWJ,EAAK,sBAAA,GAChBK,KAAYJ,EAAM,sBAAA,GAClBK,KAAYF,EAAS,OAAOC,GAAU,SAASH,IAAgBC;AAErE,MAAA3B,EAAe,QAAQ8B,KAAY,SAAS,SAE5C7B,EAAW,QAAQ;AAAA,QACjB,UAAU;AAAA,QACV,KAAK,GAAG2B,EAAS,SAAS,CAAC;AAAA,QAC3B,MAAME,KAAY,GAAGF,EAAS,IAAI,OAAO,GAAGA,EAAS,QAAQC,GAAU,KAAK;AAAA,QAC5E,+BAA+BlD,EAAM;AAAA,MAAA;AAAA,IAEzC;AAEA,aAASoD,IAAqB;AAC5B,MAAI3B,EAAO,SACJmB,EAAA;AAAA,IAET;AAEA,aAASS,IAAe;AACtB,MAAI5B,EAAO,SACLF,MAAc,SAChBA,IAAY,OAAO,sBAAsB,MAAM;AAC7C,QAAAA,IAAY,MACPqB,EAAA;AAAA,MACP,CAAC;AAAA,IAGP;AAEA,aAASU,EAA0BC,GAAqB;AACtD,YAAMC,IAASD,EAAM;AAErB,MACEC,aAAkB,QAClBvC,EAAQ,SACR,CAACA,EAAQ,MAAM,SAASuC,CAAM,KAC9B,CAACrC,EAAS,OAAO,SAASqC,CAAM,KAEhCrB,EAAA;AAAA,IAEJ;AAEA,WAAAsB,GAAU,MAAM;AACd,eAAS,iBAAiB,eAAeH,CAAyB,GAClE,OAAO,iBAAiB,UAAUF,CAAkB,GACpD,OAAO,iBAAiB,UAAUC,GAAc,EAAE,SAAS,IAAM,GAE7D5B,EAAO,SACJmB,EAAA;AAAA,IAET,CAAC,GAEDc,GAAgB,MAAM;AACpB,eAAS,oBAAoB,eAAeJ,CAAyB,GACrE,OAAO,oBAAoB,UAAUF,CAAkB,GACvD,OAAO,oBAAoB,UAAUC,CAAY,GAE7C9B,MAAc,QAChB,qBAAqBA,CAAS;AAAA,IAElC,CAAC,GAEDoC,EAAMlC,GAAQ,CAACmC,MAAS;AACtB,MAAIA,KACGC,GAAA,EAAW,KAAKjB,CAAmB;AAAA,IAE5C,CAAC,mBAICrC,EAkNM,OAAA;AAAA,eAlNG;AAAA,MAAJ,KAAIU;AAAA,MAAU,OAAM;AAAA,MAA4B,UAAOb,EAAA,KAAS;AAAA,IAAA;MACnE0D,EAkCSC,EAAAC,CAAA,GAAA;AAAA,QAjCN,iBAAevC,EAAA;AAAA,QACf,cAAYxB,EAAA;AAAA,QACb,iBAAc;AAAA,QACb,OAAKgE,EAAA;AAAA;kDAA4FxC,EAAA,MAAA;AAAA,QAAM;QAIxG,MAAA;AAAA,QACC,WAAYkB,IAAc,CAAA,MAAA,CAAA;AAAA,MAAA;mBAE3B,MAKE;AAAA,UALFmB,EAKEC,EAAAG,CAAA,GAAA;AAAA,YAJA,OAAM;AAAA,YACN,QAAO;AAAA,YACP,MAAK;AAAA,YACJ,MAAM;AAAA,UAAA;UAETC,EAgBOC,EAAA,QAAA,kBAAA,EAhBsB,MAAMnE,EAAA,KAAA,GAAnC,MAgBO;AAAA,YAfLoE,EAcO,QAdP7D,IAcO;AAAA,cAZGP,EAAA,KAAK,kBADbM,EAKE,OAAA;AAAA;gBAHA,OAAM;AAAA,gBACL,KAAKN,EAAA,KAAK;AAAA,gBACV,KAAKA,EAAA,KAAK,QAAQA,EAAA,KAAK;AAAA,cAAA,oBAE1BqE,KAAA/D,EAMO,QANPgE,IAMOC,EADFjC,EAAYtC,EAAA,KAAK,QAAQ,CAAA,GAAA,CAAA;AAAA,YAAA;;;;;MAMVwB,EAAA,cAA1BgD,EA4KWC,IAAA;AAAA;QA5KD,IAAG;AAAA,MAAA;QACXL,EA0KQ,WAAA;AAAA,mBAzKF;AAAA,UAAJ,KAAIlD;AAAA,UACH,aAAWlB,EAAA,WAAW;AAAA,UACtB,OAAKgE,EAAA;AAAA;0CAA6E5C,EAAA,KAAc;AAAA,UAAA;UAIhG,UAAOC,EAAA,KAAU;AAAA,QAAA;UAEpB+C,EAsES,UAtETM,IAsES;AAAA,YArEPR,EA8BOC,EAAA,QAAA,eAAA,EA9BmB,MAAMnE,EAAA,KAAA,GAAhC,MA8BO;AAAA,cA7BLoE,EA4BO,QA5BPO,IA4BO;AAAA,gBA3BLP,EAgBO,QAhBPQ,IAgBO;AAAA,kBAZG5E,EAAA,KAAK,kBADbM,EAKE,OAAA;AAAA;oBAHA,OAAM;AAAA,oBACL,KAAKN,EAAA,KAAK;AAAA,oBACV,KAAKA,EAAA,KAAK,QAAQA,EAAA,KAAK;AAAA,kBAAA,oBAE1BqE,KAAA/D,EAMO,QANPuE,IAMON,EADFjC,EAAYtC,EAAA,KAAK,QAAQ,CAAA,GAAA,CAAA;AAAA,gBAAA;gBAIxBA,EAAA,KAAK,sBADbqE,KAAA/D,EASO,QATPwE,IASO;AAAA,kBALLV,EAIE,OAAA;AAAA,oBAHA,OAAM;AAAA,oBACL,KAAKpE,EAAA,KAAK;AAAA,oBACV,KAAKA,EAAA,KAAK,QAAQA,EAAA,KAAK;AAAA,kBAAA;;;;YAMhCoE,EAMM,OANNW,IAMM;AAAA,cALJX,EAA6D,KAA7DY,IAA6DT,EAApB9C,EAAA,KAAa,GAAA,CAAA;AAAA,cAC7CzB,EAAA,KAAK,QAAdqE,EAAA,GAAA/D,EAEI,KAFJ2E,IAEIV,EADCvE,EAAA,KAAK,IAAI,GAAA,CAAA;cAEdoE,EAA0D,KAA1Dc,IAA0DX,EAAjBvE,EAAA,KAAK,KAAK,GAAA,CAAA;AAAA,YAAA;YAGrDkE,EA4BOC,EAAA,QAAA,WAAA,EA5Be,SAASzC,EAAA,MAAA,GAA/B,MA4BO;AAAA,cA3BL0C,EA0BM,OA1BNe,IA0BM;AAAA,gBAzBYzD,EAAA,MAAe,SAAM,YACnCpB,EAWS8E,GAAA,EAAA,KAAA,KAAAC,EAVU3D,EAAA,OAAc,CAAxBC,OADT0C,KAAAG,EAWSV,MAXTwB,GAWS;AAAA,kBATN,KAAK3D,EAAO;AAAA,kBACb,OAAM;AAAA,kBACL,UAAUA,EAAO;AAAA,kBAClB,MAAK;AAAA,gBAAA,GACG,EAAA,SAAA,MAAAI,EAAkBJ,CAAM,GAAA;AAAA,kBAC/B,SAAK4D,EAAA,CAAAC,MAAOvD,EAAWN,CAAM,GAAA,CAAA,MAAA,CAAA;AAAA,gBAAA;6BAE9B,MAA+B;AAAA,oBAA/ByC,EAA+B,QAAA,MAAAG,EAAtB5C,EAAO,KAAK,GAAA,CAAA;AAAA,oBACPA,EAAO,aAArB6C,EAA2DV,EAAAG,CAAA,GAAA;AAAA;sBAA/B,MAAMtC,EAAO;AAAA,sBAAM,MAAK;AAAA,oBAAA;;;mEAGxD6C,EAUSV,EAAAC,CAAA,GAAA;AAAA;kBARP,OAAM;AAAA,kBACN,UAAS;AAAA,kBACT,UAAA;AAAA,kBACA,SAAA;AAAA,kBACA,MAAK;AAAA,kBACJ,SAAK0B,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAF,EAAA,CAAAC,MAAOvD,EAAWH,CAAa,GAAA,CAAA,MAAA,CAAA;AAAA,gBAAA;6BACtC,MAED,CAAA,GAAA2D,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,uBAFC,mBAED,EAAA;AAAA,kBAAA;;;;;;UAKGzF,EAAA,gBAATM,EAEI,KAFJoF,IAAqD,uBAErD,KAEiB1F,EAAA,SAAS,WAAM,IAAhCkE,EAEOC,+BAFP,MAEO;AAAA,YADLC,EAAyD,KAAzDuB,IAAyDpB,EAAhBvE,EAAA,SAAS,GAAA,CAAA;AAAA,UAAA,KAGpC6B,EAAA,SAAhBwC,KAAA/D,EA0DM,OA1DNsF,IA0DM;AAAA,oBAzDJtF,EAwDS8E,GAAA,MAAAC,EAvDWrF,EAAA,UAAQ,CAAnBqC,YADTmC,EAwDSV,EAAAC,CAAA,GAAA;AAAA,cAtDN,KAAK1B,EAAQ;AAAA,cACb,OAAK2B,EAAA;AAAA;;kBAAoH,wCAAA3B,EAAQ;AAAA,kBAAgE,0CAAAA,EAAQ;AAAA,gBAAA;AAAA;cAOzM,UAAUA,EAAQ,UAAUA,EAAQ;AAAA,cACrC,MAAA;AAAA,cACA,UAAS;AAAA,cACR,SAAKkD,EAAA,CAAAC,MAAOpD,EAAcC,CAAO,GAAA,CAAA,MAAA,CAAA;AAAA,YAAA;yBAElC,MAkBO;AAAA,gBAlBP6B,EAkBOC,EAAA,QAAA,kBAAA,EAlBsB,SAAA9B,EAAA,GAA7B,MAkBO;AAAA,kBAjBL+B,EAgBO,QAhBPyB,IAgBO;AAAA,oBAZGxD,EAAQ,kBADhB/B,EAKE,OAAA;AAAA;sBAHA,OAAM;AAAA,sBACL,KAAK+B,EAAQ;AAAA,sBACb,KAAKA,EAAQ;AAAA,oBAAA,oBAEhBgC,KAAA/D,EAMO,QANPwF,IAMOvB,EADFjC,EAAYD,EAAQ,QAAQ,CAAA,GAAA,CAAA;AAAA,kBAAA;;gBAKrC+B,EAcO,QAdP2B,IAcO;AAAA,kBAbL3B,EAES,QAFT4B,IAESzB,EADPlC,EAAQ,KAAK,GAAA,CAAA;AAAA,kBAEf+B,EASO,QAAA;AAAA,oBARJ,OAAKJ,EAAA;AAAA;sBAA0E3B,EAAQ;;qBAOrFkC,EAAAlC,EAAQ,SAASrC,EAAA,aAAaA,EAAA,UAAU,GAAA,CAAA;AAAA,gBAAA;gBAI/CoE,EAIO,QAJP6B,IAIO;AAAA,kBAHL/B,EAEOC,EAAA,QAAA,oBAAA,EAFwB,SAAA9B,EAAA,GAA/B,MAEO;AAAA,oBADLwB,EAAuBC,EAAAG,CAAA,GAAA,EAAf,MAAK,SAAO;AAAA,kBAAA;;;;;;UAM5BC,EAoBOC,EAAA,QAAA,UAAA,EApBc,SAASvC,EAAA,MAAA,GAA9B,MAoBO;AAAA,YAlBGA,EAAA,MAAqB,SAAM,KADnCyC,KAAA/D,EAkBS,UAlBT4F,IAkBS;AAAA,sBAdP5F,EAaS8E,GAAA,MAAAC,EAZUzD,EAAA,OAAoB,CAA9BD,OADT0C,KAAAG,EAaSV,MAbTwB,GAaS;AAAA,gBAXN,KAAK3D,EAAO;AAAA,gBACb,OAAM;AAAA,gBACL,UAAUA,EAAO;AAAA,gBAClB,MAAK;AAAA,cAAA,GACG,EAAA,SAAA,MAAAK,EAAkBL,CAAM,GAAA;AAAA,gBAC/B,SAAK4D,EAAA,CAAAC,MAAOrD,EAAiBR,CAAM,GAAA,CAAA,MAAA,CAAA;AAAA,cAAA;2BAEpC,MAGO;AAAA,kBAHPyC,EAGO,QAHP+B,IAGO;AAAA,oBAFL/B,EAA+B,QAAA,MAAAG,EAAtB5C,EAAO,KAAK,GAAA,CAAA;AAAA,oBACPA,EAAO,aAArB6C,EAA2DV,EAAAG,CAAA,GAAA;AAAA;sBAA/B,MAAMtC,EAAO;AAAA,sBAAM,MAAK;AAAA,oBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxZlE,UAAM5B,IAAQC,GAaRc,IAAOC,GAOPqF,IAAYnF,EAAI,EAAK,GACrBoF,IAAepF,EAA0B,IAAI,GAC7CqF,IAAmBrF,EAAI,EAAK,GAC5BsF,IAActF,EAAwB,IAAI,GAE1CuF,IAAetG,EAAS,MAAMH,EAAM,MAAM,OAAO0G,CAAS,CAAC,GAC3DC,IAAqBxG,EAAS,MAAMH,EAAM,YAAY,OAAO0G,CAAS,CAAC,GACvEE,IAAiBzG,EAAS,MAAMH,EAAM,OAAO,GAC7C6G,IAAe1G;AAAA,MACnB,MACEH,EAAM,QAAQ,KAAK,CAAC8G,MAAWA,EAAO,MAAM,KAC5C9G,EAAM,QAAQ,KAAK,CAAC8G,MAAWA,EAAO,SAAS9G,EAAM,KAAK,KAC1DA,EAAM,QAAQ,CAAC,KACf;AAAA,IAAA,GAEE+G,IAAuB5G,EAAS,MAAMmG,EAAa,OAAO,SAASO,EAAa,OAAO,QAAQ7G,EAAM,KAAK,GAC1GgH,IAAkB7G;AAAA,MAAqB,MAC3CyG,EAAe,MAAM,IAAI,CAACE,OAAY;AAAA,QACpC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,YACE,qCAAqCA,EAAO,UAAUA,EAAO,SAASC,EAAqB;AAAA,YAC3F,uCAAuCD,EAAO;AAAA,UAAA;AAAA,QAChD;AAAA,QAEF,SAAS,MAAMG,EAAaH,CAAM;AAAA,QAClC,UAAUA,EAAO;AAAA,QACjB,OAAOA,EAAO;AAAA,MAAA,EACd;AAAA,IAAA,GAGEI,IAAiB/G;AAAA,MAAS,MAC9BmG,EAAa,QAAQA,EAAa,MAAM,UAAU,OAAOI,CAAS,KAAK,CAAA,IAAKD,EAAa;AAAA,IAAA,GAGrFU,IAAahH,EAAS,MAAMH,EAAM,YAAYA,EAAM,cAAcqG,EAAU,KAAK,GACjFe,IAAkBjH,EAAS,MAAMH,EAAM,cAAc,CAAC,CAACsG,EAAa,KAAK,GACzEe,IAAoBlH,EAAS,MAAM,CAACmG,EAAa,SAAStG,EAAM,QAAQ,SAAS,CAAC,GAElFE,IAAYC,EAAS,MAAM;AAAA,MAC/B;AAAA,MACA,eAAeH,EAAM,OAAO;AAAA,MAC5B;AAAA,QACE,wBAAwBmH,EAAW;AAAA,QACnC,2BAA2BnH,EAAM;AAAA,QACjC,uBAAuB,CAAC,CAACsG,EAAa;AAAA,MAAA;AAAA,IACxC,CACD;AAED,IAAA3C;AAAA,MACE,MAAM3D,EAAM;AAAA,MACZ,CAACyB,MAAW;AACV,QAAKA,MACH6E,EAAa,QAAQ,OAGvBC,EAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA,GAGF5C,EAAMwD,GAAY,CAACG,MAAa;AAC9B,MAAKA,MACHhB,EAAa,QAAQ,OAGvBvF,EAAK,mBAAmBuG,CAAQ;AAAA,IAClC,CAAC,GAED3D;AAAA,MACE,MAAM2C,EAAa;AAAA,MACnB,MAAM;AACJ,QAAAC,EAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA,GAGF9C,GAAU,MAAM;AACd,eAAS,iBAAiB,eAAeH,CAAyB;AAAA,IACpE,CAAC,GAEDI,GAAgB,MAAM;AACpB,eAAS,oBAAoB,eAAeJ,CAAyB;AAAA,IACvE,CAAC;AAED,aAASoD,EAAUa,GAAqB;AACtC,aAAOA,EAAK,YAAY;AAAA,IAC1B;AAEA,aAASC,EAAmBD,GAAqB;AAC/C,cAAQA,EAAK,YAAY,CAAA,GAAI,KAAKb,CAAS;AAAA,IAC7C;AAEA,aAASe,EAAWC,GAAgB;AAClC,MAAI,CAAC1H,EAAM,iBAAiBA,EAAM,eAIlCqG,EAAU,QAAQqB,GACbA,MACHnB,EAAiB,QAAQ;AAAA,IAE7B;AAEA,aAASoB,EAAgBJ,GAAqB;AAC5C,UAAI,CAAAA,EAAK,UAIT;AAAA,YAAIC,EAAmBD,CAAI,GAAG;AAC5B,UAAAjB,EAAa,QAAQiB;AACrB;AAAA,QACF;AAEA,QAAAxG,EAAK,cAAcwG,CAAI;AAAA;AAAA,IACzB;AAEA,aAASK,IAAS;AAChB,MAAAtB,EAAa,QAAQ;AAAA,IACvB;AAEA,aAASuB,IAAc;AACrB,MAAAvB,EAAa,QAAQ,MACrBC,EAAiB,QAAQ,IACzBxF,EAAK,cAAc;AAAA,IACrB;AAEA,aAAS+G,KAAmB;AAC1B,MAAI,CAACT,EAAkB,SAAS,CAACF,EAAW,UAI5CZ,EAAiB,QAAQ,CAACA,EAAiB;AAAA,IAC7C;AAEA,aAASU,EAAaH,GAAyB;AAC7C,MAAIA,EAAO,aAIXP,EAAiB,QAAQ,IACzBxF,EAAK,iBAAiB+F,CAAM,GAExB9G,EAAM,0BAA0B,OAAO,SAAW,OAAe8G,EAAO,SAC1E,OAAO,SAAS,OAAOA,EAAO;AAAA,IAElC;AAEA,aAASxD,EAA0BC,GAAqB;AACtD,MAAI,CAACgD,EAAiB,SAAS,CAACC,EAAY,SAIvCA,EAAY,MAAM,SAASjD,EAAM,MAAc,MAClDgD,EAAiB,QAAQ;AAAA,IAE7B;2BAIEhG,EA+IQ,SAAA;AAAA,eA9IF;AAAA,MAAJ,KAAIiG;AAAA,MACH,cAAYvG,EAAA;AAAA,MACZ,SAAOC,EAAA,KAAS;AAAA,MAChB,qCAAYuH,EAAU,EAAA;AAAA,MACtB,qCAAYA,EAAU,EAAA;AAAA,IAAA;MAEvBtD,EAiEOC,EAAA,QAAA,UAAA;AAAA,QA/DJ,UAAU+C,EAAA;AAAA,QACV,cAAeb,EAAA;AAAA,QACf,aAAAuB;AAAA,QACA,QAAAD;AAAA,MAAA,GALH,MAiEO;AAAA,QA1DLvD,EAgDS,UAhDT0D,IAgDS;AAAA,UA/CP1D,EA6BM,OAAA;AAAA,YA5BH,OAAKJ,EAAA;AAAA;;8CAA+FoD,EAAA;AAAA,cAAA;AAAA;;YAQ7FA,EAAA,cADR9G,EAeS,UAAA;AAAA;cAbP,OAAM;AAAA,cACN,MAAK;AAAA,cACJ,iBAAegG,EAAA;AAAA,cAChB,iBAAc;AAAA,cACb,SAAOuB;AAAA,YAAA;cAERhE,EAAuBC,EAAAG,CAAA,GAAA,EAAd,MAAMjE,EAAA,KAAA,GAAI,MAAA,GAAA,CAAA,MAAA,CAAA;AAAA,cACnBoE,EAAiE,QAAjE2D,IAAiExD,EAA9BuC,EAAA,KAAoB,GAAA,CAAA;AAAA,cACvDjD,EAIEC,EAAAG,CAAA,GAAA;AAAA,gBAHA,OAAM;AAAA,gBACL,MAAMqC,EAAA,QAAgB,kBAAA;AAAA,gBACvB,MAAK;AAAA,cAAA;+BAIThG,EAGW8E,GAAA,EAAA,KAAA,KAAA;AAAA,cAFTvB,EAAuBC,EAAAG,CAAA,GAAA,EAAd,MAAMjE,EAAA,KAAA,GAAI,MAAA,GAAA,CAAA,MAAA,CAAA;AAAA,cACnBoE,EAAiE,QAAjEM,IAAiEH,EAA9BuC,EAAA,KAAoB,GAAA,CAAA;AAAA,YAAA;;UAI3D5C,EAeOC,EAAA,QAAA,iBAAA;AAAA,YAbJ,cAAekC,EAAA;AAAA,YACf,aAAAuB;AAAA,YACA,QAAAD;AAAA,UAAA,GAJH,MAeO;AAAA,YARGR,EAAA,cADR7G,EAQS,UAAA;AAAA;cANP,OAAM;AAAA,cACN,MAAK;AAAA,cACJ,cAAY+F,EAAA,QAAY,WAAA;AAAA,cACxB,SAAKZ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAD,MAAEa,EAAA,QAAesB,EAAA,IAAWC,EAAA;AAAA,YAAW;cAE7C/D,EAAwDC,EAAAG,CAAA,GAAA;AAAA,gBAA/C,MAAMoC,EAAA,QAAY,eAAA;AAAA,cAAA;;;;QAMzBe,EAAA,SAAqBd,EAAA,cAD7B9B,EAOEV,EAAAkE,EAAA,GAAA;AAAA;UALA,OAAM;AAAA,UACL,OAAOjB,EAAA;AAAA,UACP,IAAI;AAAA;;QAEJ;;MAIL3C,EAoEM,OApENQ,IAoEM;AAAA,QAnEJR,EAiCM,OAjCN6D,IAiCM;AAAA,UAhCJ7D,EA+BK,MA/BLS,IA+BK;AAAA,oBA9BHvE,EA6BK8E,GAAA,MAAAC,EA7Bc4B,EAAA,OAAc,CAAtBK,YAAXhH,EA6BK,MAAA;AAAA,cA7B+B,KAAKgH,EAAK;AAAA,cAAI,OAAM;AAAA,YAAA;cACtDlD,EA2BS,UAAA;AAAA,gBA1BN,OAAKJ,EAAA;AAAA;;oBAAwG,4BAAAsD,EAAK;AAAA,oBAAwD,8BAAAA,EAAK;AAAA,oBAAwD,4BAAAC,EAAmBD,CAAI;AAAA,kBAAA;AAAA;gBAQ/P,MAAK;AAAA,gBACJ,UAAUA,EAAK;AAAA,gBACf,SAAK,CAAA9B,MAAEkC,EAAgBJ,CAAI;AAAA,cAAA;gBAE5BpD,EAaOC,EAAA,QAAA,QAAA;AAAA,kBAbY,MAAAmD;AAAA,kBAAa,UAAUJ,EAAA;AAAA,gBAAA,GAA1C,MAaO;AAAA,kBAXGI,EAAK,aADb9C,EAIEV,EAAAG,CAAA,GAAA;AAAA;oBAFA,OAAM;AAAA,oBACL,MAAMqD,EAAK;AAAA,kBAAA;kBAEdlD,EAA4D,QAA5D8D,IAA4D3D,EAApB+C,EAAK,KAAK,GAAA,CAAA;AAAA,kBAE1CC,EAAmBD,CAAI,UAD/B9C,EAKEV,EAAAG,CAAA,GAAA;AAAA;oBAHA,OAAM;AAAA,oBACN,MAAK;AAAA,oBACL,MAAK;AAAA,kBAAA;;;;;;QAQjBC,EA+BOC,EAAA,QAAA,UAAA;AAAA,UA/Bc,OAAOuC,EAAA;AAAA,UAAqB,UAAUQ,EAAA;AAAA,QAAA,GAA3D,MA+BO;AAAA,UA7BGR,EAAA,MAAmB,SAAM,KADjCrC,KAAA/D,EA6BM,OA7BNyE,IA6BM;AAAA,YAxBJX,EAuBK,MAvBLY,IAuBK;AAAA,sBAtBH1E,EAqBK8E,GAAA,MAAAC,EArBcqB,EAAA,OAAkB,CAA1BY,YAAXhH,EAqBK,MAAA;AAAA,gBArBmC,KAAKgH,EAAK;AAAA,gBAAI,OAAM;AAAA,cAAA;gBAC1DlD,EAmBS,UAAA;AAAA,kBAlBN,OAAKJ,EAAA;AAAA;;;sBAA4J,4BAAAsD,EAAK;AAAA,sBAA0D,8BAAAA,EAAK;AAAA,oBAAA;AAAA;kBAQtO,MAAK;AAAA,kBACJ,UAAUA,EAAK;AAAA,kBACf,SAAK,CAAA9B,MAAEkC,EAAgBJ,CAAI;AAAA,gBAAA;kBAGpBA,EAAK,aADb9C,EAIEV,EAAAG,CAAA,GAAA;AAAA;oBAFA,OAAM;AAAA,oBACL,MAAMqD,EAAK;AAAA,kBAAA;kBAEdlD,EAA4D,QAA5Dc,IAA4DX,EAApB+C,EAAK,KAAK,GAAA,CAAA;AAAA,gBAAA;;;;;;;;IChUrDa,KAAa,CAACC,IAAmBnE,GAAQoE,EAAS,GAElDC,KAAyB;AAAA,EACpC,QAAQC,GAAU;AAChB,eAAWC,KAAaL;AACtB,MAAAI,EAAI,UAAUC,EAAU,QAAQ,IAAIA,CAAS;AAAA,EAEjD;AACF;"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/RsIcon/RsIcon.vue","../src/components/RsIcon/index.ts","../src/components/RsAccountSelector/RsAccountSelector.vue","../src/components/RsSidebar/RsSidebar.vue","../src/plugin.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nimport type { RsIconProps } from \"./RsIcon.types\";\n\ndefineOptions({\n name: \"RsIcon\",\n});\n\nconst props = withDefaults(defineProps<RsIconProps>(), {\n color: \"inherit\",\n family: \"outlined\",\n fill: false,\n grade: 0,\n interactive: false,\n size: \"md\",\n weight: 400,\n});\n\nconst rootClass = computed(() => [\n \"rs-icon\",\n `rs-icon--${props.family}`,\n `rs-icon--${props.color}`,\n {\n \"rs-icon--interactive\": props.interactive,\n \"rs-icon--sm\": props.size === \"sm\",\n \"rs-icon--md\": props.size === \"md\",\n \"rs-icon--lg\": props.size === \"lg\",\n },\n]);\n\nconst rootStyle = computed(() => ({\n \"--rs-icon-fill\": props.fill ? 1 : 0,\n \"--rs-icon-grade\": props.grade,\n \"--rs-icon-optical-size\": props.opticalSize,\n \"--rs-icon-size\": typeof props.size === \"number\" ? `${props.size}px` : undefined,\n \"--rs-icon-weight\": props.weight,\n}));\n\nconst ariaHidden = computed(() => (props.ariaLabel ? undefined : \"true\"));\nconst role = computed(() => (props.ariaLabel ? \"img\" : undefined));\n</script>\n\n<template>\n <span\n :aria-hidden=\"ariaHidden\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n :role=\"role\"\n :style=\"rootStyle\"\n >\n {{ name }}\n </span>\n</template>\n\n<style src=\"./RsIcon.css\"></style>\n","import \"./RsIcon.css\";\n\nimport type { RsIconFamily, RsPrimeIconOptions } from \"./RsIcon.types\";\n\nconst iconNamePattern = /^[a-z0-9_]+$/;\n\nexport function rsPrimeIcon(name: string, options: RsPrimeIconOptions = {}) {\n const family: RsIconFamily = options.family ?? \"outlined\";\n const normalizedName = name.trim();\n\n if (!iconNamePattern.test(normalizedName)) {\n throw new Error(`Invalid Material Symbols icon name: \"${name}\"`);\n }\n\n return `rs-icon rs-icon--prime rs-icon--${family} rs-icon-${normalizedName}`;\n}\n\nexport { default } from \"./RsIcon.vue\";\nexport type {\n RsIconColor,\n RsIconFamily,\n RsIconProps,\n RsIconSize,\n RsIconWeight,\n RsPrimeIconOptions,\n} from \"./RsIcon.types\";\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport Button from \"primevue/button\";\n\nimport RsIcon from \"../RsIcon\";\nimport type {\n RsAccountSelectorAccount,\n RsAccountSelectorAction,\n RsAccountSelectorProps,\n} from \"./RsAccountSelector.types\";\n\ndefineOptions({\n name: \"RsAccountSelector\",\n});\n\nconst props = withDefaults(defineProps<RsAccountSelectorProps>(), {\n accounts: () => [],\n actions: () => [],\n activeText: \"Activo en pantalla\",\n emptyText: \"No hay cuentas disponibles\",\n footerActions: () => [],\n loading: false,\n modelValue: null,\n selectText: \"Ingresar\",\n triggerAriaLabel: \"Abrir selector de cuenta\",\n width: \"270px\",\n});\n\nconst emit = defineEmits<{\n \"select-account\": [account: RsAccountSelectorAccount];\n action: [action: RsAccountSelectorAction];\n \"footer-action\": [action: RsAccountSelectorAction];\n \"update:modelValue\": [open: boolean];\n open: [];\n close: [];\n}>();\n\nconst rootRef = ref<HTMLElement | null>(null);\nconst panelRef = ref<HTMLElement | null>(null);\nconst internalOpen = ref(false);\n\nconst panelCSSVars = {\n \"--rs-account-selector-width\": props.width,\n \"--rs-account-selector-background\": \"var(--rs-color-surface-primary, #ffffff)\",\n \"--rs-account-selector-border\": \"var(--rs-color-stroke-default, #d1d1d1)\",\n \"--rs-account-selector-color\": \"var(--rs-color-text-primary, #000000)\",\n \"--rs-account-selector-muted\": \"var(--rs-color-text-secondary, #909090)\",\n \"--rs-account-selector-active\": \"var(--rs-color-text-brand-green, #4eae01)\",\n \"--rs-account-selector-danger\": \"var(--rs-color-text-brand-red, #d80115)\",\n};\n\nconst panelPosition = ref<Record<string, string>>({});\n\nlet scrollRAF: number | null = null;\n\nconst isControlled = computed(() => props.modelValue !== null);\nconst isOpen = computed(() =>\n isControlled.value ? Boolean(props.modelValue) : internalOpen.value,\n);\nconst rootStyle = computed(() => ({\n \"--rs-account-selector-width\": props.width,\n}));\n\nconst computedTitle = computed(() => {\n if (props.title) {\n return props.title;\n }\n\n return props.accounts.length > 1\n ? `Acceso a ${props.accounts.length} Cuentas`\n : \"Acceso a\";\n});\n\nconst visibleActions = computed(() =>\n props.actions.filter((action) => action.visible !== false),\n);\nconst visibleFooterActions = computed(() =>\n props.footerActions.filter((action) => action.visible !== false),\n);\nconst shouldShowAccounts = computed(() => props.accounts.length > 1);\nconst profileAction: RsAccountSelectorAction = {\n id: \"profile\",\n label: \"Ver mi perfil\",\n};\n\nfunction headerButtonProps(action: RsAccountSelectorAction) {\n return action.variant === \"danger\"\n ? { severity: \"danger\" as const, outlined: true, rounded: true }\n : { severity: \"secondary\" as const, outlined: true, rounded: true };\n}\n\nfunction footerButtonProps(action: RsAccountSelectorAction) {\n return action.variant === \"danger\"\n ? { severity: \"danger\" as const, text: true }\n : { severity: \"secondary\" as const, text: true };\n}\n\nfunction emitAction(action: RsAccountSelectorAction) {\n if (!action.disabled) {\n emit(\"action\", action);\n closeSelector();\n }\n}\n\nfunction emitFooterAction(action: RsAccountSelectorAction) {\n if (!action.disabled) {\n emit(\"footer-action\", action);\n closeSelector();\n }\n}\n\nfunction selectAccount(account: RsAccountSelectorAccount) {\n if (!account.active && !account.disabled) {\n emit(\"select-account\", account);\n closeSelector();\n }\n}\n\nfunction getInitials(initials?: string) {\n return (initials?.trim() || \"?\").slice(0, 3);\n}\n\nfunction setOpen(nextOpen: boolean) {\n if (!isControlled.value) {\n internalOpen.value = nextOpen;\n }\n\n emit(\"update:modelValue\", nextOpen);\n\n if (nextOpen) {\n emit(\"open\");\n } else {\n emit(\"close\");\n }\n}\n\nfunction toggleSelector() {\n setOpen(!isOpen.value);\n}\n\nfunction closeSelector() {\n if (isOpen.value) {\n setOpen(false);\n }\n}\n\nfunction updatePanelPosition() {\n const root = rootRef.value;\n const panel = panelRef.value;\n\n if (!root || !panel) {\n return;\n }\n\n const viewportWidth = window.innerWidth;\n const viewportPadding = 16;\n const rootRect = root.getBoundingClientRect();\n const panelRect = panel.getBoundingClientRect();\n const fitsRight = rootRect.left + panelRect.width <= viewportWidth - viewportPadding;\n const fitsLeft = rootRect.right - panelRect.width >= viewportPadding;\n\n let left: number;\n if (fitsRight) {\n left = rootRect.left;\n } else if (fitsLeft) {\n left = rootRect.right - panelRect.width;\n } else {\n left = Math.max(\n viewportPadding,\n Math.min(rootRect.left, viewportWidth - viewportPadding - panelRect.width),\n );\n }\n\n panelPosition.value = {\n position: \"fixed\",\n top: `${rootRect.bottom + 8}px`,\n left: `${left}px`,\n };\n}\n\nfunction handleWindowResize() {\n if (isOpen.value) {\n void updatePanelPosition();\n }\n}\n\nfunction handleScroll() {\n if (isOpen.value) {\n if (scrollRAF === null) {\n scrollRAF = window.requestAnimationFrame(() => {\n scrollRAF = null;\n void updatePanelPosition();\n });\n }\n }\n}\n\nfunction handleDocumentPointerDown(event: PointerEvent) {\n const target = event.target;\n\n if (\n target instanceof Node &&\n rootRef.value &&\n !rootRef.value.contains(target) &&\n !panelRef.value?.contains(target)\n ) {\n closeSelector();\n }\n}\n\nonMounted(() => {\n document.addEventListener(\"pointerdown\", handleDocumentPointerDown);\n window.addEventListener(\"resize\", handleWindowResize);\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n\n if (isOpen.value) {\n void updatePanelPosition();\n }\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", handleDocumentPointerDown);\n window.removeEventListener(\"resize\", handleWindowResize);\n window.removeEventListener(\"scroll\", handleScroll);\n\n if (scrollRAF !== null) {\n cancelAnimationFrame(scrollRAF);\n }\n});\n\nwatch(isOpen, (open) => {\n if (open) {\n void nextTick().then(updatePanelPosition);\n }\n});\n</script>\n\n<template>\n <div ref=\"rootRef\" class=\"rs-account-selector-host\" :style=\"rootStyle\">\n <Button\n :aria-expanded=\"isOpen\"\n :aria-label=\"triggerAriaLabel\"\n aria-haspopup=\"menu\"\n :class=\"[\n 'rs-account-selector__trigger',\n { 'rs-account-selector__trigger--open': isOpen },\n ]\"\n text\n @click.stop=\"toggleSelector\"\n >\n <RsIcon\n class=\"rs-account-selector__trigger-chevron\"\n family=\"rounded\"\n name=\"arrow_drop_down\"\n :size=\"22\"\n />\n <slot name=\"trigger-avatar\" :user=\"user\">\n <span class=\"rs-account-selector__trigger-avatar\">\n <img\n v-if=\"user.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.avatarSrc\"\n :alt=\"user.name || user.email\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(user.initials) }}\n </span>\n </span>\n </slot>\n </Button>\n\n <Teleport to=\"body\" v-if=\"isOpen\">\n <section\n ref=\"panelRef\"\n :aria-busy=\"loading || undefined\"\n class=\"rs-account-selector\"\n :style=\"[panelCSSVars, panelPosition]\"\n >\n <header class=\"rs-account-selector__summary\">\n <slot name=\"user-avatar\" :user=\"user\">\n <span class=\"rs-account-selector__avatar-stack\">\n <span\n class=\"rs-account-selector__avatar rs-account-selector__avatar--lg\"\n >\n <img\n v-if=\"user.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.avatarSrc\"\n :alt=\"user.name || user.email\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(user.initials) }}\n </span>\n </span>\n <span\n v-if=\"user.secondaryAvatarSrc\"\n class=\"rs-account-selector__avatar rs-account-selector__avatar--lg rs-account-selector__secondary-avatar\"\n >\n <img\n class=\"rs-account-selector__avatar-image\"\n :src=\"user.secondaryAvatarSrc\"\n :alt=\"user.name || user.email\"\n />\n </span>\n </span>\n </slot>\n\n <div class=\"rs-account-selector__user\">\n <p class=\"rs-account-selector__title\">{{ computedTitle }}</p>\n <p v-if=\"user.name\" class=\"rs-account-selector__name\">\n {{ user.name }}\n </p>\n <p class=\"rs-account-selector__email\">{{ user.email }}</p>\n </div>\n\n <slot name=\"actions\" :actions=\"visibleActions\">\n <div class=\"rs-account-selector__actions\">\n <template v-if=\"visibleActions.length > 0\">\n <Button\n v-for=\"action in visibleActions\"\n :key=\"action.id\"\n class=\"rs-account-selector__button\"\n :disabled=\"action.disabled\"\n size=\"small\"\n v-bind=\"headerButtonProps(action)\"\n @click.stop=\"emitAction(action)\"\n >\n <span>{{ action.label }}</span>\n <RsIcon v-if=\"action.icon\" :name=\"action.icon\" size=\"sm\" />\n </Button>\n </template>\n <Button\n v-else\n class=\"rs-account-selector__button rs-account-selector__profile-button\"\n severity=\"secondary\"\n outlined\n rounded\n size=\"small\"\n @click.stop=\"emitAction(profileAction)\"\n >\n Ver mi perfil\n </Button>\n </div>\n </slot>\n </header>\n\n <p v-if=\"loading\" class=\"rs-account-selector__state\">\n Cargando cuentas...\n </p>\n\n <slot v-else-if=\"accounts.length === 0\" name=\"empty\">\n <p class=\"rs-account-selector__state\">{{ emptyText }}</p>\n </slot>\n\n <div v-else-if=\"shouldShowAccounts\" class=\"rs-account-selector__accounts\">\n <Button\n v-for=\"account in accounts\"\n :key=\"account.id\"\n :class=\"[\n 'rs-account-selector__account',\n {\n 'rs-account-selector__account--active': account.active,\n 'rs-account-selector__account--disabled': account.disabled,\n },\n ]\"\n :disabled=\"account.active || account.disabled\"\n text\n severity=\"secondary\"\n @click.stop=\"selectAccount(account)\"\n >\n <slot name=\"account-avatar\" :account=\"account\">\n <span\n class=\"rs-account-selector__avatar rs-account-selector__avatar--sm rs-account-selector__account-avatar\"\n >\n <img\n v-if=\"account.avatarSrc\"\n class=\"rs-account-selector__avatar-image\"\n :src=\"account.avatarSrc\"\n :alt=\"account.label\"\n />\n <span\n v-else\n class=\"rs-account-selector__avatar-placeholder\"\n aria-hidden=\"true\"\n >\n {{ getInitials(account.initials) }}\n </span>\n </span>\n </slot>\n\n <span class=\"rs-account-selector__account-info\">\n <span class=\"rs-account-selector__account-label\">{{\n account.label\n }}</span>\n <span\n :class=\"[\n 'rs-account-selector__account-state',\n account.active\n ? 'rs-account-selector__account-state--active'\n : 'rs-account-selector__account-state--inactive',\n ]\"\n >\n {{ account.active ? activeText : selectText }}\n </span>\n </span>\n\n <span class=\"rs-account-selector__account-trailing\">\n <slot name=\"account-trailing\" :account=\"account\">\n <RsIcon name=\"login\" />\n </slot>\n </span>\n </Button>\n </div>\n\n <slot name=\"footer\" :actions=\"visibleFooterActions\">\n <footer\n v-if=\"visibleFooterActions.length > 0\"\n class=\"rs-account-selector__footer\"\n >\n <Button\n v-for=\"action in visibleFooterActions\"\n :key=\"action.id\"\n class=\"rs-account-selector__button\"\n :disabled=\"action.disabled\"\n size=\"small\"\n v-bind=\"footerButtonProps(action)\"\n @click.stop=\"emitFooterAction(action)\"\n >\n <span class=\"rs-account-selector__button-content\">\n <span>{{ action.label }}</span>\n <RsIcon v-if=\"action.icon\" :name=\"action.icon\" size=\"sm\" />\n </span>\n </Button>\n </footer>\n </slot>\n </section>\n </Teleport>\n </div>\n</template>\n\n<style src=\"./RsAccountSelector.css\"></style>\n","<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport Menu from \"primevue/menu\";\nimport type { MenuItem } from \"primevue/menuitem\";\n\nimport RsIcon from \"../RsIcon\";\nimport type { RsSidebarItem, RsSidebarModule, RsSidebarProps } from \"./RsSidebar.types\";\n\ndefineOptions({\n name: \"RsSidebar\",\n});\n\nconst props = withDefaults(defineProps<RsSidebarProps>(), {\n ariaLabel: \"Navegacion principal\",\n expandOnHover: true,\n expanded: false,\n footerItems: () => [],\n icon: \"nest_eco_leaf\",\n mobileOpen: false,\n modules: () => [],\n navigateOnModuleSelect: false,\n title: \"\",\n variant: \"cyo\",\n});\n\nconst emit = defineEmits<{\n \"item-click\": [item: RsSidebarItem];\n \"close-mobile\": [];\n \"expanded-change\": [expanded: boolean];\n \"module-select\": [module: RsSidebarModule];\n}>();\n\nconst isHovered = ref(false);\nconst activeParent = ref<RsSidebarItem | null>(null);\nconst isModuleMenuOpen = ref(false);\nconst rootElement = ref<HTMLElement | null>(null);\n\nconst visibleItems = computed(() => props.items.filter(isVisible));\nconst visibleFooterItems = computed(() => props.footerItems.filter(isVisible));\nconst visibleModules = computed(() => props.modules);\nconst activeModule = computed(\n () =>\n props.modules.find((module) => module.active) ??\n props.modules.find((module) => module.text === props.title) ??\n props.modules[0] ??\n null,\n);\nconst displayedHeaderTitle = computed(() => activeParent.value?.label || activeModule.value?.text || props.title);\nconst moduleMenuItems = computed<MenuItem[]>(() =>\n visibleModules.value.map((module) => ({\n class: [\n \"rs-sidebar__module-option\",\n {\n \"rs-sidebar__module-option--active\": module.active || module.text === displayedHeaderTitle.value,\n \"rs-sidebar__module-option--disabled\": module.disabled,\n },\n ],\n command: () => selectModule(module),\n disabled: module.disabled,\n label: module.text,\n })),\n);\n\nconst displayedItems = computed(() =>\n activeParent.value ? activeParent.value.children?.filter(isVisible) ?? [] : visibleItems.value,\n);\n\nconst isExpanded = computed(() => props.expanded || props.mobileOpen || isHovered.value);\nconst hasHeaderAction = computed(() => props.mobileOpen || !!activeParent.value);\nconst hasModuleSelector = computed(() => !activeParent.value && props.modules.length > 0);\n\nconst rootClass = computed(() => [\n \"rs-sidebar\",\n `rs-sidebar--${props.variant}`,\n {\n \"rs-sidebar--expanded\": isExpanded.value,\n \"rs-sidebar--mobile-open\": props.mobileOpen,\n \"rs-sidebar--submenu\": !!activeParent.value,\n },\n]);\n\nwatch(\n () => props.mobileOpen,\n (isOpen) => {\n if (!isOpen) {\n activeParent.value = null;\n }\n\n isModuleMenuOpen.value = false;\n },\n);\n\nwatch(isExpanded, (expanded) => {\n if (!expanded) {\n activeParent.value = null;\n }\n\n emit(\"expanded-change\", expanded);\n});\n\nwatch(\n () => activeParent.value,\n () => {\n isModuleMenuOpen.value = false;\n },\n);\n\nonMounted(() => {\n document.addEventListener(\"pointerdown\", handleDocumentPointerDown);\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", handleDocumentPointerDown);\n});\n\nfunction isVisible(item: RsSidebarItem) {\n return item.visible !== false;\n}\n\nfunction hasVisibleChildren(item: RsSidebarItem) {\n return (item.children ?? []).some(isVisible);\n}\n\nfunction setHovered(value: boolean) {\n if (!props.expandOnHover || props.mobileOpen) {\n return;\n }\n\n isHovered.value = value;\n if (!value) {\n isModuleMenuOpen.value = false;\n }\n}\n\nfunction handleItemClick(item: RsSidebarItem) {\n if (item.disabled) {\n return;\n }\n\n if (hasVisibleChildren(item)) {\n activeParent.value = item;\n return;\n }\n\n emit(\"item-click\", item);\n}\n\nfunction goBack() {\n activeParent.value = null;\n}\n\nfunction closeMobile() {\n activeParent.value = null;\n isModuleMenuOpen.value = false;\n emit(\"close-mobile\");\n}\n\nfunction toggleModuleMenu() {\n if (!hasModuleSelector.value || !isExpanded.value) {\n return;\n }\n\n isModuleMenuOpen.value = !isModuleMenuOpen.value;\n}\n\nfunction selectModule(module: RsSidebarModule) {\n if (module.disabled) {\n return;\n }\n\n isModuleMenuOpen.value = false;\n emit(\"module-select\", module);\n\n if (props.navigateOnModuleSelect && typeof window !== \"undefined\" && module.link) {\n window.location.href = module.link;\n }\n}\n\nfunction handleDocumentPointerDown(event: PointerEvent) {\n if (!isModuleMenuOpen.value || !rootElement.value) {\n return;\n }\n\n if (!rootElement.value.contains(event.target as Node)) {\n isModuleMenuOpen.value = false;\n }\n}\n</script>\n\n<template>\n <aside\n ref=\"rootElement\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n @mouseenter=\"setHovered(true)\"\n @mouseleave=\"setHovered(false)\"\n >\n <slot\n name=\"header\"\n :expanded=\"isExpanded\"\n :active-parent=\"activeParent\"\n :close-mobile=\"closeMobile\"\n :go-back=\"goBack\"\n >\n <header class=\"rs-sidebar__header\">\n <div\n :class=\"[\n 'rs-sidebar__brand',\n {\n 'rs-sidebar__brand--trigger': hasModuleSelector,\n },\n ]\"\n >\n <button\n v-if=\"hasModuleSelector\"\n class=\"rs-sidebar__module-trigger\"\n type=\"button\"\n :aria-expanded=\"isModuleMenuOpen\"\n aria-haspopup=\"menu\"\n @click=\"toggleModuleMenu\"\n >\n <RsIcon :name=\"icon\" />\n <span class=\"rs-sidebar__title\">{{ displayedHeaderTitle }}</span>\n <RsIcon\n class=\"rs-sidebar__module-chevron\"\n :name=\"isModuleMenuOpen ? 'arrow_drop_up' : 'arrow_drop_down'\"\n size=\"sm\"\n />\n </button>\n\n <template v-else>\n <RsIcon :name=\"icon\" />\n <span class=\"rs-sidebar__title\">{{ displayedHeaderTitle }}</span>\n </template>\n </div>\n\n <slot\n name=\"header-action\"\n :active-parent=\"activeParent\"\n :close-mobile=\"closeMobile\"\n :go-back=\"goBack\"\n >\n <button\n v-if=\"hasHeaderAction\"\n class=\"rs-sidebar__header-button\"\n type=\"button\"\n :aria-label=\"activeParent ? 'Volver' : 'Cerrar menu'\"\n @click=\"activeParent ? goBack() : closeMobile()\"\n >\n <RsIcon :name=\"activeParent ? 'arrow_left' : 'close'\" />\n </button>\n </slot>\n </header>\n\n <Menu\n v-if=\"hasModuleSelector && isModuleMenuOpen\"\n class=\"rs-sidebar__module-menu\"\n :model=\"moduleMenuItems\"\n :pt=\"{\n root: { role: 'menu' },\n }\"\n />\n </slot>\n\n <div class=\"rs-sidebar__content\">\n <nav class=\"rs-sidebar__nav\" aria-label=\"Secciones\">\n <ul class=\"rs-sidebar__list\">\n <li v-for=\"item in displayedItems\" :key=\"item.id\" class=\"rs-sidebar__list-item\">\n <button\n :class=\"[\n 'rs-sidebar__item',\n {\n 'rs-sidebar__item--active': item.active,\n 'rs-sidebar__item--disabled': item.disabled,\n 'rs-sidebar__item--parent': hasVisibleChildren(item),\n },\n ]\"\n type=\"button\"\n :disabled=\"item.disabled\"\n @click=\"handleItemClick(item)\"\n >\n <slot name=\"item\" :item=\"item\" :expanded=\"isExpanded\">\n <RsIcon\n v-if=\"item.icon\"\n class=\"rs-sidebar__item-icon\"\n :name=\"item.icon\"\n />\n <span class=\"rs-sidebar__item-label\">{{ item.label }}</span>\n <RsIcon\n v-if=\"hasVisibleChildren(item)\"\n class=\"rs-sidebar__item-chevron\"\n name=\"chevron_right\"\n size=\"sm\"\n />\n </slot>\n </button>\n </li>\n </ul>\n </nav>\n\n <slot name=\"footer\" :items=\"visibleFooterItems\" :expanded=\"isExpanded\">\n <nav\n v-if=\"visibleFooterItems.length > 0\"\n class=\"rs-sidebar__footer\"\n aria-label=\"Acciones secundarias\"\n >\n <ul class=\"rs-sidebar__list\">\n <li v-for=\"item in visibleFooterItems\" :key=\"item.id\" class=\"rs-sidebar__list-item\">\n <button\n :class=\"[\n 'rs-sidebar__item',\n 'rs-sidebar__item--footer',\n {\n 'rs-sidebar__item--active': item.active,\n 'rs-sidebar__item--disabled': item.disabled,\n },\n ]\"\n type=\"button\"\n :disabled=\"item.disabled\"\n @click=\"handleItemClick(item)\"\n >\n <RsIcon\n v-if=\"item.icon\"\n class=\"rs-sidebar__item-icon\"\n :name=\"item.icon\"\n />\n <span class=\"rs-sidebar__item-label\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </nav>\n </slot>\n </div>\n </aside>\n</template>\n\n<style src=\"./RsSidebar.css\"></style>\n","import type { App, Plugin } from \"vue\";\n\nimport RsAccountSelector from \"./components/RsAccountSelector\";\nimport RsIcon from \"./components/RsIcon\";\nimport RsSidebar from \"./components/RsSidebar\";\n\nexport const components = [RsAccountSelector, RsIcon, RsSidebar] as const;\n\nexport const RobosophyUiVue: Plugin = {\n install(app: App) {\n for (const component of components) {\n app.component(component.name ?? \"\", component);\n }\n },\n};\n\nexport default RobosophyUiVue;\n"],"names":["_createElementBlock","_hoisted_1","_createVNode","_unref","_normalizeClass","RsIcon","_renderSlot","_createElementVNode","_openBlock","_hoisted_3","_toDisplayString","_createBlock","_Teleport","_normalizeStyle","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_Fragment","_renderList","_mergeProps","_withModifiers","RsAccountSelector","RsSidebar"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,KAAK,SAAS,GAAG,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,CAAC;AAuCF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CAgFR;AAED,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA+BF,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EACpC,OAAO,GAAE,+BAAoC,yBAsC9C;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,UAAU,CAAC,EAAE,EACxD,OAAO,UAAQ,EACf,WAAW,GAAE,iBAAsC,UAkEpD;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAM,GAC7D,iBAAiB,EAAE,CA6BrB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAM,UAS/D;AA8ND,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,UAIjE"}
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAA4B,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,KAAK,SAAS,GAAG,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3C,CAAC;AAuCF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CAgFR;AAED,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA+BF,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EACpC,OAAO,GAAE,+BAAoC,yBAsC9C;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,UAAU,CAAC,EAAE,EACxD,OAAO,UAAQ,EACf,WAAW,GAAE,iBAAsC,UAkEpD;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAM,GAC7D,iBAAiB,EAAE,CA6BrB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAM,UAS/D;AAiOD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,UAIjE"}