@yuno-payments/dashboard-design-system 0.0.170 → 0.0.172

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 (161) hide show
  1. package/dist/components/atoms/access-denied-alert/access-denied-alert.d.ts +16 -0
  2. package/dist/components/atoms/accordion/accordion.d.ts +66 -0
  3. package/dist/components/atoms/alert/alert.d.ts +26 -1
  4. package/dist/components/atoms/alert/alert.js +9 -8
  5. package/dist/components/atoms/avatar/avatar-group.d.ts +28 -0
  6. package/dist/components/atoms/avatar/avatar.d.ts +25 -0
  7. package/dist/components/atoms/avatar/avatar.js +9 -9
  8. package/dist/components/atoms/badge/badge.d.ts +30 -2
  9. package/dist/components/atoms/badge/badge.js +27 -11
  10. package/dist/components/atoms/button/button.d.ts +44 -0
  11. package/dist/components/atoms/card/card.d.ts +137 -3
  12. package/dist/components/atoms/card/card.js +56 -28
  13. package/dist/components/atoms/checkbox/checkbox.d.ts +38 -2
  14. package/dist/components/atoms/checkbox/checkbox.js +61 -27
  15. package/dist/components/atoms/combobox/combobox.d.ts +18 -0
  16. package/dist/components/atoms/combobox/combobox.js +41 -41
  17. package/dist/components/atoms/combobox/types.d.ts +90 -1
  18. package/dist/components/atoms/currency-field/currency-field.d.ts +38 -0
  19. package/dist/components/atoms/currency-field/currency-field.js +22 -19
  20. package/dist/components/atoms/date-picker/date-picker.d.ts +15 -0
  21. package/dist/components/atoms/date-range-picker/date-range-picker.d.ts +15 -0
  22. package/dist/components/atoms/dots-menu/dots-menu.d.ts +16 -0
  23. package/dist/components/atoms/dots-menu/dots-menu.js +8 -8
  24. package/dist/components/atoms/dots-menu/dots-menu.types.d.ts +52 -0
  25. package/dist/components/atoms/dropdown-menu/dropdown-menu.d.ts +50 -0
  26. package/dist/components/atoms/field/field.d.ts +55 -0
  27. package/dist/components/atoms/field/field.js +53 -46
  28. package/dist/components/atoms/filter/filter-date-range.d.ts +12 -2
  29. package/dist/components/atoms/filter/filter-date-range.js +203 -168
  30. package/dist/components/atoms/filter/filter.d.ts +6 -0
  31. package/dist/components/atoms/filter/filter.js +91 -76
  32. package/dist/components/atoms/filter/index.d.ts +1 -1
  33. package/dist/components/atoms/filter-dropdown/filter-dropdown.d.ts +208 -2
  34. package/dist/components/atoms/filter-dropdown/filter-dropdown.js +214 -160
  35. package/dist/components/atoms/icon/aida-logo.d.ts +3 -0
  36. package/dist/components/atoms/icon/aida-logo.js +64 -0
  37. package/dist/components/atoms/icon/icon-list.d.ts +5 -0
  38. package/dist/components/atoms/icon/icon-list.js +394 -384
  39. package/dist/components/atoms/icon/icon.d.ts +29 -0
  40. package/dist/components/atoms/index.d.ts +3 -2
  41. package/dist/components/atoms/label/index.d.ts +1 -1
  42. package/dist/components/atoms/label/label.d.ts +11 -0
  43. package/dist/components/atoms/label/label.js +28 -0
  44. package/dist/components/atoms/link/link.d.ts +20 -0
  45. package/dist/components/atoms/loading/index.d.ts +1 -0
  46. package/dist/components/atoms/loading/loading.d.ts +39 -0
  47. package/dist/components/atoms/loading/loading.js +37 -0
  48. package/dist/components/atoms/multi-select/multi-select.d.ts +1 -1
  49. package/dist/components/atoms/multi-select/multi-select.js +6 -6
  50. package/dist/components/atoms/multi-values-field/multi-values-field.d.ts +16 -0
  51. package/dist/components/atoms/multi-values-field/multi-values-field.js +109 -87
  52. package/dist/components/atoms/multi-values-field/multi-values-field.types.d.ts +81 -0
  53. package/dist/components/atoms/otp-field/otp-field.d.ts +32 -0
  54. package/dist/components/atoms/password-field/password-field.d.ts +23 -0
  55. package/dist/components/atoms/password-field/password-field.js +1 -1
  56. package/dist/components/atoms/progress/progress.d.ts +15 -0
  57. package/dist/components/atoms/protected-field/protected-field.d.ts +10 -0
  58. package/dist/components/atoms/protected-field/protected-field.types.d.ts +14 -0
  59. package/dist/components/atoms/radio-group/radio-group-option.js +11 -11
  60. package/dist/components/atoms/radio-group/radio-group.d.ts +50 -1
  61. package/dist/components/atoms/radio-group/radio-group.js +13 -12
  62. package/dist/components/atoms/search-field/search-field.d.ts +14 -0
  63. package/dist/components/atoms/search-field/search-field.js +17 -17
  64. package/dist/components/atoms/search-field/search-field.types.d.ts +57 -0
  65. package/dist/components/atoms/select/index.d.ts +2 -0
  66. package/dist/components/atoms/select/search-select.d.ts +22 -0
  67. package/dist/components/atoms/select/search-select.js +201 -0
  68. package/dist/components/atoms/select/select.d.ts +83 -1
  69. package/dist/components/atoms/select/select.js +21 -21
  70. package/dist/components/atoms/separator/separator.d.ts +17 -0
  71. package/dist/components/atoms/skeleton/index.d.ts +9 -0
  72. package/dist/components/atoms/switch/switch.d.ts +56 -2
  73. package/dist/components/atoms/switch/switch.js +64 -32
  74. package/dist/components/atoms/tabs/index.d.ts +16 -0
  75. package/dist/components/atoms/textarea/textarea.d.ts +32 -0
  76. package/dist/components/atoms/textarea/textarea.js +1 -1
  77. package/dist/components/atoms/time-picker/time-picker.d.ts +73 -2
  78. package/dist/components/atoms/time-picker/time-picker.js +218 -3
  79. package/dist/components/atoms/toaster/index.d.ts +15 -0
  80. package/dist/components/atoms/toggle-group/toggle-group.d.ts +26 -1
  81. package/dist/components/atoms/toggle-group/toggle-group.js +15 -14
  82. package/dist/components/atoms/tooltip/tooltip.d.ts +53 -2
  83. package/dist/components/atoms/typography/typography.d.ts +18 -0
  84. package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +50 -0
  85. package/dist/components/molecules/breadcrumb/breadcrumb.js +17 -17
  86. package/dist/components/molecules/dialog-content/dialog-content.d.ts +16 -0
  87. package/dist/components/molecules/dialog-footer/dialog-footer.d.ts +20 -0
  88. package/dist/components/molecules/dialog-header/dialog-header.d.ts +31 -0
  89. package/dist/components/molecules/empty/empty-icon.js +6 -6
  90. package/dist/components/molecules/empty/empty.d.ts +16 -1
  91. package/dist/components/molecules/empty/empty.js +37 -34
  92. package/dist/components/molecules/highlight-banner/highlight-banner.d.ts +17 -0
  93. package/dist/components/molecules/pagination/pagination.d.ts +49 -0
  94. package/dist/components/organisms/data-table/components/cells/data-table-list-cell.d.ts +41 -0
  95. package/dist/components/organisms/data-table/components/column-header/data-table-column-header-content.js +1 -1
  96. package/dist/components/organisms/data-table/components/column-header/data-table-column-header-menu.js +18 -18
  97. package/dist/components/organisms/data-table/components/column-header/data-table-column-header.d.ts +18 -0
  98. package/dist/components/organisms/data-table/components/column-header/data-table-column-header.js +10 -10
  99. package/dist/components/organisms/data-table/components/data-table-body.d.ts +18 -0
  100. package/dist/components/organisms/data-table/components/data-table-header.d.ts +12 -0
  101. package/dist/components/organisms/data-table/components/data-table-header.js +7 -7
  102. package/dist/components/organisms/data-table/components/states/data-table-loading.d.ts +24 -0
  103. package/dist/components/organisms/data-table/components/states/data-table-loading.js +6 -6
  104. package/dist/components/organisms/data-table/data-table.d.ts +133 -4
  105. package/dist/components/organisms/data-table/data-table.js +132 -100
  106. package/dist/components/organisms/data-table/data-table.types.d.ts +35 -26
  107. package/dist/components/organisms/data-table/hooks/use-data-table-columns.js +57 -41
  108. package/dist/components/organisms/data-table/hooks/use-data-table-state.d.ts +8 -2
  109. package/dist/components/organisms/data-table/hooks/use-data-table-state.js +82 -47
  110. package/dist/components/organisms/data-table/utils/data-table-constants.d.ts +8 -2
  111. package/dist/components/organisms/data-table/utils/data-table-constants.js +16 -10
  112. package/dist/components/organisms/data-table/utils/data-table-styles.d.ts +1652 -0
  113. package/dist/components/organisms/data-table/utils/data-table-styles.js +29 -14
  114. package/dist/components/organisms/dialog/dialog.d.ts +67 -1
  115. package/dist/components/organisms/dialog/dialog.js +78 -61
  116. package/dist/components/organisms/index.d.ts +2 -0
  117. package/dist/components/organisms/sheet/sheet.d.ts +69 -0
  118. package/dist/components/organisms/sheet/sheet.js +34 -33
  119. package/dist/components/organisms/tutorial/index.d.ts +2 -0
  120. package/dist/components/organisms/tutorial/tutorial.d.ts +16 -0
  121. package/dist/components/organisms/tutorial/tutorial.js +114 -0
  122. package/dist/components/organisms/tutorial/tutorial.types.d.ts +15 -0
  123. package/dist/hooks/index.d.ts +3 -0
  124. package/dist/hooks/use-body-scroll-lock.d.ts +13 -0
  125. package/dist/hooks/use-escape-key.d.ts +14 -0
  126. package/dist/hooks/use-media-query.d.ts +20 -0
  127. package/dist/hooks/use-media-query.js +21 -0
  128. package/dist/index.css +1 -1
  129. package/dist/index.d.ts +2 -0
  130. package/dist/index.js +173 -162
  131. package/dist/lib/notification-alert.d.ts +42 -0
  132. package/dist/lib/notification-alert.js +75 -0
  133. package/dist/node_modules/@phosphor-icons/react/dist/csr/File.es.js +8 -0
  134. package/dist/node_modules/@phosphor-icons/react/dist/csr/Microphone.es.js +8 -0
  135. package/dist/node_modules/@phosphor-icons/react/dist/csr/Stop.es.js +8 -0
  136. package/dist/node_modules/@phosphor-icons/react/dist/csr/Table.es.js +8 -0
  137. package/dist/node_modules/@phosphor-icons/react/dist/defs/File.es.js +30 -0
  138. package/dist/node_modules/@phosphor-icons/react/dist/defs/Microphone.es.js +36 -0
  139. package/dist/node_modules/@phosphor-icons/react/dist/defs/Stop.es.js +36 -0
  140. package/dist/node_modules/@phosphor-icons/react/dist/defs/Table.es.js +30 -0
  141. package/dist/vendor/shadcn/avatar.js +19 -19
  142. package/dist/vendor/shadcn/badge.js +15 -15
  143. package/dist/vendor/shadcn/card.js +7 -7
  144. package/dist/vendor/shadcn/date-picker.d.ts +2 -2
  145. package/dist/vendor/shadcn/date-picker.js +1 -1
  146. package/dist/vendor/shadcn/date-range-picker.d.ts +2 -2
  147. package/dist/vendor/shadcn/date-range-picker.js +1 -1
  148. package/dist/vendor/shadcn/dialog.js +2 -2
  149. package/dist/vendor/shadcn/input-group.js +17 -17
  150. package/dist/vendor/shadcn/input.js +7 -7
  151. package/dist/vendor/shadcn/popover.js +1 -1
  152. package/dist/vendor/shadcn/select.js +2 -2
  153. package/dist/vendor/shadcn/sonner.d.ts +26 -1
  154. package/dist/vendor/shadcn/sonner.js +12 -8
  155. package/dist/vendor/shadcn/table.js +30 -30
  156. package/dist/vendor/shadcn/textarea.js +9 -9
  157. package/dist/vendor/shadcn/time-picker.d.ts +1 -2
  158. package/dist/vendor/shadcn/time-picker.js +17 -23
  159. package/dist/vendor/shadcn/toggle.js +13 -13
  160. package/dist/vendor/shadcn/tooltip.js +25 -15
  161. package/package.json +1 -1
