@robosophy/ui-vue 1.1.13 → 1.2.0

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 GRADE_VALUES = [200, 0, -25] as const;\nconst SEMANTIC_COLORS = [\"primary\", \"secondary\", \"success\", \"warning\", \"danger\", \"inherit\"] as const;\n\nconst props = withDefaults(defineProps<RsIconProps>(), {\n color: \"inherit\",\n family: \"outlined\",\n fill: false,\n grade: 0,\n interactive: false,\n notification: false,\n size: \"md\",\n weight: 400,\n});\n\nfunction clampGrade(grade: number): number {\n return GRADE_VALUES.reduce((nearest, g) =>\n Math.abs(g - grade) < Math.abs(nearest - grade) ? g : nearest,\n );\n}\n\nconst symbolHref = computed(() => {\n const family = props.family;\n const name = props.name;\n\n let gradeSuffix = \"\";\n const clamped = clampGrade(props.grade);\n if (clamped !== 0) {\n gradeSuffix = clamped > 0 ? `-grad${clamped}` : `-gradN${Math.abs(clamped)}`;\n }\n\n const fillSuffix = props.fill ? \"-fill\" : \"\";\n const weightSuffix = props.weight !== 400 ? `-wght${props.weight}` : \"\";\n\n return `#rs-icon-${family}-${name}${gradeSuffix}${fillSuffix}${weightSuffix}`;\n});\n\nconst isCustomColor = computed(\n () => !(SEMANTIC_COLORS as readonly string[]).includes(props.color),\n);\n\nconst iconSize = computed(() => {\n if (typeof props.size === \"number\") return props.size;\n if (props.size === \"sm\") return 18;\n if (props.size === \"lg\") return 32;\n return 24;\n});\n\nconst rootClass = computed(() => [\n \"rs-icon\",\n `rs-icon--${props.family}`,\n ...(isCustomColor.value ? [] : [`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-color\": isCustomColor.value ? props.color : undefined,\n \"--rs-icon-size\": `${iconSize.value}px`,\n}));\n\nconst ariaHidden = computed(() => (props.ariaLabel ? undefined : \"true\"));\nconst role = computed(() => (props.ariaLabel ? \"img\" : undefined));\n\nconst notificationStyle = computed(() =>\n props.notificationColor ? { backgroundColor: props.notificationColor } : undefined,\n);\n</script>\n\n<template>\n <span v-if=\"notification\" class=\"rs-icon-wrap\">\n <svg\n :aria-hidden=\"ariaHidden\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n :role=\"role\"\n :style=\"rootStyle\"\n :width=\"iconSize\"\n :height=\"iconSize\"\n fill=\"currentColor\"\n >\n <use :href=\"symbolHref\" />\n </svg>\n <span\n class=\"rs-icon__notification\"\n aria-hidden=\"true\"\n :style=\"notificationStyle\"\n />\n </span>\n <svg\n v-else\n :aria-hidden=\"ariaHidden\"\n :aria-label=\"ariaLabel\"\n :class=\"rootClass\"\n :role=\"role\"\n :style=\"rootStyle\"\n :width=\"iconSize\"\n :height=\"iconSize\"\n fill=\"currentColor\"\n >\n <use :href=\"symbolHref\" />\n </svg>\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: \"\",\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 v-if=\"emptyText\" 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, RsSidebarVariant } from \"./RsSidebar.types\";\n\nconst variantIconMap: Record<RsSidebarVariant, string> = {\n pc: \"article\",\n alta: \"account_circle\",\n cc: \"account_balance_wallet\",\n pog: \"account_balance_wallet\",\n cyo: \"nest_eco_leaf\",\n};\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: undefined,\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(() => activeModule.value?.text || props.title);\nconst moduleMenuItems = computed<MenuItem[]>(() =>\n visibleModules.value.map((module) => {\n const isCurrent = module.active || module.text === displayedHeaderTitle.value;\n\n return {\n class: [\n \"rs-sidebar__module-option\",\n {\n \"rs-sidebar__module-option--active\": isCurrent,\n \"rs-sidebar__module-option--disabled\": module.disabled || isCurrent,\n },\n ],\n command: () => selectModule(module),\n disabled: module.disabled || isCurrent,\n label: module.text,\n };\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);\nconst hasModuleSelector = computed(() => props.modules.length > 0);\nconst resolvedIcon = computed(() => props.icon ?? variantIconMap[props.variant]);\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=\"resolvedIcon\" />\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 color=\"secondary\"\n size=\"sm\"\n />\n </button>\n\n <template v-else>\n <RsIcon :name=\"resolvedIcon\" />\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=\"Cerrar menu\"\n @click=\"closeMobile\"\n >\n <RsIcon name=\"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-if=\"activeParent\" class=\"rs-sidebar__list-item\">\n <button\n class=\"rs-sidebar__item rs-sidebar__item--back\"\n type=\"button\"\n @click=\"goBack()\"\n >\n <RsIcon\n class=\"rs-sidebar__item-icon\"\n name=\"arrow_left\"\n :fill=\"true\"\n />\n <span class=\"rs-sidebar__item-label\">{{ activeParent.label }}</span>\n </button>\n </li>\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":["_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_3","_hoisted_5","_createVNode","_unref","_normalizeClass","RsIcon","_renderSlot","_toDisplayString","_createBlock","_Teleport","_normalizeStyle","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_Fragment","_renderList","_mergeProps","_withModifiers","RsAccountSelector","RsSidebar"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAM,eAAe,CAAC,KAAK,GAAG,GAAG;AACjC,UAAM,kBAAkB,CAAC,WAAW,aAAa,WAAW,WAAW,UAAU,SAAS;AAE1F,UAAM,QAAQ;AAWd,aAAS,WAAW,OAAuB;AACzC,aAAO,aAAa;AAAA,QAAO,CAAC,SAAS,MACnC,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,UAAU,KAAK,IAAI,IAAI;AAAA,MAAA;AAAA,IAE1D;AAEA,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,SAAS,MAAM;AACrB,YAAM,OAAO,MAAM;AAEnB,UAAI,cAAc;AAClB,YAAM,UAAU,WAAW,MAAM,KAAK;AACtC,UAAI,YAAY,GAAG;AACjB,sBAAc,UAAU,IAAI,QAAQ,OAAO,KAAK,SAAS,KAAK,IAAI,OAAO,CAAC;AAAA,MAC5E;AAEA,YAAM,aAAa,MAAM,OAAO,UAAU;AAC1C,YAAM,eAAe,MAAM,WAAW,MAAM,QAAQ,MAAM,MAAM,KAAK;AAErE,aAAO,YAAY,MAAM,IAAI,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY;AAAA,IAC7E,CAAC;AAED,UAAM,gBAAgB;AAAA,MACpB,MAAM,CAAE,gBAAsC,SAAS,MAAM,KAAK;AAAA,IAAA;AAGpE,UAAM,WAAW,SAAS,MAAM;AAC9B,UAAI,OAAO,MAAM,SAAS,iBAAiB,MAAM;AACjD,UAAI,MAAM,SAAS,KAAM,QAAO;AAChC,UAAI,MAAM,SAAS,KAAM,QAAO;AAChC,aAAO;AAAA,IACT,CAAC;AAED,UAAM,YAAY,SAAS,MAAM;AAAA,MAC/B;AAAA,MACA,YAAY,MAAM,MAAM;AAAA,MACxB,GAAI,cAAc,QAAQ,KAAK,CAAC,YAAY,MAAM,KAAK,EAAE;AAAA,MACzD;AAAA,QACE,wBAAwB,MAAM;AAAA,QAC9B,eAAe,MAAM,SAAS;AAAA,QAC9B,eAAe,MAAM,SAAS;AAAA,QAC9B,eAAe,MAAM,SAAS;AAAA,MAAA;AAAA,IAChC,CACD;AAED,UAAM,YAAY,SAAS,OAAO;AAAA,MAChC,mBAAmB,cAAc,QAAQ,MAAM,QAAQ;AAAA,MACvD,kBAAkB,GAAG,SAAS,KAAK;AAAA,IAAA,EACnC;AAEF,UAAM,aAAa,SAAS,MAAO,MAAM,YAAY,SAAY,MAAO;AACxE,UAAM,OAAO,SAAS,MAAO,MAAM,YAAY,QAAQ,MAAU;AAEjE,UAAM,oBAAoB;AAAA,MAAS,MACjC,MAAM,oBAAoB,EAAE,iBAAiB,MAAM,sBAAsB;AAAA,IAAA;;aAK7D,QAAA,gBAAZA,UAAA,GAAAC,mBAkBO,QAlBPC,cAkBO;AAAA,sBAjBLD,mBAWM,OAAA;AAAA,UAVH,eAAa,WAAA;AAAA,UACb,cAAY,QAAA;AAAA,UACZ,sBAAO,UAAA,KAAS;AAAA,UAChB,MAAM,KAAA;AAAA,UACN,sBAAO,UAAA,KAAS;AAAA,UAChB,OAAO,SAAA;AAAA,UACP,QAAQ,SAAA;AAAA,UACT,MAAK;AAAA,QAAA;UAELE,mBAA0B,OAAA,EAApB,MAAM,WAAA,SAAU,MAAA,GAAAC,YAAA;AAAA,QAAA;QAExBD,mBAIE,QAAA;AAAA,UAHA,OAAM;AAAA,UACN,eAAY;AAAA,UACX,sBAAO,kBAAA,KAAiB;AAAA,QAAA;0BAG7BF,mBAYM,OAAA;AAAA;QAVH,eAAa,WAAA;AAAA,QACb,cAAY,QAAA;AAAA,QACZ,sBAAO,UAAA,KAAS;AAAA,QAChB,MAAM,KAAA;AAAA,QACN,sBAAO,UAAA,KAAS;AAAA,QAChB,OAAO,SAAA;AAAA,QACP,QAAQ,SAAA;AAAA,QACT,MAAK;AAAA,MAAA;QAELE,mBAA0B,OAAA,EAApB,MAAM,WAAA,SAAU,MAAA,GAAAE,YAAA;AAAA,MAAA;;;;AC5G1B,MAAM,kBAAkB;AAEjB,SAAS,YAAY,MAAc,UAA8B,IAAI;AAC1E,QAAM,SAAuB,QAAQ,UAAU;AAC/C,QAAM,iBAAiB,KAAK,KAAA;AAE5B,MAAI,CAAC,gBAAgB,KAAK,cAAc,GAAG;AACzC,UAAM,IAAI,MAAM,wCAAwC,IAAI,GAAG;AAAA,EACjE;AAEA,SAAO,mCAAmC,MAAM,YAAY,cAAc;AAC5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAM,QAAQ;AAad,UAAM,OAAO;AASb,UAAM,UAAU,IAAwB,IAAI;AAC5C,UAAM,WAAW,IAAwB,IAAI;AAC7C,UAAM,eAAe,IAAI,KAAK;AAE9B,UAAM,eAAe;AAAA,MACnB,+BAA+B,MAAM;AAAA,MACrC,oCAAoC;AAAA,MACpC,gCAAgC;AAAA,MAChC,+BAA+B;AAAA,MAC/B,+BAA+B;AAAA,MAC/B,gCAAgC;AAAA,MAChC,gCAAgC;AAAA,IAAA;AAGlC,UAAM,gBAAgB,IAA4B,EAAE;AAEpD,QAAI,YAA2B;AAE/B,UAAM,eAAe,SAAS,MAAM,MAAM,eAAe,IAAI;AAC7D,UAAM,SAAS;AAAA,MAAS,MACtB,aAAa,QAAQ,QAAQ,MAAM,UAAU,IAAI,aAAa;AAAA,IAAA;AAEhE,UAAM,YAAY,SAAS,OAAO;AAAA,MAChC,+BAA+B,MAAM;AAAA,IAAA,EACrC;AAEF,UAAM,gBAAgB,SAAS,MAAM;AACnC,UAAI,MAAM,OAAO;AACf,eAAO,MAAM;AAAA,MACf;AAEA,aAAO,MAAM,SAAS,SAAS,IAC3B,YAAY,MAAM,SAAS,MAAM,aACjC;AAAA,IACN,CAAC;AAED,UAAM,iBAAiB;AAAA,MAAS,MAC9B,MAAM,QAAQ,OAAO,CAAC,WAAW,OAAO,YAAY,KAAK;AAAA,IAAA;AAE3D,UAAM,uBAAuB;AAAA,MAAS,MACpC,MAAM,cAAc,OAAO,CAAC,WAAW,OAAO,YAAY,KAAK;AAAA,IAAA;AAEjE,UAAM,qBAAqB,SAAS,MAAM,MAAM,SAAS,SAAS,CAAC;AACnE,UAAM,gBAAyC;AAAA,MAC7C,IAAI;AAAA,MACJ,OAAO;AAAA,IAAA;AAGT,aAAS,kBAAkB,QAAiC;AAC1D,aAAO,OAAO,YAAY,WACtB,EAAE,UAAU,UAAmB,UAAU,MAAM,SAAS,KAAA,IACxD,EAAE,UAAU,aAAsB,UAAU,MAAM,SAAS,KAAA;AAAA,IACjE;AAEA,aAAS,kBAAkB,QAAiC;AAC1D,aAAO,OAAO,YAAY,WACtB,EAAE,UAAU,UAAmB,MAAM,KAAA,IACrC,EAAE,UAAU,aAAsB,MAAM,KAAA;AAAA,IAC9C;AAEA,aAAS,WAAW,QAAiC;AACnD,UAAI,CAAC,OAAO,UAAU;AACpB,aAAK,UAAU,MAAM;AACrB,sBAAA;AAAA,MACF;AAAA,IACF;AAEA,aAAS,iBAAiB,QAAiC;AACzD,UAAI,CAAC,OAAO,UAAU;AACpB,aAAK,iBAAiB,MAAM;AAC5B,sBAAA;AAAA,MACF;AAAA,IACF;AAEA,aAAS,cAAc,SAAmC;AACxD,UAAI,CAAC,QAAQ,UAAU,CAAC,QAAQ,UAAU;AACxC,aAAK,kBAAkB,OAAO;AAC9B,sBAAA;AAAA,MACF;AAAA,IACF;AAEA,aAAS,YAAY,UAAmB;AACtC,cAAQ,UAAU,KAAA,KAAU,KAAK,MAAM,GAAG,CAAC;AAAA,IAC7C;AAEA,aAAS,QAAQ,UAAmB;AAClC,UAAI,CAAC,aAAa,OAAO;AACvB,qBAAa,QAAQ;AAAA,MACvB;AAEA,WAAK,qBAAqB,QAAQ;AAElC,UAAI,UAAU;AACZ,aAAK,MAAM;AAAA,MACb,OAAO;AACL,aAAK,OAAO;AAAA,MACd;AAAA,IACF;AAEA,aAAS,iBAAiB;AACxB,cAAQ,CAAC,OAAO,KAAK;AAAA,IACvB;AAEA,aAAS,gBAAgB;AACvB,UAAI,OAAO,OAAO;AAChB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,aAAS,sBAAsB;AAC7B,YAAM,OAAO,QAAQ;AACrB,YAAM,QAAQ,SAAS;AAEvB,UAAI,CAAC,QAAQ,CAAC,OAAO;AACnB;AAAA,MACF;AAEA,YAAM,gBAAgB,OAAO;AAC7B,YAAM,kBAAkB;AACxB,YAAM,WAAW,KAAK,sBAAA;AACtB,YAAM,YAAY,MAAM,sBAAA;AACxB,YAAM,YAAY,SAAS,OAAO,UAAU,SAAS,gBAAgB;AACrE,YAAM,WAAW,SAAS,QAAQ,UAAU,SAAS;AAErD,UAAI;AACJ,UAAI,WAAW;AACb,eAAO,SAAS;AAAA,MAClB,WAAW,UAAU;AACnB,eAAO,SAAS,QAAQ,UAAU;AAAA,MACpC,OAAO;AACL,eAAO,KAAK;AAAA,UACV;AAAA,UACA,KAAK,IAAI,SAAS,MAAM,gBAAgB,kBAAkB,UAAU,KAAK;AAAA,QAAA;AAAA,MAE7E;AAEA,oBAAc,QAAQ;AAAA,QACpB,UAAU;AAAA,QACV,KAAK,GAAG,SAAS,SAAS,CAAC;AAAA,QAC3B,MAAM,GAAG,IAAI;AAAA,MAAA;AAAA,IAEjB;AAEA,aAAS,qBAAqB;AAC5B,UAAI,OAAO,OAAO;AAChB,aAAK,oBAAA;AAAA,MACP;AAAA,IACF;AAEA,aAAS,eAAe;AACtB,UAAI,OAAO,OAAO;AAChB,YAAI,cAAc,MAAM;AACtB,sBAAY,OAAO,sBAAsB,MAAM;AAC7C,wBAAY;AACZ,iBAAK,oBAAA;AAAA,UACP,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,aAAS,0BAA0B,OAAqB;AACtD,YAAM,SAAS,MAAM;AAErB,UACE,kBAAkB,QAClB,QAAQ,SACR,CAAC,QAAQ,MAAM,SAAS,MAAM,KAC9B,CAAC,SAAS,OAAO,SAAS,MAAM,GAChC;AACA,sBAAA;AAAA,MACF;AAAA,IACF;AAEA,cAAU,MAAM;AACd,eAAS,iBAAiB,eAAe,yBAAyB;AAClE,aAAO,iBAAiB,UAAU,kBAAkB;AACpD,aAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM;AAEjE,UAAI,OAAO,OAAO;AAChB,aAAK,oBAAA;AAAA,MACP;AAAA,IACF,CAAC;AAED,oBAAgB,MAAM;AACpB,eAAS,oBAAoB,eAAe,yBAAyB;AACrE,aAAO,oBAAoB,UAAU,kBAAkB;AACvD,aAAO,oBAAoB,UAAU,YAAY;AAEjD,UAAI,cAAc,MAAM;AACtB,6BAAqB,SAAS;AAAA,MAChC;AAAA,IACF,CAAC;AAED,UAAM,QAAQ,CAAC,SAAS;AACtB,UAAI,MAAM;AACR,aAAK,SAAA,EAAW,KAAK,mBAAmB;AAAA,MAC1C;AAAA,IACF,CAAC;;0BAICJ,mBA+MM,OAAA;AAAA,iBA/MG;AAAA,QAAJ,KAAI;AAAA,QAAU,OAAM;AAAA,QAA4B,sBAAO,UAAA,KAAS;AAAA,MAAA;QACnEK,YAkCSC,MAAA,MAAA,GAAA;AAAA,UAjCN,iBAAe,OAAA;AAAA,UACf,cAAY,QAAA;AAAA,UACb,iBAAc;AAAA,UACb,OAAKC,eAAA;AAAA;oDAA4F,OAAA,MAAA;AAAA,UAAM;UAIxG,MAAA;AAAA,UACC,uBAAY,gBAAc,CAAA,MAAA,CAAA;AAAA,QAAA;2BAE3B,MAKE;AAAA,YALFF,YAKEC,MAAAE,WAAA,GAAA;AAAA,cAJA,OAAM;AAAA,cACN,QAAO;AAAA,cACP,MAAK;AAAA,cACJ,MAAM;AAAA,YAAA;YAETC,WAgBO,KAAA,QAAA,kBAAA,EAhBsB,MAAM,QAAA,KAAA,GAAnC,MAgBO;AAAA,cAfLP,mBAcO,QAdPD,cAcO;AAAA,gBAZG,QAAA,KAAK,0BADbD,mBAKE,OAAA;AAAA;kBAHA,OAAM;AAAA,kBACL,KAAK,QAAA,KAAK;AAAA,kBACV,KAAK,QAAA,KAAK,QAAQ,QAAA,KAAK;AAAA,gBAAA,8BAE1BD,aAAAC,mBAMO,QANPG,cAMOO,gBADF,YAAY,QAAA,KAAK,QAAQ,CAAA,GAAA,CAAA;AAAA,cAAA;;;;;QAMV,OAAA,sBAA1BC,YAyKWC,UAAA;AAAA;UAzKD,IAAG;AAAA,QAAA;UACXV,mBAuKQ,WAAA;AAAA,qBAtKF;AAAA,YAAJ,KAAI;AAAA,YACH,aAAW,QAAA,WAAW;AAAA,YACvB,OAAM;AAAA,YACL,OAAKW,eAAA,CAAG,cAAc,cAAA,KAAa,CAAA;AAAA,UAAA;YAEtCX,mBAsES,UAtETE,cAsES;AAAA,cArEPK,WA8BO,KAAA,QAAA,eAAA,EA9BmB,MAAM,QAAA,KAAA,GAAhC,MA8BO;AAAA,gBA7BLP,mBA4BO,QA5BPY,cA4BO;AAAA,kBA3BLZ,mBAgBO,QAhBPa,cAgBO;AAAA,oBAZG,QAAA,KAAK,0BADbf,mBAKE,OAAA;AAAA;sBAHA,OAAM;AAAA,sBACL,KAAK,QAAA,KAAK;AAAA,sBACV,KAAK,QAAA,KAAK,QAAQ,QAAA,KAAK;AAAA,oBAAA,8BAE1BD,aAAAC,mBAMO,QANPgB,cAMON,gBADF,YAAY,QAAA,KAAK,QAAQ,CAAA,GAAA,CAAA;AAAA,kBAAA;kBAIxB,QAAA,KAAK,sBADbX,aAAAC,mBASO,QATPiB,eASO;AAAA,oBALLf,mBAIE,OAAA;AAAA,sBAHA,OAAM;AAAA,sBACL,KAAK,QAAA,KAAK;AAAA,sBACV,KAAK,QAAA,KAAK,QAAQ,QAAA,KAAK;AAAA,oBAAA;;;;cAMhCA,mBAMM,OANNgB,eAMM;AAAA,gBALJhB,mBAA6D,KAA7DiB,eAA6DT,gBAApB,cAAA,KAAa,GAAA,CAAA;AAAA,gBAC7C,QAAA,KAAK,QAAdX,UAAA,GAAAC,mBAEI,KAFJoB,eAEIV,gBADC,QAAA,KAAK,IAAI,GAAA,CAAA;gBAEdR,mBAA0D,KAA1DmB,eAA0DX,gBAAjB,QAAA,KAAK,KAAK,GAAA,CAAA;AAAA,cAAA;cAGrDD,WA4BO,KAAA,QAAA,WAAA,EA5Be,SAAS,eAAA,MAAA,GAA/B,MA4BO;AAAA,gBA3BLP,mBA0BM,OA1BNoB,eA0BM;AAAA,kBAzBY,eAAA,MAAe,SAAM,sBACnCtB,mBAWSuB,UAAA,EAAA,KAAA,KAAAC,WAVU,eAAA,OAAc,CAAxB,WAAM;AADf,2BAAAzB,aAAAY,YAWSL,eAXTmB,WAWS;AAAA,sBATN,KAAK,OAAO;AAAA,sBACb,OAAM;AAAA,sBACL,UAAU,OAAO;AAAA,sBAClB,MAAK;AAAA,oBAAA,GACG,EAAA,SAAA,QAAA,kBAAkB,MAAM,GAAA;AAAA,sBAC/B,SAAKC,cAAA,CAAA,WAAO,WAAW,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,oBAAA;uCAE9B,MAA+B;AAAA,wBAA/BxB,mBAA+B,QAAA,MAAAQ,gBAAtB,OAAO,KAAK,GAAA,CAAA;AAAA,wBACP,OAAO,qBAArBC,YAA2DL,MAAAE,WAAA,GAAA;AAAA;0BAA/B,MAAM,OAAO;AAAA,0BAAM,MAAK;AAAA,wBAAA;;;;4CAGxDG,YAUSL,MAAA,MAAA,GAAA;AAAA;oBARP,OAAM;AAAA,oBACN,UAAS;AAAA,oBACT,UAAA;AAAA,oBACA,SAAA;AAAA,oBACA,MAAK;AAAA,oBACJ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAoB,cAAA,CAAA,WAAO,WAAW,aAAa,GAAA,CAAA,MAAA,CAAA;AAAA,kBAAA;qCACtC,MAED,CAAA,GAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA;AAAA,sCAFC,mBAED,EAAA;AAAA,oBAAA;;;;;;YAKG,QAAA,wBAAT1B,mBAEI,KAFJ,aAAqD,uBAErD,KAEiB,QAAA,SAAS,WAAM,IAAhCS,WAEO,kCAFP,MAEO;AAAA,cADI,QAAA,0BAATT,mBAA0E,KAA1E,aAA0EU,gBAAhB,QAAA,SAAS,GAAA,CAAA;iBAGrD,mBAAA,SAAhBX,aAAAC,mBA0DM,OA1DN,aA0DM;AAAA,gCAzDJA,mBAwDSuB,UAAA,MAAAC,WAvDW,QAAA,UAAQ,CAAnB,YAAO;oCADhBb,YAwDSL,MAAA,MAAA,GAAA;AAAA,kBAtDN,KAAK,QAAQ;AAAA,kBACb,OAAKC,eAAA;AAAA;;sBAAoH,wCAAA,QAAQ;AAAA,sBAAgE,0CAAA,QAAQ;AAAA,oBAAA;AAAA;kBAOzM,UAAU,QAAQ,UAAU,QAAQ;AAAA,kBACrC,MAAA;AAAA,kBACA,UAAS;AAAA,kBACR,SAAKmB,cAAA,CAAA,WAAO,cAAc,OAAO,GAAA,CAAA,MAAA,CAAA;AAAA,gBAAA;mCAElC,MAkBO;AAAA,oBAlBPjB,WAkBO,KAAA,QAAA,kBAAA,EAlBsB,QAAA,GAA7B,MAkBO;AAAA,sBAjBLP,mBAgBO,QAhBP,aAgBO;AAAA,wBAZG,QAAQ,0BADhBF,mBAKE,OAAA;AAAA;0BAHA,OAAM;AAAA,0BACL,KAAK,QAAQ;AAAA,0BACb,KAAK,QAAQ;AAAA,wBAAA,6BAEhBD,aAAAC,mBAMO,QANP,aAMOU,gBADF,YAAY,QAAQ,QAAQ,CAAA,GAAA,CAAA;AAAA,sBAAA;;oBAKrCR,mBAcO,QAdP,aAcO;AAAA,sBAbLA,mBAES,QAFT,aAESQ,gBADP,QAAQ,KAAK,GAAA,CAAA;AAAA,sBAEfR,mBASO,QAAA;AAAA,wBARJ,OAAKK,eAAA;AAAA;0BAA0E,QAAQ;;yBAOrFG,gBAAA,QAAQ,SAAS,QAAA,aAAa,QAAA,UAAU,GAAA,CAAA;AAAA,oBAAA;oBAI/CR,mBAIO,QAJP,aAIO;AAAA,sBAHLO,WAEO,KAAA,QAAA,oBAAA,EAFwB,QAAA,GAA/B,MAEO;AAAA,wBADLJ,YAAuBC,MAAAE,WAAA,GAAA,EAAf,MAAK,SAAO;AAAA,sBAAA;;;;;;;YAM5BC,WAoBO,KAAA,QAAA,UAAA,EApBc,SAAS,qBAAA,MAAA,GAA9B,MAoBO;AAAA,cAlBG,qBAAA,MAAqB,SAAM,KADnCV,aAAAC,mBAkBS,UAlBT,aAkBS;AAAA,kCAdPA,mBAaSuB,UAAA,MAAAC,WAZU,qBAAA,OAAoB,CAA9B,WAAM;AADf,yBAAAzB,aAAAY,YAaSL,eAbTmB,WAaS;AAAA,oBAXN,KAAK,OAAO;AAAA,oBACb,OAAM;AAAA,oBACL,UAAU,OAAO;AAAA,oBAClB,MAAK;AAAA,kBAAA,GACG,EAAA,SAAA,QAAA,kBAAkB,MAAM,GAAA;AAAA,oBAC/B,SAAKC,cAAA,CAAA,WAAO,iBAAiB,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,kBAAA;qCAEpC,MAGO;AAAA,sBAHPxB,mBAGO,QAHP,aAGO;AAAA,wBAFLA,mBAA+B,QAAA,MAAAQ,gBAAtB,OAAO,KAAK,GAAA,CAAA;AAAA,wBACP,OAAO,qBAArBC,YAA2DL,MAAAE,WAAA,GAAA;AAAA;0BAA/B,MAAM,OAAO;AAAA,0BAAM,MAAK;AAAA,wBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9alE,UAAM,iBAAmD;AAAA,MACvD,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAOP,UAAM,QAAQ;AAad,UAAM,OAAO;AAOb,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,eAAe,IAA0B,IAAI;AACnD,UAAM,mBAAmB,IAAI,KAAK;AAClC,UAAM,cAAc,IAAwB,IAAI;AAEhD,UAAM,eAAe,SAAS,MAAM,MAAM,MAAM,OAAO,SAAS,CAAC;AACjE,UAAM,qBAAqB,SAAS,MAAM,MAAM,YAAY,OAAO,SAAS,CAAC;AAC7E,UAAM,iBAAiB,SAAS,MAAM,MAAM,OAAO;AACnD,UAAM,eAAe;AAAA,MACnB,MACE,MAAM,QAAQ,KAAK,CAAC,WAAW,OAAO,MAAM,KAC5C,MAAM,QAAQ,KAAK,CAAC,WAAW,OAAO,SAAS,MAAM,KAAK,KAC1D,MAAM,QAAQ,CAAC,KACf;AAAA,IAAA;AAEJ,UAAM,uBAAuB,SAAS,MAAM,aAAa,OAAO,QAAQ,MAAM,KAAK;AACnF,UAAM,kBAAkB;AAAA,MAAqB,MAC3C,eAAe,MAAM,IAAI,CAAC,WAAW;AACnC,cAAM,YAAY,OAAO,UAAU,OAAO,SAAS,qBAAqB;AAExE,eAAO;AAAA,UACL,OAAO;AAAA,YACL;AAAA,YACA;AAAA,cACE,qCAAqC;AAAA,cACrC,uCAAuC,OAAO,YAAY;AAAA,YAAA;AAAA,UAC5D;AAAA,UAEF,SAAS,MAAM,aAAa,MAAM;AAAA,UAClC,UAAU,OAAO,YAAY;AAAA,UAC7B,OAAO,OAAO;AAAA,QAAA;AAAA,MAElB,CAAC;AAAA,IAAA;AAGH,UAAM,iBAAiB;AAAA,MAAS,MAC9B,aAAa,QAAQ,aAAa,MAAM,UAAU,OAAO,SAAS,KAAK,CAAA,IAAK,aAAa;AAAA,IAAA;AAG3F,UAAM,aAAa,SAAS,MAAM,MAAM,YAAY,MAAM,cAAc,UAAU,KAAK;AACvF,UAAM,kBAAkB,SAAS,MAAM,MAAM,UAAU;AACvD,UAAM,oBAAoB,SAAS,MAAM,MAAM,QAAQ,SAAS,CAAC;AACjE,UAAM,eAAe,SAAS,MAAM,MAAM,QAAQ,eAAe,MAAM,OAAO,CAAC;AAE/E,UAAM,YAAY,SAAS,MAAM;AAAA,MAC/B;AAAA,MACA,eAAe,MAAM,OAAO;AAAA,MAC5B;AAAA,QACE,wBAAwB,WAAW;AAAA,QACnC,2BAA2B,MAAM;AAAA,QACjC,uBAAuB,CAAC,CAAC,aAAa;AAAA,MAAA;AAAA,IACxC,CACD;AAED;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,WAAW;AACV,YAAI,CAAC,QAAQ;AACX,uBAAa,QAAQ;AAAA,QACvB;AAEA,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA;AAGF,UAAM,YAAY,CAAC,aAAa;AAC9B,UAAI,CAAC,UAAU;AACb,qBAAa,QAAQ;AAAA,MACvB;AAEA,WAAK,mBAAmB,QAAQ;AAAA,IAClC,CAAC;AAED;AAAA,MACE,MAAM,aAAa;AAAA,MACnB,MAAM;AACJ,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA;AAGF,cAAU,MAAM;AACd,eAAS,iBAAiB,eAAe,yBAAyB;AAAA,IACpE,CAAC;AAED,oBAAgB,MAAM;AACpB,eAAS,oBAAoB,eAAe,yBAAyB;AAAA,IACvE,CAAC;AAED,aAAS,UAAU,MAAqB;AACtC,aAAO,KAAK,YAAY;AAAA,IAC1B;AAEA,aAAS,mBAAmB,MAAqB;AAC/C,cAAQ,KAAK,YAAY,CAAA,GAAI,KAAK,SAAS;AAAA,IAC7C;AAEA,aAAS,WAAW,OAAgB;AAClC,UAAI,CAAC,MAAM,iBAAiB,MAAM,YAAY;AAC5C;AAAA,MACF;AAEA,gBAAU,QAAQ;AAClB,UAAI,CAAC,OAAO;AACV,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF;AAEA,aAAS,gBAAgB,MAAqB;AAC5C,UAAI,KAAK,UAAU;AACjB;AAAA,MACF;AAEA,UAAI,mBAAmB,IAAI,GAAG;AAC5B,qBAAa,QAAQ;AACrB;AAAA,MACF;AAEA,WAAK,cAAc,IAAI;AAAA,IACzB;AAEA,aAAS,SAAS;AAChB,mBAAa,QAAQ;AAAA,IACvB;AAEA,aAAS,cAAc;AACrB,mBAAa,QAAQ;AACrB,uBAAiB,QAAQ;AACzB,WAAK,cAAc;AAAA,IACrB;AAEA,aAAS,mBAAmB;AAC1B,UAAI,CAAC,kBAAkB,SAAS,CAAC,WAAW,OAAO;AACjD;AAAA,MACF;AAEA,uBAAiB,QAAQ,CAAC,iBAAiB;AAAA,IAC7C;AAEA,aAAS,aAAa,QAAyB;AAC7C,UAAI,OAAO,UAAU;AACnB;AAAA,MACF;AAEA,uBAAiB,QAAQ;AACzB,WAAK,iBAAiB,MAAM;AAE5B,UAAI,MAAM,0BAA0B,OAAO,WAAW,eAAe,OAAO,MAAM;AAChF,eAAO,SAAS,OAAO,OAAO;AAAA,MAChC;AAAA,IACF;AAEA,aAAS,0BAA0B,OAAqB;AACtD,UAAI,CAAC,iBAAiB,SAAS,CAAC,YAAY,OAAO;AACjD;AAAA,MACF;AAEA,UAAI,CAAC,YAAY,MAAM,SAAS,MAAM,MAAc,GAAG;AACrD,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF;;0BAIER,mBA8JQ,SAAA;AAAA,iBA7JF;AAAA,QAAJ,KAAI;AAAA,QACH,cAAY,QAAA;AAAA,QACZ,sBAAO,UAAA,KAAS;AAAA,QAChB,oDAAY,WAAU,IAAA;AAAA,QACtB,oDAAY,WAAU,KAAA;AAAA,MAAA;QAEvBS,WAkEO,KAAA,QAAA,UAAA;AAAA,UAhEJ,UAAU,WAAA;AAAA,UACV,cAAe,aAAA;AAAA,UACf;AAAA,UACA;AAAA,QAAA,GALH,MAkEO;AAAA,UA3DLP,mBAiDS,UAjDT,YAiDS;AAAA,YAhDPA,mBA8BM,OAAA;AAAA,cA7BH,OAAKK,eAAA;AAAA;;gDAA+F,kBAAA;AAAA,gBAAA;AAAA;;cAQ7F,kBAAA,sBADRP,mBAgBS,UAAA;AAAA;gBAdP,OAAM;AAAA,gBACN,MAAK;AAAA,gBACJ,iBAAe,iBAAA;AAAA,gBAChB,iBAAc;AAAA,gBACb,SAAO;AAAA,cAAA;gBAERK,YAA+BC,MAAAE,WAAA,GAAA,EAAtB,MAAM,aAAA,MAAA,GAAY,MAAA,GAAA,CAAA,MAAA,CAAA;AAAA,gBAC3BN,mBAAiE,QAAjE,YAAiEQ,gBAA9B,qBAAA,KAAoB,GAAA,CAAA;AAAA,gBACvDL,YAKEC,MAAAE,WAAA,GAAA;AAAA,kBAJA,OAAM;AAAA,kBACL,MAAM,iBAAA,QAAgB,kBAAA;AAAA,kBACvB,OAAM;AAAA,kBACN,MAAK;AAAA,gBAAA;iDAITR,mBAGWuB,UAAA,EAAA,KAAA,KAAA;AAAA,gBAFTlB,YAA+BC,MAAAE,WAAA,GAAA,EAAtB,MAAM,aAAA,MAAA,GAAY,MAAA,GAAA,CAAA,MAAA,CAAA;AAAA,gBAC3BN,mBAAiE,QAAjE,YAAiEQ,gBAA9B,qBAAA,KAAoB,GAAA,CAAA;AAAA,cAAA;;YAI3DD,WAeO,KAAA,QAAA,iBAAA;AAAA,cAbJ,cAAe,aAAA;AAAA,cACf;AAAA,cACA;AAAA,YAAA,GAJH,MAeO;AAAA,cARG,gBAAA,sBADRT,mBAQS,UAAA;AAAA;gBANP,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,cAAW;AAAA,gBACV,SAAO;AAAA,cAAA;gBAERK,YAAuBC,MAAAE,WAAA,GAAA,EAAf,MAAK,SAAO;AAAA,cAAA;;;UAMlB,kBAAA,SAAqB,iBAAA,sBAD7BG,YAOEL,MAAA,IAAA,GAAA;AAAA;YALA,OAAM;AAAA,YACL,OAAO,gBAAA;AAAA,YACP,IAAI;AAAA;;UAEJ;;QAILJ,mBAkFM,OAlFN,YAkFM;AAAA,UAjFJA,mBA+CM,OA/CN,YA+CM;AAAA,YA9CJA,mBA6CK,MA7CL,YA6CK;AAAA,cA5CO,aAAA,SAAVH,UAAA,GAAAC,mBAaK,MAbL,YAaK;AAAA,gBAZHE,mBAWS,UAAA;AAAA,kBAVP,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,+CAAO,OAAA;AAAA,gBAAM;kBAEdG,YAIEC,MAAAE,WAAA,GAAA;AAAA,oBAHA,OAAM;AAAA,oBACN,MAAK;AAAA,oBACJ,MAAM;AAAA,kBAAA;kBAETN,mBAAoE,QAApE,aAAoEQ,gBAA5B,aAAA,MAAa,KAAK,GAAA,CAAA;AAAA,gBAAA;;gCAG9DV,mBA6BKuB,UAAA,MAAAC,WA7Bc,eAAA,OAAc,CAAtB,SAAI;oCAAfxB,mBA6BK,MAAA;AAAA,kBA7B+B,KAAK,KAAK;AAAA,kBAAI,OAAM;AAAA,gBAAA;kBACtDE,mBA2BS,UAAA;AAAA,oBA1BN,OAAKK,eAAA;AAAA;;wBAAwG,4BAAA,KAAK;AAAA,wBAAwD,8BAAA,KAAK;AAAA,wBAAwD,4BAAA,mBAAmB,IAAI;AAAA,sBAAA;AAAA;oBAQ/P,MAAK;AAAA,oBACJ,UAAU,KAAK;AAAA,oBACf,SAAK,CAAA,WAAE,gBAAgB,IAAI;AAAA,kBAAA;oBAE5BE,WAaO,KAAA,QAAA,QAAA;AAAA,sBAbY;AAAA,sBAAa,UAAU,WAAA;AAAA,oBAAA,GAA1C,MAaO;AAAA,sBAXG,KAAK,qBADbE,YAIEL,MAAAE,WAAA,GAAA;AAAA;wBAFA,OAAM;AAAA,wBACL,MAAM,KAAK;AAAA,sBAAA;sBAEdN,mBAA4D,QAA5D,aAA4DQ,gBAApB,KAAK,KAAK,GAAA,CAAA;AAAA,sBAE1C,mBAAmB,IAAI,kBAD/BC,YAKEL,MAAAE,WAAA,GAAA;AAAA;wBAHA,OAAM;AAAA,wBACN,MAAK;AAAA,wBACL,MAAK;AAAA,sBAAA;;;;;;;UAQjBC,WA+BO,KAAA,QAAA,UAAA;AAAA,YA/Bc,OAAO,mBAAA;AAAA,YAAqB,UAAU,WAAA;AAAA,UAAA,GAA3D,MA+BO;AAAA,YA7BG,mBAAA,MAAmB,SAAM,KADjCV,aAAAC,mBA6BM,OA7BN,aA6BM;AAAA,cAxBJE,mBAuBK,MAvBL,aAuBK;AAAA,kCAtBHF,mBAqBKuB,UAAA,MAAAC,WArBc,mBAAA,OAAkB,CAA1B,SAAI;sCAAfxB,mBAqBK,MAAA;AAAA,oBArBmC,KAAK,KAAK;AAAA,oBAAI,OAAM;AAAA,kBAAA;oBAC1DE,mBAmBS,UAAA;AAAA,sBAlBN,OAAKK,eAAA;AAAA;;;0BAA4J,4BAAA,KAAK;AAAA,0BAA0D,8BAAA,KAAK;AAAA,wBAAA;AAAA;sBAQtO,MAAK;AAAA,sBACJ,UAAU,KAAK;AAAA,sBACf,SAAK,CAAA,WAAE,gBAAgB,IAAI;AAAA,oBAAA;sBAGpB,KAAK,qBADbI,YAIEL,MAAAE,WAAA,GAAA;AAAA;wBAFA,OAAM;AAAA,wBACL,MAAM,KAAK;AAAA,sBAAA;sBAEdN,mBAA4D,QAA5D,aAA4DQ,gBAApB,KAAK,KAAK,GAAA,CAAA;AAAA,oBAAA;;;;;;;;;;;AC5V3D,MAAM,aAAa,CAACiB,aAAmBnB,aAAQoB,SAAS;AAExD,MAAM,iBAAyB;AAAA,EACpC,QAAQ,KAAU;AAChB,eAAW,aAAa,YAAY;AAClC,UAAI,UAAU,UAAU,QAAQ,IAAI,SAAS;AAAA,IAC/C;AAAA,EACF;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","../src/components/RsIconPicker/iconCatalog.ts","../src/components/RsIconPicker/RsIconPicker.vue"],"names":["_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_3","_hoisted_5","_createVNode","_unref","_normalizeClass","RsIcon","_renderSlot","_toDisplayString","_createBlock","_Teleport","_normalizeStyle","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_Fragment","_renderList","_mergeProps","_withModifiers","_hoisted_2","_hoisted_4","RsAccountSelector","RsSidebar"],"mappings":"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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;;;;;;;;;;;;;;;;;;ACjYA,UAAM,OAAO;AAIb,UAAM,OAAO,IAAwB,IAAI;AACzC,UAAM,SAAS,IAAI,KAAK;AACxB,UAAM,SAAS,IAAI,EAAE;AAErB,UAAM,gBAAgB;AAAA,MAAS,MAC7B,OAAO,QACH,YAAY,OAAO,CAAC,SAAS,KAAK,SAAS,OAAO,MAAM,YAAA,CAAa,CAAC,IACtE;AAAA,IAAA;AAGN,aAAS,aAAa;AACpB,aAAO,QAAQ,CAAC,OAAO;AAAA,IACzB;AAEA,aAAS,WAAW,MAAc;AAChC,WAAK,qBAAqB,IAAI;AAC9B,aAAO,QAAQ;AAAA,IACjB;AAEA,aAAS,gBAAgB,GAAe;AACtC,UAAI,OAAO,SAAS,KAAK,SAAS,CAAC,KAAK,MAAM,SAAS,EAAE,MAAc,GAAG;AACxE,eAAO,QAAQ;AAAA,MACjB;AAAA,IACF;AAEA,cAAU,MAAM,SAAS,iBAAiB,SAAS,eAAe,CAAC;AACnE,oBAAgB,MAAM,SAAS,oBAAoB,SAAS,eAAe,CAAC;;0BAI1E9B,mBAmCM,OAAA;AAAA,iBAnCG;AAAA,QAAJ,KAAI;AAAA,QAAO,OAAM;AAAA,MAAA;QACpBE,mBAYM,OAAA;AAAA,UAXJ,OAAKK,eAAA,CAAC,2BAAyB,EAAA,oCACe,QAAA,QAAA,CAAO,CAAA;AAAA,UACpD,SAAO;AAAA,QAAA;UAERL,mBAKM,OALN,YAKM;AAAA,YAJU,QAAA,2BAAdS,YAA+CL,MAAAE,WAAA,GAAA;AAAA;cAApB,MAAM,QAAA;AAAA,YAAA;YACjCN,mBAEO,QAAA;AAAA,cAFA,wDAAyC,QAAA,YAAU;AAAA,YAAA,GACrDQ,gBAAA,QAAA,cAAc,QAAA,WAAW,GAAA,CAAA;AAAA,UAAA;UAGhCL,YAA+DC,MAAAE,WAAA,GAAA;AAAA,YAAtD,MAAM,OAAA,QAAM,kBAAA;AAAA,UAAA;;QAGZ,OAAA,SAAXT,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,yBAlBJE,mBAKE,SAAA;AAAA,yEAJS,OAAM,QAAA;AAAA,YACf,OAAM;AAAA,YACN,aAAY;AAAA,YACX,iDAAD,MAAA;AAAA,YAAA,GAAW,CAAA,MAAA,CAAA;AAAA,UAAA;yBAHF,OAAA,KAAM;AAAA,UAAA;UAKjBA,mBAWM,OAXN,YAWM;AAAA,8BAVJF,mBASMuB,UAAA,MAAAC,WARW,cAAA,OAAa,CAArB,SAAI;kCADbxB,mBASM,OAAA;AAAA,gBAPH,KAAK;AAAA,gBACN,OAAKO,eAAA,CAAC,wBAAsB,EAAA,kCACgB,SAAS,QAAA,WAAA,CAAU,CAAA;AAAA,gBAC9D,OAAO;AAAA,gBACP,SAAKmB,cAAA,CAAA,WAAO,WAAW,IAAI,GAAA,CAAA,MAAA,CAAA;AAAA,cAAA;gBAE5BrB,YAAuBC,MAAAE,WAAA,GAAA,EAAd,KAAA,GAAU,MAAA,GAAA,CAAA,MAAA,CAAA;AAAA,cAAA;;;;;;;;"}
package/dist/vite.d.ts CHANGED
@@ -15,7 +15,8 @@ export type RobosophyMaterialSymbolsOptions = {
15
15
  roots?: string[];
16
16
  scan?: boolean;
17
17
  };
18
- type IconUsageMap = Map<RsIconFamily, Map<string, Set<number>>>;
18
+ type IconVariantKey = `${number}:${0 | 1}:${number}`;
19
+ type IconUsageMap = Map<RsIconFamily, Map<string, Set<IconVariantKey>>>;
19
20
  export declare function robosophyMaterialSymbols(options?: RobosophyMaterialSymbolsOptions): Plugin;
20
21
  export declare function collectMaterialSymbolUsages(config: Pick<ResolvedConfig, "root">, options?: RobosophyMaterialSymbolsOptions): Promise<IconUsageMap>;
21
22
  export declare function buildMaterialSymbolsCss(iconClasses: string): HtmlTagDescriptor[];
@@ -1 +1 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAIA,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,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAyBhE,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CAwHR;AA4LD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EACpC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAwDvB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,GAClB,iBAAiB,EAAE,CAUrB;AA8kBD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAY1E"}
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAIA,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,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,cAAc,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;AACrD,KAAK,YAAY,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAwCxE,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,MAAM,CA+GR;AAmMD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EACpC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAkDvB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,GAClB,iBAAiB,EAAE,CAUrB;AAyoBD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAY1E"}
package/dist/vite.js CHANGED
@@ -21,9 +21,21 @@ const CACHE_BASE = join("node_modules", ".cache", "robosophy-svgs");
21
21
  const BASE_OPSZ = 24;
22
22
  const DEFAULT_WEIGHT = 400;
23
23
  const GRADE_VARIANTS = [0, -25, 200];
24
+ function variantKey(grade, fill, weight) {
25
+ return `${clampGrade(grade)}:${fill ? 1 : 0}:${weight}`;
26
+ }
27
+ function parseVariantKey(key) {
28
+ const [grade, fill, weight] = key.split(":").map(Number);
29
+ return { grade, fill: fill === 1, weight };
30
+ }
31
+ function clampGrade(grade) {
32
+ return GRADE_VARIANTS.reduce(
33
+ (nearest, g) => Math.abs(g - grade) < Math.abs(nearest - grade) ? g : nearest
34
+ );
35
+ }
24
36
  function robosophyMaterialSymbols(options = {}) {
25
37
  const raw = (options.outputDir ?? "").trim().replace(/^\/+/, "");
26
- const outputDir = raw.split("/").filter((part) => part && part !== "..").join("/") || "assets";
38
+ raw.split("/").filter((part) => part && part !== "..").join("/") || "assets";
27
39
  let config;
28
40
  let cacheDir;
29
41
  let cachedAssets = null;
@@ -32,9 +44,9 @@ function robosophyMaterialSymbols(options = {}) {
32
44
  function usageMapKey(usages) {
33
45
  const parts = [];
34
46
  for (const family of families) {
35
- const iconWeights = usages.get(family);
36
- if (!iconWeights || iconWeights.size === 0) continue;
37
- const entries = [...iconWeights.entries()].map(([name, weights]) => `${name}[${[...weights].sort().join(",")}]`).sort();
47
+ const iconVariants = usages.get(family);
48
+ if (!iconVariants || iconVariants.size === 0) continue;
49
+ const entries = [...iconVariants.entries()].map(([name, variants]) => `${name}[${[...variants].sort().join(";")}]`).sort();
38
50
  parts.push(`${family}:${entries.join(",")}`);
39
51
  }
40
52
  return parts.join("|") || "(empty)";
@@ -111,37 +123,23 @@ function robosophyMaterialSymbols(options = {}) {
111
123
  }
112
124
  });
113
125
  },
114
- async generateBundle(_outputOptions) {
115
- const assets = await getAssets();
116
- if (assets.fullSprite) {
117
- this.emitFile({
118
- fileName: `${outputDir}/rs-material-symbols.svg`,
119
- name: "rs-material-symbols.svg",
120
- source: assets.fullSprite,
121
- type: "asset"
122
- });
123
- }
126
+ async generateBundle() {
124
127
  }
125
128
  };
126
129
  }
127
- function buildSvgVariants(weight = DEFAULT_WEIGHT) {
128
- const variants = [];
129
- for (const grade of GRADE_VARIANTS) {
130
- const gradeSuffix = grade === 0 ? "" : grade > 0 ? `grad${grade}` : `gradN${Math.abs(grade)}`;
131
- const symbolGradeSuffix = grade === 0 ? "" : `-${gradeSuffix}`;
132
- for (const fill of [false, true]) {
133
- const fillSuffix = fill ? "fill1" : "";
134
- const symbolFillSuffix = fill ? "-fill" : "";
135
- const weightSuffix = weight !== DEFAULT_WEIGHT ? `wght${weight}` : "";
136
- const weightSymbolSuffix = weight !== DEFAULT_WEIGHT ? `-wght${weight}` : "";
137
- const parts = [gradeSuffix, fillSuffix, weightSuffix].filter(Boolean);
138
- variants.push({
139
- suffix: parts.length > 0 ? `${parts.join("")}_${BASE_OPSZ}px` : `${BASE_OPSZ}px`,
140
- symbolSuffix: `${symbolGradeSuffix}${symbolFillSuffix}${weightSymbolSuffix}`
141
- });
142
- }
143
- }
144
- return variants;
130
+ function buildSvgVariant(grade, fill, weight = DEFAULT_WEIGHT) {
131
+ const clampedGrade = clampGrade(grade);
132
+ const gradeSuffix = clampedGrade === 0 ? "" : clampedGrade > 0 ? `grad${clampedGrade}` : `gradN${Math.abs(clampedGrade)}`;
133
+ const symbolGradeSuffix = clampedGrade === 0 ? "" : `-${gradeSuffix}`;
134
+ const fillSuffix = fill ? "fill1" : "";
135
+ const symbolFillSuffix = fill ? "-fill" : "";
136
+ const weightSuffix = weight !== DEFAULT_WEIGHT ? `wght${weight}` : "";
137
+ const weightSymbolSuffix = weight !== DEFAULT_WEIGHT ? `-wght${weight}` : "";
138
+ const parts = [gradeSuffix, fillSuffix, weightSuffix].filter(Boolean);
139
+ return {
140
+ suffix: parts.length > 0 ? `${parts.join("")}_${BASE_OPSZ}px` : `${BASE_OPSZ}px`,
141
+ symbolSuffix: `${symbolGradeSuffix}${symbolFillSuffix}${weightSymbolSuffix}`
142
+ };
145
143
  }
146
144
  function buildSvgUrl(name, family, suffix) {
147
145
  const style = family === "outlined" ? "materialsymbolsoutlined" : family === "rounded" ? "materialsymbolsrounded" : "materialsymbolssharp";
@@ -193,42 +191,48 @@ function parseSvgPaths(svgContent) {
193
191
  async function generateSpriteAssets(usages, cacheDir, config) {
194
192
  const symbols = [];
195
193
  const iconClasses = [];
194
+ const skipped = /* @__PURE__ */ new Map();
196
195
  let totalFetched = 0;
197
196
  let totalBytes = 0;
198
197
  for (const family of families) {
199
- const iconWeights = usages.get(family);
200
- if (!iconWeights || iconWeights.size === 0) continue;
201
- for (const [name, weights] of [...iconWeights.entries()].sort()) {
202
- for (const weight of [...weights].sort()) {
203
- const variants = buildSvgVariants(weight);
204
- for (const variant of variants) {
205
- const symbolId = buildSymbolId(name, family, variant.symbolSuffix);
206
- const url = buildSvgUrl(name, family, variant.suffix);
207
- const cacheKey = createHash("sha256").update(url).digest("hex").slice(0, 12);
208
- let svgContent = cacheDir ? await loadSvgFromCache(cacheDir, cacheKey) : null;
198
+ const iconVariants = usages.get(family);
199
+ if (!iconVariants || iconVariants.size === 0) continue;
200
+ for (const [name, variants] of [...iconVariants.entries()].sort()) {
201
+ for (const key of [...variants].sort()) {
202
+ const { grade, fill, weight } = parseVariantKey(key);
203
+ const variant = buildSvgVariant(grade, fill, weight);
204
+ const symbolId = buildSymbolId(name, family, variant.symbolSuffix);
205
+ const url = buildSvgUrl(name, family, variant.suffix);
206
+ const cacheKey = createHash("sha256").update(url).digest("hex").slice(0, 12);
207
+ let svgContent = cacheDir ? await loadSvgFromCache(cacheDir, cacheKey) : null;
208
+ if (!svgContent) {
209
+ svgContent = await fetchSvg(url);
209
210
  if (!svgContent) {
210
- svgContent = await fetchSvg(url);
211
- if (!svgContent) continue;
212
- if (cacheDir) {
213
- await saveSvgToCache(cacheDir, cacheKey, svgContent);
214
- }
211
+ skipped.set(`${family}/${name}`, "fetch falló");
212
+ continue;
213
+ }
214
+ if (cacheDir) {
215
+ await saveSvgToCache(cacheDir, cacheKey, svgContent);
215
216
  }
216
- const pathContent = parseSvgPaths(svgContent);
217
- if (!pathContent) continue;
218
- symbols.push(
219
- `<symbol id="${symbolId}" viewBox="0 -960 960 960" fill="currentColor">${pathContent}</symbol>`
220
- );
221
- totalFetched++;
222
- totalBytes += svgContent.length;
223
217
  }
218
+ const pathContent = parseSvgPaths(svgContent);
219
+ if (!pathContent) {
220
+ skipped.set(`${family}/${name}`, "sin viewBox / formato viejo");
221
+ continue;
222
+ }
223
+ symbols.push(
224
+ `<symbol id="${symbolId}" viewBox="0 -960 960 960" fill="currentColor">${pathContent}</symbol>`
225
+ );
226
+ totalFetched++;
227
+ totalBytes += svgContent.length;
224
228
  }
225
229
  }
226
230
  }
227
231
  const iconNames = /* @__PURE__ */ new Set();
228
232
  for (const family of families) {
229
- const iconWeights = usages.get(family);
230
- if (iconWeights) {
231
- for (const name of iconWeights.keys()) {
233
+ const iconVariants = usages.get(family);
234
+ if (iconVariants) {
235
+ for (const name of iconVariants.keys()) {
232
236
  iconNames.add(name);
233
237
  }
234
238
  }
@@ -240,6 +244,13 @@ async function generateSpriteAssets(usages, cacheDir, config) {
240
244
  const fullSprite = `<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">${spriteContent}</svg>`;
241
245
  const css = iconClasses.join("\n");
242
246
  const totalIcons = [...usages.values()].reduce((sum, m) => sum + m.size, 0);
247
+ if (skipped.size > 0) {
248
+ const lines = [...skipped.entries()].map(([key, reason]) => `${key} (${reason})`);
249
+ config.logger.warn(
250
+ `[robosophy-material-symbols] ${skipped.size} íconos omitidos, van a renderizar vacíos:
251
+ ${lines.join("\n ")}`
252
+ );
253
+ }
243
254
  if (totalIcons > 0) {
244
255
  const summary = formatDetectedMaterialSymbols(usages);
245
256
  config.logger.info(
@@ -275,13 +286,7 @@ async function collectMaterialSymbolUsages(config, options = {}) {
275
286
  }
276
287
  for (const icon of options.include ?? []) {
277
288
  const resolved = typeof icon === "string" ? { family: defaultFamily, name: icon } : icon;
278
- if (resolved.weight !== void 0) {
279
- addUsage(usages, resolved);
280
- } else {
281
- for (const w of VALID_WEIGHTS) {
282
- addUsage(usages, { ...resolved, weight: w });
283
- }
284
- }
289
+ addUsage(usages, resolved);
285
290
  }
286
291
  if (options.scan !== false) {
287
292
  const roots = options.roots ?? [join(config.root, "src")];
@@ -428,24 +433,41 @@ function findEnclosingObject(source, fromIndex) {
428
433
  }
429
434
  return null;
430
435
  }
436
+ function isDynamicNonLiteral(attrs, name) {
437
+ const bound = attrs[`:${name}`];
438
+ if (bound === void 0) return false;
439
+ if (bound === "true" || bound === "false" || /^-?\d+$/.test(bound.trim())) return false;
440
+ return true;
441
+ }
431
442
  function collectFromSource(source, usages) {
432
443
  const rsIconTagPattern = /<RsIcon\b([\s\S]*?)>/g;
433
444
  let tagMatch;
434
445
  while (tagMatch = rsIconTagPattern.exec(source)) {
435
- const attrs = parseStaticAttributes(tagMatch[1] ?? "");
446
+ const attrsSource = tagMatch[1] ?? "";
447
+ const attrs = parseStaticAttributes(attrsSource);
436
448
  const rawName = attrs.name ?? attrs[":name"];
437
449
  const hasFamily = "family" in attrs || ":family" in attrs;
438
450
  const rawFamily = attrs.family ?? attrs[":family"] ?? "";
439
- const rawWeight = attrs.weight ?? attrs[":weight"] ?? "";
440
- const weight = rawWeight ? parseInt(rawWeight, 10) : DEFAULT_WEIGHT;
441
- const resolvedWeight = !isNaN(weight) && weight > 0 ? weight : DEFAULT_WEIGHT;
451
+ const weight = parseNumberAttr(attrs, "weight", DEFAULT_WEIGHT);
452
+ const resolvedWeight = weight > 0 ? weight : DEFAULT_WEIGHT;
453
+ const fill = parseBooleanAttr(attrs, attrsSource, "fill");
454
+ const grade = parseNumberAttr(attrs, "grade", 0);
442
455
  if (rawName) {
443
456
  const isNameDynamic = ":name" in attrs;
444
457
  const familyList = resolveFamilies(rawFamily, hasFamily);
445
458
  const names = resolveNames(rawName, isNameDynamic);
459
+ const fills = isDynamicNonLiteral(attrs, "fill") ? [false, true] : [fill];
460
+ const grades = isDynamicNonLiteral(attrs, "grade") ? [...GRADE_VARIANTS] : [grade];
461
+ const weights = isDynamicNonLiteral(attrs, "weight") ? [...VALID_WEIGHTS] : [resolvedWeight];
446
462
  for (const family of familyList) {
447
463
  for (const name of names) {
448
- addUsage(usages, { family, name, weight: resolvedWeight });
464
+ for (const g of grades) {
465
+ for (const f of fills) {
466
+ for (const w of weights) {
467
+ addUsage(usages, { family, name, grade: g, fill: f, weight: w });
468
+ }
469
+ }
470
+ }
449
471
  }
450
472
  }
451
473
  }
@@ -468,10 +490,14 @@ function collectFromSource(source, usages) {
468
490
  const cleanBody = obj.body.replace(/\/\/.*/g, "").replace(/\/\*[\s\S]*?\*\//g, "");
469
491
  const weightMatch = cleanBody.match(/\bweight\s*:\s*(\d+)/);
470
492
  const familyMatch = cleanBody.match(/\bfamily\s*:\s*["'](\w+)["']/);
493
+ const fillMatch = cleanBody.match(/\bfill\s*:\s*(true|false)/);
494
+ const gradeMatch = cleanBody.match(/\bgrade\s*:\s*(-?\d+)/);
471
495
  addUsage(usages, {
472
496
  family: familyMatch ? familyMatch[1] : defaultFamily,
473
497
  name,
474
- weight: weightMatch ? parseInt(weightMatch[1], 10) : void 0
498
+ weight: weightMatch ? parseInt(weightMatch[1], 10) : void 0,
499
+ fill: fillMatch ? fillMatch[1] === "true" : void 0,
500
+ grade: gradeMatch ? parseInt(gradeMatch[1], 10) : void 0
475
501
  });
476
502
  } else {
477
503
  addUsage(usages, { family: defaultFamily, name });
@@ -485,10 +511,14 @@ function collectFromSource(source, usages) {
485
511
  const line = lineEnd === -1 ? source.slice(magicMatch.index) : source.slice(magicMatch.index, lineEnd);
486
512
  const familyMatch = line.match(/\bfamily\s*=\s*["']?(\w+)["']?/);
487
513
  const weightMatch = line.match(/\bweight\s*=\s*(\d+)/);
514
+ const fillMatch = line.match(/\bfill\s*=\s*(true|false)/);
515
+ const gradeMatch = line.match(/\bgrade\s*=\s*(-?\d+)/);
488
516
  addUsage(usages, {
489
517
  family: familyMatch ? familyMatch[1] : defaultFamily,
490
518
  name,
491
- weight: weightMatch ? parseInt(weightMatch[1], 10) : void 0
519
+ weight: weightMatch ? parseInt(weightMatch[1], 10) : void 0,
520
+ fill: fillMatch ? fillMatch[1] === "true" : void 0,
521
+ grade: gradeMatch ? parseInt(gradeMatch[1], 10) : void 0
492
522
  });
493
523
  }
494
524
  const iconArrayPattern = /(?:const|let|var)\s+(\w*[Ii]con\w*)\s*=\s*\[/g;
@@ -684,6 +714,20 @@ function collectProxyIconUsages(source, proxyComponents, usages) {
684
714
  }
685
715
  }
686
716
  }
717
+ function parseBooleanAttr(attrs, raw, name) {
718
+ const bound = attrs[`:${name}`];
719
+ if (bound === "false") return false;
720
+ if (bound === "true" || bound === "") return true;
721
+ const staticVal = attrs[name];
722
+ if (staticVal === "false") return false;
723
+ if (staticVal === "true" || staticVal === "") return true;
724
+ return new RegExp(`(?:^|\\s)${name}(?:\\s|$|(?==))`).test(raw);
725
+ }
726
+ function parseNumberAttr(attrs, name, fallback) {
727
+ const raw = attrs[name] ?? attrs[`:${name}`] ?? "";
728
+ const parsed = parseInt(raw, 10);
729
+ return !isNaN(parsed) ? parsed : fallback;
730
+ }
687
731
  function parseStaticAttributes(source) {
688
732
  const attrs = {};
689
733
  const attrPattern = /([:@\w-]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
@@ -701,17 +745,20 @@ function addUsage(usages, icon) {
701
745
  const family = icon.family ?? defaultFamily;
702
746
  const name = icon.name.trim();
703
747
  const weight = icon.weight ?? DEFAULT_WEIGHT;
748
+ const fill = icon.fill ?? false;
749
+ const grade = icon.grade ?? 0;
704
750
  if (!families.includes(family) || !iconNamePattern.test(name)) {
705
751
  return;
706
752
  }
707
753
  if (!VALID_WEIGHTS.includes(weight)) return;
708
754
  const iconMap = usages.get(family);
709
755
  if (!iconMap) return;
756
+ const key = variantKey(grade, fill, weight);
710
757
  const existing = iconMap.get(name);
711
758
  if (existing) {
712
- existing.add(weight);
759
+ existing.add(key);
713
760
  } else {
714
- iconMap.set(name, /* @__PURE__ */ new Set([weight]));
761
+ iconMap.set(name, /* @__PURE__ */ new Set([key]));
715
762
  }
716
763
  }
717
764
  async function loadIconManifest() {
@@ -786,9 +833,9 @@ async function listSourceFiles(root) {
786
833
  }
787
834
  function formatDetectedMaterialSymbols(usages) {
788
835
  return families.map((family) => {
789
- const iconWeights = usages.get(family);
790
- if (!iconWeights || iconWeights.size === 0) return `${family}: (none)`;
791
- const entries = [...iconWeights.entries()].map(([name, weights]) => `${name}[${[...weights].sort().join(",")}]`).sort().join(", ");
836
+ const iconVariants = usages.get(family);
837
+ if (!iconVariants || iconVariants.size === 0) return `${family}: (none)`;
838
+ const entries = [...iconVariants.entries()].map(([name, variants]) => `${name}[${[...variants].sort().join(";")}]`).sort().join(", ");
792
839
  return `${family}: ${entries}`;
793
840
  }).join("\n");
794
841
  }