@tekkare/romulus 0.1.141 → 0.1.143

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
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.16.0"
6
6
  },
7
- "version": "0.1.140",
7
+ "version": "0.1.142",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "0.8.4",
10
10
  "unbuild": "2.0.0"
@@ -1,12 +1,15 @@
1
1
  <!--
2
2
  Barre de filtres d'une page de liste.
3
3
 
4
- Au repos, une barre fine collee sous le bandeau de page (RmPageHeader) : le
5
- selecteur de vue si la page en publie un (useRmFilterBarView), une puce
6
- « Filtres » et la recherche, rien d'autre. La puce ouvre en accordeon le
7
- panneau qui contient tous les filtres ; c'est la que vivent « Sauvegarder un
8
- scope » et « Effacer les filtres ». Le nombre de filtres actifs reste visible
9
- puce.
4
+ Au repos, une barre fine collee sous le bandeau de page (RmPageHeader) : la
5
+ puce « Filtres », puis le selecteur de vue si la page en publie un
6
+ (useRmFilterBarView), puis la recherche, rien d'autre. « Filtres » ouvre en
7
+ tete parce que c'est le geste de tous les jours ; la vue se lit ensuite,
8
+ comme le perimetre sous lequel les filtres s'appliquent.
9
+
10
+ La puce ouvre en accordeon le panneau qui contient tous les filtres ; c'est
11
+ la que vivent « Sauvegarder un scope » et « Effacer les filtres ». Le nombre
12
+ de filtres actifs reste visible puce.
10
13
 
11
14
  Slots : #CardTitle (libelle de la puce si `customTitle`), #Rail (sur la
12
15
  barre, a cote de la puce : le reglage qu'on change tout le temps et qui ne
