@internetarchive/ia-item-navigator 2.1.1-alpha3 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/app-root.ts +2 -2
- package/dist/demo/app-root.js +2 -2
- package/dist/demo/app-root.js.map +1 -1
- package/dist/src/iaux-item-navigator.js.map +1 -1
- package/dist/src/loader.d.ts +4 -4
- package/dist/src/menu-slider/ia-menu-slider.d.ts +4 -4
- package/dist/src/menu-slider/ia-menu-slider.js.map +1 -1
- package/dist/src/menu-slider/menu-button.d.ts +4 -4
- package/dist/src/menus/share-panel.d.ts +14 -7
- package/dist/src/menus/share-panel.js +113 -89
- package/dist/src/menus/share-panel.js.map +1 -1
- package/dist/src/menus/viewable-files.js +5 -1
- package/dist/src/menus/viewable-files.js.map +1 -1
- package/dist/src/no-theater-available.js.map +1 -1
- package/dist/test/iaux-sharing-options.test.js +5 -13
- package/dist/test/iaux-sharing-options.test.js.map +1 -1
- package/package.json +1 -1
- package/src/menus/share-panel.ts +126 -99
- package/src/menus/viewable-files.ts +5 -1
- package/test/iaux-sharing-options.test.ts +4 -21
- package/dist/src/menus/share-providers/email.d.ts +0 -11
- package/dist/src/menus/share-providers/email.js +0 -15
- package/dist/src/menus/share-providers/email.js.map +0 -1
- package/dist/src/menus/share-providers/facebook.d.ts +0 -11
- package/dist/src/menus/share-providers/facebook.js +0 -15
- package/dist/src/menus/share-providers/facebook.js.map +0 -1
- package/dist/src/menus/share-providers/pinterest.d.ts +0 -11
- package/dist/src/menus/share-providers/pinterest.js +0 -15
- package/dist/src/menus/share-providers/pinterest.js.map +0 -1
- package/dist/src/menus/share-providers/provider.d.ts +0 -20
- package/dist/src/menus/share-providers/provider.js +0 -37
- package/dist/src/menus/share-providers/provider.js.map +0 -1
- package/dist/src/menus/share-providers/share-provider-interface.d.ts +0 -13
- package/dist/src/menus/share-providers/share-provider-interface.js +0 -2
- package/dist/src/menus/share-providers/share-provider-interface.js.map +0 -1
- package/dist/src/menus/share-providers/tumblr.d.ts +0 -11
- package/dist/src/menus/share-providers/tumblr.js +0 -15
- package/dist/src/menus/share-providers/tumblr.js.map +0 -1
- package/dist/src/menus/share-providers/twitter.d.ts +0 -11
- package/dist/src/menus/share-providers/twitter.js +0 -15
- package/dist/src/menus/share-providers/twitter.js.map +0 -1
- package/src/menus/share-providers/email.ts +0 -23
- package/src/menus/share-providers/facebook.ts +0 -23
- package/src/menus/share-providers/pinterest.ts +0 -23
- package/src/menus/share-providers/provider.ts +0 -63
- package/src/menus/share-providers/share-provider-interface.ts +0 -17
- package/src/menus/share-providers/tumblr.ts +0 -23
- package/src/menus/share-providers/twitter.ts +0 -23
- package/test/ia-sharing-options.test.js +0 -78
    
        package/src/menus/share-panel.ts
    CHANGED
    
    | @@ -1,7 +1,5 @@ | |
| 1 1 | 
             
            /* eslint-disable lit-a11y/click-events-have-key-events */
         | 
| 2 2 | 
             
            /* eslint-disable lit-a11y/list */
         | 
| 3 | 
            -
            import { classMap } from 'lit/directives/class-map.js';
         | 
| 4 | 
            -
            import { ifDefined } from 'lit/directives/if-defined.js';
         | 
