persian-data-grid 0.6.0 → 0.7.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 (137) hide show
  1. package/README.md +1 -1
  2. package/dist/{ERPTableGroupRow-PSAPAHGL.js → ERPTableGroupRow-E5Q6FYDS.js} +4 -4
  3. package/dist/{ERPTableGroupRow-PSAPAHGL.js.map → ERPTableGroupRow-E5Q6FYDS.js.map} +1 -1
  4. package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs → ERPTableGroupRow-F2IPDYL5.cjs} +9 -9
  5. package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs.map → ERPTableGroupRow-F2IPDYL5.cjs.map} +1 -1
  6. package/dist/{GridPlugin-CJCaYnlw.d.ts → GridPlugin-Bewn0X51.d.ts} +1 -1
  7. package/dist/{GridPlugin-oxhq8AsM.d.cts → GridPlugin-DewWufGZ.d.cts} +1 -1
  8. package/dist/{GridSession-Bc7UIawO.d.ts → GridSession-CeIfVFck.d.ts} +142 -9
  9. package/dist/{GridSession-B-9lLcoB.d.cts → GridSession-CmQn2RnL.d.cts} +142 -9
  10. package/dist/GridSyncService-3JQLEY65.cjs +12 -0
  11. package/dist/{GridSyncService-TAPAHABV.cjs.map → GridSyncService-3JQLEY65.cjs.map} +1 -1
  12. package/dist/GridSyncService-GECXGEKL.js +3 -0
  13. package/dist/{GridSyncService-KTLB4KP3.js.map → GridSyncService-GECXGEKL.js.map} +1 -1
  14. package/dist/{PdfRenderer-CBg7hWNS.d.cts → PdfRenderer-B9FJaCo_.d.cts} +1 -1
  15. package/dist/{PdfRenderer-1HFh6UeR.d.ts → PdfRenderer-bN7ca_Aj.d.ts} +1 -1
  16. package/dist/{UITableController-DU8RopUM.d.ts → UITableController-C71LXBiX.d.ts} +48 -2
  17. package/dist/{UITableController-Cuwq481K.d.cts → UITableController-CIwnHIw8.d.cts} +48 -2
  18. package/dist/{VazirmatnPdfRenderer-BCMpC1zy.d.cts → VazirmatnPdfRenderer-CpCqA-Wh.d.cts} +2 -2
  19. package/dist/{VazirmatnPdfRenderer-Dz_G-m3c.d.ts → VazirmatnPdfRenderer-D46smncn.d.ts} +2 -2
  20. package/dist/adapters/arian-erp.cjs +16 -4
  21. package/dist/adapters/arian-erp.cjs.map +1 -1
  22. package/dist/adapters/arian-erp.d.cts +3 -1
  23. package/dist/adapters/arian-erp.d.ts +3 -1
  24. package/dist/adapters/arian-erp.js +11 -3
  25. package/dist/adapters/arian-erp.js.map +1 -1
  26. package/dist/{applyImportedRows-BO6yxoAN.d.cts → applyImportedRows-C2fWYoPy.d.cts} +3 -3
  27. package/dist/{applyImportedRows-D4zVY8uD.d.ts → applyImportedRows-Cqh_N_0k.d.ts} +3 -3
  28. package/dist/{applyRowVisibilityHandler-LXCOGESZ.cjs → applyRowVisibilityHandler-Q64ZFC7A.cjs} +7 -6
  29. package/dist/applyRowVisibilityHandler-Q64ZFC7A.cjs.map +1 -0
  30. package/dist/{applyRowVisibilityHandler-KS6TMCBN.js → applyRowVisibilityHandler-ZLZXQEGY.js} +6 -5
  31. package/dist/applyRowVisibilityHandler-ZLZXQEGY.js.map +1 -0
  32. package/dist/callbackRemoteApi-BYLjmSI6.d.ts +51 -0
  33. package/dist/callbackRemoteApi-Cv26MmSD.d.cts +51 -0
  34. package/dist/{cellRenderContext-DB7V_mlu.d.ts → cellRenderContext-BaNh4qn_.d.ts} +2 -2
  35. package/dist/{cellRenderContext-DG5BOlxK.d.cts → cellRenderContext-DvngkptV.d.cts} +2 -2
  36. package/dist/{chunk-HTNJT2QU.js → chunk-27ALJSZP.js} +617 -104
  37. package/dist/chunk-27ALJSZP.js.map +1 -0
  38. package/dist/{chunk-KUBVDIF7.cjs → chunk-3HP3HQCW.cjs} +52 -17
  39. package/dist/chunk-3HP3HQCW.cjs.map +1 -0
  40. package/dist/{chunk-DXRCYW42.cjs → chunk-52LFOPXD.cjs} +43 -23
  41. package/dist/chunk-52LFOPXD.cjs.map +1 -0
  42. package/dist/{chunk-VVGYRZ7S.cjs → chunk-72IVAOTK.cjs} +4 -4
  43. package/dist/{chunk-VVGYRZ7S.cjs.map → chunk-72IVAOTK.cjs.map} +1 -1
  44. package/dist/{chunk-LJ7LMEXO.js → chunk-7GWV5HGO.js} +3 -3
  45. package/dist/{chunk-LJ7LMEXO.js.map → chunk-7GWV5HGO.js.map} +1 -1
  46. package/dist/{chunk-RM6ZWNT3.js → chunk-7T6AWRPU.js} +43 -23
  47. package/dist/chunk-7T6AWRPU.js.map +1 -0
  48. package/dist/{chunk-PXCHPZTP.cjs → chunk-CMQ4VLCW.cjs} +8 -7
  49. package/dist/{chunk-EHHHC5JV.js.map → chunk-CMQ4VLCW.cjs.map} +1 -1
  50. package/dist/chunk-E2J533UH.cjs +53 -0
  51. package/dist/chunk-E2J533UH.cjs.map +1 -0
  52. package/dist/chunk-F6EMC75A.cjs +34 -0
  53. package/dist/chunk-F6EMC75A.cjs.map +1 -0
  54. package/dist/chunk-GKE33FOJ.js +32 -0
  55. package/dist/chunk-GKE33FOJ.js.map +1 -0
  56. package/dist/{chunk-QQMU44KJ.js → chunk-HLOHWFOA.js} +52 -19
  57. package/dist/chunk-HLOHWFOA.js.map +1 -0
  58. package/dist/{chunk-633KP74Z.js → chunk-KCNTKYUY.js} +19 -2
  59. package/dist/chunk-KCNTKYUY.js.map +1 -0
  60. package/dist/{chunk-BLYVOV3G.cjs → chunk-LY27YAXE.cjs} +19 -2
  61. package/dist/chunk-LY27YAXE.cjs.map +1 -0
  62. package/dist/{chunk-EHHHC5JV.js → chunk-NB5GCGHL.js} +5 -4
  63. package/dist/chunk-NB5GCGHL.js.map +1 -0
  64. package/dist/{chunk-6XBXZPBW.js → chunk-NQUVAJQA.js} +3 -3
  65. package/dist/{chunk-6XBXZPBW.js.map → chunk-NQUVAJQA.js.map} +1 -1
  66. package/dist/chunk-SVO62ZV2.js +50 -0
  67. package/dist/chunk-SVO62ZV2.js.map +1 -0
  68. package/dist/{chunk-MU3RY46O.js → chunk-VBAZ77Q4.js} +3 -3
  69. package/dist/{chunk-MU3RY46O.js.map → chunk-VBAZ77Q4.js.map} +1 -1
  70. package/dist/{chunk-H2LESGMX.cjs → chunk-VSAFQTW5.cjs} +4 -4
  71. package/dist/{chunk-H2LESGMX.cjs.map → chunk-VSAFQTW5.cjs.map} +1 -1
  72. package/dist/{chunk-2BJCRYOS.cjs → chunk-VYJQ2HTA.cjs} +5 -5
  73. package/dist/{chunk-2BJCRYOS.cjs.map → chunk-VYJQ2HTA.cjs.map} +1 -1
  74. package/dist/{chunk-IIISFUW4.cjs → chunk-WTHTVKVI.cjs} +621 -108
  75. package/dist/chunk-WTHTVKVI.cjs.map +1 -0
  76. package/dist/{createEngineGridQuery-Mt1hc33m.d.ts → createEngineGridQuery-BBkud5oE.d.ts} +61 -6
  77. package/dist/{createEngineGridQuery-Dmq3i5v3.d.cts → createEngineGridQuery-D-fgO_jg.d.cts} +61 -6
  78. package/dist/date-picker-jalali.cjs +17 -17
  79. package/dist/date-picker-jalali.d.cts +3 -3
  80. package/dist/date-picker-jalali.d.ts +3 -3
  81. package/dist/date-picker-jalali.js +1 -1
  82. package/dist/headless.cjs +102 -102
  83. package/dist/headless.d.cts +13 -9
  84. package/dist/headless.d.ts +13 -9
  85. package/dist/headless.js +4 -4
  86. package/dist/index.cjs +440 -382
  87. package/dist/index.cjs.map +1 -1
  88. package/dist/index.d.cts +34 -14
  89. package/dist/index.d.ts +34 -14
  90. package/dist/index.js +200 -143
  91. package/dist/index.js.map +1 -1
  92. package/dist/plugins/csv.cjs +3 -3
  93. package/dist/plugins/csv.d.cts +2 -2
  94. package/dist/plugins/csv.d.ts +2 -2
  95. package/dist/plugins/csv.js +2 -2
  96. package/dist/plugins/excel.cjs +11 -11
  97. package/dist/plugins/excel.d.cts +4 -4
  98. package/dist/plugins/excel.d.ts +4 -4
  99. package/dist/plugins/excel.js +3 -3
  100. package/dist/plugins/pdf/fonts/vazirmatn.cjs +6 -6
  101. package/dist/plugins/pdf/fonts/vazirmatn.d.cts +4 -4
  102. package/dist/plugins/pdf/fonts/vazirmatn.d.ts +4 -4
  103. package/dist/plugins/pdf/fonts/vazirmatn.js +3 -3
  104. package/dist/plugins/pdf.cjs +5 -5
  105. package/dist/plugins/pdf.d.cts +5 -5
  106. package/dist/plugins/pdf.d.ts +5 -5
  107. package/dist/plugins/pdf.js +2 -2
  108. package/dist/presence.d.cts +3 -3
  109. package/dist/presence.d.ts +3 -3
  110. package/dist/sync.cjs +2 -2
  111. package/dist/sync.d.cts +3 -3
  112. package/dist/sync.d.ts +3 -3
  113. package/dist/sync.js +1 -1
  114. package/package.json +3 -3
  115. package/dist/GridSyncService-KTLB4KP3.js +0 -3
  116. package/dist/GridSyncService-TAPAHABV.cjs +0 -12
  117. package/dist/applyRowVisibilityHandler-KS6TMCBN.js.map +0 -1
  118. package/dist/applyRowVisibilityHandler-LXCOGESZ.cjs.map +0 -1
  119. package/dist/callbackRemoteApi-BlXO5NJz.d.ts +0 -30
  120. package/dist/callbackRemoteApi-DgnXH-i0.d.cts +0 -30
  121. package/dist/chunk-633KP74Z.js.map +0 -1
  122. package/dist/chunk-ASPTRYRD.cjs +0 -21
  123. package/dist/chunk-ASPTRYRD.cjs.map +0 -1
  124. package/dist/chunk-BHDRUZH5.cjs +0 -33
  125. package/dist/chunk-BHDRUZH5.cjs.map +0 -1
  126. package/dist/chunk-BLYVOV3G.cjs.map +0 -1
  127. package/dist/chunk-DXRCYW42.cjs.map +0 -1
  128. package/dist/chunk-HTNJT2QU.js.map +0 -1
  129. package/dist/chunk-IIISFUW4.cjs.map +0 -1
  130. package/dist/chunk-KUBVDIF7.cjs.map +0 -1
  131. package/dist/chunk-KYAOSBQN.js +0 -31
  132. package/dist/chunk-KYAOSBQN.js.map +0 -1
  133. package/dist/chunk-PXCHPZTP.cjs.map +0 -1
  134. package/dist/chunk-QQMU44KJ.js.map +0 -1
  135. package/dist/chunk-RM6ZWNT3.js.map +0 -1
  136. package/dist/chunk-Y6W5V2CI.js +0 -19
  137. package/dist/chunk-Y6W5V2CI.js.map +0 -1
