@nice2dev/ui 1.0.22 → 1.0.24

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 (61) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/NiceErrorBoundary-BNhkOZtq.cjs +1 -0
  3. package/dist/NiceErrorBoundary-DyPWyuki.js +770 -0
  4. package/dist/NiceForm-D_ifvkIf.js +5386 -0
  5. package/dist/NiceForm-kd4essRP.cjs +382 -0
  6. package/dist/NiceForm.css +1 -1
  7. package/dist/NiceModal-4DLpDmAl.js +95 -0
  8. package/dist/NiceModal-D2xJTZZf.cjs +1 -0
  9. package/dist/NiceModuleLifecyclePanel-BZMUuDad.js +6807 -0
  10. package/dist/NiceModuleLifecyclePanel-C54g5eV_.cjs +1 -0
  11. package/dist/NicePagination-3be3_sVK.js +171 -0
  12. package/dist/NicePagination-BCRsVzkR.cjs +1 -0
  13. package/dist/NicePinCodeInput-BD2bMmVF.cjs +696 -0
  14. package/dist/NicePinCodeInput-DCLRLR8a.js +13097 -0
  15. package/dist/NiceSavedQueryPanel-DT9v7kUB.cjs +596 -0
  16. package/dist/NiceSavedQueryPanel-RLj3BnDR.js +6866 -0
  17. package/dist/NiceTabs-CFA8DGYR.cjs +1 -0
  18. package/dist/NiceTabs-Cx9DN6QD.js +1657 -0
  19. package/dist/NiceWindow-5VCSBJrc.js +1592 -0
  20. package/dist/NiceWindow-BEFAUTLp.cjs +1 -0
  21. package/dist/charts-De7FYS1U.cjs +761 -0
  22. package/dist/charts-DjFvhCdD.js +4657 -0
  23. package/dist/charts.cjs +1 -1
  24. package/dist/charts.mjs +1 -1
  25. package/dist/core-CT5vpy5U.js +25248 -0
  26. package/dist/core-CZE5v34h.cjs +122 -0
  27. package/dist/data-branching-B7dCyaWr.cjs +1 -0
  28. package/dist/data-branching-BPAeL45o.js +6133 -0
  29. package/dist/data-branching.cjs +1 -1
  30. package/dist/data-branching.mjs +1 -1
  31. package/dist/data.cjs +1 -1
  32. package/dist/data.d.ts +36 -1
  33. package/dist/data.mjs +1 -1
  34. package/dist/devops-C3Pmbnxc.js +7684 -0
  35. package/dist/devops-CrXz348W.cjs +17 -0
  36. package/dist/devops.cjs +1 -1
  37. package/dist/devops.mjs +1 -1
  38. package/dist/editors.cjs +1 -1
  39. package/dist/editors.d.ts +5 -2
  40. package/dist/editors.mjs +3 -3
  41. package/dist/feedback.cjs +1 -1
  42. package/dist/feedback.mjs +2 -2
  43. package/dist/index-9Gi1mNY7.js +67912 -0
  44. package/dist/index-Di3Cgr1P.cjs +5518 -0
  45. package/dist/index.cjs +1 -1
  46. package/dist/index.css +1 -1
  47. package/dist/index.d.ts +257 -46
  48. package/dist/index.mjs +743 -740
  49. package/dist/lazy.cjs +1 -1
  50. package/dist/lazy.mjs +24 -24
  51. package/dist/navigation.cjs +1 -1
  52. package/dist/navigation.d.ts +30 -4
  53. package/dist/navigation.mjs +4 -4
  54. package/dist/no-code-CHvv1KjZ.cjs +332 -0
  55. package/dist/no-code-CyvddsYt.js +7133 -0
  56. package/dist/no-code.cjs +1 -1
  57. package/dist/no-code.mjs +1 -1
  58. package/dist/overlays.cjs +1 -1
  59. package/dist/overlays.mjs +31 -31
  60. package/dist/style.css +2 -2
  61. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -75,7 +75,9 @@ import { Dispatch } from 'react';
75
75
  import { DisplayPreferences } from '@nice2dev/ui-core';
76
76
  import { endMark } from '@nice2dev/ui-core';
77
77
  import { FillVariant } from '@nice2dev/ui-core';
78
+ import { filterGroupToWhere } from '@nice2dev/ui-core';
78
79
  import { filterNiceThemePacksByTag } from '@nice2dev/ui-core';
80
+ import { FilterToSqlOptions } from '@nice2dev/ui-core';
79
81
  import { forceGC } from '@nice2dev/ui-core';
80
82
  import { formatICU } from '@nice2dev/ui-core';
81
83
  import { formatShortcut } from '@nice2dev/ui-core';
@@ -273,6 +275,7 @@ import { NiceSkipLink } from '@nice2dev/ui-core';
273
275
  import { NiceSkipLinkProps } from '@nice2dev/ui-core';
274
276
  import { NiceSortDirection } from '@nice2dev/ui-core';
275
277
  import { NiceSortExpression } from '@nice2dev/ui-core';
278
+ import { NiceSqlWhere } from '@nice2dev/ui-core';
276
279
  import { NiceSSEConfig } from '@nice2dev/ui-core';
277
280
  import { NiceSSEDataSource } from '@nice2dev/ui-core';
278
281
  import { NiceSSEMessage } from '@nice2dev/ui-core';
@@ -380,6 +383,7 @@ import { SHADOW_VALUES } from '@nice2dev/ui-core';
380
383
  import { ShadowVariant } from '@nice2dev/ui-core';
381
384
  import { simulateKeyboard } from '@nice2dev/ui-core';
382
385
  import { simulateType } from '@nice2dev/ui-core';
