@genesislcap/grid-pro 15.16.1-alpha-c7adcde.0 → 15.17.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.
Files changed (42) hide show
  1. package/dist/custom-elements.json +559 -1
  2. package/dist/dts/datasource/index.d.ts +3 -0
  3. package/dist/dts/datasource/index.d.ts.map +1 -1
  4. package/dist/dts/datasource/row-match.classes.d.ts +47 -0
  5. package/dist/dts/datasource/row-match.classes.d.ts.map +1 -0
  6. package/dist/dts/datasource/row-match.tracker.d.ts +67 -0
  7. package/dist/dts/datasource/row-match.tracker.d.ts.map +1 -0
  8. package/dist/dts/datasource/row-match.types.d.ts +86 -0
  9. package/dist/dts/datasource/row-match.types.d.ts.map +1 -0
  10. package/dist/dts/grid-pro-beta.d.ts +3 -1
  11. package/dist/dts/grid-pro-beta.d.ts.map +1 -1
  12. package/dist/dts/grid-pro.styles.d.ts +14 -0
  13. package/dist/dts/grid-pro.styles.d.ts.map +1 -1
  14. package/dist/dts/index.d.ts +1 -0
  15. package/dist/dts/index.d.ts.map +1 -1
  16. package/dist/dts/row-alert/index.d.ts +3 -0
  17. package/dist/dts/row-alert/index.d.ts.map +1 -0
  18. package/dist/dts/row-alert/row-alert.d.ts +132 -0
  19. package/dist/dts/row-alert/row-alert.d.ts.map +1 -0
  20. package/dist/dts/row-alert/row-alert.types.d.ts +62 -0
  21. package/dist/dts/row-alert/row-alert.types.d.ts.map +1 -0
  22. package/dist/dts/state-persistence/kv-state.d.ts +3 -0
  23. package/dist/dts/state-persistence/kv-state.d.ts.map +1 -1
  24. package/dist/dts/state-persistence/local-state.d.ts +3 -0
  25. package/dist/dts/state-persistence/local-state.d.ts.map +1 -1
  26. package/dist/dts/state-persistence/state-persistence.d.ts +16 -0
  27. package/dist/dts/state-persistence/state-persistence.d.ts.map +1 -1
  28. package/dist/esm/datasource/index.js +3 -0
  29. package/dist/esm/datasource/row-match.classes.js +53 -0
  30. package/dist/esm/datasource/row-match.tracker.js +117 -0
  31. package/dist/esm/datasource/row-match.types.js +98 -0
  32. package/dist/esm/grid-pro-beta.js +1 -2
  33. package/dist/esm/grid-pro.styles.js +48 -0
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/row-alert/index.js +2 -0
  36. package/dist/esm/row-alert/row-alert.js +197 -0
  37. package/dist/esm/row-alert/row-alert.types.js +63 -0
  38. package/dist/esm/state-persistence/kv-state.js +21 -0
  39. package/dist/esm/state-persistence/local-state.js +19 -0
  40. package/dist/grid-pro.api.json +11119 -8496
  41. package/dist/grid-pro.d.ts +444 -1
  42. package/package.json +14 -14
@@ -1471,13 +1471,20 @@
1471
1471
  "description": "Workaround for an AG Grid (v36, still present in v36.1.0) drag-ghost positioning bug in\nshadow DOM. The row-drag \"N rows\" ghost is appended to the grid's containing shadow root\n(AG's \\`_getPageBody\\` finds no \\`<body>\\` there) inside \\`.ag-styled-root\\` wrappers that are\n\\`display: contents\\`, so the ghost's positioning formula\n(\\`clientY - offsetParentRect.top - height / 2\\`) resolves against whatever ancestor of the\nshadow host happens to be its containing block. Whenever the element \\`offsetParent\\`\nreports differs from the real containing block (inline host fragments, scrolled panes,\napp-level transforms), the ghost renders at a constant offset from the cursor.\n\\`popupParent\\` does not help — the ghost code path never consults it.\n\nGiving the ghost's direct wrapper a real, positioned, zero-size box makes it both the\nreported \\`offsetParent\\` and the actual containing block, so AG's formula is exact —\nverified to match AG's healthy document-\\`body\\` code path pixel-for-pixel. Scoped with\n\\`:has(> .ag-dnd-ghost)\\` so the popup subsystem's \\`.ag-styled-root\\` wrappers keep their\nstock \\`display: contents\\`.",
