@cnamts/synapse 1.0.4 → 1.0.6

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 (206) hide show
  1. package/dist/DateFilter-BlOpwEVq.js +98 -0
  2. package/dist/NumberFilter-BPUXE4wY.js +121 -0
  3. package/dist/PeriodFilter-B2yx329_.js +112 -0
  4. package/dist/SelectFilter-CedKn1oV.js +136 -0
  5. package/dist/TextFilter-DkhJjRtR.js +114 -0
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +103 -0
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +105 -0
  8. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +3 -3
  9. package/dist/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.d.ts +132 -0
  10. package/dist/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  11. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +3 -3
  12. package/dist/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.d.ts +126 -0
  13. package/dist/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  14. package/dist/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.d.ts +1 -1
  15. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +3 -3
  17. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +190 -0
  18. package/dist/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  19. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +3 -3
  20. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +1 -1
  21. package/dist/components/Amelipro/AmeliproTileBtn/AmeliproTileBtn.d.ts +1 -1
  22. package/dist/components/Amelipro/types.d.ts +6 -0
  23. package/dist/components/CookieBanner/CookieBanner.d.ts +1 -1
  24. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +11 -2
  25. package/dist/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.d.ts +6 -1
  26. package/dist/components/Customs/SyTextField/SyTextField.d.ts +3 -1
  27. package/dist/components/DataList/DataList.d.ts +9 -0
  28. package/dist/components/DataListGroup/DataListGroup.d.ts +10 -1
  29. package/dist/components/DataListItem/DataListItem.d.ts +1 -1
  30. package/dist/components/DataListItem/config.d.ts +1 -1
  31. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +18 -8
  32. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +16 -6
  33. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +6 -1
  34. package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +17 -8
  35. package/dist/components/DatePicker/composables/useKeyboardEvents.d.ts +41 -0
  36. package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +4 -9
  37. package/dist/components/DatePicker/utils/dateFormattingUtils.d.ts +72 -0
  38. package/dist/components/DatePicker/utils/validationUtils.d.ts +38 -0
  39. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.d.ts +9 -3
  40. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.d.ts +6 -1
  41. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.d.ts +11 -1
  42. package/dist/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.d.ts +11 -1
  43. package/dist/components/HeaderBar/HeaderBurgerMenu/locals.d.ts +2 -0
  44. package/dist/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.d.ts +4 -0
  45. package/dist/components/NirField/NirField.d.ts +14 -4
  46. package/dist/components/PeriodField/PeriodField.d.ts +24 -4
  47. package/dist/components/Tables/common/SyTablePagination.d.ts +10 -0
  48. package/dist/components/index.d.ts +4 -0
  49. package/dist/composables/index.d.ts +1 -0
  50. package/dist/composables/usePagination.d.ts +16 -0
  51. package/dist/design-system-v3.js +165 -160
  52. package/dist/design-system-v3.umd.cjs +120 -138
  53. package/dist/directives/lockFocus.d.ts +17 -0
  54. package/dist/{main-BzyNNvHX.js → main-BXPFSAB4.js} +14664 -13282
  55. package/dist/style.css +1 -0
  56. package/package.json +5 -2
  57. package/src/assets/amelipro/apTheme.scss +149 -0
  58. package/src/assets/amelipro/apTokens.scss +0 -148
  59. package/src/assets/overrides/_btns.scss +15 -0
  60. package/src/assets/overrides/_container.scss +36 -0
  61. package/src/assets/overrides/_forms.scss +7 -0
  62. package/src/assets/{_spacers.scss → overrides/_spacers.scss} +0 -7
  63. package/src/assets/overrides/_tables.scss +18 -0
  64. package/src/assets/overrides/_tooltips.scss +10 -0
  65. package/src/assets/overrides/_typography.scss +196 -0
  66. package/src/assets/settings.scss +11 -51
  67. package/src/assets/themes.scss +10 -0
  68. package/src/assets/tokens.scss +9 -156
  69. package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +80 -40
  70. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.mdx +15 -0
  71. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +83 -0
  72. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +86 -0
  73. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.vue +242 -0
  74. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/AmeliproAccordionTemplate.spec.ts +20 -0
  75. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/__tests__/__snapshots__/AmeliproAccordionTemplate.spec.ts.snap +124 -0
  76. package/src/components/Amelipro/AmeliproAccordion/__tests__/AmeliproAccordion.spec.ts +20 -0
  77. package/src/components/Amelipro/AmeliproAccordion/__tests__/__snapshots__/AmeliproAccordion.spec.ts.snap +124 -0
  78. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.mdx +15 -0
  79. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.stories.ts +87 -0
  80. package/src/components/Amelipro/AmeliproCaptcha/AmeliproCaptcha.vue +233 -0
  81. package/src/components/Amelipro/AmeliproCaptcha/__tests__/AmeliproCaptcha.spec.ts +24 -0
  82. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +384 -0
  83. package/src/components/Amelipro/AmeliproCaptcha/types.d.ts +5 -0
  84. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.mdx +15 -0
  85. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.stories.ts +143 -0
  86. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +351 -0
  87. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/AmeliproCustomSelector.spec.ts +50 -0
  88. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +186 -0
  89. package/src/components/Amelipro/AmeliproCustomSelector/types.d.ts +6 -0
  90. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +1 -1
  91. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +1 -1
  92. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +1 -708
  93. package/src/components/Amelipro/AmeliproMenu/tests/__snapshots__/AmeliproMenu.spec.ts.snap +1 -1
  94. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +1 -708
  95. package/src/components/Amelipro/AmeliproTable/AmeliproTable.mdx +22 -0
  96. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +550 -0
  97. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +421 -0
  98. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +72 -0
  99. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +427 -0
  100. package/src/components/Amelipro/AmeliproTable/types.d.ts +34 -0
  101. package/src/components/Amelipro/ServiceMenu/ServiceMenu.vue +12 -1
  102. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +0 -820
  103. package/src/components/Amelipro/types.ts +8 -0
  104. package/src/components/CollapsibleList/CollapsibleList.vue +0 -2
  105. package/src/components/CookieBanner/CookieBanner.vue +1 -3
  106. package/src/components/CopyBtn/CopyBtn.vue +9 -2
  107. package/src/components/CopyBtn/tests/CopyBtn.spec.ts +3 -1
  108. package/src/components/Customs/Selects/SySelect/Accessibilite.mdx +7 -0
  109. package/src/components/Customs/Selects/SySelect/Accessibilite.stories.ts +4 -1
  110. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +80 -0
  111. package/src/components/Customs/Selects/SySelect/SySelect.vue +280 -34
  112. package/src/components/Customs/Selects/SySelect/composables/tests/useSySelectKeyboard.spec.ts +14 -5
  113. package/src/components/Customs/Selects/SySelect/composables/useSySelectKeyboard.ts +129 -12
  114. package/src/components/Customs/SyIcon/SyIcon.spec.ts +3 -0
  115. package/src/components/Customs/SyTextField/Accessibilite.stories.ts +3 -1
  116. package/src/components/Customs/SyTextField/SyTextField.stories.ts +79 -6
  117. package/src/components/Customs/SyTextField/SyTextField.vue +218 -24
  118. package/src/components/DataList/Accessibilite.stories.ts +4 -0
  119. package/src/components/DataList/DataList.vue +19 -12
  120. package/src/components/DataListGroup/Accessibilite.stories.ts +4 -0
  121. package/src/components/DataListGroup/DataListGroup.vue +32 -15
  122. package/src/components/DataListItem/DataListItem.vue +14 -11
  123. package/src/components/DataListItem/config.ts +1 -1
  124. package/src/components/DataListItem/tests/DataListItem.spec.ts +2 -2
  125. package/src/components/DatePicker/CalendarMode/DatePicker.vue +12 -7
  126. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +174 -0
  127. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +27 -5
  128. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +286 -0
  129. package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +1 -1
  130. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +29 -31
  131. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +11 -3
  132. package/src/components/DatePicker/composables/useDateInputEditing.ts +73 -209
  133. package/src/components/DatePicker/composables/useKeyboardEvents.ts +149 -0
  134. package/src/components/DatePicker/composables/useManualDateValidation.ts +27 -68
  135. package/src/components/DatePicker/utils/dateFormattingUtils.ts +228 -0
  136. package/src/components/DatePicker/utils/validationUtils.ts +90 -0
  137. package/src/components/DialogBox/Accessibilite.stories.ts +4 -0
  138. package/src/components/DialogBox/DialogBox.stories.ts +10 -10
  139. package/src/components/DialogBox/DialogBox.vue +83 -21
  140. package/src/components/DialogBox/tests/__snapshots__/DialogBox.spec.ts.snap +12 -6
  141. package/src/components/FileUpload/tests/FileUpload.spec.ts +3 -0
  142. package/src/components/FooterBar/FooterBar.vue +1 -0
  143. package/src/components/HeaderBar/Accessibilite.stories.ts +4 -0
  144. package/src/components/HeaderBar/HeaderBar.mdx +47 -22
  145. package/src/components/HeaderBar/HeaderBar.stories.ts +54 -13
  146. package/src/components/HeaderBar/HeaderBar.vue +2 -1
  147. package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +4 -0
  148. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.stories.ts +160 -82
  149. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderBurgerMenu.vue +41 -56
  150. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuItem/HeaderMenuItem.vue +10 -3
  151. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/HeaderMenuSection.vue +41 -18
  152. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderMenuSection/tests/HeaderMenuSection.spec.ts +7 -2
  153. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.stories.ts +36 -9
  154. package/src/components/HeaderBar/HeaderBurgerMenu/HeaderSubMenu/HeaderSubMenu.vue +41 -9
  155. package/src/components/HeaderBar/HeaderBurgerMenu/locals.ts +2 -0
  156. package/src/components/HeaderBar/HeaderBurgerMenu/tests/HeaderBurgerMenu.spec.ts +1 -1
  157. package/src/components/HeaderBar/HeaderBurgerMenu/tests/__snapshots__/HeaderBurgerMenu.spec.ts.snap +8 -3
  158. package/src/components/HeaderBar/HeaderBurgerMenu/useMenuPosition.ts +50 -0
  159. package/src/components/HeaderBar/HeaderLogo/HeaderLogo.vue +5 -5
  160. package/src/components/HeaderBar/HeaderMenuBtn/HeaderMenuBtn.vue +7 -4
  161. package/src/components/HeaderBar/locales.ts +1 -1
  162. package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +2 -1
  163. package/src/components/HeaderLoading/HeaderLoading.vue +0 -1
  164. package/src/components/HeaderNavigationBar/tests/HeaderNavigationBar.spec.ts +2 -0
  165. package/src/components/LangBtn/LangBtn.vue +0 -3
  166. package/src/components/LogoBrandSection/Accessibilite.stories.ts +4 -1
  167. package/src/components/LogoBrandSection/LogoBrandSection.stories.ts +2 -2
  168. package/src/components/LogoBrandSection/LogoBrandSection.vue +13 -8
  169. package/src/components/LogoBrandSection/locales.ts +1 -1
  170. package/src/components/LogoBrandSection/tests/LogoBrandSection.spec.ts +1 -1
  171. package/src/components/LogoBrandSection/tests/__snapshots__/LogoBrandSection.spec.ts.snap +6 -4
  172. package/src/components/NirField/NirField.vue +5 -5
  173. package/src/components/NirField/tests/NirField.spec.ts +78 -12
  174. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +104 -6
  175. package/src/components/Tables/common/TableHeader.vue +10 -7
  176. package/src/components/Tables/common/tableAccessibilityUtils.ts +13 -2
  177. package/src/components/Tables/common/useTableAria.ts +17 -1
  178. package/src/components/UserMenuBtn/tests/UserMenuBtn.spec.ts +2 -1
  179. package/src/components/index.ts +4 -0
  180. package/src/composables/date/tests/useDatePickerAccessibility.spec.ts +34 -5
  181. package/src/composables/index.ts +3 -0
  182. package/src/composables/useFilterable/useFilterable.ts +13 -1
  183. package/src/composables/usePagination.ts +103 -0
  184. package/src/directives/lockFocus.ts +48 -0
  185. package/src/main.ts +1 -2
  186. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +1 -8
  187. package/src/stories/Accessibilite/{Aculturation/AuditDesignSystem.mdx → AuditDesignSystem.mdx} +1 -1
  188. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.mdx +102 -0
  189. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +219 -0
  190. package/src/stories/Accessibilite/KitDePreAudit/Outils/{Tanaguru.mdx → Tanaguru/Utilisation.mdx} +1 -1
  191. package/src/stories/DesignTokens/ColorIntegrationExample.vue +43 -0
  192. package/src/stories/DesignTokens/Colors.mdx +2 -0
  193. package/src/stories/DesignTokens/colors.stories.ts +9 -0
  194. package/src/vuetifyConfig.ts +3 -3
  195. package/dist/DateFilter-yrwJv_2R.js +0 -95
  196. package/dist/NumberFilter-BQXtywZI.js +0 -117
  197. package/dist/PeriodFilter-BYXVSzr5.js +0 -108
  198. package/dist/SelectFilter-CJV_mlN3.js +0 -133
  199. package/dist/TextFilter-DN0ejYIs.js +0 -110
  200. package/dist/design-system-v3.css +0 -1
  201. package/dist/directives/letterSpacing.d.ts +0 -27
  202. package/src/assets/_fonts.scss +0 -6
  203. package/src/assets/_typography.scss +0 -157
  204. package/src/directives/letterSpacing.ts +0 -233
  205. /package/src/assets/{_elevations.scss → overrides/_elevations.scss} +0 -0
  206. /package/src/assets/{_radius.scss → overrides/_radius.scss} +0 -0
