@farm-investimentos/front-mfe-components-vue3 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2737,9 +2737,11 @@ __webpack_require__.d(__webpack_exports__, {
2737
2737
  TextArea: function() { return /* reexport */ TextArea_TextArea; },
2738
2738
  TextFieldV2: function() { return /* reexport */ TextFieldV2_TextFieldV2; },
2739
2739
  ToggleButton: function() { return /* reexport */ ToggleButton_ToggleButton; },
2740
- Tooltip: function() { return /* reexport */ Tooltip_Tooltip; },
2740
+ Tooltip: function() { return /* reexport */ components_Tooltip; },
2741
2741
  Typography: function() { return /* reexport */ Typography_Typography; },
2742
- ValueCaption: function() { return /* reexport */ ValueCaption_ValueCaption; }
2742
+ ValueCaption: function() { return /* reexport */ ValueCaption_ValueCaption; },
2743
+ customIcons: function() { return /* reexport */ customIconsList; },
2744
+ customIconsList: function() { return /* reexport */ custom_icons_list; }
2743
2745
  });
2744
2746
 
2745
2747
  ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
@@ -6891,6 +6893,353 @@ const TableContextMenu_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(T
6891
6893
  ;// CONCATENATED MODULE: ./src/components/TableContextMenu/index.ts
6892
6894
 
6893
6895
  /* harmony default export */ var components_TableContextMenu = (TableContextMenu);
6896
+ ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Tooltip/Tooltip.vue?vue&type=script&setup=true&lang=ts
6897
+
6898
+
6899
+
6900
+
6901
+ const Tooltipvue_type_script_setup_true_lang_ts_withScopeId = n => (_pushScopeId("data-v-46d8db88"), n = n(), _popScopeId(), n);
6902
+ const Tooltipvue_type_script_setup_true_lang_ts_hoisted_1 = {
6903
+ key: 0,
6904
+ class: "tooltip-header"
6905
+ };
6906
+ const Tooltipvue_type_script_setup_true_lang_ts_hoisted_2 = {
6907
+ key: 0,
6908
+ class: "tooltip-title"
6909
+ };
6910
+ const Tooltipvue_type_script_setup_true_lang_ts_hoisted_3 = {
6911
+ class: "tooltip-content"
6912
+ };
6913
+
6914
+ const ARROW_OFFSET = 18;
6915
+ const Z_INDEX_OFFSET = 1000;
6916
+ const DEFAULT_Z_INDEX = 10001;
6917
+ /* harmony default export */ var Tooltipvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.defineComponent)({
6918
+ ...{
6919
+ name: 'farm-tooltip'
6920
+ },
6921
+ __name: 'Tooltip',
6922
+ props: {
6923
+ modelValue: {
6924
+ type: Boolean,
6925
+ default: undefined
6926
+ },
6927
+ trigger: {
6928
+ default: 'hover'
6929
+ },
6930
+ placement: {
6931
+ default: 'top-center'
6932
+ },
6933
+ offset: {
6934
+ default: 8
6935
+ },
6936
+ variant: {
6937
+ default: 'dark'
6938
+ },
6939
+ size: {
6940
+ default: 'md'
6941
+ },
6942
+ maxWidth: {
6943
+ default: undefined
6944
+ },
6945
+ delay: {
6946
+ default: () => [100, 50]
6947
+ },
6948
+ disabled: {
6949
+ type: Boolean,
6950
+ default: false
6951
+ },
6952
+ fluid: {
6953
+ type: Boolean,
6954
+ default: false
6955
+ }
6956
+ },
6957
+ emits: ["update:modelValue", "show", "hide"],
6958
+ setup(__props, {
6959
+ emit: __emit
6960
+ }) {
6961
+ const props = __props;
6962
+ const emit = __emit;
6963
+ const slots = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.useSlots)();
6964
+ const containerRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
6965
+ const activatorRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
6966
+ const tooltipRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
6967
+ const scrollableElementsRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
6968
+ let modalCache = null;
6969
+ const isVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
6970
+ const isControlled = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => props.modelValue !== undefined);
6971
+ const hasTitle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => !!slots.title);
6972
+ const showCloseButton = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => isControlled.value && hasTitle.value);
6973
+ const normalizedMaxWidth = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
6974
+ if (props.fluid) {
6975
+ return '300px';
6976
+ }
6977
+ return props.maxWidth;
6978
+ });
6979
+ const tooltipClasses = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => ({
6980
+ 'tooltip-popup': true,
6981
+ 'tooltip-popup--visible': isVisible.value,
6982
+ [`tooltip-popup--${props.variant}`]: true,
6983
+ [`tooltip-popup--${props.size}`]: true,
6984
+ 'tooltip-popup--has-title': hasTitle.value,
6985
+ [`tooltip-popup--${props.placement}`]: true
6986
+ }));
6987
+ const tooltipStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
6988
+ const styles = {
6989
+ position: 'fixed',
6990
+ zIndex: String(getTooltipZIndex())
6991
+ };
6992
+ if (normalizedMaxWidth.value) {
6993
+ styles.maxWidth = typeof normalizedMaxWidth.value === 'number' ? `${normalizedMaxWidth.value}px` : normalizedMaxWidth.value;
6994
+ styles.width = 'auto';
6995
+ }
6996
+ return styles;
6997
+ });
6998
+ const arrowStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
6999
+ const [verticalPos] = props.placement.split('-');
7000
+ const arrowColor = props.variant === 'light' ? '#ffffff' : '#333333';
7001
+ const styles = {
7002
+ position: 'absolute',
7003
+ width: '0',
7004
+ height: '0',
7005
+ borderStyle: 'solid',
7006
+ zIndex: 'inherit'
7007
+ };
7008
+ if (verticalPos === 'top') {
7009
+ styles.bottom = '-6px';
7010
+ styles.borderWidth = '6px 6px 0 6px';
7011
+ styles.borderColor = `${arrowColor} transparent transparent transparent`;
7012
+ } else {
7013
+ styles.top = '-6px';
7014
+ styles.borderWidth = '0 6px 6px 6px';
7015
+ styles.borderColor = `transparent transparent ${arrowColor} transparent`;
7016
+ }
7017
+ styles.left = '50%';
7018
+ styles.transform = 'translateX(-50%)';
7019
+ return styles;
7020
+ });
7021
+ const getTooltipZIndex = () => {
7022
+ const now = Date.now();
7023
+ let modals;
7024
+ if (modalCache && now - modalCache.timestamp < 500) {
7025
+ modals = modalCache.modals;
7026
+ } else {
7027
+ modals = Array.from(document.querySelectorAll('.farm-modal'));
7028
+ modalCache = {
7029
+ modals,
7030
+ timestamp: now
7031
+ };
7032
+ }
7033
+ let maxModalZIndex = 0;
7034
+ modals.forEach(modal => {
7035
+ const htmlModal = modal;
7036
+ let zIndex = parseInt(htmlModal.style.zIndex, 10);
7037
+ if (Number.isNaN(zIndex)) {
7038
+ const computedZIndex = window.getComputedStyle(htmlModal).zIndex;
7039
+ if (computedZIndex === 'auto') {
7040
+ zIndex = 0;
7041
+ } else {
7042
+ zIndex = parseInt(computedZIndex, 10) || 0;
7043
+ }
7044
+ }
7045
+ if (zIndex > maxModalZIndex) {
7046
+ maxModalZIndex = zIndex;
7047
+ }
7048
+ });
7049
+ return maxModalZIndex > 0 ? maxModalZIndex + Z_INDEX_OFFSET : DEFAULT_Z_INDEX;
7050
+ };
7051
+ const calculateTooltipPosition = (activatorRect, tooltipRect, placement, offset = 8) => {
7052
+ const [verticalPos, horizontalAlign] = placement.split('-');
7053
+ let left = 0;
7054
+ let top = 0;
7055
+ if (verticalPos === 'top') {
7056
+ top = activatorRect.top - tooltipRect.height - offset;
7057
+ } else {
7058
+ top = activatorRect.bottom + offset;
7059
+ }
7060
+ switch (horizontalAlign) {
7061
+ case 'left':
7062
+ left = activatorRect.left + activatorRect.width / 2 - ARROW_OFFSET;
7063
+ break;
7064
+ case 'right':
7065
+ left = activatorRect.left + activatorRect.width / 2 - (tooltipRect.width - ARROW_OFFSET);
7066
+ break;
7067
+ case 'center':
7068
+ default:
7069
+ left = activatorRect.left + activatorRect.width / 2 - tooltipRect.width / 2;
7070
+ break;
7071
+ }
7072
+ if (left < offset) left = offset;
7073
+ if (left + tooltipRect.width > window.innerWidth - offset) {
7074
+ left = window.innerWidth - tooltipRect.width - offset;
7075
+ }
7076
+ return {
7077
+ left,
7078
+ top
7079
+ };
7080
+ };
7081
+ const moveToBody = element => {
7082
+ if (element.parentNode !== document.body) {
7083
+ document.body.appendChild(element);
7084
+ }
7085
+ };
7086
+ const moveToContainer = (element, container) => {
7087
+ if (element.parentNode === document.body) {
7088
+ container.appendChild(element);
7089
+ }
7090
+ };
7091
+ const show = () => {
7092
+ if (props.disabled || isControlled.value) return;
7093
+ isVisible.value = true;
7094
+ emit('show');
7095
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
7096
+ if (tooltipRef.value && activatorRef.value) {
7097
+ moveToBody(tooltipRef.value);
7098
+ updatePosition();
7099
+ addScrollListener();
7100
+ }
7101
+ });
7102
+ };
7103
+ const hide = () => {
7104
+ if (props.disabled || isControlled.value) return;
7105
+ isVisible.value = false;
7106
+ emit('hide');
7107
+ removeScrollListener();
7108
+ };
7109
+ const close = () => {
7110
+ if (isControlled.value) {
7111
+ emit('update:modelValue', false);
7112
+ } else {
7113
+ hide();
7114
+ }
7115
+ };
7116
+ const updatePosition = () => {
7117
+ if (!activatorRef.value || !tooltipRef.value) return;
7118
+ const activatorRect = activatorRef.value.getBoundingClientRect();
7119
+ const tooltipRect = tooltipRef.value.getBoundingClientRect();
7120
+ const isActivatorVisible = activatorRect.top < window.innerHeight && activatorRect.bottom > 0 && activatorRect.left < window.innerWidth && activatorRect.right > 0;
7121
+ if (!isActivatorVisible && isVisible.value && !isControlled.value) {
7122
+ hide();
7123
+ return;
7124
+ }
7125
+ const position = calculateTooltipPosition(activatorRect, tooltipRect, props.placement, props.offset);
7126
+ tooltipRef.value.style.left = `${position.left}px`;
7127
+ tooltipRef.value.style.top = `${position.top}px`;
7128
+ updateArrowPosition(activatorRect, position);
7129
+ };
7130
+ const updateArrowPosition = (activatorRect, tooltipPosition) => {
7131
+ if (!tooltipRef.value) return;
7132
+ const arrow = tooltipRef.value.querySelector('.tooltip-arrow');
7133
+ if (!arrow) return;
7134
+ const activatorCenterX = activatorRect.left + activatorRect.width / 2;
7135
+ const arrowX = activatorCenterX - tooltipPosition.left;
7136
+ const tooltipWidth = tooltipRef.value.offsetWidth;
7137
+ const minArrowX = 12;
7138
+ const maxArrowX = tooltipWidth - 12;
7139
+ const clampedArrowX = Math.max(minArrowX, Math.min(maxArrowX, arrowX));
7140
+ arrow.style.left = `${clampedArrowX}px`;
7141
+ arrow.style.transform = 'translateX(-50%)';
7142
+ };
7143
+ const getScrollableElements = () => {
7144
+ if (!scrollableElementsRef.value) {
7145
+ const nodeList = document.querySelectorAll('.farm-modal, .modal-content, [style*="overflow-y: auto"], [style*="overflow-y: scroll"]');
7146
+ scrollableElementsRef.value = Array.from(nodeList);
7147
+ }
7148
+ return scrollableElementsRef.value;
7149
+ };
7150
+ const addScrollListener = () => {
7151
+ window.addEventListener('scroll', updatePosition, {
7152
+ passive: true
7153
+ });
7154
+ const scrollableElements = getScrollableElements();
7155
+ scrollableElements.forEach(element => {
7156
+ element.addEventListener('scroll', updatePosition, {
7157
+ passive: true
7158
+ });
7159
+ });
7160
+ };
7161
+ const removeScrollListener = () => {
7162
+ window.removeEventListener('scroll', updatePosition);
7163
+ const scrollableElements = getScrollableElements();
7164
+ scrollableElements.forEach(element => {
7165
+ element.removeEventListener('scroll', updatePosition);
7166
+ });
7167
+ };
7168
+ if (isControlled.value) {
7169
+ isVisible.value = props.modelValue || false;
7170
+ }
7171
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => props.modelValue, newValue => {
7172
+ if (isControlled.value) {
7173
+ isVisible.value = newValue || false;
7174
+ if (isVisible.value) {
7175
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
7176
+ if (tooltipRef.value) {
7177
+ moveToBody(tooltipRef.value);
7178
+ updatePosition();
7179
+ addScrollListener();
7180
+ }
7181
+ });
7182
+ } else {
7183
+ removeScrollListener();
7184
+ }
7185
+ }
7186
+ });
7187
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onBeforeUnmount)(() => {
7188
+ if (tooltipRef.value && containerRef.value) {
7189
+ moveToContainer(tooltipRef.value, containerRef.value);
7190
+ }
7191
+ removeScrollListener();
7192
+ });
7193
+ return (_ctx, _cache) => {
7194
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
7195
+ class: "tooltip-container",
7196
+ ref_key: "containerRef",
7197
+ ref: containerRef
7198
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
7199
+ ref_key: "activatorRef",
7200
+ ref: activatorRef,
7201
+ class: "tooltip-activator",
7202
+ onMouseover: show,
7203
+ onMouseout: hide,
7204
+ onMouseleave: hide
7205
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "activator")], 544), isVisible.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
7206
+ key: 0,
7207
+ ref_key: "tooltipRef",
7208
+ ref: tooltipRef,
7209
+ class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(tooltipClasses.value),
7210
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(tooltipStyles.value)
7211
+ }, [hasTitle.value || showCloseButton.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_1, [hasTitle.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "title")])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), showCloseButton.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
7212
+ key: 1,
7213
+ class: "tooltip-close",
7214
+ onClick: close
7215
+ }, "×")) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
7216
+ class: "tooltip-arrow",
7217
+ style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(arrowStyles.value)
7218
+ }, null, 4)], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512);
7219
+ };
7220
+ }
7221
+ }));
7222
+ ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue?vue&type=script&setup=true&lang=ts
7223
+
7224
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Tooltip/Tooltip.vue?vue&type=style&index=0&id=46d8db88&lang=scss&scoped=true
7225
+ // extracted by mini-css-extract-plugin
7226
+
7227
+ ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue?vue&type=style&index=0&id=46d8db88&lang=scss&scoped=true
7228
+
7229
+ ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue
7230
+
7231
+
7232
+
7233
+ ;
7234
+
7235
+
7236
+ const Tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Tooltipvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-46d8db88"]])
7237
+
7238
+ /* harmony default export */ var Tooltip = (Tooltip_exports_);
7239
+ ;// CONCATENATED MODULE: ./src/components/Tooltip/index.ts
7240
+
7241
+
7242
+ /* harmony default export */ var components_Tooltip = (Tooltip);
6894
7243
  ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/AlertBox/AlertBox.vue?vue&type=script&lang=ts&setup=true
