ml-uikit 1.1.2 → 1.1.4

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 (181) hide show
  1. package/dist/components/ui/phone-countries.d.ts +9 -0
  2. package/dist/components/ui/phone-countries.d.ts.map +1 -0
  3. package/dist/components/ui/phone-input.d.ts +18 -0
  4. package/dist/components/ui/phone-input.d.ts.map +1 -0
  5. package/dist/components/ui/select.d.ts +6 -1
  6. package/dist/components/ui/select.d.ts.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.cjs10.js +1 -1
  9. package/dist/index.cjs11.js +1 -1
  10. package/dist/index.cjs12.js +1 -1
  11. package/dist/index.cjs13.js +1 -1
  12. package/dist/index.cjs14.js +1 -1
  13. package/dist/index.cjs15.js +1 -1
  14. package/dist/index.cjs16.js +1 -1
  15. package/dist/index.cjs17.js +1 -1
  16. package/dist/index.cjs19.js +1 -1
  17. package/dist/index.cjs20.js +1 -1
  18. package/dist/index.cjs21.js +1 -1
  19. package/dist/index.cjs22.js +1 -1
  20. package/dist/index.cjs23.js +1 -1
  21. package/dist/index.cjs24.js +1 -1
  22. package/dist/index.cjs25.js +1 -1
  23. package/dist/index.cjs26.js +1 -1
  24. package/dist/index.cjs27.js +1 -1
  25. package/dist/index.cjs28.js +1 -1
  26. package/dist/index.cjs29.js +1 -1
  27. package/dist/index.cjs3.js +1 -1
  28. package/dist/index.cjs30.js +1 -1
  29. package/dist/index.cjs31.js +1 -1
  30. package/dist/index.cjs31.js.map +1 -1
  31. package/dist/index.cjs32.js +1 -1
  32. package/dist/index.cjs32.js.map +1 -1
  33. package/dist/index.cjs33.js +1 -1
  34. package/dist/index.cjs33.js.map +1 -1
  35. package/dist/index.cjs34.js +1 -1
  36. package/dist/index.cjs34.js.map +1 -1
  37. package/dist/index.cjs35.js +1 -1
  38. package/dist/index.cjs35.js.map +1 -1
  39. package/dist/index.cjs36.js +1 -1
  40. package/dist/index.cjs36.js.map +1 -1
  41. package/dist/index.cjs37.js +1 -1
  42. package/dist/index.cjs37.js.map +1 -1
  43. package/dist/index.cjs38.js +1 -1
  44. package/dist/index.cjs38.js.map +1 -1
  45. package/dist/index.cjs39.js +1 -1
  46. package/dist/index.cjs39.js.map +1 -1
  47. package/dist/index.cjs4.js +1 -1
  48. package/dist/index.cjs40.js +1 -1
  49. package/dist/index.cjs40.js.map +1 -1
  50. package/dist/index.cjs41.js +1 -1
  51. package/dist/index.cjs41.js.map +1 -1
  52. package/dist/index.cjs42.js +1 -1
  53. package/dist/index.cjs42.js.map +1 -1
  54. package/dist/index.cjs43.js +1 -1
  55. package/dist/index.cjs43.js.map +1 -1
  56. package/dist/index.cjs44.js +1 -1
  57. package/dist/index.cjs44.js.map +1 -1
  58. package/dist/index.cjs45.js +1 -1
  59. package/dist/index.cjs45.js.map +1 -1
  60. package/dist/index.cjs46.js +1 -1
  61. package/dist/index.cjs46.js.map +1 -1
  62. package/dist/index.cjs47.js +1 -1
  63. package/dist/index.cjs47.js.map +1 -1
  64. package/dist/index.cjs48.js +1 -1
  65. package/dist/index.cjs48.js.map +1 -1
  66. package/dist/index.cjs49.js +1 -1
  67. package/dist/index.cjs49.js.map +1 -1
  68. package/dist/index.cjs5.js +1 -1
  69. package/dist/index.cjs50.js +1 -1
  70. package/dist/index.cjs50.js.map +1 -1
  71. package/dist/index.cjs51.js +1 -1
  72. package/dist/index.cjs51.js.map +1 -1
  73. package/dist/index.cjs52.js +1 -1
  74. package/dist/index.cjs52.js.map +1 -1
  75. package/dist/index.cjs53.js +1 -1
  76. package/dist/index.cjs53.js.map +1 -1
  77. package/dist/index.cjs54.js +1 -1
  78. package/dist/index.cjs54.js.map +1 -1
  79. package/dist/index.cjs55.js +1 -1
  80. package/dist/index.cjs55.js.map +1 -1
  81. package/dist/index.cjs56.js +1 -1
  82. package/dist/index.cjs56.js.map +1 -1
  83. package/dist/index.cjs57.js +1 -1
  84. package/dist/index.cjs57.js.map +1 -1
  85. package/dist/index.cjs58.js +2 -0
  86. package/dist/index.cjs58.js.map +1 -0
  87. package/dist/index.cjs59.js +2 -0
  88. package/dist/index.cjs59.js.map +1 -0
  89. package/dist/index.cjs7.js +1 -1
  90. package/dist/index.cjs8.js +1 -1
  91. package/dist/index.cjs9.js +1 -1
  92. package/dist/index.d.ts +4 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.es.js +243 -239
  95. package/dist/index.es.js.map +1 -1
  96. package/dist/index.es10.js +1 -1
  97. package/dist/index.es11.js +1 -1
  98. package/dist/index.es12.js +2 -2
  99. package/dist/index.es13.js +1 -1
  100. package/dist/index.es14.js +1 -1
  101. package/dist/index.es15.js +1 -1
  102. package/dist/index.es16.js +1 -1
  103. package/dist/index.es17.js +1 -1
  104. package/dist/index.es19.js +1 -1
  105. package/dist/index.es20.js +1 -1
  106. package/dist/index.es21.js +1 -1
  107. package/dist/index.es22.js +1 -1
  108. package/dist/index.es23.js +1 -1
  109. package/dist/index.es24.js +1 -1
  110. package/dist/index.es25.js +3 -3
  111. package/dist/index.es26.js +2 -2
  112. package/dist/index.es27.js +1 -1
  113. package/dist/index.es28.js +1 -1
  114. package/dist/index.es29.js +2 -2
  115. package/dist/index.es3.js +1 -1
  116. package/dist/index.es30.js +1 -1
  117. package/dist/index.es31.js +149 -182
  118. package/dist/index.es31.js.map +1 -1
  119. package/dist/index.es32.js +253 -29
  120. package/dist/index.es32.js.map +1 -1
  121. package/dist/index.es33.js +183 -14
  122. package/dist/index.es33.js.map +1 -1
  123. package/dist/index.es34.js +29 -93
  124. package/dist/index.es34.js.map +1 -1
  125. package/dist/index.es35.js +10 -185
  126. package/dist/index.es35.js.map +1 -1
  127. package/dist/index.es36.js +92 -96
  128. package/dist/index.es36.js.map +1 -1
  129. package/dist/index.es37.js +171 -76
  130. package/dist/index.es37.js.map +1 -1
  131. package/dist/index.es38.js +92 -16
  132. package/dist/index.es38.js.map +1 -1
  133. package/dist/index.es39.js +92 -19
  134. package/dist/index.es39.js.map +1 -1
  135. package/dist/index.es4.js +1 -1
  136. package/dist/index.es40.js +19 -28
  137. package/dist/index.es40.js.map +1 -1
  138. package/dist/index.es41.js +16 -26
  139. package/dist/index.es41.js.map +1 -1
  140. package/dist/index.es42.js +21 -109
  141. package/dist/index.es42.js.map +1 -1
  142. package/dist/index.es43.js +33 -21
  143. package/dist/index.es43.js.map +1 -1
  144. package/dist/index.es44.js +163 -80
  145. package/dist/index.es44.js.map +1 -1
  146. package/dist/index.es45.js +17 -552
  147. package/dist/index.es45.js.map +1 -1
  148. package/dist/index.es46.js +98 -14
  149. package/dist/index.es46.js.map +1 -1
  150. package/dist/index.es47.js +543 -34
  151. package/dist/index.es47.js.map +1 -1
  152. package/dist/index.es48.js +12 -19
  153. package/dist/index.es48.js.map +1 -1
  154. package/dist/index.es49.js +45 -13
  155. package/dist/index.es49.js.map +1 -1
  156. package/dist/index.es5.js +1 -1
  157. package/dist/index.es50.js +20 -25
  158. package/dist/index.es50.js.map +1 -1
  159. package/dist/index.es51.js +14 -205
  160. package/dist/index.es51.js.map +1 -1
  161. package/dist/index.es52.js +24 -46
  162. package/dist/index.es52.js.map +1 -1
  163. package/dist/index.es53.js +202 -14
  164. package/dist/index.es53.js.map +1 -1
  165. package/dist/index.es54.js +44 -29
  166. package/dist/index.es54.js.map +1 -1
  167. package/dist/index.es55.js +15 -35
  168. package/dist/index.es55.js.map +1 -1
  169. package/dist/index.es56.js +32 -18
  170. package/dist/index.es56.js.map +1 -1
  171. package/dist/index.es57.js +38 -6
  172. package/dist/index.es57.js.map +1 -1
  173. package/dist/index.es58.js +23 -0
  174. package/dist/index.es58.js.map +1 -0
  175. package/dist/index.es59.js +9 -0
  176. package/dist/index.es59.js.map +1 -0
  177. package/dist/index.es7.js +1 -1
  178. package/dist/index.es8.js +1 -1
  179. package/dist/index.es9.js +1 -1
  180. package/dist/style.css +127 -11
  181. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import P from "embla-carousel-react";
