@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.
@@ -29755,13 +29755,14 @@ const directiveCallback = (el, binding) => {
29755
29755
  });
29756
29756
  ;// CONCATENATED MODULE: ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.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
29757
29757
 
29758
- const EIconvue_type_script_setup_true_lang_js_hoisted_1 = ["width", "height"];
29759
- const EIconvue_type_script_setup_true_lang_js_hoisted_2 = ["id"];
29760
- const EIconvue_type_script_setup_true_lang_js_hoisted_3 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("stop", {
29758
+ const EIconvue_type_script_setup_true_lang_js_hoisted_1 = ["iconName"];
29759
+ const EIconvue_type_script_setup_true_lang_js_hoisted_2 = ["width", "height"];
29760
+ const EIconvue_type_script_setup_true_lang_js_hoisted_3 = ["id"];
29761
+ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = /*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("stop", {
29761
29762
  offset: "0%",
29762
29763
  "stop-color": "currentColor"
29763
29764
  }, null, -1);
29764
- const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29765
+ const EIconvue_type_script_setup_true_lang_js_hoisted_5 = ["stop-color"];
29765
29766
 
29766
29767
 
29767
29768
 
@@ -29891,10 +29892,11 @@ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29891
29892
  return !props.isSVG ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
29892
29893
  key: 0,
29893
29894
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(`${iconClass.value} ${props.applyGradient ? '' : props.color}`),
29895
+ iconName: isLocalIcon.value ? '' : iconName.value,
29894
29896
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(iconStyle.value),
29895
29897
  "data-testid": "icon-cy",
29896
29898
  onClick: handleClick
29897
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(isLocalIcon.value ? '' : iconName.value), 7)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", {
29899
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(isLocalIcon.value ? '' : iconName.value), 15, EIconvue_type_script_setup_true_lang_js_hoisted_1)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", {
29898
29900
  key: 1,
29899
29901
  "data-testid": "icon-cy",
29900
29902
  width: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(sizeValueComputed),
@@ -29913,12 +29915,12 @@ const EIconvue_type_script_setup_true_lang_js_hoisted_4 = ["stop-color"];
29913
29915
  y1: "0%",
29914
29916
  y2: "0%",
29915
29917
  gradientUnits: "userSpaceOnUse"
29916
- }, [EIconvue_type_script_setup_true_lang_js_hoisted_3, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("stop", {
29918
+ }, [EIconvue_type_script_setup_true_lang_js_hoisted_4, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("stop", {
29917
29919
  offset: "100%",
29918
29920
  "stop-color": colorGradRight.value
29919
- }, 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_namespaceObject.createCommentVNode)("", true)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withDirectives)(((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", {
29921
+ }, 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_namespaceObject.createCommentVNode)("", true)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withDirectives)(((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("svg", {
29920
29922
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(props.applyGradient ? `fill: url(#grad${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(_vm).uid})` : '')
29921
- }, null, 4)), [[vSaveHTML, props.name]])], 10, EIconvue_type_script_setup_true_lang_js_hoisted_1));
29923
+ }, null, 4)), [[vSaveHTML, props.name]])], 10, EIconvue_type_script_setup_true_lang_js_hoisted_2));
29922
29924
  };
29923
29925
  }
29924
29926
  });
@@ -34931,7 +34933,7 @@ function shared_watchWithFilter(source, cb, options = {}) {
34931
34933
  eventFilter = shared_bypassFilter,
34932
34934
  ...watchOptions
34933
34935
  } = options;
34934
- return watch(source, shared_createFilterWrapper(eventFilter, cb), watchOptions);
34936
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(source, shared_createFilterWrapper(eventFilter, cb), watchOptions);
34935
34937
  }
34936
34938
  function watchPausable(source, cb, options = {}) {
34937
34939
  const {
@@ -36233,18 +36235,18 @@ function useActiveElement(options = {}) {
36233
36235
  return activeElement;
36234
36236
  }
36235
36237
  function useMounted() {
36236
- const isMounted = ref(false);
36237
- const instance = getCurrentInstance();
36238
+ const isMounted = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
36239
+ const instance = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.getCurrentInstance)();
36238
36240
  if (instance) {
36239
- onMounted(() => {
36241
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onMounted)(() => {
36240
36242
  isMounted.value = true;
36241
- }, isVue2 ? null : instance);
36243
+ }, vue_demi_lib_isVue2 ? null : instance);
36242
36244
  }
36243
36245
  return isMounted;
36244
36246
  }
36245
36247
  function useSupported(callback) {
36246
36248
  const isMounted = useMounted();
36247
- return computed(() => {
36249
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
36248
36250
  isMounted.value;
36249
36251
  return Boolean(callback());
36250
36252
  });
@@ -38413,13 +38415,13 @@ function useIntersectionObserver(target, callback, options = {}) {
38413
38415
  immediate = true
38414
38416
  } = options;
38415
38417
  const isSupported = useSupported(() => window && "IntersectionObserver" in window);
38416
- const targets = computed(() => {
38417
- const _target = toValue(target);
38418
- return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);
38418
+ const targets = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
38419
+ const _target = shared_toValue(target);
38420
+ return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(shared_notNullish);
38419
38421
  });
38420
- let cleanup = noop;
38421
- const isActive = ref(immediate);
38422
- const stopWatch = isSupported.value ? watch(() => [targets.value, unrefElement(root), isActive.value], ([targets2, root2]) => {
38422
+ let cleanup = shared_noop;
38423
+ const isActive = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(immediate);
38424
+ const stopWatch = isSupported.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => [targets.value, unrefElement(root), isActive.value], ([targets2, root2]) => {
38423
38425
  cleanup();
38424
38426
  if (!isActive.value) return;
38425
38427
  if (!targets2.length) return;
@@ -38431,18 +38433,18 @@ function useIntersectionObserver(target, callback, options = {}) {
38431
38433
  targets2.forEach(el => el && observer.observe(el));
38432
38434
  cleanup = () => {
38433
38435
  observer.disconnect();
38434
- cleanup = noop;
38436
+ cleanup = shared_noop;
38435
38437
  };
38436
38438
  }, {
38437
38439
  immediate,
38438
38440
  flush: "post"
38439
- }) : noop;
38441
+ }) : shared_noop;
38440
38442
  const stop = () => {
38441
38443
  cleanup();
38442
38444
  stopWatch();
38443
38445
  isActive.value = false;
38444
38446
  };
38445
- tryOnScopeDispose(stop);
38447
+ shared_tryOnScopeDispose(stop);
38446
38448
  return {
38447
38449
  isSupported,
38448
38450
  isActive,
@@ -51611,9 +51613,10 @@ const dayStyleBlock = 'exos-opacity-10 dark:exos-opacity-20 exos-cursor-not-allo
51611
51613
  isInputFocused.value = false;
51612
51614
  };
51613
51615
  const handleDateChange = async val => {
51614
- await emit('update:modelValue', val.target.value);
51615
- if (props.modelValue && props.modelValue.length === 10) {
51616
- let selectedDateObj = DateTime.fromFormat(props.modelValue, props.formatDateInput);
51616
+ const trimmedValue = val.target.value.trim();
51617
+ await emit('update:modelValue', trimmedValue);
51618
+ if (trimmedValue && trimmedValue.length === 10) {
51619
+ let selectedDateObj = DateTime.fromFormat(trimmedValue, props.formatDateInput);
51617
51620
  if (selectedDateObj.isValid) {
51618
51621
  selectedDate.value = selectedDateObj.toFormat(props.formatDate);
51619
51622
  await emit('update:modelValue', selectedDate.value);
@@ -53047,6 +53050,8 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
53047
53050
  if (formatted !== props.modelValue) {
53048
53051
  emit('update:modelValue', formatted);
53049
53052
  }
53053
+ } else if (typeof props.modelValue === 'string' && props.modelValue.trim() !== props.modelValue) {
53054
+ emit('update:modelValue', props.modelValue.trim());
53050
53055
  }
53051
53056
  };
53052
53057
 
@@ -54436,6 +54441,9 @@ const EInputMaskvue_type_script_setup_true_lang_js_hoisted_2 = ["id", "value"];
54436
54441
  if (isCleaning.value) {
54437
54442
  return;
54438
54443
  }
54444
+ if (typeof value === 'string') {
54445
+ value = value.trim();
54446
+ }
54439
54447
  if (!isMaskActive.value) {
54440
54448
  realValue.value = value;
54441
54449
  emit('update:modelValue', value);
@@ -55292,11 +55300,33 @@ const ESelectvue_type_script_setup_true_lang_js_hoisted_9 = ["data-testid", "onC
55292
55300
  const ESelectvue_type_script_setup_true_lang_js_hoisted_10 = ["onClick"];
55293
55301
  const ESelectvue_type_script_setup_true_lang_js_hoisted_11 = {
55294
55302
  key: 0,
55295
- class: "e-select__groupContainer__primary__group"
55303
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55304
+ };
55305
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_12 = {
55306
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4 exos-flex exos-items-center exos-gap-2"
55307
+ };
55308
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_13 = {
55309
+ key: 3,
55310
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55296
55311
  };
55297
- const ESelectvue_type_script_setup_true_lang_js_hoisted_12 = ["data-testid", "onClick"];
55298
- const ESelectvue_type_script_setup_true_lang_js_hoisted_13 = ["onClick"];
55299
55312
  const ESelectvue_type_script_setup_true_lang_js_hoisted_14 = {
55313
+ key: 0,
55314
+ class: "e-select__groupContainer__primary__group"
55315
+ };
55316
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_15 = ["data-testid", "onClick"];
55317
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_16 = ["onClick"];
55318
+ const ESelectvue_type_script_setup_true_lang_js_hoisted_17 = {
55319
+ key: 0,
55320
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55321
+ };
55322
+ const _hoisted_18 = {
55323
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4 exos-flex exos-items-center exos-gap-2"
55324
+ };
55325
+ const _hoisted_19 = {
55326
+ key: 3,
55327
+ class: "e-select__optionItem exos-px-3 exos-py-2 text-body-4"
55328
+ };
55329
+ const _hoisted_20 = {
55300
55330
  key: 0,
55301
55331
  class: "e-select--error-message exos-animate-slide-down"
55302
55332
  };
@@ -55612,6 +55642,63 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55612
55642
  type: String,
55613
55643
  default: 'auto',
55614
55644
  validator: value => ['up', 'down', 'auto'].includes(value)
55645
+ },
55646
+ /**
55647
+ * Callback para modo lazy load. Si está definido, el componente actúa como combobox asíncrono con paginación e infinite scroll.
55648
+ * Firma: (params: { query: string, page: number, limit: number }) => Promise<{ options: Array<{value, label}>, total: number }>
55649
+ * @values (params) => fetch('/api/options', { ... }).then(r => r.json())
55650
+ */
55651
+ lazyOptions: {
55652
+ type: Function,
55653
+ default: null
55654
+ },
55655
+ /**
55656
+ * Índice/página en que empieza la paginación (modo lazy).
55657
+ * @values 1 - backend 1-based, 0 - backend 0-based
55658
+ */
55659
+ lazyInitialPage: {
55660
+ type: Number,
55661
+ default: 1
55662
+ },
55663
+ /**
55664
+ * Límite de registros por página en modo lazy.
55665
+ * @values 20 - 20 por página, 50 - 50 por página
55666
+ */
55667
+ pageSize: {
55668
+ type: Number,
55669
+ default: 50
55670
+ },
55671
+ /**
55672
+ * Texto mostrado durante la carga de opciones (modo lazy). Se usa en el contenido por defecto del slot lazyLoading (spinner + texto).
55673
+ * @values 'Cargando...' - por defecto
55674
+ */
55675
+ loadingText: {
55676
+ type: String,
55677
+ default: 'Cargando...'
55678
+ },
55679
+ /**
55680
+ * Mensaje cuando no hay resultados (modo lazy). Customizable por prop.
55681
+ * @values 'No se encontraron resultados' - por defecto
55682
+ */
55683
+ lazyEmptyText: {
55684
+ type: String,
55685
+ default: 'No se encontraron resultados'
55686
+ },
55687
+ /**
55688
+ * Mensaje al final de la lista cuando ya no hay más datos (modo lazy).
55689
+ * @values 'Ya se cargaron todos' - por defecto
55690
+ */
55691
+ lazyAllLoadedText: {
55692
+ type: String,
55693
+ default: 'Ya se cargaron todos'
55694
+ },
55695
+ /**
55696
+ * Si true (default), el componente concatena las páginas; si false, el callback devuelve la lista completa y el componente reemplaza.
55697
+ * @values true - API devuelve solo página N, false - API devuelve lista acumulada
55698
+ */
55699
+ lazyAccumulateInComponent: {
55700
+ type: Boolean,
55701
+ default: true
55615
55702
  }
55616
55703
  },
55617
55704
  emits: [
@@ -55706,7 +55793,6 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55706
55793
  const tempValueInput = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55707
55794
  const auxSuggestions = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55708
55795
  const multipleValue = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55709
- const selectContentHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55710
55796
  const inputLabelSelectedW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55711
55797
  const selectHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55712
55798
  const inputSuggestContainerW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
@@ -55728,11 +55814,26 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55728
55814
  */
55729
55815
  const clickOutsideIgnore = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55730
55816
  let scrollResizeCleanup = null;
55817
+
55818
+ // Lazy load state (solo cuando lazyOptions está definido)
55819
+ const lazyOptionsList = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55820
+ const isLoadingLazy = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
55821
+ const page = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(1);
55822
+ const total = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(0);
55823
+ const scrollSentinel = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55731
55824
  const MAX_LEN = {
55732
55825
  time: 8,
55733
55826
  timens: 5
55734
55827
  };
55735
55828
  const useTeleport = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => !!props.dropdownAppendTo);
55829
+ const isLazyMode = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => typeof props.lazyOptions === 'function');
55830
+ const hasMoreData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => isLazyMode.value ? lazyOptionsList.value.length < total.value : false);
55831
+
55832
+ /** Opciones a mostrar en el dropdown: en lazy mode la lista interna; si no, props.options o auxSuggestions */
55833
+ const displayOptionsForDropdown = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55834
+ if (isLazyMode.value) return lazyOptionsList.value;
55835
+ return props.suggestion ? auxSuggestions.value : props.options;
55836
+ });
55736
55837
  const teleportTarget = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55737