@@ -165,9 +168,17 @@ onBeforeUnmount(() => {
165
168
  :style="{ top: `${stickyTop}px`, '--rm-fbar-advanced-w': `${advancedWidth}px` }"
166
169
  >
167
170
  <div class="rm-fbar__row">
168
- <!-- Emplacement de la pastille de vue, en tete de rangee : c'est le
169
- perimetre sous lequel tout le reste se lit. Le cadre de l'app l'y
170
- pose par un Teleport, la barre n'a pas a connaitre les vues. -->
171
+ <button type="button" class="rm-fbar__toggle" :class="{ 'is-active': open }" @click="toggle('filters')">
172
+ <RmIcon name="Funnel" :size="16" />
173
+ <span v-if="customTitle"><slot name="CardTitle" /></span>
174
+ <span v-else>{{ t.title }}</span>
175
+ <span v-if="filtersAmount" class="rm-fbar__badge">{{ filtersAmount }}</span>
176
+ </button>
177
+
178
+ <!-- Emplacement de la pastille de vue, juste apres « Filtres » : le
179
+ geste de tous les jours ouvre la barre, la vue dit sous quel
180
+ perimetre il se lit. Le cadre de l'app l'y pose par un Teleport, la
181
+ barre n'a pas a connaitre les vues. -->
171
182
  <div id="rm_fbar_views" class="rm-fbar__views">
172
183
  <slot name="Views" />
173
184
  </div>
@@ -181,13 +192,6 @@ onBeforeUnmount(() => {
181
192
  />
182
193
  </div>
183
194
 
184
- <button type="button" class="rm-fbar__toggle" :class="{ 'is-active': open }" @click="toggle('filters')">
185
- <RmIcon name="Funnel" :size="16" />
186
- <span v-if="customTitle"><slot name="CardTitle" /></span>
187
- <span v-else>{{ t.title }}</span>
188
- <span v-if="filtersAmount" class="rm-fbar__badge">{{ filtersAmount }}</span>
189
- </button>
190
-
191
195
  <button
192
196
  v-if="hasCustomize"
193
197
  type="button"
@@ -94,6 +94,7 @@ export declare function rmBaseOption(theme: RmChartTheme, decal?: boolean): {
94
94
  borderWidth: number;
95
95
  };
96
96
  };
97
+ export declare const rmTooltipTrigger: (count: number) => "axis" | "item";
97
98
  export declare function rmLegend(theme: RmChartTheme, count: number, position?: 'top' | 'bottom'): {
98
99
  pageIconSize?: number | undefined;
99
100
  pageIconColor?: string | undefined;
@@ -177,6 +178,17 @@ export interface RmSeriesInput {
177
178
  }
178
179
  /** Bar chart vertical, une ou plusieurs series, empilable. */
179
180
  export declare function rmBarVerticalOption(categories: (string | number)[], series: RmSeriesInput[], theme: RmChartTheme, palette: string[], decal?: boolean): {
181
+ tooltip: {
182
+ trigger: string;
183
+ backgroundColor: string;
184
+ textStyle: {
185
+ color: string;
186
+ fontFamily: string;
187
+ fontSize: number;
188
+ };
189
+ borderColor: string;
190
+ borderWidth: number;
191
+ };
180
192
  legend: {
181
193
  pageIconSize?: number | undefined;
182
194
  pageIconColor?: string | undefined;
@@ -282,17 +294,6 @@ export declare function rmBarVerticalOption(categories: (string | number)[], ser
282
294
  textStyle: {
283
295
  fontFamily: string;
284
296
  };
285
- tooltip: {
286
- trigger: string;
287
- backgroundColor: string;
288
- textStyle: {
289
- color: string;
290
- fontFamily: string;
291
- fontSize: number;
292
- };
293
- borderColor: string;
294
- borderWidth: number;
295
- };
296
297
  };
297
298
  /** Bar chart horizontal, avec valeur affichee en bout de barre. */
298
299
  export declare function rmBarHorizontalOption(labels: string[], values: (number | null)[], theme: RmChartTheme, palette: string[], decal?: boolean, formatter?: (value: number) => string): {
@@ -422,17 +423,7 @@ export declare function rmLineOption(categories: (string | number)[], series: Rm
422
423
  valueFormatter?: (value: number) => string;
423
424
  }): {
424
425
  tooltip: {
425
- trigger: string;
426
- backgroundColor: string;
427
- textStyle: {
428
- color: string;
429
- fontFamily: string;
430
- fontSize: number;
431
- };
432
- borderColor: string;
433
- borderWidth: number;
434
- } | {
435
- valueFormatter: (value: unknown) => string;
426
+ valueFormatter?: ((value: unknown) => string) | undefined;
436
427
  trigger: string;
437
428
  backgroundColor: string;
438
429
  textStyle: {
@@ -90,6 +90,8 @@ export function rmBaseOption(theme, decal = false) {
90
90
  }
91
91
  };
92
92
  }
93
+ const TOOLTIP_AXIS_MIN_SERIES = 10;
94
+ export const rmTooltipTrigger = (count) => count < TOOLTIP_AXIS_MIN_SERIES ? "item" : "axis";
93
95
  const LEGEND_MAX_INLINE = 6;
94
96
  const LEGEND_NAME_MAX = 38;
95
97
  const LEGEND_NAME_TAIL = 12;
@@ -141,6 +143,7 @@ const axisCommon = (theme) => ({
141
143
  export function rmBarVerticalOption(categories, series, theme, palette, decal = false) {
142
144
  return {
143
145
  ...rmBaseOption(theme, decal),
146
+ tooltip: { ...rmBaseOption(theme, decal).tooltip, trigger: rmTooltipTrigger(series.length) },
144
147
  legend: series.length > 1 ? rmLegend(theme, series.length) : void 0,
145
148
  // La legende passee sous le graphe prend sa place dans la gouttiere basse,
146
149
  // sinon elle recouvre les libelles de l'axe des abscisses.
@@ -205,10 +208,11 @@ export function rmLineOption(categories, series, theme, palette, options = {}) {
205
208
  const base = rmBaseOption(theme, decal);
206
209
  return {
207
210
  ...base,
208
- tooltip: valueFormatter ? {
211
+ tooltip: {
209
212
  ...base.tooltip,
210
- valueFormatter: (value) => typeof value === "number" ? format(value) : ""
211
- } : base.tooltip,
213
+ trigger: rmTooltipTrigger(series.length),
214
+ ...valueFormatter ? { valueFormatter: (value) => typeof value === "number" ? format(value) : "" } : {}
215
+ },
212
216
  // Legende obligatoire en double axe : sans elle, rien ne dit quelle courbe
213
217
  // se lit sur quel axe.
214
218
  legend: series.length > 1 || dual ? rmLegend(theme, series.length, legendPosition) : void 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekkare/romulus",
3
- "version": "0.1.141",
3
+ "version": "0.1.143",
4
4
  "description": "Romulus Design System - Nuxt module by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",