@octaviaflow/core 3.1.0-beta.59 → 3.1.0-beta.61

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 (40) hide show
  1. package/dist/components/Combobox/Combobox.d.ts +58 -0
  2. package/dist/components/Combobox/Combobox.d.ts.map +1 -0
  3. package/dist/components/Combobox/index.d.ts +2 -0
  4. package/dist/components/Combobox/index.d.ts.map +1 -0
  5. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts +11 -0
  6. package/dist/components/ConditionBuilder/ConditionBuilder.d.ts.map +1 -1
  7. package/dist/components/ConditionBuilder/index.d.ts +1 -1
  8. package/dist/components/ConditionBuilder/index.d.ts.map +1 -1
  9. package/dist/components/ConfigPanel/ConfigPanel.d.ts +14 -0
  10. package/dist/components/ConfigPanel/ConfigPanel.d.ts.map +1 -1
  11. package/dist/components/Disclosure/Disclosure.d.ts +31 -0
  12. package/dist/components/Disclosure/Disclosure.d.ts.map +1 -0
  13. package/dist/components/Disclosure/index.d.ts +2 -0
  14. package/dist/components/Disclosure/index.d.ts.map +1 -0
  15. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts +7 -1
  16. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts.map +1 -1
  17. package/dist/components/FieldPicker/FieldPicker.d.ts +54 -0
  18. package/dist/components/FieldPicker/FieldPicker.d.ts.map +1 -0
  19. package/dist/components/FieldPicker/index.d.ts +2 -0
  20. package/dist/components/FieldPicker/index.d.ts.map +1 -0
  21. package/dist/components/GroupByBuilder/GroupByBuilder.d.ts +37 -0
  22. package/dist/components/GroupByBuilder/GroupByBuilder.d.ts.map +1 -0
  23. package/dist/components/GroupByBuilder/index.d.ts +2 -0
  24. package/dist/components/GroupByBuilder/index.d.ts.map +1 -0
  25. package/dist/components/KeyValueEditor/KeyValueEditor.d.ts +38 -0
  26. package/dist/components/KeyValueEditor/KeyValueEditor.d.ts.map +1 -0
  27. package/dist/components/KeyValueEditor/index.d.ts +2 -0
  28. package/dist/components/KeyValueEditor/index.d.ts.map +1 -0
  29. package/dist/components/SortBuilder/SortBuilder.d.ts +34 -0
  30. package/dist/components/SortBuilder/SortBuilder.d.ts.map +1 -0
  31. package/dist/components/SortBuilder/index.d.ts +2 -0
  32. package/dist/components/SortBuilder/index.d.ts.map +1 -0
  33. package/dist/index.cjs +4664 -3634
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +7 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +4519 -3479
  38. package/dist/index.js.map +1 -1
  39. package/dist/styles.css +1 -1
  40. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ import { type ReactNode } from "react";
