@northslopetech/altitude-ui 2.0.17 → 2.1.2
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.
- package/dist/index.d.mts +167 -155
- package/dist/index.d.ts +167 -155
- package/dist/index.js +506 -261
- package/dist/index.mjs +489 -256
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -85,6 +85,16 @@ __export(index_exports, {
|
|
|
85
85
|
Exclamation: () => Exclamation,
|
|
86
86
|
EyeClosed: () => EyeClosed,
|
|
87
87
|
EyeOpen: () => EyeOpen,
|
|
88
|
+
Field: () => Field,
|
|
89
|
+
FieldContent: () => FieldContent,
|
|
90
|
+
FieldDescription: () => FieldDescription,
|
|
91
|
+
FieldError: () => FieldError,
|
|
92
|
+
FieldGroup: () => FieldGroup,
|
|
93
|
+
FieldLabel: () => FieldLabel,
|
|
94
|
+
FieldLegend: () => FieldLegend,
|
|
95
|
+
FieldSeparator: () => FieldSeparator,
|
|
96
|
+
FieldSet: () => FieldSet,
|
|
97
|
+
FieldTitle: () => FieldTitle,
|
|
88
98
|
Filter: () => Filter,
|
|
89
99
|
FilterDescending: () => FilterDescending,
|
|
90
100
|
FormField: () => FormField,
|
|
@@ -96,7 +106,8 @@ __export(index_exports, {
|
|
|
96
106
|
HamburgerMenu: () => HamburgerMenu,
|
|
97
107
|
Home: () => Home,
|
|
98
108
|
Information: () => Information,
|
|
99
|
-
Input: () =>
|
|
109
|
+
Input: () => Input,
|
|
110
|
+
Label: () => Label2,
|
|
100
111
|
LineChart: () => LineChart,
|
|
101
112
|
Location: () => Location,
|
|
102
113
|
Lock: () => Lock,
|
|
@@ -118,6 +129,7 @@ __export(index_exports, {
|
|
|
118
129
|
SelectSeparator: () => SelectSeparator,
|
|
119
130
|
SelectTrigger: () => SelectTrigger,
|
|
120
131
|
SelectValue: () => SelectValue,
|
|
132
|
+
Separator: () => Separator2,
|
|
121
133
|
Share: () => Share,
|
|
122
134
|
Star: () => Star,
|
|
123
135
|
Statement: () => Statement,
|
|
@@ -127,6 +139,7 @@ __export(index_exports, {
|
|
|
127
139
|
TabsContent: () => TabsContent,
|
|
128
140
|
TabsList: () => TabsList,
|
|
129
141
|
TabsTrigger: () => TabsTrigger,
|
|
142
|
+
Textarea: () => Textarea,
|
|
130
143
|
TooltipContainer: () => TooltipContainer,
|
|
131
144
|
TooltipItem: () => TooltipItem,
|
|
132
145
|
Trash: () => Trash,
|
|
@@ -153,7 +166,6 @@ __export(index_exports, {
|
|
|
153
166
|
getHeatmapColor: () => getHeatmapColor,
|
|
154
167
|
getPerformanceColor: () => getPerformanceColor,
|
|
155
168
|
getSeriesColor: () => getSeriesColor,
|
|
156
|
-
inputVariants: () => inputVariants,
|
|
157
169
|
selectTriggerVariants: () => selectTriggerVariants,
|
|
158
170
|
tabsVariants: () => tabsVariants,
|
|
159
171
|
typographyVariants: () => typographyVariants,
|
|
@@ -2076,32 +2088,276 @@ var FormField = React4.forwardRef(
|
|
|
2076
2088
|
);
|
|
2077
2089
|
FormField.displayName = "FormField";
|
|
2078
2090
|
|
|
2079
|
-
// src/components/ui/
|
|
2080
|
-
var
|
|
2081
|
-
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
2082
|
-
|
|
2083
|
-
// src/components/ui/input.tsx
|
|
2084
|
-
var React5 = __toESM(require("react"));
|
|
2091
|
+
// src/components/ui/field.tsx
|
|
2092
|
+
var import_react = require("react");
|
|
2085
2093
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
2094
|
+
|
|
2095
|
+
// src/components/ui/label.tsx
|
|
2096
|
+
var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
|
|
2086
2097
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
2087
|
-
|
|
2088
|
-
|
|
2098
|
+
function Label2({
|
|
2099
|
+
className,
|
|
2100
|
+
...props
|
|
2101
|
+
}) {
|
|
2102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
2103
|
+
LabelPrimitive.Root,
|
|
2104
|
+
{
|
|
2105
|
+
"data-slot": "label",
|
|
2106
|
+
className: cn(
|
|
2107
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
2108
|
+
className
|
|
2109
|
+
),
|
|
2110
|
+
...props
|
|
2111
|
+
}
|
|
2112
|
+
);
|
|
2113
|
+
}
|
|
2114
|
+
|
|
2115
|
+
// src/components/ui/separator.tsx
|
|
2116
|
+
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"));
|
|
2117
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
2118
|
+
function Separator2({
|
|
2119
|
+
className,
|
|
2120
|
+
orientation = "horizontal",
|
|
2121
|
+
decorative = true,
|
|
2122
|
+
...props
|
|
2123
|
+
}) {
|
|
2124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
2125
|
+
SeparatorPrimitive.Root,
|
|
2126
|
+
{
|
|
2127
|
+
"data-slot": "separator",
|
|
2128
|
+
decorative,
|
|
2129
|
+
orientation,
|
|
2130
|
+
className: cn(
|
|
2131
|
+
"bg-subtle shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
2132
|
+
className
|
|
2133
|
+
),
|
|
2134
|
+
...props
|
|
2135
|
+
}
|
|
2136
|
+
);
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
// src/components/ui/field.tsx
|
|
2140
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2141
|
+
function FieldSet({ className, ...props }) {
|
|
2142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2143
|
+
"fieldset",
|
|
2144
|
+
{
|
|
2145
|
+
"data-slot": "field-set",
|
|
2146
|
+
className: cn(
|
|
2147
|
+
"flex flex-col gap-6",
|
|
2148
|
+
"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
2149
|
+
className
|
|
2150
|
+
),
|
|
2151
|
+
...props
|
|
2152
|
+
}
|
|
2153
|
+
);
|
|
2154
|
+
}
|
|
2155
|
+
function FieldLegend({
|
|
2156
|
+
className,
|
|
2157
|
+
variant = "legend",
|
|
2158
|
+
...props
|
|
2159
|
+
}) {
|
|
2160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2161
|
+
"legend",
|
|
2162
|
+
{
|
|
2163
|
+
"data-slot": "field-legend",
|
|
2164
|
+
"data-variant": variant,
|
|
2165
|
+
className: cn(
|
|
2166
|
+
"mb-3 font-medium",
|
|
2167
|
+
"data-[variant=legend]:text-base",
|
|
2168
|
+
"data-[variant=label]:text-sm",
|
|
2169
|
+
className
|
|
2170
|
+
),
|
|
2171
|
+
...props
|
|
2172
|
+
}
|
|
2173
|
+
);
|
|
2174
|
+
}
|
|
2175
|
+
function FieldGroup({ className, ...props }) {
|
|
2176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2177
|
+
"div",
|
|
2178
|
+
{
|
|
2179
|
+
"data-slot": "field-group",
|
|
2180
|
+
className: cn(
|
|
2181
|
+
"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",
|
|
2182
|
+
className
|
|
2183
|
+
),
|
|
2184
|
+
...props
|
|
2185
|
+
}
|
|
2186
|
+
);
|
|
2187
|
+
}
|
|
2188
|
+
var fieldVariants = (0, import_class_variance_authority5.cva)(
|
|
2189
|
+
"group/field data-[invalid=true]:text-error flex w-full gap-3",
|
|
2089
2190
|
{
|
|
2090
2191
|
variants: {
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2192
|
+
orientation: {
|
|
2193
|
+
vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
|
|
2194
|
+
horizontal: [
|
|
2195
|
+
"flex-row items-center",
|
|
2196
|
+
"[&>[data-slot=field-label]]:flex-auto",
|
|
2197
|
+
"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start"
|
|
2198
|
+
],
|
|
2199
|
+
responsive: [
|
|
2200
|
+
"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto",
|
|
2201
|
+
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
2202
|
+
"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
2203
|
+
]
|
|
2094
2204
|
}
|
|
2095
2205
|
},
|
|
2096
2206
|
defaultVariants: {
|
|
2097
|
-
|
|
2207
|
+
orientation: "vertical"
|
|
2098
2208
|
}
|
|
2099
2209
|
}
|
|
2100
2210
|
);
|
|
2211
|
+
function Field({
|
|
2212
|
+
className,
|
|
2213
|
+
orientation = "vertical",
|
|
2214
|
+
...props
|
|
2215
|
+
}) {
|
|
2216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2217
|
+
"div",
|
|
2218
|
+
{
|
|
2219
|
+
role: "group",
|
|
2220
|
+
"data-slot": "field",
|
|
2221
|
+
"data-orientation": orientation,
|
|
2222
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
2223
|
+
...props
|
|
2224
|
+
}
|
|
2225
|
+
);
|
|
2226
|
+
}
|
|
2227
|
+
function FieldContent({ className, ...props }) {
|
|
2228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2229
|
+
"div",
|
|
2230
|
+
{
|
|
2231
|
+
"data-slot": "field-content",
|
|
2232
|
+
className: cn(
|
|
2233
|
+
"group/field-content flex flex-1 flex-col gap-1.5 leading-snug",
|
|
2234
|
+
className
|
|
2235
|
+
),
|
|
2236
|
+
...props
|
|
2237
|
+
}
|
|
2238
|
+
);
|
|
2239
|
+
}
|
|
2240
|
+
function FieldLabel({
|
|
2241
|
+
className,
|
|
2242
|
+
...props
|
|
2243
|
+
}) {
|
|
2244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2245
|
+
Label2,
|
|
2246
|
+
{
|
|
2247
|
+
"data-slot": "field-label",
|
|
2248
|
+
className: cn(
|
|
2249
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50",
|
|
2250
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4",
|
|
2251
|
+
"has-data-[state=checked]:bg-gray has-data-[state=checked]:border-dark",
|
|
2252
|
+
className
|
|
2253
|
+
),
|
|
2254
|
+
...props
|
|
2255
|
+
}
|
|
2256
|
+
);
|
|
2257
|
+
}
|
|
2258
|
+
function FieldTitle({ className, ...props }) {
|
|
2259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2260
|
+
"div",
|
|
2261
|
+
{
|
|
2262
|
+
"data-slot": "field-label",
|
|
2263
|
+
className: cn(
|
|
2264
|
+
"flex w-fit items-center gap-2 text-sm font-medium leading-snug group-data-[disabled=true]/field:opacity-50",
|
|
2265
|
+
className
|
|
2266
|
+
),
|
|
2267
|
+
...props
|
|
2268
|
+
}
|
|
2269
|
+
);
|
|
2270
|
+
}
|
|
2271
|
+
function FieldDescription({ className, ...props }) {
|
|
2272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2273
|
+
"p",
|
|
2274
|
+
{
|
|
2275
|
+
"data-slot": "field-description",
|
|
2276
|
+
className: cn(
|
|
2277
|
+
"text-secondary text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
2278
|
+
"nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5",
|
|
2279
|
+
"[&>a:hover]:text-dark [&>a]:underline [&>a]:underline-offset-4",
|
|
2280
|
+
className
|
|
2281
|
+
),
|
|
2282
|
+
...props
|
|
2283
|
+
}
|
|
2284
|
+
);
|
|
2285
|
+
}
|
|
2286
|
+
function FieldSeparator({
|
|
2287
|
+
children,
|
|
2288
|
+
className,
|
|
2289
|
+
...props
|
|
2290
|
+
}) {
|
|
2291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
2292
|
+
"div",
|
|
2293
|
+
{
|
|
2294
|
+
"data-slot": "field-separator",
|
|
2295
|
+
"data-content": !!children,
|
|
2296
|
+
className: cn(
|
|
2297
|
+
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
2298
|
+
className
|
|
2299
|
+
),
|
|
2300
|
+
...props,
|
|
2301
|
+
children: [
|
|
2302
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
2303
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2304
|
+
"span",
|
|
2305
|
+
{
|
|
2306
|
+
className: "bg-light text-secondary relative mx-auto block w-fit px-2",
|
|
2307
|
+
"data-slot": "field-separator-content",
|
|
2308
|
+
children
|
|
2309
|
+
}
|
|
2310
|
+
)
|
|
2311
|
+
]
|
|
2312
|
+
}
|
|
2313
|
+
);
|
|
2314
|
+
}
|
|
2315
|
+
function FieldError({
|
|
2316
|
+
className,
|
|
2317
|
+
children,
|
|
2318
|
+
errors,
|
|
2319
|
+
...props
|
|
2320
|
+
}) {
|
|
2321
|
+
const content = (0, import_react.useMemo)(() => {
|
|
2322
|
+
if (children) {
|
|
2323
|
+
return children;
|
|
2324
|
+
}
|
|
2325
|
+
if (!errors) {
|
|
2326
|
+
return null;
|
|
2327
|
+
}
|
|
2328
|
+
if (errors?.length === 1 && errors[0]?.message) {
|
|
2329
|
+
return errors[0].message;
|
|
2330
|
+
}
|
|
2331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
2332
|
+
(error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("li", { children: error.message }, index)
|
|
2333
|
+
) });
|
|
2334
|
+
}, [children, errors]);
|
|
2335
|
+
if (!content) {
|
|
2336
|
+
return null;
|
|
2337
|
+
}
|
|
2338
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2339
|
+
"div",
|
|
2340
|
+
{
|
|
2341
|
+
role: "alert",
|
|
2342
|
+
"data-slot": "field-error",
|
|
2343
|
+
className: cn("text-error text-sm font-normal", className),
|
|
2344
|
+
...props,
|
|
2345
|
+
children: content
|
|
2346
|
+
}
|
|
2347
|
+
);
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
// src/components/ui/date-picker.tsx
|
|
2351
|
+
var React6 = __toESM(require("react"));
|
|
2352
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
2353
|
+
|
|
2354
|
+
// src/components/ui/input.tsx
|
|
2355
|
+
var React5 = __toESM(require("react"));
|
|
2356
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
2357
|
+
var inputBaseStyles = "flex h-10 py-2 w-full border bg-light text-dark focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:border-secondary transition-colors rounded-md px-3 min-w-80 border-secondary focus-visible:border-2 focus-visible:border-strong placeholder:text-secondary read-only:bg-gray read-only:cursor-default read-only:border-transparent read-only:text-secondary read-only:focus-visible:border-transparent";
|
|
2101
2358
|
var Input = React5.forwardRef(
|
|
2102
2359
|
({
|
|
2103
2360
|
className,
|
|
2104
|
-
variant = "input",
|
|
2105
2361
|
style,
|
|
2106
2362
|
value,
|
|
2107
2363
|
onChange,
|
|
@@ -2123,15 +2379,7 @@ var Input = React5.forwardRef(
|
|
|
2123
2379
|
if (!isControlled) {
|
|
2124
2380
|
setInternalValue(e.target.value);
|
|
2125
2381
|
}
|
|
2126
|
-
if (
|
|
2127
|
-
onChange(e);
|
|
2128
|
-
}
|
|
2129
|
-
};
|
|
2130
|
-
const handleTextareaChange = (e) => {
|
|
2131
|
-
if (!isControlled) {
|
|
2132
|
-
setInternalValue(e.target.value);
|
|
2133
|
-
}
|
|
2134
|
-
if (variant === "textarea" && onChange) {
|
|
2382
|
+
if (onChange) {
|
|
2135
2383
|
onChange(e);
|
|
2136
2384
|
}
|
|
2137
2385
|
};
|
|
@@ -2140,60 +2388,20 @@ var Input = React5.forwardRef(
|
|
|
2140
2388
|
setInternalValue("");
|
|
2141
2389
|
}
|
|
2142
2390
|
if (onChange) {
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
onChange(inputEvent);
|
|
2149
|
-
} else {
|
|
2150
|
-
const textareaEvent = {
|
|
2151
|
-
target: { value: "" },
|
|
2152
|
-
currentTarget: { value: "" }
|
|
2153
|
-
};
|
|
2154
|
-
onChange(
|
|
2155
|
-
textareaEvent
|
|
2156
|
-
);
|
|
2157
|
-
}
|
|
2391
|
+
const inputEvent = {
|
|
2392
|
+
target: { value: "" },
|
|
2393
|
+
currentTarget: { value: "" }
|
|
2394
|
+
};
|
|
2395
|
+
onChange(inputEvent);
|
|
2158
2396
|
}
|
|
2159
2397
|
onClear?.();
|
|
2160
2398
|
};
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
2164
|
-
"textarea",
|
|
2165
|
-
{
|
|
2166
|
-
className: cn(
|
|
2167
|
-
inputVariants({ variant }),
|
|
2168
|
-
(showClear || showLock) && "pr-10",
|
|
2169
|
-
className
|
|
2170
|
-
),
|
|
2171
|
-
style: tokenStyles,
|
|
2172
|
-
ref,
|
|
2173
|
-
value: currentValue,
|
|
2174
|
-
onChange: handleTextareaChange,
|
|
2175
|
-
readOnly,
|
|
2176
|
-
...props
|
|
2177
|
-
}
|
|
2178
|
-
),
|
|
2179
|
-
showClear && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
2180
|
-
"button",
|
|
2181
|
-
{
|
|
2182
|
-
type: "button",
|
|
2183
|
-
onClick: handleClear,
|
|
2184
|
-
className: "absolute right-3 top-3 h-4 w-4 text-secondary hover:text-dark transition-colors",
|
|
2185
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(X, { className: "h-4 w-4" })
|
|
2186
|
-
}
|
|
2187
|
-
),
|
|
2188
|
-
showLock && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Lock, { className: "absolute right-3 top-3 h-4 w-4 text-secondary" })
|
|
2189
|
-
] });
|
|
2190
|
-
}
|
|
2191
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative", children: [
|
|
2192
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
2399
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "relative", children: [
|
|
2400
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2193
2401
|
"input",
|
|
2194
2402
|
{
|
|
2195
2403
|
className: cn(
|
|
2196
|
-
|
|
2404
|
+
inputBaseStyles,
|
|
2197
2405
|
(showClear || showLock) && "pr-10",
|
|
2198
2406
|
className
|
|
2199
2407
|
),
|
|
@@ -2205,24 +2413,23 @@ var Input = React5.forwardRef(
|
|
|
2205
2413
|
...props
|
|
2206
2414
|
}
|
|
2207
2415
|
),
|
|
2208
|
-
showClear && /* @__PURE__ */ (0,
|
|
2416
|
+
showClear && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2209
2417
|
"button",
|
|
2210
2418
|
{
|
|
2211
2419
|
type: "button",
|
|
2212
2420
|
onClick: handleClear,
|
|
2213
2421
|
className: "absolute right-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-secondary hover:text-dark transition-colors",
|
|
2214
|
-
children: /* @__PURE__ */ (0,
|
|
2422
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(X, { className: "h-4 w-4" })
|
|
2215
2423
|
}
|
|
2216
2424
|
),
|
|
2217
|
-
showLock && /* @__PURE__ */ (0,
|
|
2425
|
+
showLock && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Lock, { className: "absolute right-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-secondary" })
|
|
2218
2426
|
] });
|
|
2219
2427
|
}
|
|
2220
2428
|
);
|
|
2221
2429
|
Input.displayName = "Input";
|
|
2222
|
-
var TypedInput = Input;
|
|
2223
2430
|
|
|
2224
2431
|
// src/components/ui/date-picker.tsx
|
|
2225
|
-
var
|
|
2432
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2226
2433
|
var getDayNames = () => {
|
|
2227
2434
|
const days = [];
|
|
2228
2435
|
for (let i = 0; i < 7; i++) {
|
|
@@ -2423,15 +2630,15 @@ var DatePicker = React6.forwardRef(
|
|
|
2423
2630
|
const months = getMonthNames();
|
|
2424
2631
|
const dayNames = getDayNames();
|
|
2425
2632
|
const years = generateYears();
|
|
2426
|
-
return /* @__PURE__ */ (0,
|
|
2633
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2427
2634
|
PopoverPrimitive.Root,
|
|
2428
2635
|
{
|
|
2429
2636
|
open: disabled ? false : open,
|
|
2430
2637
|
onOpenChange: disabled ? void 0 : setOpen,
|
|
2431
2638
|
children: [
|
|
2432
|
-
/* @__PURE__ */ (0,
|
|
2433
|
-
/* @__PURE__ */ (0,
|
|
2434
|
-
|
|
2639
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "relative", children: [
|
|
2640
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2641
|
+
Input,
|
|
2435
2642
|
{
|
|
2436
2643
|
ref,
|
|
2437
2644
|
value: inputValue,
|
|
@@ -2443,7 +2650,7 @@ var DatePicker = React6.forwardRef(
|
|
|
2443
2650
|
...props
|
|
2444
2651
|
}
|
|
2445
2652
|
),
|
|
2446
|
-
/* @__PURE__ */ (0,
|
|
2653
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PopoverPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("button", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 hover:bg-gray rounded p-0.5 transition-colors", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2447
2654
|
Calendar,
|
|
2448
2655
|
{
|
|
2449
2656
|
className: cn(
|
|
@@ -2453,7 +2660,7 @@ var DatePicker = React6.forwardRef(
|
|
|
2453
2660
|
}
|
|
2454
2661
|
) }) })
|
|
2455
2662
|
] }),
|
|
2456
|
-
/* @__PURE__ */ (0,
|
|
2663
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2457
2664
|
PopoverPrimitive.Content,
|
|
2458
2665
|
{
|
|
2459
2666
|
className: "z-50 w-80 rounded-lg border border-secondary bg-light text-dark shadow-lg animate-in fade-in-0 zoom-in-95 duration-200",
|
|
@@ -2462,51 +2669,51 @@ var DatePicker = React6.forwardRef(
|
|
|
2462
2669
|
alignOffset: -12,
|
|
2463
2670
|
side: "bottom",
|
|
2464
2671
|
sticky: "always",
|
|
2465
|
-
children: /* @__PURE__ */ (0,
|
|
2466
|
-
/* @__PURE__ */ (0,
|
|
2467
|
-
/* @__PURE__ */ (0,
|
|
2672
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "p-4", children: [
|
|
2673
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center justify-between mb-4 gap-1", children: [
|
|
2674
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2468
2675
|
"button",
|
|
2469
2676
|
{
|
|
2470
2677
|
onClick: () => handleMonthChange("prev"),
|
|
2471
2678
|
className: "p-1 hover:bg-gray rounded transition-colors flex-shrink-0",
|
|
2472
|
-
children: /* @__PURE__ */ (0,
|
|
2679
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ChevronLeft, { className: "h-4 w-4" })
|
|
2473
2680
|
}
|
|
2474
2681
|
),
|
|
2475
|
-
/* @__PURE__ */ (0,
|
|
2476
|
-
/* @__PURE__ */ (0,
|
|
2682
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex gap-1 flex-1 min-w-0", children: [
|
|
2683
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2477
2684
|
Select,
|
|
2478
2685
|
{
|
|
2479
2686
|
value: currentMonth.getMonth().toString(),
|
|
2480
2687
|
onValueChange: handleMonthSelect,
|
|
2481
2688
|
children: [
|
|
2482
|
-
/* @__PURE__ */ (0,
|
|
2483
|
-
/* @__PURE__ */ (0,
|
|
2689
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectTrigger, { className: "min-w-fit h-8 text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectValue, {}) }),
|
|
2690
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectContent, { children: months.map((month, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectItem, { value: index.toString(), children: month }, month)) })
|
|
2484
2691
|
]
|
|
2485
2692
|
}
|
|
2486
2693
|
),
|
|
2487
|
-
/* @__PURE__ */ (0,
|
|
2694
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2488
2695
|
Select,
|
|
2489
2696
|
{
|
|
2490
2697
|
value: currentMonth.getFullYear().toString(),
|
|
2491
2698
|
onValueChange: handleYearSelect,
|
|
2492
2699
|
children: [
|
|
2493
|
-
/* @__PURE__ */ (0,
|
|
2494
|
-
/* @__PURE__ */ (0,
|
|
2700
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectTrigger, { className: "min-w-fit h-8 text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectValue, {}) }),
|
|
2701
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectContent, { children: years.map((year) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SelectItem, { value: year.toString(), children: year }, year)) })
|
|
2495
2702
|
]
|
|
2496
2703
|
}
|
|
2497
2704
|
)
|
|
2498
2705
|
] }),
|
|
2499
|
-
/* @__PURE__ */ (0,
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2500
2707
|
"button",
|
|
2501
2708
|
{
|
|
2502
2709
|
onClick: () => handleMonthChange("next"),
|
|
2503
2710
|
className: "p-1 hover:bg-gray rounded transition-colors flex-shrink-0",
|
|
2504
|
-
children: /* @__PURE__ */ (0,
|
|
2711
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ChevronRight, { className: "h-4 w-4" })
|
|
2505
2712
|
}
|
|
2506
2713
|
)
|
|
2507
2714
|
] }),
|
|
2508
|
-
/* @__PURE__ */ (0,
|
|
2509
|
-
/* @__PURE__ */ (0,
|
|
2715
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "space-y-1", children: [
|
|
2716
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: dayNames.map((day) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2510
2717
|
Typography,
|
|
2511
2718
|
{
|
|
2512
2719
|
variant: "label-xs-bold",
|
|
@@ -2516,11 +2723,11 @@ var DatePicker = React6.forwardRef(
|
|
|
2516
2723
|
},
|
|
2517
2724
|
day
|
|
2518
2725
|
)) }),
|
|
2519
|
-
/* @__PURE__ */ (0,
|
|
2726
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2520
2727
|
"div",
|
|
2521
2728
|
{
|
|
2522
2729
|
className: "h-8 w-8 flex items-center justify-center",
|
|
2523
|
-
children: date && /* @__PURE__ */ (0,
|
|
2730
|
+
children: date && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2524
2731
|
"button",
|
|
2525
2732
|
{
|
|
2526
2733
|
onClick: () => handleDateSelect(date),
|
|
@@ -2534,7 +2741,7 @@ var DatePicker = React6.forwardRef(
|
|
|
2534
2741
|
isToday(date) && !isDateSelected(date) && !isDateDisabled(date) && "text-blue-600 after:content-[''] after:absolute after:bottom-1 after:left-1/2 after:-translate-x-1/2 after:w-1 after:h-1 after:bg-blue-600 after:rounded-full",
|
|
2535
2742
|
isDateDisabled(date) && "text-secondary/40 cursor-not-allowed opacity-50"
|
|
2536
2743
|
),
|
|
2537
|
-
children: /* @__PURE__ */ (0,
|
|
2744
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Typography, { variant: "label-sm", as: "span", children: date.getDate() })
|
|
2538
2745
|
}
|
|
2539
2746
|
)
|
|
2540
2747
|
},
|
|
@@ -2554,7 +2761,7 @@ DatePicker.displayName = "DatePicker";
|
|
|
2554
2761
|
// src/components/ui/upload.tsx
|
|
2555
2762
|
var React7 = __toESM(require("react"));
|
|
2556
2763
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
2557
|
-
var
|
|
2764
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2558
2765
|
var DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
|
|
2559
2766
|
var uploadVariants = (0, import_class_variance_authority6.cva)(
|
|
2560
2767
|
"relative flex flex-col items-center justify-center rounded-lg transition-all duration-200 ease-in-out overflow-hidden",
|
|
@@ -2656,17 +2863,17 @@ var Upload = React7.forwardRef(
|
|
|
2656
2863
|
const renderContent = () => {
|
|
2657
2864
|
switch (effectiveState) {
|
|
2658
2865
|
case "error":
|
|
2659
|
-
return /* @__PURE__ */ (0,
|
|
2866
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2660
2867
|
"div",
|
|
2661
2868
|
{
|
|
2662
2869
|
className: "flex flex-col items-center text-center max-w-[289px]",
|
|
2663
2870
|
style: { gap: "32px" },
|
|
2664
2871
|
children: [
|
|
2665
|
-
/* @__PURE__ */ (0,
|
|
2666
|
-
/* @__PURE__ */ (0,
|
|
2667
|
-
/* @__PURE__ */ (0,
|
|
2872
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "space-y-4", children: [
|
|
2873
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "heading-sm", children: "Upload fail" }),
|
|
2874
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "body-md", className: "text-error", children: errorMessage })
|
|
2668
2875
|
] }),
|
|
2669
|
-
/* @__PURE__ */ (0,
|
|
2876
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2670
2877
|
Button,
|
|
2671
2878
|
{
|
|
2672
2879
|
variant: "destructive",
|
|
@@ -2680,22 +2887,22 @@ var Upload = React7.forwardRef(
|
|
|
2680
2887
|
}
|
|
2681
2888
|
);
|
|
2682
2889
|
case "uploading":
|
|
2683
|
-
return /* @__PURE__ */ (0,
|
|
2890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2684
2891
|
"div",
|
|
2685
2892
|
{
|
|
2686
2893
|
className: "flex flex-col items-center text-center max-w-[289px]",
|
|
2687
2894
|
style: { gap: "32px" },
|
|
2688
2895
|
children: [
|
|
2689
|
-
/* @__PURE__ */ (0,
|
|
2690
|
-
/* @__PURE__ */ (0,
|
|
2691
|
-
/* @__PURE__ */ (0,
|
|
2896
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "heading-sm", className: "text-dark", children: "Uploading files" }),
|
|
2897
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "w-full max-w-[720px] space-y-2", children: [
|
|
2898
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full bg-gray rounded-full h-2", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2692
2899
|
"div",
|
|
2693
2900
|
{
|
|
2694
2901
|
className: "bg-canvas-primary h-2 rounded-full transition-all duration-300 ease-in-out",
|
|
2695
2902
|
style: { width: `${progress}%` }
|
|
2696
2903
|
}
|
|
2697
2904
|
) }),
|
|
2698
|
-
/* @__PURE__ */ (0,
|
|
2905
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2699
2906
|
Typography,
|
|
2700
2907
|
{
|
|
2701
2908
|
variant: "body-sm",
|
|
@@ -2711,29 +2918,29 @@ var Upload = React7.forwardRef(
|
|
|
2711
2918
|
}
|
|
2712
2919
|
);
|
|
2713
2920
|
case "success":
|
|
2714
|
-
return /* @__PURE__ */ (0,
|
|
2921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2715
2922
|
"div",
|
|
2716
2923
|
{
|
|
2717
2924
|
className: "flex flex-col items-center text-center max-w-[289px]",
|
|
2718
2925
|
style: { gap: "32px" },
|
|
2719
|
-
children: /* @__PURE__ */ (0,
|
|
2720
|
-
/* @__PURE__ */ (0,
|
|
2721
|
-
selectedFiles.length > 0 && /* @__PURE__ */ (0,
|
|
2926
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "space-y-4", children: [
|
|
2927
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "heading-sm", className: "text-success", children: "Upload successful!" }),
|
|
2928
|
+
selectedFiles.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "text-center", children: selectedFiles.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "body-sm", children: file.name }, index)) })
|
|
2722
2929
|
] })
|
|
2723
2930
|
}
|
|
2724
2931
|
);
|
|
2725
2932
|
default:
|
|
2726
|
-
return /* @__PURE__ */ (0,
|
|
2933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2727
2934
|
"div",
|
|
2728
2935
|
{
|
|
2729
2936
|
className: "flex flex-col items-center text-center max-w-[289px]",
|
|
2730
2937
|
style: { gap: "32px" },
|
|
2731
2938
|
children: [
|
|
2732
|
-
/* @__PURE__ */ (0,
|
|
2733
|
-
/* @__PURE__ */ (0,
|
|
2734
|
-
/* @__PURE__ */ (0,
|
|
2939
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "space-y-4", children: [
|
|
2940
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "heading-sm", className: "text-dark", children: "Drag & drop files here" }),
|
|
2941
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Typography, { variant: "body-md", className: "text-secondary", children: "or click to browse from your computer" })
|
|
2735
2942
|
] }),
|
|
2736
|
-
/* @__PURE__ */ (0,
|
|
2943
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2737
2944
|
Button,
|
|
2738
2945
|
{
|
|
2739
2946
|
variant: "default",
|
|
@@ -2747,10 +2954,10 @@ var Upload = React7.forwardRef(
|
|
|
2747
2954
|
children: "Choose files"
|
|
2748
2955
|
}
|
|
2749
2956
|
),
|
|
2750
|
-
/* @__PURE__ */ (0,
|
|
2957
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Typography, { variant: "body-sm", className: "text-secondary", children: [
|
|
2751
2958
|
"Supported file: ",
|
|
2752
2959
|
getFileTypeDisplay(),
|
|
2753
|
-
/* @__PURE__ */ (0,
|
|
2960
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("br", {}),
|
|
2754
2961
|
"Max: ",
|
|
2755
2962
|
Math.round(maxFileSize / 1024 / 1024),
|
|
2756
2963
|
" MB each"
|
|
@@ -2760,7 +2967,7 @@ var Upload = React7.forwardRef(
|
|
|
2760
2967
|
);
|
|
2761
2968
|
}
|
|
2762
2969
|
};
|
|
2763
|
-
return /* @__PURE__ */ (0,
|
|
2970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
2764
2971
|
"div",
|
|
2765
2972
|
{
|
|
2766
2973
|
ref,
|
|
@@ -2784,7 +2991,7 @@ var Upload = React7.forwardRef(
|
|
|
2784
2991
|
"aria-disabled": disabled,
|
|
2785
2992
|
...props,
|
|
2786
2993
|
children: [
|
|
2787
|
-
/* @__PURE__ */ (0,
|
|
2994
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
2788
2995
|
"input",
|
|
2789
2996
|
{
|
|
2790
2997
|
ref: fileInputRef,
|
|
@@ -2807,25 +3014,51 @@ Upload.displayName = "Upload";
|
|
|
2807
3014
|
var React8 = __toESM(require("react"));
|
|
2808
3015
|
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
|
|
2809
3016
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
2810
|
-
var
|
|
3017
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2811
3018
|
var checkboxVariants = (0, import_class_variance_authority7.cva)(
|
|
2812
3019
|
"peer size-4 shrink-0 rounded-[4px] border border-strong bg-light hover:bg-info-subtle transition-colors focus-visible:outline-none focus-visible:border-2 focus-visible:border-interactive disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-light [&_svg]:pointer-events-none [&_svg]:size-3 [&_svg]:shrink-0"
|
|
2813
3020
|
);
|
|
2814
|
-
var Checkbox = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
3021
|
+
var Checkbox = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2815
3022
|
CheckboxPrimitive.Root,
|
|
2816
3023
|
{
|
|
2817
3024
|
ref,
|
|
2818
3025
|
className: cn(checkboxVariants(), className),
|
|
2819
3026
|
...props,
|
|
2820
|
-
children: /* @__PURE__ */ (0,
|
|
3027
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckIcon, { variant: "light", className: "size-3" }) })
|
|
2821
3028
|
}
|
|
2822
3029
|
));
|
|
2823
3030
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
2824
3031
|
|
|
2825
|
-
// src/components/ui/
|
|
3032
|
+
// src/components/ui/textarea.tsx
|
|
2826
3033
|
var React9 = __toESM(require("react"));
|
|
3034
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
3035
|
+
var Textarea = React9.forwardRef(
|
|
3036
|
+
({ className, style, error, ...props }, ref) => {
|
|
3037
|
+
const tokenStyles = {
|
|
3038
|
+
font: "var(--typography-label-md-regular)",
|
|
3039
|
+
...style
|
|
3040
|
+
};
|
|
3041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
3042
|
+
"textarea",
|
|
3043
|
+
{
|
|
3044
|
+
className: cn(
|
|
3045
|
+
"flex min-h-[80px] w-full rounded-md border bg-light text-dark px-3 pt-3 pb-2 placeholder:text-secondary focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 transition-colors resize-y",
|
|
3046
|
+
error ? "border-error focus-visible:border-2 focus-visible:border-error" : "border-secondary focus-visible:border-2 focus-visible:border-strong disabled:border-secondary",
|
|
3047
|
+
className
|
|
3048
|
+
),
|
|
3049
|
+
style: tokenStyles,
|
|
3050
|
+
ref,
|
|
3051
|
+
...props
|
|
3052
|
+
}
|
|
3053
|
+
);
|
|
3054
|
+
}
|
|
3055
|
+
);
|
|
3056
|
+
Textarea.displayName = "Textarea";
|
|
3057
|
+
|
|
3058
|
+
// src/components/ui/badge.tsx
|
|
3059
|
+
var React10 = __toESM(require("react"));
|
|
2827
3060
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
2828
|
-
var
|
|
3061
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
2829
3062
|
var badgeVariants = (0, import_class_variance_authority8.cva)(
|
|
2830
3063
|
"inline-flex items-center justify-center gap-1 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
2831
3064
|
{
|
|
@@ -2848,7 +3081,7 @@ var badgeVariants = (0, import_class_variance_authority8.cva)(
|
|
|
2848
3081
|
function getBadgeTypographyStyles() {
|
|
2849
3082
|
return { font: "var(--typography-label-sm-bold)" };
|
|
2850
3083
|
}
|
|
2851
|
-
var Badge =
|
|
3084
|
+
var Badge = React10.forwardRef(
|
|
2852
3085
|
({ className, variant, style, ...props }, ref) => {
|
|
2853
3086
|
if (!variant) {
|
|
2854
3087
|
return null;
|
|
@@ -2858,7 +3091,7 @@ var Badge = React9.forwardRef(
|
|
|
2858
3091
|
...typographyStyles,
|
|
2859
3092
|
...style
|
|
2860
3093
|
};
|
|
2861
|
-
return /* @__PURE__ */ (0,
|
|
3094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2862
3095
|
"span",
|
|
2863
3096
|
{
|
|
2864
3097
|
className: cn(
|
|
@@ -2876,9 +3109,9 @@ var Badge = React9.forwardRef(
|
|
|
2876
3109
|
Badge.displayName = "Badge";
|
|
2877
3110
|
|
|
2878
3111
|
// src/components/ui/tabs.tsx
|
|
2879
|
-
var
|
|
3112
|
+
var React11 = __toESM(require("react"));
|
|
2880
3113
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
2881
|
-
var
|
|
3114
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2882
3115
|
var tabsVariants = (0, import_class_variance_authority9.cva)(
|
|
2883
3116
|
"inline-flex items-center justify-start whitespace-nowrap transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-interactive focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 h-10",
|
|
2884
3117
|
{
|
|
@@ -2892,17 +3125,17 @@ var tabsVariants = (0, import_class_variance_authority9.cva)(
|
|
|
2892
3125
|
}
|
|
2893
3126
|
}
|
|
2894
3127
|
);
|
|
2895
|
-
var TabsContext =
|
|
3128
|
+
var TabsContext = React11.createContext(
|
|
2896
3129
|
void 0
|
|
2897
3130
|
);
|
|
2898
3131
|
function useTabsContext() {
|
|
2899
|
-
const context =
|
|
3132
|
+
const context = React11.useContext(TabsContext);
|
|
2900
3133
|
if (!context) {
|
|
2901
3134
|
throw new Error("Tabs components must be used within a Tabs provider");
|
|
2902
3135
|
}
|
|
2903
3136
|
return context;
|
|
2904
3137
|
}
|
|
2905
|
-
var Tabs =
|
|
3138
|
+
var Tabs = React11.forwardRef((props, ref) => {
|
|
2906
3139
|
const {
|
|
2907
3140
|
className,
|
|
2908
3141
|
value,
|
|
@@ -2911,7 +3144,7 @@ var Tabs = React10.forwardRef((props, ref) => {
|
|
|
2911
3144
|
children,
|
|
2912
3145
|
...restProps
|
|
2913
3146
|
} = props;
|
|
2914
|
-
const contextValue =
|
|
3147
|
+
const contextValue = React11.useMemo(
|
|
2915
3148
|
() => ({
|
|
2916
3149
|
activeTab: value,
|
|
2917
3150
|
setActiveTab: onValueChange,
|
|
@@ -2919,13 +3152,13 @@ var Tabs = React10.forwardRef((props, ref) => {
|
|
|
2919
3152
|
}),
|
|
2920
3153
|
[value, onValueChange, variant]
|
|
2921
3154
|
);
|
|
2922
|
-
return /* @__PURE__ */ (0,
|
|
3155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref, className: cn("w-full", className), ...restProps, children }) });
|
|
2923
3156
|
});
|
|
2924
3157
|
Tabs.displayName = "Tabs";
|
|
2925
|
-
var TabsList =
|
|
3158
|
+
var TabsList = React11.forwardRef(
|
|
2926
3159
|
(props, ref) => {
|
|
2927
3160
|
const { className, children, ...restProps } = props;
|
|
2928
|
-
return /* @__PURE__ */ (0,
|
|
3161
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2929
3162
|
"div",
|
|
2930
3163
|
{
|
|
2931
3164
|
ref,
|
|
@@ -2941,7 +3174,7 @@ TabsList.displayName = "TabsList";
|
|
|
2941
3174
|
var getTabTypographyStyles = (isActive) => ({
|
|
2942
3175
|
font: isActive ? "var(--typography-label-sm-bold)" : "var(--typography-label-sm-regular)"
|
|
2943
3176
|
});
|
|
2944
|
-
var TabsTrigger =
|
|
3177
|
+
var TabsTrigger = React11.forwardRef(
|
|
2945
3178
|
(props, ref) => {
|
|
2946
3179
|
const { className, value, disabled, style, children, ...restProps } = props;
|
|
2947
3180
|
const { activeTab, setActiveTab, variant } = useTabsContext();
|
|
@@ -2949,22 +3182,22 @@ var TabsTrigger = React10.forwardRef(
|
|
|
2949
3182
|
throw new Error("TabsTrigger must have a value prop");
|
|
2950
3183
|
}
|
|
2951
3184
|
const isActive = activeTab === value;
|
|
2952
|
-
const tokenStyles =
|
|
3185
|
+
const tokenStyles = React11.useMemo(
|
|
2953
3186
|
() => ({
|
|
2954
3187
|
...getTabTypographyStyles(isActive),
|
|
2955
3188
|
...style
|
|
2956
3189
|
}),
|
|
2957
3190
|
[isActive, style]
|
|
2958
3191
|
);
|
|
2959
|
-
const triggerClassName =
|
|
3192
|
+
const triggerClassName = React11.useMemo(
|
|
2960
3193
|
() => cn(tabsVariants({ variant }), className),
|
|
2961
3194
|
[variant, className]
|
|
2962
3195
|
);
|
|
2963
|
-
const handleClick =
|
|
3196
|
+
const handleClick = React11.useCallback(() => {
|
|
2964
3197
|
if (disabled) return;
|
|
2965
3198
|
setActiveTab(value);
|
|
2966
3199
|
}, [disabled, setActiveTab, value]);
|
|
2967
|
-
return /* @__PURE__ */ (0,
|
|
3200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2968
3201
|
"button",
|
|
2969
3202
|
{
|
|
2970
3203
|
ref,
|
|
@@ -2978,13 +3211,13 @@ var TabsTrigger = React10.forwardRef(
|
|
|
2978
3211
|
disabled,
|
|
2979
3212
|
onClick: handleClick,
|
|
2980
3213
|
...restProps,
|
|
2981
|
-
children: /* @__PURE__ */ (0,
|
|
3214
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "pl-3 pr-6 py-2", children })
|
|
2982
3215
|
}
|
|
2983
3216
|
);
|
|
2984
3217
|
}
|
|
2985
3218
|
);
|
|
2986
3219
|
TabsTrigger.displayName = "TabsTrigger";
|
|
2987
|
-
var TabsContent =
|
|
3220
|
+
var TabsContent = React11.forwardRef(
|
|
2988
3221
|
(props, ref) => {
|
|
2989
3222
|
const { className, value, children, ...restProps } = props;
|
|
2990
3223
|
const { activeTab } = useTabsContext();
|
|
@@ -2995,7 +3228,7 @@ var TabsContent = React10.forwardRef(
|
|
|
2995
3228
|
if (!isActive) {
|
|
2996
3229
|
return null;
|
|
2997
3230
|
}
|
|
2998
|
-
return /* @__PURE__ */ (0,
|
|
3231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2999
3232
|
"div",
|
|
3000
3233
|
{
|
|
3001
3234
|
ref,
|
|
@@ -3013,11 +3246,11 @@ var TabsContent = React10.forwardRef(
|
|
|
3013
3246
|
TabsContent.displayName = "TabsContent";
|
|
3014
3247
|
|
|
3015
3248
|
// src/components/ui/dropdown-menu.tsx
|
|
3016
|
-
var
|
|
3249
|
+
var React12 = __toESM(require("react"));
|
|
3017
3250
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
3018
|
-
var
|
|
3251
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
3019
3252
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
3020
|
-
var DropdownMenuTrigger =
|
|
3253
|
+
var DropdownMenuTrigger = React12.forwardRef(({ className, icon, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3021
3254
|
DropdownMenuPrimitive.Trigger,
|
|
3022
3255
|
{
|
|
3023
3256
|
ref,
|
|
@@ -3027,7 +3260,7 @@ var DropdownMenuTrigger = React11.forwardRef(({ className, icon, children, ...pr
|
|
|
3027
3260
|
),
|
|
3028
3261
|
...props,
|
|
3029
3262
|
children: [
|
|
3030
|
-
icon || /* @__PURE__ */ (0,
|
|
3263
|
+
icon || /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(MoreMenu, { className: "size-4" }),
|
|
3031
3264
|
children
|
|
3032
3265
|
]
|
|
3033
3266
|
}
|
|
@@ -3037,7 +3270,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
|
3037
3270
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
3038
3271
|
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
3039
3272
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
3040
|
-
var DropdownMenuSubTrigger =
|
|
3273
|
+
var DropdownMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3041
3274
|
DropdownMenuPrimitive.SubTrigger,
|
|
3042
3275
|
{
|
|
3043
3276
|
ref,
|
|
@@ -3050,12 +3283,12 @@ var DropdownMenuSubTrigger = React11.forwardRef(({ className, inset, children, .
|
|
|
3050
3283
|
...props,
|
|
3051
3284
|
children: [
|
|
3052
3285
|
children,
|
|
3053
|
-
/* @__PURE__ */ (0,
|
|
3286
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ChevronRight, { className: "ml-auto" })
|
|
3054
3287
|
]
|
|
3055
3288
|
}
|
|
3056
3289
|
));
|
|
3057
3290
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
3058
|
-
var DropdownMenuSubContent =
|
|
3291
|
+
var DropdownMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3059
3292
|
DropdownMenuPrimitive.SubContent,
|
|
3060
3293
|
{
|
|
3061
3294
|
ref,
|
|
@@ -3067,7 +3300,7 @@ var DropdownMenuSubContent = React11.forwardRef(({ className, ...props }, ref) =
|
|
|
3067
3300
|
}
|
|
3068
3301
|
));
|
|
3069
3302
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
3070
|
-
var DropdownMenuContent =
|
|
3303
|
+
var DropdownMenuContent = React12.forwardRef(({ className, sideOffset = 4, align = "end", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3071
3304
|
DropdownMenuPrimitive.Content,
|
|
3072
3305
|
{
|
|
3073
3306
|
ref,
|
|
@@ -3081,7 +3314,7 @@ var DropdownMenuContent = React11.forwardRef(({ className, sideOffset = 4, align
|
|
|
3081
3314
|
}
|
|
3082
3315
|
) }));
|
|
3083
3316
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
3084
|
-
var DropdownMenuItem =
|
|
3317
|
+
var DropdownMenuItem = React12.forwardRef(({ className, inset, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3085
3318
|
DropdownMenuPrimitive.Item,
|
|
3086
3319
|
{
|
|
3087
3320
|
ref,
|
|
@@ -3098,7 +3331,7 @@ var DropdownMenuItem = React11.forwardRef(({ className, inset, style, ...props }
|
|
|
3098
3331
|
}
|
|
3099
3332
|
));
|
|
3100
3333
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
3101
|
-
var DropdownMenuCheckboxItem =
|
|
3334
|
+
var DropdownMenuCheckboxItem = React12.forwardRef(({ className, children, style, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3102
3335
|
DropdownMenuPrimitive.CheckboxItem,
|
|
3103
3336
|
{
|
|
3104
3337
|
ref,
|
|
@@ -3113,7 +3346,7 @@ var DropdownMenuCheckboxItem = React11.forwardRef(({ className, children, style,
|
|
|
3113
3346
|
},
|
|
3114
3347
|
...props,
|
|
3115
3348
|
children: [
|
|
3116
|
-
/* @__PURE__ */ (0,
|
|
3349
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3117
3350
|
Checkbox,
|
|
3118
3351
|
{
|
|
3119
3352
|
checked: checked === true,
|
|
@@ -3121,12 +3354,12 @@ var DropdownMenuCheckboxItem = React11.forwardRef(({ className, children, style,
|
|
|
3121
3354
|
"aria-hidden": "true"
|
|
3122
3355
|
}
|
|
3123
3356
|
),
|
|
3124
|
-
/* @__PURE__ */ (0,
|
|
3357
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "flex-1", children })
|
|
3125
3358
|
]
|
|
3126
3359
|
}
|
|
3127
3360
|
));
|
|
3128
3361
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
3129
|
-
var DropdownMenuRadioItem =
|
|
3362
|
+
var DropdownMenuRadioItem = React12.forwardRef(({ className, children, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3130
3363
|
DropdownMenuPrimitive.RadioItem,
|
|
3131
3364
|
{
|
|
3132
3365
|
ref,
|
|
@@ -3140,13 +3373,13 @@ var DropdownMenuRadioItem = React11.forwardRef(({ className, children, style, ..
|
|
|
3140
3373
|
},
|
|
3141
3374
|
...props,
|
|
3142
3375
|
children: [
|
|
3143
|
-
/* @__PURE__ */ (0,
|
|
3376
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "h-2 w-2 rounded-full bg-current" }) }) }),
|
|
3144
3377
|
children
|
|
3145
3378
|
]
|
|
3146
3379
|
}
|
|
3147
3380
|
));
|
|
3148
3381
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
3149
|
-
var DropdownMenuLabel =
|
|
3382
|
+
var DropdownMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3150
3383
|
DropdownMenuPrimitive.Label,
|
|
3151
3384
|
{
|
|
3152
3385
|
ref,
|
|
@@ -3159,7 +3392,7 @@ var DropdownMenuLabel = React11.forwardRef(({ className, inset, ...props }, ref)
|
|
|
3159
3392
|
}
|
|
3160
3393
|
));
|
|
3161
3394
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
3162
|
-
var DropdownMenuSeparator =
|
|
3395
|
+
var DropdownMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3163
3396
|
DropdownMenuPrimitive.Separator,
|
|
3164
3397
|
{
|
|
3165
3398
|
ref,
|
|
@@ -3172,7 +3405,7 @@ var DropdownMenuShortcut = ({
|
|
|
3172
3405
|
className,
|
|
3173
3406
|
...props
|
|
3174
3407
|
}) => {
|
|
3175
|
-
return /* @__PURE__ */ (0,
|
|
3408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3176
3409
|
"span",
|
|
3177
3410
|
{
|
|
3178
3411
|
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
@@ -3183,21 +3416,21 @@ var DropdownMenuShortcut = ({
|
|
|
3183
3416
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
3184
3417
|
|
|
3185
3418
|
// src/components/ui/charts/chart-legend.tsx
|
|
3186
|
-
var
|
|
3419
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3187
3420
|
function ChartLegend({
|
|
3188
3421
|
items,
|
|
3189
3422
|
x = 0,
|
|
3190
3423
|
y = 550,
|
|
3191
3424
|
className = ""
|
|
3192
3425
|
}) {
|
|
3193
|
-
return /* @__PURE__ */ (0,
|
|
3426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("foreignObject", { x, y, width: "100%", height: "40", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3194
3427
|
"div",
|
|
3195
3428
|
{
|
|
3196
3429
|
className: `flex justify-center items-center gap-6 ${className}`,
|
|
3197
3430
|
style: { height: "100%" },
|
|
3198
|
-
children: items.map(({ key, color, label }) => /* @__PURE__ */ (0,
|
|
3199
|
-
/* @__PURE__ */ (0,
|
|
3200
|
-
/* @__PURE__ */ (0,
|
|
3431
|
+
children: items.map(({ key, color, label }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
3432
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-3 h-3", style: { backgroundColor: color } }),
|
|
3433
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Typography, { variant: "body-xs", children: label || key })
|
|
3201
3434
|
] }, key))
|
|
3202
3435
|
}
|
|
3203
3436
|
) });
|
|
@@ -3315,12 +3548,12 @@ var formatLargeNumber = (value) => {
|
|
|
3315
3548
|
};
|
|
3316
3549
|
|
|
3317
3550
|
// src/components/ui/charts/chart-labels.tsx
|
|
3318
|
-
var
|
|
3551
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3319
3552
|
var createCustomXAxisLabel = (text, yOffset = 40) => {
|
|
3320
3553
|
const CustomXAxisLabel = ({ viewBox }) => {
|
|
3321
3554
|
if (!viewBox) return null;
|
|
3322
3555
|
const { x, y, width } = viewBox;
|
|
3323
|
-
return /* @__PURE__ */ (0,
|
|
3556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("foreignObject", { x, y: y + yOffset, width, height: 20, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typography, { variant: "label-xs-bold", className: "text-secondary", children: text }) }) }) });
|
|
3324
3557
|
};
|
|
3325
3558
|
CustomXAxisLabel.displayName = "CustomXAxisLabel";
|
|
3326
3559
|
return CustomXAxisLabel;
|
|
@@ -3330,7 +3563,7 @@ var createCustomYAxisLabel = (text, leftMargin) => {
|
|
|
3330
3563
|
if (!viewBox) return null;
|
|
3331
3564
|
const { x, y, height } = viewBox;
|
|
3332
3565
|
const offset = leftMargin ? leftMargin + 10 : 110;
|
|
3333
|
-
return /* @__PURE__ */ (0,
|
|
3566
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("foreignObject", { x: x - offset, y, width: 100, height, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex items-center justify-center h-full transform -rotate-90 whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typography, { variant: "label-xs-bold", className: "text-secondary", children: text }) }) }) });
|
|
3334
3567
|
};
|
|
3335
3568
|
CustomYAxisLabel.displayName = "CustomYAxisLabel";
|
|
3336
3569
|
return CustomYAxisLabel;
|
|
@@ -3339,14 +3572,14 @@ var createCustomYAxisRightLabel = (text) => {
|
|
|
3339
3572
|
const CustomYAxisRightLabel = ({ viewBox }) => {
|
|
3340
3573
|
if (!viewBox) return null;
|
|
3341
3574
|
const { x, y, width, height } = viewBox;
|
|
3342
|
-
return /* @__PURE__ */ (0,
|
|
3575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("foreignObject", { x: x + width - 70, y, width: 120, height, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex items-center justify-center h-full transform rotate-90 whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typography, { variant: "label-xs-bold", className: "text-secondary", children: text }) }) }) });
|
|
3343
3576
|
};
|
|
3344
3577
|
CustomYAxisRightLabel.displayName = "CustomYAxisRightLabel";
|
|
3345
3578
|
return CustomYAxisRightLabel;
|
|
3346
3579
|
};
|
|
3347
3580
|
var customXAxisTick = (props) => {
|
|
3348
3581
|
const { x, y, payload } = props;
|
|
3349
|
-
return /* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("g", { transform: `translate(${x},${y})`, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3350
3583
|
"foreignObject",
|
|
3351
3584
|
{
|
|
3352
3585
|
x: -20,
|
|
@@ -3354,12 +3587,12 @@ var customXAxisTick = (props) => {
|
|
|
3354
3587
|
width: 40,
|
|
3355
3588
|
height: 20,
|
|
3356
3589
|
style: { overflow: "visible" },
|
|
3357
|
-
children: /* @__PURE__ */ (0,
|
|
3590
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3358
3591
|
"div",
|
|
3359
3592
|
{
|
|
3360
3593
|
className: "flex items-start justify-center h-full",
|
|
3361
3594
|
style: { overflow: "visible" },
|
|
3362
|
-
children: /* @__PURE__ */ (0,
|
|
3595
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3363
3596
|
Typography,
|
|
3364
3597
|
{
|
|
3365
3598
|
variant: "body-xs",
|
|
@@ -3374,7 +3607,7 @@ var customXAxisTick = (props) => {
|
|
|
3374
3607
|
};
|
|
3375
3608
|
var customXAxisTickRotated = (props) => {
|
|
3376
3609
|
const { x, y, payload } = props;
|
|
3377
|
-
return /* @__PURE__ */ (0,
|
|
3610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("g", { transform: `translate(${x},${y})`, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3378
3611
|
"text",
|
|
3379
3612
|
{
|
|
3380
3613
|
x: 0,
|
|
@@ -3393,25 +3626,25 @@ var customYAxisTick = (props) => {
|
|
|
3393
3626
|
const { x, y, payload } = props;
|
|
3394
3627
|
const text = String(payload.value);
|
|
3395
3628
|
const estimatedWidth = Math.max(text.length * 8, 80);
|
|
3396
|
-
return /* @__PURE__ */ (0,
|
|
3629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
3397
3630
|
"foreignObject",
|
|
3398
3631
|
{
|
|
3399
3632
|
x: x - estimatedWidth + 5,
|
|
3400
3633
|
y: y - 6,
|
|
3401
3634
|
width: estimatedWidth,
|
|
3402
3635
|
height: 15,
|
|
3403
|
-
children: /* @__PURE__ */ (0,
|
|
3636
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex justify-end w-full", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typography, { variant: "body-xs", className: "text-secondary", children: payload.value }) })
|
|
3404
3637
|
}
|
|
3405
3638
|
);
|
|
3406
3639
|
};
|
|
3407
3640
|
|
|
3408
3641
|
// src/components/ui/charts/chart-tooltip.tsx
|
|
3409
|
-
var
|
|
3642
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
3410
3643
|
function TooltipContainer({
|
|
3411
3644
|
children,
|
|
3412
3645
|
className = ""
|
|
3413
3646
|
}) {
|
|
3414
|
-
return /* @__PURE__ */ (0,
|
|
3647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3415
3648
|
"div",
|
|
3416
3649
|
{
|
|
3417
3650
|
className: `bg-light border border-subtle rounded p-2.5 text-dark ${className}`,
|
|
@@ -3425,10 +3658,10 @@ function TooltipItem({
|
|
|
3425
3658
|
value,
|
|
3426
3659
|
className = ""
|
|
3427
3660
|
}) {
|
|
3428
|
-
return /* @__PURE__ */ (0,
|
|
3429
|
-
/* @__PURE__ */ (0,
|
|
3430
|
-
/* @__PURE__ */ (0,
|
|
3431
|
-
/* @__PURE__ */ (0,
|
|
3661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
3662
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("br", {}),
|
|
3663
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Typography, { variant: "label-sm", className, children: [
|
|
3664
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3432
3665
|
"span",
|
|
3433
3666
|
{
|
|
3434
3667
|
className: "inline-block w-3 h-3 mr-1.5",
|
|
@@ -3446,9 +3679,9 @@ function GenericTooltip({
|
|
|
3446
3679
|
items,
|
|
3447
3680
|
className = ""
|
|
3448
3681
|
}) {
|
|
3449
|
-
return /* @__PURE__ */ (0,
|
|
3450
|
-
title && /* @__PURE__ */ (0,
|
|
3451
|
-
items.map((item, index) => /* @__PURE__ */ (0,
|
|
3682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(TooltipContainer, { className, children: [
|
|
3683
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Typography, { variant: "label-sm-bold", children: title }),
|
|
3684
|
+
items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
3452
3685
|
TooltipItem,
|
|
3453
3686
|
{
|
|
3454
3687
|
color: item.color,
|
|
@@ -3461,10 +3694,10 @@ function GenericTooltip({
|
|
|
3461
3694
|
}
|
|
3462
3695
|
|
|
3463
3696
|
// src/components/ui/charts/bar-chart.tsx
|
|
3464
|
-
var
|
|
3697
|
+
var import_react2 = require("react");
|
|
3465
3698
|
var import_recharts = require("recharts");
|
|
3466
|
-
var
|
|
3467
|
-
var BarChart = (0,
|
|
3699
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
3700
|
+
var BarChart = (0, import_react2.forwardRef)(
|
|
3468
3701
|
({
|
|
3469
3702
|
data,
|
|
3470
3703
|
xAxisKey,
|
|
@@ -3490,19 +3723,19 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3490
3723
|
};
|
|
3491
3724
|
const defaultLegendItems = showLegend && legendItems.length === 0 ? [{ key: yAxisKey, color: barColor, label: yAxisKey }] : legendItems;
|
|
3492
3725
|
const hasData = data && data.length > 0;
|
|
3493
|
-
return /* @__PURE__ */ (0,
|
|
3726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
3494
3727
|
"div",
|
|
3495
3728
|
{
|
|
3496
3729
|
ref,
|
|
3497
3730
|
className: `bg-light border border-subtle mx-6 ${className}`,
|
|
3498
3731
|
children: [
|
|
3499
|
-
/* @__PURE__ */ (0,
|
|
3500
|
-
/* @__PURE__ */ (0,
|
|
3732
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-subtle", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Typography, { variant: "label-sm-bold", children: title }) }),
|
|
3733
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "pt-2 px-2", children: hasData ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3501
3734
|
import_recharts.ResponsiveContainer,
|
|
3502
3735
|
{
|
|
3503
3736
|
width: "100%",
|
|
3504
3737
|
height: CHART_CONSTANTS.STANDARD_HEIGHT,
|
|
3505
|
-
children: /* @__PURE__ */ (0,
|
|
3738
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
3506
3739
|
import_recharts.BarChart,
|
|
3507
3740
|
{
|
|
3508
3741
|
data,
|
|
@@ -3514,7 +3747,7 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3514
3747
|
onClick: handleClick,
|
|
3515
3748
|
layout,
|
|
3516
3749
|
children: [
|
|
3517
|
-
/* @__PURE__ */ (0,
|
|
3750
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3518
3751
|
import_recharts.XAxis,
|
|
3519
3752
|
{
|
|
3520
3753
|
dataKey: xAxisKey,
|
|
@@ -3528,7 +3761,7 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3528
3761
|
label: xAxisLabel ? createCustomXAxisLabel(xAxisLabel, 80) : void 0
|
|
3529
3762
|
}
|
|
3530
3763
|
),
|
|
3531
|
-
/* @__PURE__ */ (0,
|
|
3764
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3532
3765
|
import_recharts.YAxis,
|
|
3533
3766
|
{
|
|
3534
3767
|
axisLine: false,
|
|
@@ -3539,7 +3772,7 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3539
3772
|
type: yAxisType
|
|
3540
3773
|
}
|
|
3541
3774
|
),
|
|
3542
|
-
/* @__PURE__ */ (0,
|
|
3775
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3543
3776
|
import_recharts.Tooltip,
|
|
3544
3777
|
{
|
|
3545
3778
|
content: ({
|
|
@@ -3548,7 +3781,7 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3548
3781
|
label
|
|
3549
3782
|
}) => {
|
|
3550
3783
|
if (active && payload && payload.length) {
|
|
3551
|
-
return /* @__PURE__ */ (0,
|
|
3784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3552
3785
|
GenericTooltip,
|
|
3553
3786
|
{
|
|
3554
3787
|
title: label?.toString(),
|
|
@@ -3564,7 +3797,7 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3564
3797
|
}
|
|
3565
3798
|
}
|
|
3566
3799
|
),
|
|
3567
|
-
/* @__PURE__ */ (0,
|
|
3800
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
3568
3801
|
import_recharts.Bar,
|
|
3569
3802
|
{
|
|
3570
3803
|
dataKey: barDataKey || yAxisKey,
|
|
@@ -3572,12 +3805,12 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3572
3805
|
name: barDataKey || yAxisKey
|
|
3573
3806
|
}
|
|
3574
3807
|
),
|
|
3575
|
-
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0,
|
|
3808
|
+
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChartLegend, { items: defaultLegendItems })
|
|
3576
3809
|
]
|
|
3577
3810
|
}
|
|
3578
3811
|
)
|
|
3579
3812
|
}
|
|
3580
|
-
) : /* @__PURE__ */ (0,
|
|
3813
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Typography, { variant: "body-md", className: "text-secondary", children: "No data is available" }) }) })
|
|
3581
3814
|
]
|
|
3582
3815
|
}
|
|
3583
3816
|
);
|
|
@@ -3586,10 +3819,10 @@ var BarChart = (0, import_react.forwardRef)(
|
|
|
3586
3819
|
BarChart.displayName = "BarChart";
|
|
3587
3820
|
|
|
3588
3821
|
// src/components/ui/charts/line-chart.tsx
|
|
3589
|
-
var
|
|
3822
|
+
var import_react3 = require("react");
|
|
3590
3823
|
var import_recharts2 = require("recharts");
|
|
3591
|
-
var
|
|
3592
|
-
var LineChart = (0,
|
|
3824
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
3825
|
+
var LineChart = (0, import_react3.forwardRef)(
|
|
3593
3826
|
({
|
|
3594
3827
|
data,
|
|
3595
3828
|
xAxisKey,
|
|
@@ -3617,19 +3850,19 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3617
3850
|
)
|
|
3618
3851
|
);
|
|
3619
3852
|
const hasData = data && data.length > 0;
|
|
3620
|
-
return /* @__PURE__ */ (0,
|
|
3853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3621
3854
|
"div",
|
|
3622
3855
|
{
|
|
3623
3856
|
ref,
|
|
3624
3857
|
className: `bg-light border border-subtle mx-6 ${className}`,
|
|
3625
3858
|
children: [
|
|
3626
|
-
/* @__PURE__ */ (0,
|
|
3627
|
-
/* @__PURE__ */ (0,
|
|
3859
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-subtle", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typography, { variant: "label-sm-bold", children: title }) }),
|
|
3860
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "pt-2 px-2", children: hasData ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3628
3861
|
import_recharts2.ResponsiveContainer,
|
|
3629
3862
|
{
|
|
3630
3863
|
width: "100%",
|
|
3631
3864
|
height: CHART_CONSTANTS.STANDARD_HEIGHT,
|
|
3632
|
-
children: /* @__PURE__ */ (0,
|
|
3865
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
3633
3866
|
import_recharts2.LineChart,
|
|
3634
3867
|
{
|
|
3635
3868
|
data,
|
|
@@ -3640,7 +3873,7 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3640
3873
|
},
|
|
3641
3874
|
onClick: handleClick,
|
|
3642
3875
|
children: [
|
|
3643
|
-
/* @__PURE__ */ (0,
|
|
3876
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3644
3877
|
import_recharts2.XAxis,
|
|
3645
3878
|
{
|
|
3646
3879
|
dataKey: xAxisKey,
|
|
@@ -3652,7 +3885,7 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3652
3885
|
label: xAxisLabel ? createCustomXAxisLabel(xAxisLabel) : void 0
|
|
3653
3886
|
}
|
|
3654
3887
|
),
|
|
3655
|
-
/* @__PURE__ */ (0,
|
|
3888
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3656
3889
|
import_recharts2.YAxis,
|
|
3657
3890
|
{
|
|
3658
3891
|
axisLine: false,
|
|
@@ -3661,7 +3894,7 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3661
3894
|
label: yAxisLabel ? createCustomYAxisLabel(yAxisLabel, 40) : void 0
|
|
3662
3895
|
}
|
|
3663
3896
|
),
|
|
3664
|
-
/* @__PURE__ */ (0,
|
|
3897
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3665
3898
|
import_recharts2.Tooltip,
|
|
3666
3899
|
{
|
|
3667
3900
|
content: ({
|
|
@@ -3670,7 +3903,7 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3670
3903
|
label
|
|
3671
3904
|
}) => {
|
|
3672
3905
|
if (active && payload && payload.length) {
|
|
3673
|
-
return /* @__PURE__ */ (0,
|
|
3906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3674
3907
|
GenericTooltip,
|
|
3675
3908
|
{
|
|
3676
3909
|
title: label?.toString(),
|
|
@@ -3686,7 +3919,7 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3686
3919
|
}
|
|
3687
3920
|
}
|
|
3688
3921
|
),
|
|
3689
|
-
series.map((s, index) => /* @__PURE__ */ (0,
|
|
3922
|
+
series.map((s, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3690
3923
|
import_recharts2.Line,
|
|
3691
3924
|
{
|
|
3692
3925
|
type: "monotone",
|
|
@@ -3698,12 +3931,12 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3698
3931
|
},
|
|
3699
3932
|
s.dataKey
|
|
3700
3933
|
)),
|
|
3701
|
-
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0,
|
|
3934
|
+
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChartLegend, { items: defaultLegendItems })
|
|
3702
3935
|
]
|
|
3703
3936
|
}
|
|
3704
3937
|
)
|
|
3705
3938
|
}
|
|
3706
|
-
) : /* @__PURE__ */ (0,
|
|
3939
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typography, { variant: "body-md", className: "text-secondary", children: "No data is available" }) }) })
|
|
3707
3940
|
]
|
|
3708
3941
|
}
|
|
3709
3942
|
);
|
|
@@ -3712,10 +3945,10 @@ var LineChart = (0, import_react2.forwardRef)(
|
|
|
3712
3945
|
LineChart.displayName = "LineChart";
|
|
3713
3946
|
|
|
3714
3947
|
// src/components/ui/charts/pie-chart.tsx
|
|
3715
|
-
var
|
|
3948
|
+
var import_react4 = require("react");
|
|
3716
3949
|
var import_recharts3 = require("recharts");
|
|
3717
|
-
var
|
|
3718
|
-
var PieChart = (0,
|
|
3950
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
3951
|
+
var PieChart = (0, import_react4.forwardRef)(
|
|
3719
3952
|
({
|
|
3720
3953
|
data,
|
|
3721
3954
|
title,
|
|
@@ -3742,20 +3975,20 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3742
3975
|
)
|
|
3743
3976
|
);
|
|
3744
3977
|
const hasData = data && data.length > 0;
|
|
3745
|
-
return /* @__PURE__ */ (0,
|
|
3978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
3746
3979
|
"div",
|
|
3747
3980
|
{
|
|
3748
3981
|
ref,
|
|
3749
3982
|
className: `bg-light border border-subtle mx-6 ${className}`,
|
|
3750
3983
|
children: [
|
|
3751
|
-
/* @__PURE__ */ (0,
|
|
3752
|
-
/* @__PURE__ */ (0,
|
|
3984
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-subtle", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Typography, { variant: "label-sm-bold", children: title }) }),
|
|
3985
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "pt-2 px-2", children: hasData ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
3753
3986
|
import_recharts3.PieChart,
|
|
3754
3987
|
{
|
|
3755
3988
|
width: 600,
|
|
3756
3989
|
height: CHART_CONSTANTS.LARGE_HEIGHT,
|
|
3757
3990
|
children: [
|
|
3758
|
-
/* @__PURE__ */ (0,
|
|
3991
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3759
3992
|
import_recharts3.Pie,
|
|
3760
3993
|
{
|
|
3761
3994
|
data,
|
|
@@ -3767,7 +4000,7 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3767
4000
|
label: showLabels,
|
|
3768
4001
|
labelLine: false,
|
|
3769
4002
|
onClick: handleClick,
|
|
3770
|
-
children: data.map((entry, index) => /* @__PURE__ */ (0,
|
|
4003
|
+
children: data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3771
4004
|
import_recharts3.Cell,
|
|
3772
4005
|
{
|
|
3773
4006
|
fill: entry.color || getSeriesColor(index)
|
|
@@ -3776,7 +4009,7 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3776
4009
|
))
|
|
3777
4010
|
}
|
|
3778
4011
|
),
|
|
3779
|
-
/* @__PURE__ */ (0,
|
|
4012
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3780
4013
|
import_recharts3.Tooltip,
|
|
3781
4014
|
{
|
|
3782
4015
|
content: ({
|
|
@@ -3785,7 +4018,7 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3785
4018
|
}) => {
|
|
3786
4019
|
if (active && payload && payload.length && payload[0]) {
|
|
3787
4020
|
const data2 = payload[0].payload;
|
|
3788
|
-
return /* @__PURE__ */ (0,
|
|
4021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
3789
4022
|
GenericTooltip,
|
|
3790
4023
|
{
|
|
3791
4024
|
title: data2.name,
|
|
@@ -3803,10 +4036,10 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3803
4036
|
}
|
|
3804
4037
|
}
|
|
3805
4038
|
),
|
|
3806
|
-
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0,
|
|
4039
|
+
showLegend && defaultLegendItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ChartLegend, { items: defaultLegendItems, y: 400 })
|
|
3807
4040
|
]
|
|
3808
4041
|
}
|
|
3809
|
-
) }) : /* @__PURE__ */ (0,
|
|
4042
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Typography, { variant: "body-md", className: "text-secondary", children: "No data is available" }) }) })
|
|
3810
4043
|
]
|
|
3811
4044
|
}
|
|
3812
4045
|
);
|
|
@@ -3815,9 +4048,9 @@ var PieChart = (0, import_react3.forwardRef)(
|
|
|
3815
4048
|
PieChart.displayName = "PieChart";
|
|
3816
4049
|
|
|
3817
4050
|
// src/components/ui/table.tsx
|
|
3818
|
-
var
|
|
4051
|
+
var import_react5 = require("react");
|
|
3819
4052
|
var import_react_table = require("@tanstack/react-table");
|
|
3820
|
-
var
|
|
4053
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
3821
4054
|
function Table({
|
|
3822
4055
|
table,
|
|
3823
4056
|
className,
|
|
@@ -3829,33 +4062,33 @@ function Table({
|
|
|
3829
4062
|
const totalPages = table.getPageCount();
|
|
3830
4063
|
const totalRows = table.getFilteredRowModel().rows.length;
|
|
3831
4064
|
const showingText = totalRows > 0 ? "Showing " + (currentPage * pageSize + 1) + "-" + Math.min((currentPage + 1) * pageSize, totalRows) + " of " + totalRows + " results" : "No results found";
|
|
3832
|
-
const handlePreviousPage = (0,
|
|
4065
|
+
const handlePreviousPage = (0, import_react5.useCallback)(() => {
|
|
3833
4066
|
table.previousPage();
|
|
3834
4067
|
}, [table]);
|
|
3835
|
-
const handleNextPage = (0,
|
|
4068
|
+
const handleNextPage = (0, import_react5.useCallback)(() => {
|
|
3836
4069
|
table.nextPage();
|
|
3837
4070
|
}, [table]);
|
|
3838
|
-
const handlePageChange = (0,
|
|
4071
|
+
const handlePageChange = (0, import_react5.useCallback)(
|
|
3839
4072
|
(pageIndex) => {
|
|
3840
4073
|
table.setPageIndex(pageIndex);
|
|
3841
4074
|
},
|
|
3842
4075
|
[table]
|
|
3843
4076
|
);
|
|
3844
|
-
const handlePageSizeChange = (0,
|
|
4077
|
+
const handlePageSizeChange = (0, import_react5.useCallback)(
|
|
3845
4078
|
(value) => {
|
|
3846
4079
|
table.setPageSize(Number(value));
|
|
3847
4080
|
},
|
|
3848
4081
|
[table]
|
|
3849
4082
|
);
|
|
3850
|
-
return /* @__PURE__ */ (0,
|
|
3851
|
-
/* @__PURE__ */ (0,
|
|
3852
|
-
/* @__PURE__ */ (0,
|
|
4083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
|
|
4084
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: cn("overflow-x-auto", className), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("table", { className: "min-w-full divide-y divide-border", children: [
|
|
4085
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("thead", { className: "bg-dark text-light", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("tr", { children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("th", { className: "px-6 py-3 text-left", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
3853
4086
|
"div",
|
|
3854
4087
|
{
|
|
3855
4088
|
className: `flex items-center space-x-1 ${header.column.getCanSort() ? "cursor-pointer select-none" : ""}`,
|
|
3856
4089
|
onClick: header.column.getToggleSortingHandler(),
|
|
3857
4090
|
children: [
|
|
3858
|
-
/* @__PURE__ */ (0,
|
|
4091
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3859
4092
|
Typography,
|
|
3860
4093
|
{
|
|
3861
4094
|
variant: "label-xs",
|
|
@@ -3866,19 +4099,19 @@ function Table({
|
|
|
3866
4099
|
)
|
|
3867
4100
|
}
|
|
3868
4101
|
),
|
|
3869
|
-
header.column.getCanSort() && /* @__PURE__ */ (0,
|
|
3870
|
-
header.column.getIsSorted() === "asc" && /* @__PURE__ */ (0,
|
|
3871
|
-
header.column.getIsSorted() === "desc" && /* @__PURE__ */ (0,
|
|
4102
|
+
header.column.getCanSort() && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "ml-1", children: [
|
|
4103
|
+
header.column.getIsSorted() === "asc" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronUp, { className: "w-4 h-4 text-light" }),
|
|
4104
|
+
header.column.getIsSorted() === "desc" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronDown, { className: "w-4 h-4 text-light" })
|
|
3872
4105
|
] })
|
|
3873
4106
|
]
|
|
3874
4107
|
}
|
|
3875
4108
|
) }, header.id)) }, headerGroup.id)) }),
|
|
3876
|
-
/* @__PURE__ */ (0,
|
|
4109
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("tbody", { className: "bg-light divide-y divide-border", children: table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("tr", { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("td", { className: "px-6 py-4 whitespace-nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Typography, { variant: "body-sm", children: (0, import_react_table.flexRender)(
|
|
3877
4110
|
cell.column.columnDef.cell,
|
|
3878
4111
|
cell.getContext()
|
|
3879
4112
|
) }) }, cell.id)) }, row.id)) })
|
|
3880
4113
|
] }) }),
|
|
3881
|
-
showPagination && /* @__PURE__ */ (0,
|
|
4114
|
+
showPagination && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
3882
4115
|
"div",
|
|
3883
4116
|
{
|
|
3884
4117
|
className: cn(
|
|
@@ -3886,9 +4119,9 @@ function Table({
|
|
|
3886
4119
|
paginationClassName
|
|
3887
4120
|
),
|
|
3888
4121
|
children: [
|
|
3889
|
-
/* @__PURE__ */ (0,
|
|
3890
|
-
/* @__PURE__ */ (0,
|
|
3891
|
-
/* @__PURE__ */ (0,
|
|
4122
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Typography, { variant: "body-sm", className: "text-secondary", children: showingText }) }),
|
|
4123
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center space-x-1", children: [
|
|
4124
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3892
4125
|
Button,
|
|
3893
4126
|
{
|
|
3894
4127
|
variant: "ghost",
|
|
@@ -3896,7 +4129,7 @@ function Table({
|
|
|
3896
4129
|
onClick: handlePreviousPage,
|
|
3897
4130
|
disabled: !table.getCanPreviousPage(),
|
|
3898
4131
|
className: "p-2",
|
|
3899
|
-
children: /* @__PURE__ */ (0,
|
|
4132
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronLeft, { className: "w-4 h-4" })
|
|
3900
4133
|
}
|
|
3901
4134
|
),
|
|
3902
4135
|
Array.from(
|
|
@@ -3913,7 +4146,7 @@ function Table({
|
|
|
3913
4146
|
pageNumber = currentPage - 2 + i;
|
|
3914
4147
|
}
|
|
3915
4148
|
const isActive = pageNumber === currentPage;
|
|
3916
|
-
return /* @__PURE__ */ (0,
|
|
4149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3917
4150
|
Button,
|
|
3918
4151
|
{
|
|
3919
4152
|
variant: isActive ? "default" : "ghost",
|
|
@@ -3926,11 +4159,11 @@ function Table({
|
|
|
3926
4159
|
);
|
|
3927
4160
|
}
|
|
3928
4161
|
),
|
|
3929
|
-
table.getPageCount() > 5 && currentPage < totalPages - 3 && /* @__PURE__ */ (0,
|
|
3930
|
-
/* @__PURE__ */ (0,
|
|
3931
|
-
/* @__PURE__ */ (0,
|
|
4162
|
+
table.getPageCount() > 5 && currentPage < totalPages - 3 && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
|
|
4163
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "px-1 text-secondary", children: "..." }),
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Typography, { variant: "body-sm", className: "text-secondary", children: totalPages })
|
|
3932
4165
|
] }),
|
|
3933
|
-
/* @__PURE__ */ (0,
|
|
4166
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3934
4167
|
Button,
|
|
3935
4168
|
{
|
|
3936
4169
|
variant: "ghost",
|
|
@@ -3938,12 +4171,12 @@ function Table({
|
|
|
3938
4171
|
onClick: handleNextPage,
|
|
3939
4172
|
disabled: !table.getCanNextPage(),
|
|
3940
4173
|
className: "p-2",
|
|
3941
|
-
children: /* @__PURE__ */ (0,
|
|
4174
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronRight, { className: "w-4 h-4" })
|
|
3942
4175
|
}
|
|
3943
4176
|
)
|
|
3944
4177
|
] }),
|
|
3945
|
-
/* @__PURE__ */ (0,
|
|
3946
|
-
/* @__PURE__ */ (0,
|
|
4178
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-3 w-48", children: [
|
|
4179
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
3947
4180
|
Typography,
|
|
3948
4181
|
{
|
|
3949
4182
|
variant: "body-sm",
|
|
@@ -3951,14 +4184,14 @@ function Table({
|
|
|
3951
4184
|
children: "Rows per page:"
|
|
3952
4185
|
}
|
|
3953
4186
|
),
|
|
3954
|
-
/* @__PURE__ */ (0,
|
|
4187
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
3955
4188
|
Select,
|
|
3956
4189
|
{
|
|
3957
4190
|
value: table.getState().pagination.pageSize.toString(),
|
|
3958
4191
|
onValueChange: handlePageSizeChange,
|
|
3959
4192
|
children: [
|
|
3960
|
-
/* @__PURE__ */ (0,
|
|
3961
|
-
/* @__PURE__ */ (0,
|
|
4193
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SelectTrigger, { className: "min-w-0 h-8", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SelectValue, {}) }),
|
|
4194
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SelectContent, { children: [10, 20, 50, 100].map((size) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(SelectItem, { value: size.toString(), children: size }, size)) })
|
|
3962
4195
|
]
|
|
3963
4196
|
}
|
|
3964
4197
|
)
|
|
@@ -4025,6 +4258,16 @@ function Table({
|
|
|
4025
4258
|
Exclamation,
|
|
4026
4259
|
EyeClosed,
|
|
4027
4260
|
EyeOpen,
|
|
4261
|
+
Field,
|
|
4262
|
+
FieldContent,
|
|
4263
|
+
FieldDescription,
|
|
4264
|
+
FieldError,
|
|
4265
|
+
FieldGroup,
|
|
4266
|
+
FieldLabel,
|
|
4267
|
+
FieldLegend,
|
|
4268
|
+
FieldSeparator,
|
|
4269
|
+
FieldSet,
|
|
4270
|
+
FieldTitle,
|
|
4028
4271
|
Filter,
|
|
4029
4272
|
FilterDescending,
|
|
4030
4273
|
FormField,
|
|
@@ -4037,6 +4280,7 @@ function Table({
|
|
|
4037
4280
|
Home,
|
|
4038
4281
|
Information,
|
|
4039
4282
|
Input,
|
|
4283
|
+
Label,
|
|
4040
4284
|
LineChart,
|
|
4041
4285
|
Location,
|
|
4042
4286
|
Lock,
|
|
@@ -4058,6 +4302,7 @@ function Table({
|
|
|
4058
4302
|
SelectSeparator,
|
|
4059
4303
|
SelectTrigger,
|
|
4060
4304
|
SelectValue,
|
|
4305
|
+
Separator,
|
|
4061
4306
|
Share,
|
|
4062
4307
|
Star,
|
|
4063
4308
|
Statement,
|
|
@@ -4067,6 +4312,7 @@ function Table({
|
|
|
4067
4312
|
TabsContent,
|
|
4068
4313
|
TabsList,
|
|
4069
4314
|
TabsTrigger,
|
|
4315
|
+
Textarea,
|
|
4070
4316
|
TooltipContainer,
|
|
4071
4317
|
TooltipItem,
|
|
4072
4318
|
Trash,
|
|
@@ -4093,7 +4339,6 @@ function Table({
|
|
|
4093
4339
|
getHeatmapColor,
|
|
4094
4340
|
getPerformanceColor,
|
|
4095
4341
|
getSeriesColor,
|
|
4096
|
-
inputVariants,
|
|
4097
4342
|
selectTriggerVariants,
|
|
4098
4343
|
tabsVariants,
|
|
4099
4344
|
typographyVariants,
|