@tekkare/romulus 0.1.94 → 0.1.96

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.
Files changed (71) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/assets/styles/base.css +1 -1
  3. package/dist/runtime/assets/styles/chrome.css +1 -1
  4. package/dist/runtime/assets/styles/components.css +1 -1
  5. package/dist/runtime/assets/styles/shell.css +1 -1
  6. package/dist/runtime/assets/styles/tokens.css +1 -1
  7. package/dist/runtime/components/A11yPanel.vue +81 -12
  8. package/dist/runtime/components/AccordionMenu.vue +1 -1
  9. package/dist/runtime/components/ActionBar.vue +1 -1
  10. package/dist/runtime/components/AdvancedSearch.vue +1 -1
  11. package/dist/runtime/components/AiChat.vue +1 -1
  12. package/dist/runtime/components/AppFooter.vue +1 -1
  13. package/dist/runtime/components/AppSidebar.vue +1 -1
  14. package/dist/runtime/components/Breadcrumb.vue +1 -1
  15. package/dist/runtime/components/Button.vue +1 -1
  16. package/dist/runtime/components/ChaptersNav.vue +1 -1
  17. package/dist/runtime/components/Checkbox.vue +1 -1
  18. package/dist/runtime/components/CircleAmount.vue +1 -1
  19. package/dist/runtime/components/ComplexSelect.vue +1 -1
  20. package/dist/runtime/components/Drawer.vue +1 -1
  21. package/dist/runtime/components/DropdownSelect.vue +1 -1
  22. package/dist/runtime/components/EmptyState.vue +1 -1
  23. package/dist/runtime/components/ExportPanel.vue +1 -1
  24. package/dist/runtime/components/FileRow.vue +1 -1
  25. package/dist/runtime/components/FilterBar.vue +1 -1
  26. package/dist/runtime/components/FilterCheckbox.vue +1 -1
  27. package/dist/runtime/components/FilterComplex.vue +1 -1
  28. package/dist/runtime/components/FilterDropdown.vue +1 -1
  29. package/dist/runtime/components/FilterTabs.vue +1 -1
  30. package/dist/runtime/components/HybridTable.vue +1 -1
  31. package/dist/runtime/components/KpiBar.vue +1 -1
  32. package/dist/runtime/components/LangSelect.vue +1 -1
  33. package/dist/runtime/components/LoadingState.vue +1 -1
  34. package/dist/runtime/components/MainLayout.vue +1 -1
  35. package/dist/runtime/components/MenuItem.vue +1 -1
  36. package/dist/runtime/components/MenuLink.vue +1 -1
  37. package/dist/runtime/components/Modal.vue +1 -1
  38. package/dist/runtime/components/MultipleSelect.vue +1 -1
  39. package/dist/runtime/components/NavLink.vue +1 -1
  40. package/dist/runtime/components/Notes.vue +1 -1
  41. package/dist/runtime/components/NumberInput.vue +1 -1
  42. package/dist/runtime/components/PageHeader.vue +1 -1
  43. package/dist/runtime/components/Pill.vue +1 -1
  44. package/dist/runtime/components/PillTabs.vue +1 -1
  45. package/dist/runtime/components/ProductCard.vue +1 -1
  46. package/dist/runtime/components/ResultCard.vue +1 -1
  47. package/dist/runtime/components/ResultsLine.vue +1 -1
  48. package/dist/runtime/components/SavedViewCard.vue +1 -1
  49. package/dist/runtime/components/SavedViews.vue +1 -1
  50. package/dist/runtime/components/SearchBar.vue +1 -1
  51. package/dist/runtime/components/SectionCard.vue +1 -1
  52. package/dist/runtime/components/Segmented.vue +23 -4
  53. package/dist/runtime/components/SimpleBar.vue +1 -1
  54. package/dist/runtime/components/SourceCard.vue +1 -1
  55. package/dist/runtime/components/SourceLine.vue +1 -1
  56. package/dist/runtime/components/SubMenu.vue +1 -1
  57. package/dist/runtime/components/Switch.vue +1 -1
  58. package/dist/runtime/components/TabBar.vue +1 -1
  59. package/dist/runtime/components/Table.vue +1 -1
  60. package/dist/runtime/components/TableCard.vue +1 -1
  61. package/dist/runtime/components/Tabs.vue +28 -2
  62. package/dist/runtime/components/Tag.vue +1 -1
  63. package/dist/runtime/components/TagRow.vue +1 -1
  64. package/dist/runtime/components/TermsGate.vue +307 -0
  65. package/dist/runtime/components/Toolbar.vue +1 -1
  66. package/dist/runtime/components/ToolbarContent.vue +1 -1
  67. package/dist/runtime/components/ToolbarSources.vue +1 -1
  68. package/dist/runtime/components/Tooltip.vue +1 -1
  69. package/dist/runtime/components/ViewPill.vue +1 -1
  70. package/dist/runtime/components/ViewSelect.vue +1 -1
  71. package/package.json +1 -1