2
+ export interface ComboboxOption {
3
+ value: string;
4
+ label: string;
5
+ /** Secondary line under the label (e.g. the underlying token/expression). */
6
+ description?: string;
7
+ /** Optional leading glyph. */
8
+ icon?: ReactNode;
9
+ disabled?: boolean;
10
+ }
11
+ export interface ComboboxProps {
12
+ /** Current text value. Free text is always allowed — options are suggestions. */
13
+ value: string;
14
+ onChange: (value: string) => void;
15
+ options: ComboboxOption[];
16
+ placeholder?: string;
17
+ /** Accessible name when no visible `label` is rendered. */
18
+ ariaLabel?: string;
19
+ /** Optional visible label rendered above the field. */
20
+ label?: ReactNode;
21
+ helperText?: ReactNode;
22
+ size?: "sm" | "md" | "lg";
23
+ disabled?: boolean;
24
+ /** Shows a loading row in the panel instead of options (async option fetch). */
25
+ loading?: boolean;
26
+ error?: boolean;
27
+ errorMessage?: ReactNode;
28
+ /**
29
+ * When true, a typed value that isn't an exact option match surfaces a
30
+ * leading "Use «value»" row so users see free entry is allowed. Free typing
31
+ * works regardless; this is purely an affordance.
32
+ */
33
+ creatable?: boolean;
34
+ /** Message shown when no options match the typed text. */
35
+ emptyMessage?: ReactNode;
36
+ /** Override the default substring match. Receives the option and typed query. */
37
+ filter?: (option: ComboboxOption, query: string) => boolean;
38
+ id?: string;
39
+ name?: string;
40
+ required?: boolean;
41
+ className?: string;
42
+ onBlur?: () => void;
43
+ }
44
+ /**
45
+ * Editable combobox: a free-text input with an attached dropdown button. The
46
+ * button (or ArrowDown) reveals the option list; picking an option fills the
47
+ * input, and the user can also type any value not in the list. Options filter
48
+ * by the typed text. The panel is portal-positioned so it escapes parent
49
+ * `overflow: hidden` clipping (side panels, drawers, scrollable sections).
50
+ *
51
+ * Free-type-OR-pick is the core behaviour — use it wherever a field accepts
52
+ * both known values and arbitrary input (dynamic tokens, custom identifiers).
53
+ */
54
+ export declare function Combobox({ value, onChange, options, placeholder, ariaLabel, label, helperText, size, disabled, loading, error, errorMessage, creatable, emptyMessage, filter, id, name, required, className, onBlur, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
55
+ export declare namespace Combobox {
56
+ var displayName: string;
57
+ }
58
+ //# sourceMappingURL=Combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AASD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAA+B,EAC/B,SAAS,EACT,KAAK,EACL,UAAU,EACV,IAAW,EACX,QAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAY,EACZ,SAAiB,EACjB,YAAoC,EACpC,MAAsB,EACtB,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,MAAM,GACP,EAAE,aAAa,2CAgRf;yBArSe,QAAQ"}
@@ -0,0 +1,2 @@
1
+ export { Combobox, type ComboboxProps, type ComboboxOption } from "./Combobox";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -11,6 +11,11 @@ export interface ConditionOperator {
11
11
  symbol?: string;
12
12
  description?: string;
13
13
  }
14
+ export interface ConditionValueOption {
15
+ value: string;
16
+ label: string;
17
+ description?: string;
18
+ }
14
19
  export interface Condition {
15
20
  field: string;
16
21
  operator: string;
@@ -30,6 +35,12 @@ export interface ConditionBuilderProps extends Omit<ComponentPropsWithoutRef<"di
30
35
  onChange: (conditions: Condition[]) => void;
31
36
  fields: ConditionField[];
32
37
  operators: ConditionOperator[];
38
+ /** Optional per-row value suggestions. When this returns a non-empty list
39
+ * for a condition, that row's value field becomes an editable combobox: a
40
+ * free-text input with an attached dropdown button listing the options —
41
+ * clicking one fills the input, and the user can still type any value not in
42
+ * the list. Omit / return [] to keep a plain text input. */
43
+ getValueOptions?: (condition: Condition, index: number) => ConditionValueOption[];
33
44
  /** Auto-enables search above 8 options. Force on/off via boolean. */
34
45
  searchable?: boolean;
35
46
  allowGroups?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;mEAI+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0OD,eAAO,MAAM,gBAAgB,kHA+M3B,CAAC"}
1
+ {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/ConditionBuilder.tsx"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAKf,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;4DAEwD;IACxD,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzD,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;iEAI6D;IAC7D,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,oBAAoB,EAAE,CAAC;IAClF,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;4EACwE;IACxE,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B;yEACqE;IACrE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;mEAI+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0OD,eAAO,MAAM,gBAAgB,kHA6N3B,CAAC"}
@@ -1,2 +1,2 @@
1
- export { type Condition, ConditionBuilder, type ConditionBuilderProps, type ConditionField, type ConditionOperator, } from "./ConditionBuilder";
1
+ export { type Condition, ConditionBuilder, type ConditionBuilderProps, type ConditionField, type ConditionOperator, type ConditionValueOption, } from "./ConditionBuilder";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ConditionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC"}
@@ -27,6 +27,20 @@ export interface ConfigPanelProps extends Omit<ComponentPropsWithoutRef<"div">,
27
27
  saveLabel?: ReactNode;
28
28
  /** Override the Cancel button label. */
29
29
  cancelLabel?: ReactNode;
30
+ /**
31
+ * Dirty-state. When `false`, Save is disabled (nothing to save). Leave
32
+ * undefined to keep Save always enabled (legacy behavior).
33
+ */
34
+ dirty?: boolean;
35
+ /** Explicitly disable Save regardless of dirty state (e.g. validation errors). */
36
+ saveDisabled?: boolean;
37
+ /**
38
+ * In-flight save. Shows a spinner + `savingLabel` on Save and disables both
39
+ * Save and Cancel until it resolves.
40
+ */
41
+ isSaving?: boolean;
42
+ /** Label shown on the Save button while `isSaving`. Default "Saving…". */
43
+ savingLabel?: ReactNode;
30
44
  /** Override the close button's aria-label (default "Close panel"). */
31
45
  closeLabel?: string;
32
46
  /** Slide-in direction. Default "right". */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ConfigPanel/ConfigPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;IAC1G,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,eAAO,MAAM,WAAW,6GAmJvB,CAAC"}
1
+ {"version":3,"file":"ConfigPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ConfigPanel/ConfigPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;IAC1G,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,eAAO,MAAM,WAAW,6GAqKvB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type ReactNode } from "react";
2
+ export interface DisclosureProps {
3
+ /** Header text (the clickable toggle). */
4
+ title: ReactNode;
5
+ children: ReactNode;
6
+ /** Optional secondary line under the title. */
7
+ description?: ReactNode;
8
+ /** Optional leading icon in the header. */
9
+ icon?: ReactNode;
10
+ /** Optional trailing slot in the header (e.g. a count Badge). */
11
+ trailing?: ReactNode;
12
+ /** Uncontrolled initial open state. Default false. */
13
+ defaultOpen?: boolean;
14
+ /** Controlled open state. When set, `onOpenChange` drives changes. */
15
+ open?: boolean;
16
+ onOpenChange?: (open: boolean) => void;
17
+ size?: "sm" | "md";
18
+ disabled?: boolean;
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Disclosure — a single collapsible section toggled by a button header. Use for
23
+ * "Advanced options" / "Properties" reveals where a full Accordion (grouped
24
+ * multi-section) is overkill. Controlled or uncontrolled. Keyboard + ARIA
25
+ * disclosure semantics (button `aria-expanded` + `aria-controls` → region).
26
+ */
27
+ export declare function Disclosure({ title, children, description, icon, trailing, defaultOpen, open: controlledOpen, onOpenChange, size, disabled, className, }: DisclosureProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace Disclosure {
29
+ var displayName: string;
30
+ }
31
+ //# sourceMappingURL=Disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Disclosure.d.ts","sourceRoot":"","sources":["../../../src/components/Disclosure/Disclosure.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,WAAmB,EACnB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,IAAW,EACX,QAAgB,EAChB,SAAS,GACV,EAAE,eAAe,2CAmDjB;yBA/De,UAAU"}
@@ -0,0 +1,2 @@
1
+ export { Disclosure, type DisclosureProps } from "./Disclosure";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Disclosure/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -21,6 +21,12 @@ export interface ExecutionConsoleProps {
21
21
  onToggle?: () => void;
22
22
  logs?: LogEntry[];
23
23
  running?: boolean;
24
+ /**
25
+ * Logs are being fetched (distinct from `running`, which is a live execution).
26
+ * Shows skeleton rows in the log area instead of the empty state — use when
27
+ * the console is loading persisted/previous output (e.g. inside a config panel).
28
+ */
29
+ loading?: boolean;
24
30
  /** Handler for the built-in Stop button — only rendered when `running` is true. */
25
31
  onStop?: () => void;
26
32
  /** Handler for the built-in Clear button (renders a trash icon). */
@@ -68,5 +74,5 @@ export interface ExecutionConsoleProps {
68
74
  emptyState?: ReactNode;
69
75
  className?: string;
70
76
  }
71
- export declare function ExecutionConsole({ open: openProp, onToggle, logs, running, onStop, onClear, onClose, onCopy, onExport, searchable, showLevelFilter, showNodeFilter, exportable, expandedHeight, height, toolbar, emptyState, className, }: ExecutionConsoleProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function ExecutionConsole({ open: openProp, onToggle, logs, running, loading, onStop, onClear, onClose, onCopy, onExport, searchable, showLevelFilter, showNodeFilter, exportable, expandedHeight, height, toolbar, emptyState, className, }: ExecutionConsoleProps): import("react/jsx-runtime").JSX.Element;
72
78
  //# sourceMappingURL=ExecutionConsole.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionConsole.d.ts","sourceRoot":"","sources":["../../../src/components/ExecutionConsole/ExecutionConsole.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAC;AAG7E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;oEAIgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAS,EACT,OAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAiB,EACjB,eAAsB,EACtB,cAAqB,EACrB,UAAiB,EACjB,cAAwC,EACxC,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,2CA8cvB"}
1
+ {"version":3,"file":"ExecutionConsole.d.ts","sourceRoot":"","sources":["../../../src/components/ExecutionConsole/ExecutionConsole.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAC;AAG7E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;oEAIgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAS,EACT,OAAe,EACf,OAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAiB,EACjB,eAAsB,EACtB,cAAqB,EACrB,UAAiB,EACjB,cAAwC,EACxC,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,2CAuevB"}
@@ -0,0 +1,54 @@
1
+ import { type ReactNode } from "react";
2
+ export type FieldPickerType = "string" | "number" | "boolean" | "date" | "object" | "array" | "any";
3
+ export interface FieldPickerOption {
4
+ value: string;
5
+ label: string;
6
+ type?: FieldPickerType;
7
+ /** Marks the field with a PK badge. */
8
+ isPrimaryKey?: boolean;
9
+ /** Marks the field with an FK badge. */
10
+ isForeignKey?: boolean;
11
+ /** Optional group heading (e.g. the table/object name). */
12
+ group?: string;
13
+ description?: string;
14
+ disabled?: boolean;
15
+ }
16
+ export interface FieldPickerProps {
17
+ fields: FieldPickerOption[];
18
+ value: string[];
19
+ onChange: (value: string[]) => void;
20
+ label?: ReactNode;
21
+ helperText?: ReactNode;
22
+ placeholder?: string;
23
+ ariaLabel?: string;
24
+ size?: "sm" | "md" | "lg";
25
+ searchable?: boolean;
26
+ /** Tri-state "select all (filtered)" row. Default true. */
27
+ selectAll?: boolean;
28
+ /** Quick "select by type" chips in the panel header. Default true. */
29
+ selectByType?: boolean;
30
+ /** Show the per-field type tag. Default true. */
31
+ showTypeTag?: boolean;
32
+ disabled?: boolean;
33
+ loading?: boolean;
34
+ error?: boolean;
35
+ errorMessage?: ReactNode;
36
+ emptyMessage?: ReactNode;
37
+ /** Max chips shown in the trigger before collapsing to "+N". Default 4. */
38
+ maxVisibleTags?: number;
39
+ required?: boolean;
40
+ id?: string;
41
+ className?: string;
42
+ }
43
+ /**
44
+ * FieldPicker — a multi-select purpose-built for picking data columns/fields.
45
+ * Beyond a generic multi-select it surfaces field types, PK/FK badges, a
46
+ * tri-state "select all", and "select by type" — giving users direct control
47
+ * over large schemas. Options arrive via props (connector-agnostic); the panel
48
+ * is portal-positioned so it escapes side-panel/drawer clipping.
49
+ */
50
+ export declare function FieldPicker({ fields, value, onChange, label, helperText, placeholder, ariaLabel, size, searchable, selectAll, selectByType, showTypeTag, disabled, loading, error, errorMessage, emptyMessage, maxVisibleTags, required, id, className, }: FieldPickerProps): import("react/jsx-runtime").JSX.Element;
51
+ export declare namespace FieldPicker {
52
+ var displayName: string;
53
+ }
54
+ //# sourceMappingURL=FieldPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldPicker.d.ts","sourceRoot":"","sources":["../../../src/components/FieldPicker/FieldPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAQf,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAA8B,EAC9B,SAAS,EACT,IAAW,EACX,UAAiB,EACjB,SAAgB,EAChB,YAAmB,EACnB,WAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAY,EACZ,YAA0B,EAC1B,cAAkB,EAClB,QAAQ,EACR,EAAE,EACF,SAAS,GACV,EAAE,gBAAgB,2CAoWlB;yBA1Xe,WAAW"}
@@ -0,0 +1,2 @@
1
+ export { FieldPicker, type FieldPickerProps, type FieldPickerOption, type FieldPickerType, } from "./FieldPicker";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FieldPicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { ReactNode } from "react";
2
+ import { type FieldPickerOption } from "../FieldPicker";
3
+ export type AggregateFunction = "count" | "sum" | "avg" | "min" | "max";
4
+ export interface AggregateRule {
5
+ fn: AggregateFunction;
6
+ /** Column to aggregate. "*" means all rows (valid for count). */
7
+ field: string;
8
+ /** Optional output column name. */
9
+ alias?: string;
10
+ }
11
+ export interface GroupByValue {
12
+ groupBy: string[];
13
+ aggregates: AggregateRule[];
14
+ }
15
+ export interface GroupByBuilderProps {
16
+ value: GroupByValue;
17
+ onChange: (value: GroupByValue) => void;
18
+ fields: FieldPickerOption[];
19
+ /** Aggregate functions to offer. Default: count, sum, avg, min, max. */
20
+ functions?: AggregateFunction[];
21
+ label?: ReactNode;
22
+ helperText?: ReactNode;
23
+ size?: "sm" | "md" | "lg";
24
+ disabled?: boolean;
25
+ className?: string;
26
+ }
27
+ /**
28
+ * GroupByBuilder — picks GROUP BY columns and defines aggregate outputs
29
+ * (function · field · alias). Surfaces aggregation, which the model supported
30
+ * but the UI never exposed. Group-by uses FieldPicker; aggregate rows use DS
31
+ * Selects. Connector-agnostic — `fields` arrive via props.
32
+ */
33
+ export declare function GroupByBuilder({ value, onChange, fields, functions, label, helperText, size, disabled, className, }: GroupByBuilderProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare namespace GroupByBuilder {
35
+ var displayName: string;
36
+ }
37
+ //# sourceMappingURL=GroupByBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupByBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/GroupByBuilder/GroupByBuilder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,iBAAiB,CAAC;IACtB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,wEAAwE;IACxE,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAuB,EACvB,KAAK,EACL,UAAU,EACV,IAAW,EACX,QAAgB,EAChB,SAAS,GACV,EAAE,mBAAmB,2CA2FrB;yBArGe,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { GroupByBuilder, type GroupByBuilderProps, type GroupByValue, type AggregateRule, type AggregateFunction, } from "./GroupByBuilder";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/GroupByBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from "react";
2
+ import { type ComboboxOption } from "../Combobox";
3
+ export interface KeyValuePair {
4
+ key: string;
5
+ value: string;
6
+ }
7
+ export interface KeyValueEditorProps {
8
+ pairs: KeyValuePair[];
9
+ onChange: (pairs: KeyValuePair[]) => void;
10
+ label?: ReactNode;
11
+ helperText?: ReactNode;
12
+ keyPlaceholder?: string;
13
+ valuePlaceholder?: string;
14
+ addLabel?: ReactNode;
15
+ /** When set, the key field is a Combobox of these suggestions (free-type still allowed). */
16
+ keyOptions?: ComboboxOption[];
17
+ /** When set, the value field is a Combobox of these suggestions (free-type still allowed). */
18
+ valueOptions?: ComboboxOption[];
19
+ size?: "sm" | "md" | "lg";
20
+ disabled?: boolean;
21
+ error?: boolean;
22
+ errorMessage?: ReactNode;
23
+ /** Shown when there are no rows yet. */
24
+ emptyLabel?: ReactNode;
25
+ maxRows?: number;
26
+ className?: string;
27
+ }
28
+ /**
29
+ * KeyValueEditor — a list of key/value rows with add/remove. Drives field
30
+ * defaults, request headers/params, and similar "name → value" maps. Either
31
+ * field can become a Combobox (suggestions + free entry) by passing
32
+ * `keyOptions` / `valueOptions`; otherwise both are plain text inputs.
33
+ */
34
+ export declare function KeyValueEditor({ pairs, onChange, label, helperText, keyPlaceholder, valuePlaceholder, addLabel, keyOptions, valueOptions, size, disabled, error, errorMessage, emptyLabel, maxRows, className, }: KeyValueEditorProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare namespace KeyValueEditor {
36
+ var displayName: string;
37
+ }
38
+ //# sourceMappingURL=KeyValueEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyValueEditor.d.ts","sourceRoot":"","sources":["../../../src/components/KeyValueEditor/KeyValueEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,8FAA8F;IAC9F,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,cAAsB,EACtB,gBAA0B,EAC1B,QAAgB,EAChB,UAAU,EACV,YAAY,EACZ,IAAW,EACX,QAAgB,EAChB,KAAa,EACb,YAAY,EACZ,UAAU,EACV,OAAO,EACP,SAAS,GACV,EAAE,mBAAmB,2CA4FrB;yBA7Ge,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { KeyValueEditor, type KeyValueEditorProps, type KeyValuePair, } from "./KeyValueEditor";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/KeyValueEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from "react";
2
+ export type SortDirection = "asc" | "desc";
3
+ export interface SortRule {
4
+ field: string;
5
+ direction: SortDirection;
6
+ }
7
+ export interface SortFieldOption {
8
+ value: string;
9
+ label: string;
10
+ }
11
+ export interface SortBuilderProps {
12
+ sorts: SortRule[];
13
+ onChange: (sorts: SortRule[]) => void;
14
+ fields: SortFieldOption[];
15
+ label?: ReactNode;
16
+ helperText?: ReactNode;
17
+ addLabel?: ReactNode;
18
+ emptyLabel?: ReactNode;
19
+ size?: "sm" | "md" | "lg";
20
+ disabled?: boolean;
21
+ maxRows?: number;
22
+ className?: string;
23
+ }
24
+ /**
25
+ * SortBuilder — an ordered list of ORDER BY rules (field + direction). Supports
26
+ * multi-column sort, which the legacy single-field control could not express.
27
+ * Each row picks a field (DS Select) and toggles asc/desc; rows can be added up
28
+ * to `maxRows`. Connector-agnostic: `fields` arrive via props.
29
+ */
30
+ export declare function SortBuilder({ sorts, onChange, fields, label, helperText, addLabel, emptyLabel, size, disabled, maxRows, className, }: SortBuilderProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare namespace SortBuilder {
32
+ var displayName: string;
33
+ }
34
+ //# sourceMappingURL=SortBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/SortBuilder/SortBuilder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAqB,EACrB,UAAU,EACV,IAAW,EACX,QAAgB,EAChB,OAAO,EACP,SAAS,GACV,EAAE,gBAAgB,2CAwElB;yBApFe,WAAW"}
@@ -0,0 +1,2 @@
1
+ export { SortBuilder, type SortBuilderProps, type SortRule, type SortDirection, type SortFieldOption, } from "./SortBuilder";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SortBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}