@cnamts/synapse 0.0.3-alpha → 0.0.4-alpha

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 (185) hide show
  1. package/dist/design-system-v3.d.ts +712 -27
  2. package/dist/design-system-v3.js +2715 -1485
  3. package/dist/design-system-v3.umd.cjs +10 -1
  4. package/dist/style.css +1 -1
  5. package/package.json +5 -2
  6. package/src/components/Alert/Alert.mdx +1 -1
  7. package/src/components/Alert/Alert.stories.ts +91 -1
  8. package/src/components/BackBtn/BackBtn.mdx +1 -1
  9. package/src/components/BackBtn/BackBtn.stories.ts +84 -1
  10. package/src/components/BackToTopBtn/BackToTopBtn.mdx +3 -3
  11. package/src/components/BackToTopBtn/BackToTopBtn.stories.ts +172 -11
  12. package/src/components/CollapsibleList/CollapsibleList.mdx +2 -2
  13. package/src/components/CollapsibleList/CollapsibleList.stories.ts +37 -1
  14. package/src/components/CopyBtn/CopyBtn.mdx +1 -1
  15. package/src/components/CopyBtn/CopyBtn.stories.ts +120 -1
  16. package/src/components/CopyBtn/CopyBtn.vue +1 -1
  17. package/src/components/Customs/CustomInputSelect/CustomInputSelect.mdx +6 -8
  18. package/src/components/Customs/CustomInputSelect/CustomInputSelect.stories.ts +270 -4
  19. package/src/components/Customs/CustomInputSelect/CustomInputSelect.vue +80 -53
  20. package/src/components/Customs/CustomInputSelect/config.ts +10 -0
  21. package/src/components/Customs/CustomSelect/CustomSelect.mdx +3 -3
  22. package/src/components/Customs/CustomSelect/CustomSelect.stories.ts +158 -2
  23. package/src/components/Customs/CustomSelect/CustomSelect.vue +25 -6
  24. package/src/components/Customs/CustomTextField/CustomTextField.mdx +44 -0
  25. package/src/components/Customs/CustomTextField/CustomTextField.stories.ts +403 -0
  26. package/src/components/Customs/CustomTextField/CustomTextField.vue +110 -0
  27. package/src/components/Customs/CustomTextField/tests/CustomTextField.spec.ts +93 -0
  28. package/src/components/Customs/CustomTextField/tests/__snapshots__/CustomTextField.spec.ts.snap +59 -0
  29. package/src/components/Customs/CustomTextField/types.d.ts +3 -0
  30. package/src/components/DataList/DataList.mdx +77 -0
  31. package/src/components/DataList/DataList.stories.ts +960 -0
  32. package/src/components/DataList/DataList.vue +140 -0
  33. package/src/components/DataList/DataListLoading/DataListLoading.vue +56 -0
  34. package/src/components/DataList/DataListLoading/tests/DataListLoading.spec.ts +23 -0
  35. package/src/components/DataList/locales.ts +3 -0
  36. package/src/components/DataList/tests/DataList.spec.ts +194 -0
  37. package/src/components/DataList/types.d.ts +23 -0
  38. package/src/components/DataListGroup/DataListGroup.mdx +77 -0
  39. package/src/components/DataListGroup/DataListGroup.stories.ts +987 -0
  40. package/src/components/DataListGroup/DataListGroup.vue +59 -0
  41. package/src/components/DataListGroup/tests/DataListGroup.spec.ts +54 -0
  42. package/src/components/DataListGroup/tests/data/dataListGroupItems.ts +41 -0
  43. package/src/components/DataListGroup/types.d.ts +15 -0
  44. package/src/components/DataListItem/DataListItem.vue +135 -0
  45. package/src/components/DataListItem/config.ts +17 -0
  46. package/src/components/DataListItem/locales.ts +3 -0
  47. package/src/components/DataListItem/tests/DataListItem.spec.ts +156 -0
  48. package/src/components/DataListItem/types.d.ts +23 -0
  49. package/src/components/DownloadBtn/Accessibilite.mdx +14 -0
  50. package/src/components/DownloadBtn/Accessibilite.stories.ts +166 -0
  51. package/src/components/DownloadBtn/AccessibiliteItems.ts +129 -0
  52. package/src/components/DownloadBtn/DownloadBtn.mdx +5 -6
  53. package/src/components/DownloadBtn/DownloadBtn.stories.ts +207 -2
  54. package/src/components/DownloadBtn/constants/ExpertiseLevelEnum.ts +4 -0
  55. package/src/components/FooterBar/FooterBar.mdx +2 -2
  56. package/src/components/FooterBar/FooterBar.stories.ts +1 -1
  57. package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +1 -1
  58. package/src/components/FranceConnectBtn/FranceConnectBtn.stories.ts +58 -1
  59. package/src/components/HeaderBar/HeaderBar.mdx +164 -45
  60. package/src/components/HeaderBar/HeaderBar.stories.ts +559 -15
  61. package/src/components/HeaderBar/HeaderBar.vue +60 -22
  62. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.mdx +433 -0
  63. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +1089 -0
  64. package/src/components/HeaderBar/{HeaderComplexMenu/HeaderComplexMenu.vue → HeaderBurgerMenu/HeaderBurgerMenu.vue} +74 -45
  65. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.mdx +38 -0
  66. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.stories.ts +89 -0
  67. package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderMenuItem/tests/__snapshots__/HeaderMenuItem.spec.ts.snap +1 -1
  68. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.mdx +17 -0
  69. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.stories.ts +121 -0
  70. package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderMenuSection/HeaderMenuSection.vue +2 -2
  71. package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderMenuSection/tests/HeaderMenuSection.spec.ts +1 -3
  72. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.mdx +43 -0
  73. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +261 -0
  74. package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderSubMenu/HeaderSubMenu.vue +17 -3
  75. package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderSubMenu/tests/HeaderSubMenu.spec.ts +1 -1
  76. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +180 -0
  77. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +13 -0
  78. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderComplexMenu.spec.ts.snap +13 -0
  79. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +62 -25
  80. package/src/components/HeaderBar/HeaderLogo/tests/HeaderLogo.spec.ts +49 -1
  81. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +19 -23
  82. package/src/components/HeaderBar/HeaderMenuBtn/tests/HeaderMenuBtn.spec.ts +70 -0
  83. package/src/components/HeaderBar/Usages.mdx +85 -0
  84. package/src/components/HeaderBar/consts.scss +0 -1
  85. package/src/components/HeaderBar/tests/HeaderBar.spec.ts +8 -2
  86. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +5 -10
  87. package/src/components/HeaderLoading/HeaderLoading.mdx +28 -0
  88. package/src/components/HeaderLoading/HeaderLoading.stories.ts +62 -0
  89. package/src/components/HeaderLoading/HeaderLoading.vue +45 -0
  90. package/src/components/HeaderLoading/tests/HeaderLoading.spec.ts +22 -0
  91. package/src/components/HeaderNavigationBar/HeaderNavigationBar.mdx +128 -0
  92. package/src/components/HeaderNavigationBar/HeaderNavigationBar.stories.ts +784 -0
  93. package/src/components/HeaderNavigationBar/HeaderNavigationBar.vue +194 -0
  94. package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +74 -0
  95. package/src/components/HeaderNavigationBar/HorizontalNavbar/config.ts +18 -0
  96. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +127 -0
  97. package/src/components/HeaderNavigationBar/types.ts +7 -0
  98. package/src/components/HeaderToolbar/HeaderToolbar.mdx +31 -0
  99. package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +343 -0
  100. package/src/components/HeaderToolbar/HeaderToolbar.vue +487 -0
  101. package/src/components/HeaderToolbar/tests/HeaderToolbar.spec.ts +196 -0
  102. package/src/components/HeaderToolbar/types.d.ts +20 -0
  103. package/src/components/LangBtn/LangBtn.mdx +1 -1
  104. package/src/components/LangBtn/LangBtn.stories.ts +125 -8
  105. package/src/components/Logo/Logo.mdx +2 -2
  106. package/src/components/Logo/Logo.stories.ts +147 -1
  107. package/src/components/LogoBrandSection/LogoBrandSection.mdx +14 -0
  108. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +158 -0
  109. package/src/components/LogoBrandSection/LogoBrandSection.vue +312 -0
  110. package/src/components/LogoBrandSection/assets/ameli-pro.svg +1 -0
  111. package/src/components/LogoBrandSection/assets/ameli.svg +1 -0
  112. package/src/components/LogoBrandSection/assets/cnam.svg +1 -0
  113. package/src/components/LogoBrandSection/assets/compte-ameli.svg +1 -0
  114. package/src/components/LogoBrandSection/dividerDimensionsMapping.ts +14 -0
  115. package/src/components/LogoBrandSection/locales.ts +14 -0
  116. package/src/components/LogoBrandSection/secondaryLogoMapping.ts +24 -0
  117. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +365 -0
  118. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +14 -0
  119. package/src/components/LogoBrandSection/types.ts +8 -0
  120. package/src/components/NotificationBar/NotificationBar.mdx +6 -6
  121. package/src/components/NotificationBar/NotificationBar.stories.ts +1 -1
  122. package/src/components/NotificationBar/NotificationBar.vue +2 -2
  123. package/src/components/NotificationBar/tests/NotificationBar.spec.ts +1 -1
  124. package/src/components/PageContainer/PageContainer.mdx +1 -1
  125. package/src/components/PageContainer/PageContainer.stories.ts +86 -1
  126. package/src/components/PhoneField/PhoneField.mdx +49 -0
  127. package/src/components/PhoneField/PhoneField.stories.ts +869 -0
  128. package/src/components/PhoneField/PhoneField.vue +230 -0
  129. package/src/components/PhoneField/indicatifs.ts +104 -0
  130. package/src/components/PhoneField/locales.ts +4 -0
  131. package/src/components/PhoneField/tests/PhoneField.spec.ts +179 -0
  132. package/src/components/SkipLink/SkipLink.stories.ts +50 -1
  133. package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +28 -1
  134. package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +37 -1
  135. package/src/components/SubHeader/SubHeader.mdx +31 -0
  136. package/src/components/SubHeader/SubHeader.stories.ts +1032 -0
  137. package/src/components/SubHeader/SubHeader.vue +185 -0
  138. package/src/components/SubHeader/config.ts +12 -0
  139. package/src/components/SubHeader/locales.ts +3 -0
  140. package/src/components/SubHeader/tests/SubHeader.spec.ts +144 -0
  141. package/src/components/index.ts +24 -7
  142. package/src/composables/widthable/index.ts +29 -0
  143. package/src/composables/widthable/tests/widthable.spec.ts +52 -0
  144. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +2 -2
  145. package/src/main.ts +1 -0
  146. package/src/modules.d.ts +4 -0
  147. package/src/services/index.ts +1 -0
  148. package/src/stories/Demarrer/Accueil.mdx +10 -0
  149. package/src/stories/Demarrer/Accueil.stories.ts +76 -0
  150. package/src/stories/Demarrer/PolitiqueDeConfidentialite.mdx +9 -0
  151. package/src/stories/Demarrer/PolitiqueDeConfidentialite.stories.ts +20 -0
  152. package/src/stories/Fondamentaux/Accessibilite/Accessibilite.mdx +1 -2
  153. package/src/stories/Fondamentaux/Accessibilite/Accessibilite.stories.ts +1 -1
  154. package/src/stories/Fondamentaux/EcoConception/Econception.stories.ts +1 -1
  155. package/src/stories/GuideDuDev/moduleDeNotification.mdx +52 -48
  156. package/src/stories/GuideDuDev/vuetifyOptions.mdx +31 -28
  157. package/src/stories/Guidelines/CustomisationEtThemes.mdx +1 -1
  158. package/src/utils/functions/throttleDisplayFn/tests/throttleDisplayFn.spec.ts +47 -0
  159. package/src/utils/functions/throttleDisplayFn/throttleDisplayFn.ts +26 -0
  160. package/src/utils/rules/exactLength/index.ts +33 -0
  161. package/src/utils/rules/exactLength/locales.ts +6 -0
  162. package/src/utils/rules/required/index.ts +25 -0
  163. package/src/utils/rules/required/locales.ts +5 -0
  164. package/src/utils/rules/required/ruleMessageHelper.ts +14 -0
  165. package/src/utils/rules/required/tests/index.spec.ts +47 -0
  166. package/src/utils/rules/required/tests/rulesMessageHelper.spec.ts +22 -0
  167. package/src/utils/rules/types.d.ts +15 -0
  168. package/src/components/Beta/beta.mdx +0 -5
  169. package/src/components/Deprecated/deprecated.mdx +0 -5
  170. package/src/components/HeaderBar/HeaderComplexMenu/HeaderComplexMenu.stories.ts +0 -272
  171. package/src/components/HeaderBar/HeaderComplexMenu/HeaderMenuItem/HeaderMenuItem.stories.ts +0 -49
  172. package/src/components/HeaderBar/HeaderComplexMenu/HeaderMenuSection/HeaderMenuSection.stories.ts +0 -56
  173. package/src/components/HeaderBar/HeaderComplexMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +0 -137
  174. package/src/components/HeaderBar/HeaderComplexMenu/tests/HeaderComplexMenu.spec.ts +0 -129
  175. package/src/components/HeaderBar/HeaderComplexMenu/tests/__snapshots__/HeaderComplexMenu.spec.ts.snap +0 -18
  176. package/src/stories/Home/Accueil.mdx +0 -7
  177. package/src/stories/Home/PolitiqueDeConfidentialite.mdx +0 -4
  178. package/src/stories/Home/synapse.webp +0 -0
  179. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderMenuItem/HeaderMenuItem.vue +0 -0
  180. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/HeaderMenuItem/tests/HeaderMenuItem.spec.ts +0 -0
  181. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/conts.ts +0 -0
  182. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/locals.ts +0 -0
  183. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/tests/useHandleSubMenus.spec.ts +0 -0
  184. /package/src/components/HeaderBar/{HeaderComplexMenu → HeaderBurgerMenu}/useHandleSubMenus.ts +0 -0
  185. /package/src/components/Logo/{types.d.ts → types.ts} +0 -0
