@breadstone/mosaik-elements-svelte 0.1.48 → 0.1.49

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 (3) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/index.mjs +103 -63
  3. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.1.49 (2026-07-10)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **tab:** add scroll and overflow buttons ([54dfb62877](https://github.com/RueDeRennes/mosaik/commit/54dfb62877))
6
+
1
7
  ## 0.1.48 (2026-07-09)
2
8
 
3
9
  This was a version bump only for mosaik-elements-svelte to align it with other projects, there were no code changes.
package/index.mjs CHANGED
@@ -225335,27 +225335,18 @@ l7([
225335
225335
  //#endregion
225336
225336
  //#region ../mosaik-elements-foundation/dist/Controls/Components/Selectors/Tab/TabPanelElementTemplate.js
225337
225337
  function f7(e) {
225338
+ let t = e.placement === e7.Left || e.placement === e7.Right ? K.Vertical : K.Horizontal;
225338
225339
  return V`
225339
- ${U(e.hasScrollableContent, () => V`
225340
- <mosaik-button part="startScrollButton"
225341
- tabindex="-1"
225342
- .size="${G.Large}"
225343
- .icon="${X.chevronLeft}"
225344
- .disabled="${e.canScrollToStart}"
225345
- @click="${() => e.scrollByTabOffset("before")}"></mosaik-button>
225346
- `)}
225347
- <div part="content"
225348
- @scroll="${(t) => e.onScroll(t)}">
225340
+ <mosaik-scroll part="scroll"
225341
+ exportparts="scroller:content, scrollButtonPrev:startScrollButton, scrollButtonNext:endScrollButton"
225342
+ .dir="${e.dir}"
225343
+ .lang="${e.lang}"
225344
+ .orientation="${t}"
225345
+ .showScrollButtons="${!0}"
225346
+ .showScrollbar="${!1}"
225347
+ @changed="${() => e.onScrollStateChanged()}">
225349
225348
  <slot></slot>
225350
- </div>
225351
- ${U(e.hasScrollableContent, () => V`
225352
- <mosaik-button part="endScrollButton"
225353
- tabindex="-1"
225354
- size="large"
225355
- .icon="${X.chevronRight}"
225356
- .disabled="${e.canScrollToEnd}"
225357
- @click="${() => e.scrollByTabOffset("after")}"></mosaik-button>
225358
- `)}
225349
+ </mosaik-scroll>
225359
225350
  `;
225360
225351
  }
225361
225352
  //#endregion
@@ -225419,33 +225410,45 @@ function gEe() {
225419
225410
  flex-direction: row;
225420
225411
  flex: 1;
225421
225412
  justify-content: stretch;
225413
+ min-width: 0;
225414
+ min-height: 0;
225422
225415
  display: flex;
225423
225416
  }
225424
225417
 
225425
- :host [part="content"] {
225426
- scroll-behavior: smooth;
225427
- display: flex;
225428
- overflow: hidden;
225418
+ :host [part="scroll"] {
225419
+ flex: 1;
225420
+ width: 100%;
225421
+ min-width: 0;
225422
+ height: 100%;
225423
+ min-height: 0;
225429
225424
  }
225430
225425
 
225431
- :host([alignment="start"]) {
225426
+ :host([placement="top"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="bottom"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225427
+ flex: none;
225428
+ width: max-content;
225429
+ }
225430
+
225431
+ :host([placement="left"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="right"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225432
+ flex: none;
225433
+ height: max-content;
225434
+ }
225435
+
225436
+ :host([alignment="start"]) [part="scroll"]::part(content) {
225432
225437
  justify-content: flex-start;
225433
225438
  }
225434
225439
 
225435
- :host([alignment="center"]) {
225440
+ :host([alignment="center"]) [part="scroll"]::part(content) {
225436
225441
  justify-content: center;
225437
225442
  }
225438
225443
 
225439
- :host([alignment="end"]) {
225444
+ :host([alignment="end"]) [part="scroll"]::part(content) {
225440
225445
  justify-content: flex-end;
225441
225446
  }
225442
225447
 
225443
- :host([alignment="stretch"]) {
225444
- justify-content: stretch;
225445
- }
225446
-
225447
- :host([alignment="stretch"]) [part="content"] {
225448
+ :host([alignment="stretch"]) slot::slotted(mosaik-tab-strip) {
225448
225449
  flex: 1;
225450
+ width: 100%;
225451
+ height: 100%;
225449
225452
  }
225450
225453
 
225451
225454
  `;
@@ -225511,33 +225514,45 @@ function _Ee() {
225511
225514
  flex-direction: row;
225512
225515
  flex: 1;
225513
225516
  justify-content: stretch;
225517
+ min-width: 0;
225518
+ min-height: 0;
225514
225519
  display: flex;
225515
225520
  }
225516
225521
 
225517
- :host [part="content"] {
225518
- scroll-behavior: smooth;
225519
- display: flex;
225520
- overflow: hidden;
225522
+ :host [part="scroll"] {
225523
+ flex: 1;
225524
+ width: 100%;
225525
+ min-width: 0;
225526
+ height: 100%;
225527
+ min-height: 0;
225528
+ }
225529
+
225530
+ :host([placement="top"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="bottom"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225531
+ flex: none;
225532
+ width: max-content;
225521
225533
  }
225522
225534
 
225523
- :host([alignment="start"]) {
225535
+ :host([placement="left"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="right"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225536
+ flex: none;
225537
+ height: max-content;
225538
+ }
225539
+
225540
+ :host([alignment="start"]) [part="scroll"]::part(content) {
225524
225541
  justify-content: flex-start;
225525
225542
  }
225526
225543
 
225527
- :host([alignment="center"]) {
225544
+ :host([alignment="center"]) [part="scroll"]::part(content) {
225528
225545
  justify-content: center;
225529
225546
  }
225530
225547
 
225531
- :host([alignment="end"]) {
225548
+ :host([alignment="end"]) [part="scroll"]::part(content) {
225532
225549
  justify-content: flex-end;
225533
225550
  }
225534
225551
 
225535
- :host([alignment="stretch"]) {
225536
- justify-content: stretch;
225537
- }
225538
-
225539
- :host([alignment="stretch"]) [part="content"] {
225552
+ :host([alignment="stretch"]) slot::slotted(mosaik-tab-strip) {
225540
225553
  flex: 1;
225554
+ width: 100%;
225555
+ height: 100%;
225541
225556
  }
225542
225557
 
225543
225558
  `;
@@ -225603,33 +225618,45 @@ function vEe() {
225603
225618
  flex-direction: row;
225604
225619
  flex: 1;
225605
225620
  justify-content: stretch;
225621
+ min-width: 0;
225622
+ min-height: 0;
225606
225623
  display: flex;
225607
225624
  }
225608
225625
 
225609
- :host [part="content"] {
225610
- scroll-behavior: smooth;
225611
- display: flex;
225612
- overflow: hidden;
225626
+ :host [part="scroll"] {
225627
+ flex: 1;
225628
+ width: 100%;
225629
+ min-width: 0;
225630
+ height: 100%;
225631
+ min-height: 0;
225613
225632
  }
225614
225633
 
225615
- :host([alignment="start"]) {
225634
+ :host([placement="top"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="bottom"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225635
+ flex: none;
225636
+ width: max-content;
225637
+ }
225638
+
225639
+ :host([placement="left"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip), :host([placement="right"]:not([alignment="stretch"])) slot::slotted(mosaik-tab-strip) {
225640
+ flex: none;
225641
+ height: max-content;
225642
+ }
225643
+
225644
+ :host([alignment="start"]) [part="scroll"]::part(content) {
225616
225645
  justify-content: flex-start;
225617
225646
  }
225618
225647
 
225619
- :host([alignment="center"]) {
225648
+ :host([alignment="center"]) [part="scroll"]::part(content) {
225620
225649
  justify-content: center;
225621
225650
  }
225622
225651
 
225623
- :host([alignment="end"]) {
225652
+ :host([alignment="end"]) [part="scroll"]::part(content) {
225624
225653
  justify-content: flex-end;
225625
225654
  }
225626
225655
 
225627
- :host([alignment="stretch"]) {
225628
- justify-content: stretch;
225629
- }
225630
-
225631
- :host([alignment="stretch"]) [part="content"] {
225656
+ :host([alignment="stretch"]) slot::slotted(mosaik-tab-strip) {
225632
225657
  flex: 1;
225658
+ width: 100%;
225659
+ height: 100%;
225633
225660
  }
225634
225661
 
225635
225662
  `;
@@ -225644,7 +225671,7 @@ var p7 = function(e, t, n, r) {
225644
225671
  }, m7 = function(e, t) {
225645
225672
  if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
225646
225673
  }, h7 = class extends F(Y(J(j))) {
225647
- _containerElement;
225674
+ _scrollElement;
225648
225675
  _hasScrollableContent;
225649
225676
  _canScrollToStart;
225650
225677
  _canScrollToEnd;
@@ -225653,7 +225680,7 @@ var p7 = function(e, t, n, r) {
225653
225680
  _hasIndicator;
225654
225681
  _enableGestures;
225655
225682
  constructor() {
225656
- super(), this._alignment = $5.Start, this._placement = e7.Top, this._hasScrollableContent = !1, this._canScrollToStart = !0, this._canScrollToEnd = !1, this._hasIndicator = !1, this._enableGestures = !1;
225683
+ super(), this._alignment = $5.Start, this._placement = e7.Top, this._scrollElement = null, this._hasScrollableContent = !1, this._canScrollToStart = !1, this._canScrollToEnd = !1, this._hasIndicator = !1, this._enableGestures = !1;
225657
225684
  }
225658
225685
  static get is() {
225659
225686
  return "mosaik-tab-panel";
@@ -225704,12 +225731,13 @@ var p7 = function(e, t, n, r) {
225704
225731
  return f7(this);
225705
225732
  }
225706
225733
  onApplyTemplate() {
225707
- super.onApplyTemplate(), this._containerElement = this.getTemplatePart("content"), this.hasScrollableContent = this._containerElement.scrollWidth > this._containerElement.clientWidth;
225734
+ super.onApplyTemplate(), this._scrollElement = this.getTemplatePart("scroll"), this.syncScrollState();
225708
225735
  }
225709
- scrollByTabOffset(e) {}
225710
- onScroll(e) {
225711
- let t = e.target;
225712
- this.canScrollToEnd = !(t.scrollWidth <= Math.abs(this._containerElement.scrollLeft) + this._containerElement.offsetWidth), this.canScrollToStart = this._containerElement.scrollLeft !== 0;
225736
+ onScrollStateChanged() {
225737
+ this.syncScrollState();
225738
+ }
225739
+ syncScrollState() {
225740
+ this._scrollElement && (this.hasScrollableContent = this._scrollElement.isScrollable, this.canScrollToStart = this._scrollElement.isScrollable && !this._scrollElement.isAtScrollStart, this.canScrollToEnd = this._scrollElement.isScrollable && !this._scrollElement.isAtScrollEnd);
225713
225741
  }
225714
225742
  };
225715
225743
  p7([
@@ -225767,7 +225795,7 @@ p7([
225767
225795
  mode: "open",
225768
225796
  delegatesFocus: !0
225769
225797
  },
225770
- imports: [MS]
225798
+ imports: [V0]
225771
225799
  }), m7("design:paramtypes", [])], h7);
225772
225800
  //#endregion
225773
225801
  //#region ../mosaik-elements-foundation/dist/Controls/Components/Selectors/Tab/Themes/TabElement.Cosmopolitan.js
@@ -225975,6 +226003,10 @@ function yEe() {
225975
226003
  writing-mode: vertical-lr;
225976
226004
  }
225977
226005
 
226006
+ :host([placement="left"]) [part="root"] [part="tabPanel"] [part="tabStrip"] [part="tabStripItem"]::part(label) {
226007
+ transform: rotate(180deg);
226008
+ }
226009
+
225978
226010
  :host([placement="right"]) [part="root"] {
225979
226011
  flex-direction: row-reverse;
225980
226012
  }
@@ -226210,6 +226242,10 @@ function bEe() {
226210
226242
  writing-mode: vertical-lr;
226211
226243
  }
226212
226244
 
226245
+ :host([placement="left"]) [part="root"] [part="tabPanel"] [part="tabStrip"] [part="tabStripItem"]::part(label) {
226246
+ transform: rotate(180deg);
226247
+ }
226248
+
226213
226249
  :host([placement="right"]) [part="root"] {
226214
226250
  flex-direction: row-reverse;
226215
226251
  }
@@ -226477,6 +226513,10 @@ function xEe() {
226477
226513
  writing-mode: vertical-lr;
226478
226514
  }
226479
226515
 
226516
+ :host([placement="left"]) [part="root"] [part="tabPanel"] [part="tabStrip"] [part="tabStripItem"]::part(label) {
226517
+ transform: rotate(180deg);
226518
+ }
226519
+
226480
226520
  :host([placement="right"]) [part="root"] {
226481
226521
  flex-direction: row-reverse;
226482
226522
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breadstone/mosaik-elements-svelte",
3
- "version": "0.1.48",
3
+ "version": "0.1.49",
4
4
  "description": "Mosaik elements for Svelte.",
5
5
  "license": "MIT",
6
6
  "author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
@@ -11,8 +11,8 @@
11
11
  "url": "git+ssh://git@github.com/RueDeRennes/mosaik.git"
12
12
  },
13
13
  "dependencies": {
14
- "@breadstone/mosaik-elements": "0.1.48",
15
- "@breadstone/mosaik-elements-foundation": "0.1.48",
14
+ "@breadstone/mosaik-elements": "0.1.49",
15
+ "@breadstone/mosaik-elements-foundation": "0.1.49",
16
16
  "tslib": "2.8.1"
17
17
  },
18
18
  "peerDependencies": {