@alexochihua/exos-library-components 2.25.26 → 2.25.28

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.
@@ -29773,13 +29773,14 @@ const directiveCallback = (el, binding) => {
29773
29773
  });
29774
29774
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[1]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/ui/components/icon/EIcon.vue?vue&type=script&setup=true&lang=js
29775
29775
 
29776
- const EIconvue_type_script_setup_true_lang_js_hoisted_1 = ["width", "height"];
29777
- const EIconvue_type_script_setup_true_lang_js_hoisted_2 = ["id"];
29778
- const EIconvue_type_script_setup_true_lang_js_hoisted_3 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("stop", {
29776
+ const EIconvue_type_script_setup_true_lang_js_hoisted_1 = ["iconName"];
29777
+ const EIconvue_type_script_setup_true_lang_js_hoisted_2 = ["width", "height"];
29778
+ const EIconvue_type_script_setup_true_lang_js_hoisted_3 = ["id"];
29779
+ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("stop", {
29779
29780
  offset: "0%",
29780
29781
  "stop-color": "currentColor"
29781
29782
  }, null, -1);
29782
- const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29783
+ const EIconvue_type_script_setup_true_lang_js_hoisted_5 = ["stop-color"];
29783
29784
 
29784
29785
 
29785
29786
 
@@ -29909,10 +29910,11 @@ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29909
29910
  return !props.isSVG ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("span", {
29910
29911
  key: 0,
29911
29912
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(`${iconClass.value} ${props.applyGradient ? '' : props.color}`),
29913
+ iconName: isLocalIcon.value ? '' : iconName.value,
29912
29914
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeStyle)(iconStyle.value),
29913
29915
  "data-testid": "icon-cy",
29914
29916
  onClick: handleClick
29915
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(isLocalIcon.value ? '' : iconName.value), 7)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", {
29917
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(isLocalIcon.value ? '' : iconName.value), 15, EIconvue_type_script_setup_true_lang_js_hoisted_1)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", {
29916
29918
  key: 1,
29917
29919
  "data-testid": "icon-cy",
29918
29920
  width: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(sizeValueComputed),
@@ -29931,12 +29933,12 @@ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29931
29933
  y1: "0%",
29932
29934
  y2: "0%",
29933
29935
  gradientUnits: "userSpaceOnUse"
29934
- }, [EIconvue_type_script_setup_true_lang_js_hoisted_3, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("stop", {
29936
+ }, [EIconvue_type_script_setup_true_lang_js_hoisted_4, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("stop", {
29935
29937
  offset: "100%",
29936
29938
  "stop-color": colorGradRight.value
29937
- }, null, 8, EIconvue_type_script_setup_true_lang_js_hoisted_4)], 8, EIconvue_type_script_setup_true_lang_js_hoisted_2)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withDirectives)(((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", {
29939
+ }, null, 8, EIconvue_type_script_setup_true_lang_js_hoisted_5)], 8, EIconvue_type_script_setup_true_lang_js_hoisted_3)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withDirectives)(((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("svg", {
29938
29940
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeStyle)(props.applyGradient ? `fill: url(#grad${(0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(_vm).uid})` : '')
29939
- }, null, 4)), [[vSaveHTML, props.name]])], 10, EIconvue_type_script_setup_true_lang_js_hoisted_1));
29941
+ }, null, 4)), [[vSaveHTML, props.name]])], 10, EIconvue_type_script_setup_true_lang_js_hoisted_2));
29940
29942
  };
29941
29943
  }
29942
29944
  });
@@ -34949,7 +34951,7 @@ function shared_watchWithFilter(source, cb, options = {}) {
34949
34951
  eventFilter = shared_bypassFilter,
34950
34952
  ...watchOptions
34951
34953
  } = options;
34952
- return watch(source, shared_createFilterWrapper(eventFilter, cb), watchOptions);
34954
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(source, shared_createFilterWrapper(eventFilter, cb), watchOptions);
34953
34955
  }
34954
34956
  function watchPausable(source, cb, options = {}) {
34955
34957
  const {
@@ -36251,18 +36253,18 @@ function useActiveElement(options = {}) {
36251
36253
  return activeElement;
36252
36254
  }
36253
36255
  function useMounted() {
36254
- const isMounted = ref(false);
36255
- const instance = getCurrentInstance();
36256
+ const isMounted = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
36257
+ const instance = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.getCurrentInstance)();
36256
36258
  if (instance) {
36257
- onMounted(() => {
36259
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
36258
36260
  isMounted.value = true;
36259
- }, isVue2 ? null : instance);
36261
+ }, vue_demi_lib_isVue2 ? null : instance);
36260
36262
  }