6895
7244
 
6896
7245
 
@@ -9828,18 +10177,18 @@ const LoggerItem_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(LoggerI
9828
10177
 
9829
10178
 
9830
10179
  /* harmony default export */ var Logger_LoggerItem = ((/* unused pure expression or super */ null && (LoggerItem)));
9831
- ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Icon/Icon.vue?vue&type=template&id=322a1852&scoped=true&ts=true
10180
+ ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Icon/Icon.vue?vue&type=template&id=3a6fccb7&scoped=true&ts=true
9832
10181
 
9833
- const Iconvue_type_template_id_322a1852_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-322a1852"), n = n(), _popScopeId(), n);
9834
- const Iconvue_type_template_id_322a1852_scoped_true_ts_true_hoisted_1 = ["size"];
9835
- function Iconvue_type_template_id_322a1852_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
10182
+ const Iconvue_type_template_id_3a6fccb7_scoped_true_ts_true_withScopeId = n => (_pushScopeId("data-v-3a6fccb7"), n = n(), _popScopeId(), n);
10183
+ const Iconvue_type_template_id_3a6fccb7_scoped_true_ts_true_hoisted_1 = ["size"];
10184
+ function Iconvue_type_template_id_3a6fccb7_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
9836
10185
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("i", (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.mergeProps)(_ctx.$attrs, {
9837
10186
  class: $setup.classes,
9838
10187
  size: _ctx.$props.size,
9839
10188
  ref: "el"
9840
- }), null, 16, Iconvue_type_template_id_322a1852_scoped_true_ts_true_hoisted_1);
10189
+ }), null, 16, Iconvue_type_template_id_3a6fccb7_scoped_true_ts_true_hoisted_1);
9841
10190
  }