@@ -0,0 +1,343 @@
1
+ import HeaderToolbar from './HeaderToolbar.vue'
2
+ import type { Meta, StoryObj } from '@storybook/vue3'
3
+
4
+ const meta: Meta<typeof HeaderToolbar> = {
5
+ title: 'Composants/Structure/HeaderToolbar',
6
+ component: HeaderToolbar,
7
+ parameters: {
8
+ layout: 'fullscreen',
9
+ controls: { exclude: ['hideOverlay', 'handleLink', 'checkActiveLink', 'deleteActiveLink', 'activeIndex', 'highlightMenu', 'showOverlay', 'getLinkComponent'] },
10
+ },
11
+ argTypes: {
12
+ leftMenu: {
13
+ control: 'object',
14
+ description: 'Slot pour remplacer le menu de gauche.',
15
+ },
16
+ rightMenu: {
17
+ control: 'object',
18
+ description: 'Slot pour remplacer le menu de droite.',
19
+ },
20
+ itemsSelectMenu: {
21
+ control: 'object',
22
+ description: 'Menu de sélection.',
23
+ },
24
+ },
25
+ }
26
+
27
+ export default meta
28
+
29
+ type Story = StoryObj<typeof meta>
30
+
31
+ export const Default: Story = {
32
+ parameters: {
33
+ sourceCode: [
34
+ {
35
+ name: 'Template',
36
+ code: `
37
+ <template>
38
+ <HeaderToolbar />
39
+ </template>
40
+ `,
41
+ },
42
+ {
43
+ name: 'Script',
44
+ code: `
45
+ <script setup lang="ts">
46
+ import HeaderToolbar from '@cnamts/synapse'
47
+ </script>
48
+ `,
49
+ },
50
+ ],
51
+ },
52
+ args: {
53
+ leftMenu: [
54
+ {
55
+ title: 'Assuré',
56
+ href: 'https://www.ameli.fr/assure',
57
+ openInNewTab: true,
58
+ },
59
+ {
60
+ title: 'Professionnel de santé',
61
+ },
62
+ {
63
+ title: 'Entreprise',
64
+ href: 'https://www.ameli.fr/entreprise',
65
+ openInNewTab: true,
66
+ },
67
+ ],
68
+ rightMenu: [
69
+ {
70
+ title: 'Qui sommes-nous ?',
71
+ href: 'https://www.assurance-maladie.ameli.fr/qui-sommes-nous',
72
+ openInNewTab: true,
73
+ },
74
+ {
75
+ title: 'Carrières',
76
+ href: 'https://www.assurance-maladie.ameli.fr/carrieres',
77
+ openInNewTab: true,
78
+ },
79
+ {
80
+ title: 'Études et données',
81
+ href: 'https://www.assurance-maladie.ameli.fr/etudes-et-donnees',
82
+ openInNewTab: true,
83
+ },
84
+ {
85
+ title: 'Presse',
86
+ href: 'https://www.assurance-maladie.ameli.fr/presse',
87
+ openInNewTab: true,
88
+ },
89
+ ],
90
+ itemsSelectMenu: [
91
+ {
92
+ text: 'Chirurgien-dentiste',
93
+ value: 'Chirurgien-dentiste',
94
+ href: 'https://www.ameli.fr/chirurgien-dentiste',
95
+ openInNewTab: true,
96
+ },
97
+ {
98
+ text: 'Établissement',
99
+ value: 'Établissement',
100
+ href: 'https://www.ameli.fr/etablissement',
101
+ openInNewTab: true,
102
+ },
103
+ {
104
+ text: 'Exercice coordonné',
105
+ value: 'Exercice coordonné',
106
+ href: 'https://www.ameli.fr/exercice-coordonne',
107
+ openInNewTab: true,
108
+ },
109
+ {
110
+ text: 'Infirmier',
111
+ value: 'Infirmier',
112
+ href: 'https://www.ameli.fr/infirmier',
113
+ openInNewTab: true,
114
+ },
115
+ {
116
+ text: 'Laboratoire d\'analyses médicales',
117
+ value: 'Laboratoire d\'analyses médicales',
118
+ href: 'https://www.ameli.fr/laboratoire-danalyses-medicales',
119
+ openInNewTab: true,
120
+ },
121
+ {
122
+ text: 'Masseur-kinésithérapeute',
123
+ value: 'Masseur-kinésithérapeute',
124
+ href: 'https://www.ameli.fr/masseur-kinesitherapeute',
125
+ openInNewTab: true,
126
+ },
127
+ {
128
+ text: 'Médecin',
129
+ value: 'Médecin',
130
+ href: 'https://www.ameli.fr/medecin',
131
+ openInNewTab: true,
132
+ },
133
+ {
134
+ text: 'Orthophoniste',
135
+ value: 'Orthophoniste',
136
+ href: 'https://www.ameli.fr/orthophoniste',
137
+ openInNewTab: true,
138
+ },
139
+ {
140
+ text: 'Orthoptiste',
141
+ value: 'Orthoptiste',
142
+ href: 'https://www.ameli.fr/orthoptiste',
143
+ openInNewTab: true,
144
+ },
145
+ {
146
+ text: 'Pédicure-podologue',
147
+ value: 'Pédicure-podologue',
148
+ href: 'https://www.ameli.fr/pedicure-podologue',
149
+ openInNewTab: true,
150
+ },
151
+ {
152
+ text: 'Pharmacien',
153
+ value: 'Pharmacien',
154
+ href: 'https://www.ameli.fr/pharmacien',
155
+ openInNewTab: true,
156
+ },
157
+ {
158
+ text: 'Professionnel de la LPP/LATM',
159
+ value: 'Professionnel de la LPP/LATM',
160
+ href: 'https://www.ameli.fr/professionnel-de-la-lpplatm',
161
+ openInNewTab: true,
162
+ },
163
+ {
164
+ text: 'Psychologue',
165
+ value: 'Psychologue',
166
+ href: 'https://www.ameli.fr/psychologue',
167
+ openInNewTab: true,
168
+ },
169
+ {
170
+ text: 'Sage-femme',
171
+ value: 'Sage-femme',
172
+ href: 'https://www.ameli.fr/sage-femme',
173
+ openInNewTab: true,
174
+ },
175
+ {
176
+ text: 'Taxi conventionné',
177
+ value: 'Taxi conventionné',
178
+ href: 'https://www.ameli.fr/taxi-conventionne',
179
+ openInNewTab: true,
180
+ },
181
+ {
182
+ text: 'Transporteur sanitaire',
183
+ value: 'Transporteur sanitaire',
184
+ href: 'https://www.ameli.fr/transporteur-sanitaire',
185
+ openInNewTab: true,
186
+ },
187
+ ],
188
+ },
189
+ render: (args) => {
190
+ return {
191
+ components: { HeaderToolbar },
192
+ setup() {
193
+ return { args }
194
+ },
195
+ template: `
196
+ <HeaderToolbar v-bind="args"/>
197
+ `,
198
+ }
199
+ },
200
+ }
201
+
202
+ export const CustomLinks: Story = {
203
+ parameters: {
204
+ sourceCode: [
205
+ {
206
+ name: 'Template',
207
+ code: `
208
+ <template>
209
+ <HeaderToolbar>
210
+ <template #left-menu>
211
+ <ul>
212
+ <li v-for="item in leftMenu">
213
+ <a :href="item.href" target="_blank">
214
+ {{ item.title }}
215
+ </a>
216
+ </li>
217
+ </ul>
218
+ </template>
219
+ <template #right-menu>
220
+ <ul>
221
+ <li v-for="item in rightMenu">
222
+ <a :href="item.href" target="_blank">
223
+ {{ item.title }}
224
+ </a>
225
+ </li>
226
+ </ul>
227
+ </HeaderToolbar>
228
+ </template>
229
+ `,
230
+ },
231
+ {
232
+ name: 'Script',
233
+ code: `
234
+ <script setup lang="ts">
235
+ import HeaderToolbar from '@cnamts/synapse'
236
+
237
+ const leftMenu = [
238
+ {
239
+ title: 'Titre 1',
240
+ href: 'https://www.ameli.fr',
241
+ openInNewTab: true,
242
+ },
243
+ {
244
+ title: 'Titre 2',
245
+ href: 'https://www.ameli.fr',
246
+ openInNewTab: true,
247
+ },
248
+ {
249
+ title: 'Titre 3',
250
+ href: 'https://www.ameli.fr',
251
+ openInNewTab: true,
252
+ },
253
+ ]
254
+
255
+ const rightMenu = [
256
+ {
257
+ title: 'Titre 4',
258
+ href: 'https://www.ameli.fr',
259
+ openInNewTab: true,
260
+ },
261
+ {
262
+ title: 'Titre 5',
263
+ href: 'https://www.ameli.fr',
264
+ openInNewTab: true,
265
+ },
266
+ {
267
+ title: 'Titre 6',
268
+ href: 'https://www.ameli.fr',
269
+ openInNewTab: true,
270
+ },
271
+ ]
272
+ </script>
273
+ `,
274
+ },
275
+ ],
276
+ },
277
+ args: {
278
+ leftMenu: [
279
+ {
280
+ title: 'Titre 1',
281
+ href: 'https://www.ameli.fr',
282
+ openInNewTab: true,
283
+ },
284
+ {
285
+ title: 'Titre 2',
286
+ href: 'https://www.ameli.fr',
287
+ openInNewTab: true,
288
+ },
289
+ {
290
+ title: 'Titre 3',
291
+ href: 'https://www.ameli.fr',
292
+ openInNewTab: true,
293
+ },
294
+ ],
295
+ rightMenu: [
296
+ {
297
+ title: 'Titre 4',
298
+ href: 'https://www.ameli.fr',
299
+ openInNewTab: true,
300
+ },
301
+ {
302
+ title: 'Titre 5',
303
+ href: 'https://www.ameli.fr',
304
+ openInNewTab: true,
305
+ },
306
+ {
307
+ title: 'Titre 6',
308
+ href: 'https://www.ameli.fr',
309
+ openInNewTab: true,
310
+ },
311
+ ],
312
+ },
313
+ render: (args) => {
314
+ return {
315
+ components: { HeaderToolbar },
316
+ setup() {
317
+ return { args }
318
+ },
319
+ template: `
320
+ <HeaderToolbar v-bind="args">
321
+ <template #left-menu>
322
+ <ul>
323
+ <li v-for="item in args.leftMenu">
324
+ <a :href="item.href" target="_blank">
325
+ {{ item.title }}
326
+ </a>
327
+ </li>
328
+ </ul>
329
+ </template>
330
+ <template #right-menu>
331
+ <ul>
332
+ <li v-for="item in args.rightMenu">
333
+ <a :href="item.href" target="_blank">
334
+ {{ item.title }}
335
+ </a>
336
+ </li>
337
+ </ul>
338
+ </template>
339
+ </HeaderToolbar>
340
+ `,
341
+ }
342
+ },
343
+ }