36261
36263
  return isMounted;
36262
36264
  }
36263
36265
  function useSupported(callback) {
36264
36266
  const isMounted = useMounted();
36265
- return computed(() => {
36267
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
36266
36268
  isMounted.value;
36267
36269
  return Boolean(callback());
36268
36270
  });
@@ -38431,13 +38433,13 @@ function useIntersectionObserver(target, callback, options = {}) {
38431
38433
  immediate = true
38432
38434
  } = options;
38433
38435
  const isSupported = useSupported(() => window && "IntersectionObserver" in window);
38434
- const targets = computed(() => {
38435
- const _target = toValue(target);
38436
- return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);
38436
+ const targets = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
38437
+ const _target = shared_toValue(target);
38438
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(shared_notNullish);
38437
38439
  });
38438
- let cleanup = noop;
38439
- const isActive = ref(immediate);
38440
- const stopWatch = isSupported.value ? watch(() => [targets.value, unrefElement(root), isActive.value], ([targets2, root2]) => {
38440
+ let cleanup = shared_noop;
38441
+ const isActive = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(immediate);
38442
+ const stopWatch = isSupported.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => [targets.value, unrefElement(root), isActive.value], ([targets2, root2]) => {
38441
38443
  cleanup();
38442
38444
  if (!isActive.value) return;
38443
38445
  if (!targets2.length) return;
@@ -38449,18 +38451,18 @@ function useIntersectionObserver(target, callback, options = {}) {
38449
38451
  targets2.forEach(el => el && observer.observe(el));
38450
38452
  cleanup = () => {
38451
38453
  observer.disconnect();
38452
- cleanup = noop;
38454
+ cleanup = shared_noop;
38453
38455
  };
38454
38456
  }, {
38455
38457
  immediate,
38456
38458
  flush: "post"
38457
- }) : noop;
38459
+ }) : shared_noop;
38458
38460
  const stop = () => {
38459
38461
  cleanup();
38460
38462
  stopWatch();
38461
38463
  isActive.value = false;
38462
38464
  };
38463
- tryOnScopeDispose(stop);
38465
+ shared_tryOnScopeDispose(stop);
38464
38466
  return {
38465
38467
  isSupported,
38466
38468
  isActive,
@@ -51629,9 +51631,10 @@ const dayStyleBlock = 'exos-opacity-10 dark:exos-opacity-20 exos-cursor-not-allo
51629
51631
  isInputFocused.value = false;
51630
51632
  };
