About This Article: Logitech Pebble 2 Combo, Wireless Keyboard and Mouse, Quiet and Portable, Customizable, Logi Bolt, Bluetooth, Easy-Switch for Windows, macOS, iPadOS, Chrome – Black
Price: $59.99 – $49.99 as of Sep 05, 2024 17:02:56 UTC –
Disclaimer: Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on (relevant Amazon Site(s), as applicable) at the time of purchase will apply to the purchase of this product.
Get Updated and Latest Information About This Product Click The BUY NOW Button Above
Additional Information
Customer Reviews | /* .cm-cr-review-stars-spacing-big { 4.6 664 ratings var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘cf’).execute(function(A) { 4.6 out of 5 stars |
---|---|
Best Sellers Rank | #24 in Computer Keyboard & Mouse Combos |
Warranty & Support
Feedback
.grid-container {
display: block;
flex-direction: column;
}
.grid-row {
align-items: center;
margin-bottom: 10px;
margin-left: 20px;
}
.grid-label {
min-width: 50px;
padding-right: 10px;
}
.widgetAlerts {
display: none;
}
.grid-input {
flex: 1;
width: 100%
}
.asterisk {
color: #EB0000;
}
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.priceavailability{
padding: 0 28px;
}
@media (min-width: 420px) and (max-width: 550px){
.container{
display: block;
}
.grid-input{
font-size: 85%;
}
.priceavailability{
padding: 0 28px;
}
.a-dropdown-container .a-button-dropdown .a-button-text{
font-size: 79%;
}
}
@media (min-width: 320px) and (max-width: 419px) {
.priceavailability{
padding: 0 0px;
}
.container{
display: block;
}
.grid-input{
font-size: 80%;
}
input#offlineCity.grid-input{
font-size: 62%;
}
span#stateValue{
.grid-input
{
font-size: 77%;
}
}
.a-dropdown-container .a-button-dropdown .a-button-text{
font-size: 65%;
}
}
Logitech Pebble 2 Combo, Wireless Keyboard and Mouse, Quiet and Portable, Customizable, Logi Bolt, Bluetooth, Easy-Switch for Windows, macOS, iPadOS, Chrome – Black
Share:
Found a lower price? Let us know. Although we can’t match every price reported, we’ll use your feedback to ensure that our prices remain competitive.
Where did you see a lower price?
Fields with an asterisk
are required P.when(“A”, “a-modal”, “ready”).execute(function (A, modal) {
var $ = A.$;
var instance;
var title = $(“#modalHeader”).val();
function getModalWidth() {
if (window.matchMedia(“(max-width: 420px)”).matches) {
return “320px”; // Width for very small screens
} else if (window.matchMedia(“(max-width: 550px)”).matches) {
return “420px”; // Width for small screens
} else {
return “550px”; // Default width
}
}
A.declarative(“pricingFeedback-modal-button”, “click”, function (event) {
if (!instance) {
var options = {
name: “pricingFeedback-modal-content”,
dataStrategy: “preload”,
};
instance = modal.create(event.$target, options);
}
instance.update({
header: title,
width: getModalWidth()
}).lock().show();
});
$(window).resize(function() {
if (instance) {
instance.update({
width: getModalWidth()
});
}
});
});
P.when(‘A’, ‘ready’).execute(function (A) {
var $ = A.$;
var csrf = $(“#aapiCsrfToken”).val();
var productPrice = $(“#priceValue”).val();
var hostname = $(“#absoluteUrlPrefix”).val();
var customerId = $(“#customerId”).val();
var isCustomerRecognized = ($(“#isCustomerLoggedIn”).val() === ‘true’);
var isCurrentGlOnlineOnly = ($(“#isCurrentGlOnlineOnly”).val() === ‘true’);
var asin = $(“#asin”).val();
var marketplaceId = $(“#marketplaceId”).val();
var country = $(“#countryCode”).val();
var offlineStoresList = $(“#offlineStoresList”).val();
var statesList = $(“#statesList”).val();
var errorMessages = {
errorNoRetailerType: $(“#errorNoType”).val(),
errorBadPrice: $(“#errorBadPrice”).val(),
errorBadPriceShipping: $(“#errorBadPriceShipping”).val(),
errorInvalidUrl: $(“#errorInvalidUrl”).val(),
errorSubmission: $(“#errorSubmission”).val(),
errorEmptyFields: $(“#errorEmptyFields”).val(),
errorMissingCity: $(“#errorMissingCity”).val(),
errorEmptyUrl:$(“#errorEmptyUrl”).val(),
thankFeedback: $(“#thankFeedback”).val()
};
var feedbackFormContent = document.querySelector(‘#feedbackForm’);
var signUpContainer = document.querySelector(‘#signUpForm’);
var feedbackFormFinalStateContainer = document.querySelector(‘#feedbackFormFinalState’);
var states = JSON.parse(statesList);
var offlineStores = JSON.parse(offlineStoresList);
var offlineStoresEnabled = !isCurrentGlOnlineOnly;
var currentDate = getCurrentDay();
var currentMonth = getCurrentMonth();
var currentYear = getCurrentYear();
if (isCustomerRecognized) {
feedbackFormContent.style(‘display’) = ‘block’;
signUpContainer.style(‘display’) = ‘none’;
var enableOnlineStoreRadio = document.querySelector(‘#pricingFeedback_onlineRadio’);
var enableOfflineStoreRadio = document.querySelector(‘#pricingFeedback_offlineRadio’);
var onlineStoreInputForm = document.querySelector(‘#pricingFeedback_onlineInput’);
var offlineStoreInputForm = document.querySelector(‘#pricingFeedback_offlineInput’);
var offlineStateSelect = document.querySelector(‘#offlineState’);
var offlineStoreSelect = document.querySelector(‘#offlineStoreName’);
var submitButton = document.querySelector(‘#pricingFeedback_submit’);
var onlineUrl = document.querySelector(‘#onlineUrl’);
var onlinePriceRaw = document.querySelector(‘#onlinePriceRaw’);
var onlineShippingRaw = document.querySelector(‘#onlineShippingRaw’);
var onlineDay = document.querySelector(‘#onlineDay’);
var onlineMonth = document.querySelector(‘#onlineMonth’);
var onlineYear = document.querySelector(‘#onlineYear’);
var onlineCalendar = document.querySelector(‘#onlineCalendar’);
var note1 = document.querySelector(‘#note1’);
var offlineRadioContainer = document.querySelector(‘#offlineRadioContainer’);
var offlineStoreName = document.querySelector(‘#offlineStoreName’);
var offlineCity = document.querySelector(‘#offlineCity’);
var offlineState = document.querySelector(‘#offlineState’);
var offlinePriceRaw = document.querySelector(‘#offlinePriceRaw’);
var offlineDay = document.querySelector(‘#offlineDay’);
var offlineMonth = document.querySelector(‘#offlineMonth’);
var offlineYear = document.querySelector(‘#offlineYear’);
var offlineCalendar = document.querySelector(‘#offlineCalendar’);
var thankYouDiv = document.querySelector(‘#pricingFeedback_thank’);
var errorDiv = document.querySelector(‘#pricingFeedback_error’);
var loadingGifDiv = document.querySelector(‘#loading’);
var offlineStateMain = document.querySelector(‘#offlineStateMain’);
note1 = document.querySelector(‘#note1’);
setCalenderOrderBasedOnCountry(country);
setInitialStates(
onlineMonth,
currentMonth,
offlineMonth,
onlineDay,
currentDate,
offlineDay,
onlineYear,
currentYear,
offlineYear,
onlineStoreInputForm,
offlineStoreInputForm,
enableOfflineStoreRadio,
enableOnlineStoreRadio,
onlineCalendar,
offlineCalendar,
offlineStateMain,
offlineState,
note1
);
createPermalinkContainer(asin, hostname);
for (let state of states) {
var option = document.createElement(‘option’);
option.setAttribute(‘value’, state(‘value’));
option.innerText = state(‘name’);
offlineStateSelect.appendChild(option);
}
offlineStores.forEach(function(store) {
var option = document.createElement(‘option’);
option.value = store;
option.textContent = store;
offlineStoreSelect.appendChild(option);
});
function setCSSForFeedbackForm() {
const labels = document.querySelectorAll(‘.grid-label’);
let maxWidth = 0;
labels.forEach(label => {
maxWidth = Math.max(maxWidth, label.clientWidth);
});
labels.forEach(label => {
label.style.minWidth = maxWidth + ‘px’;
});
}
$(“#pricingFeedback_onlineRadio”).click(function () {
onlineStoreInputForm.style(‘display’) = ‘block’;
offlineStoreInputForm.style(‘display’) = ‘none’;
note1.style(‘display’) = ‘block’;
setCSSForFeedbackForm();
});
function handleInput(element, alert) {
if (element.hasClass(‘a-form-error’)) {
alert.style(‘display’) = ‘none’;
element.removeClass(‘a-form-error’).addClass(‘a-form-normal’);
element.removeAttr(“aria-invalid”);
element.removeAttr(“aria-describedby”);
}
}
$(‘#onlineUrl’).change(function () {
var urlAlert = document.querySelector(‘#onlineUrl-missing-alert’);
handleInput($(this), urlAlert);
});
$(‘#onlinePriceRaw’).change(function () {
var priceAlertOnline = document.querySelector(‘#onlinePrice-missing-alert’);
handleInput($(this), priceAlertOnline);
});
$(‘#onlineShippingRaw’).change(function () {
var priceShippingAlertOnline = document.querySelector(‘#onlineShippingPrice-missing-alert’);
handleInput($(this), priceShippingAlertOnline);
});
$(‘#offlineCity’).change(function () {
var cityAlert = document.querySelector(‘#offlineCity-missing-alert’);
handleInput($(this), cityAlert);
});
$(‘#offlineStoreName’).change(function () {
var storeAlert = document.querySelector(‘#offlineStoreName-missing-alert’);
handleInput($(this), storeAlert);
});
$(‘#offlinePriceRaw’).change(function () {
var priceAlertOffline = document.querySelector(‘#offlinePriceRaw-missing-alert’);
handleInput($(this), priceAlertOffline);
});
$(“#pricingFeedback_offlineRadio”).click(function () {
onlineStoreInputForm.style(‘display’) = ‘none’;
offlineStoreInputForm.style(‘display’) = ‘block’;
note1.style(‘display’) = ‘block’;
setCSSForFeedbackForm();
});
if (!offlineStoresEnabled) {
offlineRadioContainer.style(‘display’) = ‘none’;
offlineStoreInputForm.style(‘display’) = ‘none’;
}
$(“#pfw_submit”).click(function () {
var feedbackSubmitted = submitFeedback(
customerId,
marketplaceId,
asin,
productPrice,
onlineStoreInputForm,
offlineStoreInputForm,
onlineUrl.value,
onlinePriceRaw.value,
onlineShippingRaw.value,
onlineDay.value,
onlineMonth.value,
offlineStoreName.value,
offlineCity.value,
offlineState.value,
offlinePriceRaw.value,
offlineDay.value,
offlineMonth.value,
thankYouDiv,
errorDiv,
submitButton,
loadingGifDiv,
errorMessages
);
if (feedbackSubmitted !== null && !feedbackSubmitted) {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorSubmission);
}
});
A.on(“a:popover:beforeHide:pricingFeedback-modal-content”, function (data) {
resetModalToInitialState(currentMonth, currentDate, currentYear);
});
} else {
feedbackFormContent.style(‘display’) = ‘none’;
signUpContainer.style(‘display’) = ‘block’;
var authPortalLink = getAuthenticationPageURL(asin, hostname);
$(“#signUpForm”).one(“click”, function () {
window.location = encodeURI(authPortalLink);
});
}
function setCalenderOrderBasedOnCountry(country) {
var monthSections = document.getElementsByClassName(‘monthSection’);
var daySections = document.getElementsByClassName(‘daySection’);
var yearSections = document.getElementsByClassName(‘yearSection’);
var firstDelimiters = document.getElementsByClassName(‘firstDelimiter’);
var secondDelimiters = document.getElementsByClassName(‘secondDelimiter’);
if (country === ‘US’) {
for (let i = 0; i < 2; i++) {
(monthSections(i)).style('order') = '0';
(firstDelimiters(i)).style('order') = '1';
(daySections(i)).style('order') = '2';
(secondDelimiters(i)).style('order') = '3';
(yearSections(i)).style('order') = '4';
}
} else if (country === 'JP') {
for (let i = 0; i < 2; i++) {
(yearSections(i)).style('order') = '-1';
(secondDelimiters(i)).style('order') = '0';
(monthSections(i)).style('order') = '1';
(firstDelimiters(i)).style('order') = '2';
(daySections(i)).style('order') = '3';
}
} else {
for (let i = 0; i {
A.$.ajax($(“#aapiEndpoint”).val() + “/api/marketplaces/” + marketplaceId + “/products/” + asin + “/feedback/pricing”,
{
type: ‘POST’,
headers: {
‘Accept-Language’: ‘en-US’,
‘Accept’: ‘application/vnd.com.amazon.api+json; type=”product.feedback.pricing/v1″‘,
‘x-amzn-encrypted-slate-token’: document.querySelector(‘meta(name=”encrypted-slate-token”)’)?.content,
‘Content-Type’: ‘application/vnd.com.amazon.api+json; type=”product.feedback.pricing.request/v1″‘,
‘x-api-csrf-token’: csrf
},
data: JSON.stringify(dataCart),
xhrFields: {
withCredentials: true
},
success: function (responseContent) {
$(“#pricingFeedback_thankcontent”).innerText = “Success! ” + responseContent.toString();
resolve();
},
error: function (err) {
$(“#pricingFeedback_thankcontent”).innerText = “Error! ” + err.toString();
reject();
}
})
})
}
function getAuthenticationPageURL(asin, hostname) {
return hostname + ‘/ap/signin?_encoding=UTF8&openid.assoc_handle=usflex&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.mode=checkid_setup&openid.ns=http://specs.openid.net/auth/2.0&openid.ns.pape=http://specs.openid.net/extensions/pape/1.0&openid.pape.max_auth_age=0&openid.return_to=https://www.amazon.com/dp//’;
}
function getCurrentDay() {
var date = new Date();
return date.getDate().toString();
}
function getCurrentMonth() {
var date = new Date();
return (date.getMonth() + 1).toString();
}
function getCurrentYear() {
var date = new Date();
return date.getFullYear().toString();
}
function resetAlerts() {
const elements = (
{ id: “#onlineUrl”, alertId: “#onlineUrl-missing-alert” },
{ id: “#onlinePriceRaw”, alertId: “#onlinePrice-missing-alert” },
{ id: “#onlineShippingRaw”, alertId: “#onlineShippingPrice-missing-alert” },
{ id: “#offlineStoreName”, alertId: “#offlineStoreName-missing-alert” },
{ id: “#offlineCity”, alertId: “#offlineCity-missing-alert” },
{ id: “#offlinePriceRaw”, alertId: “#offlinePriceRaw-missing-alert” }
);
for (const { id, alertId } of elements) {
const element = document.querySelector(id);
const alertElement = document.querySelector(alertId);
if (element && alertElement) {
element.classList.remove(‘a-form-error’, ‘a-form-normal’);
alertElement.style.display = ‘none’;
}
}
}
function setInitialStates(onlineMonth, currentMonth, offlineMonth, onlineDay, currentDate, offlineDay,
onlineYear, currentYear, offlineYear, onlineStoreInputForm, offlineStoreInputForm, enableOfflineStoreRadio,
enableOnlineStoreRadio, onlineCalendar, offlineCalendar, offlineStateMain, offlineState, note1) {
onlineMonth.defaultValue = currentMonth;
offlineMonth.defaultValue = currentMonth;
onlineDay.defaultValue = currentDate;
offlineDay.defaultValue = currentDate;
onlineYear.defaultValue = currentYear;
offlineYear.defaultValue = currentYear;
var isStateRequired = document.querySelector(‘#isStateRequired’);
var stateLabel = document.querySelector(‘#stateLabel’)
var stateValue = document.querySelector(‘#stateValue’)
var isStoreRequired = document.querySelector(‘#isStoreRequired’);
var storeLabel = document.querySelector(‘#storeLabel’)
var storeValue = document.querySelector(‘#storeValue’)
if (isStateRequired.value === ‘false’) {
stateLabel.style(‘display’) = ‘none’;
stateValue.style(‘display’) = ‘none’;
}
if (isStoreRequired.value === ‘false’) {
storeLabel.style(‘display’) = ‘none’;
storeValue.style(‘display’) = ‘none’;
}
note1.style(‘display’) = ‘none’;
resetAlerts();
var onlineMonthOption = document.querySelector(‘#onlineMonthOptionDefault’);
onlineMonthOption.innerText = currentMonth;
var onlineMonthPrompt = document.querySelector(‘#onlineMonthPrompt’);
onlineMonthPrompt.innerText = currentMonth;
var offlineMonthOption = document.querySelector(‘#offlineMonthOptionDefault’);
offlineMonthOption.innerText = currentMonth;
var offlineMonthPrompt = document.querySelector(‘#offlineMonthPrompt’);
offlineMonthPrompt.innerText = currentMonth;
var onlineDateOption = document.querySelector(‘#onlineDateOptionDefault’);
onlineDateOption.innerText = currentDate;
var onlineDayPrompt = document.querySelector(‘#onlineDatePrompt’);
onlineDayPrompt.innerText = currentDate;
var offlineDateOption = document.querySelector(‘#offlineDateOptionDefault’);
offlineDateOption.innerText = currentDate;
var offlineDayPrompt = document.querySelector(‘#offlineDatePrompt’);
offlineDayPrompt.innerText = currentDate;
var onlineYearOption = document.querySelector(‘#onlineYearOptionDefault’);
onlineYearOption.setAttribute(‘href’, currentYear);
onlineYearOption.innerText = currentYear;
var onlineYearPrompt = document.querySelector(‘#onlineYearPrompt’);
onlineYearPrompt.innerText = currentYear;
var offlineYearOption = document.querySelector(‘#offlineYearOptionDefault’);
offlineYearOption.setAttribute(‘href’, currentYear);
offlineYearOption.innerText = currentYear;
var offlineYearPrompt = document.querySelector(‘#offlineYearPrompt’);
offlineYearPrompt.innerText = currentYear;
if (onlineMonth.children && offlineMonth.children && onlineDay.children && offlineDay.children) {
onlineMonth.children(currentMonth).setAttribute(‘selected’, currentMonth);
offlineMonth.children(currentMonth).setAttribute(‘selected’, currentMonth);
onlineDay.children(currentDate).setAttribute(‘selected’, currentDate);
offlineDay.children(currentDate).setAttribute(‘selected’, currentDate);
}
onlineStoreInputForm.style(‘display’) = ‘none’;
offlineStoreInputForm.style(‘display’) = ‘none’;
enableOfflineStoreRadio.checked = false;
enableOnlineStoreRadio.checked = false;
if (onlineCalendar.style && offlineCalendar.style) {
onlineCalendar.style(‘display’) = ‘block’;
offlineCalendar.style(‘display’) = ‘block’;
}
}
function submitFeedback(
customerId,
marketplaceId,
asin,
price,
onlineStoreInputForm,
offlineStoreInputForm,
onlineUrl,
onlinePriceRaw,
onlineShippingRaw,
onlineDay,
onlineMonth,
offlineStoreName,
offlineCity,
offlineState,
offlinePriceRaw,
offlineDay,
offlineMonth,
thankYouDiv,
errorDiv,
submitButton,
loadingGifDiv,
errorMessages
) {
errorDiv.innerHTML = ”;
let cleanRetailerType,
cleanRetailerUrl,
cleanRetailerName,
cleanRetailerCity,
cleanRetailerState,
cleanRetailerPrice,
cleanRetailerShipping,
cleanSampleDate;
var currentYear = getCurrentYear();
if (onlineStoreInputForm.style(‘display’) === ‘block’) {
var onlineValidity = validateOnlineInputs(onlineUrl, onlinePriceRaw, onlineShippingRaw, errorMessages);
if (onlineValidity.valid) {
cleanRetailerType=”ONLINE”;
cleanRetailerUrl = truncate(trim(onlineUrl), 300);
cleanRetailerPrice = trim(onlinePriceRaw);
cleanRetailerShipping = trim(onlineShippingRaw);
if (!cleanRetailerShipping) {
cleanRetailerShipping = ‘0’;
}
cleanSampleDate = formatDate(
currentYear,
onlineDay ? onlineDay : getCurrentDay(),
onlineMonth ? onlineMonth : getCurrentMonth()
);
} else {
if (onlineValidity.error) {
errorDiv.innerHTML = getErrorDiv(onlineValidity.error);
}
return null;
}
} else if (offlineStoreInputForm.style(‘display’) === ‘block’) {
var offlineValidity = validateOfflineInputs(
offlineStoreName,
offlineCity,
offlineState,
offlinePriceRaw,
errorMessages,
marketplaceId
);
if (offlineValidity.valid) {
cleanRetailerType=”OFFLINE”;
cleanRetailerName = truncate(trim(offlineStoreName), 100);
cleanRetailerCity = truncate(trim(offlineCity), 100);
cleanRetailerState = truncate(trim(offlineState), 100);
cleanRetailerPrice = trim(offlinePriceRaw);
cleanRetailerShipping = ‘0’;
cleanSampleDate = formatDate(
currentYear,
offlineDay ? offlineDay : getCurrentDay(),
offlineMonth ? offlineMonth : getCurrentMonth()
);
} else {
if (offlineValidity.error) {
errorDiv.innerHTML = getErrorDiv(offlineValidity.error);
}
return null;
}
} else {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorNoRetailerType);
return null;
}
loadingGifDiv.innerHTML = getLoadingGifDiv();
if (price) price = parseFloat(price);
return triggerPricingFeedback(
customerId,
marketplaceId,
asin,
price,
cleanRetailerType,
cleanRetailerUrl,
cleanRetailerName,
cleanRetailerCity,
cleanRetailerState,
parseFloat(cleanRetailerPrice),
parseFloat(cleanRetailerShipping),
cleanSampleDate
)
.then(response => {
errorDiv.innerHTML = ”;
thankYouDiv.innerHTML = getThankYouDiv(errorMessages.thankFeedback);
submitButton.style.display = ‘none’;
return response;
})
.catch(err => {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorSubmission);
return null;
});
}
function showError(element, elementAlert) {
elementAlert.style(‘display’) = ‘block’;
element.classList.add(‘a-form-error’);
}
function isUrlPresentAndValid(url) {
const onlineUrlElement = document.querySelector(‘#onlineUrl’);
const onlineUrlAlertDiv = document.querySelector(‘#onlineUrl-missing-alert’);
const urlAlert = document.querySelector(‘#urlAlert’);
if (isEmptyValue(url)) {
showError(onlineUrlElement, onlineUrlAlertDiv);
$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
$(‘#onlineUrl’).attr(“aria-describedby”, “onlineUrl-missing-alert”);
urlAlert.innerHTML = “Enter url”;$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
return false;
}
if (!isValidUrl(url)) {
showError(onlineUrlElement, onlineUrlAlertDiv);
$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
$(‘#onlineUrl’).attr(“aria-describedby”, “onlineUrl-missing-alert”);
urlAlert.innerHTML = “Please enter a valid URL.”;
return false;
}
return true;
}
function isOnlinePriceThere(price) {
const onlinePriceElement = document.querySelector(‘#onlinePriceRaw’);
const onlinePriceElementAlert = document.querySelector(‘#onlinePrice-missing-alert’);
const priceAlertOnline = document.querySelector(‘#priceAlertOnline’);
if (isEmptyValue(price) || !isNumericPrice(price)) {
$(‘#onlinePriceRaw’).attr(“aria-invalid”, “true”);
showError(onlinePriceElement, onlinePriceElementAlert);
$(‘#onlinePriceRaw’).attr(“aria-describedby”, “onlinePrice-missing-alert”);
priceAlertOnline.innerHTML=”Please only use numbers in the Price field.”;
return false;
}
return true;
}
function isOnlineShippingPriceValid(shippingPrice) {
const onlineShippingPriceElement = document.querySelector(‘#onlineShippingRaw’);
const onlineShippingPriceElementAlert = document.querySelector(‘#onlineShippingPrice-missing-alert’);
const priceShippingAlertOnline=document.querySelector(‘#priceShippingAlertOnline’);
if (!isEmptyValue(shippingPrice) && !isNumericPrice(shippingPrice)) {
$(‘#onlineShippingRaw’).attr(“aria-invalid”, “true”);
showError(onlineShippingPriceElement, onlineShippingPriceElementAlert);
$(‘#onlineShippingRaw’).attr(“aria-describedby”, “onlineShippingPrice-missing-alert”);
priceShippingAlertOnline.innerHTML = “Please only use numbers in the Price and Shipping fields.”;
return false;
}
return true;
}
function validateOnlineInputs(url, onlinePrice, onlineShipping, errorMessages) {
const isValidUrl = isUrlPresentAndValid(url);
const isPriceValid = isOnlinePriceThere(onlinePrice);
const isShippingValid = isOnlineShippingPriceValid(onlineShipping);
if (!isValidUrl || !isPriceValid || !isShippingValid) {
return { valid: false };
}
return { valid: true };
}
function isOfflineStoreNameValid(offlineStoreName) {
const offlineStoreElement = document.querySelector(‘#offlineStoreName’);
const offlineStoreElementAlert = document.querySelector(‘#offlineStoreName-missing-alert’);
const storeAlert=document.querySelector(‘#storeAlert’);
if (isEmptyValue(offlineStoreName)) {
$(‘#offlineStoreName’).attr(“aria-invalid”, “true”);
$(‘#offlineStoreName’).attr(“aria-describedby”, “offlineStoreName-missing-alert”);
showError(offlineStoreElement, offlineStoreElementAlert);
storeAlert.innerHTML=”Please select where the product was sold.”;
return false;
}
return true;
}
function isOfflineCityNameValid(offlineCity) {
const offlineCityElement = document.querySelector(‘#offlineCity’);
const offlineCityElementAlert = document.querySelector(‘#offlineCity-missing-alert’);
const cityAlert=document.querySelector(‘#cityAlert’);
if (isEmptyValue(offlineCity)) {
$(‘#offlineCity’).attr(“aria-invalid”, “true”);
$(‘#offlineCity’).attr(“aria-describedby”, “offlineCity-missing-alert”);
showError(offlineCityElement, offlineCityElementAlert);
cityAlert.innerHTML=”Please specify the city”
return false;
}
return true;
}
function isOfflinePriceValid(offlinePrice) {
const offlinePriceElement = document.querySelector(‘#offlinePriceRaw’);
const offlinePriceElementAlert = document.querySelector(‘#offlinePriceRaw-missing-alert’);
const priceAlertOffline = document.querySelector(‘#priceAlertOffline’);
if (isEmptyValue(offlinePrice) || !isNumericPrice(offlinePrice)) {
$(‘#offlinePriceRaw’).attr(“aria-invalid”, “true”);
$(‘#offlinePriceRaw’).attr(“aria-describedby”, “offlinePriceRaw-missing-alert”);
showError(offlinePriceElement, offlinePriceElementAlert);
priceAlertOffline.innerHTML=”Please only use numbers in the Price field.”;
return false;
}
return true;
}
function validateOfflineInputs(offlineStoreName, offlineCity, offlineState, offlinePrice, errorMessages, marketPlaceId) {
const isStoreNameValid = isOfflineStoreNameValid(offlineStoreName);
const isOfflineCityValid = isOfflineCityNameValid(offlineCity);
const isPriceValid = isOfflinePriceValid(offlinePrice);
if (!isStoreNameValid || !isOfflineCityValid || !isPriceValid) {
return { valid: false };
}
return { valid: true };
}
function getErrorDiv(errorMsg) {
return (
‘
‘
errorMsg +
‘
\n’ +
‘
‘
);
}
function getThankYouDiv(thankMsg) {
return (
‘
‘
thankMsg +
‘
\n’ +
‘
‘
);
}
function getLoadingGifDiv() {
return ‘‘;
}
function isValidUrl(url) {
if (!url) {
return false;
}
var encodedUrl = encodeURI(url);
return encodedUrl.match(
/^(https?:\/\/)?(((a-z0-9-)|%(A-F0-9){2})+\.)+(((a-z)|%(A-F0-9){2})((a-z0-9)|%(A-F0-9){2})*)(:(0-9)+)?(\/(a-z0-9;:,~!+#@&=%\/$\.?_-)+)?$/
);
}
function isNumericPrice(price) {
if (!price) {
return false;
}
return price.match(/^((0-9)+\.?(0-9)*)$|^((0-9)*\.(0-9)+)$/);
}
function isEmptyValue(input) {
return !input || input.length === 0 || input.match(/^\s*$/);
}
function truncate(input, length) {
if (!input) {
return ”;
} else {
return input.substr(0, length);
}
}
function formatDate(year, date, month) {
return year + ‘-‘ + month + ‘-‘ + date;
}
function trim(input) {
if (!input) {
return ”;
} else {
return input.trim();
}
}
function resetModalToInitialState(currentMonth, currentDate, currentYear) {
var enableOnlineStoreRadio = document.querySelector(‘#pricingFeedback_onlineRadio’);
var enableOfflineStoreRadio = document.querySelector(‘#pricingFeedback_offlineRadio’);
var onlineStoreInputForm = document.querySelector(‘#pricingFeedback_onlineInput’);
var offlineStoreInputForm = document.querySelector(‘#pricingFeedback_offlineInput’);
var onlineUrl = document.querySelector(‘#onlineUrl’);
var onlinePriceRaw = document.querySelector(‘#onlinePriceRaw’);
var onlineShippingRaw = document.querySelector(‘#onlineShippingRaw’);
var onlineDay = document.querySelector(‘#onlineDay’);
var onlineMonth = document.querySelector(‘#onlineMonth’);
var onlineYear = document.querySelector(‘#onlineYear’);
var onlineCalendar = document.querySelector(‘#onlineCalendar’);
var note1 = document.querySelector(‘#note1’);
var offlineStoreName = document.querySelector(‘#offlineStoreName’);
var offlineCity = document.querySelector(‘#offlineCity’);
var offlineState = document.querySelector(‘#offlineState’);
var offlinePriceRaw = document.querySelector(‘#offlinePriceRaw’);
var offlineDay = document.querySelector(‘#offlineDay’);
var offlineMonth = document.querySelector(‘#offlineMonth’);
var offlineYear = document.querySelector(‘#offlineYear’);
var offlineCalendar = document.querySelector(‘#offlineCalendar’);
var thankYouDiv = document.querySelector(‘#pricingFeedback_thank’);
var errorDiv = document.querySelector(‘#pricingFeedback_error’);
var submitButton = document.querySelector(‘#pricingFeedback_submit’);
var loadingGifDiv = document.querySelector(‘#loading’);
var stateDefaultOption = document.querySelector(‘#stateDefaultOption’);
var stateDefaultPrompt = document.querySelector(‘#stateDefaultPrompt’);
var offlineStateMain = document.querySelector(‘#offlineStateMain’);
var storeDefaultOption = document.querySelector(‘#storeDefaultOption’);
var storeDefaultPrompt = document.querySelector(‘#storeDefaultPrompt’);
if (thankYouDiv) {
thankYouDiv.innerHTML = ”;
}
if (errorDiv) {
errorDiv.innerHTML = ”;
}
if (loadingGifDiv) {
loadingGifDiv.innerHTML = ”;
}
if (submitButton) {
submitButton.style.display = ‘block’;
}
onlineUrl.value = ”;
onlinePriceRaw.value = ”;
onlineShippingRaw.value = ”;
offlineStoreName.value = ”;
offlineCity.value = ”;
offlineState.value = ”;
offlinePriceRaw.value = ”;
stateDefaultOption.innerHTML = $(“#selectProvince”).val();
stateDefaultPrompt.innerHTML = $(“#selectProvince”).val();
storeDefaultOption.innerHTML = “Enter the store name where you found this product”;
storeDefaultPrompt.innerHTML = “Enter the store name where you found this product”;
setInitialStates(
onlineMonth,
currentMonth,
offlineMonth,
onlineDay,
currentDate,
offlineDay,
onlineYear,
currentYear,
offlineYear,
onlineStoreInputForm,
offlineStoreInputForm,
enableOfflineStoreRadio,
enableOnlineStoreRadio,
onlineCalendar,
offlineCalendar,
offlineStateMain,
offlineState,
note1
);
}
});
Defy Boring with the iconic Slim Bluetooth Combo. The slim keyboard and mouse combo comes in a choice of fresh, matching colors – made with recycled plastic(1). Pick the one that suits your vibe. The Slim Bluetooth Combo’s minimalist, sleek, and lightweight keyboard and mouse design makes it as iconic as you and super portable to take wherever you go. Easily hop across devices and switch between up to 3 wireless devices across OS (Windows, macOS, iPadOS, ChromeOS, Android) with a press of a button. Personalize the mouse’s middle button(2) to assign shortcuts for your favorite apps like shuffling your Spotify playlist or sending emojis on WhatsApp and customize the 10 keyboard Fn shortcut keys to work how you want and save time with shortcuts in Logi Options+ App(2). The wireless keyboard also features Fn shortcut keys such as screen capture, search, voice dictation, and emoji menu to free up your time. Let your work speak louder than your typing and clicking with Slim Bluetooth Combo. The Pebble Mouse 2 M350s is a quiet mouse with Silent Touch Technology that reduces click noise by 90%(3). Type quietly with the keyboard’s low-profile keys for laptop-like typing. Get hours of use with the Bluetooth® keyboard coming with a 3-year battery(4) and the mouse with a 2-year battery(4) to keep you going for longer. Batteries included.
Defy Boring: Get the keyboard and mouse combo that expresses your vibe; a slim combo design, in a choice of colors with smarter tech; make your statement with the Slim Bluetooth Combo
Why Not Have Both.: This ultra-slim and portable mouse and keyboard combo – made with recycled plastic (1) – is lightweight and compact to be ready to move when you are
Easily Hop Across 3 Devices: Use Bluetooth to connect up to 3 wireless devices across OSs and switch between them with one click of the Easy-Switch button
Save Time & Customize Your Way: Instantly access search, screen capture, and more with Fn keys; personalize the 10 Fn keys and the mouse’s middle button with Logi Options+ App (2)
Make a Big Impression on the Quiet: Let your work speak louder than your typing and clicking with the keyboard’s quiet, laptop-like typing and the mouse’s Silent Touch Technology (3)
Go for Longer: Get hours of use with the Bluetooth keyboard coming with a 3-year battery (4) and the mouse with a 2-year battery (4), for worry-free usage; batteries included.
A Design Choice to Feel Good About: Plastic parts in Slim Bluetooth Combo include certified post-consumer recycled plastic(1) – Pebble Keys 2 K380s minimum 65 percent and Pebble Mouse 2 M350s minimum 76 percent
Responsibly-sourced packaging: The packaging of Slim Bluetooth Combo (including product wrap) comes from FSC-certified forests and other controlled sources; certified carbon neutral
Logitech
Author:
Get Updated and Latest Information About This Product Click The BUY NOW Button Below
Customers say
Customers like the weight, appearance and value of the keyboard mouse set. They mention that it’s compact, sleek and fits their aesthetic perfectly. They are impressed with the quality for the price and that it is worth the price. They also appreciate the ease of installation. Customers are happy with connectivity, performance, and noise. However, some customers are mixed on quality.
AI-generated from the text of customer reviews
The post Logitech Pebble 2 Combo, Wireless Keyboard and Mouse, Quiet and Portable, Customizable, Logi Bolt, Bluetooth, Easy-Switch for Windows, macOS, iPadOS, Chrome – Black appeared first on Brushes Pack.
Source link