@tekkare/romulus 0.1.145 → 0.1.147
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/module.json
CHANGED
|
@@ -473,5 +473,5 @@ function onClickOutside(event: Event) {
|
|
|
473
473
|
</template>
|
|
474
474
|
|
|
475
475
|
<style scoped>
|
|
476
|
-
.rm-ftree-wrap{position:relative}.rm-ftree-wrap--inline{display:flex;flex-direction:column;height:100%;min-height:0}.rm-ftree-pill{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--font-14);font-weight:var(--weight-medium);gap:var(--space-8);height:32px;max-width:320px;padding:0 var(--space-8);transition:border-color var(--duration-fast) var(--ease-in-out);white-space:nowrap}.rm-ftree-pill--active{border-color:var(--color-
|
|
476
|
+
.rm-ftree-wrap{position:relative}.rm-ftree-wrap--inline{display:flex;flex-direction:column;height:100%;min-height:0}.rm-ftree-pill{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--font-14);font-weight:var(--weight-medium);gap:var(--space-8);height:32px;max-width:320px;padding:0 var(--space-8);transition:border-color var(--duration-fast) var(--ease-in-out);white-space:nowrap}.rm-ftree-pill--active{border-color:var(--color-primary);box-shadow:0 0 8px 0 rgba(var(--brand-rgb),.1)}.rm-ftree-pill__icon{color:var(--color-secondary);flex-shrink:0}.rm-ftree-pill__label{overflow:hidden;text-overflow:ellipsis}.rm-ftree-pill__label b{color:var(--text-primary);font-weight:var(--weight-semibold)}.rm-ftree-pill__more{align-items:center;background:var(--bg-surface-2);border-radius:100px;color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:var(--font-11);font-weight:var(--weight-semibold);height:18px;padding:0 6px}.rm-ftree-pill__caret{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-in-out)}.rm-ftree-pill__caret--open{transform:rotate(180deg)}.rm-ftree-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;display:flex;flex-direction:column;min-height:0}.rm-ftree-wrap:not(.rm-ftree-wrap--inline) .rm-ftree-panel{box-shadow:0 4px 12px rgba(var(--shadow-rgb),.08),0 2px 4px rgba(var(--shadow-rgb),.04);left:0;max-width:460px;min-width:380px;position:absolute;top:calc(100% + 4px);z-index:50}.rm-ftree-wrap--inline .rm-ftree-panel{flex:1}.rm-ftree-search{align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;color:var(--text-muted);display:flex;flex-shrink:0;gap:var(--space-6);margin:var(--space-8);padding:var(--space-8)}.rm-ftree-search input{background:none;border:none;color:var(--text-primary);flex:1;font-family:var(--font-sans);font-size:var(--font-14);min-width:0;outline:none}.rm-ftree-list{flex:1;max-height:340px;min-height:0;overflow-y:auto;padding:0 var(--space-4) var(--space-4)}.rm-ftree-wrap--inline .rm-ftree-list{max-height:none}.rm-ftree-empty{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--font-14);margin:0;padding:var(--space-10) var(--space-8)}.rm-ftree-row{align-items:center;border-radius:4px;display:flex}.rm-ftree-row--on{background:rgba(var(--brand-rgb),.06)}.rm-ftree-caret{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;width:22px}.rm-ftree-caret:hover{color:var(--text-primary)}.rm-ftree-caret--none{cursor:default}.rm-ftree-label{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1;font-family:var(--font-sans);font-size:var(--font-14);gap:var(--space-8);min-width:0;padding:var(--space-6) var(--space-8);text-align:left}.rm-ftree-label:hover{background:var(--bg-surface-2)}.rm-ftree-box{align-items:center;border:1.5px solid var(--border-default);border-radius:3px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all var(--duration-fast) var(--ease-in-out);width:16px}.rm-ftree-box--on,.rm-ftree-box--partial{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.rm-ftree-box--partial{background:var(--bg-surface);color:var(--color-primary)}.rm-ftree-code{color:var(--color-secondary);flex-shrink:0;font-family:var(--font-mono);font-size:var(--font-12);font-weight:var(--weight-semibold)}.rm-ftree-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-ftree-count{color:var(--text-muted);flex-shrink:0;font-size:var(--font-12);font-variant-numeric:tabular-nums}.rm-ftree-foot{align-items:center;border-top:1px solid var(--border-soft);display:flex;flex-shrink:0;gap:var(--space-8);justify-content:space-between;padding:var(--space-8) var(--space-12)}.rm-ftree-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-13);padding:0;text-decoration:underline}.rm-ftree-clear:hover{color:var(--text-primary)}.rm-ftree-apply{background:var(--color-primary);border:none;border-radius:6px;color:var(--color-text-inverse);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-13);font-weight:var(--weight-semibold);height:30px;padding:0 var(--space-16)}.rm-ftree-apply:hover{filter:brightness(1.05)}
|
|
477
477
|
</style>
|
|
@@ -76,6 +76,16 @@ export interface RmSavedView {
|
|
|
76
76
|
sharedBy?: string
|
|
77
77
|
/** Ma vue, ouverte a d'autres. Le bandeau le rappelle a son auteur. */
|
|
78
78
|
shared?: boolean
|
|
79
|
+
/**
|
|
80
|
+
* Ma vue, publiee comme modele pour d'autres espaces de travail.
|
|
81
|
+
*
|
|
82
|
+
* Une portee de plus que `shared`, et invisible autrement : un modele reste
|
|
83
|
+
* prive au sens du partage, donc sans ce bandeau sa carte est exactement
|
|
84
|
+
* celle d'une vue que personne ne voit.
|
|
85
|
+
*/
|
|
86
|
+
isTemplate?: boolean
|
|
87
|
+
/** Nombre d'espaces vises. `0` vaut « tous ». */
|
|
88
|
+
templateTargets?: number
|
|
79
89
|
/**
|
|
80
90
|
* Menu propre a cette vue, a la place de celui de la liste. Une liste ou
|
|
81
91
|
* cohabitent mes vues et celles des autres n'a pas un seul menu : le
|
|
@@ -141,6 +151,12 @@ const T = computed(() => ({
|
|
|
141
151
|
shared: en.value ? 'Shared' : 'Partagée',
|
|
142
152
|
sharedBy: (name: string) =>
|
|
143
153
|
en.value ? `Shared by ${name}` : `Partagée par ${name}`,
|
|
154
|
+
template: (n: number) => {
|
|
155
|
+
if (!n) return en.value ? 'Template, every workspace' : 'Template, tous les espaces'
|
|
156
|
+
return en.value
|
|
157
|
+
? `Template, ${n} workspace${n > 1 ? 's' : ''}`
|
|
158
|
+
: `Template, ${n} espace${n > 1 ? 's' : ''}`
|
|
159
|
+
},
|
|
144
160
|
cancel: en.value ? 'Cancel' : 'Annuler',
|
|
145
161
|
confirmPrefix: en.value ? 'Permanently delete' : 'Supprimer définitivement',
|
|
146
162
|
}))
|
|
@@ -244,7 +260,10 @@ function onCardClick() {
|
|
|
244
260
|
:class="{ 'rm-view--active': view.active, 'rm-view--default': view.isDefault }"
|
|
245
261
|
@click="onCardClick"
|
|
246
262
|
>
|
|
247
|
-
<div
|
|
263
|
+
<div
|
|
264
|
+
v-if="view.isDefault || view.sharedBy || view.shared || view.isTemplate"
|
|
265
|
+
class="rm-view__strip"
|
|
266
|
+
>
|
|
248
267
|
<span v-if="view.isDefault" class="rm-view__strip-mark">
|
|
249
268
|
<RmIcon name="PushPin" :size="14" weight="fill" />
|
|
250
269
|
{{ T.isDefault }}
|
|
@@ -253,6 +272,10 @@ function onCardClick() {
|
|
|
253
272
|
<RmIcon name="UsersThree" :size="14" weight="fill" />
|
|
254
273
|
{{ view.sharedBy ? T.sharedBy(view.sharedBy) : T.shared }}
|
|
255
274
|
</span>
|
|
275
|
+
<span v-if="view.isTemplate" class="rm-view__strip-mark">
|
|
276
|
+
<RmIcon name="Sparkle" :size="14" weight="fill" />
|
|
277
|
+
{{ T.template(view.templateTargets ?? 0) }}
|
|
278
|
+
</span>
|
|
256
279
|
</div>
|
|
257
280
|
|
|
258
281
|
<div class="rm-view__head">
|