@gen-epix/ui-core-form 4.0.0

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 (117) hide show
  1. package/LICENSE +287 -0
  2. package/dist/@types/ui-form.d.ts +2 -0
  3. package/dist/@types/vite-env.d.ts +2 -0
  4. package/dist/@types/yup.d.ts +30 -0
  5. package/dist/_chunks/Autocomplete.js +229 -0
  6. package/dist/_chunks/Autocomplete.js.map +1 -0
  7. package/dist/_chunks/DatePicker.js +126 -0
  8. package/dist/_chunks/DatePicker.js.map +1 -0
  9. package/dist/_chunks/FormUtil.js +1350 -0
  10. package/dist/_chunks/FormUtil.js.map +1 -0
  11. package/dist/_chunks/RichTextEditor.js +22721 -0
  12. package/dist/_chunks/RichTextEditor.js.map +1 -0
  13. package/dist/_chunks/TransferList.js +453 -0
  14. package/dist/_chunks/TransferList.js.map +1 -0
  15. package/dist/_chunks/UploadButton.js +91 -0
  16. package/dist/_chunks/UploadButton.js.map +1 -0
  17. package/dist/_chunks/classnames.js +33 -0
  18. package/dist/_chunks/classnames.js.map +1 -0
  19. package/dist/_chunks/index.esm.js +348 -0
  20. package/dist/_chunks/index.esm.js.map +1 -0
  21. package/dist/_chunks/isEqual.js +348 -0
  22. package/dist/_chunks/isEqual.js.map +1 -0
  23. package/dist/_chunks/isObjectLike.js +304 -0
  24. package/dist/_chunks/isObjectLike.js.map +1 -0
  25. package/dist/_chunks/isValid.js +28 -0
  26. package/dist/_chunks/isValid.js.map +1 -0
  27. package/dist/_chunks/rolldown-runtime.js +13 -0
  28. package/dist/_chunks/sv.js +434 -0
  29. package/dist/_chunks/sv.js.map +1 -0
  30. package/dist/components/fields/Autocomplete/Autocomplete.d.ts +19 -0
  31. package/dist/components/fields/Autocomplete/AutocompleteSelectAllContext.d.ts +2 -0
  32. package/dist/components/fields/Autocomplete/AutocompleteSelectAllPaper.d.ts +2 -0
  33. package/dist/components/fields/Autocomplete/index.d.ts +1 -0
  34. package/dist/components/fields/Autocomplete/index.js +2 -0
  35. package/dist/components/fields/CheckboxGroup/CheckboxGroup.d.ts +18 -0
  36. package/dist/components/fields/CheckboxGroup/index.d.ts +1 -0
  37. package/dist/components/fields/CheckboxGroup/index.js +114 -0
  38. package/dist/components/fields/CheckboxGroup/index.js.map +1 -0
  39. package/dist/components/fields/DatePicker/DatePicker.d.ts +15 -0
  40. package/dist/components/fields/DatePicker/DatePickerInputAdornment.d.ts +8 -0
  41. package/dist/components/fields/DatePicker/index.d.ts +1 -0
  42. package/dist/components/fields/DatePicker/index.js +2 -0
  43. package/dist/components/fields/DateRangePicker/DateRangePicker.d.ts +17 -0
  44. package/dist/components/fields/DateRangePicker/index.d.ts +1 -0
  45. package/dist/components/fields/DateRangePicker/index.js +1648 -0
  46. package/dist/components/fields/DateRangePicker/index.js.map +1 -0
  47. package/dist/components/fields/NumberField/NumberField.d.ts +19 -0
  48. package/dist/components/fields/NumberField/index.d.ts +1 -0
  49. package/dist/components/fields/NumberField/index.js +180 -0
  50. package/dist/components/fields/NumberField/index.js.map +1 -0
  51. package/dist/components/fields/NumberRangeInput/NumberRangeInput.d.ts +15 -0
  52. package/dist/components/fields/NumberRangeInput/index.d.ts +1 -0
  53. package/dist/components/fields/NumberRangeInput/index.js +192 -0
  54. package/dist/components/fields/NumberRangeInput/index.js.map +1 -0
  55. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +16 -0
  56. package/dist/components/fields/RadioGroup/index.d.ts +1 -0
  57. package/dist/components/fields/RadioGroup/index.js +72 -0
  58. package/dist/components/fields/RadioGroup/index.js.map +1 -0
  59. package/dist/components/fields/RichTextEditor/RichTextEditor.d.ts +13 -0
  60. package/dist/components/fields/RichTextEditor/RichTextEditorContent.d.ts +4 -0
  61. package/dist/components/fields/RichTextEditor/index.d.ts +2 -0
  62. package/dist/components/fields/RichTextEditor/index.js +2 -0
  63. package/dist/components/fields/RichTextEditor/useRichTextEditorExtensions.d.ts +10 -0
  64. package/dist/components/fields/Select/Select.d.ts +16 -0
  65. package/dist/components/fields/Select/index.d.ts +1 -0
  66. package/dist/components/fields/Select/index.js +129 -0
  67. package/dist/components/fields/Select/index.js.map +1 -0
  68. package/dist/components/fields/Switch/Switch.d.ts +13 -0
  69. package/dist/components/fields/Switch/index.d.ts +1 -0
  70. package/dist/components/fields/Switch/index.js +68 -0
  71. package/dist/components/fields/Switch/index.js.map +1 -0
  72. package/dist/components/fields/TextField/TextField.d.ts +18 -0
  73. package/dist/components/fields/TextField/index.d.ts +1 -0
  74. package/dist/components/fields/TextField/index.js +108 -0
  75. package/dist/components/fields/TextField/index.js.map +1 -0
  76. package/dist/components/fields/ToggleButtonGroup/ToggleButtonGroup.d.ts +14 -0
  77. package/dist/components/fields/ToggleButtonGroup/index.d.ts +1 -0
  78. package/dist/components/fields/ToggleButtonGroup/index.js +57 -0
  79. package/dist/components/fields/ToggleButtonGroup/index.js.map +1 -0
  80. package/dist/components/fields/TransferList/TransferList.d.ts +16 -0
  81. package/dist/components/fields/TransferList/index.d.ts +1 -0
  82. package/dist/components/fields/TransferList/index.js +2 -0
  83. package/dist/components/fields/UploadButton/UploadButton.d.ts +15 -0
  84. package/dist/components/fields/UploadButton/index.d.ts +1 -0
  85. package/dist/components/fields/UploadButton/index.js +2 -0
  86. package/dist/components/helpers/FormFieldHelperText/FormFieldHelperText.d.ts +8 -0
  87. package/dist/components/helpers/FormFieldHelperText/index.d.ts +1 -0
  88. package/dist/components/helpers/FormFieldHelperText/index.js +50 -0
  89. package/dist/components/helpers/FormFieldHelperText/index.js.map +1 -0
  90. package/dist/components/helpers/FormFieldLoadingIndicator/FormFieldLoadingIndicator.d.ts +4 -0
  91. package/dist/components/helpers/FormFieldLoadingIndicator/index.d.ts +1 -0
  92. package/dist/components/helpers/FormFieldLoadingIndicator/index.js +16 -0
  93. package/dist/components/helpers/FormFieldLoadingIndicator/index.js.map +1 -0
  94. package/dist/components/helpers/GenericForm/GenericForm.d.ts +18 -0
  95. package/dist/components/helpers/GenericForm/index.d.ts +1 -0
  96. package/dist/components/helpers/GenericForm/index.js +156 -0
  97. package/dist/components/helpers/GenericForm/index.js.map +1 -0
  98. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.d.ts +1 -0
  99. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js +18 -0
  100. package/dist/hooks/useIsFormFieldRequiredFromSchema/index.js.map +1 -0
  101. package/dist/hooks/useIsFormFieldRequiredFromSchema/useIsFormFieldRequiredFromSchema.d.ts +4 -0
  102. package/dist/locale/en.json +97 -0
  103. package/dist/locale/nl.json +97 -0
  104. package/dist/models/form.d.ts +112 -0
  105. package/dist/models/form.js +8 -0
  106. package/dist/models/form.js.map +1 -0
  107. package/dist/setup/setup.d.ts +1 -0
  108. package/dist/setup/setup.js +166 -0
  109. package/dist/setup/setup.js.map +1 -0
  110. package/dist/utils/FormUtil/FormUtil.d.ts +19 -0
  111. package/dist/utils/FormUtil/index.d.ts +1 -0
  112. package/dist/utils/FormUtil/index.js +2 -0
  113. package/dist/utils/SchemaUtil/SchemaUtil.d.ts +9 -0
  114. package/dist/utils/SchemaUtil/index.d.ts +1 -0
  115. package/dist/utils/SchemaUtil/index.js +30 -0
  116. package/dist/utils/SchemaUtil/index.js.map +1 -0
  117. package/package.json +207 -0
