@nar-bus/ui-kit 1.24.1 → 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.
Files changed (43) hide show
  1. package/dist/{Button-BN_yX87x.js → Button-B_PvZOyI.js} +55 -35
  2. package/dist/atoms/Button.d.ts +6 -1
  3. package/dist/atoms/Button.d.ts.map +1 -1
  4. package/dist/hooks/useSelectListbox.d.ts.map +1 -1
  5. package/dist/i18n/en.json.d.ts +44 -2
  6. package/dist/i18n/resources.d.ts +84 -0
  7. package/dist/i18n/resources.d.ts.map +1 -1
  8. package/dist/i18n/resources.js +1 -1
  9. package/dist/i18n/tr.json.d.ts +44 -2
  10. package/dist/index.d.ts +4 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3502 -3191
  13. package/dist/map.js +1 -1
  14. package/dist/molecules/Combobox.d.ts +12 -1
  15. package/dist/molecules/Combobox.d.ts.map +1 -1
  16. package/dist/molecules/DateRangePicker.d.ts.map +1 -1
  17. package/dist/organisms/DataTable/DataTableColumnHeader.d.ts +3 -1
  18. package/dist/organisms/DataTable/DataTableColumnHeader.d.ts.map +1 -1
  19. package/dist/organisms/DataTable/DataTableHeader.d.ts +7 -1
  20. package/dist/organisms/DataTable/DataTableHeader.d.ts.map +1 -1
  21. package/dist/organisms/DataTable/DataTableRow.d.ts +3 -1
  22. package/dist/organisms/DataTable/DataTableRow.d.ts.map +1 -1
  23. package/dist/organisms/DataTable.d.ts +30 -2
  24. package/dist/organisms/DataTable.d.ts.map +1 -1
  25. package/dist/organisms/FilterPanel.d.ts +63 -1
  26. package/dist/organisms/FilterPanel.d.ts.map +1 -1
  27. package/dist/organisms/Toast.d.ts +34 -1
  28. package/dist/organisms/Toast.d.ts.map +1 -1
  29. package/dist/organisms/filterOperators.d.ts +69 -0
  30. package/dist/organisms/filterOperators.d.ts.map +1 -0
  31. package/dist/organisms/index.d.ts +2 -1
  32. package/dist/organisms/index.d.ts.map +1 -1
  33. package/dist/resources-C0sR9l8q.js +78 -0
  34. package/dist/templates/ListPageLayout.d.ts +5 -0
  35. package/dist/templates/ListPageLayout.d.ts.map +1 -1
  36. package/dist/theme.css +1 -1
  37. package/dist/ui-kit.css +1 -1
  38. package/dist/utils/index.d.ts +1 -0
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/dist/utils/searchFold.d.ts +8 -0
  41. package/dist/utils/searchFold.d.ts.map +1 -0
  42. package/package.json +1 -1
  43. package/dist/resources-8zHzwq1D.js +0 -78
package/dist/map.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
2
  import { useRef as f, useState as D, useEffect as U } from "react";
3
3
  import { useTranslation as T } from "react-i18next";
4
- import { a as h, B as V } from "./Button-BN_yX87x.js";
4
+ import { a as h, B as V } from "./Button-B_PvZOyI.js";
5
5
  function X() {
6
6
  if (typeof document > "u") return !1;
7
7
  try {
@@ -23,6 +23,17 @@ interface ComboboxPropsBase {
23
23
  * caller's `placeholder`. (NB-COMBO-CREATE-HINT-01)
24
24
  */
25
25
  createHint?: ReactNode;
26
+ /**
27
+ * ARIA forwarding — injected by FormField via cloneElement; written onto the
28
+ * `role="combobox"` trigger. Same contract as Select / DateRangePicker: the
29
+ * FormField `<label htmlFor>` now names the field and its error/hint text is
30
+ * announced. `aria-invalid` falls back to `!!error` when not given; an
31
+ * explicit value wins. (NB-COMBOBOX-ID-01)
32
+ */
33
+ "aria-invalid"?: boolean | "true" | "false";
34
+ "aria-describedby"?: string;
35
+ "aria-required"?: boolean | "true" | "false";
36
+ id?: string;
26
37
  }
27
38
  interface ComboboxPropsSingle extends ComboboxPropsBase {
28
39
  multiple?: false;
@@ -35,6 +46,6 @@ interface ComboboxPropsMultiple extends ComboboxPropsBase {
35
46
  onChange?: (value: string[]) => void;
36
47
  }
37
48
  export type ComboboxProps = ComboboxPropsSingle | ComboboxPropsMultiple;
38
- export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, multiple, disabled, error, loading, onSearch, className, creatable, createHint, }: ComboboxProps): import("react").JSX.Element;
49
+ export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, multiple, disabled, error, loading, onSearch, className, creatable, createHint, id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, "aria-required": ariaRequired, }: ComboboxProps): import("react").JSX.Element;
39
50
  export {};
