 <!doctype html> <html id="html" lang="en"> <head> <meta charset="utf-8" /><script type="text/html" id="sf-tracking-consent-manager">
	<div id="tracking-consent-dialog" style="display:none" />
</script><script type="text/javascript" src="/WebResource.axd?d=DzHrpQl5URXarFHAtrmzFpt6hpdYvmVwc29NQZNtMGYSoltUbAFJEjMHfeT-tzVeK6OZukCFlV6BUAzSF-hYBiteasUOhQP_tGcrTDu8m-w3KCOWNLkTXCR0J5idbgmxGzpR0EpgjCZ5_eBWd3lCL6thd1nxNHa5rJpeKjowO8ZlICp89mZWQ717VGriGsdw0&amp;t=638923997240000000">

</script> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="shortcut icon" href="/favicon.ico?v=rebv1" /> <link href="https://dtzbdy9anri2p.cloudfront.net/cache/25b1ec294ef0cfbb01ab312d9a31cc27ce65e2a4/telerik/css/style.css" rel="stylesheet" type="text/css"><link href="https://dtzbdy9anri2p.cloudfront.net/cache/f6e1fcb057ccd7e0454c881569e5d7e036dd812c/telerik/css/blogs.css" rel="stylesheet" type="text/css"> <title>
	Your Source for .NET & JavaScript Developer Info – Telerik Blogs