1472
1472
  "privacy": "public"
1473
1473
  },
1474
+ {
1475
+ "kind": "variable",
1476
+ "name": "rowMatchAlertStyles",
1477
+ "default": "css`\n /* The :host prefix is needed to outweigh the AG theme's own .ag-theme-* .ag-row background. */\n :host .ag-row.${ROW_MATCH_ALERT_CLASS} {\n background-color: color-mix(\n in srgb,\n var(--row-alert-color, var(--error-fill-rest, #c62828))\n calc(var(${alertFlashPhaseProperty}, 0) * 100%),\n transparent\n );\n }\n\n /* AG paints cell backgrounds over the row, so they have to stand aside for a row-wide flash. */\n :host .ag-row.${ROW_MATCH_ALERT_CLASS} .ag-cell:not(.${ROW_MATCH_ALERT_CELL_CLASS}) {\n background-color: transparent !important;\n }\n\n :host .ag-cell.${ROW_MATCH_ALERT_CELL_CLASS} {\n background-color: color-mix(\n in srgb,\n var(--row-alert-color, var(--error-fill-rest, #c62828))\n calc(var(${alertFlashPhaseProperty}, 0) * 100%),\n transparent\n );\n }\n\n /* Reduced motion stops the clock, leaving the phase at 0, so paint a steady alert instead. */\n @media (prefers-reduced-motion: reduce) {\n :host .ag-row.${ROW_MATCH_ALERT_CLASS}, :host .ag-cell.${ROW_MATCH_ALERT_CELL_CLASS} {\n background-color: var(--row-alert-color, var(--error-fill-rest, #c62828));\n }\n }\n`",
1478
+ "description": "Flash for rows carrying the classes that `createRowMatchClassRules` and\n`createRowMatchCellClassRules` apply.\n\nThese live in the grid's own stylesheet because AG Grid renders inside this shadow root, out of\nreach of an app's CSS. The phase comes from the document-level clock, which inherits through the\nshadow boundary, so a flashing row keeps step with the flashing tab that sent you looking for it.\n\nAny grid composition that does not include foundationGridProStyles needs to include this\nas well, otherwise its rows silently never flash.",
1479
+ "privacy": "public"
1480
+ },
1474
1481
  {
1475
1482
  "kind": "variable",
1476
1483
  "name": "foundationGridProStyles",
1477
1484
  "type": {
1478
1485
  "text": "ElementStyles"
1479
1486
  },
1480
- "default": "css`\n ${agExternalStockStyles}\n ${errorHandlerDialogStyles}\n ${agDragGhostShadowDomStyles}\n :host {\n --datasource-error-background-color: var(--neutral-layer-4);\n --datasource-error-background-opacity: 0.5;\n --datasource-error-dialog-max-width: 50%;\n --datasource-error-dialog-min-width: auto;\n --ag-status-bar-height: 32.5px;\n\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n :host([ds-disconnected]) {\n display: block;\n }\n\n :host([ds-disconnected])::part(grid) {\n cursor: not-allowed;\n opacity: 40%;\n pointer-events: none;\n }\n\n .ag-side-bar,\n .ag-menu {\n --ag-subheader-background-color: var(--ag-background-color);\n --ag-control-panel-background-color: var(--ag-background-color);\n }\n\n .ag-cell-inline-editing {\n height: inherit !important;\n }\n\n .hidden {\n display: none;\n }\n\n .error {\n border-color: var(--error-color) !important;\n }\n\n .ag-status-bar {\n height: var(--ag-status-bar-height);\n }\n\n .ag-status-name-value {\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n }\n\n /* Custom styling for the unsort icon (sortNone) - only for sortable columns */\n .ag-header-cell.ag-header-cell-sortable .ag-icon-none {\n opacity: 100%;\n color: var(--rapid-ag-header-foreground-color, var(--ag-foreground-color, #fff));\n font-size: calc(var(--ag-icon-size, 12px) * 1.2);\n font-weight: bold;\n }\n\n .ag-header-cell.ag-header-cell-sortable:hover .ag-icon-none {\n opacity: 100%;\n color: var(--rapid-ag-header-foreground-color, var(--ag-foreground-color, #fff));\n transform: scale(1.1);\n transition: transform 0.2s ease;\n }\n`",
1487
+ "default": "css`\n ${agExternalStockStyles}\n ${errorHandlerDialogStyles}\n ${agDragGhostShadowDomStyles}\n ${rowMatchAlertStyles}\n :host {\n --datasource-error-background-color: var(--neutral-layer-4);\n --datasource-error-background-opacity: 0.5;\n --datasource-error-dialog-max-width: 50%;\n --datasource-error-dialog-min-width: auto;\n --ag-status-bar-height: 32.5px;\n\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n :host([ds-disconnected]) {\n display: block;\n }\n\n :host([ds-disconnected])::part(grid) {\n cursor: not-allowed;\n opacity: 40%;\n pointer-events: none;\n }\n\n .ag-side-bar,\n .ag-menu {\n --ag-subheader-background-color: var(--ag-background-color);\n --ag-control-panel-background-color: var(--ag-background-color);\n }\n\n .ag-cell-inline-editing {\n height: inherit !important;\n }\n\n .hidden {\n display: none;\n }\n\n .error {\n border-color: var(--error-color) !important;\n }\n\n .ag-status-bar {\n height: var(--ag-status-bar-height);\n }\n\n .ag-status-name-value {\n padding-top: var(--ag-grid-size);\n padding-bottom: var(--ag-grid-size);\n }\n\n /* Custom styling for the unsort icon (sortNone) - only for sortable columns */\n .ag-header-cell.ag-header-cell-sortable .ag-icon-none {\n opacity: 100%;\n color: var(--rapid-ag-header-foreground-color, var(--ag-foreground-color, #fff));\n font-size: calc(var(--ag-icon-size, 12px) * 1.2);\n font-weight: bold;\n }\n\n .ag-header-cell.ag-header-cell-sortable:hover .ag-icon-none {\n opacity: 100%;\n color: var(--rapid-ag-header-foreground-color, var(--ag-foreground-color, #fff));\n transform: scale(1.1);\n transition: transform 0.2s ease;\n }\n`",
1481
1488
  "description": "The Grid Pro styles.",
1482
1489
  "privacy": "public"
1483
1490
  }
