@tekkare/romulus 0.1.233 → 0.1.234

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.232",
7
+ "version": "0.1.233",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "0.8.4",
10
10
  "unbuild": "2.0.0"
@@ -59,6 +59,13 @@ const props = withDefaults(defineProps<{
59
59
  open?: boolean
60
60
  collapseLabel?: string
61
61
  expandLabel?: string
62
+ /**
63
+ * true : toutes les sections repliables arrivent deployees, et restent
64
+ * repliables au clic. Pour une app dont la navigation est courte, ou le
65
+ * lecteur veut voir d'emblee tout ce qui est offert sans deplier groupe par
66
+ * groupe.
67
+ */
68
+ defaultOpen?: boolean
62
69
  }>(), {
63
70
  flag: undefined,
64
71
  titleTo: undefined,
@@ -67,6 +74,7 @@ const props = withDefaults(defineProps<{
67
74
  open: false,
68
75
  collapseLabel: 'Replier la barre latérale',
69
76
  expandLabel: 'Déplier la barre latérale',
77
+ defaultOpen: false,
70
78
  })
71
79
 
72
80
  const emit = defineEmits<{
@@ -128,6 +136,19 @@ watch(() => sectionOf(props.activePath), (key) => {
128
136
  if (key && !openSections.value.has(key)) openSections.value.add(key)
129
137
  })
130
138
 
139
+ // `defaultOpen` : chaque section deployee a sa premiere apparition, y compris
140
+ // celles que les droits d'acces ajoutent en cours de route. Une section deja
141
+ // vue garde l'etat que le lecteur lui a donne.
142
+ const seenSections = new Set<string>()
143
+ watch(() => collapsibles.value.map(s => s.key), (keys) => {
144
+ if (!props.defaultOpen) return
145
+ for (const key of keys) {
146
+ if (seenSections.has(key)) continue
147
+ seenSections.add(key)
148
+ openSections.value.add(key)
149
+ }
150
+ }, { immediate: true })
151
+
131
152
  function toggleSection(key: string) {
132
153
  if (openSections.value.has(key)) openSections.value.delete(key)
133
154
  else openSections.value.add(key)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekkare/romulus",
3
- "version": "0.1.233",
3
+ "version": "0.1.234",
4
4
  "description": "Romulus Design System - Nuxt module by Tekkare",
5
5
  "license": "MIT",
6
6
  "type": "module",