</title> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://feeds.telerik.com/blogs" /> 
<meta property="fb:pages" content="15849483986" /><meta property="og:title" content="Your Source for .NET &amp; JavaScript Developer Info – Telerik Blogs" /><meta property="og:description" content="The leading source of news and trends in .NET &amp; JS software development and productivity tips and tricks for testing, debugging, reporting, accessibility, and more." /><meta property="og:url" content="https://www.telerik.com/blogs" /><meta property="og:type" content="website" /><meta property="og:site_name" content="Telerik.com" /><style type="text/css" media="all">.Section--featured>.Section-bg{height:1030px}@media screen and (max-width:1280px){.Section--featured>.Section-bg{top:-9%}}.BlogsHeader{display:none}</style><style type="text/css" media="all">.BlogsLayout .Sidebar>a{z-index:1;position:relative;font-weight:500}.BlogsLayout .Sidebar a+details.BlogPost-Topics-Menu>summary{font-size:0;height:26px}.BlogsLayout .Sidebar a+details.BlogPost-Topics-Menu{margin-top:-31px;margin-bottom:6px}.BlogsLayout .Sidebar a~div.BlogPost-Topics-Menu{margin-top:-6px;margin-bottom:6px}.BlogsLayout .Sidebar a.is-selected{color:#000 !important;text-decoration:none !important;padding:6px 0 !important;font-weight:500;z-index:1;position:relative}</style><style type="text/css" media="all">.Blogs-Share a.counted span{opacity:1;pointer-events:none}.BlogPost-Sticky-Sidebar .Form-MVC{background:none!important;box-shadow:none !important;padding:0 !important}.Blogs-Form{width:100%}.sf-opt-in-out-already-agreed.js-already-agreed-holder{color:#555 !important}#html blockquote p{position:static;margin:0;padding:0;background:none;font-size:inherit;line-height:inherit;text-indent:0}#html blockquote p:before,#html blockquote p:after{display:none}.Meta{color:#697582 !important}#html .Meta>span+span{margin-left:.55em;padding-left:.55em}.u-mr055{margin-right:.55em}</style><link rel="canonical" href="https://www.telerik.com/blogs" /><link rel="next" href="https://www.telerik.com/blogs?page=2" /><meta name="twitter:title" content="Your Source for .NET &amp; JavaScript Developer Info – Telerik Blogs" /><meta name="twitter:description" content="The leading source of news and trends in .NET &amp; JS software development and productivity tips and tricks for testing, debugging, reporting, accessibility, and more." /><meta name="twitter:url" content="https://www.telerik.com/blogs" /><meta property="og:image" content="https://www.telerik.com/sfimages/default-source/logos/telerik1200x630.png" /><meta name="twitter:image" content="https://www.telerik.com/sfimages/default-source/logos/telerik1200x630.png" /><meta property="og:locale" content="en-US" /><meta property="fb:app_id" content="472070859628573" /><meta name="twitter:site" content="@Telerik" /><meta name="twitter:creator" content="@Telerik" /><meta name="twitter:card" content="summary_large_image" /><script type="application/json" id="sf-insight-metadata">
	{"contentMetadata":"{\"Id\":\"9bac7f37-e8d8-4b7f-b554-bf9891689ba1\",\"ContentType\":\"Page\",\"Title\":\"Blogs\",\"CanonicalTitle\":\"Blogs\",\"CanonicalUrl\":\"https://www.telerik.com/blogs\",\"DefaultLanguage\":\"en\",\"CreatedOn\":\"2015-05-11T16:35:24Z\",\"ModifiedOn\":\"2026-04-08T16:50:19.92Z\",\"SiteId\":\"b31ca85c-a1c5-4a9d-8b5d-e7b0736a8b16\",\"SiteName\":\"TelerikCom\",\"PageHierarchies\":[{\"Id\":\"2b1e6735-3166-4c50-8ba7-163446feac0e\",\"Title\":\"Progress Telerik\",\"Parent\":{\"Id\":\"20ce8493-e2c1-4625-8f09-a2a99b6a96d9\",\"Title\":\"Products Taxonomy\"}}],\"PageId\":\"9bac7f37-e8d8-4b7f-b554-bf9891689ba1\"}","videosMetadata":"[]"}
</script><script type="application/json" id="sf-insight-settings">
	{"apiServerUrl":"https://api.insight.sitefinity.com","apiKey":"76766c2b-82f4-2453-81e5-fd840f3b455b","applicationName":"TelerikCom","trackingCookieDomain":".telerik.com","keepDecTrackingCookieOnTrackingConsentRejection":false,"slidingExpirationForTrackingCookie":false,"maxAgeForTrackingCookieInDays":365,"trackYouTubeVideos":true,"crossDomainTrackingEntries":["store.progress.com","www.telerik.com"],"strategy":"Persist|False","docsHrefTestExpressions":[".*\\/docs\\/.+\\.{1}.+((\\?|\\\u0026)sfvrsn=.+){1}$",".+((\\?|\\\u0026)sf_dm_key=.+){1}$"],"sessionLengthInMinutes":30,"trackVimeoVideos":true,"useSecureCookies":true}
</script><script type="text/javascript" src="/WebResource.axd?d=HtQyXelCu6mzSPcVcvK_BnBLuTvfT4YnhIxMh-5HvNKgqByRIHbbXoW-WLawts4Fh-UeZCJ3U3bxoGXTa9IeTV0YgoErORFnWeFm4Ee4GKMjgFOUUaD27X8_kP6MXFbUOYCXuGSyPJKcRpIAXeuKlNLzK7M8ff_SiSbDuCJrAGc7qHYMaATrTTzCQGFPIhXxUg-JFb_e0_0l8itIi7oyj_QLiEUjvHa-WpKcceSkwp41&amp;t=638923997460000000">

</script><script src="https://cdn.insight.sitefinity.com/sdk/sitefinity-insight-client.min.3.1.44.js" crossorigin="" async="async">

</script><meta name="description" content="The leading source of news and trends in .NET &amp; JS software development and productivity tips and tricks for testing, debugging, reporting, accessibility, and more." /></head> <body id="telerik" class="telerik"> <script type="text/plain" class="optanon-category-2" src="//script.crazyegg.com/pages/scripts/0087/4351.js"></script> <style>
	.anti-flicker-hide {
		opacity: 0 !important;
	}
</style> <script src="/abtesting/active-ab-tests.js">
</script> <script>
	

window.ABTestingAntiflicker = window.ABTestingAntiflicker ?? {};
window.ABTestingAntiflicker.wildcardMatchUrl = function(pattern, url) {
  try {
    const urlObject = new URL(url);

	const parts = pattern.split('?', 2);
	const pathPatternPart = parts[0] || '';
	const queryPatternPart = parts[1] || '';

    const escapeForRegularExpression = (text) => {
      return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(/\\\*/g, '.*');
    };

	// Build the path regular expression from the wildcard pattern
    const pathRegularExpressionPattern =
      '^' + escapeForRegularExpression(pathPatternPart) + '$';

    const pathRegularExpression = new RegExp(pathRegularExpressionPattern, 'i');

    // Compare URL path (with and without trailing slash)
    const urlWithoutQuery =
      urlObject.origin + urlObject.pathname;

    const urlWithoutTrailingSlash = urlWithoutQuery.replace(/\/+$/, '');

    const basePathMatches =
      pathRegularExpression.test(urlWithoutQuery) ||
      pathRegularExpression.test(urlWithoutTrailingSlash);

    if (!basePathMatches) {
      return false;
    }

    if (queryPatternPart.trim().length === 0) {
      return true;
    }

    // Validate query conditions from the pattern
    const queryStringParameters = new URLSearchParams(urlObject.search);
    const patternPairs = queryPatternPart.split('&').filter((s) => s.length > 0);

    for (const pairString of patternPairs) {
      const keyValueParts = pairString.split('=', 2);
      const key = keyValueParts[0];
      const valuePatternRaw = keyValueParts.length > 1 ? keyValueParts[1] : null;

      if (!key || !queryStringParameters.has(key)) {
        return false;
      }

      // Only presence required if no value specified
      if (valuePatternRaw === null) {
        continue;
      }

      const valueRegularExpressionPattern =
        '^' + escapeForRegularExpression(valuePatternRaw) + '$';

      const valueRegularExpression = new RegExp(valueRegularExpressionPattern, 'i');
      const actualValue = queryStringParameters.get(key) ?? '';

      if (!valueRegularExpression.test(actualValue)) {
        return false;
      }
    }

    return true;
  } catch (error) {
    console.error(error);
    return false;
  }
}

let shouldRunScript = false;
if (window.ABTestingAntiflicker?.wildcardMatchUrl && window.ABTestingAntiflicker?.activeABTestUrls?.length > 0) {
	for (var urlPattern of window.ABTestingAntiflicker.activeABTestUrls) {
		if (window.ABTestingAntiflicker.wildcardMatchUrl(urlPattern, window.location.href)) {
			shouldRunScript = true;
			break;
		}
	}
}

if (shouldRunScript) {
	let className = "anti-flicker-hide";
	document.body.classList.add(className);

	// Display the page after a certain Timeout
	setTimeout(() => {
		document.body.classList.remove(className);
	}, 3000);

	// Display the page after CrazyEgg A/B testing evaluation has finished and the action is not redirect
	window.CE_READY = window.CE_READY || [];
	window.CE_READY.push(function () {
		if (CE2?.ABTest?.emitter?.on) {
			CE2.ABTest.emitter.on("variant", (args) => {
				var isRedirectABTest = false;
				var testId = args?.test?.id;
				var variantId = args?.variant?.id;
				var redirectUrl = window.CE2.flows?.[testId]?.variants?.[variantId]?.redirectUrl;
				if (redirectUrl && redirectUrl !== window.location.href) {
					isRedirectABTest = true;
				}

				if (!isRedirectABTest) {
					setTimeout(() => {
						document.body.classList.remove(className);

						// Add a class to body to signify that an AB test has been executed
						// This is to be used for automated testing of the functionality
						document.body.classList.add('ab-test-executed');
					}, 200);
				}
			});
		}
		else {
			// A/B test API has changed. Display the page after shorter timeout
			setTimeout(() => {
				document.body.classList.remove(className);
			}, 500);
		}
	});

	// Display the page if the user hasn't accepted Performance cookies
	(function () {
		var script = document.createElement('script');
		script.type = 'text/plain';
		script.className = 'optanon-category-1';
		script.text = `
			if (!window.OptanonGroups.PerformanceCookies || !window.isOptanonGroupActive || !window.isOptanonGroupActive(window.OptanonGroups.PerformanceCookies, true)) {
				document.body.classList.remove("anti-flicker-hide");
			}
		`;

		var body = document.body;
		body.insertBefore(script, body.firstChild);
	})();
}

</script> <script src='https://d6vtbcy3ong79.cloudfront.net/external-assets/latest/utils/store-lead-data.min.js' type="text/plain" class="optanon-category-2"></script> 



<script defer async type="module" id="mjs-promotion-1">
	const cdn = "https://d6vtbcy3ong79.cloudfront.net";
	const id = "promotion-1";

	const response = await fetch(`/webapi/Announcements/GetPromo?url=${window.location.href}`, {
		method: "GET",
		cache: "no-cache",
	});

	const json = await response.json();
	const model = json?.content;

	if (model) {
		let version = model.scriptVersion || "stable";
		let stylesheet = cdn + "/sticky-notification/" + version + "/style.min.css";
		let javascript = cdn + "/sticky-notification/" + version + "/index.min.mjs";
		let cookieName = "promotion-" + model.id.replace("-", "");
		let imageUrl = model.image || "https://d585tldpucybw.cloudfront.net/sfimages/default-source/ninjas/sticky-notification-illustration.svg";
		let campaignName = model.campaignName || model.title;
		let html = model.htmlRawContent;
		let button = `<div><a class='tsn__cta-button' href='${model.ctaUrl}'>${model.ctaText}</a></div>`;

		if (model.ctaText && model.ctaUrl) {
			html += button;
		}

		function track(eventType) {
			try {
				if (!OptanonActiveGroups) {
					return;
				}
			} catch (e) {
				return;
			}

			if (!OptanonActiveGroups.includes("2")) {
				return;
			}

			window.dataLayer = window.dataLayer || [];

			let banner = document.querySelector(`.tsn--${id}`);
			let bannerType = "Right Side Banner";
			let bannerTopic = campaignName;
			let bannerExpandEventName = "Popup Banner Expand";
			let bannerCollapseEventName = "Popup Banner Collapse";
			let bannerImpressionEventName = "Popup Banner Impression";
			let bannerCtaClickEventName = "Popup Banner CTA Click";
			let bannerExpandedState = "expanded";
			let bannerCollapsedState = "collapsed";

			if (eventType === "impression") {
				dataLayer.push({
					event: bannerImpressionEventName,
					state: banner.classList.contains("tsn--is-expanded") ? bannerExpandedState : bannerCollapsedState,
					type: bannerType,
					promoting: bannerTopic
				});
			}
			if (eventType === "expand") {
				dataLayer.push({
					event: bannerExpandEventName,
					type: bannerType,
					promoting: bannerTopic
				});
			}
			if (eventType === "collapse") {
				dataLayer.push({
					event: bannerCollapseEventName,
					type: bannerType,
					promoting: bannerTopic
				});
			}
			if (eventType === "cta-click") {
				dataLayer.push({
					event: bannerCtaClickEventName,
					type: bannerType,
					promoting: bannerTopic,
					ctaLandingPage: window.location.href
				});
			}
		}

		async function importStyles(stylesheetUrl) {
			return new Promise((resolve, reject) => {
				const link = document.createElement("link");

				link.id = `css-${id}`;
				link.rel = "stylesheet";
				link.type = "text/css";
				link.href = stylesheetUrl;

				link.addEventListener("load", resolve);
				link.addEventListener("error", reject);

				document.body.append(link);
			});
		}

		async function initPromotion() {
			const [{ StickyNotification }] = await Promise.all([
				import(javascript),
				importStyles(stylesheet),
			]);

			StickyNotification.create({
				autoShow: true,
				autoExpand: true,
				autoCollapse: false,
				label: model.label,
				title: model.title,
				content: html,
				image: imageUrl,
				imageAlt: model.imageAltText,
				useImageAsBanner: model.useImageAsHero,
				useAltExpandButton: false,
				useAuth: model.isPersonalized,
				useCookie: true,
				cookieName: cookieName,
				modifierClass: `tsn--${id}`,
				onReady: () => track("impression"),
				onCtaClick: () => track("cta-click"),
				onManualExpand: () => track("expand"),
				onManualCollapse: () => track("collapse"),
			});
		}

		requestAnimationFrame(initPromotion);
	}
</script>



 
<link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/css/metric.min.css" as="style" media="(min-width: 621px)"><link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/metric/Metric-Light.woff2" as="font" crossorigin="anonymous" media="(min-width: 621px)"><link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/metric/Metric-Medium.woff2" as="font" crossorigin="anonymous" media="(min-width: 621px)"><link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/metric/Metric-Regular.woff2" as="font" crossorigin="anonymous" media="(min-width: 621px)"><link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/metric/Metric-Semibold.woff2" as="font" crossorigin="anonymous" media="(min-width: 621px)"><link rel="preload" href="https://d6vtbcy3ong79.cloudfront.net/telerik-navigation/3.7.37/css/index.min.css" as="style"><style id="js-tlrk-nav-inline-styles">.TK-Nav--Loading,.TK-Nav--Loading *{box-sizing:border-box}.TK-Nav--Loading{overflow:hidden;background:#fff;font-family:Metric}.TK-Nav--Loading>.TK-Bar{overflow:hidden;background:#fff}.TK-Nav--Loading .TK-container{max-width:1230px;margin:0 auto;padding:0 30px}.TK-Nav--Loading .TK-TLRK-Brand{margin:0}.TK-Nav--Loading .TK-Dropdown,.TK-Nav--Loading .TK-Nav-Overlay,.TK-Nav--Loading .TK-Print{display:none}.TK-Nav--Loading .TK-Context-Menu,.TK-Nav--Loading .TK-Products-Menu-Item-Button{visibility:hidden}@media only screen and (min-width:1240px){.TK-Nav--Loading,.TK-Nav--Loading>.TK-Bar{height:60px}}@media only screen and (max-width:1239px){.TK-Nav--Loading,.TK-Nav--Loading>.TK-Bar{height:45px}}@media only screen and (max-width:1229px){.TK-Nav--Loading .TK-container{padding:0 20px}}</style><link rel="stylesheet" type="text/css" href="https://d6vtbcy3ong79.cloudfront.net/fonts/latest/css/metric.min.css" id="js-tlrk-nav-metric" class="is-loading" onload="this.classList.remove('is-loading')" onerror="this.classList.remove('is-loading')"><link rel="stylesheet" type="text/css" href="https://d6vtbcy3ong79.cloudfront.net/telerik-navigation/3.7.37/css/index.min.css" id="js-tlrk-nav-styles" class="is-loading" onload="this.classList.remove('is-loading')" onerror="this.classList.remove('is-loading')"><nav id="js-tlrk-nav" class="TK-Nav TK-Nav--Shadow TK-Nav--Loading" data-tlrk-nav-version="3.7.37" data-tlrk-nav-template="nav-main-csa-rel-component"><section class="TK-Bar"><div class="TK-container TK-Bar-container"><figure class="TK-TLRK-Brand TK-TLRK-Brand--Full"><a href="#skip-to-content" id="js-tlrk-skip-link" class="TK-Skip-Link">skip navigation</a> <a href="/" class="TK-TLRK-Logo" aria-label="Go to Homepage"><svg xmlns="http://www.w3.org/2000/svg" width="147" height="60" viewBox="0 0 400.4 60.3"><path fill="#7c878e" d="M396.7 18.4c-2 0-3.7 1.6-3.7 3.7 0 2.2 1.7 3.7 3.7 3.7s3.7-1.6 3.7-3.7c0-2.2-1.7-3.7-3.7-3.7zm0 6.8c-1.7 0-3-1.3-3-3.1s1.3-3.1 3-3.1 3 1.3 3 3.1-1.3 3.1-3 3.1z"/><path fill="#7c878e" d="M398.5 21.5c0-.9-.6-1.4-1.4-1.4h-1.8V24h1.1v-1.2h.3l.8 1.2h1.2l-.9-1.4c.4-.1.7-.5.7-1.1zm-1.6.4h-.6V21h.6c.3 0 .5.2.5.4 0 .4-.2.5-.5.5zm-103.5-7.7h-28.5v2.6h12.7v32.4h2.9V16.8h12.9zm7.4 9.1c-6.7 0-10.9 5.6-10.9 13.4 0 7.9 4.7 12.9 11.8 12.9 3 0 5.5-.7 7.4-2.2v-2.7c-2.2 1.8-4.3 2.5-7.1 2.5-5.2 0-9.2-3.6-9.2-10.4H311v-1c-.2-7.4-3.6-12.5-10.2-12.5zm-8 11.1c.7-5.5 3.9-8.6 8-8.6 5 0 7.1 4.1 7.3 8.6h-15.3zM315 12.1h2.9v37.1H315zm18.1 11.2c-6.7 0-10.9 5.6-10.9 13.4 0 7.9 4.7 12.9 11.8 12.9 3 0 5.5-.7 7.4-2.2v-2.7c-2.2 1.8-4.3 2.5-7.1 2.5-5.2 0-9.2-3.6-9.2-10.4h18.2v-1c-.1-7.4-3.6-12.5-10.2-12.5zm-8 11.1c.7-5.5 3.9-8.6 8-8.6 5 0 7.1 4.1 7.3 8.6h-15.3zm25-6.5v-4h-2.9v25.3h2.9V31.5c1.2-3.2 3.6-5.5 6.7-5.5.9 0 1.7.2 2.3.5v-2.8c-.6-.2-1.3-.3-2.2-.3-3.1-.1-5.7 2-6.8 4.5zm12.1-4h2.8v25.3h-2.8zm1.5-9.7c-1.1 0-1.9.9-1.9 1.9 0 1.1.9 1.9 1.9 1.9s1.9-.9 1.9-1.9-.8-1.9-1.9-1.9zm26.5 9.7h-3.7l-12.8 11V12.1h-2.9v37.1h2.9v-13l13.2 13h3.5l-13.8-13.8z"/><path fill="#5ce500" d="M11.2 14.9L0 21.3l17.4 10.1v20.1l11.2-6.4c.5-.3.9-1 .9-1.6V24.4L13 14.9c-.5-.3-1.3-.3-1.8 0z"/><path fill="#5ce500" d="M12.1 48.4V34.5L0 41.5zM25 .2c-.5-.3-1.3-.3-1.8 0L10.7 7.4l24.1 13.9v27.9L47.3 42c.5-.3.9-1 .9-1.6V13.6L25 .2z"/><path fill="#4b4e52" d="M117.9 22.5c-4.3 0-7.7 1.6-9.8 4.7-2.3 3.2-2.6 7-2.6 9 0 8.3 4.9 13.6 12.5 13.6 9.2 0 12.5-7.4 12.5-13.8 0-3.7-1.1-7-3.1-9.4-2.3-2.7-5.6-4.1-9.5-4.1zm0 22.4c-4.2 0-6.9-3.4-6.9-8.8 0-5.5 2.6-8.9 6.9-8.9 4.2 0 6.9 3.4 6.9 8.8 0 5.5-2.7 8.9-6.9 8.9zM74.8 13.6H61.7v35.6h5.8v-14h7.4c8 0 12.4-3.9 12.4-11-.1-3.1-1.3-10.6-12.5-10.6zM74.1 30h-6.6V18.9h7.4c4.3 0 6.4 1.8 6.4 5.5 0 4-2.1 5.6-7.2 5.6zm26.6-7.3c-2.2.3-3.9 1.4-5.2 3.5V23h-5.1v26.1h5.4V37.9c0-5.2.4-9.6 5.9-9.6.6 0 1.1.1 1.7.3l.7.2 1-5.3-.4-.2c-1.2-.5-2.6-.7-4-.6zm145 12.1c-1.3-.5-4-1.2-6.1-1.7-1-.3-1.9-.5-2.5-.7-2-.6-3-1.4-3-2.6 0-2.5 3.5-2.8 5-2.8 1.8 0 4.8.5 5.3 3.5l.1.4h5.2v-.5c-.4-5.3-4-7.8-10.8-7.8-5.1 0-10.2 2.4-10.2 7.6 0 2.8 1.9 5.2 5.2 6.3 1.3.5 3.5 1.1 5.6 1.7 1.2.3 2.4.7 3.3.9 1.6.5 2.4 1.4 2.4 2.6 0 2.4-2.9 3.3-5.6 3.3-2.5 0-5.5-.7-6.2-3.9l-.1-.4h-5.2l.1.6c.5 5.4 4.6 8.3 11.4 8.3 7.7 0 11.2-4.2 11.2-8.4-.1-3-1.8-5.2-5.1-6.4zm-94-9.6c-1.7-1.8-4.1-2.7-7-2.7-7.9 0-11.5 7-11.5 13.5 0 6.6 3.6 13.4 11.5 13.4 2.7 0 5-1 6.7-2.7 0 1.2 0 2.3-.1 2.7-.3 4.3-2.4 6.3-6.5 6.3-2.3 0-4.9-.8-5.4-3.1l-.1-.5H134l.1.7c.6 4.6 4.6 7.5 10.6 7.5 5.2 0 8.9-2 10.8-5.7.9-1.8 1.3-4.4 1.3-7.8V23.1h-5.1v2.1zm-6.6 19.3c-1.9 0-6.3-.9-6.3-8.8 0-5.2 2.5-8.4 6.4-8.4 3.1 0 6.3 2.2 6.3 8.4.1 5.5-2.3 8.8-6.4 8.8zm75.6-9.7c-1.3-.5-4-1.2-6.1-1.7-1-.3-1.9-.5-2.5-.7-2-.6-3-1.4-3-2.6 0-2.5 3.5-2.8 5-2.8 1.8 0 4.8.5 5.3 3.5l.1.4h5.2v-.5c-.4-5.3-4-7.8-10.8-7.8-5.1 0-10.2 2.4-10.2 7.6 0 2.8 1.9 5.2 5.2 6.3 1.3.5 3.5 1.1 5.6 1.7 1.2.3 2.4.7 3.3.9 1.6.5 2.4 1.4 2.4 2.6 0 2.4-2.9 3.3-5.6 3.3-2.5 0-5.5-.7-6.2-3.9l-.1-.4h-5.2l.1.6c.5 5.4 4.6 8.3 11.4 8.3 7.7 0 11.2-4.2 11.2-8.4 0-3-1.7-5.2-5.1-6.4zm-19.9 0c-.3-7.3-5-12.2-11.9-12.2-4 0-7.3 1.6-9.5 4.5-1.8 2.4-2.8 5.7-2.8 9.1 0 8.1 5 13.5 12.5 13.5 5.8 0 9.8-2.9 11.2-8.3l.2-.6h-5.4l-.1.3c-1.1 3.2-3.8 3.9-5.9 3.9-4.1 0-6.7-2.7-7-7.1h18.5l.1-.5c.1-.6.1-1.5.1-2.1v-.5zm-18.4-1.6c.5-3.6 2.9-5.9 6.5-5.9 2.7 0 5.9 1.6 6.3 5.9h-12.8zm-10.5-10.5c-2.2.3-3.9 1.4-5.2 3.5V23h-5.1v26.1h5.4V37.9c0-5.2.4-9.6 5.9-9.6.6 0 1.1.1 1.7.3l.7.2 1-5.3-.4-.2c-1.2-.5-2.6-.7-4-.6zm84.8-1.2c0-.9-.6-1.4-1.4-1.4h-1.8V24h1.1v-1.2h.3l.8 1.2h1.2l-.9-1.4c.4-.1.7-.5.7-1.1zm-1.5.4h-.6V21h.6c.3 0 .5.2.5.4 0 .4-.2.5-.5.5z"/><path fill="#4b4e52" d="M255 18.4c-2 0-3.7 1.6-3.7 3.7 0 2.2 1.7 3.7 3.7 3.7s3.7-1.6 3.7-3.7c0-2.2-1.7-3.7-3.7-3.7zm0 6.8c-1.7 0-3-1.3-3-3.1s1.3-3.1 3-3.1 3 1.3 3 3.1-1.4 3.1-3 3.1z"/></svg></a></figure><ul class="TK-Products-Menu"><li class="TK-Products-Menu-Item TK-Static"><button type="button" class="TK-Products-Menu-Item-Button" aria-label="Product Navigation">All Products <i class="TK-Arrow"></i></button><div id="js-tlrk-nav-dash" class="TK-Dash TK-Dropdown TK-Dropdown--Full TK-Dropdown--White TK-Dropdown---Mobile"><div class="TK-container"><div class="TK-row TK-Border"><div class="TK-col-5"><div class="TK-Bundles TK-BG"><p class="TK-Dash-Title">Product Bundles</p><a href="/devcraft" class="TK-Bundle"><div class="TK-Bundle-Icon TK--Desktop"><svg xmlns="http://www.w3.org/2000/svg" width="210" height="90" fill="none" viewBox="0 0 210 90"><g clip-path="url(#clip0_142_1561)"><rect width="210" height="88" y="-.667" fill="#dcecff" rx="5"/><path fill="#cdd6f9" d="M210 76.233h-44.382v-51.56H210z"/><g clip-path="url(#clip1_142_1561)"><path fill="#2b2bb2" d="M151.069 68.52h44.386v22.646c0 4.716-2.26 8.545-5.044 8.545h-34.298c-2.784 0-5.044-3.83-5.044-8.545zm-.002-40.53h44.386V13.476c0-3.023-2.26-5.477-5.044-5.477h-34.298c-2.784 0-5.044 2.454-5.044 5.477zm-24.998-15.069h-18.411v5.54h18.411z"/><path stroke="#fff" stroke-miterlimit="10" stroke-width="1.12" d="m109.802 14.936 1.766 1.51 1.764-1.51 1.763 1.51 1.766-1.51 1.764 1.51 1.766-1.51 1.766 1.51 1.768-1.51"/><path fill="#5777ea" d="M195.453 18.042h-44.382v58.191h44.382z"/><path stroke="#0357ff" d="M153.458 18.578H96.685v49.269h56.773z"/><path fill="#829dfa" d="M174.664 18.042h-67.006V68.41h67.006z"/><g stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" clip-path="url(#clip2_142_1561)"><path stroke="#fc3" d="m123.571 27.581-9.237-.057"/><path stroke="#fff" d="m117.767 33.647 8.914.057"/><path stroke="#cdffca" d="m132.167 33.722 8.908.051"/><path stroke="#fff" d="m117.733 39.753 18.504.115m5.492.017 29.725.183m-53.761 5.785 13.928.086m5.486.017 31.334.195m-50.782 5.808 29.97.183"/><path stroke="#cdffca" d="m153.121 52.16 29.72.183M117.62 58.06l22.648.142"/><path stroke="#fff" d="m144.338 58.22 23.557.143m4.071.017 15.843.098"/></g></g><g clip-path="url(#clip3_142_1561)"><path fill="#e26841" d="M57.489 47.81c.13.018-1.6-11.25 4.573-15.705 4.566-3.294 9.575-.097 20.417-3.418a41 41 0 0 0 5.953-2.345l2.561 3.895a24.5 24.5 0 0 1-5.337 1.998c-3.373.828-6.246.754-11.493.587-3.725-.12-6.125-.399-9.419.753a11 11 0 0 0-2.13.914c-5.45 3.266-5.252 13.302-5.125 13.32"/><path fill="#e26841" d="M57.305 44.42a12.34 12.34 0 0 1 3.422-6.972c2.582-2.531 5.671-3.041 7.997-3.394 4.924-.747 8.216.375 10.958.795 4.206.644 10.375.132 18.762-5.208l1.109 5.764a34.1 34.1 0 0 1-11.87 3.5c-10.925 1.084-17.198-3.974-24.233-.47-3.163 1.572-5.072 4.178-6.145 5.985"/><path fill="#000" d="M82.257 73.544 92.385 83.76l-8.682 3.5-10.705-11.09V62.161h9.259z"/><path fill="#e26841" d="M87.572 86.964a18.83 18.83 0 0 0-5.576-8.835A18.6 18.6 0 0 0 72.6 73.67h-.003a18.5 18.5 0 0 0-8.382.59 18.6 18.6 0 0 0-7.276 4.24v8.464z"/><path fill="#14254c" d="M72.598 86.964a7.6 7.6 0 0 0-.6-5.074 7.52 7.52 0 0 0-3.666-3.528 7.44 7.44 0 0 0-8.198 1.44 7.6 7.6 0 0 0-1.681 2.411 37 37 0 0 0-1.66 4.75z"/><path fill="#000" d="m56.911 58.307 19.27.058-1.612 15.179 3.8 12.343-21.432.049z"/><path fill="#14254c" d="M75.816 73.542H73.4a16.3 16.3 0 0 1-6.3-1.263 16.5 16.5 0 0 1-5.34-3.6 16.6 16.6 0 0 1-3.57-5.386 16.7 16.7 0 0 1-1.253-6.353V44.873a6.67 6.67 0 0 1 1.928-4.696 6.56 6.56 0 0 1 4.654-1.946h2.417c2.162 0 4.303.43 6.3 1.264a16.5 16.5 0 0 1 5.342 3.599 16.6 16.6 0 0 1 3.569 5.386 16.7 16.7 0 0 1 1.253 6.354V66.9c0 .872-.17 1.736-.501 2.541a6.6 6.6 0 0 1-1.427 2.155 6.6 6.6 0 0 1-2.137 1.44 6.5 6.5 0 0 1-2.52.505z"/><path fill="#e8ab6a" d="M64.375 58.25v-.936c0-2.894 1.14-5.67 3.17-7.717a10.78 10.78 0 0 1 7.651-3.196 10.7 10.7 0 0 1 6.609 2.274 14.7 14.7 0 0 1 .595 4.145v13.57a10.72 10.72 0 0 1-7.203 2.773c-2.87 0-5.622-1.15-7.652-3.196a10.96 10.96 0 0 1-3.17-7.717"/><path stroke="#fff" stroke-miterlimit="10" stroke-width="3.736" d="M74.721 65.125a5.02 5.02 0 0 1-3.562-1.488 5.1 5.1 0 0 1-1.477-3.593"/><path fill="#da7f27" d="M80.086 60.7h-5.209v-9.047z"/><path fill="#14254c" d="M82.4 49.558H61.209v1.27H82.4zm0 5.253H61.209v1.27H82.4zm.002 10.506H65.374v1.27h17.028zm-.002-5.252H61.209v1.27H82.4z"/><path fill="#fff" d="M69 54.154h-1.5a1 1 0 0 1-.717-.3 1.02 1.02 0 0 1-.22-1.113 1.02 1.02 0 0 1 .55-.552 1 1 0 0 1 .387-.078H69c.269 0 .526.108.716.299a1.026 1.026 0 0 1-.328 1.666 1 1 0 0 1-.388.078m11.837 0h-1.5a1 1 0 0 1-.717-.3 1.02 1.02 0 0 1-.297-.722c0-.27.107-.53.297-.722s.448-.299.716-.299h1.502c.268 0 .526.108.716.299a1.026 1.026 0 0 1-.329 1.666 1 1 0 0 1-.388.078"/><path fill="#000" d="M66.486 54.154c.56 0 1.013-.458 1.013-1.022s-.453-1.021-1.013-1.021-1.013.457-1.013 1.021.454 1.022 1.013 1.022m12.154 0c.56 0 1.013-.458 1.013-1.022s-.454-1.021-1.013-1.021c-.56 0-1.013.457-1.013 1.021s.453 1.022 1.013 1.022"/><path fill="#e26841" d="M110.225 81.406c.852.106 1.627.55 2.155 1.232s.765 1.548.66 2.407l-.232 1.913a3.76 3.76 0 0 1-1.204 2.329 3.7 3.7 0 0 1-2.425.959l-5.128.085a3.7 3.7 0 0 1-2.295-.751 3.75 3.75 0 0 1-1.353-2.015l-.622-2.31a3.3 3.3 0 0 1 .587-2.882 3.22 3.22 0 0 1 2.648-1.235l6.926.242q.143.008.283.026"/><path fill="#e26841" d="m100.539 87.046-.682-4.84a1.13 1.13 0 0 0-.381-.702l-.585-.505a1.118 1.118 0 0 0-1.829.627l-1.127 5.42z"/><path fill="#000" d="m8.475 81.297 6.926-.243a3.2 3.2 0 0 1 1.47.3c.46.214.863.534 1.178.935a3.28 3.28 0 0 1 .587 2.882l-.622 2.31a3.75 3.75 0 0 1-1.353 2.014 3.7 3.7 0 0 1-2.295.752l-5.128-.086a3.7 3.7 0 0 1-2.424-.959 3.76 3.76 0 0 1-1.204-2.328l-.232-1.914a3.28 3.28 0 0 1 .66-2.407 3.23 3.23 0 0 1 2.437-1.257"/><path fill="#000" d="m17.88 86.964.68-4.841a1.13 1.13 0 0 1 .383-.703l.584-.505a1.12 1.12 0 0 1 1.83.627l1.127 5.42zm38.564.001.363-2.978a16.3 16.3 0 0 0-.525-6.517 16.2 16.2 0 0 0-3.043-5.774 16.05 16.05 0 0 0-5.063-4.085 15.9 15.9 0 0 0-12.674-.814 16 16 0 0 0-5.536 3.404 16.2 16.2 0 0 0-3.745 5.338 16.3 16.3 0 0 0-1.34 6.398v.027l-.015 5.001z"/><path fill="#8174f2" d="M51.708 43.28a6.37 6.37 0 0 0-3.312-1.773 6.33 6.33 0 0 0-3.727.408l-5.883 2.554a38.5 38.5 0 0 1-19.345 2.974l-1.943-.205.557-10.405.55.142a38.45 38.45 0 0 0 20.456-.34l6.284-1.847a6.33 6.33 0 0 1 4.608.408 6.42 6.42 0 0 1 3.125 3.441l3.798 9.86z"/><path fill="#8174f2" d="M50.701 25.166c.853.001 1.696.17 2.484.5.787.33 1.502.812 2.104 1.42a6.6 6.6 0 0 1 1.406 2.125c.325.795.493 1.646.492 2.505l-.31 16.781-3.611-12.007a6.52 6.52 0 0 0-3.467-3.36 6.44 6.44 0 0 0-4.808-.032l-1.534.604a28.5 28.5 0 0 1-11.739 1.955l-8.275-.377.383-9.908 8.22 1.501a28.5 28.5 0 0 0 11.343-.227l5.897-1.323a6.4 6.4 0 0 1 1.415-.157"/><path fill="#0c1b38" d="M43.991 36.852c-1.6.093-3.167.503-4.61 1.207a12.2 12.2 0 0 0-3.801 2.895 12.3 12.3 0 0 0-2.414 4.142 12.4 12.4 0 0 0-.657 4.758l.68 11.86a11.7 11.7 0 0 0 3.612 7.813 11.52 11.52 0 0 0 7.944 3.183 11.52 11.52 0 0 0 7.978-3.217 11.72 11.72 0 0 0 3.58-7.877l.585-11.863q.015-.306.015-.611c0-3.265-1.286-6.397-3.575-8.705a12.16 12.16 0 0 0-9.337-3.585"/><path fill="#8174f2" d="M56.89 46.588h-24.4v6.235h24.4z"/><path fill="#e7aa6a" d="M48.966 49.75c.752 0 1.474.302 2.006.838.532.537.83 1.264.83 2.023v.684c0 .759-.298 1.486-.83 2.023a2.82 2.82 0 0 1-2.006.838H32.49V49.75z"/><path fill="#e06940" d="M39.038 50.811v5.345H36.28z"/><path fill="#fff" d="M47.222 51.977h-1.466a.996.996 0 0 0-.993 1c0 .552.445 1 .993 1h1.466a.996.996 0 0 0 .993-1c0-.552-.445-1-.993-1"/><path fill="#000" d="M47.906 53.98a.997.997 0 0 0 .992-1.001.997.997 0 0 0-.992-1.002.997.997 0 0 0-.993 1.002.997.997 0 0 0 .993 1m-12.508.001a.997.997 0 0 0 .992-1.001.997.997 0 0 0-.992-1.002.997.997 0 0 0-.993 1.002.997.997 0 0 0 .992 1"/><path fill="#fff" d="M35.247 51.977H33.78a.996.996 0 0 0-.993 1c0 .552.445.999.993.999h1.465a.996.996 0 0 0 .993-1 .996.996 0 0 0-.992-.999"/><path fill="#000" d="M35.93 53.98a.997.997 0 0 0 .993-1.002.997.997 0 0 0-.993-1 .997.997 0 0 0-.993 1 .997.997 0 0 0 .993 1.002"/><path fill="#14254c" d="M36.086 85.932c.073.162.221.52.406 1.033h15.55a39 39 0 0 0-2.256-7.143 7.52 7.52 0 0 0-4.149-3.99 7.43 7.43 0 0 0-5.73.136 7.53 7.53 0 0 0-3.956 4.184 7.62 7.62 0 0 0 .135 5.78"/><path fill="#62de7f" d="M68.085 4.022H25.682c-3.698 0-6.696 3.024-6.696 6.754s2.998 6.753 6.696 6.753h42.403c3.699 0 6.697-3.024 6.697-6.753s-2.998-6.754-6.697-6.754"/><path fill="#62de7f" d="m58.61 22.342-6.548-6.604 6.549-6.604z"/><path fill="#282f89" d="M33.606 7.685h.636v4.17h2.378v.565h-3.014zM38.53 8.89c.246 0 .488.06.706.173.21.099.39.253.522.446.118.184.197.392.23.61q.061.377.05.76H37.53c-.005.3.081.595.246.844a.83.83 0 0 0 .713.318.91.91 0 0 0 .72-.3c.102-.116.177-.254.218-.403h.566a1.2 1.2 0 0 1-.15.422q-.11.213-.283.382c-.18.175-.404.295-.648.348a2 2 0 0 1-.47.052 1.43 1.43 0 0 1-1.084-.469 1.84 1.84 0 0 1-.445-1.313 2 2 0 0 1 .448-1.351 1.48 1.48 0 0 1 1.17-.519m.917 1.528a1.5 1.5 0 0 0-.163-.602.84.84 0 0 0-.79-.42.87.87 0 0 0-.664.29 1.1 1.1 0 0 0-.284.733zm1.346-2.414h.582v.964h.545v.473h-.545v2.254a.25.25 0 0 0 .121.242q.108.042.224.036h.09q.047 0 .111-.008v.455q-.1.03-.206.042a2 2 0 0 1-.232.013.62.62 0 0 1-.545-.208.93.93 0 0 1-.146-.54V9.44h-.46v-.473h.463zm1.76 1.057a.36.36 0 0 0 .268-.199.8.8 0 0 0 .091-.393v-.04l-.008-.04h-.348v-.703h.684v.648a1.36 1.36 0 0 1-.17.701.66.66 0 0 1-.514.33zm1.494 2.276c.006.16.056.313.146.445a.9.9 0 0 0 .754.28c.196.004.39-.044.562-.14a.46.46 0 0 0 .243-.434.37.37 0 0 0-.195-.338 2.3 2.3 0 0 0-.492-.164l-.457-.116a2.2 2.2 0 0 1-.646-.247.73.73 0 0 1-.37-.651 1 1 0 0 1 .35-.793c.266-.213.6-.321.94-.303a1.3 1.3 0 0 1 1.116.458 1 1 0 0 1 .208.625h-.543a.7.7 0 0 0-.137-.358.88.88 0 0 0-.688-.229.8.8 0 0 0-.494.126.39.39 0 0 0-.167.332.41.41 0 0 0 .22.36q.178.1.377.143l.38.093q.437.083.832.294a.78.78 0 0 1 .335.7 1.07 1.07 0 0 1-.347.795 1.47 1.47 0 0 1-1.054.336 1.4 1.4 0 0 1-1.084-.348 1.33 1.33 0 0 1-.34-.866zm4.637-2.37h.545v.597c.08-.163.192-.307.33-.424a.85.85 0 0 1 .66-.247l.13.013v.613a1 1 0 0 0-.188-.016.82.82 0 0 0-.668.282 1 1 0 0 0-.234.65v1.985h-.575zm3.457 3.079a.79.79 0 0 0 .784-.436c.145-.304.217-.636.213-.973.01-.27-.042-.538-.153-.784a.87.87 0 0 0-.837-.477.82.82 0 0 0-.768.403c-.167.299-.25.638-.24.98a1.65 1.65 0 0 0 .24.917.85.85 0 0 0 .76.37m.023-3.179a1.54 1.54 0 0 1 1.119.445 1.74 1.74 0 0 1 .456 1.31 2.25 2.25 0 0 1-.403 1.38 1.46 1.46 0 0 1-1.25.544 1.4 1.4 0 0 1-1.122-.482 1.92 1.92 0 0 1-.415-1.294c-.026-.5.129-.993.437-1.387a1.47 1.47 0 0 1 1.178-.516m3.515 0c.336-.015.668.085.941.284a1.36 1.36 0 0 1 .437.977h-.561a1.05 1.05 0 0 0-.233-.53.74.74 0 0 0-.585-.212.8.8 0 0 0-.786.542c-.11.275-.162.57-.154.867-.01.306.066.61.219.874a.75.75 0 0 0 .684.354.74.74 0 0 0 .567-.22c.151-.17.252-.379.29-.604h.56a1.52 1.52 0 0 1-.482 1.004c-.28.22-.628.332-.982.317a1.3 1.3 0 0 1-1.07-.495 1.9 1.9 0 0 1-.4-1.236 2.1 2.1 0 0 1 .436-1.415 1.42 1.42 0 0 1 1.118-.507m1.875-1.183h.553v2.751l1.477-1.467h.735l-1.31 1.292 1.382 2.16h-.735l-1.068-1.74-.483.444v1.296h-.552zm3.556 0h.648v1.557l-.156 2.05h-.327l-.167-2.05zm0 4.065h.636v.671h-.637z"/></g></g><defs><clipPath id="clip0_142_1561"><path fill="#fff" d="M0 0h210v90H0z"/></clipPath><clipPath id="clip1_142_1561"><path fill="#fff" d="M82.32 7.999h125.957v79H82.32z"/></clipPath><clipPath id="clip2_142_1561"><path fill="#fff" d="M114.057 13.999h77.36v49h-77.36z"/></clipPath><clipPath id="clip3_142_1561"><path fill="#fff" d="M2.975-1.001h110.09v91H2.975z"/></clipPath></defs></svg></div><p class="TK-Bundle-Title TK-Best-Value">DevCraft</p><p class="TK-Bundle-Description">All <strong>Telerik .NET</strong> and <strong>Kendo UI </strong>JavaScript components and AI Tools in one package.</p><ul class="TK-Bundle-list TK--Desktop"><li>MCP Servers (AI Tools)</li><li>Embedded Reporting</li><li>Document Processing Libraries</li><li>SSO Account Sign-in</li></ul></a><a href="/kendo-ui" class="TK-Bundle" data-match-exact-path><div class="TK-Bundle-Icon TK--Desktop"><svg xmlns="http://www.w3.org/2000/svg" width="210" height="90" fill="none" viewBox="0 0 210 90"><g clip-path="url(#clip0_142_1689)"><rect width="210" height="85" y="9.818" fill="#dcecff" rx="5"/><g clip-path="url(#clip1_142_1689)"><path fill="#829dfa" d="M219.429 52.666c10.178 0 18.429-7.584 18.429-16.94s-8.251-16.942-18.429-16.942S201 26.369 201 35.725s8.251 16.941 18.429 16.941"/><path fill="#2d25b8" d="M201.142 35.725h18.429l-13.035-11.982c-3.332 3.063-5.394 7.299-5.394 11.982"/><path fill="#151753" d="m206.536 23.743 13.035 11.982V18.784c-5.095 0-9.702 1.895-13.035 4.959"/></g><g clip-path="url(#clip2_142_1689)"><path stroke="#fff" stroke-miterlimit="10" stroke-width="1.92" d="M107.127 98.727c26.992 0 48.873-21.88 48.873-48.872S134.119.982 107.127.982 58.255 22.863 58.255 49.855s21.88 48.872 48.872 48.872Z"/><path stroke="#829dfa" stroke-miterlimit="10" stroke-width="3.84" d="M88.101 94.88a48.8 48.8 0 0 0 19.026 3.835 48.8 48.8 0 0 0 19.027-3.834 48.9 48.9 0 0 0 15.534-10.478 49 49 0 0 0 10.477-15.534c2.48-5.85 3.835-12.273 3.835-19.026a48.8 48.8 0 0 0-3.835-19.027 48.8 48.8 0 0 0-10.477-15.533M107.127.982a48.8 48.8 0 0 0-19.026 3.835 48.8 48.8 0 0 0-15.534 10.478A49 49 0 0 0 62.09 30.828a48.8 48.8 0 0 0-3.834 19.027 48.8 48.8 0 0 0 3.834 19.026"/><path stroke="#fff" stroke-miterlimit="10" stroke-width="1.92" d="M107.127 84.06c18.892 0 34.206-15.314 34.206-34.205 0-18.892-15.314-34.206-34.206-34.206-18.891 0-34.205 15.314-34.205 34.206 0 18.891 15.314 34.206 34.205 34.206Z"/><path stroke="#62de7f" stroke-miterlimit="10" stroke-width="3.84" d="M82.935 74.047c6.192 6.191 14.74 10.014 24.192 10.014s18.001-3.835 24.192-10.014c6.192-6.192 10.014-14.74 10.014-24.192s-3.834-18-10.014-24.192c-6.191-6.192-14.74-10.014-24.192-10.014"/><path fill="#fff" d="M107.127 70.383c11.338 0 20.529-9.19 20.529-20.528s-9.191-20.529-20.529-20.529-20.528 9.191-20.528 20.529 9.19 20.528 20.528 20.528"/><path fill="#0357ff" d="M98.537 55.346v-2.5q.655.43 1.201.645.547.215 1.201.215.948 0 1.329-.567.39-.565.39-1.875V43.57h2.578v7.998q0 4.473-4.072 4.473-.752 0-1.465-.205-.712-.205-1.162-.489m8.428-.341v-2.52q1.826 1.357 3.916 1.357.996 0 1.582-.322.596-.332.596-1.016 0-.556-.332-.85-.333-.3-1.104-.585l-1.797-.605a7 7 0 0 1-1.25-.528 4.3 4.3 0 0 1-.947-.713 2.9 2.9 0 0 1-.625-1.015 4 4 0 0 1-.205-1.328q0-1.104.596-1.915t1.572-1.2q.976-.401 2.197-.401 2.12 0 3.721.957v2.5q-1.738-1.28-3.643-1.28-.869 0-1.406.313-.537.303-.537.908 0 .538.322.82.332.284 1.045.518l1.914.664q1.553.528 2.275 1.406.733.88.733 2.237 0 1.172-.635 2.012-.635.83-1.67 1.23-1.035.39-2.363.39a8 8 0 0 1-2.207-.292q-1.035-.294-1.748-.742"/></g><g clip-path="url(#clip3_142_1689)"><path fill="#e26841" d="M34.593 71.628q-.202-1.27-.202-2.556c0-9.002 7.359-16.298 16.438-16.298q1.297 0 2.578.2c8.964 1.412 15.078 9.763 13.657 18.65l-4.632 35.251-23.46-2.78-4.376-32.47z"/><path stroke="#14254c" stroke-linecap="round" stroke-miterlimit="10" stroke-width="9.265" d="M12.343 42.893c-.39 1.655-1.221 8.501 2.798 15.133.791 1.3 2.335 4.606 6.952 6.584 6.377 2.734 14.466 1.345 20.685-4.197"/><path fill="#e26841" d="M7.428 24.274 5.23 48.998l14.493 1.481-4.11-25.522-8.188-.683zm22.577-5.318a.88.88 0 0 1 .32-.543l.477-.387a.897.897 0 0 1 1.45.526l.952 5.095a4.16 4.16 0 0 1-1.62 4.11l-3.483 2.588z"/><path fill="#000" d="m65.5 41.763-7.995 1.266v12.135l7.09 10.48 10.58-4.487-9.512-8.267-.167-11.127z"/><path fill="#e26841" d="M44.677 17.783a5.39 5.39 0 0 0-3.668-4.143l-.964-.307c-2.645-.846-4.218-3.538-3.638-6.23L37.939-.05l3.137.198-1.456 5.35c-.73 2.678.718 5.466 3.34 6.437a5.375 5.375 0 0 1 3.527 5.06l-.05 10.267-1.758-9.48z"/><path fill="#e26841" d="M41.668 20.216a5.43 5.43 0 0 0-3.577-2.26l-3.316-.548c-2.452-.407-4.312-2.414-4.512-4.871l-.706-8.752 3.454-.017.179 6.474a5.38 5.38 0 0 0 3.987 5.037l2.335.633a5.4 5.4 0 0 1 3.58 3.137l3.342 8.051-4.769-6.89z"/><path fill="#000" d="M60.018 39.741h-16.83v7.46a4.97 4.97 0 0 1-1.89 3.897l-8.307 6.59 13.57 9.914 12.283-14.718 1.171-13.146z"/><path fill="#14254c" d="M65.5 34.934c0-6.98-5.707-12.638-12.747-12.638h-4.59c-2.816 0-5.1 2.263-5.1 5.054v12.894c0 6.982 5.709 12.643 12.748 12.64h4.591c2.815 0 5.1-2.265 5.097-5.056z"/><path fill="#e9ac6a" d="M58.425 49.091a9.55 9.55 0 0 0 6.348-2.4V34.938c0-1.217-.179-2.425-.527-3.593a9.55 9.55 0 0 0-5.824-1.97c-5.267 0-9.536 4.233-9.536 9.455v.81c0 5.22 4.272 9.452 9.536 9.452z"/><path stroke="#fff" stroke-miterlimit="10" stroke-width=".67" d="M58.78 45.533c-4.41-.081-3.824-3.334-3.824-3.334"/><path fill="#dc7f1b" d="M59.175 33.926v7.837h4.59z"/><path stroke="#14254c" stroke-miterlimit="10" stroke-width=".777" d="M43.443 32.663H64.89m-21.447 4.548H65.5m-17.721 9.103h17.72m-22.056-4.551H65.5"/><path fill="#fff" d="M53.629 34.286h-1.046a.74.74 0 0 0-.741.735v.05c0 .405.332.734.741.734h1.046c.41 0 .741-.329.741-.734v-.05a.74.74 0 0 0-.741-.735m10.403 0h-1.046a.74.74 0 0 0-.741.735v.05c0 .405.332.734.74.734h1.047c.41 0 .74-.329.74-.734v-.05a.74.74 0 0 0-.74-.735"/><path fill="#000" d="M54.017 36.088a.774.774 0 0 0 .776-.77.774.774 0 0 0-.776-.77.774.774 0 0 0-.777.77c0 .425.347.77.776.77m10.239 0a.774.774 0 0 0 .777-.77.774.774 0 0 0-.777-.77.774.774 0 0 0-.777.77c0 .425.348.77.777.77"/><path fill="#e9ac6a" d="m34.678 26.092 17.158.968 45.622-.933 33.009-.909a1.13 1.13 0 0 0 1.102-1.121 1.13 1.13 0 0 0-1.105-1.124l-33.003-.79-45.619-.982-17.158.947v3.941z"/><path fill="#000" d="M99.332 21.933h-1.88a.805.805 0 0 0-.809.802v2.84c0 .443.362.802.809.802h1.88a.805.805 0 0 0 .809-.802v-2.84a.805.805 0 0 0-.809-.802m31.636.665h-1.904a.685.685 0 0 0-.688.683v1.592c0 .377.308.682.688.682h1.904a.685.685 0 0 0 .689-.682V23.28a.685.685 0 0 0-.689-.683m-96.19 3.504v-3.959L4.04 20.85v6.512z"/><path fill="#000" d="M36.313 15.947h-1.52a.653.653 0 0 0-.657.65V31.9c0 .36.294.65.656.65h1.52a.653.653 0 0 0 .657-.65V16.597a.653.653 0 0 0-.656-.65"/><path fill="#e26841" d="M7.946 16.632c-1.42.145-2.455 1.406-2.305 2.815l.158 1.507a2.96 2.96 0 0 0 2.847 2.64l4.096.149a2.965 2.965 0 0 0 2.959-2.118l.533-1.804q.11-.372.102-.758c-.02-1.417-1.195-2.547-2.624-2.527l-5.537.082q-.115 0-.226.014z"/><path fill="#e26841" d="M15.765 19.299a.9.9 0 0 1 .416-.477l.542-.29a.9.9 0 0 1 .43-.108c.496 0 .894.401.894.892l-.023 5.176a4.17 4.17 0 0 1-2.361 3.735l-3.905 1.897 4.01-10.831z"/><path stroke="#1c2f54" stroke-linecap="round" stroke-miterlimit="10" stroke-width="9.265" d="M29.015 47.276c.117 2.718.876 12.524 8.434 19.312 2.543 2.388 3.89 4.099 7.277 4.979 2.15.534 6.885 1.714 11.65-.796a14.54 14.54 0 0 0 6.276-6.739"/><path fill="#e26841" d="M21.83 17.806a2.56 2.56 0 0 0-1.659 3.232l2.692 8.197 7.57-.59.349-9.442a2.5 2.5 0 0 0-.05-.61c-.287-1.389-1.655-2.28-3.053-1.996l-5.566 1.133q-.14.03-.28.073z"/><path fill="#e26841" d="m22.354 27.205-.091 26.586 14.718-3.907-6.422-23.222-8.205.546z"/><path fill="#000" d="m54.575 55.164 10.022 10.48 10.582-4.487-10.684-8.267z"/></g><g clip-path="url(#clip4_142_1689)"><path fill="#fff" d="M185.833 19.59h-8.666c-6.444 0-11.667 5.474-11.667 12.225v9.081c0 6.752 5.223 12.225 11.667 12.225h8.666c6.444 0 11.667-5.473 11.667-12.225v-9.081c0-6.751-5.223-12.225-11.667-12.225"/><mask id="mask0_142_1689" width="33" height="35" x="165" y="19" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" d="M185.833 19.59h-8.666c-6.444 0-11.667 5.474-11.667 12.225v9.081c0 6.752 5.223 12.225 11.667 12.225h8.666c6.444 0 11.667-5.473 11.667-12.225v-9.081c0-6.751-5.223-12.225-11.667-12.225"/></mask><g mask="url(#mask0_142_1689)"><path fill="#3654dd" d="M172.847 33.059c1.738 0 3.146-1.477 3.146-3.298s-1.408-3.297-3.146-3.297-3.147 1.476-3.147 3.297 1.409 3.298 3.147 3.298"/><path fill="#cdffca" d="m187.9 30.582-12.8 13.51-4.263-4.502-5.337 5.63v10.37h31.997V40.715z"/></g></g><g clip-path="url(#clip5_142_1689)"><path fill="#fff" d="M230.77 59.795h-57.673c-5.985 0-10.837 4.891-10.837 10.925s4.852 10.925 10.837 10.925h57.673c5.985 0 10.837-4.891 10.837-10.925s-4.852-10.925-10.837-10.925" opacity=".5"/><mask id="mask1_142_1689" width="80" height="23" x="162" y="59" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" d="M230.77 59.795h-57.673c-5.985 0-10.837 4.891-10.837 10.925s4.852 10.925 10.837 10.925h57.673c5.985 0 10.837-4.891 10.837-10.925s-4.852-10.925-10.837-10.925"/></mask><g mask="url(#mask1_142_1689)"><path fill="#829dfa" d="M211.193 71.644a5.6 5.6 0 0 1-1.346-.043 5 5 0 0 1-.294-.057c-2.82-.621-4.669-3.387-7.541-5.164v.025c-1.311-.822-2.833-1.44-4.761-1.555-6.884-.403-9.634 7.527-16.087 7.06-4.859-.35-9.2-8.671-12.4-9.882-3.199-1.209-6.764.002-6.764.002v19.765h57.23V68.501c-3.296.787-4.7 2.852-8.037 3.143"/></g></g></g><defs><clipPath id="clip0_142_1689"><path fill="#fff" d="M0 0h210v90H0z"/></clipPath><clipPath id="clip1_142_1689"><path fill="#fff" d="M201 16.666h37v36h-37z"/></clipPath><clipPath id="clip2_142_1689"><path fill="#fff" d="M58 9.666h102v80H58z"/></clipPath><clipPath id="clip3_142_1689"><path fill="#fff" d="M-.5 1.363h142v98H-.5z"/></clipPath><clipPath id="clip4_142_1689"><path fill="#fff" d="M165.5 19.59h32v36h-32z"/></clipPath><clipPath id="clip5_142_1689"><path fill="#fff" d="M162 59.795h80v22h-80z"/></clipPath></defs></svg></div><p class="TK-Bundle-Title">Kendo UI</p><p class="TK-Bundle-Description">Bundle of AI Tools plus four <strong>JavaScript UI libraries </strong>built natively for jQuery, Angular, React and Vue.</p></a></div><div class="TK-BtnProducts TK--Desktop"><a href="/all-products" class="TK-Dash-Featured-Link">See All Products</a></div></div><div class="TK-col-19 TK-pr30"><div class="TK-row"><div class="TK-col-6"><div class="TK-Dash-Group"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M3.333 11.667a.833.833 0 0 1-.65-1.359l8.25-8.5a.417.417 0 0 1 .717.384l-1.6 5.016a.833.833 0 0 0 .783 1.125h5.834a.833.833 0 0 1 .65 1.359l-8.25 8.5a.416.416 0 0 1-.717-.384l1.6-5.016a.833.833 0 0 0-.783-1.125z"/></svg><div><p class="TK-Dash-GroupTitle">Kendo UI</p><p class="TK-Dash-GroupDesc">Build JavaScript UI</p></div></div><hr class="TK-Dash-Separator"><div class="TK-row"><div class="TK-col-24 TK-Dash-Col--Indented"><p class="TK-Dash-Title TK--Desktop">Javascript</p><div class="TK-Dash-Links"><a href="/kendo-angular-ui" class="TK-Dash-Link" data-match-exact-path>UI for Angular</a> <a href="/kendo-vue-ui" class="TK-Dash-Link" data-match-exact-path>UI for Vue</a> <a href="/kendo-jquery-ui" class="TK-Dash-Link" data-match-exact-path>UI for jQuery</a> <a href="/kendo-react-ui" class="TK-Dash-Link" data-match-exact-path>KendoReact</a></div></div></div></div><div class="TK-col-12"><div class="TK-Dash-Group"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M15 13.333 18.333 10 15 6.667m-10 0L1.667 10 5 13.333m7.083-10L7.917 16.667"/></svg><div><p class="TK-Dash-GroupTitle">Telerik</p><p class="TK-Dash-GroupDesc">Build modern .NET business apps</p></div></div><hr class="TK-Dash-Separator"><div class="TK-row"><div class="TK-col-12 TK-Dash-Col--Indented"><div class=""><p class="TK-Dash-Title">.Net Web</p><div class="TK-Dash-Links"><a href="/blazor-ui" class="TK-Dash-Link" data-match-exact-path>UI for Blazor</a> <a href="/aspnet-core-ui" class="TK-Dash-Link" data-match-exact-path>UI for ASP.NET Core</a> <a href="/aspnet-mvc" class="TK-Dash-Link" data-match-exact-path>UI for ASP.NET MVC</a> <a href="/products/aspnet-ajax.aspx" class="TK-Dash-Link" data-match-exact-path>UI for ASP.NET AJAX</a></div><p class="TK-Dash-Title">Cross-Platform</p><div class="TK-Dash-Links"><a href="/maui-ui" class="TK-Dash-Link" data-match-exact-path>UI for MAUI</a></div></div></div><div class="TK-col-12 TK-Dash-Col--IndentedInner"><p class="TK-Dash-Title">Desktop</p><div class="TK-Dash-Links"><a href="/products/winforms.aspx" class="TK-Dash-Link" data-match-exact-path>UI for WinForms</a> <a href="/products/wpf/overview.aspx" class="TK-Dash-Link" data-match-exact-path>UI for WPF</a> <a href="/winui" class="TK-Dash-Link" data-match-exact-path>UI for Win UI</a></div><p class="TK-Dash-Title">Reporting and Documents</p><div class="TK-Dash-Links"><a href="/products/reporting.aspx" class="TK-Dash-Link" data-match-exact-path>Reporting</a> <a href="/report-server" class="TK-Dash-Link" data-match-exact-path>Report Server</a> <a href="/document-processing-libraries" class="TK-Dash-Link" data-match-exact-path>Document Processing Library</a></div></div></div></div><div class="TK-col-6"><div class="TK-Dash-Group"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="#000" d="m5.853 13.845.08.221.22.08 2.37.855-2.37.855-.22.08-.08.221-.856 2.37-.854-2.37-.08-.22-.221-.08L1.472 15l2.37-.855.22-.08.08-.221.855-2.37zm8.306-7.033.08.203.201.079 4.197 1.656-4.197 1.656-.2.08-.08.202-1.657 4.198-1.655-4.197-.08-.203-.202-.08L6.37 8.75l4.197-1.656.203-.08.079-.202 1.655-4.198zM4.277 2.926l.08.22.22.08 1.455.526-1.455.527-.22.08-.08.22-.527 1.454-.525-1.454-.08-.22-.221-.08-1.451-.525 1.455-.523.742-.266-.338-.338.418-1.156z"/></svg><div><p class="TK-Dash-GroupTitle">AI for Developers & IT</p><p class="TK-Dash-GroupDesc">Ensure AI program success</p></div></div><hr class="TK-Dash-Separator"><div class="TK-row"><div class="TK-col-24 TK-Dash-Col--Indented"><p class="TK-Dash-Title TK--Desktop">AI Coding</p><div class="TK-Dash-Links"><a href="/mcp-servers" class="TK-Dash-Link TK-New" data-match-exact-path>MCP Servers</a> <a href="/ai-components" class="TK-Dash-Link TK-New" data-match-exact-path>AI-Ready Components</a></div><p class="TK-Dash-Title TK--Desktop">AI Engineering</p><div class="TK-Dash-Links"><a href="/ai-observability-platform" class="TK-Dash-Link TK-New" data-match-exact-path>AI Observability</a></div></div></div></div></div><div class="TK-row"><div class="TK-col-24"><div class="TK-Dash-Group"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><g stroke="#000" stroke-miterlimit="10" clip-path="url(#clip0_151_4520)"><path d="M17.15 17.865H2.85m.65-9.132 6.5 3.75 6.5-3.75M10 .316v11.693"/></g><defs><clipPath id="clip0_151_4520"><path fill="#fff" d="M0 0h20v20H0z"/></clipPath></defs></svg><div><p class="TK-Dash-GroupTitle">Additional Tools</p><p class="TK-Dash-GroupDesc">Enhance the developer and designer experience</p></div></div><hr class="TK-Dash-Separator"><div class="TK-row"><div class="TK-col-6 TK-Dash-Col--Indented"><p class="TK-Dash-Title">Testing &amp; Mocking</p><div class="TK-Dash-Links"><a href="/teststudio" class="TK-Dash-Link" data-match-exact-path>Test Studio</a> <a href="/products/mocking.aspx" class="TK-Dash-Link" data-match-exact-path>JustMock</a></div></div><div class="TK-col-6 TK-Dash-Col--Indented"><p class="TK-Dash-Title">Debugging</p><div class="TK-Dash-Links"><a href="/fiddler" class="TK-Dash-Link" data-match-exact-path>Fiddler</a> <a href="/fiddler/fiddler-everywhere" class="TK-Dash-Link TK-Dash-Link--Indented" data-match-exact-path>Fiddler Everywhere</a> <a href="/fiddler/fiddler-classic" class="TK-Dash-Link TK-Dash-Link--Indented" data-match-exact-path>Fiddler Classic</a> <a href="/fiddler/fiddler-everywhere-reporter" class="TK-Dash-Link TK-Dash-Link--Indented" data-match-exact-path>Fiddler Everywhere Reporter</a> <a href="/fiddlercore" class="TK-Dash-Link TK-Dash-Link--Indented" data-match-exact-path>FiddlerCore</a></div></div><div class="TK-col-6 TK-Dash-Col--IndentedInner"><p class="TK-Dash-Title">UI/UX Tools</p><div class="TK-Dash-Links"><a href="/themebuilder" class="TK-Dash-Link" data-match-exact-path>ThemeBuilder</a> <a href="/page-templates-and-ui-blocks" class="TK-Dash-Link" data-match-exact-path>Page Templates and Building Blocks</a> <a href="/design-system" class="TK-Dash-Link" data-match-exact-path>Design System Kit</a></div><p class="TK-Dash-Title">CMS</p><div class="TK-Dash-Links"><a href="https://www.progress.com/sitefinity-cms" class="TK-Dash-Link" data-match-exact-path>Sitefinity</a></div></div><div class="TK-col-6 TK-Dash-Col--Indented"><p class="TK-Dash-Title">Free Tools</p><div class="TK-Dash-Links"><a href="/kendo-react-ui/free-react-components" class="TK-Dash-Link">KendoReact Free</a> <a href="https://converter.telerik.com" class="TK-Dash-Link">VB.NET to C# Converter</a> <a href="/teststudio/testing-framework" class="TK-Dash-Link" data-match-exact-path>Testing Framework</a></div></div></div></div></div><div class="TK-BtnProducts TK--Mobile"><hr class="TK-Dash-Separator"><a href="/all-products" class="TK-Dash-Featured-Link">See All Products</a></div></div></div></div></div><div class="TK-Dash-Extension TK--Mobile"></div></li></ul><div class="TK-Drawer" id="js-tlrk-nav-drawer"><ul class="TK-Context-Menu TK-Menu"><li class="TK-Menu-Item"><a href="/support/demos" class="TK-Menu-Item-Link" data-match-exact-path>Demos</a></li><li class="TK-Menu-Item"><a href="/services" class="TK-Menu-Item-Link" data-match-exact-path>Services</a></li><li class="TK-Menu-Item"><a href="/blogs" class="TK-Menu-Item-Link" data-match-starts-with-path>Blogs</a></li><li class="TK-Menu-Item"><a href="/support" class="TK-Menu-Item-Link" data-match-exact-path data-match-pattern data-pattern="telerik.com/support/kb/aspnet-ajax|telerik.com/support/kb/silverlight|telerik.com/support/kb/justmock">Docs &amp; Support</a></li><li class="TK-Menu-Item"><a href="/purchase.aspx" class="TK-Menu-Item-Link" data-match-exact-path>Pricing</a></li></ul><ul class="TK-Aside-Menu"><li class="TK-Aside-Menu-Item TK-Aside-Menu-Button--Search"><a href="/search" class="TK-Aside-Menu-Link js-tlrk-nav-search-link" title="Search" data-match-exact-path><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="15" height="15" viewBox="0 0 512 512" xml:space="preserve"><path d="M504.4,464L378.9,338.5c25.6-34.8,40.8-77.7,40.8-124.2c0-115.7-94.1-209.8-209.8-209.8C94.2,4.5,0,98.6,0,214.3 C0,330,94.2,424.1,209.9,424.1c50.5,0,96.9-17.9,133.1-47.8l124.5,124.5c5.1,5.1,11.8,7.6,18.4,7.6s13.3-2.5,18.4-7.6 C514.6,490.7,514.6,474.2,504.4,464z M52.2,214.3c0-87,70.7-157.7,157.7-157.7s157.7,70.7,157.7,157.7c0,41-15.7,78.3-41.4,106.4 c-0.3,0.3-0.7,0.6-1,0.9c-0.7,0.7-1.3,1.4-1.9,2.2c-28.7,29.7-68.9,48.2-113.4,48.2C122.9,372,52.2,301.3,52.2,214.3z"></path></svg></a></li><li class="TK-Aside-Menu-Item"><a href="https://store.progress.com/shopping-cart" data-empty-url="/purchase.aspx?filter&#x3D;web" class="TK-Aside-Menu-Link js-tlrk-nav-shopping-cart-counter-container" aria-label="Shopping cart" title="Shopping cart" data-match-exact-path><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M11.75 14.5a1 1 0 111-1 1 1 0 01-1 1zm-8.25 0a1 1 0 111-1 1 1 0 01-1 1zm8.18-3H4.25A1.752 1.752 0 012.5 9.75v-8a.25.25 0 00-.25-.25H.75a.75.75 0 010-1.5h1.5A1.752 1.752 0 014 1.75v.75h8.78a1.75 1.75 0 011.72 2.093l-1.1 5.5a1.754 1.754 0 01-1.72 1.407zM4 4v5.75a.25.25 0 00.25.25h7.43a.251.251 0 00.245-.2l1.1-5.5a.251.251 0 00-.245-.3z" transform="translate(.75 .75)"/></svg> <span class="TK-Aside-Menu-Link-Text">Shopping cart</span></a></li><li class="TK-Aside-Menu-Item TK--Auth TK-dn" id="js-tlrk-nav-auth-container"><button type="button" class="TK-Aside-Menu-Button"><span class="TK-Avatar"><img width="20" height="20" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="{[AvatarUrl]}" onerror="this.onerror=null;this.src='/sfimages/default-source/avatars/avatar.webp'" alt="Your Avatar" class="TK-Avatar-Media" id="js-tlrk-nav-avatar-image"> </span><span class="TK-Aside-Menu-Button-Text">Your Account <i class="TK-Arrow"></i></span></button><ul class="TK-Dropdown TK-Dropdown--Gray TK-Dropdown--Small TK-Dropdown--Mobile"><li><a href="/account" class="TK-Dropdown-Link" data-match-exact-path><span>Account Overview</span></a></li><li><a href="/account/your-licenses" class="TK-Dropdown-Link" data-match-starts-with-path><span>Your Licenses</span></a></li><li><a href="/account/downloads" class="TK-Dropdown-Link" data-match-starts-with-path><span>Downloads</span></a></li><li><a href="/account/support-center" class="TK-Dropdown-Link" data-match-starts-with-path><span>Support Center</span></a></li><li><a href="/forums/profile/mine" class="TK-Dropdown-Link" data-match-exact-path><span>Forum Profile</span></a></li><li><a href="/account/payment-methods" class="TK-Dropdown-Link" data-match-starts-with-path><span>Payment Methods</span></a></li><li><a href="/account/profile" class="TK-Dropdown-Link" data-match-exact-path><span>Edit Profile</span></a></li><li><a data-href="{[LogoutUrl]}" class="TK-Dropdown-Link" id="js-tlrk-nav-log-out" rel="nofollow"><span class="TK-Dropdown-Link-Spacer">Log out</span></a></li></ul></li><li class="TK-Aside-Menu-Item TK--Not-Auth" id="js-tlrk-nav-not-auth-container"><a href="/account" title="Your Account" class="TK-Aside-Menu-Button TK-tac" data-match-exact-path><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path xmlns="http://www.w3.org/2000/svg" d="M13.75 14.5a.751.751 0 01-.75-.75v-.5a5.75 5.75 0 10-11.5 0v.5a.75.75 0 01-1.5 0v-.5a7.175 7.175 0 011.319-4.159A7.262 7.262 0 014.69 6.476 3.717 3.717 0 013.5 3.75a3.75 3.75 0 117.5 0 3.716 3.716 0 01-1.19 2.726 7.263 7.263 0 013.371 2.615A7.175 7.175 0 0114.5 13.25v.5a.751.751 0 01-.75.75zm-6.5-13A2.25 2.25 0 109.5 3.75 2.253 2.253 0 007.25 1.5z" transform="translate(.75 .75)"/></svg> <span class="TK-Aside-Menu-Button-Text">Login</span></a></li><li class="TK-Aside-Menu-Item TK-bn"><a href="/contact" class="TK-Aside-Menu-Button TK-Button--CTA-Sec" title="Contact Us" data-match-starts-with-path><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M12.75 14.5h-11A1.752 1.752 0 010 12.753v-7.37a.092.092 0 01.005-.026.1.1 0 000-.023.782.782 0 01.01-.093.63.63 0 01.02-.071l.007-.021V5.14a.828.828 0 01.036-.088.673.673 0 01.045-.078.078.078 0 00.009-.02.069.069 0 01.01-.02.1.1 0 01.028-.019.1.1 0 00.019-.015.68.68 0 01.077-.076.124.124 0 00.015-.024.106.106 0 01.019-.016L6.2.354a1.736 1.736 0 012.1 0l5.9 4.431a.1.1 0 01.018.02.118.118 0 00.017.019.591.591 0 01.076.075.109.109 0 00.02.018.1.1 0 01.019.017.077.077 0 01.01.02.088.088 0 00.01.02c.017.026.031.053.045.078a.9.9 0 01.039.1l.007.021a.5.5 0 01.03.164.1.1 0 000 .023.092.092 0 01.005.027v7.37A1.752 1.752 0 0112.75 14.5zM1.5 6.883v5.87a.253.253 0 00.25.247h11a.253.253 0 00.249-.25V6.883L8.3 10.412a1.737 1.737 0 01-2.1 0zM7.25 1.5a.248.248 0 00-.15.053L2 5.383l5.1 3.83a.253.253 0 00.15.052.245.245 0 00.15-.053l5.1-3.829-5.1-3.83a.248.248 0 00-.15-.053z" transform="translate(.75 .75)"/></svg> <span class="TK-Aside-Menu-Button-Text">Contact Us</span></a></li><li class="TK-Aside-Menu-Item TK-bn"><a href="/download" class="TK-Button TK-Button--CTA">Get A Free Trial</a></li></ul></div><div class="TK-Drawer-Extension"></div><div class="TK-Aside TK--Mobile"><ul class="TK-Aside-Menu"><li class="TK-Aside-Menu-Item TK-Aside-Menu-Button--Search"><a href="/search" class="TK-Aside-Menu-Link js-tlrk-nav-search-link" title="Search" data-match-exact-path><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="15" height="15" viewBox="0 0 512 512" xml:space="preserve"><path d="M504.4,464L378.9,338.5c25.6-34.8,40.8-77.7,40.8-124.2c0-115.7-94.1-209.8-209.8-209.8C94.2,4.5,0,98.6,0,214.3 C0,330,94.2,424.1,209.9,424.1c50.5,0,96.9-17.9,133.1-47.8l124.5,124.5c5.1,5.1,11.8,7.6,18.4,7.6s13.3-2.5,18.4-7.6 C514.6,490.7,514.6,474.2,504.4,464z M52.2,214.3c0-87,70.7-157.7,157.7-157.7s157.7,70.7,157.7,157.7c0,41-15.7,78.3-41.4,106.4 c-0.3,0.3-0.7,0.6-1,0.9c-0.7,0.7-1.3,1.4-1.9,2.2c-28.7,29.7-68.9,48.2-113.4,48.2C122.9,372,52.2,301.3,52.2,214.3z"></path></svg></a></li><li class="TK-Aside-Menu-Item"><button type="button" aria-label="Main Navigation" class="TK-Aside-Menu-Button TK-Aside-Menu-Button--Toggle-Drawer" id="js-tlrk-nav-drawer-button"><svg id="menu" viewBox="0 0 100 80" class="WUG-Svg WUG-Svg-Hamburger" width="22" height="16"><line x1="10" y1="40" x2="90" y2="40"></line><line x1="10" y1="40" x2="90" y2="40"></line><line x1="10" y1="40" x2="90" y2="40"></line></svg></button></li></ul></div></div></section><button type="button" class="TK-Nav-Overlay" id="js-tlrk-nav-overlay">close mobile menu</button></nav><script async type="module" src="https://d6vtbcy3ong79.cloudfront.net/telerik-navigation/3.7.37/js/index.min.mjs"></script><div id="ContentPlaceholder1_T53129E6C012_Col00" class="sf_colsIn PageWrapper no-tlrk" data-sf-element="EmptyWrapper" data-placeholder-label="EmptyWrapper"><section class="Section u-pt5 u-pb3 u-zi5 BlogsHeader" data-sf-element="Section" data-placeholder-label="Section">
  <div id="ContentPlaceholder1_T19FA31EB023_Col00" class="sf_colsIn container u-tac" data-sf-element="Section Content" data-placeholder-label="Section Content">

<a href="/blogs"><img title="Telerik blogs" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/svg/blogs-ninjasa0020c9284b44432a37b7f0f41d28d1d.svg?sfvrsn=5bb648bd_3" alt="Telerik blogs" /></a>

  </div>
</section>
<div id="ContentPlaceholder1_T19FA31EB002_Col00" class="sf_colsIn" data-sf-element="EmptyWrapper" data-placeholder-label="EmptyWrapper"><div class="Section Section--featured u-oh u-pt10 u-pb1 tlrk u-xl-pt4 u-m-pt3" data-sf-element="Section" data-placeholder-label="Section Banner">
  <div id="ContentPlaceholder1_C140_Col00" class="sf_colsIn Section-bg Section-bg--n u-xl-ha u-bg-blue" data-sf-element="Section Background" data-placeholder-label="Section Background">

        <img loading="lazy" class="u-xl-mt2" src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/banner/blogs-hero-banner-new28a38102b09ee498fb7e2f50849a76a8a.svg?sfvrsn=76d6592e_1" title="blogs hero banner" alt="blogs hero banner"
         
          />
</div>
  <div id="ContentPlaceholder1_C140_Col01" class="sf_colsIn container" data-sf-element="Section Content" data-placeholder-label="Section Content"><div class="row u-mb8 u-xl-mb4 u-l-mb4 u-m-mb3 u-bg-" data-sf-element="Row">
  <div id="ContentPlaceholder1_C143_Col00" class="sf_colsIn col-9 u-xl-col-10" data-sf-element="Column 1" data-placeholder-label="Column 1">

<h1 class="u-c-white u-xl-mb0 u-s-mb1">Telerik &amp; Kendo UI Blog</h1>

<p class="-fs30">Your Source for .NET &amp; JavaScript Developer Info.</p></div>
</div>
<div class="row row--highlighted" data-sf-element="Row">
  <div id="ContentPlaceholder1_C146_Col00" class="sf_colsIn col-8 u-m-col-12 u-m-mb3" data-sf-element="Column 1" data-placeholder-label="Column 1">

<div class="Elevated u-br10 u-oh BlogPost-Featured u-mb0">
  <div class="Embed" style="padding-bottom: 38.7%">
    <div class="Section-bg">
	<img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-kendo-uit-light-770x298-featured.png?sfvrsn=1e75e699_2" loading="lazy" class="u-full" alt="" />
    </div>
  </div>
  <div class="u-tint-white u-p2 u-pt4 u-pr u-dfc u-xl-pt1">
    <div class="u-mb1 u-xl-mb0">
        <span>
                <a class='Tag u-fs11' href='/blogs/artificial-intelligence'>
                  AI
                </a> 
                <a class='Tag u-fs11' href='/blogs/web'>
                  Web
                </a> 
                <a class='Tag u-fs11' href='/blogs/web-blazor'>
                  Blazor
                </a> 
                <a class='Tag u-fs11' href='/blogs/web-angular'>
                  Angular
                </a> 
                <a class='Tag u-fs11' href='/blogs/web-react'>
                  React
                </a> 
        </span>
    </div>
    <h2 class="u-fs36 u-fs40 u-mb3">
      <a href='/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder'>Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder</a>
    </h2>
    <div class="Meta u-mta u-pr6 u-xl-mr2 u-s-pr4">
       <span class="u-mr055 u-pt0 u-vam">
         <div class="sfitemDetails sfdetails">
          by <a href='/blogs/author/hassan-djirdeh'>Hassan Djirdeh</a>
        </div>
       </span>
      <span class="u-ml0 u-mt1 u-mr055">
        <span class="icon-date u-fs20 u-vam"></span>
        <span class="u-vam">April 08, 2026</span>
      </span>
      <span class="u-ml0 u-mt1">10 min read</span>
      <a href="#" class="ShareButton js-open-sharer u-pb1 u-mt1 u-vam">
        <span class="icon-share u-fs20 u-vam"></span>
        <span class="u-vam">Share</span>
      </a>
      <div class="Blogs-Share">     
        <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder'> <span></span> </a>
        <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder'> <span></span> </a> 
        <a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder'> <span></span> </a>
        <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
      </div>
    </div>
  </div>
</div></div>
  <div id="ContentPlaceholder1_C146_Col01" class="sf_colsIn col-4 u-m-col-12" data-sf-element="Column 2" data-placeholder-label="Column 2">




<div class="Elevated u-br10 u-oh BlogPost-Featured u-mb0">
  <div class="Embed" style="padding-bottom: 38.7%">
    <div class="Section-bg">
  <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/all-mascotst-dark-770x298-featured.png?sfvrsn=b3241b2e_2" loading="lazy" class="u-full" alt="" />
    </div>
  </div>
  <div class="u-tint-white u-p2 u-pt0 u-pr u-dfc">
    <div>
        <span>
                <a class='Tag u-fs11' href='/blogs/artificial-intelligence'>
                  AI
                </a> 
                <a class='Tag u-fs11' href='/blogs/web'>
                  Web
                </a> 
                <a class='Tag u-fs11' href='/blogs/design'>
                  Design
                </a> 
        </span>
    </div>
    <h2 class="u-fs22 u-mb2 h3">
      <a href='/blogs/workflows-age-ai-how-design-development-changed-what-comes-next'>Workflows in the Age of AI: How Design &amp; Development Workflows Changed in 2025—and What Comes Next</a>
    </h2>
    <div class="Meta u-mta u-pr2">
       <span class="u-mr055 u-mt1 u-vam">
         <div class="sfitemDetails sfdetails">
          by <a href='/blogs/author/kathryn-grayson-nanz'>Kathryn Grayson Nanz</a>
        </div>
       </span>
      <span class="u-ml0 u-mt1 u-vam u-mr055">
        <span class="icon-date u-fs20 u-vam"></span>
        <span class="u-vam">April 07, 2026</span>
      </span>
      <span class="u-mt1 u-vam u-ml0">3 min read</span>
      <a href="#" class="ShareButton icon-share u-fs20 js-open-sharer u-pb1 u-mt1 u-vam" title="share"></a>
      <div class="Blogs-Share">     
        <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next'  > <span></span> </a>
        <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next'    > <span></span> </a> 
        <a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next'    > <span></span> </a>
        <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
      </div>
    </div>
  </div>
</div>




<div class="Elevated u-br10 u-oh BlogPost-Featured u-mb0">
  <div class="Embed" style="padding-bottom: 38.7%">
    <div class="Section-bg">
  <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/ait-telerik-tb-770x298-featured.png?sfvrsn=2ae9d57e_4" loading="lazy" class="u-full" alt="AI with Telerik Ninja" />
    </div>
  </div>
  <div class="u-tint-white u-p2 u-pt0 u-pr u-dfc">
    <div>
        <span>
                <a class='Tag u-fs11' href='/blogs/artificial-intelligence'>
                  AI
                </a> 
                <a class='Tag u-fs11' href='/blogs/web'>
                  Web
                </a> 
        </span>
    </div>
    <h2 class="u-fs22 u-mb2 h3">
      <a href='/blogs/what-weve-learned-designing-dev-tools-ai'>What We’ve Learned Designing Dev Tools in the Age of AI</a>
    </h2>
    <div class="Meta u-mta u-pr2">
       <span class="u-mr055 u-mt1 u-vam">
         <div class="sfitemDetails sfdetails">
          by <a href='/blogs/author/alyssa-nicoll'>Alyssa Nicoll</a>
        </div>
       </span>
      <span class="u-ml0 u-mt1 u-vam u-mr055">
        <span class="icon-date u-fs20 u-vam"></span>
        <span class="u-vam">April 08, 2026</span>
      </span>
      <span class="u-mt1 u-vam u-ml0">7 min read</span>
      <a href="#" class="ShareButton icon-share u-fs20 js-open-sharer u-pb1 u-mt1 u-vam" title="share"></a>
      <div class="Blogs-Share">     
        <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai'  > <span></span> </a>
        <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai'    > <span></span> </a> 
        <a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai'    > <span></span> </a>
        <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
      </div>
    </div>
  </div>
</div></div>
</div>
</div>
</div>
</div>
<section class="Section u-pt5 u-pb0 u-zi2" data-sf-element="Section" data-placeholder-label="Section">
  <div id="ContentPlaceholder1_T19FA31EB024_Col00" class="sf_colsIn container" data-sf-element="Section Content" data-placeholder-label="Section Content"><div id="ContentPlaceholder1_T19FA31EB004_Col00" class="sf_colsIn" data-sf-element="GridContainer" data-placeholder-label="GridContainer"><div class="BlogsLayout row row--equal u-small-db" data-sf-element="Row">
  <div id="ContentPlaceholder1_T19FA31EB003_Col00" class="sf_colsIn col-9" data-sf-element="Column 1" data-placeholder-label="Column 1">

            <div class="sfContentBlock">
                <h2 class="BlogSection-Title u-mt0 h4">Latest</h2>
            </div>


<div id="scrollAnchor"></div>     
<div>
    <ul class="List BlogPost-list" itemtype="http://schema.org/Blog">

          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors' >AI Crash Course: Jailbreaking, Prompt Extraction and Bad Actors</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/ait-gen-list-image-540x246da5a95c6e3f44b6f84ef7995232b2a04.png?sfvrsn=40aedead_2" alt="" title="AIT-gen-List Image 540x246"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Applications that include features like AI-powered search, chatbots or content generators require a user prompt in addition to our developer-written system prompt. That means an external party also has the chance to give instructions to our model—and those instructions won’t always be aligned with what we want the model to do.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/kathryn-grayson-nanz.jpg?sfvrsn=d89eb2cb_1' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/kathryn-grayson-nanz'>Kathryn Grayson Nanz</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 14, 2026
                                </span>
                                <span class="u-ml0 u-mt1">5 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='AI Crash Course: Jailbreaking, Prompt Extraction and Bad Actors' data-sharer-url='http://www.telerik.com/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='AI Crash Course: Jailbreaking, Prompt Extraction and Bad Actors'  data-sharer-url='http://www.telerik.com/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='AI Crash Course: Jailbreaking, Prompt Extraction and Bad Actors'  data-sharer-url='http://www.telerik.com/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                        <a class='Tag' href='/blogs/web-react'>
                              React
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/ai-productivity-react-developers-2026' >AI Productivity for React Developers in 2026</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/reactt3-dark-270x123.png?sfvrsn=3d00f29f_3" alt="" title="ReactT3-dark-270x123"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Developers are not blindly handing work over to AI, but treating it as a strategic assistant. Here’s what this looks like for React devs in 2026.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/authors/hassan-djirdeh.jpg?sfvrsn=f1beaf51_2' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/hassan-djirdeh'>Hassan Djirdeh</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 13, 2026
                                </span>
                                <span class="u-ml0 u-mt1">9 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='AI Productivity for React Developers in 2026' data-sharer-url='http://www.telerik.com/blogs/ai-productivity-react-developers-2026' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='AI Productivity for React Developers in 2026'  data-sharer-url='http://www.telerik.com/blogs/ai-productivity-react-developers-2026'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='AI Productivity for React Developers in 2026'  data-sharer-url='http://www.telerik.com/blogs/ai-productivity-react-developers-2026' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/ai-productivity-react-developers-2026' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/mobile'>
                              Mobile
                            </a> 
                        <a class='Tag' href='/blogs/mobile-net-maui'>
                              .NET MAUI/Hybrid
                            </a> 
                        <a class='Tag' href='/blogs/desktop'>
                              Desktop
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/building-instagram-style-like-animation-net-maui' >Building an Instagram-Style Like Animation in .NET MAUI</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/net-mauit2-dark-270x123-thumbnail.png?sfvrsn=c0dca3de_2" alt="" title="NET-MAUIT2-dark-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Learn how to make your .NET MAUI app a little more engaging with interactive animations. We’ll see how to animate a heart for a like action.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/leomarisreyesr.jpg?sfvrsn=cdaad6ea_0' alt='LeomarisReyes' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/leomaris-reyes'>Leomaris Reyes</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 13, 2026
                                </span>
                                <span class="u-ml0 u-mt1">6 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Building an Instagram-Style Like Animation in .NET MAUI' data-sharer-url='http://www.telerik.com/blogs/building-instagram-style-like-animation-net-maui' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Building an Instagram-Style Like Animation in .NET MAUI'  data-sharer-url='http://www.telerik.com/blogs/building-instagram-style-like-animation-net-maui'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Building an Instagram-Style Like Animation in .NET MAUI'  data-sharer-url='http://www.telerik.com/blogs/building-instagram-style-like-animation-net-maui' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/building-instagram-style-like-animation-net-maui' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                        <a class='Tag' href='/blogs/web-react'>
                              React
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/simplified-authentication-better-auth' >Simplified Authentication with Better Auth</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/how-tot2-light-270x123.png?sfvrsn=9f40563e_3" alt="" title="How-ToT2-light-270x123"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                We’ll build a complete email and password authentication system with session management to see how Better Auth works. Users will be able to sign up, log in and stay authenticated across page refreshes. We’ll use Next.js, Drizzle ORM and SQLite.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/authors/chris-nwamba.jpg?sfvrsn=4b029463_2' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/christian-nwamba'>Christian Nwamba</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 09, 2026
                                </span>
                                <span class="u-ml0 u-mt1">15 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Simplified Authentication with Better Auth' data-sharer-url='http://www.telerik.com/blogs/simplified-authentication-better-auth' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Simplified Authentication with Better Auth'  data-sharer-url='http://www.telerik.com/blogs/simplified-authentication-better-auth'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Simplified Authentication with Better Auth'  data-sharer-url='http://www.telerik.com/blogs/simplified-authentication-better-auth' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/simplified-authentication-better-auth' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                        <a class='Tag' href='/blogs/web-blazor'>
                              Blazor
                            </a> 
                        <a class='Tag' href='/blogs/web-angular'>
                              Angular
                            </a> 
                        <a class='Tag' href='/blogs/web-react'>
                              React
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder' >Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-kendo-uit-light-270x123-thumbnail.png?sfvrsn=c8610c36_2" alt="" title="Telerik-Kendo-UIT-light-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                See how the AI-based UI creation tools from devtools powerhouses Progress and Syncfusion stack up when they go head to head.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/authors/hassan-djirdeh.jpg?sfvrsn=f1beaf51_2' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/hassan-djirdeh'>Hassan Djirdeh</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 08, 2026
                                </span>
                                <span class="u-ml0 u-mt1">10 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder' data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder'  data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder'  data-sharer-url='http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/what-weve-learned-designing-dev-tools-ai' >What We’ve Learned Designing Dev Tools in the Age of AI</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/ait-telerik-list-image-540x246.png?sfvrsn=a53d2c4e_6" alt="AI Telerik Ninja" title="AIT-Telerik-List Image 540x246"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                AI didn’t just change how we write code. It changed how we build products. See what four lessons Progress Telerik and Kendo UI engineering and product teams have learned.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/alyssanicoll.png?sfvrsn=a281bf67_1' alt='AlyssaNicoll' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/alyssa-nicoll'>Alyssa Nicoll</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 08, 2026
                                </span>
                                <span class="u-ml0 u-mt1">7 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='What We’ve Learned Designing Dev Tools in the Age of AI' data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='What We’ve Learned Designing Dev Tools in the Age of AI'  data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='What We’ve Learned Designing Dev Tools in the Age of AI'  data-sharer-url='http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                        <a class='Tag' href='/blogs/productivity'>
                              Productivity
                            </a> 
                        <a class='Tag' href='/blogs/productivity-document-processing'>
                              Document Processing
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama' >Creating a Custom AI Agent with Telerik Tools 1: Configuring an LLM for Azure or Ollama</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-document-processingt2-dark-270x123-thumbnail.png?sfvrsn=f25cf4cc_2" alt="" title="Telerik-Document-ProcessingT2-dark-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Create a custom RAG-enabled AI agent for an LLM with Progress Telerik Document Processing Libraries AI connectors.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/peter-vogel.jpg?sfvrsn=7b921c95_1' alt='Peter Vogel' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/peter-vogel'>Peter Vogel</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 07, 2026
                                </span>
                                <span class="u-ml0 u-mt1">12 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Creating a Custom AI Agent with Telerik Tools 1: Configuring an LLM for Azure or Ollama' data-sharer-url='http://www.telerik.com/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Creating a Custom AI Agent with Telerik Tools 1: Configuring an LLM for Azure or Ollama'  data-sharer-url='http://www.telerik.com/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Creating a Custom AI Agent with Telerik Tools 1: Configuring an LLM for Azure or Ollama'  data-sharer-url='http://www.telerik.com/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/artificial-intelligence'>
                              AI
                            </a> 
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                        <a class='Tag' href='/blogs/design'>
                              Design
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/workflows-age-ai-how-design-development-changed-what-comes-next' >Workflows in the Age of AI: How Design &amp; Development Workflows Changed in 2025—and What Comes Next</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/all-mascotst-dark-270x123-thumbnail.png?sfvrsn=d4c75668_2" alt="" title="All-MascotsT-dark-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                We asked 200+ respondents across design and development about the ways they’re leveraging new AI capabilities in their work. Download the full report and check out these top takeaways.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/kathryn-grayson-nanz.jpg?sfvrsn=d89eb2cb_1' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/kathryn-grayson-nanz'>Kathryn Grayson Nanz</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 07, 2026
                                </span>
                                <span class="u-ml0 u-mt1">3 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Workflows in the Age of AI: How Design &amp; Development Workflows Changed in 2025—and What Comes Next' data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Workflows in the Age of AI: How Design &amp; Development Workflows Changed in 2025—and What Comes Next'  data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Workflows in the Age of AI: How Design &amp; Development Workflows Changed in 2025—and What Comes Next'  data-sharer-url='http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/web'>
                              Web
                            </a> 
                        <a class='Tag' href='/blogs/web-blazor'>
                              Blazor
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries' >Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/blazort6-light-270x123-thumbnail.png?sfvrsn=219b8983_2" alt="" title="BlazorT6-light-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Responsive design is the reason applications feel polished and user-friendly. Learn how to build responsive Blazor web applications using CSS media queries.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/claudio-bernasconi2d26da50-4728-41a1-b597-8b2925683810.jpg?sfvrsn=6b72110b_3' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/claudio-bernasconi'>Claudio Bernasconi</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 06, 2026
                                </span>
                                <span class="u-ml0 u-mt1">7 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries' data-sharer-url='http://www.telerik.com/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries'  data-sharer-url='http://www.telerik.com/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries'  data-sharer-url='http://www.telerik.com/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
          <li itemprop="blogPost" >
              <div class="BlogPost">
                <div class="Info">
                      <span>
                        <a class='Tag' href='/blogs/mobile'>
                              Mobile
                            </a> 
                        <a class='Tag' href='/blogs/mobile-net-maui'>
                              .NET MAUI/Hybrid
                            </a> 
                        <a class='Tag' href='/blogs/desktop'>
                              Desktop
                            </a> 
                      </span>
                  <h3 class="h2 u-mb3 u-fs31">
                      <a href='/blogs/getting-started-net-maui-speech-to-text-button-control' >Getting Started with the .NET MAUI Speech-to-Text Button Control</a>
                     
                  </h3>
                      <div class="row">
                        <div class="col-4 -l-full -l-mb2">
                           <div class="post-thumb">
                             <img src="https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-net-mauit2-light-270x123-thumbnail.png?sfvrsn=ad2dea89_2" alt="" title="Telerik-NET-MAUIT2-light-270x123 Thumbnail"  style=height:auto;width:100%;max-height:220px;max-width:870px; />                              
                           </div>
                        </div>
                        <div class="col-8 -l-full">
                             <div class="u-pb2" >
                                Add speech-to-text options to your note-taking, chat, meeting or many other types of apps, so your users can skip manual typing in your .NET MAUI app.
                             </div>
                              <div class="Meta">
                                   <span class="u-mr055">
                                    <div class="sfitemDetails sfdetails">
                                        <img src='https://d585tldpucybw.cloudfront.net/sfimages/default-source/authors/hectorperez_1000.png?sfvrsn=28c464ed_2' alt='' loading="lazy" width="32" height="32" />
                                      by <a href='/blogs/author/hector-perez'>H&#233;ctor P&#233;rez</a>
                                    </div>
                                   </span>
                                <span class="icon-date u-ml0 u-mr055">
                                  April 02, 2026
                                </span>
                                <span class="u-ml0 u-mt1">8 min read</span>
                                <span class="u-pr share-icon" aria-label="Social share">
                                  <a href="#" class="js-open-sharer icon-share"> Share</a>
                                  <div class="Blogs-Share js-count-them">
                                    <a href="#" class="icon-facebook-full js-share-facebook" data-tlrk-plugin="sharer" data-sharer-media="facebook" data-sharer-text='Getting Started with the .NET MAUI Speech-to-Text Button Control' data-sharer-url='http://www.telerik.com/blogs/getting-started-net-maui-speech-to-text-button-control' > <span></span> </a>
                                    <a href="#" class="icon-twitter-full js-share-twitter" data-tlrk-plugin="sharer" data-sharer-media="twitter" data-sharer-text='Getting Started with the .NET MAUI Speech-to-Text Button Control'  data-sharer-url='http://www.telerik.com/blogs/getting-started-net-maui-speech-to-text-button-control'> <span></span> </a>
                                    <br><a href="#" class="icon-linkedin-full  js-share-linkedin"  data-tlrk-plugin="sharer" data-sharer-media="linkedin" data-sharer-text='Getting Started with the .NET MAUI Speech-to-Text Button Control'  data-sharer-url='http://www.telerik.com/blogs/getting-started-net-maui-speech-to-text-button-control' > <span></span> </a>
                                    <a href='https://www.reddit.com/submit?url=http://www.telerik.com/blogs/getting-started-net-maui-speech-to-text-button-control' class="icon-reddit-full js-share-reddit popupMeJS" > <span></span> </a>
                                  </div>
                                </span>
                              </div>
                          </div>
                       </div>
                </div>
              </div>
            </li>
    </ul>
  
   <style>
         .post-thumb {
           height: 123px;
           overflow: hidden;
           max-width: 270px;
         }
         .post-thumb .top-image {
          /*
           min-height: 123px !important;
           min-width: 100% !important;
           width: auto !important;
           min-height: 123px !important;
           width: auto !important;
           margin-top: 0 !important;
           height: 123px !important;
           max-width: inherit;
           margin-left: -40%;
          */
                min-height: 123px !important;
                min-width: 100% !important;
                width: auto !important;
                margin-left: -40% !important;
                margin-top: 0 !important;
                height: 123px !important;
                max-width: 820px;
         }
         .BlogPost {
           padding-bottom: 50px;
         }
        .BlogPost .Blogs-Share a {
          z-index: 1;
          background-color: #fff;
          width: 40px !important;
          height: 40px !important;
          line-height: 40px !important;
        }

        .BlogPost [class*=" icon-"]:before, .BlogPost [class^=icon-]:before {
        font-size: 18px;
        }



        @media screen and (max-width: 1024px) {
          .-l-full {
            width: 100%;
          }
          .-l-mb2 {
            margin-bottom: 20px;
          }



        }



        @media screen and (max-width: 800px) {
          .share-icon {
              display: block !important;
              margin-left: 0 !important;
              margin-top: 10px !important;
          }

          .BlogPost .Meta .icon-date {
            display: block;
            margin-left: 0;
            margin-top: 15px;
          }



        }

        @media screen and (max-width: 420px) {
          .share-icon {
              display: block !important;
              margin-left: 0 !important;
              margin-top: 10px !important;
          }
          .BlogPost {
           padding-bottom: 30px;
          }


        }
      </style>
      <script>
        
        document.addEventListener("DOMContentLoaded", function(){



           $('.BlogPost, .BlogPost-Featured').on('click', '.js-open-sharer', function (e) {

             e.preventDefault();
             var $sharer = $(this).next('.Blogs-Share');
             if($sharer.css('display') != 'block') {
               $sharer.fadeIn();
               $(this).addClass('is-active-icon-share');
             } else {
               $sharer.fadeOut();
               $(this).removeClass('is-active-icon-share');
             }



         $('.popupMeJS').on('click', function(event) {
         var width  = 575,
         height = 400,
         left   = ($(window).width()  - width)  / 2,
         top    = ($(window).height() - height) / 2,
         urlToOpen    = $(this).attr('href') ,
         opts   = 'scrollbars=1,status=1' +
         ',width='  + width  +
         ',height=' + height +
         ',top='    + top    +
         ',left='   + left;

         window.open(urlToOpen, 'share', opts);
         return false;
         });


         });
         $(document).ready(function(){
           var currentUrl = window.location.href;
           var urlContainPageQuery = currentUrl.indexOf('?page') > -1;
           var urlContainTag = currentUrl.indexOf('/tag/') > -1;
           var urlContainAuthor = currentUrl.indexOf('/author/') > -1;
           if(urlContainPageQuery && !urlContainTag && !urlContainAuthor){
             var offTop = $('#scrollAnchor').offset().top - 130;
             $('html, body').scrollTop(offTop);
             $('html, body').animate({scrollTop:offTop + 1}, 'fast'); // IE bugfix
           }
         });
          
          
}); 
         
      </script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Blog","blogPost":[{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/ai-crash-course-jailbreaking-prompt-extraction-bad-actors"},"headline":"AI Crash Course: Jailbreaking, Prompt Extraction and Bad Actors","description":"AI functions in our apps that allow for user prompts also have the potential to open our model to external instructions from bad actors. ","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/ait-gen-top-image-1200x303589aa325877a44c9833990816bd9f289.png?sfvrsn=4fe0e765_2","height":303,"width":1200},"datePublished":"2026-04-14","dateModified":"2026-04-14","author":{"@type":"Person","name":"Kathryn Grayson Nanz"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/ai-productivity-react-developers-2026"},"headline":"AI Productivity for React Developers in 2026","description":"Developers are not blindly handing work over to AI, but treating it as a strategic assistant. Here’s what this looks like for React devs in 2026.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/reactt3-dark-1200x303.png?sfvrsn=66825c30_3","height":303,"width":1200},"datePublished":"2026-04-13","dateModified":"2026-04-13","author":{"@type":"Person","name":"Hassan Djirdeh"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/building-instagram-style-like-animation-net-maui"},"headline":"Building an Instagram-Style Like Animation in .NET MAUI","description":"Learn how to make your .NET MAUI app a little more engaging with interactive animations. We’ll see how to animate a heart for a like action.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/net-mauit2-dark-1200x303-blog-cover---top-image.png?sfvrsn=59ddbd94_2","height":303,"width":1200},"datePublished":"2026-04-13","dateModified":"2026-04-13","author":{"@type":"Person","name":"Leomaris Reyes"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/simplified-authentication-better-auth"},"headline":"Simplified Authentication with Better Auth","description":"Build a complete email and password authentication system with session management to see how Better Auth works. We’ll use Next.js, Drizzle ORM and SQLite.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/how-tot2-light-1200x303.png?sfvrsn=54fc2ebe_4","height":303,"width":1200},"datePublished":"2026-04-09","dateModified":"2026-04-09","author":{"@type":"Person","name":"Christian Nwamba"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/progress-telerik-agentic-ui-generator-vs-syncfusion-agentic-ui-builder"},"headline":"Progress Telerik Agentic UI Generator vs. Syncfusion Agentic UI Builder","description":"See how the AI-based UI creation tools from devtools powerhouses Progress and Syncfusion stack up when they go head to head. ","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-kendo-uit-light-1200x303-blog-cover---top-image.png?sfvrsn=849e9633_2","height":303,"width":1200},"datePublished":"2026-04-08","dateModified":"2026-04-08","author":{"@type":"Person","name":"Hassan Djirdeh"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/what-weve-learned-designing-dev-tools-ai"},"headline":"What We’ve Learned Designing Dev Tools in the Age of AI","description":"AI didn’t just change how we write code. It changed how we build products. See 4 lessons learned by Progress Telerik and Kendo UI engineering and product teams.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/ait-telerik-top-image-1200x303.png?sfvrsn=3f5519fc_4","caption":"AI Telerik Ninja","height":303,"width":1200},"datePublished":"2026-04-08","dateModified":"2026-04-08","author":{"@type":"Person","name":"Alyssa Nicoll"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/creating-custom-ai-agent-telerik-tools-1-configuring-llm-azure-ollama"},"headline":"Creating a Custom AI Agent with Telerik Tools 1: Configuring an LLM for Azure or Ollama","description":"Create a custom RAG-enabled AI agent for an LLM with Progress Telerik Document Processing Libraries AI connectors.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-document-processingt2-dark-1200x303-blog-cover---top-image.png?sfvrsn=2ab541bd_2","height":303,"width":1200},"datePublished":"2026-04-07","dateModified":"2026-04-07","author":{"@type":"Person","name":"Peter Vogel"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/workflows-age-ai-how-design-development-changed-what-comes-next"},"headline":"Workflows in the Age of AI: How Design & Development Workflows Changed in 2025—and What Comes Next","description":"See the top takeaways from 200+ respondents across design and development about the ways they’re leveraging new AI capabilities in their work.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/all-mascotst-dark-1200x303-blog-cover---top-image.png?sfvrsn=7b016fe7_2","height":303,"width":1200},"datePublished":"2026-04-07","dateModified":"2026-04-07","author":{"@type":"Person","name":"Kathryn Grayson Nanz"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/blazor-basics-building-responsive-blazor-apps-css-media-queries"},"headline":"Blazor Basics: Building Responsive Blazor Apps with CSS Media Queries","description":"Responsive design is the reason applications feel polished and user-friendly. Learn how to build responsive Blazor web applications using CSS media queries.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/blazort6-light-1200x303-blog-cover---top-image.png?sfvrsn=9bf0b60c_2","height":303,"width":1200},"datePublished":"2026-04-06","dateModified":"2026-04-06","author":{"@type":"Person","name":"Claudio Bernasconi"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}},{"@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.telerik.com/blogs/getting-started-net-maui-speech-to-text-button-control"},"headline":"Getting Started with the .NET MAUI Speech-to-Text Button Control","description":"Add speech-to-text options to your note-taking, chat, meeting or many other types of apps, so your users can skip manual typing in your .NET MAUI app.","image":{"@type":"ImageObject","url":"https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/templates/telerik-net-mauit2-light-1200x303-blog-cover---top-image.png?sfvrsn=a98f7cf2_2","height":303,"width":1200},"datePublished":"2026-04-02","dateModified":"2026-04-02","author":{"@type":"Person","name":"Héctor Pérez"},"publisher":{"@type":"Organization","name":"Telerik","alternateName":"Телерик","url":"http://www.telerik.com/","sameAs":["https://www.facebook.com/Telerik","https://twitter.com/Telerik","https://plus.google.com/+Telerik","https://www.linkedin.com/company/telerik","https://github.com/telerik","https://www.youtube.com/user/TelerikInc"],"logo":{"@type":"ImageObject","url":"https://telerik-media.s3.amazonaws.com/assets/progress-telerik-logo-black.png"}}}]}</script>
  



  <div class="TK-Pager TK-Pager--Server TK-Pager--Has-Next ">

  <div class="TK-Pager-Links">
                <a href="https://www.telerik.com/blogs?page=1" class="TK-Pager-Link is-active" data-page="1">1</a>
          <a href="https://www.telerik.com/blogs?page=2" class="TK-Pager-Link" data-page="2">2</a>
          <a href="https://www.telerik.com/blogs?page=3" class="TK-Pager-Link" data-page="3">3</a>
          <a href="https://www.telerik.com/blogs?page=4" class="TK-Pager-Link" data-page="4">4</a>
          <a href="https://www.telerik.com/blogs?page=5" class="TK-Pager-Link" data-page="5">5</a>
          <a href="https://www.telerik.com/blogs?page=6" class="TK-Pager-Link" data-page="6">6</a>
          <a href="https://www.telerik.com/blogs?page=7" class="TK-Pager-Link" data-page="7">7</a>
          <a href="https://www.telerik.com/blogs?page=8" class="TK-Pager-Link" data-page="8">8</a>
          <a href="https://www.telerik.com/blogs?page=9" class="TK-Pager-Link" data-page="9">9</a>
          <a href="https://www.telerik.com/blogs?page=10" class="TK-Pager-Link" data-page="10">10</a>
                <a href="https://www.telerik.com/blogs?page=11" class="TK-Pager-Link" data-page="11">...</a>
  </div>

      <div class="TK-Pager-Next">
        <a href="https://www.telerik.com/blogs?page=2" class="TK-Pager-Next-Link" data-page="2" aria-label="Next">Next</a>
      </div>
  </div>
  