3
3
  import { ArrowLeft as S, ArrowRight as R } from "lucide-react";
4
- import { cn as m } from "./index.es57.js";
4
+ import { cn as m } from "./index.es59.js";
5
5
  import { Button as x } from "./index.es10.js";
6
6
  const w = e.createContext(null);
7
7
  function d() {
@@ -1,6 +1,6 @@
1
1
  import * as e from "react";
2
2
  import * as C from "recharts";
3
- import { cn as i } from "./index.es57.js";
3
+ import { cn as i } from "./index.es59.js";
4
4
  const $ = { light: "", dark: ".dark" }, k = e.createContext(null);
5
5
  function w() {
6
6
  const s = e.useContext(k);
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import * as t from "@radix-ui/react-checkbox";
3
3
  import { Check as o, Minus as s } from "lucide-react";
4
- import { cn as a } from "./index.es57.js";
4
+ import { cn as a } from "./index.es59.js";
5
5
  const b = e.forwardRef(({ className: d, ...r }, i) => /* @__PURE__ */ e.createElement(
6
6
  t.Root,
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import { Command as m } from "cmdk";
3
3
  import { Search as n } from "lucide-react";
4
- import { cn as o } from "./index.es57.js";
4
+ import { cn as o } from "./index.es59.js";
5
5
  import { Dialog as s, DialogContent as p } from "./index.es21.js";
6
6
  const d = e.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e.createElement(
7
7
  m,
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import * as t from "@radix-ui/react-context-menu";
3
3
  import { Check as l, Circle as i, ChevronRight as m } from "lucide-react";
4
- import { cn as s } from "./index.es57.js";
4
+ import { cn as s } from "./index.es59.js";
5
5
  const w = t.Root, E = t.Trigger, M = t.Group, v = t.Portal, R = t.Sub, I = t.RadioGroup, c = e.forwardRef(({ className: a, inset: o, children: n, ...r }, d) => /* @__PURE__ */ e.createElement(
6
6
  t.SubTrigger,
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import * as t from "@radix-ui/react-dialog";
3
3
  import { X as r } from "lucide-react";
4
- import { cn as l } from "./index.es57.js";
4
+ import { cn as l } from "./index.es59.js";
5
5
  const N = t.Root, x = t.Trigger, d = t.Portal, D = t.Close, n = e.forwardRef(({ className: a, ...o }, s) => /* @__PURE__ */ e.createElement(
6
6
  t.Overlay,
7
7
  {
@@ -1,6 +1,6 @@
1
1
  import * as e from "react";
2
2
  import { Drawer as t } from "vaul";
3
- import { cn as o } from "./index.es57.js";
3
+ import { cn as o } from "./index.es59.js";
4
4
  const m = ({
5
5
  shouldScaleBackground: r = !0,
6
6
  ...a
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import * as t from "@radix-ui/react-dropdown-menu";
3
3
  import { Check as i, Circle as l, ChevronRight as m } from "lucide-react";
4
- import { cn as s } from "./index.es57.js";
4
+ import { cn as s } from "./index.es59.js";
5
5
  const v = t.Root, D = t.Trigger, E = t.Group, M = t.Portal, R = t.Sub, I = t.RadioGroup, c = e.forwardRef(({ className: o, inset: a, children: n, ...r }, d) => /* @__PURE__ */ e.createElement(
6
6
  t.SubTrigger,
7
7
  {
@@ -1,6 +1,6 @@
1
1
  import * as n from "react";
2
2
  import { cva as i } from "class-variance-authority";
3
- import { cn as a } from "./index.es57.js";
3
+ import { cn as a } from "./index.es59.js";
4
4
  function c({ className: t, ...e }) {
5
5
  return /* @__PURE__ */ n.createElement(
6
6
  "div",
@@ -1,8 +1,8 @@
1
1
  import { useMemo as n } from "react";
2
2
  import { cva as s } from "class-variance-authority";
3
- import { cn as l } from "./index.es57.js";
4
- import { Label as c } from "./index.es33.js";
5
- import { Separator as f } from "./index.es43.js";
3
+ import { cn as l } from "./index.es59.js";
4
+ import { Label as c } from "./index.es35.js";
5
+ import { Separator as f } from "./index.es45.js";
6
6
  function h({ className: t, ...e }) {
7
7
  return /* @__PURE__ */ React.createElement(
8
8
  "fieldset",
@@ -1,8 +1,8 @@
1
1
  import * as e from "react";
2
2
  import { Slot as f } from "@radix-ui/react-slot";
3
3
  import { FormProvider as u, useFormContext as F, Controller as p } from "react-hook-form";
4
- import { cn as a } from "./index.es57.js";
5
- import { Label as I } from "./index.es33.js";
4
+ import { cn as a } from "./index.es59.js";
5
+ import { Label as I } from "./index.es35.js";
6
6
  const h = u, c = e.createContext(null), R = ({
7
7
  ...r
8
8
  }) => /* @__PURE__ */ e.createElement(c.Provider, { value: { name: r.name } }, /* @__PURE__ */ e.createElement(p, { ...r })), i = () => {
@@ -1,6 +1,6 @@
1
1
  import * as o from "react";
2
2
  import * as t from "@radix-ui/react-hover-card";
3
- import { cn as n } from "./index.es57.js";
3
+ import { cn as n } from "./index.es59.js";
4
4
  const p = t.Root, f = t.Trigger, s = o.forwardRef(({ className: e, align: a = "center", sideOffset: r = 4, ...d }, i) => /* @__PURE__ */ o.createElement(
5
5
  t.Content,
6
6
  {
@@ -1,5 +1,5 @@
1
1
  import * as e from "react";
2
- import { cn as l } from "./index.es57.js";
2
+ import { cn as l } from "./index.es59.js";
3
3
  const a = e.forwardRef(
4
4
  ({ className: i, type: r, ...t }, o) => /* @__PURE__ */ e.createElement(
5
5
  "input",
@@ -1,9 +1,9 @@
1
1
  import * as a from "react";
2
2
  import { cva as s } from "class-variance-authority";
3
- import { cn as r } from "./index.es57.js";
3
+ import { cn as r } from "./index.es59.js";
4
4
  import { Button as u } from "./index.es10.js";
5
5
  import { Input as p } from "./index.es28.js";
6
- import { Textarea as l } from "./index.es53.js";
6
+ import { Textarea as l } from "./index.es55.js";
7
7
  function h({ className: e, ...t }) {
8
8
  return /* @__PURE__ */ a.createElement(
9
9
  "div",
package/dist/index.es3.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import * as t from "@radix-ui/react-accordion";
3
3
  import { ChevronDown as i } from "lucide-react";
4
- import { cn as m } from "./index.es57.js";
4
+ import { cn as m } from "./index.es59.js";
5
5
  const p = t.Root, c = e.forwardRef(({ className: a, ...o }, r) => /* @__PURE__ */ e.createElement(
6
6
  t.Item,
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import * as e from "react";
2
2
  import { OTPInput as c, OTPInputContext as d } from "input-otp";
3
3
  import { Minus as p } from "lucide-react";
4
- import { cn as n } from "./index.es57.js";
4
+ import { cn as n } from "./index.es59.js";
5
5
  const u = e.forwardRef(({ className: t, containerClassName: r, ...a }, o) => /* @__PURE__ */ e.createElement(
6
6
  c,
7
7
  {
@@ -1,188 +1,155 @@
1
- import * as a from "react";
2
- import { Slot as m } from "@radix-ui/react-slot";
3
- import { cva as i } from "class-variance-authority";
4
- import { cn as r } from "./index.es57.js";
5
- import { Separator as d } from "./index.es43.js";
6
- function x({ className: t, ...e }) {
7
- return /* @__PURE__ */ a.createElement(
8
- "div",
9
- {
10
- role: "list",
11
- "data-slot": "item-group",
12
- className: r("group/item-group flex flex-col", t),
13
- ...e
14
- }
15
- );
16
- }
17
- function b({
18
- className: t,
19
- ...e
20
- }) {
21
- return /* @__PURE__ */ a.createElement(
22
- d,
23
- {
24
- "data-slot": "item-separator",
25
- orientation: "horizontal",
26
- className: r("my-0", t),
27
- ...e
28
- }
29
- );
30
- }
31
- const c = i(
32
- "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 [a]:transition-colors flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-colors duration-100 focus-visible:ring-[3px]",
33
- {
34
- variants: {
35
- variant: {
36
- default: "bg-transparent",
37
- outline: "border-border",
38
- muted: "bg-muted/50"
1
+ import * as e from "react";
2
+ import { Globe as R, ChevronDown as U, Check as A } from "lucide-react";
3
+ import { cn as a } from "./index.es59.js";
4
+ import { Command as $, CommandInput as B, CommandList as D, CommandEmpty as G, CommandGroup as L, CommandItem as Y } from "./index.es19.js";
5
+ import { Popover as H, PopoverTrigger as M, PopoverContent as V } from "./index.es40.js";
6
+ import { PHONE_COUNTRY_OPTIONS as j } from "./index.es32.js";
7
+ const q = j, z = e.forwardRef(
8
+ ({
9
+ className: h,
10
+ inputClassName: _,
11
+ label: d = "Phone number",
12
+ helperText: o,
13
+ error: n,
14
+ country: c,
15
+ defaultCountry: E,
16
+ countryOptions: m = q,
17
+ onCountryChange: u,
18
+ disabled: l,
19
+ type: N = "tel",
20
+ onFocus: k,
21
+ onBlur: v,
22
+ placeholder: C = "Enter phone number",
23
+ ...p
24
+ }, y) => {
25
+ const [x, i] = e.useState(!1), [I, f] = e.useState(!1), [S, P] = e.useState(
26
+ E
27
+ ), s = c ?? S, r = e.useMemo(
28
+ () => m.find((t) => t.value === s),
29
+ [m, s]
30
+ ), O = e.useCallback(
31
+ (t) => {
32
+ c === void 0 && P(t.value), u?.(t), i(!1);
39
33
  },
40
- size: {
41
- default: "gap-4 p-4 ",
42
- sm: "gap-2.5 px-4 py-3"
43
- }
44
- },
45
- defaultVariants: {
46
- variant: "default",
47
- size: "default"
48
- }
49
- }
50
- );
51
- function E({
52
- className: t,
53
- variant: e = "default",
54
- size: n = "default",
55
- asChild: o = !1,
56
- ...s
57
- }) {
58
- const l = o ? m : "div";
59
- return /* @__PURE__ */ a.createElement(
60
- l,
61
- {
62
- "data-slot": "item",
63
- "data-variant": e,
64
- "data-size": n,
65
- className: r(c({ variant: e, size: n, className: t })),
66
- ...s
67
- }
68
- );
69
- }
70
- const u = i(
71
- "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none",
72
- {
73
- variants: {
74
- variant: {
75
- default: "bg-transparent",
76
- icon: "bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
77
- image: "size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover"
78
- }
79
- },
80
- defaultVariants: {
81
- variant: "default"
82
- }
34
+ [c, u]
35
+ ), F = p["aria-invalid"] === !0 || p["aria-invalid"] === "true", T = !!n || F, b = x || I;
36
+ return /* @__PURE__ */ e.createElement("div", { className: a("flex w-full flex-col items-start gap-1", h) }, d ? /* @__PURE__ */ e.createElement("p", { className: "w-full text-[14px] font-medium leading-[20px] text-black" }, d) : null, /* @__PURE__ */ e.createElement(
37
+ "div",
38
+ {
39
+ className: a(
40
+ "flex h-10 w-full items-stretch overflow-hidden rounded-[8px] border bg-white transition-colors",
41
+ l ? "border-[#e6e6e6] bg-[#f2f2f2]" : T ? "border-[#ff3b30]" : b ? "border-[#1d1c20]" : "border-[#e6e6e6]"
42
+ )
43
+ },
44
+ /* @__PURE__ */ e.createElement(
45
+ H,
46
+ {
47
+ open: x,
48
+ onOpenChange: (t) => {
49
+ l || i(t);
50
+ }
51
+ },
52
+ /* @__PURE__ */ e.createElement(M, { asChild: !0 }, /* @__PURE__ */ e.createElement(
53
+ "button",
54
+ {
55
+ type: "button",
56
+ disabled: l,
57
+ "aria-label": "Select country",
58
+ className: a(
59
+ "flex h-full shrink-0 items-center gap-1 px-2 text-[14px] leading-[20px] outline-none transition-colors",
60
+ r ? b ? "bg-white" : "bg-[#fafafa]" : "bg-white",
61
+ l && "bg-[#f2f2f2] text-[#b3b3b3]"
62
+ )
63
+ },
64
+ r ? /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement("span", { className: "text-[#adacb0]" }, r.flag), /* @__PURE__ */ e.createElement("span", { className: "font-normal text-black" }, r.label)) : /* @__PURE__ */ e.createElement(R, { className: "h-4 w-4 text-[#adacb0]" }),
65
+ /* @__PURE__ */ e.createElement(U, { className: "h-4 w-4 text-[#adacb0]" })
66
+ )),
67
+ /* @__PURE__ */ e.createElement(
68
+ V,
69
+ {
70
+ align: "start",
71
+ sideOffset: 8,
72
+ className: "w-[240px] rounded-[8px] border border-[#e6e6e6] bg-white p-0 shadow-[0px_2px_4px_0px_rgba(19,25,39,0.12),0px_4px_4px_0px_rgba(19,25,39,0.08)]"
73
+ },
74
+ /* @__PURE__ */ e.createElement(
75
+ $,
76
+ {
77
+ className: a(
78
+ "rounded-[8px] bg-white",
79
+ "[&_[cmdk-input-wrapper]]:mx-2 [&_[cmdk-input-wrapper]]:mb-1 [&_[cmdk-input-wrapper]]:mt-2 [&_[cmdk-input-wrapper]]:h-8 [&_[cmdk-input-wrapper]]:rounded-[4px] [&_[cmdk-input-wrapper]]:border [&_[cmdk-input-wrapper]]:border-[#e6e6e6] [&_[cmdk-input-wrapper]]:px-3",
80
+ "[&_[cmdk-input-wrapper]_svg]:mr-2 [&_[cmdk-input-wrapper]_svg]:h-4 [&_[cmdk-input-wrapper]_svg]:w-4 [&_[cmdk-input-wrapper]_svg]:text-[#adacb0]",
81
+ "[&_[cmdk-input]]:h-full [&_[cmdk-input]]:py-0 [&_[cmdk-input]]:text-[14px] [&_[cmdk-input]]:leading-[20px] [&_[cmdk-input]]:text-black [&_[cmdk-input]]:placeholder:text-[#adacb0]"
82
+ )
83
+ },
84
+ /* @__PURE__ */ e.createElement(B, { placeholder: "Search country" }),
85
+ /* @__PURE__ */ e.createElement(D, { className: "max-h-56 px-1 pb-1" }, /* @__PURE__ */ e.createElement(G, { className: "px-3 py-2 text-left text-[12px] leading-[16px] text-[#7f7d83]" }, "No country found"), /* @__PURE__ */ e.createElement(L, { className: "p-0" }, m.map((t) => {
86
+ const g = t.value === s, w = t.name || t.label;
87
+ return /* @__PURE__ */ e.createElement(
88
+ Y,
89
+ {
90
+ key: t.value,
91
+ value: `${t.label} ${w} ${t.dialCode}`,
92
+ onSelect: () => O(t),
93
+ className: a(
94
+ "flex w-full cursor-pointer items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[20px] text-black",
95
+ "data-[selected=true]:bg-[#fafafa] data-[selected=true]:text-black",
96
+ g && "bg-[#fafafa]"
97
+ )
98
+ },
99
+ /* @__PURE__ */ e.createElement("span", { className: "text-[#adacb0]" }, t.flag),
100
+ /* @__PURE__ */ e.createElement("span", { className: "min-w-0 flex-1 truncate" }, w),
101
+ t.dialCode ? /* @__PURE__ */ e.createElement("span", { className: "text-[#7f7d83]" }, t.dialCode) : null,
102
+ /* @__PURE__ */ e.createElement(
103
+ A,
104
+ {
105
+ className: a(
106
+ "h-4 w-4 text-[#1d1c20]",
107
+ g ? "opacity-100" : "opacity-0"
108
+ )
109
+ }
110
+ )
111
+ );
112
+ })))
113
+ )
114
+ )
115
+ ),
116
+ /* @__PURE__ */ e.createElement(
117
+ "div",
118
+ {
119
+ className: a(
120
+ "flex min-w-0 flex-1 items-center gap-2 border-l border-[#e6e6e6] bg-white px-3 py-2",
121
+ l && "bg-[#f2f2f2]"
122
+ )
123
+ },
124
+ r?.dialCode ? /* @__PURE__ */ e.createElement("span", { className: "shrink-0 text-[14px] leading-[20px] text-[#7f7d83]" }, r.dialCode) : null,
125
+ /* @__PURE__ */ e.createElement(
126
+ "input",
127
+ {
128
+ ref: y,
129
+ disabled: l,
130
+ placeholder: C,
131
+ onFocus: (t) => {
132
+ f(!0), k?.(t);
133
+ },
134
+ onBlur: (t) => {
135
+ f(!1), v?.(t);
136
+ },
137
+ className: a(
138
+ "h-full w-full min-w-0 border-0 bg-transparent p-0 text-[14px] leading-[20px] text-black outline-none placeholder:text-[#adacb0]",
139
+ l && "cursor-not-allowed text-[#9ca3af] placeholder:text-[#b3b3b3]",
140
+ _
141
+ ),
142
+ type: N,
143
+ ...p
144
+ }
145
+ )
146
+ )
147
+ ), n ? /* @__PURE__ */ e.createElement("p", { className: "w-full text-[12px] leading-[16px] text-[#ff3b30]" }, n) : o ? /* @__PURE__ */ e.createElement("p", { className: "w-full text-[12px] leading-[16px] text-[#7f7d83]" }, o) : null);
83
148
  }
84
149
  );
85
- function I({
86
- className: t,
87
- variant: e = "default",
88
- ...n
89
- }) {
90
- return /* @__PURE__ */ a.createElement(
91
- "div",
92
- {
93
- "data-slot": "item-media",
94
- "data-variant": e,
95
- className: r(u({ variant: e, className: t })),
96
- ...n
97
- }
98
- );
99
- }
100
- function N({ className: t, ...e }) {
101
- return /* @__PURE__ */ a.createElement(
102
- "div",
103
- {
104
- "data-slot": "item-content",
105
- className: r(
106
- "flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",
107
- t
108
- ),
109
- ...e
110
- }
111
- );
112
- }
113
- function h({ className: t, ...e }) {
114
- return /* @__PURE__ */ a.createElement(
115
- "div",
116
- {
117
- "data-slot": "item-title",
118
- className: r(
119
- "flex w-fit items-center gap-2 text-sm font-medium leading-snug",
120
- t
121
- ),
122
- ...e
123
- }
124
- );
125
- }
126
- function z({ className: t, ...e }) {
127
- return /* @__PURE__ */ a.createElement(
128
- "p",
129
- {
130
- "data-slot": "item-description",
131
- className: r(
132
- "text-muted-foreground line-clamp-2 text-balance text-sm font-normal leading-normal",
133
- "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
134
- t
135
- ),
136
- ...e
137
- }
138
- );
139
- }
140
- function y({ className: t, ...e }) {
141
- return /* @__PURE__ */ a.createElement(
142
- "div",
143
- {
144
- "data-slot": "item-actions",
145
- className: r("flex items-center gap-2", t),
146
- ...e
147
- }
148
- );
149
- }
150
- function w({ className: t, ...e }) {
151
- return /* @__PURE__ */ a.createElement(
152
- "div",
153
- {
154
- "data-slot": "item-header",
155
- className: r(
156
- "flex basis-full items-center justify-between gap-2",
157
- t
158
- ),
159
- ...e
160
- }
161
- );
162
- }
163
- function j({ className: t, ...e }) {
164
- return /* @__PURE__ */ a.createElement(
165
- "div",
166
- {
167
- "data-slot": "item-footer",
168
- className: r(
169
- "flex basis-full items-center justify-between gap-2",
170
- t
171
- ),
172
- ...e
173
- }
174
- );
175
- }
150
+ z.displayName = "PhoneInput";
176
151
  export {
177
- E as Item,
178
- y as ItemActions,
179
- N as ItemContent,
180
- z as ItemDescription,
181
- j as ItemFooter,
182
- x as ItemGroup,
183
- w as ItemHeader,
184
- I as ItemMedia,
185
- b as ItemSeparator,
186
- h as ItemTitle
152
+ q as DEFAULT_COUNTRY_OPTIONS,
153
+ z as PhoneInput
187
154
  };
188
155
  //# sourceMappingURL=index.es31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es31.js","sources":["../src/components/ui/item.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\"group/item-group flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-0\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n \"group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 [a]:transition-colors flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-colors duration-100 focus-visible:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-border\",\n muted: \"bg-muted/50\",\n },\n size: {\n default: \"gap-4 p-4 \",\n sm: \"gap-2.5 px-4 py-3\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\"\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\n \"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm font-medium leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n \"text-muted-foreground line-clamp-2 text-balance text-sm font-normal leading-normal\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n}\n"],"names":["ItemGroup","className","props","React","cn","ItemSeparator","Separator","itemVariants","cva","Item","variant","size","asChild","Comp","Slot","itemMediaVariants","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
1
+ {"version":3,"file":"index.es31.js","sources":["../src/components/ui/phone-input.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Check, ChevronDown, Globe } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\n\nimport {\n PHONE_COUNTRY_OPTIONS,\n type PhoneCountryOption,\n} from \"./phone-countries\"\n\nconst DEFAULT_COUNTRY_OPTIONS = PHONE_COUNTRY_OPTIONS\n\nexport interface PhoneInputProps\n extends Omit<React.ComponentProps<\"input\">, \"className\"> {\n className?: string\n inputClassName?: string\n label?: string\n helperText?: string\n error?: string\n country?: string\n defaultCountry?: string\n countryOptions?: PhoneCountryOption[]\n onCountryChange?: (country: PhoneCountryOption) => void\n}\n\nconst PhoneInput = React.forwardRef<HTMLInputElement, PhoneInputProps>(\n (\n {\n className,\n inputClassName,\n label = \"Phone number\",\n helperText,\n error,\n country,\n defaultCountry,\n countryOptions = DEFAULT_COUNTRY_OPTIONS,\n onCountryChange,\n disabled,\n type = \"tel\",\n onFocus,\n onBlur,\n placeholder = \"Enter phone number\",\n ...props\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const [isInputFocused, setIsInputFocused] = React.useState(false)\n const [uncontrolledCountry, setUncontrolledCountry] = React.useState(\n defaultCountry\n )\n\n const selectedCountryValue = country ?? uncontrolledCountry\n\n const selectedCountry = React.useMemo(\n () =>\n countryOptions.find((option) => option.value === selectedCountryValue),\n [countryOptions, selectedCountryValue]\n )\n\n const handleCountrySelect = React.useCallback(\n (option: PhoneCountryOption) => {\n if (country === undefined) {\n setUncontrolledCountry(option.value)\n }\n onCountryChange?.(option)\n setOpen(false)\n },\n [country, onCountryChange]\n )\n\n const isAriaInvalid =\n props[\"aria-invalid\"] === true || props[\"aria-invalid\"] === \"true\"\n const hasError = Boolean(error) || isAriaInvalid\n const isActive = open || isInputFocused\n\n return (\n <div className={cn(\"flex w-full flex-col items-start gap-1\", className)}>\n {label ? (\n <p className=\"w-full text-[14px] font-medium leading-[20px] text-black\">\n {label}\n </p>\n ) : null}\n\n <div\n className={cn(\n \"flex h-10 w-full items-stretch overflow-hidden rounded-[8px] border bg-white transition-colors\",\n disabled\n ? \"border-[#e6e6e6] bg-[#f2f2f2]\"\n : hasError\n ? \"border-[#ff3b30]\"\n : isActive\n ? \"border-[#1d1c20]\"\n : \"border-[#e6e6e6]\"\n )}\n >\n <Popover\n open={open}\n onOpenChange={(nextOpen) => {\n if (disabled) {\n return\n }\n setOpen(nextOpen)\n }}\n >\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n disabled={disabled}\n aria-label=\"Select country\"\n className={cn(\n \"flex h-full shrink-0 items-center gap-1 px-2 text-[14px] leading-[20px] outline-none transition-colors\",\n selectedCountry\n ? isActive\n ? \"bg-white\"\n : \"bg-[#fafafa]\"\n : \"bg-white\",\n disabled && \"bg-[#f2f2f2] text-[#b3b3b3]\"\n )}\n >\n {selectedCountry ? (\n <>\n <span className=\"text-[#adacb0]\">{selectedCountry.flag}</span>\n <span className=\"font-normal text-black\">\n {selectedCountry.label}\n </span>\n </>\n ) : (\n <Globe className=\"h-4 w-4 text-[#adacb0]\" />\n )}\n <ChevronDown className=\"h-4 w-4 text-[#adacb0]\" />\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n align=\"start\"\n sideOffset={8}\n className=\"w-[240px] rounded-[8px] border border-[#e6e6e6] bg-white p-0 shadow-[0px_2px_4px_0px_rgba(19,25,39,0.12),0px_4px_4px_0px_rgba(19,25,39,0.08)]\"\n >\n <Command\n className={cn(\n \"rounded-[8px] bg-white\",\n \"[&_[cmdk-input-wrapper]]:mx-2 [&_[cmdk-input-wrapper]]:mb-1 [&_[cmdk-input-wrapper]]:mt-2 [&_[cmdk-input-wrapper]]:h-8 [&_[cmdk-input-wrapper]]:rounded-[4px] [&_[cmdk-input-wrapper]]:border [&_[cmdk-input-wrapper]]:border-[#e6e6e6] [&_[cmdk-input-wrapper]]:px-3\",\n \"[&_[cmdk-input-wrapper]_svg]:mr-2 [&_[cmdk-input-wrapper]_svg]:h-4 [&_[cmdk-input-wrapper]_svg]:w-4 [&_[cmdk-input-wrapper]_svg]:text-[#adacb0]\",\n \"[&_[cmdk-input]]:h-full [&_[cmdk-input]]:py-0 [&_[cmdk-input]]:text-[14px] [&_[cmdk-input]]:leading-[20px] [&_[cmdk-input]]:text-black [&_[cmdk-input]]:placeholder:text-[#adacb0]\"\n )}\n >\n <CommandInput placeholder=\"Search country\" />\n <CommandList className=\"max-h-56 px-1 pb-1\">\n <CommandEmpty className=\"px-3 py-2 text-left text-[12px] leading-[16px] text-[#7f7d83]\">\n No country found\n </CommandEmpty>\n <CommandGroup className=\"p-0\">\n {countryOptions.map((option) => {\n const isSelected = option.value === selectedCountryValue\n const optionName = option.name || option.label\n\n return (\n <CommandItem\n key={option.value}\n value={`${option.label} ${optionName} ${option.dialCode}`}\n onSelect={() => handleCountrySelect(option)}\n className={cn(\n \"flex w-full cursor-pointer items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[20px] text-black\",\n \"data-[selected=true]:bg-[#fafafa] data-[selected=true]:text-black\",\n isSelected && \"bg-[#fafafa]\"\n )}\n >\n <span className=\"text-[#adacb0]\">{option.flag}</span>\n <span className=\"min-w-0 flex-1 truncate\">{optionName}</span>\n {option.dialCode ? (\n <span className=\"text-[#7f7d83]\">{option.dialCode}</span>\n ) : null}\n <Check\n className={cn(\n \"h-4 w-4 text-[#1d1c20]\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n\n <div\n className={cn(\n \"flex min-w-0 flex-1 items-center gap-2 border-l border-[#e6e6e6] bg-white px-3 py-2\",\n disabled && \"bg-[#f2f2f2]\"\n )}\n >\n {selectedCountry?.dialCode ? (\n <span className=\"shrink-0 text-[14px] leading-[20px] text-[#7f7d83]\">\n {selectedCountry.dialCode}\n </span>\n ) : null}\n <input\n ref={ref}\n disabled={disabled}\n placeholder={placeholder}\n onFocus={(event) => {\n setIsInputFocused(true)\n onFocus?.(event)\n }}\n onBlur={(event) => {\n setIsInputFocused(false)\n onBlur?.(event)\n }}\n className={cn(\n \"h-full w-full min-w-0 border-0 bg-transparent p-0 text-[14px] leading-[20px] text-black outline-none placeholder:text-[#adacb0]\",\n disabled &&\n \"cursor-not-allowed text-[#9ca3af] placeholder:text-[#b3b3b3]\",\n inputClassName\n )}\n type={type}\n {...props}\n />\n </div>\n </div>\n\n {error ? (\n <p className=\"w-full text-[12px] leading-[16px] text-[#ff3b30]\">{error}</p>\n ) : helperText ? (\n <p className=\"w-full text-[12px] leading-[16px] text-[#7f7d83]\">\n {helperText}\n </p>\n ) : null}\n </div>\n )\n }\n)\n\nPhoneInput.displayName = \"PhoneInput\"\n\nexport { PhoneInput, DEFAULT_COUNTRY_OPTIONS }\nexport type { PhoneCountryOption }\n"],"names":["DEFAULT_COUNTRY_OPTIONS","PHONE_COUNTRY_OPTIONS","PhoneInput","React","className","inputClassName","label","helperText","error","country","defaultCountry","countryOptions","onCountryChange","disabled","type","onFocus","onBlur","placeholder","props","ref","open","setOpen","isInputFocused","setIsInputFocused","uncontrolledCountry","setUncontrolledCountry","selectedCountryValue","selectedCountry","option","handleCountrySelect","isAriaInvalid","hasError","isActive","cn","Popover","nextOpen","PopoverTrigger","Globe","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","isSelected","optionName","CommandItem","Check","event"],"mappings":"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"}