51631
51633
  const handleDateChange = async val => {
51632
- await emit('update:modelValue', val.target.value);
51633
- if (props.modelValue && props.modelValue.length === 10) {
51634
- let selectedDateObj = DateTime.fromFormat(props.modelValue, props.formatDateInput);
51634
+ const trimmedValue = val.target.value.trim();
51635
+ await emit('update:modelValue', trimmedValue);
51636
+ if (trimmedValue && trimmedValue.length === 10) {
51637
+ let selectedDateObj = DateTime.fromFormat(trimmedValue, props.formatDateInput);
51635
51638
  if (selectedDateObj.isValid) {
51636
51639
  selectedDate.value = selectedDateObj.toFormat(props.formatDate);
51637
51640
  await emit('update:modelValue', selectedDate.value);
@@ -53065,6 +53068,8 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
53065
53068
  if (formatted !== props.modelValue) {
53066
53069
  emit('update:modelValue', formatted);
53067
53070
  }
53071
+ } else if (typeof props.modelValue === 'string' && props.modelValue.trim() !== props.modelValue) {
53072
+ emit('update:modelValue', props.modelValue.trim());
53068
53073
  }
53069
53074
  };
53070
53075
 
@@ -54454,6 +54459,9 @@ const EInputMaskvue_type_script_setup_true_lang_js_hoisted_2 = ["id", "value"];
54454
54459
  if (isCleaning.value) {
54455
54460
  return;
54456
54461
  }
54462
+ if (typeof value === 'string') {
54463
+ value = value.trim();
54464
+ }
54457
54465
  if (!isMaskActive.value) {
54458
54466
  realValue.value = value;
54459
54467
  emit('update:modelValue', value);
@@ -55310,11 +55318,33 @@ const ESelectvue_type_script_setup_true_lang_js_hoisted_9 = ["data-testid", "onC
55310
55318
  const ESelectvue_type_script_setup_true_lang_js_hoisted_10 = ["onClick"];
55311
55319
  const ESelectvue_type_script_setup_true_lang_js_hoisted_11 = {
55312
55320
  key: 0,
55313
- class: "e-select__groupContainer__primary__group"
55321
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55322
+ };
55323
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_12 = {
55324
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4 exos-flex exos-items-center exos-gap-2"
55325
+ };
55326
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_13 = {
55327
+ key: 3,
55328
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55314
55329
  };
55315
- const ESelectvue_type_script_setup_true_lang_js_hoisted_12 = ["data-testid", "onClick"];
55316
- const ESelectvue_type_script_setup_true_lang_js_hoisted_13 = ["onClick"];
55317
55330
  const ESelectvue_type_script_setup_true_lang_js_hoisted_14 = {
55331
+ key: 0,
55332
+ class: "e-select__groupContainer__primary__group"
55333
+ };
55334
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_15 = ["data-testid", "onClick"];
55335
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_16 = ["onClick"];
55336
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_17 = {
55337
+ key: 0,
55338
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55339
+ };
55340
+ const _hoisted_18 = {
55341
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4 exos-flex exos-items-center exos-gap-2"
55342
+ };
55343
+ const _hoisted_19 = {
55344
+ key: 3,
55345
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55346
+ };
55347
+ const _hoisted_20 = {
55318
55348
  key: 0,
55319
55349
  class: "e-select--error-message exos-animate-slide-down"
55320
55350
  };
@@ -55630,6 +55660,63 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55630
55660
  type: String,
55631
55661
  default: 'auto',
55632
55662
  validator: value => ['up', 'down', 'auto'].includes(value)
55663
+ },
55664
+ /**
55665
+ * Callback para modo lazy load. Si está definido, el componente actúa como combobox asíncrono con paginación e infinite scroll.
55666
+ * Firma: (params: { query: string, page: number, limit: number }) => Promise<{ options: Array<{value, label}>, total: number }>
55667
+ * @values (params) => fetch('/api/options', { ... }).then(r => r.json())
55668
+ */
55669
+ lazyOptions: {
55670
+ type: Function,
55671
+ default: null
55672
+ },
55673
+ /**
55674
+ * Índice/página en que empieza la paginación (modo lazy).
55675
+ * @values 1 - backend 1-based, 0 - backend 0-based
55676
+ */
55677
+ lazyInitialPage: {
55678
+ type: Number,
55679
+ default: 1
55680
+ },
55681
+ /**
55682
+ * Límite de registros por página en modo lazy.
55683
+ * @values 20 - 20 por página, 50 - 50 por página
55684
+ */
55685
+ pageSize: {
55686
+ type: Number,
55687
+ default: 50
55688
+ },
55689
+ /**
55690
+ * Texto mostrado durante la carga de opciones (modo lazy). Se usa en el contenido por defecto del slot lazyLoading (spinner + texto).
55691
+ * @values 'Cargando...' - por defecto
55692
+ */
55693
+ loadingText: {
55694
+ type: String,
55695
+ default: 'Cargando...'
55696
+ },
55697
+ /**
55698
+ * Mensaje cuando no hay resultados (modo lazy). Customizable por prop.
55699
+ * @values 'No se encontraron resultados' - por defecto
55700
+ */
55701
+ lazyEmptyText: {
55702
+ type: String,
55703
+ default: 'No se encontraron resultados'
55704
+ },
55705
+ /**
55706
+ * Mensaje al final de la lista cuando ya no hay más datos (modo lazy).
55707
+ * @values 'Ya se cargaron todos' - por defecto
55708
+ */
55709
+ lazyAllLoadedText: {
55710
+ type: String,
55711
+ default: 'Ya se cargaron todos'
55712
+ },
55713
+ /**
55714
+ * Si true (default), el componente concatena las páginas; si false, el callback devuelve la lista completa y el componente reemplaza.
55715
+ * @values true - API devuelve solo página N, false - API devuelve lista acumulada
55716
+ */
55717
+ lazyAccumulateInComponent: {
55718
+ type: Boolean,
55719
+ default: true
55633
55720
  }
55634
55721
  },
55635
55722
  emits: [
@@ -55724,7 +55811,6 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55724
55811
  const tempValueInput = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55725
55812
  const auxSuggestions = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55726
55813
  const multipleValue = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55727
- const selectContentHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55728
55814
  const inputLabelSelectedW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55729
55815
  const selectHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55730
55816
  const inputSuggestContainerW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
@@ -55746,11 +55832,26 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55746
55832
  */
55747
55833
  const clickOutsideIgnore = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55748
55834
  let scrollResizeCleanup = null;
55835
+
55836
+ // Lazy load state (solo cuando lazyOptions está definido)
55837
+ const lazyOptionsList = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55838
+ const isLoadingLazy = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(false);
55839
+ const page = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(1);
55840
+ const total = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
55841
+ const scrollSentinel = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55749
55842
  const MAX_LEN = {
55750
55843
  time: 8,
55751
55844
  timens: 5
55752
55845
  };
55753
55846
  const useTeleport = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => !!props.dropdownAppendTo);
55847
+ const isLazyMode = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => typeof props.lazyOptions === 'function');
55848
+ const hasMoreData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => isLazyMode.value ? lazyOptionsList.value.length < total.value : false);
55849
+
55850
+ /** Opciones a mostrar en el dropdown: en lazy mode la lista interna; si no, props.options o auxSuggestions */
55851
+ const displayOptionsForDropdown = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55852
+ if (isLazyMode.value) return lazyOptionsList.value;
55853
+ return props.suggestion ? auxSuggestions.value : props.options;
55854
+ });
55754
55855
  const teleportTarget = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55755