55838
  if (!props.dropdownAppendTo) return null;
55738
55839
  const el = document.querySelector(props.dropdownAppendTo);
@@ -55887,12 +55988,12 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55887
55988
  return baseLabelSelectedClasses.concat(dynamicLabelClasses, iconClasses);
55888
55989
  });
55889
55990
  const labelSelectSuggest = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55890
- 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' : ''];
55991
+ 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' : ''];
55891
55992
  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`]]];
55892
55993
  return baseLabelClasses.concat(dynamicLabelClasses);
55893
55994
  });
55894
55995
  const labelSelectDefault = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55895
- const baseLabelClasses = [hasInfo.value ? 'e-select__label--default text-caption-2' : textSizeClass.value, roundedClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer'];
55996
+ 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'];
55896
55997
  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`]]];
55897
55998
  return baseLabelClasses.concat(dynamicLabelClasses);
55898
55999
  });
@@ -55928,10 +56029,11 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55928
56029
  }
55929
56030
  return auxLen;
55930
56031
  });
56032
+ const optionsForLabelLookup = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => isLazyMode.value ? lazyOptionsList.value : props.options);
55931
56033
  const multipleLabelSelected = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55932
56034
  if (props.modelValue && Array.isArray(props.modelValue)) {
55933
56035
  let label = props.modelValue.map(item => {
55934
- let selectedOption = props.options.find(val => props.emitObject ? val.value === item.value : val.value === item);
56036
+ let selectedOption = optionsForLabelLookup.value.find(val => props.emitObject ? val.value === item.value : val.value === item);
55935
56037
  return selectedOption ? selectedOption.label : '';
55936
56038
  }).filter(Boolean).join(', ');
55937
56039
  return label || props.modelValue;
@@ -55942,19 +56044,18 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55942
56044
  const hasInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55943
56045
  const currentValue = props.modelValue;
55944
56046
  const validVal = currentValue !== null && currentValue !== undefined && currentValue !== '';
56047
+ const opts = optionsForLabelLookup.value;
55945
56048
  switch (true) {
55946
56049
  case props.multiple:
55947
- // Si emitObject es verdadero, verificamos si alguno de los objetos en modelValue existe en options
55948
56050
  if (props.emitObject && Array.isArray(currentValue)) {
55949
- return currentValue?.some(item => props.options.some(opt => opt.value === item.value));
56051
+ return currentValue?.some(item => opts.some(opt => opt.value === item.value));
55950
56052
  }
55951
- // Si emitObject es falso, simplemente verificamos si hay elementos en modelValue
55952
56053
  return currentValue?.length >= 1;
55953
56054
  case props.suggestion:
55954
56055
  return !!tempValueInput.value || validVal;
55955
56056
  default:
55956
56057
  if (props.emitObject) {
55957
- return currentValue !== null && props.options.some(opt => opt.value === currentValue.value);
56058
+ return currentValue !== null && opts.some(opt => opt.value === currentValue.value);
55958
56059
  }
55959
56060
  return validVal;
55960
56061
  }
@@ -55962,9 +56063,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55962
56063
  const labelSelected = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55963
56064
  let label = null;
55964
56065
  let currentValue = props.emitObject ? props.modelValue?.value : props.modelValue;
55965
- label = props.options.find(val => val.value === currentValue && typeof val.value === typeof currentValue);
55966
-
55967
- // Devuelve explícitamente el label o el valor currentValue si el label no es null/undefined
56066
+ label = optionsForLabelLookup.value.find(val => val.value === currentValue && typeof val.value === typeof currentValue);
55968
56067
  return label?.label !== undefined ? label.label : currentValue;
55969
56068
  });