@@ -1,7 +1,8 @@
1
- import { ai as SortModel, F as FilterModel, E as EventStore, b as GridSession, b0 as ExportRequestedPayload, b1 as ImportRequestedPayload, ah as SortDirection, d as CellRange, l as ColumnDef, m as GetRowId$1, G as GridEvent, x as FieldType, b2 as IRule, b3 as ColumnVisibilityRule, b4 as IDependOn, b5 as Actor, f as Table, R as Row, C as ColumnSchema, b6 as ColDefOrGroup, b7 as TableRepository, b8 as PermissionPolicy, b9 as CellEditType, ab as RowModelType, e as TableEngine, i as ChangelogProjection, H as HistoryPanelViewModel, j as CellUndoStack, a as Unsubscribe, z as AppendResult, ap as Viewport, aq as VisibleRange, A as AggFunc, y as AggFuncName } from './GridSession-Bc7UIawO.js';
2
- import { h as SyncResult, e as SyncConflictPolicy, S as SyncConflict, M as ManualResolution, b as PresencePeer, U as UITableController, z as ConnectivitySource, i as SyncTransport, d as PresenceTransport, l as ClipboardCopyBuildOptions, q as GridPasteRuntimeOptions, O as OfflineStatus, g as SyncPort, c as PresencePort } from './UITableController-DU8RopUM.js';
1
+ import { ai as SortModel, F as FilterModel, E as EventStore, b as GridSession, b0 as ExportRequestedPayload, b1 as ImportRequestedPayload, ah as SortDirection, d as CellRange, l as ColumnDef, m as GetRowId$1, G as GridEvent, x as FieldType, b2 as IRule, b3 as ColumnVisibilityRule, b4 as IDependOn, C as ColumnSchema, D as DefaultOptionType, b5 as ResolveOnConfig, b6 as IBaseQueryResponse, b7 as HostRemoteApi, U as UIRow, a7 as ItemType, b8 as Actor, f as Table, R as Row, b9 as ColDefOrGroup, ba as TableRepository, bb as PermissionPolicy, bc as CellEditType, bd as CellEditCommit, be as EnterNavigation, ab as RowModelType, e as TableEngine, i as ChangelogProjection, H as HistoryPanelViewModel, j as CellUndoStack, a as Unsubscribe, z as AppendResult, ap as Viewport, aq as VisibleRange, A as AggFunc, y as AggFuncName } from './GridSession-CeIfVFck.js';
2
+ import { h as SyncResult, e as SyncConflictPolicy, S as SyncConflict, M as ManualResolution, b as PresencePeer, U as UITableController, z as ConnectivitySource, i as SyncTransport, d as PresenceTransport, l as ClipboardCopyBuildOptions, q as GridPasteRuntimeOptions, O as OfflineStatus, g as SyncPort, c as PresencePort } from './UITableController-C71LXBiX.js';
3
+ import { ReactNode, CSSProperties } from 'react';
3
4
  import { A as AuditLogger, R as RemoteApi } from './RemoteApi-CCQxiSf1.js';
