@flux-ui/dashboard 3.0.0-next.7 → 3.0.0-next.70

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 (44) hide show
  1. package/README.md +26 -35
  2. package/dist/component/FluxDashboard.vue.d.ts +11 -23
  3. package/dist/component/FluxDashboardContent.vue.d.ts +8 -12
  4. package/dist/component/FluxDashboardHeader.vue.d.ts +10 -13
  5. package/dist/component/FluxDashboardMenu.vue.d.ts +13 -15
  6. package/dist/component/FluxDashboardNavigation.vue.d.ts +8 -16
  7. package/dist/component/FluxDashboardSide.vue.d.ts +12 -14
  8. package/dist/component/FluxDashboardTopBar.vue.d.ts +8 -12
  9. package/dist/component/index.d.ts +0 -1
  10. package/dist/composable/index.d.ts +0 -1
  11. package/dist/composable/useDashboardInjection.d.ts +0 -1
  12. package/dist/data/index.d.ts +0 -1
  13. package/dist/index.css +427 -1
  14. package/dist/index.d.ts +0 -1
  15. package/dist/index.js +3894 -219
  16. package/dist/index.js.map +1 -1
  17. package/dist/types.d.ts +13 -0
  18. package/package.json +19 -17
  19. package/src/component/FluxDashboard.vue +4 -4
  20. package/src/component/FluxDashboardContent.vue +2 -2
  21. package/src/component/FluxDashboardHeader.vue +1 -1
  22. package/src/component/FluxDashboardMenu.vue +6 -4
  23. package/src/component/FluxDashboardNavigation.vue +2 -2
  24. package/src/component/FluxDashboardSide.vue +1 -1
  25. package/src/component/FluxDashboardTopBar.vue +2 -2
  26. package/src/composable/useDashboardInjection.ts +1 -1
  27. package/src/css/component/Dashboard.module.scss +5 -4
  28. package/src/css/component/DashboardContent.module.scss +9 -9
  29. package/src/css/component/DashboardNavigation.module.scss +13 -11
  30. package/src/css/component/DashboardPane.module.scss +7 -7
  31. package/src/css/component/DashboardTopBar.module.scss +7 -7
  32. package/dist/component/FluxDashboard.vue.d.ts.map +0 -1
  33. package/dist/component/FluxDashboardContent.vue.d.ts.map +0 -1
  34. package/dist/component/FluxDashboardHeader.vue.d.ts.map +0 -1
  35. package/dist/component/FluxDashboardMenu.vue.d.ts.map +0 -1
  36. package/dist/component/FluxDashboardNavigation.vue.d.ts.map +0 -1
  37. package/dist/component/FluxDashboardSide.vue.d.ts.map +0 -1
  38. package/dist/component/FluxDashboardTopBar.vue.d.ts.map +0 -1
  39. package/dist/component/index.d.ts.map +0 -1
  40. package/dist/composable/index.d.ts.map +0 -1
  41. package/dist/composable/useDashboardInjection.d.ts.map +0 -1
  42. package/dist/data/index.d.ts.map +0 -1
  43. package/dist/index.d.ts.map +0 -1
  44. package/tsconfig.json +0 -45
package/README.md CHANGED
@@ -1,45 +1,36 @@
1
- # Flux
1
+ # `@flux-ui/dashboard`
2
2
 
