@shibui-ui/ui 1.24.1 → 1.25.1
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/dist/components/atoms/index.d.ts +45 -16
- package/dist/components/atoms/index.d.ts.map +1 -1
- package/dist/components/molecules/index.d.ts +20 -1
- package/dist/components/molecules/index.d.ts.map +1 -1
- package/dist/components/organisms/index.d.ts +17 -1
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/index.d.ts +3 -82
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -80
- package/dist/index.js.map +1 -1
- package/dist/index10.js +82 -18
- package/dist/index10.js.map +1 -1
- package/dist/index11.js +84 -69
- package/dist/index11.js.map +1 -1
- package/dist/index12.js +40 -26
- package/dist/index12.js.map +1 -1
- package/dist/index13.js +16 -39
- package/dist/index13.js.map +1 -1
- package/dist/index14.js +29 -44
- package/dist/index14.js.map +1 -1
- package/dist/index15.js +16 -117
- package/dist/index15.js.map +1 -1
- package/dist/index16.js +48 -40
- package/dist/index16.js.map +1 -1
- package/dist/index17.js +41 -25
- package/dist/index17.js.map +1 -1
- package/dist/index18.js +76 -49
- package/dist/index18.js.map +1 -1
- package/dist/index19.js +19 -39
- package/dist/index19.js.map +1 -1
- package/dist/index194.js +94 -24
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +2 -2
- package/dist/index197.js +2 -24
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +74 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +64 -35
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +21 -41
- package/dist/index20.js.map +1 -1
- package/dist/index200.js +2 -2
- package/dist/index201.js +54 -13
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +2 -2
- package/dist/index203.js +2 -2
- package/dist/index204.js +143 -157
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +43 -24
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +51 -2
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +2 -11
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +33 -2
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +2 -91
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +90 -26
- package/dist/index21.js.map +1 -1
- package/dist/index210.js +6 -2
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +2 -41
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +260 -2
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +16 -5
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +2 -2
- package/dist/index215.js +2 -35
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +59 -42
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +32 -2
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +2 -85
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +2 -2
- package/dist/index22.js +41 -48
- package/dist/index22.js.map +1 -1
- package/dist/index220.js +73 -65
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +81 -2
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +2 -10
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +133 -2
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +2 -26
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +2 -2
- package/dist/index226.js +66 -12
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +97 -2
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +2 -2
- package/dist/index229.js +62 -24
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +50 -94
- package/dist/index23.js.map +1 -1
- package/dist/index230.js +2 -2
- package/dist/index231.js +2 -2
- package/dist/index232.js +12 -2
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +5 -16
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +2 -2
- package/dist/index235.js +11 -9
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +2 -2
- package/dist/index237.js +76 -34
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +2 -2
- package/dist/index239.js +2 -27
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +37 -34
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +39 -2
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +2 -34
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +235 -12
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +82 -2
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +2 -9
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +94 -2
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +2 -5
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +268 -2
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +2 -36
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +21 -2
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +51 -32
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +2 -31
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +9 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +2 -19
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +15 -2
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +2 -2
- package/dist/index255.js +135 -69
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +2 -11
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +5 -2
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +2 -78
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +9 -2
- package/dist/index259.js.map +1 -1
- package/dist/index26.js +31 -236
- package/dist/index26.js.map +1 -1
- package/dist/index260.js +2 -32
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +2 -2
- package/dist/index262.js +92 -9
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +59 -2
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +2 -16
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +41 -2
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +2 -16
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +34 -9
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +8 -54
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +2 -2
- package/dist/index27.js +27 -58
- package/dist/index27.js.map +1 -1
- package/dist/index270.js +42 -7
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +2 -2
- package/dist/index272.js +2 -34
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +16 -2
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +9 -2
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +6 -13
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +2 -2
- package/dist/index277.js +8 -15
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +2 -2
- package/dist/index279.js +55 -2
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +247 -24
- package/dist/index28.js.map +1 -1
- package/dist/index280.js +2 -42
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +2 -100
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +20 -2
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +2 -97
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +33 -2
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +6 -27
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +2 -2
- package/dist/index287.js +9 -44
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +2 -2
- package/dist/index289.js +2 -33
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +249 -39
- package/dist/index29.js.map +1 -1
- package/dist/index290.js +36 -2
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +2 -57
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +24 -2
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +2 -2
- package/dist/index294.js +26 -247
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +2 -2
- package/dist/index296.js +2 -72
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +42 -2
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +7 -56
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +2 -133
- package/dist/index299.js.map +1 -1
- package/dist/index30.js +32 -19
- package/dist/index30.js.map +1 -1
- package/dist/index300.js +30 -2
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +2 -12
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +34 -2
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +2 -162
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +26 -42
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +2 -81
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +10 -2
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +2 -71
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +2 -2
- package/dist/index309.js +19 -2
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +96 -11
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +2 -81
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +2 -2
- package/dist/index312.js +42 -2
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +2 -74
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +25 -67
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +2 -2
- package/dist/index316.js +9 -17
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +2 -2
- package/dist/index318.js +84 -32
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +2 -2
- package/dist/index32.js +40 -48
- package/dist/index32.js.map +1 -1
- package/dist/index320.js +68 -77
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +2 -2
- package/dist/index322.js +12 -148
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +1 -1
- package/dist/index324.js +28 -6
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +2 -2
- package/dist/index326.js +78 -87
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +2 -2
- package/dist/index328.js +78 -2
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +2 -237
- package/dist/index329.js.map +1 -1
- package/dist/index33.js +20 -56
- package/dist/index33.js.map +1 -1
- package/dist/index330.js +11 -6
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +2 -2
- package/dist/index332.js +18 -59
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +2 -2
- package/dist/index334.js +12 -5
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +2 -2
- package/dist/index336.js +2 -15
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +88 -2
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +24 -2
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +2 -92
- package/dist/index339.js.map +1 -1
- package/dist/index34.js +59 -35
- package/dist/index34.js.map +1 -1
- package/dist/index340.js +42 -14
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +2 -2
- package/dist/index342.js +22 -80
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +2 -2
- package/dist/index344.js +2 -18
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +16 -2
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +2 -268
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +176 -2
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +2 -2
- package/dist/index349.js +35 -39
- package/dist/index349.js.map +1 -1
- package/dist/index35.js +101 -28
- package/dist/index35.js.map +1 -1
- package/dist/index350.js +3 -3
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +2 -2
- package/dist/index352.js +19 -26
- package/dist/index352.js.map +1 -1
- package/dist/index357.js +26 -19
- package/dist/index357.js.map +1 -1
- package/dist/index36.js +115 -33
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +41 -115
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +34 -246
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +30 -137
- package/dist/index39.js.map +1 -1
- package/dist/index4.js +26 -84
- package/dist/index4.js.map +1 -1
- package/dist/index40.js +26 -400
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +28 -77
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +23 -26
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +36 -33
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +62 -16
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +138 -21
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +129 -22
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +41 -19
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +11 -82
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +56 -279
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +21 -34
- package/dist/index5.js.map +1 -1
- package/dist/index50.js +280 -33
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +74 -94
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +66 -41
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +333 -62
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +96 -256
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +38 -130
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +251 -50
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +144 -115
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +93 -183
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +33 -339
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +2 -2
- package/dist/index60.js +102 -66
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +73 -179
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +117 -97
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +113 -263
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +258 -251
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +177 -79
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +261 -140
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +183 -100
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +28 -89
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +20 -161
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +394 -32
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +190 -53
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +204 -112
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +2 -2
- package/dist/index73.js +89 -28
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +126 -63
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +122 -111
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +67 -64
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +112 -88
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +87 -16
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +151 -79
- package/dist/index79.js.map +1 -1
- package/dist/index8.js +25 -127
- package/dist/index8.js.map +1 -1
- package/dist/index80.js +104 -186
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +59 -20
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +17 -129
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +88 -217
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +64 -112
- package/dist/index84.js.map +1 -1
- package/dist/index9.js +30 -45
- package/dist/index9.js.map +1 -1
- package/dist/src/components/atoms/index.d.ts +45 -16
- package/dist/src/components/atoms/index.d.ts.map +1 -1
- package/dist/src/components/molecules/index.d.ts +20 -1
- package/dist/src/components/molecules/index.d.ts.map +1 -1
- package/dist/src/components/organisms/index.d.ts +17 -1
- package/dist/src/components/organisms/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -82
- package/dist/src/index.d.ts.map +1 -1
- package/dist/tokens.css +353 -7
- package/dist/vite.config.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/index78.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { unsafeCSS, css, LitElement
|
|
1
|
+
import { unsafeCSS, css, LitElement } from "lit";
|
|
2
2
|
import { property, customElement } from "lit/decorators.js";
|
|
3
|
-
import
|
|
3
|
+
import { parallaxTextStackTemplate } from "./index253.js";
|
|
4
|
+
import stackCss from "./index254.js";
|
|
4
5
|
import sharedTokens from "./index196.js";
|
|
5
6
|
var __defProp = Object.defineProperty;
|
|
6
7
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -12,30 +13,100 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
12
13
|
if (kind && result) __defProp(target, key, result);
|
|
13
14
|
return result;
|
|
14
15
|
};
|
|
15
|
-
let
|
|
16
|
+
let LibParallaxTextStack = class extends LitElement {
|
|
16
17
|
constructor() {
|
|
17
18
|
super(...arguments);
|
|
18
|
-
this.
|
|
19
|
+
this.lines = [];
|
|
20
|
+
this.speed = 0.15;
|
|
21
|
+
this.size = "lg";
|
|
22
|
+
this.color = "default";
|
|
23
|
+
this._ticking = false;
|
|
24
|
+
this._reducedMotion = false;
|
|
25
|
+
this._onMotionChange = (e) => {
|
|
26
|
+
this._reducedMotion = e.matches;
|
|
27
|
+
if (this._reducedMotion) this._resetLayers();
|
|
28
|
+
};
|
|
29
|
+
this._onScroll = () => {
|
|
30
|
+
if (this._ticking) return;
|
|
31
|
+
this._ticking = true;
|
|
32
|
+
requestAnimationFrame(() => {
|
|
33
|
+
this._applyParallax();
|
|
34
|
+
this._ticking = false;
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/* ════════════════════════════════════════
|
|
39
|
+
Ciclo de vida
|
|
40
|
+
════════════════════════════════════════ */
|
|
41
|
+
connectedCallback() {
|
|
42
|
+
super.connectedCallback();
|
|
43
|
+
this._motionQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
44
|
+
this._reducedMotion = this._motionQuery.matches;
|
|
45
|
+
this._motionQuery.addEventListener("change", this._onMotionChange);
|
|
46
|
+
window.addEventListener("scroll", this._onScroll, { passive: true });
|
|
47
|
+
}
|
|
48
|
+
disconnectedCallback() {
|
|
49
|
+
var _a;
|
|
50
|
+
super.disconnectedCallback();
|
|
51
|
+
window.removeEventListener("scroll", this._onScroll);
|
|
52
|
+
(_a = this._motionQuery) == null ? void 0 : _a.removeEventListener("change", this._onMotionChange);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* firstUpdated: primer render completado → shadow DOM listo.
|
|
56
|
+
* connectedCallback se dispara ANTES de que Lit renderice,
|
|
57
|
+
* por lo que querySelectorAll('.pts-layer') devuelve vacío ahí.
|
|
58
|
+
*/
|
|
59
|
+
firstUpdated() {
|
|
60
|
+
this._applyParallax();
|
|
61
|
+
}
|
|
62
|
+
/* ════════════════════════════════════════
|
|
63
|
+
Lógica del efecto
|
|
64
|
+
════════════════════════════════════════ */
|
|
65
|
+
_applyParallax() {
|
|
66
|
+
var _a;
|
|
67
|
+
if (this._reducedMotion) return;
|
|
68
|
+
const layers = (_a = this.shadowRoot) == null ? void 0 : _a.querySelectorAll(".pts-layer");
|
|
69
|
+
if (!(layers == null ? void 0 : layers.length)) return;
|
|
70
|
+
const rect = this.getBoundingClientRect();
|
|
71
|
+
const centerEl = rect.top + rect.height / 2;
|
|
72
|
+
const centerVp = window.innerHeight / 2;
|
|
73
|
+
const offset = centerVp - centerEl;
|
|
74
|
+
layers.forEach((layer, i) => {
|
|
75
|
+
const direction = i % 2 === 0 ? 1 : -1;
|
|
76
|
+
const factor = (i + 1) * this.speed;
|
|
77
|
+
layer.style.transform = `translateX(${offset * factor * direction}px)`;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
_resetLayers() {
|
|
81
|
+
var _a;
|
|
82
|
+
(_a = this.shadowRoot) == null ? void 0 : _a.querySelectorAll(".pts-layer").forEach((l) => {
|
|
83
|
+
l.style.transform = "";
|
|
84
|
+
});
|
|
19
85
|
}
|
|
20
86
|
render() {
|
|
21
|
-
return
|
|
22
|
-
<div class="tl" role="list">
|
|
23
|
-
<slot></slot>
|
|
24
|
-
</div>
|
|
25
|
-
`;
|
|
87
|
+
return parallaxTextStackTemplate(this);
|
|
26
88
|
}
|
|
27
89
|
};
|
|
28
|
-
|
|
90
|
+
LibParallaxTextStack.styles = [
|
|
29
91
|
css`${unsafeCSS(sharedTokens)}`,
|
|
30
|
-
css`${unsafeCSS(
|
|
92
|
+
css`${unsafeCSS(stackCss)}`
|
|
31
93
|
];
|
|
94
|
+
__decorateClass([
|
|
95
|
+
property({ type: Array })
|
|
96
|
+
], LibParallaxTextStack.prototype, "lines", 2);
|
|
97
|
+
__decorateClass([
|
|
98
|
+
property({ type: Number })
|
|
99
|
+
], LibParallaxTextStack.prototype, "speed", 2);
|
|
100
|
+
__decorateClass([
|
|
101
|
+
property({ type: String, reflect: true })
|
|
102
|
+
], LibParallaxTextStack.prototype, "size", 2);
|
|
32
103
|
__decorateClass([
|
|
33
104
|
property({ type: String, reflect: true })
|
|
34
|
-
],
|
|
35
|
-
|
|
36
|
-
customElement("lib-
|
|
37
|
-
],
|
|
105
|
+
], LibParallaxTextStack.prototype, "color", 2);
|
|
106
|
+
LibParallaxTextStack = __decorateClass([
|
|
107
|
+
customElement("lib-parallax-text-stack")
|
|
108
|
+
], LibParallaxTextStack);
|
|
38
109
|
export {
|
|
39
|
-
|
|
110
|
+
LibParallaxTextStack
|
|
40
111
|
};
|
|
41
112
|
//# sourceMappingURL=index78.js.map
|
package/dist/index78.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index78.js","sources":["../src/components/organisms/
|
|
1
|
+
{"version":3,"file":"index78.js","sources":["../src/components/organisms/parallax-text/lib-parallax-text-stack.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { parallaxTextStackTemplate } from './lib-parallax-text-stack.html';\nimport stackCss from './lib-parallax-text-stack.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport type { ParallaxTextSize, ParallaxTextColor } from './lib-parallax-text-stack.types';\n\n/**\n * lib-parallax-text-stack — Shibui UI\n *\n * Apila líneas tipográficas con parallax horizontal al hacer scroll.\n * Capas pares → outline (trazo, sin relleno).\n * Capas impares → italic serif (relleno).\n *\n * @prop lines — Array de strings, una por capa\n * @prop speed — Factor de velocidad (default 0.15)\n * @prop size — 'sm' | 'md' | 'lg'(default) | 'xl' | '2xl'\n * @prop color — 'default' | 'muted' | 'kaki' | 'celadon'\n *\n * IMPORTANTE: el padre debe llevar overflow-x:hidden.\n * El componente NO lo aplica en :host — si lo hiciera, el\n * translateX quedaría clipado y el efecto sería invisible.\n */\n@customElement('lib-parallax-text-stack')\nexport class LibParallaxTextStack extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(stackCss)}`,\n ];\n\n @property({ type: Array })\n lines: string[] = [];\n\n @property({ type: Number })\n speed = 0.15;\n\n @property({ type: String, reflect: true })\n size: ParallaxTextSize = 'lg';\n\n @property({ type: String, reflect: true })\n color: ParallaxTextColor = 'default';\n\n /* ── Estado interno ── */\n private _ticking = false;\n private _reducedMotion = false;\n private _motionQuery!: MediaQueryList;\n\n /* ════════════════════════════════════════\n Ciclo de vida\n ════════════════════════════════════════ */\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._motionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n this._reducedMotion = this._motionQuery.matches;\n this._motionQuery.addEventListener('change', this._onMotionChange);\n\n // { passive: true } — no bloquea el hilo principal\n window.addEventListener('scroll', this._onScroll, { passive: true });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener('scroll', this._onScroll);\n this._motionQuery?.removeEventListener('change', this._onMotionChange);\n }\n\n /**\n * firstUpdated: primer render completado → shadow DOM listo.\n * connectedCallback se dispara ANTES de que Lit renderice,\n * por lo que querySelectorAll('.pts-layer') devuelve vacío ahí.\n */\n override firstUpdated(): void {\n this._applyParallax();\n }\n\n /* ════════════════════════════════════════\n Manejadores\n ════════════════════════════════════════ */\n\n private _onMotionChange = (e: MediaQueryListEvent): void => {\n this._reducedMotion = e.matches;\n if (this._reducedMotion) this._resetLayers();\n };\n\n private _onScroll = (): void => {\n if (this._ticking) return;\n this._ticking = true;\n requestAnimationFrame(() => {\n this._applyParallax();\n this._ticking = false;\n });\n };\n\n /* ════════════════════════════════════════\n Lógica del efecto\n ════════════════════════════════════════ */\n\n private _applyParallax(): void {\n if (this._reducedMotion) return;\n\n // Clase correcta: pts-layer (no parallax-layer del original)\n const layers = this.shadowRoot?.querySelectorAll<HTMLElement>('.pts-layer');\n if (!layers?.length) return;\n\n const rect = this.getBoundingClientRect();\n const centerEl = rect.top + rect.height / 2;\n const centerVp = window.innerHeight / 2;\n // offset > 0: componente bajo el centro → capas se separan\n // offset < 0: componente sobre el centro → capas se contraen\n const offset = centerVp - centerEl;\n\n layers.forEach((layer, i) => {\n // Capas alternas en direcciones opuestas — efecto acordeón\n const direction = i % 2 === 0 ? 1 : -1;\n const factor = (i + 1) * this.speed;\n layer.style.transform = `translateX(${offset * factor * direction}px)`;\n });\n }\n\n private _resetLayers(): void {\n this.shadowRoot\n ?.querySelectorAll<HTMLElement>('.pts-layer')\n .forEach(l => { l.style.transform = ''; });\n }\n\n protected override render(): TemplateResult {\n return parallaxTextStackTemplate(this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-parallax-text-stack': LibParallaxTextStack;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;AAwBO,IAAM,uBAAN,cAAmC,WAAW;AAAA,EAA9C,cAAA;AAAA,UAAA,GAAA,SAAA;AAOL,SAAA,QAAkB,CAAA;AAGlB,SAAA,QAAQ;AAGR,SAAA,OAAyB;AAGzB,SAAA,QAA2B;AAG3B,SAAQ,WAAW;AACnB,SAAQ,iBAAiB;AAqCzB,SAAQ,kBAAkB,CAAC,MAAiC;AAC1D,WAAK,iBAAiB,EAAE;AACxB,UAAI,KAAK,eAAgB,MAAK,aAAA;AAAA,IAChC;AAEA,SAAQ,YAAY,MAAY;AAC9B,UAAI,KAAK,SAAU;AACnB,WAAK,WAAW;AAChB,4BAAsB,MAAM;AAC1B,aAAK,eAAA;AACL,aAAK,WAAW;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EA1CS,oBAA0B;AACjC,UAAM,kBAAA;AAEN,SAAK,eAAe,OAAO,WAAW,kCAAkC;AACxE,SAAK,iBAAiB,KAAK,aAAa;AACxC,SAAK,aAAa,iBAAiB,UAAU,KAAK,eAAe;AAGjE,WAAO,iBAAiB,UAAU,KAAK,WAAW,EAAE,SAAS,MAAM;AAAA,EACrE;AAAA,EAES,uBAA6B;;AACpC,UAAM,qBAAA;AACN,WAAO,oBAAoB,UAAU,KAAK,SAAS;AACnD,eAAK,iBAAL,mBAAmB,oBAAoB,UAAU,KAAK;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOS,eAAqB;AAC5B,SAAK,eAAA;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAwBQ,iBAAuB;;AAC7B,QAAI,KAAK,eAAgB;AAGzB,UAAM,UAAS,UAAK,eAAL,mBAAiB,iBAA8B;AAC9D,QAAI,EAAC,iCAAQ,QAAQ;AAErB,UAAM,OAAW,KAAK,sBAAA;AACtB,UAAM,WAAW,KAAK,MAAM,KAAK,SAAS;AAC1C,UAAM,WAAW,OAAO,cAAc;AAGtC,UAAM,SAAW,WAAW;AAE5B,WAAO,QAAQ,CAAC,OAAO,MAAM;AAE3B,YAAM,YAAY,IAAI,MAAM,IAAI,IAAI;AACpC,YAAM,UAAa,IAAI,KAAK,KAAK;AACjC,YAAM,MAAM,YAAY,cAAc,SAAS,SAAS,SAAS;AAAA,IACnE,CAAC;AAAA,EACH;AAAA,EAEQ,eAAqB;;AAC3B,eAAK,eAAL,mBACI,iBAA8B,cAC/B,QAAQ,CAAA,MAAK;AAAE,QAAE,MAAM,YAAY;AAAA,IAAI;AAAA,EAC5C;AAAA,EAEmB,SAAyB;AAC1C,WAAO,0BAA0B,IAAI;AAAA,EACvC;AACF;AA1Ga,qBACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,QAAQ,CAAC;AAC3B;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,MAAA,CAAO;AAAA,GANd,qBAOX,WAAA,SAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATf,qBAUX,WAAA,SAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAZ9B,qBAaX,WAAA,QAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAf9B,qBAgBX,WAAA,SAAA,CAAA;AAhBW,uBAAN,gBAAA;AAAA,EADN,cAAc,yBAAyB;AAAA,GAC3B,oBAAA;"}
|
package/dist/index79.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { unsafeCSS, css, LitElement } from "lit";
|
|
2
|
-
import { property, query, customElement } from "lit/decorators.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { property, state, query, customElement } from "lit/decorators.js";
|
|
3
|
+
import "./index25.js";
|
|
4
|
+
import { sidebarTemplate } from "./index255.js";
|
|
5
|
+
import componentCss from "./index256.js";
|
|
5
6
|
import sharedTokens from "./index196.js";
|
|
6
7
|
var __defProp = Object.defineProperty;
|
|
7
8
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -13,103 +14,174 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
13
14
|
if (kind && result) __defProp(target, key, result);
|
|
14
15
|
return result;
|
|
15
16
|
};
|
|
16
|
-
let
|
|
17
|
+
let LibSidebar = class extends LitElement {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
this.logoMark = "渋";
|
|
21
|
+
this.brandName = "shibui";
|
|
22
|
+
this.showSearch = false;
|
|
23
|
+
this.searchPlaceholder = "Buscar…";
|
|
24
|
+
this.links = [];
|
|
25
|
+
this.active = "";
|
|
26
|
+
this.userName = "";
|
|
27
|
+
this.userRole = "";
|
|
28
|
+
this.userAvatar = "";
|
|
29
|
+
this.userInitials = "";
|
|
30
|
+
this.showUserAction = false;
|
|
31
|
+
this.variant = "dark";
|
|
32
|
+
this.collapsed = false;
|
|
33
|
+
this._mobileOpen = false;
|
|
32
34
|
}
|
|
33
35
|
/* ── Lifecycle ── */
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
updated(changed) {
|
|
37
|
+
if (changed.has("active") || changed.has("links")) {
|
|
38
|
+
this._moveIndicator();
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
/* ── Render ── */
|
|
42
|
+
render() {
|
|
43
|
+
return sidebarTemplate({
|
|
44
|
+
logoMark: this.logoMark,
|
|
45
|
+
brandName: this.brandName,
|
|
46
|
+
showSearch: this.showSearch,
|
|
47
|
+
searchPlaceholder: this.searchPlaceholder,
|
|
48
|
+
links: this.links,
|
|
49
|
+
active: this.active,
|
|
50
|
+
userName: this.userName,
|
|
51
|
+
userRole: this.userRole,
|
|
52
|
+
userAvatar: this.userAvatar,
|
|
53
|
+
userInitials: this.userInitials,
|
|
54
|
+
showUserAction: this.showUserAction,
|
|
55
|
+
variant: this.variant,
|
|
56
|
+
collapsed: this.collapsed,
|
|
57
|
+
mobileOpen: this._mobileOpen,
|
|
58
|
+
onLinkClick: this._handleLink.bind(this),
|
|
59
|
+
onUserAction: this._handleUserAction.bind(this),
|
|
60
|
+
onSearchInput: this._handleSearch.bind(this),
|
|
61
|
+
onOverlayClick: () => {
|
|
62
|
+
this._mobileOpen = false;
|
|
63
|
+
},
|
|
64
|
+
onToggleClick: () => {
|
|
65
|
+
this._mobileOpen = !this._mobileOpen;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
43
68
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
/* ── Sliding indicator ── */
|
|
70
|
+
_moveIndicator() {
|
|
71
|
+
requestAnimationFrame(() => {
|
|
72
|
+
const nav = this._nav;
|
|
73
|
+
const ind = this._indicator;
|
|
74
|
+
if (!nav || !ind) return;
|
|
75
|
+
const btn = nav.querySelector(".sb-link.is-active");
|
|
76
|
+
if (!btn) {
|
|
77
|
+
ind.classList.remove("visible");
|
|
78
|
+
return;
|
|
52
79
|
}
|
|
80
|
+
const navTop = nav.getBoundingClientRect().top;
|
|
81
|
+
const btnRect = btn.getBoundingClientRect();
|
|
82
|
+
ind.style.top = `${btnRect.top - navTop + nav.scrollTop}px`;
|
|
83
|
+
ind.style.height = `${btnRect.height}px`;
|
|
84
|
+
ind.classList.add("visible");
|
|
53
85
|
});
|
|
54
|
-
this._ro.observe(this);
|
|
55
86
|
}
|
|
56
|
-
/* ──
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.
|
|
87
|
+
/* ── Handlers ── */
|
|
88
|
+
_handleLink(id) {
|
|
89
|
+
const previous = this.active;
|
|
90
|
+
this.active = id;
|
|
91
|
+
this.dispatchEvent(new CustomEvent("ui-lib-navigate", {
|
|
92
|
+
detail: { id, previous },
|
|
93
|
+
bubbles: true,
|
|
94
|
+
composed: true
|
|
95
|
+
}));
|
|
96
|
+
if (this._mobileOpen) this._mobileOpen = false;
|
|
60
97
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (rect.top > 0 || rect.bottom < window.innerHeight) return;
|
|
67
|
-
const scrolled = -rect.top;
|
|
68
|
-
const progress = Math.min(Math.max(scrolled / scrollable, 0), 1);
|
|
69
|
-
const paddingRight = window.innerWidth * (this.paddingInline / 100);
|
|
70
|
-
const maxMove = this._content.scrollWidth - window.innerWidth + paddingRight;
|
|
71
|
-
this._content.style.transform = `translateX(-${progress * maxMove}px)`;
|
|
72
|
-
this._progressFill.style.width = `${progress * 100}%`;
|
|
73
|
-
this._counter.textContent = `${Math.round(progress * 100)}%`;
|
|
74
|
-
this.dispatchEvent(new CustomEvent(
|
|
75
|
-
"ui-lib-scroll-progress",
|
|
76
|
-
{
|
|
77
|
-
detail: { progress, percent: Math.round(progress * 100) },
|
|
78
|
-
bubbles: true,
|
|
79
|
-
composed: true
|
|
80
|
-
}
|
|
81
|
-
));
|
|
98
|
+
_handleUserAction() {
|
|
99
|
+
this.dispatchEvent(new CustomEvent("ui-lib-user-action", {
|
|
100
|
+
bubbles: true,
|
|
101
|
+
composed: true
|
|
102
|
+
}));
|
|
82
103
|
}
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
_handleSearch(query2) {
|
|
105
|
+
this.dispatchEvent(new CustomEvent("ui-lib-search", {
|
|
106
|
+
detail: { query: query2 },
|
|
107
|
+
bubbles: true,
|
|
108
|
+
composed: true
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
/* ── Public API ── */
|
|
112
|
+
/** Alterna collapsed ↔ expanded. Llamar desde el botón hamburger de la topbar. */
|
|
113
|
+
toggle() {
|
|
114
|
+
this.collapsed = !this.collapsed;
|
|
115
|
+
}
|
|
116
|
+
/** Expande el sidebar */
|
|
117
|
+
expand() {
|
|
118
|
+
this.collapsed = false;
|
|
119
|
+
}
|
|
120
|
+
/** Colapsa el sidebar a icon rail */
|
|
121
|
+
collapse() {
|
|
122
|
+
this.collapsed = true;
|
|
123
|
+
}
|
|
124
|
+
/** Navega programáticamente */
|
|
125
|
+
navigateTo(id) {
|
|
126
|
+
this._handleLink(id);
|
|
85
127
|
}
|
|
86
128
|
};
|
|
87
|
-
|
|
129
|
+
LibSidebar.styles = [
|
|
88
130
|
css`${unsafeCSS(sharedTokens)}`,
|
|
89
|
-
css`${unsafeCSS(
|
|
131
|
+
css`${unsafeCSS(componentCss)}`
|
|
90
132
|
];
|
|
91
133
|
__decorateClass([
|
|
92
|
-
property({ type:
|
|
93
|
-
],
|
|
134
|
+
property({ type: String, attribute: "logo-mark" })
|
|
135
|
+
], LibSidebar.prototype, "logoMark", 2);
|
|
136
|
+
__decorateClass([
|
|
137
|
+
property({ type: String, attribute: "brand-name" })
|
|
138
|
+
], LibSidebar.prototype, "brandName", 2);
|
|
139
|
+
__decorateClass([
|
|
140
|
+
property({ type: Boolean, attribute: "show-search", reflect: true })
|
|
141
|
+
], LibSidebar.prototype, "showSearch", 2);
|
|
142
|
+
__decorateClass([
|
|
143
|
+
property({ type: String, attribute: "search-placeholder" })
|
|
144
|
+
], LibSidebar.prototype, "searchPlaceholder", 2);
|
|
145
|
+
__decorateClass([
|
|
146
|
+
property({ type: Array })
|
|
147
|
+
], LibSidebar.prototype, "links", 2);
|
|
148
|
+
__decorateClass([
|
|
149
|
+
property({ type: String, reflect: true })
|
|
150
|
+
], LibSidebar.prototype, "active", 2);
|
|
151
|
+
__decorateClass([
|
|
152
|
+
property({ type: String, attribute: "user-name" })
|
|
153
|
+
], LibSidebar.prototype, "userName", 2);
|
|
154
|
+
__decorateClass([
|
|
155
|
+
property({ type: String, attribute: "user-role" })
|
|
156
|
+
], LibSidebar.prototype, "userRole", 2);
|
|
157
|
+
__decorateClass([
|
|
158
|
+
property({ type: String, attribute: "user-avatar" })
|
|
159
|
+
], LibSidebar.prototype, "userAvatar", 2);
|
|
160
|
+
__decorateClass([
|
|
161
|
+
property({ type: String, attribute: "user-initials" })
|
|
162
|
+
], LibSidebar.prototype, "userInitials", 2);
|
|
163
|
+
__decorateClass([
|
|
164
|
+
property({ type: Boolean, attribute: "show-user-action" })
|
|
165
|
+
], LibSidebar.prototype, "showUserAction", 2);
|
|
94
166
|
__decorateClass([
|
|
95
|
-
property({ type:
|
|
96
|
-
],
|
|
167
|
+
property({ type: String, reflect: true })
|
|
168
|
+
], LibSidebar.prototype, "variant", 2);
|
|
97
169
|
__decorateClass([
|
|
98
|
-
property({ type: Boolean,
|
|
99
|
-
],
|
|
170
|
+
property({ type: Boolean, reflect: true })
|
|
171
|
+
], LibSidebar.prototype, "collapsed", 2);
|
|
100
172
|
__decorateClass([
|
|
101
|
-
|
|
102
|
-
],
|
|
173
|
+
state()
|
|
174
|
+
], LibSidebar.prototype, "_mobileOpen", 2);
|
|
103
175
|
__decorateClass([
|
|
104
|
-
query(".
|
|
105
|
-
],
|
|
176
|
+
query(".sb-indicator")
|
|
177
|
+
], LibSidebar.prototype, "_indicator", 2);
|
|
106
178
|
__decorateClass([
|
|
107
|
-
query(".
|
|
108
|
-
],
|
|
109
|
-
|
|
110
|
-
customElement("lib-
|
|
111
|
-
],
|
|
179
|
+
query(".sb-nav")
|
|
180
|
+
], LibSidebar.prototype, "_nav", 2);
|
|
181
|
+
LibSidebar = __decorateClass([
|
|
182
|
+
customElement("lib-sidebar")
|
|
183
|
+
], LibSidebar);
|
|
112
184
|
export {
|
|
113
|
-
|
|
185
|
+
LibSidebar
|
|
114
186
|
};
|
|
115
187
|
//# sourceMappingURL=index79.js.map
|
package/dist/index79.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index79.js","sources":["../src/components/organisms/horizontal-scroll-section/lib-horizontal-scroll-section.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { horizontalScrollTemplate } from './lib-horizontal-scroll-section.html';\nimport sectionCss from './lib-horizontal-scroll-section.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport type { HorizontalScrollProgressEvent } from './lib-horizontal-scroll-section.types';\n\n/**\n * lib-horizontal-scroll-section\n *\n * Convierte scroll vertical en desplazamiento horizontal sticky.\n * El bloque ocupa `scrollDuration` vh de altura — esa \"duración\"\n * determina cuánto debe bajar el usuario para ver todo el contenido.\n *\n * @prop scroll-duration — Multiplicador de vh (default 3 → 300vh)\n * @prop padding-inline — Padding lateral en vw (default 10 → 10vw)\n * @prop show-progress — Muestra barra de progreso y contador (default true)\n *\n * @fires ui-lib-scroll-progress — { detail: HorizontalScrollProgressEvent }\n *\n * @slot — Items del carrusel horizontal (flex-shrink: 0 automático)\n *\n * @cssvar --_scroll-height — Sobreescribe la altura total del bloque\n * @cssvar --_gap — Gap entre items (default: calc(--lib-space-xl * 2))\n * @cssvar --_padding-inline — Padding lateral en vw (sincronizado con el prop)\n */\n@customElement('lib-horizontal-scroll-section')\nexport class LibHorizontalScrollSection extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(sectionCss)}`,\n ];\n\n /** Cuántas veces la altura del viewport dura el efecto (default: 3 → 300vh) */\n @property({ type: Number, attribute: 'scroll-duration' })\n scrollDuration = 3;\n\n /** Padding lateral en vw aplicado a ambos lados del track (default: 10) */\n @property({ type: Number, attribute: 'padding-inline' })\n paddingInline = 10;\n\n /** Muestra la barra de progreso y el contador de porcentaje */\n @property({ type: Boolean, attribute: 'show-progress' })\n showProgress = true;\n\n @query('.horizontal-content') declare private _content: HTMLElement;\n @query('.progress-fill') declare private _progressFill: HTMLElement;\n @query('.counter') declare private _counter: HTMLElement;\n\n private _ticking = false;\n private _ro: ResizeObserver | null = null;\n\n /* ── Lifecycle ── */\n override connectedCallback(): void {\n super.connectedCallback();\n window.addEventListener('scroll', this._onScroll, { passive: true });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener('scroll', this._onScroll);\n this._ro?.disconnect();\n }\n\n override firstUpdated(): void {\n // ResizeObserver: recalcula si cambia el viewport o el contenido\n this._ro = new ResizeObserver((): void => {\n // Forzar recálculo en el siguiente frame\n if (!this._ticking) {\n requestAnimationFrame((): void => {\n this._calculate();\n this._ticking = false;\n });\n this._ticking = true;\n }\n });\n this._ro.observe(this);\n }\n\n /* ── Props → CSS custom properties ── */\n override updated(): void {\n this.style.setProperty('--_scroll-height', `${this.scrollDuration * 100}vh`);\n this.style.setProperty('--_padding-inline', String(this.paddingInline));\n }\n\n /* ── Scroll handler — con rAF throttle ── */\n private _onScroll = (): void => {\n if (this._ticking) return;\n this._ticking = true;\n requestAnimationFrame((): void => {\n this._calculate();\n this._ticking = false;\n });\n };\n\n /* ── Cálculo core ── */\n private _calculate(): void {\n if (!this._content || !this._progressFill || !this._counter) return;\n\n const rect = this.getBoundingClientRect();\n const scrollable = rect.height - window.innerHeight;\n\n // Solo actualiza mientras el bloque está sticky en pantalla\n if (rect.top > 0 || rect.bottom < window.innerHeight) return;\n\n const scrolled = -rect.top;\n const progress = Math.min(Math.max(scrolled / scrollable, 0), 1);\n\n // maxMove: cuántos px debe desplazarse el track.\n // scrollWidth incluye el padding-left; el padding-right se añade manualmente\n // porque CSS no lo suma al scrollWidth del flex container.\n const paddingRight = window.innerWidth * (this.paddingInline / 100);\n const maxMove = this._content.scrollWidth - window.innerWidth + paddingRight;\n\n // Mutar el DOM directamente — sin Lit reactivity para mantener 60fps\n this._content.style.transform = `translateX(-${progress * maxMove}px)`;\n this._progressFill.style.width = `${progress * 100}%`;\n this._counter.textContent = `${Math.round(progress * 100)}%`;\n\n // Emitir evento solo cuando hay cambio real (evita flooding)\n this.dispatchEvent(new CustomEvent<HorizontalScrollProgressEvent>(\n 'ui-lib-scroll-progress',\n {\n detail: { progress, percent: Math.round(progress * 100) },\n bubbles: true,\n composed: true,\n },\n ));\n }\n\n protected override render(): TemplateResult {\n return horizontalScrollTemplate(this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-horizontal-scroll-section': LibHorizontalScrollSection;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;AA2BO,IAAM,6BAAN,cAAyC,WAAW;AAAA,EAApD,cAAA;AAAA,UAAA,GAAA,SAAA;AAQL,SAAA,iBAAiB;AAIjB,SAAA,gBAAgB;AAIhB,SAAA,eAAe;AAMf,SAAQ,WAAW;AACnB,SAAQ,MAA6B;AAoCrC,SAAQ,YAAY,MAAY;AAC9B,UAAI,KAAK,SAAU;AACnB,WAAK,WAAW;AAChB,4BAAsB,MAAY;AAChC,aAAK,WAAA;AACL,aAAK,WAAW;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EAAA;AAAA;AAAA,EAxCS,oBAA0B;AACjC,UAAM,kBAAA;AACN,WAAO,iBAAiB,UAAU,KAAK,WAAW,EAAE,SAAS,MAAM;AAAA,EACrE;AAAA,EAES,uBAA6B;;AACpC,UAAM,qBAAA;AACN,WAAO,oBAAoB,UAAU,KAAK,SAAS;AACnD,eAAK,QAAL,mBAAU;AAAA,EACZ;AAAA,EAES,eAAqB;AAE5B,SAAK,MAAM,IAAI,eAAe,MAAY;AAExC,UAAI,CAAC,KAAK,UAAU;AAClB,8BAAsB,MAAY;AAChC,eAAK,WAAA;AACL,eAAK,WAAW;AAAA,QAClB,CAAC;AACD,aAAK,WAAW;AAAA,MAClB;AAAA,IACF,CAAC;AACD,SAAK,IAAI,QAAQ,IAAI;AAAA,EACvB;AAAA;AAAA,EAGS,UAAgB;AACvB,SAAK,MAAM,YAAY,oBAAoB,GAAG,KAAK,iBAAiB,GAAG,IAAI;AAC3E,SAAK,MAAM,YAAY,qBAAqB,OAAO,KAAK,aAAa,CAAC;AAAA,EACxE;AAAA;AAAA,EAaQ,aAAmB;AACzB,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,iBAAiB,CAAC,KAAK,SAAU;AAE7D,UAAM,OAAgB,KAAK,sBAAA;AAC3B,UAAM,aAAgB,KAAK,SAAS,OAAO;AAG3C,QAAI,KAAK,MAAM,KAAK,KAAK,SAAS,OAAO,YAAa;AAEtD,UAAM,WAAY,CAAC,KAAK;AACxB,UAAM,WAAY,KAAK,IAAI,KAAK,IAAI,WAAW,YAAY,CAAC,GAAG,CAAC;AAKhE,UAAM,eAAe,OAAO,cAAc,KAAK,gBAAgB;AAC/D,UAAM,UAAU,KAAK,SAAS,cAAc,OAAO,aAAa;AAGhE,SAAK,SAAS,MAAM,YAAiB,eAAe,WAAW,OAAO;AACtE,SAAK,cAAc,MAAM,QAAY,GAAG,WAAW,GAAG;AACtD,SAAK,SAAS,cAAuB,GAAG,KAAK,MAAM,WAAW,GAAG,CAAC;AAGlE,SAAK,cAAc,IAAI;AAAA,MACrB;AAAA,MACA;AAAA,QACE,QAAQ,EAAE,UAAU,SAAS,KAAK,MAAM,WAAW,GAAG,EAAA;AAAA,QACtD,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,IACZ,CACD;AAAA,EACH;AAAA,EAEmB,SAAyB;AAC1C,WAAO,yBAAyB,IAAI;AAAA,EACtC;AACF;AA1Ga,2BACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,UAAU,CAAC;AAC7B;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,WAAW,mBAAmB;AAAA,GAP7C,2BAQX,WAAA,kBAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,WAAW,kBAAkB;AAAA,GAX5C,2BAYX,WAAA,iBAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,WAAW,iBAAiB;AAAA,GAf5C,2BAgBX,WAAA,gBAAA,CAAA;AAE8C,gBAAA;AAAA,EAA7C,MAAM,qBAAqB;AAAA,GAlBjB,2BAkBmC,WAAA,YAAA,CAAA;AACA,gBAAA;AAAA,EAA7C,MAAM,gBAAgB;AAAA,GAnBZ,2BAmBmC,WAAA,iBAAA,CAAA;AACA,gBAAA;AAAA,EAA7C,MAAM,UAAU;AAAA,GApBN,2BAoBmC,WAAA,YAAA,CAAA;AApBnC,6BAAN,gBAAA;AAAA,EADN,cAAc,+BAA+B;AAAA,GACjC,0BAAA;"}
|
|
1
|
+
{"version":3,"file":"index79.js","sources":["../src/components/organisms/sidebar/lib-sidebar.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport '../../atoms/icon/lib-icon.component';\nimport type { SidebarLink } from '../../../types';\nimport { sidebarTemplate } from './lib-sidebar.html';\nimport componentCss from './lib-sidebar.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport { SidebarVariant } from './lib-sidebar.types';\n\nexport interface UiSidebarNavigateDetail {\n id: string;\n previous: string;\n}\n\n/**\n * lib-sidebar — Shibui UI · SG-65\n *\n * Estructura: Header(56px logo) · [Search] · Nav · User footer\n *\n * @prop logo-mark — Carácter del logo mark (default '渋')\n * @prop brand-name — Nombre de marca (default 'shibui')\n * @prop show-search — Muestra la barra de búsqueda\n * @prop search-placeholder — Placeholder del input de búsqueda\n * @prop links — Array de SidebarLink[]\n * @prop active — ID del link activo\n * @prop user-name — Nombre del usuario en el footer\n * @prop user-role — Rol/plan del usuario\n * @prop user-avatar — URL de imagen del avatar\n * @prop user-initials — Iniciales de fallback\n * @prop show-user-action — Muestra el botón de acción (logout icon)\n * @prop variant — 'dark'(default) | 'light' | 'kintsugi' | 'glitch'\n * @prop collapsed — Estado inicial colapsado\n *\n * @method toggle() — Alterna collapsed/expanded (llamar desde topbar)\n * @method navigateTo() — Navega programáticamente a un id\n *\n * @fires ui-lib-navigate — { id, previous }\n * @fires ui-lib-user-action — void (clic en botón de acción)\n * @fires ui-lib-search — { query: string }\n */\n@customElement('lib-sidebar')\nexport class LibSidebar extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(componentCss)}`,\n ];\n\n /* ── Header ── */\n @property({ type: String, attribute: 'logo-mark' })\n logoMark = '渋';\n\n @property({ type: String, attribute: 'brand-name' })\n brandName = 'shibui';\n\n /* ── Search ── */\n @property({ type: Boolean, attribute: 'show-search', reflect: true })\n showSearch = false;\n\n @property({ type: String, attribute: 'search-placeholder' })\n searchPlaceholder = 'Buscar…';\n\n /* ── Nav ── */\n @property({ type: Array })\n links: SidebarLink[] = [];\n\n @property({ type: String, reflect: true })\n active = '';\n\n /* ── User footer ── */\n @property({ type: String, attribute: 'user-name' })\n userName = '';\n\n @property({ type: String, attribute: 'user-role' })\n userRole = '';\n\n @property({ type: String, attribute: 'user-avatar' })\n userAvatar = '';\n\n @property({ type: String, attribute: 'user-initials' })\n userInitials = '';\n\n @property({ type: Boolean, attribute: 'show-user-action' })\n showUserAction = false;\n\n /* ── Variant & behavior ── */\n @property({ type: String, reflect: true })\n variant: SidebarVariant = 'dark';\n\n @property({ type: Boolean, reflect: true })\n collapsed = false;\n\n /* ── Internal state ── */\n @state() private _mobileOpen = false;\n\n /* ── Queries ── */\n @query('.sb-indicator') declare private _indicator: HTMLElement;\n @query('.sb-nav') declare private _nav: HTMLElement;\n\n /* ── Lifecycle ── */\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('active') || changed.has('links')) {\n this._moveIndicator();\n }\n }\n\n /* ── Render ── */\n override render(): TemplateResult {\n return sidebarTemplate({\n logoMark: this.logoMark,\n brandName: this.brandName,\n showSearch: this.showSearch,\n searchPlaceholder: this.searchPlaceholder,\n links: this.links,\n active: this.active,\n userName: this.userName,\n userRole: this.userRole,\n userAvatar: this.userAvatar,\n userInitials: this.userInitials,\n showUserAction: this.showUserAction,\n variant: this.variant,\n collapsed: this.collapsed,\n mobileOpen: this._mobileOpen,\n onLinkClick: this._handleLink.bind(this),\n onUserAction: this._handleUserAction.bind(this),\n onSearchInput: this._handleSearch.bind(this),\n onOverlayClick: () => { this._mobileOpen = false; },\n onToggleClick: () => { this._mobileOpen = !this._mobileOpen; },\n });\n }\n\n /* ── Sliding indicator ── */\n private _moveIndicator(): void {\n requestAnimationFrame(() => {\n const nav = this._nav;\n const ind = this._indicator;\n if (!nav || !ind) return;\n\n const btn = nav.querySelector<HTMLElement>('.sb-link.is-active');\n if (!btn) { ind.classList.remove('visible'); return; }\n\n const navTop = nav.getBoundingClientRect().top;\n const btnRect = btn.getBoundingClientRect();\n\n ind.style.top = `${btnRect.top - navTop + nav.scrollTop}px`;\n ind.style.height = `${btnRect.height}px`;\n ind.classList.add('visible');\n });\n }\n\n /* ── Handlers ── */\n private _handleLink(id: string): void {\n const previous = this.active;\n this.active = id;\n this.dispatchEvent(new CustomEvent<UiSidebarNavigateDetail>('ui-lib-navigate', {\n detail: { id, previous },\n bubbles: true, composed: true,\n }));\n if (this._mobileOpen) this._mobileOpen = false;\n }\n\n private _handleUserAction(): void {\n this.dispatchEvent(new CustomEvent('ui-lib-user-action', {\n bubbles: true, composed: true,\n }));\n }\n\n private _handleSearch(query: string): void {\n this.dispatchEvent(new CustomEvent('ui-lib-search', {\n detail: { query },\n bubbles: true, composed: true,\n }));\n }\n\n /* ── Public API ── */\n\n /** Alterna collapsed ↔ expanded. Llamar desde el botón hamburger de la topbar. */\n toggle(): void { this.collapsed = !this.collapsed; }\n\n /** Expande el sidebar */\n expand(): void { this.collapsed = false; }\n\n /** Colapsa el sidebar a icon rail */\n collapse(): void { this.collapsed = true; }\n\n /** Navega programáticamente */\n navigateTo(id: string): void { this._handleLink(id); }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-sidebar': LibSidebar;\n }\n}"],"names":["query"],"mappings":"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"}
|
package/dist/index8.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { unsafeCSS, css, LitElement } from "lit";
|
|
2
2
|
import { property, customElement } from "lit/decorators.js";
|
|
3
|
-
import
|
|
3
|
+
import { badgeTemplate } from "./index275.js";
|
|
4
|
+
import badgeCss from "./index276.js";
|
|
4
5
|
import sharedTokens from "./index196.js";
|
|
5
|
-
import { textListTemplate } from "./index204.js";
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
8
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -13,149 +13,47 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
13
13
|
if (kind && result) __defProp(target, key, result);
|
|
14
14
|
return result;
|
|
15
15
|
};
|
|
16
|
-
let
|
|
16
|
+
let LibBadge = class extends LitElement {
|
|
17
17
|
constructor() {
|
|
18
18
|
super(...arguments);
|
|
19
|
-
this.
|
|
20
|
-
this.items = [];
|
|
21
|
-
this.marker = "default";
|
|
22
|
-
this.counter = "decimal";
|
|
19
|
+
this.variant = "default";
|
|
23
20
|
this.size = "md";
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.bordered = false;
|
|
27
|
-
this.inset = false;
|
|
28
|
-
this.interactive = false;
|
|
29
|
-
this.dlItems = [];
|
|
30
|
-
this.dlLayout = "inline";
|
|
31
|
-
this.dlDivided = false;
|
|
32
|
-
this.dark = false;
|
|
33
|
-
this.loading = false;
|
|
34
|
-
this.skeletonCount = 4;
|
|
21
|
+
this.dot = false;
|
|
22
|
+
this.pill = false;
|
|
35
23
|
}
|
|
36
|
-
/* ── Handlers ── */
|
|
37
|
-
_handleRowClick(item) {
|
|
38
|
-
this.dispatchEvent(
|
|
39
|
-
new CustomEvent("ui-lib-row-click", {
|
|
40
|
-
detail: { key: item.key, item },
|
|
41
|
-
bubbles: true,
|
|
42
|
-
composed: true
|
|
43
|
-
})
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
_handleToggle(item, value) {
|
|
47
|
-
this.dispatchEvent(
|
|
48
|
-
new CustomEvent("ui-lib-toggle", {
|
|
49
|
-
detail: { key: item.key, value },
|
|
50
|
-
bubbles: true,
|
|
51
|
-
composed: true
|
|
52
|
-
})
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
/* ── Render ── */
|
|
56
24
|
render() {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
{ length: this.skeletonCount },
|
|
60
|
-
(_, i) => ({ label: `skeleton-${i}` })
|
|
61
|
-
);
|
|
62
|
-
return textListTemplate({
|
|
63
|
-
family: this.family,
|
|
64
|
-
contentItems: skeletons,
|
|
65
|
-
marker: "default",
|
|
66
|
-
counter: this.counter,
|
|
67
|
-
size: this.size,
|
|
68
|
-
uiItems: [],
|
|
69
|
-
divided: this.divided,
|
|
70
|
-
bordered: this.bordered,
|
|
71
|
-
inset: this.inset,
|
|
72
|
-
interactive: this.interactive,
|
|
73
|
-
dark: this.dark,
|
|
74
|
-
dlItems: [],
|
|
75
|
-
dlLayout: this.dlLayout,
|
|
76
|
-
dlDivided: this.dlDivided,
|
|
77
|
-
onRowClick: () => {
|
|
78
|
-
},
|
|
79
|
-
onToggle: () => {
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
return textListTemplate({
|
|
84
|
-
family: this.family,
|
|
85
|
-
contentItems: this.items,
|
|
86
|
-
marker: this.marker,
|
|
87
|
-
counter: this.counter,
|
|
25
|
+
return badgeTemplate({
|
|
26
|
+
variant: this.variant,
|
|
88
27
|
size: this.size,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
bordered: this.bordered,
|
|
92
|
-
inset: this.inset,
|
|
93
|
-
interactive: this.interactive,
|
|
94
|
-
dark: this.dark,
|
|
95
|
-
dlItems: this.dlItems,
|
|
96
|
-
dlLayout: this.dlLayout,
|
|
97
|
-
dlDivided: this.dlDivided,
|
|
98
|
-
onRowClick: (item) => this._handleRowClick(item),
|
|
99
|
-
onToggle: (item, v) => this._handleToggle(item, v)
|
|
28
|
+
dot: this.dot,
|
|
29
|
+
pill: this.pill
|
|
100
30
|
});
|
|
101
31
|
}
|
|
102
32
|
};
|
|
103
|
-
|
|
104
|
-
css
|
|
105
|
-
|
|
33
|
+
LibBadge.styles = [
|
|
34
|
+
css`
|
|
35
|
+
${unsafeCSS(sharedTokens)}
|
|
36
|
+
`,
|
|
37
|
+
css`
|
|
38
|
+
${unsafeCSS(badgeCss)}
|
|
39
|
+
`
|
|
106
40
|
];
|
|
107
41
|
__decorateClass([
|
|
108
42
|
property({ type: String, reflect: true })
|
|
109
|
-
],
|
|
110
|
-
__decorateClass([
|
|
111
|
-
property({ type: Array })
|
|
112
|
-
], LibTextList.prototype, "items", 2);
|
|
113
|
-
__decorateClass([
|
|
114
|
-
property({ type: String, reflect: true })
|
|
115
|
-
], LibTextList.prototype, "marker", 2);
|
|
43
|
+
], LibBadge.prototype, "variant", 2);
|
|
116
44
|
__decorateClass([
|
|
117
45
|
property({ type: String, reflect: true })
|
|
118
|
-
],
|
|
119
|
-
__decorateClass([
|
|
120
|
-
property({ type: String, reflect: true })
|
|
121
|
-
], LibTextList.prototype, "size", 2);
|
|
122
|
-
__decorateClass([
|
|
123
|
-
property({ type: Array, attribute: "ui-items" })
|
|
124
|
-
], LibTextList.prototype, "uiItems", 2);
|
|
125
|
-
__decorateClass([
|
|
126
|
-
property({ type: Boolean, reflect: true })
|
|
127
|
-
], LibTextList.prototype, "divided", 2);
|
|
46
|
+
], LibBadge.prototype, "size", 2);
|
|
128
47
|
__decorateClass([
|
|
129
48
|
property({ type: Boolean, reflect: true })
|
|
130
|
-
],
|
|
49
|
+
], LibBadge.prototype, "dot", 2);
|
|
131
50
|
__decorateClass([
|
|
132
51
|
property({ type: Boolean, reflect: true })
|
|
133
|
-
],
|
|
134
|
-
__decorateClass([
|
|
135
|
-
|
|
136
|
-
],
|
|
137
|
-
__decorateClass([
|
|
138
|
-
property({ type: Array, attribute: "dl-items" })
|
|
139
|
-
], LibTextList.prototype, "dlItems", 2);
|
|
140
|
-
__decorateClass([
|
|
141
|
-
property({ type: String, reflect: true, attribute: "dl-layout" })
|
|
142
|
-
], LibTextList.prototype, "dlLayout", 2);
|
|
143
|
-
__decorateClass([
|
|
144
|
-
property({ type: Boolean, reflect: true, attribute: "dl-divided" })
|
|
145
|
-
], LibTextList.prototype, "dlDivided", 2);
|
|
146
|
-
__decorateClass([
|
|
147
|
-
property({ type: Boolean, reflect: true })
|
|
148
|
-
], LibTextList.prototype, "dark", 2);
|
|
149
|
-
__decorateClass([
|
|
150
|
-
property({ type: Boolean, reflect: true })
|
|
151
|
-
], LibTextList.prototype, "loading", 2);
|
|
152
|
-
__decorateClass([
|
|
153
|
-
property({ type: Number, attribute: "skeleton-count" })
|
|
154
|
-
], LibTextList.prototype, "skeletonCount", 2);
|
|
155
|
-
LibTextList = __decorateClass([
|
|
156
|
-
customElement("lib-text-list")
|
|
157
|
-
], LibTextList);
|
|
52
|
+
], LibBadge.prototype, "pill", 2);
|
|
53
|
+
LibBadge = __decorateClass([
|
|
54
|
+
customElement("lib-badge")
|
|
55
|
+
], LibBadge);
|
|
158
56
|
export {
|
|
159
|
-
|
|
57
|
+
LibBadge
|
|
160
58
|
};
|
|
161
59
|
//# sourceMappingURL=index8.js.map
|