40
51
  //# sourceMappingURL=Combobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/molecules/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,SAAS,EAAsC,MAAM,OAAO,CAAC;AAUrI,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAEjE,UAAU,iBAAiB;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC5E;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,UAAU,mBAAoB,SAAQ,iBAAiB;IAAG,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAAE;AACjI,UAAU,qBAAsB,SAAQ,iBAAiB;IAAG,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAAE;AACrI,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AA0NxE,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAgB,EAAE,iBAAiB,EAAE,QAAgB,EAC/E,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAiB,EAAE,UAAU,GAC7E,EAAE,aAAa,+BA0Jf"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/molecules/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,SAAS,EAAsC,MAAM,OAAO,CAAC;AAWrI,MAAM,WAAW,cAAc;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAEjE,UAAU,iBAAiB;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC5E;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AACD,UAAU,mBAAoB,SAAQ,iBAAiB;IAAG,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAAE;AACjI,UAAU,qBAAsB,SAAQ,iBAAiB;IAAG,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAAE;AACrI,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAsTxE,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAgB,EAAE,iBAAiB,EAAE,QAAgB,EAC/E,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAiB,EAAE,UAAU,EAC5E,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,GACpG,EAAE,aAAa,+BA2Kf"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DateRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA6BzG,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB;;oEAEgE;IAChE,KAAK,EAAE,MAAM,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;IACtC;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,mFAAmF;IACnF,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAc,EACd,GAAG,EACH,GAAG,EACH,QAAgB,EAChB,UAAqB,EACrB,UAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,YAAY,EAC7B,EAAE,GACH,EAAE,oBAAoB,+BAy0BtB"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../src/molecules/DateRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA6BzG,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,KAAK,EAAE,SAAS,CAAC;IACjB;;oEAEgE;IAChE,KAAK,EAAE,MAAM,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,CAAC;IACtC;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,mFAAmF;IACnF,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAc,EACd,GAAG,EACH,GAAG,EACH,QAAgB,EAChB,UAAqB,EACrB,UAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,eAAe,EAAE,YAAY,EAC7B,EAAE,GACH,EAAE,oBAAoB,+BA+1BtB"}
@@ -12,7 +12,9 @@ export interface DataTableColumnHeaderProps<TData, TValue> {
12
12
  * Title label for a `DataTable` column's `header` render function.
13
13
  *
14
14
  * `DataTable`'s own `<th>` already renders the sort arrow and owns the click/
15
- * keyboard handling for any column with `enableSorting` (default `true`) —
15
+ * keyboard handling for any column with `enableSorting` (default `true`) once
16
+ * the table's sort is bound (`sorting`+`onSortingChange` or `sortBy`+
17
+ * `onSortChange`; NB-DATATABLE-SORT-01) —
16
18
  * this component only renders the title text, so composing it inside
17
19
  * `header: ({ column }) => <DataTableColumnHeader column={column} title="X" />`
