fina-react-ds 1.0.40 → 1.0.42

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 (67) hide show
  1. package/dist/components/alert-dialog.js +1 -166
  2. package/dist/components/alert.js +1 -73
  3. package/dist/components/avatar.js +1 -58
  4. package/dist/components/badge.js +1 -44
  5. package/dist/components/button.js +1 -153
  6. package/dist/components/calendar.js +1 -205
  7. package/dist/components/card.js +1 -99
  8. package/dist/components/checkbox.js +1 -34
  9. package/dist/components/data-loader.js +1 -24
  10. package/dist/components/date-picker.js +1 -64
  11. package/dist/components/dialog.js +1 -145
  12. package/dist/components/dropdown-menu.js +1 -248
  13. package/dist/components/file-uploader.js +1 -108
  14. package/dist/components/form-color-picker.js +1 -29
  15. package/dist/components/form-date.js +1 -30
  16. package/dist/components/form-file-uploader.js +1 -32
  17. package/dist/components/form-image-uploader.js +1 -40
  18. package/dist/components/form-input.js +1 -35
  19. package/dist/components/form-select.js +1 -51
  20. package/dist/components/form-switch.js +1 -35
  21. package/dist/components/form-textarea.js +1 -35
  22. package/dist/components/form.js +1 -110
  23. package/dist/components/hover-card.js +1 -43
  24. package/dist/components/image-uploader.js +1 -130
  25. package/dist/components/index.js +1 -200
  26. package/dist/components/input.js +1 -26
  27. package/dist/components/label.js +1 -32
  28. package/dist/components/mode-toggle.js +1 -26
  29. package/dist/components/pagination.js +1 -128
  30. package/dist/components/password-rules-checker.js +1 -44
  31. package/dist/components/popover.js +1 -50
  32. package/dist/components/select.js +1 -53
  33. package/dist/components/separator.js +1 -29
  34. package/dist/components/sheet.js +1 -160
  35. package/dist/components/sidebar.js +1 -624
  36. package/dist/components/simple-pagination.js +1 -34
  37. package/dist/components/simple-tooltip.js +1 -17
  38. package/dist/components/skeleton.js +1 -18
  39. package/dist/components/sonner.js +1 -24
  40. package/dist/components/switch.js +1 -34
  41. package/dist/components/table.js +1 -124
  42. package/dist/components/tabs.js +1 -73
  43. package/dist/components/textarea.js +1 -23
  44. package/dist/components/tooltip.js +1 -61
  45. package/dist/hooks/index.js +1 -4
  46. package/dist/hooks/use-mobile.js +1 -17
  47. package/dist/index.js +1 -225
  48. package/dist/lib/arrays.js +1 -7
  49. package/dist/lib/dates.js +1 -21
  50. package/dist/lib/http.js +1 -56
  51. package/dist/lib/index.js +1 -27
  52. package/dist/lib/strings.js +1 -6
  53. package/dist/lib/utils.js +2 -31
  54. package/dist/lib/yup.js +1 -88
  55. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +1 -12
  56. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +1 -21
  57. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js +1 -36
  58. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +1 -18
  59. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr/_lib/formatDistance.js +1 -72
  60. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr/_lib/formatLong.js +1 -33
  61. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr/_lib/formatRelative.js +1 -13
  62. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr/_lib/localize.js +1 -123
  63. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr/_lib/match.js +1 -112
  64. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr.js +1 -21
  65. package/dist/providers/loader-provider.js +1 -34
  66. package/dist/providers/theme-provider.js +1 -45
  67. package/package.json +1 -9