@@ -0,0 +1,434 @@
1
+ import { _ as e, g as t, h as n, m as r } from "./FormUtil.js";
2
+ //#region ../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/formatDistance.js
3
+ var i = {
4
+ lessThanXSeconds: {
5
+ one: "mindre än en sekund",
6
+ other: "mindre än {{count}} sekunder"
7
+ },
8
+ xSeconds: {
9
+ one: "en sekund",
10
+ other: "{{count}} sekunder"
11
+ },
12
+ halfAMinute: "en halv minut",
13
+ lessThanXMinutes: {
14
+ one: "mindre än en minut",
15
+ other: "mindre än {{count}} minuter"
16
+ },
17
+ xMinutes: {
18
+ one: "en minut",
19
+ other: "{{count}} minuter"
20
+ },
21
+ aboutXHours: {
22
+ one: "ungefär en timme",
23
+ other: "ungefär {{count}} timmar"
24
+ },
25
+ xHours: {
26
+ one: "en timme",
27
+ other: "{{count}} timmar"
28
+ },
29
+ xDays: {
30
+ one: "en dag",
31
+ other: "{{count}} dagar"
32
+ },
33
+ aboutXWeeks: {
34
+ one: "ungefär en vecka",
35
+ other: "ungefär {{count}} veckor"
36
+ },
37
+ xWeeks: {
38
+ one: "en vecka",
39
+ other: "{{count}} veckor"
40
+ },
41
+ aboutXMonths: {
42
+ one: "ungefär en månad",
43
+ other: "ungefär {{count}} månader"
44
+ },
45
+ xMonths: {
46
+ one: "en månad",
47
+ other: "{{count}} månader"
48
+ },
49
+ aboutXYears: {
50
+ one: "ungefär ett år",
51
+ other: "ungefär {{count}} år"
52
+ },
53
+ xYears: {
54
+ one: "ett år",
55
+ other: "{{count}} år"
56
+ },
57
+ overXYears: {
58
+ one: "över ett år",
59
+ other: "över {{count}} år"
60
+ },
61
+ almostXYears: {
62
+ one: "nästan ett år",
63
+ other: "nästan {{count}} år"
64
+ }
65
+ }, a = [
66
+ "noll",
67
+ "en",
68
+ "två",
69
+ "tre",
70
+ "fyra",
71
+ "fem",
72
+ "sex",
73
+ "sju",
74
+ "åtta",
75
+ "nio",
76
+ "tio",
77
+ "elva",
78
+ "tolv"
79
+ ], o = (e, t, n) => {
80
+ let r, o = i[e];
81
+ return r = typeof o == "string" ? o : t === 1 ? o.one : o.other.replace("{{count}}", t < 13 ? a[t] : String(t)), n?.addSuffix ? n.comparison && n.comparison > 0 ? "om " + r : r + " sedan" : r;
82
+ }, s = {
83
+ date: e({
84
+ formats: {
85
+ full: "EEEE d MMMM y",
86
+ long: "d MMMM y",
87
+ medium: "d MMM y",
88
+ short: "y-MM-dd"
89
+ },
90
+ defaultWidth: "full"
91
+ }),
92
+ time: e({
93
+ formats: {
94
+ full: "'kl'. HH:mm:ss zzzz",
95
+ long: "HH:mm:ss z",
96
+ medium: "HH:mm:ss",
97
+ short: "HH:mm"
98
+ },
99
+ defaultWidth: "full"
100
+ }),
101
+ dateTime: e({
102
+ formats: {
103
+ full: "{{date}} 'kl.' {{time}}",
104
+ long: "{{date}} 'kl.' {{time}}",
105
+ medium: "{{date}} {{time}}",
106
+ short: "{{date}} {{time}}"
107
+ },
108
+ defaultWidth: "full"
109
+ })
110
+ }, c = {
111
+ lastWeek: "'i' EEEE's kl.' p",
112
+ yesterday: "'igår kl.' p",
113
+ today: "'idag kl.' p",
114
+ tomorrow: "'imorgon kl.' p",
115
+ nextWeek: "EEEE 'kl.' p",
116
+ other: "P"
117
+ }, l = {
118
+ code: "sv",
119
+ formatDistance: o,
120
+ formatLong: s,
121
+ formatRelative: (e, t, n, r) => c[e],
122
+ localize: {
123
+ ordinalNumber: (e, t) => {
124
+ let n = Number(e), r = n % 100;
125
+ if (r > 20 || r < 10) switch (r % 10) {
126
+ case 1:
127
+ case 2: return n + ":a";
128
+ }
129
+ return n + ":e";
130
+ },
131
+ era: t({
132
+ values: {
133
+ narrow: ["f.Kr.", "e.Kr."],
134
+ abbreviated: ["f.Kr.", "e.Kr."],
135
+ wide: ["före Kristus", "efter Kristus"]
136
+ },
137
+ defaultWidth: "wide"
138
+ }),
139
+ quarter: t({
140
+ values: {
141
+ narrow: [
142
+ "1",
143
+ "2",
144
+ "3",
145
+ "4"
146
+ ],
147
+ abbreviated: [
148
+ "Q1",
149
+ "Q2",
150
+ "Q3",
151
+ "Q4"
152
+ ],
153
+ wide: [
154
+ "1:a kvartalet",
155
+ "2:a kvartalet",
156
+ "3:e kvartalet",
157
+ "4:e kvartalet"
158
+ ]
159
+ },
160
+ defaultWidth: "wide",
161
+ argumentCallback: (e) => e - 1
162
+ }),
163
+ month: t({
164
+ values: {
165
+ narrow: [
166
+ "J",
167
+ "F",
168
+ "M",
169
+ "A",
170
+ "M",
171
+ "J",
172
+ "J",
173
+ "A",
174
+ "S",
175
+ "O",
176
+ "N",
177
+ "D"
178
+ ],
179
+ abbreviated: [
180
+ "jan.",
181
+ "feb.",
182
+ "mars",
183
+ "apr.",
184
+ "maj",
185
+ "juni",
186
+ "juli",
187
+ "aug.",
188
+ "sep.",
189
+ "okt.",
190
+ "nov.",
191
+ "dec."
192
+ ],
193
+ wide: [
194
+ "januari",
195
+ "februari",
196
+ "mars",
197
+ "april",
198
+ "maj",
199
+ "juni",
200
+ "juli",
201
+ "augusti",
202
+ "september",
203
+ "oktober",
204
+ "november",
205
+ "december"
206
+ ]
207
+ },
208
+ defaultWidth: "wide"
209
+ }),
210
+ day: t({
211
+ values: {
212
+ narrow: [
213
+ "S",
214
+ "M",
215
+ "T",
216
+ "O",
217
+ "T",
218
+ "F",
219
+ "L"
220
+ ],
221
+ short: [
222
+ "sö",
223
+ "må",
224
+ "ti",
225
+ "on",
226
+ "to",
227
+ "fr",
228
+ "lö"
229
+ ],
230
+ abbreviated: [
231
+ "sön",
232
+ "mån",
233
+ "tis",
234
+ "ons",
235
+ "tors",
236
+ "fre",
237
+ "lör"
238
+ ],
239
+ wide: [
240
+ "söndag",
241
+ "måndag",
242
+ "tisdag",
243
+ "onsdag",
244
+ "torsdag",
245
+ "fredag",
246
+ "lördag"
247
+ ]
248
+ },
249
+ defaultWidth: "wide"
250
+ }),
251
+ dayPeriod: t({
252
+ values: {
253
+ narrow: {
254
+ am: "fm",
255
+ pm: "em",
256
+ midnight: "midnatt",
257
+ noon: "middag",
258
+ morning: "morg.",
259
+ afternoon: "efterm.",
260
+ evening: "kväll",
261
+ night: "natt"
262
+ },
263
+ abbreviated: {
264
+ am: "f.m.",
265
+ pm: "e.m.",
266
+ midnight: "midnatt",
267
+ noon: "middag",
268
+ morning: "morgon",
269
+ afternoon: "efterm.",
270
+ evening: "kväll",
271
+ night: "natt"
272
+ },
273
+ wide: {
274
+ am: "förmiddag",
275
+ pm: "eftermiddag",
276
+ midnight: "midnatt",
277
+ noon: "middag",
278
+ morning: "morgon",
279
+ afternoon: "eftermiddag",
280
+ evening: "kväll",
281
+ night: "natt"
282
+ }
283
+ },
284
+ defaultWidth: "wide",
285
+ formattingValues: {
286
+ narrow: {
287
+ am: "fm",
288
+ pm: "em",
289
+ midnight: "midnatt",
290
+ noon: "middag",
291
+ morning: "på morg.",
292
+ afternoon: "på efterm.",
293
+ evening: "på kvällen",
294
+ night: "på natten"
295
+ },
296
+ abbreviated: {
297
+ am: "fm",
298
+ pm: "em",
299
+ midnight: "midnatt",
300
+ noon: "middag",
301
+ morning: "på morg.",
302
+ afternoon: "på efterm.",
303
+ evening: "på kvällen",
304
+ night: "på natten"
305
+ },
306
+ wide: {
307
+ am: "fm",
308
+ pm: "em",
309
+ midnight: "midnatt",
310
+ noon: "middag",
311
+ morning: "på morgonen",
312
+ afternoon: "på eftermiddagen",
313
+ evening: "på kvällen",
314
+ night: "på natten"
315
+ }
316
+ },
317
+ defaultFormattingWidth: "wide"
318
+ })
319
+ },
320
+ match: {
321
+ ordinalNumber: r({
322
+ matchPattern: /^(\d+)(:a|:e)?/i,
323
+ parsePattern: /\d+/i,
324
+ valueCallback: (e) => parseInt(e, 10)
325
+ }),
326
+ era: n({
327
+ matchPatterns: {
328
+ narrow: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i,
329
+ abbreviated: /^(f\.? ?Kr\.?|f\.? ?v\.? ?t\.?|e\.? ?Kr\.?|v\.? ?t\.?)/i,
330
+ wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i
331
+ },
332
+ defaultMatchWidth: "wide",
333
+ parsePatterns: { any: [/^f/i, /^[ev]/i] },
334
+ defaultParseWidth: "any"
335
+ }),
336
+ quarter: n({
337
+ matchPatterns: {
338
+ narrow: /^[1234]/i,
339
+ abbreviated: /^q[1234]/i,
340
+ wide: /^[1234](:a|:e)? kvartalet/i
341
+ },
342
+ defaultMatchWidth: "wide",
343
+ parsePatterns: { any: [
344
+ /1/i,
345
+ /2/i,
346
+ /3/i,
347
+ /4/i
348
+ ] },
349
+ defaultParseWidth: "any",
350
+ valueCallback: (e) => e + 1
351
+ }),
352
+ month: n({
353
+ matchPatterns: {
354
+ narrow: /^[jfmasond]/i,
355
+ abbreviated: /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\.?/i,
356
+ wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i
357
+ },
358
+ defaultMatchWidth: "wide",
359
+ parsePatterns: {
360
+ narrow: [
361
+ /^j/i,
362
+ /^f/i,
363
+ /^m/i,
364
+ /^a/i,
365
+ /^m/i,
366
+ /^j/i,
367
+ /^j/i,
368
+ /^a/i,
369
+ /^s/i,
370
+ /^o/i,
371
+ /^n/i,
372
+ /^d/i
373
+ ],
374
+ any: [
375
+ /^ja/i,
376
+ /^f/i,
377
+ /^mar/i,
378
+ /^ap/i,
379
+ /^maj/i,
380
+ /^jun/i,
381
+ /^jul/i,
382
+ /^au/i,
383
+ /^s/i,
384
+ /^o/i,
385
+ /^n/i,
386
+ /^d/i
387
+ ]
388
+ },
389
+ defaultParseWidth: "any"
390
+ }),
391
+ day: n({
392
+ matchPatterns: {
393
+ narrow: /^[smtofl]/i,
394
+ short: /^(sö|må|ti|on|to|fr|lö)/i,
395
+ abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,
396
+ wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i
397
+ },
398
+ defaultMatchWidth: "wide",
399
+ parsePatterns: { any: [
400
+ /^s/i,
401
+ /^m/i,
402
+ /^ti/i,
403
+ /^o/i,
404
+ /^to/i,
405
+ /^f/i,
406
+ /^l/i
407
+ ] },
408
+ defaultParseWidth: "any"
409
+ }),
410
+ dayPeriod: n({
411
+ matchPatterns: { any: /^([fe]\.?\s?m\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i },
412
+ defaultMatchWidth: "any",
413
+ parsePatterns: { any: {
414
+ am: /^f/i,
415
+ pm: /^e/i,
416
+ midnight: /^midn/i,
417
+ noon: /^midd/i,
418
+ morning: /morgon/i,
419
+ afternoon: /eftermiddag/i,
420
+ evening: /kväll/i,
421
+ night: /natt/i
422
+ } },
423
+ defaultParseWidth: "any"
424
+ })
425
+ },
426
+ options: {
427
+ weekStartsOn: 1,
428
+ firstWeekContainsDate: 4
429
+ }
430
+ };
431
+ //#endregion
432
+ export { l as t };
433
+
434
+ //# sourceMappingURL=sv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sv.js","names":[],"sources":["../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/formatDistance.js","../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/formatLong.js","../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/formatRelative.js","../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/localize.js","../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv/_lib/match.js","../../../../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/sv.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"mindre än en sekund\",\n other: \"mindre än {{count}} sekunder\",\n },\n\n xSeconds: {\n one: \"en sekund\",\n other: \"{{count}} sekunder\",\n },\n\n halfAMinute: \"en halv minut\",\n\n lessThanXMinutes: {\n one: \"mindre än en minut\",\n other: \"mindre än {{count}} minuter\",\n },\n\n xMinutes: {\n one: \"en minut\",\n other: \"{{count}} minuter\",\n },\n\n aboutXHours: {\n one: \"ungefär en timme\",\n other: \"ungefär {{count}} timmar\",\n },\n\n xHours: {\n one: \"en timme\",\n other: \"{{count}} timmar\",\n },\n\n xDays: {\n one: \"en dag\",\n other: \"{{count}} dagar\",\n },\n\n aboutXWeeks: {\n one: \"ungefär en vecka\",\n other: \"ungefär {{count}} veckor\",\n },\n\n xWeeks: {\n one: \"en vecka\",\n other: \"{{count}} veckor\",\n },\n\n aboutXMonths: {\n one: \"ungefär en månad\",\n other: \"ungefär {{count}} månader\",\n },\n\n xMonths: {\n one: \"en månad\",\n other: \"{{count}} månader\",\n },\n\n aboutXYears: {\n one: \"ungefär ett år\",\n other: \"ungefär {{count}} år\",\n },\n\n xYears: {\n one: \"ett år\",\n other: \"{{count}} år\",\n },\n\n overXYears: {\n one: \"över ett år\",\n other: \"över {{count}} år\",\n },\n\n almostXYears: {\n one: \"nästan ett år\",\n other: \"nästan {{count}} år\",\n },\n};\n\nconst wordMapping = [\n \"noll\",\n \"en\",\n \"två\",\n \"tre\",\n \"fyra\",\n \"fem\",\n \"sex\",\n \"sju\",\n \"åtta\",\n \"nio\",\n \"tio\",\n \"elva\",\n \"tolv\",\n];\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\n \"{{count}}\",\n count < 13 ? wordMapping[count] : String(count),\n );\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"om \" + result;\n } else {\n return result + \" sedan\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE d MMMM y\",\n long: \"d MMMM y\",\n medium: \"d MMM y\",\n short: \"y-MM-dd\",\n};\n\nconst timeFormats = {\n full: \"'kl'. HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'kl.' {{time}}\",\n long: \"{{date}} 'kl.' {{time}}\",\n medium: \"{{date}} {{time}}\",\n short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'i' EEEE's kl.' p\",\n yesterday: \"'igår kl.' p\",\n today: \"'idag kl.' p\",\n tomorrow: \"'imorgon kl.' p\",\n nextWeek: \"EEEE 'kl.' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"f.Kr.\", \"e.Kr.\"],\n abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n wide: [\"före Kristus\", \"efter Kristus\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1:a kvartalet\", \"2:a kvartalet\", \"3:e kvartalet\", \"4:e kvartalet\"],\n};\n\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"jan.\",\n \"feb.\",\n \"mars\",\n \"apr.\",\n \"maj\",\n \"juni\",\n \"juli\",\n \"aug.\",\n \"sep.\",\n \"okt.\",\n \"nov.\",\n \"dec.\",\n ],\n\n wide: [\n \"januari\",\n \"februari\",\n \"mars\",\n \"april\",\n \"maj\",\n \"juni\",\n \"juli\",\n \"augusti\",\n \"september\",\n \"oktober\",\n \"november\",\n \"december\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n short: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"],\n abbreviated: [\"sön\", \"mån\", \"tis\", \"ons\", \"tors\", \"fre\", \"lör\"],\n wide: [\"söndag\", \"måndag\", \"tisdag\", \"onsdag\", \"torsdag\", \"fredag\", \"lördag\"],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nconst dayPeriodValues = {\n narrow: {\n am: \"fm\",\n pm: \"em\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"morg.\",\n afternoon: \"efterm.\",\n evening: \"kväll\",\n night: \"natt\",\n },\n abbreviated: {\n am: \"f.m.\",\n pm: \"e.m.\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"morgon\",\n afternoon: \"efterm.\",\n evening: \"kväll\",\n night: \"natt\",\n },\n wide: {\n am: \"förmiddag\",\n pm: \"eftermiddag\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"morgon\",\n afternoon: \"eftermiddag\",\n evening: \"kväll\",\n night: \"natt\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"fm\",\n pm: \"em\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morg.\",\n afternoon: \"på efterm.\",\n evening: \"på kvällen\",\n night: \"på natten\",\n },\n abbreviated: {\n am: \"fm\",\n pm: \"em\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morg.\",\n afternoon: \"på efterm.\",\n evening: \"på kvällen\",\n night: \"på natten\",\n },\n wide: {\n am: \"fm\",\n pm: \"em\",\n midnight: \"midnatt\",\n noon: \"middag\",\n morning: \"på morgonen\",\n afternoon: \"på eftermiddagen\",\n evening: \"på kvällen\",\n night: \"på natten\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n case 2:\n return number + \":a\";\n }\n }\n return number + \":e\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n any: [/^f/i, /^[ev]/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](:a|:e)? kvartalet/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated:\n /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^maj/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtofl]/i,\n short: /^(sö|må|ti|on|to|fr|lö)/i,\n abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i,\n};\nconst parseDayPatterns = {\n any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^f/i,\n pm: /^e/i,\n midnight: /^midn/i,\n noon: /^midd/i,\n morning: /morgon/i,\n afternoon: /eftermiddag/i,\n evening: /kväll/i,\n night: /natt/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./sv/_lib/formatDistance.js\";\nimport { formatLong } from \"./sv/_lib/formatLong.js\";\nimport { formatRelative } from \"./sv/_lib/formatRelative.js\";\nimport { localize } from \"./sv/_lib/localize.js\";\nimport { match } from \"./sv/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen](https://github.com/ejulen)\n * @author Alexander Nanberg [@alexandernanberg](https://github.com/alexandernanberg)\n * @author Henrik Andersson [@limelights](https://github.com/limelights)\n */\nexport const sv = {\n code: \"sv\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default sv;\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ReactElement } from 'react';
2
+ import { AutocompleteValue } from '@mui/material';
3
+ import { FieldValues, Path } from 'react-hook-form';
4
+ import { AutoCompleteOption } from '../../../models/form';
5
+ export type AutocompleteProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues>, TMultiple extends boolean> = {
6
+ readonly disabled?: boolean;
7
+ readonly groupValues?: boolean;
8
+ readonly infoMessage?: string;
9
+ readonly label: string;
10
+ readonly loading?: boolean;
11
+ readonly multiple?: TMultiple;
12
+ readonly name: TName;
13
+ readonly onChange?: (value: AutocompleteValue<TFieldValues[TName], TMultiple, false, false>) => void;
14
+ readonly options: AutoCompleteOption[];
15
+ readonly required?: boolean;
16
+ readonly shouldSortOptions?: boolean;
17
+ readonly warningMessage?: string;
18
+ };
19
+ export declare const Autocomplete: <TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>, TMultiple extends boolean = false>({ disabled, groupValues, infoMessage, label, loading, multiple, name, onChange: onChangeProp, options, required, shouldSortOptions, warningMessage, }: AutocompleteProps<TFieldValues, TName, TMultiple>) => ReactElement;
@@ -0,0 +1,2 @@
1
+ import { AutocompleteSelectAllContextData } from '../../../models/form';
2
+ export declare const AutocompleteSelectAllContext: import('react').Context<AutocompleteSelectAllContextData>;
@@ -0,0 +1,2 @@
1
+ import { PaperProps } from '@mui/material';
2
+ export declare const AutocompleteSelectAllPaper: ({ children, ...props }: PaperProps) => import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Autocomplete';
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../../_chunks/Autocomplete.js";
2
+ export { e as Autocomplete };
@@ -0,0 +1,18 @@
1
+ import { ReactElement } from 'react';
2
+ import { FieldValues, Path } from 'react-hook-form';
3
+ import { CheckboxOption } from '../../../models/form';
4
+ export type CheckboxGroupProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>> = {
5
+ readonly disabled?: boolean;
6
+ readonly infoMessage?: string;
7
+ readonly label: string;
8
+ readonly loading?: boolean;
9
+ readonly name: TName;
10
+ readonly onChange?: (value: CheckBoxGroupValue) => void;
11
+ readonly options: CheckboxOption[];
12
+ readonly required?: boolean;
13
+ readonly row?: boolean;
14
+ readonly warningMessage?: string;
15
+ };
16
+ type CheckBoxGroupValue = Array<number | string>;
17
+ export declare const CheckboxGroup: <TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>>({ disabled, infoMessage, label, loading, name, onChange: onChangeProp, options, required, row, warningMessage, }: CheckboxGroupProps<TFieldValues, TName>) => ReactElement;
18
+ export {};
@@ -0,0 +1 @@
1
+ export * from './CheckboxGroup';
@@ -0,0 +1,114 @@
1
+ import { t as e } from "../../../_chunks/FormUtil.js";
2
+ import { i as t, t as n } from "../../../_chunks/index.esm.js";
3
+ import { FormFieldHelperText as r } from "../../helpers/FormFieldHelperText/index.js";
4
+ import { FormFieldLoadingIndicator as i } from "../../helpers/FormFieldLoadingIndicator/index.js";
5
+ import { useCallback as a, useId as o, useRef as s } from "react";
6
+ import { useTranslation as c } from "react-i18next";
7
+ import { Checkbox as l, FormControl as u, FormControlLabel as d, FormGroup as f, FormHelperText as p, FormLabel as m, IconButton as h } from "@mui/material";
8
+ import g from "@mui/icons-material/Clear";
9
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
10
+ import { TestIdUtil as y } from "@gen-epix/ui-core/utils/TestIdUtil";
11
+ //#region src/components/fields/CheckboxGroup/CheckboxGroup.tsx
12
+ var b = ({ disabled: b, infoMessage: x, label: S, loading: C, name: w, onChange: T, options: E, required: D, row: O, warningMessage: k }) => {
13
+ let { t: A } = c(), j = o(), { control: M, formState: { errors: N } } = t(), P = e.getFieldErrorMessage(N, w), F = s(null), I = !!P, L = a((e, t, n) => (r, i) => {
14
+ let a = n.filter((e) => e !== t);
15
+ i && a.push(t), T && T(a), e(a);
16
+ }, [T]);
17
+ return /* @__PURE__ */ _(n, {
18
+ control: M,
19
+ defaultValue: null,
20
+ name: w,
21
+ render: a(({ field: { onBlur: e, onChange: t, ref: n, value: a } }) => {
22
+ n({ focus: () => {
23
+ F?.current?.focus();
24
+ } });
25
+ let o = () => {
26
+ t([]);
27
+ };
28
+ return /* @__PURE__ */ v(u, {
29
+ component: "fieldset",
30
+ error: I,
31
+ ...y.createAttributes("CheckboxGroup", {
32
+ label: S,
33
+ name: w
34
+ }),
35
+ fullWidth: !0,
36
+ sx: {
37
+ "&:hover legend button, &:focus-within legend button": { display: "initial" },
38
+ "legend button": { display: "none" }
39
+ },
40
+ children: [
41
+ /* @__PURE__ */ v(m, {
42
+ component: "legend",
43
+ disabled: b || C,
44
+ id: j,
45
+ required: D,
46
+ children: [S, !b && /* @__PURE__ */ _(h, {
47
+ ...y.createAttributes("DateRangePicker-reset"),
48
+ "aria-label": A`Clear checkbox selection`,
49
+ onClick: o,
50
+ sx: {
51
+ "& svg": { fontSize: "16px" },
52
+ position: "absolute",
53
+ top: "-10px"
54
+ },
55
+ tabIndex: -1,
56
+ children: /* @__PURE__ */ _(g, {})
57
+ })]
58
+ }),
59
+ !C && /* @__PURE__ */ _(f, {
60
+ "aria-labelledby": j,
61
+ onBlur: e,
62
+ row: O,
63
+ children: E.map((e, n) => /* @__PURE__ */ _(d, {
64
+ ...y.createAttributes("CheckboxGroup-option", {
65
+ label: e.label,
66
+ value: e.value.toString()
67
+ }),
68
+ checked: a?.includes(e.value),
69
+ control: /* @__PURE__ */ _(l, {
70
+ slotProps: { input: {
71
+ name: `${w}-${e.value.toString()}`,
72
+ ref: n === 0 ? F : void 0
73
+ } },
74
+ sx: { padding: "0 9px" }
75
+ }),
76
+ disabled: C || b,
77
+ label: e.label,
78
+ onChange: L(t, e.value, a)
79
+ }, e.value.toString()))
80
+ }),
81
+ !!C && /* @__PURE__ */ _(i, { inline: !0 }),
82
+ /* @__PURE__ */ _(p, {
83
+ sx: { ml: 0 },
84
+ children: /* @__PURE__ */ _(r, {
85
+ errorMessage: P,
86
+ infoMessage: x,
87
+ noIndent: !0,
88
+ warningMessage: k
89
+ })
90
+ })
91
+ ]
92
+ });
93
+ }, [
94
+ I,
95
+ x,
96
+ S,
97
+ w,
98
+ b,
99
+ C,
100
+ j,
101
+ D,
102
+ A,
103
+ O,
104
+ E,
105
+ P,
106
+ k,
107
+ L
108
+ ])
109
+ });
110
+ };
111
+ //#endregion
112
+ export { b as CheckboxGroup };
113
+
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/fields/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ReactElement,\n} from 'react';\nimport {\n useCallback,\n useId,\n useRef,\n} from 'react';\nimport {\n FormControl,\n FormControlLabel,\n FormGroup,\n FormHelperText,\n FormLabel,\n IconButton,\n Checkbox as MuiCheckbox,\n} from '@mui/material';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport {\n Controller,\n useFormContext,\n} from 'react-hook-form';\nimport type {\n ControllerRenderProps,\n FieldValues,\n Path,\n UseControllerReturn,\n} from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { TestIdUtil } from '@gen-epix/ui-core/utils/TestIdUtil';\n\nimport type { CheckboxOption } from '../../../models/form';\nimport { FormUtil } from '../../../utils/FormUtil';\nimport { FormFieldHelperText } from '../../helpers/FormFieldHelperText';\nimport { FormFieldLoadingIndicator } from '../../helpers/FormFieldLoadingIndicator';\n\n\nexport type CheckboxGroupProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>> = {\n readonly disabled?: boolean;\n readonly infoMessage?: string;\n readonly label: string;\n readonly loading?: boolean;\n readonly name: TName;\n readonly onChange?: (value: CheckBoxGroupValue) => void;\n readonly options: CheckboxOption[];\n readonly required?: boolean;\n readonly row?: boolean;\n readonly warningMessage?: string;\n};\n\ntype CheckBoxGroupValue = Array<number | string>;\n\nexport const CheckboxGroup = <TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>>({\n disabled,\n infoMessage,\n label,\n loading,\n name,\n onChange: onChangeProp,\n options,\n required,\n row,\n warningMessage,\n}: CheckboxGroupProps<TFieldValues, TName>): ReactElement => {\n const { t } = useTranslation();\n const id = useId();\n const { control, formState: { errors } } = useFormContext<TFieldValues>();\n const errorMessage = FormUtil.getFieldErrorMessage(errors, name);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const hasError = !!errorMessage;\n\n const onMuiCheckboxChange = useCallback((onChange: ControllerRenderProps<TFieldValues, TName>['onChange'], itemValue: number | string, currentValue: CheckBoxGroupValue) =>\n (_event: ChangeEvent<unknown>, checked: boolean) => {\n const newValue = currentValue.filter(x => x !== itemValue);\n if (checked) {\n newValue.push(itemValue);\n }\n\n if (onChangeProp) {\n onChangeProp(newValue);\n }\n onChange(newValue);\n }\n , [onChangeProp]);\n\n const renderController = useCallback(({ field: { onBlur, onChange, ref, value } }: UseControllerReturn<TFieldValues, TName>) => {\n ref({\n focus: () => {\n inputRef?.current?.focus();\n },\n });\n\n const onResetButtonClick = () => {\n onChange([]);\n };\n return (\n <FormControl\n component={'fieldset'}\n error={hasError}\n {...TestIdUtil.createAttributes('CheckboxGroup', { label, name })}\n fullWidth\n sx={{\n '&:hover legend button, &:focus-within legend button': {\n display: 'initial',\n },\n 'legend button': {\n display: 'none',\n },\n }}\n >\n <FormLabel\n component={'legend'}\n disabled={disabled || loading}\n id={id}\n required={required}\n\n >\n {label}\n {!disabled && (\n <IconButton\n {...TestIdUtil.createAttributes('DateRangePicker-reset')}\n aria-label={t`Clear checkbox selection`}\n // eslint-disable-next-line @eslint-react/kit/jsx-no-bind\n onClick={onResetButtonClick}\n sx={{\n '& svg': {\n fontSize: '16px',\n },\n position: 'absolute',\n top: '-10px',\n }}\n tabIndex={-1}\n >\n <ClearIcon />\n </IconButton>\n )}\n </FormLabel>\n { !loading && (\n <FormGroup\n aria-labelledby={id}\n onBlur={onBlur}\n row={row}\n >\n { options.map((option, index) => {\n return (\n <FormControlLabel\n key={option.value.toString()}\n {...TestIdUtil.createAttributes('CheckboxGroup-option', { label: option.label, value: option.value.toString() })}\n checked={(value as CheckBoxGroupValue)?.includes(option.value)}\n control={(\n <MuiCheckbox\n slotProps={{\n input: {\n name: `${name}-${option.value.toString()}`,\n ref: index === 0 ? inputRef : undefined,\n },\n }}\n sx={{\n padding: '0 9px',\n }}\n />\n )}\n disabled={loading || disabled}\n label={option.label}\n onChange={onMuiCheckboxChange(onChange, option.value, value)}\n />\n );\n })}\n </FormGroup>\n )}\n { !!loading && <FormFieldLoadingIndicator inline />}\n <FormHelperText sx={{ ml: 0 }}>\n <FormFieldHelperText\n errorMessage={errorMessage}\n infoMessage={infoMessage}\n noIndent\n warningMessage={warningMessage}\n />\n </FormHelperText>\n </FormControl>\n );\n }, [hasError, infoMessage, label, name, disabled, loading, id, required, t, row, options, errorMessage, warningMessage, onMuiCheckboxChange]);\n\n return (\n <Controller\n control={control}\n defaultValue={null}\n name={name}\n render={renderController}\n />\n\n );\n};\n"],"mappings":";;;;;;;;;;;AAqDA,IAAa,KAA0G,EACrH,aACA,gBACA,UACA,YACA,SACA,UAAU,GACV,YACA,aACA,QACA,wBAC2D;CAC3D,IAAM,EAAE,SAAM,EAAe,GACvB,IAAK,EAAM,GACX,EAAE,YAAS,WAAW,EAAE,gBAAa,EAA6B,GAClE,IAAe,EAAS,qBAAqB,GAAQ,CAAI,GAEzD,IAAW,EAAyB,IAAI,GACxC,IAAW,CAAC,CAAC,GAEb,IAAsB,GAAa,GAAkE,GAA4B,OACpI,GAA8B,MAAqB;EAClD,IAAM,IAAW,EAAa,QAAO,MAAK,MAAM,CAAS;EAQzD,AAPI,KACF,EAAS,KAAK,CAAS,GAGrB,KACF,EAAa,CAAQ,GAEvB,EAAS,CAAQ;CACnB,GACA,CAAC,CAAY,CAAC;CAoGhB,OACE,kBAAC,GAAD;EACW;EACT,cAAc;EACR;EACN,QAvGqB,GAAa,EAAE,OAAO,EAAE,WAAQ,aAAU,QAAK,iBAAwD;GAC9H,EAAI,EACF,aAAa;IACX,GAAU,SAAS,MAAM;GAC3B,EACF,CAAC;GAED,IAAM,UAA2B;IAC/B,EAAS,CAAC,CAAC;GACb;GACA,OACE,kBAAC,GAAD;IACE,WAAW;IACX,OAAO;IACP,GAAI,EAAW,iBAAiB,iBAAiB;KAAE;KAAO;IAAK,CAAC;IAChE,WAAA;IACA,IAAI;KACF,uDAAuD,EACrD,SAAS,UACX;KACA,iBAAiB,EACf,SAAS,OACX;IACF;cAZF;KAcE,kBAAC,GAAD;MACE,WAAW;MACX,UAAU,KAAY;MAClB;MACM;gBAJZ,CAOG,GACA,CAAC,KACA,kBAAC,GAAD;OACE,GAAI,EAAW,iBAAiB,uBAAuB;OACvD,cAAY,CAAC;OAEb,SAAS;OACT,IAAI;QACF,SAAS,EACP,UAAU,OACZ;QACA,UAAU;QACV,KAAK;OACP;OACA,UAAU;iBAEV,kBAAC,GAAD,CAAY,CAAA;MACF,CAAA,CAEL;;KACT,CAAC,KACD,kBAAC,GAAD;MACE,mBAAiB;MACT;MACH;gBAEH,EAAQ,KAAK,GAAQ,MAEnB,kBAAC,GAAD;OAEE,GAAI,EAAW,iBAAiB,wBAAwB;QAAE,OAAO,EAAO;QAAO,OAAO,EAAO,MAAM,SAAS;OAAE,CAAC;OAC/G,SAAU,GAA8B,SAAS,EAAO,KAAK;OAC7D,SACE,kBAAC,GAAD;QACE,WAAW,EACT,OAAO;SACL,MAAM,GAAG,EAAK,GAAG,EAAO,MAAM,SAAS;SACvC,KAAK,MAAU,IAAI,IAAW,KAAA;QAChC,EACF;QACA,IAAI,EACF,SAAS,QACX;OACD,CAAA;OAEH,UAAU,KAAW;OACrB,OAAO,EAAO;OACd,UAAU,EAAoB,GAAU,EAAO,OAAO,CAAK;MAC5D,GAnBM,EAAO,MAAM,SAAS,CAmB5B,CAEJ;KACQ,CAAA;KAEX,CAAC,CAAC,KAAW,kBAAC,GAAD,EAA2B,QAAA,GAAQ,CAAA;KAClD,kBAAC,GAAD;MAAgB,IAAI,EAAE,IAAI,EAAE;gBAC1B,kBAAC,GAAD;OACgB;OACD;OACb,UAAA;OACgB;MACjB,CAAA;KACa,CAAA;IACL;;EAEjB,GAAG;GAAC;GAAU;GAAa;GAAO;GAAM;GAAU;GAAS;GAAI;GAAU;GAAG;GAAK;GAAS;GAAc;GAAgB;EAAmB,CAO/H;CACT,CAAA;AAGL"}
@@ -0,0 +1,15 @@
1
+ import { ReactElement } from 'react';
2
+ import { FieldValues, Path } from 'react-hook-form';
3
+ import { DATE_FORMAT } from '@gen-epix/ui-core/constants/date';
4
+ export type DatePickerProps<TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>> = {
5
+ readonly dateFormat?: typeof DATE_FORMAT[keyof typeof DATE_FORMAT];
6
+ readonly disabled?: boolean;
7
+ readonly infoMessage?: string;
8
+ readonly label: string;
9
+ readonly loading?: boolean;
10
+ readonly name: TName;
11
+ readonly onChange?: (value: Date) => void;
12
+ readonly required?: boolean;
13
+ readonly warningMessage?: string;
14
+ };
15
+ export declare const DatePicker: <TFieldValues extends FieldValues, TName extends Path<TFieldValues> = Path<TFieldValues>>({ dateFormat, disabled, infoMessage, label, loading, name, onChange: onChangeProp, required, warningMessage, }: DatePickerProps<TFieldValues, TName>) => ReactElement;