@design.estate/dees-catalog 3.52.4 → 3.52.5

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.
@@ -185402,25 +185402,47 @@ var viewerStyles = [
185402
185402
  contain: layout style;
185403
185403
  }
185404
185404
 
185405
- .pdf-viewer {
185406
- width: 100%;
185405
+ dees-tile {
185407
185406
  height: 100%;
185408
- display: flex;
185409
- flex-direction: column;
185410
- background: ${cssManager.bdTheme("hsl(0 0% 97%)", "hsl(215 20% 10%)")};
185411
- position: relative;
185412
- overflow: hidden;
185407
+ }
185408
+
185409
+ .viewer-container::before,
185410
+ .viewer-container::after {
185411
+ content: '';
185412
+ position: absolute;
185413
+ left: 0;
185414
+ right: 0;
185415
+ height: 8px;
185416
+ z-index: 5;
185417
+ pointer-events: none;
185418
+ }
185419
+
185420
+ .viewer-container::before {
185421
+ top: 0;
185422
+ background: linear-gradient(
185423
+ to bottom,
185424
+ ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 0% / 0.4)")},
185425
+ ${cssManager.bdTheme("hsl(0 0% 0% / 0.03)", "hsl(0 0% 0% / 0.12)")},
185426
+ transparent
185427
+ );
185428
+ }
185429
+
185430
+ .viewer-container::after {
185431
+ bottom: 0;
185432
+ background: linear-gradient(
185433
+ to top,
185434
+ ${cssManager.bdTheme("hsl(0 0% 0% / 0.08)", "hsl(0 0% 0% / 0.4)")},
185435
+ ${cssManager.bdTheme("hsl(0 0% 0% / 0.03)", "hsl(0 0% 0% / 0.12)")},
185436
+ transparent
185437
+ );
185413
185438
  }
185414
185439
 
185415
185440
  .toolbar {
185416
- height: 48px;
185417
- background: ${cssManager.bdTheme("hsl(0 0% 100%)", "hsl(215 20% 15%)")};
185418
- border-bottom: 1px solid ${cssManager.bdTheme("hsl(214 31% 91%)", "hsl(217 25% 22%)")};
185441
+ height: 40px;
185419
185442
  display: flex;
185420
185443
  align-items: center;
185421
- padding: 0 16px;
185422
- gap: 16px;
185423
- flex-shrink: 0;
185444
+ padding: 0 12px;
185445
+ gap: 12px;
185424
185446
  }
185425
185447
 
