@it-enterprise/forcebpm-ui-kit 1.0.2-beta.3 → 1.0.2-beta.30

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 (86) hide show
  1. package/README.md +81 -65
  2. package/index.js +48 -1
  3. package/package.json +35 -15
  4. package/plugin.js +117 -0
  5. package/src/FActionSnackbar.vue +107 -0
  6. package/src/FAvatar.vue +10 -8
  7. package/src/{FConfirmModal.vue → FConfirmDialog.vue} +38 -28
  8. package/src/FContextMenu.vue +87 -0
  9. package/src/FDialog.vue +264 -0
  10. package/src/FLangSwitcher.vue +47 -0
  11. package/src/FNoData.vue +80 -0
  12. package/src/FNotify.vue +257 -0
  13. package/src/FPagination.vue +163 -0
  14. package/src/FPreLoader.vue +105 -0
  15. package/src/FSearchPanel.vue +191 -0
  16. package/src/FShare.vue +134 -0
  17. package/src/FTruncate.vue +121 -0
  18. package/src/FUserGroupPicker.vue +634 -0
  19. package/src/FUserRoles.vue +195 -0
  20. package/src/assets/fonts/ProximaNova-Bold.woff +0 -0
  21. package/src/assets/fonts/ProximaNova-Bold.woff2 +0 -0
  22. package/src/assets/fonts/ProximaNova-Regular.woff +0 -0
  23. package/src/assets/fonts/ProximaNova-Regular.woff2 +0 -0
  24. package/src/assets/fonts/ProximaNova-Semibold.woff +0 -0
  25. package/src/assets/fonts/ProximaNova-Semibold.woff2 +0 -0
  26. package/src/assets/fonts/loadFonts.js +55 -0
  27. package/src/assets/icons/bell-mute.svg +4 -0
  28. package/src/assets/icons/bell.svg +3 -0
  29. package/src/assets/icons/check.svg +3 -0
  30. package/src/assets/icons/checkbox-false.svg +3 -0
  31. package/src/assets/icons/checkbox-true.svg +4 -0
  32. package/src/assets/icons/chevron.svg +3 -0
  33. package/src/assets/icons/color-radio-active.svg +4 -0
  34. package/src/assets/icons/color-radio.svg +3 -0
  35. package/src/assets/icons/ctx-arrow.svg +3 -0
  36. package/src/assets/icons/ctx-delete.svg +6 -0
  37. package/src/assets/icons/ctx-link.svg +5 -0
  38. package/src/assets/icons/ctx-more.svg +5 -0
  39. package/src/assets/icons/ctx-pen.svg +4 -0
  40. package/src/assets/icons/delete.svg +6 -0
  41. package/src/assets/icons/dots.svg +5 -0
  42. package/src/assets/icons/filter.svg +3 -0
  43. package/src/assets/icons/folder.svg +3 -0
  44. package/src/assets/icons/open-envelope.svg +6 -0
  45. package/src/assets/icons/pass-eye-close.svg +3 -0
  46. package/src/assets/icons/pass-eye-open.svg +4 -0
  47. package/src/assets/icons/plus-solid.svg +4 -0
  48. package/src/assets/icons/plus.svg +4 -0
  49. package/src/assets/icons/radio-false.svg +3 -0
  50. package/src/assets/icons/radio-true.svg +4 -0
  51. package/src/assets/icons/search.svg +3 -0
  52. package/src/assets/icons/sort-solid.svg +3 -0
  53. package/src/assets/icons/sort.svg +6 -0
  54. package/src/assets/icons/star-line.svg +3 -0
  55. package/src/assets/icons/star.svg +3 -0
  56. package/src/assets/icons/times.svg +4 -0
  57. package/src/assets/images/0.gif +0 -0
  58. package/src/assets/images/0.svg +4 -0
  59. package/src/assets/images/3.svg +4 -0
  60. package/src/assets/images/4.svg +4 -0
  61. package/src/assets/images/5.svg +4 -0
  62. package/src/assets/scss/buttons.scss +60 -0
  63. package/src/assets/scss/card.scss +11 -0
  64. package/src/assets/scss/expansion.scss +45 -0
  65. package/src/assets/scss/icons.scss +273 -0
  66. package/src/assets/scss/index.scss +10 -0
  67. package/src/assets/scss/input.scss +344 -0
  68. package/src/assets/scss/overlay.scss +69 -0
  69. package/src/assets/scss/skeleton.scss +22 -0
  70. package/src/assets/scss/tables.scss +143 -0
  71. package/src/assets/scss/tabs.scss +42 -0
  72. package/src/assets/scss/utilities.scss +167 -0
  73. package/src/f-date-picker/FDatePicker.vue +322 -0
  74. package/src/f-date-picker/FMenuDatePicker.vue +337 -0
  75. package/src/f-date-picker/FTextFieldDate.vue +498 -0
  76. package/src/f-toolbar/FFilterPanel.vue +62 -0
  77. package/src/f-toolbar/FSortPanel.vue +55 -0
  78. package/src/f-toolbar/FTabPanel.vue +123 -0
  79. package/src/f-toolbar/FToolbar.vue +131 -0
  80. package/src/f-toolbar/FViewerPanel.vue +71 -0
  81. package/src/forcebpmIcon.js +69 -0
  82. package/src/locales/en.json +115 -0
  83. package/src/locales/index.js +7 -0
  84. package/src/locales/ru.json +116 -0
  85. package/src/locales/uk.json +116 -0
  86. package/src/utils/color.js +38 -0
