@nar-bus/ui-kit 1.24.1 → 1.26.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 (57) 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 +90 -3
  6. package/dist/i18n/resources.d.ts +174 -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 +90 -3
  10. package/dist/index.d.ts +10 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4685 -3510
  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/molecules/KeyValueEditor.d.ts +64 -0
  18. package/dist/molecules/KeyValueEditor.d.ts.map +1 -0
  19. package/dist/molecules/ParameterForm.d.ts +44 -0
  20. package/dist/molecules/ParameterForm.d.ts.map +1 -0
  21. package/dist/molecules/index.d.ts +2 -0
  22. package/dist/molecules/index.d.ts.map +1 -1
  23. package/dist/organisms/DataTable/DataTableColumnHeader.d.ts +3 -1
  24. package/dist/organisms/DataTable/DataTableColumnHeader.d.ts.map +1 -1
  25. package/dist/organisms/DataTable/DataTableHeader.d.ts +7 -1
  26. package/dist/organisms/DataTable/DataTableHeader.d.ts.map +1 -1
  27. package/dist/organisms/DataTable/DataTableRow.d.ts +3 -1
  28. package/dist/organisms/DataTable/DataTableRow.d.ts.map +1 -1
  29. package/dist/organisms/DataTable.d.ts +30 -2
  30. package/dist/organisms/DataTable.d.ts.map +1 -1
  31. package/dist/organisms/FilterPanel.d.ts +63 -1
  32. package/dist/organisms/FilterPanel.d.ts.map +1 -1
  33. package/dist/organisms/JsonDiffView.d.ts +35 -0
  34. package/dist/organisms/JsonDiffView.d.ts.map +1 -0
  35. package/dist/organisms/JsonEditor.d.ts +29 -1
  36. package/dist/organisms/JsonEditor.d.ts.map +1 -1
  37. package/dist/organisms/Toast.d.ts +34 -1
  38. package/dist/organisms/Toast.d.ts.map +1 -1
  39. package/dist/organisms/filterOperators.d.ts +69 -0
  40. package/dist/organisms/filterOperators.d.ts.map +1 -0
  41. package/dist/organisms/index.d.ts +4 -2
  42. package/dist/organisms/index.d.ts.map +1 -1
  43. package/dist/resources-BmxyGni4.js +84 -0
  44. package/dist/templates/ListPageLayout.d.ts +5 -0
  45. package/dist/templates/ListPageLayout.d.ts.map +1 -1
  46. package/dist/theme.css +1 -1
  47. package/dist/ui-kit.css +1 -1
  48. package/dist/utils/index.d.ts +3 -0
  49. package/dist/utils/index.d.ts.map +1 -1
  50. package/dist/utils/jsonDiff.d.ts +48 -0
  51. package/dist/utils/jsonDiff.d.ts.map +1 -0
  52. package/dist/utils/jsonLocate.d.ts +41 -0
  53. package/dist/utils/jsonLocate.d.ts.map +1 -0
  54. package/dist/utils/searchFold.d.ts +8 -0
  55. package/dist/utils/searchFold.d.ts.map +1 -0
  56. package/package.json +1 -1
  57. 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"}
