@reopt-ai/opt-ui 1.12.0 → 1.12.2

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.
@@ -886,6 +886,71 @@ function Alert(_ref) {
886
886
  }));
887
887
  }
888
888
  //#endregion
889
+ //#region src/core/toolbar.tsx
890
+ const _excluded$12 = ["className"];
891
+ const _excluded2$8 = ["className"];
892
+ const _excluded3$7 = ["className"];
893
+ const _excluded4$5 = ["className"];
894
+ const _excluded5$3 = ["className"];
895
+ const toolbarClass = `${OPT_SURFACE} ${OPT_BORDER} inline-flex w-fit items-center gap-0.5 px-1.5 py-1`;
896
+ const buttonClass = `cursor-pointer rounded-md px-2.5 py-1.5 text-text-primary transition-colors data-[disabled]:cursor-not-allowed ${OPT_ACTIVE_ITEM} ${OPT_FOCUS}`;
897
+ const separatorClass = "mx-1 h-6 w-px bg-border-subtle";
898
+ const tooltipClass = "z-50 rounded-md bg-foreground px-2 py-1 text-xs text-background shadow-lg";
899
+ /** Renders the toolbar root component. */
900
+ function ToolbarRoot(props) {
901
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarRoot, _objectSpread2(_objectSpread2({}, props), {}, {
902
+ "data-opt-id": "V33Y0",
903
+ "data-opt-slug": "toolbar.ToolbarRoot"
904
+ }));
905
+ }
906
+ /** Renders the toolbar container component. */
907
+ function ToolbarContainer(_ref) {
908
+ let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$12);
909
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarContainer, _objectSpread2(_objectSpread2({ className: cn(toolbarClass, className) }, props), {}, {
910
+ "data-opt-id": "2AVXB",
911
+ "data-opt-slug": "toolbar.ToolbarContainer"
912
+ }));
913
+ }
914
+ /** Renders the toolbar button component. */
915
+ function ToolbarButton(_ref2) {
916
+ let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$8);
917
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarButton, _objectSpread2(_objectSpread2({ className: cn(buttonClass, className) }, props), {}, {
918
+ "data-opt-id": "C212C",
919
+ "data-opt-slug": "toolbar.ToolbarButton"
920
+ }));
921
+ }
922
+ /** Renders the toolbar separator component. */
923
+ function ToolbarSeparator(_ref3) {
924
+ let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$7);
925
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarSeparator, _objectSpread2(_objectSpread2({ className: cn(separatorClass, className) }, props), {}, {
926
+ "data-opt-id": "9J72S",
927
+ "data-opt-slug": "toolbar.ToolbarSeparator"
928
+ }));
929
+ }
930
+ /** Renders the tooltip provider component. */
931
+ function TooltipProvider(props) {
932
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TooltipProvider, _objectSpread2(_objectSpread2({}, props), {}, {
933
+ "data-opt-id": "6NKHT",
934
+ "data-opt-slug": "toolbar.TooltipProvider"
935
+ }));
936
+ }
937
+ /** Renders the tooltip anchor component. */
938
+ function TooltipAnchor(_ref4) {
939
+ let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$5);
940
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TooltipAnchor, _objectSpread2(_objectSpread2({ className }, props), {}, {
941
+ "data-opt-id": "SAW1B",
942
+ "data-opt-slug": "toolbar.TooltipAnchor"
943
+ }));
944
+ }
945
+ /** Renders the tooltip component. */
946
+ function Tooltip(_ref5) {
947
+ let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$3);
948
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.Tooltip, _objectSpread2(_objectSpread2({ className: cn(tooltipClass, className) }, props), {}, {
949
+ "data-opt-id": "XSAT4",
950
+ "data-opt-slug": "toolbar.Tooltip"
951
+ }));
952
+ }
953
+ //#endregion
889
954
  //#region src/lib/use-input-id.ts