</div></div>
  <div id="ContentPlaceholder1_T19FA31EB003_Col01" class="sf_colsIn col-3" data-sf-element="Column 2" data-placeholder-label="Column 2"><div id="ContentPlaceholder1_T19FA31EB022_Col00" class="sf_colsIn Sidebar" data-sf-element="EmptyWrapper" data-placeholder-label="EmptyWrapper">






<h5 class="u-ttu u-ff-sans2 u-fs18 u-mb2">Topics</h5>					<a href="/blogs/web">Web</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					Web
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/web-blazor">Blazor</a>
						</li>
						<li>
							<a href="/blogs/web-aspnet-core">ASP.NET Core</a>
						</li>
						<li>
							<a href="/blogs/web-aspnet-mvc">ASP.NET MVC</a>
						</li>
						<li>
							<a href="/blogs/web-aspnet-ajax">ASP.NET AJAX</a>
						</li>
						<li>
							<a href="/blogs/web-angular">Angular</a>
						</li>
						<li>
							<a href="/blogs/web-react">React</a>
						</li>
						<li>
							<a href="/blogs/web-jquery">jQuery</a>
						</li>
						<li>
							<a href="/blogs/web-vue">Vue</a>
						</li>
				</ul>
			</details>
			<a href="/blogs/mobile">Mobile</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					Mobile
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/mobile-net-maui">.NET MAUI/Hybrid</a>
						</li>
				</ul>
			</details>
			<a href="/blogs/desktop">Desktop</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					Desktop
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/desktop-blazor-net-maui">.NET MAUI/Blazor Hybrid</a>
						</li>
						<li>
							<a href="/blogs/desktop-wpf">WPF</a>
						</li>
						<li>
							<a href="/blogs/desktop-winforms">WinForms</a>
						</li>
						<li>
							<a href="/blogs/desktop-winui">WinUI</a>
						</li>
				</ul>
			</details>
			<a href="/blogs/design">Design</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					Design
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/design-ux">UX</a>
						</li>
						<li>
							<a href="/blogs/design-systems">Design Systems</a>
						</li>
				</ul>
			</details>
			<a href="/blogs/productivity">Productivity</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					Productivity
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/productivity-reporting">Reporting</a>
						</li>
						<li>
							<a href="/blogs/productivity-testing">Testing</a>
						</li>
						<li>
							<a href="/blogs/productivity-debugging">Debugging</a>
						</li>
						<li>
							<a href="/blogs/productivity-document-processing">Document Processing</a>
						</li>
				</ul>
			</details>
			<a href="/blogs/people">People</a>
			<details class="BlogPost-Topics-Menu" >
				<summary>
					People
				</summary>
				<ul class="List">
						<li>
							<a href="/blogs/people-accessibility">Accessibility</a>
						</li>
						<li>
							<a href="/blogs/people-humanity">Humanity</a>
						</li>
				</ul>
			</details>
			<div class="BlogPost-Topics-Menu">
				<a href="/blogs/release">Release</a>
			</div>
			<div class="BlogPost-Topics-Menu">
				<a href="/blogs/artificial-intelligence">AI</a>
			</div>