@@ -366,5 +366,5 @@ function onCardClick() {
366
366
  </template>
367
367
 
368
368
  <style scoped>
369
- .rm-view{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);padding:14px 18px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.rm-view:not(.rm-view--active):hover{background:var(--bg-hover);border-color:var(--color-accent-soft)}.rm-view--active{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.08);cursor:default}.rm-view__strip{background:var(--bg-hover);border-bottom:1px solid var(--border-soft);border-radius:7px 7px 0 0;color:var(--color-secondary);font-size:var(--font-11);font-weight:var(--weight-bold);gap:var(--space-8);letter-spacing:.06em;margin:-14px -18px var(--space-12);padding:var(--space-8) var(--space-16);text-transform:uppercase}.rm-view__head,.rm-view__strip{align-items:center;display:flex}.rm-view__head{gap:10px}.rm-view__icon{align-items:center;border-radius:var(--radius-md);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.rm-view__icon--primary{background:var(--bg-hover);color:var(--color-secondary)}.rm-view__icon--success{background:var(--color-success-bg);color:var(--color-success)}.rm-view__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.rm-view__icon--danger{background:var(--color-danger-bg);color:var(--color-danger)}.rm-view__icon--info{background:var(--color-info-bg);color:var(--color-info)}.rm-view__star{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;padding:0;width:28px}.rm-view__star:hover{background:var(--bg-hover)}.rm-view__star--on,.rm-view__star:hover{color:var(--color-warning)}.rm-view__title,.rm-view__title-edit{flex:1;font-size:var(--font-16);font-weight:var(--weight-bold);min-width:0}.rm-view__title-edit{background:var(--bg-surface);border:1px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;outline:none;padding:2px var(--space-8)}.rm-view__title-edit:focus{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12)}.rm-view__actions{align-items:center;display:flex;gap:var(--space-8)}.rm-view__badge{align-items:center;background:var(--color-success-bg);border-radius:var(--radius-pill);color:var(--color-success);display:inline-flex;font-size:var(--font-10);font-weight:var(--weight-bold);gap:var(--space-4);letter-spacing:.06em;padding:3px var(--space-8);text-transform:uppercase}.rm-view__menu-wrap{position:relative}.rm-view__more{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.rm-view__more:hover{background:var(--bg-hover);color:var(--text-primary)}.rm-view__menu-shade{inset:0;position:fixed;z-index:60}.rm-view__menu{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-width:200px;padding:var(--space-4);position:absolute;right:0;top:calc(100% + 6px);z-index:61}.rm-view__menu-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-13);gap:var(--space-8);padding:var(--space-8) var(--space-12);text-align:left;width:100%}.rm-view__menu-item:hover{background:var(--bg-hover);color:var(--color-secondary)}.rm-view__menu-item--danger{color:var(--color-danger)}.rm-view__menu-item--danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.rm-view__desc{color:var(--text-secondary);font-size:var(--font-13);margin:var(--space-8) 0 var(--space-12)}.rm-view__config{background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-6);margin:10px 0 var(--space-12);padding:10px 14px}.rm-view__row{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:var(--font-12);gap:14px}.rm-view__row-key{color:var(--text-muted);display:inline-flex;flex-shrink:0;font-size:var(--font-10);font-weight:var(--weight-semibold);letter-spacing:.04em;min-width:96px;padding-top:4px;text-transform:uppercase}.rm-view__row-key,.rm-view__row-val{align-items:center;gap:var(--space-6)}.rm-view__row-val{color:var(--text-primary);display:flex;flex:1 1 200px;flex-wrap:wrap;padding:2px 0}.rm-view__pill{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);display:inline-flex;font-size:var(--font-12);gap:var(--space-4);padding:5px 10px}.rm-view__pill-k{color:var(--color-primary);font-weight:var(--weight-semibold)}.rm-view__pill-tip{min-width:0}.rm-view__pill-tip :deep(.rm-tooltip__bubble){max-width:320px}.rm-view__pill-v{display:-webkit-box;-webkit-box-orient:vertical;color:var(--text-primary);font-weight:var(--weight-medium);-webkit-line-clamp:3;overflow:hidden}.rm-view__foot{border-top:1px solid var(--border-soft);color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-11);gap:var(--space-16);padding-top:10px}.rm-view__foot span{align-items:center;display:inline-flex;gap:var(--space-4)}.rm-view__confirm{align-items:center;background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);display:flex;flex-wrap:wrap;font-size:var(--font-13);gap:var(--space-12);margin-top:var(--space-12);padding:var(--space-8) var(--space-12)}.rm-view__confirm>span{align-items:center;display:inline-flex;flex:1 1 220px;gap:var(--space-8)}.rm-view__confirm-actions{display:flex;flex-shrink:0;gap:var(--space-8)}
369
+ .rm-view{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);padding:14px 18px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.rm-view:not(.rm-view--active):hover{background:var(--bg-hover);border-color:var(--color-accent-soft)}.rm-view--active{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.08);cursor:default}.rm-view__strip{background:var(--bg-hover);border-bottom:1px solid var(--border-soft);border-radius:7px 7px 0 0;color:var(--color-secondary);font-size:var(--font-11);font-weight:var(--weight-bold);gap:var(--space-8);letter-spacing:.06em;margin:-14px -18px var(--space-12);padding:var(--space-8) var(--space-16);text-transform:uppercase}.rm-view__head,.rm-view__strip{align-items:center;display:flex}.rm-view__head{gap:var(--space-10)}.rm-view__icon{align-items:center;border-radius:var(--radius-md);display:inline-flex;flex:0 0 auto;height:34px;justify-content:center;width:34px}.rm-view__icon--primary{background:var(--bg-hover);color:var(--color-secondary)}.rm-view__icon--success{background:var(--color-success-bg);color:var(--color-success)}.rm-view__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.rm-view__icon--danger{background:var(--color-danger-bg);color:var(--color-danger)}.rm-view__icon--info{background:var(--color-info-bg);color:var(--color-info)}.rm-view__star{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;padding:0;width:28px}.rm-view__star:hover{background:var(--bg-hover)}.rm-view__star--on,.rm-view__star:hover{color:var(--color-warning)}.rm-view__title,.rm-view__title-edit{flex:1;font-size:var(--font-16);font-weight:var(--weight-bold);min-width:0}.rm-view__title-edit{background:var(--bg-surface);border:1px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;outline:none;padding:var(--space-2) var(--space-8)}.rm-view__title-edit:focus{box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12)}.rm-view__actions{align-items:center;display:flex;gap:var(--space-8)}.rm-view__badge{align-items:center;background:var(--color-success-bg);border-radius:var(--radius-pill);color:var(--color-success);display:inline-flex;font-size:var(--font-10);font-weight:var(--weight-bold);gap:var(--space-4);letter-spacing:.06em;padding:3px var(--space-8);text-transform:uppercase}.rm-view__menu-wrap{position:relative}.rm-view__more{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;width:28px}.rm-view__more:hover{background:var(--bg-hover);color:var(--text-primary)}.rm-view__menu-shade{inset:0;position:fixed;z-index:60}.rm-view__menu{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-width:200px;padding:var(--space-4);position:absolute;right:0;top:calc(100% + 6px);z-index:61}.rm-view__menu-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-13);gap:var(--space-8);padding:var(--space-8) var(--space-12);text-align:left;width:100%}.rm-view__menu-item:hover{background:var(--bg-hover);color:var(--color-secondary)}.rm-view__menu-item--danger{color:var(--color-danger)}.rm-view__menu-item--danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.rm-view__desc{color:var(--text-secondary);font-size:var(--font-13);margin:var(--space-8) 0 var(--space-12)}.rm-view__config{background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-6);margin:10px 0 var(--space-12);padding:var(--space-10) 14px}.rm-view__row{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:var(--font-12);gap:14px}.rm-view__row-key{color:var(--text-muted);display:inline-flex;flex-shrink:0;font-size:var(--font-10);font-weight:var(--weight-semibold);letter-spacing:.04em;min-width:96px;padding-top:var(--space-4);text-transform:uppercase}.rm-view__row-key,.rm-view__row-val{align-items:center;gap:var(--space-6)}.rm-view__row-val{color:var(--text-primary);display:flex;flex:1 1 200px;flex-wrap:wrap;padding:var(--space-2) 0}.rm-view__pill{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);display:inline-flex;font-size:var(--font-12);gap:var(--space-4);padding:5px var(--space-10)}.rm-view__pill-k{color:var(--color-primary);font-weight:var(--weight-semibold)}.rm-view__pill-tip{min-width:0}.rm-view__pill-tip :deep(.rm-tooltip__bubble){max-width:320px}.rm-view__pill-v{display:-webkit-box;-webkit-box-orient:vertical;color:var(--text-primary);font-weight:var(--weight-medium);-webkit-line-clamp:3;overflow:hidden}.rm-view__foot{border-top:1px solid var(--border-soft);color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-11);gap:var(--space-16);padding-top:var(--space-10)}.rm-view__foot span{align-items:center;display:inline-flex;gap:var(--space-4)}.rm-view__confirm{align-items:center;background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);display:flex;flex-wrap:wrap;font-size:var(--font-13);gap:var(--space-12);margin-top:var(--space-12);padding:var(--space-8) var(--space-12)}.rm-view__confirm>span{align-items:center;display:inline-flex;flex:1 1 220px;gap:var(--space-8)}.rm-view__confirm-actions{display:flex;flex-shrink:0;gap:var(--space-8)}
370
370
  </style>
@@ -291,5 +291,5 @@ const visibleTabs = computed(() => (props.tabs.length > 1 ? props.tabs : []))
291
291
  </template>
292
292
 
293
293
  <style scoped>
294
- .rm-views{flex-direction:column;font-family:var(--font-sans)}.rm-views,.rm-views__head{display:flex;gap:var(--space-12)}.rm-views__head{align-items:center;justify-content:space-between}.rm-views__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--font-22);font-weight:var(--weight-bold);margin:0}.rm-views__desc{color:var(--text-secondary);font-size:var(--font-13);line-height:1.5;margin:0}.rm-views__tabs{align-items:stretch;border-bottom:1px solid var(--border-default);display:flex}.rm-views__tab{align-items:center;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-14);font-weight:var(--weight-semibold);gap:var(--space-6);padding:var(--space-12) var(--space-16);transition:color var(--duration-fast) var(--ease-out)}.rm-views__tab:hover{color:var(--text-primary)}.rm-views__tab--active{background:linear-gradient(180deg,transparent 30%,rgba(var(--brand-rgb),.06) 100%);border-bottom-color:var(--color-primary);border-radius:6px 6px 0 0;color:var(--color-primary);font-weight:var(--weight-bold)}.rm-views__tab-count{background:var(--bg-surface-3);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--font-11);font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);min-width:18px;padding:0 var(--space-6);text-align:center}.rm-views__tab--active .rm-views__tab-count{background:var(--bg-hover);color:var(--color-secondary)}.rm-views__search{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);display:flex;gap:var(--space-8);padding:var(--space-8) var(--space-12)}.rm-views__search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.rm-views__search input{background:none;border:none;color:var(--text-primary);flex:1;font-family:inherit;font-size:var(--font-13);min-width:0;outline:none}.rm-views__search input::-moz-placeholder{color:var(--text-muted)}.rm-views__search input::placeholder{color:var(--text-muted)}.rm-views__chips{display:flex;flex-wrap:wrap;gap:var(--space-6)}.rm-views__chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-12);gap:var(--space-4);padding:5px 10px}.rm-views__chip:hover{background:var(--bg-surface-3)}.rm-views__chip--on{background:var(--bg-hover);border-color:var(--color-violet-pale);color:var(--color-primary);font-weight:var(--weight-semibold)}.rm-views__chip-count{font-variant-numeric:tabular-nums;opacity:.8}.rm-views__list{display:flex;flex-direction:column;gap:var(--space-12)}
294
+ .rm-views{flex-direction:column;font-family:var(--font-sans)}.rm-views,.rm-views__head{display:flex;gap:var(--space-12)}.rm-views__head{align-items:center;justify-content:space-between}.rm-views__title{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--font-22);font-weight:var(--weight-bold);margin:0}.rm-views__desc{color:var(--text-secondary);font-size:var(--font-13);line-height:1.5;margin:0}.rm-views__tabs{align-items:stretch;border-bottom:1px solid var(--border-default);display:flex}.rm-views__tab{align-items:center;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-14);font-weight:var(--weight-semibold);gap:var(--space-6);padding:var(--space-12) var(--space-16);transition:color var(--duration-fast) var(--ease-out)}.rm-views__tab:hover{color:var(--text-primary)}.rm-views__tab--active{background:linear-gradient(180deg,transparent 30%,rgba(var(--brand-rgb),.06) 100%);border-bottom-color:var(--color-primary);border-radius:6px 6px 0 0;color:var(--color-primary);font-weight:var(--weight-bold)}.rm-views__tab-count{background:var(--bg-surface-3);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--font-11);font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);min-width:18px;padding:0 var(--space-6);text-align:center}.rm-views__tab--active .rm-views__tab-count{background:var(--bg-hover);color:var(--color-secondary)}.rm-views__search{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);display:flex;gap:var(--space-8);padding:var(--space-8) var(--space-12)}.rm-views__search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.1)}.rm-views__search input{background:none;border:none;color:var(--text-primary);flex:1;font-family:inherit;font-size:var(--font-13);min-width:0;outline:none}.rm-views__search input::-moz-placeholder{color:var(--text-muted)}.rm-views__search input::placeholder{color:var(--text-muted)}.rm-views__chips{display:flex;flex-wrap:wrap;gap:var(--space-6)}.rm-views__chip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-12);gap:var(--space-4);padding:5px var(--space-10)}.rm-views__chip:hover{background:var(--bg-surface-3)}.rm-views__chip--on{background:var(--bg-hover);border-color:var(--color-violet-pale);color:var(--color-primary);font-weight:var(--weight-semibold)}.rm-views__chip-count{font-variant-numeric:tabular-nums;opacity:.8}.rm-views__list{display:flex;flex-direction:column;gap:var(--space-12)}
295
295
  </style>