@@ -0,0 +1,98 @@
1
+ import { defineComponent as b, computed as D, createBlock as k, openBlock as p } from "vue";
2
+ import { u as C, D as F, _ as V } from "./main-BXPFSAB4.js";
3
+ const v = /* @__PURE__ */ b({
4
+ __name: "DateFilter",
5
+ props: {
6
+ header: {
7
+ type: Object,
8
+ required: !0
9
+ },
10
+ filters: {
11
+ type: Array,
12
+ default: () => []
13
+ },
14
+ filterValue: {
15
+ type: [String, Date, Object, null],
16
+ default: null
17
+ },
18
+ inputConfig: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+ disableErrorHandling: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ variant: {
27
+ type: String,
28
+ default: "outlined"
29
+ },
30
+ hideDetails: {
31
+ type: Boolean,
32
+ default: !0
33
+ },
34
+ density: {
35
+ type: String,
36
+ default: "compact"
37
+ },
38
+ backgroundColor: {
39
+ type: String,
40
+ default: "white"
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: !0
45
+ }
46
+ },
47
+ emits: ["update:filters"],
48
+ setup(e, { emit: g }) {
49
+ const { parseDate: y } = C(), t = e, u = g;
50
+ function s() {
51
+ return String(t.header.key || t.header.value || (t.header.title ? `filter_${t.header.title}` : `filter_${Date.now()}`));
52
+ }
53
+ const f = D({
54
+ get: () => t.filterValue,
55
+ set: (a) => {
56
+ const i = s();
57
+ if (!i) return;
58
+ if (a === null) {
59
+ const r = t.filters.filter((o) => o.key !== i);
60
+ u("update:filters", r);
61
+ return;
62
+ }
63
+ const l = t.filters.findIndex((r) => r.key === i), n = [...t.filters];
64
+ let d = a;
65
+ typeof a == "string" && a.trim() !== "" && y(a, t.header.dateFormat || "DD/MM/YYYY") && (d = a), l >= 0 ? n[l].value = d : n.push({
66
+ key: i,
67
+ value: d,
68
+ type: "date"
69
+ }), u("update:filters", n);
70
+ }
71
+ });
72
+ function m() {
73
+ const a = s(), i = t.filters.filter((l) => l.key !== a);
74
+ u("update:filters", i);
75
+ }
76
+ return (a, i) => {
77
+ var l, n, d, r, o, c;
78
+ return p(), k(F, {
79
+ modelValue: f.value,
80
+ "onUpdate:modelValue": i[0] || (i[0] = (h) => f.value = h),
81
+ label: e.header.title,
82
+ clearable: ((l = e.inputConfig) == null ? void 0 : l.clearable) ?? e.clearable,
83
+ density: ((n = e.inputConfig) == null ? void 0 : n.density) ?? e.density,
84
+ "hide-details": ((d = e.inputConfig) == null ? void 0 : d.hideDetails) ?? e.hideDetails,
85
+ "hide-messages": e.header.hideMessages,
86
+ variant: ((r = e.inputConfig) == null ? void 0 : r.variant) ?? e.variant,
87
+ "disable-error-handling": ((o = e.inputConfig) == null ? void 0 : o.disableErrorHandling) ?? e.disableErrorHandling,
88
+ "bg-color": ((c = e.inputConfig) == null ? void 0 : c.backgroundColor) ?? e.backgroundColor,
89
+ format: e.header.dateFormat,
90
+ class: "filter-input",
91
+ "onClick:clear": m
92
+ }, null, 8, ["modelValue", "label", "clearable", "density", "hide-details", "hide-messages", "variant", "disable-error-handling", "bg-color", "format"]);
93
+ };
94
+ }
95
+ }), B = /* @__PURE__ */ V(v, [["__scopeId", "data-v-8226471a"]]);
96
+ export {
97
+ B as default
98
+ };
@@ -0,0 +1,121 @@
1
+ import { defineComponent as k, ref as h, watch as x, computed as T, createElementBlock as V, openBlock as F, createVNode as w } from "vue";
2
+ import { a as S, _ as D } from "./main-BXPFSAB4.js";
3
+ const E = { class: "number-filter-container" }, B = /* @__PURE__ */ k({
4
+ __name: "NumberFilter",
5
+ props: {
6
+ header: {
7
+ type: Object,
8
+ required: !0
9
+ },
10
+ filters: {
11
+ type: Array,
12
+ default: () => []
13
+ },
14
+ filterValue: {
15
+ type: [Number, String],
16
+ default: ""
17
+ },
18
+ inputConfig: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+ disableErrorHandling: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ variant: {
27
+ type: String,
28
+ default: "outlined"
29
+ },
30
+ hideDetails: {
31
+ type: Boolean,
32
+ default: !0
33
+ },
34
+ density: {
35
+ type: String,
36
+ default: "compact"
37
+ },
38
+ backgroundColor: {
39
+ type: String,
40
+ default: "white"
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: !0
45
+ },
46
+ debounceTime: {
47
+ type: Number,
48
+ default: 300
49
+ }
50
+ },
51
+ emits: ["update:filters"],
52
+ setup(l, { emit: y }) {
53
+ const e = l, s = y, d = h(e.filterValue || ""), u = h(null);
54
+ x(() => e.filters, (t) => {
55
+ t.length === 0 && (u.value !== null && (clearTimeout(u.value), u.value = null), d.value = "");
56
+ });
57
+ function c() {
58
+ return !e.header || !e.header.key && !e.header.value && !e.header.title ? `filter_${Date.now()}` : String(e.header.key || e.header.value || (e.header.title ? `filter_${e.header.title}` : `filter_${Date.now()}`));
59
+ }
60
+ function p(t) {
61
+ const a = /^([=<>]{1,2})?(.*)$/.exec(t);
62
+ if (!a) return "";
63
+ const i = a[1] || "";
64
+ let r = a[2] || "";
65
+ return r = r.replace(/[^0-9.,]/g, ""), i + r;
66
+ }
67
+ const f = T({
68
+ get: () => d.value,
69
+ set: (t) => {
70
+ var o;
71
+ const n = t != null ? String(t) : "", a = p(n);
72
+ d.value = a, u.value !== null && clearTimeout(u.value);
73
+ const i = ((o = e.inputConfig) == null ? void 0 : o.debounceTime) ?? e.debounceTime;
74
+ i === 0 || void 0 ? g(a) : u.value = window.setTimeout(() => {
75
+ g(a);
76
+ }, i);
77
+ }
78
+ });
79
+ function g(t) {
80
+ const n = c();
81
+ if (!e.header || Object.keys(e.header).length, t === "" || t === "0") {
82
+ s("update:filters", e.filters.filter((o) => o.key !== n));
83
+ return;
84
+ }
85
+ const a = e.filters.findIndex((o) => o.key === n), i = [...e.filters], r = /^[=<>]{1,2}/.test(t);
86
+ a >= 0 ? i[a].value = r ? t : parseFloat(t.replace(",", ".")) : i.push({
87
+ key: n,
88
+ value: r ? t : parseFloat(t.replace(",", ".")),
89
+ type: "number"
90
+ }), s("update:filters", i);
91
+ }
92
+ function v() {
93
+ d.value = "";
94
+ const t = c();
95
+ s("update:filters", e.filters.filter((n) => n.key !== t));
96
+ }
97
+ return (t, n) => {
98
+ var a, i, r, o, m, b;
99
+ return F(), V("div", E, [
100
+ w(S, {
101
+ modelValue: f.value,
102
+ "onUpdate:modelValue": n[0] || (n[0] = (C) => f.value = C),
103
+ label: l.header.title,
104
+ type: "text",
105
+ clearable: ((a = l.inputConfig) == null ? void 0 : a.clearable) ?? l.clearable,
106
+ density: ((i = l.inputConfig) == null ? void 0 : i.density) ?? l.density,
107
+ "hide-details": ((r = l.inputConfig) == null ? void 0 : r.hideDetails) ?? l.hideDetails,
108
+ "hide-messages": l.header.hideMessages,
109
+ "disable-error-handling": ((o = l.inputConfig) == null ? void 0 : o.disableErrorHandling) ?? l.disableErrorHandling,
110
+ variant: ((m = l.inputConfig) == null ? void 0 : m.variant) ?? l.variant,
111
+ "bg-color": ((b = l.inputConfig) == null ? void 0 : b.backgroundColor) ?? l.backgroundColor,
112
+ class: "filter-input",
113
+ "onClick:clear": v
114
+ }, null, 8, ["modelValue", "label", "clearable", "density", "hide-details", "hide-messages", "disable-error-handling", "variant", "bg-color"])
115
+ ]);
116
+ };
117
+ }
118
+ }), O = /* @__PURE__ */ D(B, [["__scopeId", "data-v-7a98936f"]]);
119
+ export {
120
+ O as default
121
+ };
@@ -0,0 +1,112 @@
1
+ import { defineComponent as b, computed as h, createBlock as p, openBlock as k } from "vue";
2
+ import { P as C, _ as F } from "./main-BXPFSAB4.js";
3
+ const V = /* @__PURE__ */ b({
4
+ __name: "PeriodFilter",
5
+ props: {
6
+ header: {
7
+ type: Object,
8
+ required: !0
9
+ },
10
+ filters: {
11
+ type: Array,
12
+ default: () => []
13
+ },
14
+ filterValue: {
15
+ type: Object,
16
+ default: () => ({ from: null, to: null })
17
+ },
18
+ inputConfig: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+ disableErrorHandling: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ variant: {
27
+ type: String,
28
+ default: "outlined"
29
+ },
30
+ hideDetails: {
31
+ type: Boolean,
32
+ default: !0
33
+ },
34
+ density: {
35
+ type: String,
36
+ default: "compact"
37
+ },
38
+ backgroundColor: {
39
+ type: String,
40
+ default: "white"
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: !0
45
+ }
46
+ },
47
+ emits: ["update:filters"],
48
+ setup(e, { emit: y }) {
49
+ const l = e, o = y;
50
+ function u() {
51
+ var r, t, i;
52
+ return String(((r = l.header) == null ? void 0 : r.key) || ((t = l.header) == null ? void 0 : t.value) || ((i = l.header) != null && i.title ? `filter_${l.header.title}` : `filter_${Date.now()}`));
53
+ }
54
+ const f = h({
55
+ get: () => l.filterValue,
56
+ set: (r) => {
57
+ try {
58
+ const t = u();
59
+ if (!t) return;
60
+ if (!r) {
61
+ const i = l.filters.filter((a) => a.key !== t);
62
+ o("update:filters", i);
63
+ return;
64
+ }
65
+ if (typeof r == "object" && r.from === null && r.to === null) {
66
+ const i = l.filters.filter((a) => a.key !== t);
67
+ o("update:filters", i);
68
+ return;
69
+ }
70
+ if (typeof r == "object") {
71
+ const i = {
72
+ from: r.from,
73
+ to: r.to
74
+ }, a = l.filters.findIndex((d) => d.key === t), n = [...l.filters];
75
+ a >= 0 ? n[a].value = i : n.push({
76
+ key: t,
77
+ value: i,
78
+ type: "period"
79
+ }), o("update:filters", n);
80
+ }
81
+ } catch (t) {
82
+ console.error("Erreur dans la mise à jour du filtre de période:", t);
83
+ }
84
+ }
85
+ });
86
+ function g() {
87
+ const r = u(), t = l.filters.filter((i) => i.key !== r);
88
+ o("update:filters", t);
89
+ }
90
+ return (r, t) => {
91
+ var i, a, n, d, s, c;
92
+ return k(), p(C, {
93
+ modelValue: f.value,
94
+ "onUpdate:modelValue": t[0] || (t[0] = (m) => f.value = m),
95
+ label: e.header.title,
96
+ clearable: ((i = e.inputConfig) == null ? void 0 : i.clearable) ?? e.clearable,
97
+ density: ((a = e.inputConfig) == null ? void 0 : a.density) ?? e.density,
98
+ "hide-details": ((n = e.inputConfig) == null ? void 0 : n.hideDetails) ?? e.hideDetails,
99
+ "hide-messages": e.header.hideMessages,
100
+ variant: ((d = e.inputConfig) == null ? void 0 : d.variant) ?? e.variant,
101
+ "disable-error-handling": ((s = e.inputConfig) == null ? void 0 : s.disableErrorHandling) ?? e.disableErrorHandling,
102
+ "bg-color": ((c = e.inputConfig) == null ? void 0 : c.backgroundColor) ?? e.backgroundColor,
103
+ format: e.header.dateFormat,
104
+ class: "filter-input",
105
+ "onClick:clear": g
106
+ }, null, 8, ["modelValue", "label", "clearable", "density", "hide-details", "hide-messages", "variant", "disable-error-handling", "bg-color", "format"]);
107
+ };
108
+ }
109
+ }), x = /* @__PURE__ */ F(V, [["__scopeId", "data-v-63126e87"]]);
110
+ export {
111
+ x as default
112
+ };
@@ -0,0 +1,136 @@
1
+ import { defineComponent as C, computed as p, ref as F, createElementBlock as S, openBlock as A, createVNode as B } from "vue";
2
+ import { S as E, _ as D } from "./main-BXPFSAB4.js";
3
+ const n = {
4
+ defaultOption: "- choisir -",
5
+ emptyValue: "(vide)"
6
+ }, h = {}, I = { class: "select-filter-wrapper" }, N = /* @__PURE__ */ C({
7
+ __name: "SelectFilter",
8
+ props: {
9
+ header: {
10
+ type: Object,
11
+ required: !0
12
+ },
13
+ filters: {
14
+ type: Array,
15
+ default: () => []
16
+ },
17
+ filterValue: {
18
+ type: [String, Number, Object, Array, void 0, null],
19
+ default: null
20
+ },
21
+ inputConfig: {
22
+ type: Object,
23
+ default: () => ({})
24
+ },
25
+ disableErrorHandling: {
26
+ type: Boolean,
27
+ default: !1
28
+ },
29
+ variant: {
30
+ type: String,
31
+ default: "outlined"
32
+ },
33
+ hideDetails: {
34
+ type: Boolean,
35
+ default: !0
36
+ },
37
+ density: {
38
+ type: String,
39
+ default: "compact"
40
+ },
41
+ backgroundColor: {
42
+ type: String,
43
+ default: "white"
44
+ },
45
+ clearable: {
46
+ type: Boolean,
47
+ default: !0
48
+ }
49
+ },
50
+ emits: ["update:filters"],
51
+ setup(i, { emit: m }) {
52
+ const e = i, o = m;
53
+ function y() {
54
+ return String(e.header.key || e.header.value || (e.header.title ? `filter_${e.header.title}` : `filter_${Date.now()}`));
55
+ }
56
+ const v = p(() => {
57
+ if (!e.header.filterOptions || !Array.isArray(e.header.filterOptions))
58
+ return [{ text: n.defaultOption, value: n.defaultOption }];
59
+ const l = [{ text: n.defaultOption, value: n.defaultOption }];
60
+ return e.header.filterOptions.forEach((t) => {
61
+ t.text === void 0 || t.text === null || t.text === "" ? l.push({ text: n.emptyValue, value: t.value }) : l.push(t);
62
+ }), l;
63
+ }), f = p({
64
+ get: () => e.filterValue === null ? e.header.multiple ? [] : n.defaultOption : e.filterValue,
65
+ set: (l) => {
66
+ const t = y();
67
+ if (!t) return;
68
+ if (e.header.multiple) {
69
+ if (!l || Array.isArray(l) && l.length === 0) {
70
+ const d = e.filters.filter((c) => c.key !== t);
71
+ o("update:filters", d);
72
+ return;
73
+ }
74
+ const r = e.filters.findIndex((d) => d.key === t), a = [...e.filters];
75
+ r >= 0 ? a[r].value = l : a.push({
76
+ key: t,
77
+ value: l,
78
+ type: "select"
79
+ }), o("update:filters", a);
80
+ return;
81
+ }
82
+ if (l == null || l === n.defaultOption) {
83
+ const r = e.filters.filter((a) => a.key !== t);
84
+ o("update:filters", r);
85
+ return;
86
+ }
87
+ const u = e.filters.findIndex((r) => r.key === t), s = [...e.filters];
88
+ u >= 0 ? s[u].value = l : s.push({
89
+ key: t,
90
+ value: l,
91
+ type: "select"
92
+ }), o("update:filters", s);
93
+ }
94
+ });
95
+ function b() {
96
+ const l = y(), t = e.filters.filter((u) => u.key !== l);
97
+ o("update:filters", t);
98
+ }
99
+ const g = F(!1);
100
+ function O() {
101
+ g.value = !0;
102
+ }
103
+ function x() {
104
+ g.value = !1;
105
+ }
106
+ const k = p(() => (h == null ? void 0 : h.NODE_ENV) === "test" ? !0 : e.header.multiple ? Array.isArray(f.value) && f.value.length > 0 : f.value !== n.defaultOption);
107
+ return (l, t) => {
108
+ var u, s, r, a, d;
109
+ return A(), S("div", I, [
110
+ B(E, {
111
+ modelValue: f.value,
112
+ "onUpdate:modelValue": t[0] || (t[0] = (c) => f.value = c),
113
+ label: e.header.title || "",
114
+ items: v.value,
115
+ clearable: k.value,
116
+ density: ((u = i.inputConfig) == null ? void 0 : u.density) ?? i.density,
117
+ "hide-details": ((s = i.inputConfig) == null ? void 0 : s.hideDetails) ?? i.hideDetails,
118
+ "hide-messages": !0,
119
+ variant: ((r = i.inputConfig) == null ? void 0 : r.variant) ?? i.variant,
120
+ "bg-color": ((a = i.inputConfig) == null ? void 0 : a.backgroundColor) ?? i.backgroundColor,
121
+ "disable-error-handling": ((d = i.inputConfig) == null ? void 0 : d.disableErrorHandling) ?? i.disableErrorHandling,
122
+ multiple: e.header.multiple,
123
+ chips: e.header.chips,
124
+ class: "filter-input",
125
+ "aria-label": e.header.title || "Filtre",
126
+ "onClick:clear": b,
127
+ onFocus: O,
128
+ onBlur: x
129
+ }, null, 8, ["modelValue", "label", "items", "clearable", "density", "hide-details", "variant", "bg-color", "disable-error-handling", "multiple", "chips", "aria-label"])
130
+ ]);
131
+ };
132
+ }
133
+ }), q = /* @__PURE__ */ D(N, [["__scopeId", "data-v-5d317118"]]);
134
+ export {
135
+ q as default
136
+ };
@@ -0,0 +1,114 @@
1
+ import { defineComponent as C, ref as b, watch as k, computed as T, createElementBlock as x, openBlock as w, createVNode as F } from "vue";
2
+ import { a as V, _ as E } from "./main-BXPFSAB4.js";
3
+ const S = { class: "text-filter-container" }, B = /* @__PURE__ */ C({
4
+ __name: "TextFilter",
5
+ props: {
6
+ header: {
7
+ type: Object,
8
+ required: !0
9
+ },
10
+ filters: {
11
+ type: Array,
12
+ default: () => []
13
+ },
14
+ filterValue: {
15
+ type: String,
16
+ default: void 0
17
+ },
18
+ inputConfig: {
19
+ type: Object,
20
+ default: () => ({})
21
+ },
22
+ disableErrorHandling: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ variant: {
27
+ type: String,
28
+ default: "outlined"
29
+ },
30
+ hideDetails: {
31
+ type: Boolean,
32
+ default: !0
33
+ },
34
+ density: {
35
+ type: String,
36
+ default: "compact"
37
+ },
38
+ backgroundColor: {
39
+ type: String,
40
+ default: "white"
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: !0
45
+ },
46
+ debounceTime: {
47
+ type: Number,
48
+ default: 300
49
+ }
50
+ },
51
+ emits: ["update:filters"],
52
+ setup(e, { emit: h }) {
53
+ const t = e, s = h, u = b(t.filterValue || ""), r = b(null);
54
+ k(() => t.filters, (i) => {
55
+ i.length === 0 && (r.value !== null && (clearTimeout(r.value), r.value = null), u.value = "");
56
+ });
57
+ function f() {
58
+ return String(t.header.key || t.header.value || (t.header.title ? `filter_${t.header.title}` : `filter_${Date.now()}`));
59
+ }
60
+ const c = T({
61
+ get: () => u.value,
62
+ set: (i) => {
63
+ var n;
64
+ u.value = i, r.value !== null && clearTimeout(r.value);
65
+ const l = ((n = t.inputConfig) == null ? void 0 : n.debounceTime) ?? t.debounceTime;
66
+ l === 0 || void 0 ? g(i) : r.value = window.setTimeout(() => {
67
+ g(i);
68
+ }, l);
69
+ }
70
+ });
71
+ function g(i) {
72
+ const l = f();
73
+ if (!l) return;
74
+ if (i === "") {
75
+ const d = t.filters.filter((o) => o.key !== l);
76
+ s("update:filters", d);
77
+ return;
78
+ }
79
+ const a = t.filters.findIndex((d) => d.key === l), n = [...t.filters];
80
+ a >= 0 ? n[a].value = i : n.push({
81
+ key: l,
82
+ value: i,
83
+ type: "text"
84
+ }), s("update:filters", n);
85
+ }
86
+ function v() {
87
+ u.value = "";
88
+ const i = f(), l = t.filters.filter((a) => a.key !== i);
89
+ s("update:filters", l);
90
+ }
91
+ return (i, l) => {
92
+ var a, n, d, o, m, y;
93
+ return w(), x("div", S, [
94
+ F(V, {
95
+ modelValue: c.value,
96
+ "onUpdate:modelValue": l[0] || (l[0] = (p) => c.value = p),
97
+ label: e.header.title,
98
+ clearable: ((a = e.inputConfig) == null ? void 0 : a.clearable) ?? e.clearable,
99
+ density: ((n = e.inputConfig) == null ? void 0 : n.density) ?? e.density,
100
+ "hide-details": ((d = e.inputConfig) == null ? void 0 : d.hideDetails) ?? e.hideDetails,
101
+ "hide-messages": e.header.hideMessages,
102
+ "disable-error-handling": ((o = e.inputConfig) == null ? void 0 : o.disableErrorHandling) ?? e.disableErrorHandling,
103
+ variant: ((m = e.inputConfig) == null ? void 0 : m.variant) ?? e.variant,
104
+ "bg-color": ((y = e.inputConfig) == null ? void 0 : y.backgroundColor) ?? e.backgroundColor,
105
+ class: "filter-input",
106
+ "onClick:clear": v
107
+ }, null, 8, ["modelValue", "label", "clearable", "density", "hide-details", "hide-messages", "disable-error-handling", "variant", "bg-color"])
108
+ ]);
109
+ };
110
+ }
111
+ }), I = /* @__PURE__ */ E(B, [["__scopeId", "data-v-6f62b12e"]]);
112
+ export {
113
+ I as default
114
+ };
@@ -0,0 +1,103 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ accordionTitle: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ borderColor: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ bordered: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ cardColor: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ headerRightWidth: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ hideSeparator: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ isOpen: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ titleLevel: {
31
+ type: NumberConstructor;
32
+ default: number;
33
+ };
34
+ titleUppercase: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ uniqueId: {
39
+ type: StringConstructor;
40
+ required: true;
41
+ };
42
+ }>, {
43
+ openClose: () => void;
44
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
45
+ accordionTitle: {
46
+ type: StringConstructor;
47
+ required: true;
48
+ };
49
+ borderColor: {
50
+ type: StringConstructor;
51
+ default: string;
52
+ };
53
+ bordered: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ cardColor: {
58
+ type: StringConstructor;
59
+ default: string;
60
+ };
61
+ headerRightWidth: {
62
+ type: StringConstructor;
63
+ default: string;
64
+ };
65
+ hideSeparator: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ isOpen: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ titleLevel: {
74
+ type: NumberConstructor;
75
+ default: number;
76
+ };
77
+ titleUppercase: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ uniqueId: {
82
+ type: StringConstructor;
83
+ required: true;
84
+ };
85
+ }>> & Readonly<{}>, {
86
+ isOpen: boolean;
87
+ bordered: boolean;
88
+ borderColor: string;
89
+ cardColor: string;
90
+ headerRightWidth: string;
91
+ hideSeparator: boolean;
92
+ titleLevel: number;
93
+ titleUppercase: boolean;
94
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>, {
95
+ default?(_: {}): any;
96
+ headerRight?(_: {}): any;
97
+ }>;
98
+ export default _default;
99
+ type __VLS_WithTemplateSlots<T, S> = T & {
100
+ new (): {
101
+ $slots: S;
102
+ };
103
+ };