@@ -1491,6 +1498,14 @@
1491
1498
  "module": "src/grid-pro.styles.ts"
1492
1499
  }
1493
1500
  },
1501
+ {
1502
+ "kind": "js",
1503
+ "name": "rowMatchAlertStyles",
1504
+ "declaration": {
1505
+ "name": "rowMatchAlertStyles",
1506
+ "module": "src/grid-pro.styles.ts"
1507
+ }
1508
+ },
1494
1509
  {
1495
1510
  "kind": "js",
1496
1511
  "name": "foundationGridProStyles",
@@ -3441,6 +3456,14 @@
3441
3456
  "package": "./multicolumn-dropdown"
3442
3457
  }
3443
3458
  },
3459
+ {
3460
+ "kind": "js",
3461
+ "name": "*",
3462
+ "declaration": {
3463
+ "name": "*",
3464
+ "package": "./row-alert"
3465
+ }
3466
+ },
3444
3467
  {
3445
3468
  "kind": "js",
3446
3469
  "name": "*",
@@ -11915,6 +11938,30 @@
11915
11938
  "package": "./datasource.types"
11916
11939
  }
11917
11940
  },
11941
+ {
11942
+ "kind": "js",
11943
+ "name": "*",
11944
+ "declaration": {
11945
+ "name": "*",
11946
+ "package": "./row-match.types"
11947
+ }
11948
+ },
11949
+ {
11950
+ "kind": "js",
11951
+ "name": "*",
11952
+ "declaration": {
11953
+ "name": "*",
11954
+ "package": "./row-match.tracker"
11955
+ }
11956
+ },
11957
+ {
11958
+ "kind": "js",
11959
+ "name": "*",
11960
+ "declaration": {
11961
+ "name": "*",
11962
+ "package": "./row-match.classes"
11963
+ }
11964
+ },
11918
11965
  {
11919
11966
  "kind": "js",
11920
11967
  "name": "*",
@@ -11925,6 +11972,292 @@
11925
11972
  }
11926
11973
  ]
11927
11974
  },