@@ -190,5 +190,5 @@ onUnmounted(() => document.removeEventListener('click', onClickOutside))
190
190
  </template>
191
191
 
192
192
  <style scoped>
193
- .search-bar__suggestion-match{color:var(--color-secondary);font-weight:var(--weight-bold)}.search-bar__suggestion-note{color:var(--text-muted);font-size:var(--font-13);margin:0;padding:var(--space-8) var(--space-12)}.search-bar-wrapper{position:relative}.search-bar{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);display:inline-flex;gap:var(--space-8);height:32px;min-width:200px;padding:var(--space-4) var(--space-12);transition:border-color var(--duration-fast) var(--ease-in-out)}.search-bar:focus-within{border-color:var(--color-secondary);box-shadow:var(--shadow-focus)}.search-bar__icon{color:var(--text-muted);flex-shrink:0}.search-bar__input{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--font-14);outline:none;width:100%}.search-bar__input::-moz-placeholder{color:var(--text-muted)}.search-bar__input::placeholder{color:var(--text-muted)}.search-bar__clear{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all var(--duration-fast) var(--ease-in-out);width:18px}.search-bar__clear,.search-bar__clear:hover{background:var(--border-default);color:var(--text-secondary)}.search-bar__advanced{background:none;border:none;border-left:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-14);padding:0 0 0 var(--space-8);text-decoration:underline;transition:color var(--duration-fast) var(--ease-in-out);white-space:nowrap}.search-bar__advanced:hover{color:var(--color-healthcare)}.search-bar--advanced-active{border-color:var(--color-healthcare)}.search-bar__advanced--active{color:var(--color-healthcare);font-weight:500}.search-bar__advanced-badge{align-items:center;background-color:var(--color-healthcare);border-radius:100px;color:var(--color-text-inverse);display:inline-flex;font-size:10px;font-weight:600;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 4px}.search-bar__suggestions{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 12px rgba(var(--shadow-rgb),.08);left:0;max-height:280px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:50}.search-bar__suggestion{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--font-14);gap:8px;padding:8px 10px;text-align:left;transition:background-color var(--duration-fast) var(--ease-in-out);width:100%}.search-bar__suggestion:hover{background-color:var(--bg-surface-2)}.search-bar__suggestion-icon{color:var(--text-muted);flex-shrink:0}.search-bar__suggestion-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-bar__suggestion-field{background:var(--bg-surface-2);border-radius:3px;color:var(--text-muted);flex-shrink:0;font-size:11px;padding:1px 6px}.suggestions-enter-active,.suggestions-leave-active{transition:opacity var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out)}.suggestions-enter-from,.suggestions-leave-to{opacity:0;transform:translateY(-4px)}
193
+ .search-bar__suggestion-match{color:var(--color-secondary);font-weight:var(--weight-bold)}.search-bar__suggestion-note{color:var(--text-muted);font-size:var(--font-13);margin:0;padding:var(--space-8) var(--space-12)}.search-bar-wrapper{position:relative}.search-bar{align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-pill);display:inline-flex;gap:var(--space-8);height:32px;min-width:200px;padding:var(--space-4) var(--space-12);transition:border-color var(--duration-fast) var(--ease-in-out)}.search-bar:focus-within{border-color:var(--color-secondary);box-shadow:var(--shadow-focus)}.search-bar__icon{color:var(--text-muted);flex-shrink:0}.search-bar__input{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--font-14);outline:none;width:100%}.search-bar__input::-moz-placeholder{color:var(--text-muted)}.search-bar__input::placeholder{color:var(--text-muted)}.search-bar__clear{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all var(--duration-fast) var(--ease-in-out);width:18px}.search-bar__clear,.search-bar__clear:hover{background:var(--border-default);color:var(--text-secondary)}.search-bar__advanced{background:none;border:none;border-left:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-14);padding:0 0 0 var(--space-8);text-decoration:underline;transition:color var(--duration-fast) var(--ease-in-out);white-space:nowrap}.search-bar__advanced:hover{color:var(--color-healthcare)}.search-bar--advanced-active{border-color:var(--color-healthcare)}.search-bar__advanced--active{color:var(--color-healthcare);font-weight:500}.search-bar__advanced-badge{align-items:center;background-color:var(--color-healthcare);border-radius:100px;color:var(--color-text-inverse);display:inline-flex;font-size:var(--font-10);font-weight:600;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 var(--space-4)}.search-bar__suggestions{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 12px rgba(var(--shadow-rgb),.08);left:0;max-height:280px;overflow-y:auto;padding:var(--space-4);position:absolute;right:0;top:calc(100% + 4px);z-index:50}.search-bar__suggestion{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--font-14);gap:var(--space-8);padding:var(--space-8) var(--space-10);text-align:left;transition:background-color var(--duration-fast) var(--ease-in-out);width:100%}.search-bar__suggestion:hover{background-color:var(--bg-surface-2)}.search-bar__suggestion-icon{color:var(--text-muted);flex-shrink:0}.search-bar__suggestion-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-bar__suggestion-field{background:var(--bg-surface-2);border-radius:3px;color:var(--text-muted);flex-shrink:0;font-size:var(--font-11);padding:1px var(--space-6)}.suggestions-enter-active,.suggestions-leave-active{transition:opacity var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out)}.suggestions-enter-from,.suggestions-leave-to{opacity:0;transform:translateY(-4px)}
194
194
  </style>
@@ -53,5 +53,5 @@ withDefaults(defineProps<{
53
53
  </template>
54
54
 
55
55
  <style scoped>
56
- .rm-section-card{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl,12px);box-shadow:var(--r-shadow-sm);display:flex;flex-direction:column}.rm-section-card--action:hover{border-color:var(--color-primary);box-shadow:var(--r-shadow-md)}.rm-section-card__band{align-self:stretch;background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--font-12,12px);line-height:normal;padding:8px 16px}.rm-section-card__band--top{border-bottom:1px solid var(--border-default);border-top-left-radius:var(--radius-xl,12px);border-top-right-radius:var(--radius-xl,12px)}.rm-section-card__band--bottom{border-bottom-left-radius:var(--radius-xl,12px);border-bottom-right-radius:var(--radius-xl,12px);border-top:1px solid var(--border-default)}.rm-section-card__body{align-self:stretch;background:var(--bg-surface);padding:24px}.rm-section-card__body--under-top{border-bottom-left-radius:var(--radius-xl,12px);border-bottom-right-radius:var(--radius-xl,12px)}.rm-section-card__body--over-bottom{border-top-left-radius:var(--radius-xl,12px);border-top-right-radius:var(--radius-xl,12px)}.rm-section-card__body--alone{border-radius:var(--radius-xl,12px)}
56
+ .rm-section-card{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl,12px);box-shadow:var(--r-shadow-sm);display:flex;flex-direction:column}.rm-section-card--action:hover{border-color:var(--color-primary);box-shadow:var(--r-shadow-md)}.rm-section-card__band{align-self:stretch;background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--font-12,12px);line-height:normal;padding:var(--space-8) var(--space-16)}.rm-section-card__band--top{border-bottom:1px solid var(--border-default);border-top-left-radius:var(--radius-xl,12px);border-top-right-radius:var(--radius-xl,12px)}.rm-section-card__band--bottom{border-bottom-left-radius:var(--radius-xl,12px);border-bottom-right-radius:var(--radius-xl,12px);border-top:1px solid var(--border-default)}.rm-section-card__body{align-self:stretch;background:var(--bg-surface);padding:var(--space-24)}.rm-section-card__body--under-top{border-bottom-left-radius:var(--radius-xl,12px);border-bottom-right-radius:var(--radius-xl,12px)}.rm-section-card__body--over-bottom{border-top-left-radius:var(--radius-xl,12px);border-top-right-radius:var(--radius-xl,12px)}.rm-section-card__body--alone{border-radius:var(--radius-xl,12px)}
57
57
  </style>
