@eturnity/eturnity_reusable_components 8.31.6-EPDM-16298.0 → 8.31.6-dev-03-elisee-8.37.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.
package/dist/main.es25.js CHANGED
@@ -1,26 +1,252 @@
1
- import styled from "./main.es7.js";
2
1
  import "./main.es3.js";
3
- import _export_sfc from "./main.es11.js";
4
- import { resolveComponent, openBlock, createBlock, withCtx, createTextVNode } from "./main.es6.js";
5
- const StarElement = styled.span`
2
+ import styled from "./main.es7.js";
3
+ import { fetchIcon } from "./main.es27.js";
4
+ import { reactive } from "./main.es16.js";
5
+ import { computed, onMounted, watch, openBlock, createBlock, withCtx, createVNode, createElementVNode as createBaseVNode, createTextVNode, createCommentVNode } from "./main.es6.js";
6
+ import { toDisplayString } from "./main.es24.js";
7
+ const _hoisted_1 = ["innerHTML"];
8
+ const _sfc_main = {
9
+ __name: "index",
10
+ props: {
11
+ disabled: {
12
+ required: false,
13
+ default: false,
14
+ type: Boolean
15
+ },
16
+ name: {
17
+ required: true,
18
+ type: String
19
+ },
20
+ color: {
21
+ required: false,
22
+ default: null,
23
+ type: String
24
+ },
25
+ hoveredColor: {
26
+ required: false,
27
+ default: null,
28
+ type: String
29
+ },
30
+ size: {
31
+ required: false,
32
+ default: "30px",
33
+ type: String
34
+ },
35
+ width: {
36
+ type: String,
37
+ required: false,
38
+ default: ""
39
+ },
40
+ height: {
41
+ type: String,
42
+ required: false,
43
+ default: ""
44
+ },
45
+ cursor: {
46
+ required: false,
47
+ default: null,
48
+ type: String
49
+ },
50
+ isStriked: {
51
+ required: false,
52
+ default: false,
53
+ type: Boolean
54
+ },
55
+ backgroundColor: {
56
+ required: false,
57
+ default: null,
58
+ type: String
59
+ },
60
+ count: {
61
+ required: false,
62
+ default: 0,
63
+ type: Number
64
+ },
65
+ animation: {
66
+ required: false,
67
+ default: "none",
68
+ type: String
69
+ },
70
+ fillType: {
71
+ required: false,
72
+ default: "fill",
73
+ type: String
74
+ },
75
+ disableHover: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ showCount: {
80
+ type: Boolean,
81
+ default: false
82
+ }
83
+ },
84
+ setup(__props) {
85
+ const props = __props;
86
+ const Wrapper = styled("div", {
87
+ height: String,
88
+ width: String,
89
+ disabled: Boolean,
90
+ cursor: String
91
+ })`
92
+ display: flex;
93
+ position: relative;
94
+ align-content: center;
95
+ justify-content: center;
96
+ width: ${(props2) => props2.width};
97
+ height: ${(props2) => props2.height};
98
+ min-width: ${(props2) => props2.width};
99
+ min-height: ${(props2) => props2.height};
100
+ cursor: ${(props2) => props2.disabled ? "not-allowed" : props2.cursor};
101
+ line-height: 0;
102
+ `;
103
+ const CountWrapper = styled("div")`
104
+ position: absolute;
105
+ top: -7px;
106
+ right: -7px;
107
+ background-color: ${({
108
+ theme
109
+ }) => theme.colors.red};
6
110
  color: ${({
7
- theme
8
- }) => theme.colors.red};
111
+ theme
112
+ }) => theme.colors.white};
113
+ border-radius: 100%;
114
+ width: 15px;
115
+ height: 15px;
116
+ display: flex;
117
+ justify-content: center;
118
+ align-items: center;
119
+ font-size: 10px;
9
120
  `;
10
- const _sfc_main = {
11
- name: "IsRequiredLabelStar",
12
- components: {
13
- StarElement
121
+ const StrikedLine = styled("div", {
122
+ color: String
123
+ })`
124
+ display: flex;
125
+ position: absolute;
126
+ bottom: 0;
127
+ left: 0;
128
+ align-content: center;
129
+ justify-content: center;
130
+ width: 143%;
131
+ height: 8%;
132
+ background-color: ${({
133
+ theme,
134
+ color
135
+ }) => theme.colors[color] || color};
136
+ min-height: 0;
137
+ line-height: 0;
138
+ transform-origin: 0% 100%;
139
+ transform: rotate(-45deg);
140
+ `;
141
+ const IconImageAttrs = {
142
+ color: String,
143
+ backgroundColor: String,
144
+ hoveredColor: String,
145
+ animation: String,
146
+ fillType: String,
147
+ disableHover: Boolean,
148
+ showCount: Boolean
149
+ };
150
+ const IconImage = styled("div", IconImageAttrs)`
151
+ animation: ${(props2) => props2.animation};
152
+ width: 100%;
153
+ svg {
154
+ width: 100%;
155
+ height: 100%;
156
+ background-color: ${(props2) => props2.backgroundColor ? props2.backgroundColor : "transparent"};
157
+ padding: ${(props2) => props2.backgroundColor ? "3px" : "0"};
158
+ border-radius: ${(props2) => props2.showCount ? "8px 0 0 8px" : props2.backgroundColor ? "8px" : "0"};
159
+ }
160
+ svg path:not(.fix, .isStrokePath) {
161
+ ${({
162
+ theme,
163
+ color,
164
+ fillType
165
+ }) => color && `${fillType}: ${theme.colors[color] || color};`}
166
+ }
167
+ svg .isStroke {
168
+ ${({
169
+ theme,
170
+ color
171
+ }) => color && `stroke: ${theme.colors[color] || color};`}
172
+ }
173
+ svg .isFill {
174
+ ${({
175
+ theme,
176
+ color
177
+ }) => color && `fill: ${theme.colors[color] || color};`}
178
+ }
179
+ svg .isStrokePath:not(.fix) {
180
+ ${({
181
+ theme,
182
+ color
183
+ }) => color && `stroke: ${theme.colors[color] || color};`}
184
+ }
185
+ ${(props2) => !props2.disableHover && `
186
+ &:hover svg path:not(.fix, .isStrokePath) {
187
+ ${`${props2.fillType}: ${props2.theme.colors[props2.hoveredColor] || props2.color};`}
188
+ &:hover svg isStrokePath:not(.fix) {
189
+ ${`stroke: ${props2.theme.colors[props2.hoveredColor] || props2.color};`}
190
+ }
191
+ &:hover + div {
192
+ background-color: ${props2.hoveredColor};
193
+ }
194
+ `}
195
+
196
+ @keyframes fade {
197
+ 50% {
198
+ opacity: 0.3;
199
+ }
200
+ }
201
+ `;
202
+ const icon = reactive({
203
+ html: ""
204
+ });
205
+ const loadSvg = async () => {
206
+ icon.html = await fetchIcon(props.name.toLowerCase());
207
+ };
208
+ const counter = computed(() => props.count > 9 ? "9+" : props.count.toString());
209
+ onMounted(() => loadSvg());
210
+ watch(() => props.name, loadSvg);
211
+ return (_ctx, _cache) => {
212
+ return openBlock(), createBlock(Wrapper, {
213
+ cursor: __props.cursor,
214
+ "data-test-id": "icon_wrapper",
215
+ disabled: __props.disabled,
216
+ height: __props.height ? __props.height : __props.size,
217
+ width: __props.width ? __props.width : __props.size
218
+ }, {
219
+ default: withCtx(() => [createVNode(IconImage, {
220
+ animation: __props.animation,
221
+ "background-color": __props.backgroundColor,
222
+ color: __props.color,
223
+ "data-test-id": "icon_image",
224
+ "disable-hover": __props.disableHover,
225
+ "fill-type": __props.fillType,
226
+ "hovered-color": __props.hoveredColor,
227
+ "show-count": __props.showCount
228
+ }, {
229
+ default: withCtx(() => [createBaseVNode("i", {
230
+ "data-test-id": "icon_svg",
231
+ innerHTML: icon.html
232
+ }, null, 8, _hoisted_1)]),
233
+ _: 1
234
+ }, 8, ["animation", "background-color", "color", "disable-hover", "fill-type", "hovered-color", "show-count"]), createTextVNode(), __props.isStriked ? (openBlock(), createBlock(StrikedLine, {
235
+ key: 0,
236
+ color: __props.color,
237
+ "data-test-id": "icon_striked_line"
238
+ }, null, 8, ["color"])) : createCommentVNode("", true), createTextVNode(), __props.count > 0 ? (openBlock(), createBlock(CountWrapper, {
239
+ key: 1,
240
+ "data-test-id": "icon_count"
241
+ }, {
242
+ default: withCtx(() => [createTextVNode(toDisplayString(counter.value), 1)]),
243
+ _: 1
244
+ })) : createCommentVNode("", true)]),
245
+ _: 1
246
+ }, 8, ["cursor", "disabled", "height", "width"]);
247
+ };
14
248
  }
15
249
  };
16
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
17
- const _component_StarElement = resolveComponent("StarElement");
18
- return openBlock(), createBlock(_component_StarElement, null, {
19
- default: withCtx(() => [createTextVNode("*")]),
20
- _: 1
21
- });
22
- }
23
- const IsRequiredLabelStar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
24
250
  export {
25
- IsRequiredLabelStar as default
251
+ _sfc_main as default
26
252
  };
@@ -1,5 +1,5 @@
1
1
  import styled from "./main.es7.js";
2
- import _sfc_main$1 from "./main.es15.js";
2
+ import _sfc_main$1 from "./main.es25.js";
3
3
  import theme from "./main.es8.js";
4
4
  import "./main.es3.js";
5
5
  import _export_sfc from "./main.es11.js";
package/dist/main.es5.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { isRuntimeOnly, warn, createRenderer, callWithAsyncErrorHandling } from "./main.es6.js";
2
2
  import { Comment, Fragment, Static, Teleport, Text, callWithErrorHandling, cloneVNode, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, devtools, getCurrentInstance, guardReactiveProps, h, handleError, initCustomFormatter, inject, isVNode, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, provide, queuePostFlushCb, renderList, renderSlot, resolveComponent, resolveDynamicComponent, setBlockTracking, setDevtoolsHook, ssrContextKey, useSSRContext, version, watch, watchEffect, withCtx, withDirectives } from "./main.es6.js";
3
3
  import { isFunction, isHTMLTag, isSVGTag, isString, looseToNumber, isArray, invokeArrayFns, hyphenate, extend, isOn, isModelListener, capitalize, isSpecialBooleanAttr, includeBooleanAttr } from "./main.es26.js";
4
- import { camelize } from "./main.es16.js";
5
- import { capitalize as capitalize2, normalizeClass, normalizeStyle, toDisplayString, toHandlerKey } from "./main.es16.js";
4
+ import { camelize } from "./main.es24.js";
5
+ import { capitalize as capitalize2, normalizeClass, normalizeStyle, toDisplayString, toHandlerKey } from "./main.es24.js";
6
6
  const svgNS = "http://www.w3.org/2000/svg";
7
7
  const doc = typeof document !== "undefined" ? document : null;
8
8
  const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
package/dist/main.es6.js CHANGED
@@ -1,7 +1,7 @@
1
- import { isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, isProxy, computed as computed$1, pauseTracking, resetTracking, isReadonly, track, proxyRefs, markRaw, shallowReadonly, EffectScope, reactive, shallowReactive, trigger } from "./main.es18.js";
2
- import { readonly, ref, shallowRef, unref } from "./main.es18.js";
3
- import { isString, isFunction, getGlobalThis, isArray, NOOP, EMPTY_OBJ, normalizeClass, isObject, extend, normalizeStyle, isOn, isPromise, hasChanged, remove, isSet, isMap, isPlainObject, camelize, capitalize, toHandlerKey, hasOwn, EMPTY_ARR, NO, isBuiltInDirective, isReservedProp, invokeArrayFns, makeMap, looseToNumber, hyphenate, def, toRawType, isModelListener } from "./main.es16.js";
4
- import { toDisplayString } from "./main.es16.js";
1
+ import { isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, isProxy, computed as computed$1, pauseTracking, resetTracking, isReadonly, track, proxyRefs, markRaw, shallowReadonly, EffectScope, reactive, shallowReactive, trigger } from "./main.es16.js";
2
+ import { readonly, ref, shallowRef, unref } from "./main.es16.js";
3
+ import { isString, isFunction, getGlobalThis, isArray, NOOP, EMPTY_OBJ, normalizeClass, isObject, extend, normalizeStyle, isOn, isPromise, hasChanged, remove, isSet, isMap, isPlainObject, camelize, capitalize, toHandlerKey, hasOwn, EMPTY_ARR, NO, isBuiltInDirective, isReservedProp, invokeArrayFns, makeMap, looseToNumber, hyphenate, def, toRawType, isModelListener } from "./main.es24.js";
4
+ import { toDisplayString } from "./main.es24.js";
5
5
  const stack = [];
6
6
  function pushWarningContext(vnode) {
7
7
  stack.push(vnode);
package/dist/main.es9.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import styled from "./main.es7.js";
2
- import _sfc_main$1 from "./main.es15.js";
2
+ import _sfc_main$1 from "./main.es25.js";
3
3
  import theme from "./main.es8.js";
4
4
  import "./main.es3.js";
5
5
  import _export_sfc from "./main.es11.js";
6
6
  import { resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode } from "./main.es6.js";
7
- import { toDisplayString } from "./main.es16.js";
7
+ import { toDisplayString } from "./main.es24.js";
8
8
  const TagContainer = styled.div`
