@cryptlex/web-components 5.1.1 → 5.3.0-alpha

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 (209) hide show
  1. package/dist/components/data-table/data-table-filter.d.ts +27 -0
  2. package/dist/components/data-table/data-table-filter.js +2 -0
  3. package/dist/components/data-table/data-table-filter.js.map +1 -0
  4. package/dist/components/data-table/data-table.d.ts +72 -0
  5. package/dist/components/data-table/data-table.js +2 -0
  6. package/dist/components/data-table/data-table.js.map +1 -0
  7. package/dist/components/data-table/table-commons.d.ts +56 -0
  8. package/dist/components/data-table/table-commons.js +2 -0
  9. package/dist/components/data-table/table-commons.js.map +1 -0
  10. package/dist/components/inputs/checkbox.d.ts +8 -0
  11. package/dist/components/inputs/checkbox.js +2 -0
  12. package/dist/components/inputs/checkbox.js.map +1 -0
  13. package/dist/components/inputs/date-picker.d.ts +11 -0
  14. package/dist/components/inputs/date-picker.js +2 -0
  15. package/dist/components/inputs/date-picker.js.map +1 -0
  16. package/dist/components/inputs/datefield.d.ts +14 -0
  17. package/dist/components/inputs/datefield.js +2 -0
  18. package/dist/components/inputs/datefield.js.map +1 -0
  19. package/dist/components/inputs/field.d.ts +20 -0
  20. package/dist/components/inputs/field.js +2 -0
  21. package/dist/components/inputs/field.js.map +1 -0
  22. package/dist/components/inputs/id-search.d.ts +20 -0
  23. package/dist/components/inputs/id-search.js +2 -0
  24. package/dist/components/inputs/id-search.js.map +1 -0
  25. package/dist/components/inputs/input-otp.d.ts +7 -0
  26. package/dist/components/inputs/input-otp.js +2 -0
  27. package/dist/components/inputs/input-otp.js.map +1 -0
  28. package/dist/components/inputs/multi-select.d.ts +16 -0
  29. package/dist/components/inputs/multi-select.js +2 -0
  30. package/dist/components/inputs/multi-select.js.map +1 -0
  31. package/dist/components/inputs/numberfield.d.ts +6 -0
  32. package/dist/components/inputs/numberfield.js +2 -0
  33. package/dist/components/inputs/numberfield.js.map +1 -0
  34. package/dist/components/inputs/searchfield.d.ts +5 -0
  35. package/dist/components/inputs/searchfield.js +2 -0
  36. package/dist/components/inputs/searchfield.js.map +1 -0
  37. package/dist/components/inputs/select-options.d.ts +8 -0
  38. package/dist/components/inputs/select-options.js +2 -0
  39. package/dist/components/inputs/select-options.js.map +1 -0
  40. package/dist/components/inputs/select.d.ts +17 -0
  41. package/dist/components/inputs/select.js +2 -0
  42. package/dist/components/inputs/select.js.map +1 -0
  43. package/dist/components/inputs/textfield.d.ts +7 -0
  44. package/dist/components/inputs/textfield.js +2 -0
  45. package/dist/components/inputs/textfield.js.map +1 -0
  46. package/dist/components/key-value-card/key-value-card.d.ts +17 -0
  47. package/dist/components/key-value-card/key-value-card.js +2 -0
  48. package/dist/components/key-value-card/key-value-card.js.map +1 -0
  49. package/dist/components/ui/alert.d.ts +8 -0
  50. package/dist/components/ui/alert.js +2 -0
  51. package/dist/components/ui/alert.js.map +1 -0
  52. package/dist/components/ui/avatar.d.ts +7 -0
  53. package/dist/components/ui/avatar.js +2 -0
  54. package/dist/components/ui/avatar.js.map +1 -0
  55. package/dist/components/ui/badge.d.ts +1 -0
  56. package/dist/components/ui/badge.js +2 -0
  57. package/dist/components/ui/badge.js.map +1 -0
  58. package/dist/components/ui/breadcrumbs.d.ts +10 -0
  59. package/dist/components/ui/breadcrumbs.js +2 -0
  60. package/dist/components/ui/breadcrumbs.js.map +1 -0
  61. package/dist/components/ui/button.d.ts +11 -0
  62. package/dist/components/ui/button.js +2 -0
  63. package/dist/components/ui/button.js.map +1 -0
  64. package/dist/components/ui/calendar.d.ts +16 -0
  65. package/dist/components/ui/calendar.js +2 -0
  66. package/dist/components/ui/calendar.js.map +1 -0
  67. package/dist/components/ui/card.d.ts +7 -0
  68. package/dist/components/ui/card.js +2 -0
  69. package/dist/components/ui/card.js.map +1 -0
  70. package/dist/components/ui/dialog.d.ts +18 -0
  71. package/dist/components/ui/dialog.js +2 -0
  72. package/dist/components/ui/dialog.js.map +1 -0
  73. package/dist/components/ui/disclosure.d.ts +18 -0
  74. package/dist/components/ui/disclosure.js +2 -0
  75. package/dist/components/ui/disclosure.js.map +1 -0
  76. package/dist/components/ui/list-box.d.ts +5 -0
  77. package/dist/components/ui/list-box.js +2 -0
  78. package/dist/components/ui/list-box.js.map +1 -0
  79. package/dist/components/ui/loader.d.ts +5 -0
  80. package/dist/components/ui/loader.js +2 -0
  81. package/dist/components/ui/loader.js.map +1 -0
  82. package/dist/components/ui/menu.d.ts +24 -0
  83. package/dist/components/ui/menu.js +2 -0
  84. package/dist/components/ui/menu.js.map +1 -0
  85. package/dist/components/ui/popover.d.ts +4 -0
  86. package/dist/components/ui/popover.js +2 -0
  87. package/dist/components/ui/popover.js.map +1 -0
  88. package/dist/components/ui/sidebar.d.ts +52 -0
  89. package/dist/components/ui/sidebar.js +2 -0
  90. package/dist/components/ui/sidebar.js.map +1 -0
  91. package/dist/components/ui/skeleton.d.ts +1 -0
  92. package/dist/components/ui/skeleton.js +2 -0
  93. package/dist/components/ui/skeleton.js.map +1 -0
  94. package/dist/components/ui/sonner.d.ts +4 -0
  95. package/dist/components/ui/sonner.js +2 -0
  96. package/dist/components/ui/sonner.js.map +1 -0
  97. package/dist/components/ui/table.d.ts +8 -0
  98. package/dist/components/ui/table.js +2 -0
  99. package/dist/components/ui/table.js.map +1 -0
  100. package/dist/components/ui/tabs.d.ts +5 -0
  101. package/dist/components/ui/tabs.js +2 -0
  102. package/dist/components/ui/tabs.js.map +1 -0
  103. package/dist/components/ui/timeline.d.ts +15 -0
  104. package/dist/components/ui/timeline.js +2 -0
  105. package/dist/components/ui/timeline.js.map +1 -0
  106. package/dist/components/ui/tooltip.d.ts +4 -0
  107. package/dist/components/ui/tooltip.js +2 -0
  108. package/dist/components/ui/tooltip.js.map +1 -0
  109. package/dist/utils/form-context.d.ts +4 -0
  110. package/dist/utils/form-context.js +2 -0
  111. package/dist/utils/form-context.js.map +1 -0
  112. package/dist/utils/form-hook.d.ts +23 -0
  113. package/dist/utils/form-hook.js +2 -0
  114. package/dist/utils/form-hook.js.map +1 -0
  115. package/dist/utils/primitives.d.ts +44 -0
  116. package/dist/utils/primitives.js +2 -0
  117. package/dist/utils/primitives.js.map +1 -0
  118. package/dist/utils/resource-names.d.ts +11 -0
  119. package/dist/utils/resource-names.js +2 -0
  120. package/dist/utils/resource-names.js.map +1 -0
  121. package/dist/utils/use-mobile.d.ts +1 -0
  122. package/dist/utils/use-mobile.js +2 -0
  123. package/dist/utils/use-mobile.js.map +1 -0
  124. package/package.json +33 -35
  125. package/dist/components/data-table/data-table-filter.es.js +0 -132
  126. package/dist/components/data-table/data-table-filter.es.js.map +0 -1
  127. package/dist/components/data-table/data-table.es.js +0 -412
  128. package/dist/components/data-table/data-table.es.js.map +0 -1
  129. package/dist/components/data-table/table-commons.es.js +0 -136
  130. package/dist/components/data-table/table-commons.es.js.map +0 -1
  131. package/dist/components/inputs/checkbox.es.js +0 -61
  132. package/dist/components/inputs/checkbox.es.js.map +0 -1
  133. package/dist/components/inputs/date-picker.es.js +0 -124
  134. package/dist/components/inputs/date-picker.es.js.map +0 -1
  135. package/dist/components/inputs/datefield.es.js +0 -90
  136. package/dist/components/inputs/datefield.es.js.map +0 -1
  137. package/dist/components/inputs/field.es.js +0 -91
  138. package/dist/components/inputs/field.es.js.map +0 -1
  139. package/dist/components/inputs/id-search.es.js +0 -61
  140. package/dist/components/inputs/id-search.es.js.map +0 -1
  141. package/dist/components/inputs/input-otp.es.js +0 -60
  142. package/dist/components/inputs/input-otp.es.js.map +0 -1
  143. package/dist/components/inputs/multi-select.es.js +0 -47
  144. package/dist/components/inputs/multi-select.es.js.map +0 -1
  145. package/dist/components/inputs/numberfield.es.js +0 -101
  146. package/dist/components/inputs/numberfield.es.js.map +0 -1
  147. package/dist/components/inputs/searchfield.es.js +0 -80
  148. package/dist/components/inputs/searchfield.es.js.map +0 -1
  149. package/dist/components/inputs/select-options.es.js +0 -286
  150. package/dist/components/inputs/select-options.es.js.map +0 -1
  151. package/dist/components/inputs/select.es.js +0 -113
  152. package/dist/components/inputs/select.es.js.map +0 -1
  153. package/dist/components/inputs/textfield.es.js +0 -86
  154. package/dist/components/inputs/textfield.es.js.map +0 -1
  155. package/dist/components/key-value-card/key-value-card.es.js +0 -53
  156. package/dist/components/key-value-card/key-value-card.es.js.map +0 -1
  157. package/dist/components/ui/alert.es.js +0 -29
  158. package/dist/components/ui/alert.es.js.map +0 -1
  159. package/dist/components/ui/avatar.es.js +0 -19
  160. package/dist/components/ui/avatar.es.js.map +0 -1
  161. package/dist/components/ui/badge.es.js +0 -19
  162. package/dist/components/ui/badge.es.js.map +0 -1
  163. package/dist/components/ui/breadcrumbs.es.js +0 -104
  164. package/dist/components/ui/breadcrumbs.es.js.map +0 -1
  165. package/dist/components/ui/button.es.js +0 -58
  166. package/dist/components/ui/button.es.js.map +0 -1
  167. package/dist/components/ui/calendar.es.js +0 -163
  168. package/dist/components/ui/calendar.es.js.map +0 -1
  169. package/dist/components/ui/card.es.js +0 -53
  170. package/dist/components/ui/card.es.js.map +0 -1
  171. package/dist/components/ui/dialog.es.js +0 -156
  172. package/dist/components/ui/dialog.es.js.map +0 -1
  173. package/dist/components/ui/disclosure.es.js +0 -90
  174. package/dist/components/ui/disclosure.es.js.map +0 -1
  175. package/dist/components/ui/list-box.es.js +0 -76
  176. package/dist/components/ui/list-box.es.js.map +0 -1
  177. package/dist/components/ui/loader.es.js +0 -10
  178. package/dist/components/ui/loader.es.js.map +0 -1
  179. package/dist/components/ui/menu.es.js +0 -129
  180. package/dist/components/ui/menu.es.js.map +0 -1
  181. package/dist/components/ui/popover.es.js +0 -32
  182. package/dist/components/ui/popover.es.js.map +0 -1
  183. package/dist/components/ui/sidebar.es.js +0 -456
  184. package/dist/components/ui/sidebar.es.js.map +0 -1
  185. package/dist/components/ui/skeleton.es.js +0 -9
  186. package/dist/components/ui/skeleton.es.js.map +0 -1
  187. package/dist/components/ui/sonner.es.js +0 -24
  188. package/dist/components/ui/sonner.es.js.map +0 -1
  189. package/dist/components/ui/table.es.js +0 -88
  190. package/dist/components/ui/table.es.js.map +0 -1
  191. package/dist/components/ui/tabs.es.js +0 -83
  192. package/dist/components/ui/tabs.es.js.map +0 -1
  193. package/dist/components/ui/timeline.es.js +0 -46
  194. package/dist/components/ui/timeline.es.js.map +0 -1
  195. package/dist/components/ui/tooltip.es.js +0 -28
  196. package/dist/components/ui/tooltip.es.js.map +0 -1
  197. package/dist/index.es.d.ts +0 -861
  198. package/dist/index.es.js +0 -218
  199. package/dist/index.es.js.map +0 -1
  200. package/dist/utils/form-context.es.js +0 -8
  201. package/dist/utils/form-context.es.js.map +0 -1
  202. package/dist/utils/form-hook.es.js +0 -30
  203. package/dist/utils/form-hook.es.js.map +0 -1
  204. package/dist/utils/primitives.es.js +0 -31
  205. package/dist/utils/primitives.es.js.map +0 -1
  206. package/dist/utils/resource-names.es.js +0 -182
  207. package/dist/utils/resource-names.es.js.map +0 -1
  208. package/dist/utils/use-mobile.es.js +0 -17
  209. package/dist/utils/use-mobile.es.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { TextField as m, composeRenderProps as n, TextArea as s, Input as f } from "react-aria-components";