@@ -116,6 +116,22 @@ function move(step: number) {
116
116
 
117
117
  let observer: ResizeObserver | null = null
118
118
 
119
+ /**
120
+ * Le rail ET chacun de ses segments sont observes.
121
+ *
122
+ * Observer le rail seul suffit tant que sa largeur commande celle des
123
+ * segments. Elle ne la commande plus des que l'echelle de texte change
124
+ * (`body.text-large`) : les segments grandissent a l'interieur d'un rail qui
125
+ * garde sa largeur, aucun redimensionnement n'est signale, et le pave reste
126
+ * a la taille de l'ancienne police — « Brand » ressort coupe.
127
+ */
128
+ function observeAll() {
129
+ if (!observer) return
130
+ observer.disconnect()
131
+ if (root.value) observer.observe(root.value)
132
+ segments.value.forEach(element => element && observer!.observe(element))
133
+ }
134
+
119
135
  onMounted(() => {
120
136
  remeasure()
121
137
  // La police est chargee apres le premier rendu : sans cette reprise, le pave
@@ -123,9 +139,9 @@ onMounted(() => {
123
139
  if (typeof document !== 'undefined' && 'fonts' in document) {
124
140
  (document as any).fonts?.ready?.then(remeasure).catch(() => {})
125
141
  }
126
- if (root.value && typeof ResizeObserver !== 'undefined') {
142
+ if (typeof ResizeObserver !== 'undefined') {
127
143
  observer = new ResizeObserver(measure)
128
- observer.observe(root.value)
144
+ observeAll()
129
145
  }
130
146
  })
131
147
 
@@ -134,7 +150,10 @@ onBeforeUnmount(() => {
134
150
  observer = null
135
151
  })
136
152
 
137
- watch(() => [model.value, items.value.length, props.block], remeasure)
153
+ watch(() => [model.value, items.value.length, props.block], () => {
154
+ remeasure()
155
+ nextTick(observeAll)
156
+ })
138
157
  </script>
139
158
 
140
159
  <template>
@@ -174,5 +193,5 @@ watch(() => [model.value, items.value.length, props.block], remeasure)
174
193
  </template>
175
194
 
176
195
  <style scoped>
177
- .rm-seg{background:color-mix(in srgb,var(--color-primary) 5%,var(--bg-surface));border:1px solid var(--border-default);border-radius:var(--radius-lg);display:inline-flex;flex-wrap:wrap;font-family:var(--font-sans);gap:2px;max-width:100%;padding:3px;position:relative}.rm-seg--block{display:flex;width:100%}.rm-seg--block .rm-seg__option{flex:1}.rm-seg__thumb{background:var(--color-primary);border-radius:var(--radius-md);left:0;position:absolute;top:0;transition:transform var(--duration-base) var(--ease-in-out),width var(--duration-base) var(--ease-in-out),height var(--duration-base) var(--ease-in-out);z-index:0}.rm-seg__option{align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;border-radius:var(--radius-md);box-shadow:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:500;gap:6px;justify-content:center;margin:0;position:relative;transition:color var(--duration-fast) var(--ease-in-out);white-space:nowrap;z-index:1}.rm-seg--md .rm-seg__option{font-size:14px;line-height:20px;padding:5px 12px}.rm-seg--sm .rm-seg__option{font-size:13px;line-height:18px;padding:3px 10px}.rm-seg__option i{font-size:16px;line-height:1}.rm-seg__option:hover:not(:disabled):not(.rm-seg__option--active){color:var(--color-primary)}.rm-seg__option--active{color:#fff;font-weight:600}.rm-seg__option:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.rm-seg__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rm-seg--pill{background:var(--bg-surface);border-radius:var(--radius-pill);flex-wrap:nowrap;gap:0;overflow-x:auto;padding:2px;scrollbar-width:none}.rm-seg--pill::-webkit-scrollbar{display:none}.rm-seg--pill .rm-seg__option,.rm-seg--pill .rm-seg__thumb{border-radius:var(--radius-pill)}.rm-seg--pill .rm-seg__option{font-size:var(--font-14);height:26px;line-height:26px;padding:0 14px}.rm-seg--pill.rm-seg--sm .rm-seg__option{font-size:var(--font-13);height:24px;line-height:24px;padding:0 12px}.rm-seg--soft{background:var(--bg-surface-3);border-radius:var(--radius-pill);box-shadow:inset 0 1px 2px rgba(30,41,59,.04);gap:0;padding:3px}.rm-seg--soft .rm-seg__thumb{background:var(--bg-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.rm-seg--soft .rm-seg__option{border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--font-12);padding:7px 10px}.rm-seg--soft .rm-seg__option:hover:not(:disabled):not(.rm-seg__option--active){color:var(--text-primary)}.rm-seg--soft .rm-seg__option--active{color:var(--color-secondary);font-weight:600}.rm-seg--soft .rm-seg__option--sep:before{display:none}.rm-seg--pill .rm-seg__option--sep:before{left:0}.rm-seg__option--sep:before{background:var(--border-default);content:"";height:60%;left:-2px;position:absolute;top:20%;width:1px}@media (prefers-reduced-motion:reduce){.rm-seg__thumb{transition:none}}
196
+ .rm-seg{background:color-mix(in srgb,var(--color-primary) 5%,var(--bg-surface));border:1px solid var(--border-default);border-radius:var(--radius-lg);display:inline-flex;flex-wrap:wrap;font-family:var(--font-sans);gap:var(--space-2);max-width:100%;padding:3px;position:relative}.rm-seg--block{display:flex;width:100%}.rm-seg--block .rm-seg__option{flex:1}.rm-seg__thumb{background:var(--color-primary);border-radius:var(--radius-md);left:0;position:absolute;top:0;transition:transform var(--duration-base) var(--ease-in-out),width var(--duration-base) var(--ease-in-out),height var(--duration-base) var(--ease-in-out);z-index:0}.rm-seg__option{align-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;border-radius:var(--radius-md);box-shadow:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:500;gap:var(--space-6);justify-content:center;margin:0;position:relative;transition:color var(--duration-fast) var(--ease-in-out);white-space:nowrap;z-index:1}.rm-seg--md .rm-seg__option{font-size:var(--font-14);line-height:20px;padding:5px var(--space-12)}.rm-seg--sm .rm-seg__option{font-size:var(--font-13);line-height:18px;padding:3px var(--space-10)}.rm-seg__option i{font-size:var(--font-16);line-height:1}.rm-seg__option:hover:not(:disabled):not(.rm-seg__option--active){color:var(--color-primary)}.rm-seg__option--active{color:#fff;font-weight:600}.rm-seg__option:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.rm-seg__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.rm-seg--pill{background:var(--bg-surface);border-radius:var(--radius-pill);flex-wrap:nowrap;gap:0;overflow-x:auto;padding:var(--space-2);scrollbar-width:none}.rm-seg--pill::-webkit-scrollbar{display:none}.rm-seg--pill .rm-seg__option,.rm-seg--pill .rm-seg__thumb{border-radius:var(--radius-pill)}.rm-seg--pill .rm-seg__option{font-size:var(--font-14);height:26px;line-height:26px;padding:0 14px}.rm-seg--pill.rm-seg--sm .rm-seg__option{font-size:var(--font-13);height:24px;line-height:24px;padding:0 var(--space-12)}.rm-seg--soft{background:var(--bg-surface-3);border-radius:var(--radius-pill);box-shadow:inset 0 1px 2px rgba(30,41,59,.04);gap:0;padding:3px}.rm-seg--soft .rm-seg__thumb{background:var(--bg-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}.rm-seg--soft .rm-seg__option{border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--font-12);padding:7px var(--space-10)}.rm-seg--soft .rm-seg__option:hover:not(:disabled):not(.rm-seg__option--active){color:var(--text-primary)}.rm-seg--soft .rm-seg__option--active{color:var(--color-secondary);font-weight:600}.rm-seg--soft .rm-seg__option--sep:before{display:none}.rm-seg--pill .rm-seg__option--sep:before{left:0}.rm-seg__option--sep:before{background:var(--border-default);content:"";height:60%;left:-2px;position:absolute;top:20%;width:1px}@media (prefers-reduced-motion:reduce){.rm-seg__thumb{transition:none}}
178
197
  </style>
@@ -73,5 +73,5 @@ function shareOf(item: RmSimpleBarItem) {
73
73
  </template>
74
74
 
75
75
  <style scoped>
76
- .rm-simple-bar{font-family:var(--font-sans)}.rm-simple-bar__title{color:var(--text-muted);font-size:var(--font-12);font-weight:var(--weight-medium);margin:0 0 8px}.rm-simple-bar__track{background:var(--bg-surface-2);border-radius:999px;display:flex;overflow:hidden}.rm-simple-bar__segment{height:100%}.rm-simple-bar__legend{list-style:none;margin:10px 0 0;padding:0}.rm-simple-bar__row{align-items:center;display:flex;font-size:var(--font-12);gap:6px;padding:3px 0}.rm-simple-bar__dot{border-radius:2px;flex:none;height:8px;width:8px}.rm-simple-bar__label{color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-simple-bar__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.rm-simple-bar__share{color:var(--text-muted)}
76
+ .rm-simple-bar{font-family:var(--font-sans)}.rm-simple-bar__title{color:var(--text-muted);font-size:var(--font-12);font-weight:var(--weight-medium);margin:0 0 8px}.rm-simple-bar__track{background:var(--bg-surface-2);border-radius:999px;display:flex;overflow:hidden}.rm-simple-bar__segment{height:100%}.rm-simple-bar__legend{list-style:none;margin:10px 0 0;padding:0}.rm-simple-bar__row{align-items:center;display:flex;font-size:var(--font-12);gap:var(--space-6);padding:3px 0}.rm-simple-bar__dot{border-radius:2px;flex:none;height:8px;width:8px}.rm-simple-bar__label{color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-simple-bar__value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.rm-simple-bar__share{color:var(--text-muted)}
77
77
  </style>
@@ -331,5 +331,5 @@ onUnmounted(() => clearTimeout(copyTimer))
331
331
  </template>
332
332
 
333
333
  <style scoped>
334
- .rm-src{align-self:stretch;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);display:flex;flex-direction:column;font-family:var(--font-sans);gap:var(--space-12);padding:var(--space-16);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.rm-src:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.rm-src--highlight{background:color-mix(in srgb,var(--color-primary) 4%,var(--bg-surface));border-color:var(--color-primary)}.rm-src__head,.rm-src__id{align-items:flex-start;display:flex;gap:var(--space-12)}.rm-src__id{background:none;border:none;cursor:pointer;flex:1;font-family:inherit;min-width:0;padding:0;text-align:left}.rm-src__icon{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:50%;color:var(--text-muted);display:flex;flex-shrink:0;height:40px;justify-content:center;line-height:1;width:40px}.rm-src__id-text{display:flex;flex-direction:column;gap:4px;min-width:0}.rm-src__name{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--font-16);font-weight:var(--weight-bold);line-height:1.25}.rm-src__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-8)}.rm-src__country{color:var(--text-secondary);font-size:var(--font-12)}.rm-src__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-4)}.rm-src__btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);width:28px}.rm-src__btn:hover{background:var(--bg-hover);border-color:var(--color-violet-pale);color:var(--color-secondary)}.rm-src__btn--copied,.rm-src__btn.rm-src__btn--copied:hover{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.rm-src__desc,.rm-src__rich{color:var(--text-secondary);font-size:var(--font-13);line-height:1.55;margin:0}.rm-src__rich--clip{max-height:40px;overflow:hidden}.rm-src__detail{border-top:1px solid var(--border-soft);margin-top:var(--space-4);padding:var(--space-16) 0 var(--space-4)}.rm-src__eyebrow{color:var(--text-muted);font-size:var(--font-10);font-weight:var(--weight-bold);letter-spacing:.1em;margin:0 0 var(--space-8);text-transform:uppercase}.rm-src__eyebrow:not(:first-child){margin-top:var(--space-20)}.rm-src__detail .rm-src__rich{line-height:1.65}.rm-src__rich :deep(p){margin:0 0 var(--space-12)}.rm-src__rich :deep(p:last-child){margin-bottom:0}.rm-src__rich :deep(ul){margin:0;padding-left:var(--space-20)}.rm-src__rich :deep(li){margin-bottom:var(--space-4)}.rm-src__rich :deep(b),.rm-src__rich :deep(strong){color:var(--text-primary);font-weight:var(--weight-semibold)}.rm-src__link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-12);font-weight:var(--weight-medium);gap:var(--space-6);margin-top:var(--space-12);text-decoration:underline;text-underline-offset:3px}.rm-src__link:hover{color:var(--color-primary-hover);text-decoration-thickness:2px}.rm-src__foot{background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-24);padding:var(--space-12) var(--space-16)}.rm-src__cell{align-items:center;color:var(--color-secondary);display:flex;gap:var(--space-8);margin:0}.rm-src__cell-text{display:flex;flex-direction:column;gap:2px}.rm-src__key{color:var(--text-muted);font-size:var(--font-10);letter-spacing:.04em;text-transform:uppercase}.rm-src__key,.rm-src__value{font-weight:var(--weight-semibold)}.rm-src__value{color:var(--text-primary);font-size:var(--font-12);font-variant-numeric:tabular-nums}.rm-src__tags{display:flex;flex-wrap:wrap;gap:var(--space-6)}.rm-src__tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--font-11);font-weight:var(--weight-medium);padding:3px var(--space-8)}
334
+ .rm-src{align-self:stretch;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);display:flex;flex-direction:column;font-family:var(--font-sans);gap:var(--space-12);padding:var(--space-16);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.rm-src:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.rm-src--highlight{background:color-mix(in srgb,var(--color-primary) 4%,var(--bg-surface));border-color:var(--color-primary)}.rm-src__head,.rm-src__id{align-items:flex-start;display:flex;gap:var(--space-12)}.rm-src__id{background:none;border:none;cursor:pointer;flex:1;font-family:inherit;min-width:0;padding:0;text-align:left}.rm-src__icon{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:50%;color:var(--text-muted);display:flex;flex-shrink:0;height:40px;justify-content:center;line-height:1;width:40px}.rm-src__id-text{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.rm-src__name{color:var(--text-primary);font-family:var(--font-serif);font-size:var(--font-16);font-weight:var(--weight-bold);line-height:1.25}.rm-src__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-8)}.rm-src__country{color:var(--text-secondary);font-size:var(--font-12)}.rm-src__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--space-4)}.rm-src__btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);width:28px}.rm-src__btn:hover{background:var(--bg-hover);border-color:var(--color-violet-pale);color:var(--color-secondary)}.rm-src__btn--copied,.rm-src__btn.rm-src__btn--copied:hover{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.rm-src__desc,.rm-src__rich{color:var(--text-secondary);font-size:var(--font-13);line-height:1.55;margin:0}.rm-src__rich--clip{max-height:40px;overflow:hidden}.rm-src__detail{border-top:1px solid var(--border-soft);margin-top:var(--space-4);padding:var(--space-16) 0 var(--space-4)}.rm-src__eyebrow{color:var(--text-muted);font-size:var(--font-10);font-weight:var(--weight-bold);letter-spacing:.1em;margin:0 0 var(--space-8);text-transform:uppercase}.rm-src__eyebrow:not(:first-child){margin-top:var(--space-20)}.rm-src__detail .rm-src__rich{line-height:1.65}.rm-src__rich :deep(p){margin:0 0 var(--space-12)}.rm-src__rich :deep(p:last-child){margin-bottom:0}.rm-src__rich :deep(ul){margin:0;padding-left:var(--space-20)}.rm-src__rich :deep(li){margin-bottom:var(--space-4)}.rm-src__rich :deep(b),.rm-src__rich :deep(strong){color:var(--text-primary);font-weight:var(--weight-semibold)}.rm-src__link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-12);font-weight:var(--weight-medium);gap:var(--space-6);margin-top:var(--space-12);text-decoration:underline;text-underline-offset:3px}.rm-src__link:hover{color:var(--color-primary-hover);text-decoration-thickness:2px}.rm-src__foot{background:var(--bg-surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-24);padding:var(--space-12) var(--space-16)}.rm-src__cell{align-items:center;color:var(--color-secondary);display:flex;gap:var(--space-8);margin:0}.rm-src__cell-text{display:flex;flex-direction:column;gap:var(--space-2)}.rm-src__key{color:var(--text-muted);font-size:var(--font-10);letter-spacing:.04em;text-transform:uppercase}.rm-src__key,.rm-src__value{font-weight:var(--weight-semibold)}.rm-src__value{color:var(--text-primary);font-size:var(--font-12);font-variant-numeric:tabular-nums}.rm-src__tags{display:flex;flex-wrap:wrap;gap:var(--space-6)}.rm-src__tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--font-11);font-weight:var(--weight-medium);padding:3px var(--space-8)}
335
335
  </style>