55856
  if (!props.dropdownAppendTo) return null;
55756
55857
  const el = document.querySelector(props.dropdownAppendTo);
@@ -55905,12 +56006,12 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55905
56006
  return baseLabelSelectedClasses.concat(dynamicLabelClasses, iconClasses);
55906
56007
  });
55907
56008
  const labelSelectSuggest = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55908
- const baseLabelClasses = [roundedClass.value, tempValueInput.value || hasInfo.value ? 'e-select__label--suggested' : 'e-select__label--default', isSelectFocused.value || hasInfo.value ? 'text-caption-2' : textSizeClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer', slots.icon && !props.iconRight ? 'exos-pl-20' : ''];
56009
+ const baseLabelClasses = [roundedClass.value, tempValueInput.value || hasInfo.value ? 'e-select__label--suggested' : 'e-select__label--default', isSelectFocused.value || hasInfo.value ? 'e-select__label--hasInfo' : textSizeClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer', slots.icon && !props.iconRight ? 'exos-pl-20' : ''];
55909
56010
  const dynamicLabelClasses = [errorRules.value || messageRule.value ? 'e-select__text--error' : [props.disabled ? 'e-select__text--inactive' : [hasInfo.value ? `${props.labelColor} e-select__text--active` : `${props.labelColorNV} e-select__text--default`]]];
55910
56011
  return baseLabelClasses.concat(dynamicLabelClasses);
55911
56012
  });
55912
56013
  const labelSelectDefault = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55913
- const baseLabelClasses = [hasInfo.value ? 'e-select__label--default text-caption-2' : textSizeClass.value, roundedClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer'];
56014
+ const baseLabelClasses = [hasInfo.value ? 'e-select__label--default e-select__label--hasInfo' : textSizeClass.value, roundedClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer'];
55914
56015
  const dynamicLabelClasses = [errorRules.value || messageRule.value ? 'e-select__text--error' : [props.disabled ? 'e-select__text--inactive' : [hasInfo.value ? `${props.labelColor} e-select__text--active` : `${props.labelColorNV} e-select__text--default`]]];
55915
56016
  return baseLabelClasses.concat(dynamicLabelClasses);
55916
56017
  });
@@ -55946,10 +56047,11 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55946
56047
  }
55947
56048
  return auxLen;
55948
56049
  });
56050
+ const optionsForLabelLookup = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => isLazyMode.value ? lazyOptionsList.value : props.options);
55949
56051
  const multipleLabelSelected = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55950
