@tagplus/components 5.2.8 → 5.2.9

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.
Files changed (93) hide show
  1. package/dist/tp.common.js +1 -1
  2. package/dist/tp.common.js.map +1 -1
  3. package/dist/{tp.common.lang-tp-en-js.js → tp.common.lang-en-js.js} +2 -2
  4. package/dist/tp.common.lang-en-js.js.map +1 -0
  5. package/dist/tp.umd.js +1 -1
  6. package/dist/tp.umd.js.map +1 -1
  7. package/dist/{tp.umd.lang-tp-en-js.js → tp.umd.lang-en-js.js} +2 -2
  8. package/dist/tp.umd.lang-en-js.js.map +1 -0
  9. package/dist/tp.umd.min.js +1 -1
  10. package/dist/tp.umd.min.js.map +1 -1
  11. package/dist/{tp.umd.min.lang-tp-en-js.js → tp.umd.min.lang-en-js.js} +2 -2
  12. package/dist/tp.umd.min.lang-en-js.js.map +1 -0
  13. package/package.json +2 -7
  14. package/dist/tp.common.lang-tp-en-js.js.map +0 -1
  15. package/dist/tp.umd.lang-tp-en-js.js.map +0 -1
  16. package/dist/tp.umd.min.lang-tp-en-js.js.map +0 -1
  17. package/src/assets/scss/_fonts.scss +0 -28
  18. package/src/assets/scss/_functions.scss +0 -22
  19. package/src/assets/scss/_helpers.scss +0 -116
  20. package/src/assets/scss/_mixins.scss +0 -69
  21. package/src/assets/scss/_overrides.scss +0 -22
  22. package/src/assets/scss/_resass.scss +0 -92
  23. package/src/assets/scss/_variables.scss +0 -26
  24. package/src/assets/scss/index.scss +0 -8
  25. package/src/components/Autosuggest/Autosuggest.vue +0 -362
  26. package/src/components/Autosuggest/Multisuggest.vue +0 -22
  27. package/src/components/Autosuggest/autosuggest-props.js +0 -210
  28. package/src/components/Autosuggest/autosuggest-style.scss +0 -127
  29. package/src/components/Autosuggest/core.js +0 -63
  30. package/src/components/Autosuggest/index.js +0 -5
  31. package/src/components/Autosuggest/multisuggest-props.js +0 -9
  32. package/src/components/Autosuggest/option.vue +0 -136
  33. package/src/components/Autosuggest/select-dropdown.vue +0 -64
  34. package/src/components/Autosuggest/useOption.js +0 -120
  35. package/src/components/Autosuggest/useSelect.js +0 -1133
  36. package/src/components/AutosuggestTest.vue +0 -56
  37. package/src/components/CardExemplo.vue +0 -49
  38. package/src/components/CodeSample.vue +0 -78
  39. package/src/components/Inline/Inline.vue +0 -141
  40. package/src/components/Inline/index.js +0 -3
  41. package/src/components/InputNumber/InputNumber.vue +0 -381
  42. package/src/components/InputNumber/index.js +0 -3
  43. package/src/components/InputNumber/input-number.js +0 -135
  44. package/src/components/Loader/Loader.vue +0 -306
  45. package/src/components/Loader/animations.scss +0 -81
  46. package/src/components/Loader/index.js +0 -3
  47. package/src/components/Money/Money.vue +0 -73
  48. package/src/components/Money/index.js +0 -3
  49. package/src/components/Multisuggest/index.js +0 -2
  50. package/src/components/MultisuggestTest.vue +0 -56
  51. package/src/components/OptionsList/OptionsList.vue +0 -62
  52. package/src/components/OptionsList/index.js +0 -3
  53. package/src/components/OptionsListItem/OptionsListItem.vue +0 -195
  54. package/src/components/OptionsListItem/index.js +0 -3
  55. package/src/components/Percent/Percent.vue +0 -75
  56. package/src/components/Percent/index.js +0 -3
  57. package/src/components/Skeleton/Skeleton.vue +0 -142
  58. package/src/components/Skeleton/index.js +0 -3
  59. package/src/components/Step/Step.vue +0 -237
  60. package/src/components/Step/index.js +0 -3
  61. package/src/components/Steps/Steps.vue +0 -15
  62. package/src/components/Steps/index.js +0 -3
  63. package/src/components/TesteToCurrency.vue +0 -171
  64. package/src/components/Tip/Tip.vue +0 -210
  65. package/src/components/Tip/index.js +0 -3
  66. package/src/components/ValueSelector.vue +0 -60
  67. package/src/components/autosuggestMixin.js +0 -301
  68. package/src/components/index.js +0 -34
  69. package/src/locale/i18nCreator.js +0 -166
  70. package/src/locale/lang/en.js +0 -35
  71. package/src/locale/lang/pt-br.js +0 -35
  72. package/src/main.js +0 -21
  73. package/src/mixins/floatFormatter.js +0 -49
  74. package/src/plugins/currency.js +0 -100
  75. package/src/utils/browser.js +0 -6
  76. package/src/utils/constants.js +0 -3
  77. package/src/utils/error.js +0 -22
  78. package/src/utils/filters.js +0 -71
  79. package/src/utils/helpers.js +0 -41
  80. package/src/utils/i18n.js +0 -2
  81. package/src/utils/icon.js +0 -35
  82. package/src/utils/index.js +0 -20
  83. package/src/utils/objects.js +0 -17
  84. package/src/utils/runtime.js +0 -86
  85. package/src/utils/scroll.js +0 -100
  86. package/src/utils/strings.js +0 -17
  87. package/src/utils/style.js +0 -80
  88. package/src/utils/types.js +0 -39
  89. package/src/utils/use-derived-namespace.js +0 -112
  90. package/src/utils/use-form-common-props.js +0 -41
  91. package/src/utils/use-form-item.js +0 -80
  92. package/src/utils/use-id.js +0 -40
  93. package/src/utils/use-input.js +0 -33
