{"product_id":"fadify-s98-pro-mechanical-keyboard-featuring-knob-and-lcd-screen","title":"Fadify S98 Pro Mechanical Keyboard Featuring Knob and LCD Screen","description":"\u003cdiv\u003e\n\u003cdiv class=\"a-section a-spacing-large bucket\"\u003e\n\u003chr class=\"bucketDivider\" size=\"1\" noshade\u003e\n\u003ch2\u003eProduct Description\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    .aplus-v2 .container-with-background-image {\n        width: 100%;\n        height: 100%;\n        background-repeat: no-repeat;\n        background-size: cover;\n    }\n\u003c\/style\u003e\n\u003cdiv class=\"a-section a-spacing-large bucket\" id=\"aplus\"\u003e\n\u003cscript type=\"application\/javascript\"\u003e\n    function logShoppableMetrics(moduleName, showsAddToCart) {\n        if (window.ue \u0026amp;\u0026amp; window.ue.count) {\n            window.ue.count(\"aplus:shoppable:\" + moduleName + \":addToCart\", showsAddToCart ? 1 : 0);\n        }\n    }\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\u003e\n\u003cscript type=\"application\/javascript\"\u003e\n\n    \/**\n     * Common event handler for click and keydown events.\n     * @param {Event} event - The event object.\n     * @param {Function} handleClickOrEnter - Function to handle click or Enter key events.\n     * @param {Function} handleEsc - Function to handle Esc key events.\n     *\/\n    \/\/ [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources\n    function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) {\n        const ENTER_KEY_CODE = 13;\n        const ESCAPE_KEY_CODE = 27;\n        const SPACE_KEY_CODE = 32;\n        const isClick = event.type === 'click';\n        const isKeydown = event.type === 'keydown';\n        const isEnter = isKeydown \u0026amp;\u0026amp; event.keyCode === ENTER_KEY_CODE;\n        const isSpace = isKeydown \u0026amp;\u0026amp; event.keyCode === SPACE_KEY_CODE;\n        const isEsc = isKeydown \u0026amp;\u0026amp; event.keyCode === ESCAPE_KEY_CODE;\n\n        if (isClick || isEnter || isSpace) {\n            handleClickOrEnterOrSpace();\n        } else if (isEsc) {\n            handleEsc(event);\n        }\n    }\n\n    \/**\n    * Function to handle esc key event.\n    * @param {Event} event - The event object.\n    *\/\n    function handleEsc(event) {\n        event.target.blur()  \/\/ force remove focus\n    }\n\n\u003c\/script\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-text aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/588a038d-a419-4872-add5-b8ccba8396ce.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-text aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/02ebfaa3-adc0-469f-9f58-9a23c340790e.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-12-regimen-carousel aplus-premium\"\u003e\n\u003cmap label=\"Featured content carousel\"\u003e\u003c\/map\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\" data-module-id=\"2\"\u003e\n\u003cdiv class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular aplus-image-carousel-container\" aria-roledescription=\"carousel\" role=\"group\" data-a-transition-strategy=\"slideCircular\" data-a-display-strategy=\"single\" data-a-carousel-options='{\"name\":\"premium-aplus-12-carousel-2\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' id=\"premium-aplus-12-carousel-2-id\"\u003e\n\u003cinput class=\"a-carousel-firstvisibleitem\" type=\"hidden\" autocomplete=\"on\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv aria-roledescription=\"slide\" role=\"group\" class=\"a-carousel-viewport\"\u003e\n\u003col role=\"list\" class=\"a-carousel\"\u003e\n\u003cli aria-setsize=\"2\" class=\"a-carousel-card aplus-carousel-card\" aria-roledescription=\"slide\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/1c00bc99-8ada-4a03-8354-d6941bff7127.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9d8cad63-78e5-42db-919b-f3fdadd78d5a.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-12-nav-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-12 premium-aplus-module-12--top-nav\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\" data-module-id=\"3\"\u003e\n\u003cdiv class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular aplus-image-carousel-container\" role=\"group\" data-a-transition-strategy=\"slideCircular\" data-a-display-strategy=\"single\" aria-roledescription=\"carousel\" aria-label=\"Featured content carousel\" data-a-carousel-options='{\"name\":\"premium-aplus-12-carousel-3\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' id=\"premium-aplus-12-carousel-3-id\"\u003e\n\u003cinput class=\"a-carousel-firstvisibleitem\" type=\"hidden\" autocomplete=\"on\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv aria-roledescription=\"slide\" role=\"group\" class=\"a-carousel-viewport\"\u003e\n\u003col role=\"list\" class=\"a-carousel\"\u003e\n\u003cli aria-setsize=\"3\" class=\"a-carousel-card aplus-carousel-card\" aria-roledescription=\"slide\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/1cd005c1-42ae-475a-a2c2-c67018a992e4.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli aria-setsize=\"3\" class=\"a-carousel-card aplus-carousel-card\" aria-roledescription=\"slide\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/4e3cb94f-ff1d-4867-8795-25dd9054c0b1.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/f7b456d8-14e0-4e71-8766-eed94d733bcc.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\" role=\"group\" data-a-transition-strategy=\"slideCircular\" data-a-display-strategy=\"single\" aria-roledescription=\"carousel\" aria-label=\"Featured content carousel\" data-a-carousel-options='{\"name\":\"premium-aplus-13-carousel-4\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' id=\"premium-aplus-13-carousel-4-id\"\u003e\n\u003cinput class=\"a-carousel-firstvisibleitem\" type=\"hidden\" autocomplete=\"on\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv aria-roledescription=\"slide\" role=\"group\" class=\"a-carousel-viewport\"\u003e\n\u003col role=\"list\" class=\"a-carousel\"\u003e\n\u003cli aria-setsize=\"3\" class=\"a-carousel-card aplus-carousel-element\" aria-roledescription=\"slide\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-4-slide-0\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/aec9382a-30fb-49cf-8552-ccf0d7420a4b.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli aria-setsize=\"3\" class=\"a-carousel-card aplus-carousel-element\" aria-roledescription=\"slide\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-4-slide-1\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d75ca521-41b5-4607-91cc-f40232dd678c.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\u003cimg src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/99ad0d11-4b2d-464e-b485-f4e80b4ce648.__CR0,0,1464,600_PT0_SX1464_V1___.png\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e\n\u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-4\").execute(function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-4\", function(){\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                var moduleId = \"4\";\n                var carouselName = \"premium-aplus-13-carousel-4\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const children = document.querySelector(paginationGroup).children;\n                    \n                    for(let i = 0; i \u0026lt; children.length; i++) {\n                        if (i \u0026gt;= numPages) {\n                            \/\/ If number of dots \u0026gt; num of pages, we should hide other dots\n                            children[i].classList.add('aplus-pagination-dot--display-none');\n                        } else if(children[i].classList.contains('aplus-pagination-dot--display-none')){\n                            \/\/ Reset display of dots if it was hidden before\n                            children[i].classList.remove('aplus-pagination-dot--display-none');\n                        }\n                    }\n                }\n\n \n                framework.onInit(carouselName, function (carousel) {\n                    var totalPages = carousel.getAttr('totalPages');\n                    syncPaginationDotsWithCarouselPages(totalPages);\n                    \/* Resize event handler to re-calculate the pagination dots count based on orientation *\/\n                    window.addEventListener('resize', function() {\n                        carousel.resize();\n                        totalPages = carousel.getAttr('totalPages');\n                        syncPaginationDotsWithCarouselPages(totalPages);\n                    });\n\n                    A.declarative(paginationAction, 'click keydown', function(event){\n                        var isClick = event.type === 'click';\n                        var isKeydown = event.type === 'keydown';\n                        var isEnter = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ENTER_KEY_CODE;\n                        var isEsc = isKeydown  \u0026amp;\u0026amp; event.$event.keyCode === ESCAPE_KEY_CODE;\n                        if (isClick || isEnter) {\n                            var data = event.data;\n                            carousel.gotoPage(data.page);\n                        } else if (isEsc) {\n                            \/\/ force remove focus\n                            event.$target.blur()\n                        }\n                    });\n                });\n            });\n        }\n    });\n});\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-mantle aplus-module\"\u003e\n\u003cdiv class=\"aplus-carousel-nav\"\u003e\n\u003cul role=\"tablist\" aria-label=\"tablist-section\" class=\"aplus-pagination-dots\" id=\"aplus-pagination-group-4-premium-aplus-13-carousel-4\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-spacing-large bucket\" id=\"aplus\"\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Fadify Culture","offers":[{"title":"Side Printed Pink \/ Flower Switch","offer_id":54571296129248,"sku":"S98Pro-F-HTZ","price":89.9,"currency_code":"USD","in_stock":true},{"title":"Side Printed Black \/ Star Vector Switch","offer_id":54571296162016,"sku":"S98PB-XSZ","price":89.9,"currency_code":"USD","in_stock":true},{"title":"White\u0026 Blue \/ Star Vector Switch","offer_id":54571296194784,"sku":"S98PL-XSZ","price":89.9,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0757\/0597\/5008\/files\/s1_new_WH_850x850px.webp?v=1788093114","url":"https:\/\/fadifyculture.com\/products\/fadify-s98-pro-mechanical-keyboard-featuring-knob-and-lcd-screen","provider":"Fadify Culture","version":"1.0","type":"link"}