4
- import { c as GridQueryPort, G as GridPlugin } from './GridPlugin-CJCaYnlw.js';
5
+ import { c as GridQueryPort, G as GridPlugin } from './GridPlugin-Bewn0X51.js';
5
6
 
6
7
  /**
7
8
  * Host-provided row source for `rowModelType: 'infinite' | 'serverSide'` (PR-96).
@@ -43,6 +44,8 @@ type PluginHostDeps = {
43
44
  eventStore: EventStore;
44
45
  session: GridSession;
45
46
  query: GridQueryPort;
47
+ /** Runs before an export reads rows (createGrid: write the open cell edit). */
48
+ beforeRead?: () => Promise<void>;
46
49
  };
47
50
  /**
48
51
  * Registers plugins and publishes plugin/view-stream events (e.g. EXPORT_REQUESTED).
@@ -214,7 +217,7 @@ interface ColumnDefinition {
214
217
  readonly expandable?: boolean;
215
218
  readonly rules?: IRule[];
216
219
  readonly options?: ReadonlyArray<{
217
- label?: string;
220
+ label?: unknown;
218
221
  value?: string | number;
219
222
  title?: string;
220
223
  }>;
@@ -252,6 +255,26 @@ interface ColumnViewBinding {
252
255
  readonly dynamicSelectFilterOption?: (inputValue: string, option: unknown) => boolean;
253
256
  }
254
257
 
258
+ /** Select option with a renderable label. */
259
+ type HostDefaultOptionType = Omit<DefaultOptionType, 'label'> & {
260
+ label?: ReactNode;
261
+ };
262
+ /** Remote flag resolution typed with the arianERP query envelope. */
263
+ type HostResolveOnConfig<K = unknown> = ResolveOnConfig<K, IBaseQueryResponse<K>>;
264
+ interface HostColumnSchema<T = unknown, K = unknown> extends Omit<ColumnSchema<T, K>, 'options' | 'resolveOn' | 'computed' | 'indexOptions' | 'onChange' | 'dynamicSelectFilterOption' | 'style'> {
265
+ options?: HostDefaultOptionType[];
266
+ resolveOn?: HostResolveOnConfig<K>;
267
+ computed?: {
268
+ dependsOn: readonly string[];
269
+ compute(row: Record<string, unknown>, remoteApi: HostRemoteApi): Promise<unknown>;
270
+ children?: [] | undefined;
271
+ };
272
+ /** Extra items of the row index menu. */
273
+ indexOptions?: (tableKey: string, rowId: number, row: UIRow, controller: UITableController) => ItemType[];
274
+ onChange?: (tableKey: string, rowId: number, row: UIRow, controller: UITableController, value: unknown, option?: HostDefaultOptionType) => void;
275
+ dynamicSelectFilterOption?: (inputValue: string, option: HostDefaultOptionType) => boolean;
276
+ style?: CSSProperties;
277
+ }
255
278
  type CollectionRowMap = Record<string, object>;
256
279
  type GetRowId<TRow = unknown> = (row: TRow, index: number) => string;
