photon-grid-core 0.0.1
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/LICENSE +1 -0
- package/README.md +0 -0
- package/cell-selection/active-grid-registry.d.ts +37 -0
- package/cell-selection/active-grid-registry.d.ts.map +1 -0
- package/cell-selection/active-grid-registry.js +25 -0
- package/cell-selection/active-grid-registry.js.map +1 -0
- package/cell-selection/cell-selection-engine.d.ts +336 -0
- package/cell-selection/cell-selection-engine.d.ts.map +1 -0
- package/cell-selection/cell-selection-engine.js +1534 -0
- package/cell-selection/cell-selection-engine.js.map +1 -0
- package/cell-selection/selection-range.d.ts +16 -0
- package/cell-selection/selection-range.d.ts.map +1 -0
- package/cell-selection/selection-range.js +48 -0
- package/cell-selection/selection-range.js.map +1 -0
- package/cell-selection/selection-renderer.d.ts +24 -0
- package/cell-selection/selection-renderer.d.ts.map +1 -0
- package/cell-selection/selection-renderer.js +107 -0
- package/cell-selection/selection-renderer.js.map +1 -0
- package/chart/chart-analyzer/aggregation-analyzer.d.ts +18 -0
- package/chart/chart-analyzer/aggregation-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/aggregation-analyzer.js +63 -0
- package/chart/chart-analyzer/aggregation-analyzer.js.map +1 -0
- package/chart/chart-analyzer/bar-analyzer.d.ts +19 -0
- package/chart/chart-analyzer/bar-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/bar-analyzer.js +56 -0
- package/chart/chart-analyzer/bar-analyzer.js.map +1 -0
- package/chart/chart-analyzer/bubble-analyzer.d.ts +16 -0
- package/chart/chart-analyzer/bubble-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/bubble-analyzer.js +61 -0
- package/chart/chart-analyzer/bubble-analyzer.js.map +1 -0
- package/chart/chart-analyzer/cardinality-analyzer.d.ts +13 -0
- package/chart/chart-analyzer/cardinality-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/cardinality-analyzer.js +28 -0
- package/chart/chart-analyzer/cardinality-analyzer.js.map +1 -0
- package/chart/chart-analyzer/dimension-analyzer.d.ts +12 -0
- package/chart/chart-analyzer/dimension-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/dimension-analyzer.js +33 -0
- package/chart/chart-analyzer/dimension-analyzer.js.map +1 -0
- package/chart/chart-analyzer/histogram-analyzer.d.ts +11 -0
- package/chart/chart-analyzer/histogram-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/histogram-analyzer.js +43 -0
- package/chart/chart-analyzer/histogram-analyzer.js.map +1 -0
- package/chart/chart-analyzer/index.d.ts +58 -0
- package/chart/chart-analyzer/index.d.ts.map +1 -0
- package/chart/chart-analyzer/index.js +130 -0
- package/chart/chart-analyzer/index.js.map +1 -0
- package/chart/chart-analyzer/line-analyzer.d.ts +23 -0
- package/chart/chart-analyzer/line-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/line-analyzer.js +61 -0
- package/chart/chart-analyzer/line-analyzer.js.map +1 -0
- package/chart/chart-analyzer/measure-analyzer.d.ts +11 -0
- package/chart/chart-analyzer/measure-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/measure-analyzer.js +44 -0
- package/chart/chart-analyzer/measure-analyzer.js.map +1 -0
- package/chart/chart-analyzer/pie-analyzer.d.ts +19 -0
- package/chart/chart-analyzer/pie-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/pie-analyzer.js +64 -0
- package/chart/chart-analyzer/pie-analyzer.js.map +1 -0
- package/chart/chart-analyzer/recommendation-engine.d.ts +18 -0
- package/chart/chart-analyzer/recommendation-engine.d.ts.map +1 -0
- package/chart/chart-analyzer/recommendation-engine.js +82 -0
- package/chart/chart-analyzer/recommendation-engine.js.map +1 -0
- package/chart/chart-analyzer/scatter-analyzer.d.ts +16 -0
- package/chart/chart-analyzer/scatter-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer/scatter-analyzer.js +70 -0
- package/chart/chart-analyzer/scatter-analyzer.js.map +1 -0
- package/chart/chart-analyzer/types.d.ts +52 -0
- package/chart/chart-analyzer/types.d.ts.map +1 -0
- package/chart/chart-analyzer/types.js +10 -0
- package/chart/chart-analyzer/types.js.map +1 -0
- package/chart/chart-analyzer.d.ts +12 -0
- package/chart/chart-analyzer.d.ts.map +1 -0
- package/chart/chart-analyzer.js +77 -0
- package/chart/chart-analyzer.js.map +1 -0
- package/chart/chart-data-transformer.d.ts +26 -0
- package/chart/chart-data-transformer.d.ts.map +1 -0
- package/chart/chart-data-transformer.js +93 -0
- package/chart/chart-data-transformer.js.map +1 -0
- package/chart/chart-engine.d.ts +38 -0
- package/chart/chart-engine.d.ts.map +1 -0
- package/chart/chart-engine.js +96 -0
- package/chart/chart-engine.js.map +1 -0
- package/chart/chart-panel.d.ts +54 -0
- package/chart/chart-panel.d.ts.map +1 -0
- package/chart/chart-panel.js +350 -0
- package/chart/chart-panel.js.map +1 -0
- package/chart/chart-renderer.d.ts +93 -0
- package/chart/chart-renderer.d.ts.map +1 -0
- package/chart/chart-renderer.js +1330 -0
- package/chart/chart-renderer.js.map +1 -0
- package/chart/sparkline/sparkline-renderer.d.ts +269 -0
- package/chart/sparkline/sparkline-renderer.d.ts.map +1 -0
- package/chart/sparkline/sparkline-renderer.js +875 -0
- package/chart/sparkline/sparkline-renderer.js.map +1 -0
- package/chart/sparkline/sparkline.types.d.ts +214 -0
- package/chart/sparkline/sparkline.types.d.ts.map +1 -0
- package/chart/sparkline/sparkline.types.js +8 -0
- package/chart/sparkline/sparkline.types.js.map +1 -0
- package/column-groups/column-group-drag-handler.d.ts +169 -0
- package/column-groups/column-group-drag-handler.d.ts.map +1 -0
- package/column-groups/column-group-drag-handler.js +517 -0
- package/column-groups/column-group-drag-handler.js.map +1 -0
- package/column-groups/column-group-header-builder.d.ts +106 -0
- package/column-groups/column-group-header-builder.d.ts.map +1 -0
- package/column-groups/column-group-header-builder.js +311 -0
- package/column-groups/column-group-header-builder.js.map +1 -0
- package/column-groups/column-group-model.d.ts +248 -0
- package/column-groups/column-group-model.d.ts.map +1 -0
- package/column-groups/column-group-model.js +668 -0
- package/column-groups/column-group-model.js.map +1 -0
- package/column-groups/column-group-state-manager.d.ts +110 -0
- package/column-groups/column-group-state-manager.d.ts.map +1 -0
- package/column-groups/column-group-state-manager.js +153 -0
- package/column-groups/column-group-state-manager.js.map +1 -0
- package/column-groups/column-group.types.d.ts +250 -0
- package/column-groups/column-group.types.d.ts.map +1 -0
- package/column-groups/column-group.types.js +20 -0
- package/column-groups/column-group.types.js.map +1 -0
- package/column-groups/display-group-builder.d.ts +91 -0
- package/column-groups/display-group-builder.d.ts.map +1 -0
- package/column-groups/display-group-builder.js +225 -0
- package/column-groups/display-group-builder.js.map +1 -0
- package/column-groups/display-group-drag-handler.d.ts +205 -0
- package/column-groups/display-group-drag-handler.d.ts.map +1 -0
- package/column-groups/display-group-drag-handler.js +536 -0
- package/column-groups/display-group-drag-handler.js.map +1 -0
- package/column-groups/display-group-engine.d.ts +310 -0
- package/column-groups/display-group-engine.d.ts.map +1 -0
- package/column-groups/display-group-engine.js +549 -0
- package/column-groups/display-group-engine.js.map +1 -0
- package/column-groups/display-group-header-builder.d.ts +94 -0
- package/column-groups/display-group-header-builder.d.ts.map +1 -0
- package/column-groups/display-group-header-builder.js +224 -0
- package/column-groups/display-group-header-builder.js.map +1 -0
- package/column-groups/display-group.types.d.ts +140 -0
- package/column-groups/display-group.types.d.ts.map +1 -0
- package/column-groups/display-group.types.js +2 -0
- package/column-groups/display-group.types.js.map +1 -0
- package/column-groups/index.d.ts +25 -0
- package/column-groups/index.d.ts.map +1 -0
- package/column-groups/index.js +26 -0
- package/column-groups/index.js.map +1 -0
- package/column-groups/logical-group-registry.d.ts +77 -0
- package/column-groups/logical-group-registry.d.ts.map +1 -0
- package/column-groups/logical-group-registry.js +118 -0
- package/column-groups/logical-group-registry.js.map +1 -0
- package/core/column-model.d.ts +30 -0
- package/core/column-model.d.ts.map +1 -0
- package/core/column-model.js +203 -0
- package/core/column-model.js.map +1 -0
- package/core/grid-api.d.ts +187 -0
- package/core/grid-api.d.ts.map +1 -0
- package/core/grid-api.js +569 -0
- package/core/grid-api.js.map +1 -0
- package/core/grid-context.d.ts +61 -0
- package/core/grid-context.d.ts.map +1 -0
- package/core/grid-context.js +2 -0
- package/core/grid-context.js.map +1 -0
- package/core/grid-core.d.ts +49 -0
- package/core/grid-core.d.ts.map +1 -0
- package/core/grid-core.js +675 -0
- package/core/grid-core.js.map +1 -0
- package/core/grid-store.d.ts +62 -0
- package/core/grid-store.d.ts.map +1 -0
- package/core/grid-store.js +104 -0
- package/core/grid-store.js.map +1 -0
- package/core/row-model.d.ts +32 -0
- package/core/row-model.d.ts.map +1 -0
- package/core/row-model.js +150 -0
- package/core/row-model.js.map +1 -0
- package/drag-drop/drag-autoscroll.d.ts +14 -0
- package/drag-drop/drag-autoscroll.d.ts.map +1 -0
- package/drag-drop/drag-autoscroll.js +66 -0
- package/drag-drop/drag-autoscroll.js.map +1 -0
- package/drag-drop/drag-drop-engine.d.ts +55 -0
- package/drag-drop/drag-drop-engine.d.ts.map +1 -0
- package/drag-drop/drag-drop-engine.js +179 -0
- package/drag-drop/drag-drop-engine.js.map +1 -0
- package/drag-drop/drag-preview.d.ts +32 -0
- package/drag-drop/drag-preview.d.ts.map +1 -0
- package/drag-drop/drag-preview.js +74 -0
- package/drag-drop/drag-preview.js.map +1 -0
- package/engines/aggregation/aggregation-engine.d.ts +66 -0
- package/engines/aggregation/aggregation-engine.d.ts.map +1 -0
- package/engines/aggregation/aggregation-engine.js +149 -0
- package/engines/aggregation/aggregation-engine.js.map +1 -0
- package/engines/clipboard/clipboard-engine.d.ts +89 -0
- package/engines/clipboard/clipboard-engine.d.ts.map +1 -0
- package/engines/clipboard/clipboard-engine.js +323 -0
- package/engines/clipboard/clipboard-engine.js.map +1 -0
- package/engines/editing/cell-editor-engine.d.ts +62 -0
- package/engines/editing/cell-editor-engine.d.ts.map +1 -0
- package/engines/editing/cell-editor-engine.js +359 -0
- package/engines/editing/cell-editor-engine.js.map +1 -0
- package/engines/editing/custom-dropdown-editor.d.ts +99 -0
- package/engines/editing/custom-dropdown-editor.d.ts.map +1 -0
- package/engines/editing/custom-dropdown-editor.js +355 -0
- package/engines/editing/custom-dropdown-editor.js.map +1 -0
- package/engines/editing/value-parser.d.ts +12 -0
- package/engines/editing/value-parser.d.ts.map +1 -0
- package/engines/editing/value-parser.js +125 -0
- package/engines/editing/value-parser.js.map +1 -0
- package/engines/export/export-engine.d.ts +16 -0
- package/engines/export/export-engine.d.ts.map +1 -0
- package/engines/export/export-engine.js +99 -0
- package/engines/export/export-engine.js.map +1 -0
- package/engines/filter/filter-condition.d.ts +7 -0
- package/engines/filter/filter-condition.d.ts.map +1 -0
- package/engines/filter/filter-condition.js +126 -0
- package/engines/filter/filter-condition.js.map +1 -0
- package/engines/filter/filter-engine.d.ts +35 -0
- package/engines/filter/filter-engine.d.ts.map +1 -0
- package/engines/filter/filter-engine.js +150 -0
- package/engines/filter/filter-engine.js.map +1 -0
- package/engines/filter/filter-panel.d.ts +103 -0
- package/engines/filter/filter-panel.d.ts.map +1 -0
- package/engines/filter/filter-panel.js +645 -0
- package/engines/filter/filter-panel.js.map +1 -0
- package/engines/grouping/group-node.d.ts +21 -0
- package/engines/grouping/group-node.d.ts.map +1 -0
- package/engines/grouping/group-node.js +96 -0
- package/engines/grouping/group-node.js.map +1 -0
- package/engines/grouping/grouping-engine.d.ts +33 -0
- package/engines/grouping/grouping-engine.d.ts.map +1 -0
- package/engines/grouping/grouping-engine.js +118 -0
- package/engines/grouping/grouping-engine.js.map +1 -0
- package/engines/master-detail/master-detail-engine.d.ts +77 -0
- package/engines/master-detail/master-detail-engine.d.ts.map +1 -0
- package/engines/master-detail/master-detail-engine.js +199 -0
- package/engines/master-detail/master-detail-engine.js.map +1 -0
- package/engines/pagination/pagination-engine.d.ts +33 -0
- package/engines/pagination/pagination-engine.d.ts.map +1 -0
- package/engines/pagination/pagination-engine.js +110 -0
- package/engines/pagination/pagination-engine.js.map +1 -0
- package/engines/selection/row-selection-engine.d.ts +26 -0
- package/engines/selection/row-selection-engine.d.ts.map +1 -0
- package/engines/selection/row-selection-engine.js +145 -0
- package/engines/selection/row-selection-engine.js.map +1 -0
- package/engines/sort/sort-comparator.d.ts +43 -0
- package/engines/sort/sort-comparator.d.ts.map +1 -0
- package/engines/sort/sort-comparator.js +113 -0
- package/engines/sort/sort-comparator.js.map +1 -0
- package/engines/sort/sort-engine.d.ts +67 -0
- package/engines/sort/sort-engine.d.ts.map +1 -0
- package/engines/sort/sort-engine.js +178 -0
- package/engines/sort/sort-engine.js.map +1 -0
- package/engines/summary/summary-engine.d.ts +17 -0
- package/engines/summary/summary-engine.d.ts.map +1 -0
- package/engines/summary/summary-engine.js +72 -0
- package/engines/summary/summary-engine.js.map +1 -0
- package/engines/tree/tree-data-service.d.ts +117 -0
- package/engines/tree/tree-data-service.d.ts.map +1 -0
- package/engines/tree/tree-data-service.js +296 -0
- package/engines/tree/tree-data-service.js.map +1 -0
- package/engines/tree/tree-expansion-service.d.ts +35 -0
- package/engines/tree/tree-expansion-service.d.ts.map +1 -0
- package/engines/tree/tree-expansion-service.js +84 -0
- package/engines/tree/tree-expansion-service.js.map +1 -0
- package/engines/tree/tree-node.d.ts +40 -0
- package/engines/tree/tree-node.d.ts.map +1 -0
- package/engines/tree/tree-node.js +199 -0
- package/engines/tree/tree-node.js.map +1 -0
- package/engines/tree/tree-selection-service.d.ts +35 -0
- package/engines/tree/tree-selection-service.d.ts.map +1 -0
- package/engines/tree/tree-selection-service.js +72 -0
- package/engines/tree/tree-selection-service.js.map +1 -0
- package/engines/undo-redo/undo-redo-engine.d.ts +114 -0
- package/engines/undo-redo/undo-redo-engine.d.ts.map +1 -0
- package/engines/undo-redo/undo-redo-engine.js +165 -0
- package/engines/undo-redo/undo-redo-engine.js.map +1 -0
- package/event-bus/event-bus.d.ts +21 -0
- package/event-bus/event-bus.d.ts.map +1 -0
- package/event-bus/event-bus.js +106 -0
- package/event-bus/event-bus.js.map +1 -0
- package/icons/icon-registry.d.ts +19 -0
- package/icons/icon-registry.d.ts.map +1 -0
- package/icons/icon-registry.js +37 -0
- package/icons/icon-registry.js.map +1 -0
- package/icons/icon-renderer.d.ts +18 -0
- package/icons/icon-renderer.d.ts.map +1 -0
- package/icons/icon-renderer.js +75 -0
- package/icons/icon-renderer.js.map +1 -0
- package/icons/icon-sets/core-icons.d.ts +2 -0
- package/icons/icon-sets/core-icons.d.ts.map +1 -0
- package/icons/icon-sets/core-icons.js +48 -0
- package/icons/icon-sets/core-icons.js.map +1 -0
- package/index.d.ts +72 -0
- package/index.d.ts.map +1 -0
- package/index.js +54 -0
- package/index.js.map +1 -0
- package/package.json +64 -0
- package/photon-ai/builtins/filter.commands.d.ts +4 -0
- package/photon-ai/builtins/filter.commands.d.ts.map +1 -0
- package/photon-ai/builtins/filter.commands.js +189 -0
- package/photon-ai/builtins/filter.commands.js.map +1 -0
- package/photon-ai/builtins/grouping.commands.d.ts +4 -0
- package/photon-ai/builtins/grouping.commands.d.ts.map +1 -0
- package/photon-ai/builtins/grouping.commands.js +115 -0
- package/photon-ai/builtins/grouping.commands.js.map +1 -0
- package/photon-ai/builtins/index.d.ts +10 -0
- package/photon-ai/builtins/index.d.ts.map +1 -0
- package/photon-ai/builtins/index.js +26 -0
- package/photon-ai/builtins/index.js.map +1 -0
- package/photon-ai/builtins/info.commands.d.ts +4 -0
- package/photon-ai/builtins/info.commands.d.ts.map +1 -0
- package/photon-ai/builtins/info.commands.js +201 -0
- package/photon-ai/builtins/info.commands.js.map +1 -0
- package/photon-ai/builtins/move.commands.d.ts +4 -0
- package/photon-ai/builtins/move.commands.d.ts.map +1 -0
- package/photon-ai/builtins/move.commands.js +53 -0
- package/photon-ai/builtins/move.commands.js.map +1 -0
- package/photon-ai/builtins/pin.commands.d.ts +4 -0
- package/photon-ai/builtins/pin.commands.d.ts.map +1 -0
- package/photon-ai/builtins/pin.commands.js +106 -0
- package/photon-ai/builtins/pin.commands.js.map +1 -0
- package/photon-ai/builtins/selection.commands.d.ts +4 -0
- package/photon-ai/builtins/selection.commands.d.ts.map +1 -0
- package/photon-ai/builtins/selection.commands.js +102 -0
- package/photon-ai/builtins/selection.commands.js.map +1 -0
- package/photon-ai/builtins/sort.commands.d.ts +4 -0
- package/photon-ai/builtins/sort.commands.d.ts.map +1 -0
- package/photon-ai/builtins/sort.commands.js +67 -0
- package/photon-ai/builtins/sort.commands.js.map +1 -0
- package/photon-ai/builtins/visibility.commands.d.ts +4 -0
- package/photon-ai/builtins/visibility.commands.d.ts.map +1 -0
- package/photon-ai/builtins/visibility.commands.js +75 -0
- package/photon-ai/builtins/visibility.commands.js.map +1 -0
- package/photon-ai/command-builder.d.ts +21 -0
- package/photon-ai/command-builder.d.ts.map +1 -0
- package/photon-ai/command-builder.js +18 -0
- package/photon-ai/command-builder.js.map +1 -0
- package/photon-ai/command-executor.d.ts +15 -0
- package/photon-ai/command-executor.d.ts.map +1 -0
- package/photon-ai/command-executor.js +26 -0
- package/photon-ai/command-executor.js.map +1 -0
- package/photon-ai/entity-resolver.d.ts +121 -0
- package/photon-ai/entity-resolver.d.ts.map +1 -0
- package/photon-ai/entity-resolver.js +393 -0
- package/photon-ai/entity-resolver.js.map +1 -0
- package/photon-ai/fuzzy-match.d.ts +12 -0
- package/photon-ai/fuzzy-match.d.ts.map +1 -0
- package/photon-ai/fuzzy-match.js +37 -0
- package/photon-ai/fuzzy-match.js.map +1 -0
- package/photon-ai/index.d.ts +15 -0
- package/photon-ai/index.d.ts.map +1 -0
- package/photon-ai/index.js +13 -0
- package/photon-ai/index.js.map +1 -0
- package/photon-ai/intent-parser.d.ts +20 -0
- package/photon-ai/intent-parser.d.ts.map +1 -0
- package/photon-ai/intent-parser.js +52 -0
- package/photon-ai/intent-parser.js.map +1 -0
- package/photon-ai/photon-ai-memory.d.ts +42 -0
- package/photon-ai/photon-ai-memory.d.ts.map +1 -0
- package/photon-ai/photon-ai-memory.js +86 -0
- package/photon-ai/photon-ai-memory.js.map +1 -0
- package/photon-ai/photon-ai-panel.d.ts +54 -0
- package/photon-ai/photon-ai-panel.d.ts.map +1 -0
- package/photon-ai/photon-ai-panel.js +191 -0
- package/photon-ai/photon-ai-panel.js.map +1 -0
- package/photon-ai/photon-ai-registry.d.ts +25 -0
- package/photon-ai/photon-ai-registry.d.ts.map +1 -0
- package/photon-ai/photon-ai-registry.js +41 -0
- package/photon-ai/photon-ai-registry.js.map +1 -0
- package/photon-ai/photon-ai-service.d.ts +71 -0
- package/photon-ai/photon-ai-service.d.ts.map +1 -0
- package/photon-ai/photon-ai-service.js +165 -0
- package/photon-ai/photon-ai-service.js.map +1 -0
- package/photon-ai/photon-ai.types.d.ts +100 -0
- package/photon-ai/photon-ai.types.d.ts.map +1 -0
- package/photon-ai/photon-ai.types.js +2 -0
- package/photon-ai/photon-ai.types.js.map +1 -0
- package/photon-ai/query-splitter.d.ts +22 -0
- package/photon-ai/query-splitter.d.ts.map +1 -0
- package/photon-ai/query-splitter.js +81 -0
- package/photon-ai/query-splitter.js.map +1 -0
- package/photon-ai/text-normalizer.d.ts +33 -0
- package/photon-ai/text-normalizer.d.ts.map +1 -0
- package/photon-ai/text-normalizer.js +132 -0
- package/photon-ai/text-normalizer.js.map +1 -0
- package/renderer/auto-scroller.d.ts +78 -0
- package/renderer/auto-scroller.d.ts.map +1 -0
- package/renderer/auto-scroller.js +141 -0
- package/renderer/auto-scroller.js.map +1 -0
- package/renderer/body-renderer.d.ts +191 -0
- package/renderer/body-renderer.d.ts.map +1 -0
- package/renderer/body-renderer.js +806 -0
- package/renderer/body-renderer.js.map +1 -0
- package/renderer/cell-renderer.d.ts +26 -0
- package/renderer/cell-renderer.d.ts.map +1 -0
- package/renderer/cell-renderer.js +201 -0
- package/renderer/cell-renderer.js.map +1 -0
- package/renderer/column-menu.d.ts +285 -0
- package/renderer/column-menu.d.ts.map +1 -0
- package/renderer/column-menu.js +873 -0
- package/renderer/column-menu.js.map +1 -0
- package/renderer/column-style-manager.d.ts +38 -0
- package/renderer/column-style-manager.d.ts.map +1 -0
- package/renderer/column-style-manager.js +110 -0
- package/renderer/column-style-manager.js.map +1 -0
- package/renderer/detail-row-renderer.d.ts +153 -0
- package/renderer/detail-row-renderer.d.ts.map +1 -0
- package/renderer/detail-row-renderer.js +388 -0
- package/renderer/detail-row-renderer.js.map +1 -0
- package/renderer/dom-utils.d.ts +22 -0
- package/renderer/dom-utils.d.ts.map +1 -0
- package/renderer/dom-utils.js +132 -0
- package/renderer/dom-utils.js.map +1 -0
- package/renderer/footer-renderer.d.ts +25 -0
- package/renderer/footer-renderer.d.ts.map +1 -0
- package/renderer/footer-renderer.js +168 -0
- package/renderer/footer-renderer.js.map +1 -0
- package/renderer/grid-renderer.d.ts +295 -0
- package/renderer/grid-renderer.d.ts.map +1 -0
- package/renderer/grid-renderer.js +1456 -0
- package/renderer/grid-renderer.js.map +1 -0
- package/renderer/group-context-menu.d.ts +79 -0
- package/renderer/group-context-menu.d.ts.map +1 -0
- package/renderer/group-context-menu.js +238 -0
- package/renderer/group-context-menu.js.map +1 -0
- package/renderer/group-drop-zone.d.ts +56 -0
- package/renderer/group-drop-zone.d.ts.map +1 -0
- package/renderer/group-drop-zone.js +376 -0
- package/renderer/group-drop-zone.js.map +1 -0
- package/renderer/header-renderer.d.ts +264 -0
- package/renderer/header-renderer.d.ts.map +1 -0
- package/renderer/header-renderer.js +1321 -0
- package/renderer/header-renderer.js.map +1 -0
- package/renderer/overlay-renderer.d.ts +16 -0
- package/renderer/overlay-renderer.d.ts.map +1 -0
- package/renderer/overlay-renderer.js +64 -0
- package/renderer/overlay-renderer.js.map +1 -0
- package/renderer/renderer-resolver.d.ts +18 -0
- package/renderer/renderer-resolver.d.ts.map +1 -0
- package/renderer/renderer-resolver.js +18 -0
- package/renderer/renderer-resolver.js.map +1 -0
- package/renderer/row-animator.d.ts +72 -0
- package/renderer/row-animator.d.ts.map +1 -0
- package/renderer/row-animator.js +175 -0
- package/renderer/row-animator.js.map +1 -0
- package/renderer/row-drag-renderer.d.ts +58 -0
- package/renderer/row-drag-renderer.d.ts.map +1 -0
- package/renderer/row-drag-renderer.js +395 -0
- package/renderer/row-drag-renderer.js.map +1 -0
- package/renderer/row-offset-search.d.ts +17 -0
- package/renderer/row-offset-search.d.ts.map +1 -0
- package/renderer/row-offset-search.js +31 -0
- package/renderer/row-offset-search.js.map +1 -0
- package/renderer/row-position-sheet.d.ts +11 -0
- package/renderer/row-position-sheet.d.ts.map +1 -0
- package/renderer/row-position-sheet.js +29 -0
- package/renderer/row-position-sheet.js.map +1 -0
- package/renderer/scroll-controller.d.ts +58 -0
- package/renderer/scroll-controller.d.ts.map +1 -0
- package/renderer/scroll-controller.js +200 -0
- package/renderer/scroll-controller.js.map +1 -0
- package/renderer/sticky-row-tracker.d.ts +40 -0
- package/renderer/sticky-row-tracker.d.ts.map +1 -0
- package/renderer/sticky-row-tracker.js +63 -0
- package/renderer/sticky-row-tracker.js.map +1 -0
- package/renderer/tooltip-renderer.d.ts +36 -0
- package/renderer/tooltip-renderer.d.ts.map +1 -0
- package/renderer/tooltip-renderer.js +133 -0
- package/renderer/tooltip-renderer.js.map +1 -0
- package/renderer/tree-cell-renderer.d.ts +37 -0
- package/renderer/tree-cell-renderer.d.ts.map +1 -0
- package/renderer/tree-cell-renderer.js +75 -0
- package/renderer/tree-cell-renderer.js.map +1 -0
- package/renderer/tree-sticky-row-tracker.d.ts +62 -0
- package/renderer/tree-sticky-row-tracker.d.ts.map +1 -0
- package/renderer/tree-sticky-row-tracker.js +120 -0
- package/renderer/tree-sticky-row-tracker.js.map +1 -0
- package/renderer/virtual-scroll-renderer.d.ts +37 -0
- package/renderer/virtual-scroll-renderer.d.ts.map +1 -0
- package/renderer/virtual-scroll-renderer.js +133 -0
- package/renderer/virtual-scroll-renderer.js.map +1 -0
- package/styles/base-styles.d.ts +3 -0
- package/styles/base-styles.d.ts.map +1 -0
- package/styles/base-styles.js +3045 -0
- package/styles/base-styles.js.map +1 -0
- package/styles/themes/theme-alpine.d.ts +2 -0
- package/styles/themes/theme-alpine.d.ts.map +1 -0
- package/styles/themes/theme-alpine.js +120 -0
- package/styles/themes/theme-alpine.js.map +1 -0
- package/styles/themes/theme-balham.d.ts +2 -0
- package/styles/themes/theme-balham.d.ts.map +1 -0
- package/styles/themes/theme-balham.js +120 -0
- package/styles/themes/theme-balham.js.map +1 -0
- package/styles/themes/theme-dark.d.ts +2 -0
- package/styles/themes/theme-dark.d.ts.map +1 -0
- package/styles/themes/theme-dark.js +216 -0
- package/styles/themes/theme-dark.js.map +1 -0
- package/styles/themes/theme-material.d.ts +2 -0
- package/styles/themes/theme-material.d.ts.map +1 -0
- package/styles/themes/theme-material.js +134 -0
- package/styles/themes/theme-material.js.map +1 -0
- package/styles/themes/theme-quartz.d.ts +2 -0
- package/styles/themes/theme-quartz.d.ts.map +1 -0
- package/styles/themes/theme-quartz.js +120 -0
- package/styles/themes/theme-quartz.js.map +1 -0
- package/theme/css-var-injector.d.ts +10 -0
- package/theme/css-var-injector.d.ts.map +1 -0
- package/theme/css-var-injector.js +63 -0
- package/theme/css-var-injector.js.map +1 -0
- package/theme/theme-manager.d.ts +20 -0
- package/theme/theme-manager.d.ts.map +1 -0
- package/theme/theme-manager.js +79 -0
- package/theme/theme-manager.js.map +1 -0
- package/theme/themes/dark-theme.d.ts +3 -0
- package/theme/themes/dark-theme.d.ts.map +1 -0
- package/theme/themes/dark-theme.js +149 -0
- package/theme/themes/dark-theme.js.map +1 -0
- package/theme/themes/light-theme.d.ts +3 -0
- package/theme/themes/light-theme.d.ts.map +1 -0
- package/theme/themes/light-theme.js +149 -0
- package/theme/themes/light-theme.js.map +1 -0
- package/types/column.types.d.ts +195 -0
- package/types/column.types.d.ts.map +1 -0
- package/types/column.types.js +2 -0
- package/types/column.types.js.map +1 -0
- package/types/event.types.d.ts +213 -0
- package/types/event.types.d.ts.map +1 -0
- package/types/event.types.js +67 -0
- package/types/event.types.js.map +1 -0
- package/types/filter.types.d.ts +42 -0
- package/types/filter.types.d.ts.map +1 -0
- package/types/filter.types.js +2 -0
- package/types/filter.types.js.map +1 -0
- package/types/grid.types.d.ts +214 -0
- package/types/grid.types.d.ts.map +1 -0
- package/types/grid.types.js +2 -0
- package/types/grid.types.js.map +1 -0
- package/types/master-detail.types.d.ts +112 -0
- package/types/master-detail.types.d.ts.map +1 -0
- package/types/master-detail.types.js +2 -0
- package/types/master-detail.types.js.map +1 -0
- package/types/photon-ai.types.d.ts +19 -0
- package/types/photon-ai.types.d.ts.map +1 -0
- package/types/photon-ai.types.js +2 -0
- package/types/photon-ai.types.js.map +1 -0
- package/types/renderer.types.d.ts +156 -0
- package/types/renderer.types.d.ts.map +1 -0
- package/types/renderer.types.js +19 -0
- package/types/renderer.types.js.map +1 -0
- package/types/row.types.d.ts +127 -0
- package/types/row.types.d.ts.map +1 -0
- package/types/row.types.js +9 -0
- package/types/row.types.js.map +1 -0
- package/types/theme.types.d.ts +159 -0
- package/types/theme.types.d.ts.map +1 -0
- package/types/theme.types.js +2 -0
- package/types/theme.types.js.map +1 -0
- package/types/tree-data.types.d.ts +94 -0
- package/types/tree-data.types.d.ts.map +1 -0
- package/types/tree-data.types.js +2 -0
- package/types/tree-data.types.js.map +1 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type FilterOperator = 'contains' | 'notContains' | 'equals' | 'notEquals' | 'startsWith' | 'endsWith' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'inRange' | 'blank' | 'notBlank' | 'before' | 'after' | 'in' | 'notIn';
|
|
2
|
+
export type FilterLogic = 'and' | 'or';
|
|
3
|
+
export type FilterDataType = 'string' | 'number' | 'date' | 'boolean' | 'dropdown' | 'array';
|
|
4
|
+
export interface FilterCondition {
|
|
5
|
+
operator: FilterOperator;
|
|
6
|
+
value: unknown;
|
|
7
|
+
valueTo?: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface ColumnFilter {
|
|
10
|
+
colId: string;
|
|
11
|
+
field: string;
|
|
12
|
+
type: FilterDataType;
|
|
13
|
+
logic: FilterLogic;
|
|
14
|
+
conditions: [FilterCondition] | [FilterCondition, FilterCondition];
|
|
15
|
+
selectedIds?: (string | number)[];
|
|
16
|
+
searchTerm?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface FilterModel {
|
|
19
|
+
[colId: string]: ColumnFilter;
|
|
20
|
+
}
|
|
21
|
+
export interface QuickFilterConfig {
|
|
22
|
+
term: string;
|
|
23
|
+
caseSensitive?: boolean;
|
|
24
|
+
fields?: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface FilterResult<T = Record<string, unknown>> {
|
|
27
|
+
data: T[];
|
|
28
|
+
filteredCount: number;
|
|
29
|
+
totalCount: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A value/label pair used to populate a set-filter checkbox list.
|
|
33
|
+
* For `dropdown` columns the `value` is the raw option value and `label` is the
|
|
34
|
+
* display label. For all other set-type columns `value === label`.
|
|
35
|
+
*/
|
|
36
|
+
export interface FilterSetOption {
|
|
37
|
+
/** Raw cell value used when building the {@link ColumnFilter.selectedIds} array. */
|
|
38
|
+
value: string;
|
|
39
|
+
/** Human-readable label rendered in the checkbox list. */
|
|
40
|
+
label: string;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=filter.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,aAAa,GACb,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,oBAAoB,GACpB,SAAS,GACT,OAAO,GACP,UAAU,GACV,QAAQ,GACR,OAAO,GACP,IAAI,GACJ,OAAO,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.types.js","sourceRoot":"","sources":["../../src/types/filter.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import type { ColumnDef, ColumnState } from './column.types';
|
|
2
|
+
import type { FilterModel, QuickFilterConfig } from './filter.types';
|
|
3
|
+
import type { BuiltInThemeName } from './theme.types';
|
|
4
|
+
import type { MasterDetailConfig } from './master-detail.types';
|
|
5
|
+
import type { PhotonAIConfig } from './photon-ai.types';
|
|
6
|
+
import type { TreeDataConfig } from './tree-data.types';
|
|
7
|
+
export interface SortConfig {
|
|
8
|
+
colId: string;
|
|
9
|
+
field: string;
|
|
10
|
+
order: 'asc' | 'desc';
|
|
11
|
+
}
|
|
12
|
+
export interface PaginationConfig {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
page: number;
|
|
15
|
+
pageSize: number;
|
|
16
|
+
pageSizeOptions: number[];
|
|
17
|
+
serverSide: boolean;
|
|
18
|
+
totalRows?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface SelectionConfig {
|
|
21
|
+
mode: 'single' | 'multiple' | 'none';
|
|
22
|
+
checkboxSelection: boolean;
|
|
23
|
+
selectAllOnHeaderClick: boolean;
|
|
24
|
+
headerCheckbox: boolean;
|
|
25
|
+
suppressRowDeselection: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Configuration for in-cell editing behaviour.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* editing: {
|
|
33
|
+
* mode: 'cell',
|
|
34
|
+
* singleClickEdit: true,
|
|
35
|
+
* stopEditingWhenCellsLoseFocus: true,
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export interface EditingConfig {
|
|
40
|
+
/**
|
|
41
|
+
* Editing mode for the grid.
|
|
42
|
+
* - `'cell'` — individual cells are edited one at a time (default).
|
|
43
|
+
* - `'row'` — an entire row enters edit mode together.
|
|
44
|
+
* - `'none'` — editing is fully disabled.
|
|
45
|
+
*/
|
|
46
|
+
mode: 'cell' | 'row' | 'none';
|
|
47
|
+
/**
|
|
48
|
+
* When `true`, a **single click** activates the cell editor.
|
|
49
|
+
* When `false` (default), a **double-click** is required — matching AG Grid default behaviour.
|
|
50
|
+
*/
|
|
51
|
+
singleClickEdit: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* When `true` (default), the active editor commits its value and closes when the
|
|
54
|
+
* grid loses focus. Set to `false` to keep the editor open until the user
|
|
55
|
+
* explicitly confirms (Enter) or cancels (Escape).
|
|
56
|
+
*/
|
|
57
|
+
stopEditingWhenCellsLoseFocus: boolean;
|
|
58
|
+
}
|
|
59
|
+
export interface RowGroupingConfig {
|
|
60
|
+
enabled: boolean;
|
|
61
|
+
groupedColumns: string[];
|
|
62
|
+
showGroupCount: boolean;
|
|
63
|
+
defaultExpanded: boolean;
|
|
64
|
+
suppressAutoSize: boolean;
|
|
65
|
+
}
|
|
66
|
+
export interface VirtualScrollConfig {
|
|
67
|
+
enabled: boolean;
|
|
68
|
+
rowBuffer: number;
|
|
69
|
+
rowHeight: number;
|
|
70
|
+
dynamicRowHeight: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface ExportConfig {
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
fileName: string;
|
|
75
|
+
formats: ('csv' | 'xlsx')[];
|
|
76
|
+
includeHiddenColumns: boolean;
|
|
77
|
+
processCellValue?: (params: {
|
|
78
|
+
value: unknown;
|
|
79
|
+
colDef: ColumnDef;
|
|
80
|
+
}) => string;
|
|
81
|
+
}
|
|
82
|
+
export interface CellRange {
|
|
83
|
+
startRowIndex: number;
|
|
84
|
+
endRowIndex: number;
|
|
85
|
+
startColIndex: number;
|
|
86
|
+
endColIndex: number;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Options controlling the column-group header system.
|
|
90
|
+
*
|
|
91
|
+
* All properties are optional and layered on top of per-column group defaults
|
|
92
|
+
* specified in {@link ColumnDef}.
|
|
93
|
+
*/
|
|
94
|
+
export interface ColumnGroupConfig {
|
|
95
|
+
/**
|
|
96
|
+
* When `true`, the multi-row grouped header is rendered.
|
|
97
|
+
* Set this explicitly when column definitions contain `children` arrays.
|
|
98
|
+
* @default auto-detected (true if any ColumnDef has `children`)
|
|
99
|
+
*/
|
|
100
|
+
enabled?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Default resize strategy applied to every group that does not specify its own.
|
|
103
|
+
* @default ColumnGroupResizeStrategy.PROPORTIONAL
|
|
104
|
+
*/
|
|
105
|
+
defaultResizeStrategy?: import('./column.types').ColumnDef['groupResizeStrategy'];
|
|
106
|
+
/**
|
|
107
|
+
* Default collapsed-state pixel width for groups that do not set `collapsedWidth`.
|
|
108
|
+
* @default 26
|
|
109
|
+
*/
|
|
110
|
+
defaultCollapsedWidth?: number;
|
|
111
|
+
/**
|
|
112
|
+
* When `true`, column groups open in collapsed state unless `ColumnDef.openByDefault`
|
|
113
|
+
* explicitly overrides. Defaults match AG Grid convention (open by default).
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
suppressOpenByDefault?: boolean;
|
|
117
|
+
}
|
|
118
|
+
export interface GridOptions {
|
|
119
|
+
columns: ColumnDef[];
|
|
120
|
+
data?: Record<string, unknown>[];
|
|
121
|
+
theme?: BuiltInThemeName | string;
|
|
122
|
+
rowHeight?: number;
|
|
123
|
+
rowHeightMode?: 'fixed' | 'auto';
|
|
124
|
+
headerRowHeight?: number;
|
|
125
|
+
footerRowHeight?: number;
|
|
126
|
+
filterRowHeight?: number;
|
|
127
|
+
showSerialNumber?: boolean;
|
|
128
|
+
showCheckboxes?: boolean;
|
|
129
|
+
showTopBar?: boolean;
|
|
130
|
+
showFooter?: boolean;
|
|
131
|
+
showSidePanel?: boolean;
|
|
132
|
+
showFullScreen?: boolean;
|
|
133
|
+
showColumnMenu?: boolean;
|
|
134
|
+
showVerticalBorders?: boolean;
|
|
135
|
+
showHorizontalBorders?: boolean;
|
|
136
|
+
showFilterRow?: boolean;
|
|
137
|
+
rowShading?: boolean;
|
|
138
|
+
selection?: Partial<SelectionConfig>;
|
|
139
|
+
editing?: Partial<EditingConfig>;
|
|
140
|
+
pagination?: Partial<PaginationConfig>;
|
|
141
|
+
grouping?: Partial<RowGroupingConfig>;
|
|
142
|
+
virtualScroll?: Partial<VirtualScrollConfig>;
|
|
143
|
+
exportConfig?: Partial<ExportConfig>;
|
|
144
|
+
sortConfig?: SortConfig[];
|
|
145
|
+
filterModel?: FilterModel;
|
|
146
|
+
quickFilter?: QuickFilterConfig;
|
|
147
|
+
columnState?: ColumnState[];
|
|
148
|
+
enableCellSelection?: boolean;
|
|
149
|
+
enableRangeSelection?: boolean;
|
|
150
|
+
enableClipboard?: boolean;
|
|
151
|
+
enableRowDrag?: boolean;
|
|
152
|
+
enableColumnDrag?: boolean;
|
|
153
|
+
enableCharts?: boolean;
|
|
154
|
+
enableFullScreen?: boolean;
|
|
155
|
+
showGroupingBar?: boolean;
|
|
156
|
+
/** Column-group header configuration. @see {@link ColumnGroupConfig} */
|
|
157
|
+
columnGroups?: ColumnGroupConfig;
|
|
158
|
+
/**
|
|
159
|
+
* Master/Detail configuration — expandable rows whose detail section is a
|
|
160
|
+
* fully independent nested Photon Grid instance (or custom content).
|
|
161
|
+
* @see {@link MasterDetailConfig}
|
|
162
|
+
*/
|
|
163
|
+
masterDetail?: MasterDetailConfig;
|
|
164
|
+
/**
|
|
165
|
+
* Photon AI — a floating, deterministic natural-language command bar for
|
|
166
|
+
* the grid (sort/filter/pin/hide/group/select), with zero external AI
|
|
167
|
+
* services. @see {@link PhotonAIConfig}
|
|
168
|
+
*/
|
|
169
|
+
photonAI?: PhotonAIConfig;
|
|
170
|
+
/**
|
|
171
|
+
* Tree Data — self-referential row hierarchy (org charts, file trees,
|
|
172
|
+
* bills of materials) driven by a `parentId`/`id` pair, nested `children`
|
|
173
|
+
* arrays, a `getDataPath()` callback, or a custom hierarchy provider.
|
|
174
|
+
* Mutually exclusive with `grouping` — a grid is either tree-structured or
|
|
175
|
+
* column-value-grouped, never both at once. @see {@link TreeDataConfig}
|
|
176
|
+
*/
|
|
177
|
+
treeData?: TreeDataConfig;
|
|
178
|
+
enableStateManagement?: boolean;
|
|
179
|
+
stateKey?: string;
|
|
180
|
+
dateFormat?: string;
|
|
181
|
+
timeZone?: string;
|
|
182
|
+
currencySymbol?: string;
|
|
183
|
+
currencyFormat?: string;
|
|
184
|
+
locale?: string;
|
|
185
|
+
loadingOverlayText?: string;
|
|
186
|
+
noRowsOverlayText?: string;
|
|
187
|
+
noRowsOverlayHtml?: string;
|
|
188
|
+
rowClassFn?: (row: Record<string, unknown>, index: number) => string;
|
|
189
|
+
rowHeightFn?: (row: Record<string, unknown>) => number;
|
|
190
|
+
suppressScrollOnNewData?: boolean;
|
|
191
|
+
suppressColumnVirtualisation?: boolean;
|
|
192
|
+
onReady?: (api: unknown) => void;
|
|
193
|
+
}
|
|
194
|
+
export interface GridState {
|
|
195
|
+
columnStates: ColumnState[];
|
|
196
|
+
sortConfig: SortConfig[];
|
|
197
|
+
filterModel: FilterModel;
|
|
198
|
+
paginationPage: number;
|
|
199
|
+
paginationPageSize: number;
|
|
200
|
+
groupedColumns: string[];
|
|
201
|
+
expandedGroups: string[];
|
|
202
|
+
expandedTreeNodeIds: string[];
|
|
203
|
+
selectedRowIds: string[];
|
|
204
|
+
}
|
|
205
|
+
export interface GridDimensions {
|
|
206
|
+
containerWidth: number;
|
|
207
|
+
containerHeight: number;
|
|
208
|
+
headerHeight: number;
|
|
209
|
+
bodyHeight: number;
|
|
210
|
+
footerHeight: number;
|
|
211
|
+
totalContentHeight: number;
|
|
212
|
+
totalContentWidth: number;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=grid.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.types.d.ts","sourceRoot":"","sources":["../../src/types/grid.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,6BAA6B,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,KAAK,MAAM,CAAC;CAC9E;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAElF;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAEjC,KAAK,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAElC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAE5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,wEAAwE;IACxE,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAEvD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.types.js","sourceRoot":"","sources":["../../src/types/grid.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { GridOptions } from './grid.types';
|
|
2
|
+
import type { GridEventType } from './event.types';
|
|
3
|
+
/**
|
|
4
|
+
* Parameters passed to a {@link MasterDetailConfig.detailRendererFn} custom
|
|
5
|
+
* detail renderer — the escape hatch used when a detail row should show
|
|
6
|
+
* arbitrary content instead of a nested Photon Grid instance.
|
|
7
|
+
*/
|
|
8
|
+
export interface DetailRendererParams {
|
|
9
|
+
/** Raw data of the parent (master) row being expanded. */
|
|
10
|
+
rowData: Record<string, unknown>;
|
|
11
|
+
/** Stable node id of the parent row's `RowNode`. */
|
|
12
|
+
nodeId: string;
|
|
13
|
+
/** Empty container the renderer must populate. Its size drives auto-height measurement. */
|
|
14
|
+
containerEl: HTMLElement;
|
|
15
|
+
/**
|
|
16
|
+
* The parent grid's `GridApi`. Typed `unknown` here (mirrors
|
|
17
|
+
* `DisplayRendererParams.api`) to avoid a `types -> core` import cycle —
|
|
18
|
+
* callers cast to `GridApi` themselves.
|
|
19
|
+
*/
|
|
20
|
+
parentApi: unknown;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Master/Detail configuration for a grid instance.
|
|
24
|
+
*
|
|
25
|
+
* Enabling this turns qualifying rows into expandable "master" rows whose
|
|
26
|
+
* detail section is, by default, a fully independent nested Photon Grid
|
|
27
|
+
* instance — complete with its own sorting, filtering, selection, editing,
|
|
28
|
+
* clipboard, undo/redo, context menu, row drag, fill handle, and overlay
|
|
29
|
+
* layer. Because {@link detailGrid} is itself a `GridOptions`, nesting is
|
|
30
|
+
* unlimited: a detail grid may declare its own `masterDetail` config.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* masterDetail: {
|
|
35
|
+
* enabled: true,
|
|
36
|
+
* toggleColumnId: 'name',
|
|
37
|
+
* hasDetail: (row) => row.orderCount > 0,
|
|
38
|
+
* getDetailData: (row) => fetchOrders(row.id),
|
|
39
|
+
* detailGrid: (row) => ({ columns: orderColumns, rowHeight: 36 }),
|
|
40
|
+
* detailMaxHeight: 320,
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export interface MasterDetailConfig {
|
|
45
|
+
/** Master/Detail is otherwise fully inert — every consumer must opt in explicitly. */
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* `colId` of the column that renders the expand/collapse toggle.
|
|
49
|
+
* Defaults to the first visible column when omitted.
|
|
50
|
+
*/
|
|
51
|
+
toggleColumnId?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Determines whether a given row can be expanded. Rows failing this check
|
|
54
|
+
* render no toggle icon at all. Defaults to "every row has detail".
|
|
55
|
+
*/
|
|
56
|
+
hasDetail?: (rowData: Record<string, unknown>) => boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Fetches the detail dataset for a row, synchronously or asynchronously.
|
|
59
|
+
* The resolved array becomes the nested grid's `GridOptions.data`.
|
|
60
|
+
* When omitted, the nested grid is built with no data (useful when
|
|
61
|
+
* `detailGrid`/`detailRendererFn` supply data themselves).
|
|
62
|
+
*/
|
|
63
|
+
getDetailData?: (rowData: Record<string, unknown>) => Record<string, unknown>[] | Promise<Record<string, unknown>[]>;
|
|
64
|
+
/**
|
|
65
|
+
* Full configuration for the nested Photon Grid instance — a static
|
|
66
|
+
* object shared by every detail row, or a per-row factory. `theme` is
|
|
67
|
+
* inherited from the parent's active theme unless set here explicitly.
|
|
68
|
+
*/
|
|
69
|
+
detailGrid?: GridOptions | ((rowData: Record<string, unknown>) => GridOptions);
|
|
70
|
+
/**
|
|
71
|
+
* Escape hatch for non-grid detail content. When supplied, this takes
|
|
72
|
+
* priority over {@link detailGrid} — no nested `GridCore` is created.
|
|
73
|
+
*/
|
|
74
|
+
detailRendererFn?: (params: DetailRendererParams) => HTMLElement;
|
|
75
|
+
/** Whether newly-encountered rows start expanded. Default `false`. */
|
|
76
|
+
defaultExpanded?: boolean;
|
|
77
|
+
/** Lower clamp applied to both auto-measured and manually resized height. */
|
|
78
|
+
detailMinHeight?: number;
|
|
79
|
+
/** Upper clamp applied to both auto-measured and manually resized height. Overflow scrolls. */
|
|
80
|
+
detailMaxHeight?: number;
|
|
81
|
+
/**
|
|
82
|
+
* When `true` (default), the detail row's height tracks the nested grid's
|
|
83
|
+
* rendered content via `ResizeObserver`. When `false`, `detailFixedHeight`
|
|
84
|
+
* (or a `48px` fallback) is used instead.
|
|
85
|
+
*/
|
|
86
|
+
detailAutoHeight?: boolean;
|
|
87
|
+
/** Fixed pixel height used when `detailAutoHeight` is `false`. */
|
|
88
|
+
detailFixedHeight?: number;
|
|
89
|
+
/** Shows a drag handle on the detail row's bottom edge letting users resize it manually. Default `false`. */
|
|
90
|
+
detailResizable?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* When `true` (default), the nested grid is not constructed — and
|
|
93
|
+
* `getDetailData` is not called — until the row is first expanded.
|
|
94
|
+
*/
|
|
95
|
+
lazy?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Event types re-emitted on the parent grid's event bus whenever the
|
|
98
|
+
* nested grid emits them, or `true` to bubble every event. Payloads are
|
|
99
|
+
* wrapped as `{ sourceNodeId, event: <original payload> }`. Default: none.
|
|
100
|
+
*/
|
|
101
|
+
bubbleEvents?: GridEventType[] | boolean;
|
|
102
|
+
/**
|
|
103
|
+
* How many collapsed detail rows keep their nested grid instance alive
|
|
104
|
+
* (rather than destroyed) so re-expanding restores its live state —
|
|
105
|
+
* sort, column order/width, scroll position, selection — instead of
|
|
106
|
+
* rebuilding from scratch. Least-recently-collapsed instances beyond this
|
|
107
|
+
* bound are evicted and destroyed to keep memory use constant regardless
|
|
108
|
+
* of how many rows a user expands over a session. Default `10`.
|
|
109
|
+
*/
|
|
110
|
+
keepDetailGridsCount?: number;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=master-detail.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"master-detail.types.d.ts","sourceRoot":"","sources":["../../src/types/master-detail.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,WAAW,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAE1D;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC;IAE/E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,WAAW,CAAC;IAEjE,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,6GAA6G;IAC7G,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEzC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"master-detail.types.js","sourceRoot":"","sources":["../../src/types/master-detail.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for Photon AI — a deterministic natural-language command bar
|
|
3
|
+
* for the grid. Photon AI is **not** an LLM: it is a rule-based interpreter
|
|
4
|
+
* that normalizes text, matches it against a registry of known intents, and
|
|
5
|
+
* translates the result into calls against the existing {@link GridApi} — no
|
|
6
|
+
* network calls, no external AI services.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link PhotonAIService} in `src/photon-ai/photon-ai-service.ts` for the
|
|
9
|
+
* runtime pipeline this config drives.
|
|
10
|
+
*/
|
|
11
|
+
export interface PhotonAIConfig {
|
|
12
|
+
/** Photon AI is otherwise fully inert — every consumer must opt in explicitly. */
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
/** Placeholder text shown in the empty command input. @default "Ask Photon AI..." */
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/** Whether the panel starts open on grid mount. @default false */
|
|
17
|
+
defaultOpen?: boolean;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=photon-ai.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photon-ai.types.d.ts","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,OAAO,EAAE,OAAO,CAAC;IAEjB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photon-ai.types.js","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { AggFunc, ColumnDef, ColumnDropdownOption } from './column.types';
|
|
2
|
+
import type { ColumnFilter, FilterSetOption } from './filter.types';
|
|
3
|
+
import type { RowNode } from './row.types';
|
|
4
|
+
/**
|
|
5
|
+
* Identifies one customizable rendering concern on a column.
|
|
6
|
+
*
|
|
7
|
+
* Used internally wherever a slot needs to be looked up generically (e.g.
|
|
8
|
+
* {@link resolveColumnRenderer}) instead of by a hardcoded property access,
|
|
9
|
+
* so new slots can be added without touching every call site.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum RendererSlot {
|
|
12
|
+
Display = "display",
|
|
13
|
+
Editor = "editor",
|
|
14
|
+
Option = "option",
|
|
15
|
+
Filter = "filter",
|
|
16
|
+
Tooltip = "tooltip",
|
|
17
|
+
Group = "group",
|
|
18
|
+
Header = "header",
|
|
19
|
+
Summary = "summary"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Anything a renderer slot may return: a ready-made element to append, or an
|
|
23
|
+
* HTML string to be assigned via `innerHTML` (mirrors how the grid has always
|
|
24
|
+
* accepted string output from custom renderers).
|
|
25
|
+
*/
|
|
26
|
+
export type RendererOutput = HTMLElement | string;
|
|
27
|
+
/** Params passed to {@link ColumnRendererMap.display} — how a data cell's value is drawn. */
|
|
28
|
+
export interface DisplayRendererParams {
|
|
29
|
+
value: unknown;
|
|
30
|
+
rawValue: unknown;
|
|
31
|
+
row: Record<string, unknown>;
|
|
32
|
+
colDef: ColumnDef;
|
|
33
|
+
rowIndex: number;
|
|
34
|
+
colIndex: number;
|
|
35
|
+
api: unknown;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Params passed to {@link ColumnRendererMap.editor} — how a cell's edit widget is built.
|
|
39
|
+
*
|
|
40
|
+
* The renderer owns its own input element(s) entirely; it must call
|
|
41
|
+
* `onValueChange` as the user edits and `onEditStop` to commit and close the
|
|
42
|
+
* editor (e.g. on blur or Enter). The grid handles validation, undo/redo, and
|
|
43
|
+
* DOM teardown the same way it does for built-in editors.
|
|
44
|
+
*/
|
|
45
|
+
export interface EditorRendererParams {
|
|
46
|
+
value: unknown;
|
|
47
|
+
row: Record<string, unknown>;
|
|
48
|
+
colDef: ColumnDef;
|
|
49
|
+
rowIndex: number;
|
|
50
|
+
onValueChange: (newValue: unknown) => void;
|
|
51
|
+
onEditStop: () => void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Params passed to {@link ColumnRendererMap.option} — one row in a dropdown/select
|
|
55
|
+
* option list. Used both by the cell editor's option list and by the default
|
|
56
|
+
* filter panel's set-filter checkbox list, so one `option` renderer covers
|
|
57
|
+
* both surfaces consistently (e.g. a flag icon next to a country name).
|
|
58
|
+
*/
|
|
59
|
+
export interface OptionRendererParams {
|
|
60
|
+
option: ColumnDropdownOption;
|
|
61
|
+
index: number;
|
|
62
|
+
selected: boolean;
|
|
63
|
+
highlighted: boolean;
|
|
64
|
+
colDef: ColumnDef;
|
|
65
|
+
api: unknown;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Params passed to {@link ColumnRendererMap.filter} — the full filter panel body for a column.
|
|
69
|
+
*
|
|
70
|
+
* A custom filter renderer is responsible for its own apply/clear affordances;
|
|
71
|
+
* it should call `onFilterChange` whenever the effective filter changes (or
|
|
72
|
+
* `null` to clear it) and `onClose` when it should be dismissed.
|
|
73
|
+
*/
|
|
74
|
+
export interface FilterRendererParams {
|
|
75
|
+
colDef: ColumnDef;
|
|
76
|
+
anchorEl: HTMLElement;
|
|
77
|
+
currentFilter: ColumnFilter | null;
|
|
78
|
+
uniqueOptions: FilterSetOption[];
|
|
79
|
+
onFilterChange: (filter: ColumnFilter | null) => void;
|
|
80
|
+
onClose: () => void;
|
|
81
|
+
api: unknown;
|
|
82
|
+
}
|
|
83
|
+
/** Params passed to {@link ColumnRendererMap.tooltip} — content shown when hovering a cell. */
|
|
84
|
+
export interface TooltipRendererParams {
|
|
85
|
+
value: unknown;
|
|
86
|
+
rawValue: unknown;
|
|
87
|
+
row: Record<string, unknown>;
|
|
88
|
+
colDef: ColumnDef;
|
|
89
|
+
rowIndex: number;
|
|
90
|
+
colIndex: number;
|
|
91
|
+
api: unknown;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Params passed to {@link ColumnRendererMap.group} — the label content of a
|
|
95
|
+
* group-header row for the column currently being grouped by.
|
|
96
|
+
*
|
|
97
|
+
* Only the label is replaced; the expand/collapse toggle button remains the
|
|
98
|
+
* grid's default so grouping interaction always keeps working.
|
|
99
|
+
*/
|
|
100
|
+
export interface GroupRendererParams {
|
|
101
|
+
row: RowNode;
|
|
102
|
+
colDef: ColumnDef;
|
|
103
|
+
groupValue: unknown;
|
|
104
|
+
childCount: number;
|
|
105
|
+
collapsed: boolean;
|
|
106
|
+
api: unknown;
|
|
107
|
+
}
|
|
108
|
+
/** Params passed to {@link ColumnRendererMap.header} — a column header cell's content. */
|
|
109
|
+
export interface HeaderRendererParams {
|
|
110
|
+
colDef: ColumnDef;
|
|
111
|
+
sortOrder: 'asc' | 'desc' | null;
|
|
112
|
+
filterActive: boolean;
|
|
113
|
+
api: unknown;
|
|
114
|
+
}
|
|
115
|
+
/** Params passed to {@link ColumnRendererMap.summary} — an aggregate/summary cell's content. */
|
|
116
|
+
export interface SummaryRendererParams {
|
|
117
|
+
colDef: ColumnDef;
|
|
118
|
+
value: unknown;
|
|
119
|
+
aggregation: AggFunc;
|
|
120
|
+
label?: string;
|
|
121
|
+
api: unknown;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Per-column rendering overrides, grouped by concern.
|
|
125
|
+
*
|
|
126
|
+
* Every slot is independently optional — an absent slot falls back to Photon
|
|
127
|
+
* Grid's built-in rendering for that concern, so columns can override just
|
|
128
|
+
* one aspect (e.g. only `display`) without having to reimplement the rest.
|
|
129
|
+
*
|
|
130
|
+
* Each slot's contract is a plain function returning `HTMLElement | string`,
|
|
131
|
+
* which keeps the core framework-agnostic: a future React/Angular/Vue wrapper
|
|
132
|
+
* package can implement any slot by mounting a component/template into a
|
|
133
|
+
* detached container and returning it, with no changes required here.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* const countryColumn: ColumnDef = {
|
|
138
|
+
* colId: 'country', field: 'country', header: 'Country', type: 'dropdown',
|
|
139
|
+
* renderer: {
|
|
140
|
+
* display: ({ value }) => `<span class="flag">${value}</span>`,
|
|
141
|
+
* option: ({ option }) => `<span class="flag">${option.label}</span>`,
|
|
142
|
+
* },
|
|
143
|
+
* };
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export interface ColumnRendererMap {
|
|
147
|
+
display?: (params: DisplayRendererParams) => RendererOutput;
|
|
148
|
+
editor?: (params: EditorRendererParams) => HTMLElement;
|
|
149
|
+
option?: (params: OptionRendererParams) => RendererOutput;
|
|
150
|
+
filter?: (params: FilterRendererParams) => HTMLElement;
|
|
151
|
+
tooltip?: (params: TooltipRendererParams) => RendererOutput;
|
|
152
|
+
group?: (params: GroupRendererParams) => RendererOutput;
|
|
153
|
+
header?: (params: HeaderRendererParams) => RendererOutput;
|
|
154
|
+
summary?: (params: SummaryRendererParams) => RendererOutput;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=renderer.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.types.d.ts","sourceRoot":"","sources":["../../src/types/renderer.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identifies one customizable rendering concern on a column.
|
|
3
|
+
*
|
|
4
|
+
* Used internally wherever a slot needs to be looked up generically (e.g.
|
|
5
|
+
* {@link resolveColumnRenderer}) instead of by a hardcoded property access,
|
|
6
|
+
* so new slots can be added without touching every call site.
|
|
7
|
+
*/
|
|
8
|
+
export var RendererSlot;
|
|
9
|
+
(function (RendererSlot) {
|
|
10
|
+
RendererSlot["Display"] = "display";
|
|
11
|
+
RendererSlot["Editor"] = "editor";
|
|
12
|
+
RendererSlot["Option"] = "option";
|
|
13
|
+
RendererSlot["Filter"] = "filter";
|
|
14
|
+
RendererSlot["Tooltip"] = "tooltip";
|
|
15
|
+
RendererSlot["Group"] = "group";
|
|
16
|
+
RendererSlot["Header"] = "header";
|
|
17
|
+
RendererSlot["Summary"] = "summary";
|
|
18
|
+
})(RendererSlot || (RendererSlot = {}));
|
|
19
|
+
//# sourceMappingURL=renderer.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.types.js","sourceRoot":"","sources":["../../src/types/renderer.types.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB"}
|