@@ -1,205 +1 @@
1
- var w = Object.defineProperty;
2
- var d = (l, s) => w(l, "name", { value: s, configurable: !0 });
3
- import { jsx as n } from "react/jsx-runtime";
4
- import * as g from "react";
5
- import { ChevronLeftIcon as h, ChevronRightIcon as y, ChevronDownIcon as _ } from "lucide-react";
6
- import { getDefaultClassNames as p, DayPicker as v } from "react-day-picker";
7
- import { cn as e } from "../lib/utils.js";
8
- import { buttonVariants as f, Button as z } from "./button.js";
9
- import { fr as k } from "../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr.js";
10
- function q({
11
- className: l,
12
- classNames: s,
13
- showOutsideDays: r = !0,
14
- captionLayout: c = "label",
15
- buttonVariant: i = "ghost",
16
- formatters: m,
17
- components: x,
18
- ...b
19
- }) {
20
- const t = p();
21
- return /* @__PURE__ */ n(
22
- v,
23
- {
24
- locale: k,
25
- showOutsideDays: r,
26
- className: e(
27
- "group/calendar p-3 [--cell-size:--spacing(8)]",
28
- String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
29
- String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
30
- l
31
- ),
32
- captionLayout: c,
33
- formatters: {
34
- formatMonthDropdown: /* @__PURE__ */ d((a) => a.toLocaleString("default", { month: "short" }), "formatMonthDropdown"),
35
- ...m
36
- },
37
- classNames: {
38
- root: e("w-fit", t.root),
39
- months: e(
40
- "flex gap-4 flex-col md:flex-row relative",
41
- t.months
42
- ),
43
- month: e(
44
- "flex flex-col w-full gap-4",
45
- t.month
46
- ),
47
- nav: e(
48
- "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
49
- t.nav
50
- ),
51
- button_previous: e(
52
- f({
53
- variant: i,
54
- color: "dark",
55
- size: "icon"
56
- }),
57
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
58
- t.button_previous
59
- ),
60
- button_next: e(
61
- f({
62
- variant: i,
63
- color: "dark",
64
- size: "icon"
65
- }),
66
- "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
67
- t.button_next
68
- ),
69
- month_caption: e(
70
- "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
71
- t.month_caption
72
- ),
73
- dropdowns: e(
74
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
75
- t.dropdowns
76
- ),
77
- dropdown_root: e(
78
- "relative has-focus:border-ring border border-input-border shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
79
- t.dropdown_root
80
- ),
81
- dropdown: e(
82
- "absolute bg-popover inset-0 opacity-0",
83
- t.dropdown
84
- ),
85
- caption_label: e(
86
- "select-none font-medium",
87
- c === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted [&>svg]:size-3.5",
88
- t.caption_label
89
- ),
90
- table: "w-full border-collapse",
91
- weekdays: e("flex", t.weekdays),
92
- weekday: e(
93
- "text-muted rounded-md flex-1 font-normal text-[0.8rem] select-none",
94
- t.weekday
95
- ),
96
- week: e("flex w-full mt-2", t.week),
97
- week_number_header: e(
98
- "select-none w-(--cell-size)",
99
- t.week_number_header
100
- ),
101
- week_number: e(
102
- "text-[0.8rem] select-none text-muted",
103
- t.week_number
104
- ),
105
- day: e(
106
- "relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
107
- t.day
108
- ),
109
- range_start: e(
110
- "rounded-l-md bg-accent",
111
- t.range_start
112
- ),
113
- range_middle: e("rounded-none", t.range_middle),
114
- range_end: e(
115
- "rounded-r-md bg-accent",
116
- t.range_end
117
- ),
118
- today: e(
119
- "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
120
- t.today
121
- ),
122
- outside: e(
123
- "text-muted aria-selected:text-muted",
124
- t.outside
125
- ),
126
- disabled: e(
127
- "text-muted opacity-50",
128
- t.disabled
129
- ),
130
- hidden: e("invisible", t.hidden),
131
- ...s
132
- },
133
- components: {
134
- Root: /* @__PURE__ */ d(({ className: a, rootRef: o, ...u }) => /* @__PURE__ */ n(
135
- "div",
136
- {
137
- "data-slot": "calendar",
138
- ref: o,
139
- className: e(a),
140
- ...u
141
- }
142
- ), "Root"),
143
- Chevron: /* @__PURE__ */ d(({ className: a, orientation: o, ...u }) => o === "left" ? /* @__PURE__ */ n(
144
- h,
145
- {
146
- className: e("size-4", a),
147
- ...u
148
- }
149
- ) : o === "right" ? /* @__PURE__ */ n(
150
- y,
151
- {
152
- className: e("size-4", a),
153
- ...u
154
- }
155
- ) : /* @__PURE__ */ n(
156
- _,
157
- {
158
- className: e("size-4", a),
159
- ...u
160
- }
161
- ), "Chevron"),
162
- DayButton: N,
163
- WeekNumber: /* @__PURE__ */ d(({ children: a, ...o }) => /* @__PURE__ */ n("td", { ...o, children: /* @__PURE__ */ n("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: a }) }), "WeekNumber"),
164
- ...x
165
- },
166
- ...b
167
- }
168
- );
169
- }
170
- d(q, "Calendar");
171
- function N({
172
- className: l,
173
- day: s,
174
- modifiers: r,
175
- ...c
176
- }) {
177
- const i = p(), m = g.useRef(null);
178
- return g.useEffect(() => {
179
- r.focused && m.current?.focus();
180
- }, [r.focused]), /* @__PURE__ */ n(
181
- z,
182
- {
183
- ref: m,
184
- variant: "ghost",
185
- size: "icon",
186
- color: "dark",
187
- "data-day": s.date.toLocaleDateString(),
188
- "data-selected-single": r.selected && !r.range_start && !r.range_end && !r.range_middle,
189
- "data-range-start": r.range_start,
190
- "data-range-end": r.range_end,
191
- "data-range-middle": r.range_middle,
192
- className: e(
193
- "data-[selected-single=true]:bg-primary! data-[selected-single=true]:text-primary-foreground! data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
194
- i.day,
195
- l
196
- ),
197
- ...c
198
- }
199
- );
200
- }
201
- d(N, "CalendarDayButton");
202
- export {
203
- q as Calendar,
204
- N as CalendarDayButton
205
- };
1
+ var w=Object.defineProperty;var d=(l,s)=>w(l,"name",{value:s,configurable:!0});import{jsx as n}from"react/jsx-runtime";import*as g from"react";import{ChevronLeftIcon as h,ChevronRightIcon as y,ChevronDownIcon as _}from"lucide-react";import{getDefaultClassNames as p,DayPicker as v}from"react-day-picker";import{cn as e}from"../lib/utils.js";import{buttonVariants as f,Button as z}from"./button.js";import{fr as k}from"../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr.js";function q({className:l,classNames:s,showOutsideDays:r=!0,captionLayout:c="label",buttonVariant:i="ghost",formatters:m,components:x,...b}){const t=p();return n(v,{locale:k,showOutsideDays:r,className:e("group/calendar p-3 [--cell-size:--spacing(8)]",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,l),captionLayout:c,formatters:{formatMonthDropdown:d(a=>a.toLocaleString("default",{month:"short"}),"formatMonthDropdown"),...m},classNames:{root:e("w-fit",t.root),months:e("flex gap-4 flex-col md:flex-row relative",t.months),month:e("flex flex-col w-full gap-4",t.month),nav:e("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",t.nav),button_previous:e(f({variant:i,color:"dark",size:"icon"}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",t.button_previous),button_next:e(f({variant:i,color:"dark",size:"icon"}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",t.button_next),month_caption:e("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",t.month_caption),dropdowns:e("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",t.dropdowns),dropdown_root:e("relative has-focus:border-ring border border-input-border shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",t.dropdown_root),dropdown:e("absolute bg-popover inset-0 opacity-0",t.dropdown),caption_label:e("select-none font-medium",c==="label"?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted [&>svg]:size-3.5",t.caption_label),table:"w-full border-collapse",weekdays:e("flex",t.weekdays),weekday:e("text-muted rounded-md flex-1 font-normal text-[0.8rem] select-none",t.weekday),week:e("flex w-full mt-2",t.week),week_number_header:e("select-none w-(--cell-size)",t.week_number_header),week_number:e("text-[0.8rem] select-none text-muted",t.week_number),day:e("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",t.day),range_start:e("rounded-l-md bg-accent",t.range_start),range_middle:e("rounded-none",t.range_middle),range_end:e("rounded-r-md bg-accent",t.range_end),today:e("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",t.today),outside:e("text-muted aria-selected:text-muted",t.outside),disabled:e("text-muted opacity-50",t.disabled),hidden:e("invisible",t.hidden),...s},components:{Root:d(({className:a,rootRef:o,...u})=>n("div",{"data-slot":"calendar",ref:o,className:e(a),...u}),"Root"),Chevron:d(({className:a,orientation:o,...u})=>o==="left"?n(h,{className:e("size-4",a),...u}):o==="right"?n(y,{className:e("size-4",a),...u}):n(_,{className:e("size-4",a),...u}),"Chevron"),DayButton:N,WeekNumber:d(({children:a,...o})=>n("td",{...o,children:n("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:a})}),"WeekNumber"),...x},...b})}d(q,"Calendar");function N({className:l,day:s,modifiers:r,...c}){const i=p(),m=g.useRef(null);return g.useEffect(()=>{r.focused&&m.current?.focus()},[r.focused]),n(z,{ref:m,variant:"ghost",size:"icon",color:"dark","data-day":s.date.toLocaleDateString(),"data-selected-single":r.selected&&!r.range_start&&!r.range_end&&!r.range_middle,"data-range-start":r.range_start,"data-range-end":r.range_end,"data-range-middle":r.range_middle,className:e("data-[selected-single=true]:bg-primary! data-[selected-single=true]:text-primary-foreground! data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",i.day,l),...c})}d(N,"CalendarDayButton");export{q as Calendar,N as CalendarDayButton};
@@ -1,99 +1 @@
1
- var d = Object.defineProperty;
2
- var r = (t, a) => d(t, "name", { value: a, configurable: !0 });
3
- import { jsx as o } from "react/jsx-runtime";
4
- import { cn as e } from "../lib/utils.js";
5
- function i({ className: t, ...a }) {
6
- return /* @__PURE__ */ o(
7
- "div",
8
- {
9
- "data-slot": "card",
10
- className: e(
11
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
12
- t
13
- ),
14
- ...a
15
- }
16
- );
17
- }
18
- r(i, "Card");
19
- function l({ className: t, ...a }) {
20
- return /* @__PURE__ */ o(
21
- "div",
22
- {
23
- "data-slot": "card-header",
24
- className: e(
25
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
26
- t
27
- ),
28
- ...a
29
- }
30
- );
31
- }
32
- r(l, "CardHeader");
33
- function u({ className: t, ...a }) {
34
- return /* @__PURE__ */ o(
35
- "div",
36
- {
37
- "data-slot": "card-title",
38
- className: e("leading-none font-semibold", t),
39
- ...a
40
- }
41
- );
42
- }
43
- r(u, "CardTitle");
44
- function f({ className: t, ...a }) {
45
- return /* @__PURE__ */ o(
46
- "div",
47
- {
48
- "data-slot": "card-description",
49
- className: e("text-muted text-sm", t),
50
- ...a
51
- }
52
- );
53
- }
54
- r(f, "CardDescription");
55
- function m({ className: t, ...a }) {
56
- return /* @__PURE__ */ o(
57
- "div",
58
- {
59
- "data-slot": "card-action",
60
- className: e(
61
- "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
62
- t
63
- ),
64
- ...a
65
- }
66
- );
67
- }
68
- r(m, "CardAction");
69
- function p({ className: t, ...a }) {
70
- return /* @__PURE__ */ o(
71
- "div",
72
- {
73
- "data-slot": "card-content",
74
- className: e("px-6", t),
75
- ...a
76
- }
77
- );
78
- }
79
- r(p, "CardContent");
80
- function x({ className: t, ...a }) {
81
- return /* @__PURE__ */ o(
82
- "div",
83
- {
84
- "data-slot": "card-footer",
85
- className: e("flex items-center px-6 [.border-t]:pt-6", t),
86
- ...a
87
- }
88
- );
89
- }
90
- r(x, "CardFooter");
91
- export {
92
- i as Card,
93
- m as CardAction,
94
- p as CardContent,
95
- f as CardDescription,
96
- x as CardFooter,
97
- l as CardHeader,
98
- u as CardTitle
99
- };
1
+ var d=Object.defineProperty;var r=(t,a)=>d(t,"name",{value:a,configurable:!0});import{jsx as o}from"react/jsx-runtime";import{cn as e}from"../lib/utils.js";function i({className:t,...a}){return o("div",{"data-slot":"card",className:e("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}r(i,"Card");function l({className:t,...a}){return o("div",{"data-slot":"card-header",className:e("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}r(l,"CardHeader");function u({className:t,...a}){return o("div",{"data-slot":"card-title",className:e("leading-none font-semibold",t),...a})}r(u,"CardTitle");function f({className:t,...a}){return o("div",{"data-slot":"card-description",className:e("text-muted text-sm",t),...a})}r(f,"CardDescription");function m({className:t,...a}){return o("div",{"data-slot":"card-action",className:e("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...a})}r(m,"CardAction");function p({className:t,...a}){return o("div",{"data-slot":"card-content",className:e("px-6",t),...a})}r(p,"CardContent");function x({className:t,...a}){return o("div",{"data-slot":"card-footer",className:e("flex items-center px-6 [.border-t]:pt-6",t),...a})}r(x,"CardFooter");export{i as Card,m as CardAction,p as CardContent,f as CardDescription,x as CardFooter,l as CardHeader,u as CardTitle};
@@ -1,34 +1 @@
1
- var a = Object.defineProperty;
2
- var t = (r, e) => a(r, "name", { value: e, configurable: !0 });
3
- import { jsx as i } from "react/jsx-runtime";
4
- import { Checkbox as o } from "radix-ui";
5
- import { CheckIcon as n } from "lucide-react";
6
- import { cn as c } from "../lib/utils.js";
7
- function m({
8
- className: r,
9
- ...e
10
- }) {
11
- return /* @__PURE__ */ i(
12
- o.Root,
13
- {
14
- "data-slot": "checkbox",
15
- className: c(
16
- "bg-input peer border-input-border data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
17
- r
18
- ),
19
- ...e,
20
- children: /* @__PURE__ */ i(
21
- o.Indicator,
22
- {
23
- "data-slot": "checkbox-indicator",
24
- className: "flex items-center justify-center text-current transition-none",
25
- children: /* @__PURE__ */ i(n, { className: "size-3.5" })
26
- }
27
- )
28
- }
29
- );
30
- }
31
- t(m, "Checkbox");
32
- export {
33
- m as Checkbox
34
- };
1
+ var a=Object.defineProperty;var t=(r,e)=>a(r,"name",{value:e,configurable:!0});import{jsx as i}from"react/jsx-runtime";import{Checkbox as o}from"radix-ui";import{CheckIcon as n}from"lucide-react";import{cn as c}from"../lib/utils.js";function m({className:r,...e}){return i(o.Root,{"data-slot":"checkbox",className:c("bg-input peer border-input-border data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",r),...e,children:i(o.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:i(n,{className:"size-3.5"})})})}t(m,"Checkbox");export{m as Checkbox};
@@ -1,24 +1 @@
1
- var f = Object.defineProperty;
2
- var s = (i, t) => f(i, "name", { value: t, configurable: !0 });
3
- import { jsx as r, jsxs as d } from "react/jsx-runtime";
4
- import { ScaleLoader as m } from "react-spinners";
5
- import { Alert as h, AlertTitle as u } from "./alert.js";
6
- function j({
7
- errorPlaceholder: i,
8
- queries: t,
9
- loadingText: l = "Chargement",
10
- children: n
11
- }) {
12
- const a = /* @__PURE__ */ s((e) => {
13
- c ||= e.isPending || e.isRefetching, o ||= e.isError || e.isRefetchError;
14
- }, "checkQuery");
15
- let c = !1, o = !1;
16
- return t && Array.isArray(t) && t.forEach((e) => a(e)), c ? /* @__PURE__ */ r("div", { className: "min-h-[90px]", children: /* @__PURE__ */ r("div", { className: "flex items-center justify-center text-gray-500", children: /* @__PURE__ */ d("div", { className: "flex items-center justify-center flex-col", children: [
17
- /* @__PURE__ */ r(m, { color: "#405189" }),
18
- /* @__PURE__ */ r("div", { children: l })
19
- ] }) }) }) : o ? i ?? /* @__PURE__ */ r(h, { color: "destructive", children: /* @__PURE__ */ r(u, { children: "Une erreur est survenue lors du chargement des données." }) }) : typeof n == "function" ? n() : n;
20
- }
21
- s(j, "DataLoader");
22
- export {
23
- j as DataLoader
24
- };
1
+ var f=Object.defineProperty;var s=(i,t)=>f(i,"name",{value:t,configurable:!0});import{jsx as r,jsxs as d}from"react/jsx-runtime";import{ScaleLoader as m}from"react-spinners";import{Alert as h,AlertTitle as u}from"./alert.js";function j({errorPlaceholder:i,queries:t,loadingText:l="Chargement",children:n}){const a=s(e=>{c||=e.isPending||e.isRefetching,o||=e.isError||e.isRefetchError},"checkQuery");let c=!1,o=!1;return t&&Array.isArray(t)&&t.forEach(e=>a(e)),c?r("div",{className:"min-h-[90px]",children:r("div",{className:"flex items-center justify-center text-gray-500",children:d("div",{className:"flex items-center justify-center flex-col",children:[r(m,{color:"#405189"}),r("div",{children:l})]})})}):o?i??r(h,{color:"destructive",children:r(u,{children:"Une erreur est survenue lors du chargement des données."})}):typeof n=="function"?n():n}s(j,"DataLoader");export{j as DataLoader};
@@ -1,64 +1 @@
1
- var p = Object.defineProperty;
2
- var o = (i, t) => p(i, "name", { value: t, configurable: !0 });
3
- import { jsxs as a, jsx as r } from "react/jsx-runtime";
4
- import * as f from "react";
5
- import { Calendar as u } from "lucide-react";
6
- import { Calendar as h } from "./calendar.js";
7
- import { Popover as g, PopoverTrigger as x, PopoverContent as b } from "./popover.js";
8
- import { Button as v } from "./button.js";
9
- import { format as C } from "date-fns";
10
- import { fr as P } from "../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr.js";
11
- function z({
12
- placeholder: i = "Choisir une date",
13
- onChange: t,
14
- value: e,
15
- isClearable: s = !1,
16
- ...d
17
- }) {
18
- const [l, n] = f.useState(!1), c = /* @__PURE__ */ o((m) => {
19
- t?.(m || null), n(!1);
20
- }, "onSelect");
21
- return /* @__PURE__ */ a(g, { onOpenChange: n, open: l, children: [
22
- /* @__PURE__ */ r(x, { asChild: !0, children: /* @__PURE__ */ a(
23
- "button",
24
- {
25
- "data-empty": !e,
26
- ...d,
27
- className: "border-input-border flex items-center h-9 w-full min-w-0 rounded-md border bg-input px-3 py-1 text-base shadow-xs focus-visible:border-ring ring-ring/50 focus-visible:ring-[3px] data-[state=open]:ring-[3px] data-[state=open]:border-ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive! outline-none md:text-sm",
28
- children: [
29
- /* @__PURE__ */ r(u, { className: "mr-2 size-4" }),
30
- e ? /* @__PURE__ */ r("span", { children: C(e, "PPP", { locale: P }) }) : /* @__PURE__ */ r("span", { className: "text-placeholder", children: i })
31
- ]
32
- }
33
- ) }),
34
- /* @__PURE__ */ a(b, { align: "start", className: "w-auto p-0", children: [
35
- /* @__PURE__ */ r(
36
- h,
37
- {
38
- mode: "single",
39
- required: !0,
40
- selected: e || void 0,
41
- onSelect: c,
42
- defaultMonth: e || void 0,
43
- captionLayout: "dropdown"
44
- }
45
- ),
46
- e && s && /* @__PURE__ */ r("div", { className: "flex justify-center border-t", children: /* @__PURE__ */ r(
47
- v,
48
- {
49
- variant: "ghost",
50
- color: "dark",
51
- className: "flex w-full",
52
- onClick: /* @__PURE__ */ o(() => {
53
- t?.(null), n(!1);
54
- }, "onClick"),
55
- children: "Effacer"
56
- }
57
- ) })
58
- ] })
59
- ] });
60
- }
61
- o(z, "DatePicker");
62
- export {
63
- z as DatePicker
64
- };
1
+ var p=Object.defineProperty;var o=(i,t)=>p(i,"name",{value:t,configurable:!0});import{jsxs as a,jsx as r}from"react/jsx-runtime";import*as f from"react";import{Calendar as u}from"lucide-react";import{Calendar as h}from"./calendar.js";import{Popover as g,PopoverTrigger as x,PopoverContent as b}from"./popover.js";import{Button as v}from"./button.js";import{format as C}from"date-fns";import{fr as P}from"../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/fr.js";function z({placeholder:i="Choisir une date",onChange:t,value:e,isClearable:s=!1,...d}){const[l,n]=f.useState(!1),c=o(m=>{t?.(m||null),n(!1)},"onSelect");return a(g,{onOpenChange:n,open:l,children:[r(x,{asChild:!0,children:a("button",{"data-empty":!e,...d,className:"border-input-border flex items-center h-9 w-full min-w-0 rounded-md border bg-input px-3 py-1 text-base shadow-xs focus-visible:border-ring ring-ring/50 focus-visible:ring-[3px] data-[state=open]:ring-[3px] data-[state=open]:border-ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive! outline-none md:text-sm",children:[r(u,{className:"mr-2 size-4"}),e?r("span",{children:C(e,"PPP",{locale:P})}):r("span",{className:"text-placeholder",children:i})]})}),a(b,{align:"start",className:"w-auto p-0",children:[r(h,{mode:"single",required:!0,selected:e||void 0,onSelect:c,defaultMonth:e||void 0,captionLayout:"dropdown"}),e&&s&&r("div",{className:"flex justify-center border-t",children:r(v,{variant:"ghost",color:"dark",className:"flex w-full",onClick:o(()=>{t?.(null),n(!1)},"onClick"),children:"Effacer"})})]})]})}o(z,"DatePicker");export{z as DatePicker};
@@ -1,145 +1 @@
1
- var d = Object.defineProperty;
2
- var e = (t, a) => d(t, "name", { value: a, configurable: !0 });
3
- import { jsx as o, jsxs as i } from "react/jsx-runtime";
4
- import { Dialog as l } from "radix-ui";
5
- import { XIcon as c } from "lucide-react";
6
- import { cn as n } from "../lib/utils.js";
7
- function D({
8
- ...t
9
- }) {
10
- return /* @__PURE__ */ o(l.Root, { "data-slot": "dialog", ...t });
11
- }
12
- e(D, "Dialog");
13
- function h({
14
- ...t
15
- }) {
16
- return /* @__PURE__ */ o(l.Trigger, { "data-slot": "dialog-trigger", ...t });
17
- }
18
- e(h, "DialogTrigger");
19
- function g({
20
- ...t
21
- }) {
22
- return /* @__PURE__ */ o(l.Portal, { "data-slot": "dialog-portal", ...t });
23
- }
24
- e(g, "DialogPortal");
25
- function b({
26
- ...t
27
- }) {
28
- return /* @__PURE__ */ o(l.Close, { "data-slot": "dialog-close", ...t });
29
- }
30
- e(b, "DialogClose");
31
- function u({
32
- className: t,
33
- ...a
34
- }) {
35
- return /* @__PURE__ */ o(
36
- l.Overlay,
37
- {
38
- "data-slot": "dialog-overlay",
39
- className: n(
40
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 overflow-auto",
41
- t
42
- ),
43
- ...a
44
- }
45
- );
46
- }
47
- e(u, "DialogOverlay");
48
- function y({
49
- className: t,
50
- children: a,
51
- showCloseButton: s = !0,
52
- ...r
53
- }) {
54
- return /* @__PURE__ */ o(g, { "data-slot": "dialog-portal", children: /* @__PURE__ */ o(u, { children: /* @__PURE__ */ i(
55
- l.Content,
56
- {
57
- "data-slot": "dialog-content",
58
- className: n(
59
- "relative bg-card data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-50 grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg mx-auto my-10",
60
- t
61
- ),
62
- ...r,
63
- children: [
64
- a,
65
- s && /* @__PURE__ */ i(
66
- l.Close,
67
- {
68
- "data-slot": "dialog-close",
69
- className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
70
- children: [
71
- /* @__PURE__ */ o(c, {}),
72
- /* @__PURE__ */ o("span", { className: "sr-only", children: "Close" })
73
- ]
74
- }
75
- )
76
- ]
77
- }
78
- ) }) });
79
- }
80
- e(y, "DialogContent");
81
- function N({ className: t, ...a }) {
82
- return /* @__PURE__ */ o(
83
- "div",
84
- {
85
- "data-slot": "dialog-header",
86
- className: n("flex flex-col gap-2 text-center sm:text-left", t),
87
- ...a
88
- }
89
- );
90
- }
91
- e(N, "DialogHeader");
92
- function w({ className: t, ...a }) {
93
- return /* @__PURE__ */ o(
94
- "div",
95
- {
96
- "data-slot": "dialog-footer",
97
- className: n(
98
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
99
- t
100
- ),
101
- ...a
102
- }
103
- );
104
- }
105
- e(w, "DialogFooter");
106
- function z({
107
- className: t,
108
- ...a
109
- }) {
110
- return /* @__PURE__ */ o(
111
- l.Title,
112
- {
113
- "data-slot": "dialog-title",
114
- className: n("text-lg leading-none font-semibold", t),
115
- ...a
116
- }
117
- );
118
- }
119
- e(z, "DialogTitle");
120
- function C({
121
- className: t,
122
- ...a
123
- }) {
124
- return /* @__PURE__ */ o(
125
- l.Description,
126
- {
127
- "data-slot": "dialog-description",
128
- className: n("text-muted text-sm", t),
129
- ...a
130
- }
131
- );
132
- }
133
- e(C, "DialogDescription");
134
- export {
135
- D as Dialog,
136
- b as DialogClose,
137
- y as DialogContent,
138
- C as DialogDescription,
139
- w as DialogFooter,
140
- N as DialogHeader,
141
- u as DialogOverlay,
142
- g as DialogPortal,
143
- z as DialogTitle,
144
- h as DialogTrigger
145
- };
1
+ var d=Object.defineProperty;var e=(t,a)=>d(t,"name",{value:a,configurable:!0});import{jsx as o,jsxs as i}from"react/jsx-runtime";import{Dialog as l}from"radix-ui";import{XIcon as c}from"lucide-react";import{cn as n}from"../lib/utils.js";function D({...t}){return o(l.Root,{"data-slot":"dialog",...t})}e(D,"Dialog");function h({...t}){return o(l.Trigger,{"data-slot":"dialog-trigger",...t})}e(h,"DialogTrigger");function g({...t}){return o(l.Portal,{"data-slot":"dialog-portal",...t})}e(g,"DialogPortal");function b({...t}){return o(l.Close,{"data-slot":"dialog-close",...t})}e(b,"DialogClose");function u({className:t,...a}){return o(l.Overlay,{"data-slot":"dialog-overlay",className:n("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 overflow-auto",t),...a})}e(u,"DialogOverlay");function y({className:t,children:a,showCloseButton:s=!0,...r}){return o(g,{"data-slot":"dialog-portal",children:o(u,{children:i(l.Content,{"data-slot":"dialog-content",className:n("relative bg-card data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 z-50 grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg mx-auto my-10",t),...r,children:[a,s&&i(l.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[o(c,{}),o("span",{className:"sr-only",children:"Close"})]})]})})})}e(y,"DialogContent");function N({className:t,...a}){return o("div",{"data-slot":"dialog-header",className:n("flex flex-col gap-2 text-center sm:text-left",t),...a})}e(N,"DialogHeader");function w({className:t,...a}){return o("div",{"data-slot":"dialog-footer",className:n("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}e(w,"DialogFooter");function z({className:t,...a}){return o(l.Title,{"data-slot":"dialog-title",className:n("text-lg leading-none font-semibold",t),...a})}e(z,"DialogTitle");function C({className:t,...a}){return o(l.Description,{"data-slot":"dialog-description",className:n("text-muted text-sm",t),...a})}e(C,"DialogDescription");export{D as Dialog,b as DialogClose,y as DialogContent,C as DialogDescription,w as DialogFooter,N as DialogHeader,u as DialogOverlay,g as DialogPortal,z as DialogTitle,h as DialogTrigger};