9
9
  display: inline-flex;
10
10
  align-items: baseline;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "8.31.6-EPDM-16298.0",
3
+ "version": "8.31.6-dev-03-elisee-8.37.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -201,6 +201,12 @@
201
201
  </SelectDropdown>
202
202
  </Component>
203
203
  </DropdownWrapper>
204
+ <ErrorMessage
205
+ v-if="hasError && hasErrorMessage"
206
+ data-test-id="error_message_wrapper"
207
+ >
208
+ {{ dynamicErrorMessage }}
209
+ </ErrorMessage>
204
210
  </SelectButtonWrapper>
205
211
  </InputWrapper>
206
212
  </Container>
@@ -233,6 +239,7 @@
233
239
  import { Teleport, inject } from 'vue'
234
240
  import styled from 'vue3-styled-components'
235
241
  import InfoText from '../../infoText'
242
+ import ErrorMessage from '../../errorMessage'
236
243
  import Icon from '../../icon'
237
244
  import InputText from '../inputText'
238
245
  import DraggableInputHandle from '../../draggableInputHandle'
@@ -302,7 +309,6 @@
302
309
  const Container = styled('div', inputProps)`
303
310
  width: ${(props) => props.selectWidth};
304
311
  position: ${(props) => (props.noRelative ? 'static' : 'relative')};
305
- display: inline-block;
306
312
  text-align: ${(props) => (props.textCenter ? 'center' : 'left')};
307
313
  `