56052
  if (props.modelValue && Array.isArray(props.modelValue)) {
55951
56053
  let label = props.modelValue.map(item => {
55952
- let selectedOption = props.options.find(val => props.emitObject ? val.value === item.value : val.value === item);
56054
+ let selectedOption = optionsForLabelLookup.value.find(val => props.emitObject ? val.value === item.value : val.value === item);
55953
56055
  return selectedOption ? selectedOption.label : '';
55954
56056
  }).filter(Boolean).join(', ');
55955
56057
  return label || props.modelValue;
@@ -55960,19 +56062,18 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55960
56062
  const hasInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55961
56063
  const currentValue = props.modelValue;
55962
56064
  const validVal = currentValue !== null && currentValue !== undefined && currentValue !== '';
56065
+ const opts = optionsForLabelLookup.value;
55963
56066
  switch (true) {
55964
56067
  case props.multiple:
55965
- // Si emitObject es verdadero, verificamos si alguno de los objetos en modelValue existe en options
55966
56068
  if (props.emitObject && Array.isArray(currentValue)) {
55967
- return currentValue?.some(item => props.options.some(opt => opt.value === item.value));
56069
+ return currentValue?.some(item => opts.some(opt => opt.value === item.value));
55968
56070
  }
55969
- // Si emitObject es falso, simplemente verificamos si hay elementos en modelValue
55970
56071
  return currentValue?.length >= 1;
55971
56072
  case props.suggestion:
55972
56073
  return !!tempValueInput.value || validVal;
55973
56074
  default:
55974
56075
  if (props.emitObject) {
55975
- return currentValue !== null && props.options.some(opt => opt.value === currentValue.value);
56076
+ return currentValue !== null && opts.some(opt => opt.value === currentValue.value);
55976
56077
  }
55977
56078
  return validVal;
55978
56079
  }
@@ -55980,9 +56081,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55980
56081
  const labelSelected = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55981
56082
  let label = null;
55982
56083
  let currentValue = props.emitObject ? props.modelValue?.value : props.modelValue;
55983
- label = props.options.find(val => val.value === currentValue && typeof val.value === typeof currentValue);
55984
-
55985
- // Devuelve explícitamente el label o el valor currentValue si el label no es null/undefined
56084
+ label = optionsForLabelLookup.value.find(val => val.value === currentValue && typeof val.value === typeof currentValue);
55986
56085
  return label?.label !== undefined ? label.label : currentValue;
55987
56086
  });
55988
56087
  const finalRules = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
@@ -55995,6 +56094,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55995
56094
  const showCleanBtn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
55996
56095
  return hasInfo.value && props.showClean && !props.disabled || messageRule.value && props.showClean && !props.disabled || tempValueInput.value;
55997
56096
  });
56097
+ const showLoadingIndicator = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => props.loading || isLazyMode.value && isLoadingLazy.value);
55998
56098
 
55999
56099
  // Lifecycle hooks
56000
56100
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
@@ -56005,6 +56105,10 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56005
56105
  register(instance);
56006
56106
  }
56007
56107
  setOptions();
