@aceshooting/lyra-ui 3.0.0 → 3.2.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 +21 -3
- package/custom-elements.json +12254 -4196
- package/dist/components/archive-viewer/archive-loader.d.ts +8 -0
- package/dist/components/archive-viewer/archive-loader.d.ts.map +1 -0
- package/dist/components/archive-viewer/archive-loader.js +19 -0
- package/dist/components/archive-viewer/archive-loader.js.map +1 -0
- package/dist/components/archive-viewer/archive-viewer-register.d.ts +2 -0
- package/dist/components/archive-viewer/archive-viewer-register.d.ts.map +1 -0
- package/dist/components/archive-viewer/archive-viewer-register.js +8 -0
- package/dist/components/archive-viewer/archive-viewer-register.js.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.class.d.ts +47 -0
- package/dist/components/archive-viewer/archive-viewer.class.d.ts.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.class.js +115 -0
- package/dist/components/archive-viewer/archive-viewer.class.js.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.d.ts +4 -0
- package/dist/components/archive-viewer/archive-viewer.d.ts.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.js +7 -0
- package/dist/components/archive-viewer/archive-viewer.js.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.styles.d.ts +2 -0
- package/dist/components/archive-viewer/archive-viewer.styles.d.ts.map +1 -0
- package/dist/components/archive-viewer/archive-viewer.styles.js +14 -0
- package/dist/components/archive-viewer/archive-viewer.styles.js.map +1 -0
- package/dist/components/attachment-chip/attachment-chip.class.d.ts +16 -0
- package/dist/components/attachment-chip/attachment-chip.class.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.class.js +54 -3
- package/dist/components/attachment-chip/attachment-chip.class.js.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.d.ts +2 -0
- package/dist/components/attachment-chip/attachment-chip.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.js +2 -0
- package/dist/components/attachment-chip/attachment-chip.js.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.styles.d.ts.map +1 -1
- package/dist/components/attachment-chip/attachment-chip.styles.js +8 -0
- package/dist/components/attachment-chip/attachment-chip.styles.js.map +1 -1
- package/dist/components/calendar-viewer/calendar-loader.d.ts +5 -0
- package/dist/components/calendar-viewer/calendar-loader.d.ts.map +1 -0
- package/dist/components/calendar-viewer/calendar-loader.js +18 -0
- package/dist/components/calendar-viewer/calendar-loader.js.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.class.d.ts +55 -0
- package/dist/components/calendar-viewer/calendar-viewer.class.d.ts.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.class.js +123 -0
- package/dist/components/calendar-viewer/calendar-viewer.class.js.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.d.ts +3 -0
- package/dist/components/calendar-viewer/calendar-viewer.d.ts.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.js +12 -0
- package/dist/components/calendar-viewer/calendar-viewer.js.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts +2 -0
- package/dist/components/calendar-viewer/calendar-viewer.styles.d.ts.map +1 -0
- package/dist/components/calendar-viewer/calendar-viewer.styles.js +16 -0
- package/dist/components/calendar-viewer/calendar-viewer.styles.js.map +1 -0
- package/dist/components/code-block/code-block-core.class.d.ts +3 -0
- package/dist/components/code-block/code-block-core.class.d.ts.map +1 -1
- package/dist/components/code-block/code-block-core.class.js +41 -16
- package/dist/components/code-block/code-block-core.class.js.map +1 -1
- package/dist/components/code-block/code-block.class.d.ts +3 -0
- package/dist/components/code-block/code-block.class.d.ts.map +1 -1
- package/dist/components/code-block/code-block.class.js +41 -16
- package/dist/components/code-block/code-block.class.js.map +1 -1
- package/dist/components/code-block/code-block.styles.d.ts.map +1 -1
- package/dist/components/code-block/code-block.styles.js +16 -0
- package/dist/components/code-block/code-block.styles.js.map +1 -1
- package/dist/components/code-block/code-loader.d.ts +2 -0
- package/dist/components/code-block/code-loader.d.ts.map +1 -1
- package/dist/components/code-block/code-loader.js +14 -4
- package/dist/components/code-block/code-loader.js.map +1 -1
- package/dist/components/code-block/greycat-language.d.ts +9 -0
- package/dist/components/code-block/greycat-language.d.ts.map +1 -0
- package/dist/components/code-block/greycat-language.js +73 -0
- package/dist/components/code-block/greycat-language.js.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.class.d.ts +31 -0
- package/dist/components/contact-viewer/contact-viewer.class.d.ts.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.class.js +92 -0
- package/dist/components/contact-viewer/contact-viewer.class.js.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.d.ts +3 -0
- package/dist/components/contact-viewer/contact-viewer.d.ts.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.js +13 -0
- package/dist/components/contact-viewer/contact-viewer.js.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.styles.d.ts +2 -0
- package/dist/components/contact-viewer/contact-viewer.styles.d.ts.map +1 -0
- package/dist/components/contact-viewer/contact-viewer.styles.js +16 -0
- package/dist/components/contact-viewer/contact-viewer.styles.js.map +1 -0
- package/dist/components/contact-viewer/vcard.d.ts +31 -0
- package/dist/components/contact-viewer/vcard.d.ts.map +1 -0
- package/dist/components/contact-viewer/vcard.js +87 -0
- package/dist/components/contact-viewer/vcard.js.map +1 -0
- package/dist/components/csv-viewer/csv-loader.d.ts +8 -0
- package/dist/components/csv-viewer/csv-loader.d.ts.map +1 -0
- package/dist/components/csv-viewer/csv-loader.js +19 -0
- package/dist/components/csv-viewer/csv-loader.js.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.class.d.ts +31 -0
- package/dist/components/csv-viewer/csv-viewer.class.d.ts.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.class.js +108 -0
- package/dist/components/csv-viewer/csv-viewer.class.js.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.d.ts +3 -0
- package/dist/components/csv-viewer/csv-viewer.d.ts.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.js +9 -0
- package/dist/components/csv-viewer/csv-viewer.js.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.styles.d.ts +2 -0
- package/dist/components/csv-viewer/csv-viewer.styles.d.ts.map +1 -0
- package/dist/components/csv-viewer/csv-viewer.styles.js +14 -0
- package/dist/components/csv-viewer/csv-viewer.styles.js.map +1 -0
- package/dist/components/dataset-viewer/dataset-loader.d.ts +7 -0
- package/dist/components/dataset-viewer/dataset-loader.d.ts.map +1 -0
- package/dist/components/dataset-viewer/dataset-loader.js +19 -0
- package/dist/components/dataset-viewer/dataset-loader.js.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.class.d.ts +34 -0
- package/dist/components/dataset-viewer/dataset-viewer.class.d.ts.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.class.js +93 -0
- package/dist/components/dataset-viewer/dataset-viewer.class.js.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.d.ts +3 -0
- package/dist/components/dataset-viewer/dataset-viewer.d.ts.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.js +13 -0
- package/dist/components/dataset-viewer/dataset-viewer.js.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts +2 -0
- package/dist/components/dataset-viewer/dataset-viewer.styles.d.ts.map +1 -0
- package/dist/components/dataset-viewer/dataset-viewer.styles.js +13 -0
- package/dist/components/dataset-viewer/dataset-viewer.styles.js.map +1 -0
- package/dist/components/document-viewer/document-viewer.class.d.ts +55 -0
- package/dist/components/document-viewer/document-viewer.class.d.ts.map +1 -0
- package/dist/components/document-viewer/document-viewer.class.js +160 -0
- package/dist/components/document-viewer/document-viewer.class.js.map +1 -0
- package/dist/components/document-viewer/document-viewer.d.ts +5 -0
- package/dist/components/document-viewer/document-viewer.d.ts.map +1 -0
- package/dist/components/document-viewer/document-viewer.js +8 -0
- package/dist/components/document-viewer/document-viewer.js.map +1 -0
- package/dist/components/document-viewer/document-viewer.styles.d.ts +2 -0
- package/dist/components/document-viewer/document-viewer.styles.d.ts.map +1 -0
- package/dist/components/document-viewer/document-viewer.styles.js +48 -0
- package/dist/components/document-viewer/document-viewer.styles.js.map +1 -0
- package/dist/components/document-viewer/registry.d.ts +30 -0
- package/dist/components/document-viewer/registry.d.ts.map +1 -0
- package/dist/components/document-viewer/registry.js +42 -0
- package/dist/components/document-viewer/registry.js.map +1 -0
- package/dist/components/docx-viewer/docx-loader.d.ts +11 -0
- package/dist/components/docx-viewer/docx-loader.d.ts.map +1 -0
- package/dist/components/docx-viewer/docx-loader.js +39 -0
- package/dist/components/docx-viewer/docx-loader.js.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.class.d.ts +42 -0
- package/dist/components/docx-viewer/docx-viewer.class.d.ts.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.class.js +131 -0
- package/dist/components/docx-viewer/docx-viewer.class.js.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.d.ts +3 -0
- package/dist/components/docx-viewer/docx-viewer.d.ts.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.js +12 -0
- package/dist/components/docx-viewer/docx-viewer.js.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.styles.d.ts +2 -0
- package/dist/components/docx-viewer/docx-viewer.styles.d.ts.map +1 -0
- package/dist/components/docx-viewer/docx-viewer.styles.js +99 -0
- package/dist/components/docx-viewer/docx-viewer.styles.js.map +1 -0
- package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts +2 -0
- package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.d.ts.map +1 -0
- package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js +3 -0
- package/dist/components/docx-viewer/fixtures/minimal-docx-fixture.js.map +1 -0
- package/dist/components/ebook-viewer/ebook-loader.d.ts +9 -0
- package/dist/components/ebook-viewer/ebook-loader.d.ts.map +1 -0
- package/dist/components/ebook-viewer/ebook-loader.js +21 -0
- package/dist/components/ebook-viewer/ebook-loader.js.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer-register.d.ts +2 -0
- package/dist/components/ebook-viewer/ebook-viewer-register.d.ts.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer-register.js +9 -0
- package/dist/components/ebook-viewer/ebook-viewer-register.js.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.class.d.ts +51 -0
- package/dist/components/ebook-viewer/ebook-viewer.class.d.ts.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.class.js +164 -0
- package/dist/components/ebook-viewer/ebook-viewer.class.js.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.d.ts +2 -0
- package/dist/components/ebook-viewer/ebook-viewer.d.ts.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.js +5 -0
- package/dist/components/ebook-viewer/ebook-viewer.js.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts +2 -0
- package/dist/components/ebook-viewer/ebook-viewer.styles.d.ts.map +1 -0
- package/dist/components/ebook-viewer/ebook-viewer.styles.js +73 -0
- package/dist/components/ebook-viewer/ebook-viewer.styles.js.map +1 -0
- package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +2 -0
- package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.d.ts.map +1 -0
- package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js +2 -0
- package/dist/components/ebook-viewer/fixtures/minimal-epub-fixture.js.map +1 -0
- package/dist/components/email-viewer/email-loader.d.ts +10 -0
- package/dist/components/email-viewer/email-loader.d.ts.map +1 -0
- package/dist/components/email-viewer/email-loader.js +38 -0
- package/dist/components/email-viewer/email-loader.js.map +1 -0
- package/dist/components/email-viewer/email-viewer.class.d.ts +72 -0
- package/dist/components/email-viewer/email-viewer.class.d.ts.map +1 -0
- package/dist/components/email-viewer/email-viewer.class.js +154 -0
- package/dist/components/email-viewer/email-viewer.class.js.map +1 -0
- package/dist/components/email-viewer/email-viewer.d.ts +3 -0
- package/dist/components/email-viewer/email-viewer.d.ts.map +1 -0
- package/dist/components/email-viewer/email-viewer.js +12 -0
- package/dist/components/email-viewer/email-viewer.js.map +1 -0
- package/dist/components/email-viewer/email-viewer.styles.d.ts +2 -0
- package/dist/components/email-viewer/email-viewer.styles.d.ts.map +1 -0
- package/dist/components/email-viewer/email-viewer.styles.js +35 -0
- package/dist/components/email-viewer/email-viewer.styles.js.map +1 -0
- package/dist/components/file-icon/file-icon.class.d.ts +31 -0
- package/dist/components/file-icon/file-icon.class.d.ts.map +1 -0
- package/dist/components/file-icon/file-icon.class.js +74 -0
- package/dist/components/file-icon/file-icon.class.js.map +1 -0
- package/dist/components/file-icon/file-icon.d.ts +3 -0
- package/dist/components/file-icon/file-icon.d.ts.map +1 -0
- package/dist/components/file-icon/file-icon.js +6 -0
- package/dist/components/file-icon/file-icon.js.map +1 -0
- package/dist/components/file-icon/file-icon.styles.d.ts +2 -0
- package/dist/components/file-icon/file-icon.styles.d.ts.map +1 -0
- package/dist/components/file-icon/file-icon.styles.js +23 -0
- package/dist/components/file-icon/file-icon.styles.js.map +1 -0
- package/dist/components/file-icon/file-type-metadata.d.ts +14 -0
- package/dist/components/file-icon/file-type-metadata.d.ts.map +1 -0
- package/dist/components/file-icon/file-type-metadata.js +81 -0
- package/dist/components/file-icon/file-type-metadata.js.map +1 -0
- package/dist/components/html-viewer/dompurify-loader.d.ts +7 -0
- package/dist/components/html-viewer/dompurify-loader.d.ts.map +1 -0
- package/dist/components/html-viewer/dompurify-loader.js +19 -0
- package/dist/components/html-viewer/dompurify-loader.js.map +1 -0
- package/dist/components/html-viewer/html-viewer.class.d.ts +29 -0
- package/dist/components/html-viewer/html-viewer.class.d.ts.map +1 -0
- package/dist/components/html-viewer/html-viewer.class.js +88 -0
- package/dist/components/html-viewer/html-viewer.class.js.map +1 -0
- package/dist/components/html-viewer/html-viewer.d.ts +2 -0
- package/dist/components/html-viewer/html-viewer.d.ts.map +1 -0
- package/dist/components/html-viewer/html-viewer.js +15 -0
- package/dist/components/html-viewer/html-viewer.js.map +1 -0
- package/dist/components/html-viewer/html-viewer.styles.d.ts +2 -0
- package/dist/components/html-viewer/html-viewer.styles.d.ts.map +1 -0
- package/dist/components/html-viewer/html-viewer.styles.js +26 -0
- package/dist/components/html-viewer/html-viewer.styles.js.map +1 -0
- package/dist/components/pdf-viewer/pdf-loader.d.ts +6 -0
- package/dist/components/pdf-viewer/pdf-loader.d.ts.map +1 -0
- package/dist/components/pdf-viewer/pdf-loader.js +22 -0
- package/dist/components/pdf-viewer/pdf-loader.js.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.class.d.ts +80 -0
- package/dist/components/pdf-viewer/pdf-viewer.class.d.ts.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.class.js +296 -0
- package/dist/components/pdf-viewer/pdf-viewer.class.js.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
- package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.js +13 -0
- package/dist/components/pdf-viewer/pdf-viewer.js.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts +2 -0
- package/dist/components/pdf-viewer/pdf-viewer.styles.d.ts.map +1 -0
- package/dist/components/pdf-viewer/pdf-viewer.styles.js +19 -0
- package/dist/components/pdf-viewer/pdf-viewer.styles.js.map +1 -0
- package/dist/components/pptx-viewer/pptx-loader.d.ts +5 -0
- package/dist/components/pptx-viewer/pptx-loader.d.ts.map +1 -0
- package/dist/components/pptx-viewer/pptx-loader.js +20 -0
- package/dist/components/pptx-viewer/pptx-loader.js.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.class.d.ts +68 -0
- package/dist/components/pptx-viewer/pptx-viewer.class.d.ts.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.class.js +205 -0
- package/dist/components/pptx-viewer/pptx-viewer.class.js.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.d.ts +2 -0
- package/dist/components/pptx-viewer/pptx-viewer.d.ts.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.js +11 -0
- package/dist/components/pptx-viewer/pptx-viewer.js.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts +2 -0
- package/dist/components/pptx-viewer/pptx-viewer.styles.d.ts.map +1 -0
- package/dist/components/pptx-viewer/pptx-viewer.styles.js +66 -0
- package/dist/components/pptx-viewer/pptx-viewer.styles.js.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts +8 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-loader.d.ts.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-loader.js +19 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-loader.js.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +32 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js +99 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts +3 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.d.ts.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js +12 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.js.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts +2 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts.map +1 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js +14 -0
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js.map +1 -0
- package/dist/components/svg-viewer/dompurify-loader.d.ts +7 -0
- package/dist/components/svg-viewer/dompurify-loader.d.ts.map +1 -0
- package/dist/components/svg-viewer/dompurify-loader.js +19 -0
- package/dist/components/svg-viewer/dompurify-loader.js.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.class.d.ts +29 -0
- package/dist/components/svg-viewer/svg-viewer.class.d.ts.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.class.js +95 -0
- package/dist/components/svg-viewer/svg-viewer.class.js.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.d.ts +2 -0
- package/dist/components/svg-viewer/svg-viewer.d.ts.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.js +15 -0
- package/dist/components/svg-viewer/svg-viewer.js.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.styles.d.ts +2 -0
- package/dist/components/svg-viewer/svg-viewer.styles.d.ts.map +1 -0
- package/dist/components/svg-viewer/svg-viewer.styles.js +50 -0
- package/dist/components/svg-viewer/svg-viewer.styles.js.map +1 -0
- package/dist/internal/localization.d.ts +1 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +65 -0
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +1 -1
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +15 -0
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/lyra.d.ts +44 -1
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +32 -0
- package/dist/lyra.js.map +1 -1
- package/llms-full.txt +331 -8
- package/llms.txt +2 -1
- package/package.json +83 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
import '../virtual-list/virtual-list.js';
|
|
4
|
+
export interface LyraCsvViewerEventMap {
|
|
5
|
+
'lyra-render-error': CustomEvent<{
|
|
6
|
+
error: unknown;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
/** Fetches CSV text, parses quoted fields with PapaParse, and virtualizes its rows. */
|
|
10
|
+
export declare class LyraCsvViewer extends LyraElement<LyraCsvViewerEventMap> {
|
|
11
|
+
static styles: import("lit").CSSResultGroup[];
|
|
12
|
+
/** URL to fetch and parse. */
|
|
13
|
+
src: string;
|
|
14
|
+
/** Source filename or display name. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Whether the first parsed row is rendered as a sticky header. */
|
|
17
|
+
hasHeaderRow: boolean;
|
|
18
|
+
private fetchState;
|
|
19
|
+
private generation;
|
|
20
|
+
private loadLibrary;
|
|
21
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
22
|
+
private load;
|
|
23
|
+
private renderRow;
|
|
24
|
+
render(): TemplateResult;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'lyra-csv-viewer': LyraCsvViewer;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=csv-viewer.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,iCAAiC,CAAC;AAQzC,MAAM,WAAW,qBAAqB;IAAG,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAAE;AAEhG,uFAAuF;AACvF,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAwC;IACrD,8BAA8B;IAClB,GAAG,SAAM;IACrB,uCAAuC;IAC3B,IAAI,SAAM;IACtB,mEAAmE;IACT,YAAY,UAAQ;IACrE,OAAO,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAA2D;IAE9E,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAkE;YAEvG,IAAI;IAuBlB,OAAO,CAAC,SAAS;IAIjB,MAAM,IAAI,cAAc,CAevB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,iBAAiB,EAAE,aAAa,CAAC;KAAE;CAAE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, nothing } from 'lit';
|
|
8
|
+
import { property, state } from 'lit/decorators.js';
|
|
9
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
10
|
+
import { safeFetchUrl } from '../../internal/safe-url.js';
|
|
11
|
+
import { srOnly } from '../../internal/a11y.js';
|
|
12
|
+
import '../virtual-list/virtual-list.js';
|
|
13
|
+
import { loadPapaParseCached } from './csv-loader.js';
|
|
14
|
+
import { styles } from './csv-viewer.styles.js';
|
|
15
|
+
function columns(rows) { return rows.reduce((max, row) => Math.max(max, row.length), 0); }
|
|
16
|
+
function cell(value) { return value === undefined || value === null ? '' : String(value); }
|
|
17
|
+
/** Fetches CSV text, parses quoted fields with PapaParse, and virtualizes its rows. */
|
|
18
|
+
export class LyraCsvViewer extends LyraElement {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
/** URL to fetch and parse. */
|
|
22
|
+
this.src = '';
|
|
23
|
+
/** Source filename or display name. */
|
|
24
|
+
this.name = '';
|
|
25
|
+
/** Whether the first parsed row is rendered as a sticky header. */
|
|
26
|
+
this.hasHeaderRow = true;
|
|
27
|
+
this.fetchState = { kind: 'idle' };
|
|
28
|
+
this.generation = 0;
|
|
29
|
+
this.loadLibrary = loadPapaParseCached;
|
|
30
|
+
}
|
|
31
|
+
static { this.styles = [LyraElement.styles, styles, srOnly]; }
|
|
32
|
+
willUpdate(changed) { if (!this.hasUpdated || changed.has('src'))
|
|
33
|
+
void this.load(); }
|
|
34
|
+
async load() {
|
|
35
|
+
const generation = ++this.generation;
|
|
36
|
+
if (!this.src) {
|
|
37
|
+
this.fetchState = { kind: 'idle' };
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const url = safeFetchUrl(this.src);
|
|
41
|
+
if (!url) {
|
|
42
|
+
this.fetchState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.fetchState = { kind: 'loading' };
|
|
46
|
+
try {
|
|
47
|
+
const response = await fetch(url);
|
|
48
|
+
if (!response.ok)
|
|
49
|
+
throw new Error(`${response.status} ${response.statusText}`);
|
|
50
|
+
const library = await this.loadLibrary();
|
|
51
|
+
if (generation !== this.generation)
|
|
52
|
+
return;
|
|
53
|
+
if (!library) {
|
|
54
|
+
this.fetchState = { kind: 'error', message: this.localize('csvViewerUnavailable') };
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const result = library.parse(await response.text(), { skipEmptyLines: true });
|
|
58
|
+
if (generation !== this.generation)
|
|
59
|
+
return;
|
|
60
|
+
this.fetchState = { kind: 'loaded', rows: result.data };
|
|
61
|
+
if (result.errors.length)
|
|
62
|
+
this.emit('lyra-render-error', { error: result.errors });
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (generation !== this.generation)
|
|
66
|
+
return;
|
|
67
|
+
this.fetchState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
|
|
68
|
+
this.emit('lyra-render-error', { error });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
renderRow(row, count, part) {
|
|
72
|
+
return html `<div part=${part} style=${`grid-template-columns:repeat(${count},minmax(var(--lyra-size-8rem),1fr))`}>${Array.from({ length: count }, (_unused, index) => html `<div part="cell">${cell(row[index])}</div>`)}</div>`;
|
|
73
|
+
}
|
|
74
|
+
render() {
|
|
75
|
+
let content;
|
|
76
|
+
if (this.fetchState.kind === 'loaded') {
|
|
77
|
+
const rows = this.fetchState.rows;
|
|
78
|
+
if (!rows.length)
|
|
79
|
+
content = html `<p class="empty-note">${this.localize('noData')}</p>`;
|
|
80
|
+
else {
|
|
81
|
+
const header = this.hasHeaderRow ? rows[0] : undefined;
|
|
82
|
+
const body = this.hasHeaderRow ? rows.slice(1) : rows;
|
|
83
|
+
const count = columns(rows);
|
|
84
|
+
content = html `<div part="sheet">${header ? this.renderRow(header, count, 'header-row') : nothing}<lyra-virtual-list part="rows" .items=${body} .renderItem=${(row) => this.renderRow(row, count, 'data-row')} .keyFunction=${(_item, index) => index}></lyra-virtual-list></div>`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else if (this.fetchState.kind === 'loading')
|
|
88
|
+
content = html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
|
|
89
|
+
else if (this.fetchState.kind === 'error')
|
|
90
|
+
content = html `<div part="error" role="alert">${this.fetchState.message}</div>`;
|
|
91
|
+
else
|
|
92
|
+
content = html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeDocument') })}</p>`;
|
|
93
|
+
return html `<div part="base">${content}</div>`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
__decorate([
|
|
97
|
+
property()
|
|
98
|
+
], LyraCsvViewer.prototype, "src", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
property()
|
|
101
|
+
], LyraCsvViewer.prototype, "name", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
property({ type: Boolean, attribute: 'has-header-row' })
|
|
104
|
+
], LyraCsvViewer.prototype, "hasHeaderRow", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
state()
|
|
107
|
+
], LyraCsvViewer.prototype, "fetchState", void 0);
|
|
108
|
+
//# sourceMappingURL=csv-viewer.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.class.js","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './csv-viewer.class.js';
|
|
2
|
+
export * from './csv-loader.js';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { defineElement } from '../../internal/prefix.js';
|
|
5
|
+
import { registerDocumentRenderer } from '../document-viewer/registry.js';
|
|
6
|
+
import { LyraCsvViewer } from './csv-viewer.class.js';
|
|
7
|
+
defineElement('csv-viewer', LyraCsvViewer);
|
|
8
|
+
registerDocumentRenderer('text/csv', { matches: (file) => file.name.toLowerCase().endsWith('.csv'), render: (file) => html `<lyra-csv-viewer src=${file.src} name=${file.name}></lyra-csv-viewer>` });
|
|
9
|
+
//# sourceMappingURL=csv-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.js","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3C,wBAAwB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAA,wBAAwB,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAWlB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host { display: block; min-inline-size: 0; }
|
|
4
|
+
[part='base'], [part='sheet'] { display: flex; flex-direction: column; min-inline-size: 0; }
|
|
5
|
+
[part='sheet'] { overflow-x: auto; }
|
|
6
|
+
[part='header-row'], [part='data-row'] { display: grid; min-inline-size: max-content; align-items: center; }
|
|
7
|
+
[part='header-row'] { position: sticky; inset-block-start: 0; z-index: var(--lyra-layer-content); background: var(--lyra-color-surface); color: var(--lyra-color-text); font-weight: var(--lyra-font-weight-semibold); border-block-end: var(--lyra-border-width-medium) solid var(--lyra-color-border); }
|
|
8
|
+
[part='cell'] { padding: var(--lyra-space-2xs) var(--lyra-space-xs); border-inline-end: var(--lyra-border-width-thin) solid var(--lyra-color-border); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lyra-font-size-sm); color: var(--lyra-color-text); }
|
|
9
|
+
[part='rows'] { --lyra-virtual-list-height: var(--lyra-size-20rem); min-inline-size: max-content; }
|
|
10
|
+
.empty-note, [part='error'] { margin: 0; padding: var(--lyra-space-m); color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-md-sm); }
|
|
11
|
+
[part='error'] { color: var(--lyra-color-danger); text-align: center; }
|
|
12
|
+
[part='spinner'] { display: flex; justify-content: center; padding: var(--lyra-space-l); }
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=csv-viewer.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/csv-viewer/csv-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;CAWxB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OptionalPeerApi } from '../../internal/optional-peer-types.js';
|
|
2
|
+
export declare function loadPapaParseDeps(importPapaparse?: () => Promise<{
|
|
3
|
+
default: OptionalPeerApi;
|
|
4
|
+
}>): Promise<OptionalPeerApi | null>;
|
|
5
|
+
export declare function loadPapaParse(): Promise<OptionalPeerApi | null>;
|
|
6
|
+
export declare function clearPapaParseCache(): void;
|
|
7
|
+
//# sourceMappingURL=dataset-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-loader.d.ts","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAI7E,wBAAsB,iBAAiB,CACrC,eAAe,GAAE,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,CACG,GAC7D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAG/D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
let papa;
|
|
2
|
+
export async function loadPapaParseDeps(importPapaparse = () => import('papaparse')) {
|
|
3
|
+
try {
|
|
4
|
+
return (await importPapaparse()).default;
|
|
5
|
+
}
|
|
6
|
+
catch (error) {
|
|
7
|
+
console.warn('<lyra-dataset-viewer> needs the optional peer dependency `papaparse` to parse delimited text — install it with `pnpm add papaparse`:', error);
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function loadPapaParse() {
|
|
12
|
+
if (!papa)
|
|
13
|
+
papa = loadPapaParseDeps();
|
|
14
|
+
return papa;
|
|
15
|
+
}
|
|
16
|
+
export function clearPapaParseCache() {
|
|
17
|
+
papa = undefined;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=dataset-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-loader.js","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-loader.ts"],"names":[],"mappings":"AAEA,IAAI,IAAiD,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,eAAe,GAAgD,GAAG,EAAE,CAClE,MAAM,CAAC,WAAW,CAA0C;IAE9D,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,sIAAsI,EACtI,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,GAAG,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
export interface DatasetTable {
|
|
4
|
+
fields: string[];
|
|
5
|
+
rows: Record<string, string>[];
|
|
6
|
+
}
|
|
7
|
+
export interface LyraDatasetViewerEventMap {
|
|
8
|
+
'lyra-render-error': CustomEvent<{
|
|
9
|
+
error: unknown;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
/** Fetches delimited text and renders a typed, accessible data table. */
|
|
13
|
+
export declare class LyraDatasetViewer extends LyraElement<LyraDatasetViewerEventMap> {
|
|
14
|
+
static styles: import("lit").CSSResultGroup[];
|
|
15
|
+
/** URL to fetch and parse as delimited text. */
|
|
16
|
+
src: string;
|
|
17
|
+
/** Display name used for the table caption. */
|
|
18
|
+
name: string;
|
|
19
|
+
/** CSS length that caps the scrollable body. */
|
|
20
|
+
maxHeight: string;
|
|
21
|
+
private fetchState;
|
|
22
|
+
private generation;
|
|
23
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
24
|
+
private load;
|
|
25
|
+
private parse;
|
|
26
|
+
private renderBody;
|
|
27
|
+
render(): TemplateResult;
|
|
28
|
+
}
|
|
29
|
+
declare global {
|
|
30
|
+
interface HTMLElementTagNameMap {
|
|
31
|
+
'lyra-dataset-viewer': LyraDatasetViewer;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=dataset-viewer.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAM7D,MAAM,WAAW,YAAY;IAAG,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAAE;AAGnF,MAAM,WAAW,yBAAyB;IAAG,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAAE;AAEpG,yEAAyE;AACzE,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,yBAAyB,CAAC;IAC3E,MAAM,CAAC,MAAM,iCAAwC;IACrD,gDAAgD;IACpC,GAAG,SAAM;IACrB,+CAA+C;IACnC,IAAI,SAAM;IACtB,gDAAgD;IACT,SAAS,SAAM;IAC7C,OAAO,CAAC,UAAU,CAAuC;IAClE,OAAO,CAAC,UAAU,CAAK;IAEvB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAkE;YAEvG,IAAI;YAkBJ,KAAK;IASnB,OAAO,CAAC,UAAU;IAalB,MAAM,IAAI,cAAc,CAA8K;CACvM;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,qBAAqB,EAAE,iBAAiB,CAAC;KAAE;CAAE"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, nothing } from 'lit';
|
|
8
|
+
import { property, state } from 'lit/decorators.js';
|
|
9
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
10
|
+
import { safeFetchUrl } from '../../internal/safe-url.js';
|
|
11
|
+
import { srOnly } from '../../internal/a11y.js';
|
|
12
|
+
import { loadPapaParse } from './dataset-loader.js';
|
|
13
|
+
import { styles } from './dataset-viewer.styles.js';
|
|
14
|
+
/** Fetches delimited text and renders a typed, accessible data table. */
|
|
15
|
+
export class LyraDatasetViewer extends LyraElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
/** URL to fetch and parse as delimited text. */
|
|
19
|
+
this.src = '';
|
|
20
|
+
/** Display name used for the table caption. */
|
|
21
|
+
this.name = '';
|
|
22
|
+
/** CSS length that caps the scrollable body. */
|
|
23
|
+
this.maxHeight = '';
|
|
24
|
+
this.fetchState = { kind: 'idle' };
|
|
25
|
+
this.generation = 0;
|
|
26
|
+
}
|
|
27
|
+
static { this.styles = [LyraElement.styles, styles, srOnly]; }
|
|
28
|
+
willUpdate(changed) { if (!this.hasUpdated || changed.has('src'))
|
|
29
|
+
void this.load(); }
|
|
30
|
+
async load() {
|
|
31
|
+
const generation = ++this.generation;
|
|
32
|
+
if (!this.src) {
|
|
33
|
+
this.fetchState = { kind: 'idle' };
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const url = safeFetchUrl(this.src);
|
|
37
|
+
if (!url) {
|
|
38
|
+
this.fetchState = { kind: 'error', message: this.localize('documentPreviewUrlNotAllowed') };
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.fetchState = { kind: 'loading' };
|
|
42
|
+
try {
|
|
43
|
+
const response = await fetch(url);
|
|
44
|
+
if (!response.ok)
|
|
45
|
+
throw new Error(`${response.status} ${response.statusText}`);
|
|
46
|
+
const table = await this.parse(await response.text());
|
|
47
|
+
if (generation === this.generation)
|
|
48
|
+
this.fetchState = { kind: 'loaded', table };
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (generation !== this.generation)
|
|
52
|
+
return;
|
|
53
|
+
this.fetchState = { kind: 'error', message: error instanceof Error ? error.message : this.localize('documentPreviewFailedToLoad') };
|
|
54
|
+
this.emit('lyra-render-error', { error });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async parse(text) {
|
|
58
|
+
const papa = await loadPapaParse();
|
|
59
|
+
if (!papa)
|
|
60
|
+
throw new Error(this.localize('datasetViewerMissingParser'));
|
|
61
|
+
const result = papa.parse(text, { delimiter: '', header: true, skipEmptyLines: true });
|
|
62
|
+
const fields = result.meta.fields ?? [];
|
|
63
|
+
if (!fields.length || !result.data.length)
|
|
64
|
+
throw new Error(this.localize('datasetViewerEmpty'));
|
|
65
|
+
return { fields, rows: result.data };
|
|
66
|
+
}
|
|
67
|
+
renderBody() {
|
|
68
|
+
switch (this.fetchState.kind) {
|
|
69
|
+
case 'loaded': {
|
|
70
|
+
const { fields, rows } = this.fetchState.table;
|
|
71
|
+
return html `<table part="table"><caption class="sr-only">${this.localize('datasetViewerCaption', undefined, { count: rows.length })}</caption><thead><tr>${fields.map((field) => html `<th scope="col">${field}</th>`)}</tr></thead><tbody>${rows.map((row) => html `<tr>${fields.map((field) => html `<td>${row[field] ?? ''}</td>`)}</tr>`)}</tbody></table>`;
|
|
72
|
+
}
|
|
73
|
+
case 'loading': return html `<div part="spinner" role="status"><span class="sr-only">${this.localize('loadingDocument')}</span></div>`;
|
|
74
|
+
case 'error': return html `<div part="error" role="alert">${this.fetchState.message}</div>`;
|
|
75
|
+
case 'idle':
|
|
76
|
+
default: return html `<p class="empty-note">${this.localize('documentPreviewEmpty', undefined, { type: this.localize('documentPreviewTypeDataset') })}</p>`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
render() { return html `<div part="base" style=${this.maxHeight ? `--lyra-dataset-viewer-max-height:${this.maxHeight}` : nothing}><div part="body">${this.renderBody()}</div></div>`; }
|
|
80
|
+
}
|
|
81
|
+
__decorate([
|
|
82
|
+
property()
|
|
83
|
+
], LyraDatasetViewer.prototype, "src", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
property()
|
|
86
|
+
], LyraDatasetViewer.prototype, "name", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
property({ attribute: 'max-height' })
|
|
89
|
+
], LyraDatasetViewer.prototype, "maxHeight", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
state()
|
|
92
|
+
], LyraDatasetViewer.prototype, "fetchState", void 0);
|
|
93
|
+
//# sourceMappingURL=dataset-viewer.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.class.js","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.d.ts","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './dataset-viewer.class.js';
|
|
2
|
+
export * from './dataset-loader.js';
|
|
3
|
+
import { LyraDatasetViewer } from './dataset-viewer.class.js';
|
|
4
|
+
import { defineElement } from '../../internal/prefix.js';
|
|
5
|
+
import { registerDocumentRenderer } from '../document-viewer/registry.js';
|
|
6
|
+
defineElement('dataset-viewer', LyraDatasetViewer);
|
|
7
|
+
registerDocumentRenderer('lyra:dataset', { matches: (file) => /\.(tsv|psv|dat)$/i.test(file.name), render: (file) => {
|
|
8
|
+
const element = document.createElement('lyra-dataset-viewer');
|
|
9
|
+
element.src = file.src;
|
|
10
|
+
element.name = file.name;
|
|
11
|
+
return element;
|
|
12
|
+
} });
|
|
13
|
+
//# sourceMappingURL=dataset-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.js","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,gCAAgC,CAAC;AAE7F,aAAa,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;AACnD,wBAAwB,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAChI,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAUlB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host { display: block; --lyra-dataset-viewer-max-height: none; }
|
|
4
|
+
[part='base'] { display: flex; flex-direction: column; box-sizing: border-box; border: var(--lyra-border-width-thin) solid var(--lyra-color-border); border-radius: var(--lyra-radius); background: var(--lyra-color-surface); overflow: hidden; }
|
|
5
|
+
[part='body'] { box-sizing: border-box; overflow: auto; max-block-size: var(--lyra-dataset-viewer-max-height); }
|
|
6
|
+
[part='table'] { inline-size: 100%; border-collapse: collapse; font-size: var(--lyra-font-size-sm); }
|
|
7
|
+
[part='table'] th, [part='table'] td { padding: var(--lyra-space-xs) var(--lyra-space-s); border-block-end: var(--lyra-border-width-thin) solid var(--lyra-color-border); text-align: start; white-space: nowrap; }
|
|
8
|
+
[part='table'] th { position: sticky; inset-block-start: 0; background: var(--lyra-color-brand-quiet); color: var(--lyra-color-text); font-weight: var(--lyra-font-weight-semibold); }
|
|
9
|
+
.empty-note, [part='error'] { margin: 0; padding: var(--lyra-space-m); color: var(--lyra-color-text-quiet); font-size: var(--lyra-font-size-md-sm); }
|
|
10
|
+
[part='error'] { padding: var(--lyra-space-l); color: var(--lyra-color-danger); text-align: center; }
|
|
11
|
+
[part='spinner'] { display: flex; justify-content: center; padding: var(--lyra-space-l); }
|
|
12
|
+
`;
|
|
13
|
+
//# sourceMappingURL=dataset-viewer.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset-viewer.styles.js","sourceRoot":"","sources":["../../../src/components/dataset-viewer/dataset-viewer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUxB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
import type { DialogCloseReason } from '../dialog/dialog.class.js';
|
|
4
|
+
import { type DocumentRendererRegistry } from './registry.js';
|
|
5
|
+
export type DocumentViewerCloseReason = DialogCloseReason;
|
|
6
|
+
export interface LyraDocumentViewerEventMap {
|
|
7
|
+
'lyra-close': CustomEvent<DocumentViewerCloseReason>;
|
|
8
|
+
'lyra-download': CustomEvent<{
|
|
9
|
+
src: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A dialog-hosted document viewer with a pluggable MIME-type renderer registry.
|
|
15
|
+
* A registered renderer receives the current file; files without a matching
|
|
16
|
+
* renderer use `<lyra-document-preview>` as a safe built-in fallback.
|
|
17
|
+
*
|
|
18
|
+
* @customElement lyra-document-viewer
|
|
19
|
+
* @event lyra-close - Fired when the nested dialog dismisses the viewer. The
|
|
20
|
+
* detail is the dialog close reason.
|
|
21
|
+
* @event lyra-download - Fired when the viewer's safe download action is
|
|
22
|
+
* activated. The browser download itself is handled by the native link.
|
|
23
|
+
* @csspart body - Wrapper around the active renderer or fallback preview.
|
|
24
|
+
* @csspart download-link - The native download action shown when `src` is safe.
|
|
25
|
+
*/
|
|
26
|
+
export declare class LyraDocumentViewer extends LyraElement<LyraDocumentViewerEventMap> {
|
|
27
|
+
static styles: import("lit").CSSResultGroup[];
|
|
28
|
+
/** Whether the viewer is open. */
|
|
29
|
+
open: boolean;
|
|
30
|
+
/** Display name passed to the renderer and shown as the dialog heading. */
|
|
31
|
+
name: string;
|
|
32
|
+
/** MIME type used for renderer dispatch. */
|
|
33
|
+
mimeType: string;
|
|
34
|
+
/** Source URL passed to the renderer or fallback preview. */
|
|
35
|
+
src: string;
|
|
36
|
+
/** Optional per-instance registry; the default registry is used when unset. */
|
|
37
|
+
registry?: DocumentRendererRegistry;
|
|
38
|
+
private renderState;
|
|
39
|
+
private generation;
|
|
40
|
+
private resolvedLazy?;
|
|
41
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
42
|
+
private currentFile;
|
|
43
|
+
private resolve;
|
|
44
|
+
private renderWith;
|
|
45
|
+
private onDialogClose;
|
|
46
|
+
private onDownload;
|
|
47
|
+
private renderBody;
|
|
48
|
+
render(): TemplateResult;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'lyra-document-viewer': LyraDocumentViewer;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=document-viewer.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-viewer.class.d.ts","sourceRoot":"","sources":["../../../src/components/document-viewer/document-viewer.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACrD,eAAe,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,0BAA0B,CAAC;IAC7E,MAAM,CAAC,MAAM,iCAAgC;IAE7C,kCAAkC;IACU,IAAI,UAAS;IAEzD,2EAA2E;IAC/D,IAAI,SAAM;IAEtB,4CAA4C;IACN,QAAQ,SAAM;IAEpD,6DAA6D;IACjD,GAAG,SAAM;IAErB,+EAA+E;IAC/C,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAGpE,OAAO,CAAC,WAAW,CAI0B;IAE7C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAC,CAA4E;IAEjG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAIlD;IAED,OAAO,CAAC,WAAW;YAIL,OAAO;IAoCrB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,UAAU;IAoBlB,MAAM,IAAI,cAAc,CAwBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,kBAAkB,CAAC;KAC5C;CACF"}
|