386
+ import { sortModelToOrderBy } from '@nice2dev/ui-core';
383
387
  import { startMark } from '@nice2dev/ui-core';
384
388
  import { StorageAdapter } from '@nice2dev/ui-core';
385
389
  import { StorageAuditResult } from '@nice2dev/ui-core';
@@ -730,6 +734,8 @@ export { aggregate }
730
734
 
731
735
  export { AggregateFunction }
732
736
 
737
+ declare type AggregateFunction_2 = 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX' | 'COUNT_DISTINCT';
738
+
733
739
  export { AggregateSpec }
734
740
 
735
741
  export declare type AggregationFunction = 'sum' | 'min' | 'max' | 'count' | 'avg';
@@ -2483,6 +2489,8 @@ declare interface ComputedField {
2483
2489
  dependencies: string[];
2484
2490
  }
2485
2491
 
2492
+ declare type ConditionOperator = '=' | '!=' | '>' | '<' | '>=' | '<=' | 'LIKE' | 'NOT LIKE' | 'IN' | 'NOT IN' | 'IS NULL' | 'IS NOT NULL' | 'BETWEEN';
2493
+
2486
2494
  /**
2487
2495
  * Confidence band configuration.
2488
2496
  */
@@ -3127,7 +3135,7 @@ export declare function deserializeRbacPolicy(json: string): NiceRbacPolicy;
3127
3135
 
3128
3136
  export { deserializeTheme }
3129
3137
 
3130
- export declare function deserializeViewV2(json: string): NiceViewDefinitionV2;
3138
+ export declare function deserializeView(json: string): NiceViewDefinition;
3131
3139
 