9842
- ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue?vue&type=template&id=322a1852&scoped=true&ts=true
10191
+ ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue?vue&type=template&id=3a6fccb7&scoped=true&ts=true
9843
10192
 
9844
10193
  ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Icon/Icon.vue?vue&type=script&lang=ts
9845
10194
 
@@ -9875,11 +10224,20 @@ const breakPoints = ['xs', 'sm', 'md', 'lg', 'xl'];
9875
10224
  } = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.toRefs)(props);
9876
10225
  const el = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
9877
10226
  const classes = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
10227
+ const isCustomIcon = icon.value.startsWith('custom-');
9878
10228
  return {
9879
10229
  'farm-icon': true,
9880
10230
  ['farm-icon--' + color.value]: true,
9881
- mdi: true,
9882
- ['mdi-' + icon.value]: true,
10231
+ // Classes MDI para ícones padrão
10232
+ ...(isCustomIcon ? {} : {
10233
+ mdi: true,
10234
+ ['mdi-' + icon.value]: true
10235
+ }),
10236
+ // Classe customizada para ícones personalizados
10237
+ ...(isCustomIcon ? {
10238
+ [icon.value]: true
10239
+ } : {}),
10240
+ // Variações de cor
9883
10241
  'farm-icon--lighten': variation.value === 'lighten',
9884
10242
  'farm-icon--darken': variation.value === 'darken',
9885
10243
  ['farm-icon--black-' + variation.value]: color.value === 'black'
@@ -9912,10 +10270,10 @@ const breakPoints = ['xs', 'sm', 'md', 'lg', 'xl'];
9912
10270
  });