@@ -24,5 +24,5 @@ const emit = defineEmits<{ click: [event: MouseEvent] }>()
24
24
  </template>
25
25
 
26
26
  <style scoped>
27
- .rm-source{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-wrap:wrap;font-family:var(--font-sans);font-size:var(--font-12);font-weight:var(--weight-normal);gap:4px;line-height:14px;padding:0;text-align:left;transition:color var(--duration-fast) linear}.rm-source--muted{color:var(--text-muted)}.rm-source--muted:hover{color:var(--text-primary)}.rm-source--primary{color:var(--color-primary)}.rm-source--primary:hover{color:var(--color-primary-hover)}
27
+ .rm-source{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-wrap:wrap;font-family:var(--font-sans);font-size:var(--font-12);font-weight:var(--weight-normal);gap:var(--space-4);line-height:14px;padding:0;text-align:left;transition:color var(--duration-fast) linear}.rm-source--muted{color:var(--text-muted)}.rm-source--muted:hover{color:var(--text-primary)}.rm-source--primary{color:var(--color-primary)}.rm-source--primary:hover{color:var(--color-primary-hover)}
28
28
  </style>
@@ -65,5 +65,5 @@ const open = defineModel<boolean>('open', { default: true })
65
65
  </template>
66
66
 
67
67
  <style scoped>
68
- .rm-submenu{align-items:flex-start;flex-direction:column;gap:8px}.rm-submenu,.rm-submenu__head{align-self:stretch;display:flex;width:100%}.rm-submenu__head{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-14,14px);font-weight:700;gap:10px;justify-content:space-between;line-height:normal;padding:3px 8px 6px}.rm-submenu__head:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.rm-submenu__title{align-items:center;display:flex;gap:4px}.rm-submenu__title :deep(svg){color:var(--text-secondary)}.rm-submenu__title :deep(svg.is-open){color:var(--color-primary)}.rm-submenu__caret-slot{display:flex}.rm-submenu__caret-slot--grow{flex:1 1 100%}.rm-submenu__caret{color:var(--text-secondary);display:flex;transition:transform .3s ease}.rm-submenu__caret.is-open{color:var(--color-primary);transform:rotate(180deg)}.rm-submenu__body{display:flex;flex-direction:column;gap:8px;width:100%}
68
+ .rm-submenu{align-items:flex-start;flex-direction:column;gap:var(--space-8)}.rm-submenu,.rm-submenu__head{align-self:stretch;display:flex;width:100%}.rm-submenu__head{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:var(--font-14,14px);font-weight:700;gap:var(--space-10);justify-content:space-between;line-height:normal;padding:3px var(--space-8) var(--space-6)}.rm-submenu__head:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.rm-submenu__title{align-items:center;display:flex;gap:var(--space-4)}.rm-submenu__title :deep(svg){color:var(--text-secondary)}.rm-submenu__title :deep(svg.is-open){color:var(--color-primary)}.rm-submenu__caret-slot{display:flex}.rm-submenu__caret-slot--grow{flex:1 1 100%}.rm-submenu__caret{color:var(--text-secondary);display:flex;transition:transform .3s ease}.rm-submenu__caret.is-open{color:var(--color-primary);transform:rotate(180deg)}.rm-submenu__body{display:flex;flex-direction:column;gap:var(--space-8);width:100%}
69
69
  </style>