@@ -0,0 +1,64 @@
1
+ import { ReactNode } from 'react';
2
+ export interface KeyValueEntry {
3
+ /** Stable row identity (never the key: the key is being edited). */
4
+ id: string;
5
+ key: string;
6
+ value: string;
7
+ }
8
+ export interface KeyValueRules {
9
+ /** Whole-key pattern, e.g. `^[A-Z][A-Z0-9_]{1,39}$`. */
10
+ keyPattern?: RegExp | string;
11
+ /** Default 1. */
12
+ valueMinLength?: number;
13
+ valueMaxLength?: number;
14
+ }
15
+ export type KeyValueIssue = {
16
+ field: "key";
17
+ kind: "required" | "pattern" | "duplicate";
18
+ } | {
19
+ field: "value";
20
+ kind: "required" | "too_short" | "too_long";
21
+ limit?: number;
22
+ };
23
+ export interface KeyValueEditorProps extends KeyValueRules {
24
+ entries: KeyValueEntry[];
25
+ /**
26
+ * Plain-language description of `keyPattern` for the error message
27
+ * (e.g. "Büyük harfle başlar; yalnız A-Z, 0-9 ve _"). Without it the message
28
+ * shows the pattern itself.
29
+ */
30
+ keyPatternHint?: string;
31
+ onChange: (entries: KeyValueEntry[]) => void;
32
+ /** Applied to the key as it is typed, e.g. `(k) => k.toUpperCase()`. */
33
+ normalizeKey?: (raw: string) => string;
34
+ /** Known keys offered while typing (free text stays allowed). */
35
+ keySuggestions?: string[];
36
+ /** Messages by KEY (e.g. a server problem about `PMID`); shown under that row. */
37
+ errors?: Record<string, string | undefined>;
38
+ /** "touched" (default): a row's own issues appear once it was edited. "always": e.g. after a save attempt. */
39
+ showErrors?: "touched" | "always";
40
+ keyLabel?: string;
41
+ valueLabel?: string;
42
+ keyPlaceholder?: string;
43
+ valuePlaceholder?: string;
44
+ addLabel?: string;
45
+ /** Shown when there are no rows. */
46
+ emptyContent?: ReactNode;
47
+ maxEntries?: number;
48
+ readOnly?: boolean;
49
+ disabled?: boolean;
50
+ className?: string;
51
+ }
52
+ /** A new row id, unique in this page. */
53
+ export declare function newKeyValueEntryId(): string;
54
+ /** Rows for a map, in key order. */
55
+ export declare function entriesFromRecord(record: Record<string, string> | null | undefined): KeyValueEntry[];
56
+ /**
57
+ * The map of the rows: keys and values trimmed, rows with an empty key
58
+ * skipped, a duplicate key keeps its last value.
59
+ */
60
+ export declare function entriesToRecord(entries: KeyValueEntry[]): Record<string, string>;
61
+ /** Issues by row id; empty object = the rows can be saved. Lengths count the trimmed value. */
62
+ export declare function validateKeyValueEntries(entries: KeyValueEntry[], rules?: KeyValueRules): Record<string, KeyValueIssue[]>;
63
+ export declare function KeyValueEditor({ entries, onChange, keyPattern, keyPatternHint, valueMinLength, valueMaxLength, normalizeKey, keySuggestions, errors, showErrors, keyLabel, valueLabel, keyPlaceholder, valuePlaceholder, addLabel, emptyContent, maxEntries, readOnly, disabled, className, }: KeyValueEditorProps): import("react").JSX.Element;
64
+ //# sourceMappingURL=KeyValueEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyValueEditor.d.ts","sourceRoot":"","sources":["../../src/molecules/KeyValueEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAiBxD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,iBAAiB;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,CAAA;CAAE,GAC5D;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,8GAA8G;IAC9G,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,yCAAyC;AACzC,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,EAAE,CAIpG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhF;AAYD,+FAA+F;AAC/F,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EAAE,EACxB,KAAK,GAAE,aAAkB,GACxB,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAuBjC;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,MAAM,EACN,UAAsB,EACtB,QAAQ,EACR,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,+BA8IrB"}
@@ -0,0 +1,44 @@
1
+ export interface ParameterFormField {
2
+ name: string;
3
+ title?: string;
4
+ /** Null / absent = required (unless `required` says otherwise). */
5
+ defaultValue?: string | null;
6
+ /** Regular expression the whole value must match. */
7
+ pattern?: string | null;
8
+ /** Plain-language description of `pattern` for the error message; without it the pattern itself is shown. */
9
+ patternHint?: string;
10
+ /** Override the "no default = required" rule. */
11
+ required?: boolean;
12
+ placeholder?: string;
13
+ }
14
+ export type ParameterIssue = "required" | "pattern";
15
+ export interface ParameterFormProps {
16
+ fields: ParameterFormField[];
17
+ /** Name → value. Start from `getParameterDefaults(fields)`. */
18
+ values: Record<string, string>;
19
+ onChange: (values: Record<string, string>) => void;
20
+ /** Messages by field name (e.g. from the server); shown instead of the built-in check. */
21
+ errors?: Record<string, string | undefined>;
22
+ /** "touched" (default): a field's own error appears once it was edited or left. "always": e.g. after a submit attempt. */
23
+ showErrors?: "touched" | "always";
24
+ disabled?: boolean;
25
+ className?: string;
26
+ }
27
+ /** Whether a field must be filled: explicit `required`, else "has no default". */
28
+ export declare function isParameterRequired(field: ParameterFormField): boolean;
29
+ /** Initial values: each field's default, "" where there is none. */
30
+ export declare function getParameterDefaults(fields: ParameterFormField[]): Record<string, string>;
31
+ /** The literal options of a pattern like `^(a|b|c)$`, or null. */
32
+ export declare function parameterOptions(pattern: string | null | undefined): string[] | null;
33
+ /** The issue of one value, or null when it is acceptable. */
34
+ export declare function validateParameter(field: ParameterFormField, value: string | undefined): ParameterIssue | null;
35
+ /** Issues by field name; empty object = valid. */
36
+ export declare function validateParameters(fields: ParameterFormField[], values: Record<string, string>): Record<string, ParameterIssue>;
37
+ /**
38
+ * The map to send to the server: blank values are left out so the server
39
+ * applies the default (it rejects a blank value even when a default exists),
40
+ * unknown names are dropped (the installer rejects them).
41
+ */
42
+ export declare function toParameterPayload(fields: ParameterFormField[], values: Record<string, string>): Record<string, string>;
43
+ export declare function ParameterForm({ fields, values, onChange, errors, showErrors, disabled, className, }: ParameterFormProps): import("react").JSX.Element;
44
+ //# sourceMappingURL=ParameterForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterForm.d.ts","sourceRoot":"","sources":["../../src/molecules/ParameterForm.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,6GAA6G;IAC7G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACnD,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,0HAA0H;IAC1H,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEtE;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzF;AAgBD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,CAIpF;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,IAAI,CAW7G;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAAE,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAOhC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAAE,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAsB,EACtB,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,+BAkFpB"}
@@ -22,4 +22,6 @@ export { AvatarCell, type AvatarCellProps } from './AvatarCell';
22
22
  export { IconCell, type IconCellProps } from './IconCell';