9913
10271
  ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue?vue&type=script&lang=ts
9914
10272
 
9915
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Icon/Icon.vue?vue&type=style&index=0&id=322a1852&lang=scss&scoped=true
10273
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Icon/Icon.vue?vue&type=style&index=0&id=3a6fccb7&lang=scss&scoped=true
9916
10274
  // extracted by mini-css-extract-plugin
9917
10275
 
9918
- ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue?vue&type=style&index=0&id=322a1852&lang=scss&scoped=true
10276
+ ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue?vue&type=style&index=0&id=3a6fccb7&lang=scss&scoped=true
9919
10277
 
9920
10278
  ;// CONCATENATED MODULE: ./src/components/Icon/Icon.vue
9921
10279
 
@@ -9925,7 +10283,7 @@ const breakPoints = ['xs', 'sm', 'md', 'lg', 'xl'];
9925
10283
  ;
9926
10284
 
9927
10285
 
9928
- const Icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Iconvue_type_script_lang_ts, [['render',Iconvue_type_template_id_322a1852_scoped_true_ts_true_render],['__scopeId',"data-v-322a1852"]])
10286
+ const Icon_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Iconvue_type_script_lang_ts, [['render',Iconvue_type_template_id_3a6fccb7_scoped_true_ts_true_render],['__scopeId',"data-v-3a6fccb7"]])
9929
10287
 
9930
10288
  /* harmony default export */ var Icon_Icon = (Icon_exports_);
9931
10289
  ;// CONCATENATED MODULE: ./src/components/Icon/index.ts
@@ -12838,436 +13196,83 @@ function InputDecimalFormattervue_type_template_id_98371fda_scoped_true_ts_true_
12838
13196
  });
