@reopt-ai/opt-ui 1.12.5 → 1.13.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/CHANGELOG.md +236 -0
- package/COMPONENT_CATALOG.md +290 -111
- package/dist/core/index.cjs +13 -13
- 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 +49 -49
- package/dist/docs/02-components/02-visuals.md +1 -1
- package/dist/docs/02-components/03-shells.md +260 -63
- package/dist/docs/02-components/04-surfaces.md +1 -1
- package/dist/docs/02-components/index.md +4 -4
- package/dist/{field-sidebar-Ben7MQD4.js → field-sidebar-CRdToHRO.js} +3975 -235
- package/dist/{field-sidebar-DwtrYSSt.cjs → field-sidebar-CxxSK4JO.cjs} +4338 -244
- package/dist/{field-sidebar-Ct8c9L4V.d.cts → field-sidebar-D-rwuN_w.d.cts} +824 -2
- package/dist/{field-sidebar-YaWHfLLW.d.ts → field-sidebar-Dz7J4ett.d.ts} +824 -2
- package/dist/id-registry.cjs +72 -0
- package/dist/id-registry.js +72 -0
- package/dist/id-registry.json +153 -0
- package/dist/index.cjs +334 -1419
- package/dist/index.d.cts +51 -86
- package/dist/index.d.ts +51 -86
- package/dist/index.js +248 -1356
- package/dist/{key-pad-menu-BpQebDyw.cjs → key-pad-menu-0KWOnELe.cjs} +51 -481
- package/dist/{key-pad-menu-CwcY_Vps.d.cts → key-pad-menu-BOVu97bj.d.cts} +4 -55
- package/dist/{key-pad-menu-CYYtS_Tl.js → key-pad-menu-DMmbQ1jF.js} +52 -416
- package/dist/{key-pad-menu-WBJShCJn.d.ts → key-pad-menu-NlZ9zNF8.d.ts} +4 -55
- package/dist/meta.cjs +896 -7
- package/dist/meta.js +896 -7
- package/dist/shells/index.cjs +20 -1
- package/dist/shells/index.d.cts +2 -2
- package/dist/shells/index.d.ts +2 -2
- package/dist/shells/index.js +2 -2
- package/dist/{text-truncate-Dlm7JwDf.js → text-truncate-Bd-0WkSP.js} +461 -97
- package/dist/{text-truncate-CqdiQuj8.cjs → text-truncate-BeYW6XZu.cjs} +523 -99
- package/dist/{text-truncate-CQyfUZvq.d.cts → text-truncate-eMzvU_7k.d.cts} +52 -1
- package/dist/{text-truncate-CQyfUZvq.d.ts → text-truncate-eMzvU_7k.d.ts} +52 -1
- package/dist/theme/server.cjs +2 -2
- package/dist/theme/server.js +2 -2
- package/package.json +6 -2
package/dist/meta.cjs
CHANGED
|
@@ -1221,6 +1221,10 @@ const coreMetas = [
|
|
|
1221
1221
|
},
|
|
1222
1222
|
{
|
|
1223
1223
|
name: "setOpen",
|
|
1224
|
+
deprecated: {
|
|
1225
|
+
since: "1.12.5",
|
|
1226
|
+
replacement: "onOpenChange"
|
|
1227
|
+
},
|
|
1224
1228
|
type: "(open: boolean) => void",
|
|
1225
1229
|
description: "제어 모드: 상태 변경 핸들러"
|
|
1226
1230
|
},
|
|
@@ -1298,6 +1302,10 @@ const coreMetas = [
|
|
|
1298
1302
|
},
|
|
1299
1303
|
{
|
|
1300
1304
|
name: "setSelectedId",
|
|
1305
|
+
deprecated: {
|
|
1306
|
+
since: "1.12.5",
|
|
1307
|
+
replacement: "onSelectedIdChange"
|
|
1308
|
+
},
|
|
1301
1309
|
type: "(id: string | null) => void",
|
|
1302
1310
|
description: "제어 모드: 탭 변경 핸들러"
|
|
1303
1311
|
}
|
|
@@ -1466,6 +1474,10 @@ const coreMetas = [
|
|
|
1466
1474
|
},
|
|
1467
1475
|
{
|
|
1468
1476
|
name: "gutter",
|
|
1477
|
+
deprecated: {
|
|
1478
|
+
since: "1.12.5",
|
|
1479
|
+
replacement: "sideOffset"
|
|
1480
|
+
},
|
|
1469
1481
|
type: "number",
|
|
1470
1482
|
default: "4",
|
|
1471
1483
|
description: "트리거와의 간격 (px)"
|
|
@@ -1544,6 +1556,10 @@ const coreMetas = [
|
|
|
1544
1556
|
description: "제어 모드: 열림 상태"
|
|
1545
1557
|
}, {
|
|
1546
1558
|
name: "setOpen",
|
|
1559
|
+
deprecated: {
|
|
1560
|
+
since: "1.12.5",
|
|
1561
|
+
replacement: "onOpenChange"
|
|
1562
|
+
},
|
|
1547
1563
|
type: "(open: boolean) => void",
|
|
1548
1564
|
description: "제어 모드: 상태 변경 핸들러"
|
|
1549
1565
|
}],
|
|
@@ -1667,6 +1683,10 @@ const coreMetas = [
|
|
|
1667
1683
|
props: {
|
|
1668
1684
|
ComboboxRoot: [{
|
|
1669
1685
|
name: "setValue",
|
|
1686
|
+
deprecated: {
|
|
1687
|
+
since: "1.12.5",
|
|
1688
|
+
replacement: "onValueChange"
|
|
1689
|
+
},
|
|
1670
1690
|
type: "(value: string) => void",
|
|
1671
1691
|
description: "입력값 변경 핸들러"
|
|
1672
1692
|
}, {
|
|
@@ -1708,6 +1728,10 @@ const coreMetas = [
|
|
|
1708
1728
|
},
|
|
1709
1729
|
{
|
|
1710
1730
|
name: "gutter",
|
|
1731
|
+
deprecated: {
|
|
1732
|
+
since: "1.12.5",
|
|
1733
|
+
replacement: "sideOffset"
|
|
1734
|
+
},
|
|
1711
1735
|
type: "number",
|
|
1712
1736
|
default: "4",
|
|
1713
1737
|
description: "입력과의 간격 (px)"
|
|
@@ -1839,6 +1863,10 @@ const coreMetas = [
|
|
|
1839
1863
|
},
|
|
1840
1864
|
{
|
|
1841
1865
|
name: "gutter",
|
|
1866
|
+
deprecated: {
|
|
1867
|
+
since: "1.12.5",
|
|
1868
|
+
replacement: "sideOffset"
|
|
1869
|
+
},
|
|
1842
1870
|
type: "number",
|
|
1843
1871
|
default: "8",
|
|
1844
1872
|
description: "트리거와의 간격 (px)"
|
|
@@ -2192,6 +2220,10 @@ const coreMetas = [
|
|
|
2192
2220
|
},
|
|
2193
2221
|
{
|
|
2194
2222
|
name: "gutter",
|
|
2223
|
+
deprecated: {
|
|
2224
|
+
since: "1.12.5",
|
|
2225
|
+
replacement: "sideOffset"
|
|
2226
|
+
},
|
|
2195
2227
|
type: "number",
|
|
2196
2228
|
default: "4",
|
|
2197
2229
|
description: "트리거와의 간격 (px)"
|
|
@@ -3949,6 +3981,10 @@ const store = useFormStore({ defaultValues: { name: "" } });
|
|
|
3949
3981
|
}],
|
|
3950
3982
|
props: { PopoverContent: [{
|
|
3951
3983
|
name: "gutter",
|
|
3984
|
+
deprecated: {
|
|
3985
|
+
since: "1.12.5",
|
|
3986
|
+
replacement: "sideOffset"
|
|
3987
|
+
},
|
|
3952
3988
|
type: "number",
|
|
3953
3989
|
default: "8",
|
|
3954
3990
|
description: "트리거와의 간격 (px)"
|
|
@@ -3989,6 +4025,10 @@ const store = useFormStore({ defaultValues: { name: "" } });
|
|
|
3989
4025
|
props: {
|
|
3990
4026
|
DropdownContent: [{
|
|
3991
4027
|
name: "gutter",
|
|
4028
|
+
deprecated: {
|
|
4029
|
+
since: "1.12.5",
|
|
4030
|
+
replacement: "sideOffset"
|
|
4031
|
+
},
|
|
3992
4032
|
type: "number",
|
|
3993
4033
|
default: "4",
|
|
3994
4034
|
description: "트리거와의 간격 (px)"
|
|
@@ -4999,6 +5039,7 @@ const MyDashboard = createBlock<MyDashboardProps>(
|
|
|
4999
5039
|
description: "페이지에 머무는 인페이지 고지. Alert와 달리 dismiss가 없고, 조건이 참인 동안 레이아웃의 일부로 남습니다.",
|
|
5000
5040
|
slug: "callout",
|
|
5001
5041
|
exports: ["Callout"],
|
|
5042
|
+
ariaRole: "status",
|
|
5002
5043
|
props: { Callout: [
|
|
5003
5044
|
{
|
|
5004
5045
|
name: "tone",
|
|
@@ -6940,15 +6981,26 @@ const filters = [
|
|
|
6940
6981
|
{
|
|
6941
6982
|
name: "QueryResultsTable",
|
|
6942
6983
|
category: "shell",
|
|
6943
|
-
|
|
6984
|
+
functionalCategory: "data-display",
|
|
6985
|
+
maturity: "stable",
|
|
6986
|
+
keywords: [
|
|
6987
|
+
"sql",
|
|
6988
|
+
"query",
|
|
6989
|
+
"results",
|
|
6990
|
+
"grid",
|
|
6991
|
+
"table",
|
|
6992
|
+
"virtualized"
|
|
6993
|
+
],
|
|
6994
|
+
description: "쿼리 결과 테이블. 타입이 표시되는 헤더, 로컬 정렬, 컬럼 리사이즈, 행 상세 패널을 갖추고 행을 윈도잉해 만 행도 스크롤로 다룹니다. NULL·불리언·객체를 빈칸 대신 글자로 씁니다.",
|
|
6944
6995
|
slug: "query-results-table",
|
|
6945
6996
|
exports: ["QueryResultsTable"],
|
|
6997
|
+
domlessExports: ["formatQueryCell"],
|
|
6946
6998
|
props: { QueryResultsTable: [
|
|
6947
6999
|
{
|
|
6948
7000
|
name: "columns",
|
|
6949
|
-
type: "string
|
|
7001
|
+
type: "Array<string | QueryResultColumn>",
|
|
6950
7002
|
required: true,
|
|
6951
|
-
description: "컬럼
|
|
7003
|
+
description: "컬럼 이름, 또는 타입을 포함한 컬럼 정의"
|
|
6952
7004
|
},
|
|
6953
7005
|
{
|
|
6954
7006
|
name: "rows",
|
|
@@ -6956,6 +7008,12 @@ const filters = [
|
|
|
6956
7008
|
required: true,
|
|
6957
7009
|
description: "결과 행"
|
|
6958
7010
|
},
|
|
7011
|
+
{
|
|
7012
|
+
name: "maxHeight",
|
|
7013
|
+
type: "number | \"fill\"",
|
|
7014
|
+
default: "400",
|
|
7015
|
+
description: "스크롤 높이(px). fill이면 부모 높이를 채움"
|
|
7016
|
+
},
|
|
6959
7017
|
{
|
|
6960
7018
|
name: "loading",
|
|
6961
7019
|
type: "boolean",
|
|
@@ -6966,12 +7024,59 @@ const filters = [
|
|
|
6966
7024
|
type: "string",
|
|
6967
7025
|
description: "assertive 오류 상태"
|
|
6968
7026
|
},
|
|
7027
|
+
{
|
|
7028
|
+
name: "sortable",
|
|
7029
|
+
type: "boolean",
|
|
7030
|
+
default: "true",
|
|
7031
|
+
description: "헤더 클릭 정렬"
|
|
7032
|
+
},
|
|
7033
|
+
{
|
|
7034
|
+
name: "sort",
|
|
7035
|
+
type: "QueryResultSort | null",
|
|
7036
|
+
description: "제어형 정렬 상태"
|
|
7037
|
+
},
|
|
7038
|
+
{
|
|
7039
|
+
name: "onSortChange",
|
|
7040
|
+
type: "(sort: QueryResultSort | null) => void",
|
|
7041
|
+
description: "정렬 변경"
|
|
7042
|
+
},
|
|
7043
|
+
{
|
|
7044
|
+
name: "rowHeight",
|
|
7045
|
+
type: "number",
|
|
7046
|
+
default: "32",
|
|
7047
|
+
description: "행 높이(px). 윈도잉의 기준"
|
|
7048
|
+
},
|
|
7049
|
+
{
|
|
7050
|
+
name: "rowDetails",
|
|
7051
|
+
type: "boolean",
|
|
7052
|
+
default: "true",
|
|
7053
|
+
description: "행을 상세 패널로 열기"
|
|
7054
|
+
},
|
|
7055
|
+
{
|
|
7056
|
+
name: "footer",
|
|
7057
|
+
type: "ReactNode",
|
|
7058
|
+
description: "행 수 뒤에 붙는 푸터 내용 — 경과 시간, 읽은 바이트"
|
|
7059
|
+
},
|
|
6969
7060
|
{
|
|
6970
7061
|
name: "labels",
|
|
6971
7062
|
type: "QueryResultsTableLabels",
|
|
6972
|
-
description: "로딩/빈 상태/행
|
|
7063
|
+
description: "로딩/빈 상태/행 수/정렬/상세 문구"
|
|
6973
7064
|
}
|
|
6974
7065
|
] },
|
|
7066
|
+
dependencies: [
|
|
7067
|
+
{
|
|
7068
|
+
slug: "field-token",
|
|
7069
|
+
category: "core"
|
|
7070
|
+
},
|
|
7071
|
+
{
|
|
7072
|
+
slug: "flyout",
|
|
7073
|
+
category: "shell"
|
|
7074
|
+
},
|
|
7075
|
+
{
|
|
7076
|
+
slug: "description-list",
|
|
7077
|
+
category: "core"
|
|
7078
|
+
}
|
|
7079
|
+
],
|
|
6975
7080
|
testDescribe: "QueryResultsTable"
|
|
6976
7081
|
},
|
|
6977
7082
|
{
|
|
@@ -7011,12 +7116,12 @@ const filters = [
|
|
|
7011
7116
|
},
|
|
7012
7117
|
{
|
|
7013
7118
|
name: "onRun",
|
|
7014
|
-
type: "(sql: string) => void",
|
|
7015
|
-
description: "Mod+Enter 실행
|
|
7119
|
+
type: "(sql: string, context: SqlEditorRunContext) => void",
|
|
7120
|
+
description: "Mod+Enter 실행 핸들러. 두 번째 인자로 선택 영역과 커서 위치"
|
|
7016
7121
|
},
|
|
7017
7122
|
{
|
|
7018
7123
|
name: "onRunAndAdvance",
|
|
7019
|
-
type: "(sql: string) => void",
|
|
7124
|
+
type: "(sql: string, context: SqlEditorRunContext) => void",
|
|
7020
7125
|
description: "Shift+Enter — 실행 후 다음 셀/탭으로 이동"
|
|
7021
7126
|
},
|
|
7022
7127
|
{
|
|
@@ -7069,6 +7174,18 @@ const filters = [
|
|
|
7069
7174
|
type: "boolean",
|
|
7070
7175
|
description: "실행 힌트/버튼 표시. 기본값은 onRun이 있을 때 표시"
|
|
7071
7176
|
},
|
|
7177
|
+
{
|
|
7178
|
+
name: "lineNumbers",
|
|
7179
|
+
type: "boolean",
|
|
7180
|
+
default: "true",
|
|
7181
|
+
description: "줄 번호 거터"
|
|
7182
|
+
},
|
|
7183
|
+
{
|
|
7184
|
+
name: "theme",
|
|
7185
|
+
type: "SqlEditorTheme",
|
|
7186
|
+
default: "\"auto\"",
|
|
7187
|
+
description: "편집기 색상. auto는 OptThemeProvider의 resolved mode를 따름"
|
|
7188
|
+
},
|
|
7072
7189
|
{
|
|
7073
7190
|
name: "labels",
|
|
7074
7191
|
type: "SqlEditorLabels",
|
|
@@ -9881,6 +9998,778 @@ const messages = [
|
|
|
9881
9998
|
avoid: ["선택 초기화를 호출자에게 맡기지 않습니다 — 보이지 않는 행에 일괄 작업이 적용됩니다."]
|
|
9882
9999
|
},
|
|
9883
10000
|
testDescribe: "CatalogFrame"
|
|
10001
|
+
},
|
|
10002
|
+
{
|
|
10003
|
+
name: "SchemaTree",
|
|
10004
|
+
category: "shell",
|
|
10005
|
+
functionalCategory: "navigation",
|
|
10006
|
+
maturity: "stable",
|
|
10007
|
+
keywords: [
|
|
10008
|
+
"sql",
|
|
10009
|
+
"schema",
|
|
10010
|
+
"tables",
|
|
10011
|
+
"columns",
|
|
10012
|
+
"tree",
|
|
10013
|
+
"autocomplete"
|
|
10014
|
+
],
|
|
10015
|
+
description: "쿼리할 수 있는 테이블과 컬럼을 타입 글리프와 함께 보여주는 트리. 테이블·컬럼을 함께 검색하고, 이름을 커서에 삽입하거나 테이블을 미리보기합니다.",
|
|
10016
|
+
slug: "schema-tree",
|
|
10017
|
+
exports: ["SchemaTree"],
|
|
10018
|
+
props: { SchemaTree: [
|
|
10019
|
+
{
|
|
10020
|
+
name: "tables",
|
|
10021
|
+
type: "SchemaTreeTable[]",
|
|
10022
|
+
required: true,
|
|
10023
|
+
description: "테이블과 컬럼"
|
|
10024
|
+
},
|
|
10025
|
+
{
|
|
10026
|
+
name: "loading",
|
|
10027
|
+
type: "boolean",
|
|
10028
|
+
description: "스키마 조회 중"
|
|
10029
|
+
},
|
|
10030
|
+
{
|
|
10031
|
+
name: "defaultExpanded",
|
|
10032
|
+
type: "string[]",
|
|
10033
|
+
description: "처음에 펼칠 테이블. 생략 시 첫 테이블"
|
|
10034
|
+
},
|
|
10035
|
+
{
|
|
10036
|
+
name: "onInsert",
|
|
10037
|
+
type: "(name: string, kind: \"table\" | \"column\", table: string) => void",
|
|
10038
|
+
description: "이름을 편집기 커서에 삽입"
|
|
10039
|
+
},
|
|
10040
|
+
{
|
|
10041
|
+
name: "onPreview",
|
|
10042
|
+
type: "(table: string) => void",
|
|
10043
|
+
description: "테이블 미리보기 실행. SQL은 호출자가 작성"
|
|
10044
|
+
},
|
|
10045
|
+
{
|
|
10046
|
+
name: "header",
|
|
10047
|
+
type: "ReactNode",
|
|
10048
|
+
description: "검색창 위 내용"
|
|
10049
|
+
},
|
|
10050
|
+
{
|
|
10051
|
+
name: "labels",
|
|
10052
|
+
type: "SchemaTreeLabels",
|
|
10053
|
+
description: "문구 오버라이드"
|
|
10054
|
+
}
|
|
10055
|
+
] },
|
|
10056
|
+
dependencies: [{
|
|
10057
|
+
slug: "field-token",
|
|
10058
|
+
category: "core"
|
|
10059
|
+
}, {
|
|
10060
|
+
slug: "highlight",
|
|
10061
|
+
category: "core"
|
|
10062
|
+
}],
|
|
10063
|
+
ariaRole: "complementary",
|
|
10064
|
+
testDescribe: "SchemaTree"
|
|
10065
|
+
},
|
|
10066
|
+
{
|
|
10067
|
+
name: "QueryToolbar",
|
|
10068
|
+
category: "shell",
|
|
10069
|
+
functionalCategory: "action",
|
|
10070
|
+
maturity: "stable",
|
|
10071
|
+
keywords: [
|
|
10072
|
+
"sql",
|
|
10073
|
+
"run",
|
|
10074
|
+
"cancel",
|
|
10075
|
+
"toolbar",
|
|
10076
|
+
"shortcut"
|
|
10077
|
+
],
|
|
10078
|
+
description: "실행 버튼 하나가 상태를 말하는 쿼리 툴바. 변경됨/현재/실행 중을 색과 문구로 구분하고, 실행 중이면 취소로 바뀌며, 선택 영역·전체 실행은 분할 버튼 뒤에 둡니다.",
|
|
10079
|
+
slug: "query-toolbar",
|
|
10080
|
+
exports: ["QueryToolbar"],
|
|
10081
|
+
props: { QueryToolbar: [
|
|
10082
|
+
{
|
|
10083
|
+
name: "onRun",
|
|
10084
|
+
type: "() => void",
|
|
10085
|
+
required: true,
|
|
10086
|
+
description: "커서 위치의 문장 실행"
|
|
10087
|
+
},
|
|
10088
|
+
{
|
|
10089
|
+
name: "onCancel",
|
|
10090
|
+
type: "() => void",
|
|
10091
|
+
description: "실행 중 취소. 있으면 버튼이 Cancel로 전환"
|
|
10092
|
+
},
|
|
10093
|
+
{
|
|
10094
|
+
name: "running",
|
|
10095
|
+
type: "boolean",
|
|
10096
|
+
description: "실행 중"
|
|
10097
|
+
},
|
|
10098
|
+
{
|
|
10099
|
+
name: "runState",
|
|
10100
|
+
type: "QueryRunState",
|
|
10101
|
+
default: "\"idle\"",
|
|
10102
|
+
description: "마지막 실행 대비 변경 여부"
|
|
10103
|
+
},
|
|
10104
|
+
{
|
|
10105
|
+
name: "runDisabledReason",
|
|
10106
|
+
type: "string",
|
|
10107
|
+
description: "실행 불가 사유. 툴팁으로 표시"
|
|
10108
|
+
},
|
|
10109
|
+
{
|
|
10110
|
+
name: "onRunSelection",
|
|
10111
|
+
type: "() => void",
|
|
10112
|
+
description: "선택 영역만 실행"
|
|
10113
|
+
},
|
|
10114
|
+
{
|
|
10115
|
+
name: "hasSelection",
|
|
10116
|
+
type: "boolean",
|
|
10117
|
+
description: "선택 영역이 있는지. 없으면 항목 비활성"
|
|
10118
|
+
},
|
|
10119
|
+
{
|
|
10120
|
+
name: "onRunAll",
|
|
10121
|
+
type: "() => void",
|
|
10122
|
+
description: "전체 문장 실행"
|
|
10123
|
+
},
|
|
10124
|
+
{
|
|
10125
|
+
name: "multiStatement",
|
|
10126
|
+
type: "boolean",
|
|
10127
|
+
description: "문장이 둘 이상인지. 아니면 전체 실행을 숨김"
|
|
10128
|
+
},
|
|
10129
|
+
{
|
|
10130
|
+
name: "onSave",
|
|
10131
|
+
type: "() => void",
|
|
10132
|
+
description: "저장 다이얼로그 열기"
|
|
10133
|
+
},
|
|
10134
|
+
{
|
|
10135
|
+
name: "saveDisabled",
|
|
10136
|
+
type: "boolean",
|
|
10137
|
+
description: "저장 비활성"
|
|
10138
|
+
},
|
|
10139
|
+
{
|
|
10140
|
+
name: "children",
|
|
10141
|
+
type: "ReactNode",
|
|
10142
|
+
description: "실행 그룹 뒤의 컨트롤 — 필터, 변수"
|
|
10143
|
+
},
|
|
10144
|
+
{
|
|
10145
|
+
name: "trailing",
|
|
10146
|
+
type: "ReactNode",
|
|
10147
|
+
description: "끝쪽 컨트롤"
|
|
10148
|
+
},
|
|
10149
|
+
{
|
|
10150
|
+
name: "modifierKey",
|
|
10151
|
+
type: "string",
|
|
10152
|
+
description: "단축키 힌트의 수정자 글리프. 기본은 플랫폼 감지"
|
|
10153
|
+
},
|
|
10154
|
+
{
|
|
10155
|
+
name: "labels",
|
|
10156
|
+
type: "QueryToolbarLabels",
|
|
10157
|
+
description: "문구 오버라이드"
|
|
10158
|
+
}
|
|
10159
|
+
] },
|
|
10160
|
+
dependencies: [
|
|
10161
|
+
{
|
|
10162
|
+
slug: "button",
|
|
10163
|
+
category: "core"
|
|
10164
|
+
},
|
|
10165
|
+
{
|
|
10166
|
+
slug: "kbd",
|
|
10167
|
+
category: "core"
|
|
10168
|
+
},
|
|
10169
|
+
{
|
|
10170
|
+
slug: "dropdown-menu",
|
|
10171
|
+
category: "core"
|
|
10172
|
+
}
|
|
10173
|
+
],
|
|
10174
|
+
ariaRole: "toolbar",
|
|
10175
|
+
testDescribe: "QueryToolbar"
|
|
10176
|
+
},
|
|
10177
|
+
{
|
|
10178
|
+
name: "QueryOutputPane",
|
|
10179
|
+
category: "shell",
|
|
10180
|
+
functionalCategory: "data-display",
|
|
10181
|
+
maturity: "stable",
|
|
10182
|
+
keywords: [
|
|
10183
|
+
"sql",
|
|
10184
|
+
"results",
|
|
10185
|
+
"chart",
|
|
10186
|
+
"split",
|
|
10187
|
+
"status bar"
|
|
10188
|
+
],
|
|
10189
|
+
description: "쿼리 결과가 놓이는 출력 패널. 대기·실행 중·오류·취소·완료 상태를 그리고, 완료는 표·차트·좌우 분할로 전환하며, 상태바에 행 수·경과·읽은 바이트·절단 여부를 남깁니다.",
|
|
10190
|
+
slug: "query-output-pane",
|
|
10191
|
+
exports: ["QueryOutputPane"],
|
|
10192
|
+
props: { QueryOutputPane: [
|
|
10193
|
+
{
|
|
10194
|
+
name: "view",
|
|
10195
|
+
type: "QueryOutputView",
|
|
10196
|
+
required: true,
|
|
10197
|
+
description: "표 / 차트 / 분할"
|
|
10198
|
+
},
|
|
10199
|
+
{
|
|
10200
|
+
name: "onViewChange",
|
|
10201
|
+
type: "(view: QueryOutputView) => void",
|
|
10202
|
+
required: true,
|
|
10203
|
+
description: "뷰 전환"
|
|
10204
|
+
},
|
|
10205
|
+
{
|
|
10206
|
+
name: "results",
|
|
10207
|
+
type: "ReactNode",
|
|
10208
|
+
required: true,
|
|
10209
|
+
description: "결과 테이블"
|
|
10210
|
+
},
|
|
10211
|
+
{
|
|
10212
|
+
name: "chart",
|
|
10213
|
+
type: "ReactNode",
|
|
10214
|
+
description: "차트 빌더. 없으면 차트 뷰를 숨김"
|
|
10215
|
+
},
|
|
10216
|
+
{
|
|
10217
|
+
name: "status",
|
|
10218
|
+
type: "\"idle\" | \"running\" | \"success\" | \"error\" | \"cancelled\"",
|
|
10219
|
+
required: true,
|
|
10220
|
+
description: "실행 수명주기"
|
|
10221
|
+
},
|
|
10222
|
+
{
|
|
10223
|
+
name: "error",
|
|
10224
|
+
type: "string",
|
|
10225
|
+
description: "백엔드 오류 원문"
|
|
10226
|
+
},
|
|
10227
|
+
{
|
|
10228
|
+
name: "runningSeconds",
|
|
10229
|
+
type: "number",
|
|
10230
|
+
description: "실행 경과 초. 로딩 상태에 표시"
|
|
10231
|
+
},
|
|
10232
|
+
{
|
|
10233
|
+
name: "onCancel",
|
|
10234
|
+
type: "() => void",
|
|
10235
|
+
description: "실행 취소"
|
|
10236
|
+
},
|
|
10237
|
+
{
|
|
10238
|
+
name: "stats",
|
|
10239
|
+
type: "QueryRunStats",
|
|
10240
|
+
description: "행 수, 경과, 읽은 바이트, 절단 여부"
|
|
10241
|
+
},
|
|
10242
|
+
{
|
|
10243
|
+
name: "actions",
|
|
10244
|
+
type: "ReactNode",
|
|
10245
|
+
description: "뷰 전환 오른쪽 컨트롤"
|
|
10246
|
+
},
|
|
10247
|
+
{
|
|
10248
|
+
name: "statusExtra",
|
|
10249
|
+
type: "ReactNode",
|
|
10250
|
+
description: "상태바 추가 내용"
|
|
10251
|
+
},
|
|
10252
|
+
{
|
|
10253
|
+
name: "banner",
|
|
10254
|
+
type: "ReactNode",
|
|
10255
|
+
description: "출력 위 알림"
|
|
10256
|
+
},
|
|
10257
|
+
{
|
|
10258
|
+
name: "onRetry",
|
|
10259
|
+
type: "() => void",
|
|
10260
|
+
description: "오류 상태 닫기"
|
|
10261
|
+
},
|
|
10262
|
+
{
|
|
10263
|
+
name: "labels",
|
|
10264
|
+
type: "QueryOutputPaneLabels",
|
|
10265
|
+
description: "문구 오버라이드"
|
|
10266
|
+
}
|
|
10267
|
+
] },
|
|
10268
|
+
dependencies: [
|
|
10269
|
+
{
|
|
10270
|
+
slug: "segmented-control",
|
|
10271
|
+
category: "core"
|
|
10272
|
+
},
|
|
10273
|
+
{
|
|
10274
|
+
slug: "empty-state",
|
|
10275
|
+
category: "core"
|
|
10276
|
+
},
|
|
10277
|
+
{
|
|
10278
|
+
slug: "resizable",
|
|
10279
|
+
category: "core"
|
|
10280
|
+
}
|
|
10281
|
+
],
|
|
10282
|
+
ariaRole: "region",
|
|
10283
|
+
testDescribe: "QueryOutputPane"
|
|
10284
|
+
},
|
|
10285
|
+
{
|
|
10286
|
+
name: "QueryResultChart",
|
|
10287
|
+
category: "shell",
|
|
10288
|
+
functionalCategory: "data-display",
|
|
10289
|
+
maturity: "stable",
|
|
10290
|
+
keywords: [
|
|
10291
|
+
"sql",
|
|
10292
|
+
"chart",
|
|
10293
|
+
"visualization",
|
|
10294
|
+
"line",
|
|
10295
|
+
"bar",
|
|
10296
|
+
"pie",
|
|
10297
|
+
"number"
|
|
10298
|
+
],
|
|
10299
|
+
description: "결과 행을 차트로 그리는 빌더. 첫 문자·날짜 컬럼을 축으로, 숫자 컬럼을 값으로 고르고, 한 행 한 숫자면 큰 숫자로 보여줍니다. 설정은 호출자가 들고 있어 저장 쿼리와 함께 보관됩니다.",
|
|
10300
|
+
slug: "query-result-chart",
|
|
10301
|
+
exports: ["QueryResultChart"],
|
|
10302
|
+
domlessExports: ["defaultQueryChartConfig", "numericResultColumns"],
|
|
10303
|
+
props: { QueryResultChart: [
|
|
10304
|
+
{
|
|
10305
|
+
name: "columns",
|
|
10306
|
+
type: "QueryResultColumn[]",
|
|
10307
|
+
required: true,
|
|
10308
|
+
description: "결과 컬럼"
|
|
10309
|
+
},
|
|
10310
|
+
{
|
|
10311
|
+
name: "rows",
|
|
10312
|
+
type: "Array<Record<string, unknown>>",
|
|
10313
|
+
required: true,
|
|
10314
|
+
description: "결과 행"
|
|
10315
|
+
},
|
|
10316
|
+
{
|
|
10317
|
+
name: "config",
|
|
10318
|
+
type: "QueryChartConfig",
|
|
10319
|
+
required: true,
|
|
10320
|
+
description: "차트 종류, 축, 값 컬럼"
|
|
10321
|
+
},
|
|
10322
|
+
{
|
|
10323
|
+
name: "onConfigChange",
|
|
10324
|
+
type: "(config: QueryChartConfig) => void",
|
|
10325
|
+
required: true,
|
|
10326
|
+
description: "설정 변경"
|
|
10327
|
+
},
|
|
10328
|
+
{
|
|
10329
|
+
name: "showControls",
|
|
10330
|
+
type: "boolean",
|
|
10331
|
+
default: "true",
|
|
10332
|
+
description: "컨트롤 표시. 임베드 카드에서는 끔"
|
|
10333
|
+
},
|
|
10334
|
+
{
|
|
10335
|
+
name: "height",
|
|
10336
|
+
type: "number",
|
|
10337
|
+
description: "차트 높이(px). 기본은 부모 채움"
|
|
10338
|
+
},
|
|
10339
|
+
{
|
|
10340
|
+
name: "maxPoints",
|
|
10341
|
+
type: "number",
|
|
10342
|
+
default: "1000",
|
|
10343
|
+
description: "차트에 그릴 최대 행 수"
|
|
10344
|
+
},
|
|
10345
|
+
{
|
|
10346
|
+
name: "labels",
|
|
10347
|
+
type: "QueryResultChartLabels",
|
|
10348
|
+
description: "문구 오버라이드"
|
|
10349
|
+
}
|
|
10350
|
+
] },
|
|
10351
|
+
dependencies: [
|
|
10352
|
+
{
|
|
10353
|
+
slug: "line-chart",
|
|
10354
|
+
category: "visuals"
|
|
10355
|
+
},
|
|
10356
|
+
{
|
|
10357
|
+
slug: "bar-chart",
|
|
10358
|
+
category: "visuals"
|
|
10359
|
+
},
|
|
10360
|
+
{
|
|
10361
|
+
slug: "area-chart",
|
|
10362
|
+
category: "visuals"
|
|
10363
|
+
},
|
|
10364
|
+
{
|
|
10365
|
+
slug: "pie-chart",
|
|
10366
|
+
category: "visuals"
|
|
10367
|
+
},
|
|
10368
|
+
{
|
|
10369
|
+
slug: "segmented-control",
|
|
10370
|
+
category: "core"
|
|
10371
|
+
},
|
|
10372
|
+
{
|
|
10373
|
+
slug: "select",
|
|
10374
|
+
category: "core"
|
|
10375
|
+
}
|
|
10376
|
+
],
|
|
10377
|
+
testDescribe: "QueryResultChart"
|
|
10378
|
+
},
|
|
10379
|
+
{
|
|
10380
|
+
name: "QueryFiltersMenu",
|
|
10381
|
+
category: "shell",
|
|
10382
|
+
functionalCategory: "input",
|
|
10383
|
+
maturity: "stable",
|
|
10384
|
+
keywords: [
|
|
10385
|
+
"sql",
|
|
10386
|
+
"filters",
|
|
10387
|
+
"date range",
|
|
10388
|
+
"placeholder",
|
|
10389
|
+
"where"
|
|
10390
|
+
],
|
|
10391
|
+
description: "기간과 속성 조건을 데이터로 들고 {filters} 플레이스홀더로 SQL에 전달하는 메뉴. 플레이스홀더가 없으면 조건이 적용되지 않는다고 경고하고 삽입 버튼을 제공합니다.",
|
|
10392
|
+
slug: "query-filters-menu",
|
|
10393
|
+
exports: ["QueryFiltersMenu"],
|
|
10394
|
+
domlessExports: [
|
|
10395
|
+
"EMPTY_QUERY_FILTERS",
|
|
10396
|
+
"VALUELESS_OPERATORS",
|
|
10397
|
+
"hasActiveQueryFilters",
|
|
10398
|
+
"countActiveQueryFilters"
|
|
10399
|
+
],
|
|
10400
|
+
props: { QueryFiltersMenu: [
|
|
10401
|
+
{
|
|
10402
|
+
name: "value",
|
|
10403
|
+
type: "QueryFilters",
|
|
10404
|
+
required: true,
|
|
10405
|
+
description: "기간과 속성 필터"
|
|
10406
|
+
},
|
|
10407
|
+
{
|
|
10408
|
+
name: "onChange",
|
|
10409
|
+
type: "(filters: QueryFilters) => void",
|
|
10410
|
+
required: true,
|
|
10411
|
+
description: "필터 변경"
|
|
10412
|
+
},
|
|
10413
|
+
{
|
|
10414
|
+
name: "fields",
|
|
10415
|
+
type: "QueryFilterField[]",
|
|
10416
|
+
required: true,
|
|
10417
|
+
description: "필드 선택지"
|
|
10418
|
+
},
|
|
10419
|
+
{
|
|
10420
|
+
name: "placeholderPresent",
|
|
10421
|
+
type: "boolean",
|
|
10422
|
+
description: "SQL에 {filters}가 있는지"
|
|
10423
|
+
},
|
|
10424
|
+
{
|
|
10425
|
+
name: "onInsertPlaceholder",
|
|
10426
|
+
type: "() => void",
|
|
10427
|
+
description: "{filters}를 커서에 삽입"
|
|
10428
|
+
},
|
|
10429
|
+
{
|
|
10430
|
+
name: "onLoadValues",
|
|
10431
|
+
type: "(field: string) => Promise<string[]>",
|
|
10432
|
+
description: "필드의 알려진 값. 값 입력란의 제안으로 쓰이며 자유 입력도 허용"
|
|
10433
|
+
},
|
|
10434
|
+
{
|
|
10435
|
+
name: "presets",
|
|
10436
|
+
type: "DateRangePreset[]",
|
|
10437
|
+
description: "기간 프리셋"
|
|
10438
|
+
},
|
|
10439
|
+
{
|
|
10440
|
+
name: "disabled",
|
|
10441
|
+
type: "boolean",
|
|
10442
|
+
description: "비활성"
|
|
10443
|
+
},
|
|
10444
|
+
{
|
|
10445
|
+
name: "labels",
|
|
10446
|
+
type: "QueryFiltersMenuLabels",
|
|
10447
|
+
description: "문구 오버라이드"
|
|
10448
|
+
}
|
|
10449
|
+
] },
|
|
10450
|
+
dependencies: [
|
|
10451
|
+
{
|
|
10452
|
+
slug: "popover",
|
|
10453
|
+
category: "core"
|
|
10454
|
+
},
|
|
10455
|
+
{
|
|
10456
|
+
slug: "date-range-picker",
|
|
10457
|
+
category: "core"
|
|
10458
|
+
},
|
|
10459
|
+
{
|
|
10460
|
+
slug: "select",
|
|
10461
|
+
category: "core"
|
|
10462
|
+
},
|
|
10463
|
+
{
|
|
10464
|
+
slug: "combobox",
|
|
10465
|
+
category: "core"
|
|
10466
|
+
},
|
|
10467
|
+
{
|
|
10468
|
+
slug: "callout",
|
|
10469
|
+
category: "core"
|
|
10470
|
+
}
|
|
10471
|
+
],
|
|
10472
|
+
testDescribe: "QueryFiltersMenu"
|
|
10473
|
+
},
|
|
10474
|
+
{
|
|
10475
|
+
name: "QueryVariablesMenu",
|
|
10476
|
+
category: "shell",
|
|
10477
|
+
functionalCategory: "input",
|
|
10478
|
+
maturity: "stable",
|
|
10479
|
+
keywords: [
|
|
10480
|
+
"sql",
|
|
10481
|
+
"variables",
|
|
10482
|
+
"parameters",
|
|
10483
|
+
"placeholder"
|
|
10484
|
+
],
|
|
10485
|
+
description: "실행마다 바뀌는 값을 이름 붙여 두는 변수 메뉴. SQL은 {variables.name}으로 참조하고 치환은 호출자가 합니다.",
|
|
10486
|
+
slug: "query-variables-menu",
|
|
10487
|
+
exports: ["QueryVariablesMenu"],
|
|
10488
|
+
domlessExports: ["isValidQueryVariableName"],
|
|
10489
|
+
props: { QueryVariablesMenu: [
|
|
10490
|
+
{
|
|
10491
|
+
name: "value",
|
|
10492
|
+
type: "QueryVariable[]",
|
|
10493
|
+
required: true,
|
|
10494
|
+
description: "변수 목록"
|
|
10495
|
+
},
|
|
10496
|
+
{
|
|
10497
|
+
name: "onChange",
|
|
10498
|
+
type: "(variables: QueryVariable[]) => void",
|
|
10499
|
+
required: true,
|
|
10500
|
+
description: "변수 변경"
|
|
10501
|
+
},
|
|
10502
|
+
{
|
|
10503
|
+
name: "onInsert",
|
|
10504
|
+
type: "(name: string) => void",
|
|
10505
|
+
description: "{variables.name}을 커서에 삽입"
|
|
10506
|
+
},
|
|
10507
|
+
{
|
|
10508
|
+
name: "disabled",
|
|
10509
|
+
type: "boolean",
|
|
10510
|
+
description: "비활성"
|
|
10511
|
+
},
|
|
10512
|
+
{
|
|
10513
|
+
name: "disabledReason",
|
|
10514
|
+
type: "string",
|
|
10515
|
+
description: "비활성 사유. 툴팁으로 표시"
|
|
10516
|
+
},
|
|
10517
|
+
{
|
|
10518
|
+
name: "labels",
|
|
10519
|
+
type: "QueryVariablesMenuLabels",
|
|
10520
|
+
description: "문구 오버라이드"
|
|
10521
|
+
}
|
|
10522
|
+
] },
|
|
10523
|
+
dependencies: [{
|
|
10524
|
+
slug: "popover",
|
|
10525
|
+
category: "core"
|
|
10526
|
+
}, {
|
|
10527
|
+
slug: "input",
|
|
10528
|
+
category: "core"
|
|
10529
|
+
}],
|
|
10530
|
+
testDescribe: "QueryVariablesMenu"
|
|
10531
|
+
},
|
|
10532
|
+
{
|
|
10533
|
+
name: "QueryHistoryList",
|
|
10534
|
+
category: "shell",
|
|
10535
|
+
functionalCategory: "data-display",
|
|
10536
|
+
maturity: "stable",
|
|
10537
|
+
keywords: [
|
|
10538
|
+
"sql",
|
|
10539
|
+
"history",
|
|
10540
|
+
"recent",
|
|
10541
|
+
"rerun"
|
|
10542
|
+
],
|
|
10543
|
+
description: "실행 이력 목록. 각 실행의 성공/실패, 시각, 행 수, 경과를 보여주고 편집기로 되돌리거나 다시 실행합니다.",
|
|
10544
|
+
slug: "query-history-list",
|
|
10545
|
+
exports: ["QueryHistoryList"],
|
|
10546
|
+
props: { QueryHistoryList: [
|
|
10547
|
+
{
|
|
10548
|
+
name: "items",
|
|
10549
|
+
type: "QueryHistoryItem[]",
|
|
10550
|
+
required: true,
|
|
10551
|
+
description: "최근 실행부터"
|
|
10552
|
+
},
|
|
10553
|
+
{
|
|
10554
|
+
name: "loading",
|
|
10555
|
+
type: "boolean",
|
|
10556
|
+
description: "이력 조회 중"
|
|
10557
|
+
},
|
|
10558
|
+
{
|
|
10559
|
+
name: "onLoad",
|
|
10560
|
+
type: "(item: QueryHistoryItem) => void",
|
|
10561
|
+
description: "쿼리를 편집기로"
|
|
10562
|
+
},
|
|
10563
|
+
{
|
|
10564
|
+
name: "onRerun",
|
|
10565
|
+
type: "(item: QueryHistoryItem) => void",
|
|
10566
|
+
description: "그대로 다시 실행"
|
|
10567
|
+
},
|
|
10568
|
+
{
|
|
10569
|
+
name: "onClear",
|
|
10570
|
+
type: "() => void",
|
|
10571
|
+
description: "이력 비우기"
|
|
10572
|
+
},
|
|
10573
|
+
{
|
|
10574
|
+
name: "header",
|
|
10575
|
+
type: "ReactNode",
|
|
10576
|
+
description: "목록 위 내용"
|
|
10577
|
+
},
|
|
10578
|
+
{
|
|
10579
|
+
name: "labels",
|
|
10580
|
+
type: "QueryHistoryListLabels",
|
|
10581
|
+
description: "문구 오버라이드"
|
|
10582
|
+
}
|
|
10583
|
+
] },
|
|
10584
|
+
dependencies: [{
|
|
10585
|
+
slug: "button",
|
|
10586
|
+
category: "core"
|
|
10587
|
+
}],
|
|
10588
|
+
ariaRole: "region",
|
|
10589
|
+
testDescribe: "QueryHistoryList"
|
|
10590
|
+
},
|
|
10591
|
+
{
|
|
10592
|
+
name: "SaveQueryDialog",
|
|
10593
|
+
category: "shell",
|
|
10594
|
+
functionalCategory: "overlay",
|
|
10595
|
+
maturity: "stable",
|
|
10596
|
+
keywords: [
|
|
10597
|
+
"sql",
|
|
10598
|
+
"save",
|
|
10599
|
+
"dialog",
|
|
10600
|
+
"saved query"
|
|
10601
|
+
],
|
|
10602
|
+
description: "쿼리에 이름·설명·공개 여부를 붙여 저장하는 다이얼로그. 편집기에 문장이 여럿이면 어느 문장을 저장할지 넘겨 보며 고릅니다.",
|
|
10603
|
+
slug: "save-query-dialog",
|
|
10604
|
+
exports: ["SaveQueryDialog"],
|
|
10605
|
+
props: { SaveQueryDialog: [
|
|
10606
|
+
{
|
|
10607
|
+
name: "open",
|
|
10608
|
+
type: "boolean",
|
|
10609
|
+
required: true,
|
|
10610
|
+
description: "열림"
|
|
10611
|
+
},
|
|
10612
|
+
{
|
|
10613
|
+
name: "onOpenChange",
|
|
10614
|
+
type: "(open: boolean) => void",
|
|
10615
|
+
required: true,
|
|
10616
|
+
description: "열림 상태 변경"
|
|
10617
|
+
},
|
|
10618
|
+
{
|
|
10619
|
+
name: "onSubmit",
|
|
10620
|
+
type: "(values: SaveQueryValues) => void | Promise<void>",
|
|
10621
|
+
required: true,
|
|
10622
|
+
description: "저장"
|
|
10623
|
+
},
|
|
10624
|
+
{
|
|
10625
|
+
name: "candidates",
|
|
10626
|
+
type: "string[]",
|
|
10627
|
+
required: true,
|
|
10628
|
+
description: "저장할 SQL 후보. 문장이 여럿이면 여러 개"
|
|
10629
|
+
},
|
|
10630
|
+
{
|
|
10631
|
+
name: "initialCandidate",
|
|
10632
|
+
type: "number",
|
|
10633
|
+
default: "0",
|
|
10634
|
+
description: "처음 보여줄 후보"
|
|
10635
|
+
},
|
|
10636
|
+
{
|
|
10637
|
+
name: "candidateIsSelection",
|
|
10638
|
+
type: "boolean",
|
|
10639
|
+
description: "후보가 선택 영역인지"
|
|
10640
|
+
},
|
|
10641
|
+
{
|
|
10642
|
+
name: "initialValues",
|
|
10643
|
+
type: "Partial<Omit<SaveQueryValues, \"sql\">>",
|
|
10644
|
+
description: "기존 저장 쿼리를 수정할 때의 초기값"
|
|
10645
|
+
},
|
|
10646
|
+
{
|
|
10647
|
+
name: "mode",
|
|
10648
|
+
type: "\"create\" | \"update\"",
|
|
10649
|
+
default: "\"create\"",
|
|
10650
|
+
description: "새로 저장 / 수정"
|
|
10651
|
+
},
|
|
10652
|
+
{
|
|
10653
|
+
name: "saving",
|
|
10654
|
+
type: "boolean",
|
|
10655
|
+
description: "저장 중"
|
|
10656
|
+
},
|
|
10657
|
+
{
|
|
10658
|
+
name: "error",
|
|
10659
|
+
type: "string",
|
|
10660
|
+
description: "저장 실패 메시지"
|
|
10661
|
+
},
|
|
10662
|
+
{
|
|
10663
|
+
name: "labels",
|
|
10664
|
+
type: "SaveQueryDialogLabels",
|
|
10665
|
+
description: "문구 오버라이드"
|
|
10666
|
+
}
|
|
10667
|
+
] },
|
|
10668
|
+
dependencies: [
|
|
10669
|
+
{
|
|
10670
|
+
slug: "dialog",
|
|
10671
|
+
category: "core"
|
|
10672
|
+
},
|
|
10673
|
+
{
|
|
10674
|
+
slug: "input",
|
|
10675
|
+
category: "core"
|
|
10676
|
+
},
|
|
10677
|
+
{
|
|
10678
|
+
slug: "textarea",
|
|
10679
|
+
category: "core"
|
|
10680
|
+
},
|
|
10681
|
+
{
|
|
10682
|
+
slug: "switch",
|
|
10683
|
+
category: "core"
|
|
10684
|
+
}
|
|
10685
|
+
],
|
|
10686
|
+
ariaRole: "dialog",
|
|
10687
|
+
testDescribe: "SaveQueryDialog"
|
|
10688
|
+
},
|
|
10689
|
+
{
|
|
10690
|
+
name: "QueryWorkspace",
|
|
10691
|
+
category: "shell",
|
|
10692
|
+
functionalCategory: "layout",
|
|
10693
|
+
maturity: "stable",
|
|
10694
|
+
keywords: [
|
|
10695
|
+
"sql",
|
|
10696
|
+
"workspace",
|
|
10697
|
+
"layout",
|
|
10698
|
+
"resizable",
|
|
10699
|
+
"sidebar"
|
|
10700
|
+
],
|
|
10701
|
+
description: "스키마·편집기·출력의 3-pane 쿼리 워크스페이스. 패널은 리사이즈되고 사이드바는 접히며, storageKey로 레이아웃을 기억합니다. 툴바·편집기·출력은 슬롯입니다.",
|
|
10702
|
+
slug: "query-workspace",
|
|
10703
|
+
exports: ["QueryWorkspace"],
|
|
10704
|
+
props: { QueryWorkspace: [
|
|
10705
|
+
{
|
|
10706
|
+
name: "sidebar",
|
|
10707
|
+
type: "ReactNode",
|
|
10708
|
+
description: "왼쪽 패널 내용"
|
|
10709
|
+
},
|
|
10710
|
+
{
|
|
10711
|
+
name: "sidebarOpen",
|
|
10712
|
+
type: "boolean",
|
|
10713
|
+
description: "제어형 사이드바 열림"
|
|
10714
|
+
},
|
|
10715
|
+
{
|
|
10716
|
+
name: "onSidebarOpenChange",
|
|
10717
|
+
type: "(open: boolean) => void",
|
|
10718
|
+
description: "사이드바 열림 변경"
|
|
10719
|
+
},
|
|
10720
|
+
{
|
|
10721
|
+
name: "header",
|
|
10722
|
+
type: "ReactNode",
|
|
10723
|
+
description: "툴바 위 — 탭이나 페이지 헤더"
|
|
10724
|
+
},
|
|
10725
|
+
{
|
|
10726
|
+
name: "toolbar",
|
|
10727
|
+
type: "ReactNode",
|
|
10728
|
+
description: "툴바"
|
|
10729
|
+
},
|
|
10730
|
+
{
|
|
10731
|
+
name: "editor",
|
|
10732
|
+
type: "ReactNode",
|
|
10733
|
+
required: true,
|
|
10734
|
+
description: "편집기"
|
|
10735
|
+
},
|
|
10736
|
+
{
|
|
10737
|
+
name: "output",
|
|
10738
|
+
type: "ReactNode",
|
|
10739
|
+
required: true,
|
|
10740
|
+
description: "출력"
|
|
10741
|
+
},
|
|
10742
|
+
{
|
|
10743
|
+
name: "storageKey",
|
|
10744
|
+
type: "string",
|
|
10745
|
+
description: "패널 크기를 localStorage에 기억할 키"
|
|
10746
|
+
},
|
|
10747
|
+
{
|
|
10748
|
+
name: "defaultSidebarSize",
|
|
10749
|
+
type: "number",
|
|
10750
|
+
default: "22",
|
|
10751
|
+
description: "사이드바 폭(%)"
|
|
10752
|
+
},
|
|
10753
|
+
{
|
|
10754
|
+
name: "defaultEditorSize",
|
|
10755
|
+
type: "number",
|
|
10756
|
+
default: "40",
|
|
10757
|
+
description: "편집기 높이(%)"
|
|
10758
|
+
},
|
|
10759
|
+
{
|
|
10760
|
+
name: "labels",
|
|
10761
|
+
type: "QueryWorkspaceLabels",
|
|
10762
|
+
description: "문구 오버라이드"
|
|
10763
|
+
}
|
|
10764
|
+
] },
|
|
10765
|
+
dependencies: [{
|
|
10766
|
+
slug: "resizable",
|
|
10767
|
+
category: "core"
|
|
10768
|
+
}, {
|
|
10769
|
+
slug: "button",
|
|
10770
|
+
category: "core"
|
|
10771
|
+
}],
|
|
10772
|
+
testDescribe: "QueryWorkspace"
|
|
9884
10773
|
}
|
|
9885
10774
|
];
|
|
9886
10775
|
//#endregion
|