257
280
  type RowInput = {
@@ -296,7 +319,7 @@ type CreateERPTableConfig<TRow = unknown> = {
296
319
  * If both are set, `columns` wins.
297
320
  * @deprecated Prefer `columnDefs` (D14). Remains working for ERP hosts.
298
321
  */
299
- columns?: ColumnSchema[];
322
+ columns?: HostColumnSchema[];
300
323
  /**
301
324
  * ERP / legacy rows. Optional when `rowData` is set (PR-82).
302
325
  * If both are set, `rows` wins for the initial load.
@@ -413,6 +436,26 @@ type CreateERPTableConfig<TRow = unknown> = {
413
436
  * Host `onRowValueChanged` still fires per committed cell change.
414
437
  */
415
438
  editType?: CellEditType;
439
+ /**
440
+ * When typed values become durable.
441
+ * - `'immediate'`: every editor change is written at once (the arianERP
442
+ * table contract): `getRowView`, totals, `computed` / `resolveOn`, host
443
+ * `onChange` code and saves always see what the user typed; `Esc` ends
444
+ * editing and keeps the value.
445
+ * - `'deferred'` (PR-126): typing edits a session draft, written on commit
446
+ * (move / Enter / Tab / focus leaves the grid / any durable read such as
447
+ * `getFullSnapShot`, `iterateRowsFromDb`, export, dispose); `Esc` discards.
448
+ *
449
+ * Default: `'immediate'` with `persistence: 'paged-idb'`, else `'deferred'`.
450
+ */
451
+ cellEditCommit?: CellEditCommit;
452
+ /**
453
+ * `Enter` on an active cell. `'nextCell'` (default): next editable cell of
454
+ * the row, then the next row; past the last row a new row is added
455
+ * (`Shift+Enter` goes back) — the data-entry behaviour of the 0.5 line /
456
+ * arianERP. `'down'`: commit and move to the cell below (spreadsheet style).
457
+ */
458
+ enterNavigation?: EnterNavigation;
416
459
  /**
417
460
  * Row model (PR-96). Default `clientSide`.
418
461
  * `infinite` / `serverSide` skip local sort/filter and call `datasource.getRows`.
@@ -624,6 +667,8 @@ interface KvStore {
624
667
  }
625
668
  interface KvDatabase {
626
669
  objectStore(name: string): KvStore;
670
+ /** Release the underlying connection (IndexedDB). Stored data is untouched. */
671
+ close?(): void;
627
672
  }
628
673
  declare class MemoryKvDatabase implements KvDatabase {
629
674
  private stores;
@@ -645,11 +690,21 @@ declare class IndexedDbEventStore implements EventStore {
645
690
  private listeners;
646
691
  private globalListeners;
647
692
  private ready;
693
+ private closed;
694
+ private closePromise?;
695
+ private readonly inflight;
648
696
  constructor(db: KvDatabase);
649
697
  static open(dbName?: string): Promise<IndexedDbEventStore>;
650
698
  /** Test / Node helper — durable API with in-memory persistence backend. */
651
699
  static inMemory(): IndexedDbEventStore;
700
+ /**
701
+ * Release the IndexedDB connection (stored events are untouched). Waits for
702
+ * appends already in flight; appends started afterwards are dropped (they
703
+ * resolve `ok` without writing) because the owning grid is gone. Idempotent.
704
+ */
705
+ close(): Promise<void>;
652
706
  append(streamId: string, events: GridEvent[], expectedVersion: number): Promise<AppendResult>;
707
+ private appendInternal;
653
708
  read(streamId: string, fromVersion?: number): Promise<GridEvent[]>;
654
709
  readAll(fromPosition?: number): Promise<GridEvent[]>;
655
710
  subscribe(streamId: string, onEvent: Listener): Unsubscribe;
@@ -881,4 +936,4 @@ declare function applyQuickFilter(rowIds: readonly number[], quickFilterText: st
881
936
  */
882
937
  declare function createEngineGridQuery(engine: TableEngine): GridQueryPort;
883
938
 
884
- export { applyAgg as $, type AggAccumulator as A, type KvStore as B, CATALOG_TO_HOST_CALLBACKS as C, DEFAULT_EVENT_STORE_PREFIX as D, EVENT_CATALOG as E, QuickFilterIndex as F, type GetRowId as G, ROW_DATA_UPDATED_CATALOG_TYPES as H, InMemoryEventStore as I, type RequestExportOptions as J, type KvDatabase as K, LEGACY_EVENT_STORE_PREFIX as L, MemoryKvDatabase as M, NoopRemoteApi as N, type RequestImportOptions as O, PluginHost as P, type QuickFilterBlobAccessor as Q, type RowInput as R, type RowDataUpdatedEvent as S, type RowValueChangedEvent as T, type SelectionChangedEvent as U, type SnapshotStore as V, SnapshotStrategy as W, type StartEditingCellParams as X, ViewportCalculator as Y, accumulateAdd as Z, accumulateRemove as _, type AggregateSnapshot as a, applyQuickFilter as a0, buildCumulativeWidths as a1, buildQuickFilterBlob as a2, calculateColumnViewport as a3, columnDefFieldName as a4, createAccumulator as a5, createERPTable as a6, createEngineGridQuery as a7, createGrid as a8, createGridApi as a9, createGridTableKey as aa, dispatchCatalogHostEvent as ab, eventStoreDbName as ac, getEventCatalogEntry as ad, isAggFuncName as ae, isCustomAggFunc as af, listUndoableEventTypes as ag, mapColumnDefs as ah, mapColumnSchemas as ai, mapColumnSchemasToDefs as aj, normalizeQuickFilterText as ak, openIndexedDbDatabase as al, readAccumulator as am, resolveColumnAggSpecs as an, resolveCreateGridDefaults as ao, subscribeCatalogHostEvents as ap, toColumnDef as aq, toColumnDefinition as ar, toColumnSchema as as, toColumnViewBinding as at, toMinorUnits as au, type CatalogHostEventHandlers as av, mapColDefOrGroups as aw, type CellFocusedEvent as b, type CellValueChangedEvent as c, type CollectionRowMap as d, ColumnAggIndex as e, type ColumnAggSpec as f, type ColumnDefinition as g, type ColumnViewBinding as h, type ColumnVisibleRange as i, type CreateERPTableConfig as j, type CreateERPTableResult as k, type CreateGridApiInput as l, type CreateGridConfig as m, type CreateGridResult as n, DEFAULT_GRID_ACTOR as o, DEFAULT_MEMORY_STORE as p, type EventCatalogEntry as q, type ExportDataAsExcelOptions as r, type GridApi as s, type GridColumnState as t, type GridDatasource as u, type GridDatasourceGetRowsParams as v, type GridDatasourceGetRowsResult as w, type GridRowNode as x, InMemorySnapshotStore as y, IndexedDbEventStore as z };
939
+ export { accumulateRemove as $, type AggAccumulator as A, type KvStore as B, CATALOG_TO_HOST_CALLBACKS as C, DEFAULT_EVENT_STORE_PREFIX as D, EVENT_CATALOG as E, QuickFilterIndex as F, type GetRowId as G, type HostColumnSchema as H, InMemoryEventStore as I, ROW_DATA_UPDATED_CATALOG_TYPES as J, type KvDatabase as K, LEGACY_EVENT_STORE_PREFIX as L, MemoryKvDatabase as M, NoopRemoteApi as N, type RequestExportOptions as O, PluginHost as P, type QuickFilterBlobAccessor as Q, type RowInput as R, type RequestImportOptions as S, type RowDataUpdatedEvent as T, type RowValueChangedEvent as U, type SelectionChangedEvent as V, type SnapshotStore as W, SnapshotStrategy as X, type StartEditingCellParams as Y, ViewportCalculator as Z, accumulateAdd as _, type AggregateSnapshot as a, applyAgg as a0, applyQuickFilter as a1, buildCumulativeWidths as a2, buildQuickFilterBlob as a3, calculateColumnViewport as a4, columnDefFieldName as a5, createAccumulator as a6, createERPTable as a7, createEngineGridQuery as a8, createGrid as a9, createGridApi as aa, createGridTableKey as ab, dispatchCatalogHostEvent as ac, eventStoreDbName as ad, getEventCatalogEntry as ae, isAggFuncName as af, isCustomAggFunc as ag, listUndoableEventTypes as ah, mapColumnDefs as ai, mapColumnSchemas as aj, mapColumnSchemasToDefs as ak, normalizeQuickFilterText as al, openIndexedDbDatabase as am, readAccumulator as an, resolveColumnAggSpecs as ao, resolveCreateGridDefaults as ap, subscribeCatalogHostEvents as aq, toColumnDef as ar, toColumnDefinition as as, toColumnSchema as at, toColumnViewBinding as au, toMinorUnits as av, type CatalogHostEventHandlers as aw, mapColDefOrGroups as ax, type CellFocusedEvent as b, type CellValueChangedEvent as c, type CollectionRowMap as d, ColumnAggIndex as e, type ColumnAggSpec as f, type ColumnDefinition as g, type ColumnViewBinding as h, type ColumnVisibleRange as i, type CreateERPTableConfig as j, type CreateERPTableResult as k, type CreateGridApiInput as l, type CreateGridConfig as m, type CreateGridResult as n, DEFAULT_GRID_ACTOR as o, DEFAULT_MEMORY_STORE as p, type EventCatalogEntry as q, type ExportDataAsExcelOptions as r, type GridApi as s, type GridColumnState as t, type GridDatasource as u, type GridDatasourceGetRowsParams as v, type GridDatasourceGetRowsResult as w, type GridRowNode as x, InMemorySnapshotStore as y, IndexedDbEventStore as z };
@@ -1,7 +1,8 @@
1
- import { ai as SortModel, F as FilterModel, E as EventStore, b as GridSession, b0 as ExportRequestedPayload, b1 as ImportRequestedPayload, ah as SortDirection, d as CellRange, l as ColumnDef, m as GetRowId$1, G as GridEvent, x as FieldType, b2 as IRule, b3 as ColumnVisibilityRule, b4 as IDependOn, b5 as Actor, f as Table, R as Row, C as ColumnSchema, b6 as ColDefOrGroup, b7 as TableRepository, b8 as PermissionPolicy, b9 as CellEditType, ab as RowModelType, e as TableEngine, i as ChangelogProjection, H as HistoryPanelViewModel, j as CellUndoStack, a as Unsubscribe, z as AppendResult, ap as Viewport, aq as VisibleRange, A as AggFunc, y as AggFuncName } from './GridSession-B-9lLcoB.cjs';
2
- import { h as SyncResult, e as SyncConflictPolicy, S as SyncConflict, M as ManualResolution, b as PresencePeer, U as UITableController, z as ConnectivitySource, i as SyncTransport, d as PresenceTransport, l as ClipboardCopyBuildOptions, q as GridPasteRuntimeOptions, O as OfflineStatus, g as SyncPort, c as PresencePort } from './UITableController-Cuwq481K.cjs';
1
+ import { ai as SortModel, F as FilterModel, E as EventStore, b as GridSession, b0 as ExportRequestedPayload, b1 as ImportRequestedPayload, ah as SortDirection, d as CellRange, l as ColumnDef, m as GetRowId$1, G as GridEvent, x as FieldType, b2 as IRule, b3 as ColumnVisibilityRule, b4 as IDependOn, C as ColumnSchema, D as DefaultOptionType, b5 as ResolveOnConfig, b6 as IBaseQueryResponse, b7 as HostRemoteApi, U as UIRow, a7 as ItemType, b8 as Actor, f as Table, R as Row, b9 as ColDefOrGroup, ba as TableRepository, bb as PermissionPolicy, bc as CellEditType, bd as CellEditCommit, be as EnterNavigation, ab as RowModelType, e as TableEngine, i as ChangelogProjection, H as HistoryPanelViewModel, j as CellUndoStack, a as Unsubscribe, z as AppendResult, ap as Viewport, aq as VisibleRange, A as AggFunc, y as AggFuncName } from './GridSession-CmQn2RnL.cjs';
2
+ import { h as SyncResult, e as SyncConflictPolicy, S as SyncConflict, M as ManualResolution, b as PresencePeer, U as UITableController, z as ConnectivitySource, i as SyncTransport, d as PresenceTransport, l as ClipboardCopyBuildOptions, q as GridPasteRuntimeOptions, O as OfflineStatus, g as SyncPort, c as PresencePort } from './UITableController-CIwnHIw8.cjs';
3
+ import { ReactNode, CSSProperties } from 'react';
3
4
  import { A as AuditLogger, R as RemoteApi } from './RemoteApi-CCQxiSf1.cjs';
4
- import { c as GridQueryPort, G as GridPlugin } from './GridPlugin-oxhq8AsM.cjs';
5
+ import { c as GridQueryPort, G as GridPlugin } from './GridPlugin-DewWufGZ.cjs';
5
6
 
6
7
  /**
7
8
  * Host-provided row source for `rowModelType: 'infinite' | 'serverSide'` (PR-96).
@@ -43,6 +44,8 @@ type PluginHostDeps = {
43
44
  eventStore: EventStore;
44
45
  session: GridSession;
45
46
  query: GridQueryPort;
47
+ /** Runs before an export reads rows (createGrid: write the open cell edit). */
48
+ beforeRead?: () => Promise<void>;
46
49
  };
47
50
  /**
48
51
  * Registers plugins and publishes plugin/view-stream events (e.g. EXPORT_REQUESTED).
@@ -214,7 +217,7 @@ interface ColumnDefinition {
214
217
  readonly expandable?: boolean;
215
218
  readonly rules?: IRule[];
216
219
  readonly options?: ReadonlyArray<{
217
- label?: string;
220
+ label?: unknown;
218
221
  value?: string | number;
219
222
  title?: string;
220
223
  }>;
@@ -252,6 +255,26 @@ interface ColumnViewBinding {
252
255
  readonly dynamicSelectFilterOption?: (inputValue: string, option: unknown) => boolean;
253
256
  }
254
257
 
258
+ /** Select option with a renderable label. */
259
+ type HostDefaultOptionType = Omit<DefaultOptionType, 'label'> & {
260
+ label?: ReactNode;
261
+ };
262
+ /** Remote flag resolution typed with the arianERP query envelope. */
263
+ type HostResolveOnConfig<K = unknown> = ResolveOnConfig<K, IBaseQueryResponse<K>>;
264
+ interface HostColumnSchema<T = unknown, K = unknown> extends Omit<ColumnSchema<T, K>, 'options' | 'resolveOn' | 'computed' | 'indexOptions' | 'onChange' | 'dynamicSelectFilterOption' | 'style'> {
265
+ options?: HostDefaultOptionType[];
266
+ resolveOn?: HostResolveOnConfig<K>;
267
+ computed?: {
268
+ dependsOn: readonly string[];
269
+ compute(row: Record<string, unknown>, remoteApi: HostRemoteApi): Promise<unknown>;
270
+ children?: [] | undefined;
271
+ };
272
+ /** Extra items of the row index menu. */
273
+ indexOptions?: (tableKey: string, rowId: number, row: UIRow, controller: UITableController) => ItemType[];
274
+ onChange?: (tableKey: string, rowId: number, row: UIRow, controller: UITableController, value: unknown, option?: HostDefaultOptionType) => void;
275
+ dynamicSelectFilterOption?: (inputValue: string, option: HostDefaultOptionType) => boolean;
276
+ style?: CSSProperties;
277
+ }
255
278
  type CollectionRowMap = Record<string, object>;
256
279
  type GetRowId<TRow = unknown> = (row: TRow, index: number) => string;
257
280
  type RowInput = {
@@ -296,7 +319,7 @@ type CreateERPTableConfig<TRow = unknown> = {
296
319
  * If both are set, `columns` wins.
297
320
  * @deprecated Prefer `columnDefs` (D14). Remains working for ERP hosts.
298
321
  */
299
- columns?: ColumnSchema[];
322
+ columns?: HostColumnSchema[];
300
323
  /**
301
324
  * ERP / legacy rows. Optional when `rowData` is set (PR-82).
302
325
  * If both are set, `rows` wins for the initial load.
@@ -413,6 +436,26 @@ type CreateERPTableConfig<TRow = unknown> = {
413
436
  * Host `onRowValueChanged` still fires per committed cell change.
414
437
  */
415
438
  editType?: CellEditType;
439
+ /**
440
+ * When typed values become durable.
441
+ * - `'immediate'`: every editor change is written at once (the arianERP
442
+ * table contract): `getRowView`, totals, `computed` / `resolveOn`, host
443
+ * `onChange` code and saves always see what the user typed; `Esc` ends
444
+ * editing and keeps the value.
445
+ * - `'deferred'` (PR-126): typing edits a session draft, written on commit
446
+ * (move / Enter / Tab / focus leaves the grid / any durable read such as
447
+ * `getFullSnapShot`, `iterateRowsFromDb`, export, dispose); `Esc` discards.
448
+ *
449
+ * Default: `'immediate'` with `persistence: 'paged-idb'`, else `'deferred'`.
450
+ */
451
+ cellEditCommit?: CellEditCommit;
452
+ /**
453
+ * `Enter` on an active cell. `'nextCell'` (default): next editable cell of
454
+ * the row, then the next row; past the last row a new row is added
455
+ * (`Shift+Enter` goes back) — the data-entry behaviour of the 0.5 line /
456
+ * arianERP. `'down'`: commit and move to the cell below (spreadsheet style).
457
+ */
458
+ enterNavigation?: EnterNavigation;
416
459
  /**
417
460
  * Row model (PR-96). Default `clientSide`.
418
461
  * `infinite` / `serverSide` skip local sort/filter and call `datasource.getRows`.
@@ -624,6 +667,8 @@ interface KvStore {
624
667
  }
625
668
  interface KvDatabase {
626
669
  objectStore(name: string): KvStore;
670
+ /** Release the underlying connection (IndexedDB). Stored data is untouched. */
671
+ close?(): void;
627
672
  }
628
673
  declare class MemoryKvDatabase implements KvDatabase {
629
674
  private stores;
@@ -645,11 +690,21 @@ declare class IndexedDbEventStore implements EventStore {
645
690
  private listeners;
646
691
  private globalListeners;
647
692
  private ready;
693
+ private closed;
694
+ private closePromise?;
695
+ private readonly inflight;
648
696
  constructor(db: KvDatabase);
649
697
  static open(dbName?: string): Promise<IndexedDbEventStore>;
650
698
  /** Test / Node helper — durable API with in-memory persistence backend. */
651
699
  static inMemory(): IndexedDbEventStore;
700
+ /**
701
+ * Release the IndexedDB connection (stored events are untouched). Waits for
702
+ * appends already in flight; appends started afterwards are dropped (they
703
+ * resolve `ok` without writing) because the owning grid is gone. Idempotent.
704
+ */
705
+ close(): Promise<void>;
652
706
  append(streamId: string, events: GridEvent[], expectedVersion: number): Promise<AppendResult>;
707
+ private appendInternal;
653
708
  read(streamId: string, fromVersion?: number): Promise<GridEvent[]>;
654
709
  readAll(fromPosition?: number): Promise<GridEvent[]>;
655
710
  subscribe(streamId: string, onEvent: Listener): Unsubscribe;
@@ -881,4 +936,4 @@ declare function applyQuickFilter(rowIds: readonly number[], quickFilterText: st
881
936
  */
882
937
  declare function createEngineGridQuery(engine: TableEngine): GridQueryPort;
883
938
 
884
- export { applyAgg as $, type AggAccumulator as A, type KvStore as B, CATALOG_TO_HOST_CALLBACKS as C, DEFAULT_EVENT_STORE_PREFIX as D, EVENT_CATALOG as E, QuickFilterIndex as F, type GetRowId as G, ROW_DATA_UPDATED_CATALOG_TYPES as H, InMemoryEventStore as I, type RequestExportOptions as J, type KvDatabase as K, LEGACY_EVENT_STORE_PREFIX as L, MemoryKvDatabase as M, NoopRemoteApi as N, type RequestImportOptions as O, PluginHost as P, type QuickFilterBlobAccessor as Q, type RowInput as R, type RowDataUpdatedEvent as S, type RowValueChangedEvent as T, type SelectionChangedEvent as U, type SnapshotStore as V, SnapshotStrategy as W, type StartEditingCellParams as X, ViewportCalculator as Y, accumulateAdd as Z, accumulateRemove as _, type AggregateSnapshot as a, applyQuickFilter as a0, buildCumulativeWidths as a1, buildQuickFilterBlob as a2, calculateColumnViewport as a3, columnDefFieldName as a4, createAccumulator as a5, createERPTable as a6, createEngineGridQuery as a7, createGrid as a8, createGridApi as a9, createGridTableKey as aa, dispatchCatalogHostEvent as ab, eventStoreDbName as ac, getEventCatalogEntry as ad, isAggFuncName as ae, isCustomAggFunc as af, listUndoableEventTypes as ag, mapColumnDefs as ah, mapColumnSchemas as ai, mapColumnSchemasToDefs as aj, normalizeQuickFilterText as ak, openIndexedDbDatabase as al, readAccumulator as am, resolveColumnAggSpecs as an, resolveCreateGridDefaults as ao, subscribeCatalogHostEvents as ap, toColumnDef as aq, toColumnDefinition as ar, toColumnSchema as as, toColumnViewBinding as at, toMinorUnits as au, type CatalogHostEventHandlers as av, mapColDefOrGroups as aw, type CellFocusedEvent as b, type CellValueChangedEvent as c, type CollectionRowMap as d, ColumnAggIndex as e, type ColumnAggSpec as f, type ColumnDefinition as g, type ColumnViewBinding as h, type ColumnVisibleRange as i, type CreateERPTableConfig as j, type CreateERPTableResult as k, type CreateGridApiInput as l, type CreateGridConfig as m, type CreateGridResult as n, DEFAULT_GRID_ACTOR as o, DEFAULT_MEMORY_STORE as p, type EventCatalogEntry as q, type ExportDataAsExcelOptions as r, type GridApi as s, type GridColumnState as t, type GridDatasource as u, type GridDatasourceGetRowsParams as v, type GridDatasourceGetRowsResult as w, type GridRowNode as x, InMemorySnapshotStore as y, IndexedDbEventStore as z };
939
+ export { accumulateRemove as $, type AggAccumulator as A, type KvStore as B, CATALOG_TO_HOST_CALLBACKS as C, DEFAULT_EVENT_STORE_PREFIX as D, EVENT_CATALOG as E, QuickFilterIndex as F, type GetRowId as G, type HostColumnSchema as H, InMemoryEventStore as I, ROW_DATA_UPDATED_CATALOG_TYPES as J, type KvDatabase as K, LEGACY_EVENT_STORE_PREFIX as L, MemoryKvDatabase as M, NoopRemoteApi as N, type RequestExportOptions as O, PluginHost as P, type QuickFilterBlobAccessor as Q, type RowInput as R, type RequestImportOptions as S, type RowDataUpdatedEvent as T, type RowValueChangedEvent as U, type SelectionChangedEvent as V, type SnapshotStore as W, SnapshotStrategy as X, type StartEditingCellParams as Y, ViewportCalculator as Z, accumulateAdd as _, type AggregateSnapshot as a, applyAgg as a0, applyQuickFilter as a1, buildCumulativeWidths as a2, buildQuickFilterBlob as a3, calculateColumnViewport as a4, columnDefFieldName as a5, createAccumulator as a6, createERPTable as a7, createEngineGridQuery as a8, createGrid as a9, createGridApi as aa, createGridTableKey as ab, dispatchCatalogHostEvent as ac, eventStoreDbName as ad, getEventCatalogEntry as ae, isAggFuncName as af, isCustomAggFunc as ag, listUndoableEventTypes as ah, mapColumnDefs as ai, mapColumnSchemas as aj, mapColumnSchemasToDefs as ak, normalizeQuickFilterText as al, openIndexedDbDatabase as am, readAccumulator as an, resolveColumnAggSpecs as ao, resolveCreateGridDefaults as ap, subscribeCatalogHostEvents as aq, toColumnDef as ar, toColumnDefinition as as, toColumnSchema as at, toColumnViewBinding as au, toMinorUnits as av, type CatalogHostEventHandlers as aw, mapColDefOrGroups as ax, type CellFocusedEvent as b, type CellValueChangedEvent as c, type CollectionRowMap as d, ColumnAggIndex as e, type ColumnAggSpec as f, type ColumnDefinition as g, type ColumnViewBinding as h, type ColumnVisibleRange as i, type CreateERPTableConfig as j, type CreateERPTableResult as k, type CreateGridApiInput as l, type CreateGridConfig as m, type CreateGridResult as n, DEFAULT_GRID_ACTOR as o, DEFAULT_MEMORY_STORE as p, type EventCatalogEntry as q, type ExportDataAsExcelOptions as r, type GridApi as s, type GridColumnState as t, type GridDatasource as u, type GridDatasourceGetRowsParams as v, type GridDatasourceGetRowsResult as w, type GridRowNode as x, InMemorySnapshotStore as y, IndexedDbEventStore as z };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var chunkWUMOSOEK_cjs = require('./chunk-WUMOSOEK.cjs');
6
- var chunkKUBVDIF7_cjs = require('./chunk-KUBVDIF7.cjs');
6
+ var chunk3HP3HQCW_cjs = require('./chunk-3HP3HQCW.cjs');
7
7
  require('./chunk-CILNIWYW.cjs');
8
8
  require('./chunk-SX4VQXAA.cjs');
9
9
  require('./chunk-QZN7R2WP.cjs');
@@ -23,16 +23,16 @@ function JalaliCalendar({
23
23
  showHolidays = true,
24
24
  className
25
25
  }) {
26
- const theme = chunkKUBVDIF7_cjs.useERPTableTheme();
27
- const t = chunkKUBVDIF7_cjs.useTranslations();
26
+ const theme = chunk3HP3HQCW_cjs.useERPTableTheme();
27
+ const t = chunk3HP3HQCW_cjs.useTranslations();
28
28
  const seed = value ?? range?.start ?? range?.end ?? /* @__PURE__ */ new Date();
29
- const seedYmd = chunkKUBVDIF7_cjs.toJalaliYmd(seed);
29
+ const seedYmd = chunk3HP3HQCW_cjs.toJalaliYmd(seed);
30
30
  const [view, setView] = react.useState({ jy: seedYmd.jy, jm: seedYmd.jm });
31
31
  const [draftStart, setDraftStart] = react.useState(
32
32
  range?.start ?? null
33
33
  );
34
34
  const cells = react.useMemo(
35
- () => chunkKUBVDIF7_cjs.buildJalaliMonthGrid(view.jy, view.jm),
35
+ () => chunk3HP3HQCW_cjs.buildJalaliMonthGrid(view.jy, view.jm),
36
36
  [view.jy, view.jm]
37
37
  );
38
38
  const effectiveRange = mode === "range" ? {
@@ -40,7 +40,7 @@ function JalaliCalendar({
40
40
  end: range?.end ?? null
41
41
  } : { start: value, end: value };
42
42
  const go = (delta) => {
43
- setView((v) => chunkKUBVDIF7_cjs.addJalaliMonths(v.jy, v.jm, delta));
43
+ setView((v) => chunk3HP3HQCW_cjs.addJalaliMonths(v.jy, v.jm, delta));
44
44
  };
45
45
  const handleDayClick = (date) => {
46
46
  if (mode === "single") {
@@ -53,7 +53,7 @@ function JalaliCalendar({
53
53
  return;
54
54
  }
55
55
  const start = draftStart;
56
- const ordered = chunkKUBVDIF7_cjs.compareJalaliDay(start, date) <= 0 ? { start, end: date } : { start: date, end: start };
56
+ const ordered = chunk3HP3HQCW_cjs.compareJalaliDay(start, date) <= 0 ? { start, end: date } : { start: date, end: start };
57
57
  setDraftStart(null);
58
58
  onRangeChange?.(ordered);
59
59
  };
@@ -77,7 +77,7 @@ function JalaliCalendar({
77
77
  }
78
78
  ),
79
79
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "pdg-jalali-cal__title", children: [
80
- chunkKUBVDIF7_cjs.jalaliMonthName(view.jm),
80
+ chunk3HP3HQCW_cjs.jalaliMonthName(view.jm),
81
81
  " ",
82
82
  view.jy
83
83
  ] }),
@@ -92,16 +92,16 @@ function JalaliCalendar({
92
92
  }
93
93
  )
94
94
  ] }),
95
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-jalali-cal__weekdays", "aria-hidden": true, children: chunkKUBVDIF7_cjs.JALALI_WEEKDAY_LABELS_FA.map((d) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pdg-jalali-cal__wd", children: d }, d)) }),
95
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-jalali-cal__weekdays", "aria-hidden": true, children: chunk3HP3HQCW_cjs.JALALI_WEEKDAY_LABELS_FA.map((d) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pdg-jalali-cal__wd", children: d }, d)) }),
96
96
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pdg-jalali-cal__grid", role: "grid", children: cells.map((cell) => {
97
- const selected = mode === "single" ? value != null && chunkKUBVDIF7_cjs.sameJalaliDay(cell.date, value) : Boolean(
98
- effectiveRange.start && chunkKUBVDIF7_cjs.sameJalaliDay(cell.date, effectiveRange.start)
97
+ const selected = mode === "single" ? value != null && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, value) : Boolean(
98
+ effectiveRange.start && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, effectiveRange.start)
99
99
  ) || Boolean(
100
- effectiveRange.end && chunkKUBVDIF7_cjs.sameJalaliDay(cell.date, effectiveRange.end)
100
+ effectiveRange.end && chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, effectiveRange.end)
101
101
  );