@@ -1,135 +0,0 @@
1
- import { isNil } from 'lodash-unified'
2
- import { useSizeProp } from 'element-plus/es/hooks/index'
3
- import {
4
- buildProps,
5
- isNumber,
6
- CHANGE_EVENT,
7
- INPUT_EVENT,
8
- UPDATE_MODEL_EVENT,
9
- } from '@/utils'
10
-
11
- export const inputNumberProps = buildProps({
12
- /**
13
- * @description same as `id` in native input
14
- */
15
- id: {
16
- type: String,
17
- default: undefined,
18
- },
19
- /**
20
- * @description incremental step
21
- */
22
- step: {
23
- type: Number,
24
- default: 1,
25
- },
26
- /**
27
- * @description whether input value can only be multiple of step
28
- */
29
- stepStrictly: Boolean,
30
- /**
31
- * @description the maximum allowed value
32
- */
33
- max: {
34
- type: Number,
35
- default: Number.POSITIVE_INFINITY,
36
- },
37
- /**
38
- * @description the minimum allowed value
39
- */
40
- min: {
41
- type: Number,
42
- default: Number.NEGATIVE_INFINITY,
43
- },
44
- /**
45
- * @description binding value
46
- */
47
- modelValue: {
48
- type: [Number, String],
49
- default: null
50
- },
51
- /**
52
- * @description same as `readonly` in native input
53
- */
54
- readonly: Boolean,
55
- /**
56
- * @description whether the component is disabled
57
- */
58
- disabled: Boolean,
59
- /**
60
- * @description size of the component
61
- */
62
- size: useSizeProp,
63
- /**
64
- * @description whether to enable the control buttons
65
- */
66
- controls: {
67
- type: Boolean,
68
- default: true,
69
- },
70
- /**
71
- * @description position of the control buttons
72
- */
73
- controlsPosition: {
74
- type: String,
75
- default: '',
76
- values: ['', 'right'],
77
- },
78
- /**
79
- * @description value should be set when input box is cleared
80
- */
81
- valueOnClear: {
82
- type: [String, Number, null],
83
- validator: (val) =>
84
- val === null || isNumber(val) || ['min', 'max'].includes(val),
85
- default: null,
86
- },
87
- /**
88
- * @description same as `name` in native input
89
- */
90
- name: String,
91
- /**
92
- * @description same as `label` in native input
93
- */
94
- label: String,
95
- /**
96
- * @description same as `placeholder` in native input
97
- */
98
- placeholder: String,
99
- /**
100
- * @tagplus default 2
101
- * @description precision of input value
102
- */
103
- precision: {
104
- type: Number,
105
- default: 2,
106
- validator: (val) =>
107
- val >= 0 && val === Number.parseInt(`${val}`, 10),
108
- },
109
- /**
110
- * @description whether to trigger form validation
111
- */
112
- validateEvent: {
113
- type: Boolean,
114
- default: true,
115
- },
116
- /**
117
- * @tagplus
118
- * Se false permite campo vazio
119
- **/
120
- stringDefaultsZero: {
121
- type: Boolean,
122
- default: true
123
- }
124
- })
125
-
126
- export const inputNumberEmits = {
127
- [CHANGE_EVENT]: (cur, prev) =>
128
- prev !== cur,
129
- blur: (e) => e instanceof FocusEvent,
130
- focus: (e) => e instanceof FocusEvent,
131
- [INPUT_EVENT]: (val) =>
132
- isNumber(val) || isNil(val),
133
- [UPDATE_MODEL_EVENT]: (val) =>
134
- isNumber(val) || isNil(val),
135
- }
@@ -1,306 +0,0 @@
1
- <template>
2
- <div class="tp-loader">
3
- <div class="wrapper">
4
- <svg xmlns="http://www.w3.org/2000/svg" width="150px" height="150px">
5
- <mask id="mascara">
6
- <rect x="0" y="0" width="100%" height="100%" fill="white" />
7
- <circle
8
- id="circulo-interno"
9
- class="circulo"
10
- cx="45"
11
- cy="50"
12
- r="40"
13
- fill="black"
14
- />
15
- </mask>
16
- <g
17
- id="bola"
18
- fill="none"
19
- fill-rule="evenodd"
20
- transform="translate(30 30)"
21
- >
22
- <circle
23
- id="circulo"
24
- class="circulo"
25
- cx="45"
26
- cy="50"
27
- r="40"
28
- fill="#1F7DE7"
29
- mask="url(#mascara)"
30
- />
31
- <g fill="none" fill-rule="evenodd">
32
- <circle
33
- class="residuo top center"
34
- cx="45"
35
- cy="9"
36
- r="15"
37
- fill="#FFCB05"
38
- />
39
- <circle
40
- class="residuo top right"
41
- cx="72"
42
- cy="21"
43
- r="8.5"
44
- fill="#1F7DE7"
45
- />
46
- <circle
47
- class="residuo middle right"
48
- cx="81"
49
- cy="45"
50
- r="12"
51
- fill="#1F7DE7"
52
- />
53
- <circle
54
- class="residuo bottom right"
55
- cx="71"
56
- cy="70"
57
- r="8.5"
58
- fill="none"
59
- stroke="#FFCB05"
60
- stroke-width="3"
61
- />
62
- <circle
63
- class="residuo bottom center"
64
- cx="45"
65
- cy="81"
66
- r="8.5"
67
- fill="none"
68
- stroke="#1F7DE7"
69
- stroke-width="3"
70
- />
71
- <circle
72
- class="residuo bottom left"
73
- cx="19"
74
- cy="70"
75
- r="8.5"
76
- fill="#1F7DE7"
77
- />
78
- <circle
79
- class="residuo middle left"
80
- cx="9"
81
- cy="45"
82
- r="10"
83
- fill="#FFCB05"
84
- />
85
- <circle
86
- class="residuo top left"
87
- cx="18"
88
- cy="21"
89
- r="8.5"
90
- fill="none"
91
- stroke="#1F7DE7"
92
- stroke-width="3"
93
- />
94
- </g>
95
- </g>
96
- </svg>
97
-
98
- <div class="icones">
99
- <i
100
- v-for="(icon, k) in icons"
101
- :key="k"
102
- :class="icon"
103
- :style="`--iconsItem:${k}`"
104
- />
105
- </div>
106
-
107
- <div class="texto">
108
- <!-- Texto contido no loading -->
109
- <slot />
110
- </div>
111
- </div>
112
- <div class="overlay" />
113
- </div>
114
- </template>
115
-
116
- <script>
117
- import { defineComponent } from 'vue'
118
- /*
119
- Cria componente de loader com overlayer em toda a página
120
- `<tp-loader />`
121
- */
122
- export default defineComponent({
123
- name: 'TpLoader',
124
- props: {
125
- // Lista contendo as classes de icones a serem exibidos no loader
126
- icons: {
127
- type: Array,
128
- required: false,
129
- default: () => [
130
- 'fa-solid fa-badge-percent',
131
- 'fa-solid fa-box-usd',
132
- 'fa-solid fa-credit-card-front',
133
- 'fa-solid fa-cart-shopping',
134
- 'fa-solid fa-gift',
135
- 'fa-solid fa-dolly-flatbed-alt',
136
- 'fa-solid fa-receipt',
137
- 'fa-solid fa-chart-pie-alt',
138
- 'fa-solid fa-badge-percent',
139
- 'fa-solid fa-box-usd',
140
- 'fa-solid fa-credit-card-front',
141
- 'fa-solid fa-cart-shopping',
142
- 'fa-solid fa-gift',
143
- 'fa-solid fa-dolly-flatbed-alt',
144
- 'fa-solid fa-receipt',
145
- 'fa-solid fa-chart-pie-alt'
146
- ]
147
- }
148
- }
149
- })
150
- </script>
151
-
152
- <style lang="scss" scoped>
153
- @import 'animations';
154
-
155
- $o-top: 0;
156
- $o-bottom: 70%;
157
- $o-middle: 35%;
158
- $o-left: 0;
159
- $o-right: 65%;
160
- $o-center: 30%;
161
- $o-trans: 40px;
162
-
163
- // tempo da animacao em segundos
164
- $animation-time: 2;
165
-
166
- .tp-loader {
167
- position: fixed;
168
- inset: 0;
169
- z-index: 5000;
170
-
171
- > .overlay {
172
- position: absolute;
173
- width: 100%;
174
- height: 100%;
175
- inset: 0;
176
- background-color: #fff;
177
- opacity: 1;
178
- }
179
-
180
- .wrapper {
181
- text-align: center;
182
- display: flex;
183
- align-items: center;
184
- justify-content: center;
185
- flex-direction: column;
186
- height: 100%;
187
-
188
- > svg {
189
- position: relative;
190
- z-index: 98;
191
- margin-top: -10px;
192
- }
193
-
194
- .circulo {
195
- transform-origin: 30% 32%;
196
- }
197
-
198
- #circulo {
199
- animation-name: expande;
200
- animation-duration: #{$animation-time}s;
201
- animation-direction: normal;
202
- animation-iteration-count: infinite;
203
- animation-timing-function: linear;
204
- }
205
-
206
- #circulo-interno {
207
- animation-name: expandeInterno;
208
- animation-duration: #{$animation-time}s;
209
- animation-direction: normal;
210
- animation-iteration-count: infinite;
211
- animation-timing-function: linear;
212
- }
213
-
214
- .icones {
215
- position: absolute;
216
- z-index: 99;
217
- width: 50px;
218
- height: 50px;
219
- display: inline-flex;
220
- align-items: center;
221
- justify-content: center;
222
- flex-direction: row;
223
-
224
- i {
225
- font-size: 3em;
226
- position: absolute;
227
- display: inline-block;
228
- width: 100%;
229
- line-height: 100%;
230
- opacity: 0;
231
- transform-origin: center center;
232
- color: $--color-primary;
233
- animation-name: icone;
234
- animation-duration: #{$animation-time}s;
235
- animation-timing-function: ease-out;
236
- animation-iteration-count: 1;
237
- /* stylelint-disable-next-line custom-property-pattern */
238
- animation-delay: calc(var(--iconsItem) * #{$animation-time}s);
239
-
240
- &:last-child {
241
- animation-iteration-count: infinite;
242
- }
243
- }
244
- }
245
-
246
- #bola {
247
- .residuo {
248
- animation-name: residuo;
249
- animation-duration: #{$animation-time}s;
250
- animation-direction: reverse;
251
- animation-iteration-count: infinite;
252
- animation-timing-function: ease-in;
253
- transform: scale(0.1);
254
-
255
- &.top {
256
- transform-origin: #{$o-center} #{$o-top};
257
-
258
- &.right {
259
- transform-origin: 45% 5%;
260
- transform: translate(#{$o-trans}, -#{$o-trans}) scale(0.1);
261
- }
262
-
263
- &.left {
264
- transform-origin: 15% 5%;
265
- transform: translate(-#{$o-trans}, -#{$o-trans}) scale(0.1);
266
- }
267
- }
268
-
269
- &.bottom {
270
- transform-origin: #{$o-center} #{$o-bottom};
271
-
272
- &.right {
273
- transform-origin: 45% 65%;
274
- transform: translate(#{$o-trans}, #{$o-trans}) scale(0.1);
275
- }
276
-
277
- &.left {
278
- transform-origin: 15% 65%;
279
- transform: translate(-#{$o-trans}, #{$o-trans}) scale(0.1);
280
- }
281
- }
282
-
283
- &.middle {
284
- &.right {
285
- transform-origin: #{$o-right} #{$o-middle};
286
- }
287
-
288
- &.left {
289
- transform-origin: #{$o-left} #{$o-middle};
290
- }
291
- }
292
- }
293
- }
294
-
295
- .texto {
296
- position: absolute;
297
- display: inline-flex;
298
- z-index: 5001;
299
- color: $--color-text-primary;
300
- margin-top: 100px;
301
- font-size: 1.5em;
302
- font-weight: bold;
303
- }
304
- }
305
- }
306
- </style>
@@ -1,81 +0,0 @@
1
- @keyframes expande {
2
- 0%{
3
- transform: scale(0);
4
- opacity: 1;
5
- }
6
-
7
- 25%{
8
- transform: scale(1);
9
- opacity: 1;
10
- }
11
-
12
- 40%{
13
- transform: scale(0.8);
14
- opacity: 0;
15
- }
16
-
17
- 50%{
18
- transform: scale(0);
19
- opacity: 0;
20
- }
21
-
22
- 100% {
23
- opacity: 0;
24
- transform: scale(0);
25
- }
26
- }
27
-
28
- @keyframes expandeInterno {
29
- 0%, 10%, 100%{
30
- transform: scale(0);
31
- }
32
-
33
- 50%{
34
- transform: scale(2);
35
- }
36
- }
37
-
38
- @keyframes residuo {
39
- 0%, 30%{
40
- opacity: 0;
41
- }
42
-
43
- 40%{
44
- opacity: 0.5;
45
- }
46
-
47
- 60%{
48
- opacity: 1;
49
- }
50
-
51
- 70% {
52
- opacity: 0;
53
- }
54
-
55
- 100% {
56
- opacity: 0;
57
- transform: scale(1.2);
58
- }
59
- }
60
-
61
- @keyframes icone {
62
- 0%, 15% {
63
- opacity: 1;
64
- transform: scale(0.1);
65
- }
66
-
67
- 35%{
68
- opacity: 1;
69
- transform: scale(1);
70
- }
71
-
72
- 85% {
73
- opacity: 1;
74
- transform: scale(1.2);
75
- }
76
-
77
- 100% {
78
- opacity: 0;
79
- transform: scale(1.8);
80
- }
81
- }
@@ -1,3 +0,0 @@
1
- import Loader from './Loader'
2
-
3
- export default Loader
@@ -1,73 +0,0 @@
1
- <template>
2
- <el-input
3
- :id="`${_id}`"
4
- class="tp-money"
5
- :model-value="formattedValue"
6
- v-bind="$attrs"
7
- :maxlength="maxlength"
8
- @input="input"
9
- @change="handleChange"
10
- @focus="$event.target.select()"
11
- >
12
- <template v-if="!removePrepend" #prepend>
13
- {{ prepend }}
14
- </template>
15
-
16
- <template v-for="(_, slot) of $slots" #[slot]="scope">
17
- <slot :name="slot" v-bind="scope" />
18
- </template>
19
- </el-input>
20
- </template>
21
-
22
- <script>
23
- import { defineComponent } from 'vue'
24
- import floatFormatterMixin from 'tp-ui/mixins/floatFormatter'
25
-
26
- export default defineComponent({
27
- name: 'TpMoney',
28
- mixins: [floatFormatterMixin],
29
- inheritAttrs: false,
30
- props: {
31
- id: {
32
- type: String,
33
- required: false,
34
- default: null
35
- },
36
-
37
- // remove o simbolo em prepend
38
- removePrepend: {
39
- type: Boolean,
40
- default: false
41
- },
42
- // valor do campo. Pode ser usado como v-model também
43
- modelValue: {
44
- type: [Number, String],
45
- default: 0
46
- },
47
-
48
- // tamanho máximo do campo. limitado por padrão a 21 caracteres por limitações do JS
49
- maxlength: {
50
- type: Number,
51
- default: 21
52
- }
53
- },
54
-
55
- computed: {
56
- _id () {
57
- return this.id || this.$options.name
58
- },
59
-
60
- prepend () {
61
- return this.$t('tp.money.currency')
62
- }
63
- }
64
- })
65
- </script>
66
-
67
- <style lang="scss" scoped>
68
- .tp-money {
69
- & input {
70
- text-align: right;
71
- }
72
- }
73
- </style>
@@ -1,3 +0,0 @@
1
- import Money from './Money'
2
-
3
- export default Money
@@ -1,2 +0,0 @@
1
- import { Multisuggest } from '@src/components/Autosuggest'
2
- export default Multisuggest
@@ -1,56 +0,0 @@
1
- <template>
2
- <tp-multisuggest
3
- :id="_id"
4
- :model-value="modelValue"
5
- :placeholder="$t($options.placeholder)"
6
- :label-key="$options.labelKey"
7
- :remote-method="remoteMethod"
8
- :suggestions="list"
9
- :loading="loading"
10
- :load-on-create="isLoadOnCreate"
11
- :disabled="_disabled"
12
- :allow-create="true"
13
- :multiple="true"
14
- @update:model-value="autosuggestMixin_input"
15
- @handleOptionClick="autosuggestMixin_handleCreate"
16
- @change="autosuggestMixin_handleChange"
17
- />
18
- </template>
19
-
20
- <script>
21
- import { defineComponent } from 'vue'
22
- import AutosuggestsMixin from '@/components/autosuggestMixin'
23
-
24
- export default defineComponent({
25
- name: 'MultisuggestTest',
26
- valueKey: 'id',
27
- labelKey: 'name',
28
- placeholder: 'common.placeholder',
29
-
30
- mixins: [AutosuggestsMixin],
31
-
32
- data () {
33
- return {
34
- uri: 'https://jsonplaceholder.typicode.com/users',
35
- loading: false
36
- }
37
- },
38
-
39
- methods: {
40
- remoteMethod (query) {
41
- this.loading = true
42
- this.axios
43
- .get(`${this.uri}?q=${query}`)
44
- .then(res => {
45
- this.list = res.data
46
- this.loading = false
47
- })
48
- .catch(err => {
49
- console.log(err)
50
- this.loading = false
51
- this.list = []
52
- })
53
- }
54
- }
55
- })
56
- </script>