55970
56069
  const finalRules = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
@@ -55977,6 +56076,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55977
56076
  const showCleanBtn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55978
56077
  return hasInfo.value && props.showClean && !props.disabled || messageRule.value && props.showClean && !props.disabled || tempValueInput.value;
55979
56078
  });
56079
+ const showLoadingIndicator = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => props.loading || isLazyMode.value && isLoadingLazy.value);
55980
56080
 
55981
56081
  // Lifecycle hooks
55982
56082
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onMounted)(() => {
@@ -55987,6 +56087,10 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55987
56087
  register(instance);
55988
56088
  }
55989
56089
  setOptions();
56090
+ if (isLazyMode.value) {
56091
+ page.value = props.lazyInitialPage;
56092
+ fetchOptions(false);
56093
+ }
55990
56094
  if (props.suggestion && props.modelValue && tempValueInput.value == null) {
55991
56095
  let opt = props.options.find(opt => {
55992
56096
  return props.emitObject ? opt?.value === props.modelValue?.value : opt?.value === props.modelValue;
@@ -56269,11 +56373,75 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56269
56373
  const fetchSuggestions = () => {
56270
56374
  selectedoption.value = false;
56271
56375
  calculateIconSectionWidth();
56376
+ if (isLazyMode.value) {
56377
+ emit('searchValue', tempValueInput.value);
56378
+ isSelectOpened.value = true;
56379
+ return;
56380
+ }
56272
56381
  inputRegexValidation(tempValueInput.value);
56273
56382
  filterOptionsSuggest(tempValueInput.value);
56274
56383
  emit('searchValue', tempValueInput.value);
56275
56384
  isSelectOpened.value = auxSuggestions.value.length > 0;
56276
56385
  };
56386
+
56387
+ /**
56388
+ * Carga opciones en modo lazy (lazyOptions). isLoadMore false = reemplazar lista y resetear página; true = concatenar o reemplazar según lazyAccumulateInComponent.
56389
+ * queryOverride: cuando se pasa (p. ej. desde el watch de tempValueInput), se usa como query en lugar de tempValueInput.value.
56390
+ */
56391
+ const fetchOptions = async (isLoadMore = false, queryOverride = undefined) => {
56392
+ if (!isLazyMode.value || isLoadingLazy.value) return;
56393
+ const fromOverride = queryOverride !== undefined ? String(queryOverride ?? '').trim() : '';
56394
+ const fromDom = (getTriggerEl()?.value ?? '').trim();
56395
+ const query = queryOverride !== undefined ? fromOverride || fromDom : (tempValueInput.value ?? '').trim();
56396
+ if (!isLoadMore) {
56397
+ page.value = props.lazyInitialPage;
56398
+ } else {
56399
+ page.value = page.value + 1;
56400
+ }
56401
+ isLoadingLazy.value = true;
56402
+ try {
56403
+ const response = await props.lazyOptions({
56404
+ query,
56405
+ page: page.value,
56406
+ limit: props.pageSize
56407
+ });
56408
+ const opts = Array.isArray(response?.options) ? response.options : [];
56409
+ const newTotal = typeof response?.total === 'number' ? response.total : 0;
56410
+ total.value = newTotal;
56411
+ if (isLoadMore && props.lazyAccumulateInComponent) {
56412
+ lazyOptionsList.value = [...lazyOptionsList.value, ...opts];
56413
+ } else {
56414
+ lazyOptionsList.value = opts;
56415
+ }
56416
+ } catch (err) {
56417
+ if (false) {}
56418
+ lazyOptionsList.value = [];
56419
+ total.value = 0;
56420
+ } finally {
56421
+ isLoadingLazy.value = false;
56422
+ }
56423
+ };
56424
+
56425
+ // Debounce del query en modo lazy (400 ms). En tests usar cy.clock() + cy.tick(450) para que el callback se ejecute.
56426
+ watchDebounced(tempValueInput, newVal => {
56427
+ if (isLazyMode.value) {
56428
+ const q = (newVal ?? '').trim() || (getTriggerEl()?.value ?? '').trim();
56429
+ fetchOptions(false, q);
56430
+ emit('searchValue', q);
56431
+ }
56432
+ }, {
56433
+ debounce: 400
56434
+ });
56435
+
56436
+ // Infinite scroll: cuando el sentinela entra en vista, cargar más (solo en modo lazy)
56437
+ useIntersectionObserver(scrollSentinel, entries => {
56438
+ if (!entries[0]?.isIntersecting) return;
56439
+ if (isLazyMode.value && hasMoreData.value && !isLoadingLazy.value && props.lazyOptions) {
56440
+ fetchOptions(true);
56441
+ }
56442
+ }, {
56443
+ root: contentSelect
56444
+ });
56277
56445
  const labelSelectedColor = value => {
56278
56446
  if (hasInfo.value) {
56279
56447
  const isSelected = props.multiple ? props.emitObject ? props.modelValue.some(item => item.value === value) // Verifica si algún elemento del modelo tiene el valor proporcionado
@@ -56282,7 +56450,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56282
56450
  : props.modelValue === value; // Compara el valor del modelo con el valor proporcionado
56283
56451
 
56284
56452
  // Devuelve el color de fondo si la etiqueta está seleccionada; de lo contrario, null
56285
- return isSelected ? ['text-body-3', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'text-body-4';
56453
+ return isSelected ? ['e-select__itemText--selected', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'e-select__textSize--def';
56286
56454
  }
56287
56455
  };
56288
56456
  const getFormattedOption = option => {
@@ -56323,6 +56491,13 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56323
56491
  if (props.suggestion && props.disabled) {
56324
56492
  return;
56325
56493
  }
56494
+ if (isLazyMode.value) {
56495
+ lazyOptionsList.value = [];
56496
+ page.value = props.lazyInitialPage;
56497
+ total.value = 0;
56498
+ tempValueInput.value = null;
56499
+ fetchOptions(false);
56500
+ }
56326
56501
  reset();
56327
56502
  calculateWidthLabelSelected();
56328
56503
  multipleValue.value = [];
@@ -56347,7 +56522,8 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56347
56522
  // Muestra u oculta la ventana con el listado de opciones al seleccionar
56348
56523
  const toggleDropdown = () => {
56349
56524
  if (!props.disabled) {
56350
- if (props.suggestion && auxSuggestions.value.length == 0) {
56525
+ const listEmpty = props.suggestion && (isLazyMode.value ? lazyOptionsList.value.length === 0 && !isLoadingLazy.value : auxSuggestions.value.length === 0);
56526
+ if (listEmpty) {
56351
56527
  isSelectOpened.value = false;
56352
56528
  } else {
56353
56529
  isSelectOpened.value = !isSelectOpened.value;
@@ -56424,6 +56600,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56424
56600
  setOptions();
56425
56601
  };
56426
56602
  const setOptions = () => {
56603
+ if (isLazyMode.value) return;
56427
56604
  if (props.suggestion && tempValueInput.value && props.keepFilterText) {
56428
56605
  // Si hay texto de filtro y keepFilterText está activo, mantener el filtrado
56429
56606
  filterOptionsSuggest(tempValueInput.value);
@@ -56690,7 +56867,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56690
56867
  onFocus: onInputFocus,
56691
56868
  onInput: fetchSuggestions,
56692
56869
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)(toggleDropdown, ["prevent"])
56693
- }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.vModelText, tempValueInput.value]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
56870
+ }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.vModelText, tempValueInput.value, void 0, {
56871
+ trim: true
56872
+ }]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
56694
56873
  ref: `selectLabelSelectedSuggest-${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(instance).uid}`,
56695
56874
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(inputLabelSelectedClass.value)
56696
56875
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOptionSelected(labelSelected.value)), 3), showTooltip.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_e_tooltip, {
@@ -56744,7 +56923,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56744
56923
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)(clean, ["stop", "prevent"])
56745
56924
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "iconClose", {}, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)(closeIconClass.value)), null, 16)])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), __props.iconRight && (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(slots).icon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "icon", {
56746
56925
  key: 1
56747
- }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), __props.loading ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
56926
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), showLoadingIndicator.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
56748
56927
  key: 2
