@timmbr/ui 1.0.0-beta → 1.1.0
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/README.md +20 -16
- package/dist/components/Avatar/Avatar.styles.d.ts +1 -1
- package/dist/components/Badge/Badge.styles.d.ts +1 -1
- package/dist/components/Button/Button.styles.d.ts +2 -2
- package/dist/components/Chip/Chip.styles.d.ts +1 -1
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +10 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +1 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.js +111 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +8 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +1 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +33 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +31 -0
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +1 -0
- package/dist/components/CrossZoneLink/index.d.ts +4 -0
- package/dist/components/CrossZoneLink/index.d.ts.map +1 -0
- package/dist/components/Divider/Divider.styles.d.ts +1 -1
- package/dist/components/FormField/FormField.js +3 -3
- package/dist/components/Heading/Heading.styles.d.ts +2 -2
- package/dist/components/Icon/Icon.styles.d.ts +1 -1
- package/dist/components/Inline/Inline.styles.d.ts +2 -2
- package/dist/components/Input/Input.js +3 -3
- package/dist/components/Input/Input.styles.d.ts +1 -1
- package/dist/components/Input/Input.styles.js +1 -1
- package/dist/components/Input/Input.types.d.ts +1 -1
- package/dist/components/Input/Input.types.d.ts.map +1 -1
- package/dist/components/LinkButton/LinkButton.d.ts +13 -0
- package/dist/components/LinkButton/LinkButton.d.ts.map +1 -0
- package/dist/components/LinkButton/LinkButton.js +179 -0
- package/dist/components/LinkButton/LinkButton.styles.d.ts +8 -0
- package/dist/components/LinkButton/LinkButton.styles.d.ts.map +1 -0
- package/dist/components/LinkButton/LinkButton.styles.js +61 -0
- package/dist/components/LinkButton/LinkButton.types.d.ts +60 -0
- package/dist/components/LinkButton/LinkButton.types.d.ts.map +1 -0
- package/dist/components/LinkButton/index.d.ts +4 -0
- package/dist/components/LinkButton/index.d.ts.map +1 -0
- package/dist/components/Progress/Progress.styles.d.ts +1 -1
- package/dist/components/Radio/Radio.js +3 -3
- package/dist/components/Select/Select.js +3 -3
- package/dist/components/Select/Select.styles.d.ts +1 -1
- package/dist/components/SideBarNavigation/SideBarNavigation.context.d.ts +15 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.context.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.context.js +10 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.d.ts +4 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.helpers.d.ts +19 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.helpers.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.helpers.js +48 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.js +132 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.styles.d.ts +18 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.styles.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +85 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.types.d.ts +69 -0
- package/dist/components/SideBarNavigation/SideBarNavigation.types.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/index.d.ts +13 -0
- package/dist/components/SideBarNavigation/index.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.d.ts +13 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +58 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.d.ts +10 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +27 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.d.ts +14 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.js +147 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.d.ts +13 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +106 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.d.ts +13 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +118 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.d.ts +13 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +34 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.d.ts +8 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.d.ts.map +1 -0
- package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.js +40 -0
- package/dist/components/Stack/Stack.styles.d.ts +2 -2
- package/dist/components/Tabs/Tabs.styles.d.ts +2 -2
- package/dist/components/Text/Text.styles.d.ts +2 -2
- package/dist/components/Textarea/Textarea.js +3 -3
- package/dist/components/Textarea/Textarea.styles.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +12 -3
- package/dist/components/Toast/Toast.types.d.ts +34 -0
- package/dist/components/Toast/Toast.types.d.ts.map +1 -1
- package/dist/components/Toast/ToastContainer.d.ts +7 -0
- package/dist/components/Toast/ToastContainer.d.ts.map +1 -0
- package/dist/components/Toast/ToastContainer.js +104 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/toastStore.d.ts +31 -0
- package/dist/components/Toast/toastStore.d.ts.map +1 -0
- package/dist/components/Toast/toastStore.js +104 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -1
- package/dist/providers/TimmbrConfigProvider.d.ts +20 -2
- package/dist/providers/TimmbrConfigProvider.d.ts.map +1 -1
- package/dist/providers/TimmbrConfigProvider.js +38 -3
- package/package.json +14 -6
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import { ToastProvider } from '../components/Toast/Toast.js';
|
|
5
|
+
import { ToastContainer } from '../components/Toast/ToastContainer.js';
|
|
4
6
|
|
|
7
|
+
function resolveZoneHref(href, zone, zones) {
|
|
8
|
+
if (!zone || !zones || !zones[zone]) {
|
|
9
|
+
return href;
|
|
10
|
+
}
|
|
11
|
+
const base = zones[zone].replace(/\/+$/, "");
|
|
12
|
+
const path = href.startsWith("/") ? href : `/${href}`;
|
|
13
|
+
return `${base}${path}`;
|
|
14
|
+
}
|
|
5
15
|
const defaultTimmbrConfig = {
|
|
6
16
|
animations: {
|
|
7
17
|
enabled: true
|
|
@@ -9,6 +19,10 @@ const defaultTimmbrConfig = {
|
|
|
9
19
|
theme: {
|
|
10
20
|
mode: "light"
|
|
11
21
|
},
|
|
22
|
+
zones: {
|
|
23
|
+
currentZone: void 0,
|
|
24
|
+
zones: {}
|
|
25
|
+
},
|
|
12
26
|
components: {
|
|
13
27
|
button: {
|
|
14
28
|
defaultVariant: "default",
|
|
@@ -20,6 +34,13 @@ const defaultTimmbrConfig = {
|
|
|
20
34
|
icon: {
|
|
21
35
|
defaultSize: 24
|
|
22
36
|
}
|
|
37
|
+
},
|
|
38
|
+
toast: {
|
|
39
|
+
position: "bottom-right",
|
|
40
|
+
duration: 4e3,
|
|
41
|
+
maxVisible: 5,
|
|
42
|
+
swipeDirection: "right",
|
|
43
|
+
stacked: false
|
|
23
44
|
}
|
|
24
45
|
};
|
|
25
46
|
const TimmbrConfigContext = React.createContext(defaultTimmbrConfig);
|
|
@@ -37,6 +58,13 @@ const TimmbrConfigProvider = ({
|
|
|
37
58
|
...defaultTimmbrConfig.theme,
|
|
38
59
|
...config?.theme
|
|
39
60
|
},
|
|
61
|
+
zones: {
|
|
62
|
+
currentZone: config?.zones?.currentZone ?? defaultTimmbrConfig.zones?.currentZone,
|
|
63
|
+
zones: {
|
|
64
|
+
...defaultTimmbrConfig.zones?.zones,
|
|
65
|
+
...config?.zones?.zones
|
|
66
|
+
}
|
|
67
|
+
},
|
|
40
68
|
components: {
|
|
41
69
|
button: {
|
|
42
70
|
...defaultTimmbrConfig.components.button,
|
|
@@ -50,6 +78,10 @@ const TimmbrConfigProvider = ({
|
|
|
50
78
|
...defaultTimmbrConfig.components.icon,
|
|
51
79
|
...config?.components?.icon
|
|
52
80
|
}
|
|
81
|
+
},
|
|
82
|
+
toast: {
|
|
83
|
+
...defaultTimmbrConfig.toast,
|
|
84
|
+
...config?.toast
|
|
53
85
|
}
|
|
54
86
|
};
|
|
55
87
|
}, [config]);
|
|
@@ -67,10 +99,13 @@ const TimmbrConfigProvider = ({
|
|
|
67
99
|
}
|
|
68
100
|
};
|
|
69
101
|
}, [animationsDisabled]);
|
|
70
|
-
return /* @__PURE__ */ jsx(TimmbrConfigContext.Provider, { value: mergedConfig, children
|
|
102
|
+
return /* @__PURE__ */ jsx(TimmbrConfigContext.Provider, { value: mergedConfig, children: /* @__PURE__ */ jsxs(ToastProvider, { swipeDirection: mergedConfig.toast?.swipeDirection ?? "right", children: [
|
|
103
|
+
children,
|
|
104
|
+
/* @__PURE__ */ jsx(ToastContainer, { config: mergedConfig.toast })
|
|
105
|
+
] }) });
|
|
71
106
|
};
|
|
72
107
|
const useTimmbrConfig = () => {
|
|
73
108
|
return React.useContext(TimmbrConfigContext);
|
|
74
109
|
};
|
|
75
110
|
|
|
76
|
-
export { TimmbrConfigProvider, defaultTimmbrConfig, useTimmbrConfig };
|
|
111
|
+
export { TimmbrConfigProvider, defaultTimmbrConfig, resolveZoneHref, useTimmbrConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timmbr/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "High-performance, Next.js App Router-compatible UI design system components for Timmbr",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,16 +40,22 @@
|
|
|
40
40
|
"@radix-ui/react-toast": "^1.2.23",
|
|
41
41
|
"@radix-ui/react-tooltip": "^1.2.16",
|
|
42
42
|
"class-variance-authority": "^0.7.1",
|
|
43
|
-
"@timmbr/icons": "1.
|
|
43
|
+
"@timmbr/icons": "1.1.0",
|
|
44
44
|
"@timmbr/hooks": "1.0.0-beta",
|
|
45
|
-
"@timmbr/
|
|
46
|
-
"@timmbr/
|
|
47
|
-
"@timmbr/
|
|
45
|
+
"@timmbr/utils": "1.1.0",
|
|
46
|
+
"@timmbr/motion": "1.1.0",
|
|
47
|
+
"@timmbr/theme": "1.1.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
+
"next": ">=13.0.0 || >=14.0.0 || >=15.0.0 || >=16.0.0",
|
|
50
51
|
"react": ">=18.0.0",
|
|
51
52
|
"react-dom": ">=18.0.0"
|
|
52
53
|
},
|
|
54
|
+
"peerDependenciesMeta": {
|
|
55
|
+
"next": {
|
|
56
|
+
"optional": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
53
59
|
"publishConfig": {
|
|
54
60
|
"access": "public"
|
|
55
61
|
},
|
|
@@ -62,6 +68,7 @@
|
|
|
62
68
|
"@types/react-dom": "^19.0.3",
|
|
63
69
|
"@vitejs/plugin-react": "^4.3.4",
|
|
64
70
|
"jsdom": "^26.0.0",
|
|
71
|
+
"next": "^16.3.5",
|
|
65
72
|
"react": "^19.0.0",
|
|
66
73
|
"react-dom": "^19.0.0",
|
|
67
74
|
"rimraf": "^6.0.1",
|
|
@@ -72,8 +79,9 @@
|
|
|
72
79
|
"@timmbr/tsconfig": "1.0.0"
|
|
73
80
|
},
|
|
74
81
|
"scripts": {
|
|
75
|
-
"build": "vite build && tsc --
|
|
82
|
+
"build": "vite build && tsc --project tsconfig.build.json",
|
|
76
83
|
"dev": "vite build --watch",
|
|
84
|
+
"typecheck": "tsc --noEmit",
|
|
77
85
|
"test": "vitest run",
|
|
78
86
|
"test:watch": "vitest",
|
|
79
87
|
"clean": "rimraf dist"
|