@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.
Files changed (100) hide show
  1. package/README.md +20 -16
  2. package/dist/components/Avatar/Avatar.styles.d.ts +1 -1
  3. package/dist/components/Badge/Badge.styles.d.ts +1 -1
  4. package/dist/components/Button/Button.styles.d.ts +2 -2
  5. package/dist/components/Chip/Chip.styles.d.ts +1 -1
  6. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +10 -0
  7. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +1 -0
  8. package/dist/components/CrossZoneLink/CrossZoneLink.js +111 -0
  9. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +8 -0
  10. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +1 -0
  11. package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +33 -0
  12. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +31 -0
  13. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +1 -0
  14. package/dist/components/CrossZoneLink/index.d.ts +4 -0
  15. package/dist/components/CrossZoneLink/index.d.ts.map +1 -0
  16. package/dist/components/Divider/Divider.styles.d.ts +1 -1
  17. package/dist/components/FormField/FormField.js +3 -3
  18. package/dist/components/Heading/Heading.styles.d.ts +2 -2
  19. package/dist/components/Icon/Icon.styles.d.ts +1 -1
  20. package/dist/components/Inline/Inline.styles.d.ts +2 -2
  21. package/dist/components/Input/Input.js +3 -3
  22. package/dist/components/Input/Input.styles.d.ts +1 -1
  23. package/dist/components/Input/Input.styles.js +1 -1
  24. package/dist/components/Input/Input.types.d.ts +1 -1
  25. package/dist/components/Input/Input.types.d.ts.map +1 -1
  26. package/dist/components/LinkButton/LinkButton.d.ts +13 -0
  27. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -0
  28. package/dist/components/LinkButton/LinkButton.js +179 -0
  29. package/dist/components/LinkButton/LinkButton.styles.d.ts +8 -0
  30. package/dist/components/LinkButton/LinkButton.styles.d.ts.map +1 -0
  31. package/dist/components/LinkButton/LinkButton.styles.js +61 -0
  32. package/dist/components/LinkButton/LinkButton.types.d.ts +60 -0
  33. package/dist/components/LinkButton/LinkButton.types.d.ts.map +1 -0
  34. package/dist/components/LinkButton/index.d.ts +4 -0
  35. package/dist/components/LinkButton/index.d.ts.map +1 -0
  36. package/dist/components/Progress/Progress.styles.d.ts +1 -1
  37. package/dist/components/Radio/Radio.js +3 -3
  38. package/dist/components/Select/Select.js +3 -3
  39. package/dist/components/Select/Select.styles.d.ts +1 -1
  40. package/dist/components/SideBarNavigation/SideBarNavigation.context.d.ts +15 -0
  41. package/dist/components/SideBarNavigation/SideBarNavigation.context.d.ts.map +1 -0
  42. package/dist/components/SideBarNavigation/SideBarNavigation.context.js +10 -0
  43. package/dist/components/SideBarNavigation/SideBarNavigation.d.ts +4 -0
  44. package/dist/components/SideBarNavigation/SideBarNavigation.d.ts.map +1 -0
  45. package/dist/components/SideBarNavigation/SideBarNavigation.helpers.d.ts +19 -0
  46. package/dist/components/SideBarNavigation/SideBarNavigation.helpers.d.ts.map +1 -0
  47. package/dist/components/SideBarNavigation/SideBarNavigation.helpers.js +48 -0
  48. package/dist/components/SideBarNavigation/SideBarNavigation.js +132 -0
  49. package/dist/components/SideBarNavigation/SideBarNavigation.styles.d.ts +18 -0
  50. package/dist/components/SideBarNavigation/SideBarNavigation.styles.d.ts.map +1 -0
  51. package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +85 -0
  52. package/dist/components/SideBarNavigation/SideBarNavigation.types.d.ts +69 -0
  53. package/dist/components/SideBarNavigation/SideBarNavigation.types.d.ts.map +1 -0
  54. package/dist/components/SideBarNavigation/index.d.ts +13 -0
  55. package/dist/components/SideBarNavigation/index.d.ts.map +1 -0
  56. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.d.ts +13 -0
  57. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.d.ts.map +1 -0
  58. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +58 -0
  59. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.d.ts +10 -0
  60. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.d.ts.map +1 -0
  61. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +27 -0
  62. package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.d.ts +14 -0
  63. package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.d.ts.map +1 -0
  64. package/dist/components/SideBarNavigation/subcomponents/SidebarNavItem.js +147 -0
  65. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.d.ts +13 -0
  66. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.d.ts.map +1 -0
  67. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +106 -0
  68. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.d.ts +13 -0
  69. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.d.ts.map +1 -0
  70. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +118 -0
  71. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.d.ts +13 -0
  72. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.d.ts.map +1 -0
  73. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +34 -0
  74. package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.d.ts +8 -0
  75. package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.d.ts.map +1 -0
  76. package/dist/components/SideBarNavigation/subcomponents/SidebarToggle.js +40 -0
  77. package/dist/components/Stack/Stack.styles.d.ts +2 -2
  78. package/dist/components/Tabs/Tabs.styles.d.ts +2 -2
  79. package/dist/components/Text/Text.styles.d.ts +2 -2
  80. package/dist/components/Textarea/Textarea.js +3 -3
  81. package/dist/components/Textarea/Textarea.styles.d.ts +1 -1
  82. package/dist/components/Toast/Toast.d.ts.map +1 -1
  83. package/dist/components/Toast/Toast.js +12 -3
  84. package/dist/components/Toast/Toast.types.d.ts +34 -0
  85. package/dist/components/Toast/Toast.types.d.ts.map +1 -1
  86. package/dist/components/Toast/ToastContainer.d.ts +7 -0
  87. package/dist/components/Toast/ToastContainer.d.ts.map +1 -0
  88. package/dist/components/Toast/ToastContainer.js +104 -0
  89. package/dist/components/Toast/index.d.ts +2 -0
  90. package/dist/components/Toast/index.d.ts.map +1 -1
  91. package/dist/components/Toast/toastStore.d.ts +31 -0
  92. package/dist/components/Toast/toastStore.d.ts.map +1 -0
  93. package/dist/components/Toast/toastStore.js +104 -0
  94. package/dist/index.d.ts +2 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +16 -1
  97. package/dist/providers/TimmbrConfigProvider.d.ts +20 -2
  98. package/dist/providers/TimmbrConfigProvider.d.ts.map +1 -1
  99. package/dist/providers/TimmbrConfigProvider.js +38 -3
  100. 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.0.0-beta",
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.0.0-beta",
43
+ "@timmbr/icons": "1.1.0",
44
44
  "@timmbr/hooks": "1.0.0-beta",
45
- "@timmbr/theme": "1.0.0-beta",
46
- "@timmbr/utils": "1.0.0-beta",
47
- "@timmbr/motion": "1.0.0-beta"
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 --emitDeclarationOnly",
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"