23
23
  export { StateBlock, type StateBlockProps, type StateBlockState } from './StateBlock';
24
24
  export { MonitoringCard, type MonitoringCardProps } from './MonitoringCard';
25
+ export { ParameterForm, getParameterDefaults, isParameterRequired, parameterOptions, validateParameter, validateParameters, toParameterPayload, type ParameterFormProps, type ParameterFormField, type ParameterIssue, } from './ParameterForm';
26
+ export { KeyValueEditor, entriesFromRecord, entriesToRecord, newKeyValueEntryId, validateKeyValueEntries, type KeyValueEditorProps, type KeyValueEntry, type KeyValueRules, type KeyValueIssue, } from './KeyValueEditor';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACjI,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACjI,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
@@ -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"}
@@ -0,0 +1,35 @@
1
+ import { ReactNode } from 'react';
2
+ import { JsonArrayKey } from '../utils/jsonDiff';
3
+ export type JsonDiffViewMode = "unified" | "split" | "changes";
4
+ export interface JsonDiffViewProps {
5
+ /** Old document: any JSON value, or a JSON string (a non-JSON string is diffed as plain text). */
6
+ before: unknown;
7
+ /** New document, same rules as `before`. */
8
+ after: unknown;
9
+ beforeLabel?: ReactNode;
10
+ afterLabel?: ReactNode;
11
+ /** Controlled view. */
12
+ mode?: JsonDiffViewMode;
13
+ /** Initial view when uncontrolled. Default "unified". */
14
+ defaultMode?: JsonDiffViewMode;
15
+ onModeChange?: (mode: JsonDiffViewMode) => void;
16
+ /** Sort object keys before diffing. Default true. */
17
+ sortKeys?: boolean;
18
+ /**
19
+ * Identify array items by this property (e.g. `"code"`) — or an extractor —
20
+ * so a set of definitions written in another order is not a difference.
21
+ * Applies to arrays whose items are all objects with a distinct key; other
22
+ * arrays (flow steps, plain lists) keep their order. The line views sort such
23
+ * arrays by the key (with `sortKeys`); the field list pairs items by it.
24
+ */
25
+ arrayKey?: JsonArrayKey;
26
+ /** Unchanged lines kept around each change. Default 3. */
27
+ context?: number;
28
+ /** Scroll cap of the diff body; number => px. Default 480. */
29
+ maxHeight?: number | string;
30
+ /** Shown when the documents are equal. Default: localized "no differences". */
31
+ emptyContent?: ReactNode;
32
+ className?: string;
33
+ }
34
+ export declare function JsonDiffView({ before, after, beforeLabel, afterLabel, mode: controlledMode, defaultMode, onModeChange, sortKeys, arrayKey, context, maxHeight, emptyContent, className, }: JsonDiffViewProps): import("react").JSX.Element;
35
+ //# sourceMappingURL=JsonDiffView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonDiffView.d.ts","sourceRoot":"","sources":["../../src/organisms/JsonDiffView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,EAKL,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAa3B,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,uBAAuB;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmGD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,EACV,IAAI,EAAE,cAAc,EACpB,WAAuB,EACvB,YAAY,EACZ,QAAe,EACf,QAAQ,EACR,OAAW,EACX,SAAe,EACf,YAAY,EACZ,SAAS,GACV,EAAE,iBAAiB,+BAoMnB"}
@@ -1,3 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * A validation problem to show against the document. Located by `line`
4
+ * (1-based, wins) or by `path` — an RFC 6901 pointer (`/systems/0/baseUrl`) or
5
+ * a dotted / JSONPath spelling (`systems[0].baseUrl`, `$.systems[0].baseUrl`).
6
+ * A path that is not in the text marks its nearest existing parent; a problem
7
+ * with neither is listed without a line.
8
+ */
9
+ export interface JsonEditorProblem {
10
+ message: ReactNode;
11
+ path?: string;
12
+ line?: number;
13
+ /** Default "error". */
14
+ severity?: "error" | "warning";
15
+ }
16
+ /** Where a problem landed in the current text (`line` undefined = unlocated). */
17
+ export interface JsonEditorProblemLocation {
18
+ line?: number;
19
+ /** False when only an ancestor of `problem.path` exists in the text. */
20
+ exact: boolean;
21
+ pointer?: string;
22
+ }
1
23
  export interface JsonEditorProps {
2
24
  value: string;
3
25
  onChange?: (value: string) => void;
@@ -5,6 +27,12 @@ export interface JsonEditorProps {
5
27
  error?: string;
6
28
  height?: string;
7
29
  className?: string;
30
+ /** Problems to mark in the gutter and list under the editor (e.g. a server validation result). */
31
+ problems?: JsonEditorProblem[];
32
+ /** Called when a listed problem is clicked (after the editor moved to its line). */
33
+ onProblemClick?: (problem: JsonEditorProblem, location: JsonEditorProblemLocation) => void;
34
+ /** Show the "Form View" tab. Default true. Hide it for nested documents edited as text. */
35
+ formView?: boolean;
8
36
  }
9
- export declare function JsonEditor({ value, onChange, readOnly, error: externalError, height, className, }: JsonEditorProps): import("react").JSX.Element;
37
+ export declare function JsonEditor({ value, onChange, readOnly, error: externalError, height, className, problems, onProblemClick, formView, }: JsonEditorProps): import("react").JSX.Element;
10
38
  //# sourceMappingURL=JsonEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonEditor.d.ts","sourceRoot":"","sources":["../../src/organisms/JsonEditor.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,MAAgB,EAChB,SAAS,GACV,EAAE,eAAe,+BAsNjB"}
1
+ {"version":3,"file":"JsonEditor.d.ts","sourceRoot":"","sources":["../../src/organisms/JsonEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,oFAAoF;IACpF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC3F,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EAAE,aAAa,EACpB,MAAgB,EAChB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,QAAe,GAChB,EAAE,eAAe,+BA2XjB"}
@@ -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"}