twico-ui 1.23.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1823,6 +1823,12 @@ interface DatatableProps<T = any> extends Omit<React.HTMLAttributes<HTMLDivEleme
1823
1823
  * size persist via `stateKey` and are keyboard-accessible. Set `false` to disable the handles/grip
1824
1824
  * (fields still auto-fit). @default true */
1825
1825
  resizableFilters?: boolean;
1826
+ /** #304: extend the drag-resize grip to the other toolbar popovers too — Columns, Aggregation, Pivot,
1827
+ * and Batch-edit — each with a corner grip + keyboard resize (Arrows, Home/End, Enter/double-click to
1828
+ * reset). Independent of `resizableFilters` (which controls the Filters panel): each defaults `true` and
1829
+ * can be turned off on its own. Each popover's size persists independently via `stateKey` (`popoverSizes`).
1830
+ * Great for a wide grid whose Columns list is otherwise capped. Set `false` to opt a grid out. @default true */
1831
+ resizablePopovers?: boolean;
1826
1832
  /** Raise the drag cap for the filter panel's column/operator fields, in px (default col 360 / op 260) —
1827
1833
  * the #289-deferred "optional prop to raise the cap". Only affects `resizableFilters`. */
1828
1834
  filterFieldMaxWidth?: number;
@@ -2011,6 +2017,9 @@ interface DatatableQuery {
2011
2017
  * number columns emit =, !=, >, >=, <, <=. `value` is a `string[]` for `isAnyOf` and omitted for `isEmpty`/`isNotEmpty`.
2012
2018
  */
2013
2019
  filters: DatatableFilter[];
2020
+ /** #303: how the `filters` combine — `"and"` (all must match, default) or `"or"` (any match).
2021
+ * Omitted is treated as `"and"` for back-compat; group your server-side WHERE accordingly. */
2022
+ filterLogic?: "and" | "or";
2014
2023
  /** Quick-search text. */
2015
2024
  quickFilter: string;
2016
2025
  /** `field`s of the columns currently shown (in column order) — the built-in Columns menu
@@ -2034,6 +2043,8 @@ interface DatatableQuery {
2034
2043
  interface DatatableState {
2035
2044
  /** Active per-column filters (without the internal row id). */
2036
2045
  filters: DatatableFilter[];
2046
+ /** #303: filter connective for the whole set — `"and"` (default) or `"or"`. Absent = `"and"`. */
2047
+ filterLogic?: "and" | "or";
2037
2048
  /** Active sort, or null. */
2038
2049
  sort: { field: string; dir: "asc" | "desc" } | null;
2039
2050
  /** Quick-search text. */
@@ -2056,6 +2067,9 @@ interface DatatableState {
2056
2067
  filterPanelSize?: { w?: number; h?: number };
2057
2068
  /** #292: user-resized Filters field widths (px, panel-global — not per data column). Absent until dragged. */
2058
2069
  filterFieldWidths?: { col?: number; op?: number; val?: number };
2070
+ /** #304: user-resized sizes of the other toolbar popovers (Columns/Aggregation/Pivot/Batch-edit),
2071
+ * keyed by popover id → `{ w, h }` in px. Absent until a popover is dragged with `resizablePopovers`. */
2072
+ popoverSizes?: Record<string, { w?: number; h?: number }>;
2059
2073
  }
2060
2074
 
2061
2075
  interface DatatableColumn<T = any> {
package/dist/index.d.ts CHANGED
@@ -1823,6 +1823,12 @@ interface DatatableProps<T = any> extends Omit<React.HTMLAttributes<HTMLDivEleme
1823
1823
  * size persist via `stateKey` and are keyboard-accessible. Set `false` to disable the handles/grip
1824
1824
  * (fields still auto-fit). @default true */
1825
1825
  resizableFilters?: boolean;
1826
+ /** #304: extend the drag-resize grip to the other toolbar popovers too — Columns, Aggregation, Pivot,
1827
+ * and Batch-edit — each with a corner grip + keyboard resize (Arrows, Home/End, Enter/double-click to
1828
+ * reset). Independent of `resizableFilters` (which controls the Filters panel): each defaults `true` and
1829
+ * can be turned off on its own. Each popover's size persists independently via `stateKey` (`popoverSizes`).
1830
+ * Great for a wide grid whose Columns list is otherwise capped. Set `false` to opt a grid out. @default true */
1831
+ resizablePopovers?: boolean;
1826
1832
  /** Raise the drag cap for the filter panel's column/operator fields, in px (default col 360 / op 260) —
1827
1833
  * the #289-deferred "optional prop to raise the cap". Only affects `resizableFilters`. */
1828
1834
  filterFieldMaxWidth?: number;
@@ -2011,6 +2017,9 @@ interface DatatableQuery {
2011
2017
  * number columns emit =, !=, >, >=, <, <=. `value` is a `string[]` for `isAnyOf` and omitted for `isEmpty`/`isNotEmpty`.
2012
2018
  */
2013
2019
  filters: DatatableFilter[];
2020
+ /** #303: how the `filters` combine — `"and"` (all must match, default) or `"or"` (any match).
2021
+ * Omitted is treated as `"and"` for back-compat; group your server-side WHERE accordingly. */
2022
+ filterLogic?: "and" | "or";
2014
2023
  /** Quick-search text. */
2015
2024
  quickFilter: string;
2016
2025
  /** `field`s of the columns currently shown (in column order) — the built-in Columns menu
@@ -2034,6 +2043,8 @@ interface DatatableQuery {
2034
2043
  interface DatatableState {
2035
2044
  /** Active per-column filters (without the internal row id). */
2036
2045
  filters: DatatableFilter[];
2046
+ /** #303: filter connective for the whole set — `"and"` (default) or `"or"`. Absent = `"and"`. */
2047
+ filterLogic?: "and" | "or";
2037
2048
  /** Active sort, or null. */
2038
2049
  sort: { field: string; dir: "asc" | "desc" } | null;
2039
2050
  /** Quick-search text. */
@@ -2056,6 +2067,9 @@ interface DatatableState {
2056
2067
  filterPanelSize?: { w?: number; h?: number };
2057
2068
  /** #292: user-resized Filters field widths (px, panel-global — not per data column). Absent until dragged. */
2058
2069
  filterFieldWidths?: { col?: number; op?: number; val?: number };
2070
+ /** #304: user-resized sizes of the other toolbar popovers (Columns/Aggregation/Pivot/Batch-edit),
2071
+ * keyed by popover id → `{ w, h }` in px. Absent until a popover is dragged with `resizablePopovers`. */
2072
+ popoverSizes?: Record<string, { w?: number; h?: number }>;
2059
2073
  }
2060
2074
 
2061
2075
  interface DatatableColumn<T = any> {