56749
56928
  }, loadingIconClass.value)), null, 16)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
56750
56929
  key: 3,
@@ -56752,7 +56931,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56752
56931
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)(toggleDropdown, ["prevent"])
56753
56932
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "arrow", {
56754
56933
  isSelectOpened: isSelectOpened.value
56755
- }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)(arrowIconClass.value)), null, 16)])], 2))], 2), isSelectOpened.value && useTeleport.value && teleportTarget.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Teleport, {
56934
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
56935
+ "data-icon": "select-arrow"
56936
+ }, arrowIconClass.value), null, 16)])], 2))], 2), isSelectOpened.value && useTeleport.value && teleportTarget.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Teleport, {
56756
56937
  key: 2,
56757
56938
  to: teleportTarget.value
56758
56939
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
@@ -56760,7 +56941,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56760
56941
  ref: contentSelect,
56761
56942
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(optionsContainer.value),
56762
56943
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(dropdownPositionFixed.value)
56763
- }, [hasGroups.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56944
+ }, [hasGroups.value && !isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56764
56945
  key: 0
56765
56946
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(__props.suggestion ? auxSuggestions.value : groupedOptions.value, (group, index) => {
56766
56947
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
@@ -56781,20 +56962,30 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56781
56962
  }), 128))], 2)]);
