react-semaphor 0.1.134 → 0.1.136

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 (30) hide show
  1. package/dist/chunks/{dashboard-controls-ecdj2GHc.js → dashboard-controls-C35Jz1fx.js} +3 -3
  2. package/dist/chunks/{dashboard-controls-bovlMmw3.js → dashboard-controls-Dxx6-zR2.js} +1 -1
  3. package/dist/chunks/{dashboard-export-dialog-D5jbZpR7.js → dashboard-export-dialog-BDv_HVGR.js} +1 -1
  4. package/dist/chunks/{dashboard-export-dialog-CK5b2y_K.js → dashboard-export-dialog-DYKctzwH.js} +3 -3
  5. package/dist/chunks/{dashboard-json-DKVaKR05.js → dashboard-json-DbfqDpJH.js} +1 -1
  6. package/dist/chunks/{dashboard-json-DUtSSb_n.js → dashboard-json-DizAEdr3.js} +1 -1
  7. package/dist/chunks/edit-dashboard-visual-AgjWs5LG.js +200 -0
  8. package/dist/chunks/{edit-dashboard-visual-BHmq3HBV.js → edit-dashboard-visual-CovPTSDH.js} +4060 -3866
  9. package/dist/chunks/{editor-action-buttons-xX1IQPAT.js → editor-action-buttons-CPJ-_aGj.js} +1 -1
  10. package/dist/chunks/{editor-action-buttons-D7ofzkZ0.js → editor-action-buttons-D-k-U0HS.js} +2 -2
  11. package/dist/chunks/{index-BbG-vwjD.js → index-Bqqna9eB.js} +79995 -79247
  12. package/dist/chunks/index-baj-eF5k.js +1081 -0
  13. package/dist/chunks/{resource-management-panel-Bewt6347.js → resource-management-panel-BJfU9o5-.js} +2 -2
  14. package/dist/chunks/{resource-management-panel-CrQMV9vG.js → resource-management-panel-CU-aO9tG.js} +1 -1
  15. package/dist/chunks/{use-visual-utils-auHWALCR.js → use-visual-utils-DP_QQo_Q.js} +1 -1
  16. package/dist/chunks/{use-visual-utils-BijuWjGP.js → use-visual-utils-r0hON58l.js} +1 -1
  17. package/dist/dashboard/index.cjs +1 -1
  18. package/dist/dashboard/index.js +1 -1
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.js +4 -4
  21. package/dist/style.css +1 -1
  22. package/dist/surfboard/index.cjs +1 -1
  23. package/dist/surfboard/index.js +1 -1
  24. package/dist/types/dashboard.d.ts +43 -0
  25. package/dist/types/main.d.ts +52 -0
  26. package/dist/types/surfboard.d.ts +43 -0
  27. package/dist/types/types.d.ts +43 -0
  28. package/package.json +1 -1
  29. package/dist/chunks/edit-dashboard-visual-CSw8uIEZ.js +0 -195
  30. package/dist/chunks/index-Ba5bDBGc.js +0 -1081
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-Ba5bDBGc.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-baj-eF5k.js"),r=require("../types/index.cjs");exports.Surfboard=e.DashboardPlus;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
@@ -1,4 +1,4 @@
1
- import { a } from "../chunks/index-BbG-vwjD.js";
1
+ import { a } from "../chunks/index-Bqqna9eB.js";
2
2
  import { EMPTY_SELECTION as E } from "../types/index.js";
