pome-ui 2.0.0-preview52 → 2.0.0-preview54
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/package.json +1 -1
- package/pome-skeleton.css +3 -3
- package/pome-ui.dev.js +50 -13
- package/pome-ui.dev.min.js +15 -15
- package/pome-ui.js +50 -13
- package/pome-ui.min.js +1 -1
package/package.json
CHANGED
package/pome-skeleton.css
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
._pome-skeleton span._pome-sk-shimmer,
|
|
48
48
|
._pome-skeleton a._pome-sk-shimmer,
|
|
49
49
|
._pome-skeleton label._pome-sk-shimmer {
|
|
50
|
-
display: inline-block
|
|
50
|
+
display: inline-block;
|
|
51
51
|
min-width: 100px !important;
|
|
52
52
|
min-height: 1em !important;
|
|
53
53
|
border-radius: 4px !important;
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
._pome-skeleton li._pome-sk-shimmer,
|
|
65
65
|
._pome-skeleton blockquote._pome-sk-shimmer,
|
|
66
66
|
._pome-skeleton figcaption._pome-sk-shimmer {
|
|
67
|
-
display: block
|
|
67
|
+
display: block;
|
|
68
68
|
min-height: 1em !important;
|
|
69
69
|
border-radius: 4px !important;
|
|
70
70
|
}
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
._pome-skeleton input._pome-sk-shimmer,
|
|
93
93
|
._pome-skeleton textarea._pome-sk-shimmer,
|
|
94
94
|
._pome-skeleton select._pome-sk-shimmer {
|
|
95
|
-
display: inline-block
|
|
95
|
+
display: inline-block;
|
|
96
96
|
min-width: 80px !important;
|
|
97
97
|
min-height: 1em !important;
|
|
98
98
|
border-radius: 4px !important;
|
package/pome-ui.dev.js
CHANGED
|
@@ -18403,10 +18403,13 @@ function build(options, exports) {
|
|
|
18403
18403
|
function _skeletonCleanupPass(node) {
|
|
18404
18404
|
if (!node) return;
|
|
18405
18405
|
if (node.nodeType === 1) {
|
|
18406
|
-
// Strip Vue directives / bindings / event listeners
|
|
18406
|
+
// Strip Vue directives / bindings / event listeners.
|
|
18407
|
+
// Preserve v-show so CSS-driven responsive visibility still works
|
|
18408
|
+
// (the skeleton lives inside a Vue-processed template).
|
|
18407
18409
|
var attrsToRemove = [];
|
|
18408
18410
|
for (var i = 0; i < node.attributes.length; i++) {
|
|
18409
18411
|
var attrName = node.attributes[i].name;
|
|
18412
|
+
if (attrName === 'v-show') continue; // keep v-show for responsive toggling
|
|
18410
18413
|
if (attrName.indexOf('v-') === 0 || attrName[0] === '@' || attrName[0] === ':' || attrName[0] === '#') {
|
|
18411
18414
|
attrsToRemove.push(attrName);
|
|
18412
18415
|
}
|
|
@@ -19598,27 +19601,59 @@ function build(options, exports) {
|
|
|
19598
19601
|
this.createdPromise = ret;
|
|
19599
19602
|
if (options.skeleton) {
|
|
19600
19603
|
var self = this;
|
|
19601
|
-
|
|
19602
|
-
|
|
19603
|
-
if
|
|
19604
|
-
|
|
19605
|
-
|
|
19604
|
+
var skeletonShowing = false;
|
|
19605
|
+
var resolved = false;
|
|
19606
|
+
// Only activate the skeleton if the promise is still pending
|
|
19607
|
+
// after skeletonDelay ms. If it resolves faster, skip the
|
|
19608
|
+
// skeleton entirely to avoid a flash.
|
|
19609
|
+
var skeletonDelay = typeof options.skeletonDelay === 'number'
|
|
19610
|
+
? options.skeletonDelay : 1000;
|
|
19611
|
+
var skeletonTimer = setTimeout(function () {
|
|
19612
|
+
if (resolved) return;
|
|
19613
|
+
skeletonShowing = true;
|
|
19614
|
+
self.pomeSkeletonLoading = true;
|
|
19615
|
+
// Skeleton is now visible. If delayOpen is also set, kick
|
|
19616
|
+
// off its animation so it's primed when skeleton disappears.
|
|
19617
|
+
if (options.delayOpen) {
|
|
19618
|
+
self.$nextTick(function () {
|
|
19606
19619
|
requestAnimationFrame(function () {
|
|
19607
|
-
|
|
19620
|
+
requestAnimationFrame(function () {
|
|
19621
|
+
self.pomeDelayOpening = false;
|
|
19622
|
+
});
|
|
19608
19623
|
});
|
|
19624
|
+
setTimeout(function () {
|
|
19625
|
+
self.pomeDelayOpened = false;
|
|
19626
|
+
}, options.delayOpen);
|
|
19609
19627
|
});
|
|
19610
|
-
|
|
19611
|
-
|
|
19612
|
-
}, options.delayOpen);
|
|
19613
|
-
});
|
|
19614
|
-
}
|
|
19628
|
+
}
|
|
19629
|
+
}, skeletonDelay);
|
|
19615
19630
|
ret.then(function () {
|
|
19631
|
+
resolved = true;
|
|
19632
|
+
clearTimeout(skeletonTimer);
|
|
19616
19633
|
self.pomeSkeletonLoading = false;
|
|
19634
|
+
// Fast path: resolved before skeleton appeared – still need
|
|
19635
|
+
// to run the delayOpen animation now.
|
|
19636
|
+
if (!skeletonShowing && options.delayOpen) {
|
|
19637
|
+
self.$nextTick(function () {
|
|
19638
|
+
requestAnimationFrame(function () {
|
|
19639
|
+
requestAnimationFrame(function () {
|
|
19640
|
+
self.pomeDelayOpening = false;
|
|
19641
|
+
});
|
|
19642
|
+
});
|
|
19643
|
+
setTimeout(function () {
|
|
19644
|
+
self.pomeDelayOpened = false;
|
|
19645
|
+
}, options.delayOpen);
|
|
19646
|
+
});
|
|
19647
|
+
}
|
|
19617
19648
|
}).catch(function (err) {
|
|
19649
|
+
resolved = true;
|
|
19650
|
+
clearTimeout(skeletonTimer);
|
|
19651
|
+
self.pomeSkeletonLoading = false;
|
|
19618
19652
|
console.error('[SKELETON] created Promise REJECTED:', err);
|
|
19619
19653
|
});
|
|
19620
19654
|
}
|
|
19621
19655
|
} else if (options.skeleton) {
|
|
19656
|
+
// Sync created – nothing to wait for, ensure skeleton is off.
|
|
19622
19657
|
this.pomeSkeletonLoading = false;
|
|
19623
19658
|
}
|
|
19624
19659
|
|
|
@@ -20130,7 +20165,9 @@ function build(options, exports) {
|
|
|
20130
20165
|
var data = func1.call(this, app);
|
|
20131
20166
|
var data2 = { pomeUiSubTitles: [] };
|
|
20132
20167
|
if (opt.skeleton) {
|
|
20133
|
-
|
|
20168
|
+
// Start hidden; skeleton is only shown after skeletonDelay ms
|
|
20169
|
+
// to avoid a flash when loading completes quickly.
|
|
20170
|
+
data2.pomeSkeletonLoading = false;
|
|
20134
20171
|
}
|
|
20135
20172
|
if (opt.skeleton && opt.delayOpen) {
|
|
20136
20173
|
data2.pomeDelayOpened = true;
|