{"id":16261,"date":"2026-06-06T08:44:28","date_gmt":"2026-06-06T08:44:28","guid":{"rendered":"https:\/\/pinakinnsoft.com\/kinetic\/?page_id=16261"},"modified":"2026-08-06T12:19:23","modified_gmt":"2026-08-06T12:19:23","slug":"usb-data-line-protection-ics","status":"publish","type":"page","link":"https:\/\/pinakinnsoft.com\/kinetic\/protection-system-monitoring\/usb-data-line-protection-ics\/","title":{"rendered":"USB Data Line Protection ICs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16261\" class=\"elementor elementor-16261\">\n\t\t\t\t<div class=\" elementor-element elementor-element-3b90a3a e-con-full e-flex section-light e-con e-parent\" data-id=\"3b90a3a\" data-element_type=\"container\" data-e-type=\"container\" id=\"down-section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\" elementor-element elementor-element-9bda81e e-flex e-con-boxed section-light e-con e-child\" data-id=\"9bda81e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c29fae1 elementor-hidden-desktop elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"c29fae1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kinetic Technologies USB Data Line Protection ICs protect USB hi-speed data lines from short circuit and surge events with low-resistance, reverse blocking MOSFET switches configured as a USB hi-speed data line multiplexer enabling multiple paths from a single USB connector.<\/p><p>USB Data Line Protection ICs protect USB data lines from unexpected voltage surges, overvoltage conditions and short-circuit outputs. USB Data Line Protection ICs require low power consumption and use ultra-small packaging that makes it ideal for USB interface switching and protection across smartphones, tablets, mobile devices, camcorders, digital cameras, electronics with service test modes, embedded mass storage, telecom equipment, and set-top boxes.<\/p><p>Protecting system ICs downstream from the USB port is critical, and Kinetic Technologies USB Data Line Protection ICs provide significant power savings ideal for mobile devices with the added benefit of ultra-fast fault OVP that maintains safe voltages, even under fault conditions.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ddb2b1 elementor-widget elementor-widget-fswp-text-unfold\" data-id=\"5ddb2b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"fswp-text-unfold.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"fswp-elt--read-more-main-wrapper\">\n                    <div class=\"fswp-elt--read-more-content-wrapper\">\n                            <div class=\"fswp-elt--read-more-content fswp-elt--rm-active\">\n                    <p>Kinetic Technologies USB Data Line Protection ICs protect USB hi-speed data lines from short circuit and surge events with low-resistance, reverse blocking MOSFET switches configured as a USB hi-speed data line multiplexer enabling multiple paths from a single USB connector.<\/p><p>USB Data Line Protection ICs protect USB data lines from unexpected voltage surges, overvoltage conditions and short-circuit outputs. USB Data Line Protection ICs require low power consumption and use ultra-small packaging that makes it ideal for USB interface switching and protection across smartphones, tablets, mobile devices, camcorders, digital cameras, electronics with service test modes, embedded mass storage, telecom equipment, and set-top boxes.<\/p><p>Protecting system ICs downstream from the USB port is critical, and Kinetic Technologies USB Data Line Protection ICs provide significant power savings ideal for mobile devices with the added benefit of ultra-fast fault OVP that maintains safe voltages, even under fault conditions.<\/p>                <\/div>\n\n                \n                                    <div class=\"fswp-elt--read-more-button-wrapper\">\n                        <a class=\"fswp-elt--read-more more show-icon\"\n                            data-height=\"160\"\n                            data-more=\"Read More\"\n                            data-less=\"Read Less\"\n                            aria-expanded=\"false\">\n                            <span class=\"fswp-elt--read-more-text\">\n                                Read More                            <\/span>\n                                                            <span class=\"fswp-elt--read-more-icon more\">\n                                    <i aria-hidden=\"true\" class=\"fas fa-angle-down\"><\/i>                                <\/span>\n                                                                                        <span class=\"fswp-elt--read-more-icon less\">\n                                    <i aria-hidden=\"true\" class=\"fas fa-angle-up\"><\/i>                                <\/span>\n                                                    <\/a>\n                    <\/div>\n                                    <\/div><!--read-more-content-wrapper-->\n            <\/div>\n    \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\" elementor-element elementor-element-36b3c7e e-con-full e-flex section-light e-con e-parent\" data-id=\"36b3c7e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7acaeb1 elementor-hidden-desktop elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-crafto-heading\" data-id=\"7acaeb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"crafto-heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"crafto-heading\"><span class=\"crafto-primary-title\">Product <span class=\"separator\">selection<\/span><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9df9b6d elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"9df9b6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"products-table-area\">\n  <div class=\"product-filters-spacer\"><\/div>\n<div class=\"product-filters\">\n<div class=\"filter-row\">\n<div id=\"id1\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">VIN (MIN) (V)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id2\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">VIN (MAX) (V)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id3\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">IQ (\u00b5A)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id4\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">ON Resistance (\u03a9)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id5\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">Switch Con (pF)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id6\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">OVP Trip Point (V)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id7\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">OVP Turn Off Response Time (ns)<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div id=\"id8\" class=\"filter-group checkbox-group\">\n<button class=\"filter-dropdown-toggle\" type=\"button\">\n<span class=\"filter-label\">Package<\/span>\n<span class=\"filter-arrow\">\u25be<\/span>\n<\/button>\n<div class=\"checkbox-dropdown-menu\">\n<div class=\"checkbox-actions\"><button class=\"select-all\" type=\"button\">All<\/button>\n<button class=\"clear-all\" type=\"button\">Clear<\/button><\/div>\n<div class=\"checkbox-list\"><\/div>\n<\/div>\n<\/div>\n<div class=\"filter-actions\"><button id=\"reset-product-filters\" type=\"button\">Reset Filters<\/button><\/div>\n<\/div>\n<\/div>\n<div class=\"table-wrap\">\n<table id=\"perametric-search\" class=\"tbl-product__table display nowrap\">\n<thead class=\"tbl-product__thead\">\n<tr class=\"tbl-product__tr\">\n<th class=\"tbl-product__cell\">Part Number<\/th>\n<th class=\"tbl-product__cell width-l\">Description<\/th>\n<th class=\"tbl-product__cell\">V<sub>IN<\/sub> (MIN) V)<\/th>\n<th class=\"tbl-product__cell\">V<sub>IN<\/sub> (MAX) (V)<\/th>\n<th class=\"tbl-product__cell\">IQ (\u00b5A)<\/th>\n<th class=\"tbl-product__cell\">ON Resistance (\u03a9)<\/th>\n<th class=\"tbl-product__cell\">Switch Con (pF)<\/th>\n<th class=\"tbl-product__cell\">OVP Trip Point (V)<\/th>\n<th class=\"tbl-product__cell\">OVP Turn Off Response Time (ns)<\/th>\n<th class=\"tbl-product__cell\">Package<\/th>\n<th class=\"tbl-product__cell width-l\">Advantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1000\/\">KTU1000<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Hi-Speed Switch with Fault Protection<\/td>\n<td class=\"tbl-product__cell\">2.7<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">25<\/td>\n<td class=\"tbl-product__cell\">3.4<\/td>\n<td class=\"tbl-product__cell\">2<\/td>\n<td class=\"tbl-product__cell\">4.8<\/td>\n<td class=\"tbl-product__cell\">100<\/td>\n<td class=\"tbl-product__cell\">WLCSP-12 1.17x1.57<\/td>\n<td class=\"tbl-product__cell\">Fastest OVP response time, low Ron, low Con, low Iq<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1001\/\">KTU1001<\/a><\/td>\n<td class=\"tbl-product__cell\">USB D+\/D- Hi-Speed or SBU1\/2 Switch with Fault Protection<\/td>\n<td class=\"tbl-product__cell\">2.7<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">25<\/td>\n<td class=\"tbl-product__cell\">6<\/td>\n<td class=\"tbl-product__cell\">4<\/td>\n<td class=\"tbl-product__cell\">4.8<\/td>\n<td class=\"tbl-product__cell\">100<\/td>\n<td class=\"tbl-product__cell\">WLCSP-12\n1.17x1.57<\/td>\n<td class=\"tbl-product__cell\">Fastest OVP response time, reverse blocking switches, low Iq, 1M\u2126 pull down<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1001a\/\">KTU1001A<\/a><\/td>\n<td class=\"tbl-product__cell\">USB D+\/D- Hi-Speed or SBU1\/2 Switch with Fault Protection<\/td>\n<td class=\"tbl-product__cell\">2.7<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">25<\/td>\n<td class=\"tbl-product__cell\">6<\/td>\n<td class=\"tbl-product__cell\">4<\/td>\n<td class=\"tbl-product__cell\">4.8<\/td>\n<td class=\"tbl-product__cell\">100<\/td>\n<td class=\"tbl-product__cell\">WLCSP-12\n1.17x1.57<\/td>\n<td class=\"tbl-product__cell\">Fastest OVP response time, reverse blocking switches, low Iq, 5M\u2126 pull down<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1101\/\">KTU1101<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC and SBU Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\">4\/0.33<\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\">4.8\/5.8<\/td>\n<td class=\"tbl-product__cell\">15<\/td>\n<td class=\"tbl-product__cell\">WLCSP-20\n1.7x2.1<\/td>\n<td class=\"tbl-product__cell\">Ultra-fast 15ns OVP response time, SBU1\/2 reverse blocking switches, low Iq, Moisture Detection Compatible 10M\u2126 to GND<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1108\/\">KTU1108<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC Pins<\/td>\n<td class=\"tbl-product__cell\">2.7<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">30<\/td>\n<td class=\"tbl-product__cell\">240<\/td>\n<td class=\"tbl-product__cell\">370<\/td>\n<td class=\"tbl-product__cell\">5.8<\/td>\n<td class=\"tbl-product__cell\">15<\/td>\n<td class=\"tbl-product__cell\">WLCSP-12\n1.29x1.69<\/td>\n<td class=\"tbl-product__cell\">Ultra-fast 15ns OVP response time, low Iq, 24V tolerance on CC1\/2, Moisture Detection Compatible 10M\u2126 to GND<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1120\/\">KTU1120<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC and SBU Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">40<\/td>\n<td class=\"tbl-product__cell\">3 \/ 0.27<\/td>\n<td class=\"tbl-product__cell\">11 \/ 40<\/td>\n<td class=\"tbl-product__cell\">3.83 \/ 5.8<\/td>\n<td class=\"tbl-product__cell\">15<\/td>\n<td class=\"tbl-product__cell\">WLCSP44-16<\/td>\n<td class=\"tbl-product__cell\">Ultra-fast 15ns OVP response time, low Iq, 24V tolerance on CC1\/2, SBU1\/2, Moisture Detection Compatible 10M\u2126 to GND<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1121\/\">KTU1121<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC and SBU Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">40<\/td>\n<td class=\"tbl-product__cell\">3 \/ 0.27<\/td>\n<td class=\"tbl-product__cell\">11\/40<\/td>\n<td class=\"tbl-product__cell\">4.8 \/ 5.8<\/td>\n<td class=\"tbl-product__cell\">15<\/td>\n<td class=\"tbl-product__cell\">WLCSP44-16 1.70 x 1.70 TQFN33-20<\/td>\n<td class=\"tbl-product__cell\">Ultra-fast 15ns OVP response time, low Iq, 24V tolerance on CC1\/2, SBU1\/2, Moisture Detection Compatible 10M\u03a9 to GND<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1121a\/\">KTU1121A<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC and SBU Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">40<\/td>\n<td class=\"tbl-product__cell\">3 \/ 0.27<\/td>\n<td class=\"tbl-product__cell\">11\/40<\/td>\n<td class=\"tbl-product__cell\">4.8 \/ 5.8<\/td>\n<td class=\"tbl-product__cell\">70<\/td>\n<td class=\"tbl-product__cell\">WLCSP44-16 1.70 x 1.70 TQFN33-20<\/td>\n<td class=\"tbl-product__cell\">Thunderbolt(TM) compatible. Fast 15ns OVP response time, low Iq, 24V tolerance on CC1\/2, SBU1\/2, Moisture Detection Compatible 10M\u03a9 to GND<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1128\/\">KTU1128<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C 28V EPR Port Protector for CC and SBU Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\">TQFN33-20<\/td>\n<td class=\"tbl-product__cell\">P2P Compatibility with existing TI Part (TPD4S311\/TPD6S300) with higher withstand voltage (up to 32V) for USB-C PD3.1 28V EPR application<\/td>\n<\/tr>\n<tr class=\"tbl-product__tr\">\n<td class=\"tbl-product__cell\"><a href=\"https:\/\/pinakinnsoft.com\/kinetic\/ktu1131\/\">KTU1131<\/a><\/td>\n<td class=\"tbl-product__cell\">USB Type-C Port Protector for CC, SBU and D+\/- Pins<\/td>\n<td class=\"tbl-product__cell\">2.5<\/td>\n<td class=\"tbl-product__cell\">5.5<\/td>\n<td class=\"tbl-product__cell\">55<\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\">3 \/ 0.27<\/td>\n<td class=\"tbl-product__cell\"><\/td>\n<td class=\"tbl-product__cell\">4.8 \/ 5.8<\/td>\n<td class=\"tbl-product__cell\">UQFN33-20<\/td>\n<td class=\"tbl-product__cell\">Ultra-fast 15ns OVP response time, low Iq, 24V tolerance on CC1\/2, SBU1\/2, Moisture Detection Compatible 6M\u03a9 to GND<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"dt-bottom-scrollbar\">\n    <div class=\"dt-bottom-scrollbar-inner\"><\/div>\n  <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31318b4 elementor-widget elementor-widget-html\" data-id=\"31318b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\njQuery(function ($) {\n  const $table = $('#perametric-search');\n  if (!$table.length) return;\n\n  let table;\n\n  table = $table.DataTable({\n    layout: {\n      topStart: null,\n      topEnd: null\n    },\n    pageLength: 50,\n    lengthMenu: [[50, 100, 150, -1], [50, 100, 150, \"All\"]],\n    scrollX: true,\n    autoWidth: true,\n    fixedColumns: {\n      left: 1\n    },\n    columnDefs: [\n      {\n        targets: 1,\n        render: function (data) {\n          return '<div class=\"tbl-desc\">' + data + '<\/div>';\n        }\n      },\n      {\n        targets: 0,\n        className: 'part-number'\n      }\n    ],\n    initComplete: function () {\n      setTimeout(function () {\n        table.columns.adjust().draw(false);\n        initParametricSticky();\n      }, 100);\n    },\n    drawCallback: function () {\n      setTimeout(function () {\n        table.columns.adjust();\n        if (window.updateParametricStickyUI) {\n          window.updateParametricStickyUI();\n        }\n      }, 50);\n    }\n  });\n\n  $('.filter-group').each(function () {\n    const $label = $(this).find('.filter-label');\n    $label.data('default-label', $label.html());\n  });\n\n  const checkboxFilterConfigs = [\n    { key: 'checkboxFilter1', groupSelector: '#id1', colIndex: 2 },\n    { key: 'checkboxFilter2', groupSelector: '#id2', colIndex: 3 },\n    { key: 'checkboxFilter3', groupSelector: '#id3', colIndex: 4 },\n    { key: 'checkboxFilter4', groupSelector: '#id4', colIndex: 5 },\n    { key: 'checkboxFilter5', groupSelector: '#id5', colIndex: 6 },\n    { key: 'checkboxFilter6', groupSelector: '#id6', colIndex: 7 },\n\t{ key: 'checkboxFilter7', groupSelector: '#id7', colIndex: 8 },\n\t{ key: 'checkboxFilter8', groupSelector: '#id8', colIndex: 9 }\n  ];\n\n  let checkboxItemIdCounter = 1;\n\n  function getCellText(value) {\n    return $('<div>').html(value).text().replace(\/\\s+\/g, ' ').trim();\n  }\n\n  function naturalSort(values) {\n    return values.sort((a, b) => {\n      const aNum = parseFloat(a);\n      const bNum = parseFloat(b);\n      const aIsNum = !isNaN(aNum) && \/^[\\d.\\-]+$\/.test(a);\n      const bIsNum = !isNaN(bNum) && \/^[\\d.\\-]+$\/.test(b);\n\n      if (aIsNum && bIsNum) return aNum - bNum;\n\n      return a.localeCompare(b, undefined, {\n        numeric: true,\n        sensitivity: 'base'\n      });\n    });\n  }\n\n  function getUniqueColumnValues(colIndex) {\n    const values = new Set();\n\n    table.column(colIndex).data().each(function (value) {\n      const text = getCellText(value);\n      if (text !== '') values.add(text);\n    });\n\n    return naturalSort(Array.from(values));\n  }\n\n  function updateDropdownLabel($group) {\n    const checked = $group.find('.product-checkbox-filter:checked');\n    const $label = $group.find('.filter-label');\n    const defaultLabel = $label.data('default-label');\n\n    if (!checked.length) {\n      $label.html(defaultLabel);\n      return;\n    }\n\n    const texts = checked.map(function () {\n      return $(this).siblings('span').text().trim();\n    }).get();\n\n    if (texts.length <= 2) {\n      $label.text(texts.join(', '));\n    } else {\n      $label.text(texts.length + ' selected');\n    }\n  }\n\n  function buildCheckboxGroup(config) {\n    const $group = $(config.groupSelector);\n    const $wrap = $group.find('.checkbox-list');\n    if (!$wrap.length) return;\n\n    const values = getUniqueColumnValues(config.colIndex);\n\n    values.forEach(function (value) {\n      const checkboxInputId = 'checkboxitem' + checkboxItemIdCounter++;\n      const safeValue = $('<div>').text(value).html();\n\n      $wrap.append(`\n        <label class=\"checkbox-item\" for=\"${checkboxInputId}\">\n          <input\n            type=\"checkbox\"\n            id=\"${checkboxInputId}\"\n            class=\"product-checkbox-filter\"\n            name=\"${config.key}\"\n            data-filter-key=\"${config.key}\"\n            data-col-index=\"${config.colIndex}\"\n            value=\"${safeValue}\">\n          <span>${safeValue}<\/span>\n        <\/label>\n      `);\n    });\n\n    updateDropdownLabel($group);\n  }\n\n  function getCheckedValuesByFilterKey() {\n    const grouped = {};\n\n    $('.product-checkbox-filter:checked').each(function () {\n      const filterKey = $(this).data('filter-key');\n      const value = $.trim($(this).val());\n\n      if (!grouped[filterKey]) grouped[filterKey] = [];\n      grouped[filterKey].push(value);\n    });\n\n    return grouped;\n  }\n\n  function getCheckboxFilterColumnMap() {\n    const map = {};\n    checkboxFilterConfigs.forEach(function (config) {\n      map[config.key] = config.colIndex;\n    });\n    return map;\n  }\n\n  checkboxFilterConfigs.forEach(function (config) {\n    buildCheckboxGroup(config);\n  });\n\n  $.fn.dataTable.ext.search.push(function (settings, data) {\n    if (settings.nTable !== $table.get(0)) return true;\n\n    const checkedFilters = getCheckedValuesByFilterKey();\n    const filterColumnMap = getCheckboxFilterColumnMap();\n\n    for (const filterKey in filterColumnMap) {\n      const selectedValues = checkedFilters[filterKey] || [];\n      const colIndex = filterColumnMap[filterKey];\n      const rowValue = getCellText(data[colIndex]);\n\n      if (selectedValues.length && !selectedValues.includes(rowValue)) {\n        return false;\n      }\n    }\n\n    return true;\n  });\n\n  $(document).on('click', '.filter-dropdown-toggle', function (e) {\n    e.preventDefault();\n    e.stopPropagation();\n    const $group = $(this).closest('.filter-group');\n    $('.filter-group').not($group).removeClass('open');\n    $group.toggleClass('open');\n  });\n\n  $(document).on('click', function () {\n    $('.filter-group').removeClass('open');\n  });\n\n  $(document).on('click', '.checkbox-dropdown-menu', function (e) {\n    e.stopPropagation();\n  });\n\n  $(document).on('change', '.product-checkbox-filter', function () {\n    const $group = $(this).closest('.filter-group');\n    updateDropdownLabel($group);\n    table.draw();\n  });\n\n  $(document).on('click', '.select-all', function (e) {\n    e.preventDefault();\n    const $group = $(this).closest('.filter-group');\n    $group.find('.product-checkbox-filter').prop('checked', true);\n    updateDropdownLabel($group);\n    table.draw();\n  });\n\n  $(document).on('click', '.clear-all', function (e) {\n    e.preventDefault();\n    const $group = $(this).closest('.filter-group');\n    $group.find('.product-checkbox-filter').prop('checked', false);\n    updateDropdownLabel($group);\n    table.draw();\n  });\n\n  $('#reset-product-filters').on('click', function () {\n    $('.product-checkbox-filter').prop('checked', false);\n    $('.filter-group').each(function () {\n      updateDropdownLabel($(this));\n      $(this).removeClass('open');\n    });\n    table.search('');\n    table.columns().search('');\n    table.draw();\n  });\n\n  function initParametricSticky() {\n    const $area = $('.products-table-area');\n    const $filters = $area.find('.product-filters');\n    const $spacer = $area.find('.product-filters-spacer');\n    const $dtContainer = $table.closest('.dt-container, .dataTables_wrapper');\n    const $scrollBody = $dtContainer.find('.dt-scroll-body, .dataTables_scrollBody').first();\n    const $head = $dtContainer.find('.dt-scroll-head, .dataTables_scrollHead').first();\n    const $bottomBar = $area.find('.dt-bottom-scrollbar');\n    const $bottomBarInner = $bottomBar.find('.dt-bottom-scrollbar-inner');\n\n    if (\n      !$area.length ||\n      !$filters.length ||\n      !$spacer.length ||\n      !$scrollBody.length ||\n      !$head.length ||\n      !$bottomBar.length ||\n      !$bottomBarInner.length\n    ) {\n      console.warn('Sticky dependencies missing');\n      return;\n    }\n\n    const stickyOffset = 90;\n    const MOBILE_MAX_WIDTH = 767;\n    let syncingFromBody = false;\n    let syncingFromBottom = false;\n    let startTop = 0;\n\n    function isMobileView() {\n      return $(window).width() <= MOBILE_MAX_WIDTH;\n    }\n\n    function clearSticky() {\n      $spacer.height(0);\n\n      $filters.removeClass('is-sticky').css({\n        position: '',\n        top: '',\n        left: '',\n        width: ''\n      });\n\n      $head.removeClass('is-sticky-head').css({\n        position: '',\n        top: '',\n        left: '',\n        width: ''\n      });\n    }\n\n    function resetMobileSticky() {\n      clearSticky();\n      $bottomBar.removeClass('active is-absolute').css({\n        position: '',\n        top: '',\n        left: '',\n        bottom: '',\n        width: ''\n      });\n    }\n\n    function measureStartTop() {\n      clearSticky();\n      startTop = $filters.offset().top;\n    }\n\n    function updateStickyUI() {\n      \/\/ === MOBILE: disable everything ===\n      if (isMobileView()) {\n        resetMobileSticky();\n        return;\n      }\n\n      const bodyEl = $scrollBody.get(0);\n      if (!bodyEl) return;\n\n      const scrollTop = $(window).scrollTop();\n      const windowHeight = $(window).height();\n      const viewportBottom = scrollTop + windowHeight;\n\n      const areaTop = $area.offset().top;\n      const areaBottom = areaTop + $area.outerHeight();\n\n      const filtersHeight = $filters.outerHeight();\n      const headHeight = $head.outerHeight();\n      const stickyStackHeight = filtersHeight + headHeight;\n\n      const areaLeft = $area.offset().left;\n      const areaWidth = $area.outerWidth();\n\n      const scrollBodyLeft = $scrollBody.offset().left;\n      const scrollBodyWidth = $scrollBody.outerWidth();\n\n      const startCheck = startTop - stickyOffset;\n      const stopCheck = scrollTop + stickyOffset + stickyStackHeight;\n\n      const shouldStick = scrollTop >= startCheck && stopCheck < areaBottom;\n\n      if (shouldStick) {\n        $spacer.height(filtersHeight);\n\n        $filters.addClass('is-sticky').css({\n          position: 'fixed',\n          top: stickyOffset + 'px',\n          left: areaLeft + 'px',\n          width: areaWidth + 'px'\n        });\n\n        $head.addClass('is-sticky-head').css({\n          position: 'fixed',\n          top: (stickyOffset + filtersHeight) + 'px',\n          left: scrollBodyLeft + 'px',\n          width: scrollBodyWidth + 'px'\n        });\n      } else {\n        clearSticky();\n      }\n\n      const hasHorizontalScroll = bodyEl.scrollWidth > bodyEl.clientWidth + 2;\n      const insideTableZone = viewportBottom > areaTop && scrollTop < areaBottom;\n\n      $bottomBarInner.width(bodyEl.scrollWidth);\n\n      if (hasHorizontalScroll && insideTableZone) {\n        $bottomBar.addClass('active');\n\n        const bottomBarHeight = $bottomBar.outerHeight();\n        const reachedTableBottom = viewportBottom >= areaBottom;\n\n        if (reachedTableBottom) {\n          $bottomBar.addClass('is-absolute').css({\n            left: 0,\n            width: '100%'\n          });\n        } else {\n          $bottomBar.removeClass('is-absolute').css({\n            left: '',\n            width: ''\n          });\n        }\n\n        if (!$bottomBar.hasClass('is-absolute') && !syncingFromBody) {\n          syncingFromBottom = true;\n          $bottomBar.scrollLeft($scrollBody.scrollLeft());\n          syncingFromBottom = false;\n        }\n      } else {\n        $bottomBar.removeClass('active is-absolute').css({\n          left: '',\n          width: ''\n        });\n      }\n\n      window.debugStickyMetrics = {\n        scrollTop,\n        viewportBottom,\n        areaTop,\n        areaBottom,\n        startTop,\n        startCheck,\n        stopCheck,\n        stickyStackHeight,\n        shouldStick,\n        hasHorizontalScroll,\n        insideTableZone,\n        bottomBarAbsolute: $bottomBar.hasClass('is-absolute')\n      };\n    }\n\n    window.updateParametricStickyUI = updateStickyUI;\n\n    $scrollBody.off('scroll.parametricBottom').on('scroll.parametricBottom', function () {\n      if (syncingFromBottom) return;\n      syncingFromBody = true;\n      $bottomBar.scrollLeft(this.scrollLeft);\n      syncingFromBody = false;\n    });\n\n    $bottomBar.off('scroll.parametricBottom').on('scroll.parametricBottom', function () {\n      if (syncingFromBody) return;\n      syncingFromBottom = true;\n      $scrollBody.scrollLeft(this.scrollLeft);\n      syncingFromBottom = false;\n    });\n\n    $(window).off('.parametricSticky');\n\n    $(window).on('resize.parametricSticky', function () {\n      setTimeout(function () {\n        if (isMobileView()) {\n          resetMobileSticky();\n        } else {\n          measureStartTop();\n          updateStickyUI();\n        }\n      }, 80);\n    });\n\n    $(window).on('scroll.parametricSticky', function () {\n      updateStickyUI();\n    });\n\n    measureStartTop();\n    updateStickyUI();\n  }\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kinetic Technologies USB Data Line Protection ICs protect USB hi-speed data lines from short circuit and surge events with low-resistance, reverse blocking MOSFET switches configured as a USB hi-speed data line multiplexer enabling multiple paths from a single USB connector. USB Data Line Protection ICs protect USB data lines from unexpected voltage surges, overvoltage conditions [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":16062,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"class_list":["post-16261","page","type-page","status-publish","hentry"],"acf":[],"campaignId":"","_links":{"self":[{"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/pages\/16261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/comments?post=16261"}],"version-history":[{"count":56,"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/pages\/16261\/revisions"}],"predecessor-version":[{"id":21362,"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/pages\/16261\/revisions\/21362"}],"up":[{"embeddable":true,"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/pages\/16062"}],"wp:attachment":[{"href":"https:\/\/pinakinnsoft.com\/kinetic\/wp-json\/wp\/v2\/media?parent=16261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}