@design.estate/dees-catalog 3.45.0 → 3.46.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.
Files changed (35) hide show
  1. package/dist_bundle/bundle.js +113 -173
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.js +8 -3
  4. package/dist_ts_web/elements/00group-media/dees-tile-audio/component.d.ts +1 -0
  5. package/dist_ts_web/elements/00group-media/dees-tile-audio/component.js +12 -5
  6. package/dist_ts_web/elements/00group-media/dees-tile-folder/component.d.ts +1 -0
  7. package/dist_ts_web/elements/00group-media/dees-tile-folder/component.js +12 -5
  8. package/dist_ts_web/elements/00group-media/dees-tile-image/component.d.ts +1 -0
  9. package/dist_ts_web/elements/00group-media/dees-tile-image/component.js +14 -22
  10. package/dist_ts_web/elements/00group-media/dees-tile-note/component.d.ts +1 -0
  11. package/dist_ts_web/elements/00group-media/dees-tile-note/component.js +16 -18
  12. package/dist_ts_web/elements/00group-media/dees-tile-pdf/component.d.ts +2 -0
  13. package/dist_ts_web/elements/00group-media/dees-tile-pdf/component.js +35 -16
  14. package/dist_ts_web/elements/00group-media/dees-tile-pdf/demo.js +5 -3
  15. package/dist_ts_web/elements/00group-media/dees-tile-pdf/styles.js +3 -2
  16. package/dist_ts_web/elements/00group-media/dees-tile-shared/DeesTileBase.d.ts +2 -0
  17. package/dist_ts_web/elements/00group-media/dees-tile-shared/DeesTileBase.js +6 -4
  18. package/dist_ts_web/elements/00group-media/dees-tile-shared/styles.js +23 -102
  19. package/dist_ts_web/elements/00group-media/dees-tile-video/component.d.ts +1 -0
  20. package/dist_ts_web/elements/00group-media/dees-tile-video/component.js +12 -5
  21. package/dist_watch/bundle.js +111 -171
  22. package/dist_watch/bundle.js.map +3 -3
  23. package/package.json +3 -3
  24. package/ts_web/00_commitinfo_data.ts +1 -1
  25. package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +7 -2
  26. package/ts_web/elements/00group-media/dees-tile-audio/component.ts +11 -4
  27. package/ts_web/elements/00group-media/dees-tile-folder/component.ts +11 -4
  28. package/ts_web/elements/00group-media/dees-tile-image/component.ts +13 -21
  29. package/ts_web/elements/00group-media/dees-tile-note/component.ts +15 -17
  30. package/ts_web/elements/00group-media/dees-tile-pdf/component.ts +28 -14
  31. package/ts_web/elements/00group-media/dees-tile-pdf/demo.ts +4 -2
  32. package/ts_web/elements/00group-media/dees-tile-pdf/styles.ts +2 -1
  33. package/ts_web/elements/00group-media/dees-tile-shared/DeesTileBase.ts +6 -3
  34. package/ts_web/elements/00group-media/dees-tile-shared/styles.ts +22 -101
  35. package/ts_web/elements/00group-media/dees-tile-video/component.ts +11 -4
