@reopt-ai/opt-ui 1.4.1 → 1.5.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/dist/meta.cjs CHANGED
@@ -3199,27 +3199,65 @@ var resizableMeta = {
3199
3199
  required: true,
3200
3200
  description: "ResizablePanel + ResizableHandle \uC870\uD569"
3201
3201
  },
3202
+ {
3203
+ name: "id",
3204
+ type: "string",
3205
+ description: "\uADF8\uB8F9\uACFC defaultLayout\uC758 \uD328\uB110 \uD06C\uAE30\uB97C \uC2DD\uBCC4\uD558\uB294 \uACE0\uC720 ID"
3206
+ },
3207
+ {
3208
+ name: "defaultLayout",
3209
+ type: "Record<string, number>",
3210
+ description: "\uD328\uB110 ID\uBCC4 \uCD08\uAE30 \uBE44\uC728(0-100)"
3211
+ },
3212
+ {
3213
+ name: "onLayoutChanged",
3214
+ type: "(layout: Record<string, number>) => void",
3215
+ description: "\uB4DC\uB798\uADF8\uAC00 \uB05D\uB09C \uB4A4 \uD655\uC815\uB41C \uB808\uC774\uC544\uC6C3 \uCF5C\uBC31"
3216
+ },
3217
+ {
3218
+ name: "groupRef",
3219
+ type: "Ref<ResizablePanelGroupHandle>",
3220
+ description: "\uB808\uC774\uC544\uC6C3 \uC870\uD68C\xB7\uC124\uC815\uC744 \uC704\uD55C \uBA85\uB839\uD615 \uADF8\uB8F9 ref"
3221
+ },
3202
3222
  {
3203
3223
  name: "autoSaveId",
3204
3224
  type: "string",
3205
- description: "\uB85C\uCEEC \uC2A4\uD1A0\uB9AC\uC9C0\uC5D0 \uD06C\uAE30 \uC0C1\uD0DC \uC800\uC7A5 (\uACE0\uC720 ID)"
3225
+ description: "id\uC758 deprecated \uBCC4\uCE6D"
3206
3226
  },
3207
3227
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
3208
3228
  ],
3209
3229
  ResizablePanel: [
3210
3230
  {
3211
3231
  name: "defaultSize",
3212
- type: "number",
3213
- description: "\uCD08\uAE30 \uD06C\uAE30 (\uD37C\uC13C\uD2B8, 0-100)"
3232
+ type: "number | string",
3233
+ description: "\uCD08\uAE30 \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8, \uBB38\uC790\uC5F4\uC740 \uBA85\uC2DC\uD55C CSS \uB2E8\uC704"
3234
+ },
3235
+ {
3236
+ name: "minSize",
3237
+ type: "number | string",
3238
+ description: "\uCD5C\uC18C \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8"
3239
+ },
3240
+ {
3241
+ name: "maxSize",
3242
+ type: "number | string",
3243
+ description: "\uCD5C\uB300 \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8"
3214
3244
  },
3215
- { name: "minSize", type: "number", description: "\uCD5C\uC18C \uD06C\uAE30 (\uD37C\uC13C\uD2B8)" },
3216
- { name: "maxSize", type: "number", description: "\uCD5C\uB300 \uD06C\uAE30 (\uD37C\uC13C\uD2B8)" },
3217
3245
  {
3218
3246
  name: "collapsible",
3219
3247
  type: "boolean",
3220
3248
  default: "false",
3221
3249
  description: "\uCD5C\uC18C \uD06C\uAE30 \uC774\uD558 \uC2DC \uC811\uD788\uAE30 \uD5C8\uC6A9"
3222
3250
  },
3251
+ {
3252
+ name: "onResize",
3253
+ type: "(size: ResizablePanelSize, id?: string | number, previous?: ResizablePanelSize) => void",
3254
+ description: "\uD328\uB110 \uD06C\uAE30 \uBCC0\uACBD \uCF5C\uBC31"
3255
+ },
3256
+ {
3257
+ name: "panelRef",
3258
+ type: "Ref<ResizablePanelHandle>",
3259
+ description: "\uC811\uAE30\xB7\uD3BC\uCE58\uAE30\xB7\uD06C\uAE30 \uC81C\uC5B4\uB97C \uC704\uD55C \uBA85\uB839\uD615 \uD328\uB110 ref"
3260
+ },
3223
3261
  {
3224
3262
  name: "children",
3225
3263
  type: "ReactNode",
@@ -3235,6 +3273,11 @@ var resizableMeta = {
3235
3273
  default: "false",
3236
3274
  description: "\uC2DC\uAC01\uC801 \uB4DC\uB798\uADF8 \uD578\uB4E4 \uD45C\uC2DC"
3237
3275
  },
3276
+ {
3277
+ name: "disabled",
3278
+ type: "boolean",
3279
+ description: "\uB4DC\uB798\uADF8 \uBC0F \uD0A4\uBCF4\uB4DC \uB9AC\uC0AC\uC774\uC988 \uBE44\uD65C\uC131\uD654"
3280
+ },
3238
3281
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
3239
3282
  ]
3240
3283
  },