| 5 3 | 
             
            import {
         | 
| 6 4 | 
             
              css,
         | 
| 7 5 | 
             
              CSSResult,
         | 
| @@ -12,19 +10,22 @@ import { | |
| 12 10 | 
             
              TemplateResult,
         | 
| 13 11 | 
             
            } from 'lit';
         | 
| 14 12 | 
             
            import { customElement, property } from 'lit/decorators.js';
         | 
| 15 | 
            -
            import '@internetarchive/icon-link/icon-link';
         | 
| 16 13 | 
             
            import '@internetarchive/icon-share/icon-share';
         | 
| 14 | 
            +
            import '@internetarchive/icon-twitter/icon-twitter';
         | 
| 15 | 
            +
            import '@internetarchive/icon-facebook/icon-facebook';
         | 
| 16 | 
            +
            import '@internetarchive/icon-tumblr/icon-tumblr';
         | 
| 17 | 
            +
            import '@internetarchive/icon-pinterest/icon-pinterest';
         | 
| 18 | 
            +
            import '@internetarchive/icon-email/icon-email';
         | 
| 19 | 
            +
            import '@internetarchive/icon-link/icon-link';
         | 
| 17 20 |  | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
            import { ProviderParams } from './share-providers/share-provider-interface';
         | 
| 24 | 
            -
            import type Provider from './share-providers/provider';
         | 
| 21 | 
            +
            type ShareOption = {
         | 
| 22 | 
            +
              name: string;
         | 
| 23 | 
            +
              icon: TemplateResult | string;
         | 
| 24 | 
            +
              url: string;
         | 
| 25 | 
            +
            };
         | 
| 25 26 |  | 
| 26 | 
            -
            const copyToClipboard = ( | 
| 27 | 
            -
              const currentTarget =  | 
| 27 | 
            +
            const copyToClipboard = (event: MouseEvent) => {
         | 
| 28 | 
            +
              const currentTarget = event.currentTarget as HTMLElement;
         | 
| 28 29 | 
             
              const textarea = currentTarget.querySelector('textarea');
         | 
| 29 30 | 
             
              const note = currentTarget.querySelector('small') as any;
         | 
| 30 31 | 
             
              textarea!.select();
         | 
| @@ -51,7 +52,7 @@ export class IauxSharingOptions extends LitElement { | |
| 51 52 |  | 
| 52 53 | 
             
              @property({ type: String }) identifier = '';
         | 
| 53 54 |  | 
| 54 | 
            -
              @property({ type: Array }) sharingOptions:  | 
| 55 | 
            +
              @property({ type: Array }) sharingOptions: ShareOption[] = [];
         | 
| 55 56 |  | 
| 56 57 | 
             
              @property({ type: String }) type = '';
         | 
| 57 58 |  | 
| @@ -66,55 +67,74 @@ export class IauxSharingOptions extends LitElement { | |
| 66 67 | 
             
              }
         | 
| 67 68 |  | 
| 68 69 | 
             
              loadProviders() {
         | 
| 69 | 
            -
                 | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
                  description,
         | 
| 75 | 
            -
                   | 
| 76 | 
            -
                   | 
| 77 | 
            -
                   | 
| 78 | 
            -
                 | 
| 70 | 
            +
                let shareUrl = `https://${this.baseHost}/details/${this.identifier}`;
         | 
| 71 | 
            +
                if (this.fileSubPrefix) {
         | 
| 72 | 
            +
                  shareUrl += `/${this.fileSubPrefix}`;
         | 
| 73 | 
            +
                }
         | 
| 74 | 
            +
                const shareBlurb = [
         | 
| 75 | 
            +
                  this.description,
         | 
| 76 | 
            +
                  this.creator,
         | 
| 77 | 
            +
                  'Free Download, Borrow, and Streaming',
         | 
| 78 | 
            +
                  'Internet Archive',
         | 
| 79 | 
            +
                ]
         | 
| 80 | 
            +
                  .filter(Boolean)
         | 
| 81 | 
            +
                  .join(' : ');
         | 
| 79 82 |  | 
| 80 83 | 
             
                this.sharingOptions = [
         | 
| 81 | 
            -
                   | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 84 | 
            +
                  {
         | 
| 85 | 
            +
                    name: 'Twitter',
         | 
| 86 | 
            +
                    icon: html`<ia-icon-twitter></ia-icon-twitter>`,
         | 
| 87 | 
            +
                    url: `https://twitter.com/intent/tweet?${new URLSearchParams({
         | 
| 88 | 
            +
                      url: shareUrl,
         | 
| 89 | 
            +
                      text: shareBlurb,
         | 
| 90 | 
            +
                      via: 'internetarchive',
         | 
| 91 | 
            +
                    })}`,
         | 
| 92 | 
            +
                  },
         | 
| 93 | 
            +
                  {
         | 
| 94 | 
            +
                    name: 'Facebook',
         | 
| 95 | 
            +
                    icon: html`<ia-icon-facebook></ia-icon-facebook>`,
         | 
| 96 | 
            +
                    url: `https://www.facebook.com/sharer/sharer.php?${new URLSearchParams({
         | 
| 97 | 
            +
                      u: shareUrl,
         | 
| 98 | 
            +
                    })}`,
         | 
| 99 | 
            +
                  },
         | 
| 100 | 
            +
                  {
         | 
| 101 | 
            +
                    name: 'Tumblr',
         | 
| 102 | 
            +
                    icon: html`<ia-icon-tumblr></ia-icon-tumblr>`,
         | 
| 103 | 
            +
                    url: `https://www.tumblr.com/widgets/share/tool/preview?${new URLSearchParams(
         | 
| 104 | 
            +
                      {
         | 
| 105 | 
            +
                        posttype: 'link',
         | 
| 106 | 
            +
                        canonicalUrl: shareUrl,
         | 
| 107 | 
            +
                        title: shareBlurb,
         | 
| 108 | 
            +
                      },
         | 
| 109 | 
            +
                    )}`,
         | 
| 110 | 
            +
                  },
         | 
| 111 | 
            +
                  {
         | 
| 112 | 
            +
                    name: 'Pinterest',
         | 
| 113 | 
            +
                    icon: html`<ia-icon-pinterest></ia-icon-pinterest>`,
         | 
| 114 | 
            +
                    url: `http://www.pinterest.com/pin/create/button/?${new URLSearchParams(
         | 
| 115 | 
            +
                      {
         | 
| 116 | 
            +
                        url: shareUrl,
         | 
| 117 | 
            +
                        description: shareBlurb,
         | 
| 118 | 
            +
                      },
         | 
| 119 | 
            +
                    )}`,
         | 
| 120 | 
            +
                  },
         | 
| 121 | 
            +
                  {
         | 
| 122 | 
            +
                    name: 'Email',
         | 
| 123 | 
            +
                    icon: html`<ia-icon-email></ia-icon-email>`,
         | 
| 124 | 
            +
                    url: `mailto:?${new URLSearchParams({
         | 
| 125 | 
            +
                      subject: shareBlurb,
         | 
| 126 | 
            +
                      body: shareUrl,
         | 
| 127 | 
            +
                    })}`,
         | 
| 128 | 
            +
                  },
         | 
| 86 129 | 
             
                ];
         | 
| 87 130 | 
             
              }
         | 
| 88 131 |  | 
| 89 | 
            -
              get sharingItems() {
         | 
| 90 | 
            -
                return this.sharingOptions.map(
         | 
| 91 | 
            -
                  option =>
         | 
| 92 | 
            -
                    html`<li>
         | 
| 93 | 
            -
                      <a
         | 
| 94 | 
            -
                        class="${ifDefined(option.class)}"
         | 
| 95 | 
            -
                        href="${option.url}"
         | 
| 96 | 
            -
                        target="_blank"
         | 
| 97 | 
            -
                      >
         | 
| 98 | 
            -
                        ${option.icon} ${option.name}
         | 
| 99 | 
            -
                      </a>
         | 
| 100 | 
            -
                    </li>`,
         | 
| 101 | 
            -
                );
         | 
| 102 | 
            -
              }
         | 
| 103 | 
            -
             | 
| 104 | 
            -
              get embedOption() {
         | 
| 105 | 
            -
                return html`<li>
         | 
| 106 | 
            -
                  <a href="#" @click=${this.toggleEmbedOptions}>
         | 
| 107 | 
            -
                    <ia-icon-link></ia-icon-link>
         | 
| 108 | 
            -
                    Get an embeddable link
         | 
| 109 | 
            -
                  </a>
         | 
| 110 | 
            -
                </li>`;
         | 
| 111 | 
            -
              }
         | 
| 112 | 
            -
             | 
| 113 132 | 
             
              get iframeEmbed() {
         | 
| 114 | 
            -
                return  | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 133 | 
            +
                return `<iframe
         | 
| 134 | 
            +
                  src="https://${this.baseHost}/embed/${this.identifier}"
         | 
| 135 | 
            +
                  width="560" height="384" frameborder="0"
         | 
| 136 | 
            +
                  webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen
         | 
| 137 | 
            +
                ></iframe>`;
         | 
| 118 138 | 
             
              }
         | 
| 119 139 |  | 
| 120 140 | 
             
              get bbcodeEmbed() {
         | 
| @@ -125,11 +145,6 @@ export class IauxSharingOptions extends LitElement { | |
| 125 145 | 
             
                return `https://${this.baseHost}/help/audio.php?identifier=${this.identifier}`;
         | 
| 126 146 | 
             
              }
         | 
| 127 147 |  | 
| 128 | 
            -
              toggleEmbedOptions(e: Event) {
         | 
| 129 | 
            -
                e.preventDefault();
         | 
| 130 | 
            -
                this.embedOptionsVisible = !this.embedOptionsVisible;
         | 
| 131 | 
            -
              }
         | 
| 132 | 
            -
             | 
| 133 148 | 
             
              get header() {
         | 
| 134 149 | 
             
                const header = html`<header><h3>Share this ${this.type}</h3></header>`;
         | 
| 135 150 | 
             
                return this.renderHeader ? header : nothing;
         | 
| @@ -138,32 +153,41 @@ export class IauxSharingOptions extends LitElement { | |
| 138 153 | 
             
              render() {
         | 
| 139 154 | 
             
                return html`
         | 
| 140 155 | 
             
                  ${this.header}
         | 
| 141 | 
            -
                  < | 
| 142 | 
            -
                    ${this. | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 152 | 
            -
             | 
| 153 | 
            -
             | 
| 154 | 
            -
             | 
| 155 | 
            -
             | 
| 156 | 
            -
             | 
| 157 | 
            -
             | 
| 156 | 
            +
                  <main>
         | 
| 157 | 
            +
                    ${this.sharingOptions.map(
         | 
| 158 | 
            +
                      option =>
         | 
| 159 | 
            +
                        html` <a class="share-option" href="${option.url}" target="_blank">
         | 
| 160 | 
            +
                          ${option.icon} ${option.name}
         | 
| 161 | 
            +
                        </a>`,
         | 
| 162 | 
            +
                    )}
         | 
| 163 | 
            +
                    <details>
         | 
| 164 | 
            +
                      <summary class="share-option">
         | 
| 165 | 
            +
                        <ia-icon-link></ia-icon-link>
         | 
| 166 | 
            +
                        Get an embeddable link
         | 
| 167 | 
            +
                      </summary>
         | 
| 168 | 
            +
                      <div class="embed">
         | 
| 169 | 
            +
                        <h4>Embed</h4>
         | 
| 170 | 
            +
                        <div class="code" @click=${copyToClipboard}>
         | 
| 171 | 
            +
                          <textarea readonly>${this.iframeEmbed}</textarea>
         | 
| 172 | 
            +
                          <small>Copied to clipboard</small>
         | 
| 173 | 
            +
                        </div>
         | 
| 174 | 
            +
                        <h4>
         | 
| 175 | 
            +
                          Embed for wordpress.com hosted blogs and archive.org item
         | 
| 176 | 
            +
                          <description> tags
         | 
| 177 | 
            +
                        </h4>
         | 
| 178 | 
            +
                        <div class="code" @click=${copyToClipboard}>
         | 
| 179 | 
            +
                          <textarea readonly>${this.bbcodeEmbed}</textarea>
         | 
| 180 | 
            +
                          <small>Copied to clipboard</small>
         | 
| 181 | 
            +
                        </div>
         | 
| 182 | 
            +
                        <p>
         | 
| 183 | 
            +
                          Want more?
         | 
| 184 | 
            +
                          <a href=${this.helpURL}
         | 
| 185 | 
            +
                            >Advanced embedding details, examples, and help</a
         | 
| 186 | 
            +
                          >!
         | 
| 187 | 
            +
                        </p>
         | 
| 158 188 | 
             
                      </div>
         | 
| 159 | 
            -
             | 
| 160 | 
            -
             | 
| 161 | 
            -
                        <a href=${this.helpURL}
         | 
| 162 | 
            -
                          >Advanced embedding details, examples, and help</a
         | 
| 163 | 
            -
                        >!
         | 
| 164 | 
            -
                      </p>
         | 
| 165 | 
            -
                    </div>
         | 
| 166 | 
            -
                  </ul>
         | 
| 189 | 
            +
                    </details>
         | 
| 190 | 
            +
                  </main>
         | 
| 167 191 | 
             
                `;
         | 
| 168 192 | 
             
              }
         | 
| 169 193 |  | 
| @@ -198,22 +222,20 @@ export class IauxSharingOptions extends LitElement { | |
| 198 222 | 
             
                    font-size: 1.4rem;
         | 
| 199 223 | 
             
                  }
         | 
| 200 224 |  | 
| 201 | 
            -
                   | 
| 202 | 
            -
                    padding:  | 
| 203 | 
            -
                    list-style: none;
         | 
| 225 | 
            +
                  main {
         | 
| 226 | 
            +
                    padding: 1rem 0;
         | 
| 204 227 | 
             
                  }
         | 
| 205 228 |  | 
| 206 | 
            -
                   | 
| 207 | 
            -
                     | 
| 208 | 
            -
             | 
| 209 | 
            -
             | 
| 210 | 
            -
                  li a {
         | 
| 229 | 
            +
                  .share-option {
         | 
| 230 | 
            +
                    display: block;
         | 
| 231 | 
            +
                    padding: 0.5rem 0;
         | 
| 211 232 | 
             
                    font-size: 1.6rem;
         | 
| 212 233 | 
             
                    text-decoration: none;
         | 
| 213 234 | 
             
                    color: var(--shareLinkColor);
         | 
| 235 | 
            +
                    cursor: pointer;
         | 
| 214 236 | 
             
                  }
         | 
| 215 237 |  | 
| 216 | 
            -
                   | 
| 238 | 
            +
                  .share-option > * {
         | 
| 217 239 | 
             
                    display: inline-block;
         | 
| 218 240 | 
             
                    padding: 0.2rem;
         | 
| 219 241 | 
             
                    margin-right: 1rem;
         | 
| @@ -223,12 +245,17 @@ export class IauxSharingOptions extends LitElement { | |
| 223 245 | 
             
                    background: var(--shareIconBg);
         | 
| 224 246 | 
             
                  }
         | 
| 225 247 |  | 
| 226 | 
            -
                   | 
| 248 | 
            +
                  /* Hide the triangle that appears on details tags */
         | 
| 249 | 
            +
                  summary::marker {
         | 
| 250 | 
            +
                    content: '';
         | 
| 251 | 
            +
                  }
         | 
| 252 | 
            +
             | 
| 253 | 
            +
                  summary::-webkit-details-marker {
         | 
| 227 254 | 
             
                    display: none;
         | 
| 228 255 | 
             
                  }
         | 
| 229 | 
            -
             | 
| 230 | 
            -
             | 
| 231 | 
            -
                     | 
| 256 | 
            +
             | 
| 257 | 
            +
                  .embed {
         | 
| 258 | 
            +
                    padding-right: 5px;
         | 
| 232 259 | 
             
                  }
         | 
| 233 260 |  | 
| 234 261 | 
             
                  .embed a {
         | 
| @@ -230,7 +230,11 @@ export class IauxViewableFiles extends LitElement { | |
| 230 230 | 
             
                    activeFile?.scrollIntoViewIfNeeded(true);
         | 
| 231 231 | 
             
                  } else {
         | 
| 232 232 | 
             
                    // `scrollIntoView` always auto-scroll to center of visible area
         | 
| 233 | 
            -
                    activeFile?.scrollIntoView({ | 
| 233 | 
            +
                    activeFile?.scrollIntoView({
         | 
| 234 | 
            +
                      behavior: 'smooth',
         | 
| 235 | 
            +
                      block: 'nearest',
         | 
| 236 | 
            +
                      inline: 'nearest',
         | 
| 237 | 
            +
                    });
         | 
| 234 238 | 
             
                  }
         | 
| 235 239 | 
             
                }, 350);
         | 
| 236 240 | 
             
              }
         | 
| @@ -38,23 +38,13 @@ describe('<iaux-in-share-panel>', () => { | |
| 38 38 |  | 
| 39 39 | 
             
                await el.updateComplete;
         | 
| 40 40 |  | 
| 41 | 
            -
                el.sharingOptions.forEach(option => {
         | 
| 42 | 
            -
                  const button =
         | 
| 43 | 
            -
                    el.shadowRoot && el.shadowRoot.querySelector(`a.${option.class}`);
         | 
| 41 | 
            +
                el.sharingOptions.forEach((option, i) => {
         | 
| 42 | 
            +
                  const button = el.shadowRoot?.querySelectorAll('a')[i];
         | 
| 44 43 | 
             
                  expect(button).to.exist;
         | 
| 45 44 | 
             
                  expect(button?.getAttribute('href')).to.equal(option.url);
         | 
| 46 45 | 
             
                });
         | 
| 47 46 | 
             
              });
         | 
| 48 47 |  | 
| 49 | 
            -
              it('toggles visibility of embed options', async () => {
         | 
| 50 | 
            -
                const el = (await fixture(container())) as IauxSharingOptions;
         | 
| 51 | 
            -
             | 
| 52 | 
            -
                el.toggleEmbedOptions(new Event('click'));
         | 
| 53 | 
            -
                await el.updateComplete;
         | 
| 54 | 
            -
             | 
| 55 | 
            -
                expect(el.embedOptionsVisible).to.equal(true);
         | 
| 56 | 
            -
              });
         | 
| 57 | 
            -
             | 
| 58 48 | 
             
              it('does not show internal header by default', async () => {
         | 
| 59 49 | 
             
                const el = (await fixture(container())) as IauxSharingOptions;
         | 
| 60 50 | 
             
                expect(el.shadowRoot?.querySelector('header')).to.be.null;
         | 
| @@ -68,17 +58,10 @@ describe('<iaux-in-share-panel>', () => { | |
| 68 58 | 
             
              });
         | 
| 69 59 |  | 
| 70 60 | 
             
              it('sets file subprefix to end of share URLs if present', async () => {
         | 
| 71 | 
            -
                const  | 
| 72 | 
            -
                const el = (await fixture(
         | 
| 73 | 
            -
                  container(optionalFileSubprefix),
         | 
| 74 | 
            -
                )) as IauxSharingOptions;
         | 
| 61 | 
            +
                const el = (await fixture(container('foo 123'))) as IauxSharingOptions;
         | 
| 75 62 |  | 
| 76 63 | 
             
                el.sharingOptions.forEach(option => {
         | 
| 77 | 
            -
                   | 
| 78 | 
            -
                    expect(option.url).to.contain(
         | 
| 79 | 
            -
                      encodeURIComponent(optionalFileSubprefix),
         | 
| 80 | 
            -
                    );
         | 
| 81 | 
            -
                  }
         | 
| 64 | 
            +
                  expect(option.url).to.contain('foo+123');
         | 
| 82 65 | 
             
                });
         | 
| 83 66 | 
             
              });
         | 
| 84 67 | 
             
            });
         | 
| @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-email/icon-email';
         | 
| 2 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import type { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
            export default class extends Provider {
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                icon: TemplateResult;
         | 
| 8 | 
            -
                class: string;
         | 
| 9 | 
            -
                constructor(params: ProviderParams);
         | 
| 10 | 
            -
                get url(): string;
         | 
| 11 | 
            -
            }
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-email/icon-email';
         | 
| 2 | 
            -
            import { html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            export default class extends Provider {
         | 
| 5 | 
            -
                constructor(params) {
         | 
| 6 | 
            -
                    super(params);
         | 
| 7 | 
            -
                    this.name = 'Email';
         | 
| 8 | 
            -
                    this.icon = html `<ia-icon-email></ia-icon-email>`;
         | 
| 9 | 
            -
                    this.class = 'email';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get url() {
         | 
| 12 | 
            -
                    return `mailto:?body=https://${this.baseHost}/details/${this.itemPath}&subject=${this.description} : ${this.creator}${this.promoCopy}`;
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
            }
         | 
| 15 | 
            -
            //# sourceMappingURL=email.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/email.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAChD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,MAAO,SAAQ,QAAQ;IAOnC,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,iCAAiC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAa,GAAG;QACd,OAAO,wBAAwB,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,WAAW,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACzI,CAAC;CACF","sourcesContent":["import '@internetarchive/icon-email/icon-email';\nimport { TemplateResult, html } from 'lit';\nimport Provider from './provider';\nimport type { ProviderParams } from './share-provider-interface';\n\nexport default class extends Provider {\n  name: string;\n\n  icon: TemplateResult;\n\n  class: string;\n\n  constructor(params: ProviderParams) {\n    super(params);\n    this.name = 'Email';\n    this.icon = html`<ia-icon-email></ia-icon-email>`;\n    this.class = 'email';\n  }\n\n  override get url(): string {\n    return `mailto:?body=https://${this.baseHost}/details/${this.itemPath}&subject=${this.description} : ${this.creator}${this.promoCopy}`;\n  }\n}\n"]}
         | 
| @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-facebook/icon-facebook';
         | 
| 2 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import type { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
            export default class extends Provider {
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                icon: TemplateResult;
         | 
| 8 | 
            -
                class: string;
         | 
| 9 | 
            -
                constructor(params: ProviderParams);
         | 
| 10 | 
            -
                get url(): string;
         | 
| 11 | 
            -
            }
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-facebook/icon-facebook';
         | 
| 2 | 
            -
            import { html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            export default class extends Provider {
         | 
| 5 | 
            -
                constructor(params) {
         | 
| 6 | 
            -
                    super(params);
         | 
| 7 | 
            -
                    this.name = 'Facebook';
         | 
| 8 | 
            -
                    this.icon = html `<ia-icon-facebook></ia-icon-facebook>`;
         | 
| 9 | 
            -
                    this.class = 'facebook';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get url() {
         | 
| 12 | 
            -
                    return `https://www.facebook.com/sharer/sharer.php?u=https://${this.baseHost}/details/${this.itemPath}`;
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
            }
         | 
| 15 | 
            -
            //# sourceMappingURL=facebook.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"facebook.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/facebook.ts"],"names":[],"mappings":"AAAA,OAAO,8CAA8C,CAAC;AACtD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,MAAO,SAAQ,QAAQ;IAOnC,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,uCAAuC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,IAAa,GAAG;QACd,OAAO,wDAAwD,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1G,CAAC;CACF","sourcesContent":["import '@internetarchive/icon-facebook/icon-facebook';\nimport { TemplateResult, html } from 'lit';\nimport Provider from './provider';\nimport type { ProviderParams } from './share-provider-interface';\n\nexport default class extends Provider {\n  name: string;\n\n  icon: TemplateResult;\n\n  class: string;\n\n  constructor(params: ProviderParams) {\n    super(params);\n    this.name = 'Facebook';\n    this.icon = html`<ia-icon-facebook></ia-icon-facebook>`;\n    this.class = 'facebook';\n  }\n\n  override get url(): string {\n    return `https://www.facebook.com/sharer/sharer.php?u=https://${this.baseHost}/details/${this.itemPath}`;\n  }\n}\n"]}
         | 
| @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-pinterest/icon-pinterest';
         | 
| 2 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
            export default class extends Provider {
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                icon: TemplateResult;
         | 
| 8 | 
            -
                class: string;
         | 
| 9 | 
            -
                constructor(params: ProviderParams);
         | 
| 10 | 
            -
                get url(): string;
         | 
| 11 | 
            -
            }
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-pinterest/icon-pinterest';
         | 
| 2 | 
            -
            import { html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            export default class extends Provider {
         | 
| 5 | 
            -
                constructor(params) {
         | 
| 6 | 
            -
                    super(params);
         | 
| 7 | 
            -
                    this.name = 'Pinterest';
         | 
| 8 | 
            -
                    this.icon = html `<ia-icon-pinterest></ia-icon-pinterest>`;
         | 
| 9 | 
            -
                    this.class = 'pinterest';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get url() {
         | 
| 12 | 
            -
                    return `http://www.pinterest.com/pin/create/button/?url=https://${this.baseHost}/details/${this.itemPath}&description=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
            }
         | 
| 15 | 
            -
            //# sourceMappingURL=pinterest.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"pinterest.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/pinterest.ts"],"names":[],"mappings":"AAAA,OAAO,gDAAgD,CAAC;AACxD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,MAAO,SAAQ,QAAQ;IAOnC,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,yCAAyC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,CAAC;IAED,IAAa,GAAG;QACd,OAAO,2DAA2D,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,gBAAgB,IAAI,CAAC,kBAAkB,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACvM,CAAC;CACF","sourcesContent":["import '@internetarchive/icon-pinterest/icon-pinterest';\nimport { TemplateResult, html } from 'lit';\nimport Provider from './provider';\nimport { ProviderParams } from './share-provider-interface';\n\nexport default class extends Provider {\n  name: string;\n\n  icon: TemplateResult;\n\n  class: string;\n\n  constructor(params: ProviderParams) {\n    super(params);\n    this.name = 'Pinterest';\n    this.icon = html`<ia-icon-pinterest></ia-icon-pinterest>`;\n    this.class = 'pinterest';\n  }\n\n  override get url(): string {\n    return `http://www.pinterest.com/pin/create/button/?url=https://${this.baseHost}/details/${this.itemPath}&description=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;\n  }\n}\n"]}
         | 
| @@ -1,20 +0,0 @@ | |
| 1 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 2 | 
            -
            import { ProviderParams } from './share-provider-interface';
         | 
| 3 | 
            -
            export default class Provider {
         | 
| 4 | 
            -
                promoCopy: string;
         | 
| 5 | 
            -
                description: string;
         | 
| 6 | 
            -
                creator: string;
         | 
| 7 | 
            -
                fileSubPrefix: string;
         | 
| 8 | 
            -
                identifier: string;
         | 
| 9 | 
            -
                baseHost: string;
         | 
| 10 | 
            -
                name: string | undefined;
         | 
| 11 | 
            -
                icon: TemplateResult | string | undefined;
         | 
| 12 | 
            -
                class: string | undefined;
         | 
| 13 | 
            -
                constructor(params: ProviderParams);
         | 
| 14 | 
            -
                get encodedDescription(): string;
         | 
| 15 | 
            -
                get encodedCreator(): string;
         | 
| 16 | 
            -
                get encodedPromoCopy(): string;
         | 
| 17 | 
            -
                get itemPath(): string;
         | 
| 18 | 
            -
                get url(): string;
         | 
| 19 | 
            -
                encodeString(str: string): string;
         | 
| 20 | 
            -
            }
         | 
| @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            export default class Provider {
         | 
| 2 | 
            -
                constructor(params) {
         | 
| 3 | 
            -
                    this.promoCopy =
         | 
| 4 | 
            -
                        ' : Free Download, Borrow, and Streaming : Internet Archive';
         | 
| 5 | 
            -
                    this.description = (params === null || params === void 0 ? void 0 : params.description) || '';
         | 
| 6 | 
            -
                    this.creator = (params === null || params === void 0 ? void 0 : params.creator) || '';
         | 
| 7 | 
            -
                    this.fileSubPrefix = (params === null || params === void 0 ? void 0 : params.fileSubPrefix) || '';
         | 
| 8 | 
            -
                    this.identifier = (params === null || params === void 0 ? void 0 : params.identifier) || '';
         | 
| 9 | 
            -
                    this.baseHost = (params === null || params === void 0 ? void 0 : params.baseHost) || '';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get encodedDescription() {
         | 
| 12 | 
            -
                    return this.encodeString(this.description);
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
                get encodedCreator() {
         | 
| 15 | 
            -
                    return this.encodeString(this.creator);
         | 
| 16 | 
            -
                }
         | 
| 17 | 
            -
                get encodedPromoCopy() {
         | 
| 18 | 
            -
                    return this.encodeString(this.promoCopy);
         | 
| 19 | 
            -
                }
         | 
| 20 | 
            -
                get itemPath() {
         | 
| 21 | 
            -
                    const encodedFileSubPrefix = this.fileSubPrefix
         | 
| 22 | 
            -
                        ? encodeURIComponent(this.fileSubPrefix)
         | 
| 23 | 
            -
                        : '';
         | 
| 24 | 
            -
                    return encodedFileSubPrefix
         | 
| 25 | 
            -
                        ? `${this.identifier}/${encodedFileSubPrefix}`
         | 
| 26 | 
            -
                        : this.identifier;
         | 
| 27 | 
            -
                }
         | 
| 28 | 
            -
                get url() {
         | 
| 29 | 
            -
                    return `https://${this.baseHost}/details/${this.itemPath}`;
         | 
| 30 | 
            -
                }
         | 
| 31 | 
            -
                encodeString(str) {
         | 
| 32 | 
            -
                    if (!str)
         | 
| 33 | 
            -
                        return '';
         | 
| 34 | 
            -
                    return encodeURIComponent(str.replace(/\s/g, '+')).replace(/%2B/g, '+');
         | 
| 35 | 
            -
                }
         | 
| 36 | 
            -
            }
         | 
| 37 | 
            -
            //# sourceMappingURL=provider.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/provider.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAmB3B,YAAY,MAAsB;QAChC,IAAI,CAAC,SAAS;YACZ,4DAA4D,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,KAAI,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa;YAC7C,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,oBAAoB;YACzB,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,oBAAoB,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,WAAW,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;CACF","sourcesContent":["import { TemplateResult } from 'lit';\nimport { ProviderParams } from './share-provider-interface';\n\nexport default class Provider {\n  promoCopy: string;\n\n  description: string;\n\n  creator: string;\n\n  fileSubPrefix: string;\n\n  identifier: string;\n\n  baseHost: string;\n\n  name: string | undefined;\n\n  icon: TemplateResult | string | undefined;\n\n  class: string | undefined;\n\n  constructor(params: ProviderParams) {\n    this.promoCopy =\n      ' : Free Download, Borrow, and Streaming : Internet Archive';\n\n    this.description = params?.description || '';\n    this.creator = params?.creator || '';\n    this.fileSubPrefix = params?.fileSubPrefix || '';\n    this.identifier = params?.identifier || '';\n    this.baseHost = params?.baseHost || '';\n  }\n\n  get encodedDescription(): string {\n    return this.encodeString(this.description);\n  }\n\n  get encodedCreator(): string {\n    return this.encodeString(this.creator);\n  }\n\n  get encodedPromoCopy(): string {\n    return this.encodeString(this.promoCopy);\n  }\n\n  get itemPath(): string {\n    const encodedFileSubPrefix = this.fileSubPrefix\n      ? encodeURIComponent(this.fileSubPrefix)\n      : '';\n    return encodedFileSubPrefix\n      ? `${this.identifier}/${encodedFileSubPrefix}`\n      : this.identifier;\n  }\n\n  get url(): string {\n    return `https://${this.baseHost}/details/${this.itemPath}`;\n  }\n\n  encodeString(str: string): string {\n    if (!str) return '';\n    return encodeURIComponent(str.replace(/\\s/g, '+')).replace(/%2B/g, '+');\n  }\n}\n"]}
         | 
| @@ -1,13 +0,0 @@ | |
| 1 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 2 | 
            -
            export type ProviderParams = {
         | 
| 3 | 
            -
                class: string;
         | 
| 4 | 
            -
                icon: TemplateResult | string;
         | 
| 5 | 
            -
                name: string;
         | 
| 6 | 
            -
                promoCopy: string;
         | 
| 7 | 
            -
                description: string;
         | 
| 8 | 
            -
                creator: string;
         | 
| 9 | 
            -
                fileSubPrefix: string;
         | 
| 10 | 
            -
                identifier: string;
         | 
| 11 | 
            -
                baseHost: string;
         | 
| 12 | 
            -
                itemPath: string;
         | 
| 13 | 
            -
            };
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"share-provider-interface.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/share-provider-interface.ts"],"names":[],"mappings":"","sourcesContent":["import { TemplateResult } from 'lit';\n\nexport type ProviderParams = {\n  class: string;\n  icon: TemplateResult | string;\n  name: string;\n\n  promoCopy: string;\n  description: string;\n  creator: string;\n\n  // ia item\n  fileSubPrefix: string;\n  identifier: string;\n  baseHost: string;\n  itemPath: string;\n};\n"]}
         | 
| @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-tumblr/icon-tumblr';
         | 
| 2 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
            export default class extends Provider {
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                icon: TemplateResult;
         | 
| 8 | 
            -
                class: string;
         | 
| 9 | 
            -
                constructor(params: ProviderParams);
         | 
| 10 | 
            -
                get url(): string;
         | 
| 11 | 
            -
            }
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-tumblr/icon-tumblr';
         | 
| 2 | 
            -
            import { html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            export default class extends Provider {
         | 
| 5 | 
            -
                constructor(params) {
         | 
| 6 | 
            -
                    super(params);
         | 
| 7 | 
            -
                    this.name = 'Tumblr';
         | 
| 8 | 
            -
                    this.icon = html `<ia-icon-tumblr></ia-icon-tumblr>`;
         | 
| 9 | 
            -
                    this.class = 'tumblr';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get url() {
         | 
| 12 | 
            -
                    return `https://www.tumblr.com/share/video?embed=%3Ciframe+width%3D%22640%22+height%3D%22480%22+frameborder%3D%220%22+allowfullscreen+src%3D%22https%3A%2F%2F${this.baseHost}%2Fembed%2F%22+webkitallowfullscreen%3D%22true%22+mozallowfullscreen%3D%22true%22%26gt%3B%26lt%3B%2Fiframe%3E&name=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
            }
         | 
| 15 | 
            -
            //# sourceMappingURL=tumblr.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"tumblr.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/tumblr.ts"],"names":[],"mappings":"AAAA,OAAO,0CAA0C,CAAC;AAClD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,MAAO,SAAQ,QAAQ;IAOnC,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,mCAAmC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,IAAa,GAAG;QACd,OAAO,wJAAwJ,IAAI,CAAC,QAAQ,sHAAsH,IAAI,CAAC,kBAAkB,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjX,CAAC;CACF","sourcesContent":["import '@internetarchive/icon-tumblr/icon-tumblr';\nimport { TemplateResult, html } from 'lit';\nimport Provider from './provider';\nimport { ProviderParams } from './share-provider-interface';\n\nexport default class extends Provider {\n  name: string;\n\n  icon: TemplateResult;\n\n  class: string;\n\n  constructor(params: ProviderParams) {\n    super(params);\n    this.name = 'Tumblr';\n    this.icon = html`<ia-icon-tumblr></ia-icon-tumblr>`;\n    this.class = 'tumblr';\n  }\n\n  override get url(): string {\n    return `https://www.tumblr.com/share/video?embed=%3Ciframe+width%3D%22640%22+height%3D%22480%22+frameborder%3D%220%22+allowfullscreen+src%3D%22https%3A%2F%2F${this.baseHost}%2Fembed%2F%22+webkitallowfullscreen%3D%22true%22+mozallowfullscreen%3D%22true%22%26gt%3B%26lt%3B%2Fiframe%3E&name=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;\n  }\n}\n"]}
         | 
| @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-twitter/icon-twitter';
         | 
| 2 | 
            -
            import { TemplateResult } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
            export default class TwitterProvider extends Provider {
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                icon: TemplateResult;
         | 
| 8 | 
            -
                class: string;
         | 
| 9 | 
            -
                constructor(params: ProviderParams);
         | 
| 10 | 
            -
                get url(): string;
         | 
| 11 | 
            -
            }
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-twitter/icon-twitter';
         | 
| 2 | 
            -
            import { html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            export default class TwitterProvider extends Provider {
         | 
| 5 | 
            -
                constructor(params) {
         | 
| 6 | 
            -
                    super(params);
         | 
| 7 | 
            -
                    this.name = 'Twitter';
         | 
| 8 | 
            -
                    this.icon = html `<ia-icon-twitter></ia-icon-twitter>`;
         | 
| 9 | 
            -
                    this.class = 'twitter';
         | 
| 10 | 
            -
                }
         | 
| 11 | 
            -
                get url() {
         | 
| 12 | 
            -
                    return `https://twitter.com/intent/tweet?url=https://${this.baseHost}/details/${this.itemPath}&via=internetarchive&text=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;
         | 
| 13 | 
            -
                }
         | 
| 14 | 
            -
            }
         | 
| 15 | 
            -
            //# sourceMappingURL=twitter.js.map
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            {"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../../../src/menus/share-providers/twitter.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ;IAOnD,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA,qCAAqC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,IAAa,GAAG;QACd,OAAO,gDAAgD,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,6BAA6B,IAAI,CAAC,kBAAkB,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzM,CAAC;CACF","sourcesContent":["import '@internetarchive/icon-twitter/icon-twitter';\nimport { TemplateResult, html } from 'lit';\nimport Provider from './provider';\nimport { ProviderParams } from './share-provider-interface';\n\nexport default class TwitterProvider extends Provider {\n  name: string;\n\n  icon: TemplateResult;\n\n  class: string;\n\n  constructor(params: ProviderParams) {\n    super(params);\n    this.name = 'Twitter';\n    this.icon = html`<ia-icon-twitter></ia-icon-twitter>`;\n    this.class = 'twitter';\n  }\n\n  override get url(): string {\n    return `https://twitter.com/intent/tweet?url=https://${this.baseHost}/details/${this.itemPath}&via=internetarchive&text=${this.encodedDescription}+%3A+${this.encodedCreator}${this.encodedPromoCopy}`;\n  }\n}\n"]}
         | 
| @@ -1,23 +0,0 @@ | |
| 1 | 
            -
            import '@internetarchive/icon-email/icon-email';
         | 
| 2 | 
            -
            import { TemplateResult, html } from 'lit';
         | 
| 3 | 
            -
            import Provider from './provider';
         | 
| 4 | 
            -
            import type { ProviderParams } from './share-provider-interface';
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            export default class extends Provider {
         | 
| 7 | 
            -
              name: string;
         | 
| 8 | 
            -
             | 
| 9 | 
            -
              icon: TemplateResult;
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              class: string;
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              constructor(params: ProviderParams) {
         | 
| 14 | 
            -
                super(params);
         | 
| 15 | 
            -
                this.name = 'Email';
         | 
| 16 | 
            -
                this.icon = html`<ia-icon-email></ia-icon-email>`;
         | 
| 17 | 
            -
                this.class = 'email';
         | 
| 18 | 
            -
              }
         | 
| 19 | 
            -
             | 
| 20 | 
            -
              override get url(): string {
         | 
| 21 | 
            -
                return `mailto:?body=https://${this.baseHost}/details/${this.itemPath}&subject=${this.description} : ${this.creator}${this.promoCopy}`;
         | 
| 22 | 
            -
              }
         | 
| 23 | 
            -
            }
         |