18
20
  * does not double up the arrow or the click zone.
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableColumnHeader.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableColumnHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,0BAA0B,CAAC,KAAK,EAAE,MAAM;IACvD,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;sEAEkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EACnD,KAAK,EACL,QAAe,EACf,SAAS,GACV,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,+BAI3C"}
1
+ {"version":3,"file":"DataTableColumnHeader.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableColumnHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,0BAA0B,CAAC,KAAK,EAAE,MAAM;IACvD,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;sEAEkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EACnD,KAAK,EACL,QAAe,EACf,SAAS,GACV,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,+BAI3C"}
@@ -2,7 +2,13 @@ import { HeaderGroup } from '@tanstack/react-table';
2
2
  interface DataTableHeaderProps<TData> {
3
3
  headerGroups: HeaderGroup<TData>[];
4
4
  stickyHeader?: boolean;
5
+ /** `false` when nobody listens to sort changes (NB-DATATABLE-SORT-01):
6
+ * headers drop the click/keyboard handling, the focus stop, the pointer and
7
+ * the neutral "sortable" arrow, and `aria-sort="none"` is not announced. A
8
+ * column the state already sorts keeps its direction arrow + `aria-sort`
9
+ * as a read-only indicator. */
10
+ sortingInteractive?: boolean;
5
11
  }
6
- export declare function DataTableHeader<TData>({ headerGroups, stickyHeader, }: DataTableHeaderProps<TData>): import("react").JSX.Element;
12
+ export declare function DataTableHeader<TData>({ headerGroups, stickyHeader, sortingInteractive, }: DataTableHeaderProps<TData>): import("react").JSX.Element;
7
13
  export {};
8
14
  //# sourceMappingURL=DataTableHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableHeader.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,uBAAuB,CAAC;AAQrE,UAAU,oBAAoB,CAAC,KAAK;IAClC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EACrC,YAAY,EACZ,YAAY,GACb,EAAE,oBAAoB,CAAC,KAAK,CAAC,+BAmE7B"}
1
+ {"version":3,"file":"DataTableHeader.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,uBAAuB,CAAC;AAQrE,UAAU,oBAAoB,CAAC,KAAK;IAClC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;oCAIgC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EACrC,YAAY,EACZ,YAAY,EACZ,kBAAyB,GAC1B,EAAE,oBAAoB,CAAC,KAAK,CAAC,+BAyE7B"}
@@ -3,8 +3,10 @@ interface DataTableRowProps<TData> {
3
3
  row: Row<TData>;
4
4
  rowHeight: number;
5
5
  onRowClick?: (row: TData) => void;
6
+ /** NB-DATATABLE-ROWCLICK-01 — per-row gate for `onRowClick`. */
7
+ isRowClickable?: (row: TData) => boolean;
6
8
  getRowAriaLabel?: (row: TData) => string;
7
9
  }
8
- export declare function DataTableRow<TData>({ row, rowHeight, onRowClick, getRowAriaLabel, }: DataTableRowProps<TData>): import("react").JSX.Element;
10
+ export declare function DataTableRow<TData>({ row, rowHeight, onRowClick, isRowClickable, getRowAriaLabel, }: DataTableRowProps<TData>): import("react").JSX.Element;
9
11
  export {};
10
12
  //# sourceMappingURL=DataTableRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRow.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,uBAAuB,CAAC;AAO7D,UAAU,iBAAiB,CAAC,KAAK;IAC/B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,EAClC,GAAG,EACH,SAAS,EACT,UAAU,EACV,eAAe,GAChB,EAAE,iBAAiB,CAAC,KAAK,CAAC,+BAmD1B"}