@@ -4365,7 +4408,16 @@ var dataTableMeta = {
4365
4408
  keyboardShortcuts: [
4366
4409
  { keys: "\u2191 \u2193", action: "\uD589 \uD0D0\uC0C9" },
4367
4410
  { keys: "\u2190 \u2192", action: "\uC140 \uD0D0\uC0C9" },
4368
- { keys: "Enter", action: "\uD589 \uC120\uD0DD/\uD65C\uC131\uD654" }
4411
+ { keys: "Enter / Space", action: "\uC815\uB82C \uAC00\uB2A5\uD55C \uD5E4\uB354 \uB610\uB294 \uD589 \uD65C\uC131\uD654" },
4412
+ { keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: \u2190 \u2192", action: "\uCEEC\uB7FC \uB108\uBE44\uB97C 10px \uB2E8\uC704\uB85C \uC870\uC808" },
4413
+ {
4414
+ keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: Shift+\u2190 Shift+\u2192",
4415
+ action: "\uCEEC\uB7FC \uB108\uBE44\uB97C 40px \uB2E8\uC704\uB85C \uC870\uC808"
4416
+ },
4417
+ {
4418
+ keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: Home / End",
4419
+ action: "\uCEEC\uB7FC \uB108\uBE44\uB97C \uCD5C\uC19F\uAC12/\uCD5C\uB313\uAC12\uC73C\uB85C \uC774\uB3D9"
4420
+ }
4369
4421
  ],
4370
4422
  advancedPatternAnchor: "data-table-filtering",
4371
4423
  advancedPatternDescription: "\uC2E4\uC2DC\uAC04 \uD544\uD130\uB9C1, \uCEE4\uC2A4\uD140 \uCEEC\uB7FC \uB80C\uB354\uB9C1, Badge \uC0C1\uD0DC \uD45C\uC2DC \uB4F1 \uACE0\uAE09 \uD328\uD134",
@@ -5727,7 +5779,11 @@ var sidebarMeta = {
5727
5779
  description: "\uC811\uAE30/\uD3BC\uCE58\uAE30\uB97C \uC9C0\uC6D0\uD558\uB294 compound \uC0AC\uC774\uB4DC\uBC14. Header/Content/Footer \uAD6C\uC870 + Group/Item\uC73C\uB85C \uB124\uBE44\uAC8C\uC774\uC158 \uAD6C\uC131. Ctrl+[ \uB2E8\uCD95\uD0A4.",
5728
5780
  slug: "sidebar",
5729
5781
  exports: ["Sidebar", "useSidebar"],
5730
- keyboardShortcuts: [{ keys: "Ctrl+[", action: "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30/\uD3BC\uCE58\uAE30 \uD1A0\uAE00" }],
5782
+ keyboardShortcuts: [
5783
+ { keys: "Ctrl+[", action: "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30/\uD3BC\uCE58\uAE30 \uD1A0\uAE00" },
5784
+ { keys: "\u2191 \u2193", action: "\uC0AC\uC774\uB4DC\uBC14 \uD56D\uBAA9 \uAC04 \uC774\uB3D9" },
5785
+ { keys: "Home / End", action: "\uCCAB \uBC88\uC9F8/\uB9C8\uC9C0\uB9C9 \uC0AC\uC774\uB4DC\uBC14 \uD56D\uBAA9\uC73C\uB85C \uC774\uB3D9" }
5786
+ ],
5731
5787
  props: {
5732
5788
  Sidebar: [
5733
5789
  {
@@ -5845,7 +5901,7 @@ var sidebarMeta = {
5845
5901
  var appShellMeta = {
5846
5902
  name: "AppShell",
5847
5903
  category: "shell",
5848
- description: "Header + Sidebar + Content + Footer 4\uC601\uC5ED \uD398\uC774\uC9C0 \uB808\uC774\uC544\uC6C3 \uD15C\uD50C\uB9BF. Sidebar \uCEF4\uD3EC\uB10C\uD2B8\uC640 \uC870\uD569.",
5904
+ description: "Header + Sidebar + Content + Footer 4\uC601\uC5ED \uD398\uC774\uC9C0 \uB808\uC774\uC544\uC6C3 \uD15C\uD50C\uB9BF. AppShell.Sidebar\uB294 \uBAA8\uB4E0 viewport\uC5D0\uC11C \uAE30\uBCF8 \uD45C\uC2DC\uB418\uBA70 \uBC18\uC751\uD615 \uC228\uAE40/Drawer \uC804\uD658\uC740 \uC18C\uBE44\uC790\uAC00 \uC81C\uC5B4\uD569\uB2C8\uB2E4.",
5849
5905
  slug: "app-shell",
5850
5906
  exports: ["AppShell"],
5851
5907
  props: {
@@ -6087,9 +6143,15 @@ var bulkActionsMeta = {
6087
6143
  var savedFiltersMeta = {
6088
6144
  name: "SavedFilters",
6089
6145
  category: "shell",
6090
- description: "\uD544\uD130 \uD504\uB9AC\uC14B \uAD00\uB9AC. \uD604\uC7AC \uD544\uD130\uB97C \uC800\uC7A5\uD558\uACE0 \uBD88\uB7EC\uC624\uB294 Popover UI.",
6146
+ description: "\uD544\uD130 \uD504\uB9AC\uC14B \uAD00\uB9AC. \uD0A4\uBCF4\uB4DC \uBAA9\uB85D \uD0D0\uC0C9, \uD604\uC7AC \uD544\uD130 \uC800\uC7A5, \uC548\uC804\uD55C \uC0AD\uC81C \uD655\uC778 \uD750\uB984\uC744 \uC81C\uACF5\uD558\uB294 Popover UI.",
6091
6147
  slug: "saved-filters",
6092
6148
  exports: ["SavedFilters"],
6149
+ keyboardShortcuts: [
6150
+ { keys: "\u2191 \u2193", action: "\uC800\uC7A5\uB41C \uD504\uB9AC\uC14B \uAC04 \uC774\uB3D9" },
6151
+ { keys: "Home / End", action: "\uCCAB \uBC88\uC9F8/\uB9C8\uC9C0\uB9C9 \uD504\uB9AC\uC14B\uC73C\uB85C \uC774\uB3D9" },
6152
+ { keys: "Enter", action: "\uD504\uB9AC\uC14B \uBD88\uB7EC\uC624\uAE30 \uB610\uB294 \uC0C8 \uD504\uB9AC\uC14B \uC800\uC7A5" },
6153
+ { keys: "Escape", action: "\uC0AD\uC81C \uD655\uC778 \uCDE8\uC18C \uD6C4 \uC0AD\uC81C \uBC84\uD2BC\uC73C\uB85C \uD3EC\uCEE4\uC2A4 \uBCF5\uADC0" }
6154
+ ],
6093
6155
  props: {
6094
6156
  SavedFilters: [
6095
6157
  {
@@ -6122,12 +6184,60 @@ var savedFiltersMeta = {
6122
6184
  required: true,
6123
6185
  description: "\uD504\uB9AC\uC14B \uC0AD\uC81C \uCF5C\uBC31"
6124
6186
  },
6187
+ {
6188
+ name: "labels",
6189
+ type: "SavedFiltersLabels",
6190
+ description: "\uD2B8\uB9AC\uAC70, \uBE48 \uC0C1\uD0DC, \uC800\uC7A5 \uBC0F \uC0AD\uC81C \uD655\uC778 \uBB38\uAD6C \uC624\uBC84\uB77C\uC774\uB4DC"
6191
+ },
6125
6192
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
6193
+ ],
6194
+ SavedFiltersLabels: [
6195
+ {
6196
+ name: "triggerLabel",
6197
+ type: "(count: number) => string",
6198
+ description: "\uC800\uC7A5\uB41C \uD504\uB9AC\uC14B \uC218\uB97C \uD3EC\uD568\uD55C \uD2B8\uB9AC\uAC70 \uB808\uC774\uBE14"
6199
+ },
6200
+ {
6201
+ name: "emptyMessage",
6202
+ type: "string",
6203
+ default: '"No saved filters"',
6204
+ description: "\uD504\uB9AC\uC14B\uC774 \uC5C6\uC744 \uB54C \uD45C\uC2DC\uD560 \uBA54\uC2DC\uC9C0"
6205
+ },
6206
+ {
6207
+ name: "deleteLabel",
6208
+ type: "(name: string) => string",
6209
+ description: "\uD504\uB9AC\uC14B \uC0AD\uC81C \uBC84\uD2BC\uC758 \uC811\uADFC \uAC00\uB2A5\uD55C \uC774\uB984"
6210
+ },
6211
+ {
6212
+ name: "namePlaceholder",
6213
+ type: "string",
6214
+ default: '"Filter name\u2026"',
6215
+ description: "\uC0C8 \uD504\uB9AC\uC14B \uC774\uB984 \uC785\uB825 \uC548\uB0B4"
6216
+ },
6217
+ {
6218
+ name: "saveLabel",
6219
+ type: "string",
6220
+ default: '"Save"',
6221
+ description: "\uC0C8 \uD504\uB9AC\uC14B \uC800\uC7A5 \uBC84\uD2BC \uB808\uC774\uBE14"
6222
+ },
6223
+ {
6224
+ name: "confirmDeleteLabel",
6225
+ type: "string",
6226
+ default: '"Confirm"',
6227
+ description: "\uC0AD\uC81C \uD655\uC778 \uBC84\uD2BC \uB808\uC774\uBE14"
6228
+ },
6229
+ {
6230
+ name: "cancelDeleteLabel",
6231
+ type: "string",
6232
+ default: '"Cancel"',
6233
+ description: "\uC0AD\uC81C \uCDE8\uC18C \uBC84\uD2BC \uB808\uC774\uBE14"
6234
+ }
6126
6235
  ]
6127
6236
  },
6128
6237
  dependencies: [
6129
6238
  { slug: "popover", category: "core" },
6130
- { slug: "input", category: "core" }
6239
+ { slug: "input", category: "core" },
6240
+ { slug: "button", category: "core" }
6131
6241
  ],
6132
6242
  testDescribe: "SavedFilters"
6133
6243
  };
package/dist/meta.js CHANGED
@@ -3171,27 +3171,65 @@ var resizableMeta = {
3171
3171
  required: true,
3172
3172
  description: "ResizablePanel + ResizableHandle \uC870\uD569"
3173
3173
  },
3174
+ {
3175
+ name: "id",
3176
+ type: "string",
3177
+ description: "\uADF8\uB8F9\uACFC defaultLayout\uC758 \uD328\uB110 \uD06C\uAE30\uB97C \uC2DD\uBCC4\uD558\uB294 \uACE0\uC720 ID"
3178
+ },
3179
+ {
3180
+ name: "defaultLayout",
3181
+ type: "Record<string, number>",
3182
+ description: "\uD328\uB110 ID\uBCC4 \uCD08\uAE30 \uBE44\uC728(0-100)"
3183
+ },
3184
+ {
3185
+ name: "onLayoutChanged",
3186
+ type: "(layout: Record<string, number>) => void",
3187
+ description: "\uB4DC\uB798\uADF8\uAC00 \uB05D\uB09C \uB4A4 \uD655\uC815\uB41C \uB808\uC774\uC544\uC6C3 \uCF5C\uBC31"
3188
+ },
3189
+ {
3190
+ name: "groupRef",
3191
+ type: "Ref<ResizablePanelGroupHandle>",
3192
+ description: "\uB808\uC774\uC544\uC6C3 \uC870\uD68C\xB7\uC124\uC815\uC744 \uC704\uD55C \uBA85\uB839\uD615 \uADF8\uB8F9 ref"
3193
+ },
3174
3194
  {
3175
3195
  name: "autoSaveId",
3176
3196
  type: "string",
3177
- description: "\uB85C\uCEEC \uC2A4\uD1A0\uB9AC\uC9C0\uC5D0 \uD06C\uAE30 \uC0C1\uD0DC \uC800\uC7A5 (\uACE0\uC720 ID)"
3197
+ description: "id\uC758 deprecated \uBCC4\uCE6D"
3178
3198
  },
3179
3199
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
3180
3200
  ],
3181
3201
  ResizablePanel: [
3182
3202
  {
3183
3203
  name: "defaultSize",
3184
- type: "number",
3185
- description: "\uCD08\uAE30 \uD06C\uAE30 (\uD37C\uC13C\uD2B8, 0-100)"
3204
+ type: "number | string",
3205
+ description: "\uCD08\uAE30 \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8, \uBB38\uC790\uC5F4\uC740 \uBA85\uC2DC\uD55C CSS \uB2E8\uC704"
3206
+ },
3207
+ {
3208
+ name: "minSize",
3209
+ type: "number | string",
3210
+ description: "\uCD5C\uC18C \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8"
3211
+ },
3212
+ {
3213
+ name: "maxSize",
3214
+ type: "number | string",
3215
+ description: "\uCD5C\uB300 \uD06C\uAE30. \uC22B\uC790\uB294 \uD37C\uC13C\uD2B8"
3186
3216
  },
3187
- { name: "minSize", type: "number", description: "\uCD5C\uC18C \uD06C\uAE30 (\uD37C\uC13C\uD2B8)" },
3188
- { name: "maxSize", type: "number", description: "\uCD5C\uB300 \uD06C\uAE30 (\uD37C\uC13C\uD2B8)" },
3189
3217
  {
3190
3218
  name: "collapsible",
3191
3219
  type: "boolean",
3192
3220
  default: "false",
3193
3221
  description: "\uCD5C\uC18C \uD06C\uAE30 \uC774\uD558 \uC2DC \uC811\uD788\uAE30 \uD5C8\uC6A9"
3194
3222
  },
3223
+ {
3224
+ name: "onResize",
3225
+ type: "(size: ResizablePanelSize, id?: string | number, previous?: ResizablePanelSize) => void",
3226
+ description: "\uD328\uB110 \uD06C\uAE30 \uBCC0\uACBD \uCF5C\uBC31"
3227
+ },
3228
+ {
3229
+ name: "panelRef",
3230
+ type: "Ref<ResizablePanelHandle>",
3231
+ description: "\uC811\uAE30\xB7\uD3BC\uCE58\uAE30\xB7\uD06C\uAE30 \uC81C\uC5B4\uB97C \uC704\uD55C \uBA85\uB839\uD615 \uD328\uB110 ref"
3232
+ },
3195
3233
  {
3196
3234
  name: "children",
3197
3235
  type: "ReactNode",
@@ -3207,6 +3245,11 @@ var resizableMeta = {
3207
3245
  default: "false",
3208
3246
  description: "\uC2DC\uAC01\uC801 \uB4DC\uB798\uADF8 \uD578\uB4E4 \uD45C\uC2DC"
3209
3247
  },
3248
+ {
3249
+ name: "disabled",
3250
+ type: "boolean",
3251
+ description: "\uB4DC\uB798\uADF8 \uBC0F \uD0A4\uBCF4\uB4DC \uB9AC\uC0AC\uC774\uC988 \uBE44\uD65C\uC131\uD654"
3252
+ },
3210
3253
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
3211
3254
  ]
3212
3255
  },
@@ -4337,7 +4380,16 @@ var dataTableMeta = {
4337
4380
  keyboardShortcuts: [
4338
4381
  { keys: "\u2191 \u2193", action: "\uD589 \uD0D0\uC0C9" },
4339
4382
  { keys: "\u2190 \u2192", action: "\uC140 \uD0D0\uC0C9" },
4340
- { keys: "Enter", action: "\uD589 \uC120\uD0DD/\uD65C\uC131\uD654" }
4383
+ { keys: "Enter / Space", action: "\uC815\uB82C \uAC00\uB2A5\uD55C \uD5E4\uB354 \uB610\uB294 \uD589 \uD65C\uC131\uD654" },
4384
+ { keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: \u2190 \u2192", action: "\uCEEC\uB7FC \uB108\uBE44\uB97C 10px \uB2E8\uC704\uB85C \uC870\uC808" },
4385
+ {
4386
+ keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: Shift+\u2190 Shift+\u2192",
4387
+ action: "\uCEEC\uB7FC \uB108\uBE44\uB97C 40px \uB2E8\uC704\uB85C \uC870\uC808"
4388
+ },
4389
+ {
4390
+ keys: "\uB9AC\uC0AC\uC774\uC988 \uD578\uB4E4: Home / End",
4391
+ action: "\uCEEC\uB7FC \uB108\uBE44\uB97C \uCD5C\uC19F\uAC12/\uCD5C\uB313\uAC12\uC73C\uB85C \uC774\uB3D9"
4392
+ }
4341
4393
  ],
4342
4394
  advancedPatternAnchor: "data-table-filtering",
4343
4395
  advancedPatternDescription: "\uC2E4\uC2DC\uAC04 \uD544\uD130\uB9C1, \uCEE4\uC2A4\uD140 \uCEEC\uB7FC \uB80C\uB354\uB9C1, Badge \uC0C1\uD0DC \uD45C\uC2DC \uB4F1 \uACE0\uAE09 \uD328\uD134",
@@ -5699,7 +5751,11 @@ var sidebarMeta = {
5699
5751
  description: "\uC811\uAE30/\uD3BC\uCE58\uAE30\uB97C \uC9C0\uC6D0\uD558\uB294 compound \uC0AC\uC774\uB4DC\uBC14. Header/Content/Footer \uAD6C\uC870 + Group/Item\uC73C\uB85C \uB124\uBE44\uAC8C\uC774\uC158 \uAD6C\uC131. Ctrl+[ \uB2E8\uCD95\uD0A4.",
5700
5752
  slug: "sidebar",
5701
5753
  exports: ["Sidebar", "useSidebar"],
5702
- keyboardShortcuts: [{ keys: "Ctrl+[", action: "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30/\uD3BC\uCE58\uAE30 \uD1A0\uAE00" }],
5754
+ keyboardShortcuts: [
5755
+ { keys: "Ctrl+[", action: "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30/\uD3BC\uCE58\uAE30 \uD1A0\uAE00" },
5756
+ { keys: "\u2191 \u2193", action: "\uC0AC\uC774\uB4DC\uBC14 \uD56D\uBAA9 \uAC04 \uC774\uB3D9" },
5757
+ { keys: "Home / End", action: "\uCCAB \uBC88\uC9F8/\uB9C8\uC9C0\uB9C9 \uC0AC\uC774\uB4DC\uBC14 \uD56D\uBAA9\uC73C\uB85C \uC774\uB3D9" }
5758
+ ],
5703
5759
  props: {
5704
5760
  Sidebar: [
5705
5761
  {
@@ -5817,7 +5873,7 @@ var sidebarMeta = {
5817
5873
  var appShellMeta = {
5818
5874
  name: "AppShell",
5819
5875
  category: "shell",
5820
- description: "Header + Sidebar + Content + Footer 4\uC601\uC5ED \uD398\uC774\uC9C0 \uB808\uC774\uC544\uC6C3 \uD15C\uD50C\uB9BF. Sidebar \uCEF4\uD3EC\uB10C\uD2B8\uC640 \uC870\uD569.",
5876
+ description: "Header + Sidebar + Content + Footer 4\uC601\uC5ED \uD398\uC774\uC9C0 \uB808\uC774\uC544\uC6C3 \uD15C\uD50C\uB9BF. AppShell.Sidebar\uB294 \uBAA8\uB4E0 viewport\uC5D0\uC11C \uAE30\uBCF8 \uD45C\uC2DC\uB418\uBA70 \uBC18\uC751\uD615 \uC228\uAE40/Drawer \uC804\uD658\uC740 \uC18C\uBE44\uC790\uAC00 \uC81C\uC5B4\uD569\uB2C8\uB2E4.",
5821
5877
  slug: "app-shell",
5822
5878
  exports: ["AppShell"],
5823
5879
  props: {
@@ -6059,9 +6115,15 @@ var bulkActionsMeta = {
6059
6115
  var savedFiltersMeta = {
6060
6116
  name: "SavedFilters",
6061
6117
  category: "shell",
6062
- description: "\uD544\uD130 \uD504\uB9AC\uC14B \uAD00\uB9AC. \uD604\uC7AC \uD544\uD130\uB97C \uC800\uC7A5\uD558\uACE0 \uBD88\uB7EC\uC624\uB294 Popover UI.",
6118
+ description: "\uD544\uD130 \uD504\uB9AC\uC14B \uAD00\uB9AC. \uD0A4\uBCF4\uB4DC \uBAA9\uB85D \uD0D0\uC0C9, \uD604\uC7AC \uD544\uD130 \uC800\uC7A5, \uC548\uC804\uD55C \uC0AD\uC81C \uD655\uC778 \uD750\uB984\uC744 \uC81C\uACF5\uD558\uB294 Popover UI.",
6063
6119
  slug: "saved-filters",
6064
6120
  exports: ["SavedFilters"],
6121
+ keyboardShortcuts: [
6122
+ { keys: "\u2191 \u2193", action: "\uC800\uC7A5\uB41C \uD504\uB9AC\uC14B \uAC04 \uC774\uB3D9" },
6123
+ { keys: "Home / End", action: "\uCCAB \uBC88\uC9F8/\uB9C8\uC9C0\uB9C9 \uD504\uB9AC\uC14B\uC73C\uB85C \uC774\uB3D9" },
6124
+ { keys: "Enter", action: "\uD504\uB9AC\uC14B \uBD88\uB7EC\uC624\uAE30 \uB610\uB294 \uC0C8 \uD504\uB9AC\uC14B \uC800\uC7A5" },
6125
+ { keys: "Escape", action: "\uC0AD\uC81C \uD655\uC778 \uCDE8\uC18C \uD6C4 \uC0AD\uC81C \uBC84\uD2BC\uC73C\uB85C \uD3EC\uCEE4\uC2A4 \uBCF5\uADC0" }
6126
+ ],
6065
6127
  props: {
6066
6128
  SavedFilters: [
6067
6129
  {
@@ -6094,12 +6156,60 @@ var savedFiltersMeta = {
6094
6156
  required: true,
6095
6157
  description: "\uD504\uB9AC\uC14B \uC0AD\uC81C \uCF5C\uBC31"
6096
6158
  },
6159
+ {
6160
+ name: "labels",
6161
+ type: "SavedFiltersLabels",
6162
+ description: "\uD2B8\uB9AC\uAC70, \uBE48 \uC0C1\uD0DC, \uC800\uC7A5 \uBC0F \uC0AD\uC81C \uD655\uC778 \uBB38\uAD6C \uC624\uBC84\uB77C\uC774\uB4DC"
6163
+ },
6097
6164
  { name: "className", type: "string", description: "\uCEE4\uC2A4\uD140 CSS \uD074\uB798\uC2A4" }
6165
+ ],
6166
+ SavedFiltersLabels: [
6167
+ {
6168
+ name: "triggerLabel",
6169
+ type: "(count: number) => string",
6170
+ description: "\uC800\uC7A5\uB41C \uD504\uB9AC\uC14B \uC218\uB97C \uD3EC\uD568\uD55C \uD2B8\uB9AC\uAC70 \uB808\uC774\uBE14"
6171
+ },
6172
+ {
6173
+ name: "emptyMessage",
6174
+ type: "string",
6175
+ default: '"No saved filters"',
6176
+ description: "\uD504\uB9AC\uC14B\uC774 \uC5C6\uC744 \uB54C \uD45C\uC2DC\uD560 \uBA54\uC2DC\uC9C0"
6177
+ },
6178
+ {
6179
+ name: "deleteLabel",
6180
+ type: "(name: string) => string",
6181
+ description: "\uD504\uB9AC\uC14B \uC0AD\uC81C \uBC84\uD2BC\uC758 \uC811\uADFC \uAC00\uB2A5\uD55C \uC774\uB984"
6182
+ },
6183
+ {
6184
+ name: "namePlaceholder",
6185
+ type: "string",
6186
+ default: '"Filter name\u2026"',
6187
+ description: "\uC0C8 \uD504\uB9AC\uC14B \uC774\uB984 \uC785\uB825 \uC548\uB0B4"
6188
+ },
6189
+ {
6190
+ name: "saveLabel",
6191
+ type: "string",
6192
+ default: '"Save"',
6193
+ description: "\uC0C8 \uD504\uB9AC\uC14B \uC800\uC7A5 \uBC84\uD2BC \uB808\uC774\uBE14"
6194
+ },
6195
+ {
6196
+ name: "confirmDeleteLabel",
6197
+ type: "string",
6198
+ default: '"Confirm"',
6199
+ description: "\uC0AD\uC81C \uD655\uC778 \uBC84\uD2BC \uB808\uC774\uBE14"
6200
+ },
6201
+ {
6202
+ name: "cancelDeleteLabel",
6203
+ type: "string",
6204
+ default: '"Cancel"',
6205
+ description: "\uC0AD\uC81C \uCDE8\uC18C \uBC84\uD2BC \uB808\uC774\uBE14"
6206
+ }
6098
6207
  ]
6099
6208
  },
6100
6209
  dependencies: [
6101
6210
  { slug: "popover", category: "core" },
6102
- { slug: "input", category: "core" }
6211
+ { slug: "input", category: "core" },
6212
+ { slug: "button", category: "core" }
6103
6213
  ],
6104
6214
  testDescribe: "SavedFilters"
6105
6215
  };
@@ -23,7 +23,7 @@
23
23
 
24
24
 
25
25
 
26
- var _chunkX5WCXJAFcjs = require('../chunk-X5WCXJAF.cjs');
26
+ var _chunkNXZJIHEZcjs = require('../chunk-NXZJIHEZ.cjs');
27
27
  require('../chunk-AFF2HPE5.cjs');
28
28
  require('../chunk-ONE3C5RV.cjs');
29
29
 
@@ -62,4 +62,4 @@ var _optcharts = require('@reopt-ai/opt-charts');
62
62
 
63
63
 
64
64
 
65
- exports.AppMenubar = _chunkX5WCXJAFcjs.AppMenubar; exports.BranchSelect = _chunkX5WCXJAFcjs.BranchSelect; exports.CommandPalette = _chunkX5WCXJAFcjs.CommandPalette; exports.CommandPaletteTrigger = _chunkX5WCXJAFcjs.CommandPaletteTrigger; exports.ContentTabs = _chunkX5WCXJAFcjs.ContentTabs; exports.DashboardGrid = _chunkX5WCXJAFcjs.DashboardGrid; exports.DataTable = _chunkX5WCXJAFcjs.DataTable; exports.DeploymentTimeline = _chunkX5WCXJAFcjs.DeploymentTimeline; exports.DomainTable = _chunkX5WCXJAFcjs.DomainTable; exports.EditorToolbar = _chunkX5WCXJAFcjs.EditorToolbar; exports.EnvPanel = _chunkX5WCXJAFcjs.EnvPanel; exports.EventSparkline = _optcharts.EventSparkline; exports.FailureList = _chunkX5WCXJAFcjs.FailureList; exports.FaqAccordion = _chunkX5WCXJAFcjs.FaqAccordion; exports.KeyValueEditor = _chunkX5WCXJAFcjs.KeyValueEditor; exports.MetricsCard = _optcharts.MetricsCard; exports.NotificationToast = _chunkX5WCXJAFcjs.NotificationToast; exports.ProjectSwitcher = _chunkX5WCXJAFcjs.ProjectSwitcher; exports.ReportWidget = _optcharts.ReportWidget; exports.SearchCombobox = _chunkX5WCXJAFcjs.SearchCombobox; exports.SettingsForm = _chunkX5WCXJAFcjs.SettingsForm; exports.SidebarNav = _chunkX5WCXJAFcjs.SidebarNav; exports.StatusSelect = _chunkX5WCXJAFcjs.StatusSelect; exports.ToastProvider = _chunkX5WCXJAFcjs.ToastProvider; exports.TrendChart = _optcharts.TrendChart; exports.WorkflowCanvas = _chunkX5WCXJAFcjs.WorkflowCanvas; exports.useToast = _chunkX5WCXJAFcjs.useToast;
65
+ exports.AppMenubar = _chunkNXZJIHEZcjs.AppMenubar; exports.BranchSelect = _chunkNXZJIHEZcjs.BranchSelect; exports.CommandPalette = _chunkNXZJIHEZcjs.CommandPalette; exports.CommandPaletteTrigger = _chunkNXZJIHEZcjs.CommandPaletteTrigger; exports.ContentTabs = _chunkNXZJIHEZcjs.ContentTabs; exports.DashboardGrid = _chunkNXZJIHEZcjs.DashboardGrid; exports.DataTable = _chunkNXZJIHEZcjs.DataTable; exports.DeploymentTimeline = _chunkNXZJIHEZcjs.DeploymentTimeline; exports.DomainTable = _chunkNXZJIHEZcjs.DomainTable; exports.EditorToolbar = _chunkNXZJIHEZcjs.EditorToolbar; exports.EnvPanel = _chunkNXZJIHEZcjs.EnvPanel; exports.EventSparkline = _optcharts.EventSparkline; exports.FailureList = _chunkNXZJIHEZcjs.FailureList; exports.FaqAccordion = _chunkNXZJIHEZcjs.FaqAccordion; exports.KeyValueEditor = _chunkNXZJIHEZcjs.KeyValueEditor; exports.MetricsCard = _optcharts.MetricsCard; exports.NotificationToast = _chunkNXZJIHEZcjs.NotificationToast; exports.ProjectSwitcher = _chunkNXZJIHEZcjs.ProjectSwitcher; exports.ReportWidget = _optcharts.ReportWidget; exports.SearchCombobox = _chunkNXZJIHEZcjs.SearchCombobox; exports.SettingsForm = _chunkNXZJIHEZcjs.SettingsForm; exports.SidebarNav = _chunkNXZJIHEZcjs.SidebarNav; exports.StatusSelect = _chunkNXZJIHEZcjs.StatusSelect; exports.ToastProvider = _chunkNXZJIHEZcjs.ToastProvider; exports.TrendChart = _optcharts.TrendChart; exports.WorkflowCanvas = _chunkNXZJIHEZcjs.WorkflowCanvas; exports.useToast = _chunkNXZJIHEZcjs.useToast;
@@ -23,7 +23,7 @@ import {
23
23
  ToastProvider,
24
24
  WorkflowCanvas,
25
25
  useToast
26
- } from "../chunk-QWBHD54V.js";
26
+ } from "../chunk-3XD4HIFL.js";
27
27
  import "../chunk-RBM2RNC2.js";
28
28
  import "../chunk-3GWWZKX7.js";
29
29
 
package/dist/tailwind.css CHANGED
@@ -12,11 +12,11 @@
12
12
  */
13
13
 
14
14
  /* ── Theme Presets (5 presets × light/dark, natural force-light) ── */
15
- @import "./lib/theme/presets/default.css";
16
- @import "./lib/theme/presets/minimal.css";
17
- @import "./lib/theme/presets/natural.css";
18
- @import "./lib/theme/presets/pro.css";
19
- @import "./lib/theme/presets/mono-dark.css";
15
+ @import "@reopt-ai/opt-ui/theme/presets/default.css";
16
+ @import "@reopt-ai/opt-ui/theme/presets/minimal.css";
17
+ @import "@reopt-ai/opt-ui/theme/presets/natural.css";
18
+ @import "@reopt-ai/opt-ui/theme/presets/pro.css";
19
+ @import "@reopt-ai/opt-ui/theme/presets/mono-dark.css";
20
20
 
21
21
  /* ── Dark Mode Variant ── */
22
22
  @custom-variant dark (&:where([data-theme$="-dark"], [data-theme$="-dark"] *));
@@ -182,12 +182,12 @@
182
182
 
183
183
  [data-theme="default-dark"] {
184
184
  /* Surface */
185
- --opt-surface: hsl(204 4% 16%);
186
- --opt-surface-raised: hsl(204 4% 16%);
187
- --opt-surface-overlay: hsl(204 4% 16%);
188
- --opt-surface-input: hsl(204 4% 10%);
189
- --opt-surface-input-hover: hsl(204 4% 8%);
190
- --opt-surface-inset: rgba(255, 255, 255, 0.04);
185
+ --opt-surface: hsl(204 5% 7%);
186
+ --opt-surface-raised: hsl(204 5% 9%);
187
+ --opt-surface-overlay: hsl(204 5% 12%);
188
+ --opt-surface-input: hsl(204 5% 5%);
189
+ --opt-surface-input-hover: hsl(204 5% 4%);
190
+ --opt-surface-inset: rgba(255, 255, 255, 0.02);
191
191
 
192
192
  /* Accent */
193
193
  --opt-accent: hsl(221 83% 53%);
@@ -242,18 +242,18 @@
242
242
 
243
243
  /* Border */
244
244
  --opt-border-width: 1px;
245
- --opt-border: rgba(255, 255, 255, 0.1);
246
- --opt-border-hover: rgba(255, 255, 255, 0.25);
247
- --opt-border-subtle: rgba(255, 255, 255, 0.08);
245
+ --opt-border: rgba(255, 255, 255, 0.07);
246
+ --opt-border-hover: rgba(255, 255, 255, 0.18);
247
+ --opt-border-subtle: rgba(255, 255, 255, 0.04);
248
248
 
249
249
  /* Focus */
250
250
  --opt-ring: hsl(221 83% 53%);
251
- --opt-ring-offset: hsl(204 4% 16%);
251
+ --opt-ring-offset: hsl(204 5% 7%);
252
252
 
253
253
  /* Background */
254
254
  --opt-bg: #0a0a0a;
255
- --opt-bg-subtle: rgba(255, 255, 255, 0.06);
256
- --opt-bg-muted: rgba(255, 255, 255, 0.08);
255
+ --opt-bg-subtle: rgba(255, 255, 255, 0.03);
256
+ --opt-bg-muted: rgba(255, 255, 255, 0.05);
257
257
 
258
258
  /* Status */
259
259
  --opt-success: hsl(142 71% 45%);