56108
+ if (isLazyMode.value) {
56109
+ page.value = props.lazyInitialPage;
56110
+ fetchOptions(false);
56111
+ }
56008
56112
  if (props.suggestion && props.modelValue && tempValueInput.value == null) {
56009
56113
  let opt = props.options.find(opt => {
56010
56114
  return props.emitObject ? opt?.value === props.modelValue?.value : opt?.value === props.modelValue;
@@ -56287,11 +56391,75 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56287
56391
  const fetchSuggestions = () => {
56288
56392
  selectedoption.value = false;
56289
56393
  calculateIconSectionWidth();
56394
+ if (isLazyMode.value) {
56395
+ emit('searchValue', tempValueInput.value);
56396
+ isSelectOpened.value = true;
56397
+ return;
56398
+ }
56290
56399
  inputRegexValidation(tempValueInput.value);
56291
56400
  filterOptionsSuggest(tempValueInput.value);
56292
56401
  emit('searchValue', tempValueInput.value);
56293
56402
  isSelectOpened.value = auxSuggestions.value.length > 0;
56294
56403
  };
56404
+
56405
+ /**
56406
+ * Carga opciones en modo lazy (lazyOptions). isLoadMore false = reemplazar lista y resetear página; true = concatenar o reemplazar según lazyAccumulateInComponent.
56407
+ * queryOverride: cuando se pasa (p. ej. desde el watch de tempValueInput), se usa como query en lugar de tempValueInput.value.
56408
+ */
56409
+ const fetchOptions = async (isLoadMore = false, queryOverride = undefined) => {
56410
+ if (!isLazyMode.value || isLoadingLazy.value) return;
56411
+ const fromOverride = queryOverride !== undefined ? String(queryOverride ?? '').trim() : '';
56412
+ const fromDom = (getTriggerEl()?.value ?? '').trim();
56413
+ const query = queryOverride !== undefined ? fromOverride || fromDom : (tempValueInput.value ?? '').trim();
56414
+ if (!isLoadMore) {
56415
+ page.value = props.lazyInitialPage;
56416
+ } else {
56417
+ page.value = page.value + 1;
56418
+ }
56419
+ isLoadingLazy.value = true;
56420
+ try {
56421
+ const response = await props.lazyOptions({
56422
+ query,
56423
+ page: page.value,
56424
+ limit: props.pageSize
56425
+ });
56426
+ const opts = Array.isArray(response?.options) ? response.options : [];
56427
+ const newTotal = typeof response?.total === 'number' ? response.total : 0;
56428
+ total.value = newTotal;
56429
+ if (isLoadMore && props.lazyAccumulateInComponent) {
56430
+ lazyOptionsList.value = [...lazyOptionsList.value, ...opts];
56431
+ } else {
56432
+ lazyOptionsList.value = opts;
56433
+ }
56434
+ } catch (err) {
56435
+ if (false) {}
56436
+ lazyOptionsList.value = [];
56437
+ total.value = 0;
56438
+ } finally {
56439
+ isLoadingLazy.value = false;
56440
+ }
56441
+ };
56442
+
56443
+ // Debounce del query en modo lazy (400 ms). En tests usar cy.clock() + cy.tick(450) para que el callback se ejecute.
56444
+ watchDebounced(tempValueInput, newVal => {
56445
+ if (isLazyMode.value) {
56446
+ const q = (newVal ?? '').trim() || (getTriggerEl()?.value ?? '').trim();
56447
+ fetchOptions(false, q);
56448
+ emit('searchValue', q);
56449
+ }
56450
+ }, {
56451
+ debounce: 400
56452
+ });
56453
+
56454
+ // Infinite scroll: cuando el sentinela entra en vista, cargar más (solo en modo lazy)
56455
+ useIntersectionObserver(scrollSentinel, entries => {
56456
+ if (!entries[0]?.isIntersecting) return;
56457
+ if (isLazyMode.value && hasMoreData.value && !isLoadingLazy.value && props.lazyOptions) {
56458
+ fetchOptions(true);
56459
+ }
56460
+ }, {
56461
+ root: contentSelect
56462
+ });
56295
56463
  const labelSelectedColor = value => {
56296
56464
  if (hasInfo.value) {
56297
56465
  const isSelected = props.multiple ? props.emitObject ? props.modelValue.some(item => item.value === value) // Verifica si algún elemento del modelo tiene el valor proporcionado
@@ -56300,7 +56468,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56300
56468
  : props.modelValue === value; // Compara el valor del modelo con el valor proporcionado
56301
56469
 
56302
56470
  // Devuelve el color de fondo si la etiqueta está seleccionada; de lo contrario, null
56303
- return isSelected ? ['text-body-3', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'text-body-4';
56471
+ return isSelected ? ['e-select__itemText--selected', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'e-select__textSize--def';
56304
56472
  }
56305
56473
  };
56306
56474
  const getFormattedOption = option => {
@@ -56341,6 +56509,13 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56341
56509
  if (props.suggestion && props.disabled) {
56342
56510
  return;
56343
56511
  }
56512
+ if (isLazyMode.value) {
56513
+ lazyOptionsList.value = [];
56514
+ page.value = props.lazyInitialPage;
56515
+ total.value = 0;
56516
+ tempValueInput.value = null;
56517
+ fetchOptions(false);
56518
+ }
56344
56519
  reset();
56345
56520
  calculateWidthLabelSelected();
56346
56521
  multipleValue.value = [];
@@ -56365,7 +56540,8 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56365
56540
  // Muestra u oculta la ventana con el listado de opciones al seleccionar
56366
56541
  const toggleDropdown = () => {
56367
56542
  if (!props.disabled) {
56368
- if (props.suggestion && auxSuggestions.value.length == 0) {
56543
+ const listEmpty = props.suggestion && (isLazyMode.value ? lazyOptionsList.value.length === 0 && !isLoadingLazy.value : auxSuggestions.value.length === 0);
56544
+ if (listEmpty) {
56369
56545
  isSelectOpened.value = false;
56370
56546
  } else {
56371
56547
  isSelectOpened.value = !isSelectOpened.value;
@@ -56442,6 +56618,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56442
56618
  setOptions();
56443
56619
  };
56444
56620
  const setOptions = () => {
56621
+ if (isLazyMode.value) return;
56445
56622
  if (props.suggestion && tempValueInput.value && props.keepFilterText) {
56446
56623
  // Si hay texto de filtro y keepFilterText está activo, mantener el filtrado
56447
56624
  filterOptionsSuggest(tempValueInput.value);
@@ -56708,7 +56885,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56708
56885
  onFocus: onInputFocus,
56709
56886
  onInput: fetchSuggestions,
56710
56887
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(toggleDropdown, ["prevent"])
56711
- }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_.vModelText, tempValueInput.value]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
56888
+ }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_.vModelText, tempValueInput.value, void 0, {
56889
+ trim: true
56890
+ }]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
56712
56891
  ref: `selectLabelSelectedSuggest-${(0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(instance).uid}`,
56713
56892
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(inputLabelSelectedClass.value)
56714
56893
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOptionSelected(labelSelected.value)), 3), showTooltip.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_e_tooltip, {
@@ -56762,7 +56941,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56762
56941
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(clean, ["stop", "prevent"])
56763
56942
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "iconClose", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)(closeIconClass.value)), null, 16)])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.iconRight && (0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(slots).icon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "icon", {
56764
56943
  key: 1
56765
- }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
56944
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), showLoadingIndicator.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
56766
56945
  key: 2
56767
56946
  }, loadingIconClass.value)), null, 16)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
