@rafal.lemieszewski/tide-ui 0.83.0 → 0.84.3

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 (256) hide show
  1. package/README.md +20 -8
  2. package/dist/cjs/components/core-index.cjs +1 -0
  3. package/dist/cjs/components/fundamental/accordion.cjs +1 -0
  4. package/dist/cjs/components/fundamental/alert-dialog.cjs +1 -0
  5. package/dist/cjs/components/fundamental/alert.cjs +1 -0
  6. package/dist/cjs/components/fundamental/autocomplete-search.cjs +1 -0
  7. package/dist/cjs/components/fundamental/avatar-group.cjs +1 -0
  8. package/dist/cjs/components/fundamental/avatar.cjs +1 -0
  9. package/dist/cjs/components/fundamental/badge.cjs +1 -0
  10. package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -0
  11. package/dist/cjs/components/fundamental/button-group.cjs +1 -0
  12. package/dist/cjs/components/fundamental/button.cjs +1 -0
  13. package/dist/cjs/components/fundamental/calendar.cjs +1 -0
  14. package/dist/cjs/components/fundamental/card.cjs +1 -0
  15. package/dist/cjs/components/fundamental/chart.cjs +1 -0
  16. package/dist/cjs/components/fundamental/checkbox.cjs +1 -0
  17. package/dist/cjs/components/fundamental/collapsible.cjs +1 -0
  18. package/dist/cjs/components/fundamental/combobox.cjs +1 -0
  19. package/dist/cjs/components/fundamental/command.cjs +1 -0
  20. package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -0
  21. package/dist/cjs/components/fundamental/custom-icons.cjs +1 -0
  22. package/dist/cjs/components/fundamental/date-picker.cjs +1 -0
  23. package/dist/cjs/components/fundamental/dialog.cjs +1 -0
  24. package/dist/cjs/components/fundamental/drawer.cjs +1 -0
  25. package/dist/cjs/components/fundamental/dropdown-menu.cjs +1 -0
  26. package/dist/cjs/components/fundamental/editable.cjs +1 -0
  27. package/dist/cjs/components/fundamental/empty.cjs +1 -0
  28. package/dist/cjs/components/fundamental/file-upload.cjs +1 -0
  29. package/dist/cjs/components/fundamental/flag.cjs +1 -0
  30. package/dist/cjs/components/fundamental/form-field.cjs +1 -0
  31. package/dist/cjs/components/fundamental/hover-card.cjs +1 -0
  32. package/dist/cjs/components/fundamental/icon.cjs +1 -0
  33. package/dist/cjs/components/fundamental/input-group.cjs +1 -0
  34. package/dist/cjs/components/fundamental/input.cjs +1 -0
  35. package/dist/cjs/components/fundamental/kbd.cjs +1 -0
  36. package/dist/cjs/components/fundamental/label.cjs +1 -0
  37. package/dist/cjs/components/fundamental/month-picker.cjs +1 -0
  38. package/dist/cjs/components/fundamental/pagination.cjs +1 -0
  39. package/dist/cjs/components/fundamental/popover.cjs +1 -0
  40. package/dist/cjs/components/fundamental/progress.cjs +1 -0
  41. package/dist/cjs/components/fundamental/radio-group.cjs +1 -0
  42. package/dist/cjs/components/fundamental/resizable.cjs +1 -0
  43. package/dist/cjs/components/fundamental/scroll-area.cjs +1 -0
  44. package/dist/cjs/components/fundamental/select.cjs +1 -0
  45. package/dist/cjs/components/fundamental/separator.cjs +1 -0
  46. package/dist/cjs/components/fundamental/sheet.cjs +1 -0
  47. package/dist/cjs/components/fundamental/sidebar.cjs +1 -0
  48. package/dist/cjs/components/fundamental/skeleton.cjs +1 -0
  49. package/dist/cjs/components/fundamental/slider.cjs +1 -0
  50. package/dist/cjs/components/fundamental/spinner.cjs +1 -0
  51. package/dist/cjs/components/fundamental/switch.cjs +1 -0
  52. package/dist/cjs/components/fundamental/table.cjs +1 -0
  53. package/dist/cjs/components/fundamental/tabs.cjs +1 -0
  54. package/dist/cjs/components/fundamental/tag.cjs +27 -0
  55. package/dist/cjs/components/fundamental/text-link.cjs +1 -0
  56. package/dist/cjs/components/fundamental/textarea.cjs +1 -0
  57. package/dist/cjs/components/fundamental/toast.cjs +1 -0
  58. package/dist/cjs/components/fundamental/toggle-group.cjs +1 -0
  59. package/dist/cjs/components/fundamental/toggle.cjs +1 -0
  60. package/dist/cjs/components/fundamental/tooltip.cjs +1 -0
  61. package/dist/cjs/components/fundamental/tree.cjs +1 -0
  62. package/dist/cjs/components/product/activity-log.cjs +1 -0
  63. package/dist/cjs/components/product/app-frame.cjs +1 -0
  64. package/dist/cjs/components/product/attributes-list.cjs +1 -0
  65. package/dist/cjs/components/product/bookmarks.cjs +1 -0
  66. package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -0
  67. package/dist/cjs/components/product/data-table.cjs +1 -0
  68. package/dist/cjs/components/product/filters.cjs +1 -0
  69. package/dist/cjs/components/product/fixture-status.cjs +1 -0
  70. package/dist/cjs/components/product/linked-chart.cjs +1 -0
  71. package/dist/cjs/components/product/view-mode-menu.cjs +1 -0
  72. package/dist/cjs/lib/date-utils.cjs +1 -0
  73. package/dist/cjs/lib/hooks.cjs +1 -0
  74. package/dist/cjs/lib/index.cjs +1 -0
  75. package/dist/cjs/lib/utils.cjs +1 -0
  76. package/dist/es/components/core-index.js +37 -0
  77. package/dist/es/components/fundamental/accordion.js +60 -0
  78. package/dist/es/components/fundamental/alert-dialog.js +116 -0
  79. package/dist/es/components/fundamental/alert.js +65 -0
  80. package/dist/es/components/fundamental/autocomplete-search.js +139 -0
  81. package/dist/es/components/fundamental/avatar-group.js +51 -0
  82. package/dist/es/components/fundamental/avatar.js +165 -0
  83. package/dist/es/components/fundamental/badge.js +157 -0
  84. package/dist/es/components/fundamental/breadcrumb.js +142 -0
  85. package/dist/es/components/fundamental/button-group.js +86 -0
  86. package/dist/es/components/fundamental/button.js +186 -0
  87. package/dist/es/components/fundamental/calendar.js +130 -0
  88. package/dist/es/components/fundamental/card.js +68 -0
  89. package/dist/es/components/fundamental/chart.js +1006 -0
  90. package/dist/es/components/fundamental/checkbox.js +51 -0
  91. package/dist/es/components/fundamental/collapsible.js +55 -0
  92. package/dist/es/components/fundamental/combobox.js +229 -0
  93. package/dist/es/components/fundamental/command.js +155 -0
  94. package/dist/es/components/fundamental/country-dropdown.js +215 -0
  95. package/dist/es/components/fundamental/custom-icons.js +876 -0
  96. package/dist/es/components/fundamental/date-picker.js +119 -0
  97. package/dist/es/components/fundamental/dialog.js +106 -0
  98. package/dist/es/components/fundamental/drawer.js +93 -0
  99. package/dist/es/components/fundamental/dropdown-menu.js +600 -0
  100. package/dist/es/components/fundamental/editable.js +123 -0
  101. package/dist/es/components/fundamental/empty.js +152 -0
  102. package/dist/es/components/fundamental/file-upload.js +289 -0
  103. package/dist/es/components/fundamental/flag.js +60 -0
  104. package/dist/es/components/fundamental/form-field.js +352 -0
  105. package/dist/es/components/fundamental/hover-card.js +23 -0
  106. package/dist/es/components/fundamental/icon.js +200 -0
  107. package/dist/es/components/fundamental/input-group.js +135 -0
  108. package/dist/es/components/fundamental/input.js +78 -0
  109. package/dist/es/components/fundamental/kbd.js +57 -0
  110. package/dist/es/components/fundamental/label.js +54 -0
  111. package/dist/es/components/fundamental/month-picker.js +161 -0
  112. package/dist/es/components/fundamental/pagination.js +109 -0
  113. package/dist/es/components/fundamental/popover.js +24 -0
  114. package/dist/es/components/fundamental/progress.js +66 -0
  115. package/dist/es/components/fundamental/radio-group.js +64 -0
  116. package/dist/es/components/fundamental/resizable.js +43 -0
  117. package/dist/es/components/fundamental/scroll-area.js +38 -0
  118. package/dist/es/components/fundamental/select.js +136 -0
  119. package/dist/es/components/fundamental/separator.js +47 -0
  120. package/dist/es/components/fundamental/sheet.js +134 -0
  121. package/dist/es/components/fundamental/sidebar.js +709 -0
  122. package/dist/es/components/fundamental/skeleton.js +158 -0
  123. package/dist/es/components/fundamental/slider.js +35 -0
  124. package/dist/es/components/fundamental/spinner.js +225 -0
  125. package/dist/es/components/fundamental/switch.js +27 -0
  126. package/dist/es/components/fundamental/table.js +263 -0
  127. package/dist/es/components/fundamental/tabs.js +170 -0
  128. package/dist/es/components/fundamental/tag.js +295 -0
  129. package/dist/es/components/fundamental/text-link.js +105 -0
  130. package/dist/es/components/fundamental/textarea.js +47 -0
  131. package/dist/es/components/fundamental/toast.js +108 -0
  132. package/dist/es/components/fundamental/toggle-group.js +37 -0
  133. package/dist/es/components/fundamental/toggle.js +51 -0
  134. package/dist/es/components/fundamental/tooltip.js +26 -0
  135. package/dist/es/components/fundamental/tree.js +161 -0
  136. package/dist/es/components/product/activity-log.js +231 -0
  137. package/dist/es/components/product/app-frame.js +985 -0
  138. package/dist/es/components/product/attributes-list.js +351 -0
  139. package/dist/es/components/product/bookmarks.js +833 -0
  140. package/dist/es/components/product/data-table-settings-menu.js +169 -0
  141. package/dist/es/components/product/data-table.js +2473 -0
  142. package/dist/es/components/product/filters.js +1041 -0
  143. package/dist/es/components/product/fixture-status.js +178 -0
  144. package/dist/es/components/product/linked-chart.js +179 -0
  145. package/dist/es/components/product/view-mode-menu.js +353 -0
  146. package/dist/es/lib/date-utils.js +151 -0
  147. package/dist/es/lib/hooks.js +29 -0
  148. package/dist/es/lib/index.js +348 -0
  149. package/dist/es/lib/utils.js +8 -0
  150. package/dist/es/style.css +1 -0
  151. package/dist/types/bookmarks.d.ts +2 -0
  152. package/dist/types/calendar.d.ts +2 -0
  153. package/dist/types/chart.d.ts +2 -0
  154. package/dist/types/components/core-index.d.cts +135 -0
  155. package/dist/types/components/core-index.d.ts +135 -0
  156. package/dist/{components → types/components}/fundamental/avatar.d.ts +3 -3
  157. package/dist/{components → types/components}/fundamental/badge.d.ts +2 -2
  158. package/dist/{components → types/components}/fundamental/button-group.d.ts +2 -2
  159. package/dist/{components → types/components}/fundamental/button.d.ts +1 -1
  160. package/dist/types/components/fundamental/calendar.d.ts +7 -0
  161. package/dist/types/components/fundamental/chart.d.ts +95 -0
  162. package/dist/{components → types/components}/fundamental/command.d.ts +2 -2
  163. package/dist/types/components/fundamental/country-dropdown.d.ts +34 -0
  164. package/dist/types/components/fundamental/date-picker.d.ts +30 -0
  165. package/dist/{components → types/components}/fundamental/file-upload.d.ts +1 -1
  166. package/dist/{components → types/components}/fundamental/form-field.d.ts +2 -2
  167. package/dist/{components → types/components}/fundamental/form.d.ts +2 -2
  168. package/dist/{components → types/components}/fundamental/icon.d.ts +1 -1
  169. package/dist/{components → types/components}/fundamental/input-group.d.ts +1 -1
  170. package/dist/types/components/fundamental/resizable.d.cts +23 -0
  171. package/dist/{components → types/components}/fundamental/resizable.d.ts +1 -1
  172. package/dist/{components → types/components}/fundamental/sidebar.d.ts +3 -3
  173. package/dist/{components → types/components}/fundamental/spinner.d.ts +1 -1
  174. package/dist/{components → types/components}/fundamental/table.d.ts +3 -3
  175. package/dist/{components → types/components}/fundamental/text-link.d.ts +1 -1
  176. package/dist/{components → types/components}/index.d.ts +118 -118
  177. package/dist/{components → types/components}/product/activity-log.d.ts +1 -1
  178. package/dist/{components → types/components}/product/attributes-list.d.ts +1 -1
  179. package/dist/types/components/product/bookmarks.d.cts +90 -0
  180. package/dist/{components → types/components}/product/bookmarks.d.ts +1 -1
  181. package/dist/types/components/product/data-table.d.ts +802 -0
  182. package/dist/types/components/product/filters.d.ts +124 -0
  183. package/dist/{components → types/components}/product/fixture-status.d.ts +1 -1
  184. package/dist/types/components/product/linked-chart.d.cts +22 -0
  185. package/dist/{components → types/components}/product/linked-chart.d.ts +1 -1
  186. package/dist/types/country-dropdown.d.ts +2 -0
  187. package/dist/types/data-table.d.ts +2 -0
  188. package/dist/types/date-picker.d.ts +2 -0
  189. package/dist/types/filters.d.ts +2 -0
  190. package/dist/types/index.d.ts +2 -0
  191. package/dist/types/lib/index.d.cts +104 -0
  192. package/dist/types/lib/index.d.ts +104 -0
  193. package/dist/types/linked-chart.d.ts +2 -0
  194. package/dist/types/resizable.d.ts +2 -0
  195. package/package.json +191 -31
  196. package/dist/index.cjs.js +0 -144
  197. package/dist/index.cjs.js.map +0 -1
  198. package/dist/index.d.ts +0 -2
  199. package/dist/index.es.js +0 -87768
  200. package/dist/index.es.js.map +0 -1
  201. package/dist/lib/index.d.ts +0 -3
  202. package/dist/style.css +0 -1
  203. /package/dist/{components → types/components}/fundamental/accordion.d.ts +0 -0
  204. /package/dist/{components → types/components}/fundamental/alert-dialog.d.ts +0 -0
  205. /package/dist/{components → types/components}/fundamental/alert.d.ts +0 -0
  206. /package/dist/{components → types/components}/fundamental/autocomplete-search.d.ts +0 -0
  207. /package/dist/{components → types/components}/fundamental/avatar-group.d.ts +0 -0
  208. /package/dist/{components → types/components}/fundamental/breadcrumb.d.ts +0 -0
  209. /package/dist/{components → types/components}/fundamental/button.test.d.ts +0 -0
  210. /package/dist/{components/fundamental/calendar.d.ts → types/components/fundamental/calendar.d.cts} +0 -0
  211. /package/dist/{components → types/components}/fundamental/card.d.ts +0 -0
  212. /package/dist/{components/fundamental/chart.d.ts → types/components/fundamental/chart.d.cts} +0 -0
  213. /package/dist/{components → types/components}/fundamental/checkbox.d.ts +0 -0
  214. /package/dist/{components → types/components}/fundamental/collapsible.d.ts +0 -0
  215. /package/dist/{components → types/components}/fundamental/combobox.d.ts +0 -0
  216. /package/dist/{components/fundamental/country-dropdown.d.ts → types/components/fundamental/country-dropdown.d.cts} +0 -0
  217. /package/dist/{components → types/components}/fundamental/custom-icons.d.ts +0 -0
  218. /package/dist/{components/fundamental/date-picker.d.ts → types/components/fundamental/date-picker.d.cts} +0 -0
  219. /package/dist/{components → types/components}/fundamental/dialog.d.ts +0 -0
  220. /package/dist/{components → types/components}/fundamental/drawer.d.ts +0 -0
  221. /package/dist/{components → types/components}/fundamental/dropdown-menu.d.ts +0 -0
  222. /package/dist/{components → types/components}/fundamental/editable.d.ts +0 -0
  223. /package/dist/{components → types/components}/fundamental/empty.d.ts +0 -0
  224. /package/dist/{components → types/components}/fundamental/flag.d.ts +0 -0
  225. /package/dist/{components → types/components}/fundamental/hover-card.d.ts +0 -0
  226. /package/dist/{components → types/components}/fundamental/input.d.ts +0 -0
  227. /package/dist/{components → types/components}/fundamental/kbd.d.ts +0 -0
  228. /package/dist/{components → types/components}/fundamental/label.d.ts +0 -0
  229. /package/dist/{components → types/components}/fundamental/month-picker.d.ts +0 -0
  230. /package/dist/{components → types/components}/fundamental/pagination.d.ts +0 -0
  231. /package/dist/{components → types/components}/fundamental/popover.d.ts +0 -0
  232. /package/dist/{components → types/components}/fundamental/progress.d.ts +0 -0
  233. /package/dist/{components → types/components}/fundamental/radio-group.d.ts +0 -0
  234. /package/dist/{components → types/components}/fundamental/scroll-area.d.ts +0 -0
  235. /package/dist/{components → types/components}/fundamental/select.d.ts +0 -0
  236. /package/dist/{components → types/components}/fundamental/separator.d.ts +0 -0
  237. /package/dist/{components → types/components}/fundamental/sheet.d.ts +0 -0
  238. /package/dist/{components → types/components}/fundamental/skeleton.d.ts +0 -0
  239. /package/dist/{components → types/components}/fundamental/slider.d.ts +0 -0
  240. /package/dist/{components → types/components}/fundamental/switch.d.ts +0 -0
  241. /package/dist/{components → types/components}/fundamental/tabs.d.ts +0 -0
  242. /package/dist/{components → types/components}/fundamental/tag.d.ts +0 -0
  243. /package/dist/{components → types/components}/fundamental/textarea.d.ts +0 -0
  244. /package/dist/{components → types/components}/fundamental/toast.d.ts +0 -0
  245. /package/dist/{components → types/components}/fundamental/toggle-group.d.ts +0 -0
  246. /package/dist/{components → types/components}/fundamental/toggle.d.ts +0 -0
  247. /package/dist/{components → types/components}/fundamental/tooltip.d.ts +0 -0
  248. /package/dist/{components → types/components}/fundamental/tree.d.ts +0 -0
  249. /package/dist/{components → types/components}/product/app-frame.d.ts +0 -0
  250. /package/dist/{components → types/components}/product/data-table-settings-menu.d.ts +0 -0
  251. /package/dist/{components/product/data-table.d.ts → types/components/product/data-table.d.cts} +0 -0
  252. /package/dist/{components/product/filters.d.ts → types/components/product/filters.d.cts} +0 -0
  253. /package/dist/{components → types/components}/product/view-mode-menu.d.ts +0 -0
  254. /package/dist/{lib → types/lib}/date-utils.d.ts +0 -0
  255. /package/dist/{lib → types/lib}/hooks.d.ts +0 -0
  256. /package/dist/{lib → types/lib}/utils.d.ts +0 -0