<aside class="SearchAside">
  <tk-site-search
    data-redirect='true'
    data-tag-input-placeholder='search blogs...'
    data-tag-input-button-class='TK-Tag-Input-Aside-Button'
    data-redirect-uri='/blogs/search?filter=source%3Dtelerik.com/blogs'>
  </tk-site-search>
</aside>





  <aside class="Blogs-Share">
    <h5 class="u-ttu u-ff-sans2 u-fs18 u-mb2 Sidebar-follow-us">Follow us</h5>
    <a aria-label="facebook" alt="Facebook social share icon" title="Facebook social share icon" href="https://www.facebook.com/Telerik" class="icon-facebook-full"></a>
    <a aria-label="twitter" alt="Twitter social share icon" title="Twitter social share icon" href="https://twitter.com/telerik" class="icon-twitter-full icon   "></a>
    <a aria-label="linkedin" alt="Linkedin social share icon" title="Linkedin social share icon" href="https://www.linkedin.com/company/telerik" class="icon-linkedin-full   "></a>
    <a aria-label="github"alt="GitHub social share icon" title="GitHub social share icon" href="https://github.com/telerik" class="icon-github-full "></a>
    <a aria-label="rss" alt="RSS social share icon" title="RSS social share icon" href="https://feeds.telerik.com/blogs" class="icon-rss "></a>
    <a aria-label="twitch" alt="Twitch social share icon" title="Twitch social share icon" href="https://www.twitch.tv/codeitlive" class="icon-github-full icon-twitch"></a>
  </aside>

