@viglet/viglet-design-system 2026.3.2 → 2026.3.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 (184) hide show
  1. package/README.md +334 -8
  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 +1502 -0
  63. package/dist/breadcrumb.context-CGqjI0-U.js +914 -0
  64. package/dist/breadcrumb.context-DYeZEC65.cjs +1 -0
  65. package/dist/components/app-switcher.d.ts +2 -0
  66. package/dist/components/app-switcher.d.ts.map +1 -1
  67. package/dist/components/badge-locale.d.ts.map +1 -1
  68. package/dist/components/error-boundary.d.ts.map +1 -1
  69. package/dist/components/language-select.d.ts.map +1 -1
  70. package/dist/components/router/blank-slate.d.ts +10 -0
  71. package/dist/components/router/blank-slate.d.ts.map +1 -1
  72. package/dist/components/router/grid.list.d.ts +13 -0
  73. package/dist/components/router/grid.list.d.ts.map +1 -1
  74. package/dist/components/router/internal.sidebar.d.ts +39 -3
  75. package/dist/components/router/internal.sidebar.d.ts.map +1 -1
  76. package/dist/components/router/loading-provider.d.ts +6 -1
  77. package/dist/components/router/loading-provider.d.ts.map +1 -1
  78. package/dist/components/router/nav-main.d.ts +10 -0
  79. package/dist/components/router/nav-main.d.ts.map +1 -1
  80. package/dist/components/router/nav-user.d.ts +13 -0
  81. package/dist/components/router/nav-user.d.ts.map +1 -1
  82. package/dist/components/router/page-content.d.ts +10 -0
  83. package/dist/components/router/page-content.d.ts.map +1 -1
  84. package/dist/components/router/page-header.d.ts +13 -0
  85. package/dist/components/router/page-header.d.ts.map +1 -1
  86. package/dist/components/router/page.d.ts +13 -0
  87. package/dist/components/router/page.d.ts.map +1 -1
  88. package/dist/components/router/sticky.page.header.d.ts +14 -0
  89. package/dist/components/router/sticky.page.header.d.ts.map +1 -1
  90. package/dist/components/router/sub.page.d.ts +31 -11
  91. package/dist/components/router/sub.page.d.ts.map +1 -1
  92. package/dist/components/router/sub.page.header.d.ts +13 -0
  93. package/dist/components/router/sub.page.header.d.ts.map +1 -1
  94. package/dist/components/startup-first/startup-first.d.ts.map +1 -1
  95. package/dist/components/theme-provider.d.ts +37 -2
  96. package/dist/components/theme-provider.d.ts.map +1 -1
  97. package/dist/components/ui/floating-formulas-bg.d.ts +8 -1
  98. package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -1
  99. package/dist/components/ui/form.d.ts +2 -2
  100. package/dist/components/ui/form.d.ts.map +1 -1
  101. package/dist/components/ui/gradient-button.d.ts.map +1 -1
  102. package/dist/components/ui/gradient-switch.d.ts.map +1 -1
  103. package/dist/components/ui/icon-picker-dialog.d.ts +35 -0
  104. package/dist/components/ui/icon-picker-dialog.d.ts.map +1 -0
  105. package/dist/components/ui/index.d.ts +1 -0
  106. package/dist/components/ui/index.d.ts.map +1 -1
  107. package/dist/components/ui/section-card.d.ts +3 -3
  108. package/dist/components/ui/section-card.d.ts.map +1 -1
  109. package/dist/components/ui/sidebar.d.ts.map +1 -1
  110. package/dist/components/ui/slider.d.ts +1 -1
  111. package/dist/components/ui/slider.d.ts.map +1 -1
  112. package/dist/components/viglet-app-switcher.d.ts +3 -0
  113. package/dist/components/viglet-app-switcher.d.ts.map +1 -1
  114. package/dist/contexts/user.context.d.ts +24 -0
  115. package/dist/contexts/user.context.d.ts.map +1 -1
  116. package/dist/exports.json +404 -0
  117. package/dist/floating-formulas-bg.cjs +1 -0
  118. package/dist/floating-formulas-bg.css +21 -0
  119. package/dist/floating-formulas-bg.es.js +84 -56
  120. package/dist/fonts/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  121. package/dist/fonts/inter-cyrillic-wght-normal.woff2 +0 -0
  122. package/dist/fonts/inter-greek-ext-wght-normal.woff2 +0 -0
  123. package/dist/fonts/inter-greek-wght-normal.woff2 +0 -0
  124. package/dist/fonts/inter-latin-ext-wght-normal.woff2 +0 -0
  125. package/dist/fonts/inter-latin-wght-normal.woff2 +0 -0
  126. package/dist/fonts/inter-vietnamese-wght-normal.woff2 +0 -0
  127. package/dist/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  128. package/dist/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  129. package/dist/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  130. package/dist/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
  131. package/dist/fonts.css +126 -0
  132. package/dist/hooks/use-grid-adapter.d.ts.map +1 -1
  133. package/dist/hooks/use-mobile.d.ts +10 -0
  134. package/dist/hooks/use-mobile.d.ts.map +1 -1
  135. package/dist/hooks/use-sub-page-breadcrumb.d.ts.map +1 -1
  136. package/dist/i18n/index.d.ts +136 -0
  137. package/dist/i18n/index.d.ts.map +1 -1
  138. package/dist/i18n/locales/en/bento.json.d.ts +51 -0
  139. package/dist/i18n/locales/en/common.json.d.ts +7 -1
  140. package/dist/i18n/locales/en/forms.json.d.ts +15 -1
  141. package/dist/i18n/locales/en/nav.json.d.ts +3 -1
  142. package/dist/i18n/locales/pt/bento.json.d.ts +51 -0
  143. package/dist/i18n/locales/pt/common.json.d.ts +7 -1
  144. package/dist/i18n/locales/pt/forms.json.d.ts +15 -1
  145. package/dist/i18n/locales/pt/nav.json.d.ts +3 -1
  146. package/dist/i18n-DoNdMLEd.cjs +1 -0
  147. package/dist/{i18n-C94rDRaM.js → i18n-DuNITbWa.js} +155 -27
  148. package/dist/i18n.cjs +1 -0
  149. package/dist/i18n.es.js +2 -1
  150. package/dist/index.cjs +1 -0
  151. package/dist/index.d.ts +0 -1
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.es.js +493 -750
  154. package/dist/lib/axios.d.ts.map +1 -1
  155. package/dist/lib/export-xlsx.d.ts +7 -1
  156. package/dist/lib/export-xlsx.d.ts.map +1 -1
  157. package/dist/lib/react-markers.d.ts +17 -0
  158. package/dist/lib/react-markers.d.ts.map +1 -0
  159. package/dist/lib/utils.d.ts +22 -0
  160. package/dist/lib/utils.d.ts.map +1 -1
  161. package/dist/loading-provider-1mgM91iY.cjs +1 -0
  162. package/dist/loading-provider-CMnOuvdR.js +224 -0
  163. package/dist/preset.css +103 -3
  164. package/dist/products-DL_YYXkV.cjs +1 -0
  165. package/dist/products-Du9KB6Xl.js +9 -0
  166. package/dist/{rolldown-runtime-CMqjfN_6.cjs → rolldown-runtime-BocRIvOZ.cjs} +1 -1
  167. package/dist/router.cjs +1 -0
  168. package/dist/router.es.js +334 -504
  169. package/dist/user.context-kPAqKN4o.js +512 -0
  170. package/dist/user.context-r50nSWER.cjs +1 -0
  171. package/dist/viglet-design-system.css +1 -1
  172. package/dist/vite/boot-loader.d.ts +21 -7
  173. package/dist/vite/boot-loader.d.ts.map +1 -1
  174. package/dist/{vite.cjs.js → vite.cjs} +8 -8
  175. package/dist/vite.es.js +29 -16
  176. package/package.json +66 -22
  177. package/scripts/check-duplicates.mjs +198 -0
  178. package/dist/breadcrumb.context-C7VCfh49.js +0 -1501
  179. package/dist/breadcrumb.context-Td6Tjc_z.cjs +0 -7
  180. package/dist/floating-formulas-bg.cjs.js +0 -1
  181. package/dist/i18n-DN_2YzjB.cjs +0 -1
  182. package/dist/i18n.cjs.js +0 -1
  183. package/dist/index.cjs.js +0 -1
  184. 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