56782
56963
  }), 128)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56783
56964
  key: 1
56784
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(__props.suggestion ? auxSuggestions.value : __props.options, option => {
56965
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(displayOptionsForDropdown.value, option => {
56785
56966
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("a", {
56786
56967
  key: option.value,
56787
56968
  "data-testid": "select-option",
56788
56969
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([optionsItem.value, labelSelectedColor(option.value)]),
56789
56970
  onClick: $event => selectOption(option)
56790
56971
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_10);
56791
- }), 128))], 6)], 8, ["to"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), isSelectOpened.value && !useTeleport.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
56972
+ }), 128)), isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56973
+ key: 2
56974
+ }, [displayOptionsForDropdown.value.length === 0 && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_11, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.lazyEmptyText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), isLoadingLazy.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "lazyLoading", {
56975
+ key: 1
56976
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ESelectvue_type_script_setup_true_lang_js_hoisted_12, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)(loadingIconClass.value)), null, 16), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.loadingText), 1)])]) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), hasMoreData.value && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
56977
+ key: 2,
56978
+ ref_key: "scrollSentinel",
56979
+ ref: scrollSentinel,
56980
+ class: "exos-h-2 exos-w-full",
56981
+ "data-testid": "select-lazy-sentinel"
56982
+ }, null, 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), !hasMoreData.value && displayOptionsForDropdown.value.length > 0 ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_13, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.lazyAllLoadedText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 6)], 8, ["to"])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), isSelectOpened.value && !useTeleport.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
56792
56983
  key: 3,
