@iblai/iblai-js 1.20.13 → 1.20.15

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.
@@ -69,12 +69,16 @@ export declare const TASKS_LABELS: {
69
69
  readonly startTimeInPast: "Start time must be in the future.";
70
70
  };
71
71
  readonly deleteDialog: {
72
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
73
+ readonly dialogName: "delete-task";
72
74
  readonly title: "Delete Task";
73
75
  readonly delete: "Delete Task";
74
76
  readonly deleting: "Deleting...";
75
77
  readonly cancel: "Cancel";
76
78
  };
77
79
  readonly logDetails: {
80
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
81
+ readonly dialogName: "log-details";
78
82
  readonly title: "Log Details";
79
83
  readonly status: "Status";
80
84
  readonly createdAt: "Created";
@@ -152,11 +156,13 @@ export declare function scheduleTask(scope: Page | Locator, opts: {
152
156
  }): Promise<void>;
153
157
  /** Asserts the in-dialog past-time error is currently shown. */
154
158
  export declare function expectScheduleStartTimeInPastError(scope: Page | Locator): Promise<void>;
159
+ export declare function getDeleteTaskDialog(scope: Page | Locator): Locator;
155
160
  /**
156
161
  * Click the trash icon on a task row and confirm the delete in the
157
162
  * follow-up dialog.
158
163
  */
159
164
  export declare function deleteTask(scope: Page | Locator, taskName: string): Promise<void>;
165
+ export declare function getLogDetailsDialog(scope: Page | Locator): Locator;
160
166
  /**
161
167
  * Wait for the logs panel to finish loading and assert that the selected
162
168
  * task name is shown in the header.
@@ -69,12 +69,16 @@ export declare const TASKS_LABELS: {
69
69
  readonly startTimeInPast: "Start time must be in the future.";
70
70
  };
71
71
  readonly deleteDialog: {
72
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
73
+ readonly dialogName: "delete-task";
72
74
  readonly title: "Delete Task";
73
75
  readonly delete: "Delete Task";
74
76
  readonly deleting: "Deleting...";
75
77
  readonly cancel: "Cancel";
76
78
  };
77
79
  readonly logDetails: {
80
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
81
+ readonly dialogName: "log-details";
78
82
  readonly title: "Log Details";
79
83
  readonly status: "Status";
80
84
  readonly createdAt: "Created";
@@ -152,11 +156,13 @@ export declare function scheduleTask(scope: Page | Locator, opts: {
152
156
  }): Promise<void>;
153
157
  /** Asserts the in-dialog past-time error is currently shown. */
154
158
  export declare function expectScheduleStartTimeInPastError(scope: Page | Locator): Promise<void>;
159
+ export declare function getDeleteTaskDialog(scope: Page | Locator): Locator;
155
160
  /**
156
161
  * Click the trash icon on a task row and confirm the delete in the
157
162
  * follow-up dialog.
158
163
  */
159
164
  export declare function deleteTask(scope: Page | Locator, taskName: string): Promise<void>;
165
+ export declare function getLogDetailsDialog(scope: Page | Locator): Locator;
160
166
  /**
161
167
  * Wait for the logs panel to finish loading and assert that the selected
162
168
  * task name is shown in the header.
@@ -245783,7 +245783,7 @@ function DeleteTaskDialog({ open, onOpenChange, onConfirm, taskName, isDeleting
245783
245783
  const handleConfirm = () => {
245784
245784
  onConfirm();
245785
245785
  };
245786
- return (jsx(Dialog, { open: open, onOpenChange: isDeleting ? () => { } : onOpenChange, children: jsxs(DialogContent, { children: [jsxs(DialogHeader, { className: "space-y-3", children: [jsx(DialogTitle, { className: "ibl-dialog-title", children: labels.deleteDialog.title }), jsxs(DialogDescription, { className: "text-gray-600 text-sm pt-2", children: [labels.deleteDialog.confirmPrefix, ' ', taskName ? (jsxs(Fragment$1, { children: [labels.deleteDialog.confirmTaskWord, ' ', jsx("span", { className: "font-semibold text-gray-900", children: taskName })] })) : (labels.deleteDialog.confirmFallback), labels.deleteDialog.confirmSuffix] })] }), jsxs(DialogFooter, { className: "gap-2 sm:gap-0 mt-4", children: [jsx(Button$1, { type: "button", variant: "outline", onClick: () => onOpenChange(false), disabled: isDeleting, children: labels.deleteDialog.cancel }), jsx(Button$1, { type: "button", onClick: handleConfirm, className: "ibl-button-primary", disabled: isDeleting, children: isDeleting ? labels.deleteDialog.deleting : labels.deleteDialog.delete })] })] }) }));
245786
+ return (jsx(Dialog, { open: open, onOpenChange: isDeleting ? () => { } : onOpenChange, children: jsxs(DialogContent, { "aria-label": "delete-task", children: [jsxs(DialogHeader, { className: "space-y-3", children: [jsx(DialogTitle, { className: "ibl-dialog-title", children: labels.deleteDialog.title }), jsxs(DialogDescription, { className: "text-gray-600 text-sm pt-2", children: [labels.deleteDialog.confirmPrefix, ' ', taskName ? (jsxs(Fragment$1, { children: [labels.deleteDialog.confirmTaskWord, ' ', jsx("span", { className: "font-semibold text-gray-900", children: taskName })] })) : (labels.deleteDialog.confirmFallback), labels.deleteDialog.confirmSuffix] })] }), jsxs(DialogFooter, { className: "gap-2 sm:gap-0 mt-4", children: [jsx(Button$1, { type: "button", variant: "outline", onClick: () => onOpenChange(false), disabled: isDeleting, children: labels.deleteDialog.cancel }), jsx(Button$1, { type: "button", onClick: handleConfirm, className: "ibl-button-primary", disabled: isDeleting, children: isDeleting ? labels.deleteDialog.deleting : labels.deleteDialog.delete })] })] }) }));
245787
245787
  }
245788
245788
 
245789
245789
  function statusClasses(status) {
@@ -245808,7 +245808,7 @@ function RelativeTime({ value, fallback }) {
245808
245808
  return (jsx("span", { className: "text-gray-900", title: format(date, "MMM d, yyyy 'at' HH:mm:ss"), children: formatDistanceToNow(date, { addSuffix: true }) }));
245809
245809
  }
245810
245810
  function TaskLogDetails({ isOpen, onClose, selectedLog, labels }) {
245811
- return (jsx(Dialog, { open: isOpen, onOpenChange: onClose, children: jsxs(DialogContent, { className: "max-w-2xl max-h-[80vh] overflow-y-auto", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { children: labels.logDetails.title }) }), selectedLog && (jsxs("div", { className: "space-y-5 pt-2", children: [jsxs("dl", { className: "divide-y divide-gray-100 rounded-md border border-gray-200", children: [jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.statusLabel }), jsx("dd", { children: jsx("span", { className: cn('px-2 py-0.5 text-xs rounded font-medium capitalize', statusClasses(selectedLog.status)), children: selectedLog.status }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.createdAt }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.timestamp, fallback: labels.logDetails.notAvailable }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.startTime }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.startTime, fallback: labels.logDetails.notAvailable }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.endTime }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.endTime, fallback: labels.logDetails.notAvailable }) })] })] }), jsxs("div", { children: [jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: labels.logDetails.content }), selectedLog.entry && selectedLog.entry !== labels.logs.noEntry ? (jsx("pre", { className: "overflow-x-auto rounded-md border border-gray-200 bg-gray-50 p-3 text-xs text-gray-800 font-mono whitespace-pre-wrap", children: selectedLog.entry })) : (jsx("p", { className: "rounded-md border border-gray-200 bg-gray-50 p-3 text-sm text-gray-500", children: labels.logDetails.noContent }))] })] }))] }) }));
245811
+ return (jsx(Dialog, { open: isOpen, onOpenChange: onClose, children: jsxs(DialogContent, { "aria-label": "log-details", className: "max-w-2xl max-h-[80vh] overflow-y-auto", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { children: labels.logDetails.title }) }), selectedLog && (jsxs("div", { className: "space-y-5 pt-2", children: [jsxs("dl", { className: "divide-y divide-gray-100 rounded-md border border-gray-200", children: [jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.statusLabel }), jsx("dd", { children: jsx("span", { className: cn('px-2 py-0.5 text-xs rounded font-medium capitalize', statusClasses(selectedLog.status)), children: selectedLog.status }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.createdAt }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.timestamp, fallback: labels.logDetails.notAvailable }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.startTime }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.startTime, fallback: labels.logDetails.notAvailable }) })] }), jsxs("div", { className: "flex items-center justify-between px-4 py-2.5", children: [jsx("dt", { className: "text-sm text-gray-600", children: labels.logDetails.endTime }), jsx("dd", { className: "text-sm", children: jsx(RelativeTime, { value: selectedLog.endTime, fallback: labels.logDetails.notAvailable }) })] })] }), jsxs("div", { children: [jsx("h4", { className: "mb-2 text-sm font-medium text-gray-700", children: labels.logDetails.content }), selectedLog.entry && selectedLog.entry !== labels.logs.noEntry ? (jsx("pre", { className: "overflow-x-auto rounded-md border border-gray-200 bg-gray-50 p-3 text-xs text-gray-800 font-mono whitespace-pre-wrap", children: selectedLog.entry })) : (jsx("p", { className: "rounded-md border border-gray-200 bg-gray-50 p-3 text-sm text-gray-500", children: labels.logDetails.noContent }))] })] }))] }) }));
245812
245812
  }
245813
245813
 
245814
245814
  /**
@@ -69,12 +69,16 @@ export declare const TASKS_LABELS: {
69
69
  readonly startTimeInPast: "Start time must be in the future.";
70
70
  };
71
71
  readonly deleteDialog: {
72
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
73
+ readonly dialogName: "delete-task";
72
74
  readonly title: "Delete Task";
73
75
  readonly delete: "Delete Task";
74
76
  readonly deleting: "Deleting...";
75
77
  readonly cancel: "Cancel";
76
78
  };
77
79
  readonly logDetails: {
80
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
81
+ readonly dialogName: "log-details";
78
82
  readonly title: "Log Details";
79
83
  readonly status: "Status";
80
84
  readonly createdAt: "Created";
@@ -152,11 +156,13 @@ export declare function scheduleTask(scope: Page | Locator, opts: {
152
156
  }): Promise<void>;
153
157
  /** Asserts the in-dialog past-time error is currently shown. */
154
158
  export declare function expectScheduleStartTimeInPastError(scope: Page | Locator): Promise<void>;
159
+ export declare function getDeleteTaskDialog(scope: Page | Locator): Locator;
155
160
  /**
156
161
  * Click the trash icon on a task row and confirm the delete in the
157
162
  * follow-up dialog.
158
163
  */
159
164
  export declare function deleteTask(scope: Page | Locator, taskName: string): Promise<void>;
165
+ export declare function getLogDetailsDialog(scope: Page | Locator): Locator;
160
166
  /**
161
167
  * Wait for the logs panel to finish loading and assert that the selected
162
168
  * task name is shown in the header.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/iblai-js",
3
- "version": "1.20.13",
3
+ "version": "1.20.15",
4
4
  "description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
5
5
  "type": "module",
6
6
  "engines": {
@@ -68,8 +68,8 @@
68
68
  "winston": "3.19.0",
69
69
  "@iblai/data-layer": "1.8.7",
70
70
  "@iblai/mcp": "1.7.5",
71
- "@iblai/web-containers": "1.10.12",
72
- "@iblai/web-utils": "1.11.5"
71
+ "@iblai/web-containers": "1.10.13",
72
+ "@iblai/web-utils": "1.11.6"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@radix-ui/react-dialog": "^1.1.7",