11975
+ {
11976
+ "kind": "javascript-module",
11977
+ "path": "src/datasource/row-match.classes.ts",
11978
+ "declarations": [
11979
+ {
11980
+ "kind": "variable",
11981
+ "name": "ROW_MATCH_ALERT_CLASS",
11982
+ "type": {
11983
+ "text": "string"
11984
+ },
11985
+ "default": "'grid-pro-row-alert'",
11986
+ "description": "Class the grid puts on rows satisfying the criteria. The grid's own styles flash it in step\nwith any alerting tab, so a tab that draws you to a grid also shows you which rows caused it.",
11987
+ "privacy": "public"
11988
+ },
11989
+ {
11990
+ "kind": "variable",
11991
+ "name": "ROW_MATCH_ALERT_CELL_CLASS",
11992
+ "type": {
11993
+ "text": "string"
11994
+ },
11995
+ "default": "'grid-pro-row-alert-cell'",
11996
+ "description": "Class the grid puts on just the `flashField` cell of a matching row, for grids that flash a\nsingle column rather than the whole row.",
11997
+ "privacy": "public"
11998
+ },
11999
+ {
12000
+ "kind": "function",
12001
+ "name": "createRowMatchClassRules",
12002
+ "return": {
12003
+ "type": {
12004
+ "text": "Record<string, (params: { data?: unknown }) => boolean>"
12005
+ }
12006
+ },
12007
+ "parameters": [
12008
+ {
12009
+ "name": "criteria",
12010
+ "type": {
12011
+ "text": "RowMatchCriteria"
12012
+ }
12013
+ }
12014
+ ],
12015
+ "description": "Row class rules that flag rows meeting RowMatchCriteria, for spreading into\n`gridOptions.rowClassRules`.\n\nPairs with DatasourceRowMatchTracker: the tracker decides whether a tab should flash,\nthese decide which rows made it flash. Both take the same criteria, so the two cannot disagree.\n\n```ts\ngridOptions = { rowClassRules: createRowMatchClassRules(criteria) };\n```",
12016
+ "privacy": "public"
12017
+ },
12018
+ {
12019
+ "kind": "function",
12020
+ "name": "createRowMatchCellClassRules",
12021
+ "return": {
12022
+ "type": {
12023
+ "text": "Record<string, (params: { data?: unknown; colDef: { field?: string } }) => boolean>"
12024
+ }
12025
+ },
12026
+ "parameters": [
12027
+ {
12028
+ "name": "criteria",
12029
+ "type": {
12030
+ "text": "RowMatchCriteria"
12031
+ }
12032
+ }
12033
+ ],
12034
+ "description": "Cell class rules that flag only the `flashField` cell of a matching row, for spreading into\n`gridOptions.defaultColDef.cellClassRules`.\n\nThey belong on `defaultColDef` rather than a single column because AG Grid has no grid-level\n`cellClassRules`, and the rule itself checks which column it is running against.",
12035
+ "privacy": "public"
12036
+ }
12037
+ ],
12038
+ "exports": [
12039
+ {
12040
+ "kind": "js",
12041
+ "name": "ROW_MATCH_ALERT_CLASS",
12042
+ "declaration": {
12043
+ "name": "ROW_MATCH_ALERT_CLASS",
12044
+ "module": "src/datasource/row-match.classes.ts"
12045
+ }
12046
+ },
12047
+ {
12048
+ "kind": "js",
12049
+ "name": "ROW_MATCH_ALERT_CELL_CLASS",
12050
+ "declaration": {
12051
+ "name": "ROW_MATCH_ALERT_CELL_CLASS",
12052
+ "module": "src/datasource/row-match.classes.ts"
12053
+ }
12054
+ },
12055
+ {
12056
+ "kind": "js",
12057
+ "name": "createRowMatchClassRules",
12058
+ "declaration": {
12059
+ "name": "createRowMatchClassRules",
12060
+ "module": "src/datasource/row-match.classes.ts"
12061
+ }
12062
+ },
12063
+ {
12064
+ "kind": "js",
12065
+ "name": "createRowMatchCellClassRules",
12066
+ "declaration": {
12067
+ "name": "createRowMatchCellClassRules",
12068
+ "module": "src/datasource/row-match.classes.ts"
12069
+ }
12070
+ }
12071
+ ]
12072
+ },
12073
+ {
12074
+ "kind": "javascript-module",
12075
+ "path": "src/datasource/row-match.tracker.ts",
12076
+ "declarations": [
12077
+ {
12078
+ "kind": "class",
12079
+ "description": "Tracks which datasource rows satisfy RowMatchCriteria as stream updates arrive,\nand reports whether any currently do.\n\nRows are tracked incrementally from `add` / `update` / `remove` deltas rather than by\nrescanning the grid, so cost is proportional to the update rather than to the row count.\n\nThe typical consumer flags a tab while a background grid still holds rows needing\nattention:\n\n```ts\nconst tracker = new DatasourceRowMatchTracker(\n { rowIdField: 'ORDER_ID', stateField: 'ORDER_STATE', stateValue: 'PENDING' },\n (active) => { tab.alert = active; },\n);\nconst stop = tracker.observe(datasourceElement);\n```\n\nFrameworks that surface the datasource events as props can feed the tracker directly with\nDatasourceRowMatchTracker.handleDataChanged and\nDatasourceRowMatchTracker.handleDataCleared instead of calling `observe`.\n\nPassing the same criteria to `createRowMatchClassRules` flashes the matching rows themselves, so\na tab that says there is work to do leads to a grid that shows which rows it meant.\n\nCriteria are fixed for the tracker's life. To watch for something else, build a new tracker and\nreload the datasource, so rows already delivered are replayed against the new rules.",
12080
+ "name": "DatasourceRowMatchTracker",
12081
+ "members": [
12082
+ {
12083
+ "kind": "field",
12084
+ "name": "matchedRowIds",
12085
+ "privacy": "private",
12086
+ "readonly": true,
12087
+ "default": "new Set<string>()"
12088
+ },
12089
+ {
12090
+ "kind": "field",
12091
+ "name": "lastReportedActive",
12092
+ "type": {
12093
+ "text": "boolean"
12094
+ },
12095
+ "privacy": "private",
12096
+ "default": "false"
12097
+ },
12098
+ {
12099
+ "kind": "field",
12100
+ "name": "active",
12101
+ "type": {
12102
+ "text": "boolean"
12103
+ },
12104
+ "description": "True while at least one tracked row matches.",
12105
+ "readonly": true
12106
+ },
12107
+ {
12108
+ "kind": "field",
12109
+ "name": "matchCount",
12110
+ "type": {
12111
+ "text": "number"
12112
+ },
12113
+ "description": "How many tracked rows currently match.",
12114
+ "readonly": true
12115
+ },
12116
+ {
12117
+ "kind": "method",
12118
+ "name": "reset",
12119
+ "return": {
12120
+ "type": {
12121
+ "text": "void"
12122
+ }
12123
+ },
12124
+ "description": "Forgets every tracked row. Call when the grid's filter or search criteria change, so a\nstale alert does not survive into a result set that no longer contains those rows."
12125
+ },
12126
+ {
12127
+ "kind": "method",
12128
+ "name": "handleDataChanged",
12129
+ "return": {
12130
+ "type": {
12131
+ "text": "void"
12132
+ }
12133
+ },
12134
+ "parameters": [
12135
+ {
12136
+ "name": "detail",
12137
+ "type": {
12138
+ "text": "DataChangedEventDetail | undefined"
12139
+ }
12140
+ }
12141
+ ],
12142
+ "description": "Applies a `datasource-data-changed` detail."
12143
+ },
12144
+ {
12145
+ "kind": "method",
12146
+ "name": "handleDataCleared",
12147
+ "return": {
12148
+ "type": {
12149
+ "text": "void"
12150
+ }
12151
+ },
12152
+ "description": "Applies a `datasource-data-cleared` event."
12153
+ },
12154
+ {
12155
+ "kind": "method",
12156
+ "name": "observe",
12157
+ "return": {
12158
+ "type": {
12159
+ "text": ""
12160
+ }
12161
+ },
12162
+ "parameters": [
12163
+ {
12164
+ "name": "target",
12165
+ "type": {
12166
+ "text": "EventTarget"
12167
+ }
12168
+ }
12169
+ ],
12170
+ "description": "Subscribes to the datasource events on `target`."
12171
+ },
12172
+ {
12173
+ "kind": "method",
12174
+ "name": "syncRow",
12175
+ "privacy": "private",
12176
+ "return": {
12177
+ "type": {
12178
+ "text": "void"
12179
+ }
12180
+ },
12181
+ "parameters": [
12182
+ {
12183
+ "name": "row",
12184
+ "type": {
12185
+ "text": "Record<string, unknown> | null | undefined"
12186
+ }
12187
+ },
12188
+ {
12189
+ "name": "removed",
12190
+ "type": {
12191
+ "text": "boolean"
12192
+ }
12193
+ }
12194
+ ]
12195
+ },
12196
+ {
12197
+ "kind": "method",
12198
+ "name": "report",
12199
+ "privacy": "private",
12200
+ "return": {
12201
+ "type": {
12202
+ "text": "void"
12203
+ }
12204
+ }
12205
+ }
12206
+ ]
12207
+ }
12208
+ ],
12209
+ "exports": [
12210
+ {
12211
+ "kind": "js",
12212
+ "name": "DatasourceRowMatchTracker",
12213
+ "declaration": {
12214
+ "name": "DatasourceRowMatchTracker",
12215
+ "module": "src/datasource/row-match.tracker.ts"
12216
+ }
12217
+ }
12218
+ ]
12219
+ },
12220
+ {
12221
+ "kind": "javascript-module",
12222
+ "path": "src/datasource/row-match.types.ts",
12223
+ "declarations": [
12224
+ {
12225
+ "kind": "function",
12226
+ "name": "matchesRowCriteria",
12227
+ "return": {
12228
+ "type": {
12229
+ "text": "boolean"
12230
+ }
12231
+ },
12232
+ "parameters": [
12233
+ {
12234
+ "name": "criteria",
12235
+ "type": {
12236
+ "text": "RowMatchCriteria"
12237
+ }
12238
+ },
12239
+ {
12240
+ "name": "row",
12241
+ "type": {
12242
+ "text": "Record<string, unknown> | null | undefined"
12243
+ }
12244
+ }
12245
+ ],
12246
+ "description": "True when the row satisfies any resolved AND-group.",
12247
+ "privacy": "public"
12248
+ }
12249
+ ],
12250
+ "exports": [
12251
+ {
12252
+ "kind": "js",
12253
+ "name": "matchesRowCriteria",
12254
+ "declaration": {
12255
+ "name": "matchesRowCriteria",
12256
+ "module": "src/datasource/row-match.types.ts"
12257
+ }
12258
+ }
12259
+ ]
12260
+ },
11928
12261
  {
11929
12262
  "kind": "javascript-module",
11930
12263
  "path": "src/datasource/server-side.datasource.ts",
@@ -18669,6 +19002,151 @@
18669
19002
  }