1
+ {"version":3,"file":"DataTableRow.d.ts","sourceRoot":"","sources":["../../../src/organisms/DataTable/DataTableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,uBAAuB,CAAC;AAO7D,UAAU,iBAAiB,CAAC,KAAK;IAC/B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,gEAAgE;IAChE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,EAClC,GAAG,EACH,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,GAChB,EAAE,iBAAiB,CAAC,KAAK,CAAC,+BA2D1B"}
@@ -49,6 +49,13 @@ export interface DataTableProps<TData> {
49
49
  label: string;
50
50
  onClick: () => void;
51
51
  };
52
+ /** Whether columns may be sorted (default `true`). **Not enough on its own:**
53
+ * DataTable keeps no sort state of its own (fully controlled), so a header
54
+ * only becomes clickable once a change is listened to — `sorting` +
55
+ * `onSortingChange` (e.g. from `useDataTable()`) or `sortBy` + `onSortChange`.
56
+ * Unbound, headers draw no click target, focus stop or "sortable" arrow;
57
+ * a `sorting`/`sortBy` given without a handler still orders the rows and
58
+ * marks the sorted column read-only (NB-DATATABLE-SORT-01). */
52
59
  enableSorting?: boolean;
53
60
  enableSelection?: boolean;
54
61
  enableVirtualScroll?: boolean;
@@ -58,10 +65,21 @@ export interface DataTableProps<TData> {
58
65
  onSortingChange?: OnChangeFn<SortingState>;
59
66
  /** Single-column server-sort alternative to `sorting`/`onSortingChange` —
60
67
  * when provided, takes precedence. Pair with `<DataTableColumnHeader>` in
61
- * a column's `header` render function. */
68
+ * a column's `header` render function. A header click always replaces the
69
+ * single sort and toggles ASC↔DESC (first direction: text → ASC, number →
70
+ * DESC, or the column's `sortDescFirst`); there is no "unsorted" step and
71
+ * no Shift+click multi-sort, since `onSortChange` can express neither. */
62
72
  sortBy?: string;
63
73
  sortDirection?: "ASC" | "DESC";
64
74
  onSortChange?: (sortBy: string, sortDirection: "ASC" | "DESC") => void;
75
+ /** `data` arrives already sorted (server-side sort): rows render in `data`
76
+ * order and the client-side sorted row model is not installed, while the
77
+ * header arrow and `aria-sort` still follow the sort state. Defaults to
78
+ * `true` in `sortBy` mode (a server sort by contract) and to `false` with
79
+ * `sorting`/`onSortingChange`, which also drives client-sorted tables (e.g.
80
+ * `useDataTable()` over a fully loaded list) — pass it explicitly to
81
+ * override either default (NB-DATATABLE-MANUALSORT-01). */
82
+ manualSorting?: boolean;
65
83
  rowSelection?: RowSelectionState;
66
84
  onRowSelectionChange?: OnChangeFn<RowSelectionState>;
67
85
  page?: number;
@@ -76,6 +94,16 @@ export interface DataTableProps<TData> {
76
94
  /** Per-row accessible label, set as `aria-label` on each row's `<tr>` (e.g.
77
95
  * screen-reader context on clickable rows). Omit for no label. */
78
96
  getRowAriaLabel?: (row: TData) => string;
97
+ /** Per-row gate for `onRowClick` (NB-DATATABLE-ROWCLICK-01): a row it
98
+ * returns `false` for is not interactive — no pointer, hover lift, focus
99
+ * stop, Enter/Space handling or `onRowClick` call. Ignored without
100
+ * `onRowClick`; omitted, every row stays clickable as before. */
101
+ isRowClickable?: (row: TData) => boolean;
102
+ /** Per-row gate for selection (needs `enableSelection`): a row it returns
103
+ * `false` for gets a disabled checkbox and is skipped by the header's
104
+ * "select all" (TanStack `enableRowSelection(row)`). Omitted, every row is
105
+ * selectable as before. */
106
+ isRowSelectable?: (row: TData) => boolean;
79
107
  className?: string;
80
108
  /** Optional accessible caption exposed via `<caption>` for screen readers. */
81
109
  caption?: string;
@@ -96,5 +124,5 @@ export interface DataTableProps<TData> {
96
124
  * Receives the current selected ids. Mirrors the `toolbarStart`/`toolbarEnd` slot pattern. */
97
125
  bulkActionsContent?: ReactNode | ((selectedIds: string[]) => ReactNode);
98
126
  }
99
- export declare function DataTable<TData>({ columns, data, loading, emptyTitle, emptyDescription, emptyAction, enableSorting, enableSelection, enableVirtualScroll, onRowClick, bulkActions, sorting, onSortingChange, sortBy, sortDirection, onSortChange, rowSelection, onRowSelectionChange, page, pageSize, total, pagination, onPageChange, onPageSizeChange, stickyHeader, getRowId, getRowAriaLabel, className, caption, density, rowActions, toolbarStart, toolbarEnd, toolbarVariant, bulkActionsLabel, bulkActionsContent, }: DataTableProps<TData>): import("react").JSX.Element;
127
+ export declare function DataTable<TData>({ columns, data, loading, emptyTitle, emptyDescription, emptyAction, enableSorting: enableSortingProp, enableSelection, enableVirtualScroll, onRowClick, bulkActions, sorting, onSortingChange, sortBy, sortDirection, onSortChange, manualSorting, rowSelection, onRowSelectionChange, page, pageSize, total, pagination, onPageChange, onPageSizeChange, stickyHeader, getRowId, getRowAriaLabel, isRowClickable, isRowSelectable, className, caption, density, rowActions, toolbarStart, toolbarEnd, toolbarVariant, bulkActionsLabel, bulkActionsContent, }: DataTableProps<TData>): import("react").JSX.Element;
100
128
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/organisms/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/organisms/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { SelectOption } from '../atoms/Select';
2
+ import { FilterOperatorCode } from './filterOperators';
2
3
  export type FilterFieldType = "text" | "select" | "date" | "daterange" | "number" | "boolean" | "combobox";
3
4
  export interface FilterField {
4
5
  key: string;
@@ -93,6 +94,38 @@ export interface FilterField {
93
94
  * full-width row under the grid — the compact choice for a narrow rail.
94
95
  */
95
96
  timeLayout?: "beside" | "below";
97
+ /**
98
+ * The operators this field's picker offers, in display order — narrows (or
99
+ * re-orders) the type's default menu, and is how a single field opts into the
100
+ * value-less `"IS_EMPTY"` / `"IS_NOT_EMPTY"` ("Boş" / "Boş Değil") without
101
+ * {@link FilterPanelProps.emptyOperators}. Unknown codes are ignored; an
102
+ * omitted or empty list keeps the type default. (NB-FILTER-EMPTY-OP-01)
103
+ *
104
+ * - The field's default operator stays the type default (`CONTAINS` for text,
105
+ * `"="` otherwise) when the list contains it, else the first value-taking
106
+ * code. A list made of value-less codes only gets the type default prepended,
107
+ * so a fresh field is never silently "active".
108
+ * - A list of ONE operator hides the picker (one choice needs no control); the
109
+ * field still emits that operator.
110
+ * - `type: "daterange"` honours only the value-less codes: its range is the
111
+ * implicit first choice ("Arasında" / "Between", emitted as the usual `>=` /
112
+ * `<=` bound pair), a value-less choice is emitted on the field's own `key`.
113
+ *
114
+ * The panel does not check that a code suits the field's type (`">"` on a
115
+ * text field) — that, like the wire mapping, is the caller's contract.
116
+ */
117
+ operators?: FilterOperatorCode[];
118
+ /**
119
+ * Show a per-field ✕ that clears ONLY this field from the draft — every type
120
+ * (text, number, select, combobox, date, daterange, boolean) and a value-less
121
+ * row alike. Like the chip ✕ it empties the value, drops a value-less
122
+ * operator back to the default (a value-taking one is kept) and resets the
123
+ * field's dependents; it does not Apply. The button is visible only while the
124
+ * field has something to clear, but its slot is always reserved so the input
125
+ * does not jump while typing. With `showChips={false}` it is the per-field
126
+ * alternative to "Clear Filters". Default `false`. (NB-FILTER-CLEARABLE-01)
127
+ */
128
+ clearable?: boolean;
96
129
  }
97
130
  export interface FilterValue {
98
131
  field: string;
@@ -101,6 +134,13 @@ export interface FilterValue {
101
134
  }
102
135
  export interface FilterPanelProps {
103
136
  fields: FilterField[];
137
+ /**
138
+ * The APPLIED filters. Seeds the draft at mount and again whenever its
139
+ * content changes — an outside clear empties an open panel without a `key`
140
+ * remount (NB-FILTER-DRAFT-SYNC-01). Pass the applied state, not the live
141
+ * draft echoed back late (e.g. debounced): a stale echo would overwrite what
142
+ * the user typed since.
143
+ */
104
144
  values?: FilterValue[];
105
145
  onApply: (filters: FilterValue[]) => void;
106
146
  onClear: () => void;
@@ -123,6 +163,28 @@ export interface FilterPanelProps {
123
163
  * an operator at Apply — the type default for freshly-edited fields, or a
124
164
  * seeded operator (from `values`) which is preserved as-is. */
125
165
  showOperators?: boolean;
166
+ /**
167
+ * Add the value-less operators `"IS_EMPTY"` / `"IS_NOT_EMPTY"` ("Boş" /
168
+ * "Boş Değil", symbols `∅` / `≠∅`) to EVERY field's default menu — boolean
169
+ * and daterange fields included, which then grow a picker. A field with its
170
+ * own {@link FilterField.operators} keeps exactly that list. Default `false`:
171
+ * an existing panel's menus are unchanged until the consumer's backend can
172
+ * answer the two operators. (NB-FILTER-EMPTY-OP-01)
173
+ *
174
+ * A value-less row hides its value control and is emitted at Apply with
175
+ * `value: ""` — as `{ field: key, operator: "IS_EMPTY", value: "" }`, on the
176
+ * field's own `key` for a daterange too. A consumer that skips empty values
177
+ * must keep these rows: test with {@link isValuelessFilterOperator}.
178
+ */
179
+ emptyOperators?: boolean;
180
+ /**
181
+ * Render the active-filter chip row at the top of the panel. Default `true`
182
+ * (unchanged). Pass `false` when the product has dropped filter chips: the
183
+ * list-top chips (`ListPageLayout.activeFilters`) were always app-controlled,
184
+ * these were not. Only the row goes — staging, Apply and per-field clearing
185
+ * are unaffected. (NB-FILTER-CHIPS-01)
186
+ */
187
+ showChips?: boolean;
126
188
  }
127
- export declare function FilterPanel({ fields, values: externalValues, onApply, onClear, onClose, onDraftChange, showOperators, }: FilterPanelProps): import("react").JSX.Element;
189
+ export declare function FilterPanel({ fields, values: externalValues, onApply, onClear, onClose, onDraftChange, showOperators, emptyOperators, showChips, }: FilterPanelProps): import("react").JSX.Element;
128
190
  //# sourceMappingURL=FilterPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../src/organisms/FilterPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAwB5D,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB;;0FAEsF;IACtF,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;+EAC2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAiMD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC/C;;;oEAGgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EAAE,cAAc,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAoB,GACrB,EAAE,gBAAgB,+BA2QlB"}
1
+ {"version":3,"file":"FilterPanel.d.ts","sourceRoot":"","sources":["../../src/organisms/FilterPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW5D,OAAO,EAOL,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB;;0FAEsF;IACtF,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;+EAC2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AA8QD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC/C;;;oEAGgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EAAE,cAAc,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAoB,EACpB,cAAsB,EACtB,SAAgB,GACjB,EAAE,gBAAgB,+BAsZlB"}
@@ -1,4 +1,37 @@
1
- export declare function ToastProvider(): import("react").JSX.Element;
1
+ /** Where the toast stack sits — the six anchors sonner supports. */
2
+ export type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
3
+ /**
4
+ * Distance of the stack from the viewport edges: one value for every edge
5
+ * (`24`, `"2rem"`) or per edge (`{ bottom: 96, right: 24 }`). Numbers are px.
6
+ */
7
+ export type ToastOffset = string | number | {
8
+ top?: string | number;
9
+ right?: string | number;
10
+ bottom?: string | number;
11
+ left?: string | number;
12
+ };
13
+ export interface ToastProviderProps {
14
+ /**
15
+ * Stack anchor. The fixed `bottom-right` sits exactly on a right-docked
16
+ * Sheet's footer — an error toast covered its primary "Kaydet" button and,
17
+ * with the pointer resting on the button, never auto-dismissed
18
+ * (NB-TOAST-POSITION-01). Hosts that dock side panels can move the stack.
19
+ * @default "bottom-right"
20
+ */
21
+ position?: ToastPosition;
22
+ /**
23
+ * Viewport-edge offset (desktop). Omitted → sonner's default (24px).
24
+ * Note: below 600px viewport width sonner uses `mobileOffset` instead.
25
+ */
26
+ offset?: ToastOffset;
27
+ /** Viewport-edge offset below 600px width. Omitted → sonner's default (16px). */
28
+ mobileOffset?: ToastOffset;
29
+ }
30
+ /**
31
+ * Mount ONCE at the app host. All props are optional; with none the toaster
32
+ * is configured exactly as before (`bottom-right`, 5s, package styling).
33
+ */
34
+ export declare function ToastProvider({ position, offset, mobileOffset }?: ToastProviderProps): import("react").JSX.Element;
2
35
  export declare const toast: {
3
36
  success: (message: string) => string | number;
4
37
  error: (message: string) => string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/organisms/Toast.tsx"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,gCA0B5B;AAED,eAAO,MAAM,KAAK;uBACG,MAAM;qBACR,MAAM;uBACJ,MAAM;oBACT,MAAM;uBACH,MAAM;mBACV,MAAM,GAAG,MAAM;CAC/B,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/organisms/Toast.tsx"],"names":[],"mappings":"AAEA,oEAAoE;AACpE,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,CAAC;AAEnB;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEzG,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iFAAiF;IACjF,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAyB,EAAE,MAAM,EAAE,YAAY,EAAE,GAAE,kBAAuB,+BA4BzG;AAED,eAAO,MAAM,KAAK;uBACG,MAAM;qBACR,MAAM;uBACJ,MAAM;oBACT,MAAM;uBACH,MAAM;mBACV,MAAM,GAAG,MAAM;CAC/B,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * FilterPanel operator registry — the single source for every operator code the
3
+ * panel can emit on `FilterValue.operator`, its picker symbol and its label key.
4
+ * Shared with `ListPageLayout` so an active-filter chip renders a value-less
5
+ * operator the same way the panel does. (NB-FILTER-EMPTY-OP-01)
6
+ */
7
+ /**
8
+ * Every operator code `FilterPanel` can emit on `FilterValue.operator` — the exact
9
+ * wire tokens, an UPPERCASE word or a math symbol. lena-v2's SDK
10
+ * `FilterOperator.fromWire` parses exactly these (words case-insensitively,
11
+ * symbols exactly).
12
+ */
13
+ export type FilterOperatorCode = "CONTAINS" | "=" | "!=" | "STARTS_WITH" | "ENDS_WITH" | ">" | "<" | ">=" | "<=" | "IS_EMPTY" | "IS_NOT_EMPTY";
14
+ /**
15
+ * The value-less operators: the operator alone IS the filter ("field is empty" /
16
+ * "field is not empty"), emitted with `value: ""`. UPPERCASE words like the
17
+ * package's other word tokens (`CONTAINS`, `STARTS_WITH`) — the tokens lena-v2's
18
+ * SDK `FilterOperator.IS_EMPTY` / `IS_NOT_EMPTY` carry on the wire.
19
+ */
20
+ export declare const FILTER_EMPTY_OPERATORS: readonly ["IS_EMPTY", "IS_NOT_EMPTY"];
21
+ export type FilterEmptyOperator = (typeof FILTER_EMPTY_OPERATORS)[number];
22
+ export interface OperatorDef {
23
+ value: string;
24
+ symbol: string;
25
+ labelKey: string;
26
+ }
27
+ export declare const OPERATOR_DEFS: Record<FilterOperatorCode, OperatorDef>;
28
+ /**
29
+ * Canonical form of a raw operator token: word tokens upper-cased after
30
+ * trimming (mirrors the SDK's case-insensitive word match), symbols trimmed.
31
+ * Returns `undefined` for a token the package does not know.
32
+ */
33
+ export declare function toFilterOperatorCode(raw: string | undefined | null): FilterOperatorCode | undefined;
34
+ /**
35
+ * The canonical value-less operator a raw wire token denotes — `"IS_EMPTY"` /
36
+ * `"IS_NOT_EMPTY"` for those words in any case, trimmed (`" is_empty "` →
37
+ * `"IS_EMPTY"`); `undefined` for anything else. Wire tokens only: a chip symbol
38
+ * (`∅`) is not a wire token — see {@link valuelessOperatorOf} for that side.
39
+ * Use this whenever the canonical code is needed (registry lookup, emitting).
40
+ */
41
+ export declare function toValuelessFilterOperator(raw: string | undefined | null): FilterEmptyOperator | undefined;
42
+ /**
43
+ * `true` for `IS_EMPTY` / `IS_NOT_EMPTY` (case-insensitive, trimmed) — an operator
44
+ * that carries no value. Use it on the consumer side to keep a value-less
45
+ * `FilterValue` (whose `value` is `""`) instead of dropping it as "empty".
46
+ *
47
+ * A plain `boolean`, deliberately NOT a type guard: it accepts `" is_empty "`,
48
+ * which is not the canonical `FilterEmptyOperator` — narrowing the raw string
49
+ * would let it index {@link OPERATOR_DEFS} as if it were (KAUDIT R1-F02). For the
50
+ * canonical code use {@link toValuelessFilterOperator}.
51
+ */
52
+ export declare function isValuelessFilterOperator(raw: string | undefined | null): boolean;
53
+ /**
54
+ * The picker symbol for an operator code (`"!="` → `"≠"`, `"IS_EMPTY"` → `"∅"`) —
55
+ * what `ActiveFilter.operator` expects. An unknown token is returned unchanged.
56
+ */
57
+ export declare function getFilterOperatorSymbol(raw: string): string;
58
+ /**
59
+ * The value-less operator a chip operator denotes — accepts the wire code
60
+ * (`IS_EMPTY`) as well as its symbol (`∅`), since `ActiveFilter.operator` is
61
+ * documented as the symbol but a consumer may forward `FilterValue.operator`.
62
+ */
63
+ export declare function valuelessOperatorOf(raw: string | undefined): FilterEmptyOperator | undefined;
64
+ /**
65
+ * Keeps only the operator codes the package knows, de-duplicated, in the given
66
+ * order (a `string[]` from untyped config may carry anything).
67
+ */
68
+ export declare function knownOperatorCodes(codes: readonly string[]): FilterOperatorCode[];
69
+ //# sourceMappingURL=filterOperators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterOperators.d.ts","sourceRoot":"","sources":["../../src/organisms/filterOperators.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,GAAG,GACH,IAAI,GACJ,aAAa,GACb,WAAW,GACX,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,cAAc,CAAC;AAEnB;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,uCAAwC,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAYjE,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,kBAAkB,GAAG,SAAS,CAKnG;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,mBAAmB,GAAG,SAAS,CAGzG;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEjF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAM5F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAOjF"}
@@ -2,7 +2,7 @@ export { Dialog, type DialogProps } from './Dialog';
2
2
  export { Sheet, type SheetProps, type SheetCloseReason } from './Sheet';
3
3
  export { Tabs, type TabsProps, type TabItem } from './Tabs';
4
4
  export { UnifiedTabs, UnifiedTabPanel, type UnifiedTabsProps, type UnifiedTabItem, type UnifiedTabPanelProps } from './UnifiedTabs';
5
- export { ToastProvider, toast } from './Toast';
5
+ export { ToastProvider, toast, type ToastProviderProps, type ToastPosition, type ToastOffset } from './Toast';
6
6
  export { Popover, type PopoverProps } from './Popover';
7
7
  export { GlobalSearch, type GlobalSearchProps, type GlobalSearchItem } from './GlobalSearch';
8
8
  export { Breadcrumb, type BreadcrumbProps, type BreadcrumbItem } from './Breadcrumb';
@@ -10,6 +10,7 @@ export { Pagination, type PaginationProps } from './Pagination';
10
10
  export { DataTable, DataTableColumnHeader, type DataTableProps, type DataTableColumnHeaderProps, type BulkAction, type PaginationInfo, type RowAction, type DataTableDensity, type ToolbarVariant } from './DataTable';
11
11
  export { Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption, type TableProps, type TableHeaderProps, type TableBodyProps, type TableFooterProps, type TableRowProps, type TableHeadProps, type TableCellProps, type TableCaptionProps, } from './Table';
12
12
  export { FilterPanel, type FilterPanelProps, type FilterField, type FilterValue, type FilterFieldType } from './FilterPanel';
13
+ export { FILTER_EMPTY_OPERATORS, isValuelessFilterOperator, toValuelessFilterOperator, getFilterOperatorSymbol, type FilterOperatorCode, type FilterEmptyOperator } from './filterOperators';
13
14
  export { JsonEditor, type JsonEditorProps } from './JsonEditor';
14
15
  export { RichTextEditor, type RichTextEditorProps, type RichTextToolbarControl, } from './RichTextEditor';
15
16
  export { JsonViewer, type JsonViewerProps } from './JsonViewer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/organisms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpI,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,0BAA0B,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACvN,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,eAAe,EACf,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/organisms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpI,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,0BAA0B,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACvN,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7L,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,EACP,eAAe,EACf,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC"}