3132
3140
  declare interface DesignState {
3133
3141
  components: ComponentInstance[];
@@ -3343,7 +3351,7 @@ export declare function diffObjects(oldObj: Record<string, unknown>, newObj: Rec
3343
3351
  declare type DiffViewMode = 'split' | 'unified';
3344
3352
 
3345
3353
  /** Compare two view definitions and produce a diff. */
3346
- export declare function diffViews(oldView: NiceViewDefinitionV2, newView: NiceViewDefinitionV2): NiceViewDiffResult;
3354
+ export declare function diffViews(oldView: NiceViewDefinition, newView: NiceViewDefinition): NiceViewDiffResult;
3347
3355
 
3348
3356
  export { DisplayPreferences }
3349
3357
 
@@ -3900,15 +3908,15 @@ export declare interface EntityMapping {
3900
3908
  }
3901
3909
 
3902
3910
  /**
3903
- * Scaffold a {@link NiceViewDefinitionV2} from an entity:
3911
+ * Scaffold a {@link NiceViewDefinition} from an entity:
3904
3912
  * - `grid` → a single `dataGrid` cell over a `rows` rest data source (columns from fields);
3905
3913
  * - `form` / `detail` → field controls (mapped by dataType) laid out `perRow` per row,
3906
3914
  * two-way bound to a `record` data source (`detail` is read-only and omits the PK).
3907
3915
  * Universal — any entity with a `fields[]` array works (defaults to the OmniVerk shape).
3908
3916
  */
3909
- export declare function entityToViewV2(entity: NiceEntityLike, kind?: NiceEntityViewKind, options?: EntityToViewV2Options): NiceViewDefinitionV2;
3917
+ export declare function entityToView(entity: NiceEntityLike, kind?: NiceEntityViewKind, options?: EntityToViewOptions): NiceViewDefinition;
3910
3918
 
3911
- export declare interface EntityToViewV2Options {
3919
+ export declare interface EntityToViewOptions {
3912
3920
  /** dataType → controlType overrides (merged over {@link NICE_DATATYPE_CONTROL_MAP}). */
3913
3921
  fieldControlMap?: Record<string, string>;
3914
3922
  /** Cells per row for form/detail. Default 2. */
@@ -4469,7 +4477,7 @@ export declare interface ExpressionSet {
4469
4477
  }
4470
4478
 
4471
4479
  /** Extract all control types used in a view. */
4472
- export declare function extractControlTypes(view: NiceViewDefinitionV2): string[];
4480
+ export declare function extractControlTypes(view: NiceViewDefinition): string[];
4473
4481
 
4474
4482
  /**
4475
4483
  * Extract all CSS variables from a doc
@@ -4716,8 +4724,12 @@ declare interface FileItemActions {
4716
4724
 
4717
4725
  export { FillVariant }
4718
4726
 
4727
+ export { filterGroupToWhere }
4728
+
4719
4729
  export { filterNiceThemePacksByTag }
4720
4730
 
4731
+ export { FilterToSqlOptions }
4732
+
4721
4733
  export declare type FilterType = 'brightness' | 'contrast' | 'saturation' | 'hue' | 'blur' | 'sharpen' | 'grayscale' | 'sepia' | 'invert' | 'vignette' | 'chromaKey' | 'colorCorrection';
4722
4734
 
4723
4735
  /**
@@ -4953,7 +4965,7 @@ export declare function generateAdapters(config: AdapterGeneratorConfig): Adapte
4953
4965
  export declare function generateAllForRbac(policy: NiceRbacPolicy): NiceGeneratedFile[];
4954
4966
 
4955
4967
  /** Generate all code files for a view definition. */
4956
- export declare function generateAllForView(view: NiceViewDefinitionV2): NiceGeneratedFile[];
4968
+ export declare function generateAllForView(view: NiceViewDefinition): NiceGeneratedFile[];
4957
4969
 
4958
4970
  export { generateBadgeStyles }
4959
4971
 
@@ -4962,7 +4974,7 @@ export { generateButtonStyles }
4962
4974
  export { generateCardStyles }
4963
4975
 
4964
4976
  /** Generate a Dart model class from a view definition's data bindings. */
4965
- export declare function generateDartModel(view: NiceViewDefinitionV2): NiceGeneratedFile;
4977
+ export declare function generateDartModel(view: NiceViewDefinition): NiceGeneratedFile;
4966
4978
 
4967
4979
  export declare interface GeneratedFile {
4968
4980
  path: string;
@@ -5009,13 +5021,13 @@ export declare function generateRbacTypescript(policy: NiceRbacPolicy): NiceGene
5009
5021
  export declare function generateScaffold(config: NiceScaffoldConfig): NiceScaffoldResult;
5010
5022
 
5011
5023
  /** Generate story files for multiple views. */
5012
- export declare function generateStoriesFromViews(views: NiceViewDefinitionV2[], options?: {
5024
+ export declare function generateStoriesFromViews(views: NiceViewDefinition[], options?: {
5013
5025
  basePath?: string;
5014
5026
  showSource?: boolean;
5015
5027
  }): NiceStoryFile[];
5016
5028
 
5017
5029
  /** Generate a Storybook story file from a view definition. */
5018
- export declare function generateStoryFromView(view: NiceViewDefinitionV2, options?: {
5030
+ export declare function generateStoryFromView(view: NiceViewDefinition, options?: {
5019
5031
  /** Storybook base path for the title. Default: "ERP Views". */
5020
5032
  basePath?: string;
5021
5033
  /** Whether to include a code panel. Default: true. */
@@ -5038,14 +5050,14 @@ export { generateTooltipStyles }
5038
5050
  export { generateTracelessComplianceReport }
5039
5051
 
5040
5052
  /** Generate a TypeScript interface from a view definition's data bindings. */
5041
- export declare function generateTypescriptModel(view: NiceViewDefinitionV2): NiceGeneratedFile;
5053
+ export declare function generateTypescriptModel(view: NiceViewDefinition): NiceGeneratedFile;
5042
5054
 
5043
5055
  export { generateVariantCSS }
5044
5056
 
5045
5057
  export declare function generateVariations(baseHsv: HSV, count: number): string[];
5046
5058
 
5047
5059
  /** Generate a Storybook index/catalog page listing all view stories. */
5048
- export declare function generateViewCatalog(views: NiceViewDefinitionV2[], options?: {
5060
+ export declare function generateViewCatalog(views: NiceViewDefinition[], options?: {
5049
5061
  basePath?: string;
5050
5062
  }): NiceStoryFile;
5051
5063
 
@@ -5699,6 +5711,8 @@ export declare type JobStatus = 'idle' | 'running' | 'completed' | 'failed' | 'c
5699
5711
 
5700
5712
  declare type JobStatus_2 = 'pending' | 'running' | 'success' | 'failure' | 'cancelled' | 'skipped' | 'waiting';
5701
5713
 
5714
+ declare type JoinType = 'INNER' | 'LEFT' | 'RIGHT' | 'FULL' | 'CROSS';
5715
+
5702
5716
  export { KeyboardShortcut }
5703
5717
 
5704
5718
  declare interface Keyframe_2 {
@@ -6809,10 +6823,38 @@ export { NiceAccessControl }
6809
6823
 
6810
6824
  export { NiceAccessControlProps }
6811
6825
 
6826
+ export declare const NiceAccessManager: ForwardRefExoticComponent<NiceAccessManagerProps & RefAttributes<HTMLDivElement>>;
6827
+
6828
+ export declare interface NiceAccessManagerProps extends NiceBaseProps {
6829
+ /** The RBAC model (controlled). */
6830
+ value: NiceRbacModel;
6831
+ /** Change callback with the full updated model. */
6832
+ onChange: (model: NiceRbacModel) => void;
6833
+ /** Render read-only. */
6834
+ readOnly?: boolean;
6835
+ /** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
6836
+ tutorial?: NiceComponentTutorial;
6837
+ }
6838
+
6812
6839
  export { NiceAccessMode }
6813
6840
 
6814
6841
  export { NiceAccessPermissions }
6815
6842
 
6843
+ /** A node in the protected-resource tree (module → view/entity → …). */
6844
+ export declare interface NiceAccessResource {
6845
+ id: string;
6846
+ label: string;
6847
+ type?: 'module' | 'view' | 'entity' | 'field' | 'action' | 'group';
6848
+ children?: NiceAccessResource[];
6849
+ }
6850
+
6851
+ /** A role/subject that access is granted to. */
6852
+ export declare interface NiceAccessRole {
6853
+ id: string;
6854
+ label: string;
6855
+ description?: string;
6856
+ }
6857
+
6816
6858
  export declare const NiceAccordion: default_2.FC<NiceAccordionProps>;
6817
6859
 
6818
6860
  /** A panel definition for the {@link NiceAccordion}. */
@@ -10165,7 +10207,7 @@ export declare interface NiceCrossPlatformMeta {
10165
10207
  }
10166
10208
 
10167
10209
  /** Cross-platform view = standard view + cross-platform metadata. */
10168
- export declare interface NiceCrossPlatformView extends NiceViewDefinitionV2 {
10210
+ export declare interface NiceCrossPlatformView extends NiceViewDefinition {
10169
10211
  crossPlatform?: NiceCrossPlatformMeta;
10170
10212
  }
10171
10213
 
@@ -10366,7 +10408,7 @@ export declare interface NiceDataDiffViewerProps extends NiceBaseProps {
10366
10408
  onSelectRecord?: (table: string, recordId: string) => void;
10367
10409
  }
10368
10410
 
10369
- export declare function NiceDataGrid<T extends Record<string, any>>({ columns, data: dataProp, keyField, dataSource, sortable, sortField: controlledSortField, sortDirection: controlledSortDir, onSort, selectable, selectedKeys: controlledSelected, onSelectionChange, pagination, pageSize: initPageSize, page: controlledPage, onPageChange, totalRows, searchable, searchPlaceholder, virtualScroll, rowHeight, groupBy, groupRender, onCellEdit, editMode, formItems, formColumns, editFormTitle, formProps, onRowEdit, onRowAdd, onRowDelete: _onRowDelete, bulkActions, onBulkDelete, exportCsv, exportFilename, detailRow, expandedRowKeys: controlledExpandedRows, onExpandedRowChange, columnReorder: _columnReorder, onColumnReorder: _onColumnReorder, columnResize, rowDraggable, onRowReorder, striped, compact, loading: loadingProp, emptyText, toolbar, onRowClick, pinnedTopKeys, pinnedBottomKeys, colSpan: colSpanFn, showStatusBar, contextMenuItems, onContextMenuAction, printFriendly, keyboardNavigation, focusedCell: controlledFocusedCell, onFocusedCellChange, cellRangeSelection, selectedCellRange: controlledCellRange, onCellRangeChange, clipboard, clipboardFormat, onBeforeCopy, onCopy, onPaste, quickFilters, activeQuickFilters: controlledQuickFilters, onQuickFilterChange, columnGroups: _columnGroups, stateStorageKey, initialState, onStateChange, flashRowKeys, flashDuration, autoFitColumns: _autoFitColumns, showColumnStats: _showColumnStats, rowIndicator, frozenRows: _frozenRows, className, style, accessMode, id, displayStyle, }: NiceDataGridProps<T>): default_2.JSX.Element | null;
10411
+ export declare function NiceDataGrid<T extends Record<string, any>>({ columns, data: dataProp, keyField, dataSource, sortable, sortField: controlledSortField, sortDirection: controlledSortDir, onSort, showAdvancedFilter, advancedFilter, onAdvancedFilterChange, filterFields, filterPresets, onSaveFilterPreset, onDeleteFilterPreset, selectable, selectedKeys: controlledSelected, onSelectionChange, pagination, pageSize: initPageSize, page: controlledPage, onPageChange, totalRows, searchable, searchPlaceholder, virtualScroll, rowHeight, groupBy, groupRender, onCellEdit, editMode, formItems, formColumns, editFormTitle, formProps, onRowEdit, onRowAdd, onRowDelete: _onRowDelete, bulkActions, onBulkDelete, exportCsv, exportFilename, detailRow, expandedRowKeys: controlledExpandedRows, onExpandedRowChange, columnReorder: _columnReorder, onColumnReorder: _onColumnReorder, columnResize, rowDraggable, onRowReorder, striped, compact, loading: loadingProp, emptyText, toolbar, onRowClick, pinnedTopKeys, pinnedBottomKeys, colSpan: colSpanFn, showStatusBar, contextMenuItems, onContextMenuAction, printFriendly, keyboardNavigation, focusedCell: controlledFocusedCell, onFocusedCellChange, cellRangeSelection, selectedCellRange: controlledCellRange, onCellRangeChange, clipboard, clipboardFormat, onBeforeCopy, onCopy, onPaste, quickFilters, activeQuickFilters: controlledQuickFilters, onQuickFilterChange, columnGroups: _columnGroups, stateStorageKey, initialState, onStateChange, flashRowKeys, flashDuration, autoFitColumns: _autoFitColumns, showColumnStats: _showColumnStats, rowIndicator, frozenRows: _frozenRows, className, style, accessMode, id, displayStyle, }: NiceDataGridProps<T>): default_2.JSX.Element | null;
10370
10412
 
10371
10413
  export declare namespace NiceDataGrid {
10372
10414
  var displayName: string;
@@ -10490,6 +10532,18 @@ export declare interface NiceDataGridProps<T extends Record<string, any> = any>
10490
10532
  sortField?: string;
10491
10533
  sortDirection?: SortDirection;
10492
10534
  onSort?: (field: string, direction: SortDirection) => void;
10535
+ /** Show an "Advanced filter" toolbar button that opens a NiceFilterBuilder panel. */
10536
+ showAdvancedFilter?: boolean;
10537
+ /** The advanced filter tree (controlled). Applied client-side unless a dataSource is bound. */
10538
+ advancedFilter?: NiceFilterGroup;
10539
+ /** Change callback for the advanced filter. */
10540
+ onAdvancedFilterChange?: (filter: NiceFilterGroup) => void;
10541
+ /** Filterable fields for the builder. Defaults to the (filterable) columns. */
10542
+ filterFields?: NiceFilterField[];
10543
+ /** Saved filter presets shown in the builder. */
10544
+ filterPresets?: NiceFilterPreset[];
10545
+ onSaveFilterPreset?: (preset: NiceFilterPreset) => void;
10546
+ onDeleteFilterPreset?: (name: string) => void;
10493
10547
  selectable?: boolean;
10494
10548
  selectedKeys?: Set<string>;
10495
10549
  onSelectionChange?: (keys: Set<string>) => void;
@@ -10671,10 +10725,47 @@ export declare interface NiceDataSnapshotProps extends NiceBaseProps {
10671
10725
 
10672
10726
  export { NiceDataSource }
10673
10727
 
10728
+ export declare const NiceDataSourceBuilder: ForwardRefExoticComponent<NiceDataSourceBuilderProps & RefAttributes<HTMLDivElement>>;
10729
+
10730
+ export declare interface NiceDataSourceBuilderProps extends NiceBaseProps {
10731
+ /** The data source being edited (controlled). */
10732
+ value?: NiceDataSourceDef;
10733
+ /** Change callback with the full updated data source (incl. generated SQL). */
10734
+ onChange?: (ds: NiceDataSourceDef) => void;
10735
+ /** Tables available from the connected database schema(s) — host-supplied. */
10736
+ schemas: NiceDataSourceSchemaTable[];
10737
+ /** Optional ER/schema preview slot (e.g. NiceDatabaseSchemaViewer from ui-diagrams). */
10738
+ renderSchemaPreview?: (schemas: NiceDataSourceSchemaTable[]) => React.ReactNode;
10739
+ /** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
10740
+ tutorial?: NiceComponentTutorial;
10741
+ }
10742
+
10674
10743
  export { NiceDataSourceConfig }
10675
10744
 
10745
+ /** A reusable, serializable data source (maps to a view-standard `query` source). */
10746
+ export declare interface NiceDataSourceDef {
10747
+ key: string;
10748
+ label?: string;
10749
+ kind: 'query';
10750
+ query: NiceQueryModel;
10751
+ /** Generated SQL view (read-only artifact derived from `query`). */
10752
+ sql: string;
10753
+ }
10754
+
10676
10755
  export { NiceDataSourceEventMap }
10677
10756
 
10757
+ /** A table the host exposes from a connected database schema. */
10758
+ export declare interface NiceDataSourceSchemaTable {
10759
+ name: string;
10760
+ schema?: string;
10761
+ columns: Array<{
10762
+ name: string;
10763
+ dataType: string;
10764
+ isPrimaryKey?: boolean;
10765
+ isForeignKey?: boolean;
10766
+ }>;
10767
+ }
10768
+
10678
10769
  export { NiceDataSourceState }
10679
10770
 
10680
10771
  /** Predefined date-format presets. */
@@ -14683,8 +14774,11 @@ export declare interface NiceLoginFormProps extends NiceStandardProps {
14683
14774
  passwordPlaceholder?: string;
14684
14775
  }
14685
14776
 
14686
- /** Severity of a single console entry. */
14687
- export declare type NiceLogLevel = 'log' | 'info' | 'warn' | 'error' | 'debug';
14777
+ /**
14778
+ * Severity of a single console entry. `'trace'` sits below `'debug'` to mirror
14779
+ * standard loggers (Microsoft.Extensions.Logging, Serilog, Python logging, …).
14780
+ */
14781
+ export declare type NiceLogLevel = 'trace' | 'log' | 'info' | 'warn' | 'error' | 'debug';
14688
14782
 
14689
14783
  export declare const NiceLogo: default_2.ForwardRefExoticComponent<NiceLogoProps & default_2.RefAttributes<HTMLElement>>;
14690
14784
 
@@ -17675,6 +17769,18 @@ export declare interface NiceQRCodeProps extends NiceStandardProps {
17675
17769
  /** Reed-Solomon error correction level for QR codes. */
17676
17770
  export declare type NiceQRErrorCorrection = 'L' | 'M' | 'Q' | 'H';
17677
17771
 
17772
+ /** The visual query model owned by the builder. */
17773
+ export declare interface NiceQueryModel {
17774
+ tables: QueryTable[];
17775
+ joins: QueryJoin[];
17776
+ conditions: QueryCondition[];
17777
+ sorts: QuerySort[];
17778
+ groupBy: QueryGroupBy[];
17779
+ distinct: boolean;
17780
+ limit?: number;
17781
+ offset?: number;
17782
+ }
17783
+
17678
17784
  /**
17679
17785
  * {@link NiceQuestCard} — Displays a quest/task card with progress, rewards, deadline and action buttons.
17680
17786
  */
@@ -17957,6 +18063,16 @@ export declare interface NiceRbacDenyRule {
17957
18063
  actions: RbacAction[];
17958
18064
  }
17959
18065
 
18066
+ /** The full RBAC model: roles, the resource tree, the action columns, and grants. */
18067
+ export declare interface NiceRbacModel {
18068
+ roles: NiceAccessRole[];
18069
+ resources: NiceAccessResource[];
18070
+ /** Action columns (view/create/edit/delete/…) applied per resource. */
18071
+ actions: PermissionAction[];
18072
+ /** `grants[resourceId]` is a `roleId:actionId → boolean|'inherited'` map. */
18073
+ grants: Record<string, PermissionMatrixValue>;
18074
+ }
18075
+
17960
18076
  /** Single permission granting or denying an action on a resource. */
17961
18077
  export declare interface NiceRbacPermission {
17962
18078
  /** Resource key (e.g. "sales.orders", "inventory.products"). */
@@ -19482,6 +19598,9 @@ export declare interface NiceShowcaseProps extends NiceBaseProps {
19482
19598
  /** Available showcase tabs for the {@link NiceShowcase} component. */
19483
19599
  export declare type NiceShowcaseTab = 'about' | 'dashboard' | 'users' | 'data' | 'forms' | 'scheduling' | 'files' | 'controls' | 'docs' | 'theme-designer';
19484
19600
 
19601
+ /** Context-menu / gesture actions that can be selectively disabled (e.g. for guests). */
19602
+ declare type NiceSidebarContextMenuAction = 'hide' | 'reorder' | 'rename' | 'newGroup' | 'collapseToggle';
19603
+
19485
19604
  export declare const NiceSidebarNav: ForwardRefExoticComponent<NiceSidebarNavProps & RefAttributes<HTMLDivElement>>;
19486
19605
 
19487
19606
  export declare interface NiceSidebarNavProps {
@@ -19510,6 +19629,21 @@ export declare interface NiceSidebarNavProps {
19510
19629
  routeToUrl?: (route: string) => string;
19511
19630
  /** Enable the right-click context menu on view nodes. Default `true`. */
19512
19631
  contextMenu?: boolean;
19632
+ /**
19633
+ * Disable individual destructive context-menu actions (and the matching
19634
+ * gestures). Listed actions render greyed-out; non-destructive actions
19635
+ * ("Open in new tab", "Copy link", favorites) stay enabled. Useful for guest
19636
+ * / demo panels that have no Preferences page to recover from accidental edits.
19637
+ */
19638
+ disabledContextMenuActions?: NiceSidebarContextMenuAction[];
19639
+ /**
19640
+ * Shorthand for read-only mode: disables every destructive context-menu
19641
+ * action ('hide', 'reorder', 'rename', 'newGroup') and drag-reorder, while
19642
+ * keeping navigation, expand/collapse and "Open in new tab" / "Copy link".
19643
+ * Equivalent to passing the full destructive list to
19644
+ * {@link disabledContextMenuActions}. Default `false`.
19645
+ */
19646
+ readonly?: boolean;
19513
19647
  /**
19514
19648
  * Override the initial enableModeIcons flag.
19515
19649
  * Can be toggled later via Preferences.
@@ -19533,12 +19667,20 @@ export declare interface NiceSidebarNavProps {
19533
19667
  */
19534
19668
  position?: 'left' | 'right';
19535
19669
  /**
19536
- * **Minimal mode** — hides the mode strip, sources, favorites and footer
19537
- * preferences, leaving only the navigation tree. Use for stripped-down
19538
- * shells (auth flows, embedded views) where the full taxonomy is overkill.
19539
- * Default `false`.
19670
+ * **Minimal mode** — shorthand that hides the mode strip, source headers,
19671
+ * the favorites view and the footer preferences, leaving only the navigation
19672
+ * tree. Equivalent to setting all four `show*` flags below to `false`. The
19673
+ * granular flags override it when set explicitly. Default `false`.
19540
19674
  */
19541
19675
  minimal?: boolean;
19676
+ /** Show the mode-icon strip (Pinned / Recent / All / Prefs). Default `!minimal`. */
19677
+ showModeStrip?: boolean;
19678
+ /** Show source section headers above their trees. Default `!minimal`. */
19679
+ showSources?: boolean;
19680
+ /** Allow the Favorites view/mode. Default `!minimal`. */
19681
+ showFavorites?: boolean;
19682
+ /** Allow the footer Preferences view/mode. Default `!minimal`. */
19683
+ showFooterPreferences?: boolean;
19542
19684
  /**
19543
19685
  * **Embedded mode** — render the sidebar inside another container (e.g. a
19544
19686
  * mobile drawer / hamburger menu). Forces full width, drops the footer with
@@ -20114,6 +20256,8 @@ export declare interface NiceSpreadsheetSheet {
20114
20256
  columnFilters?: Record<number, string>;
20115
20257
  }
20116
20258
 
20259
+ export { NiceSqlWhere }
20260
+
20117
20261
  export { NiceSSEConfig }
20118
20262
 
20119
20263
  export { NiceSSEDataSource }
@@ -22852,7 +22996,7 @@ export declare class NiceViewCache {
22852
22996
  /** Get a cached view definition. Returns undefined if not found or expired. */
22853
22997
  get(module: string, viewId: string): Promise<NiceViewCacheEntry | undefined>;
22854
22998
  /** Store a view definition in the cache. */
22855
- set(module: string, viewId: string, view: NiceViewDefinitionV2, etag?: string): Promise<void>;
22999
+ set(module: string, viewId: string, view: NiceViewDefinition, etag?: string): Promise<void>;
22856
23000
  /** Remove a specific view from cache. */
22857
23001
  remove(module: string, viewId: string): Promise<void>;
22858
23002
  /** Clear all cached views. */
@@ -22878,7 +23022,7 @@ export declare interface NiceViewCacheConfig {
22878
23022
  /** Cached view entry with metadata. */
22879
23023
  export declare interface NiceViewCacheEntry {
22880
23024
  /** View definition */
22881
- view: NiceViewDefinitionV2;
23025
+ view: NiceViewDefinition;
22882
23026
  /** ETag for conditional refresh */
22883
23027
  etag?: string;
22884
23028
  /** Timestamp when cached (ms since epoch) */
@@ -22890,7 +23034,7 @@ export declare interface NiceViewCacheEntry {
22890
23034
  }
22891
23035
 
22892
23036
  /** Extended cell definition with data binding, actions, and permissions. */
22893
- export declare interface NiceViewCellV2 {
23037
+ export declare interface NiceViewCell {
22894
23038
  id: string;
22895
23039
  /** Component type key (maps to NiceViewRegistry) */
22896
23040
  controlType: string;
@@ -22957,7 +23101,7 @@ export declare interface NiceViewDataStore {
22957
23101
  }
22958
23102
 
22959
23103
  /** Full view definition v2 with data binding, actions, and permissions. */
22960
- export declare interface NiceViewDefinitionV2 {
23104
+ export declare interface NiceViewDefinition {
22961
23105
  /** Unique view identifier */
22962
23106
  id: string;
22963
23107
  /** Display name */
@@ -22969,7 +23113,7 @@ export declare interface NiceViewDefinitionV2 {
22969
23113
  /** Grid columns count */
22970
23114
  columns?: number;
22971
23115
  /** Top-level rows */
22972
- rows?: NiceViewRowV2[];
23116
+ rows?: NiceViewRow[];
22973
23117
  /** Optional nested container layout (replaces rows for complex layouts) */
22974
23118
  container?: NiceViewContainer;
22975
23119
  /** Alias for `container` — convenience root layout node. */
@@ -23022,17 +23166,19 @@ export declare const NiceViewEditor: ForwardRefExoticComponent<NiceViewEditorPro
23022
23166
 
23023
23167
  export declare interface NiceViewEditorProps extends NiceStandardProps {
23024
23168
  /** The view to edit (controlled). */
23025
- value?: NiceViewDefinitionV2;
23169
+ value?: NiceViewDefinition;
23026
23170
  /** Change callback with the full updated view. */
23027
- onChange?: (view: NiceViewDefinitionV2) => void;
23171
+ onChange?: (view: NiceViewDefinition) => void;
23028
23172
  /** Control registry for the live preview. Default `defaultViewRegistry`. */
23029
23173
  registry?: NiceViewRegistry;
23030
23174
  /** Entities available for "New from entity" + binding field hints. */
23031
23175
  entities?: NiceEntityLike[];
23032
23176
  /** Save callback (shows a Save button when provided). */
23033
- onSave?: (view: NiceViewDefinitionV2) => void;
23177
+ onSave?: (view: NiceViewDefinition) => void;
23034
23178
  /** Editor height. Default `560`. */
23035
23179
  height?: number | string;
23180
+ /** Optional "?" guided tour. Off by default; `true` uses the built-in tour. */
23181
+ tutorial?: NiceComponentTutorial;
23036
23182
  }
23037
23183
 
23038
23184
  /** Event-to-action mapping on a cell. */
@@ -23094,7 +23240,7 @@ export declare class NiceViewFetchError extends Error {
23094
23240
  /** Result of a view fetch operation. */
23095
23241
  export declare interface NiceViewFetchResult {
23096
23242
  /** The fetched view definition (undefined if 304 Not Modified) */
23097
- view?: NiceViewDefinitionV2;
23243
+ view?: NiceViewDefinition;
23098
23244
  /** HTTP status code */
23099
23245
  status: number;
23100
23246
  /** ETag from response (for conditional requests) */
@@ -23206,15 +23352,11 @@ export declare class NiceViewRegistry {
23206
23352
  clear(): void;
23207
23353
  }
23208
23354
 
23209
- export declare const NiceViewRenderer: ForwardRefExoticComponent<NiceViewRendererV2Props & RefAttributes<HTMLDivElement>>;
23210
-
23211
- export declare type NiceViewRendererProps = NiceViewRendererV2Props;
23212
-
23213
- export declare const NiceViewRendererV2: default_2.ForwardRefExoticComponent<NiceViewRendererV2Props & default_2.RefAttributes<HTMLDivElement>>;
23355
+ export declare const NiceViewRenderer: default_2.ForwardRefExoticComponent<NiceViewRendererProps & default_2.RefAttributes<HTMLDivElement>>;
23214
23356
 
23215
- export declare interface NiceViewRendererV2Props extends NiceBaseProps {
23357
+ export declare interface NiceViewRendererProps extends NiceBaseProps {
23216
23358
  /** The v2 view definition to render. */
23217
- view: NiceViewDefinitionV2;
23359
+ view: NiceViewDefinition;
23218
23360
  /** Optional registry (uses defaultViewRegistry if omitted). */
23219
23361
  registry?: NiceViewRegistry;
23220
23362
  /** Data store providing bound data. */
@@ -23235,12 +23377,22 @@ export declare interface NiceViewRendererV2Props extends NiceBaseProps {
23235
23377
  }>;
23236
23378
  /** Record index for list/detail contexts. */
23237
23379
  recordIndex?: number;
23380
+ /**
23381
+ * Execute an inline V2 `script` action (the `'script'` action type). The renderer never
23382
+ * evaluates script source itself — supply a host bridge here (e.g. a sandbox, or a
23383
+ * Jint/Roslyn test endpoint). When omitted, `script` actions are skipped with a warning.
23384
+ */
23385
+ onRunScript?: (script: string, meta: {
23386
+ language: 'js' | 'csharp';
23387
+ action: NiceViewAction;
23388
+ context: NiceActionContext;
23389
+ }) => void | Promise<void>;
23238
23390
  }
23239
23391
 
23240
23392
  /** Row in a v2 layout. */
23241
- export declare interface NiceViewRowV2 {
23393
+ export declare interface NiceViewRow {
23242
23394
  id: string;
23243
- cells: NiceViewCellV2[];
23395
+ cells: NiceViewCell[];
23244
23396
  height?: string;
23245
23397
  /** Visibility expression */
23246
23398
  visibleWhen?: string;
@@ -23254,7 +23406,7 @@ export declare interface NiceViewSection {
23254
23406
  label?: string;
23255
23407
  icon?: string;
23256
23408
  /** Rows inside this section */
23257
- rows: NiceViewRowV2[];
23409
+ rows: NiceViewRow[];
23258
23410
  /** Nested container (for deep layouts) */
23259
23411
  container?: NiceViewContainer;
23260
23412
  }
@@ -23280,7 +23432,7 @@ export declare interface NiceViewToolbarItem {
23280
23432
  items?: Omit<NiceViewToolbarItem, 'items'>[];
23281
23433
  }
23282
23434
 
23283
- export declare type NiceViewUpdateListener = (view: NiceViewDefinitionV2) => void;
23435
+ export declare type NiceViewUpdateListener = (view: NiceViewDefinition) => void;
23284
23436
 
23285
23437
  export declare const NiceVirtualScroller: <T>(props: NiceVirtualScrollerProps<T> & {
23286
23438
  ref?: default_2.ForwardedRef<HTMLDivElement>;
@@ -23640,9 +23792,9 @@ export declare interface NiceWorkflowDefinition {
23640
23792
  bpmn?: BPMNProcessDefinition;
23641
23793
  }
23642
23794
 
23643
- export declare const NiceWorkflowDesignerV2: default_2.FC<NiceWorkflowDesignerV2Props>;
23795
+ export declare const NiceWorkflowDesigner: default_2.FC<NiceWorkflowDesignerProps>;
23644
23796
 
23645
- export declare interface NiceWorkflowDesignerV2Props extends NiceBaseProps {
23797
+ export declare interface NiceWorkflowDesignerProps extends NiceBaseProps {
23646
23798
  workflow?: NiceWorkflowDefinition;
23647
23799
  /** Convenience: flat node list mapped into `workflow.states` when `workflow` is omitted. */
23648
23800
  nodes?: Array<{
@@ -24647,6 +24799,60 @@ export declare interface QualityPresetDefinition {
24647
24799
  profile: Partial<TranscodeProfile>;
24648
24800
  }
24649
24801
 
24802
+ declare interface QueryColumn {
24803
+ name: string;
24804
+ dataType: string;
24805
+ isPrimaryKey?: boolean;
24806
+ isForeignKey?: boolean;
24807
+ selected: boolean;
24808
+ alias?: string;
24809
+ aggregate?: AggregateFunction_2;
24810
+ }
24811
+
24812
+ declare interface QueryCondition {
24813
+ id: string;
24814
+ tableId: string;
24815
+ column: string;
24816
+ operator: ConditionOperator;
24817
+ value: string;
24818
+ value2?: string;
24819
+ logicalOperator?: 'AND' | 'OR';
24820
+ groupId?: string;
24821
+ }
24822
+
24823
+ declare interface QueryGroupBy {
24824
+ tableId: string;
24825
+ column: string;
24826
+ }
24827
+
24828
+ declare interface QueryJoin {
24829
+ id: string;
24830
+ type: JoinType;
24831
+ leftTableId: string;
24832
+ leftColumn: string;
24833
+ rightTableId: string;
24834
+ rightColumn: string;
24835
+ }
24836
+
24837
+ declare interface QuerySort {
24838
+ id: string;
24839
+ tableId: string;
24840
+ column: string;
24841
+ direction: SortDirection_2;
24842
+ }
24843
+
24844
+ declare interface QueryTable {
24845
+ id: string;
24846
+ name: string;
24847
+ alias?: string;
24848
+ schema?: string;
24849
+ position: {
24850
+ x: number;
24851
+ y: number;
24852
+ };
24853
+ columns: QueryColumn[];
24854
+ }
24855
+
24650
24856
  /** Quest reward definition. */
24651
24857
  export declare interface QuestReward {
24652
24858
  type: 'xp' | 'badge' | 'item' | 'currency' | 'custom';
@@ -25599,7 +25805,7 @@ export declare function serializeRbacPolicy(policy: NiceRbacPolicy): string;
25599
25805
 
25600
25806
  export { serializeTheme }
25601
25807
 
25602
- export declare function serializeViewV2(view: NiceViewDefinitionV2): string;
25808
+ export declare function serializeView(view: NiceViewDefinition): string;
25603
25809
 
25604
25810
  /**
25605
25811
  * useServiceWorker — Service Worker registration and update management
@@ -25845,6 +26051,7 @@ export declare interface SidebarNavHelpers {
25845
26051
  removeFavorite: (id: string) => void;
25846
26052
  setMaxDepth: (mode: SidebarNavMode, depth: number) => void;
25847
26053
  toggleCollapse: (nodeId: string) => void;
26054
+ setCollapsed: (ids: string[], collapsed: boolean) => void;
25848
26055
  setAutoExpand: (v: boolean) => void;
25849
26056
  /** Set the user's preferred left-click behaviour for sidebar items. */
25850
26057
  setLeftClickBehavior: (v: 'focus-existing' | 'open-new') => void;
@@ -26131,6 +26338,10 @@ export declare interface SnapshotSchedule {
26131
26338
  /** Sort direction for grid columns (`null` = unsorted). */
26132
26339
  declare type SortDirection = 'asc' | 'desc' | null;
26133
26340
 
26341
+ declare type SortDirection_2 = 'ASC' | 'DESC';
26342
+
26343
+ export { sortModelToOrderBy }
26344
+
26134
26345
  /** Sort option */
26135
26346
  export declare type SortOption = 'name-asc' | 'name-desc' | 'date-asc' | 'date-desc' | 'size-asc' | 'size-desc' | 'relevance';
26136
26347
 
@@ -28457,13 +28668,13 @@ export declare function validateModuleManifest(m: NiceModuleManifest): string[];
28457
28668
  export declare function validateRbacPolicy(policy: NiceRbacPolicy): string[];
28458
28669
 
28459
28670
  /** Validate a v2 view definition, returning an array of error messages. */
28460
- export declare function validateViewDefinitionV2(view: NiceViewDefinitionV2): string[];
28671
+ export declare function validateViewDefinition(view: NiceViewDefinition): string[];
28461
28672
 
28462
28673
  /** Full validation of a view definition before deploy. */
28463
- export declare function validateViewForDeploy(view: NiceViewDefinitionV2, config?: NiceValidatorConfig): NiceValidationReport;
28674
+ export declare function validateViewForDeploy(view: NiceViewDefinition, config?: NiceValidatorConfig): NiceValidationReport;
28464
28675
 
28465
28676
  /** Batch-validate multiple views. */
28466
- export declare function validateViewsBatch(views: NiceViewDefinitionV2[], config?: NiceValidatorConfig): NiceValidationReport[];
28677
+ export declare function validateViewsBatch(views: NiceViewDefinition[], config?: NiceValidatorConfig): NiceValidationReport[];
28467
28678
 
28468
28679
  declare interface ValidationContextValue {
28469
28680
  register: (name: string, validate: () => NiceValidationResult) => void;