@tamagui/react-native-web-lite
Version:
React Native for Web
58 lines • 2.2 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
var Share_exports = {};
__export(Share_exports, {
Share: () => Share
});
module.exports = __toCommonJS(Share_exports);
var import_react_native_web_internals = require("@tamagui/react-native-web-internals");
class Share {
static share(content, options = {}) {
(0, import_react_native_web_internals.invariant)(typeof content === "object" && content !== null, "Content to share must be a valid object");
(0, import_react_native_web_internals.invariant)(typeof content.url === "string" || typeof content.message === "string", "At least one of URL and message is required");
(0, import_react_native_web_internals.invariant)(typeof options === "object" && options !== null, "Options must be a valid object");
(0, import_react_native_web_internals.invariant)(!content.title || typeof content.title === "string", "Invalid title: title should be a string.");
if (window.navigator.share !== void 0) {
return window.navigator.share({
title: content.title,
text: content.message,
url: content.url
});
} else {
return Promise.reject(new Error("Share is not supported in this browser"));
}
}
/**
* The content was successfully shared.
*/
static get sharedAction() {
return "sharedAction";
}
/**
* The dialog has been dismissed.
* @platform ios
*/
static get dismissedAction() {
return "dismissedAction";
}
}