export type WidgetFont1 = {fontFamily?: string | undefined, fontSrc?: string | undefined, fontWeights?: Array | undefined, id?: string | undefined, importSrc?: string | undefined}; export type Screen = {id?: string | undefined, name?: string | undefined, templateName?: string | undefined}; export type Language = {IID?: string | undefined, code?: string | undefined, name?: string | undefined}; export type Translation = {defaultLanguageId?: string | undefined, enabled?: boolean | undefined, languages?: Array | undefined}; export type WidgetStudioUpdateIO = {dateCreated?: string | undefined, dateModified?: string | undefined, elements?: (Array<'BOX' | 'BUTTON' | 'BUTTON_V2' | 'CHECKBOX' | 'CLOSE' | 'COPY' | 'COUNTDOWN' | 'COUNTDOWN_V2' | 'COUNTDOWN_PROGRESS_BAR' | 'COUNTDOWN_V2_PROGRESS_BAR' | 'DATE' | 'FORM_ERROR_MESSAGE' | 'GROUP' | 'HEADING' | 'HIDDEN_INPUT' | 'HTML' | 'IFRAME' | 'IMAGE' | 'INPUT' | 'LINK' | 'SCROLLING_TEXT' | 'MULTI_STEP_FORM' | 'PRODUCT_RECO' | 'PROGRESS_BAR' | 'RADIO_BUTTON' | 'SELECT' | 'SHAPE' | 'SLIDER' | 'STEP_PROGRESS_BAR' | 'TEXT' | 'TEXTAREA' | 'TIME' | 'TOOLTIP' | 'TOGGLE' | 'VIDEO' | 'QR_CODE' | 'RANGE_INPUT' | 'SPIN_WHEEL' | 'SCALE' | 'SCRATCH_CARD' | 'NPS' | 'MULTI_CHOICE' | 'SHORT_TEXT' | 'LONG_TEXT'>) | undefined, eventActions?: (Array<'SET_LOCAL_STORAGE' | 'SET_SESSION_STORAGE' | 'SET_COOKIES' | 'SHOW_ELEMENT' | 'HIDE_ELEMENT' | 'SET_STEP' | 'CLICK_ON_ELEMENT' | 'FORM_DISABLE' | 'FORM_ENABLE' | 'JAVASCRIPT' | 'PROCESS_CONVERSION' | 'CANCEL_CONVERSION' | 'SET_CUSTOM_DATA' | 'TRIGGER_EVENT' | 'SET_PROGRESS' | 'SEND_DATA' | 'RUN_ROTATION_SPIN_WHEEL' | 'SET_LOCALE' | 'URL_REDIRECT'>) | undefined, eventConditions?: (Array<'BEFORE_DISPLAY' | 'AFTER_DISPLAY' | 'ON_COUNTDOWN_END' | 'IS_MOBILE' | 'IS_NOT_MOBILE' | 'IS_TABLET' | 'IS_NOT_TABLET' | 'IS_DESKTOP' | 'IS_NOT_DESKTOP' | 'FORM_ITEM_VALUE' | 'BY_CUSTOM_DATA' | 'ON_CLICK' | 'ON_SUCCESS' | 'ON_ERROR' | 'REVEALED_SCRATCH_CARD' | 'ON_SPIN_WHEEL_TURNED' | 'WIN_SLICE_VALUE' | 'ON_TIMER_END' | 'VISITOR_BROWSER_LANGUAGE' | 'URL_CONTAINS' | 'URL_REGEX' | 'ON_VIDEO_END'>) | undefined, fonts?: Array | undefined, isLegacy?: boolean | undefined, screens?: Array | undefined, translation?: Translation | undefined, version?: number | undefined, widgetEditorTemplate?: string | undefined, widgetId?: number | undefined}; export type PatchApiWidgetStudioWidgetIdArgs = {widgetId: number, body: WidgetStudioUpdateIO}; export type PatchApiWidgetStudioWidgetIdOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Partially update widget studio * * PATCH /widget-studio/{widgetId} */ export const patchApiWidgetStudioWidgetId = async (args: PatchApiWidgetStudioWidgetIdArgs, options?: PatchApiWidgetStudioWidgetIdOptions) => { const {baseUrl = "https://api.kameleoon.com", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/widget-studio/${encodeURIComponent(String(args.widgetId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };