@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
package/dist/query.d.cts
CHANGED
|
@@ -137,5 +137,4 @@ declare function matchesQueryObject(query: Query, row: Record<string, unknown>,
|
|
|
137
137
|
nested?: string;
|
|
138
138
|
}): boolean;
|
|
139
139
|
//#endregion
|
|
140
|
-
export { EMPTY_QUERY, type FieldReader, type ParsedQuery, type Query, type QueryCellAction, type QueryClause, type QueryDiagnostic, type QueryFieldClause, type QueryOperator, type QueryTermClause, addClause, applyCellAction, describeClause, fieldValues, formatClause, formatQuery, isEmptyQuery, matchesQuery, matchesQueryObject, parseQuery, parseQueryWithDiagnostics, queryFields, quoteValue, removeClause, withFieldValue, withoutField };
|
|
141
|
-
//# sourceMappingURL=query.d.cts.map
|
|
140
|
+
export { EMPTY_QUERY, type FieldReader, type ParsedQuery, type Query, type QueryCellAction, type QueryClause, type QueryDiagnostic, type QueryFieldClause, type QueryOperator, type QueryTermClause, addClause, applyCellAction, describeClause, fieldValues, formatClause, formatQuery, isEmptyQuery, matchesQuery, matchesQueryObject, parseQuery, parseQueryWithDiagnostics, queryFields, quoteValue, removeClause, withFieldValue, withoutField };
|
package/dist/query.d.ts
CHANGED
|
@@ -137,5 +137,4 @@ declare function matchesQueryObject(query: Query, row: Record<string, unknown>,
|
|
|
137
137
|
nested?: string;
|
|
138
138
|
}): boolean;
|
|
139
139
|
//#endregion
|
|
140
|
-
export { EMPTY_QUERY, type FieldReader, type ParsedQuery, type Query, type QueryCellAction, type QueryClause, type QueryDiagnostic, type QueryFieldClause, type QueryOperator, type QueryTermClause, addClause, applyCellAction, describeClause, fieldValues, formatClause, formatQuery, isEmptyQuery, matchesQuery, matchesQueryObject, parseQuery, parseQueryWithDiagnostics, queryFields, quoteValue, removeClause, withFieldValue, withoutField };
|
|
141
|
-
//# sourceMappingURL=query.d.ts.map
|
|
140
|
+
export { EMPTY_QUERY, type FieldReader, type ParsedQuery, type Query, type QueryCellAction, type QueryClause, type QueryDiagnostic, type QueryFieldClause, type QueryOperator, type QueryTermClause, addClause, applyCellAction, describeClause, fieldValues, formatClause, formatQuery, isEmptyQuery, matchesQuery, matchesQueryObject, parseQuery, parseQueryWithDiagnostics, queryFields, quoteValue, removeClause, withFieldValue, withoutField };
|
package/dist/query.js
CHANGED
|
@@ -367,5 +367,3 @@ function matchesQueryObject(query, row, options = {}) {
|
|
|
367
367
|
}
|
|
368
368
|
//#endregion
|
|
369
369
|
export { EMPTY_QUERY, addClause, applyCellAction, describeClause, fieldValues, formatClause, formatQuery, isEmptyQuery, matchesQuery, matchesQueryObject, parseQuery, parseQueryWithDiagnostics, queryFields, quoteValue, removeClause, withFieldValue, withoutField };
|
|
370
|
-
|
|
371
|
-
//# sourceMappingURL=query.js.map
|
package/dist/shells/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
-
const require_field_sidebar = require("../field-sidebar-
|
|
4
|
+
const require_field_sidebar = require("../field-sidebar-BYgEmdy0.cjs");
|
|
5
5
|
let _reopt_ai_opt_charts = require("@reopt-ai/opt-charts");
|
|
6
6
|
exports.AppMenubar = require_field_sidebar.AppMenubar;
|
|
7
7
|
exports.BranchSelect = require_field_sidebar.BranchSelect;
|
package/dist/shells/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import { $ as EventTimelineItem, $t as DashboardGridProps,
|
|
2
|
+
import { $ as EventTimelineItem, $t as DashboardGridProps, At as EnvPanel, Bt as ContentTabs, C as TimeRangePreset, Ct as ColumnDef, D as QueryField, Dt as DomainTableProps, E as QueryBarProps, Et as DomainTable, Ft as DeploymentTimelineProps, G as FlyoutProps, Gt as SidebarNavProps, Ht as EditorToolbar, It as SettingsForm, J as ScoreBreakdown, Jt as StatusSelect, K as ScoreAxis, Kt as AppMenubar, Lt as SettingsFormProps, Mt as ProjectSwitcher, Nt as ProjectSwitcherProps, Ot as BranchSelect, Pt as DeploymentTimeline, Q as EventTimelineGroup, Qt as DashboardGrid, Rt as FaqAccordion, S as TimeRangeControlProps, St as useToast, T as QueryBarLabels, Tt as DataTableProps, U as Flyout, Ut as EditorToolbarProps, Vt as ContentTabsProps, W as FlyoutLabels, Wt as SidebarNav, X as ScoreBreakdownProps, Xt as SearchCombobox, Y as ScoreBreakdownLabels, Yt as StatusSelectProps, Z as EventTimeline, Zt as SearchComboboxProps, _ as TimeSeriesPanelProps, _t as ToastMessage, a as FieldValueCount, at as WorkflowCanvasProps, b as TimeRangeControl, c as LogColumnPriority, ct as KeyValueEditorLabels, d as LogTable, dt as FailureList, en as CommandPaletteTrigger, et as EventTimelineLabels, f as LogTableHandle, ft as FailureListLabels, g as TimeSeriesPanelLabels, gt as ToastContextValue, h as TimeSeriesPanel, i as FieldSummary, it as WorkflowCanvasConnection, jt as EnvPanelProps, kt as BranchSelectProps, l as LogDensity, lt as KeyValueEditorProps, m as LogTableProps, mt as NotificationToast, n as FieldSidebarLabels, nn as CommandPalette, nt as EventTimelineTone, o as LogCellAction, ot as WorkflowCanvasStep, p as LogTableLabels, pt as FailureListProps, q as ScoreBand, qt as AppMenubarProps, r as FieldSidebarProps, rn as CommandPaletteProps, rt as WorkflowCanvas, s as LogColumn, st as KeyValueEditor, t as FieldSidebar, tn as CommandPaletteTriggerProps, tt as EventTimelineProps, u as LogSort, ut as KeyValueEntry, v as DEFAULT_TIME_PRESETS, vt as ToastProvider, w as QueryBar, wt as DataTable, x as TimeRangeControlLabels, y as RefreshSetting, yt as ToastProviderProps, zt as FaqAccordionProps } from "../field-sidebar-uXmoyvd7.cjs";
|
|
3
3
|
import { EventSparkline, EventSparklineLabels, EventSparklineProps, MetricsCard, MetricsCardProps, ReportWidget, ReportWidgetConfig, ReportWidgetLabels, ReportWidgetProps, ReportWidgetType, TrendChart, TrendChartProps } from "@reopt-ai/opt-charts";
|
|
4
4
|
export { AppMenubar, type AppMenubarProps, BranchSelect, type BranchSelectProps, type ColumnDef, CommandPalette, type CommandPaletteProps, CommandPaletteTrigger, type CommandPaletteTriggerProps, ContentTabs, type ContentTabsProps, DEFAULT_TIME_PRESETS, DashboardGrid, type DashboardGridProps, DataTable, type DataTableProps, DeploymentTimeline, type DeploymentTimelineProps, DomainTable, type DomainTableProps, EditorToolbar, type EditorToolbarProps, EnvPanel, type EnvPanelProps, EventSparkline, type EventSparklineLabels, type EventSparklineProps, EventTimeline, type EventTimelineGroup, type EventTimelineItem, type EventTimelineLabels, type EventTimelineProps, type EventTimelineTone, FailureList, type FailureListLabels, type FailureListProps, FaqAccordion, type FaqAccordionProps, FieldSidebar, type FieldSidebarLabels, type FieldSidebarProps, type FieldSummary, type FieldValueCount, Flyout, type FlyoutLabels, type FlyoutProps, KeyValueEditor, type KeyValueEditorLabels, type KeyValueEditorProps, type KeyValueEntry, type LogCellAction, type LogColumn, type LogColumnPriority, type LogDensity, type LogSort, LogTable, type LogTableHandle, type LogTableLabels, type LogTableProps, MetricsCard, type MetricsCardProps, NotificationToast, ProjectSwitcher, type ProjectSwitcherProps, QueryBar, type QueryBarLabels, type QueryBarProps, type QueryField, type RefreshSetting, ReportWidget, type ReportWidgetConfig, type ReportWidgetLabels, type ReportWidgetProps, type ReportWidgetType, type ScoreAxis, type ScoreBand, ScoreBreakdown, type ScoreBreakdownLabels, type ScoreBreakdownProps, SearchCombobox, type SearchComboboxProps, SettingsForm, type SettingsFormProps, SidebarNav, type SidebarNavProps, StatusSelect, type StatusSelectProps, TimeRangeControl, type TimeRangeControlLabels, type TimeRangeControlProps, type TimeRangePreset, TimeSeriesPanel, type TimeSeriesPanelLabels, type TimeSeriesPanelProps, type ToastContextValue, type ToastMessage, ToastProvider, type ToastProviderProps, TrendChart, type TrendChartProps, WorkflowCanvas, type WorkflowCanvasConnection, type WorkflowCanvasProps, type WorkflowCanvasStep, useToast };
|
package/dist/shells/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import { $ as EventTimelineItem, $t as DashboardGridProps,
|
|
2
|
+
import { $ as EventTimelineItem, $t as DashboardGridProps, At as EnvPanel, Bt as ContentTabs, C as TimeRangePreset, Ct as ColumnDef, D as QueryField, Dt as DomainTableProps, E as QueryBarProps, Et as DomainTable, Ft as DeploymentTimelineProps, G as FlyoutProps, Gt as SidebarNavProps, Ht as EditorToolbar, It as SettingsForm, J as ScoreBreakdown, Jt as StatusSelect, K as ScoreAxis, Kt as AppMenubar, Lt as SettingsFormProps, Mt as ProjectSwitcher, Nt as ProjectSwitcherProps, Ot as BranchSelect, Pt as DeploymentTimeline, Q as EventTimelineGroup, Qt as DashboardGrid, Rt as FaqAccordion, S as TimeRangeControlProps, St as useToast, T as QueryBarLabels, Tt as DataTableProps, U as Flyout, Ut as EditorToolbarProps, Vt as ContentTabsProps, W as FlyoutLabels, Wt as SidebarNav, X as ScoreBreakdownProps, Xt as SearchCombobox, Y as ScoreBreakdownLabels, Yt as StatusSelectProps, Z as EventTimeline, Zt as SearchComboboxProps, _ as TimeSeriesPanelProps, _t as ToastMessage, a as FieldValueCount, at as WorkflowCanvasProps, b as TimeRangeControl, c as LogColumnPriority, ct as KeyValueEditorLabels, d as LogTable, dt as FailureList, en as CommandPaletteTrigger, et as EventTimelineLabels, f as LogTableHandle, ft as FailureListLabels, g as TimeSeriesPanelLabels, gt as ToastContextValue, h as TimeSeriesPanel, i as FieldSummary, it as WorkflowCanvasConnection, jt as EnvPanelProps, kt as BranchSelectProps, l as LogDensity, lt as KeyValueEditorProps, m as LogTableProps, mt as NotificationToast, n as FieldSidebarLabels, nn as CommandPalette, nt as EventTimelineTone, o as LogCellAction, ot as WorkflowCanvasStep, p as LogTableLabels, pt as FailureListProps, q as ScoreBand, qt as AppMenubarProps, r as FieldSidebarProps, rn as CommandPaletteProps, rt as WorkflowCanvas, s as LogColumn, st as KeyValueEditor, t as FieldSidebar, tn as CommandPaletteTriggerProps, tt as EventTimelineProps, u as LogSort, ut as KeyValueEntry, v as DEFAULT_TIME_PRESETS, vt as ToastProvider, w as QueryBar, wt as DataTable, x as TimeRangeControlLabels, y as RefreshSetting, yt as ToastProviderProps, zt as FaqAccordionProps } from "../field-sidebar-CrYlRZew.js";
|
|
3
3
|
import { EventSparkline, EventSparklineLabels, EventSparklineProps, MetricsCard, MetricsCardProps, ReportWidget, ReportWidgetConfig, ReportWidgetLabels, ReportWidgetProps, ReportWidgetType, TrendChart, TrendChartProps } from "@reopt-ai/opt-charts";
|
|
4
4
|
export { AppMenubar, type AppMenubarProps, BranchSelect, type BranchSelectProps, type ColumnDef, CommandPalette, type CommandPaletteProps, CommandPaletteTrigger, type CommandPaletteTriggerProps, ContentTabs, type ContentTabsProps, DEFAULT_TIME_PRESETS, DashboardGrid, type DashboardGridProps, DataTable, type DataTableProps, DeploymentTimeline, type DeploymentTimelineProps, DomainTable, type DomainTableProps, EditorToolbar, type EditorToolbarProps, EnvPanel, type EnvPanelProps, EventSparkline, type EventSparklineLabels, type EventSparklineProps, EventTimeline, type EventTimelineGroup, type EventTimelineItem, type EventTimelineLabels, type EventTimelineProps, type EventTimelineTone, FailureList, type FailureListLabels, type FailureListProps, FaqAccordion, type FaqAccordionProps, FieldSidebar, type FieldSidebarLabels, type FieldSidebarProps, type FieldSummary, type FieldValueCount, Flyout, type FlyoutLabels, type FlyoutProps, KeyValueEditor, type KeyValueEditorLabels, type KeyValueEditorProps, type KeyValueEntry, type LogCellAction, type LogColumn, type LogColumnPriority, type LogDensity, type LogSort, LogTable, type LogTableHandle, type LogTableLabels, type LogTableProps, MetricsCard, type MetricsCardProps, NotificationToast, ProjectSwitcher, type ProjectSwitcherProps, QueryBar, type QueryBarLabels, type QueryBarProps, type QueryField, type RefreshSetting, ReportWidget, type ReportWidgetConfig, type ReportWidgetLabels, type ReportWidgetProps, type ReportWidgetType, type ScoreAxis, type ScoreBand, ScoreBreakdown, type ScoreBreakdownLabels, type ScoreBreakdownProps, SearchCombobox, type SearchComboboxProps, SettingsForm, type SettingsFormProps, SidebarNav, type SidebarNavProps, StatusSelect, type StatusSelectProps, TimeRangeControl, type TimeRangeControlLabels, type TimeRangeControlProps, type TimeRangePreset, TimeSeriesPanel, type TimeSeriesPanelLabels, type TimeSeriesPanelProps, type ToastContextValue, type ToastMessage, ToastProvider, type ToastProviderProps, TrendChart, type TrendChartProps, WorkflowCanvas, type WorkflowCanvasConnection, type WorkflowCanvasProps, type WorkflowCanvasStep, useToast };
|
package/dist/shells/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
|
-
import { A as ToastProvider, B as FaqAccordion, C as Flyout, D as KeyValueEditor, E as WorkflowCanvas, F as BranchSelect, G as StatusSelect, H as EditorToolbar, I as EnvPanel, J as CommandPaletteTrigger, K as SearchCombobox, L as ProjectSwitcher, M as useToast, N as DataTable, O as FailureList, P as DomainTable, R as DeploymentTimeline, T as EventTimeline, U as SidebarNav, V as ContentTabs, W as AppMenubar, Y as CommandPalette,
|
|
3
|
+
import { A as ToastProvider, B as FaqAccordion, C as Flyout, D as KeyValueEditor, E as WorkflowCanvas, F as BranchSelect, G as StatusSelect, H as EditorToolbar, I as EnvPanel, J as CommandPaletteTrigger, K as SearchCombobox, L as ProjectSwitcher, M as useToast, N as DataTable, O as FailureList, P as DomainTable, R as DeploymentTimeline, T as EventTimeline, U as SidebarNav, V as ContentTabs, W as AppMenubar, Y as CommandPalette, a as TimeRangeControl, i as DEFAULT_TIME_PRESETS, k as NotificationToast, n as LogTable, q as DashboardGrid, r as TimeSeriesPanel, s as QueryBar, t as FieldSidebar, w as ScoreBreakdown, z as SettingsForm } from "../field-sidebar-BuO37l4c.js";
|
|
4
4
|
import { EventSparkline, MetricsCard, ReportWidget, TrendChart } from "@reopt-ai/opt-charts";
|
|
5
5
|
export { AppMenubar, BranchSelect, CommandPalette, CommandPaletteTrigger, ContentTabs, DEFAULT_TIME_PRESETS, DashboardGrid, DataTable, DeploymentTimeline, DomainTable, EditorToolbar, EnvPanel, EventSparkline, EventTimeline, FailureList, FaqAccordion, FieldSidebar, Flyout, KeyValueEditor, LogTable, MetricsCard, NotificationToast, ProjectSwitcher, QueryBar, ReportWidget, ScoreBreakdown, SearchCombobox, SettingsForm, SidebarNav, StatusSelect, TimeRangeControl, TimeSeriesPanel, ToastProvider, TrendChart, WorkflowCanvas, useToast };
|
|
@@ -358,6 +358,17 @@ interface FieldTokenProps {
|
|
|
358
358
|
* already stated in adjacent text, so it is not read twice.
|
|
359
359
|
*/
|
|
360
360
|
decorative?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Draw the type's name beside the glyph.
|
|
363
|
+
*
|
|
364
|
+
* A glyph alone is a vocabulary the reader has to have learned. In a legend,
|
|
365
|
+
* a filter, or the one place a type is the subject rather than a decoration,
|
|
366
|
+
* the word carries the meaning and the glyph becomes the decoration — so the
|
|
367
|
+
* token drops out of the accessibility tree and the text takes over.
|
|
368
|
+
*/
|
|
369
|
+
withLabel?: boolean;
|
|
370
|
+
/** The text `withLabel` draws. Defaults to the type's own name. */
|
|
371
|
+
label?: string;
|
|
361
372
|
className?: string;
|
|
362
373
|
}
|
|
363
374
|
/**
|
|
@@ -374,7 +385,25 @@ interface FieldTokenProps {
|
|
|
374
385
|
* <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
|
|
375
386
|
* ```
|
|
376
387
|
*/
|
|
377
|
-
declare function FieldToken({ type, size, fill, shape, title, decorative, className }: FieldTokenProps): import("react").JSX.Element;
|
|
388
|
+
declare function FieldToken({ type, size, fill, shape, title, decorative, withLabel, label: labelText, className }: FieldTokenProps): import("react").JSX.Element;
|
|
389
|
+
/** Props for the field token legend. */
|
|
390
|
+
interface FieldTokenLegendProps {
|
|
391
|
+
/** The types to explain, in the order they should be read. */
|
|
392
|
+
types: FieldDataType[];
|
|
393
|
+
size?: FieldTokenProps["size"];
|
|
394
|
+
labels?: {
|
|
395
|
+
heading?: string;
|
|
396
|
+
};
|
|
397
|
+
className?: string;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* FieldTokenLegend — the glyph vocabulary, spelled out.
|
|
401
|
+
*
|
|
402
|
+
* The tokens are only worth their width if a reader can learn them, and the
|
|
403
|
+
* cheapest place to learn them is next to the table that uses them. Rendered
|
|
404
|
+
* from the same map the tokens read, so a legend cannot fall behind the set.
|
|
405
|
+
*/
|
|
406
|
+
declare function FieldTokenLegend({ types, size, labels, className }: FieldTokenLegendProps): import("react").JSX.Element;
|
|
378
407
|
//#endregion
|
|
379
408
|
//#region src/core/text-truncate.d.ts
|
|
380
409
|
/** Where the characters are dropped from. */
|
|
@@ -420,5 +449,4 @@ interface TextTruncateProps {
|
|
|
420
449
|
*/
|
|
421
450
|
declare function TextTruncate({ text, truncation, ellipsis, width, children, className }: TextTruncateProps): import("react").JSX.Element;
|
|
422
451
|
//#endregion
|
|
423
|
-
export {
|
|
424
|
-
//# sourceMappingURL=text-truncate-DW78lg4S.d.cts.map
|
|
452
|
+
export { FilterGroupDef as A, StatCard as B, DomainDef as C, ExportFormat as D, ExportColumn as E, NavItem as F, TimePreset as G, TableColumn as H, NavItemDef as I, ToastOptions as K, ProjectDef as L, FormFieldDef as M, MenuDef as N, FailureItem as O, MenuItemDef as P, QuickActionDef as R, DeploymentStep as S, EnvVarDef as T, TaskDef as U, TabDef as V, TeamMemberDef as W, ChatConversationDef as _, FieldDataType as a, ChatStylePresetDef as b, FieldTokenLegendProps as c, ActivityDef as d, BranchDef as f, ChartSeriesDef as g, ChartMargin as h, FIELD_TYPE_TOKENS as i, FilterOption as j, FaqItem as k, FieldTokenProps as l, ChartDataPoint as m, TextTruncateProps as n, FieldToken as o, ChartConfig as p, ToolbarButtonDef as q, TruncationSide as r, FieldTokenLegend as s, TextTruncate as t, resolveFieldType as u, ChatMessageDef as v, EnvGroupDef as w, CommandDef as x, ChatModelDef as y, SelectOption as z };
|
|
@@ -358,6 +358,17 @@ interface FieldTokenProps {
|
|
|
358
358
|
* already stated in adjacent text, so it is not read twice.
|
|
359
359
|
*/
|
|
360
360
|
decorative?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Draw the type's name beside the glyph.
|
|
363
|
+
*
|
|
364
|
+
* A glyph alone is a vocabulary the reader has to have learned. In a legend,
|
|
365
|
+
* a filter, or the one place a type is the subject rather than a decoration,
|
|
366
|
+
* the word carries the meaning and the glyph becomes the decoration — so the
|
|
367
|
+
* token drops out of the accessibility tree and the text takes over.
|
|
368
|
+
*/
|
|
369
|
+
withLabel?: boolean;
|
|
370
|
+
/** The text `withLabel` draws. Defaults to the type's own name. */
|
|
371
|
+
label?: string;
|
|
361
372
|
className?: string;
|
|
362
373
|
}
|
|
363
374
|
/**
|
|
@@ -374,7 +385,25 @@ interface FieldTokenProps {
|
|
|
374
385
|
* <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
|
|
375
386
|
* ```
|
|
376
387
|
*/
|
|
377
|
-
declare function FieldToken({ type, size, fill, shape, title, decorative, className }: FieldTokenProps): import("react").JSX.Element;
|
|
388
|
+
declare function FieldToken({ type, size, fill, shape, title, decorative, withLabel, label: labelText, className }: FieldTokenProps): import("react").JSX.Element;
|
|
389
|
+
/** Props for the field token legend. */
|
|
390
|
+
interface FieldTokenLegendProps {
|
|
391
|
+
/** The types to explain, in the order they should be read. */
|
|
392
|
+
types: FieldDataType[];
|
|
393
|
+
size?: FieldTokenProps["size"];
|
|
394
|
+
labels?: {
|
|
395
|
+
heading?: string;
|
|
396
|
+
};
|
|
397
|
+
className?: string;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* FieldTokenLegend — the glyph vocabulary, spelled out.
|
|
401
|
+
*
|
|
402
|
+
* The tokens are only worth their width if a reader can learn them, and the
|
|
403
|
+
* cheapest place to learn them is next to the table that uses them. Rendered
|
|
404
|
+
* from the same map the tokens read, so a legend cannot fall behind the set.
|
|
405
|
+
*/
|
|
406
|
+
declare function FieldTokenLegend({ types, size, labels, className }: FieldTokenLegendProps): import("react").JSX.Element;
|
|
378
407
|
//#endregion
|
|
379
408
|
//#region src/core/text-truncate.d.ts
|
|
380
409
|
/** Where the characters are dropped from. */
|
|
@@ -420,5 +449,4 @@ interface TextTruncateProps {
|
|
|
420
449
|
*/
|
|
421
450
|
declare function TextTruncate({ text, truncation, ellipsis, width, children, className }: TextTruncateProps): import("react").JSX.Element;
|
|
422
451
|
//#endregion
|
|
423
|
-
export {
|
|
424
|
-
//# sourceMappingURL=text-truncate-DW78lg4S.d.ts.map
|
|
452
|
+
export { FilterGroupDef as A, StatCard as B, DomainDef as C, ExportFormat as D, ExportColumn as E, NavItem as F, TimePreset as G, TableColumn as H, NavItemDef as I, ToastOptions as K, ProjectDef as L, FormFieldDef as M, MenuDef as N, FailureItem as O, MenuItemDef as P, QuickActionDef as R, DeploymentStep as S, EnvVarDef as T, TaskDef as U, TabDef as V, TeamMemberDef as W, ChatConversationDef as _, FieldDataType as a, ChatStylePresetDef as b, FieldTokenLegendProps as c, ActivityDef as d, BranchDef as f, ChartSeriesDef as g, ChartMargin as h, FIELD_TYPE_TOKENS as i, FilterOption as j, FaqItem as k, FieldTokenProps as l, ChartDataPoint as m, TextTruncateProps as n, FieldToken as o, ChartConfig as p, ToolbarButtonDef as q, TruncationSide as r, FieldTokenLegend as s, TextTruncate as t, resolveFieldType as u, ChatMessageDef as v, EnvGroupDef as w, CommandDef as x, ChatModelDef as y, SelectOption as z };
|
|
@@ -150,7 +150,7 @@ const OPT_BUTTON_SECONDARY = "inline-flex h-10 items-center justify-center round
|
|
|
150
150
|
const OPT_TH = "px-3 py-2.5 text-left text-xs font-semibold uppercase tracking-wider text-text-tertiary";
|
|
151
151
|
const OPT_TD = "px-3 py-2.5 text-sm text-text-primary whitespace-nowrap";
|
|
152
152
|
const OPT_TD_MUTED = "px-3 py-2.5 text-sm text-text-tertiary whitespace-nowrap";
|
|
153
|
-
const OPT_TABLE_ROW_ACTIVE = "outline-none data-[
|
|
153
|
+
const OPT_TABLE_ROW_ACTIVE = "outline-none data-[focus-visible]:bg-accent-subtle data-[focus-visible]:outline-2 data-[focus-visible]:outline-ring data-[focus-visible]:-outline-offset-1";
|
|
154
154
|
const OPT_DISCLOSURE_TRIGGER = "flex w-full items-center justify-between px-4 py-3.5 text-left text-sm font-medium text-text-primary outline-none hover:underline decoration-border underline-offset-2 data-[focus-visible]:outline-2 data-[focus-visible]:outline-ring data-[focus-visible]:-outline-offset-2";
|
|
155
155
|
const OPT_DISCLOSURE_CONTENT = "overflow-hidden data-[enter]:animate-in data-[enter]:fade-in data-[leave]:animate-out data-[leave]:fade-out";
|
|
156
156
|
const OPT_ANIMATE_ENTER_EXIT = "data-[enter]:animate-in data-[enter]:fade-in data-[enter]:slide-in-from-top-1 data-[leave]:animate-out data-[leave]:fade-out";
|
|
@@ -4325,7 +4325,7 @@ const shapeStyles = {
|
|
|
4325
4325
|
* <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
|
|
4326
4326
|
* ```
|
|
4327
4327
|
*/
|
|
4328
|
-
function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", title, decorative = false, className }) {
|
|
4328
|
+
function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", title, decorative = false, withLabel = false, label: labelText, className }) {
|
|
4329
4329
|
var _FIELD_TYPE_TOKENS$ty;
|
|
4330
4330
|
const appearance = (_FIELD_TYPE_TOKENS$ty = FIELD_TYPE_TOKENS[type]) !== null && _FIELD_TYPE_TOKENS$ty !== void 0 ? _FIELD_TYPE_TOKENS$ty : FIELD_TYPE_TOKENS.unknown;
|
|
4331
4331
|
const Icon = appearance.icon;
|
|
@@ -4338,17 +4338,52 @@ function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", titl
|
|
|
4338
4338
|
backgroundColor: `color-mix(in oklab, ${hue} 14%, transparent)`,
|
|
4339
4339
|
color: hue
|
|
4340
4340
|
} : { color: hue };
|
|
4341
|
-
|
|
4342
|
-
|
|
4341
|
+
const silent = decorative || withLabel;
|
|
4342
|
+
const glyph = /* @__PURE__ */ jsx("span", {
|
|
4343
|
+
className: cn("inline-flex shrink-0 items-center justify-center", sizeStyles[size], shapeStyles[shape], withLabel ? void 0 : className),
|
|
4343
4344
|
style,
|
|
4344
|
-
role:
|
|
4345
|
-
"aria-label":
|
|
4346
|
-
"aria-hidden":
|
|
4345
|
+
role: silent ? void 0 : "img",
|
|
4346
|
+
"aria-label": silent ? void 0 : label,
|
|
4347
|
+
"aria-hidden": silent ? true : void 0,
|
|
4347
4348
|
"data-opt-id": "V3AJ4",
|
|
4348
4349
|
"data-opt-slug": "field-token.FieldToken",
|
|
4349
4350
|
"data-field-type": type,
|
|
4350
4351
|
children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true" })
|
|
4351
4352
|
});
|
|
4353
|
+
if (!withLabel) return glyph;
|
|
4354
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
4355
|
+
className: cn("inline-flex items-center gap-1.5 text-text-secondary", labelSize[size], className),
|
|
4356
|
+
"data-field-type": type,
|
|
4357
|
+
children: [glyph, /* @__PURE__ */ jsx("span", { children: labelText !== null && labelText !== void 0 ? labelText : appearance.name })]
|
|
4358
|
+
});
|
|
4359
|
+
}
|
|
4360
|
+
const labelSize = {
|
|
4361
|
+
xs: "text-[10px]",
|
|
4362
|
+
sm: "text-[11px]",
|
|
4363
|
+
md: "text-xs",
|
|
4364
|
+
lg: "text-sm"
|
|
4365
|
+
};
|
|
4366
|
+
/**
|
|
4367
|
+
* FieldTokenLegend — the glyph vocabulary, spelled out.
|
|
4368
|
+
*
|
|
4369
|
+
* The tokens are only worth their width if a reader can learn them, and the
|
|
4370
|
+
* cheapest place to learn them is next to the table that uses them. Rendered
|
|
4371
|
+
* from the same map the tokens read, so a legend cannot fall behind the set.
|
|
4372
|
+
*/
|
|
4373
|
+
function FieldTokenLegend({ types, size = "sm", labels, className }) {
|
|
4374
|
+
var _labels$heading;
|
|
4375
|
+
return /* @__PURE__ */ jsx("div", {
|
|
4376
|
+
className: cn("flex flex-wrap items-center gap-3", className),
|
|
4377
|
+
role: "group",
|
|
4378
|
+
"aria-label": (_labels$heading = labels === null || labels === void 0 ? void 0 : labels.heading) !== null && _labels$heading !== void 0 ? _labels$heading : "필드 타입",
|
|
4379
|
+
"data-opt-id": "FTLEG",
|
|
4380
|
+
"data-opt-slug": "field-token.FieldTokenLegend",
|
|
4381
|
+
children: types.map((type) => /* @__PURE__ */ jsx(FieldToken, {
|
|
4382
|
+
type,
|
|
4383
|
+
size,
|
|
4384
|
+
withLabel: true
|
|
4385
|
+
}, type))
|
|
4386
|
+
});
|
|
4352
4387
|
}
|
|
4353
4388
|
//#endregion
|
|
4354
4389
|
//#region src/core/highlight.tsx
|
|
@@ -4544,6 +4579,4 @@ function TextTruncate({ text, truncation = "startEnd", ellipsis = "…", width,
|
|
|
4544
4579
|
});
|
|
4545
4580
|
}
|
|
4546
4581
|
//#endregion
|
|
4547
|
-
export {
|
|
4548
|
-
|
|
4549
|
-
//# sourceMappingURL=text-truncate-C17HHCR-.js.map
|
|
4582
|
+
export { PopoverClose$1 as $, OPT_TEXT_LABEL as $n, CompositeProvider as $t, FormRadio$1 as A, OPT_BADGE_RED as An, DialogBody as At, FormSubmit$1 as B, OPT_FOCUS as Bn, SelectLabel$1 as Bt, FormGroupLabel$1 as C, getDescribedBy as Cn, ComboboxGroup$1 as Ct, FormNumberInput as D, OPT_BADGE_BLUE as Dn, ComboboxPopover$1 as Dt, FormLabel$1 as E, OPT_ANIMATE_ENTER_EXIT as En, ComboboxItem$1 as Et, FormSelect as F, OPT_DIVIDER as Fn, DialogHeader as Ft, useFormContext as G, OPT_ITEM_BASE as Gn, TabList$1 as Gt, FormTagInput as H, OPT_HOVER_ITEM as Hn, SelectRoot$1 as Ht, FormSelectItem as I, OPT_DOT_GRAY as In, DialogHeading$1 as It, DateRangePicker as J, OPT_SURFACE_RAISED as Jn, DisclosureContent$1 as Jt, useFormStore as K, OPT_SURFACE as Kn, TabPanel$1 as Kt, FormSelectPopover as L, OPT_DOT_GREEN as Ln, DialogPanel$1 as Lt, FormRemove$1 as M, OPT_BORDER as Mn, DialogDisclosure$1 as Mt, FormReset$1 as N, OPT_DISCLOSURE_CONTENT as Nn, DialogDismiss$1 as Nt, FormProvider$1 as O, OPT_BADGE_GREEN as On, ComboboxRoot$1 as Ot, FormRoot$1 as P, OPT_DISCLOSURE_TRIGGER as Pn, DialogFooter as Pt, ColorPicker as Q, OPT_TEXTAREA_SIZE as Qn, CompositeItem as Qt, FormSlider as R, OPT_DOT_RED as Rn, DialogRoot$1 as Rt, FormGroup$1 as S, RequiredMark as Sn, ComboboxEmpty as St, FormInput$1 as T, OPT_ANIMATE_DRAWER as Tn, ComboboxInput$1 as Tt, FormTextarea as U, OPT_INPUT as Un, SelectTrigger$1 as Ut, FormSwitch$1 as V, OPT_FOCUS_VISIBLE as Vn, SelectPopover$1 as Vt, useFieldValue as W, OPT_INPUT_ERROR as Wn, Tab$1 as Wt, IconPicker as X, OPT_TD as Xn, DisclosureTrigger$1 as Xt, TagInput as Y, OPT_TABLE_ROW_ACTIVE as Yn, DisclosureRoot$1 as Yt, getIconRegistryEntry as Z, OPT_TD_MUTED as Zn, Composite as Zt, FormControl$1 as _, SkeletonCard as _n, MenuRoot$1 as _t, FieldTokenLegend as a, useInputId as an, _objectWithoutProperties as ar, ToolbarButton$1 as at, FormError$1 as b, useControlledState as bn, MenubarContainer$1 as bt, Checkbox as c, Badge as cn, ToolbarSeparator$1 as ct, formatOptDateTime as d, koBreadcrumbLabels as dn, TooltipProvider$1 as dt, CompositeRow as en, OPT_TEXT_PRIMARY as er, PopoverContent$1 as et, formatOptNumber as f, koComboboxLabels as fn, MenuButtonArrow$1 as ft, FormColorPicker as g, SkeletonAvatar as gn, MenuPopover$1 as gt, FormCheckbox$1 as h, Skeleton as hn, MenuItemRadio$1 as ht, FieldToken as i, Input as in, _objectSpread2 as ir, NumberInput as it, FormRadioGroup$1 as j, OPT_BADGE_YELLOW as jn, DialogDescription$1 as jt, FormPush$1 as k, OPT_BADGE_NEUTRAL as kn, AlertDialogPanel$1 as kt, CheckboxGroup as l, EmptyState as ln, Tooltip$1 as lt, formatOptTime as m, StatCard as mn, MenuItemCheckbox$1 as mt, Highlight as n, Meter$1 as nn, OPT_TEXT_TERTIARY as nr, PopoverTrigger$1 as nt, resolveFieldType as o, Alert as on, Kbd as or, ToolbarContainer$1 as ot, formatOptShortDate as p, koStarRatingLabels as pn, MenuItem$1 as pt, DEFAULT_PRESETS as q, OPT_SURFACE_POPOVER as qn, TabsRoot$1 as qt, FIELD_TYPE_TOKENS as r, StarRating as rn, OPT_TH as rr, Slider as rt, Pagination as s, Spinner as sn, cn as sr, ToolbarRoot$1 as st, TextTruncate as t, CompositeZone as tn, OPT_TEXT_SECONDARY as tr, PopoverRoot$1 as tt, OPT_UI_DEFAULT_LOCALE as u, Button as un, TooltipAnchor$1 as ut, FormDateRangePicker as v, SkeletonTable as vn, MenuSeparator$1 as vt, FormIconPicker as w, OPT_ACTIVE_ITEM as wn, ComboboxGroupLabel$1 as wt, FormField$1 as x, FieldMessages as xn, MenubarRoot$1 as xt, FormDescription$1 as y, SkeletonText as yn, MenuTrigger$1 as yt, FormStarRating as z, OPT_DOT_YELLOW as zn, SelectItem$1 as zt };
|
|
@@ -172,7 +172,7 @@ const OPT_BUTTON_SECONDARY = "inline-flex h-10 items-center justify-center round
|
|
|
172
172
|
const OPT_TH = "px-3 py-2.5 text-left text-xs font-semibold uppercase tracking-wider text-text-tertiary";
|
|
173
173
|
const OPT_TD = "px-3 py-2.5 text-sm text-text-primary whitespace-nowrap";
|
|
174
174
|
const OPT_TD_MUTED = "px-3 py-2.5 text-sm text-text-tertiary whitespace-nowrap";
|
|
175
|
-
const OPT_TABLE_ROW_ACTIVE = "outline-none data-[
|
|
175
|
+
const OPT_TABLE_ROW_ACTIVE = "outline-none data-[focus-visible]:bg-accent-subtle data-[focus-visible]:outline-2 data-[focus-visible]:outline-ring data-[focus-visible]:-outline-offset-1";
|
|
176
176
|
const OPT_DISCLOSURE_TRIGGER = "flex w-full items-center justify-between px-4 py-3.5 text-left text-sm font-medium text-text-primary outline-none hover:underline decoration-border underline-offset-2 data-[focus-visible]:outline-2 data-[focus-visible]:outline-ring data-[focus-visible]:-outline-offset-2";
|
|
177
177
|
const OPT_DISCLOSURE_CONTENT = "overflow-hidden data-[enter]:animate-in data-[enter]:fade-in data-[leave]:animate-out data-[leave]:fade-out";
|
|
178
178
|
const OPT_ANIMATE_ENTER_EXIT = "data-[enter]:animate-in data-[enter]:fade-in data-[enter]:slide-in-from-top-1 data-[leave]:animate-out data-[leave]:fade-out";
|
|
@@ -4347,7 +4347,7 @@ const shapeStyles = {
|
|
|
4347
4347
|
* <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
|
|
4348
4348
|
* ```
|
|
4349
4349
|
*/
|
|
4350
|
-
function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", title, decorative = false, className }) {
|
|
4350
|
+
function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", title, decorative = false, withLabel = false, label: labelText, className }) {
|
|
4351
4351
|
var _FIELD_TYPE_TOKENS$ty;
|
|
4352
4352
|
const appearance = (_FIELD_TYPE_TOKENS$ty = FIELD_TYPE_TOKENS[type]) !== null && _FIELD_TYPE_TOKENS$ty !== void 0 ? _FIELD_TYPE_TOKENS$ty : FIELD_TYPE_TOKENS.unknown;
|
|
4353
4353
|
const Icon = appearance.icon;
|
|
@@ -4360,17 +4360,52 @@ function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", titl
|
|
|
4360
4360
|
backgroundColor: `color-mix(in oklab, ${hue} 14%, transparent)`,
|
|
4361
4361
|
color: hue
|
|
4362
4362
|
} : { color: hue };
|
|
4363
|
-
|
|
4364
|
-
|
|
4363
|
+
const silent = decorative || withLabel;
|
|
4364
|
+
const glyph = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4365
|
+
className: cn("inline-flex shrink-0 items-center justify-center", sizeStyles[size], shapeStyles[shape], withLabel ? void 0 : className),
|
|
4365
4366
|
style,
|
|
4366
|
-
role:
|
|
4367
|
-
"aria-label":
|
|
4368
|
-
"aria-hidden":
|
|
4367
|
+
role: silent ? void 0 : "img",
|
|
4368
|
+
"aria-label": silent ? void 0 : label,
|
|
4369
|
+
"aria-hidden": silent ? true : void 0,
|
|
4369
4370
|
"data-opt-id": "V3AJ4",
|
|
4370
4371
|
"data-opt-slug": "field-token.FieldToken",
|
|
4371
4372
|
"data-field-type": type,
|
|
4372
4373
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, { "aria-hidden": "true" })
|
|
4373
4374
|
});
|
|
4375
|
+
if (!withLabel) return glyph;
|
|
4376
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
4377
|
+
className: cn("inline-flex items-center gap-1.5 text-text-secondary", labelSize[size], className),
|
|
4378
|
+
"data-field-type": type,
|
|
4379
|
+
children: [glyph, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: labelText !== null && labelText !== void 0 ? labelText : appearance.name })]
|
|
4380
|
+
});
|
|
4381
|
+
}
|
|
4382
|
+
const labelSize = {
|
|
4383
|
+
xs: "text-[10px]",
|
|
4384
|
+
sm: "text-[11px]",
|
|
4385
|
+
md: "text-xs",
|
|
4386
|
+
lg: "text-sm"
|
|
4387
|
+
};
|
|
4388
|
+
/**
|
|
4389
|
+
* FieldTokenLegend — the glyph vocabulary, spelled out.
|
|
4390
|
+
*
|
|
4391
|
+
* The tokens are only worth their width if a reader can learn them, and the
|
|
4392
|
+
* cheapest place to learn them is next to the table that uses them. Rendered
|
|
4393
|
+
* from the same map the tokens read, so a legend cannot fall behind the set.
|
|
4394
|
+
*/
|
|
4395
|
+
function FieldTokenLegend({ types, size = "sm", labels, className }) {
|
|
4396
|
+
var _labels$heading;
|
|
4397
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
4398
|
+
className: cn("flex flex-wrap items-center gap-3", className),
|
|
4399
|
+
role: "group",
|
|
4400
|
+
"aria-label": (_labels$heading = labels === null || labels === void 0 ? void 0 : labels.heading) !== null && _labels$heading !== void 0 ? _labels$heading : "필드 타입",
|
|
4401
|
+
"data-opt-id": "FTLEG",
|
|
4402
|
+
"data-opt-slug": "field-token.FieldTokenLegend",
|
|
4403
|
+
children: types.map((type) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FieldToken, {
|
|
4404
|
+
type,
|
|
4405
|
+
size,
|
|
4406
|
+
withLabel: true
|
|
4407
|
+
}, type))
|
|
4408
|
+
});
|
|
4374
4409
|
}
|
|
4375
4410
|
//#endregion
|
|
4376
4411
|
//#region src/core/highlight.tsx
|
|
@@ -4764,6 +4799,12 @@ Object.defineProperty(exports, "FieldToken", {
|
|
|
4764
4799
|
return FieldToken;
|
|
4765
4800
|
}
|
|
4766
4801
|
});
|
|
4802
|
+
Object.defineProperty(exports, "FieldTokenLegend", {
|
|
4803
|
+
enumerable: true,
|
|
4804
|
+
get: function() {
|
|
4805
|
+
return FieldTokenLegend;
|
|
4806
|
+
}
|
|
4807
|
+
});
|
|
4767
4808
|
Object.defineProperty(exports, "FormCheckbox", {
|
|
4768
4809
|
enumerable: true,
|
|
4769
4810
|
get: function() {
|
package/dist/theme/server.d.cts
CHANGED
|
@@ -113,5 +113,4 @@ declare function coerceThemeMode(mode: ThemeMode, allowedModes: readonly ThemeMo
|
|
|
113
113
|
*/
|
|
114
114
|
declare function createThemeBootScript(defaultPreset?: ThemePreset, defaultMode?: ThemeMode, options?: ThemeRuntimeOptions): string;
|
|
115
115
|
//#endregion
|
|
116
|
-
export { ALL_COMPOUND_THEMES, type CompoundTheme, DARK_MQ, FORCE_LIGHT_PRESETS, LEGACY_THEME_STORAGE_KEY, THEME_MODE_STORAGE_KEY, THEME_MODE_VALUES, THEME_PRESET_STORAGE_KEY, THEME_PRESET_VALUES, type ThemeMode, type ThemePreset, type ThemeRuntimeOptions, coerceThemeMode, createThemeBootScript, getCompoundTheme, isThemeMode, isThemePreset, readStoredTheme, resolveThemeMode };
|
|
117
|
-
//# sourceMappingURL=server.d.cts.map
|
|
116
|
+
export { ALL_COMPOUND_THEMES, type CompoundTheme, DARK_MQ, FORCE_LIGHT_PRESETS, LEGACY_THEME_STORAGE_KEY, THEME_MODE_STORAGE_KEY, THEME_MODE_VALUES, THEME_PRESET_STORAGE_KEY, THEME_PRESET_VALUES, type ThemeMode, type ThemePreset, type ThemeRuntimeOptions, coerceThemeMode, createThemeBootScript, getCompoundTheme, isThemeMode, isThemePreset, readStoredTheme, resolveThemeMode };
|
package/dist/theme/server.d.ts
CHANGED
|
@@ -113,5 +113,4 @@ declare function coerceThemeMode(mode: ThemeMode, allowedModes: readonly ThemeMo
|
|
|
113
113
|
*/
|
|
114
114
|
declare function createThemeBootScript(defaultPreset?: ThemePreset, defaultMode?: ThemeMode, options?: ThemeRuntimeOptions): string;
|
|
115
115
|
//#endregion
|
|
116
|
-
export { ALL_COMPOUND_THEMES, type CompoundTheme, DARK_MQ, FORCE_LIGHT_PRESETS, LEGACY_THEME_STORAGE_KEY, THEME_MODE_STORAGE_KEY, THEME_MODE_VALUES, THEME_PRESET_STORAGE_KEY, THEME_PRESET_VALUES, type ThemeMode, type ThemePreset, type ThemeRuntimeOptions, coerceThemeMode, createThemeBootScript, getCompoundTheme, isThemeMode, isThemePreset, readStoredTheme, resolveThemeMode };
|
|
117
|
-
//# sourceMappingURL=server.d.ts.map
|
|
116
|
+
export { ALL_COMPOUND_THEMES, type CompoundTheme, DARK_MQ, FORCE_LIGHT_PRESETS, LEGACY_THEME_STORAGE_KEY, THEME_MODE_STORAGE_KEY, THEME_MODE_VALUES, THEME_PRESET_STORAGE_KEY, THEME_PRESET_VALUES, type ThemeMode, type ThemePreset, type ThemeRuntimeOptions, coerceThemeMode, createThemeBootScript, getCompoundTheme, isThemeMode, isThemePreset, readStoredTheme, resolveThemeMode };
|
package/dist/theme/server.js
CHANGED
|
@@ -283,5 +283,3 @@ try {
|
|
|
283
283
|
}
|
|
284
284
|
//#endregion
|
|
285
285
|
export { ALL_COMPOUND_THEMES, DARK_MQ, FORCE_LIGHT_PRESETS, LEGACY_THEME_STORAGE_KEY, THEME_MODE_STORAGE_KEY, THEME_MODE_VALUES, THEME_PRESET_STORAGE_KEY, THEME_PRESET_VALUES, coerceThemeMode, createThemeBootScript, getCompoundTheme, isThemeMode, isThemePreset, readStoredTheme, resolveThemeMode };
|
|
286
|
-
|
|
287
|
-
//# sourceMappingURL=server.js.map
|
package/dist/visuals/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reopt-ai/opt-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"description": "접근성 우선 UI 컴포넌트 라이브러리. opt-ui-primitives Core, 비즈니스 Shells, 페이지 Surfaces.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -148,9 +148,10 @@
|
|
|
148
148
|
"registry": "https://registry.npmjs.org"
|
|
149
149
|
},
|
|
150
150
|
"dependencies": {
|
|
151
|
-
"@reopt-ai/opt-charts": "^1.
|
|
151
|
+
"@reopt-ai/opt-charts": "^1.4.1",
|
|
152
|
+
"@reopt-ai/opt-meta": "^0.1.0",
|
|
152
153
|
"@reopt-ai/opt-palette": "^1.0.0",
|
|
153
|
-
"@reopt-ai/opt-ui-primitives": "^1.5.
|
|
154
|
+
"@reopt-ai/opt-ui-primitives": "^1.5.2",
|
|
154
155
|
"clsx": "^2.1.1",
|
|
155
156
|
"lucide-react": "^0.577.0",
|
|
156
157
|
"match-sorter": "^8.3.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-sidebar-B5SQC35J.d.cts","names":[],"sources":["../src/shells/command-palette.tsx","../src/shells/command-palette-trigger.tsx","../src/shells/dashboard-grid.tsx","../src/shells/search-combobox.tsx","../src/shells/status-select.tsx","../src/shells/app-menubar.tsx","../src/shells/sidebar-nav.tsx","../src/shells/editor-toolbar.tsx","../src/shells/content-tabs.tsx","../src/shells/faq-accordion.tsx","../src/shells/settings-form.tsx","../src/shells/deployment-timeline.tsx","../src/shells/project-switcher.tsx","../src/shells/env-panel.tsx","../src/shells/branch-select.tsx","../src/shells/domain-table.tsx","../src/shells/data-table.tsx","../src/shells/notification-toast.tsx","../src/shells/failure-list.tsx","../src/shells/key-value-editor.tsx","../src/shells/workflow-canvas.tsx","../src/shells/event-timeline.tsx","../src/shells/score-breakdown.tsx","../src/shells/flyout.tsx","../src/shells/time-range-control.tsx","../src/shells/time-series-panel.tsx","../src/shells/log-table.tsx","../src/lib/query/query-ast.ts","../src/shells/query-bar.tsx","../src/shells/field-sidebar.tsx"],"mappings":"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"}
|