@@ -3,12 +3,44 @@ import { VariantProps } from 'class-variance-authority';
3
3
  declare const textareaWrapperVariants: (props?: ({
4
4
  layout?: "horizontal" | "vertical" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ /**
7
+ * Props for the Textarea component
8
+ */
6
9
  export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "className">, VariantProps<typeof textareaWrapperVariants> {
10
+ /**
11
+ * Label text displayed above or next to the textarea
12
+ */
7
13
  label?: string;
14
+ /**
15
+ * Helper text displayed below the textarea
16
+ */
8
17
  description?: string;
18
+ /**
19
+ * Error message displayed below the textarea (overrides description)
20
+ */
9
21
  error?: string;
22
+ /**
23
+ * Additional CSS classes for the container
24
+ */
10
25
  className?: string;
26
+ /**
27
+ * Additional props to pass to the textarea element
28
+ */
11
29
  textareaProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;
12
30
  }
31
+ /**
32
+ * Multiline text input component with label, description, and error handling.
33
+ * Supports vertical and horizontal layouts.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <Textarea
38
+ * label="Comments"
39
+ * placeholder="Enter your comments..."
40
+ * description="Max 500 characters"
41
+ * rows={4}
42
+ * />
43
+ * ```
44
+ */
13
45
  declare const Textarea: import('react').ForwardRefExoticComponent<TextareaProps & import('react').RefAttributes<HTMLTextAreaElement>>;
14
46
  export { Textarea };
@@ -3,7 +3,7 @@ import { forwardRef as p, useId as h } from "react";
3
3
  import { cva as d } from "../../../node_modules/class-variance-authority/dist/index.js";
4
4
  import { Textarea as j } from "../../../vendor/shadcn/textarea.js";
5
5
  import { cn as s } from "../../../lib/utils.js";
6
- import { Label as N } from "../../../vendor/shadcn/label.js";
6
+ import { Label as N } from "../label/label.js";
7
7
  const b = d("flex gap-2 w-full", {
8
8
  variants: {
9
9
  layout: {
@@ -1,4 +1,75 @@
1
1
  import { TimePickerProps as TimePickerPrimitiveProps } from '../../../vendor/shadcn/time-picker';
2
- export type TimePickerProps = TimePickerPrimitiveProps;
3
- declare const TimePicker: import('react').ForwardRefExoticComponent<TimePickerPrimitiveProps & import('react').RefAttributes<HTMLInputElement>>;
2
+ import * as React from "react";
3
+ /**
4
+ * Props for the TimePicker component
5
+ */
6
+ export interface TimePickerProps extends Omit<TimePickerPrimitiveProps, "onChange"> {
7
+ /**
8
+ * Label text displayed above the input
9
+ */
10
+ label?: string;
11
+ /**
12
+ * Error message displayed below the input
13
+ */
14
+ error?: string;
15
+ /**
16
+ * Helper text displayed below the input
17
+ */
18
+ description?: string;
19
+ /**
20
+ * Layout orientation
21
+ * @default "vertical"
22
+ */
23
+ orientation?: "vertical" | "horizontal" | "responsive";
24
+ /**
25
+ * Callback fired when the time value changes
26
+ */
27
+ onChange?: (value: string) => void;
28
+ /**
29
+ * Picker mode
30
+ * - "native": HTML5 native input (default)
31
+ * - "dropdown": Custom dropdown with columns
32
+ * @default "native"
33
+ */
34
+ mode?: "native" | "dropdown";
35
+ /**
36
+ * Minute intervals (only for mode="dropdown")
37
+ * 0 = all minutes, 15 = every 15 minutes, etc.
38
+ * @default 0
39
+ */
40
+ divisorMinutes?: number;
41
+ /**
42
+ * Width of the picker (only for mode="dropdown")
43
+ * @default 140
44
+ */
45
+ width?: number | string;
46
+ /**
47
+ * Use 24-hour format (military time) instead of 12-hour with AM/PM
48
+ * @default false
49
+ */
50
+ use24Hour?: boolean;
51
+ }
52
+ /**
53
+ * Time input picker with label, description, and error handling.
54
+ * Supports two modes: native HTML5 input or custom dropdown.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * // Native mode (default)
59
+ * <TimePicker
60
+ * label="Select time"
61
+ * value={time}
62
+ * onChange={(value) => setTime(value)}
63
+ * />
64
+ *
65
+ * // Dropdown mode with 15-minute intervals
66
+ * <TimePicker
67
+ * mode="dropdown"
68
+ * divisorMinutes={15}
69
+ * value={time}
70
+ * onChange={(value) => setTime(value)}
71
+ * />
72
+ * ```
73
+ */
74
+ declare const TimePicker: React.ForwardRefExoticComponent<TimePickerProps & React.RefAttributes<HTMLInputElement>>;
4
75
  export { TimePicker };
@@ -1,5 +1,220 @@
1
- import { TimePicker as e } from "../../../vendor/shadcn/time-picker.js";
2
- const r = e;
1
+ import { j as r } from "../../../_virtual/jsx-runtime.js";
2
+ import * as G from "react";
3
+ import { useId as J, useState as $, useRef as C, useEffect as E } from "react";
4
+ import { cn as c } from "../../../lib/utils.js";
5
+ import { Icon as K } from "../icon/icon.js";
6
+ import { TimePicker as Q } from "../../../vendor/shadcn/time-picker.js";
7
+ import { Field as R, FieldLabel as T, FieldDescription as O, FieldError as _ } from "../../../vendor/shadcn/field.js";
8
+ const X = Array.from({ length: 12 }, (e, n) => n + 1), Y = Array.from({ length: 24 }, (e, n) => n), Z = ["AM", "PM"], H = (e) => {
9
+ if (e === 0)
10
+ return Array.from({ length: 60 }, (o, i) => i);
11
+ const n = 60 / e;
12
+ return Array.from({ length: n }, (o, i) => i * e);
13
+ }, d = (e) => e.toString().padStart(2, "0"), ee = (e) => {
14
+ const n = e >= 12 ? "PM" : "AM";
15
+ return { hour: e === 0 ? 12 : e > 12 ? e - 12 : e, meridiem: n };
16
+ }, te = (e, n) => e === 12 ? n === "AM" ? 0 : 12 : n === "PM" ? e + 12 : e, re = G.forwardRef(
17
+ ({
18
+ className: e,
19
+ label: n,
20
+ error: o,
21
+ description: i,
22
+ orientation: x = "vertical",
23
+ id: m,
24
+ onChange: f,
25
+ mode: y = "native",
26
+ divisorMinutes: j = 0,
27
+ width: s = 140,
28
+ value: l,
29
+ disabled: p,
30
+ use24Hour: w = !1,
31
+ ...h
32
+ }, P) => {
33
+ const S = J(), u = m || S, v = !!o;
34
+ if (y === "native") {
35
+ const k = /* @__PURE__ */ r.jsx(
36
+ Q,
37
+ {
38
+ ref: P,
39
+ id: u,
40
+ value: l,
41
+ disabled: p,
42
+ className: c(
43
+ v && "border-destructive focus-visible:border-destructive",
44
+ !(n || o || i) && e
45
+ ),
46
+ "aria-invalid": v ? !0 : void 0,
47
+ "aria-describedby": i || o ? `${u}-description` : void 0,
48
+ ...h,
49
+ onChange: (a) => {
50
+ f?.(a.target.value);
51
+ }
52
+ }
53
+ );
54
+ return n || o || i ? /* @__PURE__ */ r.jsxs(
55
+ R,
56
+ {
57
+ orientation: x,
58
+ "data-invalid": v,
59
+ className: c("w-full", e),
60
+ children: [
61
+ n && /* @__PURE__ */ r.jsx(T, { htmlFor: u, children: n }),
62
+ /* @__PURE__ */ r.jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [
63
+ k,
64
+ i && !o && /* @__PURE__ */ r.jsx(O, { id: `${u}-description`, children: i }),
65
+ o && /* @__PURE__ */ r.jsx(_, { id: `${u}-description`, children: o })
66
+ ] })
67
+ ]
68
+ }
69
+ ) : k;
70
+ }
71
+ return /* @__PURE__ */ r.jsx(
72
+ ne,
73
+ {
74
+ value: l || (w ? "00:00" : "12:00"),
75
+ onChange: f,
76
+ divisorMinutes: j,
77
+ width: s,
78
+ label: n,
79
+ error: o,
80
+ description: i,
81
+ disabled: p,
82
+ className: e,
83
+ use24Hour: w
84
+ }
85
+ );
86
+ }
87
+ );
88
+ re.displayName = "TimePicker";
89
+ const ne = ({
90
+ value: e,
91
+ onChange: n,
92
+ divisorMinutes: o,
93
+ width: i,
94
+ label: x,
95
+ error: m,
96
+ description: f,
97
+ disabled: y,
98
+ className: j,
99
+ use24Hour: s = !1
100
+ }) => {
101
+ const [l, p] = $(!1), w = C(null), h = C(null), P = (t) => {
102
+ const [g, B] = t.split(":"), N = parseInt(g, 10) || 0, A = parseInt(B, 10) || 0;
103
+ if (s)
104
+ return { hour24: N, minute: A, hour: N, meridiem: "AM" };
105
+ const { hour: W, meridiem: q } = ee(N);
106
+ return { hour24: N, minute: A, hour: W, meridiem: q };
107
+ }, { hour: S, hour24: u, minute: v, meridiem: k } = P(e), [a, D] = $(s ? u : S), [b, F] = $(v), [M, L] = $(k), U = H(o);
108
+ E(() => {
109
+ let t;
110
+ s ? t = a : t = te(a, M);
111
+ const g = `${d(t)}:${d(b)}`;
112
+ n?.(g);
113
+ }, [a, b, M, n, s]), E(() => {
114
+ const t = (g) => {
115
+ h.current && !h.current.contains(g.target) && p(!1);
116
+ };
117
+ if (l)
118
+ return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
119
+ }, [l]);
120
+ const V = s ? `${d(a)}:${d(b)}` : `${d(a)}:${d(b)} ${M}`, z = s ? Y : X, I = /* @__PURE__ */ r.jsxs(
121
+ "div",
122
+ {
123
+ ref: h,
124
+ className: c("relative inline-block", j),
125
+ style: { width: typeof i == "number" ? `${i}px` : i },
126
+ children: [
127
+ /* @__PURE__ */ r.jsxs(
128
+ "button",
129
+ {
130
+ type: "button",
131
+ disabled: y,
132
+ onClick: () => !y && p(!l),
133
+ className: c(
134
+ "flex items-center justify-between w-full h-9 px-3 py-2",
135
+ "text-sm rounded-md border border-input bg-background",
136
+ "hover:bg-accent hover:text-accent-foreground",
137
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
138
+ "disabled:cursor-not-allowed disabled:opacity-50",
139
+ m && "border-destructive"
140
+ ),
141
+ children: [
142
+ /* @__PURE__ */ r.jsx("span", { children: V }),
143
+ /* @__PURE__ */ r.jsx(
144
+ K,
145
+ {
146
+ name: l ? "CaretUp" : "CaretDown",
147
+ size: "sm",
148
+ className: "ml-2"
149
+ }
150
+ )
151
+ ]
152
+ }
153
+ ),
154
+ l && /* @__PURE__ */ r.jsxs(
155
+ "div",
156
+ {
157
+ ref: w,
158
+ className: c(
159
+ "absolute z-50 mt-1 bg-popover border border-border rounded-md shadow-lg",
160
+ "flex divide-x divide-border"
161
+ ),
162
+ style: { width: "fit-content", minWidth: s ? "140px" : "200px" },
163
+ children: [
164
+ /* @__PURE__ */ r.jsx("div", { className: "flex flex-col overflow-y-auto max-h-[200px] min-w-[60px]", children: z.map((t) => /* @__PURE__ */ r.jsx(
165
+ "button",
166
+ {
167
+ type: "button",
168
+ onClick: () => D(t),
169
+ className: c(
170
+ "px-3 py-2 text-sm text-left hover:bg-accent",
171
+ a === t && "bg-primary text-primary-foreground hover:bg-primary"
172
+ ),
173
+ children: d(t)
174
+ },
175
+ t
176
+ )) }),
177
+ /* @__PURE__ */ r.jsx("div", { className: "flex flex-col overflow-y-auto max-h-[200px] min-w-[60px]", children: U.map((t) => /* @__PURE__ */ r.jsx(
178
+ "button",
179
+ {
180
+ type: "button",
181
+ onClick: () => F(t),
182
+ className: c(
183
+ "px-3 py-2 text-sm text-left hover:bg-accent",
184
+ b === t && "bg-primary text-primary-foreground hover:bg-primary"
185
+ ),
186
+ children: d(t)
187
+ },
188
+ t
189
+ )) }),
190
+ !s && /* @__PURE__ */ r.jsx("div", { className: "flex flex-col min-w-[60px]", children: Z.map((t) => /* @__PURE__ */ r.jsx(
191
+ "button",
192
+ {
193
+ type: "button",
194
+ onClick: () => L(t),
195
+ className: c(
196
+ "px-3 py-2 text-sm text-left hover:bg-accent",
197
+ M === t && "bg-primary text-primary-foreground hover:bg-primary"
198
+ ),
199
+ children: t
200
+ },
201
+ t
202
+ )) })
203
+ ]
204
+ }
205
+ )
206
+ ]
207
+ }
208
+ );
209
+ return x || m || f ? /* @__PURE__ */ r.jsxs(R, { orientation: "vertical", className: c("w-full", j), children: [
210
+ x && /* @__PURE__ */ r.jsx(T, { children: x }),
211
+ /* @__PURE__ */ r.jsxs("div", { className: "flex flex-col gap-2 flex-1", children: [
212
+ I,
213
+ f && !m && /* @__PURE__ */ r.jsx(O, { children: f }),
214
+ m && /* @__PURE__ */ r.jsx(_, { children: m })
215
+ ] })
216
+ ] }) : I;
217
+ };
3
218
  export {
4
- r as TimePicker
219
+ re as TimePicker
5
220
  };
@@ -1 +1,16 @@
1
+ /**
2
+ * Toast notification container component (based on Sonner).
3
+ * Place once at root level to enable toast notifications globally.
4
+ * Use with toast() function from sonner.
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * // In root layout:
9
+ * <Toaster />
10
+ *
11
+ * // Anywhere in app:
12
+ * import { toast } from 'sonner';
13
+ * toast.success('Operation successful!');
14
+ * ```
15
+ */
1
16
  export { Toaster } from '../../../vendor/shadcn/sonner';
@@ -2,10 +2,35 @@ import { ToggleGroup as ShadcnToggleGroup, ToggleGroupItem as ShadcnToggleGroupI
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import { toggleVariants } from '../../../vendor/shadcn/toggle';
4
4
  import * as React from "react";
5
- export interface ToggleGroupProps extends React.ComponentPropsWithoutRef<typeof ShadcnToggleGroup>, VariantProps<typeof toggleVariants> {
5
+ /**
6
+ * Props for the ToggleGroup component
7
+ */
8
+ export interface ToggleGroupProps extends Omit<React.ComponentPropsWithoutRef<typeof ShadcnToggleGroup>, "onValueChange">, VariantProps<typeof toggleVariants> {
9
+ /**
10
+ * Callback fired when the selected value changes
11
+ */
12
+ onChange?: (value: string) => void;
6
13
  }
14
+ /**
15
+ * Props for the ToggleGroupItem component
16
+ */
7
17
  export interface ToggleGroupItemProps extends React.ComponentPropsWithoutRef<typeof ShadcnToggleGroupItem>, VariantProps<typeof toggleVariants> {
8
18
  }
19
+ /**
20
+ * Group of toggle buttons for single or multiple selection.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <ToggleGroup type="single" value={selected} onChange={setSelected}>
25
+ * <ToggleGroupItem value="left">Left</ToggleGroupItem>
26
+ * <ToggleGroupItem value="center">Center</ToggleGroupItem>
27
+ * <ToggleGroupItem value="right">Right</ToggleGroupItem>
28
+ * </ToggleGroup>
29
+ * ```
30
+ */
9
31
  declare const ToggleGroup: React.ForwardRefExoticComponent<ToggleGroupProps & React.RefAttributes<HTMLDivElement>>;
32
+ /**
33
+ * Individual toggle button within a ToggleGroup
34
+ */
10
35
  declare const ToggleGroupItem: React.ForwardRefExoticComponent<ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
11
36
  export { ToggleGroup, ToggleGroupItem };
@@ -1,32 +1,33 @@
1
- import { j as s } from "../../../_virtual/jsx-runtime.js";
2
- import * as a from "react";
3
- import { ToggleGroup as l, ToggleGroupItem as u } from "../../../vendor/shadcn/toggle-group.js";
1
+ import { j as p } from "../../../_virtual/jsx-runtime.js";
2
+ import * as s from "react";
3
+ import { ToggleGroup as u, ToggleGroupItem as f } from "../../../vendor/shadcn/toggle-group.js";
4
4
  import { cn as t } from "../../../lib/utils.js";
5
- const f = a.forwardRef(({ className: o, variant: r, size: e, children: m, ...g }, p) => /* @__PURE__ */ s.jsx(
6
- l,
5
+ const n = s.forwardRef(({ className: o, variant: r, size: e, children: a, onChange: g, ...m }, l) => /* @__PURE__ */ p.jsx(
6
+ u,
7
7
  {
8
- ref: p,
8
+ ref: l,
9
9
  className: t(o),
10
10
  variant: r,
11
11
  size: e,
12
- ...g,
13
- children: m
12
+ onValueChange: g,
13
+ ...m,
14
+ children: a
14
15
  }
15
16
  ));
16
- f.displayName = "ToggleGroup";
17
- const G = a.forwardRef(({ className: o, variant: r, size: e, children: m, ...g }, p) => /* @__PURE__ */ s.jsx(
18
- u,
17
+ n.displayName = "ToggleGroup";
18
+ const G = s.forwardRef(({ className: o, variant: r, size: e, children: a, ...g }, m) => /* @__PURE__ */ p.jsx(
19
+ f,
19
20
  {
20
- ref: p,
21
+ ref: m,
21
22
  className: t(o),
22
23
  variant: r,
23
24
  size: e,
24
25
  ...g,
25
- children: m
26
+ children: a
26
27
  }
27
28
  ));
28
29
  G.displayName = "ToggleGroupItem";
29
30
  export {
30
- f as ToggleGroup,
31
+ n as ToggleGroup,
31
32
  G as ToggleGroupItem
32
33
  };
@@ -1,15 +1,66 @@
1
- import { ComponentProps } from 'react';
1
+ import { ComponentProps, ReactNode } from 'react';
2
2
  import { Tooltip as ShadcnTooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../../vendor/shadcn/tooltip';
3
3
  type ShadcnTooltipRootProps = ComponentProps<typeof ShadcnTooltip>;
4
4
  type TooltipContentProps = ComponentProps<typeof TooltipContent>;
5
5
  type TooltipProviderProps = ComponentProps<typeof TooltipProvider>;
6
6
  type TooltipTriggerProps = ComponentProps<typeof TooltipTrigger>;
7
+ /**
8
+ * Props for the Tooltip component
9
+ */
7
10
  interface TooltipProps extends ShadcnTooltipRootProps {
8
- content: string;
11
+ /**
12
+ * Content to display in the tooltip
13
+ * Can be a string, JSX element, or any React node
14
+ */
15
+ content: ReactNode;
16
+ /**
17
+ * Additional props for the tooltip content
18
+ */
9
19
  contentProps?: TooltipContentProps;
20
+ /**
21
+ * Additional props for the tooltip provider
22
+ */
10
23
  providerProps?: TooltipProviderProps;
24
+ /**
25
+ * Additional props for the tooltip trigger
26
+ */
11
27
  triggerProps?: TooltipTriggerProps;
28
+ /**
29
+ * Whether to show the tooltip
30
+ * @default true
31
+ */
12
32
  show?: boolean;
13
33
  }
34
+ /**
35
+ * Tooltip component for displaying helpful content on hover or focus.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * // Simple text tooltip
40
+ * <Tooltip content="Click to edit">
41
+ * <Button>Edit</Button>
42
+ * </Tooltip>
43
+ *
44
+ * // Conditional tooltip
45
+ * <Tooltip content="Info" show={showTooltip}>
46
+ * <Icon name="Info" />
47
+ * </Tooltip>
48
+ *
49
+ * // ReactNode content with formatting
50
+ * <Tooltip content={<div><strong>Bold</strong> and <em>italic</em> text</div>}>
51
+ * <Button>Rich Content</Button>
52
+ * </Tooltip>
53
+ *
54
+ * // Complex JSX content
55
+ * <Tooltip content={
56
+ * <div className="space-y-1">
57
+ * <Typography variant="sm" weight="semibold">Title</Typography>
58
+ * <Typography variant="sm">Description here</Typography>
59
+ * </div>
60
+ * }>
61
+ * <Icon name="Info" />
62
+ * </Tooltip>
63
+ * ```
64
+ */
14
65
  declare const Tooltip: import('react').ForwardRefExoticComponent<TooltipProps & import('react').RefAttributes<HTMLDivElement>>;
15
66
  export { Tooltip, TooltipProvider, type TooltipProps, type TooltipProviderProps, };
@@ -4,8 +4,26 @@ declare const typographyVariants: (props?: ({
4
4
  variant?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "p" | "list" | "muted" | "xs" | "sm" | "lg" | "xl" | "lead" | null | undefined;
5
5
  weight?: "bold" | "regular" | "semibold" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ /**
8
+ * Props for the Typography component
9
+ */
7
10
  export interface TypographyProps extends HTMLAttributes<HTMLElement>, VariantProps<typeof typographyVariants> {
11
+ /**
12
+ * HTML element to render (overrides the default element for the variant)
13
+ * @example "div", "span", "h1", "p"
14
+ */
8
15
  as?: keyof JSX.IntrinsicElements;
9
16
  }
17
+ /**
18
+ * Flexible typography component with predefined text styles and semantic HTML elements.
19
+ * Automatically renders the appropriate HTML element based on the variant.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <Typography variant="h1">Page Title</Typography>
24
+ * <Typography variant="muted">Helper text</Typography>
25
+ * <Typography as="span" variant="lg">Custom span with lg style</Typography>
26
+ * ```
27
+ */
10
28
  declare const Typography: import('react').ForwardRefExoticComponent<TypographyProps & import('react').RefAttributes<HTMLElement>>;
11
29
  export { Typography };
@@ -1,17 +1,67 @@
1
1
  import { ReactNode } from 'react';
2
+ /**
3
+ * Represents a single breadcrumb item
4
+ */
2
5
  interface BreadcrumbItemData {
6
+ /**
7
+ * Display text for the breadcrumb item
8
+ */
3
9
  label: string;
10
+ /**
11
+ * URL to navigate to when the breadcrumb is clicked
12
+ */
4
13
  href?: string;
14
+ /**
15
+ * Optional dropdown menu items for this breadcrumb
16
+ */
5
17
  dropdown?: Array<{
18
+ /**
19
+ * Display text for dropdown item
20
+ */
6
21
  label: string;
22
+ /**
23
+ * URL for dropdown item
24
+ */
7
25
  href: string;
8
26
  }>;
9
27
  }
28
+ /**
29
+ * Props for the Breadcrumb component
30
+ */
10
31
  interface BreadcrumbProps {
32
+ /**
33
+ * Array of breadcrumb items to display
34
+ */
11
35
  items: BreadcrumbItemData[];
36
+ /**
37
+ * Custom separator element between breadcrumb items
38
+ */
12
39
  separator?: ReactNode;
40
+ /**
41
+ * Maximum number of items before collapsing with ellipsis
42
+ * @default 0 (no collapsing)
43
+ */
13
44
  maxItems?: number;
45
+ /**
46
+ * Additional CSS classes
47
+ */
14
48
  className?: string;
15
49
  }
50
+ /**
51
+ * Navigation breadcrumb component with support for collapsing and dropdown menus.
52
+ * Automatically collapses middle items when maxItems is exceeded.
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * <Breadcrumb
57
+ * items={[
58
+ * { label: 'Home', href: '/' },
59
+ * { label: 'Products', href: '/products' },
60
+ * { label: 'Item Detail' }
61
+ * ]}
62
+ * maxItems={3}
63
+ * />
64
+ * ```
65
+ */
16
66
  declare const Breadcrumb: import('react').ForwardRefExoticComponent<BreadcrumbProps & import('react').RefAttributes<HTMLElement>>;
17
67
  export { Breadcrumb, type BreadcrumbProps, type BreadcrumbItemData };