vue-laravel-crud 2.0.6 → 2.0.8

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.
@@ -727,15 +727,15 @@ var CrudFilters = __component__$f.exports;
727
727
 
728
728
  var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
729
729
 
730
- var css$8 = "\n.crud-header[data-v-d09f8396] {\r\n display: flex;\r\n justify-content: space-between;\r\n max-height: 3rem;\n}\n.crud-title[data-v-d09f8396] {\r\n margin: 0;\n}\n.crud-search[data-v-d09f8396] {\r\n max-width: 15rem;\n}\n.crud-search .btn[data-v-d09f8396] {\r\n border-top-left-radius: 0;\r\n border-bottom-left-radius: 0;\r\n border-top-right-radius: 0.375rem;\r\n border-bottom-right-radius: 0.375rem;\n}\n.crud-search .btn.open[data-v-d09f8396] {\r\n border-top-right-radius: 0;\r\n border-bottom-right-radius: 0;\n}\n.table-options[data-v-d09f8396] {\r\n margin-bottom: 1rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\n}\r\n";
731
- n(css$8, {});
730
+ var css$9 = "\n.crud-header[data-v-4fb65bb3] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem;\n}\n.crud-title[data-v-4fb65bb3] {\n margin: 0;\n}\n.crud-search[data-v-4fb65bb3] {\n max-width: 15rem;\n}\n.crud-search .btn[data-v-4fb65bb3] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem;\n}\n.crud-search .btn.open[data-v-4fb65bb3] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.table-options[data-v-4fb65bb3] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n";
731
+ n(css$9, {});
732
732
 
733
733
  const _sfc_main$e = {
734
734
  name: 'CrudHeader',
735
735
  components: {
736
736
  CrudFilters
737
737
  },
738
- inject: ['showHeader', 'showTitle', 'title', 'filterSidebarOpen', 'showImport', 'showExport', 'showPrincipalSortBtn', 'principalSort', 'bulkDelete', 'showCreateBtn', 'enableFilters', 'displayModeToggler', 'displayMode', 'displayModes', 'showSearch', 'displaySearch', 'search', 'searchPlaceholder', 'loading', 'messageImport', 'messageExport', 'messageNew', 'createItem', 'toggleDisplayMode', 'togglePrincipalSort', 'confirmBulkDelete', 'toggleFilters', 'refresh'],
738
+ inject: ['showHeader', 'showTitle', 'title', 'filterSidebarOpen', 'showImport', 'showExport', 'showPrincipalSortBtn', 'principalSort', 'bulkDelete', 'showCreateBtn', 'enableFilters', 'displayModeToggler', 'displayMode', 'displayModes', 'showSearch', 'displaySearch', 'search', 'searchPlaceholder', 'loading', 'messageImport', 'messageExport', 'messageNew', 'createItem', 'toggleDisplayMode', 'togglePrincipalSort', 'confirmBulkDelete', 'toggleFilters', 'refresh', 'showImportModal', 'showExportModal'],
739
739
  computed: {
740
740
  sidebarVisible() {
741
741
  // Acceder directamente al componente padre para obtener reactividad
@@ -898,7 +898,7 @@ var _sfc_render$e = function render() {
898
898
  })], 2)], 1)], 1) : _vm._e();
899
899
  };
900
900
  var _sfc_staticRenderFns$e = [];
901
- var __component__$e = /*#__PURE__*/normalizeComponent(_sfc_main$e, _sfc_render$e, _sfc_staticRenderFns$e, false, null, "d09f8396", null, null);
901
+ var __component__$e = /*#__PURE__*/normalizeComponent(_sfc_main$e, _sfc_render$e, _sfc_staticRenderFns$e, false, null, "4fb65bb3", null, null);
902
902
  var CrudHeader = __component__$e.exports;
903
903
 
904
904
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1160,7 +1160,7 @@ function toggleClass(el, name, state) {
1160
1160
  }
1161
1161
  }
1162
1162
 