56768
56947
  key: 3,
@@ -56770,7 +56949,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56770
56949
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(toggleDropdown, ["prevent"])
56771
56950
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "arrow", {
56772
56951
  isSelectOpened: isSelectOpened.value
56773
- }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)(arrowIconClass.value)), null, 16)])], 2))], 2), isSelectOpened.value && useTeleport.value && teleportTarget.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport, {
56952
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
56953
+ "data-icon": "select-arrow"
56954
+ }, arrowIconClass.value), null, 16)])], 2))], 2), isSelectOpened.value && useTeleport.value && teleportTarget.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport, {
56774
56955
  key: 2,
56775
56956
  to: teleportTarget.value
56776
56957
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
@@ -56778,7 +56959,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56778
56959
  ref: contentSelect,
56779
56960
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(optionsContainer.value),
56780
56961
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeStyle)(dropdownPositionFixed.value)
56781
- }, [hasGroups.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56962
+ }, [hasGroups.value && !isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56782
56963
  key: 0
56783
56964
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(__props.suggestion ? auxSuggestions.value : groupedOptions.value, (group, index) => {
56784
56965
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
@@ -56799,20 +56980,30 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56799
56980
  }), 128))], 2)]);
56800
56981
  }), 128)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56801
56982
  key: 1
56802
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(__props.suggestion ? auxSuggestions.value : __props.options, option => {
56983
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(displayOptionsForDropdown.value, option => {
56803
56984
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("a", {
56804
56985
  key: option.value,
56805
56986
  "data-testid": "select-option",
56806
56987
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([optionsItem.value, labelSelectedColor(option.value)]),
56807
56988
  onClick: $event => selectOption(option)
56808
56989
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_10);
56809
- }), 128))], 6)], 8, ["to"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), isSelectOpened.value && !useTeleport.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
56990
+ }), 128)), isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56991
+ key: 2
56992
+ }, [displayOptionsForDropdown.value.length === 0 && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_11, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.lazyEmptyText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), isLoadingLazy.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "lazyLoading", {
56993
+ key: 1
56994
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", ESelectvue_type_script_setup_true_lang_js_hoisted_12, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)(loadingIconClass.value)), null, 16), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.loadingText), 1)])]) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), hasMoreData.value && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
56995
+ key: 2,
56996
+ ref_key: "scrollSentinel",
56997
+ ref: scrollSentinel,
56998
+ class: "exos-h-2 exos-w-full",
56999
+ "data-testid": "select-lazy-sentinel"
57000
+ }, null, 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), !hasMoreData.value && displayOptionsForDropdown.value.length > 0 ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_13, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.lazyAllLoadedText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 6)], 8, ["to"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), isSelectOpened.value && !useTeleport.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
56810
57001
  key: 3,
56811
57002
  ref_key: "contentSelect",
56812
57003
  ref: contentSelect,
56813
57004
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(optionsContainer.value),
56814
57005
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeStyle)(calculateDropPositionY())
56815
- }, [hasGroups.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
57006
+ }, [hasGroups.value && !isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56816
57007
  key: 0
56817
57008
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(__props.suggestion ? auxSuggestions.value : groupedOptions.value, (group, index) => {
56818
57009
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
@@ -56823,24 +57014,34 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56823
57014
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(["e-select__groupContainer__secondary", {
56824
57015
  'exos-flex-col': group?.group
56825
57016
  }])
56826
- }, [group?.group ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_11, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(group.group), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(group?.options || [group], option => {
57017
+ }, [group?.group ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_14, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(group.group), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(group?.options || [group], option => {
56827
57018
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("a", {
56828
57019
  key: option.value,
56829
57020
  "data-testid": group?.group ? 'select-option--grouped' : 'select-option--ungrouped',
56830
57021
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([group?.group ? optionsItem.value : optionsItemUngrouped.value, labelSelectedColor(option.value)]),
56831
57022
  onClick: $event => selectOption(option)
56832
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_12);
57023
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_15);
56833
57024
  }), 128))], 2)]);