56793
56984
  ref_key: "contentSelect",
56794
56985
  ref: contentSelect,
56795
56986
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(optionsContainer.value),
56796
56987
  style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(calculateDropPositionY())
56797
- }, [hasGroups.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56988
+ }, [hasGroups.value && !isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56798
56989
  key: 0
56799
56990
  }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(__props.suggestion ? auxSuggestions.value : groupedOptions.value, (group, index) => {
56800
56991
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
@@ -56805,24 +56996,34 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56805
56996
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(["e-select__groupContainer__secondary", {
56806
56997
  'exos-flex-col': group?.group
56807
56998
  }])
56808
- }, [group?.group ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_11, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(group.group), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(group?.options || [group], option => {
56999
+ }, [group?.group ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_14, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(group.group), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(group?.options || [group], option => {
56809
57000
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("a", {
56810
57001
  key: option.value,
56811
57002
  "data-testid": group?.group ? 'select-option--grouped' : 'select-option--ungrouped',
56812
57003
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([group?.group ? optionsItem.value : optionsItemUngrouped.value, labelSelectedColor(option.value)]),
56813
57004
  onClick: $event => selectOption(option)
56814
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_12);
57005
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_15);
56815
57006
  }), 128))], 2)]);
56816
57007
  }), 128)) : ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
