@nextsparkjs/core 0.1.0-beta.145 → 0.1.0-beta.146
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/components/auth/forms/LoginForm.js +5 -5
- package/dist/components/dashboard/mobile/MobileBottomNav.js +2 -2
- package/dist/components/dashboard/mobile/MobileMoreSheet.d.ts.map +1 -1
- package/dist/components/dashboard/mobile/MobileMoreSheet.js +37 -20
- package/dist/components/dashboard/navigation/DynamicNavigation.d.ts.map +1 -1
- package/dist/components/dashboard/navigation/DynamicNavigation.js +54 -27
- package/dist/lib/config/types.d.ts +7 -0
- package/dist/lib/config/types.d.ts.map +1 -1
- package/dist/messages/es/auth.json +6 -6
- package/dist/styles/classes.json +3 -2
- package/package.json +2 -2
|
@@ -239,7 +239,7 @@ function LoginForm() {
|
|
|
239
239
|
type: "button",
|
|
240
240
|
onClick: () => setShowEmailForm(true),
|
|
241
241
|
disabled: !!loadingProvider,
|
|
242
|
-
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50 disabled:cursor-not-allowed",
|
|
242
|
+
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50 disabled:cursor-not-allowed min-h-[44px] inline-flex items-center",
|
|
243
243
|
"data-cy": sel("auth.login.showEmail"),
|
|
244
244
|
children: t("login.form.loginWithEmail", { defaultValue: "Sign in with Email" })
|
|
245
245
|
}
|
|
@@ -249,7 +249,7 @@ function LoginForm() {
|
|
|
249
249
|
type: "button",
|
|
250
250
|
onClick: () => setShowEmailForm(true),
|
|
251
251
|
disabled: !!loadingProvider,
|
|
252
|
-
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50 disabled:cursor-not-allowed",
|
|
252
|
+
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50 disabled:cursor-not-allowed min-h-[44px] inline-flex items-center",
|
|
253
253
|
"data-cy": sel("auth.login.showEmail"),
|
|
254
254
|
children: t("login.form.loginWithEmail", { defaultValue: "Sign in with Email" })
|
|
255
255
|
}
|
|
@@ -363,7 +363,7 @@ function LoginForm() {
|
|
|
363
363
|
className: "flex items-center justify-between",
|
|
364
364
|
"data-cy": sel("auth.login.options"),
|
|
365
365
|
children: [
|
|
366
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
|
|
366
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 min-h-[44px]", children: [
|
|
367
367
|
/* @__PURE__ */ jsx(
|
|
368
368
|
Checkbox,
|
|
369
369
|
{
|
|
@@ -384,7 +384,7 @@ function LoginForm() {
|
|
|
384
384
|
Link,
|
|
385
385
|
{
|
|
386
386
|
href: "/forgot-password",
|
|
387
|
-
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent",
|
|
387
|
+
className: "text-sm text-primary hover:underline focus:outline-none focus:ring-2 focus:ring-accent min-h-[44px] inline-flex items-center",
|
|
388
388
|
"aria-label": t("login.form.forgotPasswordAria"),
|
|
389
389
|
"data-cy": sel("auth.login.forgotPassword"),
|
|
390
390
|
children: t("login.form.forgotPassword")
|
|
@@ -413,7 +413,7 @@ function LoginForm() {
|
|
|
413
413
|
{
|
|
414
414
|
type: "button",
|
|
415
415
|
onClick: () => setShowEmailForm(false),
|
|
416
|
-
className: "text-sm text-muted-foreground hover:text-primary focus:outline-none focus:ring-2 focus:ring-accent",
|
|
416
|
+
className: "text-sm text-muted-foreground hover:text-primary focus:outline-none focus:ring-2 focus:ring-accent min-h-[44px] inline-flex items-center",
|
|
417
417
|
"data-cy": sel("auth.login.hideEmail"),
|
|
418
418
|
children: t("login.form.backToGoogle", { defaultValue: "Back to main options" })
|
|
419
419
|
}
|
|
@@ -62,7 +62,7 @@ function MobileBottomNav() {
|
|
|
62
62
|
"data-cy": sel("dashboard.mobile.bottomNav.item", { id: item.id }),
|
|
63
63
|
children: [
|
|
64
64
|
/* @__PURE__ */ jsx("div", { className: "absolute -top-6 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "bg-primary rounded-full p-4 shadow-lg hover:shadow-xl transition-shadow", children: /* @__PURE__ */ jsx(Icon, { className: "h-6 w-6 text-primary-foreground", "aria-hidden": "true" }) }) }),
|
|
65
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
65
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-foreground mt-8", children: item.name })
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
68
|
item.id
|
|
@@ -83,7 +83,7 @@ function MobileBottomNav() {
|
|
|
83
83
|
"span",
|
|
84
84
|
{
|
|
85
85
|
className: cn(
|
|
86
|
-
"text-
|
|
86
|
+
"text-xs font-medium transition-colors",
|
|
87
87
|
isActive ? "text-primary" : "text-muted-foreground"
|
|
88
88
|
),
|
|
89
89
|
children: item.name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMoreSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/mobile/MobileMoreSheet.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MobileMoreSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/mobile/MobileMoreSheet.tsx"],"names":[],"mappings":"AA0BA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACtC;AA8CD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,2CA8G7E"}
|
|
@@ -19,6 +19,33 @@ import { useIsSuperAdmin } from "../../app/guards/SuperAdminGuard.js";
|
|
|
19
19
|
import { useState } from "react";
|
|
20
20
|
import { MOBILE_NAV_CONFIG } from "../../../lib/config/config-sync.js";
|
|
21
21
|
import { getIcon } from "../../../lib/config/icon-map.js";
|
|
22
|
+
import { usePermission } from "../../../lib/permissions/hooks.js";
|
|
23
|
+
function MoreSheetItemWithPermission({
|
|
24
|
+
item,
|
|
25
|
+
onLinkClick
|
|
26
|
+
}) {
|
|
27
|
+
const permissionToCheck = item.requiresPermission || "teams.read";
|
|
28
|
+
const hasPermission = usePermission(permissionToCheck);
|
|
29
|
+
if (item.requiresPermission && !hasPermission) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
const Icon = item.icon;
|
|
33
|
+
return /* @__PURE__ */ jsxs(
|
|
34
|
+
Link,
|
|
35
|
+
{
|
|
36
|
+
href: item.href,
|
|
37
|
+
onClick: onLinkClick,
|
|
38
|
+
className: "flex items-center gap-3 px-4 py-3 rounded-lg hover:bg-accent transition-colors",
|
|
39
|
+
target: item.external ? "_blank" : void 0,
|
|
40
|
+
rel: item.external ? "noopener noreferrer" : void 0,
|
|
41
|
+
"data-cy": sel("dashboard.mobile.moreSheet.item", { id: item.id }),
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ jsx(Icon, { className: "h-5 w-5 text-muted-foreground", "aria-hidden": "true" }),
|
|
44
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: item.label })
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
22
49
|
function MobileMoreSheet({ isOpen, onOpenChange }) {
|
|
23
50
|
const { user, signOut } = useAuth();
|
|
24
51
|
const tCommon = useTranslations("common");
|
|
@@ -46,7 +73,8 @@ function MobileMoreSheet({ isOpen, onOpenChange }) {
|
|
|
46
73
|
label: t(configItem.labelKey),
|
|
47
74
|
href: configItem.href,
|
|
48
75
|
icon: IconComponent,
|
|
49
|
-
external: configItem.external || false
|
|
76
|
+
external: configItem.external || false,
|
|
77
|
+
requiresPermission: configItem.requiresPermission
|
|
50
78
|
};
|
|
51
79
|
});
|
|
52
80
|
if (!user) return null;
|
|
@@ -62,25 +90,14 @@ function MobileMoreSheet({ isOpen, onOpenChange }) {
|
|
|
62
90
|
/* @__PURE__ */ jsx(SheetDescription, { children: tCommon("mobileNav.moreOptionsDescription") })
|
|
63
91
|
] }),
|
|
64
92
|
/* @__PURE__ */ jsxs("div", { className: "mt-6 space-y-2", children: [
|
|
65
|
-
menuItems.map((item) =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
target: item.external ? "_blank" : void 0,
|
|
74
|
-
rel: item.external ? "noopener noreferrer" : void 0,
|
|
75
|
-
"data-cy": sel("dashboard.mobile.moreSheet.item", { id: item.id }),
|
|
76
|
-
children: [
|
|
77
|
-
/* @__PURE__ */ jsx(Icon, { className: "h-5 w-5 text-muted-foreground", "aria-hidden": "true" }),
|
|
78
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: item.label })
|
|
79
|
-
]
|
|
80
|
-
},
|
|
81
|
-
item.id
|
|
82
|
-
);
|
|
83
|
-
}),
|
|
93
|
+
menuItems.map((item) => /* @__PURE__ */ jsx(
|
|
94
|
+
MoreSheetItemWithPermission,
|
|
95
|
+
{
|
|
96
|
+
item,
|
|
97
|
+
onLinkClick: handleLinkClick
|
|
98
|
+
},
|
|
99
|
+
item.id
|
|
100
|
+
)),
|
|
84
101
|
isSuperAdmin && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
85
102
|
/* @__PURE__ */ jsx(Separator, { className: "my-2" }),
|
|
86
103
|
/* @__PURE__ */ jsxs(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/navigation/DynamicNavigation.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"DynamicNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/navigation/DynamicNavigation.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AA6BnF,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,QAAQ,EAAE,wBAAwB,EAAE,CAAA;CACrC;AAkKD,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAgB,EAChB,WAAmB,EACnB,WAAW,EACX,QAAQ,EACT,EAAE,sBAAsB,2CAyFxB;AAwDD,eAAe,iBAAiB,CAAA"}
|
|
@@ -37,6 +37,46 @@ const labelMappings = {
|
|
|
37
37
|
"navigation.lessons": "Lessons",
|
|
38
38
|
"navigation.analytics": "Analytics"
|
|
39
39
|
};
|
|
40
|
+
function NavItemWithPermission({
|
|
41
|
+
item,
|
|
42
|
+
sectionId,
|
|
43
|
+
pathname,
|
|
44
|
+
isMobile,
|
|
45
|
+
isCollapsed,
|
|
46
|
+
onItemClick,
|
|
47
|
+
normalizeKey,
|
|
48
|
+
t
|
|
49
|
+
}) {
|
|
50
|
+
const permissionToCheck = item.requiresPermission || "teams.read";
|
|
51
|
+
const hasPermission = usePermission(permissionToCheck);
|
|
52
|
+
if (item.requiresPermission && !hasPermission) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const ItemIcon = Icons[item.icon] || Icons.Circle;
|
|
56
|
+
const isActive = pathname === item.href || pathname.startsWith(item.href + "/");
|
|
57
|
+
const normalizedItemKey = normalizeKey(item.labelKey);
|
|
58
|
+
const itemLabel = t(normalizedItemKey) || labelMappings[item.labelKey] || item.id;
|
|
59
|
+
return /* @__PURE__ */ jsxs(
|
|
60
|
+
Link,
|
|
61
|
+
{
|
|
62
|
+
href: item.href,
|
|
63
|
+
onClick: onItemClick,
|
|
64
|
+
className: cn(
|
|
65
|
+
"flex items-center rounded-lg px-3 py-2 text-sm font-medium transition-colors",
|
|
66
|
+
isCollapsed ? "justify-center" : "gap-3",
|
|
67
|
+
isActive ? "bg-secondary text-foreground" : "text-muted-foreground hover:bg-secondary/50 hover:text-foreground",
|
|
68
|
+
isMobile && "w-full"
|
|
69
|
+
),
|
|
70
|
+
"aria-current": isActive ? "page" : void 0,
|
|
71
|
+
title: isCollapsed ? itemLabel : void 0,
|
|
72
|
+
"data-cy": sel("dashboard.navigation.sectionItem", { sectionId, itemId: item.id }),
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsx(ItemIcon, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" }),
|
|
75
|
+
!isCollapsed && /* @__PURE__ */ jsx("span", { className: "truncate", children: itemLabel })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
40
80
|
function SectionWithPermission({
|
|
41
81
|
section,
|
|
42
82
|
pathname,
|
|
@@ -67,33 +107,20 @@ function SectionWithPermission({
|
|
|
67
107
|
}
|
|
68
108
|
),
|
|
69
109
|
isCollapsed && /* @__PURE__ */ jsx("div", { className: "my-2 mx-3 border-t border-border", "aria-hidden": "true" }),
|
|
70
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: section.items.map((item) =>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
isMobile && "w-full"
|
|
85
|
-
),
|
|
86
|
-
"aria-current": isActive ? "page" : void 0,
|
|
87
|
-
title: isCollapsed ? itemLabel : void 0,
|
|
88
|
-
"data-cy": sel("dashboard.navigation.sectionItem", { sectionId: section.id, itemId: item.id }),
|
|
89
|
-
children: [
|
|
90
|
-
/* @__PURE__ */ jsx(ItemIcon, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" }),
|
|
91
|
-
!isCollapsed && /* @__PURE__ */ jsx("span", { className: "truncate", children: itemLabel })
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
item.id
|
|
95
|
-
);
|
|
96
|
-
}) })
|
|
110
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: section.items.map((item) => /* @__PURE__ */ jsx(
|
|
111
|
+
NavItemWithPermission,
|
|
112
|
+
{
|
|
113
|
+
item,
|
|
114
|
+
sectionId: section.id,
|
|
115
|
+
pathname,
|
|
116
|
+
isMobile,
|
|
117
|
+
isCollapsed,
|
|
118
|
+
onItemClick,
|
|
119
|
+
normalizeKey,
|
|
120
|
+
t
|
|
121
|
+
},
|
|
122
|
+
item.id
|
|
123
|
+
)) })
|
|
97
124
|
] });
|
|
98
125
|
}
|
|
99
126
|
function DynamicNavigation({
|
|
@@ -77,6 +77,13 @@ export interface MobileNavMoreItem {
|
|
|
77
77
|
enabled: boolean;
|
|
78
78
|
/** Whether this link opens in a new tab */
|
|
79
79
|
external?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Permission required to display this item.
|
|
82
|
+
* If set, the item is only shown to users who have this permission in the current team.
|
|
83
|
+
* If not set, the item is shown to all users (backward compatible).
|
|
84
|
+
* Example: 'schedules.list', 'analytics.list'
|
|
85
|
+
*/
|
|
86
|
+
requiresPermission?: string;
|
|
80
87
|
}
|
|
81
88
|
/**
|
|
82
89
|
* Mobile Navigation Configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,eAAe,GACf,cAAc,CAAA;AAElB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAA;IAEV,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAEhB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,kCAAkC;IAClC,IAAI,EAAE,QAAQ,CAAA;IAEd,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAA;IAEhB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,GAAG,WAAW,CAAA;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAA;IAEV,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAA;IAEhB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IAEZ,kCAAkC;IAClC,IAAI,EAAE,QAAQ,CAAA;IAEd,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAA;IAEhB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"checkSpam": "Revisá tu carpeta de spam",
|
|
139
139
|
"correctEmail": "Asegurate de haber ingresado el email correcto",
|
|
140
140
|
"waitAndRetry": "Esperá unos minutos e intentá de nuevo",
|
|
141
|
-
"backToLogin": "Volver al
|
|
141
|
+
"backToLogin": "Volver al inicio de sesión",
|
|
142
142
|
"tryAgain": "Intentar de nuevo"
|
|
143
143
|
},
|
|
144
144
|
"errors": {
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"error": "Error inesperado al enviar enlace",
|
|
153
153
|
"errorPrefix": "Error: {error}"
|
|
154
154
|
},
|
|
155
|
-
"backToLogin": "Volver al
|
|
155
|
+
"backToLogin": "Volver al inicio de sesión"
|
|
156
156
|
},
|
|
157
157
|
"resetPassword": {
|
|
158
158
|
"title": "Restablecer Contraseña",
|
|
@@ -174,8 +174,8 @@
|
|
|
174
174
|
"success": {
|
|
175
175
|
"title": "Email verificado",
|
|
176
176
|
"description": "Tu email fue verificado exitosamente",
|
|
177
|
-
"redirectingDashboard": "Redirigiéndote al
|
|
178
|
-
"redirectingLogin": "Redirigiéndote al
|
|
177
|
+
"redirectingDashboard": "Redirigiéndote al panel...",
|
|
178
|
+
"redirectingLogin": "Redirigiéndote al inicio de sesión..."
|
|
179
179
|
},
|
|
180
180
|
"failed": {
|
|
181
181
|
"title": "Verificación fallida",
|
|
@@ -189,8 +189,8 @@
|
|
|
189
189
|
"tokenExpired": "El enlace de verificación expiró. Registrate de nuevo para recibir uno nuevo",
|
|
190
190
|
"unexpectedError": "Ocurrió un error inesperado"
|
|
191
191
|
},
|
|
192
|
-
"backToSignup": "Volver
|
|
193
|
-
"goToLogin": "
|
|
192
|
+
"backToSignup": "Volver al registro",
|
|
193
|
+
"goToLogin": "Iniciar sesión"
|
|
194
194
|
},
|
|
195
195
|
"error": {
|
|
196
196
|
"backToLogin": "Volver a iniciar sesión",
|
package/dist/styles/classes.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-04-
|
|
3
|
-
"totalClasses":
|
|
2
|
+
"generated": "2026-04-19T21:56:26.608Z",
|
|
3
|
+
"totalClasses": 1079,
|
|
4
4
|
"classes": [
|
|
5
5
|
"!text-2xl",
|
|
6
6
|
"''",
|
|
@@ -648,6 +648,7 @@
|
|
|
648
648
|
"min-h-[120px]",
|
|
649
649
|
"min-h-[200px]",
|
|
650
650
|
"min-h-[400px]",
|
|
651
|
+
"min-h-[44px]",
|
|
651
652
|
"min-h-[60px]",
|
|
652
653
|
"min-h-full",
|
|
653
654
|
"min-h-screen",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nextsparkjs/core",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.146",
|
|
4
4
|
"description": "NextSpark - The complete SaaS framework for Next.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "NextSpark <hello@nextspark.dev>",
|
|
@@ -463,7 +463,7 @@
|
|
|
463
463
|
"tailwind-merge": "^3.3.1",
|
|
464
464
|
"uuid": "^13.0.0",
|
|
465
465
|
"zod": "^4.1.5",
|
|
466
|
-
"@nextsparkjs/testing": "0.1.0-beta.
|
|
466
|
+
"@nextsparkjs/testing": "0.1.0-beta.146"
|
|
467
467
|
},
|
|
468
468
|
"scripts": {
|
|
469
469
|
"postinstall": "node scripts/postinstall.mjs || true",
|