@avenirs-esr/avenirs-dsav 0.1.55 → 0.1.57

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 (78) hide show
  1. package/README.md +1 -1
  2. package/dist/avenirs-dsav.css +2 -2
  3. package/dist/components/badges/AvTag/AvTag.stub.d.ts +4 -4
  4. package/dist/components/badges/AvTag/AvTag.vue.d.ts +11 -7
  5. package/dist/components/base/AvFieldset/AvFieldset.stub.d.ts +13 -0
  6. package/dist/components/base/AvFieldset/AvFieldset.test.d.ts +1 -0
  7. package/dist/components/base/AvFieldset/AvFieldset.vue.d.ts +64 -0
  8. package/dist/components/base/AvIcon/AvIcon.stories.d.ts +47 -0
  9. package/dist/components/base/{AvVIcon/AvVIcon.stub.d.ts → AvIcon/AvIcon.stub.d.ts} +5 -1
  10. package/dist/components/base/AvIcon/AvIcon.test.d.ts +1 -0
  11. package/dist/components/base/{AvVIcon/AvVIcon.vue.d.ts → AvIcon/AvIcon.vue.d.ts} +9 -15
  12. package/dist/components/base/AvIconText/AvIconText.stories.d.ts +1 -1
  13. package/dist/components/base/index.d.ts +2 -1
  14. package/dist/components/feedback/AvAlert/AvAlert.vue.d.ts +1 -1
  15. package/dist/components/header/AvHeader/AvHeader.stories.d.ts +28 -0
  16. package/dist/components/header/AvHeader/AvHeader.vue.d.ts +12 -26
  17. package/dist/components/header/AvHeader/injection-key.d.ts +4 -0
  18. package/dist/components/header/AvHeaderMenuLinks/AvHeaderMenuLinks.vue.d.ts +3 -4
  19. package/dist/components/interaction/accordions/AvAccordion/AvAccordion.stories.d.ts +13 -16
  20. package/dist/components/interaction/accordions/AvAccordion/AvAccordion.stub.d.ts +10 -0
  21. package/dist/components/interaction/accordions/AvAccordion/AvAccordion.vue.d.ts +5 -0
  22. package/dist/components/interaction/accordions/AvAccordionsGroup/AvAccordionsGroup.stories.d.ts +5 -12
  23. package/dist/components/interaction/accordions/AvAccordionsGroup/AvAccordionsGroup.vue.d.ts +5 -9
  24. package/dist/components/interaction/accordions/injection-key.d.ts +7 -0
  25. package/dist/components/interaction/buttons/AvButton/AvButton.stub.d.ts +2 -0
  26. package/dist/components/interaction/buttons/AvButton/AvButton.vue.d.ts +6 -14
  27. package/dist/components/interaction/buttons/AvLanguageSelector/AvLanguageSelector.stories.d.ts +26 -0
  28. package/dist/components/interaction/buttons/AvLanguageSelector/AvLanguageSelector.test.d.ts +1 -0
  29. package/dist/components/interaction/buttons/AvLanguageSelector/AvLanguageSelector.vue.d.ts +38 -0
  30. package/dist/components/interaction/buttons/index.d.ts +1 -0
  31. package/dist/components/interaction/checkboxes/AvCheckbox/AvChecbox.stories.d.ts +36 -0
  32. package/dist/components/interaction/checkboxes/AvCheckbox/AvCheckbox.stub.d.ts +49 -0
  33. package/dist/components/interaction/checkboxes/AvCheckbox/AvCheckbox.test.d.ts +1 -0
  34. package/dist/components/interaction/checkboxes/AvCheckbox/AvCheckbox.vue.d.ts +71 -0
  35. package/dist/components/interaction/checkboxes/index.d.ts +1 -0
  36. package/dist/components/interaction/files/AvFileUpload/AvFileUpload.vue.d.ts +1 -1
  37. package/dist/components/interaction/index.d.ts +1 -0
  38. package/dist/components/interaction/inputs/AvInput/AvInput.stories.d.ts +7 -7
  39. package/dist/components/interaction/inputs/AvInput/AvInput.vue.d.ts +18 -9
  40. package/dist/components/interaction/inputs/AvSearchBar/AvSearchBar.stories.d.ts +27 -0
  41. package/dist/components/interaction/inputs/AvSearchBar/AvSearchBar.test.d.ts +1 -0
  42. package/dist/components/interaction/inputs/AvSearchBar/AvSearchBar.vue.d.ts +35 -0
  43. package/dist/components/interaction/inputs/index.d.ts +1 -0
  44. package/dist/components/interaction/lists/AvListItem/AvListItem.stub.d.ts +2 -2
  45. package/dist/components/interaction/radios/AvRadioButtonSet/AvRadioButtonSet.vue.d.ts +10 -0
  46. package/dist/components/interaction/radios/AvRadioButtonSet/components/RadioButton.vue.d.ts +50 -0
  47. package/dist/components/interaction/selects/AvAutocomplete/AvAutocomplete.stories.d.ts +13 -13
  48. package/dist/components/interaction/selects/AvAutocomplete/AvAutocomplete.stub.d.ts +1 -1
  49. package/dist/components/interaction/selects/AvAutocomplete/AvAutocomplete.vue.d.ts +7 -7
  50. package/dist/components/interaction/selects/AvAutocomplete/AvAutocompleteContext.d.ts +1 -1
  51. package/dist/components/interaction/selects/AvAutocomplete/AvAutocompleteDropdown.vue.d.ts +2 -2
  52. package/dist/components/interaction/selects/AvAutocomplete/AvAutocompleteInput.vue.d.ts +63 -117
  53. package/dist/components/interaction/selects/AvAutocomplete/AvAutocompleteSelectedTags.vue.d.ts +3 -3
  54. package/dist/components/interaction/selects/AvMultiselect/AvMultiselect.stories.d.ts +6 -4
  55. package/dist/components/interaction/selects/AvMultiselect/AvMultiselect.types.d.ts +17 -0
  56. package/dist/components/interaction/selects/AvMultiselect/AvMultiselect.vue.d.ts +34 -27
  57. package/dist/components/interaction/selects/AvMultiselect/components/MultiselectCollapse.test.d.ts +1 -0
  58. package/dist/components/interaction/selects/AvMultiselect/components/MultiselectCollapse.vue.d.ts +39 -0
  59. package/dist/components/interaction/selects/index.d.ts +2 -1
  60. package/dist/components/interaction/toggles/AvToggle/AvToggle.stories.d.ts +2 -0
  61. package/dist/components/interaction/toggles/AvToggle/AvToggle.stub.d.ts +4 -4
  62. package/dist/components/navigation/AvBreadcrumb/AvBreadcrumb.stories.d.ts +2 -0
  63. package/dist/components/overlay/index.d.ts +1 -1
  64. package/dist/composables/index.d.ts +1 -0
  65. package/dist/composables/use-collapsable/use-collapsable.d.ts +101 -0
  66. package/dist/composables/use-collapsable/use-collapsable.test.d.ts +1 -0
  67. package/dist/index.cjs.js +8 -8
  68. package/dist/index.d.ts +0 -1
  69. package/dist/index.es.js +6621 -6844
  70. package/dist/injection-key.cjs.js +1 -0
  71. package/dist/injection-key.es.js +4 -0
  72. package/dist/test-utils.cjs.js +39 -12
  73. package/dist/test-utils.es.js +105 -44
  74. package/dist/tests/index.d.ts +5 -2
  75. package/dist/tests/stubs.d.ts +0 -43
  76. package/package.json +2 -1
  77. package/dist/components/base/AvVIcon/AvVIcon.stories.d.ts +0 -40
  78. package/dist/types/index.d.ts +0 -2