102
- const inRange = mode === "range" && chunkKUBVDIF7_cjs.isDateInRange(cell.date, effectiveRange);
102
+ const inRange = mode === "range" && chunk3HP3HQCW_cjs.isDateInRange(cell.date, effectiveRange);
103
103
  const holiday = showHolidays && chunkWUMOSOEK_cjs.isIranHoliday(cell.date);
104
- const today = chunkKUBVDIF7_cjs.sameJalaliDay(cell.date, /* @__PURE__ */ new Date());
104
+ const today = chunk3HP3HQCW_cjs.sameJalaliDay(cell.date, /* @__PURE__ */ new Date());
105
105
  return /* @__PURE__ */ jsxRuntime.jsx(
106
106
  "button",
107
107
  {
@@ -133,9 +133,9 @@ function parseValue(value, adapter) {
133
133
  return adapter.parse(value);
134
134
  }
135
135
  function PersianRangeDatePicker(props) {
136
- const theme = chunkKUBVDIF7_cjs.useERPTableTheme();
137
- const t = chunkKUBVDIF7_cjs.useTranslations();
138
- const hostAdapter = chunkKUBVDIF7_cjs.useDateAdapter();
136
+ const theme = chunk3HP3HQCW_cjs.useERPTableTheme();
137
+ const t = chunk3HP3HQCW_cjs.useTranslations();
138
+ const hostAdapter = chunk3HP3HQCW_cjs.useDateAdapter();
139
139
  const adapter = hostAdapter.id === "jalali" ? hostAdapter : chunkKRJG3KMP_cjs.jalaliAdapter;
140
140
  const panelId = react.useId();
141
141
  const rootRef = react.useRef(null);
@@ -1,8 +1,8 @@
1
1
  import React__default from 'react';
2
- import { C as CellRenderContext } from './cellRenderContext-DG5BOlxK.cjs';
3
- import './GridSession-B-9lLcoB.cjs';
2
+ import { C as CellRenderContext } from './cellRenderContext-DvngkptV.cjs';
3
+ import './GridSession-CmQn2RnL.cjs';
4
4
  import './RemoteApi-CCQxiSf1.cjs';
5
- import './UITableController-Cuwq481K.cjs';
5
+ import './UITableController-CIwnHIw8.cjs';
6
6
 
7
7
  type DateRangeValue = {
8
8
  start: Date | null;
@@ -1,8 +1,8 @@
1
1
  import React__default from 'react';
2
- import { C as CellRenderContext } from './cellRenderContext-DB7V_mlu.js';
3
- import './GridSession-Bc7UIawO.js';
2
+ import { C as CellRenderContext } from './cellRenderContext-BaNh4qn_.js';
3
+ import './GridSession-CeIfVFck.js';
4
4
  import './RemoteApi-CCQxiSf1.js';
5
- import './UITableController-DU8RopUM.js';
5
+ import './UITableController-C71LXBiX.js';
6
6
 
7
7
  type DateRangeValue = {
8
8
  start: Date | null;
@@ -1,5 +1,5 @@
1
1
  import { isIranHoliday } from './chunk-W5256BJ4.js';
2
- import { useERPTableTheme, useTranslations, toJalaliYmd, buildJalaliMonthGrid, jalaliMonthName, JALALI_WEEKDAY_LABELS_FA, sameJalaliDay, isDateInRange, useDateAdapter, addJalaliMonths, compareJalaliDay } from './chunk-QQMU44KJ.js';
2
+ import { useERPTableTheme, useTranslations, toJalaliYmd, buildJalaliMonthGrid, jalaliMonthName, JALALI_WEEKDAY_LABELS_FA, sameJalaliDay, isDateInRange, useDateAdapter, addJalaliMonths, compareJalaliDay } from './chunk-HLOHWFOA.js';
3
3
  import './chunk-SZ7BLAY3.js';
4
4
  import './chunk-F4PYOYHR.js';
5
5
  import './chunk-77UXAJII.js';