@trsys-tech/matrix-library 1.1.8-alpha.3 → 1.1.8-alpha.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,QAAA,MAAM,SAAS,uFAqBb,CAAC;AAGH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAC3E,QAAA,MAAM,kBAAkB,gGAatB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,QAAA,MAAM,SAAS,uFAqBb,CAAC;AAGH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAC3E,QAAA,MAAM,kBAAkB,gGAUtB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -106,7 +106,7 @@ export type DataTableEditEvent<T extends object> = {
106
106
  data: T;
107
107
  changes: Readonly<Record<string, unknown>>;
108
108
  };
109
- export type DataTableSelection<T extends object> = {
109
+ export type DataTableSelection<T extends object = object> = {
110
110
  mode: "singleRow" | "multiRow";
111
111
  checkboxes?: boolean;
112
112
  enableClickSelection?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.types.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.types.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAElG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAC/B,UAAU,GACV,aAAa,GACb,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,UAAU,GACV,aAAa,GACb,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,SAAS,GACT,OAAO,GACP,UAAU,CAAC;AACf,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,uBAAuB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtG,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,OAAO,IAAI;IAC1E,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAC5E,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,KAAK,sBAAsB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC9C,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IACvC,iIAAiI;IACjI,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;IACrF,wFAAwF;IACxF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClE,4GAA4G;IAC5G,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;CACpJ,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAC3C;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG;QACrG,KAAK,EAAE,CAAC,CAAC;QACT,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,WAAW,CAAC,EAAE,KAAK,CAAC;KACrB;CACF,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GACnB,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;CAAE,CAAC,GAC3E,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG;IAAE,WAAW,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAA;CAAE,CAAC,CAAC;AAEtG,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAC1D,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3B,iBAAiB,EAAE,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACxE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,aAAa,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAClG,gBAAgB,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IAClF,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;IACrD,2EAA2E;IAC3E,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC;IAClF,kGAAkG;IAClG,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG;IAC5H,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,OAAO,CAAC,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,mIAAmI;IACnI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACrC,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACjG,iFAAiF;IACjF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IACpD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;QAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACzG,yHAAyH;IACzH,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAC/G,4EAA4E;IAC5E,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableAlignment.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableAlignment.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,YAAiB,EAAE,EAAE,uBAAuB,qBAK1F"}
1
+ {"version":3,"file":"DataTableAlignment.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableAlignment.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,YAAiB,EAAE,EAAE,uBAAuB,qBAM1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableContent.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAmC,MAAM,mBAAmB,CAAC;AAwe9G,QAAA,MAAM,gBAAgB,EAA8C,CAAC,CAAgB,SAAN,MAAM,EACnF,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC5E,KAAK,CAAC,YAAY,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"DataTableContent.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAmC,MAAM,mBAAmB,CAAC;AAkgB9G,QAAA,MAAM,gBAAgB,EAA8C,CAAC,CAAgB,SAAN,MAAM,EACnF,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC5E,KAAK,CAAC,YAAY,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -31,6 +31,7 @@ type AlignmentContextValue = {
31
31
  state: Partial<AlignmentState>;
32
32
  setState: React.Dispatch<React.SetStateAction<Partial<AlignmentState>>>;
33
33
  viewports: React.MutableRefObject<Set<HTMLDivElement>>;
34
+ synchronizedScrolls: React.MutableRefObject<WeakMap<HTMLDivElement, number>>;
34
35
  };
35
36
  export declare const DataTableAlignmentContext: React.Context<AlignmentContextValue | null>;
36
37
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableContext.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,KAAK,qBAAqB,GAAG;IAC3B,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF,eAAO,MAAM,gBAAgB,6CAA0D,CAAC;AAExF,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;SAI2C,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;YAd9H,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;eAE3D,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;mBACnB,MAAM;iBACR,MAAM;eACR,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;EAUhG;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;AACzH,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxE,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,6CAA0D,CAAC"}
1
+ {"version":3,"file":"DataTableContext.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,KAAK,qBAAqB,GAAG;IAC3B,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACjG,CAAC;AAEF,eAAO,MAAM,gBAAgB,6CAA0D,CAAC;AAExF,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;SAI2C,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;YAd9H,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;eAE3D,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;mBACnB,MAAM;iBACR,MAAM;eACR,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;EAUhG;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC,CAAC;AACzH,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxE,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9E,CAAC;AAEF,eAAO,MAAM,yBAAyB,6CAA0D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableHeader.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErJ,KAAK,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG;IAC7F,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,aAAa,CAAC;IAC7F,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,WAAW,EACX,MAAM,GACP,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBAyGzB"}
1
+ {"version":3,"file":"DataTableHeader.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTableHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErJ,KAAK,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG;IAC7F,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,aAAa,CAAC;IAC7F,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,EAChD,KAAK,EACL,GAAG,EACH,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,WAAW,EACX,MAAM,GACP,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBA0GzB"}
@@ -1,13 +1,13 @@
1
- import { jsx as m } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
2
  import * as t from "react";
3
3
  import { cn as x } from "./utils.es.js";
4
- import { DataTableContext as b, useDataTable as p } from "./datatablecontext.es.js";
5
- const h = t.forwardRef(({ children: e, className: a, style: r, ...l }, d) => {
6
- const [s, i] = t.useState(null), [o, c] = t.useState(), [n, u] = t.useState({ selectedCount: 0, pinnedCount: 0 }), f = t.useMemo(() => ({ api: s, setApi: i, search: o, setSearch: c, ...n, setCounts: u }), [s, o, n]);
7
- return /* @__PURE__ */ m(b.Provider, { value: f, children: /* @__PURE__ */ m(
4
+ import { DataTableContext as p, useDataTable as b } from "./datatablecontext.es.js";
5
+ const h = t.forwardRef(({ children: e, className: a, style: r, ...l }, i) => {
6
+ const [m, d] = t.useState(null), [n, c] = t.useState(), [o, u] = t.useState({ selectedCount: 0, pinnedCount: 0 }), f = t.useMemo(() => ({ api: m, setApi: d, search: n, setSearch: c, ...o, setCounts: u }), [m, n, o]);
7
+ return /* @__PURE__ */ s(p.Provider, { value: f, children: /* @__PURE__ */ s(
8
8
  "div",
9
9
  {
10
- ref: d,
10
+ ref: i,
11
11
  "data-data-table": "",
12
12
  className: x(
13
13
  "mtx-flex mtx-h-full mtx-min-h-0 mtx-flex-col mtx-rounded-lg mtx-border mtx-border-gray-200 mtx-bg-gray-0 mtx-font-sans mtx-text-xs mtx-text-text",
@@ -20,21 +20,18 @@ const h = t.forwardRef(({ children: e, className: a, style: r, ...l }, d) => {
20
20
  ) });
21
21
  });
22
22
  h.displayName = "DataTable";
23
- const g = t.forwardRef(({ className: e, ...a }, r) => (p(), /* @__PURE__ */ m(
23
+ const D = t.forwardRef(({ className: e, ...a }, r) => (b(), /* @__PURE__ */ s(
24
24
  "div",
25
25
  {
26
26
  ref: r,
27
27
  "data-print-hidden": "",
28
- className: x(
29
- "mtx-flex mtx-min-h-12 mtx-shrink-0 mtx-items-center mtx-gap-1 mtx-rounded-t-lg mtx-border-b mtx-border-gray-200 mtx-p-2",
30
- e
31
- ),
28
+ className: x("mtx-flex mtx-min-h-12 mtx-shrink-0 mtx-items-center mtx-gap-1 mtx-rounded-t-lg mtx-p-2", e),
32
29
  ...a
33
30
  }
34
31
  )));
35
- g.displayName = "DataTableActionBar";
32
+ D.displayName = "DataTableActionBar";
36
33
  export {
37
34
  h as DataTable,
38
- g as DataTableActionBar
35
+ D as DataTableActionBar
39
36
  };
40
37
  //# sourceMappingURL=datatable.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datatable.es.js","sources":["../src/components/data-table/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { DataTableContext, useDataTable } from \"./DataTableContext\";\nimport type { DataTableApi } from \"./DataTable.types\";\n\nexport type DataTableProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst DataTable = React.forwardRef<HTMLDivElement, DataTableProps>(({ children, className, style, ...props }, ref) => {\n const [api, setApi] = React.useState<DataTableApi<any> | null>(null);\n const [search, setSearch] = React.useState<string>();\n const [counts, setCounts] = React.useState({ selectedCount: 0, pinnedCount: 0 });\n const value = React.useMemo(() => ({ api, setApi, search, setSearch, ...counts, setCounts }), [api, search, counts]);\n return (\n <DataTableContext.Provider value={value}>\n <div\n ref={ref}\n data-data-table=\"\"\n className={cn(\n \"mtx-flex mtx-h-full mtx-min-h-0 mtx-flex-col mtx-rounded-lg mtx-border mtx-border-gray-200 mtx-bg-gray-0 mtx-font-sans mtx-text-xs mtx-text-text\",\n className,\n )}\n {...props}\n style={{ fontFamily: \"DMSans, sans-serif\", ...style }}\n >\n {children}\n </div>\n </DataTableContext.Provider>\n );\n});\nDataTable.displayName = \"DataTable\";\n\nexport type DataTableActionBarProps = React.HTMLAttributes<HTMLDivElement>;\nconst DataTableActionBar = React.forwardRef<HTMLDivElement, DataTableActionBarProps>(({ className, ...props }, ref) => {\n useDataTable();\n return (\n <div\n ref={ref}\n data-print-hidden=\"\"\n className={cn(\n \"mtx-flex mtx-min-h-12 mtx-shrink-0 mtx-items-center mtx-gap-1 mtx-rounded-t-lg mtx-border-b mtx-border-gray-200 mtx-p-2\",\n className,\n )}\n {...props}\n />\n );\n});\nDataTableActionBar.displayName = \"DataTableActionBar\";\n\nexport { DataTable, DataTableActionBar };\nexport { DataTableContent } from \"./DataTableContent\";\n"],"names":["DataTable","React","children","className","style","props","ref","api","setApi","search","setSearch","counts","setCounts","value","jsx","DataTableContext","cn","DataTableActionBar","useDataTable"],"mappings":";;;;AASA,MAAMA,IAAYC,EAAM,WAA2C,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAASC,MAAQ;AACpH,QAAM,CAACC,GAAKC,CAAM,IAAIP,EAAM,SAAmC,IAAI,GAC7D,CAACQ,GAAQC,CAAS,IAAIT,EAAM,SAAA,GAC5B,CAACU,GAAQC,CAAS,IAAIX,EAAM,SAAS,EAAE,eAAe,GAAG,aAAa,GAAG,GACzEY,IAAQZ,EAAM,QAAQ,OAAO,EAAE,KAAAM,GAAK,QAAAC,GAAQ,QAAAC,GAAQ,WAAAC,GAAW,GAAGC,GAAQ,WAAAC,MAAc,CAACL,GAAKE,GAAQE,CAAM,CAAC;AACnH,SACE,gBAAAG,EAACC,EAAiB,UAAjB,EAA0B,OAAAF,GACzB,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,mBAAgB;AAAA,MAChB,WAAWU;AAAA,QACT;AAAA,QACAb;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MACJ,OAAO,EAAE,YAAY,sBAAsB,GAAGD,EAAA;AAAA,MAE7C,UAAAF;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ,CAAC;AACDF,EAAU,cAAc;AAGxB,MAAMiB,IAAqBhB,EAAM,WAAoD,CAAC,EAAE,WAAAE,GAAW,GAAGE,EAAA,GAASC,OAC7GY,EAAA,GAEE,gBAAAJ;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAR;AAAA,IACA,qBAAkB;AAAA,IAClB,WAAWU;AAAA,MACT;AAAA,MACAb;AAAA,IAAA;AAAA,IAED,GAAGE;AAAA,EAAA;AAAA,EAGT;AACDY,EAAmB,cAAc;"}
1
+ {"version":3,"file":"datatable.es.js","sources":["../src/components/data-table/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { DataTableContext, useDataTable } from \"./DataTableContext\";\nimport type { DataTableApi } from \"./DataTable.types\";\n\nexport type DataTableProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst DataTable = React.forwardRef<HTMLDivElement, DataTableProps>(({ children, className, style, ...props }, ref) => {\n const [api, setApi] = React.useState<DataTableApi<any> | null>(null);\n const [search, setSearch] = React.useState<string>();\n const [counts, setCounts] = React.useState({ selectedCount: 0, pinnedCount: 0 });\n const value = React.useMemo(() => ({ api, setApi, search, setSearch, ...counts, setCounts }), [api, search, counts]);\n return (\n <DataTableContext.Provider value={value}>\n <div\n ref={ref}\n data-data-table=\"\"\n className={cn(\n \"mtx-flex mtx-h-full mtx-min-h-0 mtx-flex-col mtx-rounded-lg mtx-border mtx-border-gray-200 mtx-bg-gray-0 mtx-font-sans mtx-text-xs mtx-text-text\",\n className,\n )}\n {...props}\n style={{ fontFamily: \"DMSans, sans-serif\", ...style }}\n >\n {children}\n </div>\n </DataTableContext.Provider>\n );\n});\nDataTable.displayName = \"DataTable\";\n\nexport type DataTableActionBarProps = React.HTMLAttributes<HTMLDivElement>;\nconst DataTableActionBar = React.forwardRef<HTMLDivElement, DataTableActionBarProps>(({ className, ...props }, ref) => {\n useDataTable();\n return (\n <div\n ref={ref}\n data-print-hidden=\"\"\n className={cn(\"mtx-flex mtx-min-h-12 mtx-shrink-0 mtx-items-center mtx-gap-1 mtx-rounded-t-lg mtx-p-2\", className)}\n {...props}\n />\n );\n});\nDataTableActionBar.displayName = \"DataTableActionBar\";\n\nexport { DataTable, DataTableActionBar };\nexport { DataTableContent } from \"./DataTableContent\";\n"],"names":["DataTable","React","children","className","style","props","ref","api","setApi","search","setSearch","counts","setCounts","value","jsx","DataTableContext","cn","DataTableActionBar","useDataTable"],"mappings":";;;;AASA,MAAMA,IAAYC,EAAM,WAA2C,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAASC,MAAQ;AACpH,QAAM,CAACC,GAAKC,CAAM,IAAIP,EAAM,SAAmC,IAAI,GAC7D,CAACQ,GAAQC,CAAS,IAAIT,EAAM,SAAA,GAC5B,CAACU,GAAQC,CAAS,IAAIX,EAAM,SAAS,EAAE,eAAe,GAAG,aAAa,GAAG,GACzEY,IAAQZ,EAAM,QAAQ,OAAO,EAAE,KAAAM,GAAK,QAAAC,GAAQ,QAAAC,GAAQ,WAAAC,GAAW,GAAGC,GAAQ,WAAAC,MAAc,CAACL,GAAKE,GAAQE,CAAM,CAAC;AACnH,SACE,gBAAAG,EAACC,EAAiB,UAAjB,EAA0B,OAAAF,GACzB,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,mBAAgB;AAAA,MAChB,WAAWU;AAAA,QACT;AAAA,QACAb;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MACJ,OAAO,EAAE,YAAY,sBAAsB,GAAGD,EAAA;AAAA,MAE7C,UAAAF;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ,CAAC;AACDF,EAAU,cAAc;AAGxB,MAAMiB,IAAqBhB,EAAM,WAAoD,CAAC,EAAE,WAAAE,GAAW,GAAGE,EAAA,GAASC,OAC7GY,EAAA,GAEE,gBAAAJ;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAR;AAAA,IACA,qBAAkB;AAAA,IAClB,WAAWU,EAAG,0FAA0Fb,CAAS;AAAA,IAChH,GAAGE;AAAA,EAAA;AAAA,EAGT;AACDY,EAAmB,cAAc;"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import * as t from "react";
3
- import { DataTableAlignmentContext as i } from "./datatablecontext.es.js";
4
- function f({ children: o, initialState: a = {} }) {
5
- const [e, n] = t.useState(a), r = t.useRef(/* @__PURE__ */ new Set()), s = t.useMemo(() => ({ state: e, setState: n, viewports: r }), [e]);
6
- return /* @__PURE__ */ m(i.Provider, { value: s, children: o });
2
+ import * as e from "react";
3
+ import { DataTableAlignmentContext as c } from "./datatablecontext.es.js";
4
+ function f({ children: o, initialState: n = {} }) {
5
+ const [t, s] = e.useState(n), a = e.useRef(/* @__PURE__ */ new Set()), r = e.useRef(/* @__PURE__ */ new WeakMap()), i = e.useMemo(() => ({ state: t, setState: s, viewports: a, synchronizedScrolls: r }), [t]);
6
+ return /* @__PURE__ */ m(c.Provider, { value: i, children: o });
7
7
  }
8
8
  export {
9
9
  f as DataTableAlignment
@@ -1 +1 @@
1
- {"version":3,"file":"datatablealignment.es.js","sources":["../src/components/data-table/DataTableAlignment.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { DataTableAlignmentContext, type AlignmentState } from \"./DataTableContext\";\n\nexport type DataTableAlignmentProps = {\n children: React.ReactNode;\n initialState?: Partial<AlignmentState>;\n};\n\n/** Tables in this provider share column layout and horizontal scroll, but retain independent data and selection. */\nexport function DataTableAlignment({ children, initialState = {} }: DataTableAlignmentProps) {\n const [state, setState] = React.useState(initialState);\n const viewports = React.useRef(new Set<HTMLDivElement>());\n const value = React.useMemo(() => ({ state, setState, viewports }), [state]);\n return <DataTableAlignmentContext.Provider value={value}>{children}</DataTableAlignmentContext.Provider>;\n}\n"],"names":["DataTableAlignment","children","initialState","state","setState","React","viewports","value","jsx","DataTableAlignmentContext"],"mappings":";;;AAYO,SAASA,EAAmB,EAAE,UAAAC,GAAU,cAAAC,IAAe,CAAA,KAA+B;AAC3F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,CAAY,GAC/CI,IAAYD,EAAM,OAAO,oBAAI,KAAqB,GAClDE,IAAQF,EAAM,QAAQ,OAAO,EAAE,OAAAF,GAAO,UAAAC,GAAU,WAAAE,EAAA,IAAc,CAACH,CAAK,CAAC;AAC3E,SAAO,gBAAAK,EAACC,EAA0B,UAA1B,EAAmC,OAAAF,GAAe,UAAAN,EAAA,CAAS;AACrE;"}
1
+ {"version":3,"file":"datatablealignment.es.js","sources":["../src/components/data-table/DataTableAlignment.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { DataTableAlignmentContext, type AlignmentState } from \"./DataTableContext\";\n\nexport type DataTableAlignmentProps = {\n children: React.ReactNode;\n initialState?: Partial<AlignmentState>;\n};\n\n/** Tables in this provider share column layout and horizontal scroll, but retain independent data and selection. */\nexport function DataTableAlignment({ children, initialState = {} }: DataTableAlignmentProps) {\n const [state, setState] = React.useState(initialState);\n const viewports = React.useRef(new Set<HTMLDivElement>());\n const synchronizedScrolls = React.useRef(new WeakMap<HTMLDivElement, number>());\n const value = React.useMemo(() => ({ state, setState, viewports, synchronizedScrolls }), [state]);\n return <DataTableAlignmentContext.Provider value={value}>{children}</DataTableAlignmentContext.Provider>;\n}\n"],"names":["DataTableAlignment","children","initialState","state","setState","React","viewports","synchronizedScrolls","value","jsx","DataTableAlignmentContext"],"mappings":";;;AAYO,SAASA,EAAmB,EAAE,UAAAC,GAAU,cAAAC,IAAe,CAAA,KAA+B;AAC3F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,CAAY,GAC/CI,IAAYD,EAAM,OAAO,oBAAI,KAAqB,GAClDE,IAAsBF,EAAM,OAAO,oBAAI,SAAiC,GACxEG,IAAQH,EAAM,QAAQ,OAAO,EAAE,OAAAF,GAAO,UAAAC,GAAU,WAAAE,GAAW,qBAAAC,EAAA,IAAwB,CAACJ,CAAK,CAAC;AAChG,SAAO,gBAAAM,EAACC,EAA0B,UAA1B,EAAmC,OAAAF,GAAe,UAAAP,EAAA,CAAS;AACrE;"}
@@ -1,376 +1,391 @@
1
- import { jsxs as S, jsx as m } from "react/jsx-runtime";
2
- import * as r from "react";
3
- import { DragDropProvider as be, DragOverlay as we } from "@dnd-kit/react";
4
- import { useVirtualizer as ye } from "@tanstack/react-virtual";
5
- import { cn as Ct } from "./utils.es.js";
6
- import { Button as kt } from "./button.es.js";
7
- import { useDataTable as Ie, DataTableAlignmentContext as ve } from "./datatablecontext.es.js";
8
- import { dataTableColumnSensors as Re } from "./datatablecolumndrag.es.js";
9
- import { getActiveDataTableCell as Ce } from "./datatablemodel.es.js";
10
- import { useDataTableInstance as ke } from "./usedatatableinstance.es.js";
11
- import { DataTableHeader as Ee } from "./datatableheader.es.js";
12
- import { DataTablePagination as Se } from "./datatablepagination.es.js";
13
- import { DataTableRowView as _e } from "./datatablerowview.es.js";
14
- import { useDataTableColumnDrag as Pe } from "./usedatatablecolumndrag.es.js";
15
- import { useDataTableMotion as De } from "./usedatatablemotion.es.js";
1
+ import { jsxs as C, jsx as d } from "react/jsx-runtime";
2
+ import * as n from "react";
3
+ import { DragDropProvider as ye, DragOverlay as ve } from "@dnd-kit/react";
4
+ import { useVirtualizer as Ie } from "@tanstack/react-virtual";
5
+ import { cn as kt } from "./utils.es.js";
6
+ import { Button as Et } from "./button.es.js";
7
+ import { useDataTable as Re, DataTableAlignmentContext as Ce } from "./datatablecontext.es.js";
8
+ import { dataTableColumnSensors as Se } from "./datatablecolumndrag.es.js";
9
+ import { getActiveDataTableCell as ke } from "./datatablemodel.es.js";
10
+ import { useDataTableInstance as Ee } from "./usedatatableinstance.es.js";
11
+ import { DataTableHeader as _e } from "./datatableheader.es.js";
12
+ import { DataTablePagination as Pe } from "./datatablepagination.es.js";
13
+ import { DataTableRowView as De } from "./datatablerowview.es.js";
14
+ import { useDataTableColumnDrag as ze } from "./usedatatablecolumndrag.es.js";
15
+ import { useDataTableMotion as Le } from "./usedatatablemotion.es.js";
16
16
  import { useDataTableApi as Te } from "./usedatatableapi.es.js";
17
- const Et = [], Ae = {};
18
- function ze({
19
- rowData: St,
20
- columnDefs: J,
21
- defaultColDef: _t = Ae,
22
- getRowId: Pt,
17
+ const _t = [], Ae = {};
18
+ function Ne({
19
+ rowData: Pt,
20
+ columnDefs: H,
21
+ defaultColDef: Dt = Ae,
22
+ getRowId: zt,
23
23
  onReady: et,
24
- rowSelection: p,
25
- renderSubComponent: z,
26
- getRowCanExpand: Dt,
27
- onSelectionChanged: nt,
24
+ rowSelection: h,
25
+ renderSubComponent: T,
26
+ getRowCanExpand: Lt,
27
+ onSelectionChanged: rt,
28
28
  quickFilterText: Tt,
29
29
  onQuickFilterTextChange: At,
30
- externalFilter: zt,
31
- loading: N = !1,
32
- emptyContent: Nt = "No rows to display",
33
- loadingContent: jt = "Loading…",
34
- rowHeight: K = 36,
35
- headerHeight: j = 40,
36
- getRowClass: Mt,
37
- rowClassRules: Lt,
38
- pinnedTopRowData: _ = Et,
39
- pinnedBottomRowData: M = Et,
40
- pagination: L = !1,
41
- paginationPageSize: Vt = 25,
42
- paginationPageSizeSelector: Wt = [10, 25, 50, 100],
43
- virtualize: Ft = !0,
44
- overscan: $t = 8,
45
- domLayout: rt = "normal",
46
- suppressHorizontalScroll: Ot = !1,
30
+ externalFilter: Nt,
31
+ loading: A = !1,
32
+ emptyContent: jt = "No rows to display",
33
+ loadingContent: Mt = "Loading…",
34
+ rowHeight: O = 40,
35
+ headerHeight: Vt = 40,
36
+ getRowClass: Wt,
37
+ rowClassRules: Ft,
38
+ pinnedTopRowData: P = _t,
39
+ pinnedBottomRowData: N = _t,
40
+ pagination: j = !1,
41
+ paginationPageSize: $t = 25,
42
+ paginationPageSizeSelector: Ht = [10, 25, 50, 100],
43
+ virtualize: Ot = !0,
44
+ overscan: Jt = 8,
45
+ domLayout: nt = "normal",
46
+ suppressHorizontalScroll: Kt = !1,
47
47
  editType: st = "cell",
48
- suppressClickEdit: Jt = !1,
48
+ suppressClickEdit: Ut = !1,
49
49
  readOnlyEdit: ot = !1,
50
50
  validateRow: it,
51
51
  onEditCommit: lt,
52
52
  onEditRequest: at,
53
53
  onEditCancel: ct,
54
- onRowClick: Kt,
55
- tableOptions: P,
56
- containerStyle: U,
57
- className: Ut,
58
- style: Xt,
54
+ onRowClick: Xt,
55
+ tableOptions: D,
56
+ containerStyle: J,
57
+ className: Bt,
58
+ style: Yt,
59
59
  ...dt
60
- }, Bt) {
60
+ }, Gt) {
61
61
  "use no memo";
62
- const { setApi: X, search: Ht, hasSearch: Yt, setSearch: Gt, setCounts: mt } = Ie(), D = r.useContext(ve), Qt = r.useId(), y = r.useRef(null), B = r.useRef(null), [Zt, qt] = r.useState(0), [te, ee] = r.useState(!1), [H, ne] = r.useState(null), [re, se] = r.useState(null), [oe, ut] = r.useState({}), [T, ie] = r.useState(null), [le] = r.useState(() => P?.initialState?.globalFilter ?? ""), x = r.useRef(T), ft = r.useRef({ columnDefs: J, validateRow: it, readOnlyEdit: ot, onEditCommit: lt, onEditRequest: at, onEditCancel: ct });
63
- ft.current = { columnDefs: J, validateRow: it, readOnlyEdit: ot, onEditCommit: lt, onEditRequest: at, onEditCancel: ct };
64
- const gt = r.useCallback((t) => {
65
- x.current = t, ie(t);
66
- }, []), l = te || rt === "print", pt = l || rt === "autoHeight", ae = Tt ?? P?.state?.globalFilter ?? (Yt ? Ht : le), V = !!p && p.checkboxes !== !1 && !l, W = !!z && !l, Y = W ? 44 : 0, G = (V ? 44 : 0) + Y, { table: o, definitionsById: R, sourcesById: h, data: ce, rowIndices: F, resolveId: xt } = ke({
67
- rowData: St,
68
- columnDefs: J,
69
- defaultColDef: _t,
70
- getRowId: Pt,
71
- paginationPageSize: Vt,
72
- tableOptions: P,
73
- externalFilter: zt,
74
- rowSelection: p,
75
- pagination: L,
76
- renderSubComponent: z,
77
- getRowCanExpand: Dt,
62
+ const { setApi: K, search: Qt, hasSearch: Zt, setSearch: qt, setCounts: mt } = Re(), x = n.useContext(Ce), te = n.useId(), g = n.useRef(null), ut = n.useRef(null), U = n.useRef(null), X = n.useRef(null), [ft, ee] = n.useState(0), [re, ne] = n.useState(!1), [B, se] = n.useState(null), [oe, ie] = n.useState(null), [le, gt] = n.useState({}), [z, ae] = n.useState(null), [ce] = n.useState(() => D?.initialState?.globalFilter ?? ""), b = n.useRef(z), pt = n.useRef({ columnDefs: H, validateRow: it, readOnlyEdit: ot, onEditCommit: lt, onEditRequest: at, onEditCancel: ct });
63
+ pt.current = { columnDefs: H, validateRow: it, readOnlyEdit: ot, onEditCommit: lt, onEditRequest: at, onEditCancel: ct };
64
+ const ht = n.useCallback((t) => {
65
+ b.current = t, ae(t);
66
+ }, []), s = re || nt === "print", xt = s || nt === "autoHeight", de = Tt ?? D?.state?.globalFilter ?? (Zt ? Qt : ce), M = !!h && h.checkboxes !== !1 && !s, V = !!T && !s, Y = V ? 44 : 0, G = (M ? 44 : 0) + Y, { table: a, definitionsById: S, sourcesById: w, data: me, rowIndices: W, resolveId: bt } = Ee({
67
+ rowData: Pt,
68
+ columnDefs: H,
69
+ defaultColDef: Dt,
70
+ getRowId: zt,
71
+ paginationPageSize: $t,
72
+ tableOptions: D,
73
+ externalFilter: Nt,
74
+ rowSelection: h,
75
+ pagination: j,
76
+ renderSubComponent: T,
77
+ getRowCanExpand: Lt,
78
78
  onQuickFilterTextChange: At,
79
- patches: oe,
80
- alignment: D,
81
- isPrinting: l,
82
- viewportWidth: Zt,
79
+ patches: le,
80
+ alignment: x,
81
+ isPrinting: s,
82
+ viewportWidth: ft,
83
83
  selectionWidth: G,
84
- searchText: ae,
85
- setSearch: Gt
86
- }), a = [...o.getStartVisibleLeafColumns(), ...o.getCenterVisibleLeafColumns(), ...o.getEndVisibleLeafColumns()].filter(
87
- (t) => t.id !== "__external" && (!l || !R.get(t.id)?.hideInPrint)
84
+ searchText: de,
85
+ setSearch: qt
86
+ }), c = [...a.getStartVisibleLeafColumns(), ...a.getCenterVisibleLeafColumns(), ...a.getEndVisibleLeafColumns()].filter(
87
+ (t) => t.id !== "__external" && (!s || !S.get(t.id)?.hideInPrint)
88
88
  );
89
- if (H) {
90
- const t = a.findIndex((n) => n.id === H.sourceId), e = a.findIndex((n) => n.id === H.targetId);
91
- t >= 0 && e >= 0 && a.splice(e, 0, a.splice(t, 1)[0]);
89
+ if (B) {
90
+ const t = c.findIndex((r) => r.id === B.sourceId), e = c.findIndex((r) => r.id === B.targetId);
91
+ t >= 0 && e >= 0 && c.splice(e, 0, c.splice(t, 1)[0]);
92
92
  }
93
- const A = new Map(a.map((t) => [t.id, t.getSize()])), Q = G + a.reduce((t, e) => t + A.get(e.id), 0), g = o.getTopRows(), b = o.getBottomRows(), ht = new Set([...g, ...b].map((t) => t.id)), d = (l ? o.getPrePaginatedRowModel().rows : o.getRowModel().rows).filter((t) => !ht.has(t.id)), Z = (t) => !!z && t.getCanExpand() && t.getIsExpanded(), de = [...g, ...d, ...b].some(Z), C = Ft && !pt && !de, bt = (g.length + _.length) * K, $ = ye({
94
- count: d.length,
95
- getScrollElement: () => y.current,
96
- estimateSize: () => K,
97
- getItemKey: (t) => d[t].id,
98
- overscan: $t,
99
- scrollMargin: j + bt,
100
- enabled: C,
93
+ const L = new Map(c.map((t) => [t.id, t.getSize()])), Q = G + c.reduce((t, e) => t + L.get(e.id), 0), p = a.getTopRows(), y = a.getBottomRows(), wt = new Set([...p, ...y].map((t) => t.id)), m = (s ? a.getPrePaginatedRowModel().rows : a.getRowModel().rows).filter((t) => !wt.has(t.id)), Z = (t) => !!T && t.getCanExpand() && t.getIsExpanded(), ue = [...p, ...m, ...y].some(Z), k = Ot && !xt && !ue, yt = (p.length + P.length) * O, F = Ie({
94
+ count: m.length,
95
+ getScrollElement: () => g.current,
96
+ estimateSize: () => O,
97
+ getItemKey: (t) => m[t].id,
98
+ overscan: Jt,
99
+ scrollMargin: yt,
100
+ enabled: k,
101
101
  useFlushSync: !1
102
- }), I = r.useRef({
103
- table: o,
104
- definitionsById: R,
105
- centerRows: d,
106
- virtualizer: $,
107
- resolveId: xt,
108
- rowIndices: F,
109
- sourcesById: h,
110
- useVirtualRows: C,
111
- pagination: L,
112
- serverPagination: P?.manualPagination === !0
102
+ }), I = n.useRef({
103
+ table: a,
104
+ definitionsById: S,
105
+ centerRows: m,
106
+ virtualizer: F,
107
+ resolveId: bt,
108
+ rowIndices: W,
109
+ sourcesById: w,
110
+ useVirtualRows: k,
111
+ pagination: j,
112
+ serverPagination: D?.manualPagination === !0
113
113
  });
114
114
  I.current = {
115
- table: o,
116
- definitionsById: R,
117
- centerRows: d,
118
- virtualizer: $,
119
- resolveId: xt,
120
- rowIndices: F,
121
- sourcesById: h,
122
- useVirtualRows: C,
123
- pagination: L,
124
- serverPagination: P?.manualPagination === !0
115
+ table: a,
116
+ definitionsById: S,
117
+ centerRows: m,
118
+ virtualizer: F,
119
+ resolveId: bt,
120
+ rowIndices: W,
121
+ sourcesById: w,
122
+ useVirtualRows: k,
123
+ pagination: j,
124
+ serverPagination: D?.manualPagination === !0
125
125
  };
126
- const me = Pe({ runtime: I, viewportRef: y, contentRef: B, setColumnDrag: ne }), s = Te({ runtime: I, editRef: x, configRef: ft, updateEdit: gt, setPatches: ut, contentRef: B, viewportRef: y, setPrinting: ee });
127
- r.useImperativeHandle(Bt, () => s, [s]), r.useEffect(() => (X(s), () => X((t) => t === s ? null : t)), [s, X]);
128
- const wt = r.useRef(et);
129
- wt.current = et, r.useEffect(() => {
130
- wt.current?.(s);
131
- }, [s]);
132
- const yt = r.useRef(nt);
133
- yt.current = nt, r.useEffect(() => {
134
- const t = I.current.table, e = t.getSelectedRowModel().rows.map((n) => n.original);
135
- yt.current?.(e, t.getSelectedRowIds());
136
- }, [o.state.rowSelection, ce]), r.useEffect(() => {
137
- const t = I.current.table, e = t.getSelectedRowIds().length, n = (t.state.rowPinning.top?.length ?? 0) + (t.state.rowPinning.bottom?.length ?? 0);
126
+ const fe = ze({ runtime: I, viewportRef: g, contentRef: X, setColumnDrag: se }), o = Te({ runtime: I, editRef: b, configRef: pt, updateEdit: ht, setPatches: gt, contentRef: X, viewportRef: g, setPrinting: ne });
127
+ n.useImperativeHandle(Gt, () => o, [o]), n.useEffect(() => (K(o), () => K((t) => t === o ? null : t)), [o, K]);
128
+ const vt = n.useRef(et);
129
+ vt.current = et, n.useEffect(() => {
130
+ vt.current?.(o);
131
+ }, [o]);
132
+ const It = n.useRef(rt);
133
+ It.current = rt, n.useEffect(() => {
134
+ const t = I.current.table, e = t.getSelectedRowModel().rows.map((r) => r.original);
135
+ It.current?.(e, t.getSelectedRowIds());
136
+ }, [a.state.rowSelection, me]), n.useEffect(() => {
137
+ const t = I.current.table, e = t.getSelectedRowIds().length, r = (t.state.rowPinning.top?.length ?? 0) + (t.state.rowPinning.bottom?.length ?? 0);
138
138
  mt(
139
- (i) => i.selectedCount === e && i.pinnedCount === n ? i : { selectedCount: e, pinnedCount: n }
139
+ (i) => i.selectedCount === e && i.pinnedCount === r ? i : { selectedCount: e, pinnedCount: r }
140
140
  );
141
- }, [o.state.rowSelection, o.state.rowPinning, mt]), r.useEffect(() => {
142
- const t = y.current;
141
+ }, [a.state.rowSelection, a.state.rowPinning, mt]), n.useEffect(() => {
142
+ const t = g.current;
143
143
  if (!t) return;
144
- const e = () => qt(t.clientWidth);
144
+ const e = () => ee(t.clientWidth);
145
145
  e();
146
- const n = new ResizeObserver(e);
147
- return n.observe(t), () => n.disconnect();
148
- }, []), r.useEffect(() => {
149
- const t = y.current, e = D?.viewports.current;
146
+ const r = new ResizeObserver(e);
147
+ return r.observe(t), () => r.disconnect();
148
+ }, []), n.useEffect(() => {
149
+ const t = g.current, e = x?.viewports.current;
150
150
  if (!(!t || !e))
151
151
  return e.add(t), () => {
152
152
  e.delete(t);
153
153
  };
154
- }, [D?.viewports]), r.useEffect(() => {
155
- x.current && h.get(x.current.rowId) !== x.current.source && s.stopEditing(!0), ut((e) => {
156
- const n = Object.entries(e).filter(([i, c]) => h.get(i) === c.source);
157
- return n.length === Object.keys(e).length ? e : Object.fromEntries(n);
154
+ }, [x?.viewports]), n.useEffect(() => {
155
+ b.current && w.get(b.current.rowId) !== b.current.source && o.stopEditing(!0), gt((e) => {
156
+ const r = Object.entries(e).filter(([i, l]) => w.get(i) === l.source);
157
+ return r.length === Object.keys(e).length ? e : Object.fromEntries(r);
158
158
  });
159
159
  const t = I.current.table;
160
160
  if (!I.current.serverPagination) {
161
- const e = t.atoms.rowSelection.get(), n = Object.entries(e).filter(([u]) => h.has(u));
162
- n.length !== Object.keys(e).length && t.setRowSelection(Object.fromEntries(n));
163
- const i = t.atoms.rowPinning.get(), c = i.top?.filter((u) => h.has(u)), w = i.bottom?.filter((u) => h.has(u));
164
- (c?.length !== i.top?.length || w?.length !== i.bottom?.length) && t.setRowPinning({ top: c, bottom: w });
161
+ const e = t.atoms.rowSelection.get(), r = Object.entries(e).filter(([u]) => w.has(u));
162
+ r.length !== Object.keys(e).length && t.setRowSelection(Object.fromEntries(r));
163
+ const i = t.atoms.rowPinning.get(), l = i.top?.filter((u) => w.has(u)), v = i.bottom?.filter((u) => w.has(u));
164
+ (l?.length !== i.top?.length || v?.length !== i.bottom?.length) && t.setRowPinning({ top: l, bottom: v });
165
165
  }
166
- }, [h, s]);
167
- const O = [...g, ...d, ...b], q = [
168
- ..._.map((t, e) => `__summary_top_${e}`),
169
- ...g.map((t) => t.id),
170
- ...d.map((t) => t.id),
171
- ...b.map((t) => t.id),
172
- ...M.map((t, e) => `__summary_bottom_${e}`)
173
- ], ue = new Set(O.filter(Z).map((t) => t.id));
166
+ }, [w, o]);
167
+ const $ = [...p, ...m, ...y], q = [
168
+ ...P.map((t, e) => `__summary_top_${e}`),
169
+ ...p.map((t) => t.id),
170
+ ...m.map((t) => t.id),
171
+ ...y.map((t) => t.id),
172
+ ...N.map((t, e) => `__summary_bottom_${e}`)
173
+ ], ge = new Set($.filter(Z).map((t) => t.id));
174
174
  let tt = 0;
175
- const fe = new Map(
175
+ const pe = new Map(
176
176
  q.map((t) => {
177
177
  const e = tt;
178
- return tt += ue.has(t) ? 2 : 1, [t, e];
178
+ return tt += ge.has(t) ? 2 : 1, [t, e];
179
179
  })
180
- ), It = C ? $.getVirtualItems() : [], ge = C ? [
181
- ...q.slice(0, _.length + g.length),
182
- ...It.map((t) => d[t.index].id),
183
- ...b.map((t) => t.id),
184
- ...M.map((t, e) => `__summary_bottom_${e}`)
185
- ] : q, pe = Ce(
186
- re,
187
- ge,
188
- a.map((t) => t.id)
180
+ ), Rt = k ? F.getVirtualItems() : [], he = k ? [
181
+ ...q.slice(0, P.length + p.length),
182
+ ...Rt.map((t) => m[t.index].id),
183
+ ...y.map((t) => t.id),
184
+ ...N.map((t, e) => `__summary_bottom_${e}`)
185
+ ] : q, xe = ke(
186
+ oe,
187
+ he,
188
+ c.map((t) => t.id)
189
189
  );
190
- De(y, JSON.stringify(d.map((t) => t.id)), JSON.stringify(a.map((t) => t.id)), l);
191
- const vt = (t, e = !1) => {
192
- const n = l ? !1 : t.getIsPinned(), i = a.filter((f) => f.getIsPinned() === n), c = i.findIndex((f) => f.id === t.id), w = i.slice(0, c).reduce((f, E) => f + A.get(E.id), G), u = i.slice(c + 1).reduce((f, E) => f + A.get(E.id), 0);
190
+ Le(g, JSON.stringify(m.map((t) => t.id)), JSON.stringify(c.map((t) => t.id)), s);
191
+ const Ct = (t, e = !1) => {
192
+ const r = s ? !1 : t.getIsPinned(), i = c.filter((f) => f.getIsPinned() === r), l = i.findIndex((f) => f.id === t.id), v = i.slice(0, l).reduce((f, _) => f + L.get(_.id), G), u = i.slice(l + 1).reduce((f, _) => f + L.get(_.id), 0);
193
193
  return {
194
- width: A.get(t.id),
194
+ width: L.get(t.id),
195
195
  flexShrink: 0,
196
- position: n ? "sticky" : "relative",
197
- insetInlineStart: n === "start" ? w : void 0,
198
- insetInlineEnd: n === "end" ? u : void 0,
199
- zIndex: n ? 2 : void 0,
200
- background: n ? e ? "oklch(var(--mtx-primary-50))" : "inherit" : void 0
196
+ position: r ? "sticky" : "relative",
197
+ insetInlineStart: r === "start" ? v : void 0,
198
+ insetInlineEnd: r === "end" ? u : void 0,
199
+ zIndex: r ? 2 : void 0,
200
+ background: r ? e ? "oklch(var(--mtx-primary-50))" : "inherit" : void 0
201
201
  };
202
- }, xe = (t, e, n) => {
202
+ }, be = (t, e, r) => {
203
203
  if (t.defaultPrevented) return;
204
- if (t.key === "Escape" && x.current) {
205
- t.preventDefault(), s.stopEditing(!0);
204
+ if (t.key === "Escape" && b.current) {
205
+ t.preventDefault(), o.stopEditing(!0);
206
206
  return;
207
207
  }
208
- if (t.key === "Enter" && x.current) {
208
+ if (t.key === "Enter" && b.current) {
209
209
  if (t.target.closest("button,select,textarea,[contenteditable=true],[role=combobox],[role=listbox]")) return;
210
- t.preventDefault(), s.stopEditing();
210
+ t.preventDefault(), o.stopEditing();
211
211
  return;
212
212
  }
213
213
  if (t.target.closest("input,select,textarea,button,[contenteditable=true]")) return;
214
214
  if (t.key === "Enter" || t.key === "F2") {
215
- t.preventDefault(), st === "fullRow" ? s.startEditingRow(e.id) : s.startEditingCell({ rowId: e.id, columnId: n.id });
215
+ t.preventDefault(), st === "fullRow" ? o.startEditingRow(e.id) : o.startEditingCell({ rowId: e.id, columnId: r.id });
216
216
  return;
217
217
  }
218
- const c = O.findIndex((v) => v.id === e.id), w = a.findIndex((v) => v.id === n.id), u = t.key === "ArrowDown" ? c + 1 : t.key === "ArrowUp" ? c - 1 : c, f = getComputedStyle(t.currentTarget).direction === "rtl" ? -1 : 1, E = t.key === "ArrowRight" ? w + f : t.key === "ArrowLeft" ? w - f : w;
219
- if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t.key) && O[u] && a[E]) {
218
+ const l = $.findIndex((R) => R.id === e.id), v = c.findIndex((R) => R.id === r.id), u = t.key === "ArrowDown" ? l + 1 : t.key === "ArrowUp" ? l - 1 : l, f = getComputedStyle(t.currentTarget).direction === "rtl" ? -1 : 1, _ = t.key === "ArrowRight" ? v + f : t.key === "ArrowLeft" ? v - f : v;
219
+ if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t.key) && $[u] && c[_]) {
220
220
  t.preventDefault();
221
- const v = O[u];
222
- ht.has(v.id) || s.scrollToRow(v.id), s.focusCell(v.id, a[E].id);
221
+ const R = $[u];
222
+ wt.has(R.id) || o.scrollToRow(R.id), o.focusCell(R.id, c[_].id);
223
223
  }
224
- }, k = (t, e, n, i, c) => /* @__PURE__ */ m(
225
- _e,
224
+ }, E = (t, e, r, i, l) => /* @__PURE__ */ d(
225
+ De,
226
226
  {
227
227
  data: t,
228
228
  rowId: e,
229
- index: n,
229
+ index: r,
230
230
  row: i,
231
- pinned: c,
232
- edit: T,
233
- editRef: x,
234
- updateEdit: gt,
235
- api: s,
236
- table: o,
237
- detailId: Qt,
238
- displayedIndices: fe,
239
- rowSelection: p,
240
- rowHeight: K,
231
+ pinned: l,
232
+ edit: z,
233
+ editRef: b,
234
+ updateEdit: ht,
235
+ api: o,
236
+ table: a,
237
+ detailId: te,
238
+ displayedIndices: pe,
239
+ rowSelection: h,
240
+ rowHeight: O,
241
241
  totalWidth: Q,
242
- getRowClass: Mt,
243
- rowClassRules: Lt,
244
- onRowClick: Kt,
245
- showExpanders: W,
242
+ getRowClass: Wt,
243
+ rowClassRules: Ft,
244
+ onRowClick: Xt,
245
+ showExpanders: V,
246
246
  expanderWidth: Y,
247
- showCheckboxes: V,
248
- visibleColumns: a,
249
- definitionsById: R,
250
- activeCell: pe,
251
- setFocusedCell: se,
252
- columnStyle: vt,
253
- handleCellKeyDown: xe,
254
- suppressClickEdit: Jt,
247
+ showCheckboxes: M,
248
+ visibleColumns: c,
249
+ definitionsById: S,
250
+ activeCell: xe,
251
+ setFocusedCell: ie,
252
+ columnStyle: Ct,
253
+ handleCellKeyDown: be,
254
+ suppressClickEdit: Ut,
255
255
  editType: st,
256
- renderSubComponent: z,
256
+ renderSubComponent: T,
257
257
  isDetailExpanded: Z
258
258
  },
259
259
  e
260
- ), Rt = (p?.selectAll === "all" ? o.getCoreRowModel() : p?.selectAll === "currentPage" ? o.getRowModel() : o.getFilteredRowModel()).rows.filter((t) => t.getCanSelect()), he = Rt.filter((t) => t.getIsSelected()).length;
261
- return /* @__PURE__ */ S(be, { sensors: Re, ...me, children: [
262
- /* @__PURE__ */ m(we, { dropAnimation: null, style: { position: "fixed", pointerEvents: "none" }, children: (t) => {
263
- const e = R.get(t.data.columnId);
264
- return /* @__PURE__ */ m("div", { className: "mtx-rounded-sm mtx-border mtx-border-gray-200 mtx-bg-primary-50 mtx-px-3 mtx-py-2 mtx-text-xs mtx-font-bold mtx-shadow-md", children: e?.headerName ?? t.data.columnId });
260
+ ), St = (h?.selectAll === "all" ? a.getCoreRowModel() : h?.selectAll === "currentPage" ? a.getRowModel() : a.getFilteredRowModel()).rows.filter((t) => t.getCanSelect()), we = St.filter((t) => t.getIsSelected()).length;
261
+ return /* @__PURE__ */ C(ye, { sensors: Se, ...fe, children: [
262
+ /* @__PURE__ */ d(ve, { dropAnimation: null, style: { position: "fixed", pointerEvents: "none" }, children: (t) => {
263
+ const e = S.get(t.data.columnId);
264
+ return /* @__PURE__ */ d("div", { className: "mtx-rounded-sm mtx-border mtx-border-gray-200 mtx-bg-primary-50 mtx-px-3 mtx-py-2 mtx-text-xs mtx-font-bold mtx-shadow-md", children: e?.headerName ?? t.data.columnId });
265
265
  } }),
266
- /* @__PURE__ */ S(
266
+ /* @__PURE__ */ C(
267
267
  "div",
268
268
  {
269
- ref: B,
269
+ ref: X,
270
270
  "data-data-table-content": "",
271
- "data-print-layout": l || void 0,
272
- className: Ct("mtx-relative mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-rounded-b-lg", Ut),
273
- style: Xt,
271
+ "data-print-layout": s || void 0,
272
+ className: kt("mtx-relative mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-rounded-b-lg", Bt),
273
+ style: Yt,
274
274
  ...dt,
275
275
  children: [
276
- T && /* @__PURE__ */ S("div", { "data-print-hidden": "", className: "mtx-flex mtx-shrink-0 mtx-items-center mtx-gap-2 mtx-border-b mtx-border-gray-200 mtx-p-2", children: [
277
- /* @__PURE__ */ m(kt, { type: "button", size: "sm", onClick: () => s.stopEditing(), children: "Save" }),
278
- /* @__PURE__ */ m(kt, { type: "button", size: "sm", variant: "text", onClick: () => s.stopEditing(!0), children: "Cancel" }),
279
- T.errors.length > 0 && /* @__PURE__ */ m("span", { role: "alert", className: "mtx-text-danger", children: T.errors.join(". ") })
276
+ z && /* @__PURE__ */ C("div", { "data-print-hidden": "", className: "mtx-flex mtx-shrink-0 mtx-items-center mtx-gap-2 mtx-border-b mtx-border-gray-200 mtx-p-2", children: [
277
+ /* @__PURE__ */ d(Et, { type: "button", size: "sm", onClick: () => o.stopEditing(), children: "Save" }),
278
+ /* @__PURE__ */ d(Et, { type: "button", size: "sm", variant: "text", onClick: () => o.stopEditing(!0), children: "Cancel" }),
279
+ z.errors.length > 0 && /* @__PURE__ */ d("span", { role: "alert", className: "mtx-text-danger", children: z.errors.join(". ") })
280
280
  ] }),
281
- /* @__PURE__ */ S(
281
+ /* @__PURE__ */ C(
282
282
  "div",
283
283
  {
284
- ref: y,
285
- "data-data-table-viewport": "",
286
284
  role: "grid",
287
285
  "aria-label": dt["aria-label"] ?? "Data table",
288
- "aria-busy": N,
286
+ "aria-busy": A,
289
287
  "aria-rowcount": tt + 1,
290
- "aria-colcount": a.length + (V ? 1 : 0) + (W ? 1 : 0),
291
- "aria-multiselectable": p?.mode === "multiRow" || void 0,
292
- className: "mtx-relative mtx-min-h-0 mtx-flex-1 mtx-rounded-b-lg",
293
- style: {
294
- ...U,
295
- overflow: pt ? "visible" : U?.overflow ?? "auto",
296
- overflowX: l ? "visible" : Ot ? "hidden" : U?.overflowX
297
- },
298
- onScroll: (t) => {
299
- if (D && !l)
300
- for (const e of D.viewports.current)
301
- e !== t.currentTarget && e.scrollLeft !== t.currentTarget.scrollLeft && (e.scrollLeft = t.currentTarget.scrollLeft);
302
- },
288
+ "aria-colcount": c.length + (M ? 1 : 0) + (V ? 1 : 0),
289
+ "aria-multiselectable": h?.mode === "multiRow" || void 0,
290
+ className: "mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col",
303
291
  children: [
304
- /* @__PURE__ */ m(
305
- Ee,
292
+ /* @__PURE__ */ d("div", { className: "mtx-shrink-0 mtx-bg-primary-50", children: /* @__PURE__ */ d(
293
+ "div",
306
294
  {
307
- table: o,
308
- api: s,
309
- headerHeight: j,
310
- totalWidth: Q,
311
- isPrinting: l,
312
- showExpanders: W,
313
- expanderWidth: Y,
314
- showCheckboxes: V,
315
- rowSelection: p,
316
- selectionRows: Rt,
317
- selectedInScope: he,
318
- visibleColumns: a,
319
- definitionsById: R,
320
- columnStyle: vt,
321
- widths: A
295
+ ref: ut,
296
+ style: { overflow: s ? "visible" : "hidden", width: s ? "100%" : ft || "100%" },
297
+ onScroll: (t) => {
298
+ const e = U.current === t.currentTarget.scrollLeft;
299
+ U.current = null, !e && !s && g.current && (g.current.scrollLeft = t.currentTarget.scrollLeft);
300
+ },
301
+ children: /* @__PURE__ */ d(
302
+ _e,
303
+ {
304
+ table: a,
305
+ api: o,
306
+ headerHeight: Vt,
307
+ totalWidth: Q,
308
+ isPrinting: s,
309
+ showExpanders: V,
310
+ expanderWidth: Y,
311
+ showCheckboxes: M,
312
+ rowSelection: h,
313
+ selectionRows: St,
314
+ selectedInScope: we,
315
+ visibleColumns: c,
316
+ definitionsById: S,
317
+ columnStyle: Ct,
318
+ widths: L
319
+ }
320
+ )
322
321
  }
323
- ),
324
- (g.length > 0 || _.length > 0) && /* @__PURE__ */ S(
322
+ ) }),
323
+ /* @__PURE__ */ C(
325
324
  "div",
326
325
  {
327
- role: "rowgroup",
328
- className: "mtx-sticky mtx-z-20",
329
- style: { top: l ? void 0 : j, position: l ? "relative" : "sticky" },
326
+ ref: g,
327
+ "data-data-table-viewport": "",
328
+ className: "mtx-relative mtx-min-h-0 mtx-flex-1 mtx-rounded-b-lg",
329
+ style: {
330
+ ...J,
331
+ overflow: xt ? "visible" : J?.overflow ?? "auto",
332
+ overflowX: s ? "visible" : Kt ? "hidden" : J?.overflowX
333
+ },
334
+ onScroll: (t) => {
335
+ const e = t.currentTarget, r = ut.current;
336
+ r && r.scrollLeft !== e.scrollLeft && (r.scrollLeft = e.scrollLeft, U.current = r.scrollLeft);
337
+ const i = x?.synchronizedScrolls.current.get(e) === e.scrollLeft;
338
+ if (x?.synchronizedScrolls.current.delete(e), x && !s && !i)
339
+ for (const l of x.viewports.current)
340
+ l !== e && l.scrollLeft !== e.scrollLeft && (l.scrollLeft = e.scrollLeft, x.synchronizedScrolls.current.set(l, l.scrollLeft));
341
+ },
330
342
  children: [
331
- _.map((t, e) => k(t, `__summary_top_${e}`, e, void 0, "top")),
332
- g.map((t) => k(t.original, t.id, t.index, t, "top"))
343
+ (p.length > 0 || P.length > 0) && /* @__PURE__ */ C(
344
+ "div",
345
+ {
346
+ role: "rowgroup",
347
+ className: "mtx-sticky mtx-z-20",
348
+ style: { top: s ? void 0 : 0, position: s ? "relative" : "sticky" },
349
+ children: [
350
+ P.map((t, e) => E(t, `__summary_top_${e}`, e, void 0, "top")),
351
+ p.map((t) => E(t.original, t.id, t.index, t, "top"))
352
+ ]
353
+ }
354
+ ),
355
+ /* @__PURE__ */ d("div", { role: "rowgroup", children: k ? /* @__PURE__ */ d("div", { style: { height: F.getTotalSize(), position: "relative", width: Q, minWidth: "100%" }, children: Rt.map((t) => {
356
+ const e = m[t.index];
357
+ return /* @__PURE__ */ d("div", { style: { position: "absolute", top: 0, width: "100%", transform: `translateY(${t.start - yt}px)` }, children: E(e.original, e.id, W.get(e.original) ?? e.index, e) }, e.id);
358
+ }) }) : m.map((t) => E(t.original, t.id, W.get(t.original) ?? t.index, t)) }),
359
+ (y.length > 0 || N.length > 0) && /* @__PURE__ */ C("div", { role: "rowgroup", className: "mtx-sticky mtx-bottom-0 mtx-z-20", style: { position: s ? "relative" : "sticky" }, children: [
360
+ y.map((t) => E(t.original, t.id, t.index, t, "bottom")),
361
+ N.map((t, e) => E(t, `__summary_bottom_${e}`, e, void 0, "bottom"))
362
+ ] }),
363
+ (A || !m.length && !p.length && !y.length) && /* @__PURE__ */ d(
364
+ "div",
365
+ {
366
+ role: "status",
367
+ className: kt(
368
+ "mtx-flex mtx-items-center mtx-justify-center mtx-p-6 mtx-text-text-300",
369
+ A && "mtx-absolute mtx-top-0 mtx-start-0 mtx-z-50 mtx-h-full mtx-w-full mtx-bg-gray-100/25"
370
+ ),
371
+ children: A ? Mt : jt
372
+ }
373
+ )
333
374
  ]
334
375
  }
335
- ),
336
- /* @__PURE__ */ m("div", { role: "rowgroup", children: C ? /* @__PURE__ */ m("div", { style: { height: $.getTotalSize(), position: "relative", width: Q, minWidth: "100%" }, children: It.map((t) => {
337
- const e = d[t.index];
338
- return /* @__PURE__ */ m(
339
- "div",
340
- {
341
- style: { position: "absolute", top: 0, width: "100%", transform: `translateY(${t.start - j - bt}px)` },
342
- children: k(e.original, e.id, F.get(e.original) ?? e.index, e)
343
- },
344
- e.id
345
- );
346
- }) }) : d.map((t) => k(t.original, t.id, F.get(t.original) ?? t.index, t)) }),
347
- (b.length > 0 || M.length > 0) && /* @__PURE__ */ S("div", { role: "rowgroup", className: "mtx-sticky mtx-bottom-0 mtx-z-20", style: { position: l ? "relative" : "sticky" }, children: [
348
- b.map((t) => k(t.original, t.id, t.index, t, "bottom")),
349
- M.map((t, e) => k(t, `__summary_bottom_${e}`, e, void 0, "bottom"))
350
- ] }),
351
- (N || !d.length && !g.length && !b.length) && /* @__PURE__ */ m(
352
- "div",
353
- {
354
- role: "status",
355
- className: Ct(
356
- "mtx-flex mtx-items-center mtx-justify-center mtx-p-6 mtx-text-text-300",
357
- N && "mtx-absolute mtx-top-0 mtx-start-0 mtx-z-50 mtx-h-full mtx-w-full mtx-bg-gray-100/25"
358
- ),
359
- children: N ? jt : Nt
360
- }
361
376
  )
362
377
  ]
363
378
  }
364
379
  ),
365
- L && !l && /* @__PURE__ */ m(Se, { table: o, paginationPageSizeSelector: Wt })
380
+ j && !s && /* @__PURE__ */ d(Pe, { table: a, paginationPageSizeSelector: Ht })
366
381
  ]
367
382
  }
368
383
  )
369
384
  ] });
370
385
  }
371
- const Ne = r.forwardRef(ze);
372
- Ne.displayName = "DataTableContent";
386
+ const je = n.forwardRef(Ne);
387
+ je.displayName = "DataTableContent";
373
388
  export {
374
- Ne as DataTableContent
389
+ je as DataTableContent
375
390
  };
376
391
  //# sourceMappingURL=datatablecontent.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datatablecontent.es.js","sources":["../src/components/data-table/DataTableContent.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { DragDropProvider, DragOverlay } from \"@dnd-kit/react\";\nimport type { Column } from \"@tanstack/react-table\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { DataTableAlignmentContext, useDataTable } from \"./DataTableContext\";\nimport { dataTableColumnSensors } from \"./dataTableColumnDrag\";\nimport { getActiveDataTableCell } from \"./dataTableModel\";\nimport { useDataTableInstance } from \"./useDataTableInstance\";\nimport { DataTableHeader } from \"./DataTableHeader\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTableRowView } from \"./DataTableRowView\";\nimport { useDataTableColumnDrag } from \"./useDataTableColumnDrag\";\nimport { useDataTableMotion } from \"./useDataTableMotion\";\nimport { useDataTableApi, type DataTableRuntime } from \"./useDataTableApi\";\nimport type { DataTableEditSession } from \"./dataTableEditing\";\nimport type { DataTableApi, DataTableContentProps, DataTableFeatures, DataTableRow } from \"./DataTable.types\";\n\nconst emptyRows: never[] = [];\nconst emptyColumn: Record<string, never> = {};\n\nfunction DataTableContentInner<T extends object>(\n {\n rowData,\n columnDefs,\n defaultColDef = emptyColumn,\n getRowId,\n onReady,\n rowSelection,\n renderSubComponent,\n getRowCanExpand,\n onSelectionChanged,\n quickFilterText,\n onQuickFilterTextChange,\n externalFilter,\n loading = false,\n emptyContent = \"No rows to display\",\n loadingContent = \"Loading…\",\n rowHeight = 36,\n headerHeight = 40,\n getRowClass,\n rowClassRules,\n pinnedTopRowData = emptyRows,\n pinnedBottomRowData = emptyRows,\n pagination = false,\n paginationPageSize = 25,\n paginationPageSizeSelector = [10, 25, 50, 100],\n virtualize = true,\n overscan = 8,\n domLayout = \"normal\",\n suppressHorizontalScroll = false,\n editType = \"cell\",\n suppressClickEdit = false,\n readOnlyEdit = false,\n validateRow,\n onEditCommit,\n onEditRequest,\n onEditCancel,\n onRowClick,\n tableOptions,\n containerStyle,\n className,\n style,\n ...props\n }: DataTableContentProps<T>,\n forwardedRef: React.ForwardedRef<DataTableApi<T>>,\n) {\n \"use no memo\";\n const { setApi, search, hasSearch, setSearch, setCounts } = useDataTable<T>();\n const alignment = React.useContext(DataTableAlignmentContext);\n const detailId = React.useId();\n const viewportRef = React.useRef<HTMLDivElement>(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const [viewportWidth, setViewportWidth] = React.useState(0);\n const [printing, setPrinting] = React.useState(false);\n const [columnDrag, setColumnDrag] = React.useState<{ sourceId: string; targetId: string } | null>(null);\n const [focusedCell, setFocusedCell] = React.useState<{ rowId: string; columnId: string } | null>(null);\n const [patches, setPatches] = React.useState<Record<string, { source: T; data: T }>>({});\n const [edit, setEdit] = React.useState<DataTableEditSession<T> | null>(null);\n const [initialSearch] = React.useState(() => tableOptions?.initialState?.globalFilter ?? \"\");\n const editRef = React.useRef(edit);\n const configRef = React.useRef({ columnDefs, validateRow, readOnlyEdit, onEditCommit, onEditRequest, onEditCancel });\n configRef.current = { columnDefs, validateRow, readOnlyEdit, onEditCommit, onEditRequest, onEditCancel };\n const updateEdit = React.useCallback((next: DataTableEditSession<T> | null) => {\n editRef.current = next;\n setEdit(next);\n }, []);\n const isPrinting = printing || domLayout === \"print\";\n const naturalHeight = isPrinting || domLayout === \"autoHeight\";\n const searchText = quickFilterText ?? tableOptions?.state?.globalFilter ?? (hasSearch ? search : initialSearch);\n const showCheckboxes = !!rowSelection && rowSelection.checkboxes !== false && !isPrinting;\n const showExpanders = !!renderSubComponent && !isPrinting;\n const expanderWidth = showExpanders ? 44 : 0;\n const selectionWidth = (showCheckboxes ? 44 : 0) + expanderWidth;\n const { table, definitionsById, sourcesById, data, rowIndices, resolveId } = useDataTableInstance({\n rowData,\n columnDefs,\n defaultColDef,\n getRowId,\n paginationPageSize,\n tableOptions,\n externalFilter,\n rowSelection,\n pagination,\n renderSubComponent,\n getRowCanExpand,\n onQuickFilterTextChange,\n patches,\n alignment,\n isPrinting,\n viewportWidth,\n selectionWidth,\n searchText,\n setSearch,\n });\n\n const visibleColumns = [...table.getStartVisibleLeafColumns(), ...table.getCenterVisibleLeafColumns(), ...table.getEndVisibleLeafColumns()].filter(\n column => column.id !== \"__external\" && (!isPrinting || !definitionsById.get(column.id)?.hideInPrint),\n );\n // Preview locally so canceled drags never update controlled or aligned table state.\n if (columnDrag) {\n const from = visibleColumns.findIndex(column => column.id === columnDrag.sourceId);\n const to = visibleColumns.findIndex(column => column.id === columnDrag.targetId);\n if (from >= 0 && to >= 0) visibleColumns.splice(to, 0, visibleColumns.splice(from, 1)[0]);\n }\n const widths = new Map(visibleColumns.map(column => [column.id, column.getSize()]));\n const totalWidth = selectionWidth + visibleColumns.reduce((sum, column) => sum + widths.get(column.id)!, 0);\n const topRows = table.getTopRows();\n const bottomRows = table.getBottomRows();\n const pinnedIds = new Set([...topRows, ...bottomRows].map(row => row.id));\n const centerRows = (isPrinting ? table.getPrePaginatedRowModel().rows : table.getRowModel().rows).filter(row => !pinnedIds.has(row.id));\n const isDetailExpanded = (row: DataTableRow<T>) => !!renderSubComponent && row.getCanExpand() && row.getIsExpanded();\n // Detail panels can have arbitrary height. Resume fixed-height virtualization when all visible panels close.\n const hasExpandedDetails = [...topRows, ...centerRows, ...bottomRows].some(isDetailExpanded);\n const useVirtualRows = virtualize && !naturalHeight && !hasExpandedDetails;\n const topHeight = (topRows.length + pinnedTopRowData.length) * rowHeight;\n // This renderer opts out of React Compiler above; Virtual exposes a mutable measurement instance.\n // eslint-disable-next-line react-hooks/incompatible-library\n const virtualizer = useVirtualizer({\n count: centerRows.length,\n getScrollElement: () => viewportRef.current,\n estimateSize: () => rowHeight,\n getItemKey: index => centerRows[index].id,\n overscan,\n scrollMargin: headerHeight + topHeight,\n enabled: useVirtualRows,\n useFlushSync: false,\n });\n\n const runtime = React.useRef<DataTableRuntime<T>>({\n table,\n definitionsById,\n centerRows,\n virtualizer,\n resolveId,\n rowIndices,\n sourcesById,\n useVirtualRows,\n pagination,\n serverPagination: tableOptions?.manualPagination === true,\n });\n runtime.current = {\n table,\n definitionsById,\n centerRows,\n virtualizer,\n resolveId,\n rowIndices,\n sourcesById,\n useVirtualRows,\n pagination,\n serverPagination: tableOptions?.manualPagination === true,\n };\n const columnDragHandlers = useDataTableColumnDrag({ runtime, viewportRef, contentRef, setColumnDrag });\n const api = useDataTableApi({ runtime, editRef, configRef, updateEdit, setPatches, contentRef, viewportRef, setPrinting });\n React.useImperativeHandle(forwardedRef, () => api, [api]);\n\n React.useEffect(() => {\n setApi(api);\n return () => setApi(previous => (previous === api ? null : previous));\n }, [api, setApi]);\n const readyRef = React.useRef(onReady);\n readyRef.current = onReady;\n React.useEffect(() => {\n readyRef.current?.(api);\n }, [api]);\n const selectionCallback = React.useRef(onSelectionChanged);\n selectionCallback.current = onSelectionChanged;\n React.useEffect(() => {\n const current = runtime.current.table;\n const selected = current.getSelectedRowModel().rows.map(row => row.original);\n selectionCallback.current?.(selected, current.getSelectedRowIds());\n }, [table.state.rowSelection, data]);\n React.useEffect(() => {\n const current = runtime.current.table;\n const selectedCount = current.getSelectedRowIds().length;\n const pinnedCount = (current.state.rowPinning.top?.length ?? 0) + (current.state.rowPinning.bottom?.length ?? 0);\n setCounts(previous =>\n previous.selectedCount === selectedCount && previous.pinnedCount === pinnedCount ? previous : { selectedCount, pinnedCount },\n );\n }, [table.state.rowSelection, table.state.rowPinning, setCounts]);\n React.useEffect(() => {\n const element = viewportRef.current;\n if (!element) return;\n const resize = () => setViewportWidth(element.clientWidth);\n resize();\n const observer = new ResizeObserver(resize);\n observer.observe(element);\n return () => observer.disconnect();\n }, []);\n React.useEffect(() => {\n const element = viewportRef.current;\n const viewports = alignment?.viewports.current;\n if (!element || !viewports) return;\n viewports.add(element);\n return () => {\n viewports.delete(element);\n };\n }, [alignment?.viewports]);\n React.useEffect(() => {\n if (editRef.current && sourcesById.get(editRef.current.rowId) !== editRef.current.source) {\n api.stopEditing(true);\n }\n setPatches(previous => {\n const entries = Object.entries(previous).filter(([id, patch]) => sourcesById.get(id) === patch.source);\n return entries.length === Object.keys(previous).length ? previous : Object.fromEntries(entries);\n });\n const current = runtime.current.table;\n if (!runtime.current.serverPagination) {\n // Locally owned datasets can discard deleted identities. Server pages retain unloaded selection IDs.\n const selection = current.atoms.rowSelection.get();\n const entries = Object.entries(selection).filter(([id]) => sourcesById.has(id));\n if (entries.length !== Object.keys(selection).length) current.setRowSelection(Object.fromEntries(entries));\n const pinning = current.atoms.rowPinning.get();\n const top = pinning.top?.filter(id => sourcesById.has(id));\n const bottom = pinning.bottom?.filter(id => sourcesById.has(id));\n if (top?.length !== pinning.top?.length || bottom?.length !== pinning.bottom?.length) current.setRowPinning({ top, bottom });\n }\n }, [sourcesById, api]);\n\n const navigableRows = [...topRows, ...centerRows, ...bottomRows];\n const displayedIds = [\n ...pinnedTopRowData.map((_, index) => `__summary_top_${index}`),\n ...topRows.map(row => row.id),\n ...centerRows.map(row => row.id),\n ...bottomRows.map(row => row.id),\n ...pinnedBottomRowData.map((_, index) => `__summary_bottom_${index}`),\n ];\n const expandedIds = new Set(navigableRows.filter(isDetailExpanded).map(row => row.id));\n let displayedRowCount = 0;\n const displayedIndices = new Map(\n displayedIds.map(id => {\n const index = displayedRowCount;\n displayedRowCount += expandedIds.has(id) ? 2 : 1;\n return [id, index];\n }),\n );\n const virtualItems = useVirtualRows ? virtualizer.getVirtualItems() : [];\n const renderedIds = useVirtualRows\n ? [\n ...displayedIds.slice(0, pinnedTopRowData.length + topRows.length),\n ...virtualItems.map(item => centerRows[item.index].id),\n ...bottomRows.map(row => row.id),\n ...pinnedBottomRowData.map((_, index) => `__summary_bottom_${index}`),\n ]\n : displayedIds;\n const activeCell = getActiveDataTableCell(\n focusedCell,\n renderedIds,\n visibleColumns.map(column => column.id),\n );\n\n useDataTableMotion(viewportRef, JSON.stringify(centerRows.map(row => row.id)), JSON.stringify(visibleColumns.map(column => column.id)), isPrinting);\n\n const columnStyle = (column: Column<DataTableFeatures, T>, header = false): React.CSSProperties => {\n const pinned = isPrinting ? false : column.getIsPinned();\n const region = visibleColumns.filter(item => item.getIsPinned() === pinned);\n const index = region.findIndex(item => item.id === column.id);\n const start = region.slice(0, index).reduce((sum, item) => sum + widths.get(item.id)!, selectionWidth);\n const end = region.slice(index + 1).reduce((sum, item) => sum + widths.get(item.id)!, 0);\n return {\n width: widths.get(column.id),\n flexShrink: 0,\n position: pinned ? \"sticky\" : \"relative\",\n insetInlineStart: pinned === \"start\" ? start : undefined,\n insetInlineEnd: pinned === \"end\" ? end : undefined,\n zIndex: pinned ? 2 : undefined,\n background: pinned ? (header ? \"oklch(var(--mtx-primary-50))\" : \"inherit\") : undefined,\n };\n };\n\n const handleCellKeyDown = (event: React.KeyboardEvent, row: DataTableRow<T>, column: Column<DataTableFeatures, T>) => {\n if (event.defaultPrevented) return;\n if (event.key === \"Escape\" && editRef.current) {\n event.preventDefault();\n api.stopEditing(true);\n return;\n }\n if (event.key === \"Enter\" && editRef.current) {\n // Editors own activation and multiline input; plain text/number inputs still commit on Enter.\n if ((event.target as HTMLElement).closest(\"button,select,textarea,[contenteditable=true],[role=combobox],[role=listbox]\")) return;\n event.preventDefault();\n api.stopEditing();\n return;\n }\n const target = event.target as HTMLElement;\n if (target.closest(\"input,select,textarea,button,[contenteditable=true]\")) return;\n if (event.key === \"Enter\" || event.key === \"F2\") {\n event.preventDefault();\n if (editType === \"fullRow\") api.startEditingRow(row.id);\n else api.startEditingCell({ rowId: row.id, columnId: column.id });\n return;\n }\n const rowIndex = navigableRows.findIndex(item => item.id === row.id);\n const columnIndex = visibleColumns.findIndex(item => item.id === column.id);\n const nextRow = event.key === \"ArrowDown\" ? rowIndex + 1 : event.key === \"ArrowUp\" ? rowIndex - 1 : rowIndex;\n const horizontalStep = getComputedStyle(event.currentTarget).direction === \"rtl\" ? -1 : 1;\n const nextColumn =\n event.key === \"ArrowRight\" ? columnIndex + horizontalStep : event.key === \"ArrowLeft\" ? columnIndex - horizontalStep : columnIndex;\n if ([\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key) && navigableRows[nextRow] && visibleColumns[nextColumn]) {\n event.preventDefault();\n const targetRow = navigableRows[nextRow];\n if (!pinnedIds.has(targetRow.id)) api.scrollToRow(targetRow.id);\n api.focusCell(targetRow.id, visibleColumns[nextColumn].id);\n }\n };\n\n const renderRow = (data: T, rowId: string, index: number, row?: DataTableRow<T>, pinned?: \"top\" | \"bottom\") => (\n <DataTableRowView\n key={rowId}\n {...{\n data,\n rowId,\n index,\n row,\n pinned,\n edit,\n editRef,\n updateEdit,\n api,\n table,\n detailId,\n displayedIndices,\n rowSelection,\n rowHeight,\n totalWidth,\n getRowClass,\n rowClassRules,\n onRowClick,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n visibleColumns,\n definitionsById,\n activeCell,\n setFocusedCell,\n columnStyle,\n handleCellKeyDown,\n suppressClickEdit,\n editType,\n renderSubComponent,\n isDetailExpanded,\n }}\n />\n );\n\n const selectionRows = (\n rowSelection?.selectAll === \"all\"\n ? table.getCoreRowModel()\n : rowSelection?.selectAll === \"currentPage\"\n ? table.getRowModel()\n : table.getFilteredRowModel()\n ).rows.filter(row => row.getCanSelect());\n const selectedInScope = selectionRows.filter(row => row.getIsSelected()).length;\n return (\n <DragDropProvider sensors={dataTableColumnSensors} {...columnDragHandlers}>\n <DragOverlay dropAnimation={null} style={{ position: \"fixed\", pointerEvents: \"none\" }}>\n {source => {\n const definition = definitionsById.get(source.data.columnId);\n return (\n <div className=\"mtx-rounded-sm mtx-border mtx-border-gray-200 mtx-bg-primary-50 mtx-px-3 mtx-py-2 mtx-text-xs mtx-font-bold mtx-shadow-md\">\n {definition?.headerName ?? source.data.columnId}\n </div>\n );\n }}\n </DragOverlay>\n <div\n ref={contentRef}\n data-data-table-content=\"\"\n data-print-layout={isPrinting || undefined}\n className={cn(\"mtx-relative mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-rounded-b-lg\", className)}\n style={style}\n {...props}\n >\n {edit && (\n <div data-print-hidden=\"\" className=\"mtx-flex mtx-shrink-0 mtx-items-center mtx-gap-2 mtx-border-b mtx-border-gray-200 mtx-p-2\">\n <Button type=\"button\" size=\"sm\" onClick={() => api.stopEditing()}>\n Save\n </Button>\n <Button type=\"button\" size=\"sm\" variant=\"text\" onClick={() => api.stopEditing(true)}>\n Cancel\n </Button>\n {edit.errors.length > 0 && (\n <span role=\"alert\" className=\"mtx-text-danger\">\n {edit.errors.join(\". \")}\n </span>\n )}\n </div>\n )}\n <div\n ref={viewportRef}\n data-data-table-viewport=\"\"\n role=\"grid\"\n aria-label={props[\"aria-label\"] ?? \"Data table\"}\n aria-busy={loading}\n aria-rowcount={displayedRowCount + 1}\n aria-colcount={visibleColumns.length + (showCheckboxes ? 1 : 0) + (showExpanders ? 1 : 0)}\n aria-multiselectable={rowSelection?.mode === \"multiRow\" || undefined}\n className=\"mtx-relative mtx-min-h-0 mtx-flex-1 mtx-rounded-b-lg\"\n style={{\n ...containerStyle,\n overflow: naturalHeight ? \"visible\" : (containerStyle?.overflow ?? \"auto\"),\n overflowX: isPrinting ? \"visible\" : suppressHorizontalScroll ? \"hidden\" : containerStyle?.overflowX,\n }}\n onScroll={event => {\n if (alignment && !isPrinting)\n for (const element of alignment.viewports.current) {\n if (element !== event.currentTarget && element.scrollLeft !== event.currentTarget.scrollLeft)\n element.scrollLeft = event.currentTarget.scrollLeft;\n }\n }}\n >\n <DataTableHeader\n {...{\n table,\n api,\n headerHeight,\n totalWidth,\n isPrinting,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n rowSelection,\n selectionRows,\n selectedInScope,\n visibleColumns,\n definitionsById,\n columnStyle,\n widths,\n }}\n />\n {(topRows.length > 0 || pinnedTopRowData.length > 0) && (\n <div\n role=\"rowgroup\"\n className=\"mtx-sticky mtx-z-20\"\n style={{ top: isPrinting ? undefined : headerHeight, position: isPrinting ? \"relative\" : \"sticky\" }}\n >\n {pinnedTopRowData.map((row, index) => renderRow(row, `__summary_top_${index}`, index, undefined, \"top\"))}\n {topRows.map(row => renderRow(row.original, row.id, row.index, row, \"top\"))}\n </div>\n )}\n <div role=\"rowgroup\">\n {useVirtualRows ? (\n <div style={{ height: virtualizer.getTotalSize(), position: \"relative\", width: totalWidth, minWidth: \"100%\" }}>\n {virtualItems.map(item => {\n const row = centerRows[item.index];\n return (\n <div\n key={row.id}\n style={{ position: \"absolute\", top: 0, width: \"100%\", transform: `translateY(${item.start - headerHeight - topHeight}px)` }}\n >\n {renderRow(row.original, row.id, rowIndices.get(row.original) ?? row.index, row)}\n </div>\n );\n })}\n </div>\n ) : (\n centerRows.map(row => renderRow(row.original, row.id, rowIndices.get(row.original) ?? row.index, row))\n )}\n </div>\n {(bottomRows.length > 0 || pinnedBottomRowData.length > 0) && (\n <div role=\"rowgroup\" className=\"mtx-sticky mtx-bottom-0 mtx-z-20\" style={{ position: isPrinting ? \"relative\" : \"sticky\" }}>\n {bottomRows.map(row => renderRow(row.original, row.id, row.index, row, \"bottom\"))}\n {pinnedBottomRowData.map((row, index) => renderRow(row, `__summary_bottom_${index}`, index, undefined, \"bottom\"))}\n </div>\n )}\n {(loading || (!centerRows.length && !topRows.length && !bottomRows.length)) && (\n <div\n role=\"status\"\n className={cn(\n \"mtx-flex mtx-items-center mtx-justify-center mtx-p-6 mtx-text-text-300\",\n loading && \"mtx-absolute mtx-top-0 mtx-start-0 mtx-z-50 mtx-h-full mtx-w-full mtx-bg-gray-100/25\",\n )}\n >\n {loading ? loadingContent : emptyContent}\n </div>\n )}\n </div>\n {pagination && !isPrinting && <DataTablePagination table={table} paginationPageSizeSelector={paginationPageSizeSelector} />}\n </div>\n </DragDropProvider>\n );\n}\n\nconst DataTableContent = React.forwardRef(DataTableContentInner) as <T extends object>(\n props: DataTableContentProps<T> & { ref?: React.ForwardedRef<DataTableApi<T>> },\n) => React.ReactElement;\n(DataTableContent as { displayName?: string }).displayName = \"DataTableContent\";\n\nexport { DataTableContent };\n"],"names":["emptyRows","emptyColumn","DataTableContentInner","rowData","columnDefs","defaultColDef","getRowId","onReady","rowSelection","renderSubComponent","getRowCanExpand","onSelectionChanged","quickFilterText","onQuickFilterTextChange","externalFilter","loading","emptyContent","loadingContent","rowHeight","headerHeight","getRowClass","rowClassRules","pinnedTopRowData","pinnedBottomRowData","pagination","paginationPageSize","paginationPageSizeSelector","virtualize","overscan","domLayout","suppressHorizontalScroll","editType","suppressClickEdit","readOnlyEdit","validateRow","onEditCommit","onEditRequest","onEditCancel","onRowClick","tableOptions","containerStyle","className","style","props","forwardedRef","setApi","search","hasSearch","setSearch","setCounts","useDataTable","alignment","React","DataTableAlignmentContext","detailId","viewportRef","contentRef","viewportWidth","setViewportWidth","printing","setPrinting","columnDrag","setColumnDrag","focusedCell","setFocusedCell","patches","setPatches","edit","setEdit","initialSearch","editRef","configRef","updateEdit","next","isPrinting","naturalHeight","searchText","showCheckboxes","showExpanders","expanderWidth","selectionWidth","table","definitionsById","sourcesById","data","rowIndices","resolveId","useDataTableInstance","visibleColumns","column","from","to","widths","totalWidth","sum","topRows","bottomRows","pinnedIds","row","centerRows","isDetailExpanded","hasExpandedDetails","useVirtualRows","topHeight","virtualizer","useVirtualizer","index","runtime","columnDragHandlers","useDataTableColumnDrag","api","useDataTableApi","previous","readyRef","selectionCallback","current","selected","selectedCount","pinnedCount","element","resize","observer","viewports","entries","id","patch","selection","pinning","top","bottom","navigableRows","displayedIds","_","expandedIds","displayedRowCount","displayedIndices","virtualItems","renderedIds","item","activeCell","getActiveDataTableCell","useDataTableMotion","columnStyle","header","pinned","region","start","end","handleCellKeyDown","event","rowIndex","columnIndex","nextRow","horizontalStep","nextColumn","targetRow","renderRow","rowId","jsx","DataTableRowView","selectionRows","selectedInScope","jsxs","DragDropProvider","dataTableColumnSensors","DragOverlay","source","definition","cn","Button","DataTableHeader","DataTablePagination","DataTableContent"],"mappings":"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"}
1
+ {"version":3,"file":"datatablecontent.es.js","sources":["../src/components/data-table/DataTableContent.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { DragDropProvider, DragOverlay } from \"@dnd-kit/react\";\nimport type { Column } from \"@tanstack/react-table\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { DataTableAlignmentContext, useDataTable } from \"./DataTableContext\";\nimport { dataTableColumnSensors } from \"./dataTableColumnDrag\";\nimport { getActiveDataTableCell } from \"./dataTableModel\";\nimport { useDataTableInstance } from \"./useDataTableInstance\";\nimport { DataTableHeader } from \"./DataTableHeader\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { DataTableRowView } from \"./DataTableRowView\";\nimport { useDataTableColumnDrag } from \"./useDataTableColumnDrag\";\nimport { useDataTableMotion } from \"./useDataTableMotion\";\nimport { useDataTableApi, type DataTableRuntime } from \"./useDataTableApi\";\nimport type { DataTableEditSession } from \"./dataTableEditing\";\nimport type { DataTableApi, DataTableContentProps, DataTableFeatures, DataTableRow } from \"./DataTable.types\";\n\nconst emptyRows: never[] = [];\nconst emptyColumn: Record<string, never> = {};\n\nfunction DataTableContentInner<T extends object>(\n {\n rowData,\n columnDefs,\n defaultColDef = emptyColumn,\n getRowId,\n onReady,\n rowSelection,\n renderSubComponent,\n getRowCanExpand,\n onSelectionChanged,\n quickFilterText,\n onQuickFilterTextChange,\n externalFilter,\n loading = false,\n emptyContent = \"No rows to display\",\n loadingContent = \"Loading…\",\n rowHeight = 40,\n headerHeight = 40,\n getRowClass,\n rowClassRules,\n pinnedTopRowData = emptyRows,\n pinnedBottomRowData = emptyRows,\n pagination = false,\n paginationPageSize = 25,\n paginationPageSizeSelector = [10, 25, 50, 100],\n virtualize = true,\n overscan = 8,\n domLayout = \"normal\",\n suppressHorizontalScroll = false,\n editType = \"cell\",\n suppressClickEdit = false,\n readOnlyEdit = false,\n validateRow,\n onEditCommit,\n onEditRequest,\n onEditCancel,\n onRowClick,\n tableOptions,\n containerStyle,\n className,\n style,\n ...props\n }: DataTableContentProps<T>,\n forwardedRef: React.ForwardedRef<DataTableApi<T>>,\n) {\n \"use no memo\";\n const { setApi, search, hasSearch, setSearch, setCounts } = useDataTable<T>();\n const alignment = React.useContext(DataTableAlignmentContext);\n const detailId = React.useId();\n const viewportRef = React.useRef<HTMLDivElement>(null);\n const headerViewportRef = React.useRef<HTMLDivElement>(null);\n const synchronizedHeaderScroll = React.useRef<number | null>(null);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const [viewportWidth, setViewportWidth] = React.useState(0);\n const [printing, setPrinting] = React.useState(false);\n const [columnDrag, setColumnDrag] = React.useState<{ sourceId: string; targetId: string } | null>(null);\n const [focusedCell, setFocusedCell] = React.useState<{ rowId: string; columnId: string } | null>(null);\n const [patches, setPatches] = React.useState<Record<string, { source: T; data: T }>>({});\n const [edit, setEdit] = React.useState<DataTableEditSession<T> | null>(null);\n const [initialSearch] = React.useState(() => tableOptions?.initialState?.globalFilter ?? \"\");\n const editRef = React.useRef(edit);\n const configRef = React.useRef({ columnDefs, validateRow, readOnlyEdit, onEditCommit, onEditRequest, onEditCancel });\n configRef.current = { columnDefs, validateRow, readOnlyEdit, onEditCommit, onEditRequest, onEditCancel };\n const updateEdit = React.useCallback((next: DataTableEditSession<T> | null) => {\n editRef.current = next;\n setEdit(next);\n }, []);\n const isPrinting = printing || domLayout === \"print\";\n const naturalHeight = isPrinting || domLayout === \"autoHeight\";\n const searchText = quickFilterText ?? tableOptions?.state?.globalFilter ?? (hasSearch ? search : initialSearch);\n const showCheckboxes = !!rowSelection && rowSelection.checkboxes !== false && !isPrinting;\n const showExpanders = !!renderSubComponent && !isPrinting;\n const expanderWidth = showExpanders ? 44 : 0;\n const selectionWidth = (showCheckboxes ? 44 : 0) + expanderWidth;\n const { table, definitionsById, sourcesById, data, rowIndices, resolveId } = useDataTableInstance({\n rowData,\n columnDefs,\n defaultColDef,\n getRowId,\n paginationPageSize,\n tableOptions,\n externalFilter,\n rowSelection,\n pagination,\n renderSubComponent,\n getRowCanExpand,\n onQuickFilterTextChange,\n patches,\n alignment,\n isPrinting,\n viewportWidth,\n selectionWidth,\n searchText,\n setSearch,\n });\n\n const visibleColumns = [...table.getStartVisibleLeafColumns(), ...table.getCenterVisibleLeafColumns(), ...table.getEndVisibleLeafColumns()].filter(\n column => column.id !== \"__external\" && (!isPrinting || !definitionsById.get(column.id)?.hideInPrint),\n );\n // Preview locally so canceled drags never update controlled or aligned table state.\n if (columnDrag) {\n const from = visibleColumns.findIndex(column => column.id === columnDrag.sourceId);\n const to = visibleColumns.findIndex(column => column.id === columnDrag.targetId);\n if (from >= 0 && to >= 0) visibleColumns.splice(to, 0, visibleColumns.splice(from, 1)[0]);\n }\n const widths = new Map(visibleColumns.map(column => [column.id, column.getSize()]));\n const totalWidth = selectionWidth + visibleColumns.reduce((sum, column) => sum + widths.get(column.id)!, 0);\n const topRows = table.getTopRows();\n const bottomRows = table.getBottomRows();\n const pinnedIds = new Set([...topRows, ...bottomRows].map(row => row.id));\n const centerRows = (isPrinting ? table.getPrePaginatedRowModel().rows : table.getRowModel().rows).filter(row => !pinnedIds.has(row.id));\n const isDetailExpanded = (row: DataTableRow<T>) => !!renderSubComponent && row.getCanExpand() && row.getIsExpanded();\n // Detail panels can have arbitrary height. Resume fixed-height virtualization when all visible panels close.\n const hasExpandedDetails = [...topRows, ...centerRows, ...bottomRows].some(isDetailExpanded);\n const useVirtualRows = virtualize && !naturalHeight && !hasExpandedDetails;\n const topHeight = (topRows.length + pinnedTopRowData.length) * rowHeight;\n // This renderer opts out of React Compiler above; Virtual exposes a mutable measurement instance.\n // eslint-disable-next-line react-hooks/incompatible-library\n const virtualizer = useVirtualizer({\n count: centerRows.length,\n getScrollElement: () => viewportRef.current,\n estimateSize: () => rowHeight,\n getItemKey: index => centerRows[index].id,\n overscan,\n scrollMargin: topHeight,\n enabled: useVirtualRows,\n useFlushSync: false,\n });\n\n const runtime = React.useRef<DataTableRuntime<T>>({\n table,\n definitionsById,\n centerRows,\n virtualizer,\n resolveId,\n rowIndices,\n sourcesById,\n useVirtualRows,\n pagination,\n serverPagination: tableOptions?.manualPagination === true,\n });\n runtime.current = {\n table,\n definitionsById,\n centerRows,\n virtualizer,\n resolveId,\n rowIndices,\n sourcesById,\n useVirtualRows,\n pagination,\n serverPagination: tableOptions?.manualPagination === true,\n };\n const columnDragHandlers = useDataTableColumnDrag({ runtime, viewportRef, contentRef, setColumnDrag });\n const api = useDataTableApi({ runtime, editRef, configRef, updateEdit, setPatches, contentRef, viewportRef, setPrinting });\n React.useImperativeHandle(forwardedRef, () => api, [api]);\n\n React.useEffect(() => {\n setApi(api);\n return () => setApi(previous => (previous === api ? null : previous));\n }, [api, setApi]);\n const readyRef = React.useRef(onReady);\n readyRef.current = onReady;\n React.useEffect(() => {\n readyRef.current?.(api);\n }, [api]);\n const selectionCallback = React.useRef(onSelectionChanged);\n selectionCallback.current = onSelectionChanged;\n React.useEffect(() => {\n const current = runtime.current.table;\n const selected = current.getSelectedRowModel().rows.map(row => row.original);\n selectionCallback.current?.(selected, current.getSelectedRowIds());\n }, [table.state.rowSelection, data]);\n React.useEffect(() => {\n const current = runtime.current.table;\n const selectedCount = current.getSelectedRowIds().length;\n const pinnedCount = (current.state.rowPinning.top?.length ?? 0) + (current.state.rowPinning.bottom?.length ?? 0);\n setCounts(previous =>\n previous.selectedCount === selectedCount && previous.pinnedCount === pinnedCount ? previous : { selectedCount, pinnedCount },\n );\n }, [table.state.rowSelection, table.state.rowPinning, setCounts]);\n React.useEffect(() => {\n const element = viewportRef.current;\n if (!element) return;\n const resize = () => setViewportWidth(element.clientWidth);\n resize();\n const observer = new ResizeObserver(resize);\n observer.observe(element);\n return () => observer.disconnect();\n }, []);\n React.useEffect(() => {\n const element = viewportRef.current;\n const viewports = alignment?.viewports.current;\n if (!element || !viewports) return;\n viewports.add(element);\n return () => {\n viewports.delete(element);\n };\n }, [alignment?.viewports]);\n React.useEffect(() => {\n if (editRef.current && sourcesById.get(editRef.current.rowId) !== editRef.current.source) {\n api.stopEditing(true);\n }\n setPatches(previous => {\n const entries = Object.entries(previous).filter(([id, patch]) => sourcesById.get(id) === patch.source);\n return entries.length === Object.keys(previous).length ? previous : Object.fromEntries(entries);\n });\n const current = runtime.current.table;\n if (!runtime.current.serverPagination) {\n // Locally owned datasets can discard deleted identities. Server pages retain unloaded selection IDs.\n const selection = current.atoms.rowSelection.get();\n const entries = Object.entries(selection).filter(([id]) => sourcesById.has(id));\n if (entries.length !== Object.keys(selection).length) current.setRowSelection(Object.fromEntries(entries));\n const pinning = current.atoms.rowPinning.get();\n const top = pinning.top?.filter(id => sourcesById.has(id));\n const bottom = pinning.bottom?.filter(id => sourcesById.has(id));\n if (top?.length !== pinning.top?.length || bottom?.length !== pinning.bottom?.length) current.setRowPinning({ top, bottom });\n }\n }, [sourcesById, api]);\n\n const navigableRows = [...topRows, ...centerRows, ...bottomRows];\n const displayedIds = [\n ...pinnedTopRowData.map((_, index) => `__summary_top_${index}`),\n ...topRows.map(row => row.id),\n ...centerRows.map(row => row.id),\n ...bottomRows.map(row => row.id),\n ...pinnedBottomRowData.map((_, index) => `__summary_bottom_${index}`),\n ];\n const expandedIds = new Set(navigableRows.filter(isDetailExpanded).map(row => row.id));\n let displayedRowCount = 0;\n const displayedIndices = new Map(\n displayedIds.map(id => {\n const index = displayedRowCount;\n displayedRowCount += expandedIds.has(id) ? 2 : 1;\n return [id, index];\n }),\n );\n const virtualItems = useVirtualRows ? virtualizer.getVirtualItems() : [];\n const renderedIds = useVirtualRows\n ? [\n ...displayedIds.slice(0, pinnedTopRowData.length + topRows.length),\n ...virtualItems.map(item => centerRows[item.index].id),\n ...bottomRows.map(row => row.id),\n ...pinnedBottomRowData.map((_, index) => `__summary_bottom_${index}`),\n ]\n : displayedIds;\n const activeCell = getActiveDataTableCell(\n focusedCell,\n renderedIds,\n visibleColumns.map(column => column.id),\n );\n\n useDataTableMotion(viewportRef, JSON.stringify(centerRows.map(row => row.id)), JSON.stringify(visibleColumns.map(column => column.id)), isPrinting);\n\n const columnStyle = (column: Column<DataTableFeatures, T>, header = false): React.CSSProperties => {\n const pinned = isPrinting ? false : column.getIsPinned();\n const region = visibleColumns.filter(item => item.getIsPinned() === pinned);\n const index = region.findIndex(item => item.id === column.id);\n const start = region.slice(0, index).reduce((sum, item) => sum + widths.get(item.id)!, selectionWidth);\n const end = region.slice(index + 1).reduce((sum, item) => sum + widths.get(item.id)!, 0);\n return {\n width: widths.get(column.id),\n flexShrink: 0,\n position: pinned ? \"sticky\" : \"relative\",\n insetInlineStart: pinned === \"start\" ? start : undefined,\n insetInlineEnd: pinned === \"end\" ? end : undefined,\n zIndex: pinned ? 2 : undefined,\n background: pinned ? (header ? \"oklch(var(--mtx-primary-50))\" : \"inherit\") : undefined,\n };\n };\n\n const handleCellKeyDown = (event: React.KeyboardEvent, row: DataTableRow<T>, column: Column<DataTableFeatures, T>) => {\n if (event.defaultPrevented) return;\n if (event.key === \"Escape\" && editRef.current) {\n event.preventDefault();\n api.stopEditing(true);\n return;\n }\n if (event.key === \"Enter\" && editRef.current) {\n // Editors own activation and multiline input; plain text/number inputs still commit on Enter.\n if ((event.target as HTMLElement).closest(\"button,select,textarea,[contenteditable=true],[role=combobox],[role=listbox]\")) return;\n event.preventDefault();\n api.stopEditing();\n return;\n }\n const target = event.target as HTMLElement;\n if (target.closest(\"input,select,textarea,button,[contenteditable=true]\")) return;\n if (event.key === \"Enter\" || event.key === \"F2\") {\n event.preventDefault();\n if (editType === \"fullRow\") api.startEditingRow(row.id);\n else api.startEditingCell({ rowId: row.id, columnId: column.id });\n return;\n }\n const rowIndex = navigableRows.findIndex(item => item.id === row.id);\n const columnIndex = visibleColumns.findIndex(item => item.id === column.id);\n const nextRow = event.key === \"ArrowDown\" ? rowIndex + 1 : event.key === \"ArrowUp\" ? rowIndex - 1 : rowIndex;\n const horizontalStep = getComputedStyle(event.currentTarget).direction === \"rtl\" ? -1 : 1;\n const nextColumn =\n event.key === \"ArrowRight\" ? columnIndex + horizontalStep : event.key === \"ArrowLeft\" ? columnIndex - horizontalStep : columnIndex;\n if ([\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].includes(event.key) && navigableRows[nextRow] && visibleColumns[nextColumn]) {\n event.preventDefault();\n const targetRow = navigableRows[nextRow];\n if (!pinnedIds.has(targetRow.id)) api.scrollToRow(targetRow.id);\n api.focusCell(targetRow.id, visibleColumns[nextColumn].id);\n }\n };\n\n const renderRow = (data: T, rowId: string, index: number, row?: DataTableRow<T>, pinned?: \"top\" | \"bottom\") => (\n <DataTableRowView\n key={rowId}\n {...{\n data,\n rowId,\n index,\n row,\n pinned,\n edit,\n editRef,\n updateEdit,\n api,\n table,\n detailId,\n displayedIndices,\n rowSelection,\n rowHeight,\n totalWidth,\n getRowClass,\n rowClassRules,\n onRowClick,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n visibleColumns,\n definitionsById,\n activeCell,\n setFocusedCell,\n columnStyle,\n handleCellKeyDown,\n suppressClickEdit,\n editType,\n renderSubComponent,\n isDetailExpanded,\n }}\n />\n );\n\n const selectionRows = (\n rowSelection?.selectAll === \"all\"\n ? table.getCoreRowModel()\n : rowSelection?.selectAll === \"currentPage\"\n ? table.getRowModel()\n : table.getFilteredRowModel()\n ).rows.filter(row => row.getCanSelect());\n const selectedInScope = selectionRows.filter(row => row.getIsSelected()).length;\n return (\n <DragDropProvider sensors={dataTableColumnSensors} {...columnDragHandlers}>\n <DragOverlay dropAnimation={null} style={{ position: \"fixed\", pointerEvents: \"none\" }}>\n {source => {\n const definition = definitionsById.get(source.data.columnId);\n return (\n <div className=\"mtx-rounded-sm mtx-border mtx-border-gray-200 mtx-bg-primary-50 mtx-px-3 mtx-py-2 mtx-text-xs mtx-font-bold mtx-shadow-md\">\n {definition?.headerName ?? source.data.columnId}\n </div>\n );\n }}\n </DragOverlay>\n <div\n ref={contentRef}\n data-data-table-content=\"\"\n data-print-layout={isPrinting || undefined}\n className={cn(\"mtx-relative mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-rounded-b-lg\", className)}\n style={style}\n {...props}\n >\n {edit && (\n <div data-print-hidden=\"\" className=\"mtx-flex mtx-shrink-0 mtx-items-center mtx-gap-2 mtx-border-b mtx-border-gray-200 mtx-p-2\">\n <Button type=\"button\" size=\"sm\" onClick={() => api.stopEditing()}>\n Save\n </Button>\n <Button type=\"button\" size=\"sm\" variant=\"text\" onClick={() => api.stopEditing(true)}>\n Cancel\n </Button>\n {edit.errors.length > 0 && (\n <span role=\"alert\" className=\"mtx-text-danger\">\n {edit.errors.join(\". \")}\n </span>\n )}\n </div>\n )}\n <div\n role=\"grid\"\n aria-label={props[\"aria-label\"] ?? \"Data table\"}\n aria-busy={loading}\n aria-rowcount={displayedRowCount + 1}\n aria-colcount={visibleColumns.length + (showCheckboxes ? 1 : 0) + (showExpanders ? 1 : 0)}\n aria-multiselectable={rowSelection?.mode === \"multiRow\" || undefined}\n className=\"mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col\"\n >\n <div className=\"mtx-shrink-0 mtx-bg-primary-50\">\n <div\n ref={headerViewportRef}\n style={{ overflow: isPrinting ? \"visible\" : \"hidden\", width: isPrinting ? \"100%\" : viewportWidth || \"100%\" }}\n onScroll={event => {\n const synchronized = synchronizedHeaderScroll.current === event.currentTarget.scrollLeft;\n synchronizedHeaderScroll.current = null;\n if (synchronized) return;\n if (!isPrinting && viewportRef.current) viewportRef.current.scrollLeft = event.currentTarget.scrollLeft;\n }}\n >\n <DataTableHeader\n {...{\n table,\n api,\n headerHeight,\n totalWidth,\n isPrinting,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n rowSelection,\n selectionRows,\n selectedInScope,\n visibleColumns,\n definitionsById,\n columnStyle,\n widths,\n }}\n />\n </div>\n </div>\n <div\n ref={viewportRef}\n data-data-table-viewport=\"\"\n className=\"mtx-relative mtx-min-h-0 mtx-flex-1 mtx-rounded-b-lg\"\n style={{\n ...containerStyle,\n overflow: naturalHeight ? \"visible\" : (containerStyle?.overflow ?? \"auto\"),\n overflowX: isPrinting ? \"visible\" : suppressHorizontalScroll ? \"hidden\" : containerStyle?.overflowX,\n }}\n onScroll={event => {\n const viewport = event.currentTarget;\n const header = headerViewportRef.current;\n if (header && header.scrollLeft !== viewport.scrollLeft) {\n header.scrollLeft = viewport.scrollLeft;\n synchronizedHeaderScroll.current = header.scrollLeft;\n }\n const synchronized = alignment?.synchronizedScrolls.current.get(viewport) === viewport.scrollLeft;\n alignment?.synchronizedScrolls.current.delete(viewport);\n if (alignment && !isPrinting && !synchronized)\n for (const element of alignment.viewports.current) {\n if (element !== viewport && element.scrollLeft !== viewport.scrollLeft) {\n element.scrollLeft = viewport.scrollLeft;\n alignment.synchronizedScrolls.current.set(element, element.scrollLeft);\n }\n }\n }}\n >\n {(topRows.length > 0 || pinnedTopRowData.length > 0) && (\n <div\n role=\"rowgroup\"\n className=\"mtx-sticky mtx-z-20\"\n style={{ top: isPrinting ? undefined : 0, position: isPrinting ? \"relative\" : \"sticky\" }}\n >\n {pinnedTopRowData.map((row, index) => renderRow(row, `__summary_top_${index}`, index, undefined, \"top\"))}\n {topRows.map(row => renderRow(row.original, row.id, row.index, row, \"top\"))}\n </div>\n )}\n <div role=\"rowgroup\">\n {useVirtualRows ? (\n <div style={{ height: virtualizer.getTotalSize(), position: \"relative\", width: totalWidth, minWidth: \"100%\" }}>\n {virtualItems.map(item => {\n const row = centerRows[item.index];\n return (\n <div key={row.id} style={{ position: \"absolute\", top: 0, width: \"100%\", transform: `translateY(${item.start - topHeight}px)` }}>\n {renderRow(row.original, row.id, rowIndices.get(row.original) ?? row.index, row)}\n </div>\n );\n })}\n </div>\n ) : (\n centerRows.map(row => renderRow(row.original, row.id, rowIndices.get(row.original) ?? row.index, row))\n )}\n </div>\n {(bottomRows.length > 0 || pinnedBottomRowData.length > 0) && (\n <div role=\"rowgroup\" className=\"mtx-sticky mtx-bottom-0 mtx-z-20\" style={{ position: isPrinting ? \"relative\" : \"sticky\" }}>\n {bottomRows.map(row => renderRow(row.original, row.id, row.index, row, \"bottom\"))}\n {pinnedBottomRowData.map((row, index) => renderRow(row, `__summary_bottom_${index}`, index, undefined, \"bottom\"))}\n </div>\n )}\n {(loading || (!centerRows.length && !topRows.length && !bottomRows.length)) && (\n <div\n role=\"status\"\n className={cn(\n \"mtx-flex mtx-items-center mtx-justify-center mtx-p-6 mtx-text-text-300\",\n loading && \"mtx-absolute mtx-top-0 mtx-start-0 mtx-z-50 mtx-h-full mtx-w-full mtx-bg-gray-100/25\",\n )}\n >\n {loading ? loadingContent : emptyContent}\n </div>\n )}\n </div>\n </div>\n {pagination && !isPrinting && <DataTablePagination table={table} paginationPageSizeSelector={paginationPageSizeSelector} />}\n </div>\n </DragDropProvider>\n );\n}\n\nconst DataTableContent = React.forwardRef(DataTableContentInner) as <T extends object>(\n props: DataTableContentProps<T> & { ref?: React.ForwardedRef<DataTableApi<T>> },\n) => React.ReactElement;\n(DataTableContent as { displayName?: string }).displayName = \"DataTableContent\";\n\nexport { DataTableContent };\n"],"names":["emptyRows","emptyColumn","DataTableContentInner","rowData","columnDefs","defaultColDef","getRowId","onReady","rowSelection","renderSubComponent","getRowCanExpand","onSelectionChanged","quickFilterText","onQuickFilterTextChange","externalFilter","loading","emptyContent","loadingContent","rowHeight","headerHeight","getRowClass","rowClassRules","pinnedTopRowData","pinnedBottomRowData","pagination","paginationPageSize","paginationPageSizeSelector","virtualize","overscan","domLayout","suppressHorizontalScroll","editType","suppressClickEdit","readOnlyEdit","validateRow","onEditCommit","onEditRequest","onEditCancel","onRowClick","tableOptions","containerStyle","className","style","props","forwardedRef","setApi","search","hasSearch","setSearch","setCounts","useDataTable","alignment","React","DataTableAlignmentContext","detailId","viewportRef","headerViewportRef","synchronizedHeaderScroll","contentRef","viewportWidth","setViewportWidth","printing","setPrinting","columnDrag","setColumnDrag","focusedCell","setFocusedCell","patches","setPatches","edit","setEdit","initialSearch","editRef","configRef","updateEdit","next","isPrinting","naturalHeight","searchText","showCheckboxes","showExpanders","expanderWidth","selectionWidth","table","definitionsById","sourcesById","data","rowIndices","resolveId","useDataTableInstance","visibleColumns","column","from","to","widths","totalWidth","sum","topRows","bottomRows","pinnedIds","row","centerRows","isDetailExpanded","hasExpandedDetails","useVirtualRows","topHeight","virtualizer","useVirtualizer","index","runtime","columnDragHandlers","useDataTableColumnDrag","api","useDataTableApi","previous","readyRef","selectionCallback","current","selected","selectedCount","pinnedCount","element","resize","observer","viewports","entries","id","patch","selection","pinning","top","bottom","navigableRows","displayedIds","_","expandedIds","displayedRowCount","displayedIndices","virtualItems","renderedIds","item","activeCell","getActiveDataTableCell","useDataTableMotion","columnStyle","header","pinned","region","start","end","handleCellKeyDown","event","rowIndex","columnIndex","nextRow","horizontalStep","nextColumn","targetRow","renderRow","rowId","jsx","DataTableRowView","selectionRows","selectedInScope","jsxs","DragDropProvider","dataTableColumnSensors","DragOverlay","source","definition","cn","Button","synchronized","DataTableHeader","viewport","DataTablePagination","DataTableContent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"datatablecontext.es.js","sources":["../src/components/data-table/DataTableContext.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport type { DataTableApi, DataTableState } from \"./DataTable.types\";\n\ntype DataTableContextValue = {\n api: DataTableApi<any> | null;\n setApi: React.Dispatch<React.SetStateAction<DataTableApi<any> | null>>;\n search: string | undefined;\n setSearch: (value: string) => void;\n selectedCount: number;\n pinnedCount: number;\n setCounts: React.Dispatch<React.SetStateAction<{ selectedCount: number; pinnedCount: number }>>;\n};\n\nexport const DataTableContext = React.createContext<DataTableContextValue | null>(null);\n\nexport function useDataTable<T extends object = Record<string, unknown>>() {\n const context = React.useContext(DataTableContext);\n if (!context) throw new Error(\"DataTable components must be used within <DataTable>.\");\n // An untouched search can use the content's initial filter; an explicit empty search clears it.\n return { ...context, search: context.search ?? \"\", hasSearch: context.search !== undefined, api: context.api as DataTableApi<T> | null };\n}\n\nexport type AlignmentState = Pick<DataTableState, \"columnSizing\" | \"columnOrder\" | \"columnPinning\" | \"columnVisibility\">;\ntype AlignmentContextValue = {\n state: Partial<AlignmentState>;\n setState: React.Dispatch<React.SetStateAction<Partial<AlignmentState>>>;\n viewports: React.MutableRefObject<Set<HTMLDivElement>>;\n};\n\nexport const DataTableAlignmentContext = React.createContext<AlignmentContextValue | null>(null);\n"],"names":["DataTableContext","React","useDataTable","context","DataTableAlignmentContext"],"mappings":";AAgBO,MAAMA,IAAmBC,EAAM,cAA4C,IAAI;AAE/E,SAASC,IAA2D;AACzE,QAAMC,IAAUF,EAAM,WAAWD,CAAgB;AACjD,MAAI,CAACG,EAAS,OAAM,IAAI,MAAM,uDAAuD;AAErF,SAAO,EAAE,GAAGA,GAAS,QAAQA,EAAQ,UAAU,IAAI,WAAWA,EAAQ,WAAW,QAAW,KAAKA,EAAQ,IAAA;AAC3G;AASO,MAAMC,IAA4BH,EAAM,cAA4C,IAAI;"}
1
+ {"version":3,"file":"datatablecontext.es.js","sources":["../src/components/data-table/DataTableContext.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport type { DataTableApi, DataTableState } from \"./DataTable.types\";\n\ntype DataTableContextValue = {\n api: DataTableApi<any> | null;\n setApi: React.Dispatch<React.SetStateAction<DataTableApi<any> | null>>;\n search: string | undefined;\n setSearch: (value: string) => void;\n selectedCount: number;\n pinnedCount: number;\n setCounts: React.Dispatch<React.SetStateAction<{ selectedCount: number; pinnedCount: number }>>;\n};\n\nexport const DataTableContext = React.createContext<DataTableContextValue | null>(null);\n\nexport function useDataTable<T extends object = Record<string, unknown>>() {\n const context = React.useContext(DataTableContext);\n if (!context) throw new Error(\"DataTable components must be used within <DataTable>.\");\n // An untouched search can use the content's initial filter; an explicit empty search clears it.\n return { ...context, search: context.search ?? \"\", hasSearch: context.search !== undefined, api: context.api as DataTableApi<T> | null };\n}\n\nexport type AlignmentState = Pick<DataTableState, \"columnSizing\" | \"columnOrder\" | \"columnPinning\" | \"columnVisibility\">;\ntype AlignmentContextValue = {\n state: Partial<AlignmentState>;\n setState: React.Dispatch<React.SetStateAction<Partial<AlignmentState>>>;\n viewports: React.MutableRefObject<Set<HTMLDivElement>>;\n synchronizedScrolls: React.MutableRefObject<WeakMap<HTMLDivElement, number>>;\n};\n\nexport const DataTableAlignmentContext = React.createContext<AlignmentContextValue | null>(null);\n"],"names":["DataTableContext","React","useDataTable","context","DataTableAlignmentContext"],"mappings":";AAgBO,MAAMA,IAAmBC,EAAM,cAA4C,IAAI;AAE/E,SAASC,IAA2D;AACzE,QAAMC,IAAUF,EAAM,WAAWD,CAAgB;AACjD,MAAI,CAACG,EAAS,OAAM,IAAI,MAAM,uDAAuD;AAErF,SAAO,EAAE,GAAGA,GAAS,QAAQA,EAAQ,UAAU,IAAI,WAAWA,EAAQ,WAAW,QAAW,KAAKA,EAAQ,IAAA;AAC3G;AAUO,MAAMC,IAA4BH,EAAM,cAA4C,IAAI;"}
@@ -46,6 +46,7 @@ function I({
46
46
  C,
47
47
  {
48
48
  "aria-label": "Select all rows",
49
+ className: "mtx-bg-gray-0",
49
50
  disabled: !s.length,
50
51
  checked: s.length > 0 && g === s.length ? !0 : g > 0 ? "indeterminate" : !1,
51
52
  onCheckedChange: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"datatableheader.es.js","sources":["../src/components/data-table/DataTableHeader.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type { Column } from \"@tanstack/react-table\";\nimport { Checkbox } from \"../checkbox/Checkbox\";\nimport { cn } from \"../../lib/utils\";\nimport { DataTableColumnHeader } from \"./DataTableColumnHeader\";\nimport { DataTableColumnMenu } from \"./DataTableColumnMenu\";\nimport type { DataTableApi, DataTableColumnDef, DataTableContentProps, DataTableFeatures, DataTableInstance, DataTableRow } from \"./DataTable.types\";\n\ntype DataTableHeaderProps<T extends object> = Pick<DataTableContentProps<T>, \"rowSelection\"> & {\n table: DataTableInstance<T>;\n api: DataTableApi<T>;\n headerHeight: number;\n totalWidth: number;\n isPrinting: boolean;\n showExpanders: boolean;\n expanderWidth: number;\n showCheckboxes: boolean;\n selectionRows: DataTableRow<T>[];\n selectedInScope: number;\n visibleColumns: Column<DataTableFeatures, T>[];\n definitionsById: Map<string, DataTableColumnDef<T>>;\n columnStyle: (column: Column<DataTableFeatures, T>, header?: boolean) => React.CSSProperties;\n widths: Map<string, number>;\n};\n\nexport function DataTableHeader<T extends object>({\n table,\n api,\n headerHeight,\n totalWidth,\n isPrinting,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n rowSelection,\n selectionRows,\n selectedInScope,\n visibleColumns,\n definitionsById,\n columnStyle,\n widths,\n}: DataTableHeaderProps<T>) {\n return (\n <div\n role=\"row\"\n className=\"mtx-sticky mtx-top-0 mtx-z-30 mtx-flex mtx-rounded-t-[inherit] mtx-border-b mtx-border-gray-200 mtx-bg-primary-50 mtx-font-bold\"\n style={{ height: headerHeight, width: totalWidth, minWidth: \"100%\", position: isPrinting ? \"relative\" : \"sticky\" }}\n >\n {showExpanders && (\n <div\n role=\"columnheader\"\n aria-label=\"Row details\"\n className=\"mtx-sticky mtx-start-0 mtx-z-10 mtx-shrink-0 mtx-bg-primary-50\"\n style={{ width: expanderWidth }}\n />\n )}\n {showCheckboxes && (\n <div\n role=\"columnheader\"\n className=\"mtx-sticky mtx-start-0 mtx-z-10 mtx-flex mtx-shrink-0 mtx-items-center mtx-justify-center mtx-bg-primary-50\"\n style={{ width: 44, insetInlineStart: expanderWidth }}\n >\n {rowSelection?.mode === \"multiRow\" && (\n <Checkbox\n aria-label=\"Select all rows\"\n disabled={!selectionRows.length}\n checked={selectionRows.length > 0 && selectedInScope === selectionRows.length ? true : selectedInScope > 0 ? \"indeterminate\" : false}\n onCheckedChange={checked => {\n if (checked === true) api.selectAll(rowSelection.selectAll);\n else\n table.setRowSelection(previous =>\n Object.fromEntries(Object.entries(previous).filter(([id]) => !selectionRows.some(row => row.id === id))),\n );\n }}\n />\n )}\n </div>\n )}\n {visibleColumns.map(column => {\n const definition = definitionsById.get(column.id)!;\n const header = table.getFlatHeaders().find(item => item.column.id === column.id)!;\n const sorted = column.getIsSorted();\n return (\n <DataTableColumnHeader\n key={column.id}\n columnId={column.id}\n label={typeof definition.headerName === \"string\" ? definition.headerName : column.id}\n region={column.getIsPinned()}\n disabled={isPrinting}\n aria-sort={sorted === \"asc\" ? \"ascending\" : sorted === \"desc\" ? \"descending\" : \"none\"}\n className={cn(\n \"mtx-relative mtx-flex mtx-min-w-0 mtx-items-center mtx-gap-1 mtx-px-3\",\n definition.align === \"end\" && \"mtx-flex-row-reverse\",\n )}\n style={columnStyle(column, true)}\n >\n <button\n type=\"button\"\n data-column-sort=\"\"\n disabled={isPrinting}\n aria-disabled={!column.getCanSort() || undefined}\n onClick={event => {\n if (!event.defaultPrevented && column.getCanSort()) column.getToggleSortingHandler()?.(event);\n }}\n className={cn(\n \"mtx-flex mtx-min-w-0 mtx-flex-1 mtx-cursor-inherit mtx-items-center mtx-gap-1 mtx-text-start disabled:mtx-cursor-default\",\n definition.align === \"end\" && \"mtx-flex-row-reverse mtx-text-end\",\n )}\n aria-label={`Sort ${typeof definition.headerName === \"string\" ? definition.headerName : column.id}`}\n >\n <span className=\"mtx-truncate\">{definition.headerName ?? column.id}</span>\n {sorted && (\n <span aria-hidden=\"true\">\n {sorted === \"asc\" ? \"↑\" : \"↓\"}\n {table.state.sorting.length > 1 ? column.getSortIndex() + 1 : \"\"}\n </span>\n )}\n </button>\n {!isPrinting && <DataTableColumnMenu table={table} column={column} definition={definition} />}\n {!isPrinting && column.getCanResize() && (\n <div\n role=\"separator\"\n data-column-drag-ignore=\"\"\n aria-label={`Resize ${column.id}`}\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"mtx-absolute mtx-inset-y-3 mtx-end-0 mtx-w-2 mtx-cursor-col-resize mtx-touch-none after:mtx-bg-gray-400/70 after:mtx-w-0.5 after:mtx-h-full after:mtx-block after:mtx-absolute after:mtx-start-1/2 after:-mtx-translate-x-1/2\"\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n onDoubleClick={() => column.resetSize()}\n onKeyDown={event => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n table.setColumnSizing(previous => ({\n ...previous,\n [column.id]: (widths.get(column.id) ?? column.getSize()) + (event.key === \"ArrowRight\" ? 10 : -10),\n }));\n }\n }}\n />\n )}\n </DataTableColumnHeader>\n );\n })}\n </div>\n );\n}\n"],"names":["DataTableHeader","table","api","headerHeight","totalWidth","isPrinting","showExpanders","expanderWidth","showCheckboxes","rowSelection","selectionRows","selectedInScope","visibleColumns","definitionsById","columnStyle","widths","jsxs","jsx","Checkbox","checked","previous","id","row","column","definition","header","item","sorted","DataTableColumnHeader","cn","event","DataTableColumnMenu"],"mappings":"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"}
1
+ {"version":3,"file":"datatableheader.es.js","sources":["../src/components/data-table/DataTableHeader.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport type { Column } from \"@tanstack/react-table\";\nimport { Checkbox } from \"../checkbox/Checkbox\";\nimport { cn } from \"../../lib/utils\";\nimport { DataTableColumnHeader } from \"./DataTableColumnHeader\";\nimport { DataTableColumnMenu } from \"./DataTableColumnMenu\";\nimport type { DataTableApi, DataTableColumnDef, DataTableContentProps, DataTableFeatures, DataTableInstance, DataTableRow } from \"./DataTable.types\";\n\ntype DataTableHeaderProps<T extends object> = Pick<DataTableContentProps<T>, \"rowSelection\"> & {\n table: DataTableInstance<T>;\n api: DataTableApi<T>;\n headerHeight: number;\n totalWidth: number;\n isPrinting: boolean;\n showExpanders: boolean;\n expanderWidth: number;\n showCheckboxes: boolean;\n selectionRows: DataTableRow<T>[];\n selectedInScope: number;\n visibleColumns: Column<DataTableFeatures, T>[];\n definitionsById: Map<string, DataTableColumnDef<T>>;\n columnStyle: (column: Column<DataTableFeatures, T>, header?: boolean) => React.CSSProperties;\n widths: Map<string, number>;\n};\n\nexport function DataTableHeader<T extends object>({\n table,\n api,\n headerHeight,\n totalWidth,\n isPrinting,\n showExpanders,\n expanderWidth,\n showCheckboxes,\n rowSelection,\n selectionRows,\n selectedInScope,\n visibleColumns,\n definitionsById,\n columnStyle,\n widths,\n}: DataTableHeaderProps<T>) {\n return (\n <div\n role=\"row\"\n className=\"mtx-sticky mtx-top-0 mtx-z-30 mtx-flex mtx-rounded-t-[inherit] mtx-border-b mtx-border-gray-200 mtx-bg-primary-50 mtx-font-bold\"\n style={{ height: headerHeight, width: totalWidth, minWidth: \"100%\", position: isPrinting ? \"relative\" : \"sticky\" }}\n >\n {showExpanders && (\n <div\n role=\"columnheader\"\n aria-label=\"Row details\"\n className=\"mtx-sticky mtx-start-0 mtx-z-10 mtx-shrink-0 mtx-bg-primary-50\"\n style={{ width: expanderWidth }}\n />\n )}\n {showCheckboxes && (\n <div\n role=\"columnheader\"\n className=\"mtx-sticky mtx-start-0 mtx-z-10 mtx-flex mtx-shrink-0 mtx-items-center mtx-justify-center mtx-bg-primary-50\"\n style={{ width: 44, insetInlineStart: expanderWidth }}\n >\n {rowSelection?.mode === \"multiRow\" && (\n <Checkbox\n aria-label=\"Select all rows\"\n className=\"mtx-bg-gray-0\"\n disabled={!selectionRows.length}\n checked={selectionRows.length > 0 && selectedInScope === selectionRows.length ? true : selectedInScope > 0 ? \"indeterminate\" : false}\n onCheckedChange={checked => {\n if (checked === true) api.selectAll(rowSelection.selectAll);\n else\n table.setRowSelection(previous =>\n Object.fromEntries(Object.entries(previous).filter(([id]) => !selectionRows.some(row => row.id === id))),\n );\n }}\n />\n )}\n </div>\n )}\n {visibleColumns.map(column => {\n const definition = definitionsById.get(column.id)!;\n const header = table.getFlatHeaders().find(item => item.column.id === column.id)!;\n const sorted = column.getIsSorted();\n return (\n <DataTableColumnHeader\n key={column.id}\n columnId={column.id}\n label={typeof definition.headerName === \"string\" ? definition.headerName : column.id}\n region={column.getIsPinned()}\n disabled={isPrinting}\n aria-sort={sorted === \"asc\" ? \"ascending\" : sorted === \"desc\" ? \"descending\" : \"none\"}\n className={cn(\n \"mtx-relative mtx-flex mtx-min-w-0 mtx-items-center mtx-gap-1 mtx-px-3\",\n definition.align === \"end\" && \"mtx-flex-row-reverse\",\n )}\n style={columnStyle(column, true)}\n >\n <button\n type=\"button\"\n data-column-sort=\"\"\n disabled={isPrinting}\n aria-disabled={!column.getCanSort() || undefined}\n onClick={event => {\n if (!event.defaultPrevented && column.getCanSort()) column.getToggleSortingHandler()?.(event);\n }}\n className={cn(\n \"mtx-flex mtx-min-w-0 mtx-flex-1 mtx-cursor-inherit mtx-items-center mtx-gap-1 mtx-text-start disabled:mtx-cursor-default\",\n definition.align === \"end\" && \"mtx-flex-row-reverse mtx-text-end\",\n )}\n aria-label={`Sort ${typeof definition.headerName === \"string\" ? definition.headerName : column.id}`}\n >\n <span className=\"mtx-truncate\">{definition.headerName ?? column.id}</span>\n {sorted && (\n <span aria-hidden=\"true\">\n {sorted === \"asc\" ? \"↑\" : \"↓\"}\n {table.state.sorting.length > 1 ? column.getSortIndex() + 1 : \"\"}\n </span>\n )}\n </button>\n {!isPrinting && <DataTableColumnMenu table={table} column={column} definition={definition} />}\n {!isPrinting && column.getCanResize() && (\n <div\n role=\"separator\"\n data-column-drag-ignore=\"\"\n aria-label={`Resize ${column.id}`}\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"mtx-absolute mtx-inset-y-3 mtx-end-0 mtx-w-2 mtx-cursor-col-resize mtx-touch-none after:mtx-bg-gray-400/70 after:mtx-w-0.5 after:mtx-h-full after:mtx-block after:mtx-absolute after:mtx-start-1/2 after:-mtx-translate-x-1/2\"\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n onDoubleClick={() => column.resetSize()}\n onKeyDown={event => {\n if (event.key === \"ArrowRight\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n table.setColumnSizing(previous => ({\n ...previous,\n [column.id]: (widths.get(column.id) ?? column.getSize()) + (event.key === \"ArrowRight\" ? 10 : -10),\n }));\n }\n }}\n />\n )}\n </DataTableColumnHeader>\n );\n })}\n </div>\n );\n}\n"],"names":["DataTableHeader","table","api","headerHeight","totalWidth","isPrinting","showExpanders","expanderWidth","showCheckboxes","rowSelection","selectionRows","selectedInScope","visibleColumns","definitionsById","columnStyle","widths","jsxs","jsx","Checkbox","checked","previous","id","row","column","definition","header","item","sorted","DataTableColumnHeader","cn","event","DataTableColumnMenu"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "1.1.8-alpha.3",
5
+ "version": "1.1.8-alpha.4",
6
6
  "type": "module",
7
7
  "main": "dist/index.es.js",
8
8
  "module": "dist/index.es.js",