890
955
  /**
891
956
  * Generates a stable component ID from label text.
@@ -896,7 +961,7 @@ function useInputId(id, label, prefix) {
896
961
  }
897
962
  //#endregion
898
963
  //#region src/core/input.tsx
899
- const _excluded$12 = [
964
+ const _excluded$11 = [
900
965
  "label",
901
966
  "error",
902
967
  "hint",
@@ -911,7 +976,7 @@ const _excluded$12 = [
911
976
  const inputSizeStyles = OPT_INPUT_SIZE;
912
977
  const Input = (0, react.forwardRef)((_ref, ref) => {
913
978
  var _useInputId;
914
- let { label, error, hint, leftIcon, rightIcon, fullWidth = false, size = "md", required, className, id } = _ref, props = _objectWithoutProperties(_ref, _excluded$12);
979
+ let { label, error, hint, leftIcon, rightIcon, fullWidth = false, size = "md", required, className, id } = _ref, props = _objectWithoutProperties(_ref, _excluded$11);
915
980
  const fallbackId = (0, react.useId)().replace(/:/g, "");
916
981
  const inputId = (_useInputId = useInputId(id, label, "input")) !== null && _useInputId !== void 0 ? _useInputId : `input-${fallbackId}`;
917
982
  const hasError = Boolean(error);
@@ -1062,7 +1127,7 @@ function StarRating({ value = 0, onChange, max = 5, readOnly = false, size = "md
1062
1127
  }
1063
1128
  //#endregion
1064
1129
  //#region src/core/meter.tsx
1065
- const _excluded$11 = [
1130
+ const _excluded$10 = [
1066
1131
  "value",
1067
1132
  "min",
1068
1133
  "max",
@@ -1090,7 +1155,7 @@ const variantStyles = {
1090
1155
  * opt-ui-primitives Meter primitive, which owns the role/aria/valuetext.
1091
1156
  */