@@ -59,5 +59,5 @@ function toggle() {
59
59
  </template>
60
60
 
61
61
  <style scoped>
62
- .rm-switch__label{color:var(--text-secondary);font-size:var(--font-12,12px);font-weight:600;margin-bottom:6px}.rm-switch__control{align-items:center;background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-md,8px);cursor:pointer;display:flex;gap:10px;padding:10px 16px;width:-moz-fit-content;width:fit-content}.rm-switch__control:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.1);outline:none}.rm-switch__control:disabled{cursor:not-allowed;opacity:.6}.rm-switch__text{color:var(--text-muted);font-size:var(--font-14,14px);font-weight:600;line-height:16px;transition:color var(--duration-fast,.15s) var(--ease-out,ease)}.rm-switch__text.is-on{color:var(--text-primary)}.rm-switch__track{background:var(--color-primary);border-radius:var(--radius-pill,999px);flex-shrink:0;height:18px;position:relative;width:36px}.rm-switch__knob{background:var(--r-color-white);border-radius:50%;height:14px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:left var(--duration-fast,.15s) var(--ease-out,ease);width:14px}.rm-switch__knob.is-right{left:20px}
62
+ .rm-switch__label{color:var(--text-secondary);font-size:var(--font-12,12px);font-weight:600;margin-bottom:6px}.rm-switch__control{align-items:center;background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-md,8px);cursor:pointer;display:flex;gap:var(--space-10);padding:var(--space-10) var(--space-16);width:-moz-fit-content;width:fit-content}.rm-switch__control:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--brand-rgb),.1);outline:none}.rm-switch__control:disabled{cursor:not-allowed;opacity:.6}.rm-switch__text{color:var(--text-muted);font-size:var(--font-14,14px);font-weight:600;line-height:16px;transition:color var(--duration-fast,.15s) var(--ease-out,ease)}.rm-switch__text.is-on{color:var(--text-primary)}.rm-switch__track{background:var(--color-primary);border-radius:var(--radius-pill,999px);flex-shrink:0;height:18px;position:relative;width:36px}.rm-switch__knob{background:var(--r-color-white);border-radius:50%;height:14px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:left var(--duration-fast,.15s) var(--ease-out,ease);width:14px}.rm-switch__knob.is-right{left:20px}
63
63
  </style>
@@ -141,5 +141,5 @@ watch(() => props.tabs, () => {
141
141
  </template>
142
142
 
143
143
  <style scoped>
144
- .rm-tabbar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);box-shadow:var(--r-shadow-sm);margin-bottom:30px;max-width:calc(100% - 48px);padding:0 24px;position:relative;white-space:nowrap;width:auto}.rm-tabbar--overflow{max-width:calc(100% - 80px);padding:0 40px}.rm-tabbar__scroll{align-items:center;display:flex;gap:32px;overflow-x:auto;position:relative;scrollbar-width:none}.rm-tabbar__scroll::-webkit-scrollbar{display:none}.rm-tabbar__slot{display:inline-block;padding:16px 0}.rm-tabbar__tab{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-12,12px);font-weight:700;gap:4px;padding:0;text-align:center;white-space:pre-line}.rm-tabbar__tab.is-active,.rm-tabbar__tab:hover{color:var(--text-primary)}.rm-tabbar__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rm-tabbar__bar{background:var(--color-primary);bottom:0;height:3px;left:0;position:absolute;transition:transform .3s cubic-bezier(.645,.045,.355,1),width .3s ease;z-index:0}.rm-tabbar__arrow{align-items:center;background:var(--bg-surface);border:none;color:var(--text-muted);cursor:pointer;display:flex;height:calc(100% - 8px);padding:4px 12px;position:absolute;top:0;z-index:2}.rm-tabbar__arrow--left{border-right:1px solid var(--border-soft);box-shadow:4px 0 10px rgba(var(--shadow-rgb,62 63 94),.04);left:0}.rm-tabbar__arrow--right{border-left:1px solid var(--border-soft);box-shadow:-4px 0 10px rgba(var(--shadow-rgb,62 63 94),.04);right:0}@media (prefers-reduced-motion:reduce){.rm-tabbar__bar{transition:none}}
144
+ .rm-tabbar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);box-shadow:var(--r-shadow-sm);margin-bottom:30px;max-width:calc(100% - 48px);padding:0 var(--space-24);position:relative;white-space:nowrap;width:auto}.rm-tabbar--overflow{max-width:calc(100% - 80px);padding:0 var(--space-40)}.rm-tabbar__scroll{align-items:center;display:flex;gap:var(--space-32);overflow-x:auto;position:relative;scrollbar-width:none}.rm-tabbar__scroll::-webkit-scrollbar{display:none}.rm-tabbar__slot{display:inline-block;padding:var(--space-16) 0}.rm-tabbar__tab{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-12,12px);font-weight:700;gap:var(--space-4);padding:0;text-align:center;white-space:pre-line}.rm-tabbar__tab.is-active,.rm-tabbar__tab:hover{color:var(--text-primary)}.rm-tabbar__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rm-tabbar__bar{background:var(--color-primary);bottom:0;height:3px;left:0;position:absolute;transition:transform .3s cubic-bezier(.645,.045,.355,1),width .3s ease;z-index:0}.rm-tabbar__arrow{align-items:center;background:var(--bg-surface);border:none;color:var(--text-muted);cursor:pointer;display:flex;height:calc(100% - 8px);padding:var(--space-4) var(--space-12);position:absolute;top:0;z-index:2}.rm-tabbar__arrow--left{border-right:1px solid var(--border-soft);box-shadow:4px 0 10px rgba(var(--shadow-rgb,62 63 94),.04);left:0}.rm-tabbar__arrow--right{border-left:1px solid var(--border-soft);box-shadow:-4px 0 10px rgba(var(--shadow-rgb,62 63 94),.04);right:0}@media (prefers-reduced-motion:reduce){.rm-tabbar__bar{transition:none}}
145
145
  </style>