308
314
 
@@ -514,6 +520,7 @@
514
520
  Teleport,
515
521
  DraggableInputHandle,
516
522
  IsRequiredLabelStar,
523
+ ErrorMessage,
517
524
  },
518
525
 
519
526
  props: {
@@ -620,9 +627,14 @@
620
627
  default: true,
621
628
  },
622
629
  hasError: {
630
+ type: Boolean,
623
631
  required: false,
624
632
  default: false,
625
633
  },
634
+ errorMessage: {
635
+ type: String,
636
+ default: '',
637
+ },
626
638
  disabled: {
627
639
  required: false,
628
640
  type: Boolean,
@@ -735,6 +747,12 @@
735
747
  }
736
748
  },
737
749
  computed: {
750
+ hasErrorMessage() {
751
+ return this.errorMessage && this.errorMessage.length > 0
752
+ },
753
+ dynamicErrorMessage() {
754
+ return this.errorMessage
755
+ },
738
756
  optionLength() {
739
757
  if (this.isDropdownOpen) {
740
758
  return this.$refs.dropdown.$el.childElementCount > 1
@@ -25,6 +25,8 @@
25
25
  :resize="resize"
26
26
  :rows="rowHeight"
27
27
  :value="value"
28
+ @blur="onInputBlur"
29
+ @focus="onInputFocus"
28
30
  @input="onChangeHandler"
29
31
  ></textarea>
30
32
  </InputContainer>
@@ -208,6 +210,12 @@
208
210
  }
209
211
  this.$emit('input-change', $event.target.value)
210
212
  },
213
+ onInputBlur($event) {
214
+ this.$emit('input-blur', $event.target.value)
215
+ },
216
+ onInputFocus($event) {
217
+ this.$emit('input-focus', $event.target.value)
218
+ },
211
219
  },
212
220
  }
213
221
  </script>