56834
57025
  }), 128)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
56835
57026
  key: 1
56836
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(__props.suggestion ? auxSuggestions.value : __props.options, option => {
57027
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderList)(displayOptionsForDropdown.value, option => {
56837
57028
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("a", {
56838
57029
  key: option.value,
56839
57030
  "data-testid": "select-option",
56840
57031
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)([optionsItem.value, labelSelectedColor(option.value)]),
56841
57032
  onClick: $event => selectOption(option)
56842
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_13);
56843
- }), 128))], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]), !!messageRule.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", ESelectvue_type_script_setup_true_lang_js_hoisted_14, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(messageRule.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 2);
57033
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_16);
57034
+ }), 128)), isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_.Fragment, {
57035
+ key: 2
57036
+ }, [displayOptionsForDropdown.value.length === 0 && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_17, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.lazyEmptyText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), isLoadingLazy.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "lazyLoading", {
57037
+ key: 1
57038
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", _hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_.guardReactiveProps)(loadingIconClass.value)), null, 16), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.loadingText), 1)])]) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), hasMoreData.value && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", {
57039
+ key: 2,
57040
+ ref_key: "scrollSentinel",
57041
+ ref: scrollSentinel,
57042
+ class: "exos-h-2 exos-w-full",
57043
+ "data-testid": "select-lazy-sentinel"
57044
+ }, null, 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), !hasMoreData.value && displayOptionsForDropdown.value.length > 0 ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("p", _hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(__props.lazyAllLoadedText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)]), !!messageRule.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", _hoisted_20, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(messageRule.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true)], 2);
56844
57045
  };
56845
57046
  }
56846
57047
  });
@@ -56920,14 +57121,14 @@ const ETablevue_type_script_setup_true_lang_js_hoisted_16 = {
56920
57121
  const ETablevue_type_script_setup_true_lang_js_hoisted_17 = {
56921
57122
  class: "e-table__pagination__paginationTable__container"
56922
57123
  };
56923
- const _hoisted_18 = {
57124
+ const ETablevue_type_script_setup_true_lang_js_hoisted_18 = {
56924
57125
  class: "e-table__pagination__select__container"
56925
57126
  };
56926
- const _hoisted_19 = {
57127
+ const ETablevue_type_script_setup_true_lang_js_hoisted_19 = {
56927
57128
  key: 2,
56928
57129
  class: "e-table__totalRecords__container"
56929
57130
  };
56930
- const _hoisted_20 = {
57131
+ const ETablevue_type_script_setup_true_lang_js_hoisted_20 = {
56931
57132
  class: "e-table__pagination__btn__right"
56932
57133
  };
56933
57134
 
@@ -57991,7 +58192,7 @@ const _hoisted_20 = {
57991
58192
  "onUpdate:modelValue": [_cache[1] || (_cache[1] = $event => currentPage.value = $event), _cache[2] || (_cache[2] = $event => handleRequest(true))],
57992
58193
  ref_key: "paginationRef",
57993
58194
  ref: paginationRef
57994
- }, null, 8, ["numPagesTotal", "hideBoundaryPages", "modelValue"])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", _hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_select, {
58195
+ }, null, 8, ["numPagesTotal", "hideBoundaryPages", "modelValue"])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", ETablevue_type_script_setup_true_lang_js_hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_select, {
57995
58196
  outline: false,
57996
58197
  showClean: false,
57997
58198
  shadowSize: "none",
@@ -57999,7 +58200,7 @@ const _hoisted_20 = {
57999
58200
  modelValue: numRowsByPage.value,
58000
58201
  "onUpdate:modelValue": [_cache[3] || (_cache[3] = $event => numRowsByPage.value = $event), handleReload],
58001
58202
  options: __props.rowsByPage
58002
- }, null, 8, ["bgColor", "modelValue", "options"])])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.totalRecords && __props.totalRowsRightAligned ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", _hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(totalRowsRangeLabel.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", _hoisted_20, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "btn-br")])], 2)])], 64);
58203
+ }, null, 8, ["bgColor", "modelValue", "options"])])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), __props.totalRecords && __props.totalRowsRightAligned ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementBlock)("div", ETablevue_type_script_setup_true_lang_js_hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.toDisplayString)(totalRowsRangeLabel.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", ETablevue_type_script_setup_true_lang_js_hoisted_20, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "btn-br")])], 2)])], 64);
58003
58204
  };
58004
58205
  }
58005
58206
  });