1163
- function css$7(el, prop, val) {
1163
+ function css$8(el, prop, val) {
1164
1164
  var style = el && el.style;
1165
1165
 
1166
1166
  if (style) {
@@ -1189,7 +1189,7 @@ function matrix(el, selfOnly) {
1189
1189
  appliedTransforms = el;
1190
1190
  } else {
1191
1191
  do {
1192
- var transform = css$7(el, 'transform');
1192
+ var transform = css$8(el, 'transform');
1193
1193
 
1194
1194
  if (transform && transform !== 'none') {
1195
1195
  appliedTransforms = transform + ' ' + appliedTransforms;
@@ -1271,11 +1271,11 @@ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoS
1271
1271
 
1272
1272
  if (!IE11OrLess) {
1273
1273
  do {
1274
- if (container && container.getBoundingClientRect && (css$7(container, 'transform') !== 'none' || relativeToNonStaticParent && css$7(container, 'position') !== 'static')) {
1274
+ if (container && container.getBoundingClientRect && (css$8(container, 'transform') !== 'none' || relativeToNonStaticParent && css$8(container, 'position') !== 'static')) {
1275
1275
  var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
1276
1276
 
1277
- top -= containerRect.top + parseInt(css$7(container, 'border-top-width'));
1278
- left -= containerRect.left + parseInt(css$7(container, 'border-left-width'));
1277
+ top -= containerRect.top + parseInt(css$8(container, 'border-top-width'));
1278
+ left -= containerRect.left + parseInt(css$8(container, 'border-left-width'));
1279
1279
  bottom = top + elRect.height;
1280
1280
  right = left + elRect.width;
1281
1281
  break;
@@ -1382,7 +1382,7 @@ function getChild(el, childNum, options) {
1382
1382
  function lastChild(el, selector) {
1383
1383
  var last = el.lastElementChild;
1384
1384
 
1385
- while (last && (last === Sortable.ghost || css$7(last, 'display') === 'none' || selector && !matches(last, selector))) {
1385
+ while (last && (last === Sortable.ghost || css$8(last, 'display') === 'none' || selector && !matches(last, selector))) {
1386
1386
  last = last.previousElementSibling;
1387
1387
  }
1388
1388
 
@@ -1468,7 +1468,7 @@ function getParentAutoScrollElement(el, includeSelf) {
1468
1468
  do {
1469
1469
  // we don't need to get elem css if it isn't even overflowing in the first place (performance)
1470
1470
  if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
1471
- var elemCSS = css$7(elem);
1471
+ var elemCSS = css$8(elem);
1472
1472
 
1473
1473
  if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
1474
1474
  if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
@@ -1544,19 +1544,19 @@ function clone(el) {
1544
1544
  }
1545
1545
 
1546
1546
  function setRect(el, rect) {
1547
- css$7(el, 'position', 'absolute');
1548
- css$7(el, 'top', rect.top);
1549
- css$7(el, 'left', rect.left);
1550
- css$7(el, 'width', rect.width);
1551
- css$7(el, 'height', rect.height);
1547
+ css$8(el, 'position', 'absolute');
1548
+ css$8(el, 'top', rect.top);
1549
+ css$8(el, 'left', rect.left);
1550
+ css$8(el, 'width', rect.width);
1551
+ css$8(el, 'height', rect.height);
1552
1552
  }
1553
1553
 
1554
1554
  function unsetRect(el) {
1555
- css$7(el, 'position', '');
1556
- css$7(el, 'top', '');
1557
- css$7(el, 'left', '');
1558
- css$7(el, 'width', '');
1559
- css$7(el, 'height', '');
1555
+ css$8(el, 'position', '');
1556
+ css$8(el, 'top', '');
1557
+ css$8(el, 'left', '');
1558
+ css$8(el, 'width', '');
1559
+ css$8(el, 'height', '');
1560
1560
  }
1561
1561
 
1562
1562
  var expando = 'Sortable' + new Date().getTime();
@@ -1570,7 +1570,7 @@ function AnimationStateManager() {
1570
1570
  if (!this.options.animation) return;
1571
1571
  var children = [].slice.call(this.el.children);
1572
1572
  children.forEach(function (child) {
1573
- if (css$7(child, 'display') === 'none' || child === Sortable.ghost) return;
1573
+ if (css$8(child, 'display') === 'none' || child === Sortable.ghost) return;
1574
1574
  animationStates.push({
1575
1575
  target: child,
1576
1576
  rect: getRect(child)
@@ -1677,8 +1677,8 @@ function AnimationStateManager() {
1677
1677
  },
1678
1678
  animate: function animate(target, currentRect, toRect, duration) {
1679
1679
  if (duration) {
1680
- css$7(target, 'transition', '');
1681
- css$7(target, 'transform', '');
1680
+ css$8(target, 'transition', '');
1681
+ css$8(target, 'transform', '');
1682
1682
  var elMatrix = matrix(this.el),
1683
1683
  scaleX = elMatrix && elMatrix.a,
1684
1684
  scaleY = elMatrix && elMatrix.d,
@@ -1686,15 +1686,15 @@ function AnimationStateManager() {
1686
1686
  translateY = (currentRect.top - toRect.top) / (scaleY || 1);
1687
1687
  target.animatingX = !!translateX;
1688
1688
  target.animatingY = !!translateY;
1689
- css$7(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
1689
+ css$8(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
1690
1690
  repaint(target); // repaint
1691
1691
 
1692
- css$7(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
1693
- css$7(target, 'transform', 'translate3d(0,0,0)');
1692
+ css$8(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
1693
+ css$8(target, 'transform', 'translate3d(0,0,0)');
1694
1694
  typeof target.animated === 'number' && clearTimeout(target.animated);
1695
1695
  target.animated = setTimeout(function () {
1696
- css$7(target, 'transition', '');
1697
- css$7(target, 'transform', '');
1696
+ css$8(target, 'transition', '');
1697
+ css$8(target, 'transform', '');
1698
1698
  target.animated = false;
1699
1699
  target.animatingX = false;
1700
1700
  target.animatingY = false;
@@ -1963,12 +1963,12 @@ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in
1963
1963
  return el.style.pointerEvents === 'auto';
1964
1964
  }(),
1965
1965
  _detectDirection = function _detectDirection(el, options) {
1966
- var elCSS = css$7(el),
1966
+ var elCSS = css$8(el),
1967
1967
  elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
1968
1968
  child1 = getChild(el, 0, options),
1969
1969
  child2 = getChild(el, 1, options),
1970
- firstChildCSS = child1 && css$7(child1),
1971
- secondChildCSS = child2 && css$7(child2),
1970
+ firstChildCSS = child1 && css$8(child1),
1971
+ secondChildCSS = child2 && css$8(child2),
1972
1972
  firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
1973
1973
  secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
1974
1974
 
@@ -2057,12 +2057,12 @@ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
2057
2057
  },
2058
2058
  _hideGhostForTarget = function _hideGhostForTarget() {
2059
2059
  if (!supportCssPointerEvents && ghostEl) {
2060
- css$7(ghostEl, 'display', 'none');
2060
+ css$8(ghostEl, 'display', 'none');
2061
2061
  }
2062
2062
  },
2063
2063
  _unhideGhostForTarget = function _unhideGhostForTarget() {
2064
2064
  if (!supportCssPointerEvents && ghostEl) {
2065
- css$7(ghostEl, 'display', '');
2065
+ css$8(ghostEl, 'display', '');
2066
2066
  }
2067
2067
  }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
2068
2068
 
@@ -2597,10 +2597,10 @@ Sortable.prototype =
2597
2597
  }
2598
2598
 
2599
2599
  var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
2600
- css$7(ghostEl, 'webkitTransform', cssMatrix);
2601
- css$7(ghostEl, 'mozTransform', cssMatrix);
2602
- css$7(ghostEl, 'msTransform', cssMatrix);
2603
- css$7(ghostEl, 'transform', cssMatrix);
2600
+ css$8(ghostEl, 'webkitTransform', cssMatrix);
2601
+ css$8(ghostEl, 'mozTransform', cssMatrix);
2602
+ css$8(ghostEl, 'msTransform', cssMatrix);
2603
+ css$8(ghostEl, 'transform', cssMatrix);
2604
2604
  lastDx = dx;
2605
2605
  lastDy = dy;
2606
2606
  touchEvt = touch;
@@ -2621,7 +2621,7 @@ Sortable.prototype =
2621
2621
  // Get relatively positioned parent
2622
2622
  ghostRelativeParent = container;
2623
2623
 
2624
- while (css$7(ghostRelativeParent, 'position') === 'static' && css$7(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
2624
+ while (css$8(ghostRelativeParent, 'position') === 'static' && css$8(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
2625
2625
  ghostRelativeParent = ghostRelativeParent.parentNode;
2626
2626
  }
2627
2627
 
@@ -2640,22 +2640,22 @@ Sortable.prototype =
2640
2640
  toggleClass(ghostEl, options.ghostClass, false);
2641
2641
  toggleClass(ghostEl, options.fallbackClass, true);
2642
2642
  toggleClass(ghostEl, options.dragClass, true);
2643
- css$7(ghostEl, 'transition', '');
2644
- css$7(ghostEl, 'transform', '');
2645
- css$7(ghostEl, 'box-sizing', 'border-box');
2646
- css$7(ghostEl, 'margin', 0);
2647
- css$7(ghostEl, 'top', rect.top);
2648
- css$7(ghostEl, 'left', rect.left);
2649
- css$7(ghostEl, 'width', rect.width);
2650
- css$7(ghostEl, 'height', rect.height);
2651
- css$7(ghostEl, 'opacity', '0.8');
2652
- css$7(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
2653
- css$7(ghostEl, 'zIndex', '100000');
2654
- css$7(ghostEl, 'pointerEvents', 'none');
2643
+ css$8(ghostEl, 'transition', '');
2644
+ css$8(ghostEl, 'transform', '');
2645
+ css$8(ghostEl, 'box-sizing', 'border-box');
2646
+ css$8(ghostEl, 'margin', 0);
2647
+ css$8(ghostEl, 'top', rect.top);
2648
+ css$8(ghostEl, 'left', rect.left);
2649
+ css$8(ghostEl, 'width', rect.width);
2650
+ css$8(ghostEl, 'height', rect.height);
2651
+ css$8(ghostEl, 'opacity', '0.8');
2652
+ css$8(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
2653
+ css$8(ghostEl, 'zIndex', '100000');
2654
+ css$8(ghostEl, 'pointerEvents', 'none');
2655
2655
  Sortable.ghost = ghostEl;
2656
2656
  container.appendChild(ghostEl); // Set transform-origin
2657
2657
 
2658
- css$7(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
2658
+ css$8(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
2659
2659
  }
2660
2660
  },
2661
2661
  _onDragStart: function _onDragStart(
@@ -2724,7 +2724,7 @@ Sortable.prototype =
2724
2724
 
2725
2725
  on(document, 'drop', _this); // #1276 fix:
2726
2726
 
2727
- css$7(dragEl, 'transform', 'translateZ(0)');
2727
+ css$8(dragEl, 'transform', 'translateZ(0)');
2728
2728
  }
2729
2729
 
2730
2730
  awaitingDragStarted = true;
@@ -2733,7 +2733,7 @@ Sortable.prototype =
2733
2733
  moved = true;
2734
2734
 
2735
2735
  if (Safari) {
2736
- css$7(document.body, 'user-select', 'none');
2736
+ css$8(document.body, 'user-select', 'none');
2737
2737
  }
2738
2738
  },
2739
2739
  // Returns true - if no further action is needed (either inserted or another condition)
@@ -2953,7 +2953,7 @@ Sortable.prototype =
2953
2953
  do {
2954
2954
  dragIndex -= direction;
2955
2955
  sibling = parentEl.children[dragIndex];
2956
- } while (sibling && (css$7(sibling, 'display') === 'none' || sibling === ghostEl));
2956
+ } while (sibling && (css$8(sibling, 'display') === 'none' || sibling === ghostEl));
2957
2957
  } // If dragEl is already beside target: Do not insert
2958
2958
 
2959
2959
 
@@ -3068,10 +3068,10 @@ Sortable.prototype =
3068
3068
  this._offUpEvents();
3069
3069
 
3070
3070
  if (Safari) {
3071
- css$7(document.body, 'user-select', '');
3071
+ css$8(document.body, 'user-select', '');
3072
3072
  }
3073
3073
 
3074
- css$7(dragEl, 'transform', '');
3074
+ css$8(dragEl, 'transform', '');
3075
3075
 
3076
3076
  if (evt) {
3077
3077
  if (moved) {
@@ -3346,7 +3346,7 @@ Sortable.prototype =
3346
3346
  if (!cloneHidden) {
3347
3347
  pluginEvent('hideClone', this);
3348
3348
  if (Sortable.eventCanceled) return;
3349
- css$7(cloneEl, 'display', 'none');
3349
+ css$8(cloneEl, 'display', 'none');
3350
3350
 
3351
3351
  if (this.options.removeCloneOnHide && cloneEl.parentNode) {
3352
3352
  cloneEl.parentNode.removeChild(cloneEl);
@@ -3378,7 +3378,7 @@ Sortable.prototype =
3378
3378
  this.animate(dragEl, cloneEl);
3379
3379
  }
3380
3380
 
3381
- css$7(cloneEl, 'display', '');
3381
+ css$8(cloneEl, 'display', '');
3382
3382
  cloneHidden = false;
3383
3383
  }
3384
3384
  }
@@ -3553,7 +3553,7 @@ if (documentExists) {
3553
3553
  Sortable.utils = {
3554
3554
  on: on,
3555
3555
  off: off,
3556
- css: css$7,
3556
+ css: css$8,
3557
3557
  find: find,
3558
3558
  is: function is(el, selector) {
3559
3559
  return !!closest(el, selector, el, false);
@@ -3780,7 +3780,7 @@ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
3780
3780
  canScrollY = void 0,
3781
3781
  scrollWidth = el.scrollWidth,
3782
3782
  scrollHeight = el.scrollHeight,
3783
- elCSS = css$7(el),
3783
+ elCSS = css$8(el),
3784
3784
  scrollPosX = el.scrollLeft,
3785
3785
  scrollPosY = el.scrollTop;
3786
3786
 
@@ -4116,7 +4116,7 @@ function MultiDragPlugin() {
4116
4116
  if (!this.isMultiDrag) return;
4117
4117
  insertMultiDragClones(false, rootEl);
4118
4118
  multiDragClones.forEach(function (clone) {
4119
- css$7(clone, 'display', '');
4119
+ css$8(clone, 'display', '');
4120
4120
  });
4121
4121
  cloneNowShown();
4122
4122
  clonesHidden = false;
@@ -4130,7 +4130,7 @@ function MultiDragPlugin() {
4130
4130
  cancel = _ref5.cancel;
4131
4131
  if (!this.isMultiDrag) return;
4132
4132
  multiDragClones.forEach(function (clone) {
4133
- css$7(clone, 'display', 'none');
4133
+ css$8(clone, 'display', 'none');
4134
4134
 
4135
4135
  if (_this.options.removeCloneOnHide && clone.parentNode) {
4136
4136
  clone.parentNode.removeChild(clone);
@@ -4174,7 +4174,7 @@ function MultiDragPlugin() {
4174
4174
  if (this.options.animation) {
4175
4175
  multiDragElements.forEach(function (multiDragElement) {
4176
4176
  if (multiDragElement === dragEl$1) return;
4177
- css$7(multiDragElement, 'position', 'absolute');
4177
+ css$8(multiDragElement, 'position', 'absolute');
4178
4178
  });
4179
4179
  var dragRect = getRect(dragEl$1, false, true, true);
4180
4180
  multiDragElements.forEach(function (multiDragElement) {
@@ -7069,8 +7069,8 @@ vuedraggable_umd.exports;
7069
7069
  var vuedraggable_umdExports = vuedraggable_umd.exports;
7070
7070
  var draggable = /*@__PURE__*/getDefaultExportFromCjs(vuedraggable_umdExports);
7071
7071
 
7072
- var css$6 = "\r\n/* Fijar ancho de la columna de acciones en el header */\n.actions-header[data-v-3de96e53] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.sort-filter[data-v-3de96e53] {\r\n cursor: pointer;\r\n visibility: hidden;\r\n display: inline-block;\n}\n.sort-filter-visible[data-v-3de96e53] {\r\n visibility: visible;\n}\r\n";
7073
- n(css$6, {});
7072
+ var css$7 = "\r\n/* Fijar ancho de la columna de acciones en el header */\n.actions-header[data-v-3de96e53] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.sort-filter[data-v-3de96e53] {\r\n cursor: pointer;\r\n visibility: hidden;\r\n display: inline-block;\n}\n.sort-filter-visible[data-v-3de96e53] {\r\n visibility: visible;\n}\r\n";
7073
+ n(css$7, {});
7074
7074
 
7075
7075
  const _sfc_main$d = {
7076
7076
  name: 'TableHeader',
@@ -13113,8 +13113,8 @@ moment$1.exports;
13113
13113
  var momentExports = moment$1.exports;
13114
13114
  var moment = /*@__PURE__*/getDefaultExportFromCjs(momentExports);
13115
13115
 
13116
- var css$5 = "\r\n/* Fijar ancho de la columna de acciones */\n.actions-cell[data-v-e38a3192] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.actions-button-group[data-v-e38a3192] {\r\n display: inline-flex;\r\n flex-wrap: nowrap;\n}\n.actions-dropdown[data-v-e38a3192] {\r\n display: inline-block;\n}\r\n\r\n/* Asegurar que los botones no se expandan */\n.actions-button-group .btn[data-v-e38a3192] {\r\n flex-shrink: 0;\n}\r\n";
13117
- n(css$5, {});
13116
+ var css$6 = "\r\n/* Fijar ancho de la columna de acciones */\n.actions-cell[data-v-e38a3192] {\r\n width: 1%;\r\n white-space: nowrap;\n}\n.actions-button-group[data-v-e38a3192] {\r\n display: inline-flex;\r\n flex-wrap: nowrap;\n}\n.actions-dropdown[data-v-e38a3192] {\r\n display: inline-block;\n}\r\n\r\n/* Asegurar que los botones no se expandan */\n.actions-button-group .btn[data-v-e38a3192] {\r\n flex-shrink: 0;\n}\r\n";
13117
+ n(css$6, {});
13118
13118
 
13119
13119
  const _sfc_main$c = {
13120
13120
  name: 'TableCell',
@@ -13398,7 +13398,7 @@ const _sfc_main$a = {
13398
13398
  TableHeader,
13399
13399
  TableRow
13400
13400
  },
13401
- inject: ['displayMode', 'displayModes', 'tableContainerClass', 'tableClass', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'grouped', 'loading', 'infiniteScroll', 'messageEmptyResults', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13401
+ inject: ['displayMode', 'displayModes', 'tableContainerClass', 'tableClass', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'grouped', 'loading', 'firstLoad', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13402
13402
  data() {
13403
13403
  return {
13404
13404
  drag: false
@@ -13414,6 +13414,12 @@ const _sfc_main$a = {
13414
13414
  return this.displayMode();
13415
13415
  }
13416
13416
  return this.displayMode;
13417
+ },
13418
+ loadingValue() {
13419
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
13420
+ },
13421
+ firstLoadValue() {
13422
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
13417
13423
  }
13418
13424
  }
13419
13425
  };
@@ -13422,7 +13428,16 @@ var _sfc_render$a = function render() {
13422
13428
  _c = _vm._self._c;
13423
13429
  return _vm.currentDisplayMode == _vm.displayModes.MODE_TABLE ? _c('div', {
13424
13430
  class: ['table-responsive', _vm.tableContainerClass]
13425
- }, [_c('table', {
13431
+ }, [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
13432
+ staticClass: "text-center p-5"
13433
+ }, [_c('b-spinner', {
13434
+ attrs: {
13435
+ "variant": "primary",
13436
+ "label": "Cargando..."
13437
+ }
13438
+ }), _c('p', {
13439
+ staticClass: "mt-2"
13440
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_c('table', {
13426
13441
  class: ['table table-hover table-striped w-100', _vm.tableClass]
13427
13442
  }, [_c('TableHeader'), _c('draggable', {
13428
13443
  attrs: {
@@ -13466,9 +13481,9 @@ var _sfc_render$a = function render() {
13466
13481
  };
13467
13482
  })], null, true)
13468
13483
  });
13469
- }), 1)], 1), !_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13484
+ }), 1)], 1), _vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13470
13485
  staticClass: "p-3"
13471
- }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]) : _vm._e();
13486
+ }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]], 2) : _vm._e();
13472
13487
  };
13473
13488
  var _sfc_staticRenderFns$a = [];
13474
13489
  var __component__$a = /*#__PURE__*/normalizeComponent(_sfc_main$a, _sfc_render$a, _sfc_staticRenderFns$a, false, null, null, null, null);
@@ -13878,7 +13893,7 @@ const _sfc_main$8 = {
13878
13893
  draggable,
13879
13894
  ItemCard
13880
13895
  },
13881
- inject: ['displayMode', 'displayModes', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'colLg', 'colXl', 'colMd', 'colSm', 'colXs', 'columns', 'cardClass', 'cardHideFooter', 'itemValue', 'getStateValue', 'getStateOptions', 'getStateBadgeVariant', 'getArrayValue', 'showItem', 'updateItem', 'removeItem', 'loading', 'infiniteScroll', 'messageEmptyResults', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13896
+ inject: ['displayMode', 'displayModes', 'items', 'draggableGroup', 'orderable', 'draggableOptions', 'itemsList', 'colLg', 'colXl', 'colMd', 'colSm', 'colXs', 'columns', 'cardClass', 'cardHideFooter', 'itemValue', 'getStateValue', 'getStateOptions', 'getStateBadgeVariant', 'getArrayValue', 'showItem', 'updateItem', 'removeItem', 'loading', 'firstLoad', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'onSort', 'onDraggableAdded', 'onDraggableChange'],
13882
13897
  data() {
13883
13898
  return {
13884
13899
  drag: false
@@ -13894,13 +13909,28 @@ const _sfc_main$8 = {
13894
13909
  return this.displayMode();
13895
13910
  }
13896
13911
  return this.displayMode;
13912
+ },
13913
+ loadingValue() {
13914
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
13915
+ },
13916
+ firstLoadValue() {
13917
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
13897
13918
  }
13898
13919
  }
13899
13920
  };
13900
13921
  var _sfc_render$8 = function render() {
13901
13922
  var _vm = this,
13902
13923
  _c = _vm._self._c;
13903
- return _vm.currentDisplayMode == _vm.displayModes.MODE_CARDS ? _c('div', [_c('draggable', {
13924
+ return _vm.currentDisplayMode == _vm.displayModes.MODE_CARDS ? _c('div', [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
13925
+ staticClass: "text-center p-5"
13926
+ }, [_c('b-spinner', {
13927
+ attrs: {
13928
+ "variant": "primary",
13929
+ "label": "Cargando..."
13930
+ }
13931
+ }), _c('p', {
13932
+ staticClass: "mt-2"
13933
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_c('draggable', {
13904
13934
  attrs: {
13905
13935
  "group": _vm.draggableGroup,
13906
13936
  "draggable": _vm.orderable ? '.item' : '.none',
@@ -13978,16 +14008,16 @@ var _sfc_render$8 = function render() {
13978
14008
  }, {
13979
14009
  "item": item
13980
14010
  })], 2);
13981
- }), 0)], 1), !_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14011
+ }), 0)], 1), _vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
13982
14012
  staticClass: "p-3"
13983
- }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()], 1) : _vm._e();
14013
+ }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e()]], 2) : _vm._e();
13984
14014
  };
13985
14015
  var _sfc_staticRenderFns$8 = [];
13986
14016
  var __component__$8 = /*#__PURE__*/normalizeComponent(_sfc_main$8, _sfc_render$8, _sfc_staticRenderFns$8, false, null, null, null, null);
13987
14017
  var CrudCards = __component__$8.exports;
13988
14018
 
13989
- var css$4 = "\n.kanban-card[data-v-ad923ee1] {\r\n background: #ffffff;\r\n border-radius: 4px;\r\n padding: 0.5rem;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n cursor: grab;\r\n transition: box-shadow 0.2s ease;\n}\n.kanban-card[data-v-ad923ee1]:hover {\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n.kanban-card[data-v-ad923ee1]:active {\r\n cursor: grabbing;\n}\n.card-crud[data-v-ad923ee1] {\r\n border: 1px solid #e1e5e9;\n}\n.card-crud .card-title[data-v-ad923ee1] {\r\n font-size: 0.9rem;\r\n margin-bottom: 0.5rem;\n}\n.card-crud .card-text[data-v-ad923ee1] {\r\n font-size: 0.8rem;\r\n margin-bottom: 0.25rem;\n}\r\n";
13990
- n(css$4, {});
14019
+ var css$5 = "\n.kanban-card[data-v-ad923ee1] {\r\n background: #ffffff;\r\n border-radius: 4px;\r\n padding: 0.5rem;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n cursor: grab;\r\n transition: box-shadow 0.2s ease;\n}\n.kanban-card[data-v-ad923ee1]:hover {\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n.kanban-card[data-v-ad923ee1]:active {\r\n cursor: grabbing;\n}\n.card-crud[data-v-ad923ee1] {\r\n border: 1px solid #e1e5e9;\n}\n.card-crud .card-title[data-v-ad923ee1] {\r\n font-size: 0.9rem;\r\n margin-bottom: 0.5rem;\n}\n.card-crud .card-text[data-v-ad923ee1] {\r\n font-size: 0.8rem;\r\n margin-bottom: 0.25rem;\n}\r\n";
14020
+ n(css$5, {});
13991
14021
 
13992
14022
  const _sfc_main$7 = {
13993
14023
  name: 'KanbanCard',
@@ -14152,8 +14182,8 @@ var _sfc_staticRenderFns$7 = [];
14152
14182
  var __component__$7 = /*#__PURE__*/normalizeComponent(_sfc_main$7, _sfc_render$7, _sfc_staticRenderFns$7, false, null, "ad923ee1", null, null);
14153
14183
  var KanbanCard = __component__$7.exports;
14154
14184
 
14155
- var css$3 = "\n.kanban-column[data-v-a56cf649] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.kanban-column-header[data-v-a56cf649] {\r\n font-weight: bold;\r\n padding: 0.5rem;\r\n background: #dfe1e6;\r\n border-radius: 8px 8px 0 0;\r\n text-align: center;\n}\n.kanban-column-body[data-v-a56cf649] {\r\n padding: 0.5rem;\r\n min-height: 100px;\r\n background: #ffffff;\r\n border-radius: 0 0 8px 8px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.5rem;\n}\r\n";
14156
- n(css$3, {});
14185
+ var css$4 = "\n.kanban-column[data-v-a56cf649] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.kanban-column-header[data-v-a56cf649] {\r\n font-weight: bold;\r\n padding: 0.5rem;\r\n background: #dfe1e6;\r\n border-radius: 8px 8px 0 0;\r\n text-align: center;\n}\n.kanban-column-body[data-v-a56cf649] {\r\n padding: 0.5rem;\r\n min-height: 100px;\r\n background: #ffffff;\r\n border-radius: 0 0 8px 8px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.5rem;\n}\r\n";
14186
+ n(css$4, {});
14157
14187
 
14158
14188
  const _sfc_main$6 = {
14159
14189
  name: 'KanbanColumn',
@@ -14263,8 +14293,8 @@ var _sfc_staticRenderFns$6 = [];
14263
14293
  var __component__$6 = /*#__PURE__*/normalizeComponent(_sfc_main$6, _sfc_render$6, _sfc_staticRenderFns$6, false, null, "a56cf649", null, null);
14264
14294
  var KanbanColumn = __component__$6.exports;
14265
14295
 
14266
- var css$2 = "\n.kanban-board[data-v-516ff294] {\r\n display: flex;\r\n gap: 1rem;\r\n overflow-x: auto;\r\n padding: 1rem;\n}\n.kanban-column[data-v-516ff294] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n min-width: 300px;\n}\r\n";
14267
- n(css$2, {});
14296
+ var css$3 = "\n.kanban-board[data-v-516ff294] {\r\n display: flex;\r\n gap: 1rem;\r\n overflow-x: auto;\r\n padding: 1rem;\n}\n.kanban-column[data-v-516ff294] {\r\n background: #f4f5f7;\r\n border-radius: 8px;\r\n width: 300px;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n min-width: 300px;\n}\r\n";
14297
+ n(css$3, {});
14268
14298
 
14269
14299
  const _sfc_main$5 = {
14270
14300
  name: 'KanbanBoard',
@@ -14356,7 +14386,7 @@ var CrudKanban = __component__$4.exports;
14356
14386
 
14357
14387
  const _sfc_main$3 = {
14358
14388
  name: 'CrudCustom',
14359
- inject: ['displayMode', 'displayModes', 'listContainerClass', 'listItemClass', 'loading', 'items', 'infiniteScroll', 'messageEmptyResults', 'itemsList'],
14389
+ inject: ['displayMode', 'displayModes', 'listContainerClass', 'listItemClass', 'loading', 'firstLoad', 'items', 'infiniteScroll', 'messageEmptyResults', 'messageLoading', 'itemsList'],
14360
14390
  computed: {
14361
14391
  currentDisplayMode() {
14362
14392
  if (!this.displayMode) return 1;
@@ -14367,6 +14397,12 @@ const _sfc_main$3 = {
14367
14397
  return this.displayMode();
14368
14398
  }
14369
14399
  return this.displayMode;
14400
+ },
14401
+ loadingValue() {
14402
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
14403
+ },
14404
+ firstLoadValue() {
14405
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
14370
14406
  }
14371
14407
  }
14372
14408
  };
@@ -14375,7 +14411,16 @@ var _sfc_render$3 = function render() {
14375
14411
  _c = _vm._self._c;
14376
14412
  return _vm.currentDisplayMode == _vm.displayModes.MODE_CUSTOM ? _c('div', [_c('div', {
14377
14413
  class: _vm.listContainerClass
14378
- }, [!_vm.loading && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14414
+ }, [_vm.loadingValue || !_vm.firstLoadValue ? _c('div', {
14415
+ staticClass: "text-center p-5"
14416
+ }, [_c('b-spinner', {
14417
+ attrs: {
14418
+ "variant": "primary",
14419
+ "label": "Cargando..."
14420
+ }
14421
+ }), _c('p', {
14422
+ staticClass: "mt-2"
14423
+ }, [_vm._v(_vm._s(_vm.messageLoading))])], 1) : [_vm.firstLoadValue && _vm.itemsList && _vm.itemsList.length == 0 && !_vm.infiniteScroll ? _c('p', {
14379
14424
  staticClass: "p-3"
14380
14425
  }, [_vm._v(" " + _vm._s(_vm.messageEmptyResults) + " ")]) : _vm._e(), _vm._l(_vm.itemsList, function (item, index) {
14381
14426
  return _c('div', {
@@ -14384,12 +14429,15 @@ var _sfc_render$3 = function render() {
14384
14429
  }, [_vm._t("card", null, {
14385
14430
  "item": item
14386
14431
  })], 2);
14387
- })], 2)]) : _vm._e();
14432
+ })]], 2)]) : _vm._e();
14388
14433
  };
14389
14434
  var _sfc_staticRenderFns$3 = [];
14390
14435
  var __component__$3 = /*#__PURE__*/normalizeComponent(_sfc_main$3, _sfc_render$3, _sfc_staticRenderFns$3, false, null, null, null, null);
14391
14436
  var CrudCustom = __component__$3.exports;
14392
14437
 
14438
+ var css$2 = "\n.export-format-options[data-v-a032ebce] {\r\n display: flex;\r\n gap: 1rem;\r\n justify-content: center;\r\n flex-wrap: wrap;\n}\n.export-format-radio[data-v-a032ebce] {\r\n flex: 1;\r\n min-width: 150px;\r\n padding: 1rem;\r\n border: 2px solid #dee2e6;\r\n border-radius: 0.5rem;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n text-align: center;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background-color: #fff;\n}\n.export-format-radio[data-v-a032ebce]:hover {\r\n border-color: #007bff;\r\n background-color: #f8f9fa;\r\n transform: translateY(-2px);\r\n box-shadow: 0 2px 8px rgba(0, 123, 255, 0.2);\n}\n.export-format-radio[data-v-a032ebce] .custom-control-input:checked ~ .custom-control-label {\r\n color: #007bff;\r\n font-weight: 600;\n}\n.export-format-radio[data-v-a032ebce] .custom-control-input:checked ~ .custom-control-label::before {\r\n border-color: #007bff;\r\n background-color: #007bff;\n}\n.export-format-radio[data-v-a032ebce] .custom-control-label {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n cursor: pointer;\r\n font-size: 1rem;\n}\n.export-format-radio[data-v-a032ebce] .custom-control-label::before {\r\n margin-right: 0.5rem;\n}\n.export-format-radio[data-v-a032ebce] svg {\r\n font-size: 1.5rem;\r\n color: #495057;\n}\n.export-format-radio[data-v-a032ebce] .custom-control-input:checked ~ .custom-control-label svg {\r\n color: #007bff;\n}\r\n";
14439
+ n(css$2, {});
14440
+
14393
14441
  const _sfc_main$2 = {
14394
14442
  name: 'CrudModals',
14395
14443
  inject: ['modelName', 'title', 'loading', 'validate', 'item', 'getItem', 'messageSave', 'showImport', 'showExport', 'fileImport', 'selectedItems', 'exportFormat', 'saveItem', 'importItems', 'exportItems'],
@@ -14402,6 +14450,10 @@ const _sfc_main$2 = {
14402
14450
  }
14403
14451
  // Si no, usar el item inyectado directamente
14404
14452
  return this.item;
14453
+ },
14454
+ // Computed property para manejar loading como objeto reactivo o booleano
14455
+ loadingValue() {
14456
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
14405
14457
  }
14406
14458
  },
14407
14459
  watch: {
@@ -14428,7 +14480,7 @@ var _sfc_render$2 = function render() {
14428
14480
  }
14429
14481
  }, [_c('b-overlay', {
14430
14482
  attrs: {
14431
- "show": _vm.loading,
14483
+ "show": _vm.loadingValue,
14432
14484
  "rounded": "sm"
14433
14485
  }
14434
14486
  }, [_vm.validate ? [_c('form', {
@@ -14462,9 +14514,9 @@ var _sfc_render$2 = function render() {
14462
14514
  "block": "",
14463
14515
  "type": "submit",
14464
14516
  "variant": "success",
14465
- "disabled": _vm.loading
14517
+ "disabled": _vm.loadingValue
14466
14518
  }
14467
- }, [_vm.loading ? _c('b-spinner', {
14519
+ }, [_vm.loadingValue ? _c('b-spinner', {
14468
14520
  attrs: {
14469
14521
  "small": ""
14470
14522
  }
@@ -14496,14 +14548,14 @@ var _sfc_render$2 = function render() {
14496
14548
  "block": "",
14497
14549
  "type": "submit",
14498
14550
  "variant": "success",
14499
- "disabled": _vm.loading
14551
+ "disabled": _vm.loadingValue
14500
14552
  },
14501
14553
  on: {
14502
14554
  "click": function ($event) {
14503
14555
  return _vm.saveItem();
14504
14556
  }
14505
14557
  }
14506
- }, [_vm.loading ? _c('b-spinner', {
14558
+ }, [_vm.loadingValue ? _c('b-spinner', {
14507
14559
  attrs: {
14508
14560
  "small": ""
14509
14561
  }
@@ -14543,7 +14595,7 @@ var _sfc_render$2 = function render() {
14543
14595
  }, [_vm.item ? _vm._t("import", function () {
14544
14596
  return [_c('b-overlay', {
14545
14597
  attrs: {
14546
- "show": _vm.loading,
14598
+ "show": _vm.loadingValue,
14547
14599
  "rounded": "sm"
14548
14600
  }
14549
14601
  }, [_c('b-form-file', {
@@ -14565,14 +14617,14 @@ var _sfc_render$2 = function render() {
14565
14617
  }, [_c('b-button', {
14566
14618
  attrs: {
14567
14619
  "variant": "info",
14568
- "disabled": _vm.loading
14620
+ "disabled": _vm.loadingValue
14569
14621
  },
14570
14622
  on: {
14571
14623
  "click": function ($event) {
14572
14624
  return _vm.importItems();
14573
14625
  }
14574
14626
  }
14575
- }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loading ? "Cargando..." : "Importar") + " ")], 1)], 1)], 1)];
14627
+ }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loadingValue ? "Cargando..." : "Importar") + " ")], 1)], 1)], 1)];
14576
14628
  }, {
14577
14629
  "item": _vm.item
14578
14630
  }) : _vm._e()], 2) : _vm._e(), _vm.showExport ? _c('b-modal', {
@@ -14584,55 +14636,63 @@ var _sfc_render$2 = function render() {
14584
14636
  }, [_vm.item ? _vm._t("export", function () {
14585
14637
  return [_c('b-overlay', {
14586
14638
  attrs: {
14587
- "show": _vm.loading,
14639
+ "show": _vm.loadingValue,
14588
14640
  "rounded": "sm"
14589
14641
  }
14590
- }, [_vm.selectedItems.length ? _c('p', [_vm._v("Se exportará " + _vm._s(_vm.selectedItems.length) + " elementos.")]) : _c('p', [_vm._v("Se exportará la consulta actual.")]), _c('select', {
14591
- directives: [{
14592
- name: "model",
14593
- rawName: "v-model",
14594
- value: _vm.exportFormat,
14595
- expression: "exportFormat"
14596
- }],
14597
- staticClass: "form-control",
14598
- on: {
14599
- "change": function ($event) {
14600
- var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {
14601
- return o.selected;
14602
- }).map(function (o) {
14603
- var val = "_value" in o ? o._value : o.value;
14604
- return val;
14605
- });
14606
- _vm.exportFormat = $event.target.multiple ? $$selectedVal : $$selectedVal[0];
14607
- }
14642
+ }, [_vm.selectedItems.length ? _c('p', [_vm._v("Se exportará " + _vm._s(_vm.selectedItems.length) + " elementos.")]) : _c('p', [_vm._v("Se exportará la consulta actual.")]), _c('b-form-group', {
14643
+ staticClass: "mt-3",
14644
+ attrs: {
14645
+ "label": "Seleccione el formato de exportación:"
14608
14646
  }
14609
- }, [_c('option', {
14647
+ }, [_c('div', {
14648
+ staticClass: "export-format-options"
14649
+ }, [_c('b-form-radio', {
14650
+ staticClass: "export-format-radio",
14610
14651
  attrs: {
14611
14652
  "value": "JSON"
14653
+ },
14654
+ model: {
14655
+ value: _vm.exportFormat,
14656
+ callback: function ($$v) {
14657
+ _vm.exportFormat = $$v;
14658
+ },
14659
+ expression: "exportFormat"
14612
14660
  }
14613
- }, [_vm._v("JSON")]), _c('option', {
14661
+ }, [_c('b-icon-file-text', {
14662
+ staticClass: "mr-2"
14663
+ }), _vm._v(" JSON ")], 1), _c('b-form-radio', {
14664
+ staticClass: "export-format-radio",
14614
14665
  attrs: {
14615
14666
  "value": "XLSX"
14667
+ },
14668
+ model: {
14669
+ value: _vm.exportFormat,
14670
+ callback: function ($$v) {
14671
+ _vm.exportFormat = $$v;
14672
+ },
14673
+ expression: "exportFormat"
14616
14674
  }
14617
- }, [_vm._v("XLSX")])]), _c('div', {
14675
+ }, [_c('b-icon-table', {
14676
+ staticClass: "mr-2"
14677
+ }), _vm._v(" XLSX ")], 1)], 1)]), _c('div', {
14618
14678
  staticClass: "text-center mt-3"
14619
14679
  }, [_c('b-button', {
14620
14680
  attrs: {
14621
14681
  "variant": "info",
14622
- "disabled": _vm.loading
14682
+ "disabled": _vm.loadingValue
14623
14683
  },
14624
14684
  on: {
14625
14685
  "click": function ($event) {
14626
14686
  return _vm.exportItems();
14627
14687
  }
14628
14688
  }
14629
- }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loading ? "Cargando..." : "Exportar") + " ")], 1)], 1)])];
14689
+ }, [_c('b-icon-cloud-upload'), _vm._v(" " + _vm._s(_vm.loadingValue ? "Cargando..." : "Exportar") + " ")], 1)], 1)], 1)];
14630
14690
  }, {
14631
14691
  "item": _vm.item
14632
14692
  }) : _vm._e()], 2) : _vm._e()], 1);
14633
14693
  };
14634
14694
  var _sfc_staticRenderFns$2 = [];
14635
- var __component__$2 = /*#__PURE__*/normalizeComponent(_sfc_main$2, _sfc_render$2, _sfc_staticRenderFns$2, false, null, null, null, null);
14695
+ var __component__$2 = /*#__PURE__*/normalizeComponent(_sfc_main$2, _sfc_render$2, _sfc_staticRenderFns$2, false, null, "a032ebce", null, null);
14636
14696
  var CrudModals = __component__$2.exports;
14637
14697
 
14638
14698
  var vueInfiniteLoading = {exports: {}};
@@ -14651,7 +14711,7 @@ vueInfiniteLoading.exports;
14651
14711
  var vueInfiniteLoadingExports = vueInfiniteLoading.exports;
14652
14712
  var InfiniteLoading = /*@__PURE__*/getDefaultExportFromCjs(vueInfiniteLoadingExports);
14653
14713
 
14654
- var css$1 = "\n.paginator-container[data-v-11671e09] {\r\n display: grid;\r\n grid-template-columns: 1fr auto 1fr;\r\n align-items: center;\r\n width: 100%;\r\n margin-top: 1rem;\r\n gap: 1rem;\n}\n.paginator-data[data-v-11671e09] {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 0.5rem;\r\n font-size: 0.875rem;\r\n grid-column: 1;\n}\n.paginator-badge[data-v-11671e09] {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.25rem;\r\n padding: 0.375rem 0.625rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n border-radius: 0.375rem;\r\n color: #495057;\r\n transition: all 0.2s ease;\n}\n.paginator-badge[data-v-11671e09]:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\n.paginator-label[data-v-11671e09] {\r\n font-weight: 500;\r\n color: #6c757d;\n}\n.paginator-value[data-v-11671e09] {\r\n font-weight: 600;\r\n color: #212529;\n}\n.paginator-dropdown[data-v-11671e09] {\r\n font-size: 0.875rem;\n}\n.paginator-dropdown[data-v-11671e09] .btn {\r\n padding: 0.375rem 0.625rem;\r\n font-size: 0.875rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n color: #495057;\n}\n.paginator-dropdown[data-v-11671e09] .btn:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\n.crud-paginator[data-v-11671e09] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n grid-column: 2;\n}\n.paginator-badge-dropdown[data-v-11671e09] {\r\n z-index: 1;\r\n position: relative;\n}\n.paginator-badge-dropdown[data-v-11671e09] .btn {\r\n padding: 0.375rem 0.625rem;\r\n font-size: 0.875rem;\r\n background-color: #f8f9fa;\r\n border: 1px solid #dee2e6;\r\n color: #495057;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0.25rem;\n}\n.paginator-badge-dropdown[data-v-11671e09] .btn:hover {\r\n background-color: #e9ecef;\r\n border-color: #ced4da;\n}\r\n";
14714
+ var css$1 = "\n.paginator-container[data-v-73e31fd7] {\n display: grid;\n grid-template-columns: 1fr auto 1fr;\n align-items: center;\n width: 100%;\n margin-top: 1rem;\n gap: 1rem;\n}\n.paginator-data[data-v-73e31fd7] {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n gap: 0.5rem;\n font-size: 0.875rem;\n grid-column: 1;\n}\n.paginator-badge[data-v-73e31fd7] {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.625rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n border-radius: 0.375rem;\n color: #495057;\n transition: all 0.2s ease;\n}\n.paginator-badge[data-v-73e31fd7]:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n.paginator-label[data-v-73e31fd7] {\n font-weight: 500;\n color: #6c757d;\n}\n.paginator-value[data-v-73e31fd7] {\n font-weight: 600;\n color: #212529;\n}\n.paginator-dropdown[data-v-73e31fd7] {\n font-size: 0.875rem;\n}\n.paginator-dropdown[data-v-73e31fd7] .btn {\n padding: 0.375rem 0.625rem;\n font-size: 0.875rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n color: #495057;\n}\n.paginator-dropdown[data-v-73e31fd7] .btn:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n.crud-paginator[data-v-73e31fd7] {\n display: flex;\n justify-content: center;\n align-items: center;\n grid-column: 2;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] {\n z-index: 1;\n position: relative;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] .btn {\n padding: 0.375rem 0.625rem;\n font-size: 0.875rem;\n background-color: #f8f9fa;\n border: 1px solid #dee2e6;\n color: #495057;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n}\n.paginator-badge-dropdown[data-v-73e31fd7] .btn:hover {\n background-color: #e9ecef;\n border-color: #ced4da;\n}\n";
14655
14715
  n(css$1, {});
14656
14716
 
14657
14717
  const _sfc_main$1 = {
@@ -14659,7 +14719,7 @@ const _sfc_main$1 = {
14659
14719
  components: {
14660
14720
  InfiniteLoading
14661
14721
  },
14662
- inject: ['infiniteScroll', 'infiniteScrollKey', 'messageLoading', 'messageNoMore', 'messageEmptyResults', 'loading', 'items', 'pagination', 'selectedItems', 'showPaginator', 'infiniteHandler', 'onPaginationChange', 'onPerPageChange', 'clearSelection'],
14722
+ inject: ['infiniteScroll', 'infiniteScrollKey', 'messageLoading', 'messageNoMore', 'messageEmptyResults', 'loading', 'firstLoad', 'items', 'pagination', 'selectedItems', 'showPaginator', 'infiniteHandler', 'onPaginationChange', 'onPerPageChange', 'clearSelection'],
14663
14723
  data() {
14664
14724
  return {
14665
14725
  perPageOptions: [10, 20, 50, 100]
@@ -14669,6 +14729,12 @@ const _sfc_main$1 = {
14669
14729
  selectedItemsCount() {
14670
14730
  // Computed para forzar reactividad del contador
14671
14731
  return this.selectedItems ? this.selectedItems.length : 0;
14732
+ },
14733
+ loadingValue() {
14734
+ return this.loading && this.loading.value !== undefined ? this.loading.value : this.loading;
14735
+ },
14736
+ firstLoadValue() {
14737
+ return this.firstLoad && this.firstLoad.value !== undefined ? this.firstLoad.value : this.firstLoad;
14672
14738
  }
14673
14739
  }
14674
14740
  };
@@ -14696,14 +14762,14 @@ var _sfc_render$1 = function render() {
14696
14762
  "slot": "no-more"
14697
14763
  },
14698
14764
  slot: "no-more"
14699
- }, [!_vm.loading ? _c('div', {
14765
+ }, [!_vm.loadingValue ? _c('div', {
14700
14766
  staticClass: "text-center"
14701
14767
  }, [_vm._v(_vm._s(_vm.messageNoMore))]) : _vm._e()]), _c('div', {
14702
14768
  attrs: {
14703
14769
  "slot": "no-results"
14704
14770
  },
14705
14771
  slot: "no-results"
14706
- }, [!_vm.loading ? _c('div', {
14772
+ }, [!_vm.loadingValue && _vm.firstLoadValue ? _c('div', {
14707
14773
  staticClass: "text-center"
14708
14774
  }, [_vm._v(_vm._s(_vm.items.length == 0 ? _vm.messageEmptyResults : _vm.messageNoMore))]) : _vm._e()])]) : _vm._e(), !_vm.infiniteScroll ? _c('div', {
14709
14775
  staticClass: "paginator-container"
@@ -14769,7 +14835,7 @@ var _sfc_render$1 = function render() {
14769
14835
  }) : _vm._e()], 1)]) : _vm._e()], 1);
14770
14836
  };
14771
14837
  var _sfc_staticRenderFns$1 = [];
14772
- var __component__$1 = /*#__PURE__*/normalizeComponent(_sfc_main$1, _sfc_render$1, _sfc_staticRenderFns$1, false, null, "11671e09", null, null);
14838
+ var __component__$1 = /*#__PURE__*/normalizeComponent(_sfc_main$1, _sfc_render$1, _sfc_staticRenderFns$1, false, null, "73e31fd7", null, null);
14773
14839
  var CrudPagination = __component__$1.exports;
14774
14840
 
14775
14841
  var crudData = {
@@ -14805,6 +14871,14 @@ var crudData = {
14805
14871
  value: 1
14806
14872
  }),
14807
14873
  // Objeto reactivo para provide/inject
14874
+ loadingReactive: Vue.observable({
14875
+ value: false
14876
+ }),
14877
+ // Objeto reactivo para loading
14878
+ firstLoadReactive: Vue.observable({
14879
+ value: false
14880
+ }),
14881
+ // Objeto reactivo para firstLoad
14808
14882
  displayModes: {
14809
14883
  MODE_TABLE: 1,
14810
14884
  MODE_CARDS: 2,
@@ -14999,6 +15073,18 @@ var crudData = {
14999
15073
  });
15000
15074
  },
15001
15075
  deep: true
15076
+ },
15077
+ loading: {
15078
+ handler(newVal) {
15079
+ this.loadingReactive.value = newVal;
15080
+ },
15081
+ immediate: true
15082
+ },
15083
+ firstLoad: {
15084
+ handler(newVal) {
15085
+ this.firstLoadReactive.value = newVal;
15086
+ },
15087
+ immediate: true
15002
15088
  }
15003
15089
  },
15004
15090
  created() {
@@ -15007,6 +15093,9 @@ var crudData = {
15007
15093
  this._displayMode = this.$props.displayMode;
15008
15094
  this.displayModeReactive.value = this._displayMode;
15009
15095
  }
15096
+ // Inicializar valores reactivos
15097
+ this.loadingReactive.value = this.loading;
15098
+ this.firstLoadReactive.value = this.firstLoad;
15010
15099
  },
15011
15100
  mounted() {
15012
15101
  const now = Math.floor(Date.now() / 1000);
@@ -20709,10 +20798,10 @@ var crudApi = {
20709
20798
  ids: ids
20710
20799
  }
20711
20800
  }).then(response => {
20712
- this.items = this.items.filter(it => !ids.includes(it.id));
20713
20801
  this.toastSuccess("Elemento/s eliminado.");
20714
20802
  this.$emit("itemDeleted", {});
20715
- this.loading = false;
20803
+ this.clearSelection();
20804
+ this.refresh();
20716
20805
  }).catch(error => {
20717
20806
  this.toastError(error);
20718
20807
  this.loading = false;
@@ -20722,8 +20811,10 @@ var crudApi = {
20722
20811
  let ids = this.selectedItems.map(it => it.id);
20723
20812
  this.items = this.items.filter(it => !ids.includes(it.id));
20724
20813
  this.item = null;
20814
+ this.pagination.total = this.items.length;
20725
20815
  this.toastSuccess("Elemento Eliminado");
20726
20816
  this.$emit("itemDeleted", {});
20817
+ this.clearSelection();
20727
20818
  this.loading = false;
20728
20819
  },
20729
20820
  async deleteItemBulkVuex() {
@@ -20745,7 +20836,15 @@ var crudApi = {
20745
20836
  return;
20746
20837
  }
20747
20838
  }
20839
+
20840
+ // Actualizar items desde el store Vuex
20841
+ let itemsResult = this.model.query().withAll().get();
20842
+ if (itemsResult) {
20843
+ this.items = itemsResult;
20844
+ }
20748
20845
  this.toastSuccess("Elemento eliminados.");
20846
+ this.clearSelection();
20847
+ this.loading = false;
20749
20848
  },
20750
20849
  saveSort() {
20751
20850
  if (this.orderable) {
@@ -21327,6 +21426,9 @@ var crudHelpers = {
21327
21426
  });
21328
21427
  },
21329
21428
  createItem() {
21429
+ // Asegurar que loading esté en false al abrir el modal
21430
+ this.loading = false;
21431
+
21330
21432
  // Hacer copia profunda del objeto para asegurar reactividad
21331
21433
  const itemCopy = JSON.parse(JSON.stringify(this.itemDefault));
21332
21434
  if (this.useVuexORM && !this.vuexLocalforage) {
@@ -21363,6 +21465,8 @@ var crudHelpers = {
21363
21465
  });
21364
21466
  },
21365
21467
  updateItem(id, itemIndex = null) {
21468
+ // Asegurar que loading esté en false al abrir el modal
21469
+ this.loading = false;
21366
21470
  let item;
21367
21471
  if (itemIndex == null) {
21368
21472
  item = this.items.find(it => it.id == id);
@@ -21458,10 +21562,18 @@ var crudHelpers = {
21458
21562
  }
21459
21563
  },
21460
21564
  showExportModal() {
21461
- this.$refs["modal-export"].show();
21565
+ // Asegurar que loading esté en false al abrir el modal
21566
+ this.loading = false;
21567
+ if (this.$refs.crudModals && this.$refs.crudModals.$refs["modal-export"]) {
21568
+ this.$refs.crudModals.$refs["modal-export"].show();
21569
+ }
21462
21570
  },
21463
21571
  showImportModal() {
21464
- this.$refs["modal-import"].show();
21572
+ // Asegurar que loading esté en false al abrir el modal
21573
+ this.loading = false;
21574
+ if (this.$refs.crudModals && this.$refs.crudModals.$refs["modal-import"]) {
21575
+ this.$refs.crudModals.$refs["modal-import"].show();
21576
+ }
21465
21577
  },
21466
21578
  onDraggableAdded(event) {
21467
21579
  this.$emit("draggableAdded", event);
@@ -21560,7 +21672,7 @@ var crudHelpers = {
21560
21672
  }
21561
21673
  };
21562
21674
 
21563
- var css = "tr td[data-v-9327e2bb]:last-child,\ntr td[data-v-9327e2bb]:first-child {\n width: 1%;\n white-space: nowrap; }\n\ntbody tr.selected[data-v-9327e2bb] {\n background-color: #e3f2fd !important; }\n tbody tr.selected[data-v-9327e2bb] td[data-v-9327e2bb] {\n background-color: transparent !important; }\n tbody tr.selected[data-v-9327e2bb][data-v-9327e2bb]:hover {\n background-color: #bbdefb !important; }\n tbody tr.selected[data-v-9327e2bb][data-v-9327e2bb]:hover td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(odd) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(odd) td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(even) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-9327e2bb]:nth-of-type(even) td[data-v-9327e2bb] {\n background-color: transparent !important; }\n\n.crud-pagination[data-v-9327e2bb] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-9327e2bb] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-9327e2bb] .crud-title[data-v-9327e2bb] {\n margin: 0; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] {\n max-width: 15rem; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] .btn[data-v-9327e2bb] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem; }\n .crud-header[data-v-9327e2bb] .crud-search[data-v-9327e2bb] .btn[data-v-9327e2bb].open[data-v-9327e2bb] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-9327e2bb] .table-options[data-v-9327e2bb] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-9327e2bb] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-9327e2bb] {\n table-layout: auto; }\n .table[data-v-9327e2bb] tbody[data-v-9327e2bb] td[data-v-9327e2bb] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-9327e2bb] tbody[data-v-9327e2bb] td[data-v-9327e2bb]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-9327e2bb] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-9327e2bb] {\n background: #f4f5f7;\n border-radius: 8px;\n width: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }\n\n.kanban-column-header[data-v-9327e2bb] {\n font-weight: bold;\n padding: 0.5rem;\n background: #dfe1e6;\n border-radius: 8px 8px 0 0;\n text-align: center; }\n\n.kanban-column-body[data-v-9327e2bb] {\n padding: 0.5rem;\n min-height: 100px;\n background: #ffffff;\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: column;\n gap: 0.5rem; }\n\n.kanban-card[data-v-9327e2bb] {\n background: #ffffff;\n border-radius: 4px;\n padding: 1rem;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n cursor: grab; }\n";
21675
+ var css = "tr td[data-v-3751aeba]:last-child,\ntr td[data-v-3751aeba]:first-child {\n width: 1%;\n white-space: nowrap; }\n\ntbody tr.selected[data-v-3751aeba] {\n background-color: #e3f2fd !important; }\n tbody tr.selected[data-v-3751aeba] td[data-v-3751aeba] {\n background-color: transparent !important; }\n tbody tr.selected[data-v-3751aeba][data-v-3751aeba]:hover {\n background-color: #bbdefb !important; }\n tbody tr.selected[data-v-3751aeba][data-v-3751aeba]:hover td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(odd) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(odd) td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(even) {\n background-color: #e3f2fd !important; }\n .table-striped tbody tr.selected[data-v-3751aeba]:nth-of-type(even) td[data-v-3751aeba] {\n background-color: transparent !important; }\n\n.crud-pagination[data-v-3751aeba] {\n display: flex;\n align-items: center;\n width: 100%;\n justify-content: center;\n margin-top: 1rem; }\n\n.crud-header[data-v-3751aeba] {\n display: flex;\n justify-content: space-between;\n max-height: 3rem; }\n .crud-header[data-v-3751aeba] .crud-title[data-v-3751aeba] {\n margin: 0; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] {\n max-width: 15rem; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] .btn[data-v-3751aeba] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0.375rem;\n border-bottom-right-radius: 0.375rem; }\n .crud-header[data-v-3751aeba] .crud-search[data-v-3751aeba] .btn[data-v-3751aeba].open[data-v-3751aeba] {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .crud-header[data-v-3751aeba] .table-options[data-v-3751aeba] {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n\n.custom-control[data-v-3751aeba] {\n position: relative; }\n\n@media (min-width: 992px) {\n .table[data-v-3751aeba] {\n table-layout: auto; }\n .table[data-v-3751aeba] tbody[data-v-3751aeba] td[data-v-3751aeba] {\n overflow: scroll;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */ }\n .table[data-v-3751aeba] tbody[data-v-3751aeba] td[data-v-3751aeba]::-webkit-scrollbar {\n display: none; } }\n\n.kanban-board[data-v-3751aeba] {\n display: flex;\n gap: 1rem;\n overflow-x: auto;\n padding: 1rem; }\n\n.kanban-column[data-v-3751aeba] {\n background: #f4f5f7;\n border-radius: 8px;\n width: 300px;\n display: flex;\n flex-direction: column;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }\n\n.kanban-column-header[data-v-3751aeba] {\n font-weight: bold;\n padding: 0.5rem;\n background: #dfe1e6;\n border-radius: 8px 8px 0 0;\n text-align: center; }\n\n.kanban-column-body[data-v-3751aeba] {\n padding: 0.5rem;\n min-height: 100px;\n background: #ffffff;\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-direction: column;\n gap: 0.5rem; }\n\n.kanban-card[data-v-3751aeba] {\n background: #ffffff;\n border-radius: 4px;\n padding: 1rem;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n cursor: grab; }\n";
21564
21676
  n(css, {});
21565
21677
 
21566
21678
  const _sfc_main = {
@@ -21655,8 +21767,8 @@ const _sfc_main = {
21655
21767
  // Data from mixins
21656
21768
  crudUuid: this.crudUuid,
21657
21769
  moment: this.moment,
21658
- loading: this.loading,
21659
- firstLoad: this.firstLoad,
21770
+ loading: this.loadingReactive,
21771
+ firstLoad: this.firstLoadReactive,
21660
21772
  // Proporcionar item como función getter para reactividad
21661
21773
  getItem: () => this.item,
21662
21774
  item: this.item,
@@ -22099,6 +22211,7 @@ var _sfc_render = function render() {
22099
22211
  "rounded": "sm"
22100
22212
  }
22101
22213
  }), _c('CrudPagination'), _c('CrudModals', {
22214
+ ref: "crudModals",
22102
22215
  scopedSlots: _vm._u([_vm._l(_vm.$scopedSlots, function (slot, name) {
22103
22216
  return {
22104
22217
  key: name,
@@ -22110,7 +22223,7 @@ var _sfc_render = function render() {
22110
22223
  })], 1);
22111
22224
  };
22112
22225
  var _sfc_staticRenderFns = [];
22113
- var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "9327e2bb", null, null);
22226
+ var __component__ = /*#__PURE__*/normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "3751aeba", null, null);
22114
22227
  var component = __component__.exports;
22115
22228
 
22116
22229
  // Import vue component