fixing
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
67e7c1be45
commit
283e8b4cdb
|
|
@ -41,6 +41,7 @@ import {
|
|||
import { cn } from "@/lib/utils";
|
||||
import { useTranslations } from "next-intl";
|
||||
import { getCategoriesAll } from "@/service/service/settings/settings";
|
||||
import { listArticleCategories } from "@/service/content";
|
||||
|
||||
const FormSchema = z.object({
|
||||
name: z.string({
|
||||
|
|
@ -62,15 +63,17 @@ export default function CreateTagModal() {
|
|||
|
||||
const form = useForm<z.infer<typeof FormSchema>>({
|
||||
resolver: zodResolver(FormSchema),
|
||||
defaultValues: {
|
||||
name: "",
|
||||
category: "",
|
||||
},
|
||||
});
|
||||
|
||||
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
|
||||
const request = {
|
||||
tagName: data.name,
|
||||
categoryId: Number(data.category),
|
||||
isActive: true,
|
||||
};
|
||||
console.log("reqqq", request);
|
||||
// const response = await postDataFeedback(request);
|
||||
// close();
|
||||
// if (response?.error) {
|
||||
|
|
@ -86,22 +89,29 @@ export default function CreateTagModal() {
|
|||
};
|
||||
|
||||
useEffect(() => {
|
||||
getCategoryParent();
|
||||
const fetchCategories = async () => {
|
||||
try {
|
||||
const response = await listArticleCategories(1, 100);
|
||||
|
||||
if (response?.error) {
|
||||
console.error("Failed to fetch categories:", response.message);
|
||||
return;
|
||||
}
|
||||
|
||||
const categories =
|
||||
response?.data?.data?.map((item: any) => ({
|
||||
value: String(item.id), // wajib string
|
||||
label: item.title, // pakai title dari API
|
||||
})) || [];
|
||||
|
||||
setCategoryList(categories);
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch categories:", error);
|
||||
}
|
||||
};
|
||||
|
||||
fetchCategories();
|
||||
}, []);
|
||||
async function getCategoryParent() {
|
||||
const response = await getCategoriesAll();
|
||||
const res = response?.data?.data.content;
|
||||
console.log("res", res);
|
||||
var levelsArr: { id: number; label: string; value: string }[] = [];
|
||||
res.forEach((levels: { id: number; name: string }) => {
|
||||
levelsArr.push({
|
||||
id: levels.id,
|
||||
label: levels.name,
|
||||
value: String(levels.id),
|
||||
});
|
||||
});
|
||||
setCategoryList(levelsArr);
|
||||
}
|
||||
|
||||
return (
|
||||
<Dialog open={isOpen} onOpenChange={setIsOpen}>
|
||||
|
|
@ -112,13 +122,16 @@ export default function CreateTagModal() {
|
|||
</DialogTrigger>
|
||||
<DialogContent size="md">
|
||||
<DialogHeader>
|
||||
<DialogTitle> {t("add-tags", { defaultValue: "Add Tags" })}</DialogTitle>
|
||||
<DialogTitle>
|
||||
{" "}
|
||||
{t("add-tags", { defaultValue: "Add Tags" })}
|
||||
</DialogTitle>
|
||||
</DialogHeader>
|
||||
<Form {...form}>
|
||||
<form
|
||||
onSubmit={form.handleSubmit(onSubmit)}
|
||||
className="space-y-3 bg-white dark:bg-default-50 rounded-sm"
|
||||
>
|
||||
>
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="category"
|
||||
|
|
@ -133,12 +146,12 @@ export default function CreateTagModal() {
|
|||
role="combobox"
|
||||
className={cn(
|
||||
"w-[400px] justify-between",
|
||||
!field.value && "text-muted-foreground"
|
||||
!field.value && "text-muted-foreground",
|
||||
)}
|
||||
>
|
||||
{field.value
|
||||
? categoryList.find(
|
||||
(categ) => categ.value === field.value
|
||||
(categ) => categ.value === field.value,
|
||||
)?.label
|
||||
: "Pilih level"}
|
||||
<ChevronsUpDown className="ml-2 h-4 w-4 shrink-0 opacity-50" />
|
||||
|
|
@ -165,7 +178,7 @@ export default function CreateTagModal() {
|
|||
"ml-auto",
|
||||
role.value === field.value
|
||||
? "opacity-100"
|
||||
: "opacity-0"
|
||||
: "opacity-0",
|
||||
)}
|
||||
/>
|
||||
</CommandItem>
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ import useTableColumns from "./columns";
|
|||
import { errorAutoClose, successAutoClose } from "@/lib/swal";
|
||||
import { close, loading } from "@/config/swal";
|
||||
import DetailTenant from "@/components/form/tenant/tenant-detail-update-form";
|
||||
import { getInfoProfile } from "@/service/auth";
|
||||
|
||||
function TenantSettingsContentTable() {
|
||||
const [activeTab, setActiveTab] = useLocalStorage(
|
||||
|
|
@ -199,25 +200,42 @@ function TenantSettingsContentTable() {
|
|||
<div className="container mx-auto p-6 space-y-6 border rounded-lg">
|
||||
<div className="flex items-center justify-between ">
|
||||
<div>
|
||||
<h1 className="text-3xl font-bold text-gray-900 dark:text-white">Tenant Settings</h1>
|
||||
<h1 className="text-3xl font-bold text-gray-900 dark:text-white">
|
||||
Tenant Settings
|
||||
</h1>
|
||||
<p className="text-gray-600 mt-2">
|
||||
Manage approval workflows and user levels for your tenant
|
||||
</p>
|
||||
</div>
|
||||
{/* <div className="flex items-center gap-2">
|
||||
<div className="flex items-center gap-2">
|
||||
<SettingsIcon className="h-6 w-6 text-gray-500" />
|
||||
<Button variant="outline" size="sm" onClick={checkWorkflowStatus}>
|
||||
{/* <Button variant="outline" size="sm" onClick={checkWorkflowStatus}>
|
||||
Check Workflow Status
|
||||
</Button>
|
||||
</Button> */}
|
||||
<Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
className="bg-red-50 text-red-600 border-red-200 hover:bg-red-100"
|
||||
onClick={async () => {
|
||||
const res = await getInfoProfile();
|
||||
const workflowInfo = res?.data?.data?.approvalWorkflowInfo;
|
||||
|
||||
if (workflowInfo) {
|
||||
showWorkflowModal(workflowInfo);
|
||||
}
|
||||
}}
|
||||
>
|
||||
Test Modal
|
||||
</Button>
|
||||
{/* <Button
|
||||
variant="outline"
|
||||
size="sm"
|
||||
onClick={() => showWorkflowModal({ hasWorkflowSetup: false })}
|
||||
className="bg-red-50 text-red-600 border-red-200 hover:bg-red-100"
|
||||
>
|
||||
Test Modal
|
||||
</Button>
|
||||
</div> */}
|
||||
</Button> */}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Tabs value={activeTab} onValueChange={setActiveTab} className="w-full">
|
||||
|
|
@ -431,7 +449,9 @@ function TenantSettingsContentTable() {
|
|||
{step.stepOrder}
|
||||
</div>
|
||||
<div>
|
||||
<div className="font-medium text-black">{step.stepName}</div>
|
||||
<div className="font-medium text-black">
|
||||
{step.stepName}
|
||||
</div>
|
||||
<div className="text-sm text-gray-500">
|
||||
{step.conditionType &&
|
||||
`Condition: ${step.conditionType}`}
|
||||
|
|
@ -905,7 +925,7 @@ function TenantSettingsContentTable() {
|
|||
<UserLevelsForm
|
||||
mode="single"
|
||||
initialData={{
|
||||
// id: editingUserLevel.id,
|
||||
id: editingUserLevel.id,
|
||||
name: editingUserLevel.name,
|
||||
aliasName: editingUserLevel.aliasName,
|
||||
levelNumber: editingUserLevel.levelNumber,
|
||||
|
|
|
|||
|
|
@ -71,10 +71,18 @@ export const LoginForm: React.FC<LoginFormProps> = ({
|
|||
}
|
||||
};
|
||||
|
||||
// const onSubmit = async (data: LoginFormData) => {
|
||||
// try {
|
||||
// // onSuccess?.(data);
|
||||
// await handleLogin(data);
|
||||
// } catch (error: any) {
|
||||
// onError?.(error.message || "Login failed");
|
||||
// }
|
||||
// };
|
||||
|
||||
const onSubmit = async (data: LoginFormData) => {
|
||||
try {
|
||||
// onSuccess?.(data);
|
||||
await handleLogin(data);
|
||||
onSuccess?.(data); // hanya kirim data ke AuthPage
|
||||
} catch (error: any) {
|
||||
onError?.(error.message || "Login failed");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,8 @@ import { getMenuActionsByMenuId, MenuAction } from "@/service/menu-actions";
|
|||
import Swal from "sweetalert2";
|
||||
|
||||
interface UserLevelsFormProps {
|
||||
initialData?: UserLevelsCreateRequest;
|
||||
// initialData?: UserLevelsCreateRequest;
|
||||
initialData?: UserLevelsCreateRequest & { id?: number };
|
||||
onSave?: (data: UserLevelsCreateRequest) => void;
|
||||
onCancel?: () => void;
|
||||
isLoading?: boolean;
|
||||
|
|
@ -458,8 +459,14 @@ export const UserLevelsForm: React.FC<UserLevelsFormProps> = ({
|
|||
|
||||
try {
|
||||
const isBulkMode = activeTab === "bulk";
|
||||
const isEditing = Boolean((initialData as any)?.id);
|
||||
const userLevelId = (initialData as any)?.id;
|
||||
// const isEditing = Boolean((initialData as any)?.id);
|
||||
// const userLevelId = (initialData as any)?.id;
|
||||
|
||||
const isEditing = typeof initialData?.id === "number";
|
||||
const userLevelId = initialData?.id;
|
||||
|
||||
console.log("IS EDITING:", isEditing);
|
||||
console.log("USER LEVEL ID:", userLevelId);
|
||||
|
||||
/* ===============================
|
||||
* BULK MODE
|
||||
|
|
@ -520,8 +527,15 @@ export const UserLevelsForm: React.FC<UserLevelsFormProps> = ({
|
|||
}
|
||||
|
||||
let response;
|
||||
if (isEditing) {
|
||||
response = await updateUserLevel(userLevelId, formData);
|
||||
// if (isEditing) {
|
||||
// response = await updateUserLevel(userLevelId, formData);
|
||||
// } else {
|
||||
// response = await createUserLevel(formData);
|
||||
// }
|
||||
|
||||
if (isEditing && userLevelId !== undefined) {
|
||||
const { id, ...payload } = formData as any;
|
||||
response = await updateUserLevel(userLevelId, payload);
|
||||
} else {
|
||||
response = await createUserLevel(formData);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,10 +261,8 @@ export default function FormImage() {
|
|||
pointOfView: "None",
|
||||
clientId: "",
|
||||
};
|
||||
console.log("Sending request for title with data:", titleData);
|
||||
const titleRes = await getGenerateTitle(titleData);
|
||||
setTitle(titleRes?.data?.data || "");
|
||||
console.log("Generated title:", titleRes?.data?.data);
|
||||
|
||||
const keywordsData = {
|
||||
keyword: selectedMainKeyword,
|
||||
|
|
@ -275,12 +273,9 @@ export default function FormImage() {
|
|||
pointOfView: "None",
|
||||
clientId: "",
|
||||
};
|
||||
console.log("Sending request for keywords with data:", keywordsData);
|
||||
const keywordsRes = await getGenerateKeywords(keywordsData);
|
||||
setSelectedSEO(keywordsRes?.data?.data || []);
|
||||
console.log("Generated keywords:", keywordsRes?.data?.data);
|
||||
} catch (error) {
|
||||
console.error("Error during generation process:", error);
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
}
|
||||
|
|
@ -310,9 +305,7 @@ export default function FormImage() {
|
|||
console.log("Sending request for title with data:", titleData);
|
||||
const titleRes = await getGenerateTitle(titleData);
|
||||
setTitle(titleRes?.data?.data || "");
|
||||
console.log("Generated title:", titleRes?.data?.data);
|
||||
} catch (error) {
|
||||
console.error("Error generating title:", error);
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
}
|
||||
|
|
@ -322,7 +315,6 @@ export default function FormImage() {
|
|||
title: "WARNING",
|
||||
text: "Please provide a valid title.",
|
||||
});
|
||||
console.error("Please provide a valid main keyword.");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -339,10 +331,8 @@ export default function FormImage() {
|
|||
pointOfView: "None",
|
||||
clientId: "",
|
||||
};
|
||||
console.log("Sending request for keywords with data:", keywordsData);
|
||||
const keywordsRes = await getGenerateKeywords(keywordsData);
|
||||
setSelectedSEO(keywordsRes?.data?.data || []);
|
||||
console.log("Generated keywords:", keywordsRes?.data?.data);
|
||||
} catch (error) {
|
||||
console.error("Error generating keywords:", error);
|
||||
} finally {
|
||||
|
|
@ -378,7 +368,6 @@ export default function FormImage() {
|
|||
};
|
||||
|
||||
const res = await generateDataArticle(request);
|
||||
console.log("AI RESPONSE FULL:", res);
|
||||
close();
|
||||
|
||||
if (res?.error) {
|
||||
|
|
|
|||
|
|
@ -113,12 +113,12 @@ export function WorkflowModalProvider({ children }: WorkflowModalProviderProps)
|
|||
return (
|
||||
<WorkflowModalContext.Provider value={{ showWorkflowModal, hideWorkflowModal, refreshWorkflowStatus }}>
|
||||
{children}
|
||||
{/* <WorkflowSetupModal
|
||||
<WorkflowSetupModal
|
||||
isOpen={isModalOpen}
|
||||
onClose={hideWorkflowModal}
|
||||
workflowInfo={workflowInfo}
|
||||
onRefresh={refreshWorkflowStatus}
|
||||
/> */}
|
||||
/>
|
||||
</WorkflowModalContext.Provider>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
"use client";
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog";
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
} from "@/components/ui/dialog";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Card, CardContent } from "@/components/ui/card";
|
||||
import { IconX, SettingsIcon } from "@/components/icons";
|
||||
|
|
@ -20,7 +25,12 @@ interface WorkflowSetupModalProps {
|
|||
onRefresh?: () => Promise<void>;
|
||||
}
|
||||
|
||||
export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRefresh }: WorkflowSetupModalProps) {
|
||||
export default function WorkflowSetupModal({
|
||||
isOpen,
|
||||
onClose,
|
||||
workflowInfo,
|
||||
onRefresh,
|
||||
}: WorkflowSetupModalProps) {
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
const [isVisible, setIsVisible] = useState(false);
|
||||
|
|
@ -33,7 +43,11 @@ export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRe
|
|||
|
||||
const handleClose = () => {
|
||||
// Allow closing if workflow is setup OR if user is on tenant settings page
|
||||
if (workflowInfo?.hasWorkflowSetup || pathname?.includes('/admin/settings/tenant') || pathname?.includes('/tenant')) {
|
||||
if (
|
||||
workflowInfo?.hasWorkflowSetup ||
|
||||
pathname?.includes("/admin/settings/tenant") ||
|
||||
pathname?.includes("/tenant")
|
||||
) {
|
||||
setIsVisible(false);
|
||||
setTimeout(() => {
|
||||
onClose();
|
||||
|
|
@ -50,21 +64,35 @@ export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRe
|
|||
if (!isOpen) return null;
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
open={isVisible}
|
||||
onOpenChange={(workflowInfo?.hasWorkflowSetup || pathname?.includes('/admin/settings/tenant') || pathname?.includes('/tenant')) ? handleClose : undefined}
|
||||
<Dialog
|
||||
open={isVisible}
|
||||
onOpenChange={
|
||||
workflowInfo?.hasWorkflowSetup ||
|
||||
pathname?.includes("/admin/settings/tenant") ||
|
||||
pathname?.includes("/tenant")
|
||||
? handleClose
|
||||
: undefined
|
||||
}
|
||||
>
|
||||
<DialogContent
|
||||
<DialogContent
|
||||
className="max-w-md"
|
||||
onPointerDownOutside={(e) => {
|
||||
// Prevent closing by clicking outside unless workflow is setup or on tenant settings page
|
||||
if (!workflowInfo?.hasWorkflowSetup && !pathname?.includes('/admin/settings/tenant') && !pathname?.includes('/tenant')) {
|
||||
if (
|
||||
!workflowInfo?.hasWorkflowSetup &&
|
||||
!pathname?.includes("/admin/settings/tenant") &&
|
||||
!pathname?.includes("/tenant")
|
||||
) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}}
|
||||
onEscapeKeyDown={(e) => {
|
||||
// Prevent closing by pressing ESC unless workflow is setup or on tenant settings page
|
||||
if (!workflowInfo?.hasWorkflowSetup && !pathname?.includes('/admin/settings/tenant') && !pathname?.includes('/tenant')) {
|
||||
if (
|
||||
!workflowInfo?.hasWorkflowSetup &&
|
||||
!pathname?.includes("/admin/settings/tenant") &&
|
||||
!pathname?.includes("/tenant")
|
||||
) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}}
|
||||
|
|
@ -85,46 +113,139 @@ export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRe
|
|||
</DialogHeader>
|
||||
|
||||
<div className="space-y-4">
|
||||
{!workflowInfo?.hasWorkflowSetup ? (
|
||||
// No Workflow Setup
|
||||
<Card className="border-orange-200 bg-orange-50">
|
||||
<CardContent className="p-4">
|
||||
<div className="flex items-start gap-3">
|
||||
<div className="h-6 w-6 rounded-full bg-orange-600 flex items-center justify-center mt-1">
|
||||
<span className="text-white text-sm">!</span>
|
||||
{
|
||||
!workflowInfo?.hasWorkflowSetup ? (
|
||||
// No Workflow Setup
|
||||
<Card className="border-orange-200 bg-orange-50">
|
||||
<CardContent className="p-4">
|
||||
<div className="flex items-start gap-3">
|
||||
<div className="h-6 w-6 rounded-full bg-orange-600 flex items-center justify-center mt-1">
|
||||
<span className="text-white text-sm">!</span>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="font-medium text-orange-900 mb-2">
|
||||
Workflow Belum Dikonfigurasi
|
||||
</h3>
|
||||
<p className="text-sm text-orange-700 mb-4">
|
||||
Anda belum melakukan setup workflow, silahkan setup
|
||||
terlebih dahulu.
|
||||
</p>
|
||||
<div className="flex gap-2">
|
||||
<Button
|
||||
onClick={handleSetupWorkflow}
|
||||
className="bg-orange-600 hover:bg-orange-700 text-white"
|
||||
size="sm"
|
||||
>
|
||||
<SettingsIcon className="h-4 w-4 mr-2" />
|
||||
Setup Workflow
|
||||
</Button>
|
||||
{(pathname?.includes("/admin/settings/tenant") ||
|
||||
pathname?.includes("/tenant")) && (
|
||||
<Button
|
||||
variant="outline"
|
||||
onClick={handleClose}
|
||||
size="sm"
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="font-medium text-orange-900 mb-2">
|
||||
Workflow Belum Dikonfigurasi
|
||||
</h3>
|
||||
<p className="text-sm text-orange-700 mb-4">
|
||||
Anda belum melakukan setup workflow, silahkan setup terlebih dahulu.
|
||||
</p>
|
||||
<div className="flex gap-2">
|
||||
<Button
|
||||
</CardContent>
|
||||
</Card>
|
||||
) : (
|
||||
<Card className="border-green-200 bg-green-50">
|
||||
<CardContent className="p-5 space-y-4">
|
||||
<div className="flex items-start gap-3">
|
||||
<div className="h-6 w-6 rounded-full bg-green-600 flex items-center justify-center mt-1">
|
||||
<span className="text-white text-sm">✓</span>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="font-semibold text-green-900 mb-3">
|
||||
Workflow Sudah Dikonfigurasi
|
||||
</h3>
|
||||
|
||||
<div className="space-y-2 text-sm">
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-600">
|
||||
Default Workflow
|
||||
</span>
|
||||
<span className="font-medium">
|
||||
{workflowInfo.defaultWorkflowName}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-600">Workflow ID</span>
|
||||
<span className="font-mono">
|
||||
#{workflowInfo.defaultWorkflowId}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-600">
|
||||
Requires Approval
|
||||
</span>
|
||||
<span
|
||||
className={
|
||||
workflowInfo.requiresApproval
|
||||
? "text-green-600 font-medium"
|
||||
: "text-gray-500"
|
||||
}
|
||||
>
|
||||
{workflowInfo.requiresApproval ? "Yes" : "No"}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-600">Auto Publish</span>
|
||||
<span
|
||||
className={
|
||||
workflowInfo.autoPublishArticles
|
||||
? "text-green-600 font-medium"
|
||||
: "text-gray-500"
|
||||
}
|
||||
>
|
||||
{workflowInfo.autoPublishArticles ? "Yes" : "No"}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-between">
|
||||
<span className="text-gray-600">Approval Status</span>
|
||||
<span
|
||||
className={
|
||||
workflowInfo.isApprovalActive
|
||||
? "text-green-600 font-medium"
|
||||
: "text-red-600 font-medium"
|
||||
}
|
||||
>
|
||||
{workflowInfo.isApprovalActive
|
||||
? "Active"
|
||||
: "Inactive"}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* <div className="flex gap-2 mt-4">
|
||||
<Button
|
||||
onClick={handleSetupWorkflow}
|
||||
className="bg-orange-600 hover:bg-orange-700 text-white"
|
||||
variant="outline"
|
||||
size="sm"
|
||||
>
|
||||
<SettingsIcon className="h-4 w-4 mr-2" />
|
||||
Setup Workflow
|
||||
Manage Workflow
|
||||
</Button>
|
||||
{(pathname?.includes('/admin/settings/tenant') || pathname?.includes('/tenant')) && (
|
||||
<Button
|
||||
variant="outline"
|
||||
onClick={handleClose}
|
||||
size="sm"
|
||||
>
|
||||
Cancel
|
||||
</Button>
|
||||
)}
|
||||
|
||||
<Button variant="outline" onClick={handleClose} size="sm">
|
||||
Close
|
||||
</Button>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
) : ''
|
||||
// Workflow Setup Complete
|
||||
</CardContent>
|
||||
</Card>
|
||||
// Workflow Setup Complete
|
||||
// <Card className="border-green-200 bg-green-50">
|
||||
// <CardContent className="p-4">
|
||||
// <div className="flex items-start gap-3">
|
||||
|
|
@ -160,7 +281,7 @@ export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRe
|
|||
// </div>
|
||||
// </div>
|
||||
// <div className="flex gap-2 mt-4">
|
||||
// <Button
|
||||
// <Button
|
||||
// onClick={handleSetupWorkflow}
|
||||
// variant="outline"
|
||||
// size="sm"
|
||||
|
|
@ -173,6 +294,8 @@ export default function WorkflowSetupModal({ isOpen, onClose, workflowInfo, onRe
|
|||
// </div>
|
||||
// </CardContent>
|
||||
// </Card>
|
||||
)
|
||||
|
||||
}
|
||||
</div>
|
||||
</DialogContent>
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
declare const Collection_base: {
|
||||
new (): import("@ckeditor/ckeditor5-utils/src/emittermixin.js").Emitter;
|
||||
prototype: import("@ckeditor/ckeditor5-utils/src/emittermixin.js").Emitter;
|
||||
new (): import("./emittermixin.js").Emitter;
|
||||
prototype: import("./emittermixin.js").Emitter;
|
||||
};
|
||||
/**
|
||||
* Collections are ordered sets of objects. Items in the collection can be retrieved by their indexes
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
declare function diff<T>(a: ArrayLike<T>, b: ArrayLike<T>, cmp?: (a: T, b: T) => boolean): Array<DiffResult>;
|
||||
declare namespace diff {
|
||||
var fastDiff: typeof import("@ckeditor/ckeditor5-utils/src/fastdiff.js").default;
|
||||
var fastDiff: typeof import("./fastdiff.js").default;
|
||||
}
|
||||
export default diff;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import type { DiffResult } from '@ckeditor/ckeditor5-utils/src/diff.js';
|
||||
import type { DiffResult } from './diff.js';
|
||||
/**
|
||||
* @module utils/difftochanges
|
||||
*/
|
||||
|
|
|
|||
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/dom/emittermixin.d.ts
generated
vendored
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/dom/emittermixin.d.ts
generated
vendored
|
|
@ -5,9 +5,9 @@
|
|||
/**
|
||||
* @module utils/dom/emittermixin
|
||||
*/
|
||||
import { type Emitter, type CallbackOptions, type BaseEvent, type GetCallback } from '@ckeditor/ckeditor5-utils/src/emittermixin.js';
|
||||
import type EventInfo from '@ckeditor/ckeditor5-utils/src/eventinfo.js';
|
||||
import type { Constructor, Mixed } from '@ckeditor/ckeditor5-utils/src/mix.js';
|
||||
import { type Emitter, type CallbackOptions, type BaseEvent, type GetCallback } from '../emittermixin.js';
|
||||
import type EventInfo from '../eventinfo.js';
|
||||
import type { Constructor, Mixed } from '../mix.js';
|
||||
/**
|
||||
* Mixin that injects the DOM events API into its host. It provides the API
|
||||
* compatible with {@link module:utils/emittermixin~Emitter}.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import Rect, { type RectSource } from '@ckeditor/ckeditor5-utils/src/dom/rect.js';
|
||||
import Rect, { type RectSource } from './rect.js';
|
||||
/**
|
||||
* Calculates the `position: absolute` coordinates of a given element so it can be positioned with respect to the
|
||||
* target in the visually most efficient way, taking various restrictions like viewport or limiter geometry
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
/**
|
||||
* @module utils/emittermixin
|
||||
*/
|
||||
import EventInfo from '@ckeditor/ckeditor5-utils/src/eventinfo.js';
|
||||
import { type PriorityString } from '@ckeditor/ckeditor5-utils/src/priorities.js';
|
||||
import type { Constructor, Mixed } from '@ckeditor/ckeditor5-utils/src/mix.js';
|
||||
import '@ckeditor/ckeditor5-utils/src/version.js';
|
||||
import EventInfo from './eventinfo.js';
|
||||
import { type PriorityString } from './priorities.js';
|
||||
import type { Constructor, Mixed } from './mix.js';
|
||||
import './version.js';
|
||||
/**
|
||||
* Mixin that injects the {@link ~Emitter events API} into its host.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import type { DiffResult } from '@ckeditor/ckeditor5-utils/src/diff.js';
|
||||
import type { Change } from '@ckeditor/ckeditor5-utils/src/difftochanges.js';
|
||||
import type { DiffResult } from './diff.js';
|
||||
import type { Change } from './difftochanges.js';
|
||||
/**
|
||||
* @module utils/fastdiff
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
declare const FocusTracker_base: import("@ckeditor/ckeditor5-utils/src/mix.js").Mixed<{
|
||||
new (): import("@ckeditor/ckeditor5-utils/src/observablemixin.js").Observable;
|
||||
prototype: import("@ckeditor/ckeditor5-utils/src/observablemixin.js").Observable;
|
||||
}, import("@ckeditor/ckeditor5-utils/src/dom/emittermixin.js").DomEmitter>;
|
||||
declare const FocusTracker_base: import("./mix.js").Mixed<{
|
||||
new (): import("./observablemixin.js").Observable;
|
||||
prototype: import("./observablemixin.js").Observable;
|
||||
}, import("./dom/emittermixin.js").DomEmitter>;
|
||||
/**
|
||||
* Allows observing a group of `Element`s whether at least one of them is focused.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,60 +5,60 @@
|
|||
/**
|
||||
* @module utils
|
||||
*/
|
||||
export { default as env } from '@ckeditor/ckeditor5-utils/src/env.js';
|
||||
export { default as diff, type DiffResult } from '@ckeditor/ckeditor5-utils/src/diff.js';
|
||||
export { default as fastDiff } from '@ckeditor/ckeditor5-utils/src/fastdiff.js';
|
||||
export { default as diffToChanges } from '@ckeditor/ckeditor5-utils/src/difftochanges.js';
|
||||
export { default as mix } from '@ckeditor/ckeditor5-utils/src/mix.js';
|
||||
export type { Constructor, Mixed } from '@ckeditor/ckeditor5-utils/src/mix.js';
|
||||
export { default as EmitterMixin, type Emitter, type BaseEvent, type CallbackOptions, type EmitterMixinDelegateChain, type GetCallback, type GetCallbackOptions, type GetEventInfo, type GetNameOrEventInfo } from '@ckeditor/ckeditor5-utils/src/emittermixin.js';
|
||||
export { default as EventInfo } from '@ckeditor/ckeditor5-utils/src/eventinfo.js';
|
||||
export { default as ObservableMixin, type Observable, type DecoratedMethodEvent, type ObservableChangeEvent, type ObservableSetEvent } from '@ckeditor/ckeditor5-utils/src/observablemixin.js';
|
||||
export { default as CKEditorError, logError, logWarning } from '@ckeditor/ckeditor5-utils/src/ckeditorerror.js';
|
||||
export { default as ElementReplacer } from '@ckeditor/ckeditor5-utils/src/elementreplacer.js';
|
||||
export { default as abortableDebounce, type AbortableFunc } from '@ckeditor/ckeditor5-utils/src/abortabledebounce.js';
|
||||
export { default as count } from '@ckeditor/ckeditor5-utils/src/count.js';
|
||||
export { default as compareArrays } from '@ckeditor/ckeditor5-utils/src/comparearrays.js';
|
||||
export { default as createElement } from '@ckeditor/ckeditor5-utils/src/dom/createelement.js';
|
||||
export { default as Config } from '@ckeditor/ckeditor5-utils/src/config.js';
|
||||
export { default as isIterable } from '@ckeditor/ckeditor5-utils/src/isiterable.js';
|
||||
export { default as DomEmitterMixin, type DomEmitter } from '@ckeditor/ckeditor5-utils/src/dom/emittermixin.js';
|
||||
export { default as findClosestScrollableAncestor } from '@ckeditor/ckeditor5-utils/src/dom/findclosestscrollableancestor.js';
|
||||
export { default as global } from '@ckeditor/ckeditor5-utils/src/dom/global.js';
|
||||
export { default as getAncestors } from '@ckeditor/ckeditor5-utils/src/dom/getancestors.js';
|
||||
export { default as getDataFromElement } from '@ckeditor/ckeditor5-utils/src/dom/getdatafromelement.js';
|
||||
export { default as getBorderWidths } from '@ckeditor/ckeditor5-utils/src/dom/getborderwidths.js';
|
||||
export { default as isText } from '@ckeditor/ckeditor5-utils/src/dom/istext.js';
|
||||
export { default as Rect, type RectSource } from '@ckeditor/ckeditor5-utils/src/dom/rect.js';
|
||||
export { default as ResizeObserver } from '@ckeditor/ckeditor5-utils/src/dom/resizeobserver.js';
|
||||
export { default as setDataInElement } from '@ckeditor/ckeditor5-utils/src/dom/setdatainelement.js';
|
||||
export { default as toUnit } from '@ckeditor/ckeditor5-utils/src/dom/tounit.js';
|
||||
export { default as indexOf } from '@ckeditor/ckeditor5-utils/src/dom/indexof.js';
|
||||
export { default as insertAt } from '@ckeditor/ckeditor5-utils/src/dom/insertat.js';
|
||||
export { default as isComment } from '@ckeditor/ckeditor5-utils/src/dom/iscomment.js';
|
||||
export { default as isNode } from '@ckeditor/ckeditor5-utils/src/dom/isnode.js';
|
||||
export { default as isRange } from '@ckeditor/ckeditor5-utils/src/dom/isrange.js';
|
||||
export { default as isValidAttributeName } from '@ckeditor/ckeditor5-utils/src/dom/isvalidattributename.js';
|
||||
export { default as isVisible } from '@ckeditor/ckeditor5-utils/src/dom/isvisible.js';
|
||||
export { getOptimalPosition, type Options as PositionOptions, type PositioningFunction, type DomPoint } from '@ckeditor/ckeditor5-utils/src/dom/position.js';
|
||||
export { default as remove } from '@ckeditor/ckeditor5-utils/src/dom/remove.js';
|
||||
export * from '@ckeditor/ckeditor5-utils/src/dom/scroll.js';
|
||||
export * from '@ckeditor/ckeditor5-utils/src/keyboard.js';
|
||||
export * from '@ckeditor/ckeditor5-utils/src/language.js';
|
||||
export { default as Locale, type LocaleTranslate, type Translations } from '@ckeditor/ckeditor5-utils/src/locale.js';
|
||||
export { default as Collection, type CollectionAddEvent, type CollectionChangeEvent, type CollectionRemoveEvent } from '@ckeditor/ckeditor5-utils/src/collection.js';
|
||||
export { default as first } from '@ckeditor/ckeditor5-utils/src/first.js';
|
||||
export { default as FocusTracker } from '@ckeditor/ckeditor5-utils/src/focustracker.js';
|
||||
export { default as KeystrokeHandler } from '@ckeditor/ckeditor5-utils/src/keystrokehandler.js';
|
||||
export { default as toArray, type ArrayOrItem, type ReadonlyArrayOrItem } from '@ckeditor/ckeditor5-utils/src/toarray.js';
|
||||
export { default as toMap } from '@ckeditor/ckeditor5-utils/src/tomap.js';
|
||||
export { default as priorities, type PriorityString } from '@ckeditor/ckeditor5-utils/src/priorities.js';
|
||||
export { default as retry, exponentialDelay } from '@ckeditor/ckeditor5-utils/src/retry.js';
|
||||
export { default as insertToPriorityArray } from '@ckeditor/ckeditor5-utils/src/inserttopriorityarray.js';
|
||||
export { default as spliceArray } from '@ckeditor/ckeditor5-utils/src/splicearray.js';
|
||||
export { default as uid } from '@ckeditor/ckeditor5-utils/src/uid.js';
|
||||
export { default as delay, type DelayedFunc } from '@ckeditor/ckeditor5-utils/src/delay.js';
|
||||
export { default as verifyLicense } from '@ckeditor/ckeditor5-utils/src/verifylicense.js';
|
||||
export { default as wait } from '@ckeditor/ckeditor5-utils/src/wait.js';
|
||||
export * from '@ckeditor/ckeditor5-utils/src/unicode.js';
|
||||
export { default as version, releaseDate } from '@ckeditor/ckeditor5-utils/src/version.js';
|
||||
export { default as env } from './env.js';
|
||||
export { default as diff, type DiffResult } from './diff.js';
|
||||
export { default as fastDiff } from './fastdiff.js';
|
||||
export { default as diffToChanges } from './difftochanges.js';
|
||||
export { default as mix } from './mix.js';
|
||||
export type { Constructor, Mixed } from './mix.js';
|
||||
export { default as EmitterMixin, type Emitter, type BaseEvent, type CallbackOptions, type EmitterMixinDelegateChain, type GetCallback, type GetCallbackOptions, type GetEventInfo, type GetNameOrEventInfo } from './emittermixin.js';
|
||||
export { default as EventInfo } from './eventinfo.js';
|
||||
export { default as ObservableMixin, type Observable, type DecoratedMethodEvent, type ObservableChangeEvent, type ObservableSetEvent } from './observablemixin.js';
|
||||
export { default as CKEditorError, logError, logWarning } from './ckeditorerror.js';
|
||||
export { default as ElementReplacer } from './elementreplacer.js';
|
||||
export { default as abortableDebounce, type AbortableFunc } from './abortabledebounce.js';
|
||||
export { default as count } from './count.js';
|
||||
export { default as compareArrays } from './comparearrays.js';
|
||||
export { default as createElement } from './dom/createelement.js';
|
||||
export { default as Config } from './config.js';
|
||||
export { default as isIterable } from './isiterable.js';
|
||||
export { default as DomEmitterMixin, type DomEmitter } from './dom/emittermixin.js';
|
||||
export { default as findClosestScrollableAncestor } from './dom/findclosestscrollableancestor.js';
|
||||
export { default as global } from './dom/global.js';
|
||||
export { default as getAncestors } from './dom/getancestors.js';
|
||||
export { default as getDataFromElement } from './dom/getdatafromelement.js';
|
||||
export { default as getBorderWidths } from './dom/getborderwidths.js';
|
||||
export { default as isText } from './dom/istext.js';
|
||||
export { default as Rect, type RectSource } from './dom/rect.js';
|
||||
export { default as ResizeObserver } from './dom/resizeobserver.js';
|
||||
export { default as setDataInElement } from './dom/setdatainelement.js';
|
||||
export { default as toUnit } from './dom/tounit.js';
|
||||
export { default as indexOf } from './dom/indexof.js';
|
||||
export { default as insertAt } from './dom/insertat.js';
|
||||
export { default as isComment } from './dom/iscomment.js';
|
||||
export { default as isNode } from './dom/isnode.js';
|
||||
export { default as isRange } from './dom/isrange.js';
|
||||
export { default as isValidAttributeName } from './dom/isvalidattributename.js';
|
||||
export { default as isVisible } from './dom/isvisible.js';
|
||||
export { getOptimalPosition, type Options as PositionOptions, type PositioningFunction, type DomPoint } from './dom/position.js';
|
||||
export { default as remove } from './dom/remove.js';
|
||||
export * from './dom/scroll.js';
|
||||
export * from './keyboard.js';
|
||||
export * from './language.js';
|
||||
export { default as Locale, type LocaleTranslate, type Translations } from './locale.js';
|
||||
export { default as Collection, type CollectionAddEvent, type CollectionChangeEvent, type CollectionRemoveEvent } from './collection.js';
|
||||
export { default as first } from './first.js';
|
||||
export { default as FocusTracker } from './focustracker.js';
|
||||
export { default as KeystrokeHandler } from './keystrokehandler.js';
|
||||
export { default as toArray, type ArrayOrItem, type ReadonlyArrayOrItem } from './toarray.js';
|
||||
export { default as toMap } from './tomap.js';
|
||||
export { default as priorities, type PriorityString } from './priorities.js';
|
||||
export { default as retry, exponentialDelay } from './retry.js';
|
||||
export { default as insertToPriorityArray } from './inserttopriorityarray.js';
|
||||
export { default as spliceArray } from './splicearray.js';
|
||||
export { default as uid } from './uid.js';
|
||||
export { default as delay, type DelayedFunc } from './delay.js';
|
||||
export { default as verifyLicense } from './verifylicense.js';
|
||||
export { default as wait } from './wait.js';
|
||||
export * from './unicode.js';
|
||||
export { default as version, releaseDate } from './version.js';
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import { type PriorityString } from '@ckeditor/ckeditor5-utils/src/priorities.js';
|
||||
import { type PriorityString } from './priorities.js';
|
||||
/**
|
||||
* @module utils/inserttopriorityarray
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
*
|
||||
* @module utils/keyboard
|
||||
*/
|
||||
import type { LanguageDirection } from '@ckeditor/ckeditor5-utils/src/language.js';
|
||||
import type { LanguageDirection } from './language.js';
|
||||
/**
|
||||
* An object with `keyName => keyCode` pairs for a set of known keys.
|
||||
*
|
||||
|
|
|
|||
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/keystrokehandler.d.ts
generated
vendored
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/keystrokehandler.d.ts
generated
vendored
|
|
@ -2,9 +2,9 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import type { Emitter } from '@ckeditor/ckeditor5-utils/src/emittermixin.js';
|
||||
import { type KeystrokeInfo } from '@ckeditor/ckeditor5-utils/src/keyboard.js';
|
||||
import type { PriorityString } from '@ckeditor/ckeditor5-utils/src/priorities.js';
|
||||
import type { Emitter } from './emittermixin.js';
|
||||
import { type KeystrokeInfo } from './keyboard.js';
|
||||
import type { PriorityString } from './priorities.js';
|
||||
/**
|
||||
* Keystroke handler allows registering callbacks for given keystrokes.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
/**
|
||||
* @module utils/locale
|
||||
*/
|
||||
import { type ArrayOrItem } from '@ckeditor/ckeditor5-utils/src/toarray.js';
|
||||
import { type Message } from '@ckeditor/ckeditor5-utils/src/translation-service.js';
|
||||
import { type LanguageDirection } from '@ckeditor/ckeditor5-utils/src/language.js';
|
||||
import { type ArrayOrItem } from './toarray.js';
|
||||
import { type Message } from './translation-service.js';
|
||||
import { type LanguageDirection } from './language.js';
|
||||
/**
|
||||
* Represents the localization services.
|
||||
*/
|
||||
|
|
|
|||
4
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/observablemixin.d.ts
generated
vendored
4
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/observablemixin.d.ts
generated
vendored
|
|
@ -5,8 +5,8 @@
|
|||
/**
|
||||
* @module utils/observablemixin
|
||||
*/
|
||||
import { type Emitter } from '@ckeditor/ckeditor5-utils/src/emittermixin.js';
|
||||
import type { Constructor, Mixed } from '@ckeditor/ckeditor5-utils/src/mix.js';
|
||||
import { type Emitter } from './emittermixin.js';
|
||||
import type { Constructor, Mixed } from './mix.js';
|
||||
/**
|
||||
* A mixin that injects the "observable properties" and data binding functionality described in the
|
||||
* {@link ~Observable} interface.
|
||||
|
|
|
|||
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/translation-service.d.ts
generated
vendored
6
vendor/ckeditor5/node_modules/@ckeditor/ckeditor5-utils/src/translation-service.d.ts
generated
vendored
|
|
@ -7,9 +7,9 @@
|
|||
*/
|
||||
import type { Translations } from './locale.js';
|
||||
import { type ArrayOrItem } from './toarray.js';
|
||||
// declare global {
|
||||
// var CKEDITOR_TRANSLATIONS: Translations;
|
||||
// }
|
||||
declare global {
|
||||
var CKEDITOR_TRANSLATIONS: Translations;
|
||||
}
|
||||
/**
|
||||
* Adds translations to existing ones or overrides the existing translations. These translations will later
|
||||
* be available for the {@link module:utils/locale~Locale#t `t()`} function.
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
/**
|
||||
* @module widget/widgetresize
|
||||
*/
|
||||
import Resizer from '@ckeditor/ckeditor5-widget/src/widgetresize/resizer.js';
|
||||
import Resizer from './widgetresize/resizer.js';
|
||||
import { Plugin, type Editor } from '@ckeditor/ckeditor5-core';
|
||||
import { type Element, type ViewContainerElement } from '@ckeditor/ckeditor5-engine';
|
||||
import '@ckeditor/ckeditor5-widget/theme/widgetresize.css';
|
||||
import '../theme/widgetresize.css';
|
||||
/**
|
||||
* The widget resize feature plugin.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import { Rect, type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
|
||||
import ResizeState from '@ckeditor/ckeditor5-widget/src/widgetresize/resizerstate.js';
|
||||
import type { ResizerOptions } from '@ckeditor/ckeditor5-widget/src/widgetresize.js';
|
||||
import ResizeState from './resizerstate.js';
|
||||
import type { ResizerOptions } from '../widgetresize.js';
|
||||
declare const Resizer_base: {
|
||||
new (): import("@ckeditor/ckeditor5-utils").Observable;
|
||||
prototype: import("@ckeditor/ckeditor5-utils").Observable;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import type { ResizerOptions } from '@ckeditor/ckeditor5-widget/src/widgetresize.js';
|
||||
import type { ResizerOptions } from '../widgetresize.js';
|
||||
declare const ResizeState_base: {
|
||||
new (): import("@ckeditor/ckeditor5-utils").Observable;
|
||||
prototype: import("@ckeditor/ckeditor5-utils").Observable;
|
||||
|
|
|
|||
Loading…
Reference in New Issue