@tekkare/romulus 0.1.129 → 0.1.130
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
|
@@ -29,6 +29,16 @@ const props = withDefaults(
|
|
|
29
29
|
haveSaveScope?: boolean
|
|
30
30
|
haveClear?: boolean
|
|
31
31
|
clearMsg?: string | null
|
|
32
|
+
/**
|
|
33
|
+
* Seconde commande de remise a zero, posee a cote de la premiere.
|
|
34
|
+
*
|
|
35
|
+
* « Tout effacer » ne touche qu'aux filtres de l'ecran : la vue posee, le
|
|
36
|
+
* perimetre qu'elle designe et l'affichage lui survivent. Une page qui
|
|
37
|
+
* porte une vue a donc besoin d'un second geste, plus large ; il se lit a
|
|
38
|
+
* cote du premier, sinon la difference entre les deux ne se voit pas.
|
|
39
|
+
*/
|
|
40
|
+
haveReset?: boolean
|
|
41
|
+
resetMsg?: string | null
|
|
32
42
|
saveScopeMsg?: string | null
|
|
33
43
|
lang?: 'fr' | 'en'
|
|
34
44
|
/**
|
|
@@ -43,17 +53,19 @@ const props = withDefaults(
|
|
|
43
53
|
haveSaveScope: false,
|
|
44
54
|
haveClear: true,
|
|
45
55
|
clearMsg: null,
|
|
56
|
+
haveReset: false,
|
|
57
|
+
resetMsg: null,
|
|
46
58
|
saveScopeMsg: null,
|
|
47
59
|
lang: 'fr',
|
|
48
60
|
stickyTo: 'rm_page_header',
|
|
49
61
|
},
|
|
50
62
|
)
|
|
51
63
|
|
|
52
|
-
const emit = defineEmits<{ clearFilters: []; saveScope: [] }>()
|
|
64
|
+
const emit = defineEmits<{ clearFilters: []; resetAll: []; saveScope: [] }>()
|
|
53
65
|
|
|
54
66
|
const LABELS = {
|
|
55
|
-
fr: { title: 'Filtres', save: 'Sauvegarder un scope', clear: 'Tout effacer', customize: 'Personnaliser', advanced: 'Recherche avancée' },
|
|
56
|
-
en: { title: 'Filters', save: 'Save a scope', clear: 'Clear all', customize: 'Customize', advanced: 'Advanced search' },
|
|
67
|
+
fr: { title: 'Filtres', save: 'Sauvegarder un scope', clear: 'Tout effacer', reset: 'Tout réinitialiser', customize: 'Personnaliser', advanced: 'Recherche avancée' },
|
|
68
|
+
en: { title: 'Filters', save: 'Save a scope', clear: 'Clear all', reset: 'Reset everything', customize: 'Customize', advanced: 'Advanced search' },
|
|
57
69
|
} as const
|
|
58
70
|
|
|
59
71
|
const t = computed(() => LABELS[props.lang] ?? LABELS.fr)
|
|
@@ -250,6 +262,14 @@ onBeforeUnmount(() => {
|
|
|
250
262
|
>
|
|
251
263
|
{{ clearMsg || t.clear }}
|
|
252
264
|
</button>
|
|
265
|
+
<button
|
|
266
|
+
v-if="haveReset"
|
|
267
|
+
type="button"
|
|
268
|
+
class="rm-fbar__action rm-fbar__action--clear"
|
|
269
|
+
@click="emit('resetAll')"
|
|
270
|
+
>
|
|
271
|
+
{{ resetMsg || t.reset }}
|
|
272
|
+
</button>
|
|
253
273
|
</div>
|
|
254
274
|
<div class="rm-fbar__filters">
|
|
255
275
|
<slot name="Filters" />
|
|
@@ -31,6 +31,12 @@ export interface RmViewPillAction {
|
|
|
31
31
|
label: string
|
|
32
32
|
/** Icone Phosphor, sans le prefixe `Ph`. */
|
|
33
33
|
icon?: string
|
|
34
|
+
/**
|
|
35
|
+
* Action qui defait ce qui est a l'ecran (remettre a zero, vider). Elle se
|
|
36
|
+
* lit en rouge : rangee dans la meme liste que « Toutes les vues », rien ne
|
|
37
|
+
* la distinguerait d'un simple deplacement.
|
|
38
|
+
*/
|
|
39
|
+
danger?: boolean
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
const props = withDefaults(
|
|
@@ -198,6 +204,7 @@ onBeforeUnmount(() => {
|
|
|
198
204
|
type="button"
|
|
199
205
|
role="menuitem"
|
|
200
206
|
class="rm-vpill__item"
|
|
207
|
+
:class="{ 'is-danger': action.danger }"
|
|
201
208
|
@click="run(action.key)"
|
|
202
209
|
>
|
|
203
210
|
<RmIcon v-if="action.icon" :name="action.icon" :size="14" />
|
|
@@ -209,5 +216,5 @@ onBeforeUnmount(() => {
|
|
|
209
216
|
</template>
|
|
210
217
|
|
|
211
218
|
<style scoped>
|
|
212
|
-
.rm-vpill{position:relative}.rm-vpill,.rm-vpill__pill{align-items:center;display:flex}.rm-vpill__pill{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-14);font-weight:var(--weight-medium);gap:var(--space-6);height:var(--rm-fbar-field-h,32px);padding:0 14px;white-space:nowrap}.rm-vpill__pill:hover{background:var(--bg-surface-3)}.rm-vpill__pill.is-open{border-color:var(--color-primary);color:var(--color-primary)}.rm-vpill__icon{color:currentColor;flex-shrink:0}.rm-vpill__key{color:var(--text-muted);font-weight:var(--weight-normal)}.rm-vpill__value{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-vpill__pill.has-unsaved{border-color:var(--color-warning)}.rm-vpill__dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.rm-vpill__dot--applied{animation:rm-vpill-pulse-applied 2s ease-out infinite;background:var(--color-success)}.rm-vpill__dot--unsaved{animation:rm-vpill-pulse 2s ease-out infinite;background:var(--color-warning)}@keyframes rm-vpill-pulse{0%{box-shadow:0 0 0 0 rgba(217,119,6,.6)}70%{box-shadow:0 0 0 6px rgba(217,119,6,0)}to{box-shadow:0 0 0 0 rgba(217,119,6,0)}}@keyframes rm-vpill-pulse-applied{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 6px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}@media (prefers-reduced-motion:reduce){.rm-vpill__dot,.rm-vpill__unsaved-dot:before{animation:none}}.rm-vpill__caret{color:var(--text-muted);flex-shrink:0}.rm-vpill__menu{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);box-sizing:border-box;font-family:var(--font-sans);left:0;max-width:460px;min-width:320px;padding:var(--space-6);position:absolute;top:calc(100% + 6px);z-index:60}.rm-vpill__unsaved{align-items:center;background:var(--color-warning-bg);border-radius:var(--radius-md);color:var(--color-warning);display:flex;font-size:var(--font-12);gap:var(--space-8);padding:var(--space-8) var(--space-12)}.rm-vpill__unsaved-dot{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.rm-vpill__unsaved-dot:before{animation:rm-vpill-pulse 2s ease-out infinite;background:var(--color-warning);border-radius:50%;content:"";height:7px;width:7px}.rm-vpill__unsaved-label{flex:1;font-weight:var(--weight-semibold)}.rm-vpill__unsaved-cta{background:transparent;border:none;color:var(--color-warning);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:var(--weight-bold);padding:0;text-decoration:underline;text-underline-offset:2px}.rm-vpill__unsaved-cta:hover{color:var(--text-primary)}.rm-vpill__divider{background:var(--border-soft);height:1px;margin:6px -6px}.rm-vpill__section{color:var(--text-muted);font-size:var(--font-10);font-weight:var(--weight-bold);letter-spacing:.08em;margin:0;padding:var(--space-8) var(--space-12) var(--space-4) 34px;text-align:left;text-transform:uppercase}.rm-vpill__item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);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;transition:background .1s,color .1s;width:100%}.rm-vpill__item:hover{background:var(--bg-hover);color:var(--text-primary)}.rm-vpill__item.is-active{background:var(--bg-hover);color:var(--color-secondary);font-weight:var(--weight-semibold)}.rm-vpill__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-vpill__item--view .rm-vpill__check{color:var(--color-secondary);flex-shrink:0;opacity:0;transition:opacity .1s}.rm-vpill__item--view.is-active .rm-vpill__check{opacity:1}
|
|
219
|
+
.rm-vpill{position:relative}.rm-vpill,.rm-vpill__pill{align-items:center;display:flex}.rm-vpill__pill{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-14);font-weight:var(--weight-medium);gap:var(--space-6);height:var(--rm-fbar-field-h,32px);padding:0 14px;white-space:nowrap}.rm-vpill__pill:hover{background:var(--bg-surface-3)}.rm-vpill__pill.is-open{border-color:var(--color-primary);color:var(--color-primary)}.rm-vpill__icon{color:currentColor;flex-shrink:0}.rm-vpill__key{color:var(--text-muted);font-weight:var(--weight-normal)}.rm-vpill__value{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-vpill__pill.has-unsaved{border-color:var(--color-warning)}.rm-vpill__dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.rm-vpill__dot--applied{animation:rm-vpill-pulse-applied 2s ease-out infinite;background:var(--color-success)}.rm-vpill__dot--unsaved{animation:rm-vpill-pulse 2s ease-out infinite;background:var(--color-warning)}@keyframes rm-vpill-pulse{0%{box-shadow:0 0 0 0 rgba(217,119,6,.6)}70%{box-shadow:0 0 0 6px rgba(217,119,6,0)}to{box-shadow:0 0 0 0 rgba(217,119,6,0)}}@keyframes rm-vpill-pulse-applied{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}70%{box-shadow:0 0 0 6px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}@media (prefers-reduced-motion:reduce){.rm-vpill__dot,.rm-vpill__unsaved-dot:before{animation:none}}.rm-vpill__caret{color:var(--text-muted);flex-shrink:0}.rm-vpill__menu{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);box-sizing:border-box;font-family:var(--font-sans);left:0;max-width:460px;min-width:320px;padding:var(--space-6);position:absolute;top:calc(100% + 6px);z-index:60}.rm-vpill__unsaved{align-items:center;background:var(--color-warning-bg);border-radius:var(--radius-md);color:var(--color-warning);display:flex;font-size:var(--font-12);gap:var(--space-8);padding:var(--space-8) var(--space-12)}.rm-vpill__unsaved-dot{align-items:center;display:inline-flex;flex-shrink:0;height:14px;justify-content:center;width:14px}.rm-vpill__unsaved-dot:before{animation:rm-vpill-pulse 2s ease-out infinite;background:var(--color-warning);border-radius:50%;content:"";height:7px;width:7px}.rm-vpill__unsaved-label{flex:1;font-weight:var(--weight-semibold)}.rm-vpill__unsaved-cta{background:transparent;border:none;color:var(--color-warning);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:var(--weight-bold);padding:0;text-decoration:underline;text-underline-offset:2px}.rm-vpill__unsaved-cta:hover{color:var(--text-primary)}.rm-vpill__divider{background:var(--border-soft);height:1px;margin:6px -6px}.rm-vpill__section{color:var(--text-muted);font-size:var(--font-10);font-weight:var(--weight-bold);letter-spacing:.08em;margin:0;padding:var(--space-8) var(--space-12) var(--space-4) 34px;text-align:left;text-transform:uppercase}.rm-vpill__item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);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;transition:background .1s,color .1s;width:100%}.rm-vpill__item:hover{background:var(--bg-hover);color:var(--text-primary)}.rm-vpill__item.is-active{background:var(--bg-hover);color:var(--color-secondary);font-weight:var(--weight-semibold)}.rm-vpill__item.is-danger,.rm-vpill__item.is-danger:hover{color:var(--color-danger)}.rm-vpill__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-vpill__item--view .rm-vpill__check{color:var(--color-secondary);flex-shrink:0;opacity:0;transition:opacity .1s}.rm-vpill__item--view.is-active .rm-vpill__check{opacity:1}
|
|
213
220
|
</style>
|