twico-ui 1.23.0 → 1.24.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,11 @@ 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). Implies `resizableFilters`. Each popover's size persists independently via `stateKey`
1829
+ * (`popoverSizes`). Great for a wide grid whose Columns list is otherwise capped. @default false */
1830
+ resizablePopovers?: boolean;
1826
1831
  /** Raise the drag cap for the filter panel's column/operator fields, in px (default col 360 / op 260) —
1827
1832
  * the #289-deferred "optional prop to raise the cap". Only affects `resizableFilters`. */
1828
1833
  filterFieldMaxWidth?: number;
@@ -2011,6 +2016,9 @@ interface DatatableQuery {
2011
2016
  * number columns emit =, !=, >, >=, <, <=. `value` is a `string[]` for `isAnyOf` and omitted for `isEmpty`/`isNotEmpty`.
2012
2017
  */
2013
2018
  filters: DatatableFilter[];
2019
+ /** #303: how the `filters` combine — `"and"` (all must match, default) or `"or"` (any match).
2020
+ * Omitted is treated as `"and"` for back-compat; group your server-side WHERE accordingly. */
2021
+ filterLogic?: "and" | "or";
2014
2022
  /** Quick-search text. */
2015
2023
  quickFilter: string;
2016
2024
  /** `field`s of the columns currently shown (in column order) — the built-in Columns menu
@@ -2034,6 +2042,8 @@ interface DatatableQuery {
2034
2042
  interface DatatableState {
2035
2043
  /** Active per-column filters (without the internal row id). */
2036
2044
  filters: DatatableFilter[];
2045
+ /** #303: filter connective for the whole set — `"and"` (default) or `"or"`. Absent = `"and"`. */
2046
+ filterLogic?: "and" | "or";
2037
2047
  /** Active sort, or null. */
2038
2048
  sort: { field: string; dir: "asc" | "desc" } | null;
2039
2049
  /** Quick-search text. */
@@ -2056,6 +2066,9 @@ interface DatatableState {
2056
2066
  filterPanelSize?: { w?: number; h?: number };
2057
2067
  /** #292: user-resized Filters field widths (px, panel-global — not per data column). Absent until dragged. */
2058
2068
  filterFieldWidths?: { col?: number; op?: number; val?: number };
2069
+ /** #304: user-resized sizes of the other toolbar popovers (Columns/Aggregation/Pivot/Batch-edit),
2070
+ * keyed by popover id → `{ w, h }` in px. Absent until a popover is dragged with `resizablePopovers`. */
2071
+ popoverSizes?: Record<string, { w?: number; h?: number }>;
2059
2072
  }
2060
2073
 
2061
2074
  interface DatatableColumn<T = any> {
package/dist/index.d.ts CHANGED
@@ -1823,6 +1823,11 @@ 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). Implies `resizableFilters`. Each popover's size persists independently via `stateKey`
1829
+ * (`popoverSizes`). Great for a wide grid whose Columns list is otherwise capped. @default false */
1830
+ resizablePopovers?: boolean;
1826
1831
  /** Raise the drag cap for the filter panel's column/operator fields, in px (default col 360 / op 260) —
1827
1832
  * the #289-deferred "optional prop to raise the cap". Only affects `resizableFilters`. */
1828
1833
  filterFieldMaxWidth?: number;
@@ -2011,6 +2016,9 @@ interface DatatableQuery {
2011
2016
  * number columns emit =, !=, >, >=, <, <=. `value` is a `string[]` for `isAnyOf` and omitted for `isEmpty`/`isNotEmpty`.
2012
2017
  */
2013
2018
  filters: DatatableFilter[];
2019
+ /** #303: how the `filters` combine — `"and"` (all must match, default) or `"or"` (any match).
2020
+ * Omitted is treated as `"and"` for back-compat; group your server-side WHERE accordingly. */
2021
+ filterLogic?: "and" | "or";
2014
2022
  /** Quick-search text. */
2015
2023
  quickFilter: string;
2016
2024
  /** `field`s of the columns currently shown (in column order) — the built-in Columns menu
@@ -2034,6 +2042,8 @@ interface DatatableQuery {
2034
2042
  interface DatatableState {
2035
2043
  /** Active per-column filters (without the internal row id). */
2036
2044
  filters: DatatableFilter[];
2045
+ /** #303: filter connective for the whole set — `"and"` (default) or `"or"`. Absent = `"and"`. */
2046
+ filterLogic?: "and" | "or";
2037
2047
  /** Active sort, or null. */
2038
2048
  sort: { field: string; dir: "asc" | "desc" } | null;
2039
2049
  /** Quick-search text. */
@@ -2056,6 +2066,9 @@ interface DatatableState {
2056
2066
  filterPanelSize?: { w?: number; h?: number };
2057
2067
  /** #292: user-resized Filters field widths (px, panel-global — not per data column). Absent until dragged. */
2058
2068
  filterFieldWidths?: { col?: number; op?: number; val?: number };
2069
+ /** #304: user-resized sizes of the other toolbar popovers (Columns/Aggregation/Pivot/Batch-edit),
2070
+ * keyed by popover id → `{ w, h }` in px. Absent until a popover is dragged with `resizablePopovers`. */
2071
+ popoverSizes?: Record<string, { w?: number; h?: number }>;
2059
2072
  }
2060
2073
 
2061
2074
  interface DatatableColumn<T = any> {