56817
57008
  key: 1
56818
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(__props.suggestion ? auxSuggestions.value : __props.options, option => {
57009
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderList)(displayOptionsForDropdown.value, option => {
56819
57010
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("a", {
56820
57011
  key: option.value,
56821
57012
  "data-testid": "select-option",
56822
57013
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)([optionsItem.value, labelSelectedColor(option.value)]),
56823
57014
  onClick: $event => selectOption(option)
56824
- }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_13);
56825
- }), 128))], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]), !!messageRule.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", ESelectvue_type_script_setup_true_lang_js_hoisted_14, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(messageRule.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
57015
+ }, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(getFormattedOption(option)), 11, ESelectvue_type_script_setup_true_lang_js_hoisted_16);
57016
+ }), 128)), isLazyMode.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)(external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.Fragment, {
57017
+ key: 2
57018
+ }, [displayOptionsForDropdown.value.length === 0 && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", ESelectvue_type_script_setup_true_lang_js_hoisted_17, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.lazyEmptyText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), isLoadingLazy.value ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "lazyLoading", {
57019
+ key: 1
57020
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeProps)((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.guardReactiveProps)(loadingIconClass.value)), null, 16), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("span", null, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.loadingText), 1)])]) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), hasMoreData.value && !isLoadingLazy.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
57021
+ key: 2,
57022
+ ref_key: "scrollSentinel",
57023
+ ref: scrollSentinel,
57024
+ class: "exos-h-2 exos-w-full",
57025
+ "data-testid": "select-lazy-sentinel"
57026
+ }, null, 512)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), !hasMoreData.value && displayOptionsForDropdown.value.length > 0 ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("p", _hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(__props.lazyAllLoadedText), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 64)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)]), !!messageRule.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_20, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(messageRule.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 2);
56826
57027
  };