@@ -0,0 +1,60 @@
1
+ // Global button styles with theme support
2
+
3
+ .f-btn.v-btn {
4
+ --v-btn-size: 1em;
5
+ --v-btn-height: 40px;
6
+ letter-spacing: 0.03em;
7
+ font-weight: 600;
8
+ text-transform: none;
9
+
10
+ // Size variants
11
+ &.v-btn--size-x-small {
12
+ --v-btn-height: 24px;
13
+ }
14
+
15
+ &.v-btn--size-small {
16
+ --v-btn-height: 32px;
17
+ }
18
+
19
+ &.v-btn--size-large {
20
+ --v-btn-height: 48px;
21
+ }
22
+
23
+ &.v-btn--size-x-large {
24
+ --v-btn-height: 56px;
25
+ }
26
+
27
+ &.v-btn--variant-outlined {
28
+ border: 0.5px solid currentColor;
29
+ }
30
+
31
+ // Background color depends on the theme
32
+ &:not([class*='bg-']):not(.v-btn--variant-outlined):not(.v-btn--variant-text):not(.v-btn--variant-plain) {
33
+ .v-theme--light & {
34
+ background-color: rgb(var(--v-theme-title));
35
+ color: #ffffff;
36
+ }
37
+
38
+ .v-theme--dark & {
39
+ background-color: rgb(var(--v-theme-primary));
40
+ color: #ffffff;
41
+ }
42
+ }
43
+
44
+ &.v-btn--variant-outlined:not([class*='text-']) {
45
+ .v-theme--light & {
46
+ color: rgb(var(--v-theme-title));
47
+ }
48
+
49
+ .v-theme--dark & {
50
+ color: #ffffff;
51
+ }
52
+ }
53
+
54
+ &.v-btn--variant-text {
55
+ font-weight: 500;
56
+ .v-btn__overlay {
57
+ background-color: transparent;
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,11 @@
1
+ .f-card.v-card {
2
+ &.v-card--hover:hover {
3
+ box-shadow: var(--f-box-shadow);
4
+ }
5
+ }
6
+
7
+ .v-sheet,
8
+ .v-card {
9
+ background: rgb(var(--v-theme-background));
10
+ color: rgb(var(--v-theme-text));
11
+ }
@@ -0,0 +1,45 @@
1
+ .f-expansion-panel {
2
+ &.v-expansion-panel {
3
+ background: transparent;
4
+ color: var(--v-theme-subTitle);
5
+ overflow-x: hidden;
6
+ &::after {
7
+ content: none;
8
+ }
9
+ &.v-expansion-panel--active,
10
+ &.v-expansion-panel--active + .v-expansion-panel {
11
+ margin-top: 0;
12
+ }
13
+ .v-expansion-panel__shadow {
14
+ display: none;
15
+ }
16
+ .v-expansion-panel-title {
17
+ min-height: auto;
18
+ font-size: 1em;
19
+ padding: 15px 12px 10px 4px;
20
+ color: var(--v-theme-title);
21
+ &:focus-visible {
22
+ .v-expansion-panel-title__overlay {
23
+ opacity: 0;
24
+ }
25
+ }
26
+ &:hover {
27
+ .v-expansion-panel-title__overlay {
28
+ opacity: 0;
29
+ }
30
+ }
31
+ .v-expansion-panel-title__icon {
32
+ margin-inline-start: 12px;
33
+ margin-bottom: 0;
34
+ margin-top: 0;
35
+ margin-inline-end: auto;
36
+ }
37
+ }
38
+ .v-expansion-panel-text {
39
+ .v-expansion-panel-text__wrapper {
40
+ padding: 10px 20px;
41
+ color: var(--v-theme-subTitle);
42
+ }
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,273 @@
1
+ // Force BPM custom icons
2
+ .f-icon,
3
+ .f-icon.v-icon {
4
+ display: inline-block;
5
+ min-height: 20px;
6
+ min-width: 20px;
7
+ height: 20px;
8
+ width: 20px;
9
+ font-style: normal;
10
+ &.pass-eye-close {
11
+ background-color: rgb(var(--v-theme-primary));
12
+ -webkit-mask: url('./../icons/pass-eye-close.svg') no-repeat;
13
+ mask: url('./../icons/pass-eye-close.svg') no-repeat;
14
+ mask-size: contain;
15
+ mask-position: center;
16
+ }
17
+ &.pass-eye-open {
18
+ background-color: rgb(var(--v-theme-primary));
19
+ -webkit-mask: url('./../icons/pass-eye-open.svg') no-repeat;
20
+ mask: url('./../icons/pass-eye-open.svg') no-repeat;
21
+ mask-size: contain;
22
+ mask-position: center;
23
+ }
24
+ &.chevron-up {
25
+ background-color: rgb(var(--v-theme-primary));
26
+ -webkit-mask: url('./../icons/chevron.svg') no-repeat;
27
+ mask: url('./../icons/chevron.svg') no-repeat;
28
+ mask-size: contain;
29
+ transform: rotate(-180deg);
30
+ mask-position: center;
31
+ transition: linear 0.1s;
32
+ }
33
+ &.chevron-right {
34
+ background-color: rgb(var(--v-theme-primary));
35
+ -webkit-mask: url('./../icons/chevron.svg') no-repeat;
36
+ mask: url('./../icons/chevron.svg') no-repeat;
37
+ mask-size: contain;
38
+ transform: rotate(-90deg);
39
+ mask-position: center;
40
+ transition: linear 0.1s;
41
+ }
42
+ &.chevron-down {
43
+ background-color: rgb(var(--v-theme-primary));
44
+ -webkit-mask: url('./../icons/chevron.svg') no-repeat;
45
+ mask: url('./../icons/chevron.svg') no-repeat;
46
+ mask-size: contain;
47
+ transform: rotate(0deg);
48
+ mask-position: center;
49
+ transition: linear 0.1s;
50
+ }
51
+ &.chevron-left {
52
+ background-color: rgb(var(--v-theme-primary));
53
+ -webkit-mask: url('./../icons/chevron.svg') no-repeat;
54
+ mask: url('./../icons/chevron.svg') no-repeat;
55
+ mask-size: contain;
56
+ transform: rotate(90deg);
57
+ mask-position: center;
58
+ transition: linear 0.1s;
59
+ }
60
+ &.radio-true {
61
+ background-color: rgb(var(--v-theme-primary));
62
+ -webkit-mask: url('./../icons/radio-true.svg') no-repeat;
63
+ mask: url('./../icons/radio-true.svg') no-repeat;
64
+ mask-size: contain;
65
+ mask-position: center;
66
+ }
67
+ &.radio-false {
68
+ background-color: rgb(var(--v-theme-primary));
69
+ -webkit-mask: url('./../icons/radio-false.svg') no-repeat;
70
+ mask: url('./../icons/radio-false.svg') no-repeat;
71
+ mask-size: contain;
72
+ mask-position: center;
73
+ }
74
+ &.color-radio-active {
75
+ background-color: rgb(var(--v-theme-primary));
76
+ -webkit-mask: url('./../icons/color-radio-active.svg') no-repeat;
77
+ mask: url('./../icons/color-radio-active.svg') no-repeat;
78
+ mask-size: contain;
79
+ mask-position: center;
80
+ }
81
+ &.color-radio {
82
+ background-color: rgb(var(--v-theme-primary));
83
+ -webkit-mask: url('./../icons/color-radio.svg') no-repeat;
84
+ mask: url('./../icons/color-radio.svg') no-repeat;
85
+ mask-size: contain;
86
+ mask-position: center;
87
+ }
88
+ &.checkbox-true {
89
+ background-color: rgb(var(--v-theme-primary));
90
+ -webkit-mask: url('./../icons/checkbox-true.svg') no-repeat;
91
+ mask: url('./../icons/checkbox-true.svg') no-repeat;
92
+ mask-size: contain;
93
+ mask-position: center;
94
+ }
95
+ &.checkbox-false {
96
+ background-color: rgb(var(--v-theme-primary));
97
+ -webkit-mask: url('./../icons/checkbox-false.svg') no-repeat;
98
+ mask: url('./../icons/checkbox-false.svg') no-repeat;
99
+ mask-size: contain;
100
+ mask-position: center;
101
+ }
102
+ &.check {
103
+ background-color: rgb(var(--v-theme-primary));
104
+ -webkit-mask: url('./../icons/check.svg') no-repeat;
105
+ mask: url('./../icons/check.svg') no-repeat;
106
+ mask-size: contain;
107
+ mask-position: center;
108
+ }
109
+ &.times {
110
+ background-color: rgb(var(--v-theme-primary));
111
+ -webkit-mask: url('./../icons/times.svg') no-repeat;
112
+ mask: url('./../icons/times.svg') no-repeat;
113
+ mask-size: contain;
114
+ mask-position: center;
115
+ }
116
+ &.sort {
117
+ background-color: rgb(var(--v-theme-primary));
118
+ -webkit-mask: url('./../icons/sort.svg') no-repeat;
119
+ mask: url('./../icons/sort.svg') no-repeat;
120
+ mask-size: contain;
121
+ mask-position: center;
122
+ }
123
+ &.sort-solid {
124
+ background-color: rgb(var(--v-theme-primary));
125
+ -webkit-mask: url('./../icons/sort-solid.svg') no-repeat;
126
+ mask: url('./../icons/sort-solid.svg') no-repeat;
127
+ mask-size: contain;
128
+ mask-position: center;
129
+ }
130
+ &.filter {
131
+ background-color: rgb(var(--v-theme-primary));
132
+ -webkit-mask: url('./../icons/filter.svg') no-repeat;
133
+ mask: url('./../icons/filter.svg') no-repeat;
134
+ mask-size: contain;
135
+ mask-position: center;
136
+ }
137
+ &.star {
138
+ background-color: rgb(var(--v-theme-primary));
139
+ -webkit-mask: url('./../icons/star.svg') no-repeat;
140
+ mask: url('./../icons/star.svg') no-repeat;
141
+ mask-size: contain;
142
+ mask-position: center;
143
+ }
144
+ &.star-line {
145
+ background-color: rgb(var(--v-theme-primary));
146
+ -webkit-mask: url('./../icons/star-line.svg') no-repeat;
147
+ mask: url('./../icons/star-line.svg') no-repeat;
148
+ mask-size: contain;
149
+ mask-position: center;
150
+ }
151
+ &.star.star-loading,
152
+ &.star-line.star-loading {
153
+ animation: rotation 1s infinite linear;
154
+ }
155
+ @keyframes rotation {
156
+ from {
157
+ transform: rotate(0deg);
158
+ }
159
+ to {
160
+ transform: rotate(359deg);
161
+ }
162
+ }
163
+ &.search {
164
+ background-color: rgb(var(--v-theme-primary));
165
+ -webkit-mask: url('./../icons/search.svg') no-repeat;
166
+ mask: url('./../icons/search.svg') no-repeat;
167
+ mask-size: contain;
168
+ mask-position: center;
169
+ }
170
+ &.dots {
171
+ background-color: rgb(var(--v-theme-primary));
172
+ -webkit-mask: url('./../icons/dots.svg') no-repeat;
173
+ mask: url('./../icons/dots.svg') no-repeat;
174
+ mask-size: contain;
175
+ mask-position: center;
176
+ height: 18px;
177
+ width: 5px;
178
+ }
179
+ &.ctx-link {
180
+ background-color: rgb(var(--v-theme-primary));
181
+ -webkit-mask: url('./../icons/ctx-link.svg') no-repeat;
182
+ mask: url('./../icons/ctx-link.svg') no-repeat;
183
+ mask-size: contain;
184
+ mask-position: center;
185
+ }
186
+ &.ctx-pen {
187
+ background-color: rgb(var(--v-theme-primary));
188
+ -webkit-mask: url('./../icons/ctx-pen.svg') no-repeat;
189
+ mask: url('./../icons/ctx-pen.svg') no-repeat;
190
+ mask-size: contain;
191
+ mask-position: center;
192
+ }
193
+ &.ctx-delete {
194
+ background-color: rgb(var(--v-theme-primary));
195
+ -webkit-mask: url('./../icons/ctx-delete.svg') no-repeat;
196
+ mask: url('./../icons/ctx-delete.svg') no-repeat;
197
+ mask-size: contain;
198
+ mask-position: center;
199
+ }
200
+ &.ctx-arrow-next {
201
+ background-color: rgb(var(--v-theme-primary));
202
+ -webkit-mask: url('./../icons/ctx-arrow.svg') no-repeat;
203
+ mask: url('./../icons/ctx-arrow.svg') no-repeat;
204
+ mask-size: contain;
205
+ mask-position: center;
206
+ }
207
+ &.ctx-more {
208
+ background-color: rgb(var(--v-theme-primary));
209
+ -webkit-mask: url('./../icons/ctx-more.svg') no-repeat;
210
+ mask: url('./../icons/ctx-more.svg') no-repeat;
211
+ mask-size: contain;
212
+ mask-position: center;
213
+ }
214
+ &.bell {
215
+ background-color: rgb(var(--v-theme-primary));
216
+ -webkit-mask: url('./../icons/bell.svg') no-repeat;
217
+ mask: url('./../icons/bell.svg') no-repeat;
218
+ mask-size: contain;
219
+ mask-position: center;
220
+ }
221
+ &.bell-mute {
222
+ background-color: rgb(var(--v-theme-primary));
223
+ -webkit-mask: url('./../icons/bell-mute.svg') no-repeat;
224
+ mask: url('./../icons/bell-mute.svg') no-repeat;
225
+ mask-size: contain;
226
+ mask-position: center;
227
+ }
228
+ &.open-envelope {
229
+ background-color: rgb(var(--v-theme-primary));
230
+ -webkit-mask: url('./../icons/open-envelope.svg') no-repeat;
231
+ mask: url('./../icons/open-envelope.svg') no-repeat;
232
+ mask-size: contain;
233
+ mask-position: center;
234
+ }
235
+ &.folder {
236
+ background-color: rgb(var(--v-theme-primary));
237
+ -webkit-mask: url('./../icons/folder.svg') no-repeat;
238
+ mask: url('./../icons/folder.svg') no-repeat;
239
+ mask-size: contain;
240
+ mask-position: center;
241
+ }
242
+ &.plus {
243
+ background-color: rgb(var(--v-theme-primary));
244
+ -webkit-mask: url('./../icons/plus.svg') no-repeat;
245
+ mask: url('./../icons/plus.svg') no-repeat;
246
+ mask-size: contain;
247
+ mask-position: center;
248
+ }
249
+ &.plus-solid {
250
+ background-color: rgb(var(--v-theme-primary));
251
+ -webkit-mask: url('./../icons/plus-solid.svg') no-repeat;
252
+ mask: url('./../icons/plus-solid.svg') no-repeat;
253
+ mask-size: contain;
254
+ mask-position: center;
255
+ }
256
+ &.delete {
257
+ background-color: rgb(var(--v-theme-primary));
258
+ -webkit-mask: url('./../icons/delete.svg') no-repeat;
259
+ mask: url('./../icons/delete.svg') no-repeat;
260
+ mask-size: contain;
261
+ mask-position: center;
262
+ }
263
+ }
264
+
265
+ @media screen and (max-width: 1280px) {
266
+ .f-icon,
267
+ .f-icon.v-icon {
268
+ min-height: 18px;
269
+ min-width: 18px;
270
+ height: 18px;
271
+ width: 18px;
272
+ }
273
+ }
@@ -0,0 +1,10 @@
1
+ @use 'icons';
2
+ @use 'utilities';
3
+ @use 'overlay';
4
+ @use 'buttons';
5
+ @use 'input';
6
+ @use 'tabs';
7
+ @use 'expansion';
8
+ @use 'skeleton';
9
+ @use 'card';
10
+ // @use 'tables';