18670
19003
  ]
18671
19004
  },
19005
+ {
19006
+ "kind": "javascript-module",
19007
+ "path": "src/row-alert/index.ts",
19008
+ "declarations": [],
19009
+ "exports": [
19010
+ {
19011
+ "kind": "js",
19012
+ "name": "*",
19013
+ "declaration": {
19014
+ "name": "*",
19015
+ "package": "./row-alert"
19016
+ }
19017
+ },
19018
+ {
19019
+ "kind": "js",
19020
+ "name": "*",
19021
+ "declaration": {
19022
+ "name": "*",
19023
+ "package": "./row-alert.types"
19024
+ }
19025
+ }
19026
+ ]
19027
+ },
19028
+ {
19029
+ "kind": "javascript-module",
19030
+ "path": "src/row-alert/row-alert.ts",
19031
+ "declarations": [
19032
+ {
19033
+ "kind": "function",
19034
+ "name": "createRowAlert",
19035
+ "return": {
19036
+ "type": {
19037
+ "text": "RowAlert"
19038
+ }
19039
+ },
19040
+ "parameters": [
19041
+ {
19042
+ "name": "criteria",
19043
+ "type": {
19044
+ "text": "RowMatchCriteria"
19045
+ }
19046
+ },
19047
+ {
19048
+ "name": "options",
19049
+ "default": "{}",
19050
+ "type": {
19051
+ "text": "RowAlertOptions"
19052
+ }
19053
+ }
19054
+ ],
19055
+ "description": "Builds the class rules that flash rows matching `criteria`, together with the context menu\nthat lets a user recolor, retime, or narrow that flash to a single cell.\n\nThe rules are created once and never replaced, because a grid backed by a Genesis datasource\nkeeps the options it was created with — handing it new rules later would change nothing. Each\nrule instead asks, as it runs, whether its scope is the one currently selected, so switching\ntarget only needs the rows redrawn.\n\n```ts\nconst alert = createRowAlert(criteria, { persistPreferencesKey: 'orders.row-alert' });\ngridOptions = {\n rowClassRules: alert.rowClassRules,\n defaultColDef: alert.defaultColDef,\n getContextMenuItems: alert.getContextMenuItems,\n};\n```\n\nAlerts sharing a `persistPreferencesKey` share their preferences, so a page of grids that each\nwatch for something different still answers to one setting.\n\nPairs with DatasourceRowMatchTracker: give both the same criteria and a tab can say\nthere is work to do while the grid shows which rows it meant.",
19056
+ "privacy": "public"
19057
+ }
19058
+ ],
19059
+ "exports": [
19060
+ {
19061
+ "kind": "js",
19062
+ "name": "createRowAlert",
19063
+ "declaration": {
19064
+ "name": "createRowAlert",
19065
+ "module": "src/row-alert/row-alert.ts"
19066
+ }
19067
+ }
19068
+ ]
19069
+ },
19070
+ {
19071
+ "kind": "javascript-module",
19072
+ "path": "src/row-alert/row-alert.types.ts",
19073
+ "declarations": [
19074
+ {
19075
+ "kind": "variable",
19076
+ "name": "defaultRowAlertColorPresets",
19077
+ "type": {
19078
+ "text": "[\n { id: 'error', label: 'Error', value: 'var(--error-fill-rest, #c62828)' },\n { id: 'warning', label: 'Warning', value: 'var(--warning-fill-rest, #ef6c00)' },\n { id: 'success', label: 'Success', value: 'var(--success-fill-rest, #2e7d32)' },\n { id: 'accent', label: 'Accent', value: 'var(--accent-fill-rest, #1565c0)' },\n { id: 'neutral', label: 'Neutral', value: 'var(--neutral-fill-rest, #546e7a)' },\n]"
19079
+ },
19080
+ "default": "[\n { id: 'error', label: 'Error', value: 'var(--error-fill-rest, #c62828)' },\n { id: 'warning', label: 'Warning', value: 'var(--warning-fill-rest, #ef6c00)' },\n { id: 'success', label: 'Success', value: 'var(--success-fill-rest, #2e7d32)' },\n { id: 'accent', label: 'Accent', value: 'var(--accent-fill-rest, #1565c0)' },\n { id: 'neutral', label: 'Neutral', value: 'var(--neutral-fill-rest, #546e7a)' },\n]",
19081
+ "description": "Colors offered by default. Each resolves a design token so the menu follows the host\napplication's theme, falling back to a fixed color for design systems that lack the token.",
19082
+ "privacy": "public"
19083
+ },
19084
+ {
19085
+ "kind": "variable",
19086
+ "name": "defaultRowAlertRatePresets",
19087
+ "type": {
19088
+ "text": "[\n { id: 'slow', label: 'Slow', value: 1400 },\n { id: 'normal', label: 'Normal', value: 1000 },\n { id: 'fast', label: 'Fast', value: 500 },\n]"
19089
+ },
19090
+ "default": "[\n { id: 'slow', label: 'Slow', value: 1400 },\n { id: 'normal', label: 'Normal', value: 1000 },\n { id: 'fast', label: 'Fast', value: 500 },\n]",
19091
+ "description": "Flash rates offered by default.",
19092
+ "privacy": "public"
19093
+ },
19094
+ {
19095
+ "kind": "variable",
19096
+ "name": "defaultRowAlertScopePresets",
19097
+ "type": {
19098
+ "text": "[\n { id: 'row', label: 'Whole row', value: 'row' },\n { id: 'cell', label: 'Alert field cell', value: 'cell' },\n]"
19099
+ },
19100
+ "default": "[\n { id: 'row', label: 'Whole row', value: 'row' },\n { id: 'cell', label: 'Alert field cell', value: 'cell' },\n]",
19101
+ "description": "Flash targets offered by default. Cell scope only has an effect when the criteria name a\n`flashField`.",
19102
+ "privacy": "public"
19103
+ },
19104
+ {
19105
+ "kind": "variable",
19106
+ "name": "defaultRowAlertPreferences",
19107
+ "type": {
19108
+ "text": "RowAlertPreferences"
19109
+ },
19110
+ "default": "{\n color: defaultRowAlertColorPresets[0].value,\n durationMs: defaultRowAlertRatePresets[1].value,\n scope: 'row',\n}",
19111
+ "description": "Where preferences start before a user changes anything.",
19112
+ "privacy": "public"
19113
+ }
19114
+ ],
19115
+ "exports": [
19116
+ {
19117
+ "kind": "js",
19118
+ "name": "defaultRowAlertColorPresets",
19119
+ "declaration": {
19120
+ "name": "defaultRowAlertColorPresets",
19121
+ "module": "src/row-alert/row-alert.types.ts"
19122
+ }
19123
+ },
19124
+ {
19125
+ "kind": "js",
19126
+ "name": "defaultRowAlertRatePresets",
19127
+ "declaration": {
19128
+ "name": "defaultRowAlertRatePresets",
19129
+ "module": "src/row-alert/row-alert.types.ts"
19130
+ }
19131
+ },
19132
+ {
19133
+ "kind": "js",
19134
+ "name": "defaultRowAlertScopePresets",
19135
+ "declaration": {
19136
+ "name": "defaultRowAlertScopePresets",
19137
+ "module": "src/row-alert/row-alert.types.ts"
19138
+ }
19139
+ },
19140
+ {
19141
+ "kind": "js",
19142
+ "name": "defaultRowAlertPreferences",
19143
+ "declaration": {
19144
+ "name": "defaultRowAlertPreferences",
19145
+ "module": "src/row-alert/row-alert.types.ts"
19146
+ }
19147
+ }
19148
+ ]
19149
+ },
18672
19150
  {
18673
19151
  "kind": "javascript-module",
18674
19152
  "path": "src/state-persistence/index.ts",
@@ -18837,6 +19315,46 @@
18837
19315
  }