<div>
      <h5 class="u-ttu u-ff-sans2 u-fs18 u-mb2" ID="MostPopular">Most Popular</h5>
      <ul class="List BlogPost-list u-mb6" itemtype="http://schema.org/Blog">
    
              <li itemprop="blogPost" >
                  <div class="BlogPost--small">
                    <div class="Info">
                          <span class="Tag-Simple">
                                Web
                            </span>
                      <a href='/blogs/coding-azure-23-reading-settings-app-configuration-service' >Coding Azure 23: Reading Settings from an App Configuration Service</a>
                      <div class="Meta">
                        <span class="u-c-grey">
                            <span class="icon-date u-fs16 u-vam"></span>
                            <span class="u-vam">March 23, 2026</span>
                        </span>
                      </div>
                    </div>
                  </div>
                </li>
              <li itemprop="blogPost" >
                  <div class="BlogPost--small">
                    <div class="Info">
                          <span class="Tag-Simple">
                                Web
                            </span>
                          <span class="Tag-Simple">
                                Blazor
                            </span>
                      <a href='/blogs/whats-new-blazor-net-11-preview-releases-1-2' >What’s New for Blazor in .NET 11 Preview Releases 1 and 2</a>
                      <div class="Meta">
                        <span class="u-c-grey">
                            <span class="icon-date u-fs16 u-vam"></span>
                            <span class="u-vam">March 25, 2026</span>
                        </span>
                      </div>
                    </div>
                  </div>
                </li>
              <li itemprop="blogPost" >
                  <div class="BlogPost--small">
                    <div class="Info">
                          <span class="Tag-Simple">
                                AI
                            </span>
                          <span class="Tag-Simple">
                                Web
                            </span>
                          <span class="Tag-Simple">
                                Angular
                            </span>
                      <a href='/blogs/top-3-everyday-angular-tasks-mcp-servers-automate' >Top 3 Everyday Angular Tasks That MCP Servers Automate for You</a>
                      <div class="Meta">
                        <span class="u-c-grey">
                            <span class="icon-date u-fs16 u-vam"></span>
                            <span class="u-vam">March 24, 2026</span>
                        </span>
                      </div>
                    </div>
                  </div>
                </li>
        </ul>
  
</div><div id="ContentPlaceholder1_T19FA31EB039_Col00" class="sf_colsIn Sidebar-StickyWrap" data-sf-element="EmptyWrapper" data-placeholder-label="EmptyWrapper"><div id="ContentPlaceholder1_T19FA31EB033_Col00" class="sf_colsIn Blogs-Form" data-sf-element="EmptyWrapper" data-placeholder-label="EmptyWrapper">

<div class="SubscribeBox u-mb1"><div class="u-cf"><div class="inbox-svg"><!--?xml version="1.0" encoding="utf-8"?-->
 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 41 41"><g><line style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" x1="9.89" y1="16.48" x2="22.91" y2="16.48"></line><line style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" x1="9.89" y1="21.36" x2="31.05" y2="21.36"></line><line style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" x1="14.85" y1="26.25" x2="26.08" y2="26.25"></line><polyline style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" points="40 18.11 20.47 29.5 0.94 18.11"></polyline><polyline style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" points="4.19 20.06 4.19 9.97 36.74 9.97 36.74 20.06"></polyline><polyline style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" points="4.19 15.1 0.94 18.11 0.94 40 40 40 40 18.11 36.74 15.1"></polyline><path style="fill:none;stroke:#000;stroke-width:2px;stroke-miterlimit:10;" d="M31.13,10,23.81,3.22a4.89,4.89,0,0,0-6.6,0L9.89,10"></path></g>
</svg>
 </div><h5 class="u-fs22 u-lh1 u-fw5 u-mb0 u-oh u-small-mt2 js-title">Latest Stories <br class="u-db u-small-dn" />in Your Inbox</h5></div></div>

<p class="Text--b0 u-fs16 u-mb1 js-subtitle">Subscribe to be the first to get our expert-written articles and tutorials for developers!</p><p class="Text--b0 u-fs14 u-mb2">All fields are required</p>



<div data-sf-role="form-container" id="form--1" class="Form-MVC js-Form-MVC u-m0 u-p0 u-bn u-bsn">
	<input type="hidden" data-sf-role="form-id" value="36641b2f-c2f3-40e8-a637-0b003d073c18" name="FormId" />
	<input type="hidden" data-sf-role="marketo-settings" value="{&quot;syncFormFieldsToLeadFields&quot;:false,&quot;doSpecificWebCalls&quot;:false}" name="MarketoSettings" />



			<div class="sf-loader-wrapper">
				<img class="sf-loader" data-sf-role="loading-img" src='/WebResource.axd?d=kLXF93zSE8rrtGGHz2_yENa_6Lh0cf364-N6JEmTS4fjQ3tSlOs9pAtFf0jnnxfRzIUQspCl2ZViyDefeySgdSECj2B837xh7UDhfY1Sg2OqlE6Nk-aC3V6GcK5dlrjJbCcCZrzuftFkOGV3f1GPz0UNpDfwPZG8yX-UPuLia_4HAoVScUyN584zmoK3bcZ9dvz3NrGIH52cGfs2JmtPIg2&amp;t=638923997260000000' alt="Loading animation" style="display:none;" />
			</div>
			<div class="sf-form-resolution js-main-error-message-wrapper">
				<div class="sf-success-message" data-sf-role="success-message" style="display: none;"></div>
				<p class="sf-error-message js-main-error-message-container" data-sf-role="error-message" style="display: none;"></p>
			</div>
				<form>
						<input type="hidden" value="cpdzY7fldqoED9PmfdFSHdy2K4GC6TjlLs0Dl/CFINfks5kLvIjPm+kyqnATS1dh0knecVZo3VkYN5nA3N4TRd0jgY6I4UvFhJcuAuind3OGgQKEmIH9XvcqgoXpUo7XL5WIRZSPG6+C+rFBLc0QvA2eyf5EsuV9Y+lM0ymFkTghb5Jwfyi9TDsIdik1EDhHQoJp9fy0NGECr7cGe/rSueWQ3qlkhOAjEmvDQi9YZtAtwMlYl5EDybBRg/UAslrgB6k7/J6VP5pGv9QnJ8ZP30hHrXf0gBjPZjZnTyhEGuO0oqu0Ef4fXkslbBSwpkqH/blXjlxJZ6NRb/qBeInTGYkwwB4vUu8o495MNwFD+Oyh5N98IcoPH1et4fucer5aphZ04DR+NUY14JUPOzEmc9IBpWxlzm0Wn1BoutqYhJkUio13xYUX6sTMAnz1j/HKKSmC0gjqJBijRWW7mbW7FQFTRiCRirmCFqORwDMujHRCfvXmHwBMc2pPQ1ZhaEw9pZJdAHQSJSUAkAIA83Gaj/HTZfNhL30uFcBBPoLUucjoPGmFq0R80YkavpjYvYg07YD8iX3H5O0BGoQ/UYHhq8LlfNxewkKfRFA+LMpDts0LT45Y3IXJ7LeJxz0ZFVEmteA7VfoYPqg/uK7jedi0Lf5iXV18JfNdKJhO1pUrCQBq0tCHj7hWTYWRoTMnBikZ3GLJEA5Rm717xrNAQVpBbvWj05u2tAxFMzFLs/ZNNN1H2YgYHfVV52ZbwW72FOlFDIT3JAxR5+9XILBk0b3kdN6/1I5X3okD9j+hTPDciOXwmukA+FwBEP0ASXgHdiNC9tcAKZi8LVqeJ31I9f8ZveHzxlss4aHTAJgi0IbFB2J3OdX5YsGUF2XKDcK6WDPl02OWfUtM+a5vjiQ3wUO3EZzx9uMn7P1684Hazv0IffQR5ayQ14YK6HFJNM49XqtNkIaclk65+ehxWw/GUmqNj2GBK/jmO2T/92lDzndiw2WN4+Hs/e/NKR+I3tXyptyGAc9owgDiPJuAz+NXeEiV73me6MsxmdwxbZrHEERrQB+HP8n0Me3y+msfcER6vJlwX+HUa1z1mQoHl72dzZK5GpxllosLt+HzIZXl3gAe5G7HydHOSRxBPtXCWBHcUe408/t9/8tYq9d1FNpJQZSF4wHnKwcAlkW1+VdBXjH/I5023YUNNM5xedKyN98x+ycsff/zsG9S7tjfTALmw4+mavsCr2dywR5eFQTLt12+YcqoDrJvadXE3gZYp/NYJbjhg5gY//553sbGtD7RUzdjgMHpNIj3mWU+P9m6geAoY2QE/o//2QnNsjO8+Ng3CkX1Ow+mBPBJ9wvWIfLs1LDEwY1lLNiOz0QirGUA1gkI9y6vfQKSVLXO5/Uh1Ga8XN1zLsjRaQkuMcAUJKhiQX2/jngbILJwObc4kEuXfFFH/SbkuMvbxyAdynMCtR6G0E/NPr0fhdOujjndZo00Qpvo8LP2ulMsJgWjXtIxp+7wmQVXebpSdT28hmrP6Rh3yzmBnXKkHVoW/nfDkOr3yxtqSm0W38oLKAc7nDK/oEA9yNPyPpvmYOkRBF1Z4nFya6u9YkTkcpduidzw8wXZyjsgmRyb2Ni+eCIUl5807dlw2O/r5bC32VvWI8o2v2T8GnxaK//ja3F89bCuQHdgmDJ7aKT+l7vD72QER4FFLxvtZJki7qdGub+n6V8lZnL487fVu6MQKrtSayYYwl/DsKmkV9bh3x5Pt48FUqBrg7ObmF90hPPAsFqtbSVibA94wt94ieytOV+WKerSKIZTAq/IuXt1IpJP9zeaRlSspdqMFqdf/S0Mmx/ybqBpytRnJ4h+GDCGsz3FQrHCKzNarGLW8WU0y80omo1TekDD+SkZ+sH0qsI4bOSkIYErJeofHAoKeveEHlxFW/4VaZkK1CilEzkAmfH3BGOZTdie37mf8e0gf365gpItbq7ZYT4mNKiIZwptHIbwxYP0TvEzmJ9uM96fAasik1GdRH4WIkRwnyWIVTQmFONcLJz5zhTsvDHetLjgg2U6g3oOwiE+/Ak16jJtMoTCy31SefxSmU5bcpGm0OJPyPmMx50DnHI+bL4HsrTttAm+oOhe7Imk4nporlKbslpXUO/vYrwNCWVofQVeDUvZeRNEV7ET9a+9fdjg19IJOeD/hXnHq4KYcYgJveb0Ey4oMFL/1mLhLp8dufeASFJ5e94QkoCDu5GVSlfEEa6wL0eIM0+9tvi+y1iEt+QsUQGg1C2M2uELJoRYmTnNOSCsHIH6Qkxenxi49bYIKfwTWcFwFHHyxESyEKl2KUrP1lWw+73s3DYVdvT1BrwNhVFd3YJN/YMzEv6xNOmlgz8kaUpVLdE1r0sOLN++rZ44OSAC8j4JqD5WAIe93/vF/wUFHYFKvrCuuoyqvCzG" name="serializedSettings" />
					<div data-sf-role="fields-container">

						




<div class="sf-fieldWrp" data-sf-role="email-text-field-container" >
	<input data-sf-role="violation-restrictions" type="hidden" value='{"maxLength":"64", "minLength": "0"}' />
	<input data-sf-role="violation-messages" type="hidden" value='{"maxLength":"The email is too long.", "required": "The email is required.", "invalid": "Entry is not valid!", "regularExpression": "The email is invalid."}' />
			<label for='Email-1'>Email</label>

	<input id='Email-1' data-sf-role="email-text-field-input" type="email" name="Email" value="" required="required" pattern="^[\-\w+u0027]+(\.[\-\w+u0027]+)*@\w+([\-.]\w+)*\.[A-Za-z]{2,}$" maxlength="64"  />


	<p data-sf-role="error-message" role="alert" aria-live="assertive"></p>