56827
57028
  }
56828
57029
  });
@@ -56902,14 +57103,14 @@ const ETablevue_type_script_setup_true_lang_js_hoisted_16 = {
56902
57103
  const ETablevue_type_script_setup_true_lang_js_hoisted_17 = {
56903
57104
  class: "e-table__pagination__paginationTable__container"
56904
57105
  };
56905
- const _hoisted_18 = {
57106
+ const ETablevue_type_script_setup_true_lang_js_hoisted_18 = {
56906
57107
  class: "e-table__pagination__select__container"
56907
57108
  };
56908
- const _hoisted_19 = {
57109
+ const ETablevue_type_script_setup_true_lang_js_hoisted_19 = {
56909
57110
  key: 2,
56910
57111
  class: "e-table__totalRecords__container"
56911
57112
  };
56912
- const _hoisted_20 = {
57113
+ const ETablevue_type_script_setup_true_lang_js_hoisted_20 = {
56913
57114
  class: "e-table__pagination__btn__right"
56914
57115
  };
56915
57116
 
@@ -57973,7 +58174,7 @@ const _hoisted_20 = {
57973
58174
  "onUpdate:modelValue": [_cache[1] || (_cache[1] = $event => currentPage.value = $event), _cache[2] || (_cache[2] = $event => handleRequest(true))],
57974
58175
  ref_key: "paginationRef",
57975
58176
  ref: paginationRef
57976
- }, null, 8, ["numPagesTotal", "hideBoundaryPages", "modelValue"])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_select, {
58177
+ }, null, 8, ["numPagesTotal", "hideBoundaryPages", "modelValue"])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ETablevue_type_script_setup_true_lang_js_hoisted_18, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_select, {
57977
58178
  outline: false,
57978
58179
  showClean: false,
57979
58180
  shadowSize: "none",
@@ -57981,7 +58182,7 @@ const _hoisted_20 = {
57981
58182
  modelValue: numRowsByPage.value,
57982
58183
  "onUpdate:modelValue": [_cache[3] || (_cache[3] = $event => numRowsByPage.value = $event), handleReload],
57983
58184
  options: __props.rowsByPage
57984
- }, null, 8, ["bgColor", "modelValue", "options"])])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), __props.totalRecords && __props.totalRowsRightAligned ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", _hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(totalRowsRangeLabel.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", _hoisted_20, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "btn-br")])], 2)])], 64);
58185
+ }, null, 8, ["bgColor", "modelValue", "options"])])])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), __props.totalRecords && __props.totalRowsRightAligned ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", ETablevue_type_script_setup_true_lang_js_hoisted_19, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toDisplayString)(totalRowsRangeLabel.value), 1)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", ETablevue_type_script_setup_true_lang_js_hoisted_20, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "btn-br")])], 2)])], 64);
57985
58186
  };
57986
58187
  }
57987
58188
  });