@tirth_jasoliya/ui 1.0.3 → 1.0.5
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.cjs +323 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +317 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -395,4 +395,16 @@ declare class GeneralHelper {
|
|
|
395
395
|
}) => React$1.JSX.Element;
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
|
|
398
|
+
declare const ErrorComponent: () => React$1.JSX.Element;
|
|
399
|
+
|
|
400
|
+
declare function CurrencyTransfer(): React$1.JSX.Element;
|
|
401
|
+
|
|
402
|
+
declare const Loader: () => React$1.JSX.Element;
|
|
403
|
+
|
|
404
|
+
declare const NotFound: () => React$1.JSX.Element;
|
|
405
|
+
|
|
406
|
+
declare const OfflineUI: () => React$1.JSX.Element;
|
|
407
|
+
|
|
408
|
+
declare const Unauthorized: () => React$1.JSX.Element;
|
|
409
|
+
|
|
410
|
+
export { type AppMeta, AppMetaProvider, CurrencyTransfer, DataTable, DataTableActionBar, DataTableActionBarAction, DataTableActionBarSelection, type DataTableProps, DataTemplate, DataTemplateActionBar, DataTemplateActionBarAction, DataTemplateActionBarSelection, type DataTemplateProps, ErrorComponent, GeneralHelper, type GroupColumnDef, Loader, NotFound, OfflineUI, Unauthorized, createLayoutComponents, createPageTemplateHook, createTypedAppMetaContext };
|
package/dist/index.d.ts
CHANGED
|
@@ -395,4 +395,16 @@ declare class GeneralHelper {
|
|
|
395
395
|
}) => React$1.JSX.Element;
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
|
|
398
|
+
declare const ErrorComponent: () => React$1.JSX.Element;
|
|
399
|
+
|
|
400
|
+
declare function CurrencyTransfer(): React$1.JSX.Element;
|
|
401
|
+
|
|
402
|
+
declare const Loader: () => React$1.JSX.Element;
|
|
403
|
+
|
|
404
|
+
declare const NotFound: () => React$1.JSX.Element;
|
|
405
|
+
|
|
406
|
+
declare const OfflineUI: () => React$1.JSX.Element;
|
|
407
|
+
|
|
408
|
+
declare const Unauthorized: () => React$1.JSX.Element;
|
|
409
|
+
|
|
410
|
+
export { type AppMeta, AppMetaProvider, CurrencyTransfer, DataTable, DataTableActionBar, DataTableActionBarAction, DataTableActionBarSelection, type DataTableProps, DataTemplate, DataTemplateActionBar, DataTemplateActionBarAction, DataTemplateActionBarSelection, type DataTemplateProps, ErrorComponent, GeneralHelper, type GroupColumnDef, Loader, NotFound, OfflineUI, Unauthorized, createLayoutComponents, createPageTemplateHook, createTypedAppMetaContext };
|
package/dist/index.js
CHANGED
|
@@ -3108,8 +3108,320 @@ var GeneralHelper = class {
|
|
|
3108
3108
|
) });
|
|
3109
3109
|
};
|
|
3110
3110
|
};
|
|
3111
|
+
|
|
3112
|
+
// src/components/core/error.tsx
|
|
3113
|
+
import { AlertTriangleIcon } from "lucide-react";
|
|
3114
|
+
import { useRouteError, isRouteErrorResponse, useNavigate } from "react-router";
|
|
3115
|
+
import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3116
|
+
var ErrorComponent = () => {
|
|
3117
|
+
const error = useRouteError();
|
|
3118
|
+
const navigate = useNavigate();
|
|
3119
|
+
const renderErrorDetails = () => {
|
|
3120
|
+
if (isRouteErrorResponse(error)) {
|
|
3121
|
+
return /* @__PURE__ */ jsxs21(Fragment5, { children: [
|
|
3122
|
+
/* @__PURE__ */ jsxs21("h2", { className: "text-3xl font-semibold text-destructive", children: [
|
|
3123
|
+
"Error ",
|
|
3124
|
+
error.status,
|
|
3125
|
+
": ",
|
|
3126
|
+
error.statusText
|
|
3127
|
+
] }),
|
|
3128
|
+
typeof error.data === "string" ? /* @__PURE__ */ jsx34("pre", { className: "text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left", children: error.data }) : error.data?.message && /* @__PURE__ */ jsx34("pre", { className: "text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left", children: error.data.message })
|
|
3129
|
+
] });
|
|
3130
|
+
}
|
|
3131
|
+
if (error instanceof Error) {
|
|
3132
|
+
return /* @__PURE__ */ jsxs21(Fragment5, { children: [
|
|
3133
|
+
/* @__PURE__ */ jsx34("h2", { className: "text-3xl font-semibold text-destructive", children: "Unexpected Error" }),
|
|
3134
|
+
/* @__PURE__ */ jsx34("pre", { className: "text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left", children: error.message }),
|
|
3135
|
+
error.stack && /* @__PURE__ */ jsxs21("details", { className: "mt-2 text-sm text-muted-foreground max-w-4xl text-left", children: [
|
|
3136
|
+
/* @__PURE__ */ jsx34("summary", { className: "cursor-pointer underline", children: "Stack Trace" }),
|
|
3137
|
+
/* @__PURE__ */ jsx34("pre", { className: "whitespace-pre-wrap", children: error.stack })
|
|
3138
|
+
] })
|
|
3139
|
+
] });
|
|
3140
|
+
}
|
|
3141
|
+
return /* @__PURE__ */ jsxs21(Fragment5, { children: [
|
|
3142
|
+
/* @__PURE__ */ jsx34("h2", { className: "text-3xl font-semibold text-destructive", children: "Unknown Error" }),
|
|
3143
|
+
/* @__PURE__ */ jsx34("pre", { className: "text-lg text-muted-foreground whitespace-pre-wrap max-w-4xl text-left", children: typeof error === "string" ? error : JSON.stringify(error, null, 2) })
|
|
3144
|
+
] });
|
|
3145
|
+
};
|
|
3146
|
+
return /* @__PURE__ */ jsx34("div", { className: "rounded-2xl flex justify-center items-center h-full bg-sidebar px-4", children: /* @__PURE__ */ jsxs21("div", { className: "flex flex-col items-center space-y-4 text-center", children: [
|
|
3147
|
+
/* @__PURE__ */ jsx34(AlertTriangleIcon, { className: "h-16 w-16 text-destructive" }),
|
|
3148
|
+
renderErrorDetails(),
|
|
3149
|
+
/* @__PURE__ */ jsx34(Button, { variant: "outline", onClick: () => navigate(-1), children: "Go Back" })
|
|
3150
|
+
] }) });
|
|
3151
|
+
};
|
|
3152
|
+
|
|
3153
|
+
// src/components/core/event-success.tsx
|
|
3154
|
+
import { motion as motion3 } from "framer-motion";
|
|
3155
|
+
import { jsx as jsx35, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3156
|
+
function Checkmark({ size = 100, strokeWidth = 2, color = "currentColor", className = "" }) {
|
|
3157
|
+
return /* @__PURE__ */ jsxs22(
|
|
3158
|
+
motion3.svg,
|
|
3159
|
+
{
|
|
3160
|
+
width: size,
|
|
3161
|
+
height: size,
|
|
3162
|
+
viewBox: "0 0 100 100",
|
|
3163
|
+
initial: "hidden",
|
|
3164
|
+
animate: "visible",
|
|
3165
|
+
className,
|
|
3166
|
+
children: [
|
|
3167
|
+
/* @__PURE__ */ jsx35("title", { children: "Animated Checkmark" }),
|
|
3168
|
+
/* @__PURE__ */ jsx35(
|
|
3169
|
+
motion3.circle,
|
|
3170
|
+
{
|
|
3171
|
+
cx: "50",
|
|
3172
|
+
cy: "50",
|
|
3173
|
+
r: "40",
|
|
3174
|
+
stroke: color,
|
|
3175
|
+
custom: 0,
|
|
3176
|
+
style: {
|
|
3177
|
+
strokeWidth,
|
|
3178
|
+
strokeLinecap: "round",
|
|
3179
|
+
fill: "transparent"
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
),
|
|
3183
|
+
/* @__PURE__ */ jsx35(
|
|
3184
|
+
motion3.path,
|
|
3185
|
+
{
|
|
3186
|
+
d: "M30 50L45 65L70 35",
|
|
3187
|
+
stroke: color,
|
|
3188
|
+
custom: 1,
|
|
3189
|
+
style: {
|
|
3190
|
+
strokeWidth,
|
|
3191
|
+
strokeLinecap: "round",
|
|
3192
|
+
strokeLinejoin: "round",
|
|
3193
|
+
fill: "transparent"
|
|
3194
|
+
}
|
|
3195
|
+
}
|
|
3196
|
+
)
|
|
3197
|
+
]
|
|
3198
|
+
}
|
|
3199
|
+
);
|
|
3200
|
+
}
|
|
3201
|
+
function CurrencyTransfer() {
|
|
3202
|
+
return /* @__PURE__ */ jsx35(Card, { className: "w-full max-w-sm mx-auto p-6 min-h-[300px] flex flex-col justify-center bg-background", children: /* @__PURE__ */ jsxs22(CardContent, { className: "space-y-4 flex flex-col items-center justify-center", children: [
|
|
3203
|
+
/* @__PURE__ */ jsx35(
|
|
3204
|
+
motion3.div,
|
|
3205
|
+
{
|
|
3206
|
+
className: "flex justify-center",
|
|
3207
|
+
initial: { opacity: 0, scale: 0.8 },
|
|
3208
|
+
animate: { opacity: 1, scale: 1 },
|
|
3209
|
+
transition: {
|
|
3210
|
+
duration: 0.4,
|
|
3211
|
+
ease: [0.4, 0, 0.2, 1],
|
|
3212
|
+
scale: {
|
|
3213
|
+
type: "spring",
|
|
3214
|
+
damping: 15,
|
|
3215
|
+
stiffness: 200
|
|
3216
|
+
}
|
|
3217
|
+
},
|
|
3218
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "relative", children: [
|
|
3219
|
+
/* @__PURE__ */ jsx35(
|
|
3220
|
+
motion3.div,
|
|
3221
|
+
{
|
|
3222
|
+
className: "absolute inset-0 bg-primary/5 rounded-full",
|
|
3223
|
+
initial: { opacity: 0, scale: 0.8 },
|
|
3224
|
+
animate: { opacity: 1, scale: 1 },
|
|
3225
|
+
transition: {
|
|
3226
|
+
delay: 0.2,
|
|
3227
|
+
duration: 0.8,
|
|
3228
|
+
ease: "circOut"
|
|
3229
|
+
}
|
|
3230
|
+
}
|
|
3231
|
+
),
|
|
3232
|
+
/* @__PURE__ */ jsx35(
|
|
3233
|
+
Checkmark,
|
|
3234
|
+
{
|
|
3235
|
+
size: 80,
|
|
3236
|
+
strokeWidth: 4,
|
|
3237
|
+
color: "rgb(16 185 129)",
|
|
3238
|
+
className: "relative z-10 dark:drop-shadow-[0_0_10px_rgba(0,0,0,0.1)]"
|
|
3239
|
+
}
|
|
3240
|
+
)
|
|
3241
|
+
] })
|
|
3242
|
+
}
|
|
3243
|
+
),
|
|
3244
|
+
/* @__PURE__ */ jsxs22(
|
|
3245
|
+
motion3.div,
|
|
3246
|
+
{
|
|
3247
|
+
className: "space-y-2 text-center w-full",
|
|
3248
|
+
initial: { opacity: 0, y: 10 },
|
|
3249
|
+
animate: { opacity: 1, y: 0 },
|
|
3250
|
+
transition: {
|
|
3251
|
+
delay: 0.2,
|
|
3252
|
+
duration: 0.6,
|
|
3253
|
+
ease: [0.4, 0, 0.2, 1]
|
|
3254
|
+
},
|
|
3255
|
+
children: [
|
|
3256
|
+
/* @__PURE__ */ jsx35(
|
|
3257
|
+
motion3.h2,
|
|
3258
|
+
{
|
|
3259
|
+
className: "text-lg text-zinc-100 dark:text-zinc-900 tracking-tighter font-semibold uppercase",
|
|
3260
|
+
initial: { opacity: 0, y: 5 },
|
|
3261
|
+
animate: { opacity: 1, y: 0 },
|
|
3262
|
+
transition: { delay: 1, duration: 0.4 },
|
|
3263
|
+
children: "Transfer Successful"
|
|
3264
|
+
}
|
|
3265
|
+
),
|
|
3266
|
+
/* @__PURE__ */ jsx35("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx35(
|
|
3267
|
+
motion3.div,
|
|
3268
|
+
{
|
|
3269
|
+
className: "flex-1 bg-zinc-800/50 dark:bg-zinc-50/50 rounded-xl p-3 border border-zinc-700/50 dark:border-zinc-200/50 backdrop-blur-md",
|
|
3270
|
+
initial: { opacity: 0, scale: 0.95 },
|
|
3271
|
+
animate: { opacity: 1, scale: 1 },
|
|
3272
|
+
transition: {
|
|
3273
|
+
delay: 1.2,
|
|
3274
|
+
duration: 0.4,
|
|
3275
|
+
ease: [0.4, 0, 0.2, 1]
|
|
3276
|
+
},
|
|
3277
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-start gap-2", children: [
|
|
3278
|
+
/* @__PURE__ */ jsxs22("div", { className: "space-y-1.5", children: [
|
|
3279
|
+
/* @__PURE__ */ jsxs22("span", { className: "text-xs font-medium text-secondary-foreground flex items-center gap-1.5", children: [
|
|
3280
|
+
/* @__PURE__ */ jsxs22(
|
|
3281
|
+
"svg",
|
|
3282
|
+
{
|
|
3283
|
+
className: "w-3 h-3",
|
|
3284
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3285
|
+
viewBox: "0 0 24 24",
|
|
3286
|
+
fill: "none",
|
|
3287
|
+
stroke: "currentColor",
|
|
3288
|
+
strokeWidth: "2",
|
|
3289
|
+
strokeLinecap: "round",
|
|
3290
|
+
strokeLinejoin: "round",
|
|
3291
|
+
children: [
|
|
3292
|
+
/* @__PURE__ */ jsx35("title", { children: "From" }),
|
|
3293
|
+
/* @__PURE__ */ jsx35("path", { d: "M12 19V5M5 12l7-7 7 7" })
|
|
3294
|
+
]
|
|
3295
|
+
}
|
|
3296
|
+
),
|
|
3297
|
+
"From"
|
|
3298
|
+
] }),
|
|
3299
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2.5 group transition-all", children: [
|
|
3300
|
+
/* @__PURE__ */ jsx35("span", { className: "inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform", children: "$" }),
|
|
3301
|
+
/* @__PURE__ */ jsx35("span", { className: "font-medium text-zinc-100 dark:text-zinc-900 tracking-tight", children: "500.00 USD" })
|
|
3302
|
+
] })
|
|
3303
|
+
] }),
|
|
3304
|
+
/* @__PURE__ */ jsx35("div", { className: "w-full h-px bg-gradient-to-r from-transparent via-zinc-700 dark:via-zinc-300 to-transparent" }),
|
|
3305
|
+
/* @__PURE__ */ jsxs22("div", { className: "space-y-1.5", children: [
|
|
3306
|
+
/* @__PURE__ */ jsxs22("span", { className: "text-xs font-medium text-secondary-foreground flex items-center gap-1.5", children: [
|
|
3307
|
+
/* @__PURE__ */ jsxs22(
|
|
3308
|
+
"svg",
|
|
3309
|
+
{
|
|
3310
|
+
className: "w-3 h-3",
|
|
3311
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3312
|
+
viewBox: "0 0 24 24",
|
|
3313
|
+
fill: "none",
|
|
3314
|
+
stroke: "currentColor",
|
|
3315
|
+
strokeWidth: "2",
|
|
3316
|
+
strokeLinecap: "round",
|
|
3317
|
+
strokeLinejoin: "round",
|
|
3318
|
+
children: [
|
|
3319
|
+
/* @__PURE__ */ jsx35("title", { children: "To" }),
|
|
3320
|
+
/* @__PURE__ */ jsx35("path", { d: "M12 5v14M5 12l7 7 7-7" })
|
|
3321
|
+
]
|
|
3322
|
+
}
|
|
3323
|
+
),
|
|
3324
|
+
"To"
|
|
3325
|
+
] }),
|
|
3326
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2.5 group transition-all", children: [
|
|
3327
|
+
/* @__PURE__ */ jsx35("span", { className: "inline-flex items-center justify-center w-7 h-7 rounded-lg bg-zinc-900 dark:bg-white shadow-lg border border-zinc-700 dark:border-zinc-300 text-sm font-medium text-zinc-100 dark:text-zinc-900 group-hover:scale-105 transition-transform", children: "\u20AC" }),
|
|
3328
|
+
/* @__PURE__ */ jsx35("span", { className: "font-medium text-zinc-100 dark:text-zinc-900 tracking-tight", children: "460.00 EUR" })
|
|
3329
|
+
] })
|
|
3330
|
+
] })
|
|
3331
|
+
] })
|
|
3332
|
+
}
|
|
3333
|
+
) }),
|
|
3334
|
+
/* @__PURE__ */ jsx35(
|
|
3335
|
+
motion3.div,
|
|
3336
|
+
{
|
|
3337
|
+
className: "w-full text-xs text-secondary-foreground mt-2 text-center",
|
|
3338
|
+
initial: { opacity: 0 },
|
|
3339
|
+
animate: { opacity: 1 },
|
|
3340
|
+
transition: { delay: 1.4, duration: 0.4 },
|
|
3341
|
+
children: "Exchange Rate: 1 USD = 0.92 EUR"
|
|
3342
|
+
}
|
|
3343
|
+
)
|
|
3344
|
+
]
|
|
3345
|
+
}
|
|
3346
|
+
)
|
|
3347
|
+
] }) });
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
// src/components/core/loader.tsx
|
|
3351
|
+
import { jsx as jsx36, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3352
|
+
var Loader4 = () => {
|
|
3353
|
+
return /* @__PURE__ */ jsx36("div", { className: "rounded-2xl flex justify-center items-center h-full bg-transparent", children: /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center space-y-4", children: [
|
|
3354
|
+
/* @__PURE__ */ jsx36("div", { className: "animate-spin rounded-full border-t-4 border-ring h-16 w-16 mb-4" }),
|
|
3355
|
+
/* @__PURE__ */ jsx36("h2", { className: "text-xl font-semibold text-muted-foreground", children: "Loading, please wait..." }),
|
|
3356
|
+
/* @__PURE__ */ jsx36("p", { className: "text-sm text-muted-foreground", children: "Your content is on its way." })
|
|
3357
|
+
] }) });
|
|
3358
|
+
};
|
|
3359
|
+
|
|
3360
|
+
// src/components/core/notfound.tsx
|
|
3361
|
+
import { useLocation } from "react-router";
|
|
3362
|
+
import { GhostIcon } from "lucide-react";
|
|
3363
|
+
import { NavLink as NavLink2, useNavigate as useNavigate2 } from "react-router";
|
|
3364
|
+
import { jsx as jsx37, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3365
|
+
var NotFound = () => {
|
|
3366
|
+
const location = useLocation();
|
|
3367
|
+
const navigate = useNavigate2();
|
|
3368
|
+
const goBack = () => {
|
|
3369
|
+
if (window.history.length > 2) {
|
|
3370
|
+
navigate(-1);
|
|
3371
|
+
} else {
|
|
3372
|
+
navigate("/");
|
|
3373
|
+
}
|
|
3374
|
+
};
|
|
3375
|
+
return /* @__PURE__ */ jsxs24("div", { className: "rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none", children: [
|
|
3376
|
+
/* @__PURE__ */ jsx37(GhostIcon, { className: "h-15 w-15 text-destructive mb-4" }),
|
|
3377
|
+
/* @__PURE__ */ jsx37("h1", { className: "text-2xl font-bold text-destructive mb-2", children: "Page Not Found" }),
|
|
3378
|
+
/* @__PURE__ */ jsxs24("p", { className: "text-xl mb-4", children: [
|
|
3379
|
+
"The page ",
|
|
3380
|
+
/* @__PURE__ */ jsx37("code", { className: "px-1 py-0.5 rounded bg-muted text-foreground", children: location.pathname }),
|
|
3381
|
+
" doesn't exist or has been moved."
|
|
3382
|
+
] }),
|
|
3383
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex space-x-4", children: [
|
|
3384
|
+
/* @__PURE__ */ jsx37(Button, { variant: "outline", onClick: goBack, children: "Go Back" }),
|
|
3385
|
+
/* @__PURE__ */ jsx37(Button, { variant: "ghost", children: /* @__PURE__ */ jsx37(NavLink2, { to: "/", children: "Return Home" }) })
|
|
3386
|
+
] })
|
|
3387
|
+
] });
|
|
3388
|
+
};
|
|
3389
|
+
|
|
3390
|
+
// src/components/core/offline-content.tsx
|
|
3391
|
+
import { WifiOffIcon } from "lucide-react";
|
|
3392
|
+
import { jsx as jsx38, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3393
|
+
var OfflineUI = () => /* @__PURE__ */ jsxs25("div", { className: "rounded-2xl flex flex-col items-center justify-center h-screen p-6 text-center text-muted-foreground bg-background select-none", children: [
|
|
3394
|
+
/* @__PURE__ */ jsx38(WifiOffIcon, { className: "h-15 w-15 text-destructive mb-4" }),
|
|
3395
|
+
/* @__PURE__ */ jsx38("h1", { className: "text-3xl font-bold text-destructive mb-2", children: "You're offline" }),
|
|
3396
|
+
/* @__PURE__ */ jsx38("p", { className: "text-xl max-w-md", children: "We couldn't connect to the server." })
|
|
3397
|
+
] });
|
|
3398
|
+
|
|
3399
|
+
// src/components/core/unauthorized.tsx
|
|
3400
|
+
import { ShieldOffIcon } from "lucide-react";
|
|
3401
|
+
import { NavLink as NavLink3, useNavigate as useNavigate3 } from "react-router";
|
|
3402
|
+
import { jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3403
|
+
var Unauthorized = () => {
|
|
3404
|
+
const navigate = useNavigate3();
|
|
3405
|
+
const goBack = () => {
|
|
3406
|
+
if (window.history.length > 2) {
|
|
3407
|
+
navigate(-1);
|
|
3408
|
+
} else {
|
|
3409
|
+
navigate("/");
|
|
3410
|
+
}
|
|
3411
|
+
};
|
|
3412
|
+
return /* @__PURE__ */ jsxs26("div", { className: "rounded-2xl flex flex-col items-center justify-center h-full p-6 text-center bg-sidebar text-muted-foreground select-none", children: [
|
|
3413
|
+
/* @__PURE__ */ jsx39(ShieldOffIcon, { className: "h-15 w-15 text-destructive mb-4" }),
|
|
3414
|
+
/* @__PURE__ */ jsx39("h1", { className: "text-2xl font-bold text-destructive mb-2", children: "Access Denied" }),
|
|
3415
|
+
/* @__PURE__ */ jsx39("p", { className: "text-xl mb-4", children: "You don't have permission to view this page. Please sign in with an authorized account or contact your administrator." }),
|
|
3416
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex space-x-4", children: [
|
|
3417
|
+
/* @__PURE__ */ jsx39(Button, { variant: "outline", onClick: goBack, children: "Go Back" }),
|
|
3418
|
+
/* @__PURE__ */ jsx39(Button, { variant: "ghost", children: /* @__PURE__ */ jsx39(NavLink3, { to: "/", children: "Go to Home" }) })
|
|
3419
|
+
] })
|
|
3420
|
+
] });
|
|
3421
|
+
};
|
|
3111
3422
|
export {
|
|
3112
3423
|
AppMetaProvider,
|
|
3424
|
+
CurrencyTransfer,
|
|
3113
3425
|
DataTable,
|
|
3114
3426
|
DataTableActionBar,
|
|
3115
3427
|
DataTableActionBarAction,
|
|
@@ -3118,7 +3430,12 @@ export {
|
|
|
3118
3430
|
DataTemplateActionBar,
|
|
3119
3431
|
DataTemplateActionBarAction,
|
|
3120
3432
|
DataTemplateActionBarSelection,
|
|
3433
|
+
ErrorComponent,
|
|
3121
3434
|
GeneralHelper,
|
|
3435
|
+
Loader4 as Loader,
|
|
3436
|
+
NotFound,
|
|
3437
|
+
OfflineUI,
|
|
3438
|
+
Unauthorized,
|
|
3122
3439
|
createLayoutComponents,
|
|
3123
3440
|
createPageTemplateHook,
|
|
3124
3441
|
createTypedAppMetaContext
|