18838
19316
  }
18839
19317
  ]
19318
+ },
19319
+ {
19320
+ "kind": "method",
19321
+ "name": "getRowAlertPreferences",
19322
+ "return": {
19323
+ "type": {
19324
+ "text": "Promise<Partial<RowAlertPreferences>>"
19325
+ }
19326
+ },
19327
+ "parameters": [
19328
+ {
19329
+ "name": "persistRowAlertKey",
19330
+ "type": {
19331
+ "text": "string"
19332
+ }
19333
+ }
19334
+ ]
19335
+ },
19336
+ {
19337
+ "kind": "method",
19338
+ "name": "saveRowAlertPreferences",
19339
+ "return": {
19340
+ "type": {
19341
+ "text": "Promise<void>"
19342
+ }
19343
+ },
19344
+ "parameters": [
19345
+ {
19346
+ "name": "persistRowAlertKey",
19347
+ "type": {
19348
+ "text": "string"
19349
+ }
19350
+ },
19351
+ {
19352
+ "name": "preferences",
19353
+ "type": {
19354
+ "text": "RowAlertPreferences"
19355
+ }
19356
+ }
19357
+ ]
18840
19358
  }
18841
19359
  ]
18842
19360
  }
@@ -18964,6 +19482,46 @@
18964
19482
  }
