@reopt-ai/opt-ui 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMPONENT_CATALOG.md +394 -201
- package/README.md +43 -5
- package/dist/core/index.cjs +2 -2
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -2
- package/dist/docs/02-components/01-core.md +150 -84
- package/dist/docs/02-components/02-visuals.md +1 -1
- package/dist/docs/02-components/03-shells.md +258 -117
- package/dist/docs/02-components/04-surfaces.md +1 -1
- package/dist/docs/02-components/index.md +5 -5
- package/dist/docs/03-recipes/02-dashboards.md +126 -10
- package/dist/{field-sidebar-DAuN4jPV.cjs → field-sidebar-BYgEmdy0.cjs} +1539 -1536
- package/dist/{field-sidebar-BXl5RJ3q.js → field-sidebar-BuO37l4c.js} +1540 -1539
- package/dist/{field-sidebar-B5SQC35J.d.cts → field-sidebar-CrYlRZew.d.ts} +164 -154
- package/dist/{field-sidebar-CBeWE8xX.d.ts → field-sidebar-uXmoyvd7.d.cts} +164 -154
- package/dist/id-registry.cjs +78 -6
- package/dist/id-registry.d.cts +1 -2
- package/dist/id-registry.d.ts +1 -2
- package/dist/id-registry.js +78 -8
- package/dist/id-registry.json +168 -19
- package/dist/index.cjs +1127 -224
- package/dist/index.d.cts +567 -58
- package/dist/index.d.ts +567 -58
- package/dist/index.js +1118 -227
- package/dist/{key-pad-menu-BxTy_u0Q.d.cts → key-pad-menu-CwcY_Vps.d.cts} +2 -3
- package/dist/{key-pad-menu-wXkWn1I1.js → key-pad-menu-Di2aRGbM.js} +4 -6
- package/dist/{key-pad-menu-Cg6rZBie.cjs → key-pad-menu-SItoHPLu.cjs} +1 -1
- package/dist/{key-pad-menu-u5GTJl9B.d.ts → key-pad-menu-WBJShCJn.d.ts} +3 -4
- package/dist/meta.cjs +678 -19
- package/dist/meta.d.cts +12 -36
- package/dist/meta.d.ts +12 -36
- package/dist/meta.js +678 -21
- package/dist/query.d.cts +1 -2
- package/dist/query.d.ts +1 -2
- package/dist/query.js +0 -2
- package/dist/shells/index.cjs +1 -1
- package/dist/shells/index.d.cts +1 -1
- package/dist/shells/index.d.ts +1 -1
- package/dist/shells/index.js +1 -1
- package/dist/{text-truncate-DW78lg4S.d.cts → text-truncate-CQyfUZvq.d.cts} +31 -3
- package/dist/{text-truncate-DW78lg4S.d.ts → text-truncate-CQyfUZvq.d.ts} +31 -3
- package/dist/{text-truncate-C17HHCR-.js → text-truncate-DSuZECy0.js} +43 -10
- package/dist/{text-truncate-BZdL1k5Z.cjs → text-truncate-I1XLWmRa.cjs} +48 -7
- package/dist/theme/server.d.cts +1 -2
- package/dist/theme/server.d.ts +1 -2
- package/dist/theme/server.js +0 -2
- package/dist/visuals/index.js +0 -1
- package/package.json +4 -3
- package/dist/field-sidebar-B5SQC35J.d.cts.map +0 -1
- package/dist/field-sidebar-BXl5RJ3q.js.map +0 -1
- package/dist/field-sidebar-CBeWE8xX.d.ts.map +0 -1
- package/dist/id-registry.d.cts.map +0 -1
- package/dist/id-registry.d.ts.map +0 -1
- package/dist/id-registry.js.map +0 -1
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/key-pad-menu-BxTy_u0Q.d.cts.map +0 -1
- package/dist/key-pad-menu-u5GTJl9B.d.ts.map +0 -1
- package/dist/key-pad-menu-wXkWn1I1.js.map +0 -1
- package/dist/meta.d.cts.map +0 -1
- package/dist/meta.d.ts.map +0 -1
- package/dist/meta.js.map +0 -1
- package/dist/query.d.cts.map +0 -1
- package/dist/query.d.ts.map +0 -1
- package/dist/query.js.map +0 -1
- package/dist/text-truncate-C17HHCR-.js.map +0 -1
- package/dist/text-truncate-DW78lg4S.d.cts.map +0 -1
- package/dist/text-truncate-DW78lg4S.d.ts.map +0 -1
- package/dist/theme/server.d.cts.map +0 -1
- package/dist/theme/server.d.ts.map +0 -1
- package/dist/theme/server.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { B as StatCard, C as DomainDef, I as NavItemDef, L as ProjectDef, M as FormFieldDef, N as MenuDef, O as FailureItem, S as DeploymentStep, V as TabDef, a as FieldDataType, f as BranchDef, k as FaqItem, q as ToolbarButtonDef, r as TruncationSide, w as EnvGroupDef, x as CommandDef, z as SelectOption } from "./text-truncate-CQyfUZvq.cjs";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ReactNode, Ref } from "react";
|
|
5
5
|
import { TimeGranularity, TimeRange, TimeRange as TimeRange$1, TimeSeriesAnnotation, TimeSeriesChartProps, TimeSeriesDef, TimeSeriesPoint } from "@reopt-ai/opt-charts";
|
|
@@ -288,7 +288,18 @@ interface DataTableProps<T> {
|
|
|
288
288
|
data: T[];
|
|
289
289
|
columns: ColumnDef<T>[];
|
|
290
290
|
keyExtractor: (row: T) => string;
|
|
291
|
+
/**
|
|
292
|
+
* A heading above the table. Omitted by default — most tables sit under a
|
|
293
|
+
* page heading that already names them, and a second one in English was
|
|
294
|
+
* showing up on screens that had never asked for a title.
|
|
295
|
+
*/
|
|
291
296
|
title?: string;
|
|
297
|
+
/**
|
|
298
|
+
* The grid's accessible name, for a table that shows no heading. `title`
|
|
299
|
+
* wins when both are given, so a visible heading is never contradicted by a
|
|
300
|
+
* different spoken one.
|
|
301
|
+
*/
|
|
302
|
+
ariaLabel?: string;
|
|
292
303
|
onRowClick?: (row: T) => void;
|
|
293
304
|
emptyMessage?: string;
|
|
294
305
|
/** Highlight a single row by its key */
|
|
@@ -313,7 +324,7 @@ interface DataTableProps<T> {
|
|
|
313
324
|
className?: string;
|
|
314
325
|
}
|
|
315
326
|
/** Renders the data table component. */
|
|
316
|
-
declare function DataTable<T>({ data, columns, keyExtractor, title, onRowClick, emptyMessage, activeRowId, sortable, selectable, selectedKeys, onSelectionChange, expandable, renderExpanded, pageSize, stickyHeader, resizableColumns, onSort: onSortExternal, className }: DataTableProps<T>): import("react").JSX.Element;
|
|
327
|
+
declare function DataTable<T>({ data, columns, keyExtractor, title, ariaLabel, onRowClick, emptyMessage, activeRowId, sortable, selectable, selectedKeys, onSelectionChange, expandable, renderExpanded, pageSize, stickyHeader, resizableColumns, onSort: onSortExternal, className }: DataTableProps<T>): import("react").JSX.Element;
|
|
317
328
|
//#endregion
|
|
318
329
|
//#region src/shells/notification-toast.d.ts
|
|
319
330
|
/** Defines the toast action shape. */
|
|
@@ -702,6 +713,156 @@ declare namespace Flyout {
|
|
|
702
713
|
var displayName: string;
|
|
703
714
|
}
|
|
704
715
|
//#endregion
|
|
716
|
+
//#region src/lib/query/query-ast.d.ts
|
|
717
|
+
/**
|
|
718
|
+
* A search query, as a value.
|
|
719
|
+
*
|
|
720
|
+
* Free-text search and a row of filter pickers answer different halves of the
|
|
721
|
+
* same question, and neither can express the other: a picker cannot say "not
|
|
722
|
+
* this", and a text box cannot say "this field, exactly". A parsed query is one
|
|
723
|
+
* thing that does both, and — because it is a value rather than a widget's
|
|
724
|
+
* internal state — it survives a URL, a saved view, and the trip to a server
|
|
725
|
+
* that has to turn it into a database filter.
|
|
726
|
+
*
|
|
727
|
+
* The grammar follows the one analytics tools have converged on (Elastic's
|
|
728
|
+
* `EuiSearchBar`, Kibana, GitHub's issue search), minus the parts that only
|
|
729
|
+
* make sense against a Lucene index:
|
|
730
|
+
*
|
|
731
|
+
* error a term anywhere in the row
|
|
732
|
+
* "connection reset" a phrase, kept together
|
|
733
|
+
* -health a term that must not appear
|
|
734
|
+
* path:/checkout a field equal to a value
|
|
735
|
+
* path:(/a or /b) a field equal to any of several values
|
|
736
|
+
* -status:200 a field that must not equal a value
|
|
737
|
+
* status>=500 a comparison
|
|
738
|
+
* path:*checkout* the field contains this somewhere
|
|
739
|
+
* utm_source:* the field is present at all
|
|
740
|
+
*
|
|
741
|
+
* Clauses combine with AND; `or` only groups values inside one field. That is
|
|
742
|
+
* a deliberate ceiling: arbitrary boolean nesting reads worse than it queries,
|
|
743
|
+
* and every backend this targets can express the restricted form directly.
|
|
744
|
+
*/
|
|
745
|
+
/** How a field clause compares. */
|
|
746
|
+
type QueryOperator = "eq" | "contains" | "gt" | "gte" | "lt" | "lte" | "exists";
|
|
747
|
+
/** A bare or quoted word matched against the whole row. */
|
|
748
|
+
interface QueryTermClause {
|
|
749
|
+
type: "term";
|
|
750
|
+
value: string;
|
|
751
|
+
negated: boolean;
|
|
752
|
+
}
|
|
753
|
+
/** A constraint on one named field. Several values read as "any of". */
|
|
754
|
+
interface QueryFieldClause {
|
|
755
|
+
type: "field";
|
|
756
|
+
field: string;
|
|
757
|
+
operator: QueryOperator;
|
|
758
|
+
values: string[];
|
|
759
|
+
negated: boolean;
|
|
760
|
+
}
|
|
761
|
+
type QueryClause = QueryTermClause | QueryFieldClause;
|
|
762
|
+
/** A parsed query: clauses combined with AND. */
|
|
763
|
+
interface Query {
|
|
764
|
+
clauses: QueryClause[];
|
|
765
|
+
}
|
|
766
|
+
declare const EMPTY_QUERY: Query;
|
|
767
|
+
/** Whether a query constrains anything at all. */
|
|
768
|
+
declare function isEmptyQuery(query: Query | null | undefined): boolean;
|
|
769
|
+
/** Add a clause unless an identical one is already there. */
|
|
770
|
+
declare function addClause(query: Query, clause: QueryClause): Query;
|
|
771
|
+
/**
|
|
772
|
+
* Constrain a field to a value — what a cell's "filter for this" action does.
|
|
773
|
+
*
|
|
774
|
+
* Applying the opposite of a constraint already present replaces it rather than
|
|
775
|
+
* adding it: `status:200` then "filter out 200" should read as one changed
|
|
776
|
+
* mind, not as a query that can never match.
|
|
777
|
+
*/
|
|
778
|
+
declare function withFieldValue(query: Query, field: string, value: string, options?: {
|
|
779
|
+
negated?: boolean;
|
|
780
|
+
operator?: QueryOperator;
|
|
781
|
+
}): Query;
|
|
782
|
+
/** Drop every clause naming `field`. */
|
|
783
|
+
declare function withoutField(query: Query, field: string): Query;
|
|
784
|
+
/** Drop the clause at `index`, for a removable chip. */
|
|
785
|
+
declare function removeClause(query: Query, index: number): Query;
|
|
786
|
+
/** Every field the query names, in the order they first appear. */
|
|
787
|
+
declare function queryFields(query: Query): string[];
|
|
788
|
+
/** The values a field is constrained to, if any — for showing a filter as active. */
|
|
789
|
+
declare function fieldValues(query: Query, field: string): string[];
|
|
790
|
+
/** What a "filter for / filter out" control on a value asks for. */
|
|
791
|
+
interface QueryCellAction {
|
|
792
|
+
field: string;
|
|
793
|
+
value: string;
|
|
794
|
+
intent: "include" | "exclude";
|
|
795
|
+
}
|
|
796
|
+
/**
|
|
797
|
+
* Fold a cell action into the query.
|
|
798
|
+
*
|
|
799
|
+
* The pair of buttons on a log cell is the fastest path from "I noticed this
|
|
800
|
+
* value" to a filtered view, and the reason it works is that the result is a
|
|
801
|
+
* query the reader can then see, edit and share — not a hidden filter stack
|
|
802
|
+
* with its own rules.
|
|
803
|
+
*/
|
|
804
|
+
declare function applyCellAction(query: Query, action: QueryCellAction): Query;
|
|
805
|
+
//#endregion
|
|
806
|
+
//#region src/shells/query-bar.d.ts
|
|
807
|
+
/** A field the query can constrain, offered as a completion. */
|
|
808
|
+
interface QueryField {
|
|
809
|
+
name: string;
|
|
810
|
+
/** Shown beside the name — a type, a count, whatever tells them apart. */
|
|
811
|
+
hint?: string;
|
|
812
|
+
/** Known values, offered once the reader has typed `field:`. */
|
|
813
|
+
values?: string[];
|
|
814
|
+
}
|
|
815
|
+
/** Localized strings for the query bar. */
|
|
816
|
+
interface QueryBarLabels {
|
|
817
|
+
placeholder?: string;
|
|
818
|
+
ariaLabel?: string;
|
|
819
|
+
clear?: string;
|
|
820
|
+
removeClause?: (clause: string) => string;
|
|
821
|
+
fieldsHeading?: string;
|
|
822
|
+
valuesHeading?: string;
|
|
823
|
+
syntaxHint?: ReactNode;
|
|
824
|
+
}
|
|
825
|
+
interface QueryBarProps {
|
|
826
|
+
value: Query;
|
|
827
|
+
onChange: (query: Query) => void;
|
|
828
|
+
/** Fields offered as completions, with their known values. */
|
|
829
|
+
fields?: QueryField[];
|
|
830
|
+
/** Show each clause as a removable chip below the input. */
|
|
831
|
+
showClauses?: boolean;
|
|
832
|
+
/** Commit on every keystroke instead of on Enter and blur. */
|
|
833
|
+
live?: boolean;
|
|
834
|
+
disabled?: boolean;
|
|
835
|
+
className?: string;
|
|
836
|
+
labels?: QueryBarLabels;
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* QueryBar — one control for "find this" and "only these".
|
|
840
|
+
*
|
|
841
|
+
* A search box and a row of filter pickers answer halves of the same question
|
|
842
|
+
* and neither can express the other, so people end up using both and holding
|
|
843
|
+
* the combination in their head. Typing the filter is what closes that: the
|
|
844
|
+
* whole question is one string, which means it can be read back, corrected in
|
|
845
|
+
* place, pasted to a colleague, and stored in a URL.
|
|
846
|
+
*
|
|
847
|
+
* The text is the source of truth while the reader is typing; the parsed query
|
|
848
|
+
* is committed on Enter or blur. Anything half-written parses to a plain term
|
|
849
|
+
* rather than an error, so the bar never argues with someone mid-word.
|
|
850
|
+
*
|
|
851
|
+
* @example
|
|
852
|
+
* ```tsx
|
|
853
|
+
* <QueryBar
|
|
854
|
+
* value={query}
|
|
855
|
+
* onChange={setQuery}
|
|
856
|
+
* fields={[{ name: "path", values: ["/checkout", "/cart"] }]}
|
|
857
|
+
* showClauses
|
|
858
|
+
* />
|
|
859
|
+
* ```
|
|
860
|
+
*/
|
|
861
|
+
declare function QueryBar({ value, onChange, fields, showClauses, live, disabled, className, labels: customLabels }: QueryBarProps): import("react").JSX.Element;
|
|
862
|
+
declare namespace QueryBar {
|
|
863
|
+
var displayName: string;
|
|
864
|
+
}
|
|
865
|
+
//#endregion
|
|
705
866
|
//#region src/shells/time-range-control.d.ts
|
|
706
867
|
/** A named window offered in the quick-select list. */
|
|
707
868
|
interface TimeRangePreset {
|
|
@@ -1037,156 +1198,6 @@ declare const LogTable: <Row>(props: LogTableProps<Row> & {
|
|
|
1037
1198
|
ref?: Ref<LogTableHandle>;
|
|
1038
1199
|
}) => ReturnType<typeof LogTableInner>;
|
|
1039
1200
|
//#endregion
|
|
1040
|
-
//#region src/lib/query/query-ast.d.ts
|
|
1041
|
-
/**
|
|
1042
|
-
* A search query, as a value.
|
|
1043
|
-
*
|
|
1044
|
-
* Free-text search and a row of filter pickers answer different halves of the
|
|
1045
|
-
* same question, and neither can express the other: a picker cannot say "not
|
|
1046
|
-
* this", and a text box cannot say "this field, exactly". A parsed query is one
|
|
1047
|
-
* thing that does both, and — because it is a value rather than a widget's
|
|
1048
|
-
* internal state — it survives a URL, a saved view, and the trip to a server
|
|
1049
|
-
* that has to turn it into a database filter.
|
|
1050
|
-
*
|
|
1051
|
-
* The grammar follows the one analytics tools have converged on (Elastic's
|
|
1052
|
-
* `EuiSearchBar`, Kibana, GitHub's issue search), minus the parts that only
|
|
1053
|
-
* make sense against a Lucene index:
|
|
1054
|
-
*
|
|
1055
|
-
* error a term anywhere in the row
|
|
1056
|
-
* "connection reset" a phrase, kept together
|
|
1057
|
-
* -health a term that must not appear
|
|
1058
|
-
* path:/checkout a field equal to a value
|
|
1059
|
-
* path:(/a or /b) a field equal to any of several values
|
|
1060
|
-
* -status:200 a field that must not equal a value
|
|
1061
|
-
* status>=500 a comparison
|
|
1062
|
-
* path:*checkout* the field contains this somewhere
|
|
1063
|
-
* utm_source:* the field is present at all
|
|
1064
|
-
*
|
|
1065
|
-
* Clauses combine with AND; `or` only groups values inside one field. That is
|
|
1066
|
-
* a deliberate ceiling: arbitrary boolean nesting reads worse than it queries,
|
|
1067
|
-
* and every backend this targets can express the restricted form directly.
|
|
1068
|
-
*/
|
|
1069
|
-
/** How a field clause compares. */
|
|
1070
|
-
type QueryOperator = "eq" | "contains" | "gt" | "gte" | "lt" | "lte" | "exists";
|
|
1071
|
-
/** A bare or quoted word matched against the whole row. */
|
|
1072
|
-
interface QueryTermClause {
|
|
1073
|
-
type: "term";
|
|
1074
|
-
value: string;
|
|
1075
|
-
negated: boolean;
|
|
1076
|
-
}
|
|
1077
|
-
/** A constraint on one named field. Several values read as "any of". */
|
|
1078
|
-
interface QueryFieldClause {
|
|
1079
|
-
type: "field";
|
|
1080
|
-
field: string;
|
|
1081
|
-
operator: QueryOperator;
|
|
1082
|
-
values: string[];
|
|
1083
|
-
negated: boolean;
|
|
1084
|
-
}
|
|
1085
|
-
type QueryClause = QueryTermClause | QueryFieldClause;
|
|
1086
|
-
/** A parsed query: clauses combined with AND. */
|
|
1087
|
-
interface Query {
|
|
1088
|
-
clauses: QueryClause[];
|
|
1089
|
-
}
|
|
1090
|
-
declare const EMPTY_QUERY: Query;
|
|
1091
|
-
/** Whether a query constrains anything at all. */
|
|
1092
|
-
declare function isEmptyQuery(query: Query | null | undefined): boolean;
|
|
1093
|
-
/** Add a clause unless an identical one is already there. */
|
|
1094
|
-
declare function addClause(query: Query, clause: QueryClause): Query;
|
|
1095
|
-
/**
|
|
1096
|
-
* Constrain a field to a value — what a cell's "filter for this" action does.
|
|
1097
|
-
*
|
|
1098
|
-
* Applying the opposite of a constraint already present replaces it rather than
|
|
1099
|
-
* adding it: `status:200` then "filter out 200" should read as one changed
|
|
1100
|
-
* mind, not as a query that can never match.
|
|
1101
|
-
*/
|
|
1102
|
-
declare function withFieldValue(query: Query, field: string, value: string, options?: {
|
|
1103
|
-
negated?: boolean;
|
|
1104
|
-
operator?: QueryOperator;
|
|
1105
|
-
}): Query;
|
|
1106
|
-
/** Drop every clause naming `field`. */
|
|
1107
|
-
declare function withoutField(query: Query, field: string): Query;
|
|
1108
|
-
/** Drop the clause at `index`, for a removable chip. */
|
|
1109
|
-
declare function removeClause(query: Query, index: number): Query;
|
|
1110
|
-
/** Every field the query names, in the order they first appear. */
|
|
1111
|
-
declare function queryFields(query: Query): string[];
|
|
1112
|
-
/** The values a field is constrained to, if any — for showing a filter as active. */
|
|
1113
|
-
declare function fieldValues(query: Query, field: string): string[];
|
|
1114
|
-
/** What a "filter for / filter out" control on a value asks for. */
|
|
1115
|
-
interface QueryCellAction {
|
|
1116
|
-
field: string;
|
|
1117
|
-
value: string;
|
|
1118
|
-
intent: "include" | "exclude";
|
|
1119
|
-
}
|
|
1120
|
-
/**
|
|
1121
|
-
* Fold a cell action into the query.
|
|
1122
|
-
*
|
|
1123
|
-
* The pair of buttons on a log cell is the fastest path from "I noticed this
|
|
1124
|
-
* value" to a filtered view, and the reason it works is that the result is a
|
|
1125
|
-
* query the reader can then see, edit and share — not a hidden filter stack
|
|
1126
|
-
* with its own rules.
|
|
1127
|
-
*/
|
|
1128
|
-
declare function applyCellAction(query: Query, action: QueryCellAction): Query;
|
|
1129
|
-
//#endregion
|
|
1130
|
-
//#region src/shells/query-bar.d.ts
|
|
1131
|
-
/** A field the query can constrain, offered as a completion. */
|
|
1132
|
-
interface QueryField {
|
|
1133
|
-
name: string;
|
|
1134
|
-
/** Shown beside the name — a type, a count, whatever tells them apart. */
|
|
1135
|
-
hint?: string;
|
|
1136
|
-
/** Known values, offered once the reader has typed `field:`. */
|
|
1137
|
-
values?: string[];
|
|
1138
|
-
}
|
|
1139
|
-
/** Localized strings for the query bar. */
|
|
1140
|
-
interface QueryBarLabels {
|
|
1141
|
-
placeholder?: string;
|
|
1142
|
-
ariaLabel?: string;
|
|
1143
|
-
clear?: string;
|
|
1144
|
-
removeClause?: (clause: string) => string;
|
|
1145
|
-
fieldsHeading?: string;
|
|
1146
|
-
valuesHeading?: string;
|
|
1147
|
-
syntaxHint?: ReactNode;
|
|
1148
|
-
}
|
|
1149
|
-
interface QueryBarProps {
|
|
1150
|
-
value: Query;
|
|
1151
|
-
onChange: (query: Query) => void;
|
|
1152
|
-
/** Fields offered as completions, with their known values. */
|
|
1153
|
-
fields?: QueryField[];
|
|
1154
|
-
/** Show each clause as a removable chip below the input. */
|
|
1155
|
-
showClauses?: boolean;
|
|
1156
|
-
/** Commit on every keystroke instead of on Enter and blur. */
|
|
1157
|
-
live?: boolean;
|
|
1158
|
-
disabled?: boolean;
|
|
1159
|
-
className?: string;
|
|
1160
|
-
labels?: QueryBarLabels;
|
|
1161
|
-
}
|
|
1162
|
-
/**
|
|
1163
|
-
* QueryBar — one control for "find this" and "only these".
|
|
1164
|
-
*
|
|
1165
|
-
* A search box and a row of filter pickers answer halves of the same question
|
|
1166
|
-
* and neither can express the other, so people end up using both and holding
|
|
1167
|
-
* the combination in their head. Typing the filter is what closes that: the
|
|
1168
|
-
* whole question is one string, which means it can be read back, corrected in
|
|
1169
|
-
* place, pasted to a colleague, and stored in a URL.
|
|
1170
|
-
*
|
|
1171
|
-
* The text is the source of truth while the reader is typing; the parsed query
|
|
1172
|
-
* is committed on Enter or blur. Anything half-written parses to a plain term
|
|
1173
|
-
* rather than an error, so the bar never argues with someone mid-word.
|
|
1174
|
-
*
|
|
1175
|
-
* @example
|
|
1176
|
-
* ```tsx
|
|
1177
|
-
* <QueryBar
|
|
1178
|
-
* value={query}
|
|
1179
|
-
* onChange={setQuery}
|
|
1180
|
-
* fields={[{ name: "path", values: ["/checkout", "/cart"] }]}
|
|
1181
|
-
* showClauses
|
|
1182
|
-
* />
|
|
1183
|
-
* ```
|
|
1184
|
-
*/
|
|
1185
|
-
declare function QueryBar({ value, onChange, fields, showClauses, live, disabled, className, labels: customLabels }: QueryBarProps): import("react").JSX.Element;
|
|
1186
|
-
declare namespace QueryBar {
|
|
1187
|
-
var displayName: string;
|
|
1188
|
-
}
|
|
1189
|
-
//#endregion
|
|
1190
1201
|
//#region src/shells/field-sidebar.d.ts
|
|
1191
1202
|
/** One value a field takes, with how often. */
|
|
1192
1203
|
interface FieldValueCount {
|
|
@@ -1277,5 +1288,4 @@ declare namespace FieldSidebar {
|
|
|
1277
1288
|
var displayName: string;
|
|
1278
1289
|
}
|
|
1279
1290
|
//#endregion
|
|
1280
|
-
export { EventTimelineItem as $, DashboardGridProps as $t,
|
|
1281
|
-
//# sourceMappingURL=field-sidebar-CBeWE8xX.d.ts.map
|
|
1291
|
+
export { EventTimelineItem as $, DashboardGridProps as $t, QueryCellAction as A, EnvPanel as At, removeClause as B, ContentTabs as Bt, TimeRangePreset as C, ColumnDef as Ct, QueryField as D, DomainTableProps as Dt, QueryBarProps as E, DomainTable as Et, addClause as F, DeploymentTimelineProps as Ft, FlyoutProps as G, SidebarNavProps as Gt, withoutField as H, EditorToolbar as Ht, applyCellAction as I, SettingsForm as It, ScoreBreakdown as J, StatusSelect as Jt, ScoreAxis as K, AppMenubar as Kt, fieldValues as L, SettingsFormProps as Lt, QueryFieldClause as M, ProjectSwitcher as Mt, QueryOperator as N, ProjectSwitcherProps as Nt, EMPTY_QUERY as O, BranchSelect as Ot, QueryTermClause as P, DeploymentTimeline as Pt, EventTimelineGroup as Q, DashboardGrid as Qt, isEmptyQuery as R, FaqAccordion as Rt, TimeRangeControlProps as S, useToast as St, QueryBarLabels as T, DataTableProps as Tt, Flyout as U, EditorToolbarProps as Ut, withFieldValue as V, ContentTabsProps as Vt, FlyoutLabels as W, SidebarNav as Wt, ScoreBreakdownProps as X, SearchCombobox as Xt, ScoreBreakdownLabels as Y, StatusSelectProps as Yt, EventTimeline as Z, SearchComboboxProps as Zt, TimeSeriesPanelProps as _, ToastMessage as _t, FieldValueCount as a, WorkflowCanvasProps as at, TimeRangeControl as b, ToastVariant as bt, LogColumnPriority as c, KeyValueEditorLabels as ct, LogTable as d, FailureList as dt, CommandPaletteTrigger as en, EventTimelineLabels as et, LogTableHandle as f, FailureListLabels as ft, TimeSeriesPanelLabels as g, ToastContextValue as gt, TimeSeriesPanel as h, ToastAction as ht, FieldSummary as i, WorkflowCanvasConnection as it, QueryClause as j, EnvPanelProps as jt, Query as k, BranchSelectProps as kt, LogDensity as l, KeyValueEditorProps as lt, LogTableProps as m, NotificationToast as mt, FieldSidebarLabels as n, CommandPalette as nn, EventTimelineTone as nt, LogCellAction as o, WorkflowCanvasStep as ot, LogTableLabels as p, FailureListProps as pt, ScoreBand as q, AppMenubarProps as qt, FieldSidebarProps as r, CommandPaletteProps as rn, WorkflowCanvas as rt, LogColumn as s, KeyValueEditor as st, FieldSidebar as t, CommandPaletteTriggerProps as tn, EventTimelineProps as tt, LogSort as u, KeyValueEntry as ut, DEFAULT_TIME_PRESETS as v, ToastProvider as vt, QueryBar as w, DataTable as wt, TimeRangeControlLabels as x, toast as xt, RefreshSetting as y, ToastProviderProps as yt, queryFields as z, FaqAccordionProps as zt };
|
package/dist/id-registry.cjs
CHANGED
|
@@ -126,6 +126,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
126
126
|
layer: "core",
|
|
127
127
|
metaName: "Button"
|
|
128
128
|
},
|
|
129
|
+
AT7TX: {
|
|
130
|
+
slug: "callout",
|
|
131
|
+
exportName: "Callout",
|
|
132
|
+
layer: "core",
|
|
133
|
+
metaName: "Callout"
|
|
134
|
+
},
|
|
129
135
|
"0A18R": {
|
|
130
136
|
slug: "card",
|
|
131
137
|
exportName: "Card",
|
|
@@ -162,6 +168,24 @@ const ID_REGISTRY = Object.freeze({
|
|
|
162
168
|
layer: "core",
|
|
163
169
|
metaName: "Card"
|
|
164
170
|
},
|
|
171
|
+
N01CV: {
|
|
172
|
+
slug: "catalog-frame",
|
|
173
|
+
exportName: "CatalogCellControls",
|
|
174
|
+
layer: "shells",
|
|
175
|
+
metaName: "CatalogFrame"
|
|
176
|
+
},
|
|
177
|
+
QS0ZT: {
|
|
178
|
+
slug: "catalog-frame",
|
|
179
|
+
exportName: "CatalogFrame",
|
|
180
|
+
layer: "shells",
|
|
181
|
+
metaName: "CatalogFrame"
|
|
182
|
+
},
|
|
183
|
+
"8GSVA": {
|
|
184
|
+
slug: "catalog-frame",
|
|
185
|
+
exportName: "CatalogRowActions",
|
|
186
|
+
layer: "shells",
|
|
187
|
+
metaName: "CatalogFrame"
|
|
188
|
+
},
|
|
165
189
|
M8KX1: {
|
|
166
190
|
slug: "chat-input",
|
|
167
191
|
exportName: "ChatInput",
|
|
@@ -378,6 +402,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
378
402
|
layer: "shells",
|
|
379
403
|
metaName: "ContentTabs"
|
|
380
404
|
},
|
|
405
|
+
E0C8T: {
|
|
406
|
+
slug: "copy-button",
|
|
407
|
+
exportName: "CopyButton",
|
|
408
|
+
layer: "core",
|
|
409
|
+
metaName: "CopyButton"
|
|
410
|
+
},
|
|
381
411
|
BM7NA: {
|
|
382
412
|
slug: "dashboard-grid",
|
|
383
413
|
exportName: "DashboardGrid",
|
|
@@ -906,6 +936,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
906
936
|
layer: "shells",
|
|
907
937
|
metaName: "InsightsPanel"
|
|
908
938
|
},
|
|
939
|
+
MN44T: {
|
|
940
|
+
slug: "inspector-layout",
|
|
941
|
+
exportName: "InspectorLayout",
|
|
942
|
+
layer: "shells",
|
|
943
|
+
metaName: "InspectorLayout"
|
|
944
|
+
},
|
|
909
945
|
T6JWY: {
|
|
910
946
|
slug: "kanban-board",
|
|
911
947
|
exportName: "KanbanBoard",
|
|
@@ -954,7 +990,7 @@ const ID_REGISTRY = Object.freeze({
|
|
|
954
990
|
layer: "core",
|
|
955
991
|
metaName: "Logo"
|
|
956
992
|
},
|
|
957
|
-
|
|
993
|
+
AHTK9: {
|
|
958
994
|
slug: "mega-menu",
|
|
959
995
|
exportName: "MegaMenu",
|
|
960
996
|
layer: "shells",
|
|
@@ -1134,6 +1170,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
1134
1170
|
layer: "shells",
|
|
1135
1171
|
metaName: "QueryBar"
|
|
1136
1172
|
},
|
|
1173
|
+
SK31N: {
|
|
1174
|
+
slug: "query-filter-bar",
|
|
1175
|
+
exportName: "QueryFilterBar",
|
|
1176
|
+
layer: "shells",
|
|
1177
|
+
metaName: "QueryFilterBar"
|
|
1178
|
+
},
|
|
1137
1179
|
PNC1V: {
|
|
1138
1180
|
slug: "query-results-table",
|
|
1139
1181
|
exportName: "QueryResultsTable",
|
|
@@ -1224,6 +1266,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
1224
1266
|
layer: "shells",
|
|
1225
1267
|
metaName: "SegmentBuilder"
|
|
1226
1268
|
},
|
|
1269
|
+
YKENE: {
|
|
1270
|
+
slug: "segmented-control",
|
|
1271
|
+
exportName: "SegmentedControl",
|
|
1272
|
+
layer: "core",
|
|
1273
|
+
metaName: "SegmentedControl"
|
|
1274
|
+
},
|
|
1227
1275
|
KKBAF: {
|
|
1228
1276
|
slug: "select",
|
|
1229
1277
|
exportName: "SelectItem",
|
|
@@ -1344,6 +1392,12 @@ const ID_REGISTRY = Object.freeze({
|
|
|
1344
1392
|
layer: "core",
|
|
1345
1393
|
metaName: "StatCard"
|
|
1346
1394
|
},
|
|
1395
|
+
N51AT: {
|
|
1396
|
+
slug: "status-dot",
|
|
1397
|
+
exportName: "StatusDot",
|
|
1398
|
+
layer: "core",
|
|
1399
|
+
metaName: "StatusDot"
|
|
1400
|
+
},
|
|
1347
1401
|
R46E6: {
|
|
1348
1402
|
slug: "status-select",
|
|
1349
1403
|
exportName: "StatusSelect",
|
|
@@ -1452,7 +1506,7 @@ const ID_REGISTRY = Object.freeze({
|
|
|
1452
1506
|
layer: "shells",
|
|
1453
1507
|
metaName: "TimeRangeSelector"
|
|
1454
1508
|
},
|
|
1455
|
-
|
|
1509
|
+
"9EHHC": {
|
|
1456
1510
|
slug: "time-series-panel",
|
|
1457
1511
|
exportName: "TimeSeriesPanel",
|
|
1458
1512
|
layer: "shells",
|
|
@@ -1512,7 +1566,7 @@ const ID_REGISTRY = Object.freeze({
|
|
|
1512
1566
|
layer: "core",
|
|
1513
1567
|
metaName: "Toolbar"
|
|
1514
1568
|
},
|
|
1515
|
-
|
|
1569
|
+
PP194: {
|
|
1516
1570
|
slug: "tree-table",
|
|
1517
1571
|
exportName: "TreeTable",
|
|
1518
1572
|
layer: "shells",
|
|
@@ -1574,12 +1628,16 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1574
1628
|
"breadcrumb.Breadcrumb": "3FR0Y",
|
|
1575
1629
|
"bulk-actions.BulkActions": "Q3J33",
|
|
1576
1630
|
"button.Button": "RGX84",
|
|
1631
|
+
"callout.Callout": "AT7TX",
|
|
1577
1632
|
"card.Card": "0A18R",
|
|
1578
1633
|
"card.CardContent": "9Y68R",
|
|
1579
1634
|
"card.CardDescription": "YB1RN",
|
|
1580
1635
|
"card.CardFooter": "GRNTR",
|
|
1581
1636
|
"card.CardHeader": "JST3J",
|
|
1582
1637
|
"card.CardTitle": "V15TX",
|
|
1638
|
+
"catalog-frame.CatalogCellControls": "N01CV",
|
|
1639
|
+
"catalog-frame.CatalogFrame": "QS0ZT",
|
|
1640
|
+
"catalog-frame.CatalogRowActions": "8GSVA",
|
|
1583
1641
|
"chat-input.ChatInput": "M8KX1",
|
|
1584
1642
|
"chat-message-list.ChatMessageList": "YK725",
|
|
1585
1643
|
"chat-sidebar.ChatSidebar": "TBVMY",
|
|
@@ -1616,6 +1674,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1616
1674
|
"connection-indicator.ConnectionIndicator": "191EC",
|
|
1617
1675
|
"container.Container": "H3G96",
|
|
1618
1676
|
"content-tabs.ContentTabs": "9W97K",
|
|
1677
|
+
"copy-button.CopyButton": "E0C8T",
|
|
1619
1678
|
"dashboard-grid.DashboardGrid": "BM7NA",
|
|
1620
1679
|
"data-import-wizard.DataImportWizard": "QD9XR",
|
|
1621
1680
|
"data-table.DataTable": "J1KN4",
|
|
@@ -1704,6 +1763,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1704
1763
|
"inline-edit.InlineEdit": "RQ0H2",
|
|
1705
1764
|
"input.Input": "7BY1Q",
|
|
1706
1765
|
"insights-panel.InsightsPanel": "HCYZV",
|
|
1766
|
+
"inspector-layout.InspectorLayout": "MN44T",
|
|
1707
1767
|
"kanban-board.KanbanBoard": "T6JWY",
|
|
1708
1768
|
"kbd.Kbd": "NPHB8",
|
|
1709
1769
|
"key-pad-menu.KeyPadMenu": "ZZG2R",
|
|
@@ -1712,7 +1772,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1712
1772
|
"loading-overlay.LoadingOverlay": "380ZR",
|
|
1713
1773
|
"log-table.LogTable": "3ZR82",
|
|
1714
1774
|
"logo.Logo": "R906A",
|
|
1715
|
-
"mega-menu.MegaMenu": "
|
|
1775
|
+
"mega-menu.MegaMenu": "AHTK9",
|
|
1716
1776
|
"menu.MenuButtonArrow": "J1AQH",
|
|
1717
1777
|
"menu.MenuItem": "71JVB",
|
|
1718
1778
|
"menu.MenuItemCheckbox": "DG8B3",
|
|
@@ -1742,6 +1802,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1742
1802
|
"prompt-template.PromptTemplate": "5E56D",
|
|
1743
1803
|
"property-explorer.PropertyExplorer": "HJF32",
|
|
1744
1804
|
"query-bar.QueryBar": "JSVZ1",
|
|
1805
|
+
"query-filter-bar.QueryFilterBar": "SK31N",
|
|
1745
1806
|
"query-results-table.QueryResultsTable": "PNC1V",
|
|
1746
1807
|
"quick-actions.QuickActions": "CEM9F",
|
|
1747
1808
|
"radio-group.Radio": "HY7YG",
|
|
@@ -1757,6 +1818,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1757
1818
|
"search-combobox.SearchCombobox": "KH4TQ",
|
|
1758
1819
|
"section.Section": "M3QXW",
|
|
1759
1820
|
"segment-builder.SegmentBuilder": "ZSC94",
|
|
1821
|
+
"segmented-control.SegmentedControl": "YKENE",
|
|
1760
1822
|
"select.SelectItem": "KKBAF",
|
|
1761
1823
|
"select.SelectLabel": "SKM59",
|
|
1762
1824
|
"select.SelectPopover": "P152F",
|
|
@@ -1777,6 +1839,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1777
1839
|
"sql-editor.SqlEditor": "RSGKV",
|
|
1778
1840
|
"star-rating.StarRating": "B6ZY4",
|
|
1779
1841
|
"stat-card.StatCard": "JE7MK",
|
|
1842
|
+
"status-dot.StatusDot": "N51AT",
|
|
1780
1843
|
"status-select.StatusSelect": "R46E6",
|
|
1781
1844
|
"step-builder.StepBuilder": "7BQDT",
|
|
1782
1845
|
"summary-row.SummaryRow": "FGFP3",
|
|
@@ -1795,7 +1858,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1795
1858
|
"theme-switcher.ThemeSwitcher": "8JX0N",
|
|
1796
1859
|
"time-range-control.TimeRangeControl": "3WJ8H",
|
|
1797
1860
|
"time-range-selector.TimeRangeSelector": "K0D7C",
|
|
1798
|
-
"time-series-panel.TimeSeriesPanel": "
|
|
1861
|
+
"time-series-panel.TimeSeriesPanel": "9EHHC",
|
|
1799
1862
|
"toggle.Toggle": "GFCMY",
|
|
1800
1863
|
"toggle.ToggleGroup": "47J37",
|
|
1801
1864
|
"toolbar.ToolbarButton": "C212C",
|
|
@@ -1805,7 +1868,7 @@ const SLUG_TO_ID = Object.freeze({
|
|
|
1805
1868
|
"toolbar.Tooltip": "XSAT4",
|
|
1806
1869
|
"toolbar.TooltipAnchor": "SAW1B",
|
|
1807
1870
|
"toolbar.TooltipProvider": "6NKHT",
|
|
1808
|
-
"tree-table.TreeTable": "
|
|
1871
|
+
"tree-table.TreeTable": "PP194",
|
|
1809
1872
|
"vertical-tabs.VerticalTabs": "J81G4",
|
|
1810
1873
|
"virtual-list.VirtualList": "VT2NP",
|
|
1811
1874
|
"webhook-config.WebhookConfig": "B6B1Z",
|
|
@@ -1834,12 +1897,16 @@ const ALL_SLUGS = Object.freeze([
|
|
|
1834
1897
|
"breadcrumb.Breadcrumb",
|
|
1835
1898
|
"bulk-actions.BulkActions",
|
|
1836
1899
|
"button.Button",
|
|
1900
|
+
"callout.Callout",
|
|
1837
1901
|
"card.Card",
|
|
1838
1902
|
"card.CardContent",
|
|
1839
1903
|
"card.CardDescription",
|
|
1840
1904
|
"card.CardFooter",
|
|
1841
1905
|
"card.CardHeader",
|
|
1842
1906
|
"card.CardTitle",
|
|
1907
|
+
"catalog-frame.CatalogCellControls",
|
|
1908
|
+
"catalog-frame.CatalogFrame",
|
|
1909
|
+
"catalog-frame.CatalogRowActions",
|
|
1843
1910
|
"chat-input.ChatInput",
|
|
1844
1911
|
"chat-message-list.ChatMessageList",
|
|
1845
1912
|
"chat-sidebar.ChatSidebar",
|
|
@@ -1876,6 +1943,7 @@ const ALL_SLUGS = Object.freeze([
|
|
|
1876
1943
|
"connection-indicator.ConnectionIndicator",
|
|
1877
1944
|
"container.Container",
|
|
1878
1945
|
"content-tabs.ContentTabs",
|
|
1946
|
+
"copy-button.CopyButton",
|
|
1879
1947
|
"dashboard-grid.DashboardGrid",
|
|
1880
1948
|
"data-import-wizard.DataImportWizard",
|
|
1881
1949
|
"data-table.DataTable",
|
|
@@ -1964,6 +2032,7 @@ const ALL_SLUGS = Object.freeze([
|
|
|
1964
2032
|
"inline-edit.InlineEdit",
|
|
1965
2033
|
"input.Input",
|
|
1966
2034
|
"insights-panel.InsightsPanel",
|
|
2035
|
+
"inspector-layout.InspectorLayout",
|
|
1967
2036
|
"kanban-board.KanbanBoard",
|
|
1968
2037
|
"kbd.Kbd",
|
|
1969
2038
|
"key-pad-menu.KeyPadMenu",
|
|
@@ -2002,6 +2071,7 @@ const ALL_SLUGS = Object.freeze([
|
|
|
2002
2071
|
"prompt-template.PromptTemplate",
|
|
2003
2072
|
"property-explorer.PropertyExplorer",
|
|
2004
2073
|
"query-bar.QueryBar",
|
|
2074
|
+
"query-filter-bar.QueryFilterBar",
|
|
2005
2075
|
"query-results-table.QueryResultsTable",
|
|
2006
2076
|
"quick-actions.QuickActions",
|
|
2007
2077
|
"radio-group.Radio",
|
|
@@ -2017,6 +2087,7 @@ const ALL_SLUGS = Object.freeze([
|
|
|
2017
2087
|
"search-combobox.SearchCombobox",
|
|
2018
2088
|
"section.Section",
|
|
2019
2089
|
"segment-builder.SegmentBuilder",
|
|
2090
|
+
"segmented-control.SegmentedControl",
|
|
2020
2091
|
"select.SelectItem",
|
|
2021
2092
|
"select.SelectLabel",
|
|
2022
2093
|
"select.SelectPopover",
|
|
@@ -2037,6 +2108,7 @@ const ALL_SLUGS = Object.freeze([
|
|
|
2037
2108
|
"sql-editor.SqlEditor",
|
|
2038
2109
|
"star-rating.StarRating",
|
|
2039
2110
|
"stat-card.StatCard",
|
|
2111
|
+
"status-dot.StatusDot",
|
|
2040
2112
|
"status-select.StatusSelect",
|
|
2041
2113
|
"step-builder.StepBuilder",
|
|
2042
2114
|
"summary-row.SummaryRow",
|
package/dist/id-registry.d.cts
CHANGED
|
@@ -26,5 +26,4 @@ declare const SLUG_TO_ID: Readonly<Record<string, string>>;
|
|
|
26
26
|
/** Sorted list of every `{slug}.{ExportName}` — useful for snapshot diffs. */
|
|
27
27
|
declare const ALL_SLUGS: readonly string[];
|
|
28
28
|
//#endregion
|
|
29
|
-
export { ALL_SLUGS, ID_REGISTRY, OptIdEntry, OptIdLayer, SLUG_TO_ID };
|
|
30
|
-
//# sourceMappingURL=id-registry.d.cts.map
|
|
29
|
+
export { ALL_SLUGS, ID_REGISTRY, OptIdEntry, OptIdLayer, SLUG_TO_ID };
|
package/dist/id-registry.d.ts
CHANGED
|
@@ -26,5 +26,4 @@ declare const SLUG_TO_ID: Readonly<Record<string, string>>;
|
|
|
26
26
|
/** Sorted list of every `{slug}.{ExportName}` — useful for snapshot diffs. */
|
|
27
27
|
declare const ALL_SLUGS: readonly string[];
|
|
28
28
|
//#endregion
|
|
29
|
-
export { ALL_SLUGS, ID_REGISTRY, OptIdEntry, OptIdLayer, SLUG_TO_ID };
|
|
30
|
-
//# sourceMappingURL=id-registry.d.ts.map
|
|
29
|
+
export { ALL_SLUGS, ID_REGISTRY, OptIdEntry, OptIdLayer, SLUG_TO_ID };
|