@avenirs-esr/avenirs-dsav 0.1.1 → 0.1.2

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 (160) hide show
  1. package/dist/avenirs-dsav.css +1 -1
  2. package/dist/avenirs-dsav.es.js +7375 -15307
  3. package/dist/avenirs-dsav.umd.js +73 -110
  4. package/dist/src/App.vue.d.ts +2 -0
  5. package/dist/src/components/badges/AvBadge/AvBadge.stories.d.ts +44 -0
  6. package/dist/src/components/badges/AvBadge/AvBadge.stub.d.ts +30 -0
  7. package/dist/src/components/badges/AvBadge/AvBadge.test.d.ts +1 -0
  8. package/dist/src/components/badges/AvBadge/AvBadge.vue.d.ts +44 -0
  9. package/dist/src/components/badges/index.d.ts +1 -0
  10. package/dist/src/components/base/AvIconText/AvIconText.stories.d.ts +36 -0
  11. package/dist/src/components/base/AvIconText/AvIconText.test.d.ts +1 -0
  12. package/dist/src/components/base/AvIconText/AvIconText.vue.d.ts +40 -0
  13. package/dist/src/components/base/AvNotice/AvNotice.stories.d.ts +63 -0
  14. package/dist/src/components/base/AvNotice/AvNotice.test.d.ts +1 -0
  15. package/dist/src/components/base/AvNotice/AvNotice.vue.d.ts +22 -0
  16. package/dist/src/components/base/AvVIcon/AvVIcon.stories.d.ts +47 -0
  17. package/dist/src/components/base/AvVIcon/AvVIcon.stub.d.ts +9 -0
  18. package/dist/src/components/base/AvVIcon/AvVIcon.vue.d.ts +54 -0
  19. package/dist/src/components/base/index.d.ts +2 -0
  20. package/dist/src/components/cards/AvCard/AvCard.stories.d.ts +28 -0
  21. package/dist/src/components/cards/AvCard/AvCard.test.d.ts +1 -0
  22. package/dist/src/components/cards/AvCard/AvCard.vue.d.ts +58 -0
  23. package/dist/src/components/cards/index.d.ts +1 -0
  24. package/dist/src/components/feedback/AvAlert/AvAlert.test.d.ts +1 -0
  25. package/dist/src/components/feedback/AvAlert/AvAlert.vue.d.ts +77 -0
  26. package/dist/src/components/feedback/AvToaster/AvToaster.test.d.ts +1 -0
  27. package/dist/src/components/feedback/AvToaster/AvToaster.vue.d.ts +79 -0
  28. package/dist/src/components/feedback/index.d.ts +2 -0
  29. package/dist/src/components/header/AvHeader/AvHeader.test.d.ts +1 -0
  30. package/dist/src/components/header/AvHeader/AvHeader.vue.d.ts +132 -0
  31. package/dist/src/components/header/AvHeaderMenuLinks/AvHeaderMenuLinks.test.d.ts +1 -0
  32. package/dist/src/components/header/AvHeaderMenuLinks/AvHeaderMenuLinks.vue.d.ts +38 -0
  33. package/dist/src/components/header/AvLogo.vue.d.ts +2 -0
  34. package/dist/src/components/header/EsupLogo.test.d.ts +1 -0
  35. package/dist/src/components/header/EsupLogo.vue.d.ts +7 -0
  36. package/dist/src/components/header/index.d.ts +5 -0
  37. package/dist/src/components/index.d.ts +8 -0
  38. package/dist/src/components/interaction/accordions/AvAccordion/AvAccordion.stories.d.ts +30 -0
  39. package/dist/src/components/interaction/accordions/AvAccordion/AvAccordion.test.d.ts +1 -0
  40. package/dist/src/components/interaction/accordions/AvAccordion/AvAccordion.vue.d.ts +31 -0
  41. package/dist/src/components/interaction/accordions/AvAccordionsGroup/AvAccordionsGroup.stories.d.ts +48 -0
  42. package/dist/src/components/interaction/accordions/AvAccordionsGroup/AvAccordionsGroup.test.d.ts +1 -0
  43. package/dist/src/components/interaction/accordions/AvAccordionsGroup/AvAccordionsGroup.vue.d.ts +36 -0
  44. package/dist/src/components/interaction/accordions/index.d.ts +2 -0
  45. package/dist/src/components/interaction/buttons/AvButton/AvButton.stories.d.ts +75 -0
  46. package/dist/src/components/interaction/buttons/AvButton/AvButton.stub.d.ts +15 -0
  47. package/dist/src/components/interaction/buttons/AvButton/AvButton.test.d.ts +1 -0
  48. package/dist/src/components/interaction/buttons/AvButton/AvButton.vue.d.ts +78 -0
  49. package/dist/src/components/interaction/buttons/AvRichButton/AvRichButton.stories.d.ts +39 -0
  50. package/dist/src/components/interaction/buttons/AvRichButton/AvRichButton.test.d.ts +1 -0
  51. package/dist/src/components/interaction/buttons/AvRichButton/AvRichButton.vue.d.ts +48 -0
  52. package/dist/src/components/interaction/buttons/index.d.ts +2 -0
  53. package/dist/src/components/interaction/files/AvFileUpload/AvFileUpload.stories.d.ts +30 -0
  54. package/dist/src/components/interaction/files/AvFileUpload/AvFileUpload.test.d.ts +1 -0
  55. package/dist/src/components/interaction/files/AvFileUpload/AvFileUpload.vue.d.ts +131 -0
  56. package/dist/src/components/interaction/files/AvFileUpload/AvFileUploadAlert.vue.d.ts +19 -0
  57. package/dist/src/components/interaction/files/index.d.ts +1 -0
  58. package/dist/src/components/interaction/index.d.ts +10 -0
  59. package/dist/src/components/interaction/inputs/AvInput/AvInput.stories.d.ts +71 -0
  60. package/dist/src/components/interaction/inputs/AvInput/AvInput.test.d.ts +1 -0
  61. package/dist/src/components/interaction/inputs/AvInput/AvInput.vue.d.ts +111 -0
  62. package/dist/src/components/interaction/inputs/index.d.ts +1 -0
  63. package/dist/src/components/interaction/lists/AvList/AvList.stories.d.ts +55 -0
  64. package/dist/src/components/interaction/lists/AvList/AvList.stub.d.ts +5 -0
  65. package/dist/src/components/interaction/lists/AvList/AvList.test.d.ts +1 -0
  66. package/dist/src/components/interaction/lists/AvList/AvList.vue.d.ts +74 -0
  67. package/dist/src/components/interaction/lists/AvListItem/AvListItem.stories.d.ts +59 -0
  68. package/dist/src/components/interaction/lists/AvListItem/AvListItem.stub.d.ts +19 -0
  69. package/dist/src/components/interaction/lists/AvListItem/AvListItem.test.d.ts +1 -0
  70. package/dist/src/components/interaction/lists/AvListItem/AvListItem.vue.d.ts +112 -0
  71. package/dist/src/components/interaction/lists/index.d.ts +2 -0
  72. package/dist/src/components/interaction/pickers/AvPageSizePicker/AvPageSizePicker.stories.d.ts +24 -0
  73. package/dist/src/components/interaction/pickers/AvPageSizePicker/AvPageSizePicker.test.d.ts +1 -0
  74. package/dist/src/components/interaction/pickers/AvPageSizePicker/AvPageSizePicker.vue.d.ts +23 -0
  75. package/dist/src/components/interaction/pickers/AvTagPicker/AvTagPicker.stories.d.ts +96 -0
  76. package/dist/src/components/interaction/pickers/AvTagPicker/AvTagPicker.stub.d.ts +11 -0
  77. package/dist/src/components/interaction/pickers/AvTagPicker/AvTagPicker.test.d.ts +1 -0
  78. package/dist/src/components/interaction/pickers/AvTagPicker/AvTagPicker.vue.d.ts +79 -0
  79. package/dist/src/components/interaction/pickers/index.d.ts +2 -0
  80. package/dist/src/components/interaction/radios/AvRadioButton/AvRadioButton.stories.d.ts +34 -0
  81. package/dist/src/components/interaction/radios/AvRadioButton/AvRadioButton.test.d.ts +1 -0
  82. package/dist/src/components/interaction/radios/AvRadioButton/AvRadioButton.vue.d.ts +38 -0
  83. package/dist/src/components/interaction/radios/AvRadioButtonSet/AvRadioButtonSet.stories.d.ts +54 -0
  84. package/dist/src/components/interaction/radios/AvRadioButtonSet/AvRadioButtonSet.test.d.ts +1 -0
  85. package/dist/src/components/interaction/radios/AvRadioButtonSet/AvRadioButtonSet.vue.d.ts +76 -0
  86. package/dist/src/components/interaction/radios/index.d.ts +2 -0
  87. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocomplete.stories.d.ts +553 -0
  88. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocomplete.stub.d.ts +28 -0
  89. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocomplete.test.d.ts +1 -0
  90. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocomplete.types.d.ts +101 -0
  91. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocomplete.vue.d.ts +204 -0
  92. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocompleteContext.d.ts +14 -0
  93. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocompleteDropdown.vue.d.ts +60 -0
  94. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocompleteInput.vue.d.ts +309 -0
  95. package/dist/src/components/interaction/selects/AvAutocomplete/AvAutocompleteSelectedTags.vue.d.ts +42 -0
  96. package/dist/src/components/interaction/selects/AvSelect/AvSelect.stories.d.ts +103 -0
  97. package/dist/src/components/interaction/selects/AvSelect/AvSelect.stub.d.ts +15 -0
  98. package/dist/src/components/interaction/selects/AvSelect/AvSelect.test.d.ts +1 -0
  99. package/dist/src/components/interaction/selects/AvSelect/AvSelect.vue.d.ts +63 -0
  100. package/dist/src/components/interaction/selects/index.d.ts +3 -0
  101. package/dist/src/components/interaction/tabs/AvTab/AvTab.stories.d.ts +34 -0
  102. package/dist/src/components/interaction/tabs/AvTab/AvTab.test.d.ts +1 -0
  103. package/dist/src/components/interaction/tabs/AvTab/AvTab.vue.d.ts +31 -0
  104. package/dist/src/components/interaction/tabs/AvTabs/AvTabs.stories.d.ts +51 -0
  105. package/dist/src/components/interaction/tabs/AvTabs/AvTabs.test.d.ts +1 -0
  106. package/dist/src/components/interaction/tabs/AvTabs/AvTabs.vue.d.ts +40 -0
  107. package/dist/src/components/interaction/tabs/index.d.ts +2 -0
  108. package/dist/src/components/interaction/toggles/AvToggle/AvToggle.stories.d.ts +21 -0
  109. package/dist/src/components/interaction/toggles/AvToggle/AvToggle.test.d.ts +1 -0
  110. package/dist/src/components/interaction/toggles/AvToggle/AvToggle.vue.d.ts +46 -0
  111. package/dist/src/components/interaction/toggles/index.d.ts +1 -0
  112. package/dist/src/components/navigation/AvNavigation/AvNavigation.stories.d.ts +34 -0
  113. package/dist/src/components/navigation/AvNavigation/AvNavigation.test.d.ts +1 -0
  114. package/dist/src/components/navigation/AvNavigation/AvNavigation.vue.d.ts +16 -0
  115. package/dist/src/components/navigation/AvNavigation/index.d.ts +1 -0
  116. package/dist/src/components/navigation/AvPagination/AvPagination.test.d.ts +1 -0
  117. package/dist/src/components/navigation/AvPagination/AvPagination.vue.d.ts +57 -0
  118. package/dist/src/components/navigation/AvPagination/utils.d.ts +14 -0
  119. package/dist/src/components/navigation/AvPagination/utils.test.d.ts +1 -0
  120. package/dist/src/components/navigation/AvSideMenu/AvSideMenu.stories.d.ts +55 -0
  121. package/dist/src/components/navigation/AvSideMenu/AvSideMenu.test.d.ts +1 -0
  122. package/dist/src/components/navigation/AvSideMenu/AvSideMenu.vue.d.ts +61 -0
  123. package/dist/src/components/navigation/AvSideNavigation/AvSideNavigation.stories.d.ts +58 -0
  124. package/dist/src/components/navigation/AvSideNavigation/AvSideNavigation.stub.d.ts +16 -0
  125. package/dist/src/components/navigation/AvSideNavigation/AvSideNavigation.test.d.ts +1 -0
  126. package/dist/src/components/navigation/AvSideNavigation/AvSideNavigation.vue.d.ts +38 -0
  127. package/dist/src/components/navigation/index.d.ts +5 -0
  128. package/dist/src/components/overlay/drawers/AvDrawer/AvDrawer.stories.d.ts +53 -0
  129. package/dist/src/components/overlay/drawers/AvDrawer/AvDrawer.stub.d.ts +11 -0
  130. package/dist/src/components/overlay/drawers/AvDrawer/AvDrawer.test.d.ts +1 -0
  131. package/dist/src/components/overlay/drawers/AvDrawer/AvDrawer.vue.d.ts +60 -0
  132. package/dist/src/components/overlay/index.d.ts +3 -0
  133. package/dist/src/components/overlay/modals/AvModal/AvModal.test.d.ts +1 -0
  134. package/dist/src/components/overlay/modals/AvModal/AvModal.vue.d.ts +74 -0
  135. package/dist/src/components/overlay/popovers/AvPopover/AvPopover.stories.d.ts +49 -0
  136. package/dist/src/components/overlay/popovers/AvPopover/AvPopover.test.d.ts +1 -0
  137. package/dist/src/components/overlay/popovers/AvPopover/AvPopover.vue.d.ts +48 -0
  138. package/dist/src/components/overlay/popovers/AvPopover/use-popover.d.ts +41 -0
  139. package/dist/src/components/overlay/popovers/AvPopover/use-popover.test.d.ts +1 -0
  140. package/dist/src/composables/index.d.ts +1 -0
  141. package/dist/src/composables/use-focus-trap/use-focus-trap.d.ts +25 -0
  142. package/dist/src/composables/use-focus-trap/use-focus-trap.test.d.ts +1 -0
  143. package/dist/src/config/index.d.ts +1 -0
  144. package/dist/src/config/page-sizes.d.ts +6 -0
  145. package/dist/src/index.d.ts +5 -0
  146. package/dist/src/main.d.ts +8 -0
  147. package/dist/src/stories/foundations/icons.stories.d.ts +6 -0
  148. package/dist/src/stories/foundations/typography.stories.d.ts +5 -0
  149. package/dist/src/tests/index.d.ts +2 -0
  150. package/dist/src/tests/stubs.d.ts +62 -0
  151. package/dist/src/tests/utils.d.ts +34 -0
  152. package/dist/src/tokens/icons.d.ts +79 -0
  153. package/dist/src/tokens/index.d.ts +1 -0
  154. package/dist/src/utils/array/array.d.ts +8 -0
  155. package/dist/src/utils/forms/form.test.d.ts +1 -0
  156. package/dist/src/utils/forms/forms.d.ts +6 -0
  157. package/dist/src/utils/index.d.ts +3 -0
  158. package/dist/src/utils/string/string.d.ts +21 -0
  159. package/dist/src/utils/string/string.test.d.ts +1 -0
  160. package/package.json +4 -3