12839
13197
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => innerValue.value, () => {
12840
13198
  emit('update:modelValue', innerValue.value);
12841
- validate(innerValue.value);
12842
- });
12843
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => props.rules, (newVal, oldVal) => {
12844
- if (composition_deepEqual(newVal, oldVal)) return;
12845
- fieldValidator = validateFormFieldBuilder(rules.value);
12846
- validate = validateFormMethodBuilder(errorBucket, valid, fieldValidator);
12847
- validate(innerValue.value);
12848
- });
12849
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onBeforeMount)(() => {
12850
- validate(innerValue.value);
12851
- });
12852
- let validate = validateFormMethodBuilder(errorBucket, valid, fieldValidator);
12853
- const onKeyUp = event => {
12854
- isTouched.value = true;
12855
- emit('keyup', event);
12856
- setTimeout(() => {
12857
- emit('change', innerValue.value);
12858
- }, 100);
12859
- };
12860
- const onBlur = event => {
12861
- isBlured.value = true;
12862
- emit('blur', event);
12863
- };
12864
- const onFocus = focus => {
12865
- isFocus.value = focus;
12866
- };
12867
- const reset = () => {
12868
- innerValue.value = '';
12869
- isTouched.value = true;
12870
- emit('update:modelValue', innerValue.value);
12871
- };
12872
- const makePristine = () => {
12873
- isTouched.value = false;
12874
- isBlured.value = false;
12875
- };
12876
- return {
12877
- innerValue,
12878
- errorBucket,
12879
- valid,
12880
- validatable,
12881
- hasError,
12882
- customId,
12883
- isTouched,
12884
- isBlured,
12885
- isFocus,
12886
- showErrorText,
12887
- validate,
12888
- onKeyUp,
12889
- onBlur,
12890
- onFocus,
12891
- reset,
12892
- makePristine
12893
- };
12894
- }
12895
- });
12896
- ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=script&lang=ts
12897
-
12898
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=style&index=0&id=98371fda&lang=scss&scoped=true
12899
- // extracted by mini-css-extract-plugin
12900
-
12901
- ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=style&index=0&id=98371fda&lang=scss&scoped=true
12902
-
12903
- ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue
12904
-
12905
-
12906
-
12907
-
12908
- ;
12909
-
12910
-
12911
- const InputDecimalFormatter_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(InputDecimalFormattervue_type_script_lang_ts, [['render',InputDecimalFormattervue_type_template_id_98371fda_scoped_true_ts_true_render],['__scopeId',"data-v-98371fda"]])
12912
-
12913
- /* harmony default export */ var InputDecimalFormatter_InputDecimalFormatter = (InputDecimalFormatter_exports_);
12914
- ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/index.ts
12915
-
12916
-
12917
- /* harmony default export */ var components_InputDecimalFormatter = ((/* unused pure expression or super */ null && (InputDecimalFormatter)));
12918
- ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Tooltip/Tooltip.vue?vue&type=script&setup=true&lang=ts
12919
-
12920
-
12921
-
12922
-
12923
- const Tooltipvue_type_script_setup_true_lang_ts_withScopeId = n => (_pushScopeId("data-v-0953d2f7"), n = n(), _popScopeId(), n);
12924
- const Tooltipvue_type_script_setup_true_lang_ts_hoisted_1 = {
12925
- key: 0,
12926
- class: "tooltip-header"
12927
- };
12928
- const Tooltipvue_type_script_setup_true_lang_ts_hoisted_2 = {
12929
- key: 0,
12930
- class: "tooltip-title"
12931
- };
12932
- const Tooltipvue_type_script_setup_true_lang_ts_hoisted_3 = {
12933
- class: "tooltip-content"
12934
- };
12935
-
12936
- const ARROW_OFFSET = 18;
12937
- const Z_INDEX_OFFSET = 1000;
12938
- const DEFAULT_Z_INDEX = 10001;
12939
- /* harmony default export */ var Tooltipvue_type_script_setup_true_lang_ts = (/*#__PURE__*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.defineComponent)({
12940
- __name: 'Tooltip',
12941
- props: {
12942
- modelValue: {
12943
- type: Boolean,
12944
- default: undefined
12945
- },
12946
- trigger: {
12947
- default: 'hover'
12948
- },
12949
- placement: {
12950
- default: 'top-center'
12951
- },
12952
- offset: {
12953
- default: 8
12954
- },
12955
- variant: {
12956
- default: 'dark'
12957
- },
12958
- size: {
12959
- default: 'md'
12960
- },
12961
- maxWidth: {
12962
- default: undefined
12963
- },
12964
- delay: {
12965
- default: () => [100, 50]
12966
- },
12967
- disabled: {
12968
- type: Boolean,
12969
- default: false
12970
- },
12971
- fluid: {
12972
- type: Boolean,
12973
- default: false
12974
- },
12975
- position: {
12976
- default: undefined
12977
- }
12978
- },
12979
- emits: ["update:modelValue", "show", "hide"],
12980
- setup(__props, {
12981
- emit: __emit
12982
- }) {
12983
- const props = __props;
12984
- const emit = __emit;
12985
- const slots = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.useSlots)();
12986
- const containerRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
12987
- const activatorRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
12988
- const tooltipRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
12989
- const scrollableElementsRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(null);
12990
- let modalCache = null;
12991
- const isVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.ref)(false);
12992
- const isControlled = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => props.modelValue !== undefined);
12993
- const hasTitle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => !!slots.title);
12994
- const showCloseButton = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => isControlled.value && hasTitle.value);
12995
- const normalizedPlacement = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
12996
- if (props.position) {
12997
- return props.position;
12998
- }
12999
- return props.placement;
13000
- });
13001
- const normalizedMaxWidth = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
13002
- if (props.fluid) {
13003
- return '300px';
13004
- }
13005
- return props.maxWidth;
13006
- });
13007
- const tooltipClasses = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => ({
13008
- 'tooltip-popup': true,
13009
- 'tooltip-popup--visible': isVisible.value,
13010
- [`tooltip-popup--${props.variant}`]: true,
13011
- [`tooltip-popup--${props.size}`]: true,
13012
- 'tooltip-popup--has-title': hasTitle.value,
13013
- [`tooltip-popup--${normalizedPlacement.value}`]: true
13014
- }));
13015
- const tooltipStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
13016
- const styles = {
13017
- position: 'fixed',
13018
- zIndex: String(getTooltipZIndex())
13019
- };
13020
- if (normalizedMaxWidth.value) {
13021
- styles.maxWidth = typeof normalizedMaxWidth.value === 'number' ? `${normalizedMaxWidth.value}px` : normalizedMaxWidth.value;
13022
- styles.width = 'auto';
13023
- }
13024
- return styles;
13025
- });
13026
- const arrowStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.computed)(() => {
13027
- const [verticalPos] = normalizedPlacement.value.split('-');
13028
- const arrowColor = props.variant === 'light' ? '#ffffff' : '#333333';
13029
- const styles = {
13030
- position: 'absolute',
13031
- width: '0',
13032
- height: '0',
13033
- borderStyle: 'solid',
13034
- zIndex: 'inherit'
13035
- };
13036
- if (verticalPos === 'top') {
13037
- styles.bottom = '-6px';
13038
- styles.borderWidth = '6px 6px 0 6px';
13039
- styles.borderColor = `${arrowColor} transparent transparent transparent`;
13040
- } else {
13041
- styles.top = '-6px';
13042
- styles.borderWidth = '0 6px 6px 6px';
13043
- styles.borderColor = `transparent transparent ${arrowColor} transparent`;
13044
- }
13045
- styles.left = '50%';
13046
- styles.transform = 'translateX(-50%)';
13047
- return styles;
13199
+ validate(innerValue.value);
13048
13200
  });
13049
- const getTooltipZIndex = () => {
13050
- const now = Date.now();
13051
- let modals;
13052
- if (modalCache && now - modalCache.timestamp < 500) {
13053
- modals = modalCache.modals;
13054
- } else {
13055
- modals = Array.from(document.querySelectorAll('.farm-modal'));
13056
- modalCache = {
13057
- modals,
13058
- timestamp: now
13059
- };
13060
- }
13061
- let maxModalZIndex = 0;
13062
- modals.forEach(modal => {
13063
- const htmlModal = modal;
13064
- let zIndex = parseInt(htmlModal.style.zIndex, 10);
13065
- if (Number.isNaN(zIndex)) {
13066
- const computedZIndex = window.getComputedStyle(htmlModal).zIndex;
13067
- if (computedZIndex === 'auto') {
13068
- zIndex = 0;
13069
- } else {
13070
- zIndex = parseInt(computedZIndex, 10) || 0;
13071
- }
13072
- }
13073
- if (zIndex > maxModalZIndex) {
13074
- maxModalZIndex = zIndex;
13075
- }
13076
- });
13077
- return maxModalZIndex > 0 ? maxModalZIndex + Z_INDEX_OFFSET : DEFAULT_Z_INDEX;
13078
- };
13079
- const calculateTooltipPosition = (activatorRect, tooltipRect, placement, offset = 8) => {
13080
- const [verticalPos, horizontalAlign] = placement.split('-');
13081
- let left = 0;
13082
- let top = 0;
13083
- if (verticalPos === 'top') {
13084
- top = activatorRect.top - tooltipRect.height - offset;
13085
- } else {
13086
- top = activatorRect.bottom + offset;
13087
- }
13088
- switch (horizontalAlign) {
13089
- case 'left':
13090
- left = activatorRect.left + activatorRect.width / 2 - ARROW_OFFSET;
13091
- break;
13092
- case 'right':
13093
- left = activatorRect.left + activatorRect.width / 2 - (tooltipRect.width - ARROW_OFFSET);
13094
- break;
13095
- case 'center':
13096
- default:
13097
- left = activatorRect.left + activatorRect.width / 2 - tooltipRect.width / 2;
13098
- break;
13099
- }
13100
- if (left < offset) left = offset;
13101
- if (left + tooltipRect.width > window.innerWidth - offset) {
13102
- left = window.innerWidth - tooltipRect.width - offset;
13103
- }
13104
- return {
13105
- left,
13106
- top
13107
- };
13108
- };
13109
- const moveToBody = element => {
13110
- if (element.parentNode !== document.body) {
13111
- document.body.appendChild(element);
13112
- }
13113
- };
13114
- const moveToContainer = (element, container) => {
13115
- if (element.parentNode === document.body) {
13116
- container.appendChild(element);
13117
- }
13118
- };
13119
- const show = () => {
13120
- if (props.disabled || isControlled.value) return;
13121
- isVisible.value = true;
13122
- emit('show');
13123
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
13124
- if (tooltipRef.value && activatorRef.value) {
13125
- moveToBody(tooltipRef.value);
13126
- updatePosition();
13127
- addScrollListener();
13128
- }
13129
- });
13130
- };
13131
- const hide = () => {
13132
- if (props.disabled || isControlled.value) return;
13133
- isVisible.value = false;
13134
- emit('hide');
13135
- removeScrollListener();
13136
- };
13137
- const close = () => {
13138
- if (isControlled.value) {
13139
- emit('update:modelValue', false);
13140
- } else {
13141
- hide();
13142
- }
13143
- };
13144
- const updatePosition = () => {
13145
- if (!activatorRef.value || !tooltipRef.value) return;
13146
- const activatorRect = activatorRef.value.getBoundingClientRect();
13147
- const tooltipRect = tooltipRef.value.getBoundingClientRect();
13148
- const isActivatorVisible = activatorRect.top < window.innerHeight && activatorRect.bottom > 0 && activatorRect.left < window.innerWidth && activatorRect.right > 0;
13149
- if (!isActivatorVisible && isVisible.value && !isControlled.value) {
13150
- hide();
13151
- return;
13152
- }
13153
- const position = calculateTooltipPosition(activatorRect, tooltipRect, normalizedPlacement.value, props.offset);
13154
- tooltipRef.value.style.left = `${position.left}px`;
13155
- tooltipRef.value.style.top = `${position.top}px`;
13156
- updateArrowPosition(activatorRect, position);
13201
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => props.rules, (newVal, oldVal) => {
13202
+ if (composition_deepEqual(newVal, oldVal)) return;
13203
+ fieldValidator = validateFormFieldBuilder(rules.value);
13204
+ validate = validateFormMethodBuilder(errorBucket, valid, fieldValidator);
13205
+ validate(innerValue.value);
13206
+ });
13207
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onBeforeMount)(() => {
13208
+ validate(innerValue.value);
13209
+ });
13210
+ let validate = validateFormMethodBuilder(errorBucket, valid, fieldValidator);
13211
+ const onKeyUp = event => {
13212
+ isTouched.value = true;
13213
+ emit('keyup', event);
13214
+ setTimeout(() => {
13215
+ emit('change', innerValue.value);
13216
+ }, 100);
13157
13217
  };
13158
- const updateArrowPosition = (activatorRect, tooltipPosition) => {
13159
- if (!tooltipRef.value) return;
13160
- const arrow = tooltipRef.value.querySelector('.tooltip-arrow');
13161
- if (!arrow) return;
13162
- const activatorCenterX = activatorRect.left + activatorRect.width / 2;
13163
- const arrowX = activatorCenterX - tooltipPosition.left;
13164
- const tooltipWidth = tooltipRef.value.offsetWidth;
13165
- const minArrowX = 12;
13166
- const maxArrowX = tooltipWidth - 12;
13167
- const clampedArrowX = Math.max(minArrowX, Math.min(maxArrowX, arrowX));
13168
- arrow.style.left = `${clampedArrowX}px`;
13169
- arrow.style.transform = 'translateX(-50%)';
13218
+ const onBlur = event => {
13219
+ isBlured.value = true;
13220
+ emit('blur', event);
13170
13221
  };
13171
- const getScrollableElements = () => {
13172
- if (!scrollableElementsRef.value) {
13173
- const nodeList = document.querySelectorAll('.farm-modal, .modal-content, [style*="overflow-y: auto"], [style*="overflow-y: scroll"]');
13174
- scrollableElementsRef.value = Array.from(nodeList);
13175
- }
13176
- return scrollableElementsRef.value;
13222
+ const onFocus = focus => {
13223
+ isFocus.value = focus;
13177
13224
  };
13178
- const addScrollListener = () => {
13179
- window.addEventListener('scroll', updatePosition, {
13180
- passive: true
13181
- });
13182
- const scrollableElements = getScrollableElements();
13183
- scrollableElements.forEach(element => {
13184
- element.addEventListener('scroll', updatePosition, {
13185
- passive: true
13186
- });
13187
- });
13225
+ const reset = () => {
13226
+ innerValue.value = '';
13227
+ isTouched.value = true;
13228
+ emit('update:modelValue', innerValue.value);
13188
13229
  };
13189
- const removeScrollListener = () => {
13190
- window.removeEventListener('scroll', updatePosition);
13191
- const scrollableElements = getScrollableElements();
13192
- scrollableElements.forEach(element => {
13193
- element.removeEventListener('scroll', updatePosition);
13194
- });
13230
+ const makePristine = () => {
13231
+ isTouched.value = false;
13232
+ isBlured.value = false;
13195
13233
  };
13196
- if (isControlled.value) {
13197
- isVisible.value = props.modelValue || false;
13198
- }
13199
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.watch)(() => props.modelValue, newValue => {
13200
- if (isControlled.value) {
13201
- isVisible.value = newValue || false;
13202
- if (isVisible.value) {
13203
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.nextTick)(() => {
13204
- if (tooltipRef.value) {
13205
- moveToBody(tooltipRef.value);
13206
- updatePosition();
13207
- addScrollListener();
13208
- }
13209
- });
13210
- } else {
13211
- removeScrollListener();
13212
- }
13213
- }
13214
- });
13215
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.onBeforeUnmount)(() => {
13216
- if (tooltipRef.value && containerRef.value) {
13217
- moveToContainer(tooltipRef.value, containerRef.value);
13218
- }
13219
- removeScrollListener();
13220
- });
13221
- return (_ctx, _cache) => {
13222
- return (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
13223
- class: "tooltip-container",
13224
- ref_key: "containerRef",
13225
- ref: containerRef
13226
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
13227
- ref_key: "activatorRef",
13228
- ref: activatorRef,
13229
- class: "tooltip-activator",
13230
- onMouseover: show,
13231
- onMouseout: hide,
13232
- onMouseleave: hide
13233
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "activator")], 544), isVisible.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", {
13234
- key: 0,
13235
- ref_key: "tooltipRef",
13236
- ref: tooltipRef,
13237
- class: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeClass)(tooltipClasses.value),
13238
- style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(tooltipStyles.value)
13239
- }, [hasTitle.value || showCloseButton.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_1, [hasTitle.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_2, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "title")])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), showCloseButton.value ? ((0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.openBlock)(), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementBlock)("span", {
13240
- key: 1,
13241
- class: "tooltip-close",
13242
- onClick: close
13243
- }, "×")) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)])) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", Tooltipvue_type_script_setup_true_lang_ts_hoisted_3, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.renderSlot)(_ctx.$slots, "default")]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createElementVNode)("div", {
13244
- class: "tooltip-arrow",
13245
- style: (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.normalizeStyle)(arrowStyles.value)
13246
- }, null, 4)], 6)) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_namespaceObject.createCommentVNode)("", true)], 512);
13234
+ return {
13235
+ innerValue,
13236
+ errorBucket,
13237
+ valid,
13238
+ validatable,
13239
+ hasError,
13240
+ customId,
13241
+ isTouched,
13242
+ isBlured,
13243
+ isFocus,
13244
+ showErrorText,
13245
+ validate,
13246
+ onKeyUp,
13247
+ onBlur,
13248
+ onFocus,
13249
+ reset,
13250
+ makePristine
13247
13251
  };
13248
13252
  }
13249
- }));
13250
- ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue?vue&type=script&setup=true&lang=ts
13253
+ });
13254
+ ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=script&lang=ts
13251
13255
 
13252
- ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Tooltip/Tooltip.vue?vue&type=style&index=0&id=0953d2f7&lang=scss&scoped=true
13256
+ ;// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=style&index=0&id=98371fda&lang=scss&scoped=true
13253
13257
  // extracted by mini-css-extract-plugin
13254
13258
 
13255
- ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue?vue&type=style&index=0&id=0953d2f7&lang=scss&scoped=true
13259
+ ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue?vue&type=style&index=0&id=98371fda&lang=scss&scoped=true
13260
+
13261
+ ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/InputDecimalFormatter.vue
13256
13262
 
13257
- ;// CONCATENATED MODULE: ./src/components/Tooltip/Tooltip.vue
13258
13263
 
13259
13264
 
13260
13265
 
13261
13266
  ;
13262
13267
 
13263
13268
 
13264
- const Tooltip_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Tooltipvue_type_script_setup_true_lang_ts, [['__scopeId',"data-v-0953d2f7"]])
13269
+ const InputDecimalFormatter_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(InputDecimalFormattervue_type_script_lang_ts, [['render',InputDecimalFormattervue_type_template_id_98371fda_scoped_true_ts_true_render],['__scopeId',"data-v-98371fda"]])
13265
13270
 
13266
- /* harmony default export */ var Tooltip_Tooltip = (Tooltip_exports_);
13267
- ;// CONCATENATED MODULE: ./src/components/Tooltip/index.ts
13271
+ /* harmony default export */ var InputDecimalFormatter_InputDecimalFormatter = (InputDecimalFormatter_exports_);
13272
+ ;// CONCATENATED MODULE: ./src/components/InputDecimalFormatter/index.ts
13268
13273
 
13269
13274
 
13270
- /* harmony default export */ var components_Tooltip = ((/* unused pure expression or super */ null && (Tooltip)));
13275
+ /* harmony default export */ var components_InputDecimalFormatter = ((/* unused pure expression or super */ null && (InputDecimalFormatter)));
13271
13276
  ;// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js!./node_modules/ts-loader/index.js??clonedRuleSet-42.use[3]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[5]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/vue-loader/dist/index.js??ruleSet[0].use[1]!./src/components/Typography/Typography.vue?vue&type=template&id=bb5a0afc&scoped=true&ts=true
13272
13277
 
13273
13278
  function Typographyvue_type_template_id_bb5a0afc_scoped_true_ts_true_render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -14466,6 +14471,12 @@ const Line_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Linevue_type_
14466
14471
 
14467
14472
 
14468
14473
  /* harmony default export */ var layout_Line = ((/* unused pure expression or super */ null && (Line)));
14474
+ ;// CONCATENATED MODULE: ./src/assets/icons/custom-icons-list.ts
14475
+ const customIconsList = ['custom-currency-exchange'];
14476
+ /* harmony default export */ var custom_icons_list = (customIconsList);
14477
+ ;// CONCATENATED MODULE: ./src/assets/icons/index.ts
14478
+
14479
+
14469
14480
  ;// CONCATENATED MODULE: ./src/main.ts
14470
14481
 
14471
14482
 
@@ -14532,6 +14543,8 @@ const Line_exports_ = /*#__PURE__*/(0,exportHelper/* default */.A)(Linevue_type_
14532
14543
 
14533
14544
 
14534
14545
 
14546
+
14547
+
14535
14548
 
14536
14549
 
14537
14550