@@ -0,0 +1,215 @@
1
+ import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
+ import { useState as L, useMemo as c, useCallback as C } from "react";
3
+ import { useVirtualizer as G } from "@tanstack/react-virtual";
4
+ import { Check as M, ChevronDown as U } from "lucide-react";
5
+ import { Button as F } from "./button.js";
6
+ import { CommandItem as Y, Command as J, CommandInput as Q, CommandList as Z, CommandEmpty as _, CommandGroup as q } from "./command.js";
7
+ import { Popover as K, PopoverTrigger as W, PopoverContent as X } from "./popover.js";
8
+ import { Flag as V } from "./flag.js";
9
+ import { cn as ee } from "../../lib/utils.js";
10
+ import { countries as ae } from "country-data-list";
11
+ const te = (a) => a <= 12 ? "s" : a <= 16 ? "m" : a <= 20 ? "l" : "xl", re = 8, j = () => ae.all.filter((a) => ["assigned", "officially assigned"].includes(a.status) && !["AQ", "BV", "HM", "GS"].includes(a.alpha2)).map((a) => ({
12
+ name: a.name,
13
+ alpha2: a.alpha2,
14
+ alpha3: a.alpha3,
15
+ numeric: a.numeric || "000",
16
+ // Fallback for numeric code
17
+ emoji: a.emoji
18
+ })).sort((a, s) => a.name.localeCompare(s.name));
19
+ function fe({
20
+ value: a,
21
+ onValueChange: s,
22
+ placeholder: p = "Select country...",
23
+ searchPlaceholder: l = "Search countries...",
24
+ disabled: n = !1,
25
+ className: A,
26
+ flagSize: b = 16,
27
+ showFlag: h = !0,
28
+ showCode: g = !1,
29
+ variant: u = "default",
30
+ priorityCountries: v = ["US", "GB", "CA", "AU", "DE", "FR", "JP", "CN", "IN", "BR"],
31
+ trigger: D,
32
+ clearable: H
33
+ }) {
34
+ const [N, T] = L(!1), [f, z] = L(""), [P, k] = L(null), m = c(() => j(), []), x = c(() => te(b), [b]), w = c(() => {
35
+ const e = v.map((S) => m.find((R) => R.alpha2 === S)).filter(Boolean), r = m.filter(
36
+ (S) => !v.includes(S.alpha2)
37
+ );
38
+ return [...e, ...r];
39
+ }, [m, v]), d = c(() => {
40
+ if (!f) return w;
41
+ const e = f.toLowerCase();
42
+ return w.filter(
43
+ (r) => r.name.toLowerCase().includes(e) || r.alpha2.toLowerCase().includes(e) || r.alpha3.toLowerCase().includes(e)
44
+ );
45
+ }, [w, f]), B = d.length > re, I = Math.min(d.length * 40, 300), y = G({
46
+ count: B ? d.length : 0,
47
+ getScrollElement: () => P,
48
+ estimateSize: () => 40,
49
+ // Approximate height of each item
50
+ overscan: 5
51
+ // Render 5 extra items outside viewport for smooth scrolling
52
+ }), o = c(() => m.find((e) => e.alpha2 === a), [m, a]), E = C(
53
+ (e) => {
54
+ s?.(e), T(!1);
55
+ },
56
+ [s]
57
+ ), $ = C(
58
+ (e, r) => /* @__PURE__ */ i(
59
+ Y,
60
+ {
61
+ value: `${e.name} ${e.alpha2} ${e.alpha3}`,
62
+ onSelect: () => E(e.alpha2),
63
+ className: "flex items-center gap-[var(--space-s)] cursor-pointer",
64
+ "data-index": r,
65
+ children: [
66
+ h && /* @__PURE__ */ t(
67
+ V,
68
+ {
69
+ country: e.alpha2,
70
+ size: x
71
+ }
72
+ ),
73
+ /* @__PURE__ */ t("span", { className: "flex-1", children: e.name }),
74
+ g && /* @__PURE__ */ t("span", { className: "text-body-sm text-[var(--color-text-secondary)]", children: e.alpha2 }),
75
+ a === e.alpha2 && /* @__PURE__ */ t(M, { className: "h-4 w-4 text-[var(--color-icon-brand-bold)]" })
76
+ ]
77
+ },
78
+ e.alpha2
79
+ ),
80
+ [h, x, g, a, E]
81
+ ), O = () => u === "slim" && o ? /* @__PURE__ */ t("div", { className: "flex items-center", children: h && /* @__PURE__ */ t(
82
+ V,
83
+ {
84
+ country: o.alpha2,
85
+ size: x
86
+ }
87
+ ) }) : o ? /* @__PURE__ */ i("div", { className: "flex items-center gap-[var(--space-s)]", children: [
88
+ h && /* @__PURE__ */ t(
89
+ V,
90
+ {
91
+ country: o.alpha2,
92
+ size: x
93
+ }
94
+ ),
95
+ /* @__PURE__ */ t("span", { className: "flex-1 truncate text-left", children: o.name }),
96
+ g && /* @__PURE__ */ t("span", { className: "text-body-sm text-[var(--color-text-secondary)]", children: o.alpha2 })
97
+ ] }) : /* @__PURE__ */ t("span", { className: "text-[var(--color-text-secondary)]", children: p });
98
+ return /* @__PURE__ */ i(K, { open: N, onOpenChange: T, children: [
99
+ /* @__PURE__ */ t(W, { asChild: !0, children: D ? D({ open: N, selectedCountry: o, placeholder: p, disabled: n }) : /* @__PURE__ */ i(
100
+ F,
101
+ {
102
+ variant: "default",
103
+ role: "combobox",
104
+ "aria-expanded": N,
105
+ disabled: n,
106
+ className: ee(
107
+ "justify-between",
108
+ u === "slim" ? "w-auto px-[var(--space-s)]" : "w-full",
109
+ A
110
+ ),
111
+ children: [
112
+ O(),
113
+ u !== "slim" && /* @__PURE__ */ t(U, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
114
+ ]
115
+ }
116
+ ) }),
117
+ /* @__PURE__ */ t(
118
+ X,
119
+ {
120
+ className: "w-[var(--radix-popover-trigger-width)] min-w-[300px] p-0",
121
+ align: "start",
122
+ children: /* @__PURE__ */ i(J, { shouldFilter: !1, children: [
123
+ /* @__PURE__ */ t(
124
+ Q,
125
+ {
126
+ placeholder: l,
127
+ className: "h-9",
128
+ value: f,
129
+ onValueChange: z,
130
+ clearable: H,
131
+ onClear: () => z("")
132
+ }
133
+ ),
134
+ /* @__PURE__ */ i(Z, { className: "max-h-[300px]", children: [
135
+ /* @__PURE__ */ t(_, { children: "No country found" }),
136
+ /* @__PURE__ */ t(q, { children: B ? (
137
+ // Virtualized rendering for large lists
138
+ /* @__PURE__ */ t(
139
+ "div",
140
+ {
141
+ ref: k,
142
+ className: "h-[300px] overflow-y-auto overflow-x-hidden",
143
+ style: { contain: "strict" },
144
+ children: /* @__PURE__ */ t(
145
+ "div",
146
+ {
147
+ style: {
148
+ height: `${y.getTotalSize()}px`,
149
+ width: "100%",
150
+ position: "relative"
151
+ },
152
+ children: y.getVirtualItems().map((e) => {
153
+ const r = d[e.index];
154
+ return r ? /* @__PURE__ */ t(
155
+ "div",
156
+ {
157
+ "data-index": e.index,
158
+ ref: y.measureElement,
159
+ style: {
160
+ position: "absolute",
161
+ top: 0,
162
+ left: 0,
163
+ width: "100%",
164
+ transform: `translateY(${e.start}px)`
165
+ },
166
+ children: $(r, e.index)
167
+ },
168
+ e.key
169
+ ) : null;
170
+ })
171
+ }
172
+ )
173
+ }
174
+ )
175
+ ) : (
176
+ // Direct rendering for small lists with dynamic height
177
+ /* @__PURE__ */ t(
178
+ "div",
179
+ {
180
+ style: {
181
+ maxHeight: `${I}px`,
182
+ overflowY: "auto"
183
+ },
184
+ children: d.map((e, r) => $(e, r))
185
+ }
186
+ )
187
+ ) })
188
+ ] })
189
+ ] })
190
+ }
191
+ )
192
+ ] });
193
+ }
194
+ function xe() {
195
+ const a = c(() => j(), []), s = C(
196
+ (l) => a.find(
197
+ (n) => n.alpha2 === l || n.alpha3 === l || n.numeric === l
198
+ ),
199
+ [a]
200
+ ), p = C(
201
+ (l) => a.find(
202
+ (n) => n.name.toLowerCase() === l.toLowerCase()
203
+ ),
204
+ [a]
205
+ );
206
+ return {
207
+ countries: a,
208
+ getCountryByCode: s,
209
+ getCountryByName: p
210
+ };
211
+ }
212
+ export {
213
+ fe as CountryDropdown,
214
+ xe as useCountryData
215
+ };