@@ -144300,7 +144300,12 @@ var DeesAppui = class extends (_a49 = DeesElement, _appbarMenuItems_dec = [n5({
144300
144300
  this.viewLifecycle$.next({ type: "loading", viewId });
144301
144301
  try {
144302
144302
  await this.loadView(view, params2);
144303
- const route = view.route || viewId;
144303
+ let route = view.route || viewId;
144304
+ if (params2) {
144305
+ for (const [key2, val] of Object.entries(params2)) {
144306
+ route = route.replace(`:${key2}`, val);
144307
+ }
144308
+ }
144304
144309
  const newHash = `#${route}`;
144305
144310
  if (window.location.hash !== newHash) {
144306
144311
  window.history.pushState({ viewId }, "", newHash);
@@ -156785,8 +156790,9 @@ var tileBaseStyles = [
156785
156790
  background: ${cssManager.bdTheme("hsl(0 0% 98%)", "hsl(215 20% 14%)")};
156786
156791
  border-radius: 4px;
156787
156792
  overflow: hidden;
156788
- transition: transform 0.2s ease, box-shadow 0.2s ease;
156793
+ transition: box-shadow 0.2s ease;
156789
156794
  box-shadow: 0 1px 3px ${cssManager.bdTheme("rgba(0, 0, 0, 0.12)", "rgba(0, 0, 0, 0.24)")};
156795
+
156790
156796
  }
156791
156797
 
156792
156798
  .tile-container.clickable {
@@ -156794,7 +156800,6 @@ var tileBaseStyles = [
156794
156800
  }
156795
156801
 
156796
156802
  .tile-container.clickable:hover {
156797
- transform: translateY(-2px);
156798
156803
  box-shadow: 0 8px 24px ${cssManager.bdTheme("rgba(0, 0, 0, 0.12)", "rgba(0, 0, 0, 0.3)")};
156799
156804
  }
156800
156805
 
@@ -156841,90 +156846,39 @@ var tileBaseStyles = [
156841
156846
  color: white;
156842
156847
  }
156843
156848
 
156844
- .tile-info {
156849
+ .tile-info-bar {
156845
156850
  position: absolute;
156846
- bottom: 8px;
156847
- left: 8px;
156848
- right: 8px;
156849
- padding: 6px 10px;
156850
- background: ${cssManager.bdTheme("hsl(0 0% 100% / 0.92)", "hsl(215 20% 12% / 0.92)")};
156851
- border-radius: 6px;
156851
+ bottom: 0;
156852
+ left: 0;
156853
+ right: 0;
156854
+ padding: 4px 8px;
156855
+ background: ${cssManager.bdTheme("hsl(0 0% 100% / 0.95)", "hsl(215 20% 12% / 0.95)")};
156852
156856
  display: flex;
156853
156857
  align-items: center;
156854
156858
  gap: 6px;
156855
- font-size: 12px;
156856
- color: ${cssManager.bdTheme("hsl(215 16% 45%)", "hsl(215 16% 75%)")};
156857
- backdrop-filter: blur(12px);
156858
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
156859
- z-index: 10;
156860
- }
156861
-
156862
- .tile-info dees-icon {
156863
- font-size: 13px;
156864
- color: ${cssManager.bdTheme("hsl(217 91% 60%)", "hsl(213 93% 68%)")};
156865
- }
156866
-
156867
- .tile-info-text {
156859
+ font-size: 10px;
156868
156860
  font-weight: 500;
156869
- font-size: 11px;
156870
- }
156871
-
156872
- .tile-badge {
156873
- position: absolute;
156874
- top: 8px;
156875
- left: 8px;
156876
- right: 8px;
156877
- padding: 5px 8px;
156878
- background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.7)", "hsl(0 0% 100% / 0.9)")};
156879
- color: ${cssManager.bdTheme("white", "hsl(215 20% 12%)")};
156880
- border-radius: 4px;
156881
- font-size: 11px;
156882
- font-weight: 600;
156883
- text-align: center;
156861
+ color: ${cssManager.bdTheme("hsl(215 16% 45%)", "hsl(215 16% 75%)")};
156884
156862
  backdrop-filter: blur(12px);
156885
- z-index: 15;
156886
- pointer-events: none;
156887
- animation: fadeIn 0.2s ease;
156888
- }
156889
-
156890
- .tile-badge-corner {
156891
- position: absolute;
156892
- bottom: 8px;
156893
- right: 8px;
156894
- padding: 3px 8px;
156895
- background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.6)", "hsl(0 0% 100% / 0.85)")};
156896
- color: ${cssManager.bdTheme("white", "hsl(215 20% 12%)")};
156897
- border-radius: 4px;
156898
- font-size: 10px;
156899
- font-weight: 600;
156863
+ z-index: 25;
156900
156864
  font-variant-numeric: tabular-nums;
156901
- backdrop-filter: blur(8px);
156902
- z-index: 10;
156903
- pointer-events: none;
156904
156865
  }
156905
156866
 
156906
- .tile-badge-topright {
156907
- position: absolute;
156908
- top: 8px;
156909
- right: 8px;
156910
- padding: 3px 8px;
156911
- background: ${cssManager.bdTheme("hsl(0 0% 0% / 0.6)", "hsl(0 0% 100% / 0.85)")};
156912
- color: ${cssManager.bdTheme("white", "hsl(215 20% 12%)")};
156913
- border-radius: 4px;
156914
- font-size: 10px;
156915
- font-weight: 600;
156916
- backdrop-filter: blur(8px);
156917
- z-index: 15;
156918
- pointer-events: none;
156867
+ .info-label {
156868
+ white-space: nowrap;
156869
+ overflow: hidden;
156870
+ text-overflow: ellipsis;
156871
+ min-width: 0;
156919
156872
  }
156920
156873
 
156921
- /* Shift bottom badges up when label is present */
156922
- .tile-container:has(.tile-label) .tile-badge-corner {
156923
- bottom: 33px;
156874
+ .info-spacer {
156875
+ flex: 1;
156924
156876
  }
156925
156877
 
156926
- .tile-container:has(.tile-label) .tile-info {
156927
- bottom: 33px;
156878
+ .info-detail {
156879
+ white-space: nowrap;
156880
+ opacity: 0.7;
156881
+ flex-shrink: 0;
156928
156882
  }
156929
156883
 
156930
156884
  .tile-loading,
@@ -156970,40 +156924,12 @@ var tileBaseStyles = [
156970
156924
  font-weight: 500;
156971
156925
  }
156972
156926
 
156973
- .tile-label {
156974
- position: absolute;
156975
- bottom: 0;
156976
- left: 0;
156977
- right: 0;
156978
- padding: 6px 10px;
156979
- background: ${cssManager.bdTheme("hsl(0 0% 100% / 0.95)", "hsl(215 20% 12% / 0.95)")};
156980
- font-size: 11px;
156981
- font-weight: 500;
156982
- color: ${cssManager.bdTheme("hsl(215 16% 35%)", "hsl(215 16% 75%)")};
156983
- white-space: nowrap;
156984
- overflow: hidden;
156985
- text-overflow: ellipsis;
156986
- z-index: 10;
156987
- backdrop-filter: blur(12px);
156988
- }
156989
-
156990
156927
  @keyframes spin {
156991
156928
  to {
156992
156929
  transform: rotate(360deg);
156993
156930
  }
156994
156931
  }
156995
156932
 
156996
- @keyframes fadeIn {
156997
- from {
156998
- opacity: 0;
156999
- transform: translateY(-4px);
157000
- }
157001
- to {
157002
- opacity: 1;
157003
- transform: translateY(0);
157004
- }
157005
- }
157006
-
157007
156933
  /* Size variants */
157008
156934
  :host([size="small"]) .tile-container {
157009
156935
  width: 150px;
@@ -157066,12 +156992,14 @@ var DeesTileBase = class extends (_a75 = DeesElement, _clickable_dec = [n5({ typ
157066
156992
 
157067
156993
  ${!this.loading && !this.error ? this.renderTileContent() : ""}
157068
156994
 
157069
- ${this.label ? b2`
157070
- <div class="tile-label">${this.label}</div>
157071
- ` : ""}
156995
+ ${this.renderBottomBar()}
157072
156996
  </div>
157073
156997
  `;
157074
156998
  }
156999
+ /** Subclasses override this to render a bottom info bar with metadata */
157000
+ renderBottomBar() {
157001
+ return "";
157002
+ }
157075
157003
  async connectedCallback() {
157076
157004
  await super.connectedCallback();
157077
157005
  this.setupIntersectionObserver();
@@ -157151,10 +157079,11 @@ var tilePdfStyles = i`
157151
157079
  justify-content: center;
157152
157080
  box-sizing: border-box;
157153
157081
  overflow: hidden;
157082
+ padding: 8px 8px 28px 8px;
157154
157083
  }
157155
157084
 
157156
157085
  .preview-stack.non-a4 {
157157
- padding: 12px;
157086
+ padding: 12px 12px 28px 12px;
157158
157087
  }
157159
157088
 
157160
157089
  .preview-canvas {
@@ -157212,7 +157141,7 @@ var demo5 = () => {
157212
157141
  <style>
157213
157142
  .demo-container {
157214
157143
  padding: 40px;
157215
- background: #f5f5f5;
157144
+ background: ${cssManager.bdTheme("#f5f5f5", "#0a0a0a")};
157216
157145
  }
157217
157146
 
157218
157147
  .demo-section {
@@ -157223,6 +157152,7 @@ var demo5 = () => {
157223
157152
  margin-bottom: 20px;
157224
157153
  font-size: 18px;
157225
157154
  font-weight: 600;
157155
+ color: ${cssManager.bdTheme("#09090b", "#fafafa")};
157226
157156
  }
157227
157157
 
157228
157158
  .preview-grid {
@@ -157242,6 +157172,7 @@ var demo5 = () => {
157242
157172
  font-size: 14px;
157243
157173
  font-weight: 500;
157244
157174
  min-width: 100px;
157175
+ color: ${cssManager.bdTheme("#09090b", "#fafafa")};
157245
157176
  }
157246
157177
  </style>
157247
157178
 
@@ -157312,9 +157243,9 @@ var demo5 = () => {
157312
157243
 
157313
157244
  // ts_web/elements/00group-media/dees-tile-pdf/component.ts
157314
157245
  init_dist_ts28();
157315
- var _isA4Format_dec, _isHovering_dec, _rendered_dec, _pageCount_dec, _currentPreviewPage_dec, _pdfUrl_dec2, _a76, _DeesTilePdf_decorators, _init77, _pdfUrl2, _currentPreviewPage, _pageCount, _rendered, _isHovering, _isA4Format;
157246
+ var _fileSize_dec, _isA4Format_dec, _isHovering_dec, _rendered_dec, _pageCount_dec, _currentPreviewPage_dec, _pdfUrl_dec2, _a76, _DeesTilePdf_decorators, _init77, _pdfUrl2, _currentPreviewPage, _pageCount, _rendered, _isHovering, _isA4Format, _fileSize;
157316
157247
  _DeesTilePdf_decorators = [t4("dees-tile-pdf")];
157317
- var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type: String })], _currentPreviewPage_dec = [n5({ type: Number })], _pageCount_dec = [n5({ type: Number })], _rendered_dec = [n5({ type: Boolean })], _isHovering_dec = [n5({ type: Boolean })], _isA4Format_dec = [n5({ type: Boolean })], _a76) {
157248
+ var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type: String })], _currentPreviewPage_dec = [n5({ type: Number })], _pageCount_dec = [n5({ type: Number })], _rendered_dec = [n5({ type: Boolean })], _isHovering_dec = [n5({ type: Boolean })], _isA4Format_dec = [n5({ type: Boolean })], _fileSize_dec = [r5()], _a76) {
157318
157249
  constructor() {
157319
157250
  super(...arguments);
157320
157251
  __privateAdd(this, _pdfUrl2, __runInitializers(_init77, 8, this, "")), __runInitializers(_init77, 11, this);
@@ -157323,6 +157254,7 @@ var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type:
157323
157254
  __privateAdd(this, _rendered, __runInitializers(_init77, 20, this, false)), __runInitializers(_init77, 23, this);
157324
157255
  __privateAdd(this, _isHovering, __runInitializers(_init77, 24, this, false)), __runInitializers(_init77, 27, this);
157325
157256
  __privateAdd(this, _isA4Format, __runInitializers(_init77, 28, this, true)), __runInitializers(_init77, 31, this);
157257
+ __privateAdd(this, _fileSize, __runInitializers(_init77, 32, this, 0)), __runInitializers(_init77, 35, this);
157326
157258
  __publicField(this, "renderPagesTask", null);
157327
157259
  __publicField(this, "renderPagesQueued", false);
157328
157260
  __publicField(this, "pdfDocument");
@@ -157340,18 +157272,6 @@ var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type:
157340
157272
  ></canvas>
157341
157273
  </div>
157342
157274
 
157343
- ${this.pageCount > 1 && this.isHovering ? b2`
157344
- <div class="tile-badge">
157345
- Page ${this.currentPreviewPage} of ${this.pageCount}
157346
- </div>
157347
- ` : ""}
157348
-
157349
- ${this.pageCount > 0 && !this.isHovering ? b2`
157350
- <div class="tile-badge-corner">
157351
- ${this.pageCount} page${this.pageCount > 1 ? "s" : ""}
157352
- </div>
157353
- ` : ""}
157354
-
157355
157275
  ${this.clickable ? b2`
157356
157276
  <div class="tile-overlay">
157357
157277
  <dees-icon icon="lucide:Eye"></dees-icon>
@@ -157360,6 +157280,17 @@ var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type:
157360
157280
  ` : ""}
157361
157281
  `;
157362
157282
  }
157283
+ renderBottomBar() {
157284
+ if (!this.pageCount && !this.label) return "";
157285
+ return b2`
157286
+ <div class="tile-info-bar">
157287
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
157288
+ <span class="info-spacer"></span>
157289
+ ${this.pageCount > 1 && this.isHovering ? b2`<span class="info-detail">${this.currentPreviewPage}/${this.pageCount}</span>` : this.pageCount > 0 ? b2`<span class="info-detail">${this.pageCount} pg</span>` : ""}
157290
+ ${this.fileSize > 0 ? b2`<span class="info-detail">${formatFileSize(this.fileSize)}</span>` : ""}
157291
+ </div>
157292
+ `;
157293
+ }
157363
157294
  getTileClickDetail() {
157364
157295
  return {
157365
157296
  pdfUrl: this.pdfUrl,
@@ -157414,6 +157345,11 @@ var DeesTilePdf = class extends (_a76 = DeesTileBase, _pdfUrl_dec2 = [n5({ type:
157414
157345
  this.pdfDocument = await PdfManager.loadDocument(this.pdfUrl);
157415
157346
  this.pageCount = this.pdfDocument.numPages;
157416
157347
  this.currentPreviewPage = 1;
157348
+ try {
157349
+ const downloadInfo = await this.pdfDocument.getDownloadInfo();
157350
+ this.fileSize = downloadInfo.length;
157351
+ } catch {
157352
+ }
157417
157353
  this.loadedPdfUrl = this.pdfUrl;
157418
157354
  this.loading = false;
157419
157355
  await this.updateComplete;
@@ -157649,12 +157585,14 @@ _pageCount = new WeakMap();
157649
157585
  _rendered = new WeakMap();
157650
157586
  _isHovering = new WeakMap();
157651
157587
  _isA4Format = new WeakMap();
157588
+ _fileSize = new WeakMap();
157652
157589
  __decorateElement(_init77, 4, "pdfUrl", _pdfUrl_dec2, DeesTilePdf, _pdfUrl2);
157653
157590
  __decorateElement(_init77, 4, "currentPreviewPage", _currentPreviewPage_dec, DeesTilePdf, _currentPreviewPage);
157654
157591
  __decorateElement(_init77, 4, "pageCount", _pageCount_dec, DeesTilePdf, _pageCount);
157655
157592
  __decorateElement(_init77, 4, "rendered", _rendered_dec, DeesTilePdf, _rendered);
157656
157593
  __decorateElement(_init77, 4, "isHovering", _isHovering_dec, DeesTilePdf, _isHovering);
157657
157594
  __decorateElement(_init77, 4, "isA4Format", _isA4Format_dec, DeesTilePdf, _isA4Format);
157595
+ __decorateElement(_init77, 4, "fileSize", _fileSize_dec, DeesTilePdf, _fileSize);
157658
157596
  DeesTilePdf = __decorateElement(_init77, 0, "DeesTilePdf", _DeesTilePdf_decorators, DeesTilePdf);
157659
157597
  __publicField(DeesTilePdf, "demo", demo5);
157660
157598
  __publicField(DeesTilePdf, "demoGroups", ["Media", "PDF"]);
@@ -157774,19 +157712,6 @@ var DeesTileImage = class extends (_a77 = DeesTileBase, _src_dec4 = [n5({ type:
157774
157712
  ` : ""}
157775
157713
  </div>
157776
157714
 
157777
- ${this.imageWidth > 0 && this.imageHeight > 0 ? b2`
157778
- <div class="tile-badge-topright dimension-badge">
157779
- ${this.imageWidth} × ${this.imageHeight}
157780
- </div>
157781
- ` : ""}
157782
-
157783
- ${this.imageLoaded ? b2`
157784
- <div class="tile-info">
157785
- <dees-icon icon="lucide:Image"></dees-icon>
157786
- <span class="tile-info-text">${this.imageWidth} × ${this.imageHeight}</span>
157787
- </div>
157788
- ` : ""}
157789
-
157790
157715
  ${this.clickable ? b2`
157791
157716
  <div class="tile-overlay">
157792
157717
  <dees-icon icon="lucide:Eye"></dees-icon>
@@ -157795,6 +157720,16 @@ var DeesTileImage = class extends (_a77 = DeesTileBase, _src_dec4 = [n5({ type:
157795
157720
  ` : ""}
157796
157721
  `;
157797
157722
  }
157723
+ renderBottomBar() {
157724
+ if (!this.label && !(this.imageWidth > 0)) return "";
157725
+ return b2`
157726
+ <div class="tile-info-bar">
157727
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
157728
+ <span class="info-spacer"></span>
157729
+ ${this.imageWidth > 0 && this.imageHeight > 0 ? b2`<span class="info-detail">${this.imageWidth} × ${this.imageHeight}</span>` : ""}
157730
+ </div>
157731
+ `;
157732
+ }
157798
157733
  getTileClickDetail() {
157799
157734
  return {
157800
157735
  src: this.src,
@@ -157877,14 +157812,6 @@ __publicField(DeesTileImage, "styles", [
157877
157812
  opacity: 0;
157878
157813
  }
157879
157814
 
157880
- .tile-badge-topright.dimension-badge {
157881
- opacity: 0;
157882
- transition: opacity 0.2s ease;
157883
- }
157884
-
157885
- .tile-container.clickable:hover .tile-badge-topright.dimension-badge {
157886
- opacity: 1;
157887
- }
157888
157815
  `
157889
157816
  ]);
157890
157817
  __runInitializers(_init78, 1, DeesTileImage);
@@ -158000,10 +157927,6 @@ var DeesTileAudio = class extends (_a78 = DeesTileBase, _src_dec5 = [n5({ type:
158000
157927
  ` : ""}
158001
157928
  </div>
158002
157929
 
158003
- ${this.duration > 0 ? b2`
158004
- <div class="tile-badge-corner">${this.formatTime(this.duration)}</div>
158005
- ` : ""}
158006
-
158007
157930
  <div class="play-overlay">
158008
157931
  <div class="play-circle">
158009
157932
  <dees-icon icon="lucide:Play"></dees-icon>
@@ -158018,6 +157941,16 @@ var DeesTileAudio = class extends (_a78 = DeesTileBase, _src_dec5 = [n5({ type:
158018
157941
  ` : ""}
158019
157942
  `;
158020
157943
  }
157944
+ renderBottomBar() {
157945
+ if (!this.label && !this.duration) return "";
157946
+ return b2`
157947
+ <div class="tile-info-bar">
157948
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
157949
+ <span class="info-spacer"></span>
157950
+ ${this.duration > 0 ? b2`<span class="info-detail">${this.formatTime(this.duration)}</span>` : ""}
157951
+ </div>
157952
+ `;
157953
+ }
158021
157954
  getTileClickDetail() {
158022
157955
  return {
158023
157956
  src: this.src,
@@ -158375,10 +158308,6 @@ var DeesTileVideo = class extends (_a79 = DeesTileBase, _src_dec6 = [n5({ type:
158375
158308
  ` : ""}
158376
158309
  </div>
158377
158310
 
158378
- ${this.duration > 0 ? b2`
158379
- <div class="tile-badge-corner">${this.formatTime(this.duration)}</div>
158380
- ` : ""}
158381
-
158382
158311
  ${!this.isHovering ? b2`
158383
158312
  <div class="play-overlay">
158384
158313
  <dees-icon icon="lucide:Play"></dees-icon>
@@ -158393,6 +158322,16 @@ var DeesTileVideo = class extends (_a79 = DeesTileBase, _src_dec6 = [n5({ type:
158393
158322
  ` : ""}
158394
158323
  `;
158395
158324
  }
158325
+ renderBottomBar() {
158326
+ if (!this.label && !this.duration) return "";
158327
+ return b2`
158328
+ <div class="tile-info-bar">
158329
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
158330
+ <span class="info-spacer"></span>
158331
+ ${this.duration > 0 ? b2`<span class="info-detail">${this.formatTime(this.duration)}</span>` : ""}
158332
+ </div>
158333
+ `;
158334
+ }
158396
158335
  getTileClickDetail() {
158397
158336
  return {
158398
158337
  src: this.src,
@@ -158751,10 +158690,6 @@ var DeesTileNote = class extends (_a80 = DeesTileBase, _title_dec4 = [n5({ type:
158751
158690
  const lines = this.content.split("\n");
158752
158691
  return b2`
158753
158692
  <div class="note-content">
158754
- ${this.language ? b2`
158755
- <div class="tile-badge-topright note-language">${this.language}</div>
158756
- ` : ""}
158757
-
158758
158693
  ${this.title ? b2`
158759
158694
  <div class="note-header">
158760
158695
  <div class="note-title">${this.title}</div>
@@ -158766,11 +158701,6 @@ var DeesTileNote = class extends (_a80 = DeesTileBase, _title_dec4 = [n5({ type:
158766
158701
  ${!this.isHovering ? b2`<div class="note-fade"></div>` : ""}
158767
158702
  </div>
158768
158703
 
158769
- ${this.isHovering && lines.length > 12 ? b2`
158770
- <div class="tile-badge-corner">
158771
- Line ${this.getVisibleLineRange(lines.length)}
158772
- </div>
158773
- ` : ""}
158774
158704
  </div>
158775
158705
 
158776
158706
  ${this.clickable ? b2`
@@ -158781,6 +158711,18 @@ var DeesTileNote = class extends (_a80 = DeesTileBase, _title_dec4 = [n5({ type:
158781
158711
  ` : ""}
158782
158712
  `;
158783
158713
  }
158714
+ renderBottomBar() {
158715
+ const lines = this.content.split("\n");
158716
+ if (!this.label && !this.language && !lines.length) return "";
158717
+ return b2`
158718
+ <div class="tile-info-bar">
158719
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
158720
+ <span class="info-spacer"></span>
158721
+ ${this.language ? b2`<span class="info-detail">${this.language.toUpperCase()}</span>` : ""}
158722
+ ${this.isHovering && lines.length > 12 ? b2`<span class="info-detail">Line ${this.getVisibleLineRange(lines.length)}</span>` : b2`<span class="info-detail">${lines.length} lines</span>`}
158723
+ </div>
158724
+ `;
158725
+ }
158784
158726
  getTileClickDetail() {
158785
158727
  return {
158786
158728
  title: this.title,
@@ -158890,14 +158832,6 @@ __publicField(DeesTileNote, "styles", [
158890
158832
  pointer-events: none;
158891
158833
  }
158892
158834
 
158893
- .tile-badge-topright.note-language {
158894
- background: ${cssManager.bdTheme("hsl(215 20% 92%)", "hsl(215 20% 88%)")};
158895
- color: ${cssManager.bdTheme("hsl(215 16% 50%)", "hsl(215 16% 40%)")};
158896
- font-size: 9px;
158897
- text-transform: uppercase;
158898
- z-index: 5;
158899
- }
158900
-
158901
158835
  .note-lines {
158902
158836
  position: absolute;
158903
158837
  top: 0;
@@ -159085,10 +159019,6 @@ var DeesTileFolder = class extends (_a81 = DeesTileBase, _name_dec = [n5({ type:
159085
159019
  </div>
159086
159020
  </div>
159087
159021
 
159088
- <div class="tile-badge-corner">
159089
- ${this.items.length} item${this.items.length !== 1 ? "s" : ""}
159090
- </div>
159091
-
159092
159022
  ${this.clickable ? b2`
159093
159023
  <div class="tile-overlay">
159094
159024
  <dees-icon icon="lucide:FolderOpen"></dees-icon>
@@ -159097,6 +159027,16 @@ var DeesTileFolder = class extends (_a81 = DeesTileBase, _name_dec = [n5({ type:
159097
159027
  ` : ""}
159098
159028
  `;
159099
159029
  }
159030
+ renderBottomBar() {
159031
+ if (!this.label && !this.items.length) return "";
159032
+ return b2`
159033
+ <div class="tile-info-bar">
159034
+ ${this.label ? b2`<span class="info-label" title="${this.label}">${this.label}</span>` : ""}
159035
+ <span class="info-spacer"></span>
159036
+ <span class="info-detail">${this.items.length} item${this.items.length !== 1 ? "s" : ""}</span>
159037
+ </div>
159038
+ `;
159039
+ }
159100
159040
  getTileClickDetail() {
159101
159041
  return {
159102
159042
  name: this.name,
@@ -165734,7 +165674,7 @@ init_group_runtime();
165734
165674
  // ts_web/00_commitinfo_data.ts
165735
165675
  var commitinfo = {
165736
165676
  name: "@design.estate/dees-catalog",
165737
- version: "3.45.0",
165677
+ version: "3.46.0",
165738
165678
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
165739
165679
  };
165740
165680
  export {
@@ -167688,4 +167628,4 @@ ibantools/jsnext/ibantools.js:
167688
167628
  * @preferred
167689
167629
  *)
167690
167630
  */
167691
- //# sourceMappingURL=bundle-1773150993641.js.map
167631
+ //# sourceMappingURL=bundle-1773158680364.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.45.0',
6
+ version: '3.46.0',
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