@@ -462,5 +462,5 @@ function heatClass(col: RmTableColumn, row: Record<string, any>) {
462
462
  </template>
463
463
 
464
464
  <style scoped>
465
- .rm-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);flex:1;overflow:hidden}.rm-table__scroll{overflow:auto}.rm-table{border-collapse:collapse;font-size:var(--font-13,13px);width:100%}.rm-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.rm-table caption{caption-side:top;color:var(--text-primary);font-size:var(--font-13,13px);font-weight:700;padding:0 0 var(--space-8,8px);text-align:left}.rm-table__th{background:var(--bg-surface-2);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-11,11px);font-weight:700;letter-spacing:.08em;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.rm-table--sticky .rm-table__th{border-bottom:none;box-shadow:inset 0 -1px 0 var(--border-default);position:sticky;top:0;z-index:2}.rm-table__th--center{text-align:center}.rm-table__th--num,.rm-table__th--right{text-align:right}.rm-table__th--check,.rm-table__th--expand{padding-right:0;width:36px}.rm-table__sort{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-6,6px);letter-spacing:inherit;padding:0;text-transform:inherit}.rm-table__sort:hover{color:var(--text-primary)}.rm-table__sort:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted);content:"";display:inline-block;height:0;opacity:.5;vertical-align:middle;width:0}.rm-table__th[aria-sort=ascending] .rm-table__sort:after{border-bottom:5px solid var(--color-primary);border-top:none;opacity:1}.rm-table__th[aria-sort=descending] .rm-table__sort:after{border-top:5px solid var(--color-primary);opacity:1}.rm-table a:focus-visible,.rm-table button:focus-visible{border-radius:var(--radius-sm,4px);outline:2px solid var(--color-primary);outline-offset:2px}.rm-table__td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);padding:12px 14px;text-align:left;vertical-align:top}th.rm-table__td{background:transparent;font-weight:700;letter-spacing:0;text-transform:none}.rm-table__td--center{text-align:center}.rm-table__td--right{text-align:right}.rm-table__td--num{font-variant-numeric:tabular-nums;text-align:right}.rm-table__td--check,.rm-table__td--expand{color:var(--text-muted);padding-right:0;width:36px}.rm-table__row--striped>.rm-table__td{background:var(--bg-surface-2)}.rm-table--hoverable .rm-table__row:hover>.rm-table__td,.rm-table__row--selected>.rm-table__td{background:var(--bg-hover)}.rm-table__row--expandable{cursor:pointer}.rm-table__caret{display:inline-flex;transition:transform .16s var(--ease-out,ease)}.rm-table__caret.is-open{color:var(--color-primary);transform:rotate(90deg)}.rm-table__group>th{background:var(--bg-hover);color:var(--color-primary);font-size:var(--font-11,11px);font-weight:700;letter-spacing:.08em;padding:var(--space-8,8px) var(--space-12,12px);text-align:left;text-transform:uppercase}.rm-table__detail>td{background:var(--bg-surface-2);border-bottom:1px solid var(--border-soft);padding:0}.rm-table__detail-body{color:var(--text-secondary);font-size:var(--font-12,12px);line-height:1.6;padding:var(--space-12,12px) var(--space-20,20px)}.rm-table__td--heat-1{background:#fee5e5!important;color:#911616}.rm-table__td--heat-2{background:#ffe7d2!important;color:#8a4309}.rm-table__td--heat-3{background:#fff6cc!important;color:#6b5400}.rm-table__td--heat-4{background:#d8f3dc!important;color:#1b5e25}.rm-table__td--heat-5{background:#b7e4c7!important;color:#0e4b19}body.night .rm-table__td--heat-1{background:#3f1414!important;color:#ffb4b4}body.night .rm-table__td--heat-2{background:#3d2410!important;color:#ffc58a}body.night .rm-table__td--heat-3{background:#3a3210!important;color:#ffe07a}body.night .rm-table__td--heat-4{background:#18351f!important;color:#8ae0a4}body.night .rm-table__td--heat-5{background:#0f4019!important;color:#b4f0c2}.rm-table--compact .rm-table__td,.rm-table--compact .rm-table__th{font-size:var(--font-12,12px);padding:var(--space-6,6px) var(--space-12,12px)}.rm-table--compact .rm-table__th{font-size:var(--font-10,10px)}.rm-table__bulk{align-items:center;background:var(--bg-hover);border-bottom:1px solid var(--color-violet-pale);display:flex;font-size:var(--font-12,12px);justify-content:space-between;padding:var(--space-8,8px) var(--space-16,16px)}.rm-table__bulk-count b{color:var(--color-primary)}.rm-table__bulk-actions{display:flex;gap:var(--space-4,4px)}.rm-table__pager{align-items:center;background:var(--bg-surface);border-top:1px solid var(--border-default);display:flex;font-size:var(--font-12,12px);gap:var(--space-12,12px);justify-content:space-between;padding:var(--space-8,8px) var(--space-12,12px)}.rm-table__pager-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}.rm-table__pager-controls{align-items:center;display:flex;gap:var(--space-4,4px)}.rm-table__pager-page{background:none;border:1px solid transparent;border-radius:var(--radius-sm,6px);color:var(--text-secondary);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;height:28px;min-width:28px;padding:0 6px}.rm-table__pager-page:hover{background:var(--bg-hover);color:var(--color-secondary)}.rm-table__pager-page.is-current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.rm-table__pager-gap{color:var(--text-muted);padding:0 2px}.rm-table__empty{color:var(--text-muted);padding:32px 16px;text-align:center}.rm-table__skeleton{height:14px;width:80%}
465
+ .rm-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);flex:1;overflow:hidden}.rm-table__scroll{overflow:auto}.rm-table{border-collapse:collapse;font-size:var(--font-13,13px);width:100%}.rm-sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.rm-table caption{caption-side:top;color:var(--text-primary);font-size:var(--font-13,13px);font-weight:700;padding:0 0 var(--space-8,var(--space-8));text-align:left}.rm-table__th{background:var(--bg-surface-2);border-bottom:1px solid var(--border-default);color:var(--text-secondary);font-size:var(--font-11,11px);font-weight:700;letter-spacing:.08em;padding:var(--space-12) 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.rm-table--sticky .rm-table__th{border-bottom:none;box-shadow:inset 0 -1px 0 var(--border-default);position:sticky;top:0;z-index:2}.rm-table__th--center{text-align:center}.rm-table__th--num,.rm-table__th--right{text-align:right}.rm-table__th--check,.rm-table__th--expand{padding-right:0;width:36px}.rm-table__sort{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-6,var(--space-6));letter-spacing:inherit;padding:0;text-transform:inherit}.rm-table__sort:hover{color:var(--text-primary)}.rm-table__sort:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted);content:"";display:inline-block;height:0;opacity:.5;vertical-align:middle;width:0}.rm-table__th[aria-sort=ascending] .rm-table__sort:after{border-bottom:5px solid var(--color-primary);border-top:none;opacity:1}.rm-table__th[aria-sort=descending] .rm-table__sort:after{border-top:5px solid var(--color-primary);opacity:1}.rm-table a:focus-visible,.rm-table button:focus-visible{border-radius:var(--radius-sm,4px);outline:2px solid var(--color-primary);outline-offset:2px}.rm-table__td{border-bottom:1px solid var(--border-soft);color:var(--text-primary);padding:var(--space-12) 14px;text-align:left;vertical-align:top}th.rm-table__td{background:transparent;font-weight:700;letter-spacing:0;text-transform:none}.rm-table__td--center{text-align:center}.rm-table__td--right{text-align:right}.rm-table__td--num{font-variant-numeric:tabular-nums;text-align:right}.rm-table__td--check,.rm-table__td--expand{color:var(--text-muted);padding-right:0;width:36px}.rm-table__row--striped>.rm-table__td{background:var(--bg-surface-2)}.rm-table--hoverable .rm-table__row:hover>.rm-table__td,.rm-table__row--selected>.rm-table__td{background:var(--bg-hover)}.rm-table__row--expandable{cursor:pointer}.rm-table__caret{display:inline-flex;transition:transform .16s var(--ease-out,ease)}.rm-table__caret.is-open{color:var(--color-primary);transform:rotate(90deg)}.rm-table__group>th{background:var(--bg-hover);color:var(--color-primary);font-size:var(--font-11,11px);font-weight:700;letter-spacing:.08em;padding:var(--space-8,var(--space-8)) var(--space-12,var(--space-12));text-align:left;text-transform:uppercase}.rm-table__detail>td{background:var(--bg-surface-2);border-bottom:1px solid var(--border-soft);padding:0}.rm-table__detail-body{color:var(--text-secondary);font-size:var(--font-12,12px);line-height:1.6;padding:var(--space-12,var(--space-12)) var(--space-20,var(--space-20))}.rm-table__td--heat-1{background:#fee5e5!important;color:#911616}.rm-table__td--heat-2{background:#ffe7d2!important;color:#8a4309}.rm-table__td--heat-3{background:#fff6cc!important;color:#6b5400}.rm-table__td--heat-4{background:#d8f3dc!important;color:#1b5e25}.rm-table__td--heat-5{background:#b7e4c7!important;color:#0e4b19}body.night .rm-table__td--heat-1{background:#3f1414!important;color:#ffb4b4}body.night .rm-table__td--heat-2{background:#3d2410!important;color:#ffc58a}body.night .rm-table__td--heat-3{background:#3a3210!important;color:#ffe07a}body.night .rm-table__td--heat-4{background:#18351f!important;color:#8ae0a4}body.night .rm-table__td--heat-5{background:#0f4019!important;color:#b4f0c2}.rm-table--compact .rm-table__td,.rm-table--compact .rm-table__th{font-size:var(--font-12,12px);padding:var(--space-6,var(--space-6)) var(--space-12,var(--space-12))}.rm-table--compact .rm-table__th{font-size:var(--font-10,10px)}.rm-table__bulk{align-items:center;background:var(--bg-hover);border-bottom:1px solid var(--color-violet-pale);display:flex;font-size:var(--font-12,12px);justify-content:space-between;padding:var(--space-8,var(--space-8)) var(--space-16,var(--space-16))}.rm-table__bulk-count b{color:var(--color-primary)}.rm-table__bulk-actions{display:flex;gap:var(--space-4,var(--space-4))}.rm-table__pager{align-items:center;background:var(--bg-surface);border-top:1px solid var(--border-default);display:flex;font-size:var(--font-12,12px);gap:var(--space-12,var(--space-12));justify-content:space-between;padding:var(--space-8,var(--space-8)) var(--space-12,var(--space-12))}.rm-table__pager-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}.rm-table__pager-controls{align-items:center;display:flex;gap:var(--space-4,var(--space-4))}.rm-table__pager-page{background:none;border:1px solid transparent;border-radius:var(--radius-sm,6px);color:var(--text-secondary);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;height:28px;min-width:28px;padding:0 var(--space-6)}.rm-table__pager-page:hover{background:var(--bg-hover);color:var(--color-secondary)}.rm-table__pager-page.is-current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.rm-table__pager-gap{color:var(--text-muted);padding:0 var(--space-2)}.rm-table__empty{color:var(--text-muted);padding:var(--space-32) var(--space-16);text-align:center}.rm-table__skeleton{height:14px;width:80%}
466
466
  </style>
@@ -44,5 +44,5 @@ withDefaults(
44
44
  </template>
45
45
 
46
46
  <style scoped>
47
- .rm-table-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-sans);overflow:hidden;padding:0;width:100%}.rm-table-card__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:24px}.rm-table-card__header>:deep(.rm-card-actions){margin-left:auto}.rm-table-card__header :deep(.rm-table-card__title){font-size:var(--font-18);font-weight:800;margin:0}.rm-table-card__header :deep(.rm-table-card__caption){color:var(--text-secondary);font-size:var(--font-12);margin:0;white-space:nowrap}.rm-table-card :deep(.rm-table-wrapper){background:transparent;border:none;border-radius:0}.rm-table-card__header+:deep(.rm-table-wrapper){border-top:1px solid var(--border-default)}.rm-table-card>:deep(:not(.rm-table-wrapper):not(.rm-table-card__header)){padding:16px 24px}
47
+ .rm-table-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xs);box-sizing:border-box;color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-sans);overflow:hidden;padding:0;width:100%}.rm-table-card__header{align-items:flex-start;display:flex;gap:var(--space-16);justify-content:space-between;padding:var(--space-24)}.rm-table-card__header>:deep(.rm-card-actions){margin-left:auto}.rm-table-card__header :deep(.rm-table-card__title){font-size:var(--font-18);font-weight:800;margin:0}.rm-table-card__header :deep(.rm-table-card__caption){color:var(--text-secondary);font-size:var(--font-12);margin:0;white-space:nowrap}.rm-table-card :deep(.rm-table-wrapper){background:transparent;border:none;border-radius:0}.rm-table-card__header+:deep(.rm-table-wrapper){border-top:1px solid var(--border-default)}.rm-table-card>:deep(:not(.rm-table-wrapper):not(.rm-table-card__header)){padding:var(--space-16) var(--space-24)}
48
48
  </style>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { computed, nextTick, onMounted, watch } from 'vue'