3
3
  export {
4
4
  E as EMPTY_SELECTION,
@@ -1213,6 +1213,11 @@ export declare type TCard = {
1213
1213
  * If not specified, the card will use the dashboard's display preferences.
1214
1214
  */
1215
1215
  displayPreferences?: VisualDisplayPreferences;
1216
+ /**
1217
+ * Inline filter definitions for this card.
1218
+ * Configured by editors via the visual editor settings.
1219
+ */
1220
+ inlineFilters?: TInlineFilter[];
1216
1221
  };
1217
1222
 
1218
1223
  export declare type TCardContext = {
@@ -1302,6 +1307,7 @@ export declare type TCardPreferences = {
1302
1307
  showCardToolbar?: boolean;
1303
1308
  showChrome?: boolean;
1304
1309
  allowScroll?: boolean;
1310
+ showInlineFilterBar?: boolean;
1305
1311
  };
1306
1312
  };
1307
1313
 
@@ -1472,6 +1478,8 @@ declare type TFilter = {
1472
1478
  applyToCardIds?: string[];
1473
1479
  excludeCardIds?: string[];
1474
1480
  customFilterPreferences?: TCustomFilterPreferences;
1481
+ /** Whether to show the label above the filter (default: true) */
1482
+ showLabel?: boolean;
1475
1483
  };
1476
1484
 
1477
1485
  declare type TFilterValue = FilterForString | FilterForEqual | FilterForCompare | FilterForBetween | FilterForIn | FilterForDate;
@@ -1538,6 +1546,41 @@ declare interface TimeDrillStep {
1538
1546
 
1539
1547
  declare type TimeGranularity = 'day' | 'week' | 'month' | 'quarter' | 'year';
1540
1548
 
1549
+ /**
1550
+ * Inline filter definition stored on a card.
1551
+ * Inline filters appear on the right-hand side of the card header,
1552
+ * allowing ad-hoc data exploration without affecting other cards.
1553
+ */
1554
+ export declare type TInlineFilter = {
1555
+ id: string;
1556
+ column: string;
1557
+ title: string;
1558
+ dataType: string;
1559
+ table: string;
1560
+ database: string;
1561
+ connectionId: string;
1562
+ operation: Operation;
1563
+ sql: string;
1564
+ /** Selection type: 'single' allows one value, 'multiple' allows many */
1565
+ type?: 'single' | 'multiple';
1566
+ /** UI component for single-select filters */
1567
+ uiType?: 'radio' | 'dropdown' | 'tabs';
1568
+ /** Date picker type: 'range' for full calendar, 'months' for month picker */
1569
+ dateSelectionMode?: DateSelectionMode;
1570
+ /** Default values applied when the dashboard first loads */
1571
+ defaultValues?: (string | number)[];
1572
+ /** Default relative date filter (e.g., "Last 7 days") applied on dashboard load */
1573
+ defaultDateFilter?: RelativeDateFilter;
1574
+ /** Search mode for numeric filters: 'text' treats as text, 'numeric' enables operators (>, <, =) */
1575
+ searchMode?: 'text' | 'numeric' | 'auto';
1576
+ /** Custom filter UI from a plugin */
1577
+ customFilterPreferences?: TCustomFilterPreferences;
1578
+ /** Width of the inline filter in pixels (default: 250) */
1579
+ width?: number;
1580
+ /** Whether to show the label above the filter (default: true) */
1581
+ showLabel?: boolean;
1582
+ };
1583
+
1541
1584
  export declare type TLegendOptions = {
1542
1585
  display?: boolean;
1543
1586
  position?: 'top' | 'left' | 'bottom' | 'right';
@@ -68,6 +68,13 @@ declare type Actions = {
68
68
  setCardKpiOptions: (sheetId: string, cardId: string, kpiOptions: Record<string, any>) => void;
69
69
  updateCardFilters: (cardId: string, filters: FilterGroup | undefined) => void;
70
70
  clearCardFilters: (cardId: string) => void;
71
+ setCardInlineFilterValue: (cardId: string, filterValue: TFilterValue) => void;
72
+ removeCardInlineFilterValue: (cardId: string, filterId: string) => void;
73
+ getCardInlineFilterValues: (cardId: string) => TFilterValue[];
74
+ clearAllInlineFilterValues: () => void;
75
+ setInlineFilterValuesMap: (map: Record<string, TFilterValue[]>) => void;
76
+ setCardInlineFilterMode: (sheetId: string, cardId: string, filterId: string, filterMode: 'include' | 'exclude') => void;
77
+ setCardInlineFilterDefaultValues: (sheetId: string, cardId: string, filterId: string, defaultValues: (string | number)[] | undefined) => void;
71
78
  addFrame: (sheetId: string, frame: TFrame, position?: 'start' | 'end') => void;
72
79
  updateFrame: (sheetId: string, frame: TFrame) => void;
73
80
  updateCard: (sheetId: string, card: TCard) => void;
@@ -765,6 +772,8 @@ export declare type DashboardStore = {
765
772
  showDashboardJSON: boolean;
766
773
  showFilters: boolean;
767
774
  filterValues?: TFilterValue[];
775
+ /** Runtime-only inline filter values, keyed by cardId. Not persisted with dashboard. */
776
+ inlineFilterValuesMap: Record<string, TFilterValue[]>;
768
777
  isDashboardPanelOpen: boolean;
769
778
  drillHistory: Array<{
770
779
  sourceDashboardId: string;
@@ -2149,6 +2158,11 @@ export declare type TCard = {
2149
2158
  * If not specified, the card will use the dashboard's display preferences.
2150
2159
  */
2151
2160
  displayPreferences?: VisualDisplayPreferences;
2161
+ /**
2162
+ * Inline filter definitions for this card.
2163
+ * Configured by editors via the visual editor settings.
2164
+ */
2165
+ inlineFilters?: TInlineFilter[];
2152
2166
  };
2153
2167
 
2154
2168
  export declare type TCardContext = {
@@ -2238,6 +2252,7 @@ export declare type TCardPreferences = {
2238
2252
  showCardToolbar?: boolean;
2239
2253
  showChrome?: boolean;
2240
2254
  allowScroll?: boolean;
2255
+ showInlineFilterBar?: boolean;
2241
2256
  };
2242
2257
  };
2243
2258
 
@@ -2410,6 +2425,8 @@ declare type TFilter = {
2410
2425
  applyToCardIds?: string[];
2411
2426
  excludeCardIds?: string[];
2412
2427
  customFilterPreferences?: TCustomFilterPreferences;
2428
+ /** Whether to show the label above the filter (default: true) */
2429
+ showLabel?: boolean;
2413
2430
  };
2414
2431
 
2415
2432
  export declare type TFilterValue = FilterForString | FilterForEqual | FilterForCompare | FilterForBetween | FilterForIn | FilterForDate;
@@ -2482,6 +2499,41 @@ export declare interface TimeDrillStep {
2482
2499
 
2483
2500
  export declare type TimeGranularity = 'day' | 'week' | 'month' | 'quarter' | 'year';
2484
2501
 
2502
+ /**
2503
+ * Inline filter definition stored on a card.
2504
+ * Inline filters appear on the right-hand side of the card header,
2505
+ * allowing ad-hoc data exploration without affecting other cards.
2506
+ */
2507
+ export declare type TInlineFilter = {
2508
+ id: string;
2509
+ column: string;
2510
+ title: string;
2511
+ dataType: string;
2512
+ table: string;
2513
+ database: string;
2514
+ connectionId: string;
2515
+ operation: Operation;
2516
+ sql: string;
2517
+ /** Selection type: 'single' allows one value, 'multiple' allows many */
2518
+ type?: 'single' | 'multiple';
2519
+ /** UI component for single-select filters */
2520
+ uiType?: 'radio' | 'dropdown' | 'tabs';
2521
+ /** Date picker type: 'range' for full calendar, 'months' for month picker */
2522
+ dateSelectionMode?: DateSelectionMode;
2523
+ /** Default values applied when the dashboard first loads */
2524
+ defaultValues?: (string | number)[];
2525
+ /** Default relative date filter (e.g., "Last 7 days") applied on dashboard load */
2526
+ defaultDateFilter?: RelativeDateFilter;
2527
+ /** Search mode for numeric filters: 'text' treats as text, 'numeric' enables operators (>, <, =) */
2528
+ searchMode?: 'text' | 'numeric' | 'auto';
2529
+ /** Custom filter UI from a plugin */
2530
+ customFilterPreferences?: TCustomFilterPreferences;
2531
+ /** Width of the inline filter in pixels (default: 250) */
2532
+ width?: number;
2533
+ /** Whether to show the label above the filter (default: true) */
2534
+ showLabel?: boolean;
2535
+ };
2536
+
2485
2537
  export declare type TLegendOptions = {
2486
2538
  display?: boolean;
2487
2539
  position?: 'top' | 'left' | 'bottom' | 'right';
@@ -1218,6 +1218,11 @@ export declare type TCard = {
1218
1218
  * If not specified, the card will use the dashboard's display preferences.
1219
1219
  */
1220
1220
  displayPreferences?: VisualDisplayPreferences;
1221
+ /**
1222
+ * Inline filter definitions for this card.
1223
+ * Configured by editors via the visual editor settings.
1224
+ */
1225
+ inlineFilters?: TInlineFilter[];
1221
1226
  };
1222
1227
 
1223
1228
  export declare type TCardContext = {
@@ -1307,6 +1312,7 @@ export declare type TCardPreferences = {
1307
1312
  showCardToolbar?: boolean;
1308
1313
  showChrome?: boolean;
1309
1314
  allowScroll?: boolean;
1315
+ showInlineFilterBar?: boolean;
1310
1316
  };
1311
1317
  };
1312
1318
 
@@ -1477,6 +1483,8 @@ declare type TFilter = {
1477
1483
  applyToCardIds?: string[];
1478
1484
  excludeCardIds?: string[];
1479
1485
  customFilterPreferences?: TCustomFilterPreferences;
1486
+ /** Whether to show the label above the filter (default: true) */
1487
+ showLabel?: boolean;
1480
1488
  };
1481
1489
 
1482
1490
  declare type TFilterValue = FilterForString | FilterForEqual | FilterForCompare | FilterForBetween | FilterForIn | FilterForDate;
@@ -1543,6 +1551,41 @@ declare interface TimeDrillStep {
1543
1551
 
1544
1552
  declare type TimeGranularity = 'day' | 'week' | 'month' | 'quarter' | 'year';
1545
1553
 
1554
+ /**
1555
+ * Inline filter definition stored on a card.
1556
+ * Inline filters appear on the right-hand side of the card header,
1557
+ * allowing ad-hoc data exploration without affecting other cards.
1558
+ */
1559
+ export declare type TInlineFilter = {
1560
+ id: string;
1561
+ column: string;
1562
+ title: string;
1563
+ dataType: string;
1564
+ table: string;
1565
+ database: string;
1566
+ connectionId: string;
1567
+ operation: Operation;
1568
+ sql: string;
1569
+ /** Selection type: 'single' allows one value, 'multiple' allows many */
1570
+ type?: 'single' | 'multiple';
1571
+ /** UI component for single-select filters */
1572
+ uiType?: 'radio' | 'dropdown' | 'tabs';
1573
+ /** Date picker type: 'range' for full calendar, 'months' for month picker */
1574
+ dateSelectionMode?: DateSelectionMode;
1575
+ /** Default values applied when the dashboard first loads */
1576
+ defaultValues?: (string | number)[];
1577
+ /** Default relative date filter (e.g., "Last 7 days") applied on dashboard load */
1578
+ defaultDateFilter?: RelativeDateFilter;
1579
+ /** Search mode for numeric filters: 'text' treats as text, 'numeric' enables operators (>, <, =) */
1580
+ searchMode?: 'text' | 'numeric' | 'auto';
1581
+ /** Custom filter UI from a plugin */
1582
+ customFilterPreferences?: TCustomFilterPreferences;
1583
+ /** Width of the inline filter in pixels (default: 250) */
1584
+ width?: number;
1585
+ /** Whether to show the label above the filter (default: true) */
1586
+ showLabel?: boolean;
1587
+ };
1588
+
1546
1589
  export declare type TLegendOptions = {
1547
1590
  display?: boolean;
1548
1591
  position?: 'top' | 'left' | 'bottom' | 'right';
@@ -1210,6 +1210,11 @@ export declare type TCard = {
1210
1210
  * If not specified, the card will use the dashboard's display preferences.
1211
1211
  */
1212
1212
  displayPreferences?: VisualDisplayPreferences;
1213
+ /**
1214
+ * Inline filter definitions for this card.
1215
+ * Configured by editors via the visual editor settings.
1216
+ */
1217
+ inlineFilters?: TInlineFilter[];
1213
1218
  };
1214
1219
 
1215
1220
  export declare type TCardContext = {
@@ -1299,6 +1304,7 @@ export declare type TCardPreferences = {
1299
1304
  showCardToolbar?: boolean;
1300
1305
  showChrome?: boolean;
1301
1306
  allowScroll?: boolean;
1307
+ showInlineFilterBar?: boolean;
1302
1308
  };
1303
1309
  };
1304
1310
 
@@ -1469,6 +1475,8 @@ declare type TFilter = {
1469
1475
  applyToCardIds?: string[];
1470
1476
  excludeCardIds?: string[];
1471
1477
  customFilterPreferences?: TCustomFilterPreferences;
1478
+ /** Whether to show the label above the filter (default: true) */
1479
+ showLabel?: boolean;
1472
1480
  };
1473
1481
 
1474
1482
  declare type TFilterValue = FilterForString | FilterForEqual | FilterForCompare | FilterForBetween | FilterForIn | FilterForDate;
@@ -1535,6 +1543,41 @@ declare interface TimeDrillStep {
1535
1543
 
1536
1544
  declare type TimeGranularity = 'day' | 'week' | 'month' | 'quarter' | 'year';
1537
1545
 
1546
+ /**
1547
+ * Inline filter definition stored on a card.
1548
+ * Inline filters appear on the right-hand side of the card header,
1549
+ * allowing ad-hoc data exploration without affecting other cards.
1550
+ */
1551
+ export declare type TInlineFilter = {
1552
+ id: string;
1553
+ column: string;
1554
+ title: string;
1555
+ dataType: string;
1556
+ table: string;
1557
+ database: string;
1558
+ connectionId: string;
1559
+ operation: Operation;
1560
+ sql: string;
1561
+ /** Selection type: 'single' allows one value, 'multiple' allows many */
1562
+ type?: 'single' | 'multiple';
1563
+ /** UI component for single-select filters */
1564
+ uiType?: 'radio' | 'dropdown' | 'tabs';
1565
+ /** Date picker type: 'range' for full calendar, 'months' for month picker */
1566
+ dateSelectionMode?: DateSelectionMode;
1567
+ /** Default values applied when the dashboard first loads */
1568
+ defaultValues?: (string | number)[];
1569
+ /** Default relative date filter (e.g., "Last 7 days") applied on dashboard load */
1570
+ defaultDateFilter?: RelativeDateFilter;
1571
+ /** Search mode for numeric filters: 'text' treats as text, 'numeric' enables operators (>, <, =) */
1572
+ searchMode?: 'text' | 'numeric' | 'auto';
1573
+ /** Custom filter UI from a plugin */
1574
+ customFilterPreferences?: TCustomFilterPreferences;
1575
+ /** Width of the inline filter in pixels (default: 250) */
1576
+ width?: number;
1577
+ /** Whether to show the label above the filter (default: true) */
1578
+ showLabel?: boolean;
1579
+ };
1580
+
1538
1581
  export declare type TLegendOptions = {
1539
1582
  display?: boolean;
1540
1583
  position?: 'top' | 'left' | 'bottom' | 'right';
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "email": "support@semaphor.cloud"
6
6
  },
7
7
  "license": "MIT",
8
- "version": "0.1.134",
8
+ "version": "0.1.136",
9
9
  "description": "Fully interactive and customizable dashboards for your apps.",
10
10
  "keywords": [
11
11
  "react",