@@ -0,0 +1,103 @@
1
+ import type { StoryFn } from '@storybook/vue3';
2
+ import { type AvSelectProps } from '@/components/interaction/selects/AvSelect/AvSelect.vue';
3
+ /**
4
+ * <h1 class="n1">Drop-down list - <code>AvSelect</code></h1>
5
+ *
6
+ * <h2 class="n2">🌟 Introduction</h2>
7
+ *
8
+ * <p>
9
+ * <span class="b2-regular">
10
+ * The <code>AvSelect</code> is a component implementing the VueDSFR <code>DsfrSelect</code>. It is a Vue component enabling a user to select an item from a given list.
11
+ * </span>
12
+ * </p>
13
+ *
14
+ * <p>
15
+ * <span class="b2-regular">
16
+ * The drop-down list provides a list of options from which the user can choose. Only the visible part of the component is stylized:
17
+ * the drop-down list of options retains the browser style.
18
+ * </span>
19
+ * </p>
20
+ *
21
+ * <p>
22
+ * <span class="b2-regular">
23
+ * 🏅 Documentation on the <code>DsfrSelect</code> can be found at
24
+ * <a href="https://vue-ds.fr/composants/DsfrSelect" target="_blank" rel="noopener noreferrer">VueDSFR</a>
25
+ * </span>
26
+ * </p>
27
+ *
28
+ * <h2 class="n2">📐 Structure</h2>
29
+ *
30
+ * <p><span class="b2-regular"><code>AvSelect</code> consists of a set of <code>&lt;option&gt;</code> within a <code>&lt;select&gt;</code>.</span></p>
31
+ */
32
+ declare const meta: {
33
+ title: string;
34
+ component: import("vue").DefineComponent<AvSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
35
+ "update:modelValue": (value: string | number) => any;
36
+ }, string, import("vue").PublicProps, Readonly<AvSelectProps> & Readonly<{
37
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
38
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ tags: string[];
40
+ argTypes: {
41
+ required: {
42
+ control: string;
43
+ };
44
+ disabled: {
45
+ control: string;
46
+ };
47
+ dense: {
48
+ control: string;
49
+ };
50
+ selectId: {
51
+ control: string;
52
+ };
53
+ name: {
54
+ control: string;
55
+ };
56
+ hint: {
57
+ control: string;
58
+ };
59
+ modelValue: {
60
+ control: string;
61
+ };
62
+ label: {
63
+ control: string;
64
+ };
65
+ options: {
66
+ type: {
67
+ name: string;
68
+ required: boolean;
69
+ };
70
+ control: boolean;
71
+ };
72
+ successMessage: {
73
+ control: string;
74
+ };
75
+ errorMessage: {
76
+ control: string;
77
+ };
78
+ defaultUnselectedText: {
79
+ control: string;
80
+ required: boolean;
81
+ };
82
+ };
83
+ args: {
84
+ options: {
85
+ value: string;
86
+ text: string;
87
+ }[];
88
+ defaultUnselectedText: string;
89
+ required: boolean;
90
+ disabled: boolean;
91
+ selectId: string;
92
+ name: string;
93
+ hint: string;
94
+ modelValue: string;
95
+ label: string;
96
+ successMessage: string;
97
+ errorMessage: string;
98
+ dense: boolean;
99
+ };
100
+ };
101
+ export default meta;
102
+ export declare const Default: StoryFn<AvSelectProps>;
103
+ export declare const Dense: StoryFn<AvSelectProps>;
@@ -0,0 +1,15 @@
1
+ export declare const AvSelectStub: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ modelValue: (NumberConstructor | StringConstructor)[];
3
+ options: ArrayConstructor;
4
+ defaultUnselectedText: StringConstructor;
5
+ dense: BooleanConstructor;
6
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ modelValue: (NumberConstructor | StringConstructor)[];
8
+ options: ArrayConstructor;
9
+ defaultUnselectedText: StringConstructor;
10
+ dense: BooleanConstructor;
11
+ }>> & Readonly<{
12
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
13
+ }>, {
14
+ dense: boolean;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * AvSelect component props.
3
+ */
4
+ export interface AvSelectProps {
5
+ /**
6
+ * Indicates if the select is required.
7
+ */
8
+ required?: boolean;
9
+ /**
10
+ * Indicated if the select is disabled.
11
+ */
12
+ disabled?: boolean;
13
+ /**
14
+ * Unique id for the select. Used for the accessibility.
15
+ */
16
+ selectId?: string;
17
+ /**
18
+ * Field name.
19
+ */
20
+ name?: string;
21
+ /**
22
+ * Hint for guidance.
23
+ */
24
+ hint?: string;
25
+ /**
26
+ * Selected option value.
27
+ */
28
+ modelValue?: string | number | undefined;
29
+ /**
30
+ * Select text label.
31
+ */
32
+ label?: string;
33
+ /**
34
+ * Selectable options.
35
+ */
36
+ options?: {
37
+ value: string | number | undefined;
38
+ text: string;
39
+ disabled?: boolean;
40
+ }[];
41
+ /**
42
+ * If set, display a success message.
43
+ */
44
+ successMessage?: string;
45
+ /**
46
+ * If set, display an error message.
47
+ */
48
+ errorMessage?: string;
49
+ /**
50
+ * Placeholder text.
51
+ */
52
+ defaultUnselectedText: string;
53
+ /**
54
+ * dense mode
55
+ */
56
+ dense?: boolean;
57
+ }
58
+ declare const _default: import("vue").DefineComponent<AvSelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
59
+ "update:modelValue": (value: string | number) => any;
60
+ }, string, import("vue").PublicProps, Readonly<AvSelectProps> & Readonly<{
61
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
62
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
63
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export * from './AvAutocomplete/AvAutocomplete.types';
2
+ export { default as AvAutocomplete } from './AvAutocomplete/AvAutocomplete.vue';
3
+ export { default as AvSelect } from './AvSelect/AvSelect.vue';
@@ -0,0 +1,34 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvTabProps } from '@/components/interaction/tabs/AvTab/AvTab.vue';
3
+ /**
4
+ * <h1 class="n1">Tabs - <code>AvTab</code></h1>
5
+ *
6
+ * <h2 class="n2">🌟 Introduction</h2>
7
+ *
8
+ * <p>
9
+ * <span class="b2-regular">
10
+ * The <code>AvTab</code> is a declarative component used exclusively in the <code>default</code> slot of <code>AvTabs</code>.
11
+ * <code>AvTab</code> allows you to configure a tab by passing its props (such as <code>title</code> and <code>icon</code>)
12
+ * to the <code>AvTabs</code> component without rendering.
13
+ * </span>
14
+ * </p>
15
+ *
16
+ * <p>
17
+ * <span class="b2-regular">
18
+ * It acts as a proxy component: it exposes information (props) used by <code>AvTabs</code> to generate the interface.
19
+ * </span>
20
+ * </p>
21
+ *
22
+ * <p>
23
+ * <span class="b2-regular">
24
+ * 🚫 This component does not display anything by itself and should not be used outside <code>AvTabs</code>.
25
+ * </span>
26
+ * </p>
27
+ *
28
+ * <h2 class="n2">📐 Structure</h2>
29
+ *
30
+ * <p><span class="b2-regular">None.</span></p>
31
+ */
32
+ declare const meta: Meta<AvTabProps>;
33
+ export default meta;
34
+ export declare const Default: StoryFn<AvTabProps>;
@@ -0,0 +1,31 @@
1
+ import type { Slot } from 'vue';
2
+ /**
3
+ * AvTab component props.
4
+ */
5
+ export interface AvTabProps {
6
+ /**
7
+ * Title of the tab displayed in the tab bar.
8
+ */
9
+ title: string;
10
+ /**
11
+ * Tab icon
12
+ */
13
+ icon?: string;
14
+ }
15
+ /**
16
+ * Slots available in the AvTab component.
17
+ * The default slot contains the contents of the tab.
18
+ */
19
+ type __VLS_Slots = {
20
+ /**
21
+ * Default slot for tab content.
22
+ */
23
+ default?: Slot;
24
+ };
25
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvTabProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvTabProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,51 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvTabsProps } from '@/components/interaction/tabs/AvTabs/AvTabs.vue';
3
+ /**
4
+ * <h1 class="n1">Tabs - <code>AvTabs</code></h1>
5
+ *
6
+ * <h2 class="n2">🌟 Introduction</h2>
7
+ *
8
+ * <p>
9
+ * <span class="b2-regular">
10
+ * The <code>AvTabs</code> component implements VueDSFR <code>DsfrTabs</code> while automatically managing the addition of <code>DsfrTabItem</code>
11
+ * according to the <code>AvTab</code> present in the <code>default</code> slot.
12
+ * </span>
13
+ * </p>
14
+ *
15
+ * <p>
16
+ * <span class="b2-regular">
17
+ * The tab component allows users to navigate different content sections within the same page.
18
+ * </span>
19
+ * </p>
20
+ *
21
+ * <p>
22
+ * <span class="b2-regular">
23
+ * The tab system helps to group different contents together in a limited space, and allows dense content to be divided into individually accessible sections to make reading easier for the user.
24
+ * </span>
25
+ * </p>
26
+ *
27
+ * <p>
28
+ * <span class="b2-regular">
29
+ * 🏅 Documentation on <code>DsfrTabs</code> can be found at
30
+ * <a href="https://vue-ds.fr/composants/DsfrTabs" target="_blank" rel="noopener noreferrer">VueDSFR</a>
31
+ * </span>
32
+ * </p>
33
+ *
34
+ * <h2 class="n2">📐 Structure</h2>
35
+ *
36
+ * <p><span class="b2-regular">Each tab consists of the following elements:</span></p>
37
+ *
38
+ * <ul>
39
+ * <li><span class="b2-regular">an icon to the left of the title - optional.</span></li>
40
+ * <li><span class="b2-regular">a clickable title - mandatory: displays the associated content zone.</span></li>
41
+ * </ul>
42
+ *
43
+ * <p>
44
+ * <span class="b2-regular">
45
+ * If the number of tabs exceeds the width of the container, a horizontal scroll allows you to navigate between the different tabs.
46
+ * </span>
47
+ * </p>
48
+ */
49
+ declare const meta: Meta<AvTabsProps>;
50
+ export default meta;
51
+ export declare const Default: StoryFn<AvTabsProps>;
@@ -0,0 +1,40 @@
1
+ import type AvTab from '@/components/interaction/tabs/AvTab/AvTab.vue';
2
+ import { type VNode } from 'vue';
3
+ /**
4
+ * AvTabs component Props.
5
+ */
6
+ export interface AvTabsProps {
7
+ /**
8
+ * Aria label for tab list.
9
+ * Improves accessibility by providing a description for screen readers.
10
+ */
11
+ ariaLabel?: string;
12
+ /**
13
+ * Index of selected tab on loading.
14
+ * Index starts at 0.
15
+ */
16
+ modelValue: number;
17
+ }
18
+ /**
19
+ * Slots available in AvTabs component.
20
+ * Used to inject tabs via `AvTab` components.
21
+ */
22
+ type __VLS_Slots = {
23
+ /**
24
+ * Default slot for passing `AvTab` components.
25
+ */
26
+ default?: () => VNode<typeof AvTab>[];
27
+ };
28
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<AvTabsProps, {
29
+ activeTab: import("vue").Ref<number, number>;
30
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
31
+ "update:modelValue": (value: number) => any;
32
+ }, string, import("vue").PublicProps, Readonly<AvTabsProps> & Readonly<{
33
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
34
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
35
+ export default _default;
36
+ type __VLS_WithSlots<T, S> = T & {
37
+ new (): {
38
+ $slots: S;
39
+ };
40
+ };
@@ -0,0 +1,2 @@
1
+ export { default as AvTab } from './AvTab/AvTab.vue';
2
+ export { default as AvTabs } from './AvTabs/AvTabs.vue';
@@ -0,0 +1,21 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvToggleProps } from '@/components/interaction/toggles/AvToggle/AvToggle.vue';
3
+ /**
4
+ * <h2 class="n2">🌟 Introduction</h2>
5
+ *
6
+ * <p>
7
+ * <span class="b2-regular">
8
+ * The <code>AvToggle</code> is a versatile Vue component, designed to allow the user to choose between two opposite states
9
+ * (<em>active</em> / <em>inactive</em>).
10
+ * </span>
11
+ * </p>
12
+ *
13
+ * <h2 class="n2">📐 Structure</h2>
14
+ *
15
+ * <p><span class="b2-regular">None.</span></p>
16
+ */
17
+ declare const meta: Meta<AvToggleProps>;
18
+ export default meta;
19
+ export declare const Default: StoryFn<AvToggleProps>;
20
+ export declare const InitActive: StoryFn<AvToggleProps>;
21
+ export declare const WidthRestrict: StoryFn<AvToggleProps>;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * AvToggle component props.
3
+ */
4
+ export interface AvToggleProps {
5
+ /**
6
+ * Boolean value linked to the input.
7
+ */
8
+ modelValue?: boolean;
9
+ /**
10
+ * Indicates the purpose of the toggle.
11
+ */
12
+ description: string;
13
+ /**
14
+ * Unique id for the toggle. Used for accessibility.
15
+ */
16
+ id?: string;
17
+ /**
18
+ * Indicates if the toggle disabled.
19
+ */
20
+ disabled?: boolean;
21
+ /**
22
+ * Text to display next to the toggle (right) when it is active.
23
+ * @default 'On'
24
+ */
25
+ activeText?: string;
26
+ /**
27
+ * Text to display next to the toggle (right) when it is inactive.
28
+ * @default 'Off'
29
+ */
30
+ inactiveText?: string;
31
+ /**
32
+ * `name` attribute of the input
33
+ * @default undefined
34
+ */
35
+ name?: string;
36
+ }
37
+ declare const _default: import("vue").DefineComponent<AvToggleProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
38
+ "update:modelValue": (payload: boolean) => any;
39
+ }, string, import("vue").PublicProps, Readonly<AvToggleProps> & Readonly<{
40
+ "onUpdate:modelValue"?: ((payload: boolean) => any) | undefined;
41
+ }>, {
42
+ name: string;
43
+ activeText: string;
44
+ inactiveText: string;
45
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default as AvToggle } from './AvToggle/AvToggle.vue';
@@ -0,0 +1,34 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvNavigationProps } from '@/components/navigation/AvNavigation/AvNavigation.vue';
3
+ /**
4
+ * <h1 class="n1">Navigation - <code>AvNavigation</code></h1>
5
+ *
6
+ * <h2 class="n2">🌟 Introduction</h2>
7
+ *
8
+ * <p>
9
+ * <span class="b2-regular">
10
+ * The <code>AvNavigation</code> is a component implementing the VueDSFR <code>DsfrNavigation</code>.
11
+ * The main navigation is the central navigation system within a site. It guides the user through the site main and secondary sections.
12
+ * </span>
13
+ * </p>
14
+ *
15
+ * <p>
16
+ * <span class="b2-regular">
17
+ * 🏅 Documentation on main navigation can be found on
18
+ * <a href="https://www.systeme-de-design.gouv.fr/version-courante/fr/composants/navigation-principale" target="_blank" rel="noopener noreferrer">DSFR</a>
19
+ * </span>
20
+ * </p>
21
+ *
22
+ * <h2 class="n2">📐 Structure</h2>
23
+ *
24
+ * <p><span class="b2-regular">The navigation component can be used to create a navigation bar with different types of navigation items:</span></p>
25
+ *
26
+ * <ul>
27
+ * <li><span class="b2-regular">direct link</span></li>
28
+ * <li><span class="b2-regular">submenu</span></li>
29
+ * <li><span class="b2-regular">mega-menu</span></li>
30
+ * </ul>
31
+ */
32
+ declare const meta: Meta<AvNavigationProps>;
33
+ export default meta;
34
+ export declare const Default: StoryFn<AvNavigationProps>;
@@ -0,0 +1,16 @@
1
+ import type { DsfrNavigationMegaMenuProps, DsfrNavigationMenuLinkProps, DsfrNavigationMenuProps } from '@gouvminint/vue-dsfr';
2
+ /**
3
+ * AvNavigation component props.
4
+ */
5
+ export interface AvNavigationProps {
6
+ /**
7
+ * List of navigation items.
8
+ * Each item can be:
9
+ * - A direct navigation link (`DsfrNavigationMenuLinkProps`) with `to` and `text` props.
10
+ * - A navigation submenu (`DsfrNavigationMenuProps`) with `title`, `links` and `active` props.
11
+ * - A mega-navigation menu (`DsfrNavigationMegaMenuProps`) with `title`, `link`, `active` and `menus` props.
12
+ */
13
+ navItems: (DsfrNavigationMenuLinkProps | DsfrNavigationMenuProps | DsfrNavigationMegaMenuProps)[];
14
+ }
15
+ declare const _default: import("vue").DefineComponent<AvNavigationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvNavigationProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default as AvNavigation, type AvNavigationProps } from './AvNavigation.vue';
@@ -0,0 +1,57 @@
1
+ import type { Page } from '@gouvminint/vue-dsfr';
2
+ /**
3
+ * AvPagination component Props.
4
+ */
5
+ export interface AvPaginationProps {
6
+ /**
7
+ * Allows compact display:
8
+ * "Page x of y" with only navigation icons (no text).
9
+ * @default false
10
+ */
11
+ compact?: boolean;
12
+ /**
13
+ * List of pages.
14
+ * Each page is an object containing information such as `href` and `label`.
15
+ */
16
+ pages: Page[];
17
+ /**
18
+ * Index of currently selected page (starts at 0).
19
+ * @default 0
20
+ */
21
+ currentPage?: number;
22
+ /**
23
+ * Tooltip text for first page link.
24
+ */
25
+ firstPageLabel?: string;
26
+ /**
27
+ * Tooltip text for last page link.
28
+ */
29
+ lastPageLabel?: string;
30
+ /**
31
+ * Tooltip text for next page link.
32
+ */
33
+ nextPageLabel?: string;
34
+ /**
35
+ * Tooltip text for previous page link.
36
+ */
37
+ prevPageLabel?: string;
38
+ /**
39
+ * Text for compact current page.
40
+ */
41
+ compactCurrentPageLabel: string;
42
+ /**
43
+ * Maximum number of pages displayed in pagination.
44
+ * @default 2
45
+ */
46
+ truncLimit?: number;
47
+ /**
48
+ * ARIA label of pagination for accessibility.
49
+ */
50
+ ariaLabel?: string;
51
+ }
52
+ declare const _default: import("vue").DefineComponent<AvPaginationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
53
+ "update:current-page": (payload: number) => any;
54
+ }, string, import("vue").PublicProps, Readonly<AvPaginationProps> & Readonly<{
55
+ "onUpdate:current-page"?: ((payload: number) => any) | undefined;
56
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { Page } from '@gouvminint/vue-dsfr';
2
+ import type { Ref } from 'vue';
3
+ /**
4
+ * Generates an array of pages for pagination based on the total number of pages.
5
+ *
6
+ * Each page is an object containing:
7
+ * - `title`: The page number as a string.
8
+ * - `label`: The label displayed for the page (same as the number).
9
+ * - `href`: An anchor identifier to the page, formatted as `#page-x`.
10
+ *
11
+ * @param {Ref<number>} totalPages - Reactive reference to the total number of pages.
12
+ * @returns {Page[]} Array of page objects to use for pagination.
13
+ */
14
+ export declare function getPaginationPages(totalPages: Ref<number>): Page[];
@@ -0,0 +1,55 @@
1
+ import type { Meta, StoryFn } from '@storybook/vue3';
2
+ import { type AvSideMenuProps } from '@/components/navigation/AvSideMenu/AvSideMenu.vue';
3
+ /**
4
+ * <h1 class="n1">Navigation - <code>AvSideMenu</code></h1>
5
+ *
6
+ * <h2 class="n2">🌟 Introduction</h2>
7
+ *
8
+ * <p>
9
+ * <span class="b2-regular">
10
+ * The side-menu component provides a collapsible sidebar container for application navigation.
11
+ * It focuses on layout and collapse functionality, allowing you to insert any content via slots
12
+ * while maintaining full accessibility and keyboard navigation support.
13
+ * </span>
14
+ * </p>
15
+ *
16
+ * <p>
17
+ * <span class="b2-regular">
18
+ * The <code>AvSideMenu</code> component offers flexible configuration options including
19
+ * optional collapsible behavior, customizable widths, and responsive design that adapts to different screen sizes.
20
+ * </span>
21
+ * </p>
22
+ *
23
+ * <p>
24
+ * <span class="b2-regular">
25
+ * It features smooth transitions, proper focus management, and screen reader support while maintaining
26
+ * visual consistency with the design system's styling tokens.
27
+ * </span>
28
+ * </p>
29
+ *
30
+ * <h2 class="n2">📐 Structure</h2>
31
+ *
32
+ * <p><span class="b2-regular">The side-menu component consists of the following elements:</span></p>
33
+ *
34
+ * <ul>
35
+ * <li><span class="b2-regular"><strong>Header:</strong> (optional) Contains the collapse/expand toggle button when collapsible=true</span></li>
36
+ * <li><span class="b2-regular"><strong>Toggle Button:</strong> (optional) Interactive button to collapse/expand the menu</span></li>
37
+ * <li><span class="b2-regular"><strong>Content Area:</strong> Scrollable area for your custom content via default slot</span></li>
38
+ * </ul>
39
+ *
40
+ * <p><span class="b2-regular">The side-menu integrates:</span></p>
41
+ *
42
+ * <ul>
43
+ * <li><span class="b2-regular">Optional collapsible behavior with smooth transitions</span></li>
44
+ * <li><span class="b2-regular">Accessibility attributes and keyboard navigation</span></li>
45
+ * <li><span class="b2-regular">Responsive design with customizable widths</span></li>
46
+ * <li><span class="b2-regular">Flexible content via slots</span></li>
47
+ * </ul>
48
+ */
49
+ declare const meta: Meta<AvSideMenuProps>;
50
+ export default meta;
51
+ export declare const Default: StoryFn<AvSideMenuProps>;
52
+ export declare const NonCollapsible: StoryFn<AvSideMenuProps>;
53
+ export declare const CustomWidth: StoryFn<AvSideMenuProps>;
54
+ export declare const StudentNavigation: StoryFn<AvSideMenuProps>;
55
+ export declare const Minimal: StoryFn<AvSideMenuProps>;