1092
1157
  function Meter(_ref) {
1093
- let { value, min = 0, max = 100, size = "md", variant = "default", showValue = false, label, getValueLabel, className } = _ref, props = _objectWithoutProperties(_ref, _excluded$11);
1158
+ let { value, min = 0, max = 100, size = "md", variant = "default", showValue = false, label, getValueLabel, className } = _ref, props = _objectWithoutProperties(_ref, _excluded$10);
1094
1159
  const clamped = Math.min(Math.max(value, min), max);
1095
1160
  const percentage = max === min ? 0 : (clamped - min) / (max - min) * 100;
1096
1161
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", _objectSpread2(_objectSpread2({ className: cn("w-full", className) }, props), {}, {
@@ -1138,8 +1203,8 @@ function CompositeZone({ children, label, focusLoop = true, focusWrap = true, cl
1138
1203
  }
1139
1204
  //#endregion
1140
1205
  //#region src/core/disclosure.tsx
1141
- const _excluded$10 = ["className"];
1142
- const _excluded2$8 = ["className"];
1206
+ const _excluded$9 = ["className"];
1207
+ const _excluded2$7 = ["className"];
1143
1208
  const triggerClass$1 = `flex w-full cursor-pointer items-center justify-between px-4 py-4 text-left text-sm font-medium text-text-primary transition-colors hover:bg-bg-subtle ${OPT_FOCUS} data-[active-item]:bg-bg-subtle data-[disabled]:cursor-not-allowed`;
1144
1209
  const contentClass = `overflow-hidden ${OPT_ANIMATE_ENTER_EXIT}`;
1145
1210
  /** Renders the disclosure root component. */
@@ -1151,7 +1216,7 @@ function DisclosureRoot(props) {
1151
1216
  }
1152
1217
  /** Renders the disclosure trigger component. */
1153
1218
  function DisclosureTrigger(_ref) {
1154
- let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$10);
1219
+ let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$9);
1155
1220
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DisclosureTrigger, _objectSpread2(_objectSpread2({ className: cn(triggerClass$1, className) }, props), {}, {
1156
1221
  "data-opt-id": "14EZW",
1157
1222
  "data-opt-slug": "disclosure.DisclosureTrigger"
@@ -1159,7 +1224,7 @@ function DisclosureTrigger(_ref) {
1159
1224
  }
1160
1225
  /** Renders the disclosure content component. */
1161
1226
  function DisclosureContent(_ref2) {
1162
- let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$8);
1227
+ let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$7);
1163
1228
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DisclosureContent, _objectSpread2(_objectSpread2({ className: cn(contentClass, className) }, props), {}, {
1164
1229
  "data-opt-id": "78HYF",
1165
1230
  "data-opt-slug": "disclosure.DisclosureContent"
@@ -1167,16 +1232,16 @@ function DisclosureContent(_ref2) {
1167
1232
  }
1168
1233
  //#endregion
1169
1234
  //#region src/core/tabs.tsx
1170
- const _excluded$9 = ["variant"];
1171
- const _excluded2$7 = ["className", "actions"];
1172
- const _excluded3$7 = [
1235
+ const _excluded$8 = ["variant"];
1236
+ const _excluded2$6 = ["className", "actions"];
1237
+ const _excluded3$6 = [
1173
1238
  "className",
1174
1239
  "icon",
1175
1240
  "status",
1176
1241
  "statusLabel",
1177
1242
  "children"
1178
1243
  ];
1179
- const _excluded4$5 = ["className"];
1244
+ const _excluded4$4 = ["className"];
1180
1245
  const TabsVariantContext = react.createContext("underline");
1181
1246
  const tabClass = `cursor-pointer border-b-2 border-transparent px-4 py-2.5 text-sm text-text-tertiary transition-colors hover:text-text-primary data-[active-item]:text-text-primary data-[active-item]:border-text-primary data-[disabled]:cursor-not-allowed ${OPT_FOCUS}`;
1182
1247
  const tabListClass = "flex border-b border-border-subtle";
@@ -1189,7 +1254,7 @@ const actionsClass = "flex flex-none items-center gap-element";
1189
1254
  const tabPanelClass = `pt-4 ${OPT_FOCUS} data-[focus-visible]:rounded-lg`;
1190
1255
  /** Renders the tabs root component. */
1191
1256
  function TabsRoot(_ref) {
1192
- let { variant = "underline" } = _ref, props = _objectWithoutProperties(_ref, _excluded$9);
1257
+ let { variant = "underline" } = _ref, props = _objectWithoutProperties(_ref, _excluded$8);
1193
1258
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabsVariantContext.Provider, {
1194
1259
  value: variant,
1195
1260
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TabsRoot, _objectSpread2(_objectSpread2({}, props), {}, {
@@ -1200,7 +1265,7 @@ function TabsRoot(_ref) {
1200
1265
  }
1201
1266
  /** Renders the tab list component. */
1202
1267
  function TabList(_ref2) {
1203
- let { className, actions } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$7);
1268
+ let { className, actions } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$6);
1204
1269
  const variant = react.useContext(TabsVariantContext);
1205
1270
  const list = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TabList, _objectSpread2(_objectSpread2({ className: cn(variant === "workspace" ? workspaceTabListClass : tabListClass, className) }, props), {}, {
1206
1271
  "data-opt-id": "68K7E",
@@ -1217,7 +1282,7 @@ function TabList(_ref2) {
1217
1282
  }
1218
1283
  /** Renders the tab component. */
1219
1284
  function Tab(_ref3) {
1220
- let { className, icon, status, statusLabel, children } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$7);
1285
+ let { className, icon, status, statusLabel, children } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$6);
1221
1286
  const variant = react.useContext(TabsVariantContext);
1222
1287
  const decorated = icon != null || status != null;
1223
1288
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.Tab, _objectSpread2(_objectSpread2({ className: cn(variant === "workspace" ? workspaceTabClass : tabClass, className) }, props), {}, {
@@ -1243,7 +1308,7 @@ function Tab(_ref3) {
1243
1308
  }
1244
1309
  /** Renders the tab panel component. */
1245
1310
  function TabPanel(_ref4) {
1246
- let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$5);
1311
+ let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$4);
1247
1312
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TabPanel, _objectSpread2(_objectSpread2({ className: cn(tabPanelClass, className) }, props), {}, {
1248
1313
  "data-opt-id": "C0MBP",
1249
1314
  "data-opt-slug": "tabs.TabPanel"
@@ -1251,13 +1316,13 @@ function TabPanel(_ref4) {
1251
1316
  }
1252
1317
  //#endregion
1253
1318
  //#region src/core/select.tsx
1254
- const _excluded$8 = [
1319
+ const _excluded$7 = [
1255
1320
  "className",
1256
1321
  "minWidth",
1257
1322
  "style"
1258
1323
  ];
1259
- const _excluded2$6 = ["className"];
1260
- const _excluded3$6 = ["className"];
1324
+ const _excluded2$5 = ["className"];
1325
+ const _excluded3$5 = ["className"];
1261
1326
  const triggerClass = `${OPT_INPUT} cursor-pointer items-center justify-between data-[disabled]:cursor-not-allowed ${OPT_FOCUS}`;
1262
1327
  const popoverClass$1 = `${OPT_SURFACE_POPOVER} ${OPT_ANIMATE_ENTER_EXIT} z-[120]`;
1263
1328
  const itemClass$1 = `flex cursor-pointer items-center gap-2 data-[disabled]:cursor-not-allowed ${OPT_ITEM_BASE} ${OPT_ACTIVE_ITEM}`;
@@ -1277,7 +1342,7 @@ function SelectLabel(props) {
1277
1342
  }
1278
1343
  /** Renders the select trigger component. */
1279
1344
  function SelectTrigger(_ref) {
1280
- let { className, minWidth = 140, style } = _ref, props = _objectWithoutProperties(_ref, _excluded$8);
1345
+ let { className, minWidth = 140, style } = _ref, props = _objectWithoutProperties(_ref, _excluded$7);
1281
1346
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.SelectTrigger, _objectSpread2(_objectSpread2({
1282
1347
  className: cn(triggerClass, className),
1283
1348
  style: _objectSpread2({ minWidth: typeof minWidth === "number" ? `${minWidth}px` : minWidth }, style)
@@ -1288,7 +1353,7 @@ function SelectTrigger(_ref) {
1288
1353
  }
1289
1354
  /** Renders the select popover component. */
1290
1355
  function SelectPopover(_ref2) {
1291
- let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$6);
1356
+ let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$5);
1292
1357
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.SelectPopover, _objectSpread2(_objectSpread2({ className: cn(popoverClass$1, className) }, props), {}, {
1293
1358
  "data-opt-id": "P152F",
1294
1359
  "data-opt-slug": "select.SelectPopover"
@@ -1296,7 +1361,7 @@ function SelectPopover(_ref2) {
1296
1361
  }
1297
1362
  /** Renders the select item component. */
1298
1363
  function SelectItem(_ref3) {
1299
- let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$6);
1364
+ let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$5);
1300
1365
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.SelectItem, _objectSpread2(_objectSpread2({ className: cn(itemClass$1, className) }, props), {}, {
1301
1366
  "data-opt-id": "KKBAF",
1302
1367
  "data-opt-slug": "select.SelectItem"
@@ -1304,11 +1369,11 @@ function SelectItem(_ref3) {
1304
1369
  }
1305
1370
  //#endregion
1306
1371
  //#region src/core/dialog.tsx
1307
- const _excluded$7 = ["className"];
1308
- const _excluded2$5 = ["className", "size"];
1309
- const _excluded3$5 = ["className", "size"];
1310
- const _excluded4$4 = ["className"];
1311
- const _excluded5$3 = ["className"];
1372
+ const _excluded$6 = ["className"];
1373
+ const _excluded2$4 = ["className", "size"];
1374
+ const _excluded3$4 = ["className", "size"];
1375
+ const _excluded4$3 = ["className"];
1376
+ const _excluded5$2 = ["className"];
1312
1377
  const _excluded6$2 = ["className"];
1313
1378
  const sizeClasses = {
1314
1379
  xs: "max-w-xs",
@@ -1328,7 +1393,7 @@ function DialogRoot(props) {
1328
1393
  }
1329
1394
  /** Renders the dialog disclosure component. */
1330
1395
  function DialogDisclosure(_ref) {
1331
- let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$7);
1396
+ let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$6);
1332
1397
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DialogDisclosure, _objectSpread2(_objectSpread2({ className: cn("inline-flex cursor-pointer items-center justify-center rounded-lg font-medium transition-colors", OPT_BUTTON_PRIMARY, OPT_FOCUS_VISIBLE, className) }, props), {}, {
1333
1398
  "data-opt-id": "32QJK",
1334
1399
  "data-opt-slug": "dialog.DialogDisclosure"
@@ -1336,7 +1401,7 @@ function DialogDisclosure(_ref) {
1336
1401
  }
1337
1402
  /** Renders the dialog panel component. */
1338
1403
  function DialogPanel(_ref2) {
1339
- let { className, size = "md" } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$5);
1404
+ let { className, size = "md" } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$4);
1340
1405
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DialogPanel, _objectSpread2(_objectSpread2({ className: cn(panelBase, sizeClasses[size], className) }, props), {}, {
1341
1406
  "data-opt-id": "BTMTG",
1342
1407
  "data-opt-slug": "dialog.DialogPanel"
@@ -1348,7 +1413,7 @@ function DialogPanel(_ref2) {
1348
1413
  * the other Dialog parts (DialogRoot/Heading/Description/Dismiss/…).
1349
1414
  */
1350
1415
  function AlertDialogPanel(_ref3) {
1351
- let { className, size = "sm" } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$5);
1416
+ let { className, size = "sm" } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$4);
1352
1417
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.AlertDialogPanel, _objectSpread2(_objectSpread2({ className: cn(panelBase, sizeClasses[size], className) }, props), {}, {
1353
1418
  "data-opt-id": "80HGS",
1354
1419
  "data-opt-slug": "dialog.AlertDialogPanel"
@@ -1356,7 +1421,7 @@ function AlertDialogPanel(_ref3) {
1356
1421
  }
1357
1422
  /** Renders the dialog heading component. */
1358
1423
  function DialogHeading(_ref4) {
1359
- let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$4);
1424
+ let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$3);
1360
1425
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DialogHeading, _objectSpread2(_objectSpread2({ className: cn(`text-lg font-semibold ${OPT_TEXT_PRIMARY}`, className) }, props), {}, {
1361
1426
  "data-opt-id": "4NW4H",
1362
1427
  "data-opt-slug": "dialog.DialogHeading"
@@ -1364,7 +1429,7 @@ function DialogHeading(_ref4) {
1364
1429
  }
1365
1430
  /** Renders the dialog description component. */
1366
1431
  function DialogDescription(_ref5) {
1367
- let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$3);
1432
+ let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$2);
1368
1433
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.DialogDescription, _objectSpread2(_objectSpread2({ className: cn(`text-sm ${OPT_TEXT_SECONDARY}`, className) }, props), {}, {
1369
1434
  "data-opt-id": "2BN3X",
1370
1435
  "data-opt-slug": "dialog.DialogDescription"
@@ -1410,10 +1475,10 @@ function DialogFooter({ children, className }) {
1410
1475
  }
1411
1476
  //#endregion
1412
1477
  //#region src/core/combobox.tsx
1413
- const _excluded$6 = ["className"];
1414
- const _excluded2$4 = ["className"];
1415
- const _excluded3$4 = ["className"];
1416
- const _excluded4$3 = ["className"];
1478
+ const _excluded$5 = ["className"];
1479
+ const _excluded2$3 = ["className"];
1480
+ const _excluded3$3 = ["className"];
1481
+ const _excluded4$2 = ["className"];
1417
1482
  const inputClass$1 = `${OPT_INPUT} ${OPT_FOCUS}`;
1418
1483
  const popoverClass = `${OPT_SURFACE_POPOVER} max-h-60 overflow-y-auto ${OPT_ANIMATE_ENTER_EXIT}`;
1419
1484
  const itemClass = `${OPT_ITEM_BASE} ${OPT_ACTIVE_ITEM}`;
@@ -1428,7 +1493,7 @@ function ComboboxRoot(props) {
1428
1493
  }
1429
1494
  /** Renders the combobox input component. */
1430
1495
  function ComboboxInput(_ref) {
1431
- let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$6);
1496
+ let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$5);
1432
1497
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ComboboxInput, _objectSpread2(_objectSpread2({ className: cn(inputClass$1, className) }, props), {}, {
1433
1498
  "data-opt-id": "92FZS",
1434
1499
  "data-opt-slug": "combobox.ComboboxInput"
@@ -1436,7 +1501,7 @@ function ComboboxInput(_ref) {
1436
1501
  }
1437
1502
  /** Renders the combobox popover component. */
1438
1503
  function ComboboxPopover(_ref2) {
1439
- let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$4);
1504
+ let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$3);
1440
1505
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ComboboxPopover, _objectSpread2(_objectSpread2({ className: cn(popoverClass, className) }, props), {}, {
1441
1506
  "data-opt-id": "WS4PD",
1442
1507
  "data-opt-slug": "combobox.ComboboxPopover"
@@ -1444,7 +1509,7 @@ function ComboboxPopover(_ref2) {
1444
1509
  }
1445
1510
  /** Renders the combobox item component. */
1446
1511
  function ComboboxItem(_ref3) {
1447
- let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$4);
1512
+ let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$3);
1448
1513
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ComboboxItem, _objectSpread2(_objectSpread2({ className: cn(itemClass, className) }, props), {}, {
1449
1514
  "data-opt-id": "MAZJN",
1450
1515
  "data-opt-slug": "combobox.ComboboxItem"
@@ -1459,7 +1524,7 @@ function ComboboxGroup(props) {
1459
1524
  }
1460
1525
  /** Renders the combobox group label component. */
1461
1526
  function ComboboxGroupLabel(_ref4) {
1462
- let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$3);
1527
+ let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$2);
1463
1528
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ComboboxGroupLabel, _objectSpread2(_objectSpread2({ className: cn(groupLabelClass, className) }, props), {}, {
1464
1529
  "data-opt-id": "512YF",
1465
1530
  "data-opt-slug": "combobox.ComboboxGroupLabel"
@@ -1476,11 +1541,11 @@ function ComboboxEmpty({ className, children = koComboboxLabels.empty }) {
1476
1541
  }
1477
1542
  //#endregion
1478
1543
  //#region src/core/menu.tsx
1479
- const _excluded$5 = ["className"];
1480
- const _excluded2$3 = ["className"];
1481
- const _excluded3$3 = ["className"];
1482
- const _excluded4$2 = ["className"];
1483
- const _excluded5$2 = ["className"];
1544
+ const _excluded$4 = ["className"];
1545
+ const _excluded2$2 = ["className"];
1546
+ const _excluded3$2 = ["className"];
1547
+ const _excluded4$1 = ["className"];
1548
+ const _excluded5$1 = ["className"];
1484
1549
  const _excluded6$1 = ["className"];
1485
1550
  const _excluded7$1 = ["className"];
1486
1551
  const menuButtonClass = `inline-flex cursor-pointer items-center gap-1 rounded px-3 py-1.5 text-sm text-text-primary hover:bg-bg-subtle data-[active]:bg-bg-subtle data-[disabled]:cursor-not-allowed ${OPT_FOCUS}`;
@@ -1497,7 +1562,7 @@ function MenubarRoot(props) {
1497
1562
  }
1498
1563
  /** Renders the menubar container component. */
1499
1564
  function MenubarContainer(_ref) {
1500
- let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$5);
1565
+ let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$4);
1501
1566
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.MenubarContainer, _objectSpread2(_objectSpread2({ className: cn(menubarClass, className) }, props), {}, {
1502
1567
  "data-opt-id": "4MVQT",
1503
1568
  "data-opt-slug": "menu.MenubarContainer"
@@ -1512,7 +1577,7 @@ function MenuRoot(props) {
1512
1577
  }
1513
1578
  /** Renders the menu trigger component. */
1514
1579
  function MenuTrigger(_ref2) {
1515
- let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$3);
1580
+ let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$2);
1516
1581
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.MenuTrigger, _objectSpread2(_objectSpread2({ className: cn(menuButtonClass, className) }, props), {}, {
1517
1582
  "data-opt-id": "46BJG",
1518
1583
  "data-opt-slug": "menu.MenuTrigger"
@@ -1527,7 +1592,7 @@ function MenuButtonArrow(props) {
1527
1592
  }
1528
1593
  /** Renders the menu popover component. */
1529
1594
  function MenuPopover(_ref3) {
1530
- let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$3);
1595
+ let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$2);
1531
1596
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.MenuPopover, _objectSpread2(_objectSpread2({ className: cn(menuPopoverClass, className) }, props), {}, {
1532
1597
  "data-opt-id": "Q1MFY",
1533
1598
  "data-opt-slug": "menu.MenuPopover"
@@ -1535,7 +1600,7 @@ function MenuPopover(_ref3) {
1535
1600
  }
1536
1601
  /** Renders the menu item component. */
1537
1602
  function MenuItem(_ref4) {
1538
- let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$2);
1603
+ let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$1);
1539
1604
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.MenuItem, _objectSpread2(_objectSpread2({ className: cn(menuItemClass, className) }, props), {}, {
1540
1605
  "data-opt-id": "71JVB",
1541
1606
  "data-opt-slug": "menu.MenuItem"
@@ -1543,7 +1608,7 @@ function MenuItem(_ref4) {
1543
1608
  }
1544
1609
  /** Renders the menu item checkbox component. */
1545
1610
  function MenuItemCheckbox(_ref5) {
1546
- let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$2);
1611
+ let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$1);
1547
1612
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.MenuItemCheckbox, _objectSpread2(_objectSpread2({ className: cn(menuItemClass, className) }, props), {}, {
1548
1613
  "data-opt-id": "DG8B3",
1549
1614
  "data-opt-slug": "menu.MenuItemCheckbox"
@@ -1566,71 +1631,6 @@ function MenuSeparator(_ref7) {
1566
1631
  }));
1567
1632
  }
1568
1633
  //#endregion
1569
- //#region src/core/toolbar.tsx
1570
- const _excluded$4 = ["className"];
1571
- const _excluded2$2 = ["className"];
1572
- const _excluded3$2 = ["className"];
1573
- const _excluded4$1 = ["className"];
1574
- const _excluded5$1 = ["className"];
1575
- const toolbarClass = `${OPT_SURFACE} ${OPT_BORDER} inline-flex w-fit items-center gap-0.5 px-1.5 py-1`;
1576
- const buttonClass = `cursor-pointer rounded-md px-2.5 py-1.5 text-text-primary transition-colors data-[disabled]:cursor-not-allowed ${OPT_ACTIVE_ITEM} ${OPT_FOCUS}`;
1577
- const separatorClass = "mx-1 h-6 w-px bg-border-subtle";
1578
- const tooltipClass = "z-50 rounded-md bg-foreground px-2 py-1 text-xs text-background shadow-lg";
1579
- /** Renders the toolbar root component. */
1580
- function ToolbarRoot(props) {
1581
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarRoot, _objectSpread2(_objectSpread2({}, props), {}, {
1582
- "data-opt-id": "V33Y0",
1583
- "data-opt-slug": "toolbar.ToolbarRoot"
1584
- }));
1585
- }
1586
- /** Renders the toolbar container component. */
1587
- function ToolbarContainer(_ref) {
1588
- let { className } = _ref, props = _objectWithoutProperties(_ref, _excluded$4);
1589
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarContainer, _objectSpread2(_objectSpread2({ className: cn(toolbarClass, className) }, props), {}, {
1590
- "data-opt-id": "2AVXB",
1591
- "data-opt-slug": "toolbar.ToolbarContainer"
1592
- }));
1593
- }
1594
- /** Renders the toolbar button component. */
1595
- function ToolbarButton(_ref2) {
1596
- let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded2$2);
1597
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarButton, _objectSpread2(_objectSpread2({ className: cn(buttonClass, className) }, props), {}, {
1598
- "data-opt-id": "C212C",
1599
- "data-opt-slug": "toolbar.ToolbarButton"
1600
- }));
1601
- }
1602
- /** Renders the toolbar separator component. */
1603
- function ToolbarSeparator(_ref3) {
1604
- let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded3$2);
1605
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.ToolbarSeparator, _objectSpread2(_objectSpread2({ className: cn(separatorClass, className) }, props), {}, {
1606
- "data-opt-id": "9J72S",
1607
- "data-opt-slug": "toolbar.ToolbarSeparator"
1608
- }));
1609
- }
1610
- /** Renders the tooltip provider component. */
1611
- function TooltipProvider(props) {
1612
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TooltipProvider, _objectSpread2(_objectSpread2({}, props), {}, {
1613
- "data-opt-id": "6NKHT",
1614
- "data-opt-slug": "toolbar.TooltipProvider"
1615
- }));
1616
- }
1617
- /** Renders the tooltip anchor component. */
1618
- function TooltipAnchor(_ref4) {
1619
- let { className } = _ref4, props = _objectWithoutProperties(_ref4, _excluded4$1);
1620
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.TooltipAnchor, _objectSpread2(_objectSpread2({ className }, props), {}, {
1621
- "data-opt-id": "SAW1B",
1622
- "data-opt-slug": "toolbar.TooltipAnchor"
1623
- }));
1624
- }
1625
- /** Renders the tooltip component. */
1626
- function Tooltip(_ref5) {
1627
- let { className } = _ref5, props = _objectWithoutProperties(_ref5, _excluded5$1);
1628
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_reopt_ai_opt_ui_primitives.Tooltip, _objectSpread2(_objectSpread2({ className: cn(tooltipClass, className) }, props), {}, {
1629
- "data-opt-id": "XSAT4",
1630
- "data-opt-slug": "toolbar.Tooltip"
1631
- }));
1632
- }
1633
- //#endregion
1634
1634
  //#region src/core/number-input.tsx
1635
1635
  /** Number of decimal places a finite number is written with (handles exponents). */
1636
1636
  function decimalPlaces(n) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reopt-ai/opt-ui",
3
- "version": "1.12.0",
3
+ "version": "1.12.2",
4
4
  "description": "접근성 우선 UI 컴포넌트 라이브러리. opt-ui-primitives Core, 비즈니스 Shells, 페이지 Surfaces.",
5
5
  "type": "module",
6
6
  "license": "MIT",