@tenorlab/react-dashboard 1.0.0 → 1.0.2
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 +6 -1
- package/dist/components/DashboardGrid.d.ts +1 -1
- package/dist/components/DashboardWidgetBase.d.ts +1 -1
- package/dist/components/WidgetContainer.d.ts +1 -1
- package/dist/components/WidgetsCatalogFlyout.d.ts +1 -1
- package/dist/components/dashboard-primitives/Buttons.d.ts +1 -1
- package/dist/components/dashboard-primitives/ListItem.d.ts +1 -1
- package/dist/components/dashboard-primitives/TextField.d.ts +1 -1
- package/dist/components/dashboard-primitives/css-vars-utils.d.ts +1 -1
- package/dist/components/dashboard-primitives/parse-container-title.d.ts +1 -1
- package/dist/components/dashboard-settings/dashboard-settings-utils.d.ts +1 -1
- package/dist/components/dashboard-settings/dashboard-settings.d.ts +1 -1
- package/dist/components/interfaces/core-react.interfaces.d.ts +7 -6
- package/dist/components/interfaces/core.base.d.ts +23 -9
- package/dist/components/interfaces/core.interfaces.d.ts +0 -1
- package/dist/components/interfaces/core.utils.d.ts +6 -5
- package/dist/components/interfaces/storage-service.interfaces.d.ts +4 -3
- package/dist/components/use-dashboard-storage-service.d.ts +1 -1
- package/dist/components/use-dashboard-store.d.ts +1 -1
- package/dist/components/use-dashboard-undo-service.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/react-dashboard.css +1 -0
- package/dist/react-dashboard.es.js +1 -0
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IDashboardGridProps } from './interfaces';
|
|
1
|
+
import type { IDashboardGridProps } from './interfaces/core-react.interfaces';
|
|
2
2
|
export declare const DashboardGrid: import("react").ForwardRefExoticComponent<IDashboardGridProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardWidgetProps } from './interfaces';
|
|
1
|
+
import type { IDashboardWidgetProps } from './interfaces/core-react.interfaces';
|
|
2
2
|
export declare const DashboardWidgetBase: (props: IDashboardWidgetProps & {
|
|
3
3
|
ref?: React.ForwardedRef<HTMLDivElement>;
|
|
4
4
|
}) => React.ReactElement | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardWidgetProps, IDashboardWidget } from './interfaces';
|
|
1
|
+
import type { IDashboardWidgetProps, IDashboardWidget } from './interfaces/core-react.interfaces';
|
|
2
2
|
export declare function WidgetContainerColumn(props: IDashboardWidgetProps): IDashboardWidget;
|
|
3
3
|
export declare function WidgetContainerLarge(props: IDashboardWidgetProps): IDashboardWidget;
|
|
4
4
|
export declare function WidgetContainerRow(props: IDashboardWidgetProps): IDashboardWidget;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardConfig, IDashboardSettingEntry, TDashboardUndoStatus, TDashboardWidgetCatalog, TDashboardWidgetKey } from './interfaces/';
|
|
1
|
+
import type { IDashboardConfig, IDashboardSettingEntry, TDashboardUndoStatus, TDashboardWidgetCatalog, TDashboardWidgetKey } from './interfaces/';
|
|
2
2
|
export type TWidgetsCatalogFlyoutProps = {
|
|
3
3
|
targetContainerKey?: TDashboardWidgetKey;
|
|
4
4
|
widgetsCatalog: TDashboardWidgetCatalog;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IButtonProps } from './interfaces';
|
|
1
|
+
import type { IButtonProps } from './interfaces';
|
|
2
2
|
export declare function Button(props: IButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { TStackProps } from './Stack';
|
|
2
|
+
import { type TStackProps } from './Stack';
|
|
3
3
|
export declare const ListItem: import("react").ForwardRefExoticComponent<TStackProps & {
|
|
4
4
|
innerClass?: string;
|
|
5
5
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardSettingEntry } from '../interfaces';
|
|
1
|
+
import type { IDashboardSettingEntry } from '../interfaces';
|
|
2
2
|
export declare const cssVarsUtils: {
|
|
3
3
|
getCssVariableValue: (cssPropertyName: string) => string | null;
|
|
4
4
|
setCssVariableValue: (cssPropertyName: string, value: string) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TDashboardWidgetKey } from '../interfaces';
|
|
1
|
+
import type { TDashboardWidgetKey } from '../interfaces';
|
|
2
2
|
export declare const parseContainerTitle: (containerWidgetKey: TDashboardWidgetKey) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardSettingEntry } from '../interfaces';
|
|
1
|
+
import type { IDashboardSettingEntry } from '../interfaces';
|
|
2
2
|
export declare const dashboardSettingsUtils: {
|
|
3
3
|
incrementOrDecrementValue: (item: IDashboardSettingEntry, direction: -1 | 1) => IDashboardSettingEntry;
|
|
4
4
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IDashboardSettingEntry } from '../interfaces';
|
|
1
|
+
import type { IDashboardSettingEntry } from '../interfaces';
|
|
2
2
|
export declare const cssSettingsCatalog: IDashboardSettingEntry[];
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import type { ReactNode, JSX } from 'react';
|
|
2
|
+
import type { TDashboardWidgetKey, TWidgetMetaInfoBase, IDashboardWidgetPropsBase, IDashboardGridPropsBase, TWidgetFactoryBase, IDynamicWidgetCatalogEntryBase, TDashboardWidgetCatalogBase } from './core.base';
|
|
3
|
+
type TFrameworkComponentType = React.ComponentType<any>;
|
|
4
|
+
type TFrameworkElementType = React.ElementType;
|
|
5
|
+
export type TWidgetMetaInfo = TWidgetMetaInfoBase<TFrameworkElementType | undefined>;
|
|
4
6
|
export interface IDashboardGridProps extends IDashboardGridPropsBase {
|
|
5
7
|
children?: ReactNode;
|
|
6
8
|
}
|
|
@@ -12,9 +14,8 @@ export interface IDashboardWidgetProps extends IDashboardWidgetPropsBase {
|
|
|
12
14
|
}
|
|
13
15
|
export interface IDashboardWidget extends JSX.Element {
|
|
14
16
|
}
|
|
15
|
-
type TFrameworkComponentType = React.ComponentType<any>;
|
|
16
17
|
export type TWidgetFactory = TWidgetFactoryBase<TFrameworkComponentType>;
|
|
17
|
-
export interface IDynamicWidgetCatalogEntry extends IDynamicWidgetCatalogEntryBase<
|
|
18
|
+
export interface IDynamicWidgetCatalogEntry extends IDynamicWidgetCatalogEntryBase<TFrameworkElementType, TFrameworkComponentType> {
|
|
18
19
|
}
|
|
19
|
-
export type TDashboardWidgetCatalog =
|
|
20
|
+
export type TDashboardWidgetCatalog = TDashboardWidgetCatalogBase<TFrameworkElementType, TFrameworkComponentType>;
|
|
20
21
|
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export type TDashboardWidgetKey = string;
|
|
2
2
|
export type TWidgetCategory = 'Widget' | 'Chart' | 'Container';
|
|
3
|
-
export type TWidgetMetaInfoBase<
|
|
3
|
+
export type TWidgetMetaInfoBase<TFrameworkElementType = any> = {
|
|
4
4
|
displayName: string;
|
|
5
5
|
description: string;
|
|
6
6
|
categories: TWidgetCategory[];
|
|
7
7
|
noDuplicatedWidgets?: boolean;
|
|
8
|
-
icon:
|
|
8
|
+
icon: TFrameworkElementType | undefined;
|
|
9
9
|
};
|
|
10
10
|
export interface IDashboardGridPropsBase {
|
|
11
11
|
isEditing: boolean;
|
|
@@ -38,10 +38,10 @@ export interface IDashboardWidgetPropsBase {
|
|
|
38
38
|
* It must return a promise that resolves to the module containing the widget component
|
|
39
39
|
* as its default export (or a named export if you change the loading strategy).
|
|
40
40
|
*
|
|
41
|
-
*
|
|
41
|
+
* TFrameworkComponent could be "React.ComponentType<any>"" or "VueComponent" etc
|
|
42
42
|
*/
|
|
43
|
-
export type TWidgetFactoryBase<
|
|
44
|
-
default:
|
|
43
|
+
export type TWidgetFactoryBase<TFrameworkComponent = any> = () => Promise<{
|
|
44
|
+
default: TFrameworkComponent;
|
|
45
45
|
}>;
|
|
46
46
|
/**
|
|
47
47
|
* 2. Define the flexible Catalog Entry
|
|
@@ -52,11 +52,25 @@ export type TWidgetFactoryBase<T> = () => Promise<{
|
|
|
52
52
|
* TWidgetFactory: see TWidgetFactoryBase
|
|
53
53
|
* TComponent: i.e. React.ComponentType<any>
|
|
54
54
|
*/
|
|
55
|
-
|
|
55
|
+
/**
|
|
56
|
+
* 2. Define the flexible Catalog Entry
|
|
57
|
+
* Definition of a single widget or container in the catalog.
|
|
58
|
+
* It must have EITHER a direct 'component' reference OR a 'loader' function.
|
|
59
|
+
*
|
|
60
|
+
* TFrameworkElementType: see TWidgetMetaInfoBase
|
|
61
|
+
* TFrameworkComponentType: i.e. React.ComponentType<any> (see TWidgetFactoryBase)
|
|
62
|
+
*/
|
|
63
|
+
export interface IDynamicWidgetCatalogEntryBase<TFrameworkElementType, TFrameworkComponentType> {
|
|
56
64
|
key: TDashboardWidgetKey;
|
|
57
65
|
title: string;
|
|
58
66
|
isContainer?: boolean;
|
|
59
|
-
meta?:
|
|
60
|
-
component?:
|
|
61
|
-
loader?:
|
|
67
|
+
meta?: TWidgetMetaInfoBase<TFrameworkElementType>;
|
|
68
|
+
component?: TFrameworkComponentType;
|
|
69
|
+
loader?: TWidgetFactoryBase<TFrameworkComponentType>;
|
|
62
70
|
}
|
|
71
|
+
export type TDashboardWidgetCatalogBase<TFrameworkElementType = any, TFrameworkComponentType = any> = Map<TDashboardWidgetKey, IDynamicWidgetCatalogEntryBase<TFrameworkElementType, TFrameworkComponentType>>;
|
|
72
|
+
export type TGetDefaultWidgetMetaFromKeyOptions = {
|
|
73
|
+
title?: string;
|
|
74
|
+
description?: string;
|
|
75
|
+
};
|
|
76
|
+
export type TGetDefaultWidgetMetaFromKey = (widgetKey: TDashboardWidgetKey, options?: TGetDefaultWidgetMetaFromKeyOptions) => TWidgetMetaInfoBase<any>;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import type { TDashboardWidgetKey } from './core.base';
|
|
2
|
-
import type { IDashboardConfig
|
|
1
|
+
import type { TDashboardWidgetKey, TWidgetMetaInfoBase, TDashboardWidgetCatalogBase, TGetDefaultWidgetMetaFromKey } from './core.base';
|
|
2
|
+
import type { IDashboardConfig } from './core.interfaces';
|
|
3
3
|
export declare const blankDashboardConfig: IDashboardConfig;
|
|
4
4
|
export declare const DashboardMinZoomScale: 0.7;
|
|
5
5
|
export declare const DashboardMaxZoomScale: 1;
|
|
6
6
|
export declare const DashboardZoomStep: 0.05;
|
|
7
7
|
export declare const ensureZoomScaleIsWithinRange: (value: number) => number;
|
|
8
8
|
export declare const getNewZoomScaleWithinRange: (currentZoomScale: number, direction: -1 | 1) => number;
|
|
9
|
+
export declare const getDefaultWidgetMetaFromKey: TGetDefaultWidgetMetaFromKey;
|
|
9
10
|
/**
|
|
10
11
|
* @name getDefaultWidgetMetaFromMap
|
|
11
12
|
* @description Helper to get widget meta info from the catalog by key.
|
|
12
13
|
*/
|
|
13
|
-
export declare const getDefaultWidgetMetaFromMap: (widgetKey: TDashboardWidgetKey, defaultWidgetMetaMap: Record<TDashboardWidgetKey,
|
|
14
|
+
export declare const getDefaultWidgetMetaFromMap: <TFrameworkElementType = any>(widgetKey: TDashboardWidgetKey, defaultWidgetMetaMap: Record<TDashboardWidgetKey, TWidgetMetaInfoBase<TFrameworkElementType>>, options?: {
|
|
14
15
|
title?: string;
|
|
15
16
|
description?: string;
|
|
16
|
-
}) =>
|
|
17
|
+
}) => TWidgetMetaInfoBase<TFrameworkElementType>;
|
|
17
18
|
/**
|
|
18
19
|
* @name getWidgetMetaFromCatalog
|
|
19
20
|
* @description Helper to get widget meta info from the catalog by key.
|
|
20
21
|
*/
|
|
21
|
-
export declare const getWidgetMetaFromCatalog: (widgetKey: TDashboardWidgetKey, widgetsCatalog:
|
|
22
|
+
export declare const getWidgetMetaFromCatalog: <TFrameworkElementType = any, TFrameworkComponentType = any>(widgetKey: TDashboardWidgetKey, widgetsCatalog: TDashboardWidgetCatalogBase<TFrameworkElementType, TFrameworkComponentType>) => TWidgetMetaInfoBase<TFrameworkElementType>;
|
|
22
23
|
export declare const removeEmptyContainers: (dashboardConfig: IDashboardConfig) => IDashboardConfig;
|
|
23
24
|
/**
|
|
24
25
|
* @name ensureContainersSequence
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export type
|
|
1
|
+
import type { TDashboardWidgetCatalogBase } from './core.base';
|
|
2
|
+
import type { IDashboardConfig } from './core.interfaces';
|
|
3
|
+
export type TGetSavedDashboards = (userID: number | string, clientAppKey: string, widgetCatalog: TDashboardWidgetCatalogBase, defaultDashboardConfig: IDashboardConfig) => Promise<IDashboardConfig[]>;
|
|
4
|
+
export type TSaveDashboards = (userID: number | string, clientAppKey: string, dashboardConfigs: IDashboardConfig[], widgetCatalog: TDashboardWidgetCatalogBase) => Promise<boolean>;
|
|
4
5
|
export interface IDashboardStorageService {
|
|
5
6
|
getSavedDashboards: TGetSavedDashboards;
|
|
6
7
|
saveDashboards: TSaveDashboards;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IDashboardStorageService } from './interfaces';
|
|
1
|
+
import type { IDashboardStorageService } from './interfaces';
|
|
2
2
|
export declare const useDashboardStorageService: () => IDashboardStorageService;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IDashboardConfig, TUndoHistoryEntry, TDashboardUndoStatus } from './interfaces';
|
|
1
|
+
import type { IDashboardConfig, TUndoHistoryEntry, TDashboardUndoStatus } from './interfaces';
|
|
2
2
|
export declare const useDashboardUndoService: () => {
|
|
3
3
|
initializeHistoryForDashboard: (initialConfig: IDashboardConfig) => void;
|
|
4
4
|
resetAllHistory: () => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
html{--bwj-dashboard-num-columns: 3;--bwj-dashboard-gap: 1.25rem;--bwj-dashboard-transform-scale: 1;--bwj-dashboard-add-cols: 1;--bwj-widget-width: 21rem;--bwj-widget-border-radius: .33rem;--bwj-widget-inner-px: 1rem;--bwj-widget-inner-py: .75rem;--bwj-widget-header-px: var(--bwj-widget-inner-px);--bwj-widget-header-py: 1rem;--bwj-widget-title-size: .8rem;--bwj-widget-title-weight: 600;--bwj-dashboard-debug-container-flex-row: none;--bwj-dashboard-debug-container-flex-column: none;--bwj-dashboard-debug-container-grid-large-inner: solid 1px lightgreen}html .dashboard-main-grid{width:100%;display:grid;grid-template-columns:repeat(var(--bwj-dashboard-num-columns, 4),minmax(var(--bwj-widget-width),1fr));gap:var(--bwj-dashboard-gap, 1.5rem);transform:scale(var(--bwj-dashboard-transform-scale, 1));transform-origin:top left}html .dashboard-main-grid.editing{row-gap:calc(var(--bwj-dashboard-gap) + .8rem)}html .dashboard-main-grid:not(.responsive-grid){max-width:min-content}html .dashboard-main-grid.responsive-grid{width:100%}html .dashboard-widget-container{--bwj-border-opacity: .5;flex:1 1 0%;width:100%}html .dashboard-widget-container .widget-container-header{display:none;position:absolute;height:1.85rem;inset:-1.85rem -1px auto;cursor:pointer;padding:0 .33rem}html .dashboard-widget-container .widget-container-header .actions-inner{transition:all .3s ease-in-out;width:100%;display:none;align-items:center;justify-content:space-between;font-size:.8rem}html .dashboard-widget-container.editing{border-top:none!important;border-bottom-left-radius:var(--bwj-widget-border-radius, .3rem);border-bottom-right-radius:var(--bwj-widget-border-radius, .3rem)}html .dashboard-widget-container.editing .widget-container-header{display:flex;border-bottom:none!important;border-top-left-radius:var(--bwj-widget-border-radius, .3rem);border-top-right-radius:var(--bwj-widget-border-radius, .3rem)}html .dashboard-widget-container.editing .widget-container-header>.actions-inner{display:flex!important}html .dashboard-widget-container.editing.highlight-container:before{content:"";position:absolute;inset:-1.85rem 0 0;box-shadow:0 2px 10px 6px oklch(var(--bwj-primary-okl) var(--bwj-primary-okc) var(--bwj-primary-okh) / .5);pointer-events:none}html .dashboard-widget{flex:1 1 0%;display:flex;flex-direction:column;position:relative;border-radius:var(--bwj-widget-border-radius, .3rem);height:100%;width:100%}html .dashboard-widget:not(.no-shadow){box-shadow:1px 2px 8px #0000001a}html .dashboard-widget.no-shadow{box-shadow:none}html .dashboard-widget.transparent-widget{background-color:transparent}html .dashboard-widget .widget-title-wrapper .widget-title{font-size:var(--bwj-widget-title-size, .75rem);font-weight:var(--bwj-widget-title-weight, 600)}html .dashboard-widget .widget-inner{flex:1 1 0%;display:flex;flex-direction:column;justify-content:space-between}html .dashboard-widget:not(.no-padding) .widget-inner{padding:var(--bwj-widget-inner-py, 1rem) var(--bwj-widget-inner-px, 1.5rem)}html .dashboard-widget.no-padding .widget-inner{padding:0}html .dashboard-widget .widget-header{padding:var(--bwj-widget-header-py, 1rem) var(--bwj-widget-header-px, 1.5rem)}html .dashboard-widget-container .widget-container-inner{padding:0;gap:var(--bwj-dashboard-gap, 1.5rem)}html .dashboard-widget-container.direction-row.widget-container-flex{grid-column:1 / -1;width:100%;outline:var(--bwj-dashboard-debug-container-flex-row)}html .dashboard-widget-container.direction-row.widget-container-flex .widget-container-inner{display:flex;flex-direction:row;height:100%}html .dashboard-widget-container.direction-row.widget-container-flex .widget-container-inner .dashboard-widget{min-width:5%;max-width:100%}html .dashboard-widget-container.direction-column.widget-container-flex .widget-container-inner{display:flex;flex-direction:column;height:100%;outline:var(--bwj-dashboard-debug-container-flex-column)}html .dashboard-widget-container.direction-column.widget-container-flex .widget-container-inner .dashboard-widget{min-width:5%;max-width:100%}html .dashboard-widget-container.large-widget.widget-container-grid .widget-container-inner{display:grid;grid-template-columns:repeat(2,minmax(var(--bwj-widget-width),1fr));outline:var(--bwj-dashboard-debug-container-grid-large-inner)}html .dashboard-main-grid.responsive-grid .dashboard-widget-container:not(.large-widget):not(.xlarge-widget),html .dashboard-main-grid.responsive-grid .dashboard-widget:not(.large-widget):not(.xlarge-widget){min-width:20%;max-width:100%}html .dashboard-main-grid:not(.responsive-grid) .dashboard-widget-container:not(.widget-container-flex):not(.large-widget):not(.xlarge-widget),html .widget-container-flex:not(.direction-row) .dashboard-main-grid:not(.responsive-grid) .dashboard-widget:not(.large-widget):not(.xlarge-widget){min-width:var(--bwj-widget-width);max-width:var(--bwj-widget-width)}html .dashboard-widget-container.large-widget,html .dashboard-widget.large-widget{grid-column:span 2}html .dashboard-main-grid:not(.responsive-grid) .dashboard-widget-container.large-widget,html .dashboard-main-grid:not(.responsive-grid) .dashboard-widget.large-widget{max-width:calc(680px + var(--bwj-dashboard-gap, 1.5rem))}html .dashboard-widget-container.xlarge-widget,html .dashboard-widget.xlarge-widget{grid-column:span 3}html .dashboard-main-grid:not(.responsive-grid) .dashboard-widget-container.xlarge-widget,html .dashboard-main-grid:not(.responsive-grid) .dashboard-widget.xlarge-widget{max-width:calc(1020px + (var(--bwj-dashboard-gap, 1.5rem) * 2))}html .widget-header .actions-inner{display:none;align-items:center;gap:.25rem}html .widget-header .actions-inner .actions-buttons-container{align-items:center;gap:.25rem}html .dashboard-widget.editing:hover .actions-inner{display:flex!important}html .dashboard-widget-container.editing .widget-container-header .actions-inner{display:flex}html .actions-buttons-container{display:flex!important;align-items:center!important;gap:.25rem!important}html .dashboard-number{font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700}html .dashboard-number.number-xl{font-size:3.5rem}html .dashboard-number.number-lg{font-size:2.5rem}html .dashboard-number.number-base{font-size:1.5rem}html .dashboard-progress-bar{padding:0;width:100%;height:1.5rem;border-radius:.75rem}html .dashboard-progress{padding:0;height:1.25rem;border-radius:.75rem}@media(max-width:769px){html .dashboard-main-grid{display:flex;flex-direction:column;width:100%;max-width:100%!important}html .dashboard-widget-container.widget-container-flex.direction-row{max-width:100%;grid-column:auto}html .dashboard-widget-container.widget-container-flex.direction-row .widget-container-inner{display:flex;flex-wrap:wrap;flex-direction:column!important;width:100%}}@media(min-width:770px){html .dashboard-main-grid{--bwj-dashboard-num-columns: calc(2 + var(--bwj-dashboard-add-cols))}}@media(max-width:1119px){html .dashboard-widget-container.widget-container-flex.direction-row{max-width:100%;grid-column:auto}html .dashboard-widget-container.widget-container-flex.direction-row .widget-container-inner{display:flex;flex-wrap:wrap;flex-direction:column!important;width:100%}}@media(min-width:1120px){html .dashboard-main-grid{--bwj-dashboard-num-columns: calc(3 + var(--bwj-dashboard-add-cols))}}@media(min-width:1480px){html .dashboard-main-grid{--bwj-dashboard-num-columns: calc(4 + var(--bwj-dashboard-add-cols))}}@media(min-width:1840px){html .dashboard-main-grid{--bwj-dashboard-num-columns: calc(5 + var(--bwj-dashboard-add-cols))}}@media(min-width:2220px){html .dashboard-main-grid{--bwj-dashboard-num-columns: calc(6 + var(--bwj-dashboard-add-cols))}}
|
|
@@ -3131,6 +3131,7 @@ export {
|
|
|
3131
3131
|
Nt as dashboardSettingsUtils,
|
|
3132
3132
|
Mt as ensureContainersSequence,
|
|
3133
3133
|
st as ensureZoomScaleIsWithinRange,
|
|
3134
|
+
lt as getDefaultWidgetMetaFromKey,
|
|
3134
3135
|
Nn as getDefaultWidgetMetaFromMap,
|
|
3135
3136
|
Z as getDistinctCssClasses,
|
|
3136
3137
|
Tn as getNewZoomScaleWithinRange,
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tenorlab/react-dashboard",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Foundation components for creating user-configurable dashboards in React",
|
|
5
5
|
"author": "Damiano Fusco",
|
|
6
|
-
"license": "MIT",
|
|
7
6
|
"type": "module",
|
|
8
7
|
"repository": {
|
|
9
8
|
"type": "git",
|
|
@@ -19,7 +18,6 @@
|
|
|
19
18
|
"scripts": {
|
|
20
19
|
"dev": "vite",
|
|
21
20
|
"clean": "rm -rf dist node_modules package-lock.json",
|
|
22
|
-
"init": "npm run clean; npm i;",
|
|
23
21
|
"build-types": "tsc src/index.ts --jsx react-jsx --downlevelIteration --esModuleInterop --declaration --emitDeclarationOnly --outDir dist",
|
|
24
22
|
"build": "npm run pretty; tsc --jsx react-jsx --esModuleInterop && vite build; npm run build-types",
|
|
25
23
|
"pub": "npm publish --access public",
|
|
@@ -45,7 +43,8 @@
|
|
|
45
43
|
"types": "./dist/index.d.ts",
|
|
46
44
|
"default": "./dist/react-dashboard.umd.js"
|
|
47
45
|
}
|
|
48
|
-
}
|
|
46
|
+
},
|
|
47
|
+
"./styles.css": "./dist/react-dashboard.css"
|
|
49
48
|
},
|
|
50
49
|
"types": "./dist/index.d.ts",
|
|
51
50
|
"main": "./dist/react-dashboard.umd.js",
|