@pagamio/frontend-commons-lib 0.8.220 → 0.8.221
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.
|
@@ -23,7 +23,7 @@ const AppSidebarMenu = () => {
|
|
|
23
23
|
return _jsx(AppSidebarItem, { ...itemProps }, getItemKey(item, index));
|
|
24
24
|
}) }) }));
|
|
25
25
|
};
|
|
26
|
-
const AppSidebarItem = ({ href, target, icon, label, items, badge, forceDropdown, collapsible = true, showSeparator = false, isSectionHeader = false, }) => {
|
|
26
|
+
const AppSidebarItem = ({ href, target, icon, label, items, badge, forceDropdown, collapsible = true, showSeparator = false, isSectionHeader = false, comingSoon = false, }) => {
|
|
27
27
|
const { pathname, linkComponent: Link, desktop } = useAppSidebarContext();
|
|
28
28
|
const { t } = useTranslation();
|
|
29
29
|
// Handle section headers - render as a non-interactive label (hide when collapsed)
|
|
@@ -32,7 +32,7 @@ const AppSidebarItem = ({ href, target, icon, label, items, badge, forceDropdown
|
|
|
32
32
|
if (desktop.isCollapsed) {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
return (_jsxs("div", { className: "pt-
|
|
35
|
+
return (_jsxs("div", { className: "pt-3 first:pt-0", children: [_jsx("hr", { className: "mb-2 border-t border-gray-200 dark:border-gray-700" }), _jsx("span", { className: "px-3 text-[10px] font-semibold uppercase tracking-wider text-gray-600 dark:text-gray-400", children: t(label) })] }));
|
|
36
36
|
}
|
|
37
37
|
// Check if current path matches this item or any of its descendants
|
|
38
38
|
const isParentActive = href ? pathname === href || pathname.startsWith(`${href}/`) : false;
|
|
@@ -97,6 +97,14 @@ const AppSidebarItem = ({ href, target, icon, label, items, badge, forceDropdown
|
|
|
97
97
|
if (!href) {
|
|
98
98
|
return (_jsx(Sidebar.Item, { icon: icon, label: badge && t(badge), className: twMerge('text-gray-600 hover:text-primary-700 hover:bg-primary-50/70', 'dark:text-gray-400 dark:hover:text-primary-300 dark:hover:bg-primary-900/30', 'cursor-default'), children: t(label) }));
|
|
99
99
|
}
|
|
100
|
+
// Handle coming soon items - disabled with badge
|
|
101
|
+
if (comingSoon) {
|
|
102
|
+
return (_jsx(Sidebar.Item, { icon: icon, label: _jsx("span", { className: "inline-flex items-center rounded-md px-1.5 py-0.5 text-[9px] font-medium", style: {
|
|
103
|
+
backgroundColor: 'rgb(254 243 199)', // amber-100
|
|
104
|
+
color: 'rgb(180 83 9)', // amber-700
|
|
105
|
+
border: '1px solid rgb(252 211 77)', // amber-300
|
|
106
|
+
}, children: t('sidebar.comingSoon', 'Soon') }), className: twMerge('text-gray-400 cursor-not-allowed', 'dark:text-gray-500'), children: t(label) }));
|
|
107
|
+
}
|
|
100
108
|
return (_jsx(Sidebar.Item, { as: Link, href: href, target: target, icon: icon, label: badge && t(badge), className: twMerge('text-gray-600 hover:text-primary-700 hover:bg-primary-50/70', 'dark:text-gray-400 dark:hover:text-primary-300 dark:hover:bg-primary-900/30', isParentActive &&
|
|
101
109
|
'text-primary-700 bg-primary-100/80 hover:bg-primary-100/80 dark:text-primary-300 dark:bg-primary-900/40 dark:hover:bg-primary-900/40'), children: t(label) }));
|
|
102
110
|
};
|
|
@@ -29,6 +29,10 @@ interface AppSidebarPageItem {
|
|
|
29
29
|
* Used for visual grouping in flat sidebar structures.
|
|
30
30
|
*/
|
|
31
31
|
isSectionHeader?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* When true, shows "Coming Soon" badge and disables navigation.
|
|
34
|
+
*/
|
|
35
|
+
comingSoon?: boolean;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
38
|
* Props for the AppSidebarContext
|
package/lib/styles.css
CHANGED
|
@@ -2853,6 +2853,10 @@ input[type="range"]::-ms-fill-lower {
|
|
|
2853
2853
|
padding-left: 0px;
|
|
2854
2854
|
padding-right: 0px;
|
|
2855
2855
|
}
|
|
2856
|
+
.px-1\.5 {
|
|
2857
|
+
padding-left: 0.375rem;
|
|
2858
|
+
padding-right: 0.375rem;
|
|
2859
|
+
}
|
|
2856
2860
|
.px-12 {
|
|
2857
2861
|
padding-left: 3rem;
|
|
2858
2862
|
padding-right: 3rem;
|
|
@@ -2928,9 +2932,6 @@ input[type="range"]::-ms-fill-lower {
|
|
|
2928
2932
|
.pb-0 {
|
|
2929
2933
|
padding-bottom: 0px;
|
|
2930
2934
|
}
|
|
2931
|
-
.pb-1 {
|
|
2932
|
-
padding-bottom: 0.25rem;
|
|
2933
|
-
}
|
|
2934
2935
|
.pb-2\.5 {
|
|
2935
2936
|
padding-bottom: 0.625rem;
|
|
2936
2937
|
}
|
|
@@ -3046,12 +3047,18 @@ input[type="range"]::-ms-fill-lower {
|
|
|
3046
3047
|
.text-\[1\.5rem\] {
|
|
3047
3048
|
font-size: 1.5rem;
|
|
3048
3049
|
}
|
|
3050
|
+
.text-\[10px\] {
|
|
3051
|
+
font-size: 10px;
|
|
3052
|
+
}
|
|
3049
3053
|
.text-\[15px\] {
|
|
3050
3054
|
font-size: 15px;
|
|
3051
3055
|
}
|
|
3052
3056
|
.text-\[1em\] {
|
|
3053
3057
|
font-size: 1em;
|
|
3054
3058
|
}
|
|
3059
|
+
.text-\[9px\] {
|
|
3060
|
+
font-size: 9px;
|
|
3061
|
+
}
|
|
3055
3062
|
.text-base {
|
|
3056
3063
|
font-size: 1rem;
|
|
3057
3064
|
line-height: 1.5rem;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pagamio/frontend-commons-lib",
|
|
3
3
|
"description": "Pagamio library for Frontend reusable components like the form engine and table container",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.221",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
7
7
|
"provenance": false
|