@viglet/viglet-design-system 2026.2.57 → 2026.3.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 (274) hide show
  1. package/README.md +277 -7
  2. package/dist/assets.cjs +1 -0
  3. package/dist/assets.es.js +2 -0
  4. package/dist/badge-locale-BxI9TwkE.js +579 -0
  5. package/dist/badge-locale-sIsBdP_e.cjs +7 -0
  6. package/dist/bento/bento-actions-menu.d.ts +42 -0
  7. package/dist/bento/bento-actions-menu.d.ts.map +1 -0
  8. package/dist/bento/bento-back-to-top.d.ts +11 -0
  9. package/dist/bento/bento-back-to-top.d.ts.map +1 -0
  10. package/dist/bento/bento-command-palette.d.ts +28 -0
  11. package/dist/bento/bento-command-palette.d.ts.map +1 -0
  12. package/dist/bento/bento-count-tile.d.ts +18 -0
  13. package/dist/bento/bento-count-tile.d.ts.map +1 -0
  14. package/dist/bento/bento-empty-state.d.ts +35 -0
  15. package/dist/bento/bento-empty-state.d.ts.map +1 -0
  16. package/dist/bento/bento-entity-shell.d.ts +123 -0
  17. package/dist/bento/bento-entity-shell.d.ts.map +1 -0
  18. package/dist/bento/bento-entity-tile.d.ts +40 -0
  19. package/dist/bento/bento-entity-tile.d.ts.map +1 -0
  20. package/dist/bento/bento-form-hero.d.ts +91 -0
  21. package/dist/bento/bento-form-hero.d.ts.map +1 -0
  22. package/dist/bento/bento-form-section.d.ts +31 -0
  23. package/dist/bento/bento-form-section.d.ts.map +1 -0
  24. package/dist/bento/bento-hero-icon-picker.d.ts +35 -0
  25. package/dist/bento/bento-hero-icon-picker.d.ts.map +1 -0
  26. package/dist/bento/bento-hero.d.ts +62 -0
  27. package/dist/bento/bento-hero.d.ts.map +1 -0
  28. package/dist/bento/bento-inline-edit.d.ts +52 -0
  29. package/dist/bento/bento-inline-edit.d.ts.map +1 -0
  30. package/dist/bento/bento-layout.d.ts +52 -0
  31. package/dist/bento/bento-layout.d.ts.map +1 -0
  32. package/dist/bento/bento-list-page.d.ts +124 -0
  33. package/dist/bento/bento-list-page.d.ts.map +1 -0
  34. package/dist/bento/bento-nav-rail.d.ts +32 -0
  35. package/dist/bento/bento-nav-rail.d.ts.map +1 -0
  36. package/dist/bento/bento-nav.d.ts +69 -0
  37. package/dist/bento/bento-nav.d.ts.map +1 -0
  38. package/dist/bento/bento-save-bar.d.ts +36 -0
  39. package/dist/bento/bento-save-bar.d.ts.map +1 -0
  40. package/dist/bento/bento-scroll-fade.d.ts +20 -0
  41. package/dist/bento/bento-scroll-fade.d.ts.map +1 -0
  42. package/dist/bento/bento-scroll-save-bar.d.ts +22 -0
  43. package/dist/bento/bento-scroll-save-bar.d.ts.map +1 -0
  44. package/dist/bento/bento-section-chrome.d.ts +60 -0
  45. package/dist/bento/bento-section-chrome.d.ts.map +1 -0
  46. package/dist/bento/bento-section.d.ts +27 -0
  47. package/dist/bento/bento-section.d.ts.map +1 -0
  48. package/dist/bento/bento-shortcuts-dialog.d.ts +15 -0
  49. package/dist/bento/bento-shortcuts-dialog.d.ts.map +1 -0
  50. package/dist/bento/bento-status-marker.d.ts +26 -0
  51. package/dist/bento/bento-status-marker.d.ts.map +1 -0
  52. package/dist/bento/bento-tile.d.ts +42 -0
  53. package/dist/bento/bento-tile.d.ts.map +1 -0
  54. package/dist/bento/bento-tones.d.ts +33 -0
  55. package/dist/bento/bento-tones.d.ts.map +1 -0
  56. package/dist/bento/bento-user-menu.d.ts +31 -0
  57. package/dist/bento/bento-user-menu.d.ts.map +1 -0
  58. package/dist/bento/index.d.ts +59 -0
  59. package/dist/bento/index.d.ts.map +1 -0
  60. package/dist/bento.cjs +1 -0
  61. package/dist/bento.css +442 -0
  62. package/dist/bento.es.js +1501 -0
  63. package/dist/breadcrumb.context-CTnZ4rD0.cjs +1 -0
  64. package/dist/breadcrumb.context-h2A2IEJ_.js +928 -0
  65. package/dist/components/app-footer.d.ts +1 -1
  66. package/dist/components/app-footer.d.ts.map +1 -1
  67. package/dist/components/app-switcher.d.ts +1 -1
  68. package/dist/components/app-switcher.d.ts.map +1 -1
  69. package/dist/components/backend-status.d.ts +2 -2
  70. package/dist/components/backend-status.d.ts.map +1 -1
  71. package/dist/components/badge-locale.d.ts.map +1 -1
  72. package/dist/components/error-boundary.d.ts.map +1 -1
  73. package/dist/components/language-select.d.ts +1 -1
  74. package/dist/components/language-select.d.ts.map +1 -1
  75. package/dist/components/language-switcher.d.ts +1 -1
  76. package/dist/components/language-switcher.d.ts.map +1 -1
  77. package/dist/components/login/login.d.ts +11 -11
  78. package/dist/components/login/login.d.ts.map +1 -1
  79. package/dist/components/mode-toggle.d.ts +2 -2
  80. package/dist/components/mode-toggle.d.ts.map +1 -1
  81. package/dist/components/nav-secondary.d.ts +1 -1
  82. package/dist/components/nav-secondary.d.ts.map +1 -1
  83. package/dist/components/router/blank-slate.d.ts +10 -0
  84. package/dist/components/router/blank-slate.d.ts.map +1 -1
  85. package/dist/components/router/gradient-button-link.d.ts +1 -1
  86. package/dist/components/router/gradient-button-link.d.ts.map +1 -1
  87. package/dist/components/router/grid.list.d.ts +13 -0
  88. package/dist/components/router/grid.list.d.ts.map +1 -1
  89. package/dist/components/router/internal.sidebar.d.ts +27 -2
  90. package/dist/components/router/internal.sidebar.d.ts.map +1 -1
  91. package/dist/components/router/loading-provider.d.ts +7 -2
  92. package/dist/components/router/loading-provider.d.ts.map +1 -1
  93. package/dist/components/router/nav-main.d.ts +11 -1
  94. package/dist/components/router/nav-main.d.ts.map +1 -1
  95. package/dist/components/router/nav-user.d.ts +15 -1
  96. package/dist/components/router/nav-user.d.ts.map +1 -1
  97. package/dist/components/router/page-content.d.ts +10 -0
  98. package/dist/components/router/page-content.d.ts.map +1 -1
  99. package/dist/components/router/page-header.d.ts +13 -0
  100. package/dist/components/router/page-header.d.ts.map +1 -1
  101. package/dist/components/router/page.d.ts +13 -0
  102. package/dist/components/router/page.d.ts.map +1 -1
  103. package/dist/components/router/sticky.page.header.d.ts +14 -0
  104. package/dist/components/router/sticky.page.header.d.ts.map +1 -1
  105. package/dist/components/router/sub.page.d.ts +15 -11
  106. package/dist/components/router/sub.page.d.ts.map +1 -1
  107. package/dist/components/router/sub.page.header.d.ts +13 -0
  108. package/dist/components/router/sub.page.header.d.ts.map +1 -1
  109. package/dist/components/startup-first/startup-first.d.ts +11 -11
  110. package/dist/components/startup-first/startup-first.d.ts.map +1 -1
  111. package/dist/components/theme-provider.d.ts +1 -1
  112. package/dist/components/theme-provider.d.ts.map +1 -1
  113. package/dist/components/ui/avatar.d.ts +3 -3
  114. package/dist/components/ui/avatar.d.ts.map +1 -1
  115. package/dist/components/ui/badge.d.ts +1 -1
  116. package/dist/components/ui/badge.d.ts.map +1 -1
  117. package/dist/components/ui/breadcrumb.d.ts +7 -7
  118. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  119. package/dist/components/ui/button.d.ts +1 -1
  120. package/dist/components/ui/button.d.ts.map +1 -1
  121. package/dist/components/ui/card.d.ts +7 -7
  122. package/dist/components/ui/card.d.ts.map +1 -1
  123. package/dist/components/ui/checkbox.d.ts +1 -1
  124. package/dist/components/ui/checkbox.d.ts.map +1 -1
  125. package/dist/components/ui/dialog.d.ts +10 -10
  126. package/dist/components/ui/dialog.d.ts.map +1 -1
  127. package/dist/components/ui/drawer.d.ts +10 -10
  128. package/dist/components/ui/drawer.d.ts.map +1 -1
  129. package/dist/components/ui/dropdown-menu.d.ts +15 -15
  130. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  131. package/dist/components/ui/floating-formulas-bg.d.ts +8 -1
  132. package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
  133. package/dist/components/ui/form-actions.d.ts +4 -4
  134. package/dist/components/ui/form-actions.d.ts.map +1 -1
  135. package/dist/components/ui/form.d.ts +8 -8
  136. package/dist/components/ui/form.d.ts.map +1 -1
  137. package/dist/components/ui/glass-card.d.ts +1 -1
  138. package/dist/components/ui/glass-card.d.ts.map +1 -1
  139. package/dist/components/ui/gradient-button.d.ts +1 -1
  140. package/dist/components/ui/gradient-button.d.ts.map +1 -1
  141. package/dist/components/ui/gradient-switch.d.ts +1 -1
  142. package/dist/components/ui/gradient-switch.d.ts.map +1 -1
  143. package/dist/components/ui/icon-picker-dialog.d.ts +35 -0
  144. package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -0
  145. package/dist/components/ui/index.d.ts +1 -0
  146. package/dist/components/ui/index.d.ts.map +1 -1
  147. package/dist/components/ui/input.d.ts +1 -1
  148. package/dist/components/ui/input.d.ts.map +1 -1
  149. package/dist/components/ui/label.d.ts +1 -1
  150. package/dist/components/ui/label.d.ts.map +1 -1
  151. package/dist/components/ui/navigation-menu.d.ts +8 -8
  152. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  153. package/dist/components/ui/pagination.d.ts +5 -5
  154. package/dist/components/ui/pagination.d.ts.map +1 -1
  155. package/dist/components/ui/popover.d.ts +7 -7
  156. package/dist/components/ui/popover.d.ts.map +1 -1
  157. package/dist/components/ui/progress.d.ts +1 -1
  158. package/dist/components/ui/progress.d.ts.map +1 -1
  159. package/dist/components/ui/pulse-ring.d.ts +1 -1
  160. package/dist/components/ui/pulse-ring.d.ts.map +1 -1
  161. package/dist/components/ui/resizable.d.ts +3 -3
  162. package/dist/components/ui/resizable.d.ts.map +1 -1
  163. package/dist/components/ui/section-card.d.ts +7 -7
  164. package/dist/components/ui/section-card.d.ts.map +1 -1
  165. package/dist/components/ui/select.d.ts +10 -10
  166. package/dist/components/ui/select.d.ts.map +1 -1
  167. package/dist/components/ui/separator.d.ts +1 -1
  168. package/dist/components/ui/separator.d.ts.map +1 -1
  169. package/dist/components/ui/sheet.d.ts +8 -8
  170. package/dist/components/ui/sheet.d.ts.map +1 -1
  171. package/dist/components/ui/sidebar.d.ts +23 -23
  172. package/dist/components/ui/sidebar.d.ts.map +1 -1
  173. package/dist/components/ui/skeleton.d.ts +1 -1
  174. package/dist/components/ui/skeleton.d.ts.map +1 -1
  175. package/dist/components/ui/slider.d.ts +1 -1
  176. package/dist/components/ui/slider.d.ts.map +1 -1
  177. package/dist/components/ui/sonner.d.ts +1 -1
  178. package/dist/components/ui/sonner.d.ts.map +1 -1
  179. package/dist/components/ui/stepper.d.ts +3 -3
  180. package/dist/components/ui/stepper.d.ts.map +1 -1
  181. package/dist/components/ui/sticky-save-bar.d.ts +2 -2
  182. package/dist/components/ui/sticky-save-bar.d.ts.map +1 -1
  183. package/dist/components/ui/switch.d.ts +1 -1
  184. package/dist/components/ui/switch.d.ts.map +1 -1
  185. package/dist/components/ui/table.d.ts +8 -8
  186. package/dist/components/ui/table.d.ts.map +1 -1
  187. package/dist/components/ui/tabs.d.ts +4 -4
  188. package/dist/components/ui/tabs.d.ts.map +1 -1
  189. package/dist/components/ui/textarea.d.ts +1 -1
  190. package/dist/components/ui/textarea.d.ts.map +1 -1
  191. package/dist/components/ui/toggle-group.d.ts +2 -2
  192. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  193. package/dist/components/ui/toggle.d.ts +1 -1
  194. package/dist/components/ui/toggle.d.ts.map +1 -1
  195. package/dist/components/ui/tooltip.d.ts +4 -4
  196. package/dist/components/ui/tooltip.d.ts.map +1 -1
  197. package/dist/components/ui/user-avatar.d.ts +1 -1
  198. package/dist/components/ui/user-avatar.d.ts.map +1 -1
  199. package/dist/components/ui/user-menu.d.ts +1 -1
  200. package/dist/components/ui/user-menu.d.ts.map +1 -1
  201. package/dist/components/viglet-app-switcher.d.ts +1 -1
  202. package/dist/components/viglet-app-switcher.d.ts.map +1 -1
  203. package/dist/contexts/breadcrumb.context.d.ts +1 -1
  204. package/dist/contexts/breadcrumb.context.d.ts.map +1 -1
  205. package/dist/contexts/user.context.d.ts +25 -1
  206. package/dist/contexts/user.context.d.ts.map +1 -1
  207. package/dist/exports.json +404 -0
  208. package/dist/floating-formulas-bg.cjs +1 -0
  209. package/dist/floating-formulas-bg.css +21 -0
  210. package/dist/floating-formulas-bg.es.js +83 -56
  211. package/dist/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  212. package/dist/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  213. package/dist/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  214. package/dist/fonts/inter-greek-wght-normal.woff2 +0 -0
  215. package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  216. package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
  217. package/dist/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  218. package/dist/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  219. package/dist/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  220. package/dist/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  221. package/dist/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
  222. package/dist/fonts.css +126 -0
  223. package/dist/hooks/use-grid-adapter.d.ts.map +1 -1
  224. package/dist/hooks/use-mobile.d.ts +10 -0
  225. package/dist/hooks/use-mobile.d.ts.map +1 -1
  226. package/dist/hooks/use-sub-page-breadcrumb.d.ts.map +1 -1
  227. package/dist/i18n/index.d.ts +136 -0
  228. package/dist/i18n/index.d.ts.map +1 -1
  229. package/dist/i18n/locales/en/bento.json.d.ts +51 -0
  230. package/dist/i18n/locales/en/common.json.d.ts +7 -1
  231. package/dist/i18n/locales/en/forms.json.d.ts +15 -1
  232. package/dist/i18n/locales/en/nav.json.d.ts +3 -1
  233. package/dist/i18n/locales/pt/bento.json.d.ts +51 -0
  234. package/dist/i18n/locales/pt/common.json.d.ts +7 -1
  235. package/dist/i18n/locales/pt/forms.json.d.ts +15 -1
  236. package/dist/i18n/locales/pt/nav.json.d.ts +3 -1
  237. package/dist/i18n-DoNdMLEd.cjs +1 -0
  238. package/dist/{i18n-C94rDRaM.js → i18n-DuNITbWa.js} +155 -27
  239. package/dist/{i18n.cjs.js → i18n.cjs} +1 -1
  240. package/dist/i18n.es.js +1 -1
  241. package/dist/index.cjs +1 -0
  242. package/dist/index.d.ts +0 -1
  243. package/dist/index.d.ts.map +1 -1
  244. package/dist/index.es.js +512 -770
  245. package/dist/lib/axios.d.ts.map +1 -1
  246. package/dist/lib/export-xlsx.d.ts +7 -1
  247. package/dist/lib/export-xlsx.d.ts.map +1 -1
  248. package/dist/lib/react-markers.d.ts +17 -0
  249. package/dist/lib/react-markers.d.ts.map +1 -0
  250. package/dist/lib/utils.d.ts +22 -0
  251. package/dist/lib/utils.d.ts.map +1 -1
  252. package/dist/loading-provider-1mgM91iY.cjs +1 -0
  253. package/dist/loading-provider-CMnOuvdR.js +224 -0
  254. package/dist/preset.css +103 -3
  255. package/dist/products-DL_YYXkV.cjs +1 -0
  256. package/dist/products-Du9KB6Xl.js +9 -0
  257. package/dist/{chunk-CMqjfN_6.cjs → rolldown-runtime-BocRIvOZ.cjs} +1 -1
  258. package/dist/router.cjs +1 -0
  259. package/dist/router.es.js +361 -558
  260. package/dist/user.context-kPAqKN4o.js +512 -0
  261. package/dist/user.context-r50nSWER.cjs +1 -0
  262. package/dist/viglet-design-system.css +1 -1
  263. package/dist/vite/boot-loader.d.ts +14 -4
  264. package/dist/vite/boot-loader.d.ts.map +1 -1
  265. package/dist/{vite.cjs.js → vite.cjs} +8 -8
  266. package/dist/vite.es.js +29 -16
  267. package/package.json +67 -23
  268. package/scripts/check-duplicates.mjs +198 -0
  269. package/dist/breadcrumb.context-BF0x4--Z.cjs +0 -7
  270. package/dist/breadcrumb.context-CCiYXxir.js +0 -1501
  271. package/dist/floating-formulas-bg.cjs.js +0 -1
  272. package/dist/i18n-CmYeG6uh.cjs +0 -1
  273. package/dist/index.cjs.js +0 -1
  274. package/dist/router.cjs.js +0 -1
