@alepha/ui 0.15.4 → 0.15.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/admin/AdminApiKeys-DsmGnHNh.js +3 -0
- package/dist/admin/AdminApiKeys-GMORg-1l.js +442 -0
- package/dist/admin/AdminApiKeys-GMORg-1l.js.map +1 -0
- package/dist/admin/AdminAudits-8SM96viT.js +3 -0
- package/dist/admin/{AdminAudits-Oh7iAfQa.js → AdminAudits-pkWrjq1Z.js} +2 -2
- package/dist/admin/{AdminAudits-Oh7iAfQa.js.map → AdminAudits-pkWrjq1Z.js.map} +1 -1
- package/dist/admin/AdminFiles-B56ocq4H.js +3 -0
- package/dist/admin/{AdminFiles-Cu8GHgQ3.js → AdminFiles-WeQbsCsl.js} +2 -2
- package/dist/admin/{AdminFiles-Cu8GHgQ3.js.map → AdminFiles-WeQbsCsl.js.map} +1 -1
- package/dist/admin/AdminJobs-B-q9iGO3.js +697 -0
- package/dist/admin/AdminJobs-B-q9iGO3.js.map +1 -0
- package/dist/admin/AdminJobs-CED1syCn.js +3 -0
- package/dist/admin/AdminLayout-BX4FIpXv.css +143 -0
- package/dist/admin/AdminLayout-BX4FIpXv.css.map +1 -0
- package/dist/admin/{AdminLayout-QJLIesuG.js → AdminLayout-BqZiXx4H.js} +3 -2
- package/dist/admin/AdminLayout-BqZiXx4H.js.map +1 -0
- package/dist/admin/AdminNotifications-B0B1rdc4.js +3 -0
- package/dist/admin/{AdminNotifications-CgYkBuG_.js → AdminNotifications-Ds5Un0NJ.js} +2 -2
- package/dist/admin/{AdminNotifications-CgYkBuG_.js.map → AdminNotifications-Ds5Un0NJ.js.map} +1 -1
- package/dist/admin/{AdminParameters-Cl-R0nXt.js → AdminParameters-BU3lATdJ.js} +1 -1
- package/dist/admin/{AdminParameters-hjNG_KXb.js → AdminParameters-CfDUpc78.js} +4 -4
- package/dist/admin/{AdminParameters-hjNG_KXb.js.map → AdminParameters-CfDUpc78.js.map} +1 -1
- package/dist/admin/AdminSessions-BDGK2MS6.js +3 -0
- package/dist/admin/{AdminSessions-Bey9cuy1.js → AdminSessions-DzIOxM3b.js} +2 -2
- package/dist/admin/{AdminSessions-Bey9cuy1.js.map → AdminSessions-DzIOxM3b.js.map} +1 -1
- package/dist/admin/{AdminUserAudits-C7AN9jx7.js → AdminUserAudits-CiUPN2BC.js} +2 -2
- package/dist/admin/{AdminUserAudits-C7AN9jx7.js.map → AdminUserAudits-CiUPN2BC.js.map} +1 -1
- package/dist/admin/{AdminUserAudits-Cp_ERd2g.js → AdminUserAudits-Cj79gENT.js} +1 -1
- package/dist/admin/{AdminUserCreate-BVIm4JdN.js → AdminUserCreate-BwQKr4xE.js} +2 -2
- package/dist/admin/{AdminUserCreate-BVIm4JdN.js.map → AdminUserCreate-BwQKr4xE.js.map} +1 -1
- package/dist/admin/{AdminUserCreate-C1aInRDk.js → AdminUserCreate-Cq-mUmBs.js} +1 -1
- package/dist/admin/{AdminUserDetails-Dcn3OwMC.js → AdminUserDetails-DRjVAPFd.js} +1 -1
- package/dist/admin/{AdminUserDetails-yM4x8JE6.js → AdminUserDetails-uqtC5aJ1.js} +2 -2
- package/dist/admin/{AdminUserDetails-yM4x8JE6.js.map → AdminUserDetails-uqtC5aJ1.js.map} +1 -1
- package/dist/admin/{AdminUserLayout-gb-nbggz.js → AdminUserLayout-CGzmHHby.js} +1 -1
- package/dist/admin/{AdminUserLayout-BnfBC1gD.js → AdminUserLayout-CiPay35T.js} +2 -2
- package/dist/admin/{AdminUserLayout-BnfBC1gD.js.map → AdminUserLayout-CiPay35T.js.map} +1 -1
- package/dist/admin/{AdminUserSessions-kmkXG-xf.js → AdminUserSessions-DAE8Nf1F.js} +2 -2
- package/dist/admin/{AdminUserSessions-kmkXG-xf.js.map → AdminUserSessions-DAE8Nf1F.js.map} +1 -1
- package/dist/admin/AdminUserSessions-DcdzuNZ9.js +3 -0
- package/dist/admin/AdminUserSettings-D7V6-ceX.js +3 -0
- package/dist/admin/{AdminUserSettings-DZ9iWhJW.js → AdminUserSettings-EbahaV2a.js} +2 -2
- package/dist/admin/{AdminUserSettings-DZ9iWhJW.js.map → AdminUserSettings-EbahaV2a.js.map} +1 -1
- package/dist/admin/AdminUsers-D9nyzGqQ.js +3 -0
- package/dist/admin/{AdminUsers-D6Y5K8Am.js → AdminUsers-Dcjh0KNW.js} +2 -2
- package/dist/admin/{AdminUsers-D6Y5K8Am.js.map → AdminUsers-Dcjh0KNW.js.map} +1 -1
- package/dist/admin/index.d.ts +24 -36
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +52 -169
- package/dist/admin/index.js.map +1 -1
- package/dist/auth/AuthLayout-BaD7RD2h.css +143 -0
- package/dist/auth/AuthLayout-BaD7RD2h.css.map +1 -0
- package/dist/auth/AuthLayout-Dj5K4SIN.js.map +1 -1
- package/dist/auth/index.d.ts +9 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -2
- package/dist/auth/index.js.map +1 -1
- package/dist/core/index.d.ts +13 -21
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +26 -38
- package/dist/core/index.js.map +1 -1
- package/dist/demo/{DemoLogin-S-b15cmE.js → DemoLogin-CvCG2WVh.js} +3 -1
- package/dist/demo/{DemoLogin-S-b15cmE.js.map → DemoLogin-CvCG2WVh.js.map} +1 -1
- package/dist/demo/{DemoRegister-B29MdAaZ.js → DemoRegister-CmeHbOAs.js} +3 -1
- package/dist/demo/{DemoRegister-B29MdAaZ.js.map → DemoRegister-CmeHbOAs.js.map} +1 -1
- package/dist/demo/{DemoResetPassword-CPTy88iK.js → DemoResetPassword-CKO5iA_6.js} +3 -1
- package/dist/demo/{DemoResetPassword-CPTy88iK.js.map → DemoResetPassword-CKO5iA_6.js.map} +1 -1
- package/dist/demo/index.js +3 -3
- package/package.json +3 -3
- package/src/admin/AdminRouter.ts +34 -0
- package/src/admin/components/AdminLayout.tsx +2 -0
- package/src/admin/components/jobs/AdminJobs.tsx +733 -119
- package/src/admin/components/keys/AdminApiKeys.tsx +537 -0
- package/src/admin/components/parameters/AdminParameters.tsx +2 -3
- package/src/admin/index.ts +3 -5
- package/src/auth/AuthRouter.ts +1 -2
- package/src/auth/components/AuthLayout.tsx +1 -0
- package/src/core/components/buttons/ActionButton.tsx +15 -2
- package/src/core/components/buttons/DarkModeButton.css +6 -0
- package/src/core/components/buttons/DarkModeButton.tsx +18 -71
- package/src/core/components/buttons/LanguageButton.tsx +2 -7
- package/src/core/components/buttons/ThemeButton.tsx +2 -6
- package/src/core/components/layout/AdminShell.tsx +17 -1
- package/src/core/components/layout/AppBar.tsx +5 -8
- package/src/core/index.ts +0 -1
- package/src/core/styles.css +1 -0
- package/src/demo/components/auth/DemoLogin.tsx +2 -0
- package/src/demo/components/auth/DemoRegister.tsx +2 -0
- package/src/demo/components/auth/DemoResetPassword.tsx +2 -0
- package/dist/admin/AdminAudits-BU-p1g7A.js +0 -3
- package/dist/admin/AdminFiles-Bg9feLFH.js +0 -3
- package/dist/admin/AdminLayout-BfeFXiul.js +0 -3
- package/dist/admin/AdminLayout-QJLIesuG.js.map +0 -1
- package/dist/admin/AdminNotifications-DmfGPqHe.js +0 -3
- package/dist/admin/AdminSessions-Cn4_jB04.js +0 -3
- package/dist/admin/AdminUserSessions-rvA0ztxn.js +0 -3
- package/dist/admin/AdminUserSettings-Dg-wTRzN.js +0 -3
- package/dist/admin/AdminUsers-RCaxccEW.js +0 -3
- package/src/admin/MainRouter.ts +0 -23
package/dist/core/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { AlephaReactForm, FormValidationError, useForm, useFormState } from "ale
|
|
|
3
3
|
import { $head, AlephaReactHead } from "alepha/react/head";
|
|
4
4
|
import { AlephaReactI18n, useI18n } from "alepha/react/i18n";
|
|
5
5
|
import { $cookie } from "alepha/server/cookies";
|
|
6
|
-
import { ActionIcon, Anchor, AppShell, Autocomplete, Badge, Box, Burger, Button, Card, Checkbox, Collapse, ColorInput, ColorSchemeScript, Container, CopyButton, Divider, Fieldset, FileInput, Flex, Flex as Flex$1, Grid, Group, Image, Input, Kbd, MantineProvider, Menu, MultiSelect, NumberInput, Pagination, PasswordInput, Popover, ScrollArea, SegmentedControl, Select, Slider, Stack, Switch, Table, TagsInput, Text, Text as Text$1, TextInput, Textarea, ThemeIcon, Tooltip, UnstyledButton,
|
|
6
|
+
import { ActionIcon, Anchor, AppShell, Autocomplete, Badge, Box, Burger, Button, Card, Checkbox, Collapse, ColorInput, ColorSchemeScript, Container, CopyButton, Divider, Fieldset, FileInput, Flex, Flex as Flex$1, Grid, Group, Image, Input, Kbd, MantineProvider, Menu, MultiSelect, NumberInput, Pagination, PasswordInput, Popover, ScrollArea, SegmentedControl, Select, Slider, Stack, Switch, Table, TagsInput, Text, Text as Text$1, TextInput, Textarea, ThemeIcon, Tooltip, UnstyledButton, useMantineColorScheme, useMantineTheme } from "@mantine/core";
|
|
7
7
|
import { ModalsProvider, modals } from "@mantine/modals";
|
|
8
8
|
import { IconAlertTriangle, IconArrowDown, IconArrowLeft, IconArrowUp, IconArrowsSort, IconAt, IconCalendar, IconCheck, IconChevronDown, IconChevronRight, IconClock, IconColorPicker, IconColumns, IconCopy, IconFile, IconFilter, IconGripVertical, IconHash, IconInfoCircle, IconInfoTriangle, IconKey, IconLanguage, IconLayoutSidebarLeftCollapse, IconLayoutSidebarRightCollapse, IconLetterCase, IconLink, IconList, IconMail, IconMoon, IconPalette, IconPhone, IconPlus, IconRefresh, IconSearch, IconSelector, IconSquareRounded, IconSun, IconToggleLeft, IconTrash, IconX } from "@tabler/icons-react";
|
|
9
9
|
import { Children, createElement, isValidElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -1045,19 +1045,24 @@ const ActionClickButton = (props) => {
|
|
|
1045
1045
|
* Action for navigation with active state support.
|
|
1046
1046
|
*/
|
|
1047
1047
|
const ActionNavigationButton = (props) => {
|
|
1048
|
-
const { active: options, classNameActive, variantActive, routerGoOptions, ...buttonProps } = props;
|
|
1048
|
+
const { active: options, classNameActive, variantActive, routerGoOptions, onClick: propsOnClick, ...buttonProps } = props;
|
|
1049
1049
|
const router = useRouter();
|
|
1050
1050
|
const { isPending, isActive } = useActive(options ? {
|
|
1051
1051
|
href: props.href,
|
|
1052
1052
|
...options
|
|
1053
1053
|
} : { href: props.href });
|
|
1054
1054
|
const anchorProps = router.anchor(props.href, routerGoOptions);
|
|
1055
|
+
const combinedOnClick = (e) => {
|
|
1056
|
+
propsOnClick?.(e);
|
|
1057
|
+
anchorProps.onClick?.(e);
|
|
1058
|
+
};
|
|
1055
1059
|
const className = buttonProps.className || "";
|
|
1056
1060
|
if (isActive && options !== false && classNameActive) buttonProps.className = `${className} ${classNameActive}`.trim();
|
|
1057
1061
|
if (props.anchorProps) return /* @__PURE__ */ jsx(Anchor, {
|
|
1058
1062
|
component: "a",
|
|
1059
1063
|
...anchorProps,
|
|
1060
1064
|
...props.anchorProps,
|
|
1065
|
+
onClick: combinedOnClick,
|
|
1061
1066
|
children: props.children
|
|
1062
1067
|
});
|
|
1063
1068
|
return /* @__PURE__ */ jsx(Button, {
|
|
@@ -1065,6 +1070,7 @@ const ActionNavigationButton = (props) => {
|
|
|
1065
1070
|
loading: isPending,
|
|
1066
1071
|
...buttonProps,
|
|
1067
1072
|
...anchorProps,
|
|
1073
|
+
onClick: combinedOnClick,
|
|
1068
1074
|
variant: isActive && options !== false ? variantActive ?? "filled" : buttonProps.variant ?? "subtle",
|
|
1069
1075
|
children: props.children
|
|
1070
1076
|
});
|
|
@@ -1120,49 +1126,26 @@ var ClipboardButton_default = ClipboardButton;
|
|
|
1120
1126
|
|
|
1121
1127
|
//#endregion
|
|
1122
1128
|
//#region ../../src/core/components/buttons/DarkModeButton.tsx
|
|
1129
|
+
/**
|
|
1130
|
+
* SSR-safe dark mode toggle button.
|
|
1131
|
+
*
|
|
1132
|
+
* Uses CSS-based icon switching to avoid hydration mismatches.
|
|
1133
|
+
* Both icons are rendered, CSS hides the wrong one based on
|
|
1134
|
+
* `data-mantine-color-scheme` attribute.
|
|
1135
|
+
*/
|
|
1123
1136
|
const DarkModeButton = (props) => {
|
|
1124
1137
|
const { setColorScheme } = useMantineColorScheme();
|
|
1125
|
-
const computedColorScheme = useComputedColorScheme("light");
|
|
1126
|
-
const [colorScheme, setColorScheme2] = useState("default");
|
|
1127
|
-
const mode = props.mode ?? "minimal";
|
|
1128
|
-
useEffect(() => {
|
|
1129
|
-
setColorScheme2(computedColorScheme);
|
|
1130
|
-
}, [computedColorScheme]);
|
|
1131
1138
|
const toggleColorScheme = () => {
|
|
1132
|
-
setColorScheme(
|
|
1139
|
+
setColorScheme((document.documentElement.getAttribute("data-mantine-color-scheme") ?? "light") === "dark" ? "light" : "dark");
|
|
1133
1140
|
};
|
|
1134
|
-
if (mode === "segmented") return /* @__PURE__ */ jsx(SegmentedControl, {
|
|
1135
|
-
value: colorScheme,
|
|
1136
|
-
onChange: (value) => setColorScheme(value),
|
|
1137
|
-
data: [{
|
|
1138
|
-
value: "light",
|
|
1139
|
-
label: /* @__PURE__ */ jsx(Flex$1, {
|
|
1140
|
-
h: 20,
|
|
1141
|
-
align: "center",
|
|
1142
|
-
justify: "center",
|
|
1143
|
-
children: /* @__PURE__ */ jsx(IconSun, { size: 16 })
|
|
1144
|
-
})
|
|
1145
|
-
}, {
|
|
1146
|
-
value: "dark",
|
|
1147
|
-
label: /* @__PURE__ */ jsx(Flex$1, {
|
|
1148
|
-
h: 20,
|
|
1149
|
-
align: "center",
|
|
1150
|
-
justify: "center",
|
|
1151
|
-
children: /* @__PURE__ */ jsx(IconMoon, { size: 16 })
|
|
1152
|
-
})
|
|
1153
|
-
}],
|
|
1154
|
-
w: props.fullWidth ? "100%" : void 0,
|
|
1155
|
-
...props.segmentedProps
|
|
1156
|
-
});
|
|
1157
1141
|
return /* @__PURE__ */ jsx(ActionButton_default, {
|
|
1158
1142
|
onClick: toggleColorScheme,
|
|
1159
1143
|
variant: props.variant ?? "subtle",
|
|
1160
1144
|
size: props.size ?? "sm",
|
|
1161
1145
|
"aria-label": "Toggle color scheme",
|
|
1162
1146
|
px: "xs",
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
...props.actionProps
|
|
1147
|
+
icon: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(IconSun, { className: "alepha-light-hidden" }), /* @__PURE__ */ jsx(IconMoon, { className: "alepha-dark-hidden" })] }),
|
|
1148
|
+
...props
|
|
1166
1149
|
});
|
|
1167
1150
|
};
|
|
1168
1151
|
var DarkModeButton_default = DarkModeButton;
|
|
@@ -1179,7 +1162,7 @@ const LanguageButton = (props) => {
|
|
|
1179
1162
|
onClick: () => i18n.setLang(lang),
|
|
1180
1163
|
active: i18n.lang === lang
|
|
1181
1164
|
})) },
|
|
1182
|
-
...props
|
|
1165
|
+
...props
|
|
1183
1166
|
});
|
|
1184
1167
|
};
|
|
1185
1168
|
var LanguageButton_default = LanguageButton;
|
|
@@ -1244,7 +1227,7 @@ const ThemeButton = (props) => {
|
|
|
1244
1227
|
onClick: () => setTheme({ index }),
|
|
1245
1228
|
active: theme.name === it.name
|
|
1246
1229
|
})) },
|
|
1247
|
-
...props
|
|
1230
|
+
...props
|
|
1248
1231
|
});
|
|
1249
1232
|
};
|
|
1250
1233
|
var ThemeButton_default = ThemeButton;
|
|
@@ -3111,6 +3094,10 @@ const AdminShell = (props) => {
|
|
|
3111
3094
|
const expandedWidth = Math.max(sidebar.width, collapsedWidth);
|
|
3112
3095
|
const isExpandedByHover = collapsed && isHovering;
|
|
3113
3096
|
const effectiveCollapsed = collapsed && !isHovering;
|
|
3097
|
+
const handleSidebarItemClick = useCallback((item) => {
|
|
3098
|
+
if (isExpandedByHover) setIsHovering(false);
|
|
3099
|
+
props.sidebarProps?.onItemClick?.(item);
|
|
3100
|
+
}, [isExpandedByHover, props.sidebarProps?.onItemClick]);
|
|
3114
3101
|
const hoverWidth = Math.max(defaultWidth, collapsedWidth);
|
|
3115
3102
|
const sidebarWidth = hasSidebar ? effectiveCollapsed || isExpandedByHover ? collapsedWidth : expandedWidth : 0;
|
|
3116
3103
|
const canResize = props.sidebarResizable && !collapsed;
|
|
@@ -3154,7 +3141,8 @@ const AdminShell = (props) => {
|
|
|
3154
3141
|
...props.appShellNavbarProps,
|
|
3155
3142
|
children: [/* @__PURE__ */ jsx(Sidebar, {
|
|
3156
3143
|
...props.sidebarProps ?? {},
|
|
3157
|
-
collapsed: effectiveCollapsed
|
|
3144
|
+
collapsed: effectiveCollapsed,
|
|
3145
|
+
onItemClick: handleSidebarItemClick
|
|
3158
3146
|
}), (canResize || isExpandedByHover) && /* @__PURE__ */ jsx(Flex$1, {
|
|
3159
3147
|
pos: "absolute",
|
|
3160
3148
|
right: -6,
|