</div>




	<div class="sf-fieldWrp" data-sf-role="dropdown-list-field-container">
		<input type="hidden" data-sf-role="violation-messages" value='{ "required": "The country is required."}' />
		<label for='Country-1' class='required'>Country/Territory</label>


		<input type="hidden" value="DynamicListFieldController" name="countryFieldName" />

		<select id='Country-1' name="DynamicListFieldController" title="Country dropdown" required='required' data-sf-role="dropdown-list-field-select" class="js-country-field">
				<option value="">Select country/territory</option>
									<option data-country-code="us" value="United States" >United States</option>
						<option data-country-code="af" value="Afghanistan" >Afghanistan</option>
						<option data-country-code="al" value="Albania" >Albania</option>
						<option data-country-code="dz" value="Algeria" >Algeria</option>
						<option data-country-code="as" value="American Samoa" >American Samoa</option>
						<option data-country-code="ad" value="Andorra" >Andorra</option>
						<option data-country-code="ao" value="Angola" >Angola</option>
						<option data-country-code="ai" value="Anguilla" >Anguilla</option>
						<option data-country-code="AQ" value="Antarctica" >Antarctica</option>
						<option data-country-code="ag" value="Antigua and Barbuda" >Antigua and Barbuda</option>
						<option data-country-code="ar" value="Argentina" >Argentina</option>
						<option data-country-code="am" value="Armenia" >Armenia</option>
						<option data-country-code="aw" value="Aruba" >Aruba</option>
						<option data-country-code="au" value="Australia" >Australia</option>
						<option data-country-code="at" value="Austria" >Austria</option>
						<option data-country-code="az" value="Azerbaijan" >Azerbaijan</option>
						<option data-country-code="bs" value="Bahamas" >Bahamas</option>
						<option data-country-code="bh" value="Bahrain" >Bahrain</option>
						<option data-country-code="bd" value="Bangladesh" >Bangladesh</option>
						<option data-country-code="bb" value="Barbados" >Barbados</option>
						<option data-country-code="be" value="Belgium" >Belgium</option>
						<option data-country-code="bz" value="Belize" >Belize</option>
						<option data-country-code="bj" value="Benin" >Benin</option>
						<option data-country-code="bm" value="Bermuda" >Bermuda</option>
						<option data-country-code="bt" value="Bhutan" >Bhutan</option>
						<option data-country-code="bo" value="Bolivia" >Bolivia</option>
						<option data-country-code="ba" value="Bosnia and Herzegovina" >Bosnia and Herzegovina</option>
						<option data-country-code="bw" value="Botswana" >Botswana</option>
						<option data-country-code="BV" value="Bouvet Island" >Bouvet Island</option>
						<option data-country-code="br" value="Brazil" >Brazil</option>
						<option data-country-code="IO" value="British Indian Ocean Terr." >British Indian Ocean Terr.</option>
						<option data-country-code="bn" value="Brunei Darussalam" >Brunei Darussalam</option>
						<option data-country-code="bg" value="Bulgaria" >Bulgaria</option>
						<option data-country-code="bf" value="Burkina Faso" >Burkina Faso</option>
						<option data-country-code="bi" value="Burundi" >Burundi</option>
						<option data-country-code="kh" value="Cambodia" >Cambodia</option>
						<option data-country-code="cm" value="Cameroon" >Cameroon</option>
						<option data-country-code="ca" value="Canada" >Canada</option>
						<option data-country-code="cv" value="Cape Verde" >Cape Verde</option>
						<option data-country-code="ky" value="Cayman Islands" >Cayman Islands</option>
						<option data-country-code="cf" value="Central African Republic" >Central African Republic</option>
						<option data-country-code="td" value="Chad" >Chad</option>
						<option data-country-code="cl" value="Chile" >Chile</option>
						<option data-country-code="cn" value="China" >China</option>
						<option data-country-code="cx" value="Christmas Island" >Christmas Island</option>
						<option data-country-code="cc" value="Cocos (Keeling) Islands" >Cocos (Keeling) Islands</option>
						<option data-country-code="co" value="Colombia" >Colombia</option>
						<option data-country-code="km" value="Comoros" >Comoros</option>
						<option data-country-code="cg" value="Congo (Brazzaville)" >Congo (Brazzaville)</option>
						<option data-country-code="CD" value="Congo, the democratic republic of the" >Congo, the democratic republic of the</option>
						<option data-country-code="ck" value="Cook Islands" >Cook Islands</option>
						<option data-country-code="cr" value="Costa Rica" >Costa Rica</option>
						<option data-country-code="ci" value="Cote d&#39;Ivoire" >Cote d&#39;Ivoire</option>
						<option data-country-code="hr" value="Croatia (Hrvatska)" >Croatia (Hrvatska)</option>
						<option data-country-code="CW" value="Curacao" >Curacao</option>
						<option data-country-code="cy" value="Cyprus" >Cyprus</option>
						<option data-country-code="cz" value="Czech Republic" >Czech Republic</option>
						<option data-country-code="dk" value="Denmark" >Denmark</option>
						<option data-country-code="dj" value="Djibouti" >Djibouti</option>
						<option data-country-code="dm" value="Dominica" >Dominica</option>
						<option data-country-code="do" value="Dominican Republic" >Dominican Republic</option>
						<option data-country-code="ec" value="Ecuador" >Ecuador</option>
						<option data-country-code="eg" value="Egypt" >Egypt</option>
						<option data-country-code="sv" value="El Salvador" >El Salvador</option>
						<option data-country-code="gq" value="Equatorial Guinea" >Equatorial Guinea</option>
						<option data-country-code="er" value="Eritrea" >Eritrea</option>
						<option data-country-code="ee" value="Estonia" >Estonia</option>
						<option data-country-code="sz" value="Eswatini" >Eswatini</option>
						<option data-country-code="et" value="Ethiopia" >Ethiopia</option>
						<option data-country-code="fk" value="Falkland Islands" >Falkland Islands</option>
						<option data-country-code="fo" value="Faroe Islands" >Faroe Islands</option>
						<option data-country-code="fj" value="Fiji" >Fiji</option>
						<option data-country-code="fi" value="Finland" >Finland</option>
						<option data-country-code="fr" value="France" >France</option>
						<option data-country-code="gf" value="French Guiana" >French Guiana</option>
						<option data-country-code="pf" value="French Polynesia" >French Polynesia</option>
						<option data-country-code="TF" value="French Southern Terr." >French Southern Terr.</option>
						<option data-country-code="ga" value="Gabon" >Gabon</option>
						<option data-country-code="gm" value="Gambia" >Gambia</option>
						<option data-country-code="ge" value="Georgia" >Georgia</option>
						<option data-country-code="de" value="Germany" >Germany</option>
						<option data-country-code="gh" value="Ghana" >Ghana</option>
						<option data-country-code="gi" value="Gibraltar" >Gibraltar</option>
						<option data-country-code="gr" value="Greece" >Greece</option>
						<option data-country-code="gl" value="Greenland" >Greenland</option>
						<option data-country-code="gd" value="Grenada" >Grenada</option>
						<option data-country-code="gp" value="Guadeloupe" >Guadeloupe</option>
						<option data-country-code="gu" value="Guam" >Guam</option>
						<option data-country-code="gt" value="Guatemala" >Guatemala</option>
						<option data-country-code="GG" value="Guernsey" >Guernsey</option>
						<option data-country-code="gn" value="Guinea" >Guinea</option>
						<option data-country-code="gw" value="Guinea-Bissau" >Guinea-Bissau</option>
						<option data-country-code="gy" value="Guyana" >Guyana</option>
						<option data-country-code="ht" value="Haiti" >Haiti</option>
						<option data-country-code="HM" value="Heard and McDonald Is." >Heard and McDonald Is.</option>
						<option data-country-code="hn" value="Honduras" >Honduras</option>
						<option data-country-code="hk" value="Hong Kong" >Hong Kong</option>
						<option data-country-code="hu" value="Hungary" >Hungary</option>
						<option data-country-code="is" value="Iceland" >Iceland</option>
						<option data-country-code="in" value="India" >India</option>
						<option data-country-code="id" value="Indonesia" >Indonesia</option>
						<option data-country-code="iq" value="Iraq" >Iraq</option>
						<option data-country-code="ie" value="Ireland" >Ireland</option>
						<option data-country-code="il" value="Israel" >Israel</option>
						<option data-country-code="it" value="Italy" >Italy</option>
						<option data-country-code="jm" value="Jamaica" >Jamaica</option>
						<option data-country-code="jp" value="Japan" >Japan</option>
						<option data-country-code="JE" value="Jersey" >Jersey</option>
						<option data-country-code="jo" value="Jordan" >Jordan</option>
						<option data-country-code="kz" value="Kazakhstan" >Kazakhstan</option>
						<option data-country-code="ke" value="Kenya" >Kenya</option>
						<option data-country-code="ki" value="Kiribati" >Kiribati</option>
						<option data-country-code="kw" value="Kuwait" >Kuwait</option>
						<option data-country-code="kg" value="Kyrgyzstan" >Kyrgyzstan</option>
						<option data-country-code="LA" value="Lao People&#39;s Dem. Rep." >Lao People&#39;s Dem. Rep.</option>
						<option data-country-code="lv" value="Latvia" >Latvia</option>
						<option data-country-code="lb" value="Lebanon" >Lebanon</option>
						<option data-country-code="ls" value="Lesotho" >Lesotho</option>
						<option data-country-code="lr" value="Liberia" >Liberia</option>
						<option data-country-code="ly" value="Libya" >Libya</option>
						<option data-country-code="li" value="Liechtenstein" >Liechtenstein</option>
						<option data-country-code="lt" value="Lithuania" >Lithuania</option>
						<option data-country-code="lu" value="Luxembourg" >Luxembourg</option>
						<option data-country-code="mo" value="Macao" >Macao</option>
						<option data-country-code="mg" value="Madagascar" >Madagascar</option>
						<option data-country-code="mw" value="Malawi" >Malawi</option>
						<option data-country-code="my" value="Malaysia" >Malaysia</option>
						<option data-country-code="mv" value="Maldives" >Maldives</option>
						<option data-country-code="ml" value="Mali" >Mali</option>
						<option data-country-code="mt" value="Malta" >Malta</option>
						<option data-country-code="IM" value="Man, Isle of" >Man, Isle of</option>
						<option data-country-code="mh" value="Marshall Islands" >Marshall Islands</option>
						<option data-country-code="mq" value="Martinique" >Martinique</option>
						<option data-country-code="mr" value="Mauritania" >Mauritania</option>
						<option data-country-code="mu" value="Mauritius" >Mauritius</option>
						<option data-country-code="yt" value="Mayotte" >Mayotte</option>
						<option data-country-code="mx" value="Mexico" >Mexico</option>
						<option data-country-code="fm" value="Micronesia" >Micronesia</option>
						<option data-country-code="md" value="Moldova" >Moldova</option>
						<option data-country-code="mc" value="Monaco" >Monaco</option>
						<option data-country-code="mn" value="Mongolia" >Mongolia</option>
						<option data-country-code="me" value="Montenegro" >Montenegro</option>
						<option data-country-code="ms" value="Montserrat" >Montserrat</option>
						<option data-country-code="ma" value="Morocco" >Morocco</option>
						<option data-country-code="mz" value="Mozambique" >Mozambique</option>
						<option data-country-code="mm" value="Myanmar" >Myanmar</option>
						<option data-country-code="na" value="Namibia" >Namibia</option>
						<option data-country-code="nr" value="Nauru" >Nauru</option>
						<option data-country-code="np" value="Nepal" >Nepal</option>
						<option data-country-code="nl" value="Netherlands" >Netherlands</option>
						<option data-country-code="nc" value="New Caledonia" >New Caledonia</option>
						<option data-country-code="nz" value="New Zealand" >New Zealand</option>
						<option data-country-code="ni" value="Nicaragua" >Nicaragua</option>
						<option data-country-code="ne" value="Niger" >Niger</option>
						<option data-country-code="ng" value="Nigeria" >Nigeria</option>
						<option data-country-code="nu" value="Niue" >Niue</option>
						<option data-country-code="nf" value="Norfolk Island" >Norfolk Island</option>
						<option data-country-code="mk" value="North Macedonia" >North Macedonia</option>
						<option data-country-code="mp" value="Northern Mariana Is." >Northern Mariana Is.</option>
						<option data-country-code="no" value="Norway" >Norway</option>
						<option data-country-code="om" value="Oman" >Oman</option>
						<option data-country-code="pk" value="Pakistan" >Pakistan</option>
						<option data-country-code="pw" value="Palau" >Palau</option>
						<option data-country-code="PS" value="Palestine, State Of" >Palestine, State Of</option>
						<option data-country-code="pa" value="Panama" >Panama</option>
						<option data-country-code="pg" value="Papua New Guinea" >Papua New Guinea</option>
						<option data-country-code="py" value="Paraguay" >Paraguay</option>
						<option data-country-code="pe" value="Peru" >Peru</option>
						<option data-country-code="ph" value="Philippines" >Philippines</option>
						<option data-country-code="pn" value="Pitcairn" >Pitcairn</option>
						<option data-country-code="pl" value="Poland" >Poland</option>
						<option data-country-code="pt" value="Portugal" >Portugal</option>
						<option data-country-code="pr" value="Puerto Rico" >Puerto Rico</option>
						<option data-country-code="qa" value="Qatar" >Qatar</option>
						<option data-country-code="kr" value="Republic of Korea (South Korea)" >Republic of Korea (South Korea)</option>
						<option data-country-code="re" value="Reunion" >Reunion</option>
						<option data-country-code="ro" value="Romania" >Romania</option>
						<option data-country-code="rw" value="Rwanda" >Rwanda</option>
						<option data-country-code="gs" value="S.Georgia and S.Sandwich Is." >S.Georgia and S.Sandwich Is.</option>
						<option data-country-code="kn" value="Saint Kitts and Nevis" >Saint Kitts and Nevis</option>
						<option data-country-code="lc" value="Saint Lucia" >Saint Lucia</option>
						<option data-country-code="ws" value="Samoa" >Samoa</option>
						<option data-country-code="sm" value="San Marino" >San Marino</option>
						<option data-country-code="st" value="Sao Tome and Principe" >Sao Tome and Principe</option>
						<option data-country-code="sa" value="Saudi Arabia" >Saudi Arabia</option>
						<option data-country-code="sn" value="Senegal" >Senegal</option>
						<option data-country-code="rs" value="Serbia" >Serbia</option>
						<option data-country-code="sc" value="Seychelles" >Seychelles</option>
						<option data-country-code="sl" value="Sierra Leone" >Sierra Leone</option>
						<option data-country-code="sg" value="Singapore" >Singapore</option>
						<option data-country-code="sk" value="Slovakia" >Slovakia</option>
						<option data-country-code="si" value="Slovenia" >Slovenia</option>
						<option data-country-code="sb" value="Solomon Islands" >Solomon Islands</option>
						<option data-country-code="so" value="Somalia" >Somalia</option>
						<option data-country-code="za" value="South Africa" >South Africa</option>
						<option data-country-code="SS" value="South Sudan" >South Sudan</option>
						<option data-country-code="es" value="Spain" >Spain</option>
						<option data-country-code="lk" value="Sri Lanka" >Sri Lanka</option>
						<option data-country-code="sh" value="St. Helena" >St. Helena</option>
						<option data-country-code="pm" value="St. Pierre and Miquelon" >St. Pierre and Miquelon</option>
						<option data-country-code="vc" value="St. Vincent and Grenadines" >St. Vincent and Grenadines</option>
						<option data-country-code="sd" value="Sudan" >Sudan</option>
						<option data-country-code="sr" value="Suriname" >Suriname</option>
						<option data-country-code="SJ" value="Svalbard and Jan Mayen Is." >Svalbard and Jan Mayen Is.</option>
						<option data-country-code="se" value="Sweden" >Sweden</option>
						<option data-country-code="ch" value="Switzerland" >Switzerland</option>
						<option data-country-code="tw" value="Taiwan" >Taiwan</option>
						<option data-country-code="tj" value="Tajikistan" >Tajikistan</option>
						<option data-country-code="tz" value="Tanzania" >Tanzania</option>
						<option data-country-code="th" value="Thailand" >Thailand</option>
						<option data-country-code="TL" value="Timor-Leste" >Timor-Leste</option>
						<option data-country-code="tg" value="Togo" >Togo</option>
						<option data-country-code="tk" value="Tokelau" >Tokelau</option>
						<option data-country-code="to" value="Tonga" >Tonga</option>
						<option data-country-code="tt" value="Trinidad and Tobago" >Trinidad and Tobago</option>
						<option data-country-code="tn" value="Tunisia" >Tunisia</option>
						<option data-country-code="tr" value="Turkey" >Turkey</option>
						<option data-country-code="tm" value="Turkmenistan" >Turkmenistan</option>
						<option data-country-code="tc" value="Turks and Caicos Islands" >Turks and Caicos Islands</option>
						<option data-country-code="tv" value="Tuvalu" >Tuvalu</option>
						<option data-country-code="UM" value="U.S. Minor Outlying Is." >U.S. Minor Outlying Is.</option>
						<option data-country-code="ug" value="Uganda" >Uganda</option>
						<option data-country-code="ua" value="Ukraine" >Ukraine</option>
						<option data-country-code="ae" value="United Arab Emirates" >United Arab Emirates</option>
						<option data-country-code="gb" value="United Kingdom" >United Kingdom</option>
						<option data-country-code="uy" value="Uruguay" >Uruguay</option>
						<option data-country-code="uz" value="Uzbekistan" >Uzbekistan</option>
						<option data-country-code="vu" value="Vanuatu" >Vanuatu</option>
						<option data-country-code="va" value="Vatican (Holy See)" >Vatican (Holy See)</option>
						<option data-country-code="ve" value="Venezuela" >Venezuela</option>
						<option data-country-code="vn" value="Viet Nam" >Viet Nam</option>
						<option data-country-code="VG" value="Virgin Islands (British)" >Virgin Islands (British)</option>
						<option data-country-code="vi" value="Virgin Islands (U.S.)" >Virgin Islands (U.S.)</option>
						<option data-country-code="wf" value="Wallis and Futuna Is." >Wallis and Futuna Is.</option>
						<option data-country-code="eh" value="Western Sahara" >Western Sahara</option>
						<option data-country-code="ye" value="Yemen" >Yemen</option>
						<option data-country-code="zm" value="Zambia" >Zambia</option>
						<option data-country-code="zw" value="Zimbabwe" >Zimbabwe</option>

		</select>
		<p data-sf-role="error-message" role="alert" aria-live="assertive"></p>
	</div>

    <div class="sf-fieldWrp js-states-field-container" data-sf-role="dropdown-list-field-container" style="display:none" data-countrycomponent="">
        <input type="hidden" data-sf-role="violation-messages" value='{ "required": "State/Province is required."}' />
        <input type="hidden" data-sf-role="required-validator" value='True' class="js-is-state-required" />

        <input type="hidden" data-sf-role="state-data" value='{"Canada":[{"Text":"Alberta","Value":"AB","AlternativeValue":"AB","UnderLegalRegulation":false},{"Text":"British Columbia","Value":"BC","AlternativeValue":"BC","UnderLegalRegulation":false},{"Text":"Manitoba","Value":"MB","AlternativeValue":"MB","UnderLegalRegulation":false},{"Text":"New Brunswick","Value":"NB","AlternativeValue":"NB","UnderLegalRegulation":false},{"Text":"Newfoundland and Labrador","Value":"NL","AlternativeValue":"NL","UnderLegalRegulation":false},{"Text":"Northwest Territories","Value":"NT","AlternativeValue":"NT","UnderLegalRegulation":false},{"Text":"Nova Scotia","Value":"NS","AlternativeValue":"NS","UnderLegalRegulation":false},{"Text":"Nunavut","Value":"NU","AlternativeValue":"NU","UnderLegalRegulation":false},{"Text":"Ontario","Value":"ON","AlternativeValue":"ON","UnderLegalRegulation":false},{"Text":"Prince Edward Island","Value":"PE","AlternativeValue":"PE","UnderLegalRegulation":false},{"Text":"Quebec","Value":"QC","AlternativeValue":"QC","UnderLegalRegulation":false},{"Text":"Saskatchewan","Value":"SK","AlternativeValue":"SK","UnderLegalRegulation":false},{"Text":"Yukon","Value":"YT","AlternativeValue":"YT","UnderLegalRegulation":false}],"United States":[{"Text":"Alabama","Value":"AL","AlternativeValue":"AL","UnderLegalRegulation":false},{"Text":"Alaska","Value":"AK","AlternativeValue":"AK","UnderLegalRegulation":false},{"Text":"Arizona","Value":"AZ","AlternativeValue":"AZ","UnderLegalRegulation":false},{"Text":"Arkansas","Value":"AR","AlternativeValue":"AR","UnderLegalRegulation":false},{"Text":"California","Value":"CA","AlternativeValue":"CA","UnderLegalRegulation":true},{"Text":"Colorado","Value":"CO","AlternativeValue":"CO","UnderLegalRegulation":false},{"Text":"Connecticut","Value":"CT","AlternativeValue":"CT","UnderLegalRegulation":false},{"Text":"Delaware","Value":"DE","AlternativeValue":"DE","UnderLegalRegulation":false},{"Text":"District of Columbia","Value":"DC","AlternativeValue":"DC","UnderLegalRegulation":false},{"Text":"Florida","Value":"FL","AlternativeValue":"FL","UnderLegalRegulation":false},{"Text":"Georgia","Value":"GA","AlternativeValue":"GA","UnderLegalRegulation":false},{"Text":"Hawaii","Value":"HI","AlternativeValue":"HI","UnderLegalRegulation":false},{"Text":"Idaho","Value":"ID","AlternativeValue":"ID","UnderLegalRegulation":false},{"Text":"Illinois","Value":"IL","AlternativeValue":"IL","UnderLegalRegulation":false},{"Text":"Indiana","Value":"IN","AlternativeValue":"IN","UnderLegalRegulation":false},{"Text":"Iowa","Value":"IA","AlternativeValue":"IA","UnderLegalRegulation":false},{"Text":"Kansas","Value":"KS","AlternativeValue":"KS","UnderLegalRegulation":false},{"Text":"Kentucky","Value":"KY","AlternativeValue":"KY","UnderLegalRegulation":false},{"Text":"Louisiana","Value":"LA","AlternativeValue":"LA","UnderLegalRegulation":false},{"Text":"Maine","Value":"ME","AlternativeValue":"ME","UnderLegalRegulation":false},{"Text":"Maryland","Value":"MD","AlternativeValue":"MD","UnderLegalRegulation":false},{"Text":"Massachusetts","Value":"MA","AlternativeValue":"MA","UnderLegalRegulation":false},{"Text":"Michigan","Value":"MI","AlternativeValue":"MI","UnderLegalRegulation":false},{"Text":"Minnesota","Value":"MN","AlternativeValue":"MN","UnderLegalRegulation":false},{"Text":"Mississippi","Value":"MS","AlternativeValue":"MS","UnderLegalRegulation":false},{"Text":"Missouri","Value":"MO","AlternativeValue":"MO","UnderLegalRegulation":false},{"Text":"Montana","Value":"MT","AlternativeValue":"MT","UnderLegalRegulation":false},{"Text":"Nebraska","Value":"NE","AlternativeValue":"NE","UnderLegalRegulation":false},{"Text":"Nevada","Value":"NV","AlternativeValue":"NV","UnderLegalRegulation":false},{"Text":"New Hampshire","Value":"NH","AlternativeValue":"NH","UnderLegalRegulation":false},{"Text":"New Jersey","Value":"NJ","AlternativeValue":"NJ","UnderLegalRegulation":false},{"Text":"New Mexico","Value":"NM","AlternativeValue":"NM","UnderLegalRegulation":false},{"Text":"New York","Value":"NY","AlternativeValue":"NY","UnderLegalRegulation":false},{"Text":"North Carolina","Value":"NC","AlternativeValue":"NC","UnderLegalRegulation":false},{"Text":"North Dakota","Value":"ND","AlternativeValue":"ND","UnderLegalRegulation":false},{"Text":"Ohio","Value":"OH","AlternativeValue":"OH","UnderLegalRegulation":false},{"Text":"Oklahoma","Value":"OK","AlternativeValue":"OK","UnderLegalRegulation":false},{"Text":"Oregon","Value":"OR","AlternativeValue":"OR","UnderLegalRegulation":false},{"Text":"Pennsylvania","Value":"PA","AlternativeValue":"PA","UnderLegalRegulation":false},{"Text":"Puerto Rico","Value":"PR","AlternativeValue":"PR","UnderLegalRegulation":false},{"Text":"Rhode Island","Value":"RI","AlternativeValue":"RI","UnderLegalRegulation":false},{"Text":"South Carolina","Value":"SC","AlternativeValue":"SC","UnderLegalRegulation":false},{"Text":"South Dakota","Value":"SD","AlternativeValue":"SD","UnderLegalRegulation":false},{"Text":"Tennessee","Value":"TN","AlternativeValue":"TN","UnderLegalRegulation":false},{"Text":"Texas","Value":"TX","AlternativeValue":"TX","UnderLegalRegulation":false},{"Text":"US ARMY EUROPE","Value":"AE","AlternativeValue":"AE","UnderLegalRegulation":false},{"Text":"Utah","Value":"UT","AlternativeValue":"UT","UnderLegalRegulation":false},{"Text":"Vermont","Value":"VT","AlternativeValue":"VT","UnderLegalRegulation":false},{"Text":"Virgin Islands","Value":"VI","AlternativeValue":"VI","UnderLegalRegulation":false},{"Text":"Virginia","Value":"VA","AlternativeValue":"VA","UnderLegalRegulation":false},{"Text":"Washington","Value":"WA","AlternativeValue":"WA","UnderLegalRegulation":false},{"Text":"West Virginia","Value":"WV","AlternativeValue":"WV","UnderLegalRegulation":false},{"Text":"Wisconsin","Value":"WI","AlternativeValue":"WI","UnderLegalRegulation":false},{"Text":"Wyoming","Value":"WY","AlternativeValue":"WY","UnderLegalRegulation":false}]}' class="js-state-data" />
        <label for='State-1' class='required'>State/Province</label>


        <select id='State-1' disabled data-sf-role="dropdown-list-field-select" name="StatesListFieldController" class="js-states-drop-down">
                <option value="">Select</option>
        </select>
        <p data-sf-role="error-message" role="alert" aria-live="assertive"></p>
		<div id="StateLegalLabel-1" class="js-states-legal-label states-legal-label -mt1 -mb1 u-mt1 u-mb1" style="display: none">
					<small><p> Progress collects the Personal Information set out in our <a href='https://www.progress.com/legal/privacy-policy' target="_blank">Privacy Policy</a> and <a href='https://www.progress.com/legal/california-resident-privacy-notice' target="_blank">the Supplemental Privacy notice for residents of California and other US States </a> and uses it for the purposes stated in that policy.</p><p>You can also ask us not to share your Personal Information to third parties here: <a href='https://forms.progress.com/ccpa-subscription' target="_blank">Do Not Sell or Share My Info</a></p></small>

		</div>
    </div>


