@octave-org/ui 0.0.3 → 0.0.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/README.md CHANGED
@@ -1,26 +1,98 @@
1
1
  # @octave-org/ui
2
2
 
3
- This library was generated with [Nx](https://nx.dev).
3
+ A UI component library built on top of [Mantine](https://mantine.dev), designed for use with Next.js projects.
4
4
 
5
- ## Branding
5
+ > **Note:** This package is currently only stable on the **Next.js Pages Router**. App Router support is not guaranteed.
6
6
 
7
- Set shared branding once at the provider level:
7
+ ---
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ # npm
13
+ npm install @octave-org/ui
14
+
15
+ # yarn
16
+ yarn add @octave-org/ui
17
+
18
+ # pnpm
19
+ pnpm add @octave-org/ui
20
+
21
+ # bun
22
+ bun add @octave-org/ui
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Setup
28
+
29
+ ### 1. Update `next.config.ts`
30
+
31
+ Add `@octave-org/ui` to `transpilePackages` so Next.js can process the package correctly:
32
+
33
+ ```ts
34
+ // next.config.ts
35
+ import type { NextConfig } from 'next';
36
+
37
+ const nextConfig: NextConfig = {
38
+ transpilePackages: ['@octave-org/ui'],
39
+ };
40
+
41
+ export default nextConfig;
42
+ ```
43
+
44
+ ### 2. Wrap your app with `OctaveProvider`
45
+
46
+ In your `pages/_app.tsx`, wrap your application with the `OctaveProvider` component to enable theming and notifications:
8
47
 
9
48
  ```tsx
49
+ // pages/_app.tsx
50
+ import type { AppProps } from 'next/app';
10
51
  import { OctaveProvider } from '@octave-org/ui';
11
52
 
12
- <OctaveProvider
13
- branding={{
14
- companyName: 'Acme Inc.',
15
- slogan: 'Secure access for modern teams',
16
- }}
17
- >
18
- <App />
19
- </OctaveProvider>;
53
+ export default function App({ Component, pageProps }: AppProps) {
54
+ return (
55
+ <OctaveProvider>
56
+ <Component {...pageProps} />
57
+ </OctaveProvider>
58
+ );
59
+ }
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Usage
65
+
66
+ ### OctaveButton
67
+
68
+ Use `OctaveButton` to render a styled button. You can pass a label, an action handler, or a link.
69
+
70
+ ```tsx
71
+ import { OctaveButton } from '@octave-org/ui';
72
+
73
+ export default function MyPage() {
74
+ return (
75
+ <OctaveButton
76
+ btnProps={{
77
+ label: 'Click me',
78
+ action: () => console.log('Button clicked!'),
79
+ context: 'primary', // 'primary' | 'destructive' | 'success' | 'warning'
80
+ }}
81
+ />
82
+ );
83
+ }
20
84
  ```
21
85
 
22
- `OctaveAuthWrapper`, `OctaveAuthForm`, and `OctaveShell` will use that branding by default. You can still override branding per component with a `branding` prop when needed.
86
+ You can also render the button as a link:
23
87
 
24
- ## Running unit tests
88
+ ```tsx
89
+ <OctaveButton
90
+ btnProps={{
91
+ label: 'Go to Dashboard',
92
+ link: '/dashboard',
93
+ context: 'success',
94
+ }}
95
+ />
96
+ ```
25
97
 
26
- Run `nx test @octave-org/ui` to execute the unit tests via [Jest](https://jestjs.io).
98
+ ---
package/dist/index.esm.js CHANGED
@@ -1937,7 +1937,7 @@ for (var COLLECTION_NAME in DOMIterables) {
1937
1937
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
1938
1938
 
1939
1939
  /**
1940
- * @license @tabler/icons-react v3.40.0 - MIT
1940
+ * @license @tabler/icons-react v3.41.0 - MIT
1941
1941
  *
1942
1942
  * This source code is licensed under the MIT license.
1943
1943
  * See the LICENSE file in the root directory of this source tree.
@@ -1966,7 +1966,7 @@ var defaultAttributes = {
1966
1966
  };
1967
1967
 
1968
1968
  /**
1969
- * @license @tabler/icons-react v3.40.0 - MIT
1969
+ * @license @tabler/icons-react v3.41.0 - MIT
1970
1970
  *
1971
1971
  * This source code is licensed under the MIT license.
1972
1972
  * See the LICENSE file in the root directory of this source tree.
@@ -2001,7 +2001,7 @@ const createReactComponent = (type, iconName, iconNamePascal, iconNode) => {
2001
2001
  };
2002
2002
 
2003
2003
  /**
2004
- * @license @tabler/icons-react v3.40.0 - MIT
2004
+ * @license @tabler/icons-react v3.41.0 - MIT
2005
2005
  *
2006
2006
  * This source code is licensed under the MIT license.
2007
2007
  * See the LICENSE file in the root directory of this source tree.
@@ -2012,7 +2012,7 @@ const __iconNode$h = [["path", { "d": "M12.802 2.165l5.575 2.389c.48 .206 .863 .
2012
2012
  const IconAlertOctagon = createReactComponent("outline", "alert-octagon", "AlertOctagon", __iconNode$h);
2013
2013
 
2014
2014
  /**
2015
- * @license @tabler/icons-react v3.40.0 - MIT
2015
+ * @license @tabler/icons-react v3.41.0 - MIT
2016
2016
  *
2017
2017
  * This source code is licensed under the MIT license.
2018
2018
  * See the LICENSE file in the root directory of this source tree.
@@ -2023,7 +2023,7 @@ const __iconNode$g = [["path", { "d": "M12 9v4", "key": "svg-0" }], ["path", { "
2023
2023
  const IconAlertTriangle = createReactComponent("outline", "alert-triangle", "AlertTriangle", __iconNode$g);
2024
2024
 
2025
2025
  /**
2026
- * @license @tabler/icons-react v3.40.0 - MIT
2026
+ * @license @tabler/icons-react v3.41.0 - MIT
2027
2027
  *
2028
2028
  * This source code is licensed under the MIT license.
2029
2029
  * See the LICENSE file in the root directory of this source tree.
@@ -2034,7 +2034,7 @@ const __iconNode$f = [["path", { "d": "M12 5l0 14", "key": "svg-0" }], ["path",
2034
2034
  const IconArrowDown = createReactComponent("outline", "arrow-down", "ArrowDown", __iconNode$f);
2035
2035
 
2036
2036
  /**
2037
- * @license @tabler/icons-react v3.40.0 - MIT
2037
+ * @license @tabler/icons-react v3.41.0 - MIT
2038
2038
  *
2039
2039
  * This source code is licensed under the MIT license.
2040
2040
  * See the LICENSE file in the root directory of this source tree.
@@ -2045,7 +2045,7 @@ const __iconNode$e = [["path", { "d": "M12 5l0 14", "key": "svg-0" }], ["path",
2045
2045
  const IconArrowUp = createReactComponent("outline", "arrow-up", "ArrowUp", __iconNode$e);
2046
2046
 
2047
2047
  /**
2048
- * @license @tabler/icons-react v3.40.0 - MIT
2048
+ * @license @tabler/icons-react v3.41.0 - MIT
2049
2049
  *
2050
2050
  * This source code is licensed under the MIT license.
2051
2051
  * See the LICENSE file in the root directory of this source tree.
@@ -2056,7 +2056,7 @@ const __iconNode$d = [["path", { "d": "M5 12l5 5l10 -10", "key": "svg-0" }]];
2056
2056
  const IconCheck = createReactComponent("outline", "check", "Check", __iconNode$d);
2057
2057
 
2058
2058
  /**
2059
- * @license @tabler/icons-react v3.40.0 - MIT
2059
+ * @license @tabler/icons-react v3.41.0 - MIT
2060
2060
  *
2061
2061
  * This source code is licensed under the MIT license.
2062
2062
  * See the LICENSE file in the root directory of this source tree.
@@ -2067,7 +2067,7 @@ const __iconNode$c = [["path", { "d": "M15 6l-6 6l6 6", "key": "svg-0" }]];
2067
2067
  const IconChevronLeft = createReactComponent("outline", "chevron-left", "ChevronLeft", __iconNode$c);
2068
2068
 
2069
2069
  /**
2070
- * @license @tabler/icons-react v3.40.0 - MIT
2070
+ * @license @tabler/icons-react v3.41.0 - MIT
2071
2071
  *
2072
2072
  * This source code is licensed under the MIT license.
2073
2073
  * See the LICENSE file in the root directory of this source tree.
@@ -2078,7 +2078,7 @@ const __iconNode$b = [["path", { "d": "M9 6l6 6l-6 6", "key": "svg-0" }]];
2078
2078
  const IconChevronRight = createReactComponent("outline", "chevron-right", "ChevronRight", __iconNode$b);
2079
2079
 
2080
2080
  /**
2081
- * @license @tabler/icons-react v3.40.0 - MIT
2081
+ * @license @tabler/icons-react v3.41.0 - MIT
2082
2082
  *
2083
2083
  * This source code is licensed under the MIT license.
2084
2084
  * See the LICENSE file in the root directory of this source tree.
@@ -2089,7 +2089,7 @@ const __iconNode$a = [["path", { "d": "M10.585 10.587a2 2 0 0 0 2.829 2.828", "k
2089
2089
  const IconEyeOff = createReactComponent("outline", "eye-off", "EyeOff", __iconNode$a);
2090
2090
 
2091
2091
  /**
2092
- * @license @tabler/icons-react v3.40.0 - MIT
2092
+ * @license @tabler/icons-react v3.41.0 - MIT
2093
2093
  *
2094
2094
  * This source code is licensed under the MIT license.
2095
2095
  * See the LICENSE file in the root directory of this source tree.
@@ -2100,7 +2100,7 @@ const __iconNode$9 = [["path", { "d": "M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0", "ke
2100
2100
  const IconEye = createReactComponent("outline", "eye", "Eye", __iconNode$9);
2101
2101
 
2102
2102
  /**
2103
- * @license @tabler/icons-react v3.40.0 - MIT
2103
+ * @license @tabler/icons-react v3.41.0 - MIT
2104
2104
  *
2105
2105
  * This source code is licensed under the MIT license.
2106
2106
  * See the LICENSE file in the root directory of this source tree.
@@ -2111,7 +2111,7 @@ const __iconNode$8 = [["path", { "d": "M12 3c-1.333 1 -2 2.5 -2 4.5c0 3 2 4.5 2
2111
2111
  const IconGalaxy = createReactComponent("outline", "galaxy", "Galaxy", __iconNode$8);
2112
2112
 
2113
2113
  /**
2114
- * @license @tabler/icons-react v3.40.0 - MIT
2114
+ * @license @tabler/icons-react v3.41.0 - MIT
2115
2115
  *
2116
2116
  * This source code is licensed under the MIT license.
2117
2117
  * See the LICENSE file in the root directory of this source tree.
@@ -2122,7 +2122,7 @@ const __iconNode$7 = [["path", { "d": "M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", "key"
2122
2122
  const IconGripVertical = createReactComponent("outline", "grip-vertical", "GripVertical", __iconNode$7);
2123
2123
 
2124
2124
  /**
2125
- * @license @tabler/icons-react v3.40.0 - MIT
2125
+ * @license @tabler/icons-react v3.41.0 - MIT
2126
2126
  *
2127
2127
  * This source code is licensed under the MIT license.
2128
2128
  * See the LICENSE file in the root directory of this source tree.
@@ -2133,7 +2133,7 @@ const __iconNode$6 = [["path", { "d": "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0", "k
2133
2133
  const IconInfoCircle = createReactComponent("outline", "info-circle", "InfoCircle", __iconNode$6);
2134
2134
 
2135
2135
  /**
2136
- * @license @tabler/icons-react v3.40.0 - MIT
2136
+ * @license @tabler/icons-react v3.41.0 - MIT
2137
2137
  *
2138
2138
  * This source code is licensed under the MIT license.
2139
2139
  * See the LICENSE file in the root directory of this source tree.
@@ -2144,7 +2144,7 @@ const __iconNode$5 = [["path", { "d": "M12 9h.01", "key": "svg-0" }], ["path", {
2144
2144
  const IconInfoSquare = createReactComponent("outline", "info-square", "InfoSquare", __iconNode$5);
2145
2145
 
2146
2146
  /**
2147
- * @license @tabler/icons-react v3.40.0 - MIT
2147
+ * @license @tabler/icons-react v3.41.0 - MIT
2148
2148
  *
2149
2149
  * This source code is licensed under the MIT license.
2150
2150
  * See the LICENSE file in the root directory of this source tree.
@@ -2155,7 +2155,7 @@ const __iconNode$4 = [["path", { "d": "M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2
2155
2155
  const IconLogout = createReactComponent("outline", "logout", "Logout", __iconNode$4);
2156
2156
 
2157
2157
  /**
2158
- * @license @tabler/icons-react v3.40.0 - MIT
2158
+ * @license @tabler/icons-react v3.41.0 - MIT
2159
2159
  *
2160
2160
  * This source code is licensed under the MIT license.
2161
2161
  * See the LICENSE file in the root directory of this source tree.
@@ -2166,7 +2166,7 @@ const __iconNode$3 = [["path", { "d": "M4 6l16 0", "key": "svg-0" }], ["path", {
2166
2166
  const IconMenu2 = createReactComponent("outline", "menu-2", "Menu2", __iconNode$3);
2167
2167
 
2168
2168
  /**
2169
- * @license @tabler/icons-react v3.40.0 - MIT
2169
+ * @license @tabler/icons-react v3.41.0 - MIT
2170
2170
  *
2171
2171
  * This source code is licensed under the MIT license.
2172
2172
  * See the LICENSE file in the root directory of this source tree.
@@ -2177,7 +2177,7 @@ const __iconNode$2 = [["path", { "d": "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0
2177
2177
  const IconMoon = createReactComponent("outline", "moon", "Moon", __iconNode$2);
2178
2178
 
2179
2179
  /**
2180
- * @license @tabler/icons-react v3.40.0 - MIT
2180
+ * @license @tabler/icons-react v3.41.0 - MIT
2181
2181
  *
2182
2182
  * This source code is licensed under the MIT license.
2183
2183
  * See the LICENSE file in the root directory of this source tree.
@@ -2188,7 +2188,7 @@ const __iconNode$1 = [["path", { "d": "M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0", "key
2188
2188
  const IconSun = createReactComponent("outline", "sun", "Sun", __iconNode$1);
2189
2189
 
2190
2190
  /**
2191
- * @license @tabler/icons-react v3.40.0 - MIT
2191
+ * @license @tabler/icons-react v3.41.0 - MIT
2192
2192
  *
2193
2193
  * This source code is licensed under the MIT license.
2194
2194
  * See the LICENSE file in the root directory of this source tree.
@@ -2767,7 +2767,6 @@ function LinksGroup({
2767
2767
  paddingLeft: theme.spacing.md,
2768
2768
  marginLeft: theme.spacing.xl,
2769
2769
  fontSize: theme.fontSizes.sm,
2770
- color: isDark ? theme.colors.dark[0] : theme.colors.gray[7],
2771
2770
  borderLeft: `1px solid ${isDark ? theme.colors.dark[4] : theme.colors.gray[3]}`,
2772
2771
  backgroundColor: hoveredLink === link.label ? isDark ? theme.colors.dark[7] : theme.colors.gray[0] : 'transparent'
2773
2772
  },
@@ -2784,21 +2783,21 @@ function LinksGroup({
2784
2783
  display: 'block',
2785
2784
  width: '100%',
2786
2785
  fontWeight: 500,
2787
- padding: `${theme.spacing.xs} ${theme.spacing.md}`,
2786
+ borderRadius: theme.spacing.xs,
2787
+ padding: `${theme.spacing.xs}`,
2788
2788
  fontSize: theme.fontSizes.sm,
2789
- color: isDark ? theme.white : theme.black,
2789
+ color: isDark ? 'white' : 'black',
2790
2790
  backgroundColor: controlHovered ? isDark ? theme.colors.dark[7] : theme.colors.gray[0] : 'transparent'
2791
2791
  },
2792
2792
  children: jsxs(Group, {
2793
2793
  justify: shellOpened ? 'space-between' : 'center',
2794
- gap: 0,
2794
+ gap: shellOpened ? 'space-between' : 'center',
2795
2795
  children: [jsxs(Box, {
2796
2796
  style: {
2797
2797
  display: 'flex',
2798
2798
  alignItems: 'center'
2799
2799
  },
2800
2800
  children: [jsx(ThemeIcon, {
2801
- variant: "light",
2802
2801
  size: 35,
2803
2802
  children: jsx(Icon, {
2804
2803
  size: 18
@@ -3771,7 +3770,7 @@ const useBreakpoints = () => {
3771
3770
 
3772
3771
  const octaveTheme = createTheme({
3773
3772
  primaryColor: 'blue',
3774
- defaultRadius: 'md',
3773
+ defaultRadius: 0,
3775
3774
  fontFamily: 'DM Sans, sans-serif'
3776
3775
  });
3777
3776
 
@@ -3798,28 +3797,31 @@ function ThemeTrigger() {
3798
3797
 
3799
3798
  const defaultBranding = {
3800
3799
  companyName: 'Octave Designs',
3801
- slogan: 'The ui system you deserve'
3800
+ slogan: 'The ui system you deserve',
3801
+ logo: jsx(IconGalaxy, {})
3802
3802
  };
3803
3803
  const OctaveBrandingContext = /*#__PURE__*/createContext(defaultBranding);
3804
3804
  function OctaveBrandingProvider({
3805
3805
  children,
3806
3806
  branding
3807
3807
  }) {
3808
- var _branding$companyName, _branding$slogan;
3808
+ var _branding$companyName, _branding$slogan, _branding$logo;
3809
3809
  return jsx(OctaveBrandingContext.Provider, {
3810
3810
  value: {
3811
3811
  companyName: (_branding$companyName = branding == null ? void 0 : branding.companyName) != null ? _branding$companyName : defaultBranding.companyName,
3812
- slogan: (_branding$slogan = branding == null ? void 0 : branding.slogan) != null ? _branding$slogan : defaultBranding.slogan
3812
+ slogan: (_branding$slogan = branding == null ? void 0 : branding.slogan) != null ? _branding$slogan : defaultBranding.slogan,
3813
+ logo: (_branding$logo = branding == null ? void 0 : branding.logo) != null ? _branding$logo : defaultBranding.logo
3813
3814
  },
3814
3815
  children: children
3815
3816
  });
3816
3817
  }
3817
3818
  function useOctaveBranding(overrides) {
3818
- var _overrides$companyNam, _overrides$slogan;
3819
+ var _overrides$companyNam, _overrides$slogan, _overrides$logo;
3819
3820
  const branding = useContext(OctaveBrandingContext);
3820
3821
  return {
3821
3822
  companyName: (_overrides$companyNam = overrides == null ? void 0 : overrides.companyName) != null ? _overrides$companyNam : branding.companyName,
3822
- slogan: (_overrides$slogan = overrides == null ? void 0 : overrides.slogan) != null ? _overrides$slogan : branding.slogan
3823
+ slogan: (_overrides$slogan = overrides == null ? void 0 : overrides.slogan) != null ? _overrides$slogan : branding.slogan,
3824
+ logo: (_overrides$logo = overrides == null ? void 0 : overrides.logo) != null ? _overrides$logo : branding.logo
3823
3825
  };
3824
3826
  }
3825
3827
 
@@ -3828,19 +3830,23 @@ function OctaveShell({
3828
3830
  props,
3829
3831
  title,
3830
3832
  subTitle,
3831
- logo,
3832
3833
  user,
3833
3834
  menu,
3834
3835
  branding
3835
3836
  }) {
3836
3837
  const [opened, {
3837
3838
  toggle
3838
- }] = useDisclosure();
3839
+ }] = useDisclosure(true);
3840
+ const theme = useMantineTheme();
3839
3841
  const {
3840
3842
  setColorScheme,
3841
3843
  colorScheme
3842
3844
  } = useMantineColorScheme();
3843
3845
  const appBranding = useOctaveBranding(branding);
3846
+ const {
3847
+ isMobile
3848
+ } = useBreakpoints();
3849
+ const optimalHeight = `calc(100vh - 60px)`;
3844
3850
  const icon = {
3845
3851
  light: jsx(IconSun, {
3846
3852
  size: 18
@@ -3849,9 +3855,6 @@ function OctaveShell({
3849
3855
  size: 18
3850
3856
  })
3851
3857
  };
3852
- const {
3853
- isMobile
3854
- } = useBreakpoints();
3855
3858
  const links = menu.map(item => (/*#__PURE__*/createElement$1(LinksGroup, Object.assign({
3856
3859
  shellOpened: opened
3857
3860
  }, item, {
@@ -3860,7 +3863,7 @@ function OctaveShell({
3860
3863
  const NavLogo = () => jsxs(Flex, {
3861
3864
  gap: "xs",
3862
3865
  align: "center",
3863
- children: [logo, (opened || isMobile) && jsxs(Stack, {
3866
+ children: [(opened && isMobile || !isMobile) && appBranding.logo, (opened || isMobile) && jsxs(Stack, {
3864
3867
  gap: 0,
3865
3868
  children: [jsx(Text, {
3866
3869
  fw: 600,
@@ -3881,8 +3884,10 @@ function OctaveShell({
3881
3884
  width: 200,
3882
3885
  children: [jsx(Menu.Target, {
3883
3886
  children: jsx(Avatar, {
3887
+ radius: theme.defaultRadius,
3884
3888
  size: "md",
3885
- radius: "sm",
3889
+ variant: "filled",
3890
+ color: "primary",
3886
3891
  name: (user == null ? void 0 : user.fullName) || 'Nigus Solomon'
3887
3892
  })
3888
3893
  }), (!opened || isMobile) && jsxs(Menu.Dropdown, {
@@ -3959,7 +3964,7 @@ function OctaveShell({
3959
3964
  },
3960
3965
  padding: props.disablePadding ? 0 : 'md',
3961
3966
  navbar: {
3962
- width: !opened ? 80 : 300,
3967
+ width: !opened ? 85 : 350,
3963
3968
  breakpoint: 'sm',
3964
3969
  collapsed: {
3965
3970
  desktop: false,
@@ -3985,13 +3990,17 @@ function OctaveShell({
3985
3990
  }), UserAcc()]
3986
3991
  })
3987
3992
  }), jsxs(AppShell.Navbar, {
3993
+ bg: colorScheme === 'dark' ? 'dark' : 'gray.0',
3994
+ p: "xs",
3995
+ withBorder: false,
3988
3996
  children: [jsx(ActionIcon, {
3989
3997
  display: !isMobile ? undefined : 'none',
3990
3998
  onClick: toggle,
3999
+ size: "sm",
3991
4000
  radius: 100,
3992
4001
  pos: "absolute",
3993
- right: -15,
3994
- top: 28,
4002
+ right: -10,
4003
+ top: 44,
3995
4004
  style: {
3996
4005
  zIndex: 10
3997
4006
  },
@@ -4005,17 +4014,17 @@ function OctaveShell({
4005
4014
  p: 0,
4006
4015
  children: jsx(Stack, {
4007
4016
  children: opened ? jsx(IconChevronLeft, {
4008
- size: 18
4017
+ size: 15
4009
4018
  }) : jsx(IconChevronRight, {
4010
- size: 18
4019
+ size: 15
4011
4020
  })
4012
4021
  })
4013
4022
  })
4014
4023
  }), jsx(AppShell.Section, {
4015
- px: "sm",
4024
+ p: "xs",
4016
4025
  children: jsx(Stack, {
4017
4026
  w: "100%",
4018
- h: 80,
4027
+ h: 65,
4019
4028
  justify: "center",
4020
4029
  align: opened ? 'flex-start' : 'center',
4021
4030
  children: jsxs(Flex, {
@@ -4031,26 +4040,31 @@ function OctaveShell({
4031
4040
  })
4032
4041
  })
4033
4042
  }), jsx(Divider, {}), jsx(AppShell.Section, {
4043
+ pt: "xs",
4034
4044
  grow: true,
4035
4045
  children: jsx(ScrollArea, {
4036
4046
  type: "never",
4037
- h: `calc(100vh - 160px ${isMobile ? ' - 80px' : ''})`,
4047
+ h: `calc(${optimalHeight} - 120px)`,
4038
4048
  children: links
4039
4049
  })
4040
4050
  }), jsx(Divider, {}), jsx(AppShell.Section, {
4041
- px: "sm",
4042
- h: 80,
4051
+ h: 60,
4043
4052
  w: "100%",
4053
+ px: "xs",
4044
4054
  children: jsx(Stack, {
4045
4055
  w: "100%",
4046
- h: 80,
4056
+ h: 60,
4047
4057
  justify: "center",
4048
4058
  align: opened ? 'flex-start' : 'center',
4049
4059
  children: UserAcc()
4050
4060
  })
4051
4061
  })]
4052
4062
  }), jsx(AppShell.Main, {
4053
- children: children
4063
+ children: jsx(ScrollArea, {
4064
+ type: "never",
4065
+ h: "97vh",
4066
+ children: children
4067
+ })
4054
4068
  })]
4055
4069
  });
4056
4070
  }
@@ -4209,94 +4223,66 @@ function OctaveStatusBadge(props) {
4209
4223
  }));
4210
4224
  }
4211
4225
 
4212
- function OctaveBanner(props) {
4213
- var _cardProps$bg, _cardProps$bg2;
4214
- const {
4215
- cardProps,
4216
- dividerProps,
4217
- stackedTextProps,
4218
- flexProps,
4219
- icon: Icon,
4220
- iconProps,
4221
- actions
4222
- } = props;
4223
- return jsx(Card, Object.assign({}, cardProps, {
4224
- children: jsxs(Flex, {
4225
- justify: "space-between",
4226
- align: "center",
4227
- wrap: "wrap",
4228
- gap: "md",
4229
- children: [jsxs(Flex, Object.assign({
4230
- gap: "xs",
4231
- align: "center"
4232
- }, flexProps, {
4233
- children: [jsx(Icon, Object.assign({
4234
- size: 30,
4235
- stroke: 1,
4236
- color: (cardProps == null || (_cardProps$bg = cardProps.bg) == null ? void 0 : _cardProps$bg.split('.')[0]) || undefined
4237
- }, iconProps)), jsx(Divider, Object.assign({
4238
- color: (cardProps == null || (_cardProps$bg2 = cardProps.bg) == null ? void 0 : _cardProps$bg2.split('.')[0]) || 'gray',
4239
- orientation: "vertical"
4240
- }, dividerProps)), jsx(OctaveStackedText, Object.assign({}, stackedTextProps))]
4241
- })), actions]
4242
- })
4243
- }));
4244
- }
4245
-
4246
4226
  function OctaveStatCard(props) {
4247
- var _props$colorMap, _props$colorMap2;
4248
- const {
4249
- colorScheme
4250
- } = useMantineColorScheme();
4227
+ const colorMap = props.colorMap || {
4228
+ up: 'green',
4229
+ down: 'red',
4230
+ neutral: 'primary'
4231
+ };
4251
4232
  const {
4252
4233
  titleProps,
4253
4234
  descriptionProps,
4254
4235
  valueProps
4255
4236
  } = props;
4256
4237
  const Icon = props.icon;
4257
- return jsx(Card, {
4238
+ return jsx(Card, Object.assign({}, props.cardProps, {
4239
+ p: "xl",
4258
4240
  withBorder: true,
4259
- bg: `${props.color || 'white'}.0`,
4260
4241
  children: jsxs(Stack, {
4261
4242
  children: [jsxs(Flex, {
4262
4243
  justify: "space-between",
4263
- children: [Icon && jsx(Icon, {
4264
- color: colorScheme === 'dark' ? props.color : 'black',
4265
- size: 50
4244
+ children: [jsx(ThemeIcon, {
4245
+ size: "xl",
4246
+ children: Icon && jsx(Icon, {
4247
+ size: 25
4248
+ })
4266
4249
  }), jsxs(Flex, {
4267
4250
  align: "center",
4268
4251
  gap: "xs",
4269
- children: [props.direction && props.direction !== 'neutral' && (props.direction === 'up' ? jsx(IconArrowUp, {
4270
- size: 20,
4271
- color: ((_props$colorMap = props.colorMap) == null ? void 0 : _props$colorMap.up) || 'green'
4272
- }) : props.direction === 'down' ? jsx(IconArrowDown, {
4273
- size: 20,
4274
- color: ((_props$colorMap2 = props.colorMap) == null ? void 0 : _props$colorMap2.down) || 'red'
4275
- }) : jsx(IconArrowDown, {
4276
- size: 20,
4277
- color: "red"
4278
- })), jsx(Title, Object.assign({
4279
- c: colorScheme === 'dark' ? props.color : 'black'
4280
- }, valueProps, {
4252
+ children: [props.direction && props.direction !== 'neutral' && jsx(ThemeIcon, {
4253
+ size: "xs",
4254
+ color: colorMap == null ? void 0 : colorMap[props.direction],
4255
+ children: props.direction === 'up' ? jsx(IconArrowUp, {
4256
+ size: 12
4257
+ }) : props.direction === 'down' ? jsx(IconArrowDown, {
4258
+ size: 12
4259
+ }) : jsx(IconArrowDown, {
4260
+ size: 20,
4261
+ color: (colorMap == null ? void 0 : colorMap.neutral) || 'primary'
4262
+ })
4263
+ }), jsx(Title, Object.assign({}, valueProps, {
4281
4264
  children: props.isValuePercent ? `${floatToPercent(props.value)}` : props.value
4282
4265
  }))]
4283
4266
  })]
4284
4267
  }), jsxs(Stack, {
4285
- gap: "xs",
4268
+ gap: 0,
4269
+ mt: "xl",
4286
4270
  children: [jsx(Text, Object.assign({
4287
- c: colorScheme === 'dark' ? props.color : 'black',
4288
4271
  fw: 900
4289
4272
  }, titleProps, {
4273
+ size: "xl",
4290
4274
  children: props.title
4291
4275
  })), jsx(Text, Object.assign({
4292
- c: colorScheme === 'dark' ? 'black' : 'dimmed',
4293
4276
  size: "xs"
4294
4277
  }, descriptionProps, {
4278
+ c: "dimmed",
4279
+ truncate: "end",
4280
+ lineClamp: 1,
4295
4281
  children: props.description
4296
4282
  }))]
4297
4283
  })]
4298
4284
  })
4299
- });
4285
+ }));
4300
4286
  }
4301
4287
 
4302
4288
  var $$3 = _export;
@@ -4630,6 +4616,7 @@ function LoadingTable() {
4630
4616
  children: [jsx(Loader, {
4631
4617
  type: "bars"
4632
4618
  }), jsx(Text, {
4619
+ size: "xs",
4633
4620
  c: "dimmed",
4634
4621
  children: "Table is loading."
4635
4622
  })]
@@ -4657,9 +4644,10 @@ function SortableHeader({
4657
4644
  transition
4658
4645
  };
4659
4646
  return jsx(Table.Th, Object.assign({
4647
+ py: "sm",
4660
4648
  ref: setNodeRef
4661
4649
  }, attributes, {
4662
- style: style,
4650
+ style: Object.assign({}, style),
4663
4651
  children: jsxs(Flex, {
4664
4652
  gap: "md",
4665
4653
  justify: "space-between",
@@ -4675,9 +4663,10 @@ function SortableHeader({
4675
4663
  size: 14
4676
4664
  })
4677
4665
  })), jsx(Text, Object.assign({
4678
- c: colorScheme === 'dark' ? 'dark' : 'white',
4679
- fw: 700
4666
+ fw: 500,
4667
+ size: "sm"
4680
4668
  }, col.labelProps, {
4669
+ c: colorScheme === 'dark' ? 'white' : 'black',
4681
4670
  children: col.label
4682
4671
  }))]
4683
4672
  }), jsxs(Flex, {
@@ -4742,9 +4731,7 @@ function OctaveTable({
4742
4731
  children: jsx(Table, {
4743
4732
  variant: "vertical",
4744
4733
  layout: "fixed",
4745
- verticalSpacing: "md",
4746
4734
  horizontalSpacing: "md",
4747
- withColumnBorders: true,
4748
4735
  withRowBorders: true,
4749
4736
  children: jsx(Table.Tbody, {
4750
4737
  children: visibleColumns == null ? void 0 : visibleColumns.map(col => jsxs(Table.Tr, {
@@ -4769,9 +4756,9 @@ function OctaveTable({
4769
4756
  children: [jsxs(Flex, {
4770
4757
  align: "center",
4771
4758
  justify: "space-between",
4772
- children: [jsx(Box, {
4759
+ children: [jsx("div", {
4773
4760
  children: leftSection
4774
- }), jsx(MultiSelect, {
4761
+ }), hiddenColumns.length > 0 && jsx(MultiSelect, {
4775
4762
  miw: 200,
4776
4763
  label: "Hidden columns",
4777
4764
  data: columns.map(col => ({
@@ -4801,9 +4788,8 @@ function OctaveTable({
4801
4788
  }
4802
4789
  },
4803
4790
  children: jsxs(Table, {
4804
- verticalSpacing: "md",
4791
+ verticalSpacing: "xs",
4805
4792
  horizontalSpacing: "md",
4806
- withColumnBorders: true,
4807
4793
  withRowBorders: true,
4808
4794
  children: [jsx(Table.Thead, {
4809
4795
  children: jsx(SortableContext, {
@@ -4930,13 +4916,7 @@ function OctaveAuthWrapper(props) {
4930
4916
  children: jsxs(Flex, {
4931
4917
  align: "center",
4932
4918
  gap: "xs",
4933
- children: [jsx(ThemeIcon, {
4934
- variant: "default",
4935
- size: 50,
4936
- children: jsx(IconGalaxy, {
4937
- size: 30
4938
- })
4939
- }), jsx(Divider, {
4919
+ children: [branding.logo, jsx(Divider, {
4940
4920
  orientation: "vertical"
4941
4921
  }), jsx(OctaveStackedText, {
4942
4922
  title: branding.companyName,
@@ -5121,7 +5101,7 @@ function UIProvider({
5121
5101
  }) {
5122
5102
  return jsx(MantineProvider, {
5123
5103
  defaultColorScheme: "light",
5124
- theme: theme != null ? theme : octaveTheme,
5104
+ theme: theme != null ? theme : Object.assign({}, octaveTheme),
5125
5105
  children: jsxs(OctaveBrandingProvider, {
5126
5106
  branding: branding,
5127
5107
  children: [jsx(Notifications, {}), children]
@@ -5132,4 +5112,4 @@ function OctaveProvider(props) {
5132
5112
  return jsx(UIProvider, Object.assign({}, props));
5133
5113
  }
5134
5114
 
5135
- export { OctaveAuthForm, OctaveAuthWrapper, OctaveBadge, OctaveBanner, OctaveBrandingProvider, OctaveButton, OctaveCheckboxInput, OctaveFormBuilder, OctaveNumberInput, OctaveProvider, OctaveRadioInput, OctaveSecureInput, OctaveSelectInput, OctaveShell, OctaveStackedText, OctaveStatCard, OctaveStatusBadge, OctaveTable, OctaveTextInput, ThemeTrigger, TitleCaseToUnderscore, UIProvider, UnderscoreToTitleCase, clearTokens, error, floatToPercent, formatDate, formatETB, getAccessToken, getRefreshToken, info, octaveTheme, percentToFloat, setTokens, success, useBreakpoints, useOctaveBranding, warning };
5115
+ export { OctaveAuthForm, OctaveAuthWrapper, OctaveBadge, OctaveBrandingProvider, OctaveButton, OctaveCheckboxInput, OctaveFormBuilder, OctaveNumberInput, OctaveProvider, OctaveRadioInput, OctaveSecureInput, OctaveSelectInput, OctaveShell, OctaveStackedText, OctaveStatCard, OctaveStatusBadge, OctaveTable, OctaveTextInput, ThemeTrigger, TitleCaseToUnderscore, UIProvider, UnderscoreToTitleCase, clearTokens, error, floatToPercent, formatDate, formatETB, getAccessToken, getRefreshToken, info, octaveTheme, percentToFloat, setTokens, success, useBreakpoints, useOctaveBranding, warning };
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/wrapper.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAqD9D"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/wrapper.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAoD9D"}
@@ -2,6 +2,7 @@ import { PropsWithChildren } from 'react';
2
2
  export interface OctaveBranding {
3
3
  companyName?: string;
4
4
  slogan?: string;
5
+ logo?: React.ReactNode;
5
6
  }
6
7
  export declare function OctaveBrandingProvider({ children, branding, }: PropsWithChildren<{
7
8
  branding?: OctaveBranding;
@@ -9,5 +10,6 @@ export declare function OctaveBrandingProvider({ children, branding, }: PropsWit
9
10
  export declare function useOctaveBranding(overrides?: OctaveBranding): {
10
11
  companyName: string;
11
12
  slogan: string;
13
+ logo: string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
12
14
  };
13
15
  //# sourceMappingURL=branding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../../src/lib/branding.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAElB,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,2CAWlD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,cAAc;;;EAO3D"}
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../../../src/lib/branding.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAWD,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC,2CAYlD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,cAAc;;;;EAQ3D"}
@@ -1,5 +1,4 @@
1
1
  export * from './badge';
2
- export * from './banner';
3
2
  export * from './stat-card';
4
3
  export * from './table';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { TextProps, TitleProps } from '@mantine/core';
1
+ import { CardProps, TextProps, TitleProps } from '@mantine/core';
2
2
  import { IconProps } from '@tabler/icons-react';
3
3
  type OctaveStatCardDirection = 'up' | 'down' | 'neutral';
4
4
  interface OctaveStatCardProps {
@@ -7,12 +7,13 @@ interface OctaveStatCardProps {
7
7
  value: number;
8
8
  isValuePercent?: boolean;
9
9
  direction?: OctaveStatCardDirection;
10
- color: string;
10
+ color?: string;
11
11
  icon: React.FC<IconProps>;
12
12
  colorMap?: Record<OctaveStatCardDirection, string>;
13
13
  titleProps?: TextProps;
14
14
  descriptionProps?: TextProps;
15
15
  valueProps?: TitleProps;
16
+ cardProps?: CardProps;
16
17
  }
17
18
  export declare function OctaveStatCard(props: OctaveStatCardProps): import("react/jsx-runtime").JSX.Element;
18
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EAET,UAAU,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,EAA8B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5E,KAAK,uBAAuB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAyDxD"}
1
+ {"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAIT,SAAS,EAGT,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAA8B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG5E,KAAK,uBAAuB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAsDxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAUL,eAAe,EAIf,SAAS,EAEV,MAAM,eAAe,CAAC;AA2BvB,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;CACjB;AAqFD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAC7B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,UAAU,EACV,WAAW,GACZ,EAAE,gBAAgB,CAAC,CAAC,CAAC,uFA2KrB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,eAAe,EAIf,SAAS,EAEV,MAAM,eAAe,CAAC;AA2BvB,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,eAAe,CAAC;KACzB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;CACjB;AAwFD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAC7B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,KAAK,EACL,UAAU,EACV,WAAW,GACZ,EAAE,gBAAgB,CAAC,CAAC,CAAC,uFAsKrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"nav-links.d.ts","sourceRoot":"","sources":["../../../../src/lib/layout/nav-links.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAYlE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EAAE,IAAI,EACV,KAAK,EACL,IAAI,EACJ,eAAe,EACf,KAAK,EACL,WAAW,GACZ,EAAE,eAAe,2CAmFjB"}
1
+ {"version":3,"file":"nav-links.d.ts","sourceRoot":"","sources":["../../../../src/lib/layout/nav-links.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAYlE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EAAE,IAAI,EACV,KAAK,EACL,IAAI,EACJ,eAAe,EACf,KAAK,EACL,WAAW,GACZ,EAAE,eAAe,2CAsFjB"}
@@ -9,12 +9,11 @@ export type OctaveShellProps = {
9
9
  hasBack?: boolean;
10
10
  };
11
11
  export type OctavePageProps<P = Record<string, unknown>, IP = P> = NextPage<P, IP> & OctaveShellProps;
12
- export declare function OctaveShell({ children, props, title, subTitle, logo, user, menu, branding, }: {
12
+ export declare function OctaveShell({ children, props, title, subTitle, user, menu, branding, }: {
13
13
  children: React.ReactNode;
14
14
  props: OctaveShellProps;
15
15
  title?: string;
16
16
  subTitle?: string;
17
- logo?: React.ReactNode;
18
17
  menu: LinksGroupProps[];
19
18
  branding?: OctaveBranding;
20
19
  user?: {
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/lib/layout/shell.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ,CACzE,CAAC,EACD,EAAE,CACH,GACC,gBAAgB,CAAC;AAEnB,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH,2CAkMA"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/lib/layout/shell.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ,CACzE,CAAC,EACD,EAAE,CACH,GACC,gBAAgB,CAAC;AAEnB,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH,2CA4MA"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/lib/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,cAAc,EAA0B,MAAM,YAAY,CAAC;AACpE,OAAO,0BAA0B,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAE3C,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CASxE;AAED,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAExD"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/lib/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAE,cAAc,EAA0B,MAAM,YAAY,CAAC;AACpE,OAAO,0BAA0B,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAE3C,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAYxE;AAED,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAElD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAExD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octave-org/ui",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.esm.js",
6
6
  "module": "./dist/index.esm.js",
@@ -1,15 +0,0 @@
1
- import { CardProps, DividerProps, FlexProps } from '@mantine/core';
2
- import { OctaveStackedTextProps } from '../text';
3
- import { IconProps } from '@tabler/icons-react';
4
- interface OctaveBannerProps {
5
- cardProps?: CardProps;
6
- dividerProps?: DividerProps;
7
- stackedTextProps: OctaveStackedTextProps;
8
- flexProps?: FlexProps;
9
- icon: React.FC<IconProps>;
10
- iconProps?: IconProps;
11
- actions?: React.ReactNode;
12
- }
13
- export declare function OctaveBanner(props: OctaveBannerProps): import("react/jsx-runtime").JSX.Element;
14
- export {};
15
- //# sourceMappingURL=banner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../../src/lib/data-display/banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,YAAY,EAEZ,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgCpD"}