3
- import { FormField as c } from "./field.es.js";
4
- import { cn as i } from "../../utils/primitives.es.js";
5
- import { useFieldContext as p } from "../../utils/form-context.es.js";
6
- import { getFieldErrorMessage as g } from "../../utils/form-hook.es.js";
7
- const x = m;
8
- function b({ className: r, ...t }) {
9
- return /* @__PURE__ */ o(
10
- f,
11
- {
12
- className: n(
13
- r,
14
- (e) => i(
15
- "flex input-dim w-full border border-input bg-card ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground",
16
- /* Disabled */
17
- "disabled-muted",
18
- /* Focused */
19
- "focus-ring",
20
- e
21
- )
22
- ),
23
- ...t
24
- }
25
- );
26
- }
27
- function h({ className: r, ...t }) {
28
- return /* @__PURE__ */ o(
29
- s,
30
- {
31
- className: n(
32
- r,
33
- (e) => i(
34
- "flex min-h-32 w-full border border-input bg-card px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground",
35
- /* Focused */
36
- "focus-ring",
37
- /* Disabled */
38
- "disabled-muted",
39
- e
40
- )
41
- ),
42
- ...t
43
- }
44
- );
45
- }
46
- function F({
47
- label: r,
48
- description: t,
49
- errorMessage: e,
50
- textArea: d,
51
- className: l,
52
- ...a
53
- }) {
54
- return /* @__PURE__ */ o(
55
- x,
56
- {
57
- className: n(
58
- l,
59
- (u) => i("group form-field", u)
60
- ),
61
- ...a,
62
- children: /* @__PURE__ */ o(c, { label: r, errorMessage: e, description: t, children: d ? /* @__PURE__ */ o(h, {}) : /* @__PURE__ */ o(b, {}) })
63
- }
64
- );
65
- }
66
- function k({ isDisabled: r, ...t }) {
67
- const e = p();
68
- return /* @__PURE__ */ o(
69
- F,
70
- {
71
- isDisabled: r || e.form.state.isSubmitting,
72
- value: e.state.value,
73
- id: e.name,
74
- name: e.name,
75
- onBlur: e.handleBlur,
76
- onChange: e.handleChange,
77
- errorMessage: g(e),
78
- ...t
79
- }
80
- );
81
- }
82
- export {
83
- F as TextField,
84
- k as TfTextField
85
- };
86
- //# sourceMappingURL=textfield.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textfield.es.js","sources":["../../../lib/components/inputs/textfield.tsx"],"sourcesContent":["import {\n Input as AriaInput,\n InputProps as AriaInputProps,\n TextArea as AriaTextArea,\n TextAreaProps as AriaTextAreaProps,\n TextField as AriaTextField,\n TextFieldProps as AriaTextFieldProps,\n composeRenderProps\n} from \"react-aria-components\"\n\nimport { cn, getFieldErrorMessage, useFieldContext } from \"@/utils/index\"\n\nimport { FormField, type FormFieldProps } from \"./field\"\n\nconst ATextField = AriaTextField\n\nfunction Input({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, (className) =>\n cn(\n \"flex input-dim w-full border border-input bg-card ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground\",\n /* Disabled */\n \"disabled-muted\",\n /* Focused */\n \"focus-ring\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nfunction TextArea({ className, ...props }: AriaTextAreaProps) {\n return (\n <AriaTextArea\n className={composeRenderProps(className, (className) =>\n cn(\n \"flex min-h-32 w-full border border-input bg-card px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground\",\n /* Focused */\n \"focus-ring\",\n /* Disabled */\n \"disabled-muted\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport interface TextFieldProps extends AriaTextFieldProps, FormFieldProps {\n textArea?: boolean\n}\n\nexport function TextField({\n label,\n description,\n errorMessage,\n textArea,\n className,\n ...props\n}: TextFieldProps) {\n return (\n <ATextField\n className={composeRenderProps(className, (className) =>\n cn(\"group form-field\", className)\n )}\n {...props}\n >\n <FormField label={label} errorMessage={errorMessage} description={description}>\n {textArea ? <TextArea /> : <Input />}\n </FormField>\n </ATextField>\n )\n}\n\nexport function TfTextField({ isDisabled, ...props }: React.ComponentProps<typeof TextField>) {\n const field = useFieldContext<string>();\n\n return (\n <TextField\n isDisabled={isDisabled || field.form.state.isSubmitting}\n value={field.state.value}\n id={field.name}\n name={field.name}\n onBlur={field.handleBlur}\n onChange={field.handleChange}\n errorMessage={getFieldErrorMessage(field)}\n {...props} />)\n}\n\n\n"],"names":["ATextField","AriaTextField","Input","className","props","jsx","AriaInput","composeRenderProps","cn","TextArea","AriaTextArea","TextField","label","description","errorMessage","textArea","FormField","TfTextField","isDisabled","field","useFieldContext","getFieldErrorMessage"],"mappings":";;;;;;AAcA,MAAMA,IAAaC;AAEnB,SAASC,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAyB;AACtD,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QAAmBJ;AAAA,QAAW,CAACA,MACxCK;AAAA,UACE;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACAL;AAAAA,QAAA;AAAA,MACF;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAS,EAAE,WAAAN,GAAW,GAAGC,KAA4B;AAC5D,SACE,gBAAAC;AAAA,IAACK;AAAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QAAmBJ;AAAA,QAAW,CAACA,MACxCK;AAAA,UACE;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACAL;AAAAA,QAAA;AAAA,MACF;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAMO,SAASO,EAAU;AAAA,EACxB,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAZ;AAAA,EACA,GAAGC;AACL,GAAmB;AACjB,SACE,gBAAAC;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,WAAWO;AAAA,QAAmBJ;AAAA,QAAW,CAACA,MACxCK,EAAG,oBAAoBL,CAAS;AAAA,MAAA;AAAA,MAEjC,GAAGC;AAAA,MAEJ,UAAA,gBAAAC,EAACW,GAAA,EAAU,OAAAJ,GAAc,cAAAE,GAA4B,aAAAD,GAClD,UAAAE,IAAW,gBAAAV,EAACI,GAAA,CAAA,CAAS,IAAK,gBAAAJ,EAACH,GAAA,CAAA,CAAM,EAAA,CACpC;AAAA,IAAA;AAAA,EAAA;AAGN;AAEO,SAASe,EAAY,EAAE,YAAAC,GAAY,GAAGd,KAAiD;AAC5F,QAAMe,IAAQC,EAAA;AAEd,SACE,gBAAAf;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,YAAYO,KAAcC,EAAM,KAAK,MAAM;AAAA,MAC3C,OAAOA,EAAM,MAAM;AAAA,MACnB,IAAIA,EAAM;AAAA,MACV,MAAMA,EAAM;AAAA,MACZ,QAAQA,EAAM;AAAA,MACd,UAAUA,EAAM;AAAA,MAChB,cAAcE,EAAqBF,CAAK;AAAA,MACvC,GAAGf;AAAA,IAAA;AAAA,EAAA;AACV;"}
@@ -1,53 +0,0 @@
1
- import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { Badge as p } from "../ui/badge.es.js";
3
- import { Card as f, CardHeader as i, CardTitle as h, CardContent as m } from "../ui/card.es.js";
4
- import { Skeleton as x } from "../ui/skeleton.es.js";
5
- import { formatDate as u } from "../data-table/table-commons.es.js";
6
- const b = ({
7
- data: l,
8
- label: o,
9
- fields: t
10
- }) => {
11
- const d = (a, r) => {
12
- if (a.transform)
13
- return a.transform(r);
14
- if (r == null)
15
- return "-";
16
- switch (a.type) {
17
- case "date":
18
- return /* @__PURE__ */ e("span", { children: u(r) });
19
- case "yesno":
20
- return /* @__PURE__ */ e("span", { children: r ? "Yes" : "No" });
21
- case "badge":
22
- return /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1", children: Array.isArray(r) ? r.map((s, n) => /* @__PURE__ */ e(p, { children: typeof s == "object" ? (s == null ? void 0 : s.name) || (s == null ? void 0 : s.id) : s }, n)) : r });
23
- case "boolean":
24
- return /* @__PURE__ */ e("span", { children: r.toString() });
25
- default:
26
- return /* @__PURE__ */ e("span", { children: r });
27
- }
28
- };
29
- return /* @__PURE__ */ c(f, { children: [
30
- /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e(h, { children: o }) }),
31
- /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-2", children: l ? t.map((a) => {
32
- const r = a.accessor ? a.accessor.split(".").reduce(
33
- (s, n) => s && n in s ? s[n] : void 0,
34
- l
35
- ) : null;
36
- return /* @__PURE__ */ c(
37
- "div",
38
- {
39
- className: "flex w-full flex-col md:flex-row justify-between first:pt-0 last:pb-0",
40
- children: [
41
- /* @__PURE__ */ e("p", { className: "text-sm flex w-full justify-start col-span-1", children: a.display }),
42
- /* @__PURE__ */ e("div", { className: "text-sm flex w-full justify-start text-wrap break-all", children: d(a, r) })
43
- ]
44
- },
45
- a.display
46
- );
47
- }) : t.map((a, r) => /* @__PURE__ */ e(x, { className: "h-12 w-full" }, r)) }) })
48
- ] });
49
- };
50
- export {
51
- b as KeyValueCard
52
- };
53
- //# sourceMappingURL=key-value-card.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-value-card.es.js","sources":["../../../lib/components/key-value-card/key-value-card.tsx"],"sourcesContent":["import { Badge } from \"@/components/ui/badge\";\nimport {\n\tCard,\n\tCardContent,\n\tCardHeader,\n\tCardTitle,\n\tformatDate,\n\tSkeleton\n} from \"@/index\";\n\n// Utility type to handle nested keys (dot notation) in any object\ntype NestedKeyOf<T> = T extends object\n\t? {\n\t\t[K in keyof T]: K extends string | number\n\t\t? `${K & string}` | `${K & string}.${NestedKeyOf<T[K]>}`\n\t\t: never;\n\t}[keyof T]\n\t: never;\n\n// DisplayField type that works with nested keys\nexport type DisplayField<T> = {\n\tdisplay: string;\n\taccessor: NestedKeyOf<T>;\n\ttype?:\n\t| \"text\"\n\t| \"badge\"\n\t| \"boolean\"\n\t| \"date\"\n\t| \"yesno\"\n\t| \"copyButton\"\n\t| \"link\"; // Field types\n\ttransform?: (value: any) => React.ReactNode;\n};\n\nexport interface KeyValueCardProps<T> {\n\tdata: T; // Ensure data is of type T\n\tlabel: string;\n\tfields: DisplayField<T>[];\n\tclassName?: string;\n}\n\nexport const KeyValueCard = <T extends {}>({\n\tdata,\n\tlabel,\n\tfields,\n}: KeyValueCardProps<T>) => {\n\tconst renderValue = (field: DisplayField<T>, value: any) => {\n\t\tif (field.transform) {\n\t\t\treturn field.transform(value);\n\t\t}\n\t\tif (value === undefined || value === null) {\n\t\t\treturn \"-\";\n\t\t}\n\t\tswitch (field.type) {\n\t\t\tcase \"date\":\n\t\t\t\treturn <span>{formatDate(value)}</span>;\n\t\t\tcase \"yesno\":\n\t\t\t\treturn <span>{value ? \"Yes\" : \"No\"}</span>;\n\t\t\tcase \"badge\":\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"flex flex-wrap gap-1\">\n\t\t\t\t\t\t{Array.isArray(value)\n\t\t\t\t\t\t\t? value.map((item, index) => (\n\t\t\t\t\t\t\t\t<Badge key={index}>\n\t\t\t\t\t\t\t\t\t{typeof item === \"object\" ? item?.name || item?.id : item}\n\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t: value}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\n\t\t\tcase \"boolean\":\n\t\t\t\treturn <span>{value.toString()}</span>;\n\t\t\tdefault:\n\t\t\t\treturn <span>{value}</span>;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<CardTitle>{label}</CardTitle>\n\t\t\t</CardHeader>\n\t\t\t<CardContent>\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t{data\n\t\t\t\t\t\t? fields.map((field) => {\n\t\t\t\t\t\t\t// TODO: improve this\n\t\t\t\t\t\t\tconst value = field.accessor\n\t\t\t\t\t\t\t\t? field.accessor\n\t\t\t\t\t\t\t\t\t.split(\".\")\n\t\t\t\t\t\t\t\t\t.reduce(\n\t\t\t\t\t\t\t\t\t\t(obj, key) =>\n\t\t\t\t\t\t\t\t\t\t\tobj && key in obj ? obj[key] : undefined,\n\t\t\t\t\t\t\t\t\t\tdata as Record<string, any>,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={field.display}\n\t\t\t\t\t\t\t\t\tclassName=\"flex w-full flex-col md:flex-row justify-between first:pt-0 last:pb-0\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm flex w-full justify-start col-span-1\">\n\t\t\t\t\t\t\t\t\t\t{field.display}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm flex w-full justify-start text-wrap break-all\">\n\t\t\t\t\t\t\t\t\t\t{renderValue(field, value)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t: fields.map((_, index) => (\n\t\t\t\t\t\t\t<Skeleton key={index} className=\"h-12 w-full\" />\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</CardContent>\n\t\t</Card>\n\t);\n};\n"],"names":["KeyValueCard","data","label","fields","renderValue","field","value","jsx","formatDate","item","index","Badge","Card","CardHeader","CardTitle","CardContent","obj","key","jsxs","_","Skeleton"],"mappings":";;;;;AAyCO,MAAMA,IAAe,CAAe;AAAA,EAC1C,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AACD,MAA4B;AAC3B,QAAMC,IAAc,CAACC,GAAwBC,MAAe;AAC3D,QAAID,EAAM;AACT,aAAOA,EAAM,UAAUC,CAAK;AAE7B,QAA2BA,KAAU;AACpC,aAAO;AAER,YAAQD,EAAM,MAAA;AAAA,MACb,KAAK;AACJ,eAAO,gBAAAE,EAAC,QAAA,EAAM,UAAAC,EAAWF,CAAK,GAAE;AAAA,MACjC,KAAK;AACJ,eAAO,gBAAAC,EAAC,QAAA,EAAM,UAAAD,IAAQ,QAAQ,MAAK;AAAA,MACpC,KAAK;AACJ,eACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,wBACb,UAAA,MAAM,QAAQD,CAAK,IACjBA,EAAM,IAAI,CAACG,GAAMC,wBACjBC,GAAA,EACC,UAAA,OAAOF,KAAS,YAAWA,KAAA,gBAAAA,EAAM,UAAQA,KAAA,gBAAAA,EAAM,MAAKA,EAAA,GAD1CC,CAEZ,CACA,IACCJ,EAAA,CACJ;AAAA,MAGF,KAAK;AACJ,eAAO,gBAAAC,EAAC,QAAA,EAAM,UAAAD,EAAM,SAAA,GAAW;AAAA,MAChC;AACC,eAAO,gBAAAC,EAAC,UAAM,UAAAD,EAAA,CAAM;AAAA,IAAA;AAAA,EAEvB;AAEA,2BACEM,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAL,EAACM,GAAA,EACA,UAAA,gBAAAN,EAACO,GAAA,EAAW,UAAAZ,EAAA,CAAM,GACnB;AAAA,IACA,gBAAAK,EAACQ,GAAA,EACA,UAAA,gBAAAR,EAAC,OAAA,EAAI,WAAU,uBACb,UAAAN,IACEE,EAAO,IAAI,CAACE,MAAU;AAEvB,YAAMC,IAAQD,EAAM,WACjBA,EAAM,SACN,MAAM,GAAG,EACT;AAAA,QACA,CAACW,GAAKC,MACLD,KAAOC,KAAOD,IAAMA,EAAIC,CAAG,IAAI;AAAA,QAChChB;AAAA,MAAA,IAEA;AAEH,aACC,gBAAAiB;AAAA,QAAC;AAAA,QAAA;AAAA,UAEA,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAX,EAAC,KAAA,EAAE,WAAU,gDACX,UAAAF,EAAM,SACR;AAAA,8BACC,OAAA,EAAI,WAAU,yDACb,UAAAD,EAAYC,GAAOC,CAAK,EAAA,CAC1B;AAAA,UAAA;AAAA,QAAA;AAAA,QARKD,EAAM;AAAA,MAAA;AAAA,IAWd,CAAC,IACCF,EAAO,IAAI,CAACgB,GAAGT,MAChB,gBAAAH,EAACa,GAAA,EAAqB,WAAU,cAAA,GAAjBV,CAA+B,CAC9C,GACH,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
@@ -1,29 +0,0 @@
1
- import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
- import { cva as i } from "class-variance-authority";
3
- import { cn as c } from "../../utils/primitives.es.js";
4
- const n = i(
5
- "transition-colors border border-dotted p-2 text-foreground text-sm inline-flex items-start gap-2",
6
- {
7
- variants: {
8
- variant: {
9
- destructive: "bg-destructive-foreground/20 text-destructive border-destructive",
10
- success: "bg-success-foreground/20 text-success border-success",
11
- muted: "bg-muted-foreground/20 text-muted border-muted"
12
- }
13
- },
14
- defaultVariants: {
15
- variant: "muted"
16
- }
17
- }
18
- );
19
- function f({ children: r, className: s, variant: o, icon: e, ...a }) {
20
- return /* @__PURE__ */ d("div", { role: "alert", className: c(n({ variant: o }), s), ...a, children: [
21
- e && /* @__PURE__ */ t(e, { className: "size-icon mt-1" }),
22
- /* @__PURE__ */ t("span", { className: "w-full", children: r })
23
- ] });
24
- }
25
- export {
26
- f as Alert,
27
- n as alertVariants
28
- };
29
- //# sourceMappingURL=alert.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert.es.js","sources":["../../../lib/components/ui/alert.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { type LucideIcon } from \"lucide-react\";\n\nexport const alertVariants = cva(\n `transition-colors border border-dotted p-2 text-foreground text-sm inline-flex items-start gap-2`,\n {\n variants: {\n variant: {\n destructive: \"bg-destructive-foreground/20 text-destructive border-destructive\",\n success: \"bg-success-foreground/20 text-success border-success\",\n muted: \"bg-muted-foreground/20 text-muted border-muted\",\n },\n },\n defaultVariants: {\n variant: \"muted\",\n },\n },\n);\n\nexport function Alert({ children, className, variant, icon: Icon, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants> & {\n icon?: LucideIcon\n}) {\n\n return (\n <div role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props}>\n {Icon && <Icon className=\"size-icon mt-1\" />}\n <span className=\"w-full\">\n {children}\n </span>\n </div>)\n}"],"names":["alertVariants","cva","Alert","children","className","variant","Icon","props","jsxs","cn","jsx"],"mappings":";;;AAIO,MAAMA,IAAgBC;AAAA,EACzB;AAAA,EACA;AAAA,IACI,UAAU;AAAA,MACN,SAAS;AAAA,QACL,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,IACX;AAAA,IAEJ,iBAAiB;AAAA,MACb,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAEO,SAASC,EAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAC,GAAS,MAAMC,GAAM,GAAGC,KAElE;AAEC,SACI,gBAAAC,EAAC,OAAA,EAAI,MAAK,SAAQ,WAAWC,EAAGT,EAAc,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS,GAAI,GAAGG,GACvE,UAAA;AAAA,IAAAD,KAAQ,gBAAAI,EAACJ,GAAA,EAAK,WAAU,iBAAA,CAAiB;AAAA,IAC1C,gBAAAI,EAAC,QAAA,EAAK,WAAU,UACX,UAAAP,EAAA,CACL;AAAA,EAAA,GACJ;AACR;"}
@@ -1,19 +0,0 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { cn as r } from "../../utils/primitives.es.js";
3
- function f({ className: e, initials: n, ...t }) {
4
- return /* @__PURE__ */ o(
5
- "div",
6
- {
7
- className: r(
8
- "relative text-xs font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none size-input shrink-0 overflow-hidden rounded-full",
9
- e
10
- ),
11
- ...t,
12
- children: n
13
- }
14
- );
15
- }
16
- export {
17
- f as Avatar
18
- };
19
- //# sourceMappingURL=avatar.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.es.js","sources":["../../../lib/components/ui/avatar.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport type * as React from \"react\";\n\ninterface InitialString {\n\tinitials: string[2];\n}\nexport interface AvatarProps\n\textends Omit<React.ComponentProps<\"div\">, \"children\">,\n\tInitialString { }\nexport function Avatar({ className, initials, ...props }: AvatarProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"relative text-xs font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none size-input shrink-0 overflow-hidden rounded-full\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{initials}\n\t\t</div>\n\t);\n}\n"],"names":["Avatar","className","initials","props","jsx","cn"],"mappings":";;AASO,SAASA,EAAO,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAAsB;AACtE,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGJ;"}
@@ -1,19 +0,0 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { cn as i } from "../../utils/primitives.es.js";
3
- function c({ className: n, children: t, ...r }) {
4
- return /* @__PURE__ */ e(
5
- "span",
6
- {
7
- className: i(
8
- "text-muted leading-none text-sm px-1 inline-flex items-center justify-center select-none bg-card border h-input focus:outline-hidden focus:ring-1 focus:ring-ring",
9
- n
10
- ),
11
- ...r,
12
- children: /* @__PURE__ */ e("span", { children: t })
13
- }
14
- );
15
- }
16
- export {
17
- c as Badge
18
- };
19
- //# sourceMappingURL=badge.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.es.js","sources":["../../../lib/components/ui/badge.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport type * as React from \"react\";\n\nexport function Badge({ className, children, ...props }: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t\"text-muted leading-none text-sm px-1 inline-flex items-center justify-center select-none bg-card border h-input focus:outline-hidden focus:ring-1 focus:ring-ring\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{/* Contents */}\n\t\t\t<span>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t</span>\n\t);\n}\n"],"names":["Badge","className","children","props","jsx","cn"],"mappings":";;AAGO,SAASA,EAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAAuC;AACtF,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWC;AAAA,QACV;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGE;AAAA,MAGJ,UAAA,gBAAAC,EAAC,UACC,UAAAF,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGH;"}
@@ -1,104 +0,0 @@
1
- import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
- import { Breadcrumbs as c, Breadcrumb as m, Link as s, composeRenderProps as o } from "react-aria-components";
3
- import { ChevronRight as d, DotSquare as u } from "lucide-react";
4
- import { cn as t } from "../../utils/primitives.es.js";
5
- function x({
6
- className: e,
7
- ...r
8
- }) {
9
- return /* @__PURE__ */ a(
10
- c,
11
- {
12
- className: t(
13
- "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
14
- e
15
- ),
16
- ...r
17
- }
18
- );
19
- }
20
- function g({ className: e, ...r }) {
21
- return /* @__PURE__ */ a(
22
- m,
23
- {
24
- className: t("inline-flex items-center gap-1.5 sm:gap-2.5", e),
25
- ...r
26
- }
27
- );
28
- }
29
- function B({ className: e, ...r }) {
30
- return /* @__PURE__ */ a(
31
- s,
32
- {
33
- className: o(
34
- e,
35
- (n) => t(
36
- "transition-colors",
37
- /* Hover */
38
- "data-[hovered]:text-foreground",
39
- /* Disabled */
40
- "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
41
- /* Current */
42
- "data-[current]:pointer-events-auto data-[current]:opacity-100",
43
- n
44
- )
45
- ),
46
- ...r
47
- }
48
- );
49
- }
50
- function h({
51
- children: e,
52
- className: r,
53
- ...n
54
- }) {
55
- return /* @__PURE__ */ a(
56
- "span",
57
- {
58
- role: "presentation",
59
- "aria-hidden": "true",
60
- className: t("[&>svg]:size-3.5", r),
61
- ...n,
62
- children: e || /* @__PURE__ */ a(d, {})
63
- }
64
- );
65
- }
66
- function N({
67
- className: e,
68
- ...r
69
- }) {
70
- return /* @__PURE__ */ i(
71
- "span",
72
- {
73
- role: "presentation",
74
- "aria-hidden": "true",
75
- className: t("flex size-9 items-center justify-center", e),
76
- ...r,
77
- children: [
78
- /* @__PURE__ */ a(u, { className: "size-4" }),
79
- /* @__PURE__ */ a("span", { className: "sr-only", children: "More" })
80
- ]
81
- }
82
- );
83
- }
84
- function v({ className: e, ...r }) {
85
- return /* @__PURE__ */ a(
86
- s,
87
- {
88
- className: o(
89
- e,
90
- (n) => t("font-normal text-foreground", n)
91
- ),
92
- ...r
93
- }
94
- );
95
- }
96
- export {
97
- N as BreadcrumbEllipsis,
98
- g as BreadcrumbItem,
99
- B as BreadcrumbLink,
100
- v as BreadcrumbPage,
101
- h as BreadcrumbSeparator,
102
- x as Breadcrumbs
103
- };
104
- //# sourceMappingURL=breadcrumbs.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumbs.es.js","sources":["../../../lib/components/ui/breadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbProps as AriaBreadcrumbProps,\n Breadcrumbs as AriaBreadcrumbs,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n Link as AriaLink,\n LinkProps as AriaLinkProps,\n composeRenderProps,\n} from \"react-aria-components\"\n\nimport { cn } from \"@/utils/index\"\nimport { ChevronRight, DotSquare } from \"lucide-react\"\n\nexport function Breadcrumbs<T extends object>({\n className,\n ...props\n}: AriaBreadcrumbsProps<T>) {\n return (\n <AriaBreadcrumbs\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbItem({ className, ...props }: AriaBreadcrumbProps) {\n return (\n <AriaBreadcrumb\n className={cn(\"inline-flex items-center gap-1.5 sm:gap-2.5\", className)}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbLink({ className, ...props }: AriaLinkProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, (className) =>\n cn(\n \"transition-colors\",\n /* Hover */\n \"data-[hovered]:text-foreground\",\n /* Disabled */\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n /* Current */\n \"data-[current]:pointer-events-auto data-[current]:opacity-100\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children || <ChevronRight />}\n </span>\n )\n}\n\nexport function BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <DotSquare className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\ninterface BreadcrumbPageProps extends Omit<AriaLinkProps, \"href\"> { }\n\nexport function BreadcrumbPage({ className, ...props }: BreadcrumbPageProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, (className) =>\n cn(\"font-normal text-foreground\", className)\n )}\n {...props}\n />\n )\n}\n\n"],"names":["Breadcrumbs","className","props","jsx","AriaBreadcrumbs","cn","BreadcrumbItem","AriaBreadcrumb","BreadcrumbLink","AriaLink","composeRenderProps","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","DotSquare","BreadcrumbPage"],"mappings":";;;;AAaO,SAASA,EAA8B;AAAA,EAC5C,WAAAC;AAAA,EACA,GAAGC;AACL,GAA4B;AAC1B,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,SAASI,EAAe,EAAE,WAAAL,GAAW,GAAGC,KAA8B;AAC3E,SACE,gBAAAC;AAAA,IAACI;AAAAA,IAAA;AAAA,MACC,WAAWF,EAAG,+CAA+CJ,CAAS;AAAA,MACrE,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,SAASM,EAAe,EAAE,WAAAP,GAAW,GAAGC,KAAwB;AACrE,SACE,gBAAAC;AAAA,IAACM;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QAAmBT;AAAA,QAAW,CAACA,MACxCI;AAAA,UACE;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACAJ;AAAAA,QAAA;AAAA,MACF;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,SAASS,EAAoB;AAAA,EAClC,UAAAC;AAAA,EACA,WAAAX;AAAA,EACA,GAAGC;AACL,GAAiC;AAC/B,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWE,EAAG,oBAAoBJ,CAAS;AAAA,MAC1C,GAAGC;AAAA,MAEH,UAAAU,uBAAaC,GAAA,CAAA,CAAa;AAAA,IAAA;AAAA,EAAA;AAGjC;AAEO,SAASC,EAAmB;AAAA,EACjC,WAAAb;AAAA,EACA,GAAGC;AACL,GAAiC;AAC/B,SACE,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAWV,EAAG,2CAA2CJ,CAAS;AAAA,MACjE,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAC,EAACa,GAAA,EAAU,WAAU,SAAA,CAAS;AAAA,QAC9B,gBAAAb,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,OAAA,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC;AAIO,SAASc,EAAe,EAAE,WAAAhB,GAAW,GAAGC,KAA8B;AAC3E,SACE,gBAAAC;AAAA,IAACM;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QAAmBT;AAAA,QAAW,CAACA,MACxCI,EAAG,+BAA+BJ,CAAS;AAAA,MAAA;AAAA,MAE5C,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,58 +0,0 @@
1
- "use client";
2
- import { jsx as e, jsxs as c, Fragment as i } from "react/jsx-runtime";
3
- import { cva as l } from "class-variance-authority";
4
- import { Button as d, composeRenderProps as o } from "react-aria-components";
5
- import { Loader as f } from "./loader.es.js";
6
- import { cn as p } from "../../utils/primitives.es.js";
7
- const v = l(
8
- "btn inline-flex gap-1 text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors",
9
- {
10
- variants: {
11
- variant: {
12
- primary: "btn-primary",
13
- secondary: "btn-secondary",
14
- destructive: "btn-destructive",
15
- neutral: "btn-neutral",
16
- ghost: "btn-ghost",
17
- link: "text-primary underline-offset-4 hover:underline"
18
- },
19
- size: {
20
- default: "input-dim",
21
- icon: "size-input",
22
- none: ""
23
- }
24
- },
25
- defaultVariants: {
26
- variant: "neutral",
27
- size: "default"
28
- }
29
- }
30
- );
31
- function z({ className: n, variant: a, size: s, children: m, isPending: r, active: b, ...u }) {
32
- return /* @__PURE__ */ e(
33
- d,
34
- {
35
- ...u,
36
- className: o(
37
- n,
38
- (t) => p(
39
- v({
40
- variant: a,
41
- size: s,
42
- className: t
43
- }),
44
- n
45
- )
46
- ),
47
- children: o(m, (t) => /* @__PURE__ */ c(i, { children: [
48
- r && /* @__PURE__ */ e(f, {}),
49
- !r && /* @__PURE__ */ e(i, { children: t })
50
- ] }))
51
- }
52
- );
53
- }
54
- export {
55
- z as Button,
56
- v as buttonVariants
57
- };
58
- //# sourceMappingURL=button.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.es.js","sources":["../../../lib/components/ui/button.tsx"],"sourcesContent":["\"use client\"\nimport { cn } from \"@/utils/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n\tButton as AriaButton,\n\tcomposeRenderProps,\n\ttype ButtonProps as AriaButtonProps,\n} from \"react-aria-components\";\nimport { Loader } from \"./loader\";\n\nexport const buttonVariants = cva(\n\t\"btn inline-flex gap-1 text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tprimary: \"btn-primary\",\n\t\t\t\tsecondary: \"btn-secondary\",\n\t\t\t\tdestructive: \"btn-destructive\",\n\t\t\t\tneutral: \"btn-neutral\",\n\t\t\t\tghost: \"btn-ghost\",\n\t\t\t\tlink: \"text-primary underline-offset-4 hover:underline\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: \"input-dim\",\n\t\t\t\ticon: \"size-input\",\n\t\t\t\tnone: \"\"\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"neutral\",\n\t\t\tsize: \"default\",\n\t\t},\n\t},\n);\n\nexport type ButtonProps = AriaButtonProps & VariantProps<typeof buttonVariants> & {\n\tref?: React.Ref<HTMLButtonElement>\n\tactive?: boolean\n}\n\nexport function Button({ className: additionalClasses, variant, size, children, isPending, active, ...props }: ButtonProps) {\n\treturn (\n\t\t<AriaButton\n\t\t\t{...props}\n\t\t\tclassName={composeRenderProps(additionalClasses, (className) =>\n\t\t\t\tcn(\n\t\t\t\t\tbuttonVariants({\n\t\t\t\t\t\tvariant,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t}),\n\t\t\t\t\tadditionalClasses\n\t\t\t\t)\n\t\t\t)}\n\t\t>\n\t\t\t{composeRenderProps(children, (children) => (<>\n\t\t\t\t{isPending && <Loader />}\n\t\t\t\t{!isPending && <>\n\t\t\t\t\t{children}\n\t\t\t\t\t{/* TODO active indication */}\n\t\t\t\t</>}\n\t\t\t</>))}\n\t\t</AriaButton>\n\t)\n}\n\n"],"names":["buttonVariants","cva","Button","additionalClasses","variant","size","children","isPending","active","props","jsx","AriaButton","composeRenderProps","className","cn","jsxs","Fragment","Loader"],"mappings":";;;;;;AAUO,MAAMA,IAAiBC;AAAA,EAC7B;AAAA,EACA;AAAA,IACC,UAAU;AAAA,MACT,SAAS;AAAA,QACR,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,MAAA;AAAA,MAEP,MAAM;AAAA,QACL,SAAS;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACP;AAAA,IAED,iBAAiB;AAAA,MAChB,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACP;AAEF;AAOO,SAASC,EAAO,EAAE,WAAWC,GAAmB,SAAAC,GAAS,MAAAC,GAAM,UAAAC,GAAU,WAAAC,GAAW,QAAAC,GAAQ,GAAGC,KAAsB;AAC3H,SACC,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,GAAGF;AAAA,MACJ,WAAWG;AAAA,QAAmBT;AAAA,QAAmB,CAACU,MACjDC;AAAA,UACCd,EAAe;AAAA,YACd,SAAAI;AAAA,YACA,MAAAC;AAAA,YACA,WAAAQ;AAAA,UAAA,CACA;AAAA,UACDV;AAAA,QAAA;AAAA,MACD;AAAA,MAGA,UAAAS,EAAmBN,GAAU,CAACA,MAAc,gBAAAS,EAAAC,GAAA,EAC3C,UAAA;AAAA,QAAAT,uBAAcU,GAAA,EAAO;AAAA,QACrB,CAACV,KAAa,gBAAAG,EAAAM,GAAA,EACb,UAAAV,EAAAA,CAEF;AAAA,MAAA,GACD,CAAI;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,163 +0,0 @@
1
- import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
- import { today as v, getLocalTimeZone as y } from "@internationalized/date";
3
- import * as b from "react";
4
- import { CalendarGridHeader as N, useLocale as S, Heading as G, CalendarGrid as H, CalendarHeaderCell as R, CalendarGridBody as $, RangeCalendarStateContext as w, CalendarCell as z, composeRenderProps as l, Calendar as B, Text as m, RangeCalendar as j } from "react-aria-components";
5
- import { Button as c, buttonVariants as L } from "./button.es.js";
6
- import { ChevronRight as s, ChevronLeft as u } from "lucide-react";
7
- import { cn as n } from "../../utils/primitives.es.js";
8
- function f(t) {
9
- let { direction: a } = S();
10
- return /* @__PURE__ */ o("header", { className: "flex w-full items-center gap-1 px-1 pb-4", ...t, children: [
11
- /* @__PURE__ */ e(
12
- c,
13
- {
14
- slot: "previous",
15
- size: "none",
16
- className: n(
17
- "size-7 bg-transparent p-0 opacity-50",
18
- /* Hover */
19
- "data-[hovered]:opacity-100"
20
- ),
21
- children: a === "rtl" ? /* @__PURE__ */ e(s, { "aria-hidden": !0 }) : /* @__PURE__ */ e(u, { "aria-hidden": !0 })
22
- }
23
- ),
24
- /* @__PURE__ */ e(G, { className: "grow text-center text-sm font-medium" }),
25
- /* @__PURE__ */ e(
26
- c,
27
- {
28
- slot: "next",
29
- className: n(
30
- "size-7 bg-transparent p-0 opacity-50",
31
- /* Hover */
32
- "data-[hovered]:opacity-100"
33
- ),
34
- children: a === "rtl" ? /* @__PURE__ */ e(u, { "aria-hidden": !0 }) : /* @__PURE__ */ e(s, { "aria-hidden": !0 })
35
- }
36
- )
37
- ] });
38
- }
39
- function g({ className: t, ...a }) {
40
- return /* @__PURE__ */ e(
41
- H,
42
- {
43
- className: n(
44
- " border-separate border-spacing-x-0 border-spacing-y-1 ",
45
- t
46
- ),
47
- ...a
48
- }
49
- );
50
- }
51
- const x = N;
52
- function C({
53
- className: t,
54
- ...a
55
- }) {
56
- return /* @__PURE__ */ e(
57
- R,
58
- {
59
- className: n(
60
- "w-9 text-xs font-normal text-muted-foreground",
61
- t
62
- ),
63
- ...a
64
- }
65
- );
66
- }
67
- function h({
68
- className: t,
69
- ...a
70
- }) {
71
- return /* @__PURE__ */ e($, { className: n("[&>tr>td]:p-0", t), ...a });
72
- }
73
- function p({ className: t, ...a }) {
74
- const i = !!b.useContext(w);
75
- return /* @__PURE__ */ e(
76
- z,
77
- {
78
- className: l(
79
- t,
80
- (d, r) => n(
81
- L({ variant: "ghost", size: "none" }),
82
- "relative flex size-9 items-center justify-center p-0 text-sm font-normal",
83
- /* Disabled */
84
- r.isDisabled && "text-muted-foreground opacity-50",
85
- /* Selected */
86
- r.isSelected && "bg-primary text-primary-foreground data-[focused]:bg-primary data-[focused]:text-primary-foreground",
87
- /* Hover */
88
- r.isHovered && r.isSelected && (r.isSelectionStart || r.isSelectionEnd || !i) && "data-[hovered]:bg-primary data-[hovered]:text-primary-foreground",
89
- /* Selection Start/End */
90
- r.isSelected && i && !r.isSelectionStart && !r.isSelectionEnd && "rounded-none bg-accent text-accent-foreground",
91
- /* Outside Month */
92
- r.isOutsideMonth && "text-muted-foreground opacity-50 data-[selected]:bg-accent/50 data-[selected]:text-muted-foreground data-[selected]:opacity-30",
93
- /* Current Date */
94
- r.date.compare(v(y())) === 0 && !r.isSelected && "bg-accent text-accent-foreground",
95
- /* Unavailable Date */
96
- r.isUnavailable && "cursor-default text-destructive ",
97
- r.isInvalid && "bg-destructive text-destructive-foreground data-[focused]:bg-destructive data-[hovered]:bg-destructive data-[focused]:text-destructive-foreground data-[hovered]:text-destructive-foreground",
98
- d
99
- )
100
- ),
101
- ...a
102
- }
103
- );
104
- }
105
- function U({
106
- errorMessage: t,
107
- className: a,
108
- ...i
109
- }) {
110
- return /* @__PURE__ */ o(
111
- B,
112
- {
113
- className: l(
114
- a,
115
- (d) => n("w-fit", d)
116
- ),
117
- ...i,
118
- children: [
119
- /* @__PURE__ */ e(f, {}),
120
- /* @__PURE__ */ o(g, { children: [
121
- /* @__PURE__ */ e(x, { children: (d) => /* @__PURE__ */ e(C, { children: d }) }),
122
- /* @__PURE__ */ e(h, { children: (d) => /* @__PURE__ */ e(p, { date: d }) })
123
- ] }),
124
- t && /* @__PURE__ */ e(m, { className: "text-sm text-destructive", slot: "errorMessage", children: t })
125
- ]
126
- }
127
- );
128
- }
129
- function V({
130
- errorMessage: t,
131
- className: a,
132
- ...i
133
- }) {
134
- return /* @__PURE__ */ o(
135
- j,
136
- {
137
- className: l(
138
- a,
139
- (d) => n("w-fit", d)
140
- ),
141
- ...i,
142
- children: [
143
- /* @__PURE__ */ e(f, {}),
144
- /* @__PURE__ */ o(g, { children: [
145
- /* @__PURE__ */ e(x, { children: (d) => /* @__PURE__ */ e(C, { children: d }) }),
146
- /* @__PURE__ */ e(h, { children: (d) => /* @__PURE__ */ e(p, { date: d }) })
147
- ] }),
148
- t && /* @__PURE__ */ e(m, { slot: "errorMessage", className: "text-sm text-destructive", children: t })
149
- ]
150
- }
151
- );
152
- }
153
- export {
154
- U as Calendar,
155
- p as CalendarCell,
156
- g as CalendarGrid,
157
- h as CalendarGridBody,
158
- x as CalendarGridHeader,
159
- C as CalendarHeaderCell,
160
- f as CalendarHeading,
161
- V as RangeCalendar
162
- };
163
- //# sourceMappingURL=calendar.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar.es.js","sources":["../../../lib/components/ui/calendar.tsx"],"sourcesContent":["import { getLocalTimeZone, today } from \"@internationalized/date\"\nimport * as React from \"react\"\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarCellProps as AriaCalendarCellProps,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridBodyProps as AriaCalendarGridBodyProps,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarGridProps as AriaCalendarGridProps,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarHeaderCellProps as AriaCalendarHeaderCellProps,\n CalendarProps as AriaCalendarProps,\n DateValue as AriaDateValue,\n Heading as AriaHeading,\n RangeCalendar as AriaRangeCalendar,\n RangeCalendarProps as AriaRangeCalendarProps,\n RangeCalendarStateContext as AriaRangeCalendarStateContext,\n composeRenderProps,\n Text,\n useLocale\n} from \"react-aria-components\"\n\nimport { Button, buttonVariants } from \"@/components/ui/button\"\nimport { cn } from \"@/utils/index\"\nimport { ChevronLeft, ChevronRight } from \"lucide-react\"\n\nexport function CalendarHeading(props: React.HTMLAttributes<HTMLElement>) {\n let { direction } = useLocale()\n\n return (\n <header className=\"flex w-full items-center gap-1 px-1 pb-4\" {...props}>\n <Button\n slot=\"previous\"\n size='none'\n className={cn(\n \"size-7 bg-transparent p-0 opacity-50\",\n /* Hover */\n \"data-[hovered]:opacity-100\"\n )}\n >\n {direction === \"rtl\" ? (\n <ChevronRight aria-hidden />\n ) : (\n <ChevronLeft aria-hidden />\n )}\n </Button>\n <AriaHeading className=\"grow text-center text-sm font-medium\" />\n <Button\n slot=\"next\"\n className={cn(\n \"size-7 bg-transparent p-0 opacity-50\",\n /* Hover */\n \"data-[hovered]:opacity-100\"\n )}\n >\n {direction === \"rtl\" ? (\n <ChevronLeft aria-hidden />\n ) : (\n <ChevronRight aria-hidden />\n )}\n </Button>\n </header>\n )\n}\n\nexport function CalendarGrid({ className, ...props }: AriaCalendarGridProps) {\n return (\n <AriaCalendarGrid\n className={cn(\n \" border-separate border-spacing-x-0 border-spacing-y-1 \",\n className\n )}\n {...props}\n />\n )\n}\n\nexport const CalendarGridHeader = AriaCalendarGridHeader;\n\nexport function CalendarHeaderCell({\n className,\n ...props\n}: AriaCalendarHeaderCellProps) {\n return (\n <AriaCalendarHeaderCell\n className={cn(\n \"w-9 text-xs font-normal text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function CalendarGridBody({\n className,\n ...props\n}: AriaCalendarGridBodyProps) {\n return (\n <AriaCalendarGridBody className={cn(\"[&>tr>td]:p-0\", className)} {...props} />\n )\n}\n\nexport function CalendarCell({ className, ...props }: AriaCalendarCellProps) {\n const isRange = Boolean(React.useContext(AriaRangeCalendarStateContext))\n return (\n <AriaCalendarCell\n className={composeRenderProps(className, (className, renderProps) =>\n cn(\n buttonVariants({ variant: \"ghost\", size: 'none' }),\n \"relative flex size-9 items-center justify-center p-0 text-sm font-normal\",\n /* Disabled */\n renderProps.isDisabled && \"text-muted-foreground opacity-50\",\n /* Selected */\n renderProps.isSelected &&\n \"bg-primary text-primary-foreground data-[focused]:bg-primary data-[focused]:text-primary-foreground\",\n /* Hover */\n renderProps.isHovered &&\n renderProps.isSelected &&\n (renderProps.isSelectionStart ||\n renderProps.isSelectionEnd ||\n !isRange) &&\n \"data-[hovered]:bg-primary data-[hovered]:text-primary-foreground\",\n /* Selection Start/End */\n renderProps.isSelected &&\n isRange &&\n !renderProps.isSelectionStart &&\n !renderProps.isSelectionEnd &&\n \"rounded-none bg-accent text-accent-foreground\",\n /* Outside Month */\n renderProps.isOutsideMonth &&\n \"text-muted-foreground opacity-50 data-[selected]:bg-accent/50 data-[selected]:text-muted-foreground data-[selected]:opacity-30\",\n /* Current Date */\n renderProps.date.compare(today(getLocalTimeZone())) === 0 &&\n !renderProps.isSelected &&\n \"bg-accent text-accent-foreground\",\n /* Unavailable Date */\n renderProps.isUnavailable && \"cursor-default text-destructive \",\n renderProps.isInvalid &&\n \"bg-destructive text-destructive-foreground data-[focused]:bg-destructive data-[hovered]:bg-destructive data-[focused]:text-destructive-foreground data-[hovered]:text-destructive-foreground\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\ninterface CalendarProps<T extends AriaDateValue>\n extends AriaCalendarProps<T> {\n errorMessage?: string\n}\n\nexport function Calendar<T extends AriaDateValue>({\n errorMessage,\n className,\n ...props\n}: CalendarProps<T>) {\n return (\n <AriaCalendar\n className={composeRenderProps(className, (className) =>\n cn(\"w-fit\", className)\n )}\n {...props}\n >\n <CalendarHeading />\n <CalendarGrid>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} />}\n </CalendarGridBody>\n </CalendarGrid>\n {errorMessage && (\n <Text className=\"text-sm text-destructive\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </AriaCalendar>\n )\n}\n\ninterface RangeCalendarProps<T extends AriaDateValue>\n extends AriaRangeCalendarProps<T> {\n errorMessage?: string\n}\n\nexport function RangeCalendar<T extends AriaDateValue>({\n errorMessage,\n className,\n ...props\n}: RangeCalendarProps<T>) {\n return (\n <AriaRangeCalendar\n className={composeRenderProps(className, (className) =>\n cn(\"w-fit\", className)\n )}\n {...props}\n >\n <CalendarHeading />\n <CalendarGrid>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} />}\n </CalendarGridBody>\n </CalendarGrid>\n {errorMessage && (\n <Text slot=\"errorMessage\" className=\"text-sm text-destructive\">\n {errorMessage}\n </Text>\n )}\n </AriaRangeCalendar>\n )\n}\n\n"],"names":["CalendarHeading","props","direction","useLocale","jsxs","jsx","Button","cn","ChevronRight","ChevronLeft","AriaHeading","CalendarGrid","className","AriaCalendarGrid","CalendarGridHeader","AriaCalendarGridHeader","CalendarHeaderCell","AriaCalendarHeaderCell","CalendarGridBody","AriaCalendarGridBody","CalendarCell","isRange","React","AriaRangeCalendarStateContext","AriaCalendarCell","composeRenderProps","renderProps","buttonVariants","today","getLocalTimeZone","Calendar","errorMessage","AriaCalendar","day","date","Text","RangeCalendar","AriaRangeCalendar"],"mappings":"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"}