2
+ import { computed, nextTick, onBeforeUnmount, onMounted, watch } from 'vue'
3
3
  export interface RmTabsProps {
4
4
  /** Tab labels */
5
5
  tabs: string[]
@@ -59,7 +59,26 @@ function selectTab(index: number) {
59
59
  router.replace({ query: { ...route.query, tab: tabSlug } })
60
60
  }
61
61
 
62
+ /**
63
+ * L'indicateur est mesure au montage et a chaque changement d'onglet. Ca ne
64
+ * suffit pas : l'echelle de texte du panneau d'accessibilite change la
65
+ * largeur des onglets sans qu'aucun des deux ne se produise, et le trait
66
+ * reste a la largeur de l'ancienne police. D'ou l'observation des onglets
67
+ * eux-memes.
68
+ */
69
+ let observer: ResizeObserver | null = null
70
+
71
+ function observeTabs() {
72
+ if (!observer) return
73
+ observer.disconnect()
74
+ tabRefs.value.forEach(element => element && observer!.observe(element))
75
+ }
76
+
62
77
  onMounted(() => {
78
+ if (typeof ResizeObserver !== 'undefined') {
79
+ observer = new ResizeObserver(() => updateIndicator(props.modelValue))
80
+ nextTick(observeTabs)
81
+ }
63
82
  if (route.query.tab) {
64
83
  const tabParam = route.query.tab as string
65
84
  const index = props.tabs.findIndex(t => slugify(t) === tabParam)
@@ -73,6 +92,13 @@ onMounted(() => {
73
92
  })
74
93
 
75
94
  watch(() => props.modelValue, (val) => updateIndicator(val))
95
+
96
+ watch(() => props.tabs.length, () => nextTick(observeTabs))
97
+
98
+ onBeforeUnmount(() => {
99
+ observer?.disconnect()
100
+ observer = null
101
+ })
76
102
  </script>
77
103
 
78
104
  <template>
@@ -102,5 +128,5 @@ watch(() => props.modelValue, (val) => updateIndicator(val))
102
128
  </template>
103
129
 
104
130
  <style scoped>
105
- .rm-tabs{background-color:var(--bg-surface);border-bottom:1px solid var(--border-default)}.rm-tabs__list{display:flex;padding:8px 20px 0;position:relative}.rm-tabs__tab{background:none;border:none;border-radius:4px 4px 0 0;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:400;padding:12px 16px;position:relative;transition:color var(--duration-fast) var(--ease-in-out),background var(--duration-fast) var(--ease-in-out);white-space:nowrap}.rm-tabs__tab:hover{background:var(--tab-active-bg);color:var(--text-secondary)}.rm-tabs__tab--active{font-weight:500}.rm-tabs__indicator{border-radius:2px 2px 0 0;bottom:0;height:2px;left:0;position:absolute;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}
131
+ .rm-tabs{background-color:var(--bg-surface);border-bottom:1px solid var(--border-default)}.rm-tabs__list{display:flex;padding:var(--space-8) var(--space-20) 0;position:relative}.rm-tabs__tab{background:none;border:none;border-radius:4px 4px 0 0;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-14);font-weight:400;padding:var(--space-12) var(--space-16);position:relative;transition:color var(--duration-fast) var(--ease-in-out),background var(--duration-fast) var(--ease-in-out);white-space:nowrap}.rm-tabs__tab:hover{background:var(--tab-active-bg);color:var(--text-secondary)}.rm-tabs__tab--active{font-weight:500}.rm-tabs__indicator{border-radius:2px 2px 0 0;bottom:0;height:2px;left:0;position:absolute;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}
106
132
  </style>
@@ -56,5 +56,5 @@ const emit = defineEmits<{ close: [] }>()
56
56
  </template>
57
57
 
58
58
  <style scoped>
59
- .rm-tag{align-items:center;background:var(--bg-surface-3);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-family:var(--font-sans);font-size:var(--font-12);font-weight:var(--weight-medium);gap:8px;line-height:normal;max-width:100%;padding:4px 8px;width:-moz-fit-content;width:fit-content}.rm-tag__close{background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;padding:0}.rm-tag--transparent{background:transparent;border:1px solid var(--border-default)}.rm-tag--gray{background:rgba(143,145,172,.1);color:var(--text-primary)}.rm-tag--rose{background:rgba(244,63,94,.1);color:#9f1239}.rm-tag--pink{background:rgba(236,72,153,.1);color:#9d174d}.rm-tag--fushia{background:rgba(217,70,239,.1);color:#86198f}.rm-tag--purple{background:rgba(168,85,247,.1);color:#6b21a8}.rm-tag--violet{background:rgba(139,92,246,.1);color:#5b21b6}.rm-tag--indigo{background:rgba(99,102,241,.1);color:#3730a3}.rm-tag--blue{background:rgba(59,130,246,.1);color:#1e40af}.rm-tag--sky{background:rgba(14,165,233,.1);color:#075985}.rm-tag--cyan{background:rgba(6,182,212,.1);color:#155e75}.rm-tag--teal{background:rgba(20,184,166,.1);color:#115e59}.rm-tag--emerald{background:rgba(16,185,129,.1);color:#065f46}.rm-tag--green{background:rgba(34,197,94,.1);color:#166534}.rm-tag--lime{background:rgba(132,204,22,.1);color:#3f6212}.rm-tag--yellow{background:rgba(234,179,8,.1);color:#854d0e}.rm-tag--amber{background:rgba(245,158,11,.1);color:#92400e}.rm-tag--orange{background:rgba(249,115,22,.1);color:#9a3412}body.night .rm-tag--rose{color:#fda4af}body.night .rm-tag--pink{color:#f9a8d4}body.night .rm-tag--fushia{color:#f0abfc}body.night .rm-tag--purple{color:#d8b4fe}body.night .rm-tag--violet{color:#c4b5fd}body.night .rm-tag--indigo{color:#a5b4fc}body.night .rm-tag--blue{color:#93c5fd}body.night .rm-tag--sky{color:#7dd3fc}body.night .rm-tag--cyan{color:#67e8f9}body.night .rm-tag--teal{color:#5eead4}body.night .rm-tag--emerald{color:#6ee7b7}body.night .rm-tag--green{color:#86efac}body.night .rm-tag--lime{color:#bef264}body.night .rm-tag--yellow{color:#fde047}body.night .rm-tag--amber{color:#fcd34d}body.night .rm-tag--orange{color:#fdba74}
59
+ .rm-tag{align-items:center;background:var(--bg-surface-3);border-radius:var(--radius-sm);color:var(--text-secondary);display:inline-flex;font-family:var(--font-sans);font-size:var(--font-12);font-weight:var(--weight-medium);gap:var(--space-8);line-height:normal;max-width:100%;padding:var(--space-4) var(--space-8);width:-moz-fit-content;width:fit-content}.rm-tag__close{background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;padding:0}.rm-tag--transparent{background:transparent;border:1px solid var(--border-default)}.rm-tag--gray{background:rgba(143,145,172,.1);color:var(--text-primary)}.rm-tag--rose{background:rgba(244,63,94,.1);color:#9f1239}.rm-tag--pink{background:rgba(236,72,153,.1);color:#9d174d}.rm-tag--fushia{background:rgba(217,70,239,.1);color:#86198f}.rm-tag--purple{background:rgba(168,85,247,.1);color:#6b21a8}.rm-tag--violet{background:rgba(139,92,246,.1);color:#5b21b6}.rm-tag--indigo{background:rgba(99,102,241,.1);color:#3730a3}.rm-tag--blue{background:rgba(59,130,246,.1);color:#1e40af}.rm-tag--sky{background:rgba(14,165,233,.1);color:#075985}.rm-tag--cyan{background:rgba(6,182,212,.1);color:#155e75}.rm-tag--teal{background:rgba(20,184,166,.1);color:#115e59}.rm-tag--emerald{background:rgba(16,185,129,.1);color:#065f46}.rm-tag--green{background:rgba(34,197,94,.1);color:#166534}.rm-tag--lime{background:rgba(132,204,22,.1);color:#3f6212}.rm-tag--yellow{background:rgba(234,179,8,.1);color:#854d0e}.rm-tag--amber{background:rgba(245,158,11,.1);color:#92400e}.rm-tag--orange{background:rgba(249,115,22,.1);color:#9a3412}body.night .rm-tag--rose{color:#fda4af}body.night .rm-tag--pink{color:#f9a8d4}body.night .rm-tag--fushia{color:#f0abfc}body.night .rm-tag--purple{color:#d8b4fe}body.night .rm-tag--violet{color:#c4b5fd}body.night .rm-tag--indigo{color:#a5b4fc}body.night .rm-tag--blue{color:#93c5fd}body.night .rm-tag--sky{color:#7dd3fc}body.night .rm-tag--cyan{color:#67e8f9}body.night .rm-tag--teal{color:#5eead4}body.night .rm-tag--emerald{color:#6ee7b7}body.night .rm-tag--green{color:#86efac}body.night .rm-tag--lime{color:#bef264}body.night .rm-tag--yellow{color:#fde047}body.night .rm-tag--amber{color:#fcd34d}body.night .rm-tag--orange{color:#fdba74}
60
60
  </style>
@@ -80,5 +80,5 @@ watch(() => props.tags, measure, { deep: true })
80
80
  </template>
81
81
 
82
82
  <style scoped>
83
- .rm-tag-row{align-items:center;display:flex;gap:8px;width:100%}.rm-tag-row__items{display:flex;flex:1;flex-wrap:wrap;gap:8px;max-height:24px;min-width:0;overflow:hidden}.rm-tag-row__more{color:var(--text-secondary);font-size:var(--font-12,12px);white-space:nowrap}
83
+ .rm-tag-row{align-items:center;width:100%}.rm-tag-row,.rm-tag-row__items{display:flex;gap:var(--space-8)}.rm-tag-row__items{flex:1;flex-wrap:wrap;max-height:24px;min-width:0;overflow:hidden}.rm-tag-row__more{color:var(--text-secondary);font-size:var(--font-12,12px);white-space:nowrap}
84
84
  </style>