185426
185448
  .toolbar-group {
@@ -185498,16 +185520,15 @@ var viewerStyles = [
185498
185520
  }
185499
185521
 
185500
185522
  .viewer-container {
185501
- flex: 1;
185523
+ position: absolute;
185524
+ inset: 0;
185502
185525
  display: flex;
185503
185526
  overflow: hidden;
185504
- position: relative;
185505
- min-height: 0;
185506
185527
  }
185507
185528
 
185508
185529
  .sidebar {
185509
185530
  width: 200px;
185510
- background: ${cssManager.bdTheme("hsl(0 0% 100%)", "hsl(215 20% 15%)")};
185531
+ background: transparent;
185511
185532
  border-right: 1px solid ${cssManager.bdTheme("hsl(214 31% 91%)", "hsl(217 25% 22%)")};
185512
185533
  display: flex;
185513
185534
  flex-direction: column;
@@ -185724,6 +185745,53 @@ var viewerStyles = [
185724
185745
  .pdf-viewer.with-sidebar .viewer-main {
185725
185746
  margin-left: 0;
185726
185747
  }
185748
+
185749
+ .pdf-footer {
185750
+ height: 28px;
185751
+ padding: 0 16px;
185752
+ display: flex;
185753
+ align-items: center;
185754
+ font-size: 11px;
185755
+ color: ${cssManager.bdTheme("hsl(0 0% 45%)", "hsl(0 0% 55%)")};
185756
+ width: 100%;
185757
+ box-sizing: border-box;
185758
+ position: relative;
185759
+ }
185760
+
185761
+ .pdf-footer-left {
185762
+ display: flex;
185763
+ align-items: center;
185764
+ gap: 12px;
185765
+ }
185766
+
185767
+ .pdf-footer-left .pdf-footer-item + .pdf-footer-item {
185768
+ padding-left: 12px;
185769
+ border-left: 1px solid ${cssManager.bdTheme("hsl(0 0% 89.8%)", "hsl(0 0% 14.9%)")};
185770
+ }
185771
+
185772
+ .pdf-footer-center {
185773
+ position: absolute;
185774
+ left: 50%;
185775
+ transform: translateX(-50%);
185776
+ font-weight: 500;
185777
+ transition: margin-left 0.15s ease;
185778
+ }
185779
+
185780
+ .pdf-footer-right {
185781
+ margin-left: auto;
185782
+ }
185783
+
185784
+ .pdf-footer-item {
185785
+ white-space: nowrap;
185786
+ }
185787
+
185788
+ .pdf-footer-filename {
185789
+ font-family: 'Intel One Mono', 'Geist Mono', monospace;
185790
+ opacity: 0.7;
185791
+ overflow: hidden;
185792
+ text-overflow: ellipsis;
185793
+ white-space: nowrap;
185794
+ }
185727
185795
  `
185728
185796
  ];
185729
185797
 
@@ -185732,8 +185800,8 @@ init_dist_ts30();
185732
185800
  var demo4 = /* @__PURE__ */ __name(() => b2`
185733
185801
  <style>
185734
185802
  .demo-container {
185735
- padding: 40px;
185736
- background: #f5f5f5;
185803
+ padding: 20px;
185804
+ background: #000000;
185737
185805
  }
185738
185806
 
185739
185807
  .demo-section {
@@ -185744,6 +185812,7 @@ var demo4 = /* @__PURE__ */ __name(() => b2`
185744
185812
  margin-bottom: 20px;
185745
185813
  font-size: 18px;
185746
185814
  font-weight: 600;
185815
+ color: #fafafa;
185747
185816
  }
185748
185817
 
185749
185818
  dees-pdf-viewer {
@@ -185800,9 +185869,9 @@ var demo4 = /* @__PURE__ */ __name(() => b2`
185800
185869
  // ts_web/elements/00group-media/dees-pdf-viewer/component.ts
185801
185870
  init_dist_ts30();
185802
185871
  init_dees_icon();
185803
- var _pageData_dec, _thumbnailData_dec, _documentId_dec, _loading_dec7, _currentZoom_dec, _totalPages_dec, _currentPage_dec, _showSidebar_dec, _showToolbar_dec2, _initialZoom_dec, _initialPage_dec, _pdfUrl_dec, _a78, _DeesPdfViewer_decorators, _init79, _pdfUrl, _initialPage, _initialZoom, _showToolbar2, _showSidebar, _currentPage, _totalPages, _currentZoom, _loading7, _documentId, _thumbnailData, _pageData;
185872
+ var _pdfFileSize_dec, _pageData_dec, _thumbnailData_dec, _documentId_dec, _loading_dec7, _currentZoom_dec, _totalPages_dec, _currentPage_dec, _showSidebar_dec, _showToolbar_dec2, _initialZoom_dec, _initialPage_dec, _pdfUrl_dec, _a78, _DeesPdfViewer_decorators, _init79, _pdfUrl, _initialPage, _initialZoom, _showToolbar2, _showSidebar, _currentPage, _totalPages, _currentZoom, _loading7, _documentId, _thumbnailData, _pageData, _pdfFileSize;
185804
185873
  _DeesPdfViewer_decorators = [customElement("dees-pdf-viewer")];
185805
- var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_dec = [n5({ type: String })], _initialPage_dec = [n5({ type: Number })], _initialZoom_dec = [n5({ type: String })], _showToolbar_dec2 = [n5({ type: Boolean })], _showSidebar_dec = [n5({ type: Boolean })], _currentPage_dec = [n5({ type: Number })], _totalPages_dec = [n5({ type: Number })], _currentZoom_dec = [n5({ type: Number })], _loading_dec7 = [n5({ type: Boolean })], _documentId_dec = [n5({ type: String })], _thumbnailData_dec = [n5({ type: Array })], _pageData_dec = [n5({ type: Array })], _a78) {
185874
+ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_dec = [n5({ type: String })], _initialPage_dec = [n5({ type: Number })], _initialZoom_dec = [n5({ type: String })], _showToolbar_dec2 = [n5({ type: Boolean })], _showSidebar_dec = [n5({ type: Boolean })], _currentPage_dec = [n5({ type: Number })], _totalPages_dec = [n5({ type: Number })], _currentZoom_dec = [n5({ type: Number })], _loading_dec7 = [n5({ type: Boolean })], _documentId_dec = [n5({ type: String })], _thumbnailData_dec = [n5({ type: Array })], _pageData_dec = [n5({ type: Array })], _pdfFileSize_dec = [n5({ type: Number })], _a78) {
185806
185875
  constructor() {
185807
185876
  super();
185808
185877
  __privateAdd(this, _pdfUrl, __runInitializers(_init79, 8, this, "")), __runInitializers(_init79, 11, this);
@@ -185817,6 +185886,7 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
185817
185886
  __privateAdd(this, _documentId, __runInitializers(_init79, 44, this, "")), __runInitializers(_init79, 47, this);
185818
185887
  __privateAdd(this, _thumbnailData, __runInitializers(_init79, 48, this, [])), __runInitializers(_init79, 51, this);
185819
185888
  __privateAdd(this, _pageData, __runInitializers(_init79, 52, this, [])), __runInitializers(_init79, 55, this);
185889
+ __privateAdd(this, _pdfFileSize, __runInitializers(_init79, 56, this, 0)), __runInitializers(_init79, 59, this);
185820
185890
  __publicField(this, "pdfDocument");
185821
185891
  __publicField(this, "renderState", "idle");
185822
185892
  __publicField(this, "renderAbortController", null);
@@ -185853,9 +185923,9 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
185853
185923
  }
185854
185924
  render() {
185855
185925
  return b2`
185856
- <div class="pdf-viewer ${this.showSidebar ? "with-sidebar" : ""}">
185926
+ <dees-tile class="${this.showSidebar ? "with-sidebar" : ""}">
185857
185927
  ${this.showToolbar ? b2`
185858
- <div class="toolbar">
185928
+ <div slot="header" class="toolbar">
185859
185929
  <div class="toolbar-group">
185860
185930
  <button
185861
185931
  class="toolbar-button"
@@ -186008,7 +186078,23 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
186008
186078
  `}
186009
186079
  </div>
186010
186080
  </div>
186011
- </div>
186081
+ <div slot="footer" class="pdf-footer">
186082
+ <div class="pdf-footer-left">
186083
+ <span class="pdf-footer-item">Zoom ${Math.round(this.currentZoom * 100)}%</span>
186084
+ ${this.pdfFileSize > 0 ? b2`
186085
+ <span class="pdf-footer-item">${this.formatFileSize(this.pdfFileSize)}</span>
186086
+ ` : ""}
186087
+ </div>
186088
+ <div class="pdf-footer-center" style="margin-left: ${this.showSidebar ? "100px" : "0"}">
186089
+ <span>Page ${this.currentPage} of ${this.totalPages}</span>
186090
+ </div>
186091
+ <div class="pdf-footer-right">
186092
+ ${this.pdfUrl ? b2`
186093
+ <span class="pdf-footer-filename">${this.pdfUrl.split("/").pop()}</span>
186094
+ ` : ""}
186095
+ </div>
186096
+ </div>
186097
+ </dees-tile>
186012
186098
  `;
186013
186099
  }
186014
186100
  async connectedCallback() {
@@ -186053,6 +186139,11 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
186053
186139
  this.scrollThumbnailIntoView(this.currentPage);
186054
186140
  }
186055
186141
  }
186142
+ formatFileSize(bytes) {
186143
+ if (bytes < 1024) return `${bytes} B`;
186144
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
186145
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
186146
+ }
186056
186147
  async loadPdf() {
186057
186148
  this.loading = true;
186058
186149
  this.renderState = "loading";
@@ -186065,6 +186156,12 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
186065
186156
  this.totalPages = this.pdfDocument.numPages;
186066
186157
  this.currentPage = this.initialPage;
186067
186158
  this.resolveInitialViewportMode();
186159
+ try {
186160
+ const data = await this.pdfDocument.getData();
186161
+ this.pdfFileSize = data.length;
186162
+ } catch (e11) {
186163
+ this.pdfFileSize = 0;
186164
+ }
186068
186165
  this.thumbnailData = Array.from({ length: this.totalPages }, (_4, i11) => ({
186069
186166
  page: i11 + 1,
186070
186167
  rendered: false
@@ -186333,7 +186430,7 @@ var _DeesPdfViewer = class _DeesPdfViewer extends (_a78 = DeesElement, _pdfUrl_d
186333
186430
  const pageRect = pageWrapper.getBoundingClientRect();
186334
186431
  const viewerRect = this.viewerMain.getBoundingClientRect();
186335
186432
  const currentScrollTop = this.viewerMain.scrollTop;
186336
- const targetScrollTop = currentScrollTop + (pageRect.top - viewerRect.top) - this.viewerMain.clientTop;
186433
+ const targetScrollTop = currentScrollTop + (pageRect.top - viewerRect.top) - this.viewerMain.clientTop - 16;
186337
186434
  if (smooth) {
186338
186435
  this.viewerMain.scrollTo({
186339
186436
  top: targetScrollTop,
@@ -186782,6 +186879,7 @@ _loading7 = new WeakMap();
186782
186879
  _documentId = new WeakMap();
186783
186880
  _thumbnailData = new WeakMap();
186784
186881
  _pageData = new WeakMap();
186882
+ _pdfFileSize = new WeakMap();
186785
186883
  __decorateElement(_init79, 4, "pdfUrl", _pdfUrl_dec, _DeesPdfViewer, _pdfUrl);
186786
186884
  __decorateElement(_init79, 4, "initialPage", _initialPage_dec, _DeesPdfViewer, _initialPage);
186787
186885
  __decorateElement(_init79, 4, "initialZoom", _initialZoom_dec, _DeesPdfViewer, _initialZoom);
@@ -186794,6 +186892,7 @@ __decorateElement(_init79, 4, "loading", _loading_dec7, _DeesPdfViewer, _loading
186794
186892
  __decorateElement(_init79, 4, "documentId", _documentId_dec, _DeesPdfViewer, _documentId);
186795
186893
  __decorateElement(_init79, 4, "thumbnailData", _thumbnailData_dec, _DeesPdfViewer, _thumbnailData);
186796
186894
  __decorateElement(_init79, 4, "pageData", _pageData_dec, _DeesPdfViewer, _pageData);
186895
+ __decorateElement(_init79, 4, "pdfFileSize", _pdfFileSize_dec, _DeesPdfViewer, _pdfFileSize);
186797
186896
  _DeesPdfViewer = __decorateElement(_init79, 0, "DeesPdfViewer", _DeesPdfViewer_decorators, _DeesPdfViewer);
186798
186897
  __name(_DeesPdfViewer, "DeesPdfViewer");
186799
186898
  __publicField(_DeesPdfViewer, "demo", demo4);
@@ -196945,7 +197044,7 @@ init_group_runtime();
196945
197044
  // ts_web/00_commitinfo_data.ts
196946
197045
  var commitinfo = {
196947
197046
  name: "@design.estate/dees-catalog",
196948
- version: "3.52.4",
197047
+ version: "3.52.5",
196949
197048
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
196950
197049
  };
196951
197050
  export {
@@ -198912,4 +199011,4 @@ ibantools/jsnext/ibantools.js:
198912
199011
  * @preferred
198913
199012
  *)
198914
199013
  */
198915
- //# sourceMappingURL=bundle-1775244332575.js.map
199014
+ //# sourceMappingURL=bundle-1775246346220.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.52.4',
6
+ version: '3.52.5',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -1,5 +1,6 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
2
  import '../../00group-utility/dees-icon/dees-icon.js';
3
+ import '../../00group-layout/dees-tile/dees-tile.js';
3
4
  declare global {
4
5
  interface HTMLElementTagNameMap {
5
6
  'dees-pdf-viewer': DeesPdfViewer;
@@ -29,6 +30,7 @@ export declare class DeesPdfViewer extends DeesElement {
29
30
  rendering: boolean;
30
31
  textLayerRendered: boolean;
31
32
  }>;
33
+ accessor pdfFileSize: number;
32
34
  private pdfDocument;
33
35
  private renderState;
34
36
  private renderAbortController;
@@ -58,6 +60,7 @@ export declare class DeesPdfViewer extends DeesElement {
58
60
  connectedCallback(): Promise<void>;
59
61
  disconnectedCallback(): Promise<void>;
60
62
  updated(changedProperties: Map<PropertyKey, unknown>): Promise<void>;
63
+ private formatFileSize;
61
64
  private loadPdf;
62
65
  private setupIntersectionObserver;
63
66
  private renderVisiblePages;