18965
19483
  }
18966
19484
  ]
19485
+ },
19486
+ {
19487
+ "kind": "method",
19488
+ "name": "getRowAlertPreferences",
19489
+ "return": {
19490
+ "type": {
19491
+ "text": "Promise<Partial<RowAlertPreferences>>"
19492
+ }
19493
+ },
19494
+ "parameters": [
19495
+ {
19496
+ "name": "persistRowAlertKey",
19497
+ "type": {
19498
+ "text": "string"
19499
+ }
19500
+ }
19501
+ ]
19502
+ },
19503
+ {
19504
+ "kind": "method",
19505
+ "name": "saveRowAlertPreferences",
19506
+ "return": {
19507
+ "type": {
19508
+ "text": "Promise<void>"
19509
+ }
19510
+ },
19511
+ "parameters": [
19512
+ {
19513
+ "name": "persistRowAlertKey",
19514
+ "type": {
19515
+ "text": "string"
19516
+ }
19517
+ },
19518
+ {
19519
+ "name": "preferences",
19520
+ "type": {
19521
+ "text": "RowAlertPreferences"
19522
+ }
19523
+ }
19524
+ ]
18967
19525
  }
18968
19526
  ]
18969
19527
  }
@@ -3,5 +3,8 @@ export * from './base.types';
3
3
  export * from './client-side.datasource';
4
4
  export * from './error-handler.dialog';
5
5
  export * from './datasource.types';
6
+ export * from './row-match.types';
7
+ export * from './row-match.tracker';
8
+ export * from './row-match.classes';
6
9
  export * from './server-side.datasource';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasource/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasource/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}