@octave-org/ui 0.0.2 → 0.0.4
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 +94 -3
- package/dist/index.esm.js +51 -16
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/lib/blocks/auth/authFormBuilder.d.ts +2 -0
- package/dist/src/lib/blocks/auth/authFormBuilder.d.ts.map +1 -1
- package/dist/src/lib/blocks/auth/index.d.ts +1 -0
- package/dist/src/lib/blocks/auth/index.d.ts.map +1 -1
- package/dist/src/lib/blocks/auth/wrapper.d.ts +2 -0
- package/dist/src/lib/blocks/auth/wrapper.d.ts.map +1 -1
- package/dist/src/lib/branding.d.ts +15 -0
- package/dist/src/lib/branding.d.ts.map +1 -0
- package/dist/src/lib/layout/nav-links.d.ts.map +1 -1
- package/dist/src/lib/layout/shell.d.ts +5 -3
- package/dist/src/lib/layout/shell.d.ts.map +1 -1
- package/dist/src/lib/provider.d.ts +3 -1
- package/dist/src/lib/provider.d.ts.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,7 +1,98 @@
|
|
|
1
1
|
# @octave-org/ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A UI component library built on top of [Mantine](https://mantine.dev), designed for use with Next.js projects.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **Note:** This package is currently only stable on the **Next.js Pages Router**. App Router support is not guaranteed.
|
|
6
6
|
|
|
7
|
-
|
|
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:
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
// pages/_app.tsx
|
|
50
|
+
import type { AppProps } from 'next/app';
|
|
51
|
+
import { OctaveProvider } from '@octave-org/ui';
|
|
52
|
+
|
|
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
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
You can also render the button as a link:
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
<OctaveButton
|
|
90
|
+
btnProps={{
|
|
91
|
+
label: 'Go to Dashboard',
|
|
92
|
+
link: '/dashboard',
|
|
93
|
+
context: 'success',
|
|
94
|
+
}}
|
|
95
|
+
/>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
package/dist/index.esm.js
CHANGED
|
@@ -8,7 +8,7 @@ import { notifications as notifications$1, Notifications } from '@mantine/notifi
|
|
|
8
8
|
export * from '@mantine/notifications';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
import Link from 'next/link';
|
|
11
|
-
import { forwardRef, createElement as createElement$1, useState, useMemo } from 'react';
|
|
11
|
+
import { forwardRef, createElement as createElement$1, useState, useContext, createContext, useMemo } from 'react';
|
|
12
12
|
import { useSensors, useSensor, PointerSensor, DndContext, closestCenter } from '@dnd-kit/core';
|
|
13
13
|
import { SortableContext, horizontalListSortingStrategy, arrayMove, useSortable } from '@dnd-kit/sortable';
|
|
14
14
|
import { CSS } from '@dnd-kit/utilities';
|
|
@@ -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
|
},
|
|
@@ -2786,7 +2785,6 @@ function LinksGroup({
|
|
|
2786
2785
|
fontWeight: 500,
|
|
2787
2786
|
padding: `${theme.spacing.xs} ${theme.spacing.md}`,
|
|
2788
2787
|
fontSize: theme.fontSizes.sm,
|
|
2789
|
-
color: isDark ? theme.white : theme.black,
|
|
2790
2788
|
backgroundColor: controlHovered ? isDark ? theme.colors.dark[7] : theme.colors.gray[0] : 'transparent'
|
|
2791
2789
|
},
|
|
2792
2790
|
children: jsxs(Group, {
|
|
@@ -3796,6 +3794,36 @@ function ThemeTrigger() {
|
|
|
3796
3794
|
});
|
|
3797
3795
|
}
|
|
3798
3796
|
|
|
3797
|
+
const defaultBranding = {
|
|
3798
|
+
companyName: 'Octave Designs',
|
|
3799
|
+
slogan: 'The ui system you deserve',
|
|
3800
|
+
logo: jsx(IconGalaxy, {})
|
|
3801
|
+
};
|
|
3802
|
+
const OctaveBrandingContext = /*#__PURE__*/createContext(defaultBranding);
|
|
3803
|
+
function OctaveBrandingProvider({
|
|
3804
|
+
children,
|
|
3805
|
+
branding
|
|
3806
|
+
}) {
|
|
3807
|
+
var _branding$companyName, _branding$slogan, _branding$logo;
|
|
3808
|
+
return jsx(OctaveBrandingContext.Provider, {
|
|
3809
|
+
value: {
|
|
3810
|
+
companyName: (_branding$companyName = branding == null ? void 0 : branding.companyName) != null ? _branding$companyName : defaultBranding.companyName,
|
|
3811
|
+
slogan: (_branding$slogan = branding == null ? void 0 : branding.slogan) != null ? _branding$slogan : defaultBranding.slogan,
|
|
3812
|
+
logo: (_branding$logo = branding == null ? void 0 : branding.logo) != null ? _branding$logo : defaultBranding.logo
|
|
3813
|
+
},
|
|
3814
|
+
children: children
|
|
3815
|
+
});
|
|
3816
|
+
}
|
|
3817
|
+
function useOctaveBranding(overrides) {
|
|
3818
|
+
var _overrides$companyNam, _overrides$slogan, _overrides$logo;
|
|
3819
|
+
const branding = useContext(OctaveBrandingContext);
|
|
3820
|
+
return {
|
|
3821
|
+
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
|
+
logo: (_overrides$logo = overrides == null ? void 0 : overrides.logo) != null ? _overrides$logo : branding.logo
|
|
3824
|
+
};
|
|
3825
|
+
}
|
|
3826
|
+
|
|
3799
3827
|
function OctaveShell({
|
|
3800
3828
|
children,
|
|
3801
3829
|
props,
|
|
@@ -3803,7 +3831,8 @@ function OctaveShell({
|
|
|
3803
3831
|
subTitle,
|
|
3804
3832
|
logo,
|
|
3805
3833
|
user,
|
|
3806
|
-
menu
|
|
3834
|
+
menu,
|
|
3835
|
+
branding
|
|
3807
3836
|
}) {
|
|
3808
3837
|
const [opened, {
|
|
3809
3838
|
toggle
|
|
@@ -3812,6 +3841,7 @@ function OctaveShell({
|
|
|
3812
3841
|
setColorScheme,
|
|
3813
3842
|
colorScheme
|
|
3814
3843
|
} = useMantineColorScheme();
|
|
3844
|
+
const appBranding = useOctaveBranding(branding);
|
|
3815
3845
|
const icon = {
|
|
3816
3846
|
light: jsx(IconSun, {
|
|
3817
3847
|
size: 18
|
|
@@ -3831,15 +3861,15 @@ function OctaveShell({
|
|
|
3831
3861
|
const NavLogo = () => jsxs(Flex, {
|
|
3832
3862
|
gap: "xs",
|
|
3833
3863
|
align: "center",
|
|
3834
|
-
children: [logo, (opened || isMobile) && jsxs(Stack, {
|
|
3864
|
+
children: [appBranding.logo, (opened || isMobile) && jsxs(Stack, {
|
|
3835
3865
|
gap: 0,
|
|
3836
3866
|
children: [jsx(Text, {
|
|
3837
3867
|
fw: 600,
|
|
3838
|
-
children: title
|
|
3868
|
+
children: title != null ? title : appBranding.companyName
|
|
3839
3869
|
}), jsx(Text, {
|
|
3840
3870
|
size: "xs",
|
|
3841
3871
|
c: "dimmed",
|
|
3842
|
-
children: subTitle
|
|
3872
|
+
children: subTitle != null ? subTitle : appBranding.slogan
|
|
3843
3873
|
})]
|
|
3844
3874
|
})]
|
|
3845
3875
|
});
|
|
@@ -4112,6 +4142,7 @@ function OctaveStackedText({
|
|
|
4112
4142
|
descProps
|
|
4113
4143
|
}) {
|
|
4114
4144
|
return jsxs(Stack, {
|
|
4145
|
+
justify: "center",
|
|
4115
4146
|
gap: 0,
|
|
4116
4147
|
children: [jsx(Text, Object.assign({
|
|
4117
4148
|
size: "xl",
|
|
@@ -4834,6 +4865,7 @@ function OctaveAuthWrapper(props) {
|
|
|
4834
4865
|
const {
|
|
4835
4866
|
colorScheme
|
|
4836
4867
|
} = useMantineColorScheme();
|
|
4868
|
+
const branding = useOctaveBranding(props.branding);
|
|
4837
4869
|
return jsxs(SimpleGrid, {
|
|
4838
4870
|
p: "md",
|
|
4839
4871
|
cols: {
|
|
@@ -4902,14 +4934,12 @@ function OctaveAuthWrapper(props) {
|
|
|
4902
4934
|
children: [jsx(ThemeIcon, {
|
|
4903
4935
|
variant: "default",
|
|
4904
4936
|
size: 50,
|
|
4905
|
-
children:
|
|
4906
|
-
size: 30
|
|
4907
|
-
})
|
|
4937
|
+
children: branding.logo
|
|
4908
4938
|
}), jsx(Divider, {
|
|
4909
4939
|
orientation: "vertical"
|
|
4910
4940
|
}), jsx(OctaveStackedText, {
|
|
4911
|
-
title:
|
|
4912
|
-
description:
|
|
4941
|
+
title: branding.companyName,
|
|
4942
|
+
description: branding.slogan,
|
|
4913
4943
|
titleProps: {
|
|
4914
4944
|
c: colorScheme === 'light' ? 'white' : 'black'
|
|
4915
4945
|
},
|
|
@@ -4993,6 +5023,7 @@ function OctaveAuthForm({
|
|
|
4993
5023
|
validate
|
|
4994
5024
|
});
|
|
4995
5025
|
return jsx(OctaveAuthWrapper, {
|
|
5026
|
+
branding: config.branding,
|
|
4996
5027
|
children: jsx(Center, {
|
|
4997
5028
|
w: "100%",
|
|
4998
5029
|
h: "100%",
|
|
@@ -5084,16 +5115,20 @@ function OctaveAuthForm({
|
|
|
5084
5115
|
|
|
5085
5116
|
function UIProvider({
|
|
5086
5117
|
children,
|
|
5087
|
-
theme
|
|
5118
|
+
theme,
|
|
5119
|
+
branding
|
|
5088
5120
|
}) {
|
|
5089
|
-
return
|
|
5121
|
+
return jsx(MantineProvider, {
|
|
5090
5122
|
defaultColorScheme: "light",
|
|
5091
5123
|
theme: theme != null ? theme : octaveTheme,
|
|
5092
|
-
children:
|
|
5124
|
+
children: jsxs(OctaveBrandingProvider, {
|
|
5125
|
+
branding: branding,
|
|
5126
|
+
children: [jsx(Notifications, {}), children]
|
|
5127
|
+
})
|
|
5093
5128
|
});
|
|
5094
5129
|
}
|
|
5095
5130
|
function OctaveProvider(props) {
|
|
5096
5131
|
return jsx(UIProvider, Object.assign({}, props));
|
|
5097
5132
|
}
|
|
5098
5133
|
|
|
5099
|
-
export { OctaveAuthForm, OctaveBadge, OctaveBanner, 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, warning };
|
|
5134
|
+
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 };
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FormValidateInput } from '@mantine/form';
|
|
2
2
|
import { FormFieldConfig } from '../../input-components/formBuilder';
|
|
3
3
|
import { OctaveButtonContext } from '../../input-components';
|
|
4
|
+
import { OctaveBranding } from '../../branding';
|
|
4
5
|
export interface AuthFormRow<T extends object> {
|
|
5
6
|
columns: FormFieldConfig<T>[][];
|
|
6
7
|
}
|
|
@@ -8,6 +9,7 @@ export interface AuthFormConfig<T extends object> {
|
|
|
8
9
|
title: string;
|
|
9
10
|
description: string;
|
|
10
11
|
icon?: React.ReactNode;
|
|
12
|
+
branding?: OctaveBranding;
|
|
11
13
|
rows?: AuthFormRow<T>[];
|
|
12
14
|
fields?: FormFieldConfig<T>[];
|
|
13
15
|
pinFieldName?: keyof T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authFormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/authFormBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"authFormBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/authFormBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAgB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9B,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/C,CAAC;IAEF,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC3C,OAAO,CAAC,EAAE,mBAAmB,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM;IACtC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;CACjC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,EAC/C,MAAM,EACN,aAAa,EACb,QAAQ,GACT,EAAE,aAAa,CAAC,CAAC,CAAC,2CAiGlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { OctaveBranding } from '../../branding';
|
|
1
2
|
export interface OctaveAuthWrapperProps {
|
|
2
3
|
children: React.ReactNode;
|
|
3
4
|
flip?: boolean;
|
|
5
|
+
branding?: OctaveBranding;
|
|
4
6
|
}
|
|
5
7
|
export declare function OctaveAuthWrapper(props: OctaveAuthWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
//# sourceMappingURL=wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/wrapper.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/lib/blocks/auth/wrapper.tsx"],"names":[],"mappings":"AAWA,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export interface OctaveBranding {
|
|
3
|
+
companyName?: string;
|
|
4
|
+
slogan?: string;
|
|
5
|
+
logo?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function OctaveBrandingProvider({ children, branding, }: PropsWithChildren<{
|
|
8
|
+
branding?: OctaveBranding;
|
|
9
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function useOctaveBranding(overrides?: OctaveBranding): {
|
|
11
|
+
companyName: string;
|
|
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;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=branding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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 +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,
|
|
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,2CAiFjB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NextPage } from 'next/dist/types';
|
|
2
2
|
import { LinksGroupProps } from './nav-links';
|
|
3
|
+
import { OctaveBranding } from '../branding';
|
|
3
4
|
export type OctaveShellProps = {
|
|
4
5
|
disablePadding?: boolean;
|
|
5
6
|
disabled?: boolean;
|
|
@@ -8,13 +9,14 @@ export type OctaveShellProps = {
|
|
|
8
9
|
hasBack?: boolean;
|
|
9
10
|
};
|
|
10
11
|
export type OctavePageProps<P = Record<string, unknown>, IP = P> = NextPage<P, IP> & OctaveShellProps;
|
|
11
|
-
export declare function OctaveShell({ children, props, title, subTitle, logo, user, menu, }: {
|
|
12
|
+
export declare function OctaveShell({ children, props, title, subTitle, logo, user, menu, branding, }: {
|
|
12
13
|
children: React.ReactNode;
|
|
13
14
|
props: OctaveShellProps;
|
|
14
|
-
title
|
|
15
|
-
subTitle
|
|
15
|
+
title?: string;
|
|
16
|
+
subTitle?: string;
|
|
16
17
|
logo?: React.ReactNode;
|
|
17
18
|
menu: LinksGroupProps[];
|
|
19
|
+
branding?: OctaveBranding;
|
|
18
20
|
user?: {
|
|
19
21
|
fullName: string;
|
|
20
22
|
contact: string;
|
|
@@ -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;
|
|
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,11 +1,13 @@
|
|
|
1
1
|
import { MantineThemeOverride } from '@mantine/core';
|
|
2
2
|
import type { PropsWithChildren } from 'react';
|
|
3
|
+
import { OctaveBranding } from './branding';
|
|
3
4
|
import '@mantine/core/styles.css';
|
|
4
5
|
import '@mantine/notifications/styles.css';
|
|
5
6
|
export interface UIProviderProps extends PropsWithChildren {
|
|
6
7
|
theme?: MantineThemeOverride;
|
|
8
|
+
branding?: OctaveBranding;
|
|
7
9
|
}
|
|
8
|
-
export declare function UIProvider({ children, theme }: UIProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function UIProvider({ children, theme, branding }: UIProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export type OctaveProviderProps = UIProviderProps;
|
|
10
12
|
export declare function OctaveProvider(props: OctaveProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -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,0BAA0B,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAE3C,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,KAAK,CAAC,EAAE,oBAAoB,CAAC;
|
|
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"}
|
package/package.json
CHANGED