@internetarchive/elements 0.2.14-webdev-8969.0 → 0.3.0
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/README.md +20 -0
- package/dist/src/elements/ia-item-navigator/ia-item-navigator.d.ts +97 -0
- package/dist/src/elements/ia-item-navigator/ia-item-navigator.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-item-navigator.js +588 -0
- package/dist/src/elements/ia-item-navigator/ia-item-navigator.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.d.ts +39 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.js +249 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.d.ts +55 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.js +394 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.d.ts +20 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.js +102 -0
- package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/icons/collapse-sidebar.svg +7 -0
- package/dist/src/elements/ia-item-navigator/icons/ellipses.svg +7 -0
- package/dist/src/elements/ia-item-navigator/icons.d.ts +13 -0
- package/dist/src/elements/ia-item-navigator/icons.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/icons.js +16 -0
- package/dist/src/elements/ia-item-navigator/icons.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/interfaces/event-interfaces.d.ts +41 -0
- package/dist/src/elements/ia-item-navigator/interfaces/event-interfaces.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/interfaces/event-interfaces.js +2 -0
- package/dist/src/elements/ia-item-navigator/interfaces/event-interfaces.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/interfaces/menu-interfaces.d.ts +23 -0
- package/dist/src/elements/ia-item-navigator/interfaces/menu-interfaces.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/interfaces/menu-interfaces.js +2 -0
- package/dist/src/elements/ia-item-navigator/interfaces/menu-interfaces.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.d.ts +47 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.js +352 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.d.ts +22 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.js +137 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.d.ts +40 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.js +217 -0
- package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/email.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/facebook.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/link.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/list.svg +3 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/pinterest.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/share.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/sort-asc.svg +22 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/sort-desc.svg +21 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/sort-neutral.svg +13 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/tumblr.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/twitter.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/icons/viewable-files.svg +6 -0
- package/dist/src/elements/ia-item-navigator/menus/models.d.ts +17 -0
- package/dist/src/elements/ia-item-navigator/menus/models.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/models.js +2 -0
- package/dist/src/elements/ia-item-navigator/menus/models.js.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/share-icons.d.ts +16 -0
- package/dist/src/elements/ia-item-navigator/menus/share-icons.d.ts.map +1 -0
- package/dist/src/elements/ia-item-navigator/menus/share-icons.js +23 -0
- package/dist/src/elements/ia-item-navigator/menus/share-icons.js.map +1 -0
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts +12 -3
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +26 -9
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts +51 -5
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +156 -16
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
- package/dist/src/elements/ia-status-indicator/icons/audio.svg +5 -0
- package/dist/src/elements/ia-status-indicator/icons/collection.svg +5 -0
- package/dist/src/elements/ia-status-indicator/icons/etree.svg +5 -0
- package/dist/src/elements/ia-status-indicator/icons/images.svg +6 -0
- package/dist/src/elements/ia-status-indicator/icons/search.svg +10 -0
- package/dist/src/elements/ia-status-indicator/icons/software.svg +6 -0
- package/dist/src/elements/ia-status-indicator/icons/texts.svg +6 -0
- package/dist/src/elements/ia-status-indicator/icons/tv.svg +5 -0
- package/dist/src/elements/ia-status-indicator/icons/video.svg +6 -0
- package/dist/src/elements/ia-status-indicator/icons/web.svg +6 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts +6 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +20 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
- package/dist/src/elements/index.d.ts +4 -0
- package/dist/src/elements/index.d.ts.map +1 -1
- package/dist/src/elements/index.js +4 -0
- package/dist/src/elements/index.js.map +1 -1
- package/dist/src/util/masked-icon.d.ts +24 -0
- package/dist/src/util/masked-icon.d.ts.map +1 -0
- package/dist/src/util/masked-icon.js +30 -0
- package/dist/src/util/masked-icon.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-itemnav-sort-files-button.js","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n html,\n LitElement,\n type CSSResultGroup,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport themeStyles from '@src/themes/theme-styles';\nimport { maskedIcon } from '@src/util/masked-icon';\nimport sortAscUrl from './icons/sort-asc.svg';\nimport sortDescUrl from './icons/sort-desc.svg';\nimport sortNeutralUrl from './icons/sort-neutral.svg';\nimport type { FileSortOption, ViewableFileInfo } from './models';\n\nconst sortAscIcon = maskedIcon(sortAscUrl);\n\nconst sortDescIcon = maskedIcon(sortDescUrl);\n\nconst sortNeutralIcon = maskedIcon(sortNeutralUrl);\n\n/**\n * A tri-state sort toggle for the viewable-files panel header. Cycles\n * default → title ascending → title descending → default, sorting the supplied\n * file list and emitting `fileListSorted` on each change.\n */\n@customElement('ia-itemnav-sort-files-button')\nexport class IAItemNavSortFilesButton extends LitElement {\n @property({ type: Array }) fileListRaw: ViewableFileInfo[] = [];\n\n @property({ type: Array }) fileListSorted: ViewableFileInfo[] = [];\n\n @property({ type: String, reflect: true }) sortOrderBy: FileSortOption =\n 'default';\n\n render(): TemplateResult {\n return html`<div class=\"sort-multi-file-list\">${this.sortButton}</div>`;\n }\n\n get sortButton(): TemplateResult {\n const sortIcons: Record<FileSortOption, TemplateResult> = {\n default: html`\n <button\n class=\"sort-by neutral-icon\"\n aria-label=\"Sort volumes in initial order\"\n @click=${() => this.sortVolumes('title_asc')}\n >\n ${sortNeutralIcon}\n </button>\n `,\n title_asc: html`\n <button\n class=\"sort-by asc-icon\"\n aria-label=\"Sort volumes in ascending order\"\n @click=${() => this.sortVolumes('title_desc')}\n >\n ${sortAscIcon}\n </button>\n `,\n title_desc: html`\n <button\n class=\"sort-by desc-icon\"\n aria-label=\"Sort volumes in descending order\"\n @click=${() => this.sortVolumes('default')}\n >\n ${sortDescIcon}\n </button>\n `,\n };\n\n return sortIcons[this.sortOrderBy];\n }\n\n sortVolumes(sortType: FileSortOption): void {\n this.sortOrderBy = sortType;\n\n const sortedFiles = [...this.fileListRaw].sort((a, b) => {\n if (sortType === 'title_asc') return a.title.localeCompare(b.title);\n if (sortType === 'title_desc') return b.title.localeCompare(a.title);\n return (a.orig_sort ?? 0) - (b.orig_sort ?? 0);\n });\n\n this.dispatchEvent(\n new CustomEvent('fileListSorted', {\n detail: {\n sortType,\n sortedFiles,\n },\n bubbles: true,\n composed: true,\n }),\n );\n this.fileListSorted = sortedFiles;\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n css`\n :host {\n /* Every glyph is square, so one knob sizes both axes. Matches the\n panel header's close button, which sits beside this one. */\n --item-navigator-header-icon-size--: var(\n --item-navigator-header-icon-size,\n 2em\n );\n --item-navigator-icon-color--: var(\n --item-navigator-icon-color,\n var(--item-navigator-text-color, var(--true-white))\n );\n\n /* 10px base (petabox scale); internal sizing is em against it. */\n --item-navigator-base-font-size--: var(\n --item-navigator-base-font-size,\n 10px\n );\n font-size: var(--item-navigator-base-font-size--);\n }\n\n button.sort-by {\n padding: 0;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n display: inline-flex;\n /* Buttons don't inherit font-size, and the UA default would make the\n em-sized glyph larger than the close button beside it. */\n font: inherit;\n }\n\n /* The glyph is a masked span: the mask supplies the shape, this\n supplies the paint. */\n button.sort-by .ia-icon {\n width: var(--item-navigator-header-icon-size--);\n height: var(--item-navigator-header-icon-size--);\n background-color: var(--item-navigator-icon-color--);\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ia-itemnav-sort-files-button': IAItemNavSortFilesButton;\n }\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { LitElement, nothing, type PropertyValues, TemplateResult, type CSSResultGroup } from 'lit';
|
|
2
|
+
import type { FileSortOption, ViewableFileInfo } from './models.js';
|
|
3
|
+
/** Icon for the viewable-files menu shortcut / menu entry. */
|
|
4
|
+
export declare const viewableFilesIcon: TemplateResult;
|
|
5
|
+
/**
|
|
6
|
+
* The "viewable files" side panel: a scrollable list of the item's viewable
|
|
7
|
+
* files/volumes, linking each to its page on the host and highlighting the one
|
|
8
|
+
* matching the current `subPrefix`. Populated by the host via `fileList`
|
|
9
|
+
* (typically re-ordered by an `ia-itemnav-sort-files-button`).
|
|
10
|
+
*/
|
|
11
|
+
export declare class IAItemNavViewableFilesPanel extends LitElement {
|
|
12
|
+
baseHost: string;
|
|
13
|
+
sortOrderBy: FileSortOption;
|
|
14
|
+
subPrefix: string;
|
|
15
|
+
fileList: ViewableFileInfo[];
|
|
16
|
+
addSortToUrl: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Keeps the active file in view whenever the list or the selection changes.
|
|
19
|
+
*
|
|
20
|
+
* Both are needed: hosts commonly build this panel once and hand it a
|
|
21
|
+
* `fileList` afterwards, and the selection can move while the panel stays
|
|
22
|
+
* open. Reacting to the change means there is nothing to wait on — the row
|
|
23
|
+
* exists by the time the update completes.
|
|
24
|
+
*/
|
|
25
|
+
protected updated(changed: PropertyValues): void;
|
|
26
|
+
connectedCallback(): void;
|
|
27
|
+
private revealActiveFile;
|
|
28
|
+
fileUrl(item: ViewableFileInfo): string;
|
|
29
|
+
get pdfLabel(): TemplateResult;
|
|
30
|
+
fileLi(item: ViewableFileInfo): TemplateResult;
|
|
31
|
+
get fileListTemplate(): TemplateResult;
|
|
32
|
+
render(): TemplateResult | typeof nothing;
|
|
33
|
+
static get styles(): CSSResultGroup;
|
|
34
|
+
}
|
|
35
|
+
declare global {
|
|
36
|
+
interface HTMLElementTagNameMap {
|
|
37
|
+
'ia-itemnav-viewable-files-panel': IAItemNavViewableFilesPanel;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ia-itemnav-viewable-files-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-itemnav-viewable-files-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,OAAO,EACP,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjE,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,gBAA+B,CAAC;AAE9D;;;;;GAKG;AACH,qBACa,2BAA4B,SAAQ,UAAU;IAC7B,QAAQ,EAAE,MAAM,CAAiB;IAEjC,WAAW,EAAE,cAAc,CAAa;IAExC,SAAS,EAAE,MAAM,CAAM;IAExB,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAEjB,YAAY,UAAS;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAMhD,iBAAiB,IAAI,IAAI;YAOX,gBAAgB;IAS9B,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM;IAQvC,IAAI,QAAQ,IAAI,cAAc,CAI7B;IAED,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc;IAmB9C,IAAI,gBAAgB,IAAI,cAAc,CAYrC;IAED,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;IAIzC,MAAM,KAAK,MAAM,IAAI,cAAc,CAuGlC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iCAAiC,EAAE,2BAA2B,CAAC;KAChE;CACF"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement, nothing, } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
5
|
+
import themeStyles from '../../../themes/theme-styles.js';
|
|
6
|
+
import { maskedIcon } from '../../../util/masked-icon.js';
|
|
7
|
+
import viewableFilesUrl from './icons/viewable-files.svg';
|
|
8
|
+
/** Icon for the viewable-files menu shortcut / menu entry. */
|
|
9
|
+
export const viewableFilesIcon = maskedIcon(viewableFilesUrl);
|
|
10
|
+
/**
|
|
11
|
+
* The "viewable files" side panel: a scrollable list of the item's viewable
|
|
12
|
+
* files/volumes, linking each to its page on the host and highlighting the one
|
|
13
|
+
* matching the current `subPrefix`. Populated by the host via `fileList`
|
|
14
|
+
* (typically re-ordered by an `ia-itemnav-sort-files-button`).
|
|
15
|
+
*/
|
|
16
|
+
let IAItemNavViewableFilesPanel = class IAItemNavViewableFilesPanel extends LitElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.baseHost = 'archive.org';
|
|
20
|
+
this.sortOrderBy = 'default';
|
|
21
|
+
this.subPrefix = '';
|
|
22
|
+
this.fileList = [];
|
|
23
|
+
this.addSortToUrl = false;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Keeps the active file in view whenever the list or the selection changes.
|
|
27
|
+
*
|
|
28
|
+
* Both are needed: hosts commonly build this panel once and hand it a
|
|
29
|
+
* `fileList` afterwards, and the selection can move while the panel stays
|
|
30
|
+
* open. Reacting to the change means there is nothing to wait on — the row
|
|
31
|
+
* exists by the time the update completes.
|
|
32
|
+
*/
|
|
33
|
+
updated(changed) {
|
|
34
|
+
if (changed.has('fileList') || changed.has('subPrefix')) {
|
|
35
|
+
this.revealActiveFile();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
connectedCallback() {
|
|
39
|
+
super.connectedCallback();
|
|
40
|
+
// Hosts reuse this element across opens, and the scroll container it sits
|
|
41
|
+
// in may have been reset while it was away.
|
|
42
|
+
this.revealActiveFile();
|
|
43
|
+
}
|
|
44
|
+
async revealActiveFile() {
|
|
45
|
+
await this.updateComplete;
|
|
46
|
+
// `nearest` leaves an already-visible row alone, which is what the
|
|
47
|
+
// Chrome-only `scrollIntoViewIfNeeded` used to buy us.
|
|
48
|
+
this.shadowRoot
|
|
49
|
+
?.querySelector('.content.active')
|
|
50
|
+
?.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
|
51
|
+
}
|
|
52
|
+
fileUrl(item) {
|
|
53
|
+
const baseUrl = `//${this.baseHost}${item.url_path}`;
|
|
54
|
+
if (this.addSortToUrl && this.sortOrderBy !== 'default') {
|
|
55
|
+
return `${baseUrl}?sort=${this.sortOrderBy}`;
|
|
56
|
+
}
|
|
57
|
+
return baseUrl;
|
|
58
|
+
}
|
|
59
|
+
get pdfLabel() {
|
|
60
|
+
return html `<span class="pdf-label"
|
|
61
|
+
><span class="sr-only">view this</span> PDF</span
|
|
62
|
+
>`;
|
|
63
|
+
}
|
|
64
|
+
fileLi(item) {
|
|
65
|
+
const activeClass = this.subPrefix === item.file_subprefix ? ' active' : '';
|
|
66
|
+
const hrefUrl = this.fileUrl(item);
|
|
67
|
+
const isPdf = (item.file_source ?? '').match(/^[^+]+\.pdf$/i);
|
|
68
|
+
return html `
|
|
69
|
+
<li>
|
|
70
|
+
<div class="separator"></div>
|
|
71
|
+
<div class="content${activeClass}">
|
|
72
|
+
<a href=${hrefUrl}>
|
|
73
|
+
<p class="item-title">
|
|
74
|
+
${item.title}${isPdf ? this.pdfLabel : nothing}
|
|
75
|
+
</p>
|
|
76
|
+
</a>
|
|
77
|
+
</div>
|
|
78
|
+
</li>
|
|
79
|
+
`;
|
|
80
|
+
}
|
|
81
|
+
get fileListTemplate() {
|
|
82
|
+
const filesDisplay = repeat(this.fileList, (file) => file?.file_prefix, this.fileLi.bind(this));
|
|
83
|
+
return html `
|
|
84
|
+
<ul>
|
|
85
|
+
${filesDisplay}
|
|
86
|
+
<div class="separator"></div>
|
|
87
|
+
</ul>
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
render() {
|
|
91
|
+
return this.fileList.length ? this.fileListTemplate : nothing;
|
|
92
|
+
}
|
|
93
|
+
static get styles() {
|
|
94
|
+
return [
|
|
95
|
+
themeStyles,
|
|
96
|
+
css `
|
|
97
|
+
:host {
|
|
98
|
+
--item-navigator-text-color--: var(
|
|
99
|
+
--item-navigator-text-color,
|
|
100
|
+
var(--true-white)
|
|
101
|
+
);
|
|
102
|
+
--item-navigator-border-color--: var(
|
|
103
|
+
--item-navigator-border-color,
|
|
104
|
+
#4b4b4b
|
|
105
|
+
);
|
|
106
|
+
--item-navigator-active-file-border-color--: var(
|
|
107
|
+
--item-navigator-active-file-border-color,
|
|
108
|
+
#538bc5
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
display: block;
|
|
112
|
+
overflow-y: auto;
|
|
113
|
+
box-sizing: border-box;
|
|
114
|
+
color: var(--item-navigator-text-color--);
|
|
115
|
+
margin-top: 14px;
|
|
116
|
+
margin-bottom: 2em;
|
|
117
|
+
--active-border-width--: 2px;
|
|
118
|
+
/* 10px base (petabox scale); internal sizing is em against it. */
|
|
119
|
+
--item-navigator-base-font-size--: var(
|
|
120
|
+
--item-navigator-base-font-size,
|
|
121
|
+
10px
|
|
122
|
+
);
|
|
123
|
+
font-size: var(--item-navigator-base-font-size--);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
a {
|
|
127
|
+
color: var(--item-navigator-text-color--);
|
|
128
|
+
text-decoration: none;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
ul {
|
|
132
|
+
padding: 0;
|
|
133
|
+
list-style: none;
|
|
134
|
+
margin: var(--active-border-width--) 0.5em 1em 0;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
ul > li:first-child .separator {
|
|
138
|
+
display: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
li {
|
|
142
|
+
cursor: pointer;
|
|
143
|
+
position: relative;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
li .content {
|
|
147
|
+
border: var(--active-border-width--) solid transparent;
|
|
148
|
+
padding: 0.2em 0 0.4em 0.2em;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
li .content.active {
|
|
152
|
+
border: var(--active-border-width--) solid
|
|
153
|
+
var(--item-navigator-active-file-border-color--);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
li.content a {
|
|
157
|
+
display: flex;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.item-title {
|
|
161
|
+
margin-block-start: 0em;
|
|
162
|
+
margin-block-end: 0em;
|
|
163
|
+
font-size: 14px;
|
|
164
|
+
font-weight: bold;
|
|
165
|
+
word-wrap: break-word;
|
|
166
|
+
padding-left: 5px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.separator {
|
|
170
|
+
background-color: var(--item-navigator-border-color--);
|
|
171
|
+
width: 98%;
|
|
172
|
+
margin: 1px auto;
|
|
173
|
+
height: 1px;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.pdf-label {
|
|
177
|
+
border: 1px solid;
|
|
178
|
+
padding: 2px 5px;
|
|
179
|
+
border-radius: 20px;
|
|
180
|
+
display: inline-block;
|
|
181
|
+
margin-left: 5px;
|
|
182
|
+
font-size: 0.9em;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.pdf-label .sr-only {
|
|
186
|
+
position: absolute;
|
|
187
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
188
|
+
padding: 0;
|
|
189
|
+
border: 0;
|
|
190
|
+
height: 1px;
|
|
191
|
+
width: 1px;
|
|
192
|
+
overflow: hidden;
|
|
193
|
+
}
|
|
194
|
+
`,
|
|
195
|
+
];
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
__decorate([
|
|
199
|
+
property({ type: String })
|
|
200
|
+
], IAItemNavViewableFilesPanel.prototype, "baseHost", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
property({ type: String })
|
|
203
|
+
], IAItemNavViewableFilesPanel.prototype, "sortOrderBy", void 0);
|
|
204
|
+
__decorate([
|
|
205
|
+
property({ type: String })
|
|
206
|
+
], IAItemNavViewableFilesPanel.prototype, "subPrefix", void 0);
|
|
207
|
+
__decorate([
|
|
208
|
+
property({ type: Array })
|
|
209
|
+
], IAItemNavViewableFilesPanel.prototype, "fileList", void 0);
|
|
210
|
+
__decorate([
|
|
211
|
+
property({ type: Boolean, reflect: true })
|
|
212
|
+
], IAItemNavViewableFilesPanel.prototype, "addSortToUrl", void 0);
|
|
213
|
+
IAItemNavViewableFilesPanel = __decorate([
|
|
214
|
+
customElement('ia-itemnav-viewable-files-panel')
|
|
215
|
+
], IAItemNavViewableFilesPanel);
|
|
216
|
+
export { IAItemNavViewableFilesPanel };
|
|
217
|
+
//# sourceMappingURL=ia-itemnav-viewable-files-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-itemnav-viewable-files-panel.js","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,EACV,OAAO,GAIR,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAG1D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAE9D;;;;;GAKG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,UAAU;IAApD;;QACuB,aAAQ,GAAW,aAAa,CAAC;QAEjC,gBAAW,GAAmB,SAAS,CAAC;QAExC,cAAS,GAAW,EAAE,CAAC;QAExB,aAAQ,GAAuB,EAAE,CAAC;QAEjB,iBAAY,GAAG,KAAK,CAAC;IA2LnE,CAAC;IAzLC;;;;;;;OAOG;IACO,OAAO,CAAC,OAAuB;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,mEAAmE;QACnE,uDAAuD;QACvD,IAAI,CAAC,UAAU;YACb,EAAE,aAAa,CAAc,iBAAiB,CAAC;YAC/C,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,IAAsB;QAC5B,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACxD,OAAO,GAAG,OAAO,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAA;;MAET,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAsB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAA;;;6BAGc,WAAW;oBACpB,OAAO;;gBAEX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;;;;;KAKvD,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB;QAClB,MAAM,YAAY,GAAG,MAAM,CACzB,IAAI,CAAC,QAAQ,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;QACF,OAAO,IAAI,CAAA;;UAEL,YAAY;;;KAGjB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,WAAW;YACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkGF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAnM6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6DAAkC;AAEjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gEAAyC;AAExC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAAwB;AAExB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6DAAmC;AAEjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iEAAsB;AATtD,2BAA2B;IADvC,aAAa,CAAC,iCAAiC,CAAC;GACpC,2BAA2B,CAoMvC","sourcesContent":["import {\n css,\n html,\n LitElement,\n nothing,\n type PropertyValues,\n TemplateResult,\n type CSSResultGroup,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport themeStyles from '@src/themes/theme-styles';\nimport { maskedIcon } from '@src/util/masked-icon';\nimport viewableFilesUrl from './icons/viewable-files.svg';\nimport type { FileSortOption, ViewableFileInfo } from './models';\n\n/** Icon for the viewable-files menu shortcut / menu entry. */\nexport const viewableFilesIcon = maskedIcon(viewableFilesUrl);\n\n/**\n * The \"viewable files\" side panel: a scrollable list of the item's viewable\n * files/volumes, linking each to its page on the host and highlighting the one\n * matching the current `subPrefix`. Populated by the host via `fileList`\n * (typically re-ordered by an `ia-itemnav-sort-files-button`).\n */\n@customElement('ia-itemnav-viewable-files-panel')\nexport class IAItemNavViewableFilesPanel extends LitElement {\n @property({ type: String }) baseHost: string = 'archive.org';\n\n @property({ type: String }) sortOrderBy: FileSortOption = 'default';\n\n @property({ type: String }) subPrefix: string = '';\n\n @property({ type: Array }) fileList: ViewableFileInfo[] = [];\n\n @property({ type: Boolean, reflect: true }) addSortToUrl = false;\n\n /**\n * Keeps the active file in view whenever the list or the selection changes.\n *\n * Both are needed: hosts commonly build this panel once and hand it a\n * `fileList` afterwards, and the selection can move while the panel stays\n * open. Reacting to the change means there is nothing to wait on — the row\n * exists by the time the update completes.\n */\n protected updated(changed: PropertyValues): void {\n if (changed.has('fileList') || changed.has('subPrefix')) {\n this.revealActiveFile();\n }\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n // Hosts reuse this element across opens, and the scroll container it sits\n // in may have been reset while it was away.\n this.revealActiveFile();\n }\n\n private async revealActiveFile(): Promise<void> {\n await this.updateComplete;\n // `nearest` leaves an already-visible row alone, which is what the\n // Chrome-only `scrollIntoViewIfNeeded` used to buy us.\n this.shadowRoot\n ?.querySelector<HTMLElement>('.content.active')\n ?.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n\n fileUrl(item: ViewableFileInfo): string {\n const baseUrl = `//${this.baseHost}${item.url_path}`;\n if (this.addSortToUrl && this.sortOrderBy !== 'default') {\n return `${baseUrl}?sort=${this.sortOrderBy}`;\n }\n return baseUrl;\n }\n\n get pdfLabel(): TemplateResult {\n return html`<span class=\"pdf-label\"\n ><span class=\"sr-only\">view this</span> PDF</span\n >`;\n }\n\n fileLi(item: ViewableFileInfo): TemplateResult {\n const activeClass = this.subPrefix === item.file_subprefix ? ' active' : '';\n const hrefUrl = this.fileUrl(item);\n const isPdf = (item.file_source ?? '').match(/^[^+]+\\.pdf$/i);\n\n return html`\n <li>\n <div class=\"separator\"></div>\n <div class=\"content${activeClass}\">\n <a href=${hrefUrl}>\n <p class=\"item-title\">\n ${item.title}${isPdf ? this.pdfLabel : nothing}\n </p>\n </a>\n </div>\n </li>\n `;\n }\n\n get fileListTemplate(): TemplateResult {\n const filesDisplay = repeat(\n this.fileList,\n (file) => file?.file_prefix,\n this.fileLi.bind(this),\n );\n return html`\n <ul>\n ${filesDisplay}\n <div class=\"separator\"></div>\n </ul>\n `;\n }\n\n render(): TemplateResult | typeof nothing {\n return this.fileList.length ? this.fileListTemplate : nothing;\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n css`\n :host {\n --item-navigator-text-color--: var(\n --item-navigator-text-color,\n var(--true-white)\n );\n --item-navigator-border-color--: var(\n --item-navigator-border-color,\n #4b4b4b\n );\n --item-navigator-active-file-border-color--: var(\n --item-navigator-active-file-border-color,\n #538bc5\n );\n\n display: block;\n overflow-y: auto;\n box-sizing: border-box;\n color: var(--item-navigator-text-color--);\n margin-top: 14px;\n margin-bottom: 2em;\n --active-border-width--: 2px;\n /* 10px base (petabox scale); internal sizing is em against it. */\n --item-navigator-base-font-size--: var(\n --item-navigator-base-font-size,\n 10px\n );\n font-size: var(--item-navigator-base-font-size--);\n }\n\n a {\n color: var(--item-navigator-text-color--);\n text-decoration: none;\n }\n\n ul {\n padding: 0;\n list-style: none;\n margin: var(--active-border-width--) 0.5em 1em 0;\n }\n\n ul > li:first-child .separator {\n display: none;\n }\n\n li {\n cursor: pointer;\n position: relative;\n }\n\n li .content {\n border: var(--active-border-width--) solid transparent;\n padding: 0.2em 0 0.4em 0.2em;\n }\n\n li .content.active {\n border: var(--active-border-width--) solid\n var(--item-navigator-active-file-border-color--);\n }\n\n li.content a {\n display: flex;\n }\n\n .item-title {\n margin-block-start: 0em;\n margin-block-end: 0em;\n font-size: 14px;\n font-weight: bold;\n word-wrap: break-word;\n padding-left: 5px;\n }\n\n .separator {\n background-color: var(--item-navigator-border-color--);\n width: 98%;\n margin: 1px auto;\n height: 1px;\n }\n\n .pdf-label {\n border: 1px solid;\n padding: 2px 5px;\n border-radius: 20px;\n display: inline-block;\n margin-left: 5px;\n font-size: 0.9em;\n }\n\n .pdf-label .sr-only {\n position: absolute;\n clip: rect(1px, 1px, 1px, 1px);\n padding: 0;\n border: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ia-itemnav-viewable-files-panel': IAItemNavViewableFilesPanel;\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m32 7.04156803v19.91686397c0 .5752421-.4763773 1.041568-1.0640184 1.041568h-27.87196316c-.58764116 0-1.06401844-.4663259-1.06401844-1.041568v-19.91686397c0-.57524214.47637728-1.04156803 1.06401844-1.04156803h27.87196316c.5876411 0 1.0640184.46632589 1.0640184 1.04156803zm-26.25039901 1.19676167 10.04327011 10.1323738c.5135662.4194048.8817166.6291071 1.1044511.6291071.1198794 0 .2695514-.0503424.4490158-.1510273.1794644-.100685.3291364-.2013699.4490158-.3020548l.1798191-.1510273 10.1198794-10.15841306zm16.77212271 9.7303286 6.8831353 6.7889404v-13.5778809zm-17.92871075-6.6379131v13.350819l6.78098955-6.6629107zm22.09008685 14.2059464-5.9074304-5.8588202-.9757049.9551179-.3594018.3295984c-.0342324.0304241-.0665646.0587822-.0969964.0850743l-.1597867.1329606c-.0684912.0540844-.1198794.0895749-.1541644.1064714-.6674943.3687151-1.3523675.5530727-2.0546196.5530727-.65047 0-1.3782586-.218035-2.1833659-.6541048l-.6682036-.4520405-1.0278418-1.0311524-5.95850326 5.832781z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m30.91057 19.2442068.2670004-5.3339402h-5.7329237c-.0890001-3.4962895.25183-5.42243459 1.0224903-5.77843514.3560005-.17800028.8004955-.28925046 1.333485-.33375053s1.0442346-.0520853 1.5337353-.02275571c.4895008.02932959 1.045246.01466479 1.6672356-.04399439.0890001-1.59997977.1335002-3.24445961.1335002-4.93343953-2.1633102-.20732987-3.6742898-.28115953-4.5329389-.22148898-2.8146294.17800028-4.7847688 1.25965538-5.9104183 3.2449653-.1780003.3256596-.3261653.68873971-.444495 1.08924034-.1183298.40050062-.2144095.76358074-.2882391 1.08924034-.0738297.32565959-.125915.7848194-.1562559 1.37747942-.030341.59266002-.052591 1.04474028-.0667501 1.35624078-.0141592.3115005-.0217444.8449956-.0227558 1.6004854v1.5777298h-3.8229605v5.3339401h3.8669549v14.622824h5.8224296c0-.3560006-.0146648-1.6819003-.0439944-3.9776994-.0293296-2.295799-.0515796-4.2957737-.0667501-5.9999241s-.0075853-3.2525506.0227557-4.6452005h5.4219289z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m7.80511706 12.3659763c1.2669254-2.2579539 4.09819784-2.9949938 6.41200864-1.7733458l.2295791.12871 1.6067188.9559859 3.5467013-6.31849361c1.2682451-2.26030597 4.104098-2.99652769 6.4192376-1.76952182l.2223501.12488594 3.2168204 1.91103915c2.2770002 1.3527136 3.1866331 4.21502324 2.0564431 6.51290984l-.1198433.2278304-5.2002499 9.2680474c-1.2669254 2.2579539-4.0981978 2.9949938-6.4120086 1.7733458l-.2295791-.12871-1.6096554-.9558482-3.5437647 6.3183559c-1.2682451 2.260306-4.104098 2.9965277-6.41923761 1.7695218l-.22235013-.1248859-3.21682032-1.9110392c-2.27700024-1.3527136-3.18663314-4.2150232-2.05644312-6.5129098l.11984332-.2278304zm13.93955474-5.73311741-3.563271 6.35055051c1.889633 1.4530595 2.5776248 4.0429866 1.5410255 6.156875l-.1223014.2328355-.4183304.7430134 1.6096554.9558483c1.1431442.6791157 2.5155496.3977368 3.1667361-.5628389l.0921501-.1491451 5.2002498-9.2680474c.5752467-1.0252226.2110342-2.4011579-.8559335-3.14755806l-.1742742-.11247814-3.2168203-1.91103915c-1.1402863-.67741793-2.5086889-.39913772-3.1618387.55564729zm-11.79500786 7.00714351-5.20024982 9.2680474c-.57524673 1.0252226-.21103426 2.4011579.85593348 3.1475581l.17427416.1124781 3.21682032 1.9110392c1.14028632.6774179 2.50868892.3991377 3.16183872-.5556473l.0970474-.1563368 3.5622708-6.3513198c-1.8888875-1.4532134-2.5764504-4.042623-1.5400057-6.1561456l.1222818-.2327956.4153938-.7428758-1.6067188-.9559859c-1.1431442-.6791157-2.5155496-.3977368-3.1667361.5628389zm6.97653866 1.5796652-.3817806.6812386c-.5117123.9119895-.2800268 2.1014993.528439 2.8785267l.382717-.6803391c.5119098-.9123415.2798478-2.1024176-.5293754-2.8794262z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m11.9051049 30.5873434.653491-1.0742755.4207845-.839975c.2805229-.591861.5371377-1.2533214.7698443-1.9843813.2327065-.7310599.4659444-1.6029125.6997135-2.6155579.2337692-1.0126455.4128151-1.752206.5371377-2.2186817.0308151.030815.0775689.0855382.1402615.1641697.0626927.0786314.1094465.1333547.1402615.1641697.1243227.1870153.2178304.311338.280523.372968 1.1210293.964829 2.3817888 1.4631823 3.7822785 1.4950599 1.4939973 0 2.8790795-.3426843 4.1552465-1.0280529 2.1166733-1.1826593 3.6733633-3.1128487 4.6700699-5.7905679.4048457-1.1518444.6848374-2.5996192.8399751-4.3433245.1243226-1.587505-.0781002-3.0974411-.6072685-4.5298084-.903199-2.36638128-2.5528653-4.20306294-4.948999-5.51004497-1.276167-.65349101-2.5990879-1.05833667-3.9687625-1.21453696-1.525875-.21783034-3.1293188-.17107651-4.8103315.14026149-2.7701643.52916833-5.02709913 1.743174-6.77080442 3.64201699-1.99235065 2.14748836-2.98852598 4.62225355-2.98852598 7.42429545 0 2.9571797.9494215 5.0584455 2.84826449 6.3037975l.83997504.4207845c.12432268 0 .22526845.0154075.3028373.0462225s.1551377.0074381.23270656-.0701308c.07756885-.0775688.13229208-.1243226.16416969-.1402614s.07066204-.0860696.11635328-.2103923c.04569124-.1243226.07703756-.2098609.09403895-.2566147.01700139-.0467539.04834771-.1476996.09403895-.3028373s.06906816-.2486454.07013074-.280523l.14026149-.5132295c.06269263-.311338.09403895-.5291684.09403895-.653491-.03081502-.1243227-.12432268-.2799917-.28052297-.467007-.15620029-.1870154-.23376915-.2959305-.23270656-.3267455-.62267599-.8096914-.9494215-1.7904592-.98023652-2.9423035-.03081502-1.55669.28052297-2.9731185.93401399-4.24928547 1.18265932-2.45882635 3.17501002-3.93741618 5.97705192-4.43576949 1.6183201-.311338 3.1356943-.25661476 4.5521228.16416969 1.4164285.42078446 2.5135496 1.09765239 3.2913633 2.03060379.8405063 1.02752164 1.3229208 2.28828114 1.4472435 3.78227848.1243227 1.4004897-.0313463 2.9725872-.467007 4.7162925-.3740306 1.3696746-.9186065 2.5528653-1.6337275 3.5495719-.9967066 1.245352-2.0863896 1.8834355-3.269049 1.9142505-1.7118277.0626926-2.7547568-.6375522-3.1287874-2.1007345-.0935077-.4664757 0-1.2134744.2805229-2.240996.7469987-2.5842117 1.1359055-3.9384788 1.1667206-4.0628015.1870153-1.0275216.2024228-1.7904591.0462225-2.2888124-.1870153-.65349104-.5759222-1.15928246-1.1667205-1.51737429-.5907984-.35809182-1.2756357-.39687625-2.054512-.11635327-1.1826594.43566067-1.9610044 1.40048968-2.335035 2.89448706-.311338 1.306982-.2491767 2.6299028.186484 3.9687625 0 .0626926.0313463.1402615.094039.2327065.0626926.0924451.0940389.1700139.0940389.2327066 0 .0935076-.0313463.2491766-.0940389.467007-.0626927.2178303-.094039.3580918-.094039.4207844-.0935076.4356607-.3038999 1.3308903-.6311767 2.6856887-.3272768 1.3547985-.5838915 2.3897582-.7698443 3.1048793-.7778136 3.2068876-1.12049796 5.5881451-1.02805289 7.1437725l.37296809 2.7558194c.653491-.591861 1.2294131-1.2299445 1.7277664-1.9142505z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="M70.6784759,10 L70.6784759,21.3240186 C64.5020053,21.66334 58.9104278,22.5826126 53.9037433,24.0818363 C48.8970588,25.5810601 44.8495989,27.4085163 41.7613636,29.5642049 C38.6731283,31.7198935 35.9982175,34.0552229 33.736631,36.5701929 C31.4750446,39.085163 29.8217469,41.5657574 28.776738,44.011976 C27.7317291,46.4581947 26.9173351,48.6848525 26.3335561,50.6919494 C25.7497772,52.6990464 25.4088681,54.3324462 25.3108289,55.592149 L25.2372995,57.4085163 C29.0296346,54.1661122 33.1751337,51.5524507 37.6737968,49.5675316 C42.1724599,47.5826126 46.2934492,46.3118208 50.0367647,45.7551564 C53.7800802,45.1984919 57.2571301,44.8713684 60.4679144,44.7737858 C63.6786988,44.6762031 66.1831551,44.7726769 67.9812834,45.0632069 L70.6784759,45.499002 L70.6784759,57.4051896 L100,33.3765802 L70.6784759,10 Z M76.4438503,62.4883566 L82.8609626,57.1157685 C82.9099822,57.0669772 82.9946524,57.0303837 83.1149733,57.005988 C83.2352941,56.9815924 83.4536542,56.9571967 83.7700535,56.9328011 C84.0864528,56.9084054 84.3905971,56.9449989 84.6824866,57.0425815 C84.9743761,57.1401641 85.217246,57.2854291 85.4110963,57.4783766 C85.6049465,57.671324 85.7263815,57.8409847 85.7754011,57.9873586 L85.8489305,58.2035928 L85.8489305,90 L0,90 L0,17.910845 L43.1784759,17.910845 C43.2765152,17.9596363 43.410205,18.0317143 43.5795455,18.1270792 C43.7488859,18.222444 43.9438503,18.4519849 44.1644385,18.8157019 C44.3850267,19.1794189 44.469697,19.5542249 44.4184492,19.9401198 C44.4184492,20.2794411 44.3092692,20.582169 44.0909091,20.8483034 C43.872549,21.1144378 43.6664439,21.3206919 43.4725936,21.4670659 L43.1818182,21.6134398 C40.557041,23.06609 38.2954545,24.396762 36.3970588,25.6054558 L30.7820856,29.8170326 L11.5274064,29.8170326 L11.5274064,78.1669993 L74.1811497,78.1669993 L74.1811497,65.5355955 C74.1811497,65.1009093 74.3995098,64.6407186 74.8362299,64.1550233 L76.4438503,62.4883566 Z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<svg viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g fill="none" fill-rule="evenodd">
|
|
3
|
+
<path
|
|
4
|
+
d="m2.32514544 8.30769231.7756949-2.08468003h2.92824822l.75630252 2.08468003h1.01809955l-2.70523594-6.92307693h-1.01809955l-2.69553976 6.92307693zm3.41305753-2.86037492h-2.34647705l1.17323853-3.22883h.01939237z"
|
|
5
|
+
fill="#000"
|
|
6
|
+
fill-rule="nonzero"
|
|
7
|
+
/>
|
|
8
|
+
<path
|
|
9
|
+
d="m7.1689722 16.6153846v-.7756949h-4.4117647l4.29541047-5.3716871v-.77569491h-5.06140918v.77569491h3.97543633l-4.30510666 5.3716871v.7756949z"
|
|
10
|
+
fill="#000"
|
|
11
|
+
fill-rule="nonzero"
|
|
12
|
+
/>
|
|
13
|
+
<path
|
|
14
|
+
d="m10.3846154 11.0769231 2.7692308 5.5384615 2.7692307-5.5384615m-2.7692307 4.1538461v-13.15384612"
|
|
15
|
+
stroke="#000"
|
|
16
|
+
stroke-linecap="round"
|
|
17
|
+
stroke-linejoin="round"
|
|
18
|
+
stroke-width="1.661538"
|
|
19
|
+
transform="matrix(1 0 0 -1 0 18.692308)"
|
|
20
|
+
/>
|
|
21
|
+
</g>
|
|
22
|
+
</svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g fill="none" fill-rule="evenodd">
|
|
3
|
+
<path
|
|
4
|
+
d="m2.32514544 8.30769231.7756949-2.08468003h2.92824822l.75630252 2.08468003h1.01809955l-2.70523594-6.92307693h-1.01809955l-2.69553976 6.92307693zm3.41305753-2.86037492h-2.34647705l1.17323853-3.22883h.01939237z"
|
|
5
|
+
fill="#000"
|
|
6
|
+
fill-rule="nonzero"
|
|
7
|
+
/>
|
|
8
|
+
<path
|
|
9
|
+
d="m7.1689722 16.6153846v-.7756949h-4.4117647l4.29541047-5.3716871v-.77569491h-5.06140918v.77569491h3.97543633l-4.30510666 5.3716871v.7756949z"
|
|
10
|
+
fill="#000"
|
|
11
|
+
fill-rule="nonzero"
|
|
12
|
+
/>
|
|
13
|
+
<path
|
|
14
|
+
d="m10.3846154 11.0769231 2.7692308 5.5384615 2.7692307-5.5384615m-2.7692307 4.1538461v-13.15384612"
|
|
15
|
+
stroke="#000"
|
|
16
|
+
stroke-linecap="round"
|
|
17
|
+
stroke-linejoin="round"
|
|
18
|
+
stroke-width="1.661538"
|
|
19
|
+
/>
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g fill="#000" fill-rule="evenodd">
|
|
3
|
+
<path
|
|
4
|
+
d="m2.32514544 8.30769231.7756949-2.08468003h2.92824822l.75630252 2.08468003h1.01809955l-2.70523594-6.92307693h-1.01809955l-2.69553976 6.92307693zm3.41305753-2.86037492h-2.34647705l1.17323853-3.22883h.01939237z"
|
|
5
|
+
fill-rule="nonzero"
|
|
6
|
+
/>
|
|
7
|
+
<path
|
|
8
|
+
d="m7.1689722 16.6153846v-.7756949h-4.4117647l4.29541047-5.3716871v-.77569491h-5.06140918v.77569491h3.97543633l-4.30510666 5.3716871v.7756949z"
|
|
9
|
+
fill-rule="nonzero"
|
|
10
|
+
/>
|
|
11
|
+
<circle cx="13" cy="9" r="2" />
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m8.50321407 8.54544475v5.32088575c.15641786.0310693.6819176.0310693 1.57649923 0 .8945816-.0310693 1.3574071.0160703 1.3884764.1414189.0942792 1.5695354.1333837 3.2253149.1173133 4.9673385-.0160703 1.7420236-.0316049 3.3426283-.0466039 4.8018141s.2046288 2.824628.6588835 4.0963267c.4542546 1.2716986 1.1999178 2.2209194 2.2369897 2.8476622 1.2556283.784232 2.9896167 1.207953 5.2019653 1.271163 2.2123485.0632099 4.1659648-.2506972 5.8608487-.9417213-.0310693-.3449764-.0230341-1.4045467.0241055-3.1787109.0471397-1.7741643-.0080351-2.75499-.1655244-2.9424772-3.5472571 1.0360005-5.697467.6904885-6.4506298-1.0365361-.7220934-1.6638147-.8635123-4.9909084-.4242566-9.981281v-.046604h6.7318605v-5.32088568h-6.7318605v-6.54383772h-4.0497228c-.2828378 1.28669763-.6122795 2.35376743-.9883252 3.20120941-.3760457.84744199-.98029 1.60060471-1.812733 2.25948817-.832443.65888347-1.87594303 1.01993018-3.1305 1.08314014z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 34 34" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m31.5297453 8.76273313c-.3135031.40766104-.7447036.83083673-1.2936015 1.26952707-.5488979.4386904-.9169698.7837578-1.1042157 1.0352022.1562166 2.319709-.1417719 4.5297454-.8939653 6.6301092-.7521935 2.1003638-1.8023754 3.9182538-3.1505457 5.45367-1.3481704 1.5354162-2.9627648 2.8284828-4.8437835 3.8791996-1.8810186 1.0507169-3.8321207 1.7483416-5.8533062 2.092874s-4.1215493.2894286-6.30109136-.1653114c-2.17954205-.45474-4.2092874-1.3401455-6.08923604-2.6562165 2.72737.4697196 5.67408517-.2514445 8.8401455-2.1634924-3.0719024-.7521935-4.88979241-2.2881447-5.45367-4.6078537 1.12882516.0631287 1.86550396.0631287 2.21003638 0-2.91568586-1.2850417-4.38904344-3.3693558-4.42007276-6.2529424.21934517.0310293.53284828.1487267.94050931.3530922s.78375775.3060133 1.12829017.3049433c-.81532206-.7211641-1.41076396-1.9045581-1.7863257-3.5501819-.37556173-1.64562376-.17173122-3.17355015.61149155-4.58377912 1.81789001 1.88101862 3.6908838 3.36989086 5.61898138 4.46661672 1.92809757 1.0967259 4.22426707 1.7547614 6.88850847 1.9741066-.2503745-1.1908838-.1722662-2.32719882.2343248-3.40894502.4065911-1.0817462 1.0416221-1.93612241 1.9050931-2.56312861.863471-.62700621 1.8114702-1.0817462 2.8439975-1.36421999 1.0325272-.28247378 2.0827091-.27444896 3.1505456.02407447s1.9767815.87042585 2.726835 1.71570726c1.3791997-.37663172 2.6802911-.87845068 3.9032742-1.50545688-.0310293.37663171-.1407019.74470361-.3290178 1.1042157-.1883158.35951209-.3530922.62593623-.4943291.79927242s-.3841216.4317355-.728654.77519795c-.3445324.34346244-.5638776.57832227-.6580355.70457949.2193452-.09415792.6895998-.23539482 1.410764-.42371067.7211641-.18831586 1.2069334-.39214638 1.4573079-.61149155 0 .44350524-.1567516.86668093-.4702547 1.27434196z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000"
|
|
4
|
+
d="m9.83536396 0h10.07241114c.1725502.47117517.3378411.76385809.4958725.87804878.1295523.11419069.3199719.1998337.5712586.25692905.2512868.05709534.4704647.08564301.6575337.08564301h.2806036v15.24362526h-4.3355343v3.8106985h-4.44275v3.7250554h-12.01318261c-.27306495 0-.50313194-.085643-.69020098-.256929-.18706903-.1712861-.30936193-.3425721-.36687867-.5138581l-.06449694-.2785477v-14.2159091c0-.32815965.08627512-.5922949.25882537-.79240577.17255024-.20011086.34510049-.32150776.51765073-.36419068l.25882537-.0640244h3.36472977v-2.54767184c0-.31374722.08627513-.57067627.25882537-.77078714.17255025-.20011086.34510049-.32150776.51765074-.36419068l.25882536-.06402439h3.36472978v-2.56929047c0-.32815964.08627512-.5922949.25882537-.79240576.17255024-.20011087.34510049-.31430156.51765073-.34257207zm10.78355264 15.6294346v-13.53076498c-.2730649-.08536585-.4456152-.16380266-.5176507-.23531042-.1725502-.1424612-.2730649-.27078714-.3015441-.38497783v13.36031043h-9.87808272c0 .0144124-.02149898.0144124-.06449694 0-.04299795-.0144124-.08962561.006929-.13988296.0640244-.05025735.0570953-.07538603.1427383-.07538603.256929s.02149898.210643.06449694.289357c.04299795.078714.08599591.1322062.12899387.1604767l.06449693.0216187h10.71905571zm-10.2449613-2.4412417h7.98003v-11.60421286h-7.98003zm1.6827837-9.41990022h4.6153002c.1725502 0 .3199718.05349224.4422647.16047672s.1834393.23891353.1834393.39578714c0 .15687362-.0611464.28519956-.1834393.38497783s-.2697145.1496674-.4422647.1496674h-4.6153002c-.1725503 0-.3199719-.04988913-.4422647-.1496674-.1222929-.09977827-.1834394-.22810421-.1834394-.38497783 0-.15687361.0611465-.28880266.1834394-.39578714.1222928-.10698448.2697144-.16047672.4422647-.16047672zm-6.08197737 13.50997782h7.72120467v-.8131929h-3.79610541c-.27306495 0-.49950224-.085643-.67931188-.256929-.17980964-.1712861-.29847284-.3425721-.35598958-.5138581l-.06449694-.2785477v-10.02023282h-2.82530086zm6.77217827-11.36890243h3.2139578c.1295522 0 .240956.05709534.3342113.17128603.0932554.11419069.139883.24972284.139883.40659645 0 .15687362-.0466276.28880267-.139883.39578714-.0932553.10698448-.2046591.16047672-.3342113.16047672h-3.2139578c-.1295523 0-.2373264-.05349224-.3233223-.16047672-.0859959-.10698447-.1289938-.23891352-.1289938-.39578714 0-.15687361.0429979-.29240576.1289938-.40659645s.19377-.17128603.3233223-.17128603zm-11.15043132 15.11557653h7.69942646v-.7491685h-3.79610539c-.25854616 0-.48135376-.0892462-.66842279-.2677384-.18706904-.1784922-.30936193-.3605876-.36687868-.546286l-.06449694-.2569291v-10.04101994h-2.80352266zm14.62237682-4.5606985h-.8191949v2.1410754h-9.89986085s-.04299796.0285477-.12899387.085643c-.08599592.0570954-.12201369.1427384-.10805331.2569291 0 .1141906.01786928.210643.05360784.289357.03573856.0787139.07538603.125.1189424.138858l.06449694.0432373h10.71905575v-2.9542683zm-4.3991936 3.8106985h-.8191949v2.077051h-9.8563045c0 .0144124-.02149898.0144124-.06449694 0-.04299795-.0144125-.08962561.0105321-.13988296.0748337-.05025735.0643015-.07538603.1607538-.07538603.289357 0 .1141906.02149898.2070399.06449694.2785476.04299795.0715078.08599591.1141907.12899387.1280488l.06449693.0216186h10.69811519v-2.8686252z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Sort orders offered by the viewable-files panel's sort button. */
|
|
2
|
+
export type FileSortOption = 'default' | 'title_asc' | 'title_desc';
|
|
3
|
+
/** A single viewable file / volume entry rendered in the viewable-files panel. */
|
|
4
|
+
export interface ViewableFileInfo {
|
|
5
|
+
url_path: string;
|
|
6
|
+
image: string;
|
|
7
|
+
title: string;
|
|
8
|
+
author: string;
|
|
9
|
+
file_subprefix: string;
|
|
10
|
+
file_source: string;
|
|
11
|
+
file_origin?: string;
|
|
12
|
+
/** Used as the `repeat` key when rendering the list. */
|
|
13
|
+
file_prefix?: string;
|
|
14
|
+
/** Original ordering index, used to restore the default sort. */
|
|
15
|
+
orig_sort?: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/models.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAEpE,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/models.ts"],"names":[],"mappings":"","sourcesContent":["/** Sort orders offered by the viewable-files panel's sort button. */\nexport type FileSortOption = 'default' | 'title_asc' | 'title_desc';\n\n/** A single viewable file / volume entry rendered in the viewable-files panel. */\nexport interface ViewableFileInfo {\n url_path: string;\n image: string;\n title: string;\n author: string;\n file_subprefix: string;\n file_source: string;\n file_origin?: string;\n /** Used as the `repeat` key when rendering the list. */\n file_prefix?: string;\n /** Original ordering index, used to restore the default sort. */\n orig_sort?: number;\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type TemplateResult } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Icons taken from the `@internetarchive/icon-*` packages (v1.4.1) used by the
|
|
4
|
+
* share panel. They ship as standalone `.svg` files — rather than icon package
|
|
5
|
+
* dependencies or inline templates — so their path data stays out of the JS
|
|
6
|
+
* bundle, and render as CSS-masked spans (see `maskedIcon`) so the panel can
|
|
7
|
+
* still theme them. Icons are decorative, labelled by adjacent text.
|
|
8
|
+
*/
|
|
9
|
+
export declare const shareIcon: TemplateResult;
|
|
10
|
+
export declare const twitterIcon: TemplateResult;
|
|
11
|
+
export declare const facebookIcon: TemplateResult;
|
|
12
|
+
export declare const tumblrIcon: TemplateResult;
|
|
13
|
+
export declare const pinterestIcon: TemplateResult;
|
|
14
|
+
export declare const emailIcon: TemplateResult;
|
|
15
|
+
export declare const linkIcon: TemplateResult;
|
|
16
|
+
//# sourceMappingURL=share-icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share-icons.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/share-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAW1C;;;;;;GAMG;AAEH,eAAO,MAAM,SAAS,EAAE,cAAqC,CAAC;AAE9D,eAAO,MAAM,WAAW,EAAE,cAAuC,CAAC;AAElE,eAAO,MAAM,YAAY,EAAE,cAAwC,CAAC;AAEpE,eAAO,MAAM,UAAU,EAAE,cAAsC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,cAAyC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,cAAqC,CAAC;AAE9D,eAAO,MAAM,QAAQ,EAAE,cAAoC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { maskedIcon } from '../../../util/masked-icon.js';
|
|
2
|
+
import shareUrl from './icons/share.svg';
|
|
3
|
+
import twitterUrl from './icons/twitter.svg';
|
|
4
|
+
import facebookUrl from './icons/facebook.svg';
|
|
5
|
+
import tumblrUrl from './icons/tumblr.svg';
|
|
6
|
+
import pinterestUrl from './icons/pinterest.svg';
|
|
7
|
+
import emailUrl from './icons/email.svg';
|
|
8
|
+
import linkUrl from './icons/link.svg';
|
|
9
|
+
/**
|
|
10
|
+
* Icons taken from the `@internetarchive/icon-*` packages (v1.4.1) used by the
|
|
11
|
+
* share panel. They ship as standalone `.svg` files — rather than icon package
|
|
12
|
+
* dependencies or inline templates — so their path data stays out of the JS
|
|
13
|
+
* bundle, and render as CSS-masked spans (see `maskedIcon`) so the panel can
|
|
14
|
+
* still theme them. Icons are decorative, labelled by adjacent text.
|
|
15
|
+
*/
|
|
16
|
+
export const shareIcon = maskedIcon(shareUrl);
|
|
17
|
+
export const twitterIcon = maskedIcon(twitterUrl);
|
|
18
|
+
export const facebookIcon = maskedIcon(facebookUrl);
|
|
19
|
+
export const tumblrIcon = maskedIcon(tumblrUrl);
|
|
20
|
+
export const pinterestIcon = maskedIcon(pinterestUrl);
|
|
21
|
+
export const emailIcon = maskedIcon(emailUrl);
|
|
22
|
+
export const linkIcon = maskedIcon(linkUrl);
|
|
23
|
+
//# sourceMappingURL=share-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share-icons.js","sourceRoot":"","sources":["../../../../../src/elements/ia-item-navigator/menus/share-icons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAmB,UAAU,CAAC,QAAQ,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAmB,UAAU,CAAC,UAAU,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAmB,UAAU,CAAC,WAAW,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAmB,UAAU,CAAC,SAAS,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAmB,UAAU,CAAC,YAAY,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,SAAS,GAAmB,UAAU,CAAC,QAAQ,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAmB,UAAU,CAAC,OAAO,CAAC,CAAC","sourcesContent":["import { type TemplateResult } from 'lit';\nimport { maskedIcon } from '@src/util/masked-icon';\n\nimport shareUrl from './icons/share.svg';\nimport twitterUrl from './icons/twitter.svg';\nimport facebookUrl from './icons/facebook.svg';\nimport tumblrUrl from './icons/tumblr.svg';\nimport pinterestUrl from './icons/pinterest.svg';\nimport emailUrl from './icons/email.svg';\nimport linkUrl from './icons/link.svg';\n\n/**\n * Icons taken from the `@internetarchive/icon-*` packages (v1.4.1) used by the\n * share panel. They ship as standalone `.svg` files — rather than icon package\n * dependencies or inline templates — so their path data stays out of the JS\n * bundle, and render as CSS-masked spans (see `maskedIcon`) so the panel can\n * still theme them. Icons are decorative, labelled by adjacent text.\n */\n\nexport const shareIcon: TemplateResult = maskedIcon(shareUrl);\n\nexport const twitterIcon: TemplateResult = maskedIcon(twitterUrl);\n\nexport const facebookIcon: TemplateResult = maskedIcon(facebookUrl);\n\nexport const tumblrIcon: TemplateResult = maskedIcon(tumblrUrl);\n\nexport const pinterestIcon: TemplateResult = maskedIcon(pinterestUrl);\n\nexport const emailIcon: TemplateResult = maskedIcon(emailUrl);\n\nexport const linkIcon: TemplateResult = maskedIcon(linkUrl);\n"]}
|
|
@@ -16,6 +16,15 @@ export declare class IAPlaybackControls extends LitElement {
|
|
|
16
16
|
volume: number;
|
|
17
17
|
render(): TemplateResult;
|
|
18
18
|
private get isPlaying();
|
|
19
|
+
/**
|
|
20
|
+
* The volume held to the 0 to 1 range the controls can represent.
|
|
21
|
+
*
|
|
22
|
+
* `volume` is a public property, so it can arrive out of range or as
|
|
23
|
+
* something that isn't a number at all. Everything that displays, announces
|
|
24
|
+
* or steps the volume reads it through here, so an impossible value never
|
|
25
|
+
* reaches the screen reader.
|
|
26
|
+
*/
|
|
27
|
+
private get clampedVolume();
|
|
19
28
|
/** The volume as a whole number, for display and for screen readers */
|
|
20
29
|
private get volumePercent();
|
|
21
30
|
/**
|
|
@@ -40,9 +49,9 @@ export declare class IAPlaybackControls extends LitElement {
|
|
|
40
49
|
* Steps the playback rate up, wrapping back to the slowest once it reaches
|
|
41
50
|
* the fastest.
|
|
42
51
|
*
|
|
43
|
-
* The
|
|
44
|
-
*
|
|
45
|
-
*
|
|
52
|
+
* The rate is clamped on the way in as well as the way out, so a rate set
|
|
53
|
+
* from outside the range lands back on the documented steps rather than
|
|
54
|
+
* drifting off the grid, overshooting the top, or climbing forever.
|
|
46
55
|
*/
|
|
47
56
|
private handlePlaybackRateChange;
|
|
48
57
|
/** Steps the volume up, wrapping round to muted once it passes full. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ia-playback-controls.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-playback-controls/ia-playback-controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoCxC;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAChD,6CAA6C;IACjB,YAAY,EAAE,YAAY,CAAuB;IAE7E,yDAAyD;IAC7B,YAAY,SAAK;IAE7C,kDAAkD;IACtB,MAAM,SAAK;IAEvC,MAAM,IAAI,cAAc;IAkFxB,OAAO,KAAK,SAAS,GAEpB;IAED,uEAAuE;IACvE,OAAO,KAAK,aAAa,GAExB;IAED;;;;;;;OAOG;IACH,OAAO,KAAK,iBAAiB,GAE5B;IAED;;;;;OAKG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,gBAAgB,GAI3B;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"ia-playback-controls.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-playback-controls/ia-playback-controls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoCxC;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAChD,6CAA6C;IACjB,YAAY,EAAE,YAAY,CAAuB;IAE7E,yDAAyD;IAC7B,YAAY,SAAK;IAE7C,kDAAkD;IACtB,MAAM,SAAK;IAEvC,MAAM,IAAI,cAAc;IAkFxB,OAAO,KAAK,SAAS,GAEpB;IAED;;;;;;;OAOG;IACH,OAAO,KAAK,aAAa,GAExB;IAED,uEAAuE;IACvE,OAAO,KAAK,aAAa,GAExB;IAED;;;;;;;OAOG;IACH,OAAO,KAAK,iBAAiB,GAE5B;IAED;;;;;OAKG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,gBAAgB,GAI3B;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAiBhC,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,qBAAqB;IAQ7B,MAAM,KAAK,MAAM,IAAI,cAAc,CAiGlC;CACF"}
|