Socket
Socket
Sign inDemoInstall

react-icalendar-link

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-icalendar-link - npm Package Compare versions

Comparing version 2.0.0 to 2.0.1

1

dist/index.d.ts

@@ -10,2 +10,3 @@ /**

filename: string;
rawContent: string;
isCrappyIE: boolean;

@@ -12,0 +13,0 @@ isSupported: () => boolean;

25

dist/index.es.js

@@ -99,4 +99,13 @@ function __$styleInject(css, ref) {

}
function buildUrl(event, useDataURL) {
function buildUrl(event, useDataURL, rawContent) {
if (useDataURL === void 0) { useDataURL = false; }
if (rawContent === void 0) { rawContent = ""; }
var body = [];
body.push("URL:" + (event.url || document.URL));
body.push("DTSTART:" + formatDate(event.startTime));
body.push("SUMMARY:" + event.title);
event.endTime && body.push("DTEND:" + formatDate(event.endTime));
event.description && body.push("DESCRIPTION:" + event.description);
event.location && body.push("LOCATION:" + event.location);
rawContent && body.push(rawContent);
var url = [

@@ -106,8 +115,3 @@ "BEGIN:VCALENDAR",

"BEGIN:VEVENT",
"URL:" + document.URL,
"DTSTART:" + formatDate(event.startTime),
"DTEND:" + formatDate(event.endTime),
"SUMMARY:" + event.title,
"DESCRIPTION:" + event.description,
"LOCATION:" + event.location,
body.join("\n"),
"END:VEVENT",

@@ -153,4 +157,4 @@ "END:VCALENDAR"

e.stopPropagation();
var _a = _this.props, event = _a.event, filename = _a.filename;
var url = buildUrl(event, isIOSSafari());
var _a = _this.props, event = _a.event, filename = _a.filename, rawContent = _a.rawContent;
var url = buildUrl(event, isIOSSafari(), rawContent);
var blob = new Blob([url], {

@@ -186,3 +190,4 @@ type: "text/calendar;charset=utf-8"

filename: "download.ics",
href: "#add-to-calendar"
href: "#add-to-calendar",
rawContent: ""
};

@@ -189,0 +194,0 @@ return ICalLink;

@@ -103,4 +103,13 @@ 'use strict';

}
function buildUrl(event, useDataURL) {
function buildUrl(event, useDataURL, rawContent) {
if (useDataURL === void 0) { useDataURL = false; }
if (rawContent === void 0) { rawContent = ""; }
var body = [];
body.push("URL:" + (event.url || document.URL));
body.push("DTSTART:" + formatDate(event.startTime));
body.push("SUMMARY:" + event.title);
event.endTime && body.push("DTEND:" + formatDate(event.endTime));
event.description && body.push("DESCRIPTION:" + event.description);
event.location && body.push("LOCATION:" + event.location);
rawContent && body.push(rawContent);
var url = [

@@ -110,8 +119,3 @@ "BEGIN:VCALENDAR",

"BEGIN:VEVENT",
"URL:" + document.URL,
"DTSTART:" + formatDate(event.startTime),
"DTEND:" + formatDate(event.endTime),
"SUMMARY:" + event.title,
"DESCRIPTION:" + event.description,
"LOCATION:" + event.location,
body.join("\n"),
"END:VEVENT",

@@ -157,4 +161,4 @@ "END:VCALENDAR"

e.stopPropagation();
var _a = _this.props, event = _a.event, filename = _a.filename;
var url = buildUrl(event, isIOSSafari());
var _a = _this.props, event = _a.event, filename = _a.filename, rawContent = _a.rawContent;
var url = buildUrl(event, isIOSSafari(), rawContent);
var blob = new Blob([url], {

@@ -190,3 +194,4 @@ type: "text/calendar;charset=utf-8"

filename: "download.ics",
href: "#add-to-calendar"
href: "#add-to-calendar",
rawContent: ""
};

@@ -193,0 +198,0 @@ return ICalLink;

export interface ICalEvent {
title: string;
description: string;
startTime: string;
endTime: string;
location: string;
description?: string;
endTime?: string;
location?: string;
url?: string;
}
export declare function formatDate(dateString: string): string;
export declare function buildUrl(event: ICalEvent, useDataURL?: boolean): string;
export declare function buildUrl(event: ICalEvent, useDataURL?: boolean, rawContent?: string): string;
export declare function downloadBlob(blob: object, filename: string): void;

@@ -11,0 +12,0 @@ export declare function isCrappyIE(): boolean;

{
"name": "react-icalendar-link",
"version": "2.0.0",
"version": "2.0.1",
"description": "Ability to create link for downloading ics file",

@@ -5,0 +5,0 @@ "author": "josephj",

@@ -37,4 +37,34 @@ # react-icalendar-link

### Using Raw Content
Currently it provides very few fields. You can provide the raw content for the extra fields instead.
```jsx
import React from "react";
import ICalendarLink from "react-icalendar-link";
class App extends React.Component {
render() {
const event = {
title: "My Title",
description: "My Description",
startTime: "2018-10-07T10:30:00+10:00",
location: "10 Carlotta St, Artarmon NSW 2064, Australia";
}
const rawContent = `ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@example.com
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@example.com
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@example.net
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:mike@example.org`;
return (
<ICalendarLink event={event} rawContent={rawContent}>
Add to Calendar
</ICalendarLink>;
);
}
}
```
## License
MIT © [josephj](https://github.com/josephj)

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc