@alexochihua/exos-library-components 2.25.27 → 2.25.29

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
  });
@@ -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);
@@ -52741,6 +52744,7 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52741
52744
  let cursorPosition = event.target.selectionStart;
52742
52745
  let previousLength = valueInput.length;
52743
52746
  const charLengt = props.charAmount ? props.charAmount.length : 0;
52747
+ let timeCursorPosition = null;
52744
52748
  let emails = valueInput.replace(/ /g, '').split(props.charSplitEmail);
52745
52749
  let allEmailCorrect = true;
52746
52750
  let incorrectEmail = null;
@@ -52838,18 +52842,30 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52838
52842
  }
52839
52843
  case props.modelModifiers?.time:
52840
52844
  {
52845
+ const rawValue = valueInput;
52846
+ const cursorPos = cursorPosition;
52847
+ const digitsBeforeCursor = countDigitsBefore(rawValue, cursorPos);
52848
+
52841
52849
  // 1. Obtener solo los dígitos
52842
- const digitsOnly = valueInput.replace(/\D/g, '');
52850
+ let digitsOnly = valueInput.replace(/\D/g, '');
52851
+ const prevDigitsTime = (props.modelValue || '').replace(/\D/g, '');
52852
+ let digitsBeforeCursorForPosition = digitsBeforeCursor;
52853
+ if (props.modelValue && valueInput === prevDigitsTime && props.modelValue.length > valueInput.length && digitsBeforeCursor >= 1) {
52854
+ digitsOnly = digitsOnly.slice(0, digitsBeforeCursor - 1) + digitsOnly.slice(digitsBeforeCursor);
52855
+ digitsBeforeCursorForPosition = digitsBeforeCursor - 1;
52856
+ }
52843
52857
 
52844
52858
  // 2. Formatear como HH:mm:ss
52845
52859
  valueInput = formatToHHMMSS(digitsOnly);
52860
+ timeCursorPosition = getPositionAfterNDigits(valueInput, digitsBeforeCursorForPosition);
52846
52861
 
52847
52862
  // 3. Validar que sea una hora válida (máximo 23:59:59)
52848
52863
  const [hourStr, minStr, secStr] = valueInput.split(':');
52849
52864
  const hour = parseInt(hourStr, 10);
52850
52865
  const minute = parseInt(minStr ?? '0', 10);
52851
52866
  const second = parseInt(secStr ?? '0', 10);
52852
- const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0 && second < 60;
52867
+ const invalidHour11SingleMinuteDigit = hour === 11 && minStr != null && minStr !== '' && minStr.length === 1;
52868
+ const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0 && second < 60 && !invalidHour11SingleMinuteDigit;
52853
52869
  if (isValid) {
52854
52870
  resetRestrictions();
52855
52871
  enteredTime = valueInput;
@@ -52864,12 +52880,23 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52864
52880
  }
52865
52881
  case props.modelModifiers?.timens:
52866
52882
  {
52883
+ const rawValueTimens = valueInput;
52884
+ const cursorPosTimens = cursorPosition;
52885
+ const digitsBeforeCursorTimens = countDigitsBefore(rawValueTimens, cursorPosTimens);
52867
52886
  let digitsOnly = valueInput.replace(/\D/g, '');
52887
+ const prevDigitsTimens = (props.modelValue || '').replace(/\D/g, '');
52888
+ let digitsBeforeCursorTimensForPosition = digitsBeforeCursorTimens;
52889
+ if (props.modelValue && valueInput === prevDigitsTimens && props.modelValue.length > valueInput.length && digitsBeforeCursorTimens >= 1) {
52890
+ digitsOnly = digitsOnly.slice(0, digitsBeforeCursorTimens - 1) + digitsOnly.slice(digitsBeforeCursorTimens);
52891
+ digitsBeforeCursorTimensForPosition = digitsBeforeCursorTimens - 1;
52892
+ }
52868
52893
  valueInput = formatToHHMM(digitsOnly);
52894
+ timeCursorPosition = getPositionAfterNDigits(valueInput, digitsBeforeCursorTimensForPosition);
52869
52895
  const [hourStr, minStr] = valueInput.split(':');
52870
52896
  const hour = parseInt(hourStr, 10);
52871
52897
  const minute = parseInt(minStr, 10);
52872
- const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60;
52898
+ const invalidHour11SingleMinuteDigit = hour === 11 && minStr != null && minStr !== '' && minStr.length === 1;
52899
+ const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && !invalidHour11SingleMinuteDigit;
52873
52900
  if (isValid) {
52874
52901
  resetRestrictions();
52875
52902
  } else {
@@ -52929,9 +52956,10 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52929
52956
  }
52930
52957
  event.target.setSelectionRange(position, position);
52931
52958
  } else if (needsCursorAtEnd) {
52932
- // Solo para modificadores que reformatean (time, timens)
52959
+ // Solo para modificadores que reformatean (time, timens): preservar posición según dígitos
52933
52960
  const len = event.target.value.length;
52934
- event.target.setSelectionRange(len, len);
52961
+ const pos = timeCursorPosition != null ? timeCursorPosition : len;
52962
+ event.target.setSelectionRange(pos, pos);
52935
52963
  } else {
52936
52964
  // Para modificadores que solo filtran caracteres, preservar posición del cursor
52937
52965
  const lengthDiff = valueInput.length - previousLength;
@@ -52963,10 +52991,28 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52963
52991
  }
52964
52992
  return '';
52965
52993
  };
52994
+ const countDigitsBefore = (str, position) => {
52995
+ let count = 0;
52996
+ for (let i = 0; i < position && i < str.length; i++) {
52997
+ if (/\d/.test(str[i])) count++;
52998
+ }
52999
+ return count;
53000
+ };
53001
+ const getPositionAfterNDigits = (str, n) => {
53002
+ if (n <= 0) return 0;
53003
+ let digitCount = 0;
53004
+ let i = 0;
53005
+ for (; i < str.length && digitCount < n; i++) {
53006
+ if (/\d/.test(str[i])) digitCount++;
53007
+ }
53008
+ if (digitCount < n) return str.length;
53009
+ while (i < str.length && str[i] === ':') i++;
53010
+ return i;
53011
+ };
52966
53012
  const formatToHHMM = raw => {
52967
53013
  let digits = raw.replace(/\D/g, '');
52968
53014
  if (digits.length === 0) return '';
52969
- if (digits.length === 1) return `${digits}:`;
53015
+ if (digits.length === 1) return digits;
52970
53016
  if (digits.length === 2) return `${digits}:`;
52971
53017
  if (digits.length === 3) return `${digits.slice(0, 2)}:${digits[2]}`;
52972
53018
  if (digits.length >= 4) return `${digits.slice(0, 2)}:${digits.slice(2, 4)}`;
@@ -52974,7 +53020,7 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52974
53020
  const formatToHHMMSS = raw => {
52975
53021
  let digits = raw.replace(/\D/g, '');
52976
53022
  if (digits.length === 0) return '';
52977
- if (digits.length === 1) return `${digits}:`;
53023
+ if (digits.length === 1) return digits;
52978
53024
  if (digits.length === 2) return `${digits}:`;
52979
53025
  if (digits.length === 3) return `${digits.slice(0, 2)}:${digits[2]}`;
52980
53026
  if (digits.length === 4) return `${digits.slice(0, 2)}:${digits.slice(2, 4)}:`;
@@ -53047,6 +53093,8 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
53047
53093
  if (formatted !== props.modelValue) {
53048
53094
  emit('update:modelValue', formatted);
53049
53095
  }
53096
+ } else if (typeof props.modelValue === 'string' && props.modelValue.trim() !== props.modelValue) {
53097
+ emit('update:modelValue', props.modelValue.trim());
53050
53098
  }
53051
53099
  };
53052
53100
 
@@ -54436,6 +54484,9 @@ const EInputMaskvue_type_script_setup_true_lang_js_hoisted_2 = ["id", "value"];
54436
54484
  if (isCleaning.value) {
54437
54485
  return;
54438
54486
  }
54487
+ if (typeof value === 'string') {
54488
+ value = value.trim();
54489
+ }
54439
54490
  if (!isMaskActive.value) {
54440
54491
  realValue.value = value;
54441
54492
  emit('update:modelValue', value);
@@ -55785,7 +55836,6 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55785
55836
  const tempValueInput = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55786
55837
  const auxSuggestions = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55787
55838
  const multipleValue = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)([]);
55788
- const selectContentHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55789
55839
  const inputLabelSelectedW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55790
55840
  const selectHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
55791
55841
  const inputSuggestContainerW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
@@ -55981,12 +56031,12 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55981
56031
  return baseLabelSelectedClasses.concat(dynamicLabelClasses, iconClasses);
55982
56032
  });
55983
56033
  const labelSelectSuggest = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55984
- 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' : ''];
56034
+ 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' : ''];
55985
56035
  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`]]];
55986
56036
  return baseLabelClasses.concat(dynamicLabelClasses);
55987
56037
  });
55988
56038
  const labelSelectDefault = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
55989
- const baseLabelClasses = [hasInfo.value ? 'e-select__label--default text-caption-2' : textSizeClass.value, roundedClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer'];
56039
+ 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'];
55990
56040
  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`]]];
55991
56041
  return baseLabelClasses.concat(dynamicLabelClasses);
55992
56042
  });
@@ -56443,7 +56493,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56443
56493
  : props.modelValue === value; // Compara el valor del modelo con el valor proporcionado
56444
56494
 
56445
56495
  // Devuelve el color de fondo si la etiqueta está seleccionada; de lo contrario, null
56446
- return isSelected ? ['text-body-3', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'text-body-4';
56496
+ return isSelected ? ['e-select__itemText--selected', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'e-select__textSize--def';
56447
56497
  }
56448
56498
  };
56449
56499
  const getFormattedOption = option => {
@@ -56860,7 +56910,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56860
56910
  onFocus: onInputFocus,
56861
56911
  onInput: fetchSuggestions,
56862
56912
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)(toggleDropdown, ["prevent"])
56863
- }, 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", {
56913
+ }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.vModelText, tempValueInput.value, void 0, {
56914
+ trim: true
56915
+ }]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
56864
56916
  ref: `selectLabelSelectedSuggest-${(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.unref)(instance).uid}`,
56865
56917
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(inputLabelSelectedClass.value)
56866
56918
  }, (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, {
@@ -56922,7 +56974,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56922
56974
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.withModifiers)(toggleDropdown, ["prevent"])
56923
56975
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "arrow", {
56924
56976
  isSelectOpened: isSelectOpened.value
56925
- }, () => [(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, {
56977
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)({
56978
+ "data-icon": "select-arrow"
56979
+ }, 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, {
56926
56980
  key: 2,
56927
56981
  to: teleportTarget.value
56928
56982
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
@@ -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
  });
@@ -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);
@@ -52759,6 +52762,7 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52759
52762
  let cursorPosition = event.target.selectionStart;
52760
52763
  let previousLength = valueInput.length;
52761
52764
  const charLengt = props.charAmount ? props.charAmount.length : 0;
52765
+ let timeCursorPosition = null;
52762
52766
  let emails = valueInput.replace(/ /g, '').split(props.charSplitEmail);
52763
52767
  let allEmailCorrect = true;
52764
52768
  let incorrectEmail = null;
@@ -52856,18 +52860,30 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52856
52860
  }
52857
52861
  case props.modelModifiers?.time:
52858
52862
  {
52863
+ const rawValue = valueInput;
52864
+ const cursorPos = cursorPosition;
52865
+ const digitsBeforeCursor = countDigitsBefore(rawValue, cursorPos);
52866
+
52859
52867
  // 1. Obtener solo los dígitos
52860
- const digitsOnly = valueInput.replace(/\D/g, '');
52868
+ let digitsOnly = valueInput.replace(/\D/g, '');
52869
+ const prevDigitsTime = (props.modelValue || '').replace(/\D/g, '');
52870
+ let digitsBeforeCursorForPosition = digitsBeforeCursor;
52871
+ if (props.modelValue && valueInput === prevDigitsTime && props.modelValue.length > valueInput.length && digitsBeforeCursor >= 1) {
52872
+ digitsOnly = digitsOnly.slice(0, digitsBeforeCursor - 1) + digitsOnly.slice(digitsBeforeCursor);
52873
+ digitsBeforeCursorForPosition = digitsBeforeCursor - 1;
52874
+ }
52861
52875
 
52862
52876
  // 2. Formatear como HH:mm:ss
52863
52877
  valueInput = formatToHHMMSS(digitsOnly);
52878
+ timeCursorPosition = getPositionAfterNDigits(valueInput, digitsBeforeCursorForPosition);
52864
52879
 
52865
52880
  // 3. Validar que sea una hora válida (máximo 23:59:59)
52866
52881
  const [hourStr, minStr, secStr] = valueInput.split(':');
52867
52882
  const hour = parseInt(hourStr, 10);
52868
52883
  const minute = parseInt(minStr ?? '0', 10);
52869
52884
  const second = parseInt(secStr ?? '0', 10);
52870
- const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0 && second < 60;
52885
+ const invalidHour11SingleMinuteDigit = hour === 11 && minStr != null && minStr !== '' && minStr.length === 1;
52886
+ const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0 && second < 60 && !invalidHour11SingleMinuteDigit;
52871
52887
  if (isValid) {
52872
52888
  resetRestrictions();
52873
52889
  enteredTime = valueInput;
@@ -52882,12 +52898,23 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52882
52898
  }
52883
52899
  case props.modelModifiers?.timens:
52884
52900
  {
52901
+ const rawValueTimens = valueInput;
52902
+ const cursorPosTimens = cursorPosition;
52903
+ const digitsBeforeCursorTimens = countDigitsBefore(rawValueTimens, cursorPosTimens);
52885
52904
  let digitsOnly = valueInput.replace(/\D/g, '');
52905
+ const prevDigitsTimens = (props.modelValue || '').replace(/\D/g, '');
52906
+ let digitsBeforeCursorTimensForPosition = digitsBeforeCursorTimens;
52907
+ if (props.modelValue && valueInput === prevDigitsTimens && props.modelValue.length > valueInput.length && digitsBeforeCursorTimens >= 1) {
52908
+ digitsOnly = digitsOnly.slice(0, digitsBeforeCursorTimens - 1) + digitsOnly.slice(digitsBeforeCursorTimens);
52909
+ digitsBeforeCursorTimensForPosition = digitsBeforeCursorTimens - 1;
52910
+ }
52886
52911
  valueInput = formatToHHMM(digitsOnly);
52912
+ timeCursorPosition = getPositionAfterNDigits(valueInput, digitsBeforeCursorTimensForPosition);
52887
52913
  const [hourStr, minStr] = valueInput.split(':');
52888
52914
  const hour = parseInt(hourStr, 10);
52889
52915
  const minute = parseInt(minStr, 10);
52890
- const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60;
52916
+ const invalidHour11SingleMinuteDigit = hour === 11 && minStr != null && minStr !== '' && minStr.length === 1;
52917
+ const isValid = hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && !invalidHour11SingleMinuteDigit;
52891
52918
  if (isValid) {
52892
52919
  resetRestrictions();
52893
52920
  } else {
@@ -52947,9 +52974,10 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52947
52974
  }
52948
52975
  event.target.setSelectionRange(position, position);
52949
52976
  } else if (needsCursorAtEnd) {
52950
- // Solo para modificadores que reformatean (time, timens)
52977
+ // Solo para modificadores que reformatean (time, timens): preservar posición según dígitos
52951
52978
  const len = event.target.value.length;
52952
- event.target.setSelectionRange(len, len);
52979
+ const pos = timeCursorPosition != null ? timeCursorPosition : len;
52980
+ event.target.setSelectionRange(pos, pos);
52953
52981
  } else {
52954
52982
  // Para modificadores que solo filtran caracteres, preservar posición del cursor
52955
52983
  const lengthDiff = valueInput.length - previousLength;
@@ -52981,10 +53009,28 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52981
53009
  }
52982
53010
  return '';
52983
53011
  };
53012
+ const countDigitsBefore = (str, position) => {
53013
+ let count = 0;
53014
+ for (let i = 0; i < position && i < str.length; i++) {
53015
+ if (/\d/.test(str[i])) count++;
53016
+ }
53017
+ return count;
53018
+ };
53019
+ const getPositionAfterNDigits = (str, n) => {
53020
+ if (n <= 0) return 0;
53021
+ let digitCount = 0;
53022
+ let i = 0;
53023
+ for (; i < str.length && digitCount < n; i++) {
53024
+ if (/\d/.test(str[i])) digitCount++;
53025
+ }
53026
+ if (digitCount < n) return str.length;
53027
+ while (i < str.length && str[i] === ':') i++;
53028
+ return i;
53029
+ };
52984
53030
  const formatToHHMM = raw => {
52985
53031
  let digits = raw.replace(/\D/g, '');
52986
53032
  if (digits.length === 0) return '';
52987
- if (digits.length === 1) return `${digits}:`;
53033
+ if (digits.length === 1) return digits;
52988
53034
  if (digits.length === 2) return `${digits}:`;
52989
53035
  if (digits.length === 3) return `${digits.slice(0, 2)}:${digits[2]}`;
52990
53036
  if (digits.length >= 4) return `${digits.slice(0, 2)}:${digits.slice(2, 4)}`;
@@ -52992,7 +53038,7 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
52992
53038
  const formatToHHMMSS = raw => {
52993
53039
  let digits = raw.replace(/\D/g, '');
52994
53040
  if (digits.length === 0) return '';
52995
- if (digits.length === 1) return `${digits}:`;
53041
+ if (digits.length === 1) return digits;
52996
53042
  if (digits.length === 2) return `${digits}:`;
52997
53043
  if (digits.length === 3) return `${digits.slice(0, 2)}:${digits[2]}`;
52998
53044
  if (digits.length === 4) return `${digits.slice(0, 2)}:${digits.slice(2, 4)}:`;
@@ -53065,6 +53111,8 @@ const EInputvue_type_script_setup_true_lang_js_hoisted_4 = {
53065
53111
  if (formatted !== props.modelValue) {
53066
53112
  emit('update:modelValue', formatted);
53067
53113
  }
53114
+ } else if (typeof props.modelValue === 'string' && props.modelValue.trim() !== props.modelValue) {
53115
+ emit('update:modelValue', props.modelValue.trim());
53068
53116
  }
53069
53117
  };
53070
53118
 
@@ -54454,6 +54502,9 @@ const EInputMaskvue_type_script_setup_true_lang_js_hoisted_2 = ["id", "value"];
54454
54502
  if (isCleaning.value) {
54455
54503
  return;
54456
54504
  }
54505
+ if (typeof value === 'string') {
54506
+ value = value.trim();
54507
+ }
54457
54508
  if (!isMaskActive.value) {
54458
54509
  realValue.value = value;
54459
54510
  emit('update:modelValue', value);
@@ -55803,7 +55854,6 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55803
55854
  const tempValueInput = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55804
55855
  const auxSuggestions = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55805
55856
  const multipleValue = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
55806
- const selectContentHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55807
55857
  const inputLabelSelectedW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55808
55858
  const selectHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
55809
55859
  const inputSuggestContainerW = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(null);
@@ -55999,12 +56049,12 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
55999
56049
  return baseLabelSelectedClasses.concat(dynamicLabelClasses, iconClasses);
56000
56050
  });
56001
56051
  const labelSelectSuggest = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
56002
- 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' : ''];
56052
+ 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' : ''];
56003
56053
  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`]]];
56004
56054
  return baseLabelClasses.concat(dynamicLabelClasses);
56005
56055
  });
56006
56056
  const labelSelectDefault = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
56007
- const baseLabelClasses = [hasInfo.value ? 'e-select__label--default text-caption-2' : textSizeClass.value, roundedClass.value, props.disabled ? 'exos-cursor-not-allowed' : 'exos-cursor-pointer'];
56057
+ 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'];
56008
56058
  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`]]];
56009
56059
  return baseLabelClasses.concat(dynamicLabelClasses);
56010
56060
  });
@@ -56461,7 +56511,7 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56461
56511
  : props.modelValue === value; // Compara el valor del modelo con el valor proporcionado
56462
56512
 
56463
56513
  // Devuelve el color de fondo si la etiqueta está seleccionada; de lo contrario, null
56464
- return isSelected ? ['text-body-3', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'text-body-4';
56514
+ return isSelected ? ['e-select__itemText--selected', roundedClass.value, props.selectedOptionBgColor + ' e-select__optionItem--selected'] : 'e-select__textSize--def';
56465
56515
  }
56466
56516
  };
56467
56517
  const getFormattedOption = option => {
@@ -56878,7 +56928,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56878
56928
  onFocus: onInputFocus,
56879
56929
  onInput: fetchSuggestions,
56880
56930
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(toggleDropdown, ["prevent"])
56881
- }, 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", {
56931
+ }, null, 46, ESelectvue_type_script_setup_true_lang_js_hoisted_2), [[external_commonjs_vue_commonjs2_vue_root_Vue_.vModelText, tempValueInput.value, void 0, {
56932
+ trim: true
56933
+ }]]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {
56882
56934
  ref: `selectLabelSelectedSuggest-${(0,external_commonjs_vue_commonjs2_vue_root_Vue_.unref)(instance).uid}`,
56883
56935
  class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.normalizeClass)(inputLabelSelectedClass.value)
56884
56936
  }, (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, {
@@ -56940,7 +56992,9 @@ const DROPDOWN_MAX_HEIGHT_VH = 0.4;
56940
56992
  onClick: (0,external_commonjs_vue_commonjs2_vue_root_Vue_.withModifiers)(toggleDropdown, ["prevent"])
56941
56993
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.renderSlot)(_ctx.$slots, "arrow", {
56942
56994
  isSelectOpened: isSelectOpened.value
56943
- }, () => [(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, {
56995
+ }, () => [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createVNode)(_component_e_icon, (0,external_commonjs_vue_commonjs2_vue_root_Vue_.mergeProps)({
56996
+ "data-icon": "select-arrow"
56997
+ }, 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, {
56944
56998
  key: 2,
56945
56999
  to: teleportTarget.value
56946
57000
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.createElementVNode)("div", {