<div class="u-dn js-blog-field sf-fieldWrp" data-sf-role="text-field-container">
    <input data-sf-role="violation-restrictions" type="hidden" value='{"maxLength":"255", "minLength": "0"}' />
    <input data-sf-role="violation-messages" type="hidden" value='{"maxLength":"Blog field must be less than 255 characters", "required": "Blog field input is required", "invalid": "Entry is not valid!", "regularExpression": "Blog field input is invalid"}' />
    <label for='Textbox-1'>Blog</label>
    <input id='Textbox-1' data-sf-role="text-field-input" type="text" name="TextFieldController" value="telerik_blogs_rss" pattern=".{0,255}"  maxlength="255"  />


    <p data-sf-role="error-message" role="alert" aria-live="assertive"></p>
</div>




	<div class="ElectricMessage u sfFormCheckboxlist sf-fieldWrp sf-Checkboxes sf-opt-in-out js-opt-in-out-container" data-countrycomponent="">
		<input type="hidden" data-sf-role="optinout-data" value='["Zambia","Viet Nam","United Arab Emirates","Turkey","Taiwan","Switzerland","Spain","South Africa","Slovenia","Slovakia","Serbia","Romania","Qatar","Poland","Norway","New Zealand","Netherlands","Nepal","Mozambique","Malta","Lithuania","Liechtenstein","Greece","Gibraltar","Ghana","Germany","China","Cayman Islands","Jersey","Japan","Canada","Jamaica","Italy","Israel","Bulgaria","India","Brazil","Iceland","Hungary","Hong Kong","Dominican Republic","Denmark","Belgium","Czech Republic","Cyprus","Bangladesh","Costa Rica","Austria","Australia","Argentina","Colombia","Albania"]' />
		<input type="checkbox" name="skipPrefillOnCountryChange" style="display: none;" />
		<input type="hidden" data-sf-role="trial-data" value='False' />
		<input type="hidden" data-sf-role="isOptOutMessageAdded" value='True' />



		<div style="display: none" class="sf-opt-in-out-agree js-i-agree-holder">
				<label style="padding: 0 0 12px 0!important">
					<p>By submitting this form, I understand and acknowledge my data will be processed in accordance with Progress' <a href="https://www.progress.com/legal/privacy-policy" target="_blank">Privacy Policy</a>.</p>
				</label>

			<label for="OptInOutField-1">
				<input type="checkbox" id="OptInOutField-1" name="OptInOutFieldController" value="0" class="js-i-agree-checkbox" />
				<p>I agree to receive marketing communications from Progress Software or its <a href="https://www.progress.com/partners/partner-locator" target="_blank">Partners</a>, containing information about Progress Software’s products, services and/or events. I understand I may opt out from marketing communication at any time.</p>
			</label>
		</div>
		<div style="display: none" class="sf-opt-out-message js-opt-out-holder">
			<p class="u-fs14 -fs14" >By submitting this form, you understand and agree that your personal data will be processed by Progress Software or its <a href="https://www.progress.com/partners/partner-directory" target="_blank">Partners</a> as described in our <a href="https://www.progress.com/legal/privacy-policy" target="_blank">Privacy Policy</a>. You may opt out from marketing communication at any time <a href='https://forms.progress.com/SubscriptionMgt-English' target="_blank">here</a> or through the opt out option placed in the e-mail communication sent by us or our Partners.</p>
		</div>

		<div style="display: none" class="sf-opt-in-out-already-agreed js-already-agreed-holder">
				<p class="u-fs14 -fs14">
      We see that you have already chosen to receive marketing materials from us. If you wish to change this at any time you may do so by clicking <a href="https://forms.progress.com/SubscriptionMgt-English">here</a>.
    </p>
		</div>

		<div style="display: none" class="sf-opt-in-out-message-holder js-customer-message-holder">
				<p class="u-fs14 -fs14">Thank you for your continued interest in Progress. Based on either your previous activity on our websites or our ongoing relationship, we will keep you updated on our products, solutions, services, company news and events. If you decide that you want to be removed from our mailing lists at any time, you can change your contact preferences by clicking <a href="https://forms.progress.com/SubscriptionMgt-English">here</a>.</p>
		</div>

		<input type="checkbox" name="OptInOutFieldController" value="" class="-dn u-dn js-empty-value-check-box" style="display: none;">
		<input type="checkbox" name="OptInOutFieldController" value="1" class="-dn u-dn js-disagree-value-check-box" style="display: none;">
	</div>



<div class="-dn u-dn js-recaptcha-container">
	<input type="hidden" class="js-recaptcha-token-input" name="recaptcha" />
	<input type="hidden" class="js-recaptcha-buttons-selector" value="button[type=&quot;submit&quot;],input[type=&quot;submit&quot;]" />
	<input type="hidden" class="js-recaptcha-V3-action" value="Submit" />
</div>





<div class="sf-fieldWrp">
    <button type="submit" class="Btn Btn--prim3  u-fs22 u-db u-mt2"  >Subscribe</button>
</div>



					</div>

						<input type="hidden" name="pageurl" />
					<input type="hidden" value="f1c7fd01-25e7-4f86-8d24-70fc12864bc4" name="WidgetInstanceId" />

					<input type="hidden" data-sf-role="ajax-submit-url" value="/widgettemplateformsubmit/CommonForm/TemplateAjaxSubmit?widgetInstanceId=f1c7fd01-25e7-4f86-8d24-70fc12864bc4" />
					<input type="hidden" data-sf-role="redirect-url" />
					<input type="hidden" data-sf-role="widget-id" name="WidgetId" />
				</form>














</div>

</div>
</div>
</div>
</div>
</div>
</div>


  </div>
</section>
</div>


<footer class="TK-Footer" data-tlrk-nav-version="3.7.37" data-tlrk-nav-template="footer-big-rel-markup"><div class="TK-container"><div class="TK-row TK-No-Print"><div class="TK-col-8 TK--Footer-Desktop"><div class="TK-Footer-Featured-Item"><div class="TK-Footer-H">Complete .NET Toolbox</div><a href="/devcraft" class="TK-Footer-Featured-Link">Telerik DevCraft</a></div><div class="TK-Footer-Featured-Item"><div class="TK-Footer-H">Complete JavaScript Toolbox</div><a href="/kendo-ui" class="TK-Footer-Featured-Link">Kendo UI</a></div><div class="TK-Footer-Featured-Item"><div class="TK-Footer-H">Complete AI Toolbox</div><a href="/mcp-servers" class="TK-Footer-Featured-Link">MCP Servers</a> <a href="/ai-components" class="TK-Footer-Featured-Link">AI-Ready Components</a></div></div><div class="TK-col-16"><div class="TK-row"><div class="TK-col-6 TK--Footer-Desktop"><div class="TK-Footer-H TK--Footer-Desktop">Get Products</div><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="/download" class="TK-Footer-Link">Free Trials</a></li><li class="TK-Footer-List-Item"><a href="/purchase.aspx" class="TK-Footer-Link">Pricing</a></li></ul></div><div class="TK-col-6 TK--Footer-Desktop"><div class="TK-Footer-H TK--Footer-Desktop">Resources</div><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="/developer" class="TK-Footer-Link">Developer Experience Hub</a></li><li class="TK-Footer-List-Item"><a href="/support/demos" class="TK-Footer-Link">Demos</a></li><li class="TK-Footer-List-Item"><a href="/documentation" class="TK-Footer-Link">Documentation</a></li><li class="TK-Footer-List-Item"><a href="/support/whats-new/release-history" class="TK-Footer-Link">Release History</a></li><li class="TK-Footer-List-Item"><a href="/forums" class="TK-Footer-Link">Forums</a></li><li class="TK-Footer-List-Item"><a href="/blogs" class="TK-Footer-Link">Blogs</a></li><li class="TK-Footer-List-Item"><a href="/webinars" class="TK-Footer-Link">Webinars</a></li><li class="TK-Footer-List-Item"><a href="/services" class="TK-Footer-Link">Professional Services</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/partners/partner-locator?Products&#x3D;KendoUI+and+Telerik" class="TK-Footer-Link">Partners</a></li><li class="TK-Footer-List-Item"><a href="/support/video-courses" class="TK-Footer-Link">Virtual Classroom</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/events" class="TK-Footer-Link">Events</a></li><li class="TK-Footer-List-Item"><a href="/faqs" class="TK-Footer-Link">FAQs</a></li></ul></div><div class="TK-col-6 TK--Footer-Desktop"><div class="TK-Footer-H TK--Footer-Desktop">Recognition</div><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="/about/success-stories" class="TK-Footer-Link">Success Stories</a></li><li class="TK-Footer-List-Item"><a href="/about/testimonials" class="TK-Footer-Link">Testimonials</a></li></ul></div><div class="TK-col-6 TK--Footer-Desktop"><div class="TK-Footer-H TK--Footer-Desktop">Get in touch</div><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="/contact" class="TK-Footer-Link">Contact Us</a></li><li><ul class="TK-Footer-List--inner"><li class="TK-Footer-List-Item"><a href="tel:+18886790442" class="TK-Footer-Phone-Link u-db">USA: <span class="TK-wsn">+1 888 679 0442</span></a></li><li class="TK-Footer-List-Item"><a href="tel:+441344838186" class="TK-Footer-Phone-Link u-db">UK: <span class="TK-wsn">+44 13 4483 8186</span></a></li><li class="TK-Footer-List-Item"><a href="tel:+914069019447" class="TK-Footer-Phone-Link u-db">India: <span class="TK-wsn">+91 406 9019447</span></a></li><li class="TK-Footer-List-Item"><a href="tel:+35928099850" class="TK-Footer-Phone-Link u-db">Bulgaria: <span class="TK-wsn">+359 2 8099850</span></a></li><li class="TK-Footer-List-Item"><a href="tel:+61370688610" class="TK-Footer-Phone-Link u-db">Australia: <span class="TK-wsn">+61 3 7068 8610</span></a></li></ul></li><li><ul class="TK-Footer-List--inner TK-Footer-List-Horizontal TK-Footer-List-Social"><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.facebook.com/TelerikandKendoUI" title="Facebook" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M16 7h-1.924C13.461 7 13 7.252 13 7.889V9h3l-.238 3H13v8h-3v-8H8V9h2V7.077C10 5.055 11.064 4 13.461 4H16zM5 0a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">105k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://x.com/telerik" title="X" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">50k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.linkedin.com/company/telerik" title="LinkedIn" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M20 19h-3v-5.6c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.4-2.586 7-2.777 7 2.476zM6.5 6.732a1.757 1.757 0 01-1.75-1.764A1.757 1.757 0 016.5 3.2a1.758 1.758 0 011.75 1.764A1.757 1.757 0 016.5 6.728zM5 19h3V8H5zM19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5z" fill="#000" fill-rule="evenodd"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">17k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.twitch.tv/codeitlive" title="Twitch" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 23 24.05"><path d="M1.57.02L0 4.18V20.9h5.75v3.12h3.14l3.13-3.14h4.71L23 14.61V.02zm2.09 2.07h17.25v11.5l-3.66 3.66H11.5l-3.13 3.13v-3.13H3.66zm5.75 10.45h2.09V6.27H9.41zm5.75 0h2.09V6.27h-2.09z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">4k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.youtube.com/c/telerik" title="YouTube" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="18.287" viewBox="0 0 26 18.287"><path fill="#010101" d="M25.74 3.945a5.625 5.625 0 0 0-1.034-2.581 3.718 3.718 0 0 0-2.605-1.1c-3.638-.263-9.1-.263-9.1-.263h-.011s-5.458 0-9.1.263a3.719 3.719 0 0 0-2.605 1.1A5.623 5.623 0 0 0 .26 3.945 39.324 39.324 0 0 0 0 8.154v1.972a39.323 39.323 0 0 0 .26 4.208 5.623 5.623 0 0 0 1.033 2.58 4.408 4.408 0 0 0 2.867 1.112c2.08.2 8.84.261 8.84.261s5.463-.008 9.1-.271a3.719 3.719 0 0 0 2.605-1.1 5.625 5.625 0 0 0 1.035-2.582 39.377 39.377 0 0 0 .26-4.208V8.154a39.377 39.377 0 0 0-.26-4.209Zm-15.388 8.6V5.211l6.974 3.665Z"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">14k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://github.com/telerik" title="GitHub" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12,0A12.047,12.047,0,0,0,0,12,12.455,12.455,0,0,0,9.188,24V20.03a2.889,2.889,0,0,1-3.239-1.441c-.273-.46-.756-.959-1.26-.922l-.124-1.4a2.892,2.892,0,0,1,2.593,1.6,1.555,1.555,0,0,0,.9.772,1.89,1.89,0,0,0,1.181-.1,3.3,3.3,0,0,1,.827-1.691h0C6.942,16.382,5.7,14.724,5.2,13.415a5.506,5.506,0,0,1,.855-5.281A.188.188,0,0,0,6.1,7.989a4.6,4.6,0,0,1,.14-3.073,4.858,4.858,0,0,1,2.663,1l.337.2c.141.084.1.036.238.025A10.182,10.182,0,0,1,12,5.792a10.225,10.225,0,0,1,2.553.363l.109.011c-.01,0,.03-.007.1-.046,2.436-1.476,2.349-.993,3-1.206A4.682,4.682,0,0,1,17.9,7.989c-.071.218,2.112,2.217.9,5.426-.494,1.309-1.74,2.968-4.866,3.434h0a3.086,3.086,0,0,1,.879,2.2V24A12.454,12.454,0,0,0,24,12,12.047,12.047,0,0,0,12,0Z"></path></svg></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://discord.gg/pQXvHhjb7e" title="Discord" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="19" viewBox="0 0 24 19"><path d="M15.335 0c-.233.416-.444.846-.634 1.285a18.474 18.474 0 0 0-5.48 0c-.186-.44-.4-.87-.634-1.285a19.93 19.93 0 0 0-4.94 1.524C.525 6.154-.32 10.665.1 15.114a19.84 19.84 0 0 0 6.057 3.043c.492-.659.926-1.361 1.298-2.093a13.114 13.114 0 0 1-2.042-.974c.171-.124.338-.254.5-.378a14.208 14.208 0 0 0 12.11 0c.162.134.329.263.5.378-.653.387-1.336.712-2.047.98.372.73.807 1.433 1.298 2.092a19.832 19.832 0 0 0 6.057-3.039c.497-5.16-.85-9.633-3.556-13.594A19.623 19.623 0 0 0 15.34.009L15.335 0zM7.99 12.376c-1.179 0-2.157-1.07-2.157-2.394s.94-2.399 2.152-2.399c1.213 0 2.177 1.08 2.157 2.399-.019 1.319-.95 2.394-2.152 2.394zm7.952 0c-1.184 0-2.153-1.07-2.153-2.394s.94-2.399 2.153-2.399c1.212 0 2.171 1.08 2.152 2.399-.019 1.319-.95 2.394-2.152 2.394z"/></svg></a></li></ul></li></ul></div></div><div class="TK-row TK-row--M2 TK--Footer-Mobile"><div class="TK-col-24"><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="/contact" class="TK-Footer-Link">Contact Us</a></li><li><ul class="TK-Footer-List--inner TK-Footer-List-Horizontal TK-Footer-List-Social"><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.facebook.com/TelerikandKendoUI" title="Facebook" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M16 7h-1.924C13.461 7 13 7.252 13 7.889V9h3l-.238 3H13v8h-3v-8H8V9h2V7.077C10 5.055 11.064 4 13.461 4H16zM5 0a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">105k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://x.com/telerik" title="X" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">50k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.linkedin.com/company/telerik" title="LinkedIn" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><path d="M20 19h-3v-5.6c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.4-2.586 7-2.777 7 2.476zM6.5 6.732a1.757 1.757 0 01-1.75-1.764A1.757 1.757 0 016.5 3.2a1.758 1.758 0 011.75 1.764A1.757 1.757 0 016.5 6.728zM5 19h3V8H5zM19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5z" fill="#000" fill-rule="evenodd"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">17k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.twitch.tv/codeitlive" title="Twitch" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 23 24.05"><path d="M1.57.02L0 4.18V20.9h5.75v3.12h3.14l3.13-3.14h4.71L23 14.61V.02zm2.09 2.07h17.25v11.5l-3.66 3.66H11.5l-3.13 3.13v-3.13H3.66zm5.75 10.45h2.09V6.27H9.41zm5.75 0h2.09V6.27h-2.09z" fill="#000"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">4k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://www.youtube.com/c/telerik" title="YouTube" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="18.287" viewBox="0 0 26 18.287"><path fill="#010101" d="M25.74 3.945a5.625 5.625 0 0 0-1.034-2.581 3.718 3.718 0 0 0-2.605-1.1c-3.638-.263-9.1-.263-9.1-.263h-.011s-5.458 0-9.1.263a3.719 3.719 0 0 0-2.605 1.1A5.623 5.623 0 0 0 .26 3.945 39.324 39.324 0 0 0 0 8.154v1.972a39.323 39.323 0 0 0 .26 4.208 5.623 5.623 0 0 0 1.033 2.58 4.408 4.408 0 0 0 2.867 1.112c2.08.2 8.84.261 8.84.261s5.463-.008 9.1-.271a3.719 3.719 0 0 0 2.605-1.1 5.625 5.625 0 0 0 1.035-2.582 39.377 39.377 0 0 0 .26-4.208V8.154a39.377 39.377 0 0 0-.26-4.209Zm-15.388 8.6V5.211l6.974 3.665Z"/></svg> <span class="TK-Footer-Social-Link-Count TK-fs16">14k+</span></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://github.com/telerik" title="GitHub" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12,0A12.047,12.047,0,0,0,0,12,12.455,12.455,0,0,0,9.188,24V20.03a2.889,2.889,0,0,1-3.239-1.441c-.273-.46-.756-.959-1.26-.922l-.124-1.4a2.892,2.892,0,0,1,2.593,1.6,1.555,1.555,0,0,0,.9.772,1.89,1.89,0,0,0,1.181-.1,3.3,3.3,0,0,1,.827-1.691h0C6.942,16.382,5.7,14.724,5.2,13.415a5.506,5.506,0,0,1,.855-5.281A.188.188,0,0,0,6.1,7.989a4.6,4.6,0,0,1,.14-3.073,4.858,4.858,0,0,1,2.663,1l.337.2c.141.084.1.036.238.025A10.182,10.182,0,0,1,12,5.792a10.225,10.225,0,0,1,2.553.363l.109.011c-.01,0,.03-.007.1-.046,2.436-1.476,2.349-.993,3-1.206A4.682,4.682,0,0,1,17.9,7.989c-.071.218,2.112,2.217.9,5.426-.494,1.309-1.74,2.968-4.866,3.434h0a3.086,3.086,0,0,1,.879,2.2V24A12.454,12.454,0,0,0,24,12,12.047,12.047,0,0,0,12,0Z"></path></svg></a></li><li class="TK-Footer-List-Horizontal-Item"><a href="https://discord.gg/pQXvHhjb7e" title="Discord" class="TK-Footer-Social-Link"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="19" viewBox="0 0 24 19"><path d="M15.335 0c-.233.416-.444.846-.634 1.285a18.474 18.474 0 0 0-5.48 0c-.186-.44-.4-.87-.634-1.285a19.93 19.93 0 0 0-4.94 1.524C.525 6.154-.32 10.665.1 15.114a19.84 19.84 0 0 0 6.057 3.043c.492-.659.926-1.361 1.298-2.093a13.114 13.114 0 0 1-2.042-.974c.171-.124.338-.254.5-.378a14.208 14.208 0 0 0 12.11 0c.162.134.329.263.5.378-.653.387-1.336.712-2.047.98.372.73.807 1.433 1.298 2.092a19.832 19.832 0 0 0 6.057-3.039c.497-5.16-.85-9.633-3.556-13.594A19.623 19.623 0 0 0 15.34.009L15.335 0zM7.99 12.376c-1.179 0-2.157-1.07-2.157-2.394s.94-2.399 2.152-2.399c1.213 0 2.177 1.08 2.157 2.399-.019 1.319-.95 2.394-2.152 2.394zm7.952 0c-1.184 0-2.153-1.07-2.153-2.394s.94-2.399 2.153-2.399c1.212 0 2.171 1.08 2.152 2.399-.019 1.319-.95 2.394-2.152 2.394z"/></svg></a></li></ul></li></ul></div></div></div></div><div class="TK-row TK-row--M1"><div class="TK-col-24"><a href="https://www.progress.com" aria-label="Go to Progress.com" class="TK-PRGS-Logo-Footer"><svg xmlns="http://www.w3.org/2000/svg" width="130" height="30" viewBox="0 0 512 120"><path fill="#5ce500" d="M95.52 29.33v51a3.93 3.93 0 0 1-1.78 3.08l-1.67 1-12.72 7.35-8.59 5-1.78 1V42.6L21.23 15 43.91 1.93 46 .74a3.94 3.94 0 0 1 3.56 0L81 18.9l14.51 8.38v2.05zM58.36 48.72l-9.79-5.66-22.91-13.23a4 4 0 0 0-3.56 0L1.77 41.57 0 42.6l34.49 19.91v39.83l20.3-11.73 1.79-1a3.94 3.94 0 0 0 1.78-3.08V48.72zM0 82.43l23.86 13.78V68.63z"></path><path fill="#4b4e52" d="M148.09 27.28h-26v70.48h11.55V70.1h14.57c15.77 0 24.45-7.7 24.45-21.69 0-6.35-2.4-21.12-24.55-21.12m12.78 21.31c0 7.95-4.12 11.19-14.24 11.19h-13v-22.1h14.57c8.56 0 12.71 3.57 12.71 10.91M207 46.41l.87.42-2 10.42-1.35-.42a11.32 11.32 0 0 0-3.34-.51c-10.79 0-11.67 8.59-11.67 19v22.44h-10.64V46h10v6.24c2.73-4.2 6-6.37 10.37-6.9a14.55 14.55 0 0 1 7.76 1.07M233.29 45c-8.42 0-15.16 3.2-19.5 9.27-4.56 6.37-5.23 13.85-5.23 17.74 0 16.36 9.7 26.92 24.73 26.92 18.26 0 24.73-14.71 24.73-27.3 0-7.25-2.15-13.82-6-18.51-4.41-5.31-10.87-8.12-18.7-8.12m0 44.38c-8.37 0-13.57-6.66-13.57-17.37s5.2-17.55 13.57-17.55S247 61.23 247 71.78c0 10.83-5.24 17.56-13.66 17.56m114.55-42.93l.87.42-2 10.42-1.35-.42a11.26 11.26 0 0 0-3.33-.51c-10.78 0-11.66 8.59-11.66 19v22.44h-10.66V46h10v6.24c2.73-4.2 6-6.37 10.37-6.9a14.54 14.54 0 0 1 7.73 1.06m38.4 34.76l-.2.57c-2.23 6.36-7.57 7.7-11.65 7.7-8.09 0-13.3-5.37-13.81-14.09h36.59l.13-1a31.26 31.26 0 0 0 .12-4.12v-.93C396.93 54.78 387.48 45 374 45c-7.9 0-14.37 3.1-18.73 9a30.85 30.85 0 0 0-5.54 18c0 16 9.95 26.74 24.74 26.74 11.45 0 19.33-5.82 22.2-16.38l.33-1.2h-10.7zM361 66.05c.9-7.17 5.81-11.73 12.79-11.73 5.33 0 11.64 3.1 12.52 11.73H361zm-60.7-15.71c-3.45-3.58-8.06-5.39-13.76-5.39-15.69 0-22.83 13.81-22.83 26.63 0 13.16 7.06 26.44 22.83 26.44a18.33 18.33 0 0 0 13.35-5.42c0 2.28-.1 4.45-.16 5.38-.58 8.54-4.68 12.51-12.91 12.51-4.47 0-9.61-1.59-10.6-6l-.22-1h-10.54l.17 1.41c1.1 9.12 9.11 14.79 20.9 14.79 10.34 0 17.7-3.9 21.28-11.26 1.73-3.55 2.6-8.72 2.6-15.37V46h-10.13v4.34zm-13.11 38.15c-3.74 0-12.43-1.69-12.43-17.37 0-10.3 4.87-16.7 12.71-16.7 6.06 0 12.52 4.39 12.52 16.7 0 10.87-4.79 17.37-12.81 17.37m159.67-6.31c0 8.23-6.83 16.53-22.09 16.53-13.5 0-21.53-5.85-22.61-16.45l-.15-1.1h10.52l.21.84c1.29 6.38 7.37 7.72 12.24 7.72 5.34 0 11-1.72 11-6.54 0-2.44-1.59-4.18-4.73-5.16-1.86-.55-4.15-1.2-6.56-1.87-4.16-1.16-8.47-2.38-11.12-3.29-6.56-2.35-10.33-6.93-10.33-12.56 0-10.43 10.16-15.11 20.22-15.11 13.46 0 20.42 5.07 21.3 15.49l.09 1.07H434.5l-.14-.82c-1-6-7-6.9-10.48-6.9-3 0-10 .53-10 5.5 0 2.25 1.93 3.91 5.89 5.06 1.18.33 2.94.78 5 1.31 4.22 1.09 9.48 2.46 12.13 3.37 6.59 2.32 9.93 6.67 9.93 13m49.39 0c0 8.23-6.83 16.53-22.09 16.53-13.5 0-21.53-5.85-22.61-16.45l-.11-1.09H462l.12.74c1.29 6.38 7.37 7.72 12.24 7.72 5.34 0 11-1.72 11-6.54 0-2.44-1.59-4.18-4.72-5.16-1.86-.55-4.15-1.2-6.57-1.87-4.16-1.16-8.46-2.38-11.11-3.29-6.57-2.35-10.33-6.93-10.33-12.56 0-10.43 10.16-15.11 20.22-15.11 13.46 0 20.42 5.07 21.29 15.49l.09 1.07H483.9l-.14-.82c-1-6-7-6.9-10.48-6.9-3 0-9.95.53-9.95 5.5 0 2.25 1.93 3.91 5.89 5.06 1.18.33 2.94.78 5 1.31 4.22 1.09 9.48 2.46 12.13 3.37 6.58 2.32 9.93 6.67 9.93 13m8.43-30.78a7.37 7.37 0 1 1 7.29-7.37 7.23 7.23 0 0 1-7.29 7.37m0-13.49a6.12 6.12 0 1 0 6 6.12 5.91 5.91 0 0 0-6-6.12m-.85 7.49v2.46h-2.17v-7.74h3.62a2.58 2.58 0 0 1 2.86 2.7 2.26 2.26 0 0 1-1.49 2.34l1.77 2.7H506l-1.49-2.46h-.68zm1.21-3.49h-1.21v1.73h1.21a.86.86 0 0 0 1-.85.88.88 0 0 0-1-.89"></path></svg></a></div></div><div class="TK-row"><div class="TK-col-12"><p class="TK-Footer-About">Telerik and Kendo UI are part of Progress product portfolio. Progress is the leading provider of application development and digital experience technologies.</p></div><div class="TK-col-24"><div class="TK-row--M3 TK--Footer-Desktop"><ul class="TK-Footer-List-Horizontal"><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/company">Company</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/products">Technology</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/company/awards">Awards</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://investors.progress.com/press-releases">Press Releases</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/company/press-coverage">Media Coverage</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/company/careers">Careers</a></li><li class="TK-Footer-List-Horizontal-Item"><a class="TK-Footer-Link TK-Footer-Link-Horizontal" href="https://www.progress.com/company/offices">Offices</a></li></ul></div></div></div><div class="TK-row TK-row--M2 TK--Footer-Mobile"><div class="TK-col-24"><ul class="TK-Footer-List"><li class="TK-Footer-List-Item"><a href="https://www.progress.com/company" class="TK-Footer-Link">Company</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/products" class="TK-Footer-Link">Technology</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/company/awards" class="TK-Footer-Link">Awards</a></li><li class="TK-Footer-List-Item"><a href="https://investors.progress.com/press-releases" class="TK-Footer-Link">Press Releases</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/company/press-coverage" class="TK-Footer-Link">Media Coverage</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/company/careers" class="TK-Footer-Link">Careers</a></li><li class="TK-Footer-List-Item"><a href="https://www.progress.com/company/offices" class="TK-Footer-Link">Offices</a></li></ul></div></div><div class="TK-row"><div class="TK-col-16"><p class="TK-Footer-Copy">Copyright &copy; 2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.</p><p class="TK-Footer-Copy">Progress and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See <a href="https://www.progress.com/legal/trademarks" class="TK-Footer-Link-Tiny">Trademarks</a> for appropriate markings. All rights in any other trademarks contained herein are reserved by their respective owners and their inclusion does not imply an endorsement, affiliation, or sponsorship as between Progress and the respective owners.</p></div><div class="TK-col-8 TK-tar"><ul class="TK-Footer-List-Horizontal"><li class="TK-Footer-List-Horizontal-Item TK-Footer-List-Horizontal-Item-Effect"><a href="/about/terms-of-use" class="TK-Footer-Link-Tiny">Terms of Use</a></li><li class="TK-Footer-List-Horizontal-Item TK-Footer-List-Horizontal-Item-Effect"><a href="/feedback" class="TK-Footer-Link-Tiny">Site Feedback</a></li><li class="TK-Footer-List-Horizontal-Item TK-Footer-List-Horizontal-Item-Effect"><a href="https://www.progress.com/legal/privacy-center" class="TK-Footer-Link-Tiny" target="_blank" rel="noopener">Privacy Center</a></li><li class="TK-Footer-List-Horizontal-Item TK-Footer-List-Horizontal-Item-Effect"><a href="https://www.progress.com/trust-center" class="TK-Footer-Link-Tiny" target="_blank" rel="noopener">Trust Center</a></li></ul><div class="TLRK-CCPA"><a href="https://forms.progress.com/ccpa-subscription" target="_blank" rel="nofollow noopener">Do Not Sell or Share My Personal Information</a></div><p class="TK-Footer-Power">Powered by <a href="https://www.progress.com/sitefinity-cms" class="TK-Footer-Link-Tiny">Progress Sitefinity</a></p></div></div></div></footer>





 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-migrate/3.4.1/jquery-migrate.min.js" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.SitefinityExtensions.Forms/Scripts/recaptcha-service.js?package=PureMvc&amp;v=MTk5NDEzODM3MA%3d%3d" type="text/javascript"></script>
            <script type="text/javascript">
                var oneTrustHelper = (function () {
                    function evalGTMScript() {
                        var gtmScript = document.getElementById("GTMScript");
                        gtmScript.type = "text/javascript";
                        gtmScript.classList.remove("optanon-category-1");
                        eval(gtmScript.innerHTML);
                    };

                    return {
                        gtmFallback: function () {
                            console.warn('OneTrust not loaded.');
                            if (document.readyState !== 'loading') {
                                evalGTMScript();
                            } else {
                                document.addEventListener('readystatechange', function () {
                                    if (document.readyState === 'interactive') {
                                        evalGTMScript();
                                    }
                                });
                            };
                        }
                    };
                })();
            </script>
        
               <script onerror="oneTrustHelper.gtmFallback()" src="https://cdn.cookielaw.org/consent/3dfce4f2-dab6-4128-9f33-df7e0597da82/otSDKStub.js" data-language="en" type="text/javascript" charset="UTF-8" data-domain-script="3dfce4f2-dab6-4128-9f33-df7e0597da82"></script>
            