@@ -0,0 +1,579 @@
1
+ import { clsx as e } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ import { createContext as n, createElement as r, forwardRef as i, useContext as a, useState as o } from "react";
4
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ import { Slot as u } from "@radix-ui/react-slot";
6
+ import { cva as d } from "class-variance-authority";
7
+ import * as f from "@radix-ui/react-dialog";
8
+ import * as p from "@radix-ui/react-dropdown-menu";
9
+ import * as m from "@radix-ui/react-tooltip";
10
+ //#region src/lib/utils.ts
11
+ function h(...n) {
12
+ return t(e(n));
13
+ }
14
+ function g(e) {
15
+ let [t = "", n] = e.trim().replaceAll("-", "_").toUpperCase().split("_");
16
+ return {
17
+ language: t,
18
+ region: n?.length === 2 ? n : null
19
+ };
20
+ }
21
+ var ee = (e, t = 10) => {
22
+ if (!e || e.length <= t) return e ?? "";
23
+ if (t < 3) return "...".slice(0, Math.max(t, 0));
24
+ let n = t - 3, r = Math.ceil(n / 2), i = Math.floor(n / 2);
25
+ return e.substring(0, r) + "..." + e.substring(e.length - i);
26
+ }, _ = (e) => {
27
+ let { region: t } = g(e);
28
+ return t ? t.split("").map((e) => String.fromCodePoint((e.codePointAt(0) ?? 0) + 127397)).join("") : "🌐";
29
+ }, v = (e) => {
30
+ let t = 0;
31
+ for (let n = 0; n < e.length; n++) t = (e.codePointAt(n) ?? 0) + ((t << 5) - t);
32
+ let n = Math.abs(t) % 360;
33
+ return {
34
+ h: n,
35
+ light: {
36
+ bg: `hsl(${n}, 70%, 95%)`,
37
+ text: `hsl(${n}, 70%, 20%)`,
38
+ border: `hsl(${n}, 70%, 90%)`
39
+ },
40
+ dark: {
41
+ bg: `hsl(${n}, 50%, 15%)`,
42
+ text: `hsl(${n}, 80%, 80%)`,
43
+ border: `hsl(${n}, 50%, 25%)`
44
+ }
45
+ };
46
+ }, y = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), te = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ne = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), b = (e) => {
47
+ let t = ne(e);
48
+ return t.charAt(0).toUpperCase() + t.slice(1);
49
+ }, x = {
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ width: 24,
52
+ height: 24,
53
+ viewBox: "0 0 24 24",
54
+ fill: "none",
55
+ stroke: "currentColor",
56
+ strokeWidth: 2,
57
+ strokeLinecap: "round",
58
+ strokeLinejoin: "round"
59
+ }, S = (e) => {
60
+ for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
61
+ return !1;
62
+ }, C = n({}), w = () => a(C), T = i(({ color: e, size: t, strokeWidth: n, absoluteStrokeWidth: i, className: a = "", children: o, iconNode: s, ...c }, l) => {
63
+ let { size: u = 24, strokeWidth: d = 2, absoluteStrokeWidth: f = !1, color: p = "currentColor", className: m = "" } = w() ?? {}, h = i ?? f ? Number(n ?? d) * 24 / Number(t ?? u) : n ?? d;
64
+ return r("svg", {
65
+ ref: l,
66
+ ...x,
67
+ width: t ?? u ?? x.width,
68
+ height: t ?? u ?? x.height,
69
+ stroke: e ?? p,
70
+ strokeWidth: h,
71
+ className: y("lucide", m, a),
72
+ ...!o && !S(c) && { "aria-hidden": "true" },
73
+ ...c
74
+ }, [...s.map(([e, t]) => r(e, t)), ...Array.isArray(o) ? o : [o]]);
75
+ }), E = (e, t) => {
76
+ let n = i(({ className: n, ...i }, a) => r(T, {
77
+ ref: a,
78
+ iconNode: t,
79
+ className: y(`lucide-${te(b(e))}`, `lucide-${e}`, n),
80
+ ...i
81
+ }));
82
+ return n.displayName = b(e), n;
83
+ }, D = E("check", [["path", {
84
+ d: "M20 6 9 17l-5-5",
85
+ key: "1gmf2c"
86
+ }]]), O = E("chevron-right", [["path", {
87
+ d: "m9 18 6-6-6-6",
88
+ key: "mthhwq"
89
+ }]]), re = E("circle", [["circle", {
90
+ cx: "12",
91
+ cy: "12",
92
+ r: "10",
93
+ key: "1mglay"
94
+ }]]), ie = E("globe", [
95
+ ["circle", {
96
+ cx: "12",
97
+ cy: "12",
98
+ r: "10",
99
+ key: "1mglay"
100
+ }],
101
+ ["path", {
102
+ d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",
103
+ key: "13o1zl"
104
+ }],
105
+ ["path", {
106
+ d: "M2 12h20",
107
+ key: "9i4pu4"
108
+ }]
109
+ ]), k = E("x", [["path", {
110
+ d: "M18 6 6 18",
111
+ key: "1bl5f8"
112
+ }], ["path", {
113
+ d: "m6 6 12 12",
114
+ key: "d8bk6v"
115
+ }]]), A = d("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
116
+ variants: { variant: {
117
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
118
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
119
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
120
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
121
+ } },
122
+ defaultVariants: { variant: "default" }
123
+ });
124
+ function j({ className: e, variant: t, asChild: n = !1, ...r }) {
125
+ return /* @__PURE__ */ c(n ? u : "span", {
126
+ "data-slot": "badge",
127
+ className: h(A({ variant: t }), e),
128
+ ...r
129
+ });
130
+ }
131
+ //#endregion
132
+ //#region src/components/ui/dialog.tsx
133
+ function M({ ...e }) {
134
+ return /* @__PURE__ */ c(f.Root, {
135
+ "data-slot": "dialog",
136
+ ...e
137
+ });
138
+ }
139
+ function N({ ...e }) {
140
+ return /* @__PURE__ */ c(f.Trigger, {
141
+ "data-slot": "dialog-trigger",
142
+ ...e
143
+ });
144
+ }
145
+ function P({ ...e }) {
146
+ return /* @__PURE__ */ c(f.Portal, {
147
+ "data-slot": "dialog-portal",
148
+ ...e
149
+ });
150
+ }
151
+ function F({ ...e }) {
152
+ return /* @__PURE__ */ c(f.Close, {
153
+ "data-slot": "dialog-close",
154
+ ...e
155
+ });
156
+ }
157
+ function I({ className: e, ...t }) {
158
+ return /* @__PURE__ */ c(f.Overlay, {
159
+ "data-slot": "dialog-overlay",
160
+ className: h("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
161
+ ...t
162
+ });
163
+ }
164
+ function L({ className: e, children: t, showCloseButton: n = !0, ...r }) {
165
+ return /* @__PURE__ */ l(P, {
166
+ "data-slot": "dialog-portal",
167
+ children: [/* @__PURE__ */ c(I, {}), /* @__PURE__ */ l(f.Content, {
168
+ "data-slot": "dialog-content",
169
+ className: h("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", e),
170
+ ...r,
171
+ children: [t, n && /* @__PURE__ */ l(f.Close, {
172
+ "data-slot": "dialog-close",
173
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
174
+ children: [/* @__PURE__ */ c(k, {}), /* @__PURE__ */ c("span", {
175
+ className: "sr-only",
176
+ children: "Close"
177
+ })]
178
+ })]
179
+ })]
180
+ });
181
+ }
182
+ function R({ className: e, ...t }) {
183
+ return /* @__PURE__ */ c("div", {
184
+ "data-slot": "dialog-header",
185
+ className: h("flex flex-col gap-2 text-center sm:text-left", e),
186
+ ...t
187
+ });
188
+ }
189
+ function z({ className: e, ...t }) {
190
+ return /* @__PURE__ */ c("div", {
191
+ "data-slot": "dialog-footer",
192
+ className: h("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
193
+ ...t
194
+ });
195
+ }
196
+ function B({ className: e, ...t }) {
197
+ return /* @__PURE__ */ c(f.Title, {
198
+ "data-slot": "dialog-title",
199
+ className: h("text-lg leading-none font-semibold", e),
200
+ ...t
201
+ });
202
+ }
203
+ function V({ className: e, ...t }) {
204
+ return /* @__PURE__ */ c(f.Description, {
205
+ "data-slot": "dialog-description",
206
+ className: h("text-muted-foreground text-sm", e),
207
+ ...t
208
+ });
209
+ }
210
+ //#endregion
211
+ //#region src/components/ui/dropdown-menu.tsx
212
+ function H({ ...e }) {
213
+ return /* @__PURE__ */ c(p.Root, {
214
+ "data-slot": "dropdown-menu",
215
+ ...e
216
+ });
217
+ }
218
+ function U({ ...e }) {
219
+ return /* @__PURE__ */ c(p.Portal, {
220
+ "data-slot": "dropdown-menu-portal",
221
+ ...e
222
+ });
223
+ }
224
+ function W({ ...e }) {
225
+ return /* @__PURE__ */ c(p.Trigger, {
226
+ "data-slot": "dropdown-menu-trigger",
227
+ ...e
228
+ });
229
+ }
230
+ function G({ className: e, sideOffset: t = 4, ...n }) {
231
+ return /* @__PURE__ */ c(p.Portal, { children: /* @__PURE__ */ c(p.Content, {
232
+ "data-slot": "dropdown-menu-content",
233
+ sideOffset: t,
234
+ className: h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", e),
235
+ ...n
236
+ }) });
237
+ }
238
+ function K({ ...e }) {
239
+ return /* @__PURE__ */ c(p.Group, {
240
+ "data-slot": "dropdown-menu-group",
241
+ ...e
242
+ });
243
+ }
244
+ function q({ className: e, inset: t, variant: n = "default", ...r }) {
245
+ return /* @__PURE__ */ c(p.Item, {
246
+ "data-slot": "dropdown-menu-item",
247
+ "data-inset": t,
248
+ "data-variant": n,
249
+ className: h("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
250
+ ...r
251
+ });
252
+ }
253
+ function J({ className: e, children: t, checked: n, ...r }) {
254
+ return /* @__PURE__ */ l(p.CheckboxItem, {
255
+ "data-slot": "dropdown-menu-checkbox-item",
256
+ className: h("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
257
+ checked: n,
258
+ ...r,
259
+ children: [/* @__PURE__ */ c("span", {
260
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
261
+ children: /* @__PURE__ */ c(p.ItemIndicator, { children: /* @__PURE__ */ c(D, { className: "size-4" }) })
262
+ }), t]
263
+ });
264
+ }
265
+ function ae({ ...e }) {
266
+ return /* @__PURE__ */ c(p.RadioGroup, {
267
+ "data-slot": "dropdown-menu-radio-group",
268
+ ...e
269
+ });
270
+ }
271
+ function oe({ className: e, children: t, ...n }) {
272
+ return /* @__PURE__ */ l(p.RadioItem, {
273
+ "data-slot": "dropdown-menu-radio-item",
274
+ className: h("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
275
+ ...n,
276
+ children: [/* @__PURE__ */ c("span", {
277
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
278
+ children: /* @__PURE__ */ c(p.ItemIndicator, { children: /* @__PURE__ */ c(re, { className: "size-2 fill-current" }) })
279
+ }), t]
280
+ });
281
+ }
282
+ function se({ className: e, inset: t, ...n }) {
283
+ return /* @__PURE__ */ c(p.Label, {
284
+ "data-slot": "dropdown-menu-label",
285
+ "data-inset": t,
286
+ className: h("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", e),
287
+ ...n
288
+ });
289
+ }
290
+ function ce({ className: e, ...t }) {
291
+ return /* @__PURE__ */ c(p.Separator, {
292
+ "data-slot": "dropdown-menu-separator",
293
+ className: h("bg-border -mx-1 my-1 h-px", e),
294
+ ...t
295
+ });
296
+ }
297
+ function le({ className: e, ...t }) {
298
+ return /* @__PURE__ */ c("span", {
299
+ "data-slot": "dropdown-menu-shortcut",
300
+ className: h("text-muted-foreground ml-auto text-xs tracking-widest", e),
301
+ ...t
302
+ });
303
+ }
304
+ function ue({ ...e }) {
305
+ return /* @__PURE__ */ c(p.Sub, {
306
+ "data-slot": "dropdown-menu-sub",
307
+ ...e
308
+ });
309
+ }
310
+ function de({ className: e, inset: t, children: n, ...r }) {
311
+ return /* @__PURE__ */ l(p.SubTrigger, {
312
+ "data-slot": "dropdown-menu-sub-trigger",
313
+ "data-inset": t,
314
+ className: h("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
315
+ ...r,
316
+ children: [n, /* @__PURE__ */ c(O, { className: "ml-auto size-4" })]
317
+ });
318
+ }
319
+ function fe({ className: e, ...t }) {
320
+ return /* @__PURE__ */ c(p.SubContent, {
321
+ "data-slot": "dropdown-menu-sub-content",
322
+ className: h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", e),
323
+ ...t
324
+ });
325
+ }
326
+ //#endregion
327
+ //#region src/components/ui/gradient-button.tsx
328
+ var Y = d("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 cursor-pointer disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-[3px]", {
329
+ variants: {
330
+ variant: {
331
+ default: [
332
+ "bg-gradient-to-r from-[var(--vg-accent-fill-from)] to-[var(--vg-accent-fill-to)] text-white",
333
+ "shadow-md shadow-[var(--vg-accent-shadow)]",
334
+ "hover:from-[var(--vg-accent-fill-from-hover)] hover:to-[var(--vg-accent-fill-to-hover)]",
335
+ "hover:shadow-lg hover:shadow-[var(--vg-accent-shadow-hover)]",
336
+ "focus-visible:ring-[var(--vg-accent-ring)]"
337
+ ].join(" "),
338
+ secondary: [
339
+ "bg-gradient-to-r from-slate-600 to-slate-700 text-white",
340
+ "shadow-md shadow-slate-500/25",
341
+ "hover:from-slate-700 hover:to-slate-800",
342
+ "hover:shadow-lg hover:shadow-slate-500/30",
343
+ "focus-visible:ring-slate-500/50",
344
+ "dark:from-slate-500 dark:to-slate-600",
345
+ "dark:shadow-slate-500/20",
346
+ "dark:hover:from-slate-600 dark:hover:to-slate-700",
347
+ "dark:hover:shadow-slate-500/25",
348
+ "dark:focus-visible:ring-slate-400/50"
349
+ ].join(" "),
350
+ destructive: [
351
+ "bg-gradient-to-r from-red-600 to-rose-600 text-white",
352
+ "shadow-md shadow-red-500/25",
353
+ "hover:from-red-700 hover:to-rose-700",
354
+ "hover:shadow-lg hover:shadow-red-500/30",
355
+ "focus-visible:ring-red-500/50",
356
+ "dark:from-red-500 dark:to-rose-500",
357
+ "dark:shadow-red-500/20",
358
+ "dark:hover:from-red-600 dark:hover:to-rose-600",
359
+ "dark:hover:shadow-red-500/25",
360
+ "dark:focus-visible:ring-red-400/50"
361
+ ].join(" "),
362
+ success: [
363
+ "bg-gradient-to-r from-emerald-600 to-teal-600 text-white",
364
+ "shadow-md shadow-emerald-500/25",
365
+ "hover:from-emerald-700 hover:to-teal-700",
366
+ "hover:shadow-lg hover:shadow-emerald-500/30",
367
+ "focus-visible:ring-emerald-500/50",
368
+ "dark:from-emerald-500 dark:to-teal-500",
369
+ "dark:shadow-emerald-500/20",
370
+ "dark:hover:from-emerald-600 dark:hover:to-teal-600",
371
+ "dark:hover:shadow-emerald-500/25",
372
+ "dark:focus-visible:ring-emerald-400/50"
373
+ ].join(" "),
374
+ outline: [
375
+ "border-2 border-[var(--vg-accent-fg)] text-[var(--vg-accent-fg)] bg-transparent",
376
+ "hover:bg-[var(--vg-accent-fill-from)] hover:text-white",
377
+ "shadow-sm hover:shadow-md hover:shadow-[var(--vg-accent-shadow)]",
378
+ "focus-visible:ring-[var(--vg-accent-ring)]"
379
+ ].join(" "),
380
+ ghost: [
381
+ "bg-transparent text-[var(--vg-accent-fg)]",
382
+ "hover:bg-[var(--vg-accent-surface)]",
383
+ "focus-visible:ring-[var(--vg-accent-ring)]"
384
+ ].join(" ")
385
+ },
386
+ size: {
387
+ default: "h-11 px-5 py-2 has-[>svg]:px-4",
388
+ sm: "h-9 rounded-md gap-1.5 px-4 has-[>svg]:px-3 text-xs",
389
+ lg: "h-12 rounded-md px-8 has-[>svg]:px-6 text-base",
390
+ icon: "size-11",
391
+ "icon-sm": "size-9",
392
+ "icon-lg": "size-12"
393
+ }
394
+ },
395
+ defaultVariants: {
396
+ variant: "default",
397
+ size: "default"
398
+ }
399
+ });
400
+ function pe({ className: e, variant: t, size: n, asChild: r = !1, loading: i = !1, ...a }) {
401
+ let o = h(Y({
402
+ variant: t,
403
+ size: n,
404
+ className: e
405
+ }));
406
+ return /* @__PURE__ */ c(r ? u : "button", {
407
+ "data-slot": "gradient-button",
408
+ className: o,
409
+ disabled: i || a.disabled,
410
+ ...a,
411
+ children: i ? /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ l("svg", {
412
+ className: "size-4 animate-spin",
413
+ xmlns: "http://www.w3.org/2000/svg",
414
+ fill: "none",
415
+ viewBox: "0 0 24 24",
416
+ children: [/* @__PURE__ */ c("circle", {
417
+ className: "opacity-25",
418
+ cx: "12",
419
+ cy: "12",
420
+ r: "10",
421
+ stroke: "currentColor",
422
+ strokeWidth: "4"
423
+ }), /* @__PURE__ */ c("path", {
424
+ className: "opacity-75",
425
+ fill: "currentColor",
426
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
427
+ })]
428
+ }), a.children] }) : a.children
429
+ });
430
+ }
431
+ //#endregion
432
+ //#region src/components/ui/input.tsx
433
+ function me({ className: e, type: t, ...n }) {
434
+ return /* @__PURE__ */ c("input", {
435
+ type: t,
436
+ "data-slot": "input",
437
+ className: h("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent pl-3 pr-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", e),
438
+ ...n
439
+ });
440
+ }
441
+ //#endregion
442
+ //#region src/components/ui/skeleton.tsx
443
+ function he({ className: e, ...t }) {
444
+ return /* @__PURE__ */ c("div", {
445
+ "data-slot": "skeleton",
446
+ className: h("bg-accent animate-pulse rounded-md", e),
447
+ ...t
448
+ });
449
+ }
450
+ //#endregion
451
+ //#region src/components/ui/tooltip.tsx
452
+ function X({ delayDuration: e = 0, ...t }) {
453
+ return /* @__PURE__ */ c(m.Provider, {
454
+ "data-slot": "tooltip-provider",
455
+ delayDuration: e,
456
+ ...t
457
+ });
458
+ }
459
+ function Z({ ...e }) {
460
+ return /* @__PURE__ */ c(X, { children: /* @__PURE__ */ c(m.Root, {
461
+ "data-slot": "tooltip",
462
+ ...e
463
+ }) });
464
+ }
465
+ function ge({ ...e }) {
466
+ return /* @__PURE__ */ c(m.Trigger, {
467
+ "data-slot": "tooltip-trigger",
468
+ ...e
469
+ });
470
+ }
471
+ function _e({ className: e, sideOffset: t = 0, children: n, ...r }) {
472
+ return /* @__PURE__ */ c(m.Portal, { children: /* @__PURE__ */ l(m.Content, {
473
+ "data-slot": "tooltip-content",
474
+ sideOffset: t,
475
+ className: h("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", e),
476
+ ...r,
477
+ children: [n, /* @__PURE__ */ c(m.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
478
+ }) });
479
+ }
480
+ //#endregion
481
+ //#region src/components/badge-colorful.tsx
482
+ var ve = ({ text: e, href: t, onClick: n, className: r, prefix: i }) => {
483
+ if (!e) return null;
484
+ let a = v(e);
485
+ return /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ l(j, {
486
+ variant: "outline",
487
+ title: e,
488
+ onClick: () => t && n?.(t),
489
+ className: `text-xs font-medium px-2 py-0.5 gap-1.5 cursor-pointer transition-all hover:opacity-80 dynamic-badge-${e.length} ${r ?? ""}`,
490
+ style: {
491
+ "--badge-bg": a.light.bg,
492
+ "--badge-text": a.light.text,
493
+ "--badge-border": a.light.border,
494
+ "--badge-dark-bg": a.dark.bg,
495
+ "--badge-dark-text": a.dark.text,
496
+ "--badge-dark-border": a.dark.border,
497
+ backgroundColor: "var(--badge-bg)",
498
+ color: "var(--badge-text)",
499
+ borderColor: "var(--badge-border)"
500
+ },
501
+ children: [i, /* @__PURE__ */ c("span", { dangerouslySetInnerHTML: { __html: e } })]
502
+ }), /* @__PURE__ */ c("style", {
503
+ suppressHydrationWarning: !0,
504
+ children: `
505
+ .dark [title="${e}"] {
506
+ background-color: var(--badge-dark-bg) !important;
507
+ color: var(--badge-dark-text) !important;
508
+ border-color: var(--badge-dark-border) !important;
509
+ }
510
+ `
511
+ })] });
512
+ }, ye = {
513
+ AR: "SA",
514
+ BN: "BD",
515
+ CA: "ES",
516
+ CS: "CZ",
517
+ DA: "DK",
518
+ DE: "DE",
519
+ EL: "GR",
520
+ EN: "US",
521
+ EU: "ES",
522
+ FA: "IR",
523
+ FI: "FI",
524
+ FIL: "PH",
525
+ FR: "FR",
526
+ GA: "IE",
527
+ GL: "ES",
528
+ GU: "IN",
529
+ HE: "IL",
530
+ HI: "IN",
531
+ HU: "HU",
532
+ ID: "ID",
533
+ IT: "IT",
534
+ JA: "JP",
535
+ KN: "IN",
536
+ KO: "KR",
537
+ MR: "IN",
538
+ MSA: "MY",
539
+ NL: "NL",
540
+ NO: "NO",
541
+ PL: "PL",
542
+ PT: "BR",
543
+ RO: "RO",
544
+ RU: "RU",
545
+ ES: "ES",
546
+ SV: "SE",
547
+ TA: "IN",
548
+ TH: "TH",
549
+ TR: "TR",
550
+ UK: "UA",
551
+ UR: "PK",
552
+ VI: "VN",
553
+ ZH: "CN"
554
+ }, Q = { UK: "GB" };
555
+ function $(e) {
556
+ if (!e) return "";
557
+ let { language: t, region: n } = g(e);
558
+ if (n) return (Q[n] || n).toLowerCase();
559
+ let r = ye[t];
560
+ return r ? r.toLowerCase() : (Q[t] || t).toLowerCase();
561
+ }
562
+ var be = ({ locale: e, className: t }) => {
563
+ let n = $(e), [r, i] = o(null), a = r === n;
564
+ return /* @__PURE__ */ l(j, {
565
+ variant: "secondary",
566
+ className: `font-mono gap-2 py-1 pl-1 pr-2 w-fit ${t}`,
567
+ children: [!a && n ? /* @__PURE__ */ c("img", {
568
+ src: `https://flagcdn.com/w40/${n}.png`,
569
+ alt: n,
570
+ onError: () => i(n),
571
+ className: "w-5 h-3.5 object-cover rounded-sm shadow-sm"
572
+ }) : /* @__PURE__ */ c(ie, { className: "w-3.5 h-3.5 text-muted-foreground" }), /* @__PURE__ */ c("span", {
573
+ className: "text-xs font-bold uppercase tracking-tight leading-none",
574
+ children: e
575
+ })]
576
+ });
577
+ };
578
+ //#endregion
579
+ export { V as A, O as B, ue as C, M as D, W as E, B as F, v as G, E as H, N as I, ee as K, j as L, R as M, I as N, F as O, P, A as R, le as S, de as T, h as U, D as V, _ as W, se as _, _e as a, oe as b, he as c, Y as d, H as f, q as g, K as h, Z as i, z as j, L as k, me as l, G as m, $ as n, X as o, J as p, ve as r, ge as s, be as t, pe as u, U as v, fe as w, ce as x, ae as y, k as z };
@@ -0,0 +1,7 @@
1
+ const e=require("./rolldown-runtime-BocRIvOZ.cjs");let t=require("clsx"),n=require("tailwind-merge"),r=require("react");r=e.t(r,1);let i=require("react/jsx-runtime"),a=require("@radix-ui/react-slot"),o=require("class-variance-authority"),s=require("@radix-ui/react-dialog");s=e.t(s,1);let c=require("@radix-ui/react-dropdown-menu");c=e.t(c,1);let l=require("@radix-ui/react-tooltip");l=e.t(l,1);function u(...e){return(0,n.twMerge)((0,t.clsx)(e))}function d(e){let[t=``,n]=e.trim().replaceAll(`-`,`_`).toUpperCase().split(`_`);return{language:t,region:n?.length===2?n:null}}var f=(e,t=10)=>{if(!e||e.length<=t)return e??``;if(t<3)return`...`.slice(0,Math.max(t,0));let n=t-3,r=Math.ceil(n/2),i=Math.floor(n/2);return e.substring(0,r)+`...`+e.substring(e.length-i)},p=e=>{let{region:t}=d(e);return t?t.split(``).map(e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)).join(``):`🌐`},m=e=>{let t=0;for(let n=0;n<e.length;n++)t=(e.codePointAt(n)??0)+((t<<5)-t);let n=Math.abs(t)%360;return{h:n,light:{bg:`hsl(${n}, 70%, 95%)`,text:`hsl(${n}, 70%, 20%)`,border:`hsl(${n}, 70%, 90%)`},dark:{bg:`hsl(${n}, 50%, 15%)`,text:`hsl(${n}, 80%, 80%)`,border:`hsl(${n}, 50%, 25%)`}}},h=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),g=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),ee=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),_=e=>{let t=ee(e);return t.charAt(0).toUpperCase()+t.slice(1)},v={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},y=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},b=(0,r.createContext)({}),te=()=>(0,r.useContext)(b),ne=(0,r.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:i,className:a=``,children:o,iconNode:s,...c},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=te()??{},g=i??f?Number(n??d)*24/Number(t??u):n??d;return(0,r.createElement)(`svg`,{ref:l,...v,width:t??u??v.width,height:t??u??v.height,stroke:e??p,strokeWidth:g,className:h(`lucide`,m,a),...!o&&!y(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(o)?o:[o]])}),x=(e,t)=>{let n=(0,r.forwardRef)(({className:n,...i},a)=>(0,r.createElement)(ne,{ref:a,iconNode:t,className:h(`lucide-${g(_(e))}`,`lucide-${e}`,n),...i}));return n.displayName=_(e),n},S=x(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),C=x(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),re=x(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),ie=x(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),w=x(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),T=(0,o.cva)(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function E({className:e,variant:t,asChild:n=!1,...r}){return(0,i.jsx)(n?a.Slot:`span`,{"data-slot":`badge`,className:u(T({variant:t}),e),...r})}function D({...e}){return(0,i.jsx)(s.Root,{"data-slot":`dialog`,...e})}function O({...e}){return(0,i.jsx)(s.Trigger,{"data-slot":`dialog-trigger`,...e})}function k({...e}){return(0,i.jsx)(s.Portal,{"data-slot":`dialog-portal`,...e})}function A({...e}){return(0,i.jsx)(s.Close,{"data-slot":`dialog-close`,...e})}function j({className:e,...t}){return(0,i.jsx)(s.Overlay,{"data-slot":`dialog-overlay`,className:u(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,e),...t})}function M({className:e,children:t,showCloseButton:n=!0,...r}){return(0,i.jsxs)(k,{"data-slot":`dialog-portal`,children:[(0,i.jsx)(j,{}),(0,i.jsxs)(s.Content,{"data-slot":`dialog-content`,className:u(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,e),...r,children:[t,n&&(0,i.jsxs)(s.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,i.jsx)(w,{}),(0,i.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function N({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`dialog-header`,className:u(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function P({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`dialog-footer`,className:u(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function F({className:e,...t}){return(0,i.jsx)(s.Title,{"data-slot":`dialog-title`,className:u(`text-lg leading-none font-semibold`,e),...t})}function I({className:e,...t}){return(0,i.jsx)(s.Description,{"data-slot":`dialog-description`,className:u(`text-muted-foreground text-sm`,e),...t})}function L({...e}){return(0,i.jsx)(c.Root,{"data-slot":`dropdown-menu`,...e})}function R({...e}){return(0,i.jsx)(c.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function z({...e}){return(0,i.jsx)(c.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function B({className:e,sideOffset:t=4,...n}){return(0,i.jsx)(c.Portal,{children:(0,i.jsx)(c.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:u(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function V({...e}){return(0,i.jsx)(c.Group,{"data-slot":`dropdown-menu-group`,...e})}function H({className:e,inset:t,variant:n=`default`,...r}){return(0,i.jsx)(c.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:u(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function ae({className:e,children:t,checked:n,...r}){return(0,i.jsxs)(c.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:u(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,i.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,i.jsx)(c.ItemIndicator,{children:(0,i.jsx)(S,{className:`size-4`})})}),t]})}function U({...e}){return(0,i.jsx)(c.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function W({className:e,children:t,...n}){return(0,i.jsxs)(c.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:u(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,i.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,i.jsx)(c.ItemIndicator,{children:(0,i.jsx)(re,{className:`size-2 fill-current`})})}),t]})}function G({className:e,inset:t,...n}){return(0,i.jsx)(c.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:u(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function K({className:e,...t}){return(0,i.jsx)(c.Separator,{"data-slot":`dropdown-menu-separator`,className:u(`bg-border -mx-1 my-1 h-px`,e),...t})}function q({className:e,...t}){return(0,i.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:u(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function J({...e}){return(0,i.jsx)(c.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function oe({className:e,inset:t,children:n,...r}){return(0,i.jsxs)(c.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:u(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,i.jsx)(C,{className:`ml-auto size-4`})]})}function se({className:e,...t}){return(0,i.jsx)(c.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:u(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}var Y=(0,o.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 cursor-pointer disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-[3px]`,{variants:{variant:{default:[`bg-gradient-to-r from-[var(--vg-accent-fill-from)] to-[var(--vg-accent-fill-to)] text-white`,`shadow-md shadow-[var(--vg-accent-shadow)]`,`hover:from-[var(--vg-accent-fill-from-hover)] hover:to-[var(--vg-accent-fill-to-hover)]`,`hover:shadow-lg hover:shadow-[var(--vg-accent-shadow-hover)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `),secondary:[`bg-gradient-to-r from-slate-600 to-slate-700 text-white`,`shadow-md shadow-slate-500/25`,`hover:from-slate-700 hover:to-slate-800`,`hover:shadow-lg hover:shadow-slate-500/30`,`focus-visible:ring-slate-500/50`,`dark:from-slate-500 dark:to-slate-600`,`dark:shadow-slate-500/20`,`dark:hover:from-slate-600 dark:hover:to-slate-700`,`dark:hover:shadow-slate-500/25`,`dark:focus-visible:ring-slate-400/50`].join(` `),destructive:[`bg-gradient-to-r from-red-600 to-rose-600 text-white`,`shadow-md shadow-red-500/25`,`hover:from-red-700 hover:to-rose-700`,`hover:shadow-lg hover:shadow-red-500/30`,`focus-visible:ring-red-500/50`,`dark:from-red-500 dark:to-rose-500`,`dark:shadow-red-500/20`,`dark:hover:from-red-600 dark:hover:to-rose-600`,`dark:hover:shadow-red-500/25`,`dark:focus-visible:ring-red-400/50`].join(` `),success:[`bg-gradient-to-r from-emerald-600 to-teal-600 text-white`,`shadow-md shadow-emerald-500/25`,`hover:from-emerald-700 hover:to-teal-700`,`hover:shadow-lg hover:shadow-emerald-500/30`,`focus-visible:ring-emerald-500/50`,`dark:from-emerald-500 dark:to-teal-500`,`dark:shadow-emerald-500/20`,`dark:hover:from-emerald-600 dark:hover:to-teal-600`,`dark:hover:shadow-emerald-500/25`,`dark:focus-visible:ring-emerald-400/50`].join(` `),outline:[`border-2 border-[var(--vg-accent-fg)] text-[var(--vg-accent-fg)] bg-transparent`,`hover:bg-[var(--vg-accent-fill-from)] hover:text-white`,`shadow-sm hover:shadow-md hover:shadow-[var(--vg-accent-shadow)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `),ghost:[`bg-transparent text-[var(--vg-accent-fg)]`,`hover:bg-[var(--vg-accent-surface)]`,`focus-visible:ring-[var(--vg-accent-ring)]`].join(` `)},size:{default:`h-11 px-5 py-2 has-[>svg]:px-4`,sm:`h-9 rounded-md gap-1.5 px-4 has-[>svg]:px-3 text-xs`,lg:`h-12 rounded-md px-8 has-[>svg]:px-6 text-base`,icon:`size-11`,"icon-sm":`size-9`,"icon-lg":`size-12`}},defaultVariants:{variant:`default`,size:`default`}});function ce({className:e,variant:t,size:n,asChild:r=!1,loading:o=!1,...s}){let c=u(Y({variant:t,size:n,className:e}));return(0,i.jsx)(r?a.Slot:`button`,{"data-slot":`gradient-button`,className:c,disabled:o||s.disabled,...s,children:o?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`svg`,{className:`size-4 animate-spin`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,i.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,i.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})]}),s.children]}):s.children})}function le({className:e,type:t,...n}){return(0,i.jsx)(`input`,{type:t,"data-slot":`input`,className:u(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent pl-3 pr-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,e),...n})}function X({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`skeleton`,className:u(`bg-accent animate-pulse rounded-md`,e),...t})}function Z({delayDuration:e=0,...t}){return(0,i.jsx)(l.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function ue({...e}){return(0,i.jsx)(Z,{children:(0,i.jsx)(l.Root,{"data-slot":`tooltip`,...e})})}function de({...e}){return(0,i.jsx)(l.Trigger,{"data-slot":`tooltip-trigger`,...e})}function fe({className:e,sideOffset:t=0,children:n,...r}){return(0,i.jsx)(l.Portal,{children:(0,i.jsxs)(l.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:u(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...r,children:[n,(0,i.jsx)(l.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}var pe=({text:e,href:t,onClick:n,className:r,prefix:a})=>{if(!e)return null;let o=m(e);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(E,{variant:`outline`,title:e,onClick:()=>t&&n?.(t),className:`text-xs font-medium px-2 py-0.5 gap-1.5 cursor-pointer transition-all hover:opacity-80 dynamic-badge-${e.length} ${r??``}`,style:{"--badge-bg":o.light.bg,"--badge-text":o.light.text,"--badge-border":o.light.border,"--badge-dark-bg":o.dark.bg,"--badge-dark-text":o.dark.text,"--badge-dark-border":o.dark.border,backgroundColor:`var(--badge-bg)`,color:`var(--badge-text)`,borderColor:`var(--badge-border)`},children:[a,(0,i.jsx)(`span`,{dangerouslySetInnerHTML:{__html:e}})]}),(0,i.jsx)(`style`,{suppressHydrationWarning:!0,children:`
2
+ .dark [title="${e}"] {
3
+ background-color: var(--badge-dark-bg) !important;
4
+ color: var(--badge-dark-text) !important;
5
+ border-color: var(--badge-dark-border) !important;
6
+ }
7
+ `})]})},me={AR:`SA`,BN:`BD`,CA:`ES`,CS:`CZ`,DA:`DK`,DE:`DE`,EL:`GR`,EN:`US`,EU:`ES`,FA:`IR`,FI:`FI`,FIL:`PH`,FR:`FR`,GA:`IE`,GL:`ES`,GU:`IN`,HE:`IL`,HI:`IN`,HU:`HU`,ID:`ID`,IT:`IT`,JA:`JP`,KN:`IN`,KO:`KR`,MR:`IN`,MSA:`MY`,NL:`NL`,NO:`NO`,PL:`PL`,PT:`BR`,RO:`RO`,RU:`RU`,ES:`ES`,SV:`SE`,TA:`IN`,TH:`TH`,TR:`TR`,UK:`UA`,UR:`PK`,VI:`VN`,ZH:`CN`},Q={UK:`GB`};function $(e){if(!e)return``;let{language:t,region:n}=d(e);if(n)return(Q[n]||n).toLowerCase();let r=me[t];return r?r.toLowerCase():(Q[t]||t).toLowerCase()}var he=({locale:e,className:t})=>{let n=$(e),[a,o]=(0,r.useState)(null),s=a===n;return(0,i.jsxs)(E,{variant:`secondary`,className:`font-mono gap-2 py-1 pl-1 pr-2 w-fit ${t}`,children:[!s&&n?(0,i.jsx)(`img`,{src:`https://flagcdn.com/w40/${n}.png`,alt:n,onError:()=>o(n),className:`w-5 h-3.5 object-cover rounded-sm shadow-sm`}):(0,i.jsx)(ie,{className:`w-3.5 h-3.5 text-muted-foreground`}),(0,i.jsx)(`span`,{className:`text-xs font-bold uppercase tracking-tight leading-none`,children:e})]})};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return w}});
@@ -0,0 +1,42 @@
1
+ import { ComponentType } from 'react';
2
+ export type BentoActionTone = "default" | "destructive";
3
+ export interface BentoActionsMenuItem {
4
+ /** Visible label inside the menu. */
5
+ label: string;
6
+ /** Icon shown to the left of the label. */
7
+ icon: ComponentType<{
8
+ size?: number;
9
+ }>;
10
+ /**
11
+ * "destructive" tints the item rose (delete / remove / clear).
12
+ * "default" inherits muted-foreground tone.
13
+ */
14
+ tone?: BentoActionTone;
15
+ /** Disable the item without removing it from the list. */
16
+ disabled?: boolean;
17
+ /** Triggered when the menu item is selected. */
18
+ onSelect: () => void;
19
+ }
20
+ export interface BentoActionsMenuProps {
21
+ /**
22
+ * Actions to render. Order is preserved; render-time filtering
23
+ * (e.g. "only show Delete for non-new entities") should happen
24
+ * upstream.
25
+ */
26
+ actions: BentoActionsMenuItem[];
27
+ /** Override the trigger's accessible label. Defaults to "More actions". */
28
+ triggerLabel?: string;
29
+ }
30
+ /**
31
+ * "More actions" menu for Bento detail pages — the canonical place
32
+ * for destructive or secondary actions (Delete, Duplicate, Export).
33
+ *
34
+ * Renders a frosted `⋮` button as the trigger and the bento-styled
35
+ * dropdown surface for the menu, so it visually matches
36
+ * BentoUserMenu and other dropdowns in the bento language.
37
+ *
38
+ * Hidden by default behind a single icon — keeps the hero's primary
39
+ * content uncluttered while keeping every action one click away.
40
+ */
41
+ export declare function BentoActionsMenu({ actions, triggerLabel }: Readonly<BentoActionsMenuProps>): import("react").JSX.Element | null;
42
+ //# sourceMappingURL=bento-actions-menu.d.ts.map