@reopt-ai/opt-ui 1.12.0 → 1.12.1
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 +131 -59
- package/dist/docs/02-components/01-core.md +34 -31
- package/dist/docs/02-components/03-shells.md +91 -32
- package/dist/{field-sidebar-BYgEmdy0.cjs → field-sidebar-oa6zOmcd.cjs} +1 -1
- package/dist/{field-sidebar-BuO37l4c.js → field-sidebar-zkkqC7__.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/meta.cjs +216 -9
- package/dist/meta.js +216 -9
- package/dist/shells/index.cjs +1 -1
- package/dist/shells/index.js +1 -1
- package/dist/tailwind.css +7 -0
- package/package.json +1 -1
|
@@ -299,37 +299,38 @@ import { AppShell } from "@reopt-ai/opt-ui";
|
|
|
299
299
|
|
|
300
300
|
## Data Display
|
|
301
301
|
|
|
302
|
-
| Component | Description
|
|
303
|
-
| ------------------- |
|
|
304
|
-
| DataTable | 제네릭 데이터 테이블.
|
|
305
|
-
| InlineEditTable | 인라인 편집 테이블. 더블클릭으로 셀 편집, Enter 확정, Escape 취소.
|
|
306
|
-
| TreeTable | 계층형 트리 테이블. 재귀 행 렌더링 + 펼침/접기 셰브론.
|
|
307
|
-
| DomainTable | 도메인 테이블. Composite 기반 그리드로 키보드 탐색 지원.
|
|
308
|
-
| QueryResultsTable | 쿼리 결과 테이블. SQL 결과와 스크린 리더에 안내되는 로딩, 에러, 빈 상태를 지원합니다.
|
|
309
|
-
| DashboardGrid | Composite 기반 통계 카드 그리드. 유효한 1–4열 레이아웃과 화살표 키 2D 탐색을 지원합니다.
|
|
310
|
-
| SummaryRow | 통계 요약 행. StatCard 그리드 레이아웃을 표준화합니다. loading 시 SkeletonCard 표시.
|
|
311
|
-
| CodeSnippetViewer | 코드 스니펫 뷰어. 줄 번호, 복사 버튼, 포커스 가능한 스크롤 영역, syntaxTheme 톤을 지원합니다.
|
|
312
|
-
| CodeDiffViewer | 코드 비교 뷰어. LCS 알고리즘 기반 unified/split 모드 diff와 포커스 가능한 스크롤 영역을 제공합니다.
|
|
313
|
-
| ConnectionIndicator | 연결 상태 표시기. connected, connecting, disconnected, error 상태를 지원합니다.
|
|
314
|
-
| EventIcon | 이벤트 아이콘. semantic key 또는 ReactNode 아이콘과 배경색을 표시합니다.
|
|
302
|
+
| Component | Description | Key Exports |
|
|
303
|
+
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
|
|
304
|
+
| DataTable | 제네릭 데이터 테이블. 제목은 opt-in이고 ariaLabel로 grid를 이름 붙이며, 동적 컬럼·안전 정렬·키보드 리사이즈·Composite 탐색을 지원합니다. | `DataTable` |
|
|
305
|
+
| InlineEditTable | 인라인 편집 테이블. 더블클릭으로 셀 편집, Enter 확정, Escape 취소. | `InlineEditTable` |
|
|
306
|
+
| TreeTable | 계층형 트리 테이블. 재귀 행 렌더링 + 펼침/접기 셰브론. | `TreeTable` |
|
|
307
|
+
| DomainTable | 도메인 테이블. Composite 기반 그리드로 키보드 탐색 지원. | `DomainTable` |
|
|
308
|
+
| QueryResultsTable | 쿼리 결과 테이블. SQL 결과와 스크린 리더에 안내되는 로딩, 에러, 빈 상태를 지원합니다. | `QueryResultsTable` |
|
|
309
|
+
| DashboardGrid | Composite 기반 통계 카드 그리드. 유효한 1–4열 레이아웃과 화살표 키 2D 탐색을 지원합니다. | `DashboardGrid` |
|
|
310
|
+
| SummaryRow | 통계 요약 행. StatCard 그리드 레이아웃을 표준화합니다. loading 시 SkeletonCard 표시. | `SummaryRow` |
|
|
311
|
+
| CodeSnippetViewer | 코드 스니펫 뷰어. 줄 번호, 복사 버튼, 포커스 가능한 스크롤 영역, syntaxTheme 톤을 지원합니다. | `CodeSnippetViewer` |
|
|
312
|
+
| CodeDiffViewer | 코드 비교 뷰어. LCS 알고리즘 기반 unified/split 모드 diff와 포커스 가능한 스크롤 영역을 제공합니다. | `CodeDiffViewer` |
|
|
313
|
+
| ConnectionIndicator | 연결 상태 표시기. connected, connecting, disconnected, error 상태를 지원합니다. | `ConnectionIndicator` |
|
|
314
|
+
| EventIcon | 이벤트 아이콘. semantic key 또는 ReactNode 아이콘과 배경색을 표시합니다. | `EventIcon`, `POPULAR_ICONS`, `COLOR_PRESETS` |
|
|
315
315
|
|
|
316
316
|
### DataTable
|
|
317
317
|
|
|
318
|
-
> 제네릭 데이터 테이블.
|
|
318
|
+
> 제네릭 데이터 테이블. 제목은 opt-in이고 ariaLabel로 grid를 이름 붙이며, 동적 컬럼·안전 정렬·키보드 리사이즈·Composite 탐색을 지원합니다.
|
|
319
319
|
|
|
320
320
|
**Import:** `import { DataTable } from "@reopt-ai/opt-ui"`
|
|
321
321
|
**Dependencies:** composite-zone (core), button (core), checkbox (core)
|
|
322
322
|
|
|
323
323
|
**DataTable:**
|
|
324
324
|
|
|
325
|
-
| Prop | Type | Required | Default | Description
|
|
326
|
-
| -------------- | -------------------- | -------- | ------------------- |
|
|
327
|
-
| `data` | `T[]` | Yes | | 테이블 데이터 배열
|
|
328
|
-
| `columns` | `ColumnDef<T>[]` | Yes | | 컬럼 정의. { id, header, accessor, width?, align? }
|
|
329
|
-
| `keyExtractor` | `(row: T) => string` | Yes | | 각 행의 고유 키 추출 함수
|
|
330
|
-
| `title` | `string` | |
|
|
331
|
-
| `
|
|
332
|
-
| `
|
|
325
|
+
| Prop | Type | Required | Default | Description |
|
|
326
|
+
| -------------- | -------------------- | -------- | ------------------- | ----------------------------------------------------------- |
|
|
327
|
+
| `data` | `T[]` | Yes | | 테이블 데이터 배열 |
|
|
328
|
+
| `columns` | `ColumnDef<T>[]` | Yes | | 컬럼 정의. { id, header, accessor, width?, align? } |
|
|
329
|
+
| `keyExtractor` | `(row: T) => string` | Yes | | 각 행의 고유 키 추출 함수 |
|
|
330
|
+
| `title` | `string` | | | 테이블 위에 표시할 제목. 생략하면 제목 영역을 렌더하지 않음 |
|
|
331
|
+
| `ariaLabel` | `string` | | | 보이는 제목이 없을 때 grid에 제공할 접근 가능한 이름 |
|
|
332
|
+
| `onRowClick` | `(row: T) => void` | | | 행 클릭 핸들러 |
|
|
333
|
+
| `emptyMessage` | `string` | | "No data available" | 데이터 없을 때 표시할 메시지 |
|
|
333
334
|
|
|
334
335
|
**ColumnDef:**
|
|
335
336
|
|
|
@@ -1135,14 +1136,14 @@ const fields = [
|
|
|
1135
1136
|
|
|
1136
1137
|
## Analytics
|
|
1137
1138
|
|
|
1138
|
-
| Component | Description
|
|
1139
|
-
| ---------------- |
|
|
1140
|
-
| SqlEditor | SQL 에디터. CodeMirror 기반의 SQL 편집기로 구문 강조와 자동 완성을 지원합니다.
|
|
1141
|
-
| EventMetaEditor | 이벤트
|
|
1142
|
-
| PropertyExplorer |
|
|
1143
|
-
| RichTextEditor | 마크다운 리치 텍스트 에디터. 서식 툴바 + textarea 조합.
|
|
1144
|
-
| ExportButton | 데이터 내보내기 버튼. CSV/JSON 변환 내장, PDF는 콜백 위임. DropdownMenu 기반.
|
|
1145
|
-
| InsightsPanel | 이상 탐지 인사이트 패널. severity별 카드, 통계 필터, dismiss 기능, 검출 설정(유형/Z-score/days).
|
|
1139
|
+
| Component | Description | Key Exports |
|
|
1140
|
+
| ---------------- | ---------------------------------------------------------------------------------------------------------- | ------------------ |
|
|
1141
|
+
| SqlEditor | SQL 에디터. CodeMirror 기반의 SQL 편집기로 구문 강조와 자동 완성을 지원합니다. | `SqlEditor` |
|
|
1142
|
+
| EventMetaEditor | 기본 이벤트 메타와 호출자 소유 섹션을 한 폼에서 편집하고, footer의 한 액션으로 함께 저장할 수 있습니다. | `EventMetaEditor` |
|
|
1143
|
+
| PropertyExplorer | 검색 가능한 속성 목록을 그룹별로 표시하고, 숨김 상태와 호출자 소유의 명시적인 편집 액션을 함께 제공합니다. | `PropertyExplorer` |
|
|
1144
|
+
| RichTextEditor | 마크다운 리치 텍스트 에디터. 서식 툴바 + textarea 조합. | `RichTextEditor` |
|
|
1145
|
+
| ExportButton | 데이터 내보내기 버튼. CSV/JSON 변환 내장, PDF는 콜백 위임. DropdownMenu 기반. | `ExportButton` |
|
|
1146
|
+
| InsightsPanel | 이상 탐지 인사이트 패널. severity별 카드, 통계 필터, dismiss 기능, 검출 설정(유형/Z-score/days). | `InsightsPanel` |
|
|
1146
1147
|
|
|
1147
1148
|
### SqlEditor
|
|
1148
1149
|
|
|
@@ -1172,18 +1173,61 @@ const fields = [
|
|
|
1172
1173
|
|
|
1173
1174
|
### EventMetaEditor
|
|
1174
1175
|
|
|
1175
|
-
> 이벤트
|
|
1176
|
+
> 기본 이벤트 메타와 호출자 소유 섹션을 한 폼에서 편집하고, footer의 한 액션으로 함께 저장할 수 있습니다.
|
|
1176
1177
|
|
|
1177
1178
|
**Import:** `import { EventMetaEditor } from "@reopt-ai/opt-ui"`
|
|
1178
1179
|
**Dependencies:** input (core), icon-picker (core), color-picker (core), tag-input (core)
|
|
1179
1180
|
|
|
1181
|
+
**EventMetaEditor:**
|
|
1182
|
+
|
|
1183
|
+
| Prop | Type | Required | Default | Description |
|
|
1184
|
+
| ----------- | --------------------------- | -------- | ------- | ------------------------------------------------------ |
|
|
1185
|
+
| `value` | `EventMeta` | Yes | | 편집 중인 이벤트 메타데이터 |
|
|
1186
|
+
| `onChange` | `(meta: EventMeta) => void` | Yes | | 메타데이터 변경 |
|
|
1187
|
+
| `icons` | `IconDef[]` | | | 선택 가능한 아이콘 |
|
|
1188
|
+
| `sections` | `EventMetaEditorSection[]` | | | 기본 여섯 필드 뒤에 렌더할 호출자 소유 섹션 |
|
|
1189
|
+
| `footer` | `ReactNode` | | | 내장 필드와 추가 섹션을 함께 저장하는 마지막 액션 영역 |
|
|
1190
|
+
| `className` | `string` | | | 추가 CSS 클래스 |
|
|
1191
|
+
| `labels` | `EventMetaEditorLabels` | | | 필드 레이블과 placeholder 문구 |
|
|
1192
|
+
|
|
1193
|
+
**EventMetaEditorSection:**
|
|
1194
|
+
|
|
1195
|
+
| Prop | Type | Required | Default | Description |
|
|
1196
|
+
| ------------- | ----------- | -------- | ------- | ---------------------------- |
|
|
1197
|
+
| `id` | `string` | Yes | | 섹션 키 |
|
|
1198
|
+
| `title` | `ReactNode` | | | 섹션 제목 |
|
|
1199
|
+
| `description` | `ReactNode` | | | 섹션 변경이 미치는 영향 안내 |
|
|
1200
|
+
| `children` | `ReactNode` | Yes | | 호출자가 소유하는 필드 |
|
|
1201
|
+
|
|
1180
1202
|
### PropertyExplorer
|
|
1181
1203
|
|
|
1182
|
-
>
|
|
1204
|
+
> 검색 가능한 속성 목록을 그룹별로 표시하고, 숨김 상태와 호출자 소유의 명시적인 편집 액션을 함께 제공합니다.
|
|
1183
1205
|
|
|
1184
1206
|
**Import:** `import { PropertyExplorer } from "@reopt-ai/opt-ui"`
|
|
1185
1207
|
**Dependencies:** input (core)
|
|
1186
1208
|
|
|
1209
|
+
**PropertyExplorer:**
|
|
1210
|
+
|
|
1211
|
+
| Prop | Type | Required | Default | Description |
|
|
1212
|
+
| ----------- | --------------------------------- | -------- | ------- | -------------------------------------------------------------- |
|
|
1213
|
+
| `groups` | `PropertyGroup[]` | Yes | | 그룹별 속성 목록. 각 속성은 dataType과 hidden 상태를 포함 가능 |
|
|
1214
|
+
| `onSelect` | `(property: PropertyDef) => void` | | | 속성 선택 |
|
|
1215
|
+
| `onEdit` | `(property: PropertyDef) => void` | | | 행에 명시적인 편집 버튼을 표시하고 선택한 속성을 전달 |
|
|
1216
|
+
| `className` | `string` | | | 추가 CSS 클래스 |
|
|
1217
|
+
| `labels` | `PropertyExplorerLabels` | | | 검색·빈 상태·편집·숨김 문구 |
|
|
1218
|
+
|
|
1219
|
+
**PropertyDef:**
|
|
1220
|
+
|
|
1221
|
+
| Prop | Type | Required | Default | Description |
|
|
1222
|
+
| -------------- | --------------- | -------- | ------- | ------------------------------------------------- |
|
|
1223
|
+
| `name` | `string` | Yes | | 속성 이름 |
|
|
1224
|
+
| `type` | `string` | Yes | | 원본 스키마 타입 |
|
|
1225
|
+
| `dataType` | `FieldDataType` | | | 호출자가 이미 판정한 opt-ui 필드 타입 |
|
|
1226
|
+
| `description` | `string` | | | 속성 설명 |
|
|
1227
|
+
| `exampleValue` | `string` | | | 예시 값 |
|
|
1228
|
+
| `eventCount` | `number` | | | 관측 이벤트 수 |
|
|
1229
|
+
| `hidden` | `boolean` | | | 피커에서는 숨기되 탐색기에서는 흐리게 표시할 상태 |
|
|
1230
|
+
|
|
1187
1231
|
### RichTextEditor
|
|
1188
1232
|
|
|
1189
1233
|
> 마크다운 리치 텍스트 에디터. 서식 툴바 + textarea 조합.
|
|
@@ -1724,6 +1768,8 @@ const messages = [
|
|
|
1724
1768
|
| `footer` | `ReactNode` | | | 인스펙터 하단 |
|
|
1725
1769
|
| `breakpoint` | `"lg" \| "xl" \| "2xl"` | | "xl" | 이 폭 이상이면 push |
|
|
1726
1770
|
| `width` | `"sm" \| "md" \| "lg"` | | "md" | push 레이아웃에서의 인스펙터 폭 |
|
|
1771
|
+
| `labels` | `InspectorLayoutLabels` | | | 닫기 버튼 등 인스펙터 문구 |
|
|
1772
|
+
| `className` | `string` | | | 추가 CSS 클래스 |
|
|
1727
1773
|
|
|
1728
1774
|
### QueryFilterBar
|
|
1729
1775
|
|
|
@@ -1742,6 +1788,8 @@ const messages = [
|
|
|
1742
1788
|
| `live` | `boolean` | | false | 매 입력마다 커밋 |
|
|
1743
1789
|
| `disabled` | `boolean` | | false | 전체 비활성 |
|
|
1744
1790
|
| `queryBarLabels` | `QueryBarLabels` | | | QueryBar로 통과되는 나머지 문구. placeholder/ariaLabel은 labels가 이깁니다 |
|
|
1791
|
+
| `labels` | `QueryFilterBarLabels` | | | 검색·필터·초기화 문구 |
|
|
1792
|
+
| `className` | `string` | | | 추가 CSS 클래스 |
|
|
1745
1793
|
|
|
1746
1794
|
### CatalogFrame
|
|
1747
1795
|
|
|
@@ -1784,6 +1832,7 @@ const messages = [
|
|
|
1784
1832
|
| `error` | `ReactNode` | | | 읽기 실패. 빈 목록과 다른 답 |
|
|
1785
1833
|
| `onRetry` | `() => void` | | | 재시도 |
|
|
1786
1834
|
| `labels` | `CatalogFrameLabels` | | | 빈/필터된 빈/에러 문구 |
|
|
1835
|
+
| `className` | `string` | | | 추가 CSS 클래스 |
|
|
1787
1836
|
|
|
1788
1837
|
**CatalogRowActions:**
|
|
1789
1838
|
|
|
@@ -1794,6 +1843,16 @@ const messages = [
|
|
|
1794
1843
|
| `visibleCount` | `number` | | 2 | 오버플로 전에 노출할 개수. available 필터링 후에 적용됨 |
|
|
1795
1844
|
| `labels` | `CatalogRowActionsLabels` | | | 그룹·오버플로 라벨 |
|
|
1796
1845
|
|
|
1846
|
+
**CatalogRowAction:**
|
|
1847
|
+
|
|
1848
|
+
| Prop | Type | Required | Default | Description |
|
|
1849
|
+
| ----------- | ---------------------- | -------- | ------- | ----------------------------------------------- |
|
|
1850
|
+
| `id` | `string` | Yes | | 액션 키 |
|
|
1851
|
+
| `label` | `string` | Yes | | 액션 문구 |
|
|
1852
|
+
| `icon` | `ReactNode` | | | 선택적 액션 아이콘 |
|
|
1853
|
+
| `onSelect` | `(item: T) => void` | Yes | | 행과 함께 호출되는 액션 |
|
|
1854
|
+
| `available` | `(item: T) => boolean` | | | 이 행에 적용되지 않는 액션을 비활성화 대신 제거 |
|
|
1855
|
+
|
|
1797
1856
|
**CatalogCellControls:**
|
|
1798
1857
|
|
|
1799
1858
|
| Prop | Type | Required | Default | Description |
|
|
@@ -2944,7 +2944,7 @@ function Flyout({ open, onClose, title, description, type = "overlay", side = "r
|
|
|
2944
2944
|
});
|
|
2945
2945
|
if (type === "inline") return panel;
|
|
2946
2946
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [scrim && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2947
|
-
className: "bg-
|
|
2947
|
+
className: "bg-scrim fixed inset-0 z-30",
|
|
2948
2948
|
"aria-hidden": "true"
|
|
2949
2949
|
}), panel] });
|
|
2950
2950
|
}
|
|
@@ -2943,7 +2943,7 @@ function Flyout({ open, onClose, title, description, type = "overlay", side = "r
|
|
|
2943
2943
|
});
|
|
2944
2944
|
if (type === "inline") return panel;
|
|
2945
2945
|
return /* @__PURE__ */ jsxs(Fragment, { children: [scrim && /* @__PURE__ */ jsx("div", {
|
|
2946
|
-
className: "bg-
|
|
2946
|
+
className: "bg-scrim fixed inset-0 z-30",
|
|
2947
2947
|
"aria-hidden": "true"
|
|
2948
2948
|
}), panel] });
|
|
2949
2949
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const require_text_truncate = require("./text-truncate-I1XLWmRa.cjs");
|
|
4
4
|
const require_key_pad_menu = require("./key-pad-menu-SItoHPLu.cjs");
|
|
5
|
-
const require_field_sidebar = require("./field-sidebar-
|
|
5
|
+
const require_field_sidebar = require("./field-sidebar-oa6zOmcd.cjs");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let react = require("react");
|
|
8
8
|
react = require_text_truncate.__toESM(react, 1);
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { $ as PopoverClose, $t as CompositeProvider, A as FormRadio, An as OPT_BADGE_RED, At as DialogBody, B as FormSubmit, Bn as OPT_FOCUS, Bt as SelectLabel, C as FormGroupLabel, Ct as ComboboxGroup, D as FormNumberInput, Dn as OPT_BADGE_BLUE, Dt as ComboboxPopover, E as FormLabel, Et as ComboboxItem, F as FormSelect, Ft as DialogHeader, G as useFormContext, Gt as TabList, H as FormTagInput, Hn as OPT_HOVER_ITEM, Ht as SelectRoot, I as FormSelectItem, In as OPT_DOT_GRAY, It as DialogHeading, J as DateRangePicker, Jt as DisclosureContent, K as useFormStore, Kt as TabPanel, L as FormSelectPopover, Ln as OPT_DOT_GREEN, Lt as DialogPanel, M as FormRemove, Mn as OPT_BORDER, Mt as DialogDisclosure, N as FormReset, Nt as DialogDismiss, O as FormProvider, On as OPT_BADGE_GREEN, Ot as ComboboxRoot, P as FormRoot, Pt as DialogFooter, Q as ColorPicker, Qt as CompositeItem, R as FormSlider, Rn as OPT_DOT_RED, Rt as DialogRoot, S as FormGroup, St as ComboboxEmpty, T as FormInput, Tt as ComboboxInput, U as FormTextarea, Un as OPT_INPUT, Ut as SelectTrigger, V as FormSwitch, Vn as OPT_FOCUS_VISIBLE, Vt as SelectPopover, W as useFieldValue, Wt as Tab, X as IconPicker, Xn as OPT_TD, Xt as DisclosureTrigger, Y as TagInput, Yt as DisclosureRoot, Z as getIconRegistryEntry, Zt as Composite, _ as FormControl, _n as SkeletonCard, _t as MenuRoot, a as FieldTokenLegend, an as useInputId, ar as _objectWithoutProperties, at as ToolbarButton, b as FormError, bn as useControlledState, bt as MenubarContainer, c as Checkbox, cn as Badge, ct as ToolbarSeparator, d as formatOptDateTime, dn as koBreadcrumbLabels, dt as TooltipProvider, en as CompositeRow, er as OPT_TEXT_PRIMARY, et as PopoverContent, f as formatOptNumber, fn as koComboboxLabels, ft as MenuButtonArrow, g as FormColorPicker, gn as SkeletonAvatar, gt as MenuPopover, h as FormCheckbox, hn as Skeleton, ht as MenuItemRadio, i as FieldToken, in as Input, ir as _objectSpread2, it as NumberInput, j as FormRadioGroup, jn as OPT_BADGE_YELLOW, jt as DialogDescription, k as FormPush, kn as OPT_BADGE_NEUTRAL, kt as AlertDialogPanel, l as CheckboxGroup, ln as EmptyState, lt as Tooltip, m as formatOptTime, mn as StatCard, mt as MenuItemCheckbox, n as Highlight, nn as Meter, nr as OPT_TEXT_TERTIARY, nt as PopoverTrigger, o as resolveFieldType, on as Alert, or as Kbd, ot as ToolbarContainer, p as formatOptShortDate, pn as koStarRatingLabels, pt as MenuItem, q as DEFAULT_PRESETS, qt as TabsRoot, r as FIELD_TYPE_TOKENS, rn as StarRating, rr as OPT_TH, rt as Slider, s as Pagination, sn as Spinner, sr as cn, st as ToolbarRoot, t as TextTruncate, tn as CompositeZone, tr as OPT_TEXT_SECONDARY, tt as PopoverRoot, un as Button, ut as TooltipAnchor, v as FormDateRangePicker, vn as SkeletonTable, vt as MenuSeparator, w as FormIconPicker, wt as ComboboxGroupLabel, x as FormField, xt as MenubarRoot, y as FormDescription, yn as SkeletonText, yt as MenuTrigger, z as FormStarRating, zn as OPT_DOT_YELLOW, zt as SelectItem } from "./text-truncate-DSuZECy0.js";
|
|
3
3
|
import { $ as Identity, A as PageHeader, B as DropdownTrigger, C as Logo, D as Section, E as ResizablePanelGroup, F as RadioGroup, G as Textarea, H as StepBuilder, I as DropdownContent, J as CardContent, K as Switch, L as DropdownItem, M as BlockLayout, N as LoadingOverlay, O as Container, P as Radio, Q as CardTitle, R as DropdownMenu, S as DrawerRoot, T as ResizablePanel, U as CircularProgress, V as ConditionBuilder, W as Progress, X as CardFooter, Y as CardDescription, Z as CardHeader, _ as getShaderFragment, a as THEME_PALETTES, at as AccordionItem, b as DrawerClose, c as ExpressionGroup, ct as Toggle, d as ShaderSurface, dt as Separator, et as Avatar, f as SHADER_OVERLAY_PARAM_KEYS, ft as Heading, g as SHADER_PRESET_IDS, h as SHADER_PRESETS, i as ColorPalettePicker, it as AccordionContent, j as createBlock, k as ScrollArea, l as Facet, lt as ToggleGroup, m as SHADER_PARAM_KEYS, n as InlineEdit, nt as DescriptionList, o as LiveRegion, ot as AccordionRoot, p as SHADER_PARAM_FALLBACK, pt as Text, q as Card, r as ColorPaletteDisplay, rt as Breadcrumb, s as Expression, st as AccordionTrigger, t as KeyPadMenu, tt as AvatarGroup, u as FacetGroup, ut as OtpField, v as getShaderPreset, w as ResizableHandle, x as DrawerPanel, y as VirtualList, z as DropdownSeparator } from "./key-pad-menu-Di2aRGbM.js";
|
|
4
|
-
import { $ as CommandGroup, 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, Q as CommandEmpty, R as DeploymentTimeline, S as withoutField, T as EventTimeline, U as SidebarNav, V as ContentTabs, W as AppMenubar, X as Command, Y as CommandPalette, Z as CommandDialog, _ as fieldValues, a as TimeRangeControl, b as removeClause, c as describeClause, d as quoteValue, et as CommandInput, f as parseQuery, g as applyCellAction, h as addClause, i as DEFAULT_TIME_PRESETS, it as CommandShortcut, j as toast, k as NotificationToast, l as formatClause, m as EMPTY_QUERY, n as LogTable, nt as CommandList, o as useAutoRefresh, p as parseQueryWithDiagnostics, q as DashboardGrid, r as TimeSeriesPanel, rt as CommandSeparator, s as QueryBar, t as FieldSidebar, tt as CommandItem, u as formatQuery, v as isEmptyQuery, w as ScoreBreakdown, x as withFieldValue, y as queryFields, z as SettingsForm } from "./field-sidebar-
|
|
4
|
+
import { $ as CommandGroup, 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, Q as CommandEmpty, R as DeploymentTimeline, S as withoutField, T as EventTimeline, U as SidebarNav, V as ContentTabs, W as AppMenubar, X as Command, Y as CommandPalette, Z as CommandDialog, _ as fieldValues, a as TimeRangeControl, b as removeClause, c as describeClause, d as quoteValue, et as CommandInput, f as parseQuery, g as applyCellAction, h as addClause, i as DEFAULT_TIME_PRESETS, it as CommandShortcut, j as toast, k as NotificationToast, l as formatClause, m as EMPTY_QUERY, n as LogTable, nt as CommandList, o as useAutoRefresh, p as parseQueryWithDiagnostics, q as DashboardGrid, r as TimeSeriesPanel, rt as CommandSeparator, s as QueryBar, t as FieldSidebar, tt as CommandItem, u as formatQuery, v as isEmptyQuery, w as ScoreBreakdown, x as withFieldValue, y as queryFields, z as SettingsForm } from "./field-sidebar-zkkqC7__.js";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { Component, createContext, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
package/dist/meta.cjs
CHANGED
|
@@ -3,7 +3,7 @@ const coreMetas = [
|
|
|
3
3
|
{
|
|
4
4
|
name: "FieldToken",
|
|
5
5
|
category: "core",
|
|
6
|
-
description: "필드 타입을
|
|
6
|
+
description: "필드 타입을 일관된 글리프와 선택적 텍스트 레이블로 표현합니다. 문자열·숫자·날짜·IP·지오 등 분석 스키마 타입마다 같은 아이콘과 팔레트 슬롯을 씁니다.",
|
|
7
7
|
slug: "field-token",
|
|
8
8
|
exports: [
|
|
9
9
|
"FieldToken",
|
|
@@ -46,6 +46,17 @@ const coreMetas = [
|
|
|
46
46
|
default: "false",
|
|
47
47
|
description: "인접 텍스트가 타입을 이미 말할 때 접근성 트리에서 제외"
|
|
48
48
|
},
|
|
49
|
+
{
|
|
50
|
+
name: "withLabel",
|
|
51
|
+
type: "boolean",
|
|
52
|
+
default: "false",
|
|
53
|
+
description: "글리프 옆에 타입 이름을 함께 표시"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "label",
|
|
57
|
+
type: "string",
|
|
58
|
+
description: "withLabel이 표시할 문구. 기본값은 타입 이름"
|
|
59
|
+
},
|
|
49
60
|
{
|
|
50
61
|
name: "className",
|
|
51
62
|
type: "string",
|
|
@@ -5157,6 +5168,11 @@ const MyDashboard = createBlock<MyDashboardProps>(
|
|
|
5157
5168
|
type: "string",
|
|
5158
5169
|
required: true,
|
|
5159
5170
|
description: "radiogroup 이름. 필수"
|
|
5171
|
+
},
|
|
5172
|
+
{
|
|
5173
|
+
name: "className",
|
|
5174
|
+
type: "string",
|
|
5175
|
+
description: "추가 CSS 클래스"
|
|
5160
5176
|
}
|
|
5161
5177
|
] },
|
|
5162
5178
|
usage: {
|
|
@@ -5767,7 +5783,7 @@ const fields = [
|
|
|
5767
5783
|
{
|
|
5768
5784
|
name: "DataTable",
|
|
5769
5785
|
category: "shell",
|
|
5770
|
-
description: "제네릭 데이터 테이블.
|
|
5786
|
+
description: "제네릭 데이터 테이블. 제목은 opt-in이고 ariaLabel로 grid를 이름 붙이며, 동적 컬럼·안전 정렬·키보드 리사이즈·Composite 탐색을 지원합니다.",
|
|
5771
5787
|
slug: "data-table",
|
|
5772
5788
|
exports: ["DataTable"],
|
|
5773
5789
|
keyboardShortcuts: [
|
|
@@ -5835,8 +5851,12 @@ const fields = [
|
|
|
5835
5851
|
{
|
|
5836
5852
|
name: "title",
|
|
5837
5853
|
type: "string",
|
|
5838
|
-
|
|
5839
|
-
|
|
5854
|
+
description: "테이블 위에 표시할 제목. 생략하면 제목 영역을 렌더하지 않음"
|
|
5855
|
+
},
|
|
5856
|
+
{
|
|
5857
|
+
name: "ariaLabel",
|
|
5858
|
+
type: "string",
|
|
5859
|
+
description: "보이는 제목이 없을 때 grid에 제공할 접근 가능한 이름"
|
|
5840
5860
|
},
|
|
5841
5861
|
{
|
|
5842
5862
|
name: "onRowClick",
|
|
@@ -5846,7 +5866,7 @@ const fields = [
|
|
|
5846
5866
|
{
|
|
5847
5867
|
name: "emptyMessage",
|
|
5848
5868
|
type: "string",
|
|
5849
|
-
default: "\"
|
|
5869
|
+
default: "\"No data available\"",
|
|
5850
5870
|
description: "데이터 없을 때 표시할 메시지"
|
|
5851
5871
|
}
|
|
5852
5872
|
],
|
|
@@ -6820,10 +6840,78 @@ const filters = [
|
|
|
6820
6840
|
{
|
|
6821
6841
|
name: "PropertyExplorer",
|
|
6822
6842
|
category: "shell",
|
|
6823
|
-
description: "
|
|
6843
|
+
description: "검색 가능한 속성 목록을 그룹별로 표시하고, 숨김 상태와 호출자 소유의 명시적인 편집 액션을 함께 제공합니다.",
|
|
6824
6844
|
slug: "property-explorer",
|
|
6825
6845
|
exports: ["PropertyExplorer"],
|
|
6826
|
-
props: {
|
|
6846
|
+
props: {
|
|
6847
|
+
PropertyExplorer: [
|
|
6848
|
+
{
|
|
6849
|
+
name: "groups",
|
|
6850
|
+
type: "PropertyGroup[]",
|
|
6851
|
+
required: true,
|
|
6852
|
+
description: "그룹별 속성 목록. 각 속성은 dataType과 hidden 상태를 포함 가능"
|
|
6853
|
+
},
|
|
6854
|
+
{
|
|
6855
|
+
name: "onSelect",
|
|
6856
|
+
type: "(property: PropertyDef) => void",
|
|
6857
|
+
description: "속성 선택"
|
|
6858
|
+
},
|
|
6859
|
+
{
|
|
6860
|
+
name: "onEdit",
|
|
6861
|
+
type: "(property: PropertyDef) => void",
|
|
6862
|
+
description: "행에 명시적인 편집 버튼을 표시하고 선택한 속성을 전달"
|
|
6863
|
+
},
|
|
6864
|
+
{
|
|
6865
|
+
name: "className",
|
|
6866
|
+
type: "string",
|
|
6867
|
+
description: "추가 CSS 클래스"
|
|
6868
|
+
},
|
|
6869
|
+
{
|
|
6870
|
+
name: "labels",
|
|
6871
|
+
type: "PropertyExplorerLabels",
|
|
6872
|
+
description: "검색·빈 상태·편집·숨김 문구"
|
|
6873
|
+
}
|
|
6874
|
+
],
|
|
6875
|
+
PropertyDef: [
|
|
6876
|
+
{
|
|
6877
|
+
name: "name",
|
|
6878
|
+
type: "string",
|
|
6879
|
+
required: true,
|
|
6880
|
+
description: "속성 이름"
|
|
6881
|
+
},
|
|
6882
|
+
{
|
|
6883
|
+
name: "type",
|
|
6884
|
+
type: "string",
|
|
6885
|
+
required: true,
|
|
6886
|
+
description: "원본 스키마 타입"
|
|
6887
|
+
},
|
|
6888
|
+
{
|
|
6889
|
+
name: "dataType",
|
|
6890
|
+
type: "FieldDataType",
|
|
6891
|
+
description: "호출자가 이미 판정한 opt-ui 필드 타입"
|
|
6892
|
+
},
|
|
6893
|
+
{
|
|
6894
|
+
name: "description",
|
|
6895
|
+
type: "string",
|
|
6896
|
+
description: "속성 설명"
|
|
6897
|
+
},
|
|
6898
|
+
{
|
|
6899
|
+
name: "exampleValue",
|
|
6900
|
+
type: "string",
|
|
6901
|
+
description: "예시 값"
|
|
6902
|
+
},
|
|
6903
|
+
{
|
|
6904
|
+
name: "eventCount",
|
|
6905
|
+
type: "number",
|
|
6906
|
+
description: "관측 이벤트 수"
|
|
6907
|
+
},
|
|
6908
|
+
{
|
|
6909
|
+
name: "hidden",
|
|
6910
|
+
type: "boolean",
|
|
6911
|
+
description: "피커에서는 숨기되 탐색기에서는 흐리게 표시할 상태"
|
|
6912
|
+
}
|
|
6913
|
+
]
|
|
6914
|
+
},
|
|
6827
6915
|
dependencies: [{
|
|
6828
6916
|
slug: "input",
|
|
6829
6917
|
category: "core"
|
|
@@ -6982,10 +7070,74 @@ const filters = [
|
|
|
6982
7070
|
{
|
|
6983
7071
|
name: "EventMetaEditor",
|
|
6984
7072
|
category: "shell",
|
|
6985
|
-
description: "이벤트
|
|
7073
|
+
description: "기본 이벤트 메타와 호출자 소유 섹션을 한 폼에서 편집하고, footer의 한 액션으로 함께 저장할 수 있습니다.",
|
|
6986
7074
|
slug: "event-meta-editor",
|
|
6987
7075
|
exports: ["EventMetaEditor"],
|
|
6988
|
-
props: {
|
|
7076
|
+
props: {
|
|
7077
|
+
EventMetaEditor: [
|
|
7078
|
+
{
|
|
7079
|
+
name: "value",
|
|
7080
|
+
type: "EventMeta",
|
|
7081
|
+
required: true,
|
|
7082
|
+
description: "편집 중인 이벤트 메타데이터"
|
|
7083
|
+
},
|
|
7084
|
+
{
|
|
7085
|
+
name: "onChange",
|
|
7086
|
+
type: "(meta: EventMeta) => void",
|
|
7087
|
+
required: true,
|
|
7088
|
+
description: "메타데이터 변경"
|
|
7089
|
+
},
|
|
7090
|
+
{
|
|
7091
|
+
name: "icons",
|
|
7092
|
+
type: "IconDef[]",
|
|
7093
|
+
description: "선택 가능한 아이콘"
|
|
7094
|
+
},
|
|
7095
|
+
{
|
|
7096
|
+
name: "sections",
|
|
7097
|
+
type: "EventMetaEditorSection[]",
|
|
7098
|
+
description: "기본 여섯 필드 뒤에 렌더할 호출자 소유 섹션"
|
|
7099
|
+
},
|
|
7100
|
+
{
|
|
7101
|
+
name: "footer",
|
|
7102
|
+
type: "ReactNode",
|
|
7103
|
+
description: "내장 필드와 추가 섹션을 함께 저장하는 마지막 액션 영역"
|
|
7104
|
+
},
|
|
7105
|
+
{
|
|
7106
|
+
name: "className",
|
|
7107
|
+
type: "string",
|
|
7108
|
+
description: "추가 CSS 클래스"
|
|
7109
|
+
},
|
|
7110
|
+
{
|
|
7111
|
+
name: "labels",
|
|
7112
|
+
type: "EventMetaEditorLabels",
|
|
7113
|
+
description: "필드 레이블과 placeholder 문구"
|
|
7114
|
+
}
|
|
7115
|
+
],
|
|
7116
|
+
EventMetaEditorSection: [
|
|
7117
|
+
{
|
|
7118
|
+
name: "id",
|
|
7119
|
+
type: "string",
|
|
7120
|
+
required: true,
|
|
7121
|
+
description: "섹션 키"
|
|
7122
|
+
},
|
|
7123
|
+
{
|
|
7124
|
+
name: "title",
|
|
7125
|
+
type: "ReactNode",
|
|
7126
|
+
description: "섹션 제목"
|
|
7127
|
+
},
|
|
7128
|
+
{
|
|
7129
|
+
name: "description",
|
|
7130
|
+
type: "ReactNode",
|
|
7131
|
+
description: "섹션 변경이 미치는 영향 안내"
|
|
7132
|
+
},
|
|
7133
|
+
{
|
|
7134
|
+
name: "children",
|
|
7135
|
+
type: "ReactNode",
|
|
7136
|
+
required: true,
|
|
7137
|
+
description: "호출자가 소유하는 필드"
|
|
7138
|
+
}
|
|
7139
|
+
]
|
|
7140
|
+
},
|
|
6989
7141
|
dependencies: [
|
|
6990
7142
|
{
|
|
6991
7143
|
slug: "input",
|
|
@@ -9369,6 +9521,16 @@ const messages = [
|
|
|
9369
9521
|
type: "\"sm\" | \"md\" | \"lg\"",
|
|
9370
9522
|
default: "\"md\"",
|
|
9371
9523
|
description: "push 레이아웃에서의 인스펙터 폭"
|
|
9524
|
+
},
|
|
9525
|
+
{
|
|
9526
|
+
name: "labels",
|
|
9527
|
+
type: "InspectorLayoutLabels",
|
|
9528
|
+
description: "닫기 버튼 등 인스펙터 문구"
|
|
9529
|
+
},
|
|
9530
|
+
{
|
|
9531
|
+
name: "className",
|
|
9532
|
+
type: "string",
|
|
9533
|
+
description: "추가 CSS 클래스"
|
|
9372
9534
|
}
|
|
9373
9535
|
] },
|
|
9374
9536
|
usage: {
|
|
@@ -9434,6 +9596,16 @@ const messages = [
|
|
|
9434
9596
|
name: "queryBarLabels",
|
|
9435
9597
|
type: "QueryBarLabels",
|
|
9436
9598
|
description: "QueryBar로 통과되는 나머지 문구. placeholder/ariaLabel은 labels가 이깁니다"
|
|
9599
|
+
},
|
|
9600
|
+
{
|
|
9601
|
+
name: "labels",
|
|
9602
|
+
type: "QueryFilterBarLabels",
|
|
9603
|
+
description: "검색·필터·초기화 문구"
|
|
9604
|
+
},
|
|
9605
|
+
{
|
|
9606
|
+
name: "className",
|
|
9607
|
+
type: "string",
|
|
9608
|
+
description: "추가 CSS 클래스"
|
|
9437
9609
|
}
|
|
9438
9610
|
] },
|
|
9439
9611
|
usage: {
|
|
@@ -9616,6 +9788,11 @@ const messages = [
|
|
|
9616
9788
|
name: "labels",
|
|
9617
9789
|
type: "CatalogFrameLabels",
|
|
9618
9790
|
description: "빈/필터된 빈/에러 문구"
|
|
9791
|
+
},
|
|
9792
|
+
{
|
|
9793
|
+
name: "className",
|
|
9794
|
+
type: "string",
|
|
9795
|
+
description: "추가 CSS 클래스"
|
|
9619
9796
|
}
|
|
9620
9797
|
],
|
|
9621
9798
|
CatalogRowActions: [
|
|
@@ -9643,6 +9820,36 @@ const messages = [
|
|
|
9643
9820
|
description: "그룹·오버플로 라벨"
|
|
9644
9821
|
}
|
|
9645
9822
|
],
|
|
9823
|
+
CatalogRowAction: [
|
|
9824
|
+
{
|
|
9825
|
+
name: "id",
|
|
9826
|
+
type: "string",
|
|
9827
|
+
required: true,
|
|
9828
|
+
description: "액션 키"
|
|
9829
|
+
},
|
|
9830
|
+
{
|
|
9831
|
+
name: "label",
|
|
9832
|
+
type: "string",
|
|
9833
|
+
required: true,
|
|
9834
|
+
description: "액션 문구"
|
|
9835
|
+
},
|
|
9836
|
+
{
|
|
9837
|
+
name: "icon",
|
|
9838
|
+
type: "ReactNode",
|
|
9839
|
+
description: "선택적 액션 아이콘"
|
|
9840
|
+
},
|
|
9841
|
+
{
|
|
9842
|
+
name: "onSelect",
|
|
9843
|
+
type: "(item: T) => void",
|
|
9844
|
+
required: true,
|
|
9845
|
+
description: "행과 함께 호출되는 액션"
|
|
9846
|
+
},
|
|
9847
|
+
{
|
|
9848
|
+
name: "available",
|
|
9849
|
+
type: "(item: T) => boolean",
|
|
9850
|
+
description: "이 행에 적용되지 않는 액션을 비활성화 대신 제거"
|
|
9851
|
+
}
|
|
9852
|
+
],
|
|
9646
9853
|
CatalogCellControls: [{
|
|
9647
9854
|
name: "children",
|
|
9648
9855
|
type: "ReactNode",
|