<script type="text/javascript">
    (function (w) {
        w.OptanonGroups = {"StrictlyNecessaryCookies":"1","PerformanceCookies":"2","FunctionalCookies":"3","TargetingCookies":"4"};

        w.isOptanonGroupActive = function (groupId, explicit) {
            if (!w.OptanonActiveGroups) return false;
            var groupMatchKey = ',' + groupId + ',';

            return w.OptanonActiveGroups.indexOf(groupMatchKey) !== -1;
        }

        function toggleSitefinityTrackingConsent() {
            var performanceCookiesGroupId = w.OptanonGroups.PerformanceCookies;
            var isPerformanceCookiesGroupIdActive = w.isOptanonGroupActive(performanceCookiesGroupId, true);

            if (w.TrackingConsentManager) {
                w.TrackingConsentManager.updateUserConsent(isPerformanceCookiesGroupIdActive);
            }
        };

        var trackingScriptsQueue = [];
        w.invokeTrackingScript = function (thisReference, trackingGroup, functionReference) {
            if (isOptanonGroupActive(trackingGroup, true)) {
                functionReference.call(thisReference);
            }
            else {
                trackingScriptsQueue.push({
                    thisReference: thisReference,
                    trackingGroup: trackingGroup,
                    functionReference: functionReference
                });
            }
        }

        var isOptanonToggled = false;
        var preferenceChangeHandlerAdded = false;

        w.OptanonWrapper = function () {
            var newTrackingScriptsQueue = [];
            for (var i = 0; i < trackingScriptsQueue.length; i++) {
                var trackingScriptData = trackingScriptsQueue[i];
                if (isOptanonGroupActive(trackingScriptData.trackingGroup, true)) {
                    trackingScriptData.functionReference.call(trackingScriptData.thisReference);
                }
                else {
                    newTrackingScriptsQueue.push(trackingScriptData);
                }
            }

            trackingScriptsQueue = newTrackingScriptsQueue;

            if (!isOptanonToggled && w.location.hash === '#cookie-settings' && true) {
                isOptanonToggled = true;
                Optanon.ToggleInfoDisplay();
            }

            if(!preferenceChangeHandlerAdded){
                
                 OneTrust.OnConsentChanged(function() {

                     // Trigger cookie check process after user makes changes to allowed cookie groups from the OneTrust cookie settings dialog.
                     $.ajax(
                     {
                         url: '/webapi/CookiePreferences/Update',
                         type: 'HEAD'
                     });
                 });

                preferenceChangeHandlerAdded = true;
            }

            toggleSitefinityTrackingConsent();
        }
    })(window);
</script>
 <script>
			// global variables
			var telerikId;
			var tlrkUser;
		</script> <script>
	(async function () {

	const response = await fetch("/webapi/UserTracking/RetrieveTelerikId", {
		method: "GET",
		cache: "no-cache",
	});

	const model = await response.json();

	telerikId = model.telerikId;
	tlrkUser = { isAuthenticated: !!telerikId };

	if (document.addEventListener) {
		window.dataLayer = window.dataLayer || [];
		dataLayer.push({ uniqueId: model.userId, telerikId });
		dataLayer.push({ event: "persistuuid" })
	}
})();
</script> <script id="GTMScript" type="text/plain" class="optanon-category-1" >
    function isMobileDevice() {
        var result = false;
        var matches = [
            /(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,
            /(Silk)\/(\d+)\.(\d+(\.\d+)?)/,
            /(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)\.?(\d+(\.\d+)?)?/,
            /(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,
            /(iPad).*OS\s+(\d+)[\._]([\d_]+)/,
            /(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,
            /(webOS)\/(\d+)\.(\d+(\.\d+)?)/,
            /(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,
            /(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,
            /(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,
            /(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,
            /(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,
            /(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/
        ];
        for (var i = 0; i < matches.length; i++) {
            result = matches[i].test(window.navigator.userAgent);
            if (result) {
                break;
            }
        }
        return result;
    }

    (function () {
        'use strict';
        window.dataLayer = window.dataLayer || []; dataLayer.push({ isTelerikMarketingWebsite: true });
        if (isMobileDevice()) {
            return;
        }
        (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-6X92');
    })();
</script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-6X92" height="0" width="0" style="display: none; visibility: hidden"></iframe> </noscript> <script type="text/plain" class="optanon-category-2">
		!function (e) { function n() { if (e && r()) { var n = t(); i(e, n) } } function i(e, n) { l.post(u, new c({ telerikId: e, uniqueId: n })) } function t() { for (var e = document.cookie.split(";"), n = "gauuid", i = 0; i < e.length; i++) { for (var t = e[i]; " " === t.charAt(0);)t = t.substring(1, t.length); if (0 === t.indexOf(n)) return t.substring(n.length, t.length).replace("=", "") } return null } function r() { var e = new Date; if (null === localStorage.getItem(a)) return o(e), !0; var n = Date.parse(localStorage.getItem(a)); if (isNaN(n)) return !1; var i = new Date(n); return i.setTime(i.getTime() + 6048e5) < e ? (o(e), !0) : !1 } function o(e) { localStorage.setItem(a, e.toISOString()) } if (window.jQuery) { var l = window.jQuery, u = window.location.origin + "/services/callhomeservice/api/userlogged", a = "call-home-client-key-user-logged", c = function (e) { this.telerikId = e.telerikId, this.uniqueId = e.uniqueId }; l(document).ready(function () { n() }), window.__callhome__ || (window.__callhome__ = {}), window.__callhome__.verify = r, window.__callhome__.init = n } }(telerikId);
	</script> <script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.Widgets.SEO/Mvc/Scripts/Shared/referrer-policy.min.js?package=PureMvc&amp;v=MjE0Njg4NzE3MQ%3d%3d" type="text/javascript"></script><script src="https://dtzbdy9anri2p.cloudfront.net/cache/b3485d7dde1ec57a3915d1079237c8c34a5198c1/telerik/js/dist/polyfills.min.js" type="text/javascript"></script><script src="https://dtzbdy9anri2p.cloudfront.net/cache/9095bdf2115aeca1f4aa1ab08b29d89277d879bb/telerik/js/dist/all.min.js" type="text/javascript"></script><script src="/Frontend-Assembly/Telerik.Sitefinity.Frontend.Forms/Mvc/Scripts/EmailTextField/email-text-field.js?package=PureMvc&amp;v=LTE2MzYwOTg1NjM%3d" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.Widgets.MVC.Forms/Mvc/Views/StatesListField/states-field.min.js?package=PureMvc&amp;v=LTE3MDYxNjU1MDE%3d" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.Widgets.MVC.Forms/Mvc/Views/OptInOutField/opt-in-out.min.js?package=PureMvc&amp;v=LTE3MDYxNjU1MDE%3d" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.Widgets.MVC.Forms/Mvc/Scripts/Recaptcha/recaptcha.min.js?package=PureMvc&amp;v=LTE3MDYxNjU1MDE%3d" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/jsbundle/common-form?v=1Km7tZ0xZRRK_2xZ2yNBzXDqsuagPQ9avViJk3UCjVg1" type="text/javascript"></script><script src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.Widgets.MVC.Forms/Mvc/Scripts/CommonForm/FormTracking.min.js?package=PureMvc&amp;v=LTE3MDYxNjU1MDE%3d" type="text/javascript"></script>
<script type="text/javascript">
    
(function() {
    if (window._dataLayerTimeout) {
        clearTimeout(window._dataLayerTimeout);
    }

    window._dataLayerTaxLoadedEvent = {
		...(window._dataLayerTaxLoadedEvent || {}),
		...{"tax_pagenode_products":"progress-telerik","event":"tax_loaded"}
	};

    window._dataLayerTimeout = setTimeout(function() {
        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push(window._dataLayerTaxLoadedEvent);
    }); 
})();

</script><script type="text/javascript">(function(n){var t=n.fn.text;n.fn.text=function(i){return n.isFunction(i)?t.apply(this,arguments):typeof i!="object"&&i!==undefined&&this.length==1&&n(this[0]).data().sfRole&&n(this[0]).data().sfRole=="success-message"?this.empty().html(i):t.apply(this,arguments)}})(jQuery)</script><script type="text/javascript">(function(){var t=function(t){if(t.WidgetInstanceId=="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"&&t.status===200){var r=JSON.parse(t.response);if(!r.success){for(var i=$('[name="WidgetInstanceId"][value="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"]').closest('[data-sf-role="form-container"]'),e=i.find('[data-sf-role="error-message"]'),o=0;o<e.length;o++){var h=$(e[o]),c=h.clone(),l=h.parent();l.find('[data-sf-role="error-message"]').remove();c.appendTo(l);c.show()}e=i.find('[data-sf-role="error-message"]');var u=n(r.error)?JSON.parse(r.error):null,s=u&&u.CustomErrors&&n(u.CustomErrors)?JSON.parse(u.CustomErrors):null;if(s)for(var a in s){var v=i.find('[name="'+a+'"]'),f=v?v.parent().children('[data-sf-role="error-message"]'):null;f&&(f.text(s[a]),f.addClass("sfError"),f.parent().addClass("sfErrorWrp"))}else{var y=i.find(".js-main-error-message-wrapper .js-main-error-message-container");y.html(r.error);y.show()}i.find('button[type="submit"],input[type="submit"]').click(function(){i.find('[data-sf-role="error-message"]').text("")})}}};function n(n){try{JSON.parse(n)}catch(t){return!1}return!0}window.MvcFormSubmitResponseHandlers=window.MvcFormSubmitResponseHandlers||[];window.MvcFormSubmitResponseHandlers.push(t)})()</script><script type="text/javascript">(function(){var t=function(t){if(t.WidgetInstanceId=="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"&&t.status===200){var f=JSON.parse(t.response);if(!f.success){var s=$('[name="WidgetInstanceId"][value="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"]').closest('[data-sf-role="form-container"]'),i=n(f.error)?JSON.parse(f.error):null,e="CustomValues",r=i&&i[e]&&n(i[e])?JSON.parse(i[e]):null;if(r)for(var u in r){var o=s.find('[name="'+u+'"]');if(o&&o.length)o.val(r[u]);else{var h=$("<input>").attr({type:"hidden",name:u,value:r[u]});h.appendTo(s)}}}}};function n(n){try{JSON.parse(n)}catch(t){return!1}return!0}window.MvcFormSubmitResponseHandlers=window.MvcFormSubmitResponseHandlers||[];window.MvcFormSubmitResponseHandlers.push(t)})()</script><script type="text/javascript">(function(){var n=function(n){if(n.WidgetInstanceId=="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"&&n.status===200){var t=JSON.parse(n.response);t.success&&window.invokeTrackingScript(this,OptanonGroups.PerformanceCookies,function(){var i=$('[name="WidgetInstanceId"][value="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"]').closest('[data-sf-role="form-container"]'),n="Email",t=n?i.find("input[name="+n+"]"):null;t&&(window.BizibleTracker=window.BizibleTracker||[],BizibleTracker.push({Email:t.val(),SendIfSame:!1}))})}};window.MvcFormSubmitResponseHandlers=window.MvcFormSubmitResponseHandlers||[];window.MvcFormSubmitResponseHandlers.push(n)})()</script><script type="text/javascript">(function(){var n=function(n){if(n.WidgetInstanceId=="f1c7fd01-25e7-4f86-8d24-70fc12864bc4"&&n.status===200){var i=JSON.parse(n.response);if(i.success){var t="/virtual/blogs";t&&typeof dataLayer!="undefined"&&(window.dataLayer=window.dataLayer||[],dataLayer.push({event:"virtualPageview",vpv:t}),dataLayer.push({event:"page_view",page_path:t}))}}};window.MvcFormSubmitResponseHandlers=window.MvcFormSubmitResponseHandlers||[];window.MvcFormSubmitResponseHandlers.push(n)})()</script><script type="text/javascript">
    $('#form--1').find('[name="pageurl"]').val(window.location.href);
</script><script class="optanon-category-2" type="text/plain">$(function(){function r(n){return n.split("?")[0]}let t=r("/widgettemplateformsubmit/CommonForm/TemplateAjaxSubmit");function i(){setAdWordsCookie("adWordsData","ad_words",!0,t);setAdWordsCookie("expTracking","expTracking",!0,t);window.addEventListener("onOptimizeCallbackTriggered",function(){setAdWordsCookie("expTracking","expTracking",!0,t)},!1)}if(typeof setAdWordsCookie=="function")i();else{function t(){this.readyState&&this.readyState!=="complete"&&this.readyState!=="loaded"||i()}var n=document.createElement("script");n.src="https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.SitefinityExtensions.EloquaConnector/Scripts/AdWordsCookieHelper.min.js?package=PureMvc&v=LTIxMjc1MDMxMDI%3d&v=LTIxMjc1MDMxMDI%3d";n.type="text/javascript";n.async=!0;n.addEventListener?n.addEventListener("load",t,!1):script.readyState&&(n.onreadystatechange=t);document.body.appendChild(n)}})</script><script class="optanon-category-2" type="text/plain">$(function(){var t=[],f=new Web.Forms.FormFieldManager("form--1"),n=JSON.parse('[{"type":"Email","htmlName":"Email","providerFieldName":"C_EmailAddress"},{"type":"Country","htmlName":"DynamicListFieldController","providerFieldName":"C_Country"},{"type":"State","htmlName":"StatesListFieldController","providerFieldName":"C_State_Prov"},{"type":"Email Opt-in/out","htmlName":"OptInOutFieldController","providerFieldName":"C_Electron_Message_Status1"}]'),i=JSON.parse('{"siteId":"1325","pps":"50","dlKey":"6a658360-4f8e-4a82-81df-12d57d43ef11","elqCookieWrite":"0","contactDlKey":"d3b0b8c7-0681-44c2-a213-f3586276a006","initialElqCookieWrite":"1","initialElqCookie":"0","initialPps":"70"}');i&&n&&n.length>0&&t.push(new Web.Forms.EloquaPrefillDataProvider(n,i));var r=JSON.parse('[{"fieldType":"Email Opt-in/out","prefiller":"emailOptInOut"}]'),u=new Web.Forms.FormPrefill(t,r,"form--1");u.prefill()})</script><script class="optanon-category-2" type="text/plain">(function(){var n=Web.Widgets.Mvc.Forms.Tracking,e=!navigator.sendBeacon,r=document.getElementById("form--1"),o=r.querySelector(`[data-sf-role="widget-id"]`),c=o?o.value:"",u=c;u||(u="9bac7f37-e8d8-4b7f-b554-bf9891689ba1");var t=new n.GoalConversionInfo("BlogSubscription","Telerik",u),s=new n.Sitefinity.GoalConversionFormTracker(t,"f1c7fd01-25e7-4f86-8d24-70fc12864bc4",e),f=new n.Sitefinity.TriggerableGoalConversionFormTracker(t);r.triggerableGoalConversionFormTracker=f;var h=new n.GoogleAnalyticsEventNotification("conversion-event",!e);new n.FormTracking(s,h).track();new n.FormTracking(f,h).track();var i=r.querySelector("[name='Product']");i&&i.addEventListener("change",function(){var n="";if(i.tagName.toUpperCase()==="SELECT")n=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(this.value)?this.options[this.selectedIndex].text:this.value;else{var r=i.querySelectorAll('input[type="checkbox"]:checked');if(r&&r.length>0)for(var u=0;u<r.length;u++)n+=r[u].value,u!==r.length-1&&(n+=", ")}n&&(t.productName=n);s.updateData(t);f.updateData(t)})})()</script><script type="text/plain" class="optanon-category-2">
	(function() {
				var script = 'https://s1325.t.eloqua.com/visitor/v200/svrGP?pps=70&siteid=1325';
				(function getScript(source, callback) {
					var script = document.createElement('script');
					var prior = document.getElementsByTagName('script')[0];
					script.async = 1;
					prior.parentNode.insertBefore(script, prior);
					script.onload = script.onreadystatechange = function( _, isAbort ) {
						if(isAbort || !script.readyState || /loaded|complete/.test(script.readyState) ) {
							script.onload = script.onreadystatechange = null;
							script = undefined;

							if(!isAbort) { if(callback) callback(); }
						}
					};
					script.src = source;
				})(script, function() {
					if (typeof GetElqCustomerGUID == 'function') {
						var userId = GetElqCustomerGUID();
						document.cookie = 'elqUserId=' + userId + ';secure; path=/;SameSite=Lax;';
					}
				});
			})();
</script><script type="application/json" id="PersonalizationTracker">
	{"IsPagePersonalizationTarget":false,"IsUrlPersonalizationTarget":false,"PageId":"9bac7f37-e8d8-4b7f-b554-bf9891689ba1"}
</script><script type="text/javascript" src="/WebResource.axd?d=NjxTqR2bqTw1rewxxlkHPhr-2awQiGC1t4afxFkRlQ9hya2sD15bGrdgIYxV5oymd7lM20nXinlfNQ7rubKudQ2RDNHnt0G9zqYW8HltmFjcKKorrcw5dV0tBFxsPvDHJP04y9syTz7mNZS4jPK7kvcqYvWCXk_9LL20Ml6lJlZfLS7RIWZnqaGGXv0sk0sXw5161BHGhvkqb9uCayn9Kq57pV9u23lE6Pml2fnEAC01&amp;t=638923998120000000">

</script> <script type="application/ld+json">
		{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "https://www.telerik.com/",
  "sameAs": [
    "https://x.com/telerik",
    "https://www.youtube.com/c/telerik",
    "https://www.linkedin.com/company/telerik",
    "https://en.wikipedia.org/wiki/Telerik",
    "https://github.com/telerik",
    "https://www.facebook.com/telerik",
    "https://www.twitch.tv/codeitlive"
  ],
  "logo": "https://d585tldpucybw.cloudfront.net/sfimages/default-source/blogs/author-images/progress-blog-default-logo-transparent.png",
  "name": "Progress Telerik",
  "description": "Save time building sleek web, mobile and desktop apps with professional .NET UI Components, JavaScript UI Libraries, Reporting and Automated Testing solutions.",
  "telephone": "+1 800 213 3407",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "15 Wayside Rd, Suite 400",
    "addressLocality": "Burlington",
    "addressCountry": "US",
    "postalCode": "01803"
  }
}
	</script> <script type="text/plain" class="optanon-category-2"> !function () { function loadEloqua() { if (void 0 === window._elqQ || window._elqQ.constructor !== Array || "elqSetSiteId" !== window._elqQ[0][0] || "1325" !== window._elqQ[0][1]) { window.dataLayer = window.dataLayer || [], window._elqQ = window._elqQ || [], window._elqQ.push(["elqSetSiteId", "1325"]), window._elqQ.push(["elqTrackPageView", window.location.href]), window.dataLayer.push({ event: "elqQ_loaded" }); var s = document.createElement("script"); s.type = "text/javascript", s.async = !0, s.src = "//img.en25.com/i/elqCfg.min.js"; var x = document.getElementsByTagName("script")[0]; x.parentNode.insertBefore(s, x) } } function loadGA() { window._gaq = window._gaq || [], window._gaq.push(["_setAccount","UA-111455-1"], ["_setDomainName", ".telerik.com"], ["_addIgnoredRef", "telerik.com"], ["_trackPageview"]); var ga = document.createElement("script"); ga.type = "text/javascript", ga.async = !0, ga.src = ("https:" == document.location.protocol ? "https://" : "http://") + "stats.g.doubleclick.net/dc.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s) } isMobileDevice() && (loadGA(), loadEloqua()) }();</script> <script type="text/javascript" defer src='https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.SitefinityExtensions.EloquaConnector/Scripts/BrowserSessionStorage.min.js?package=PureMvc&amp;v=LTIxMjc1MDMxMDI%3d&amp;v=LTIxMjc1MDMxMDI%3d'></script> <script type="text/javascript" defer src='https://d585tldpucybw.cloudfront.net/Frontend-Assembly/Web.SitefinityExtensions.EloquaConnector/Scripts/SetBrowserSessionStorage.min.js?package=PureMvc&amp;v=LTIxMjc1MDMxMDI%3d&amp;v=LTIxMjc1MDMxMDI%3d)'></script> </body> </html>