3
- This repository contains the source code for the basic components that are used throughout our front-end projects. It
4
- targets Vue 3+. Please read the following instructions and checks in order to proceed.
3
+ Layout components for building dashboards with [Flux UI](https://flux-ui.dev).
5
4
 
6
- ## 📦 Registry
5
+ ## Highlights
7
6
 
8
- - The UI library package is available under `@flux-ui/components`.
9
- - The Dashboard library package is available under `@flux-ui/dashboard`.
10
- - The internal package is available under `@flux-ui/internals`.
7
+ Composable shell components:
11
8
 
12
- ## ⚠️ Requirements
9
+ - `FluxDashboard` — root container.
10
+ - `FluxDashboardContent` — main content region.
11
+ - `FluxDashboardSide` — sidebar slot.
12
+ - `FluxDashboardNavigation` — navigation rail.
13
+ - `FluxDashboardTopBar` — top bar.
14
+ - `FluxDashboardHeader` — page-level header.
15
+ - `FluxDashboardMenu` — menu primitive.
13
16
 
14
- - Install Node.js ^22
15
- - Install pnpm using `npm i -g pnpm`.
16
- - Configure a new environment variable `FONTAWESOME_NPM_AUTH_TOKEN`. This should be a valid Font Awesome private npm auth token.
17
- - Use `pnpm install` to install the required packages.
18
- - Use `pnpm dev` to start a build watcher for both targets.
19
- - Use `pnpm build` to build a production bundle.
20
- - Use `pnpm link` to link the dist folder of flux to your global node_modules.
17
+ ## ⭐️ Prerequisites
21
18
 
22
- ## 🪵 Git
19
+ - Bun >= 1.2.13
20
+ - Node >= 23
23
21
 
24
- All commit messages and branches will be in English.
22
+ ## 🚀 Getting started
25
23
 
26
- ### Branches
24
+ 1. Make sure the Flux monorepo is checked out.
25
+ 2. Run `bun install` in the project root.
26
+ 3. Run `bun run --cwd packages/dashboard build` to build the package (runs `vue-tsc` then `vite build`).
27
+ 4. To link Flux Dashboard globally with Bun, run `bun link --cwd packages/dashboard`.
28
+ - In another project, use `link:@flux-ui/dashboard` as the dependency version in `package.json`.
27
29
 
28
- - **Main** Contains the latest stable release and is the exact source that is running in production.
29
- - **Develop** — Contains the latest staging release that is marked for deployment and is the exact source that is running on staging.
30
- - **Feature branches** — Any feature should have its own feature branch. Once complete, the branch should be merged into the _develop_ branch and the feature branch should be deleted.
31
- - **Bugfix branches** — When a bug is found, it should be fixed within a bugfix branch. Once complete the branch should be merged into the _develop_ branch and the feature branch should be deleted.
30
+ ## 📦 Sibling packages
32
31
 
33
- ### Commit messages
34
-
35
- Commit messages are bound to the following templates:
36
-
37
- - `<type>: <message> `
38
- - `<type>(<feature>): <message>`
39
- - `<type>(<feature>): <message> [<issue-number>]`
40
-
41
- #### Examples
42
-
43
- - `feat(expandable): adds header slot to expandable.`
44
- - `feat(expandable): adds header slot to expandable. [FLUX-123]`
45
- - `chore: adds vue 3 build target.`
32
+ - [`@flux-ui/components`](../components)
33
+ - [`@flux-ui/types`](../types)
34
+ - [`@flux-ui/internals`](../internals)
35
+ - [`@flux-ui/statistics`](../statistics)
36
+ - [`@flux-ui/application`](../application)
@@ -1,29 +1,17 @@
1
- import { VNode } from 'vue';
2
- declare function __VLS_template(): {
3
- attrs: Partial<{}>;
4
- slots: Readonly<{
5
- default(): VNode;
6
- header?(): VNode;
7
- navigation?(): VNode;
8
- menu?(): VNode;
9
- side?(): VNode;
10
- }> & {
11
- default(): VNode;
12
- header?(): VNode;
13
- navigation?(): VNode;
14
- menu?(): VNode;
15
- side?(): VNode;
16
- };
17
- refs: {};
18
- rootEl: HTMLDivElement;
1
+ import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ type __VLS_Slots = {
3
+ default(): VNode;
4
+ header?(): VNode;
5
+ navigation?(): VNode;
6
+ menu?(): VNode;
7
+ side?(): VNode;
19
8
  };
20
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
22
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
9
+ declare const __VLS_base: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
23
12
  export default _default;
24
- type __VLS_WithTemplateSlots<T, S> = T & {
13
+ type __VLS_WithSlots<T, S> = T & {
25
14
  new (): {
26
15
  $slots: S;
27
16
  };
28
17
  };
29
- //# sourceMappingURL=FluxDashboard.vue.d.ts.map
@@ -1,18 +1,14 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- default?(_: {}): any;
5
- };
6
- refs: {};
7
- rootEl: HTMLElement;
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
8
5
  };
9
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
11
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
6
+ declare const __VLS_base: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
7
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
8
+ declare const _default: typeof __VLS_export;
12
9
  export default _default;
13
- type __VLS_WithTemplateSlots<T, S> = T & {
10
+ type __VLS_WithSlots<T, S> = T & {
14
11
  new (): {
15
12
  $slots: S;
16
13
  };
17
14
  };
18
- //# sourceMappingURL=FluxDashboardContent.vue.d.ts.map
@@ -1,24 +1,21 @@
1
1
  import { FluxIconName } from '@flux-ui/types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
3
  type __VLS_Props = {
3
4
  readonly icon?: FluxIconName;
4
5
  readonly title?: string;
5
6
  };
6
- declare function __VLS_template(): {
7
- attrs: Partial<{}>;
8
- slots: {
9
- start?(_: {}): any;
10
- end?(_: {}): any;
11
- };
12
- refs: {};
13
- rootEl: HTMLElement;
7
+ declare var __VLS_8: {}, __VLS_20: {};
8
+ type __VLS_Slots = {} & {
9
+ start?: (props: typeof __VLS_8) => any;
10
+ } & {
11
+ end?: (props: typeof __VLS_20) => any;
14
12
  };
15
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
17
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
18
16
  export default _default;
19
- type __VLS_WithTemplateSlots<T, S> = T & {
17
+ type __VLS_WithSlots<T, S> = T & {
20
18
  new (): {
21
19
  $slots: S;
22
20
  };
23
21
  };
24
- //# sourceMappingURL=FluxDashboardHeader.vue.d.ts.map
@@ -1,25 +1,23 @@
1
1
  import { FluxIconName } from '@flux-ui/types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
3
  type __VLS_Props = {
3
4
  readonly icon?: FluxIconName;
4
- readonly title: string;
5
+ readonly title?: string;
5
6
  };
6
- declare function __VLS_template(): {
7
- attrs: Partial<{}>;
8
- slots: {
9
- 'top-bar-start'?(_: {}): any;
10
- 'top-bar-end'?(_: {}): any;
11
- default?(_: {}): any;
12
- };
13
- refs: {};
14
- rootEl: HTMLElement;
7
+ declare var __VLS_7: {}, __VLS_19: {}, __VLS_21: {};
8
+ type __VLS_Slots = {} & {
9
+ 'top-bar-start'?: (props: typeof __VLS_7) => any;
10
+ } & {
11
+ 'top-bar-end'?: (props: typeof __VLS_19) => any;
12
+ } & {
13
+ default?: (props: typeof __VLS_21) => any;
15
14
  };
16
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
17
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
18
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
15
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
19
18
  export default _default;
20
- type __VLS_WithTemplateSlots<T, S> = T & {
19
+ type __VLS_WithSlots<T, S> = T & {
21
20
  new (): {
22
21
  $slots: S;
23
22
  };
24
23
  };
25
- //# sourceMappingURL=FluxDashboardMenu.vue.d.ts.map
@@ -1,26 +1,18 @@
1
1
  import { FluxTo } from '@flux-ui/types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
3
  type __VLS_Props = {
3
4
  logoLocation?: FluxTo;
4
5
  };
5
- declare function __VLS_template(): {
6
- attrs: Partial<{}>;
7
- slots: Readonly<{
8
- default(): any;
9
- logo?(): any;
10
- }> & {
11
- default(): any;
12
- logo?(): any;
13
- };
14
- refs: {};
15
- rootEl: any;
6
+ type __VLS_Slots = {
7
+ default(): any;
8
+ logo?(): any;
16
9
  };
17
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
10
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
20
13
  export default _default;
21
- type __VLS_WithTemplateSlots<T, S> = T & {
14
+ type __VLS_WithSlots<T, S> = T & {
22
15
  new (): {
23
16
  $slots: S;
24
17
  };
25
18
  };
26
- //# sourceMappingURL=FluxDashboardNavigation.vue.d.ts.map
@@ -1,23 +1,21 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
1
2
  type __VLS_Props = {
2
3
  readonly title: string;
3
4
  };
4
- declare function __VLS_template(): {
5
- attrs: Partial<{}>;
6
- slots: {
7
- 'top-bar-start'?(_: {}): any;
8
- 'top-bar-end'?(_: {}): any;
9
- default?(_: {}): any;
10
- };
11
- refs: {};
12
- rootEl: HTMLElement;
5
+ declare var __VLS_7: {}, __VLS_14: {}, __VLS_16: {};
6
+ type __VLS_Slots = {} & {
7
+ 'top-bar-start'?: (props: typeof __VLS_7) => any;
8
+ } & {
9
+ 'top-bar-end'?: (props: typeof __VLS_14) => any;
10
+ } & {
11
+ default?: (props: typeof __VLS_16) => any;
13
12
  };
14
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
15
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
16
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
17
16
  export default _default;
18
- type __VLS_WithTemplateSlots<T, S> = T & {
17
+ type __VLS_WithSlots<T, S> = T & {
19
18
  new (): {
20
19
  $slots: S;
21
20
  };
22
21
  };
23
- //# sourceMappingURL=FluxDashboardSide.vue.d.ts.map
@@ -1,18 +1,14 @@
1
- declare function __VLS_template(): {
2
- attrs: Partial<{}>;
3
- slots: {
4
- default?(_: {}): any;
5
- };
6
- refs: {};
7
- rootEl: HTMLElement;
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
8
5
  };
9
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
11
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
6
+ declare const __VLS_base: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
7
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
8
+ declare const _default: typeof __VLS_export;
12
9
  export default _default;
13
- type __VLS_WithTemplateSlots<T, S> = T & {
10
+ type __VLS_WithSlots<T, S> = T & {
14
11
  new (): {
15
12
  $slots: S;
16
13
  };
17
14
  };
18
- //# sourceMappingURL=FluxDashboardTopBar.vue.d.ts.map
@@ -4,4 +4,3 @@ export { default as FluxDashboardHeader } from './FluxDashboardHeader.vue';
4
4
  export { default as FluxDashboardMenu } from './FluxDashboardMenu.vue';
5
5
  export { default as FluxDashboardNavigation } from './FluxDashboardNavigation.vue';
6
6
  export { default as FluxDashboardSide } from './FluxDashboardSide.vue';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export { default as useDashboardInjection } from './useDashboardInjection';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,2 @@
1
1
  import { FluxDashboardInjection } from '../data';
2
2
  export default function (): FluxDashboardInjection;
3
- //# sourceMappingURL=useDashboardInjection.d.ts.map
@@ -4,4 +4,3 @@ export type FluxDashboardInjection = {
4
4
  readonly isMenuCollapsed: Ref<boolean>;
5
5
  readonly isNavigationCollapsed: Ref<boolean>;
6
6
  };
7
- //# sourceMappingURL=index.d.ts.map