@regcheq/ui-vue-2 1.10.0 → 1.12.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.
- package/dist/index.css +4 -3
- package/dist/index.esm.js +82 -6
- package/dist/index.js +82 -6
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -1578,7 +1578,7 @@
|
|
|
1578
1578
|
display: flex;
|
|
1579
1579
|
align-items: center;
|
|
1580
1580
|
justify-content: space-between;
|
|
1581
|
-
min-height:
|
|
1581
|
+
min-height: 60px;
|
|
1582
1582
|
padding: 12px 16px;
|
|
1583
1583
|
background: #e6f0fc;
|
|
1584
1584
|
border-radius: 0px;
|
|
@@ -1915,7 +1915,7 @@
|
|
|
1915
1915
|
margin-left: auto;
|
|
1916
1916
|
}
|
|
1917
1917
|
.rq-data-table__selection-slot {
|
|
1918
|
-
min-height:
|
|
1918
|
+
min-height: 60px;
|
|
1919
1919
|
}
|
|
1920
1920
|
.rq-data-table__pagination {
|
|
1921
1921
|
display: flex;
|
|
@@ -2139,8 +2139,9 @@
|
|
|
2139
2139
|
width: 100%;
|
|
2140
2140
|
}
|
|
2141
2141
|
.rq-drawer-wrapper {
|
|
2142
|
-
position:
|
|
2142
|
+
position: fixed;
|
|
2143
2143
|
inset: 0;
|
|
2144
|
+
z-index: 1050;
|
|
2144
2145
|
overflow: hidden;
|
|
2145
2146
|
pointer-events: none;
|
|
2146
2147
|
}
|
package/dist/index.esm.js
CHANGED
|
@@ -32743,6 +32743,16 @@ var script$h = {
|
|
|
32743
32743
|
textColor: {
|
|
32744
32744
|
type: String,
|
|
32745
32745
|
default: null
|
|
32746
|
+
},
|
|
32747
|
+
// Padding por eje (ej: "4px", "8px"). Pisan el padding del SCSS.
|
|
32748
|
+
// Cada eje es independiente: setear uno deja el otro con su default.
|
|
32749
|
+
paddingX: {
|
|
32750
|
+
type: String,
|
|
32751
|
+
default: null
|
|
32752
|
+
},
|
|
32753
|
+
paddingY: {
|
|
32754
|
+
type: String,
|
|
32755
|
+
default: null
|
|
32746
32756
|
}
|
|
32747
32757
|
},
|
|
32748
32758
|
computed: {
|
|
@@ -32756,6 +32766,14 @@ var script$h = {
|
|
|
32756
32766
|
const style = {};
|
|
32757
32767
|
if (this.bgColor) style.backgroundColor = this.bgColor;
|
|
32758
32768
|
if (this.textColor) style.color = this.textColor;
|
|
32769
|
+
if (this.paddingX) {
|
|
32770
|
+
style.paddingLeft = this.paddingX;
|
|
32771
|
+
style.paddingRight = this.paddingX;
|
|
32772
|
+
}
|
|
32773
|
+
if (this.paddingY) {
|
|
32774
|
+
style.paddingTop = this.paddingY;
|
|
32775
|
+
style.paddingBottom = this.paddingY;
|
|
32776
|
+
}
|
|
32759
32777
|
return style;
|
|
32760
32778
|
}
|
|
32761
32779
|
}
|
|
@@ -39156,6 +39174,52 @@ const __vue_component__$1 = /*#__PURE__*/normalizeComponent({
|
|
|
39156
39174
|
//
|
|
39157
39175
|
//
|
|
39158
39176
|
|
|
39177
|
+
|
|
39178
|
+
// Registro de bloqueos compartido entre todas las instancias: guarda cuántos
|
|
39179
|
+
// drawers abiertos dependen de cada contenedor y cuál era su overflow original.
|
|
39180
|
+
// Sin el contador, cerrar un drawer devolvería el scroll aunque siguiera otro
|
|
39181
|
+
// abierto sobre el mismo contenedor.
|
|
39182
|
+
const scrollLocks = new Map();
|
|
39183
|
+
|
|
39184
|
+
// El scroll de fondo no siempre vive en el body: muchas apps scrollean en un
|
|
39185
|
+
// contenedor interno. Se bloquean todos los ancestros scrolleables más el body.
|
|
39186
|
+
function scrollableAncestors(node) {
|
|
39187
|
+
const targets = [];
|
|
39188
|
+
let el = node;
|
|
39189
|
+
while (el && el !== document.body && el.nodeType === 1) {
|
|
39190
|
+
const {
|
|
39191
|
+
overflowY
|
|
39192
|
+
} = window.getComputedStyle(el);
|
|
39193
|
+
if (overflowY === 'auto' || overflowY === 'scroll') targets.push(el);
|
|
39194
|
+
el = el.parentElement;
|
|
39195
|
+
}
|
|
39196
|
+
targets.push(document.body);
|
|
39197
|
+
return targets;
|
|
39198
|
+
}
|
|
39199
|
+
function lockScroll(targets) {
|
|
39200
|
+
targets.forEach(el => {
|
|
39201
|
+
const lock = scrollLocks.get(el);
|
|
39202
|
+
if (lock) {
|
|
39203
|
+
lock.count += 1;
|
|
39204
|
+
return;
|
|
39205
|
+
}
|
|
39206
|
+
scrollLocks.set(el, {
|
|
39207
|
+
count: 1,
|
|
39208
|
+
previousOverflow: el.style.overflow
|
|
39209
|
+
});
|
|
39210
|
+
el.style.overflow = 'hidden';
|
|
39211
|
+
});
|
|
39212
|
+
}
|
|
39213
|
+
function unlockScroll(targets) {
|
|
39214
|
+
targets.forEach(el => {
|
|
39215
|
+
const lock = scrollLocks.get(el);
|
|
39216
|
+
if (!lock) return;
|
|
39217
|
+
lock.count -= 1;
|
|
39218
|
+
if (lock.count > 0) return;
|
|
39219
|
+
el.style.overflow = lock.previousOverflow;
|
|
39220
|
+
scrollLocks.delete(el);
|
|
39221
|
+
});
|
|
39222
|
+
}
|
|
39159
39223
|
var script = {
|
|
39160
39224
|
name: 'Drawer',
|
|
39161
39225
|
props: {
|
|
@@ -39184,21 +39248,33 @@ var script = {
|
|
|
39184
39248
|
}
|
|
39185
39249
|
},
|
|
39186
39250
|
watch: {
|
|
39187
|
-
open
|
|
39188
|
-
|
|
39189
|
-
handler(isOpen) {
|
|
39190
|
-
document.body.style.overflow = isOpen ? 'hidden' : '';
|
|
39191
|
-
}
|
|
39251
|
+
open(isOpen) {
|
|
39252
|
+
this.setScrollLock(isOpen);
|
|
39192
39253
|
}
|
|
39193
39254
|
},
|
|
39255
|
+
created() {
|
|
39256
|
+
this.locked = false;
|
|
39257
|
+
this.scrollTargets = [];
|
|
39258
|
+
},
|
|
39194
39259
|
mounted() {
|
|
39260
|
+
// Se resuelven acá y no en cada apertura: en mounted el drawer todavía está
|
|
39261
|
+
// en su lugar del DOM y los ancestros son los que corresponden.
|
|
39262
|
+
this.scrollTargets = scrollableAncestors(this.$el.parentElement);
|
|
39195
39263
|
document.addEventListener('keydown', this.handleKeydown);
|
|
39264
|
+
if (this.open) this.setScrollLock(true);
|
|
39196
39265
|
},
|
|
39197
39266
|
beforeDestroy() {
|
|
39198
39267
|
document.removeEventListener('keydown', this.handleKeydown);
|
|
39199
|
-
|
|
39268
|
+
this.setScrollLock(false);
|
|
39200
39269
|
},
|
|
39201
39270
|
methods: {
|
|
39271
|
+
// Idempotente: solo actúa cuando cambia el estado, para no descuadrar el
|
|
39272
|
+
// contador del registro compartido.
|
|
39273
|
+
setScrollLock(shouldLock) {
|
|
39274
|
+
if (shouldLock === this.locked) return;
|
|
39275
|
+
this.locked = shouldLock;
|
|
39276
|
+
if (shouldLock) lockScroll(this.scrollTargets);else unlockScroll(this.scrollTargets);
|
|
39277
|
+
},
|
|
39202
39278
|
handleKeydown(e) {
|
|
39203
39279
|
if (e.key === 'Escape' && this.open) {
|
|
39204
39280
|
this.$emit('close');
|
package/dist/index.js
CHANGED
|
@@ -32745,6 +32745,16 @@ var script$h = {
|
|
|
32745
32745
|
textColor: {
|
|
32746
32746
|
type: String,
|
|
32747
32747
|
default: null
|
|
32748
|
+
},
|
|
32749
|
+
// Padding por eje (ej: "4px", "8px"). Pisan el padding del SCSS.
|
|
32750
|
+
// Cada eje es independiente: setear uno deja el otro con su default.
|
|
32751
|
+
paddingX: {
|
|
32752
|
+
type: String,
|
|
32753
|
+
default: null
|
|
32754
|
+
},
|
|
32755
|
+
paddingY: {
|
|
32756
|
+
type: String,
|
|
32757
|
+
default: null
|
|
32748
32758
|
}
|
|
32749
32759
|
},
|
|
32750
32760
|
computed: {
|
|
@@ -32758,6 +32768,14 @@ var script$h = {
|
|
|
32758
32768
|
const style = {};
|
|
32759
32769
|
if (this.bgColor) style.backgroundColor = this.bgColor;
|
|
32760
32770
|
if (this.textColor) style.color = this.textColor;
|
|
32771
|
+
if (this.paddingX) {
|
|
32772
|
+
style.paddingLeft = this.paddingX;
|
|
32773
|
+
style.paddingRight = this.paddingX;
|
|
32774
|
+
}
|
|
32775
|
+
if (this.paddingY) {
|
|
32776
|
+
style.paddingTop = this.paddingY;
|
|
32777
|
+
style.paddingBottom = this.paddingY;
|
|
32778
|
+
}
|
|
32761
32779
|
return style;
|
|
32762
32780
|
}
|
|
32763
32781
|
}
|
|
@@ -39158,6 +39176,52 @@ const __vue_component__$1 = /*#__PURE__*/normalizeComponent({
|
|
|
39158
39176
|
//
|
|
39159
39177
|
//
|
|
39160
39178
|
|
|
39179
|
+
|
|
39180
|
+
// Registro de bloqueos compartido entre todas las instancias: guarda cuántos
|
|
39181
|
+
// drawers abiertos dependen de cada contenedor y cuál era su overflow original.
|
|
39182
|
+
// Sin el contador, cerrar un drawer devolvería el scroll aunque siguiera otro
|
|
39183
|
+
// abierto sobre el mismo contenedor.
|
|
39184
|
+
const scrollLocks = new Map();
|
|
39185
|
+
|
|
39186
|
+
// El scroll de fondo no siempre vive en el body: muchas apps scrollean en un
|
|
39187
|
+
// contenedor interno. Se bloquean todos los ancestros scrolleables más el body.
|
|
39188
|
+
function scrollableAncestors(node) {
|
|
39189
|
+
const targets = [];
|
|
39190
|
+
let el = node;
|
|
39191
|
+
while (el && el !== document.body && el.nodeType === 1) {
|
|
39192
|
+
const {
|
|
39193
|
+
overflowY
|
|
39194
|
+
} = window.getComputedStyle(el);
|
|
39195
|
+
if (overflowY === 'auto' || overflowY === 'scroll') targets.push(el);
|
|
39196
|
+
el = el.parentElement;
|
|
39197
|
+
}
|
|
39198
|
+
targets.push(document.body);
|
|
39199
|
+
return targets;
|
|
39200
|
+
}
|
|
39201
|
+
function lockScroll(targets) {
|
|
39202
|
+
targets.forEach(el => {
|
|
39203
|
+
const lock = scrollLocks.get(el);
|
|
39204
|
+
if (lock) {
|
|
39205
|
+
lock.count += 1;
|
|
39206
|
+
return;
|
|
39207
|
+
}
|
|
39208
|
+
scrollLocks.set(el, {
|
|
39209
|
+
count: 1,
|
|
39210
|
+
previousOverflow: el.style.overflow
|
|
39211
|
+
});
|
|
39212
|
+
el.style.overflow = 'hidden';
|
|
39213
|
+
});
|
|
39214
|
+
}
|
|
39215
|
+
function unlockScroll(targets) {
|
|
39216
|
+
targets.forEach(el => {
|
|
39217
|
+
const lock = scrollLocks.get(el);
|
|
39218
|
+
if (!lock) return;
|
|
39219
|
+
lock.count -= 1;
|
|
39220
|
+
if (lock.count > 0) return;
|
|
39221
|
+
el.style.overflow = lock.previousOverflow;
|
|
39222
|
+
scrollLocks.delete(el);
|
|
39223
|
+
});
|
|
39224
|
+
}
|
|
39161
39225
|
var script = {
|
|
39162
39226
|
name: 'Drawer',
|
|
39163
39227
|
props: {
|
|
@@ -39186,21 +39250,33 @@ var script = {
|
|
|
39186
39250
|
}
|
|
39187
39251
|
},
|
|
39188
39252
|
watch: {
|
|
39189
|
-
open
|
|
39190
|
-
|
|
39191
|
-
handler(isOpen) {
|
|
39192
|
-
document.body.style.overflow = isOpen ? 'hidden' : '';
|
|
39193
|
-
}
|
|
39253
|
+
open(isOpen) {
|
|
39254
|
+
this.setScrollLock(isOpen);
|
|
39194
39255
|
}
|
|
39195
39256
|
},
|
|
39257
|
+
created() {
|
|
39258
|
+
this.locked = false;
|
|
39259
|
+
this.scrollTargets = [];
|
|
39260
|
+
},
|
|
39196
39261
|
mounted() {
|
|
39262
|
+
// Se resuelven acá y no en cada apertura: en mounted el drawer todavía está
|
|
39263
|
+
// en su lugar del DOM y los ancestros son los que corresponden.
|
|
39264
|
+
this.scrollTargets = scrollableAncestors(this.$el.parentElement);
|
|
39197
39265
|
document.addEventListener('keydown', this.handleKeydown);
|
|
39266
|
+
if (this.open) this.setScrollLock(true);
|
|
39198
39267
|
},
|
|
39199
39268
|
beforeDestroy() {
|
|
39200
39269
|
document.removeEventListener('keydown', this.handleKeydown);
|
|
39201
|
-
|
|
39270
|
+
this.setScrollLock(false);
|
|
39202
39271
|
},
|
|
39203
39272
|
methods: {
|
|
39273
|
+
// Idempotente: solo actúa cuando cambia el estado, para no descuadrar el
|
|
39274
|
+
// contador del registro compartido.
|
|
39275
|
+
setScrollLock(shouldLock) {
|
|
39276
|
+
if (shouldLock === this.locked) return;
|
|
39277
|
+
this.locked = shouldLock;
|
|
39278
|
+
if (shouldLock) lockScroll(this.scrollTargets);else unlockScroll(this.scrollTargets);
|
|
39279
|
+
},
|
|
39204
39280
|
handleKeydown(e) {
|
|
39205
39281
|
if (e.key === 'Escape' && this.open) {
|
|
39206
39282
|
this.$emit('close');
|