@@ -3,10 +3,10 @@ export declare const AvTagStub: import("vue").DefineComponent<{
3
3
  link?: any;
4
4
  small?: any;
5
5
  icon?: any;
6
- selected?: any;
6
+ value?: any;
7
7
  disabled?: any;
8
8
  iconOnly?: any;
9
- value?: any;
9
+ selected?: any;
10
10
  tagName?: any;
11
11
  selectable?: any;
12
12
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
@@ -14,10 +14,10 @@ export declare const AvTagStub: import("vue").DefineComponent<{
14
14
  link?: any;
15
15
  small?: any;
16
16
  icon?: any;
17
- selected?: any;
17
+ value?: any;
18
18
  disabled?: any;
19
19
  iconOnly?: any;
20
- value?: any;
20
+ selected?: any;
21
21
  tagName?: any;
22
22
  selectable?: any;
23
23
  }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -12,7 +12,7 @@ export type AvTagProps<T = string> = {
12
12
  link?: string;
13
13
  /**
14
14
  * Tag name used for the tag (should be 'p' ou 'button').
15
- * @default 'p' (DSFR default)
15
+ * @default 'p'
16
16
  */
17
17
  tagName?: 'p' | 'button';
18
18
  /**
@@ -63,7 +63,7 @@ declare const _default: import("vue").DefineComponent<({
63
63
  link?: string | undefined;
64
64
  /**
65
65
  * Tag name used for the tag (should be 'p' ou 'button').
66
- * @default 'p' (DSFR default)
66
+ * @default 'p'
67
67
  */
68
68
  tagName?: "button" | "p" | undefined;
69
69
  /**
@@ -98,7 +98,7 @@ declare const _default: import("vue").DefineComponent<({
98
98
  link?: string | undefined;
99
99
  /**
100
100
  * Tag name used for the tag (should be 'p' ou 'button').
101
- * @default 'p' (DSFR default)
101
+ * @default 'p'
102
102
  */
103
103
  tagName?: "button" | "p" | undefined;
104
104
  /**
@@ -132,7 +132,9 @@ declare const _default: import("vue").DefineComponent<({
132
132
  * @available if selectable is true
133
133
  */
134
134
  value?: string | undefined;
135
- }), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<({
135
+ }), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
136
+ select: (args_0: [unknown, boolean]) => any;
137
+ }, string, import("vue").PublicProps, Readonly<({
136
138
  /**
137
139
  * Displayed tag label.
138
140
  */
@@ -143,7 +145,7 @@ declare const _default: import("vue").DefineComponent<({
143
145
  link?: string | undefined;
144
146
  /**
145
147
  * Tag name used for the tag (should be 'p' ou 'button').
146
- * @default 'p' (DSFR default)
148
+ * @default 'p'
147
149
  */
148
150
  tagName?: "button" | "p" | undefined;
149
151
  /**
@@ -178,7 +180,7 @@ declare const _default: import("vue").DefineComponent<({
178
180
  link?: string | undefined;
179
181
  /**
180
182
  * Tag name used for the tag (should be 'p' ou 'button').
181
- * @default 'p' (DSFR default)
183
+ * @default 'p'
182
184
  */
183
185
  tagName?: "button" | "p" | undefined;
184
186
  /**
@@ -212,5 +214,7 @@ declare const _default: import("vue").DefineComponent<({
212
214
  * @available if selectable is true
213
215
  */
214
216
  value?: string | undefined;
215
- })> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
217
+ })> & Readonly<{
218
+ onSelect?: ((args_0: [unknown, boolean]) => any) | undefined;
219
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
216
220
  export default _default;
@@ -0,0 +1,13 @@
1
+ export declare const AvFieldsetStub: import("vue").DefineComponent<{
2
+ legend?: any;
3
+ class?: any;
4
+ id?: any;
5
+ legendId?: any;
6
+ ariaLive?: any;
7
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
8
+ legend?: any;
9
+ class?: any;
10
+ id?: any;
11
+ legendId?: any;
12
+ ariaLive?: any;
13
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,64 @@
1
+ import type { Slot } from 'vue';
2
+ /**
3
+ * AvFieldset component props.
4
+ */
5
+ export interface AvFieldsetProps {
6
+ /**
7
+ * Fieldset caption
8
+ * @default ''
9
+ */
10
+ legend?: string;
11
+ /**
12
+ * `<legend>` tag class
13
+ * @default ''
14
+ */
15
+ legendClass?: string;
16
+ /**
17
+ * `<legend>` tag id
18
+ * @default ''
19
+ */
20
+ legendId?: string;
21
+ /**
22
+ * Hint placed above the fieldset
23
+ * @default ''
24
+ */
25
+ hint?: string;
26
+ /**
27
+ * Class for the hint
28
+ * @default ''
29
+ */
30
+ hintClass?: string;
31
+ }
32
+ /**
33
+ * Slots available in the AvFieldset component.
34
+ *
35
+ * @slot default - Default slot for the content of the fieldset.
36
+ * @slot legend - Slot for the content of the title of the `fieldset`.
37
+ * @slot hint - Slot for the content of the hint.
38
+ */
39
+ type __VLS_Slots = {
40
+ /**
41
+ * Slot by default for the content of the fieldset
42
+ * (will be inside `<div class="fr-fieldset__element">`)
43
+ */
44
+ default?: Slot;
45
+ /**
46
+ * Slot for the content of the title of the `fieldset`
47
+ * (will be inside `<legend class="fr-fieldset__legend">`).
48
+ * A `legend` prop can be used for simple text.
49
+ */
50
+ legend?: Slot;
51
+ /**
52
+ * Slot for the content of the hint.
53
+ * (will be inside `<span class="fr-hint-text">` that will be inside `</legend>`).
54
+ * A `hint` prop can be used for simple text.
55
+ */
56
+ hint?: Slot;
57
+ };
58
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvFieldsetProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvFieldsetProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
59
+ export default _default;
60
+ type __VLS_WithSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1,47 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvIconProps } from '@/components/base/AvIcon/AvIcon.vue';
3
+ /**
4
+ * <h2 class="n2">✨ Introduction</h2>
5
+ *
6
+ * <p>
7
+ * <span class="b2-regular">
8
+ * The <code>AvIcon</code> component places an <code>Icon</code>
9
+ * (see <a href="https://iconify.design/docs/icon-components/vue/" target="_blank">Icon component from Iconify</a>)
10
+ * in a square <code>div</code> of configurable size.
11
+ * It is a Vue.js component for displaying icons with a wide range of customization options,
12
+ * including animations, colors, and sizes.
13
+ * </span>
14
+ * </p>
15
+ *
16
+ * <p>
17
+ * <span class="b2-regular">
18
+ * It's designed to be flexible and performant, with support for various display options,
19
+ * flip options, and accessible titles.
20
+ * </span>
21
+ * </p>
22
+ *
23
+ * <p>
24
+ * <span class="b2-regular">
25
+ * It has exactly the same API as <code>OhVueIcon</code>, and uses <code>@iconify/vue</code> under the hood.
26
+ * </span>
27
+ * </p>
28
+ *
29
+ * <p>
30
+ * <span class="b2-regular">
31
+ * <strong>⚠️ Icon names must be those from </strong>
32
+ * <a href="https://icon-sets.iconify.design/" target="_blank" rel="noopener noreferrer">Iconify-vue</a>
33
+ * </span>
34
+ * </p>
35
+ *
36
+ * <h2 class="n2">🏗️ Structure</h2>
37
+ *
38
+ * <p>
39
+ * <span class="b2-regular">
40
+ * The icon is composed of a square <code>div</code> of configurable size containing the <code>Icon</code> component.
41
+ * </span>
42
+ * </p>
43
+ */
44
+ declare const meta: Meta<AvIconProps>;
45
+ export default meta;
46
+ export declare const Default: StoryFn<AvIconProps>;
47
+ export declare const Animated: StoryFn<AvIconProps>;
@@ -1,9 +1,13 @@
1
- export declare const AvVIconStub: import("vue").DefineComponent<{
1
+ export declare const AvIconStub: import("vue").DefineComponent<{
2
+ title?: any;
2
3
  size?: any;
3
4
  name?: any;
5
+ animation?: any;
4
6
  color?: any;
5
7
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
8
+ title?: any;
6
9
  size?: any;
7
10
  name?: any;
11
+ animation?: any;
8
12
  color?: any;
9
13
  }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,9 @@
1
- export interface AvVIconProps {
1
+ /**
2
+ * AvIcon component props.
3
+ */
4
+ export interface AvIconProps {
2
5
  /**
3
- * The size in rem of the icon container and a ratio for the icon scale.
6
+ * The size in rem of the icon.
4
7
  * @default 1
5
8
  */
6
9
  size?: number;
@@ -8,16 +11,11 @@ export interface AvVIconProps {
8
11
  * The name of the icon to display.
9
12
  */
10
13
  name: string;
11
- /**
12
- * Vertical alignment of the icon relative to the baseline.
13
- * @default '-0.2em'
14
- */
15
- verticalAlign?: string;
16
14
  /**
17
15
  * Animation type applied to the icon.
18
- * Can be 'spin', 'wrench', 'pulse', 'spin-pulse', 'flash', or 'float'.
16
+ * Can be 'spin', 'wrench', 'pulse', 'spin-pulse', 'flash','float' or 'ring'.
19
17
  */
20
- animation?: 'spin' | 'wrench' | 'pulse' | 'spin-pulse' | 'flash' | 'float';
18
+ animation?: 'spin' | 'wrench' | 'pulse' | 'spin-pulse' | 'flash' | 'float' | 'ring';
21
19
  /**
22
20
  * Animation speed, if set.
23
21
  * Can be 'fast' or 'slow'.
@@ -37,18 +35,14 @@ export interface AvVIconProps {
37
35
  title?: string;
38
36
  /**
39
37
  * Main color of the icon.
38
+ * @default 'inherit'
40
39
  */
41
40
  color?: string;
42
- /**
43
- * Applies an inverted color to the icon.
44
- * @default false
45
- */
46
- inverse?: boolean;
47
41
  /**
48
42
  * Enables server-side rendering.
49
43
  * @default true
50
44
  */
51
45
  ssr?: boolean;
52
46
  }
53
- declare const _default: import("vue").DefineComponent<AvVIconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvVIconProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ declare const _default: import("vue").DefineComponent<AvIconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvIconProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
54
48
  export default _default;
@@ -19,7 +19,7 @@ import { type AvIconTextProps } from './AvIconText.vue';
19
19
  *
20
20
  * <ul>
21
21
  * <li>
22
- * <span class="b2-regular">The component is a <code>div</code> element composed of an <code>AvVIcon</code> component and a <code>span</code>.</span>
22
+ * <span class="b2-regular">The component is a <code>div</code> element composed of an <code>AvIcon</code> component and a <code>span</code>.</span>
23
23
  * </li>
24
24
  * <li>
25
25
  * <span class="b2-regular">Props allow you to modify the appearance of the icon and text according to the props: color, icon, size, and handling of overly long text.</span>
@@ -1,3 +1,4 @@
1
+ export { default as AvFieldset } from './AvFieldset/AvFieldset.vue';
2
+ export { default as AvIcon } from './AvIcon/AvIcon.vue';
1
3
  export { default as AvIconText } from './AvIconText/AvIconText.vue';
2
4
  export { default as AvNotice } from './AvNotice/AvNotice.vue';
3
- export { default as AvVIcon } from './AvVIcon/AvVIcon.vue';
@@ -2,7 +2,7 @@ import type { Slot } from 'vue';
2
2
  /**
3
3
  * AvAlert component props.
4
4
  */
5
- interface AvAlertProps {
5
+ export interface AvAlertProps {
6
6
  /**
7
7
  * If true, the alert is displayed with the `alert` role.
8
8
  * @default false
@@ -0,0 +1,28 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvHeaderProps } from '@/components/header/AvHeader/AvHeader.vue';
3
+ /**
4
+ * <h2 class="n2">✨ Introduction</h2>
5
+ *
6
+ * <p>
7
+ * <span class="b2-regular">
8
+ * The <code>AvHeader</code> component is an ultra-flexible header component. It integrates a search bar and quick links.
9
+ * It also allows the addition of a main navigation in the <code>mainnav</code> slot and a language selector via the <code>language-selector</code> prop.
10
+ * </span>
11
+ * </p>
12
+ *
13
+ * <h2 class="n2">🏗️ Structure</h2>
14
+ *
15
+ * <p>
16
+ * <span class="b2-regular">The header consists of:</span>
17
+ * </p>
18
+ *
19
+ * <ul>
20
+ * <li><span class="b2-regular">the Cofolio brand block.</span></li>
21
+ * <li><span class="b2-regular">the service name.</span></li>
22
+ * <li><span class="b2-regular">a baseline (description) below the site name.</span></li>
23
+ * <li><span class="b2-regular">an optional functional section - offering quick access and/or a search bar and/or a language selector - adapted to the specific needs of each site.</span></li>
24
+ * </ul>
25
+ */
26
+ declare const meta: Meta<AvHeaderProps>;
27
+ export default meta;
28
+ export declare const Default: StoryFn<AvHeaderProps>;
@@ -1,6 +1,7 @@
1
1
  import type { Slot } from 'vue';
2
2
  import type { RouteLocationRaw } from 'vue-router';
3
- import { type DsfrHeaderMenuLinkProps, type DsfrLanguageSelectorElement, type DsfrLanguageSelectorProps } from '@gouvminint/vue-dsfr';
3
+ import { type AvHeaderMenuLinksProps } from '@/components/header/AvHeaderMenuLinks/AvHeaderMenuLinks.vue';
4
+ import { type AvLanguageSelectorElement, type AvLanguageSelectorProps } from '@/components/interaction/buttons/AvLanguageSelector/AvLanguageSelector.vue';
4
5
  /**
5
6
  * AvHeader component props.
6
7
  */
@@ -33,11 +34,11 @@ export interface AvHeaderProps {
33
34
  * Quick links to display in the header.
34
35
  * @default () => []
35
36
  */
36
- quickLinks?: DsfrHeaderMenuLinkProps[];
37
+ quickLinks?: AvHeaderMenuLinksProps['links'];
37
38
  /**
38
39
  * Language selector properties.
39
40
  */
40
- languageSelector?: DsfrLanguageSelectorProps;
41
+ languageSelector?: AvLanguageSelectorProps;
41
42
  /**
42
43
  * Label for the search bar.
43
44
  * @default 'Recherche'
@@ -80,50 +81,35 @@ export interface AvHeaderProps {
80
81
  }
81
82
  type __VLS_Slots = {
82
83
  /**
83
- * Slot pour ajouter du contenu avant les liens rapides.
84
+ * Slot for adding content before quicklinks.
84
85
  */
85
86
  'before-quick-links'?: Slot;
86
87
  /**
87
- * Slot pour ajouter du contenu après les liens rapides.
88
+ * Slot for adding content after quicklinks.
88
89
  */
89
90
  'after-quick-links'?: Slot;
90
91
  /**
91
- * Slot affiché à côté / en dessous du serviceTitle.
92
+ * Slot for displaying content next to or under the service title.
92
93
  */
93
94
  'serviceDescription'?: Slot;
94
95
  /**
95
- * Slot pour le menu de navigation principal.
96
+ * Slot for the main navigation.
96
97
  */
97
98
  'mainnav'?: Slot;
98
99
  /**
99
- * Slot par défaut pour le contenu supplémentaire dans l'en-tête.
100
+ * Slot by default for the header additional content.
100
101
  */
101
102
  'default'?: Slot;
102
103
  };
103
104
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvHeaderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
104
105
  search: (payload: string) => any;
105
106
  "update:modelValue": (payload: string) => any;
106
- languageSelect: (payload: DsfrLanguageSelectorElement) => any;
107
+ languageSelect: (payload: AvLanguageSelectorElement) => any;
107
108
  }, string, import("vue").PublicProps, Readonly<AvHeaderProps> & Readonly<{
108
109
  onSearch?: ((payload: string) => any) | undefined;
109
110
  "onUpdate:modelValue"?: ((payload: string) => any) | undefined;
110
- onLanguageSelect?: ((payload: DsfrLanguageSelectorElement) => any) | undefined;
111
- }>, {
112
- modelValue: string;
113
- placeholder: string;
114
- searchbarId: string;
115
- serviceTitle: string;
116
- homeTo: string | import("vue-router").RouteLocationAsRelativeGeneric | import("vue-router").RouteLocationAsPathGeneric;
117
- quickLinks: DsfrHeaderMenuLinkProps[];
118
- languageSelector: DsfrLanguageSelectorProps;
119
- searchLabel: string;
120
- quickLinksAriaLabel: string;
121
- showSearchLabel: string;
122
- menuLabel: string;
123
- menuModalLabel: string;
124
- closeMenuModalLabel: string;
125
- homeLabel: string;
126
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
111
+ onLanguageSelect?: ((payload: AvLanguageSelectorElement) => any) | undefined;
112
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
127
113
  export default _default;
128
114
  type __VLS_WithSlots<T, S> = T & {
129
115
  new (): {
@@ -0,0 +1,4 @@
1
+ import type { InjectionKey } from 'vue';
2
+ type RegisterNavigationLink = () => () => void;
3
+ export declare const registerNavigationLinkKey: InjectionKey<RegisterNavigationLink>;
4
+ export {};
@@ -1,17 +1,16 @@
1
- import type { VIcon } from '@gouvminint/vue-dsfr';
2
1
  /**
3
2
  * AvHeaderMenuLinks component props.
4
3
  */
5
- interface AvHeaderMenuLinksProps {
4
+ export interface AvHeaderMenuLinksProps {
6
5
  /**
7
6
  * An array of objects representing quick links.
8
7
  * Each link can have an icon, a label, and an onClick function.
9
8
  */
10
9
  links?: {
11
10
  /**
12
- * Icon name (string) or props object for a VIcon component.
11
+ * Icon name as defined in Iconify.
13
12
  */
14
- icon?: string | InstanceType<typeof VIcon>['$props'];
13
+ icon?: string;
15
14
  /**
16
15
  * Link label.
17
16
  */
@@ -1,30 +1,27 @@
1
1
  import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvAccordionProps } from '@/components/interaction/accordions/AvAccordion/AvAccordion.vue';
2
3
  /**
3
- * <h1 class="n1">Accordions - <code>AvAccordions</code></h1>
4
- *
5
4
  * <h2 class="n2">✨ Introduction</h2>
6
5
  *
7
6
  * <p>
8
7
  * <span class="b2-regular">
9
- * The <code>AvAccordion</code> is a declarative component used exclusively in the <code>default</code> slot of
10
- * <code>AvAccordionsGroup</code>.
11
- * <code>AvAccordion</code> allows you to configure an accordion by passing its props (such as <code>title</code> and <code>icon</code>)
12
- * to the <code>AvAccordionsGroup</code> component without rendering.
8
+ * The <code>AvAccordion</code> allows users to show and hide sections of content presented on a page.
13
9
  * </span>
14
10
  * </p>
15
11
  *
16
- * <p>
17
- * <span class="b2-regular">
18
- * It acts as a proxy component: it exposes information (props) used by <code>AvAccordionsGroup</code> to generate the interface.
19
- * </span>
20
- * </p>
12
+ * <h2 class="n2">🏗️ Structure</h2>
21
13
  *
22
14
  * <p>
23
- * <span class="b2-regular">
24
- * 🚫 This component does not display anything by itself and should not be used outside <code>AvAccordion</code>.
25
- * </span>
15
+ * <span class="b2-regular">An accordion consists of the following elements:</span>
26
16
  * </p>
17
+ *
18
+ * <ul>
19
+ * <li><span class="b2-regular">a header (<code>title</code> prop, of type <code>string</code>), corresponding to the section title - mandatory.</span></li>
20
+ * <li><span class="b2-regular">an icon, indicating when the panel is closed and when it is open.</span></li>
21
+ * <li><span class="b2-regular">a separator</span></li>
22
+ * <li><span class="b2-regular">a content area, hidden by default, that can contain any type of element; the default <code>slot</code> is designed for this.</span></li>
23
+ * </ul>
27
24
  */
28
- declare const meta: Meta;
25
+ declare const meta: Meta<AvAccordionProps>;
29
26
  export default meta;
30
- export declare const Default: StoryFn;
27
+ export declare const Default: StoryFn<AvAccordionProps>;
@@ -0,0 +1,10 @@
1
+ export declare const AvAccordionStub: import("vue").DefineComponent<{
2
+ title?: any;
3
+ icon?: any;
4
+ }, {
5
+ isActive: import("vue").Ref<boolean, boolean>;
6
+ expand: () => void;
7
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
8
+ title?: any;
9
+ icon?: any;
10
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -3,6 +3,11 @@ import type { Slot } from 'vue';
3
3
  * AvAccordion component props.
4
4
  */
5
5
  export interface AvAccordionProps {
6
+ /**
7
+ * Accordion id
8
+ * @default crypto.randomUUID()
9
+ */
10
+ id?: string;
6
11
  /**
7
12
  * Title of the accordion.
8
13
  */
@@ -5,8 +5,7 @@ import { type AvAccordionsGroupProps } from '@/components/interaction/accordions
5
5
  *
6
6
  * <p>
7
7
  * <span class="b2-regular">
8
- * The <code>AvAccordionsGroup</code> component automatically manages the addition of <code>AvAccordion</code>
9
- * in a group according to the <code>AvAccordion</code> present in the <code>default</code> slot.
8
+ * The <code>AvAccordionsGroup</code> component automatically manages the addition of <code>AvAccordion</code> in a group according to the <code>AvAccordion</code> present in the <code>default</code> slot.
10
9
  * </span>
11
10
  * </p>
12
11
  *
@@ -18,21 +17,15 @@ import { type AvAccordionsGroupProps } from '@/components/interaction/accordions
18
17
  *
19
18
  * <p>
20
19
  * <span class="b2-regular">
21
- * The accordions group lets you group several accordions into a single coherent unit. It manages active selection logic between
22
- * child accordions, allowing you to open one accordion while closing the others. This component is essential for organizing
23
- * interactively linked accordion sets.
20
+ * The accordions group lets you group several accordions into a single coherent unit. It manages active selection logic between child accordions, allowing you to open one accordion while closing the others. This component is essential for organizing interactively linked accordion sets.
24
21
  * </span>
25
22
  * </p>
26
23
  *
27
24
  * <h2 class="n2">🏗️ Structure</h2>
28
25
  *
29
- * <ul class="b2-regular">
30
- * <li>A header (<code>title</code> prop, type <code>string</code>) — mandatory, represents the section title.</li>
31
- * <li>A left icon (<code>icon</code> prop, type <code>string</code>) — optional, must follow VICon naming convention.</li>
32
- * <li>A right icon — <code>v</code> when the panel is closed, <code>^</code> when open.</li>
33
- * <li>A separator.</li>
34
- * <li>A content zone — hidden by default and shown when expanded, accepting any content via the default <code>slot</code>.</li>
35
- * </ul>
26
+ * <p>
27
+ * <span class="b2-regular">None.</span>
28
+ * </p>
36
29
  */
37
30
  declare const meta: Meta<AvAccordionsGroupProps>;
38
31
  export default meta;
@@ -1,5 +1,5 @@
1
+ import type { VNode } from 'vue';
1
2
  import type AvAccordion from '@/components/interaction/accordions/AvAccordion/AvAccordion.vue';
2
- import { type VNode } from 'vue';
3
3
  /**
4
4
  * AvAccordionsGroup component props.
5
5
  */
@@ -9,7 +9,6 @@ export interface AvAccordionsGroupProps {
9
9
  */
10
10
  activeAccordion?: number;
11
11
  }
12
- type __VLS_Props = AvAccordionsGroupProps;
13
12
  /**
14
13
  * Slots available in AvAccordions component.
15
14
  * Used to inject accordions via `AvAccordion` components.
@@ -20,13 +19,10 @@ type __VLS_Slots = {
20
19
  */
21
20
  default?: () => VNode<typeof AvAccordion>[];
22
21
  };
23
- type __VLS_PublicProps = __VLS_Props & {
24
- 'activeAccordion'?: number;
25
- };
26
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
- "update:activeAccordion": (...args: unknown[]) => any;
28
- }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
- "onUpdate:activeAccordion"?: ((...args: unknown[]) => any) | undefined;
22
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvAccordionsGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ "update:activeAccordion": (value: number | undefined) => any;
24
+ }, string, import("vue").PublicProps, Readonly<AvAccordionsGroupProps> & Readonly<{
25
+ "onUpdate:activeAccordion"?: ((value: number | undefined) => any) | undefined;
30
26
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
31
27
  export default _default;
32
28
  type __VLS_WithSlots<T, S> = T & {
@@ -0,0 +1,7 @@
1
+ import type { InjectionKey, Ref } from 'vue';
2
+ type RegisterTab = (title: Ref<string>) => {
3
+ isActive: Ref<boolean>;
4
+ expand: () => void;
5
+ };
6
+ export declare const registerAccordionKey: InjectionKey<RegisterTab>;
7
+ export {};
@@ -1,11 +1,13 @@
1
1
  export declare const AvButtonStub: import("vue").DefineComponent<{
2
2
  label?: any;
3
+ size?: any;
3
4
  type?: any;
4
5
  variant?: any;
5
6
  isLoading?: any;
6
7
  disabled?: any;
7
8
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<{
8
9
  label?: any;
10
+ size?: any;
9
11
  type?: any;
10
12
  variant?: any;
11
13
  isLoading?: any;