mediacube-ui 0.1.345 → 0.1.347

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 (109) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/0.mediacube-ui.umd.js +50 -0
  3. package/dist/assets/img/icons.3b7d59b2f49c67a2a3a4566b8ab233fd.svg +1 -0
  4. package/dist/assets/img/no_table_data.236cd56f46cfb71fc363b008d4ca70d5.png +0 -0
  5. package/dist/assets/img/no_user.e0030d6e54e2400e1181fd22b83cf8ae.png +0 -0
  6. package/dist/mediacube-ui.umd.js +1 -0
  7. package/package.json +14 -16
  8. package/src/assets/icons.svg +1 -1
  9. package/src/assets/tokens/tokens.json +5 -0
  10. package/dist/mediacube-ui.common.js +0 -378
  11. package/src/elements/McAvatar/McAvatar.vue +0 -274
  12. package/src/elements/McBadge/McBadge.vue +0 -148
  13. package/src/elements/McButton/McButton.vue +0 -841
  14. package/src/elements/McChip/McChip.vue +0 -300
  15. package/src/elements/McCropper/McCropper.vue +0 -133
  16. package/src/elements/McDate/McDate.vue +0 -105
  17. package/src/elements/McDatePicker/McDatePicker.vue +0 -902
  18. package/src/elements/McField/McFieldCheckbox/McFieldCheckbox.vue +0 -332
  19. package/src/elements/McField/McFieldRadio/McFieldRadioButton/McFieldRadioButton.vue +0 -201
  20. package/src/elements/McField/McFieldRadio/McFieldRadioGroup/McFieldRadioGroup.vue +0 -194
  21. package/src/elements/McField/McFieldSelect/McFieldSelect.vue +0 -1087
  22. package/src/elements/McField/McFieldText/McFieldText.vue +0 -969
  23. package/src/elements/McField/McFieldToggle/McFieldToggle.vue +0 -268
  24. package/src/elements/McInfinityLoadingIndicator/McInfinityLoadingIndicator.vue +0 -97
  25. package/src/elements/McNotification/McNotification.vue +0 -209
  26. package/src/elements/McProgress/McProgress.vue +0 -218
  27. package/src/elements/McRangeSlider/McRangeSlider.vue +0 -195
  28. package/src/elements/McSeparator/McSeparator.vue +0 -143
  29. package/src/elements/McSlideUpDown/McSlideUpDown.vue +0 -157
  30. package/src/elements/McSvgIcon/McSvgIcon.vue +0 -127
  31. package/src/elements/McTabs/McTab/McTab.vue +0 -187
  32. package/src/elements/McTabs/McTabs/McTabs.vue +0 -531
  33. package/src/elements/McTitle/McTitle.vue +0 -365
  34. package/src/elements/McTooltip/McTooltip.vue +0 -334
  35. package/src/helpers/consts.js +0 -3
  36. package/src/helpers/delayedAction.js +0 -26
  37. package/src/helpers/storybookFunctions.js +0 -20
  38. package/src/helpers/storybookVariables.js +0 -24
  39. package/src/mixins/equalFieldHeight.js +0 -59
  40. package/src/mixins/fieldErrors.js +0 -28
  41. package/src/patterns/McAccordion/McAccordion.vue +0 -53
  42. package/src/patterns/McCells/McCell/McCell.vue +0 -101
  43. package/src/patterns/McChat/McChat.vue +0 -305
  44. package/src/patterns/McChat/McChatComment/McChatComment.vue +0 -265
  45. package/src/patterns/McChat/McChatForm/McChatForm.vue +0 -147
  46. package/src/patterns/McCollapse/McCollapse.vue +0 -280
  47. package/src/patterns/McDrawer/McDrawer.vue +0 -146
  48. package/src/patterns/McDropdown/McDropdown.vue +0 -247
  49. package/src/patterns/McDropdown/McDropdownPanel/McDropdownPanel.vue +0 -40
  50. package/src/patterns/McFakeScroll/McFakeScroll.vue +0 -277
  51. package/src/patterns/McFilter/McFilter.vue +0 -847
  52. package/src/patterns/McFilter/McFilterChip/McFilterChip.vue +0 -83
  53. package/src/patterns/McFilter/McFilterTags/McFilterTags.vue +0 -374
  54. package/src/patterns/McFilter/McFilterTypeDate/McFilterTypeDate.vue +0 -70
  55. package/src/patterns/McFilter/McFilterTypeRange/McFilterTypeRange.vue +0 -132
  56. package/src/patterns/McFilter/McFilterTypeRelation/McFilterTypeRelation.vue +0 -221
  57. package/src/patterns/McFilter/McFilterTypeSimple/McFilterTypeSimple.vue +0 -161
  58. package/src/patterns/McFilter/McFilterTypeText/McFilterTypeText.vue +0 -62
  59. package/src/patterns/McGrid/McGridCol/McGridCol.vue +0 -165
  60. package/src/patterns/McGrid/McGridRow/McGridRow.vue +0 -158
  61. package/src/patterns/McModal/McModal.vue +0 -680
  62. package/src/patterns/McOverlay/McOverlay.vue +0 -78
  63. package/src/patterns/McPreview/McPreview.vue +0 -118
  64. package/src/patterns/McSideBar/McSideBar/McSideBar.vue +0 -387
  65. package/src/patterns/McSideBar/McSideBarBottom/McSideBarBottom.vue +0 -125
  66. package/src/patterns/McSideBar/McSideBarButton/McSideBarButton.vue +0 -252
  67. package/src/patterns/McSideBar/McSideBarCenter/McSideBarCenter.vue +0 -367
  68. package/src/patterns/McSideBar/McSideBarTop/McSideBarTop.vue +0 -238
  69. package/src/patterns/McStack/McStack.vue +0 -158
  70. package/src/patterns/McTable/McTable/McTable.vue +0 -854
  71. package/src/patterns/McTable/McTableCol/McTableCol.vue +0 -296
  72. package/src/patterns/McTableCard/McTableCard.vue +0 -135
  73. package/src/patterns/McTableCard/McTableCardHeader/McTableCardHeader.vue +0 -74
  74. package/src/patterns/McTopBar/McTopBar.vue +0 -153
  75. package/src/patterns/McWrapScroll/McWrapScroll.vue +0 -291
  76. package/src/styles/_functions.scss +0 -187
  77. package/src/styles/_mixins.scss +0 -612
  78. package/src/styles/_spacing.scss +0 -33
  79. package/src/styles/_variables.scss +0 -23
  80. package/src/styles/global.scss +0 -308
  81. package/src/styles/main.scss +0 -4
  82. package/src/styles/table.scss +0 -10
  83. package/src/styles/toast.scss +0 -55
  84. package/src/templates/layouts/McContentFixed/McContentFixed.vue +0 -60
  85. package/src/templates/layouts/McMain/McMain.vue +0 -115
  86. package/src/templates/layouts/McRoot/McRoot.vue +0 -45
  87. package/src/tokens/animations.scss +0 -9
  88. package/src/tokens/border-radius.scss +0 -26
  89. package/src/tokens/box-shadows.scss +0 -28
  90. package/src/tokens/colors.scss +0 -82
  91. package/src/tokens/durations.scss +0 -7
  92. package/src/tokens/easings.scss +0 -6
  93. package/src/tokens/font-families.scss +0 -8
  94. package/src/tokens/font-sizes.scss +0 -23
  95. package/src/tokens/font-weights.scss +0 -9
  96. package/src/tokens/gradients.scss +0 -18
  97. package/src/tokens/letter-spacings.scss +0 -6
  98. package/src/tokens/line-heights.scss +0 -22
  99. package/src/tokens/media-queries.scss +0 -32
  100. package/src/tokens/opacities.scss +0 -8
  101. package/src/tokens/sizes.scss +0 -47
  102. package/src/tokens/spacings.scss +0 -38
  103. package/src/tokens/z-indexes.scss +0 -14
  104. package/src/utils/dayjs.js +0 -19
  105. package/src/utils/filters.js +0 -11
  106. package/src/utils/getTokens.js +0 -41
  107. package/src/utils/load-icons.js +0 -3
  108. package/src/utils/treeSearch.js +0 -30
  109. package/src/utils/webFontLoader.js +0 -12
@@ -1,300 +0,0 @@
1
- <template>
2
- <section class="mc-chip" tabindex="0" :class="classes" :style="styles">
3
- <div v-if="$slots.icon" class="mc-chip__icon">
4
- <!-- @slot Слот для иконки -->
5
- <slot name="icon" />
6
- </div>
7
- <div v-if="title || $slots.default" class="mc-chip__title">
8
- <!-- @slot контента -->
9
- <slot>
10
- {{ title }}
11
- </slot>
12
- </div>
13
- <div v-if="counter || counter === 0" class="mc-chip__counter">
14
- {{ counter }}
15
- </div>
16
- <button v-if="closable" class="mc-chip__button" type="button" v-on="$listeners">
17
- <!-- @slot Слот для пользовательской кнопки -->
18
- <slot name="button">
19
- <mc-svg-icon size="200" name="cancel" />
20
- </slot>
21
- </button>
22
- </section>
23
- </template>
24
-
25
- <script>
26
- import McSvgIcon from '../McSvgIcon/McSvgIcon'
27
- export default {
28
- name: 'McChip',
29
- components: { McSvgIcon },
30
- props: {
31
- /**
32
- * Text content
33
- *
34
- */
35
- title: {
36
- type: String,
37
- default: '',
38
- },
39
- /**
40
- * Кнопка закрытия
41
- *
42
- */
43
- closable: {
44
- type: Boolean,
45
- default: false,
46
- },
47
- /**
48
- * Дизайн:
49
- * `purple, purple-invert т.д.`
50
- */
51
- variation: {
52
- type: String,
53
- default: 'transparent',
54
- },
55
- /**
56
- * Счетчик
57
- *
58
- */
59
- counter: {
60
- type: [Number, String],
61
- default: null,
62
- },
63
- /**
64
- * Размер
65
- * m, m-compact, s, s-compact, xs, xs-compact
66
- */
67
- size: {
68
- type: String,
69
- default: 'm',
70
- },
71
- /**
72
- * Если нужен
73
- * иной цвет текста
74
- */
75
- textColor: {
76
- type: String,
77
- default: '',
78
- },
79
- },
80
-
81
- computed: {
82
- classes() {
83
- return {
84
- [`mc-chip--variation-${this.chipOptions.variation}`]: this.variation,
85
- [`mc-chip--size-${this.size}`]: this.size,
86
- }
87
- },
88
- chipOptions() {
89
- const variationProps = this.variation?.split('-')
90
- const currentVariation = variationProps[variationProps.length - 1]
91
- let color
92
- let variation
93
- switch (currentVariation) {
94
- case 'outline':
95
- case 'invert': {
96
- variation = currentVariation
97
- color = this.variation.replace(`-${currentVariation}`, '')
98
- break
99
- }
100
- default: {
101
- variation = 'default'
102
- color = this.variation
103
- break
104
- }
105
- }
106
- return {
107
- color,
108
- variation,
109
- }
110
- },
111
- styles() {
112
- const textColor = this.textColor || 'white'
113
- return {
114
- ['--mc-chip-color']: `var(--color-${this.chipOptions.color})`,
115
- ['--mc-chip-text-color']: `var(--color-${textColor})`,
116
- }
117
- },
118
- },
119
- }
120
- </script>
121
-
122
- <style lang="scss">
123
- @import '../../styles/mixins';
124
- @import '../../tokens/durations';
125
- @import '../../tokens/font-families';
126
- .mc-chip {
127
- $block-name: &;
128
- --mc-chip-text-color: #{$color-black};
129
- --mc-chip-color: #{$color-white};
130
- overflow: hidden;
131
- display: inline-flex;
132
- position: relative;
133
- align-items: center;
134
- color: var(--mc-chip-color);
135
- font-family: $font-family-main;
136
- font-size: $font-size-200;
137
- line-height: $line-height-200;
138
- max-width: 100%;
139
- border-radius: 100px;
140
- vertical-align: middle;
141
- outline: none;
142
- z-index: 0;
143
- flex-shrink: 0;
144
- overflow: visible;
145
- &:before {
146
- content: '';
147
- position: absolute;
148
- left: 0;
149
- right: 0;
150
- z-index: 0;
151
- @include size(100%);
152
- border-radius: inherit;
153
- background-color: var(--mc-chip-color);
154
- }
155
- > * {
156
- margin-right: $space-50;
157
- z-index: 1;
158
- }
159
- > *:first-child {
160
- margin-left: $space-50;
161
- }
162
-
163
- &--size {
164
- @mixin padding-x($space, $space-compact) {
165
- padding-right: $space;
166
- padding-left: $space;
167
- &-compact {
168
- padding-right: $space-compact;
169
- padding-left: $space-compact;
170
- }
171
- }
172
-
173
- &-m {
174
- &,
175
- &-compact {
176
- height: $size-400;
177
- }
178
- @include padding-x($space-100, $space-50);
179
- }
180
- &-s {
181
- &,
182
- &-compact {
183
- height: $size-300;
184
- }
185
- @include padding-x($space-100, $space-50);
186
- }
187
- &-xs {
188
- &,
189
- &-compact {
190
- height: $space-200;
191
- font-size: $font-size-100;
192
- line-height: $line-height-150;
193
- }
194
-
195
- @include padding-x($space-50, 0);
196
- }
197
- }
198
-
199
- &__icon {
200
- display: flex;
201
- justify-content: center;
202
- align-items: center;
203
- margin-left: 0;
204
- }
205
-
206
- &__title {
207
- @include ellipsis();
208
- @include layout-flex-fix();
209
- color: var(--mc-chip-text-color);
210
- &:empty {
211
- display: none;
212
- }
213
- }
214
-
215
- &__counter {
216
- flex: 0 0 auto;
217
- font-family: $font-family-main;
218
- font-size: $font-size-200;
219
- line-height: $line-height-200;
220
- color: $color-dark-gray;
221
-
222
- &:empty {
223
- display: none;
224
- }
225
- }
226
-
227
- &__button {
228
- @include size($size-200);
229
- position: relative;
230
- display: flex;
231
- flex: 0 0 auto;
232
- justify-content: center;
233
- align-items: center;
234
- padding: 0;
235
- margin-right: 0;
236
- border-radius: 0;
237
- user-select: none;
238
- text-decoration: none;
239
- text-transform: none;
240
- background-color: transparent;
241
- background-image: none;
242
- cursor: pointer;
243
- outline: 0;
244
- border: none;
245
- transition: all $duration-s;
246
- flex-wrap: nowrap;
247
- -webkit-appearance: none;
248
- -webkit-text-fill-color: currentColor;
249
- color: $color-dark-gray;
250
- opacity: 0.2;
251
-
252
- &:hover {
253
- opacity: 1;
254
- color: $color-red;
255
- }
256
-
257
- &:active {
258
- color: darken($color-red, 15%);
259
- }
260
- }
261
-
262
- &--variation {
263
- &-default {
264
- #{$block-name} {
265
- &__button {
266
- color: var(--mc-chip-color);
267
- &:hover {
268
- opacity: 1;
269
- color: $color-white;
270
- }
271
- &:active {
272
- color: darken($color-white, 15%);
273
- }
274
- }
275
- &__title {
276
- color: var(--mc-chip-text-color);
277
- }
278
- &__counter {
279
- color: var(--mc-chip-text-color);
280
- opacity: 0.5;
281
- }
282
- }
283
- }
284
- &-outline {
285
- color: var(--mc-chip-color);
286
- border: 1px solid var(--mc-chip-color);
287
- &:before {
288
- display: none;
289
- }
290
- }
291
- &-invert {
292
- color: $color-black;
293
- &:before {
294
- background-color: var(--mc-chip-color);
295
- opacity: 0.10;
296
- }
297
- }
298
- }
299
- }
300
- </style>
@@ -1,133 +0,0 @@
1
- <template>
2
- <section class="mc-cropper">
3
- <vue-cropper
4
- ref="cropper"
5
- drag-mode="crop"
6
- background
7
- alt="Avatar"
8
- :aspect-ratio="1 / 1"
9
- :initial-aspect-ratio="1 / 1"
10
- :highlight="false"
11
- :guides="false"
12
- :zoomable="zoomable"
13
- :view-mode="2"
14
- :src="imgSrc"
15
- @ready="$emit('ready')"
16
- />
17
- </section>
18
- </template>
19
-
20
- <script>
21
- const VueCropper = () => import('vue-cropperjs')
22
- import 'cropperjs/dist/cropper.css'
23
-
24
- export default {
25
- name: 'McCropper',
26
- status: 'ready',
27
- release: '1.0.0',
28
- components: {
29
- VueCropper,
30
- },
31
- props: {
32
- /**
33
- * Путь к изображению
34
- *
35
- */
36
- imgSrc: {
37
- type: [String, Object],
38
- default: null,
39
- },
40
- zoomable: {
41
- type: Boolean,
42
- default: true,
43
- },
44
- },
45
- data() {
46
- return {
47
- cropImg: '',
48
- }
49
- },
50
- watch: {
51
- imgSrc(val) {
52
- this.setImage(val)
53
- },
54
- },
55
- methods: {
56
- setImage() {
57
- this.$refs.cropper.replace(this.imgSrc)
58
- },
59
- cropImage() {
60
- this.$refs.cropper
61
- .getCroppedCanvas({
62
- maxWidth: 650,
63
- maxHeight: 650,
64
- })
65
- .toBlob(blob => {
66
- /**
67
- * Событие по обрезке
68
- * @property {blob}
69
- */
70
- this.$emit('crop', blob)
71
- })
72
- },
73
- },
74
- }
75
- </script>
76
-
77
- <style lang="scss">
78
- @import '../../tokens/border-radius';
79
- @import '../../tokens/opacities';
80
- .mc-cropper {
81
- $block-name: &;
82
-
83
- $color-main: $color-purple;
84
-
85
- .cropper {
86
- &-modal {
87
- opacity: $opacity-active;
88
- background-color: $color-white;
89
- }
90
-
91
- &-face,
92
- &-line,
93
- &-point {
94
- opacity: 0;
95
- }
96
-
97
- &-view-box {
98
- border-radius: $radius-circle;
99
- outline: 1px dashed $color-main;
100
- }
101
-
102
- &-line {
103
- background-color: $color-main;
104
- }
105
-
106
- &-point {
107
- background: $color-main;
108
-
109
- &.point-se {
110
- @media #{$media-query-xl} {
111
- opacity: 1;
112
- }
113
-
114
- &:before {
115
- background-color: $color-main;
116
- }
117
- }
118
- }
119
-
120
- &-center {
121
- display: none;
122
- }
123
-
124
- &-canvas {
125
- height: 100% !important;
126
- }
127
-
128
- &-hide {
129
- height: 100% !important;
130
- }
131
- }
132
- }
133
- </style>
@@ -1,105 +0,0 @@
1
- <template>
2
- <section class="mc-date">
3
- <!-- @slot Слот для вставки в начало -->
4
- <slot name="prepend" />
5
- <time class="mc-date__time" :datetime="dayjsDate">
6
- <mc-title :variation="size" :ellipsis="ellipsis" :uppercase="uppercase" :color="color">
7
- {{ formattedDate }}
8
- </mc-title>
9
- </time>
10
- <!-- @slot Слот для вставки в конец -->
11
- <slot name="append" />
12
- </section>
13
- </template>
14
-
15
- <script>
16
- import { dayjs } from '../../utils/dayjs'
17
- import McTitle from '../McTitle/McTitle'
18
-
19
- export default {
20
- name: 'McDate',
21
-
22
- components: {
23
- McTitle,
24
- },
25
-
26
- props: {
27
- /**
28
- * Значение
29
- */
30
- value: {
31
- type: String,
32
- default: null,
33
- },
34
-
35
- /**
36
- * Формат даты
37
- */
38
- format: {
39
- default: 'DD.MM.YYYY',
40
- },
41
-
42
- /**
43
- * Размер даты
44
- * `h1`, `h2`, `h3`, `h4`, `subtitle`, `body`, `overline`.
45
- */
46
- size: {
47
- type: String,
48
- default: 'body',
49
- },
50
-
51
- /**
52
- * Перенос строк
53
- */
54
- ellipsis: {
55
- type: Boolean,
56
- default: true,
57
- },
58
-
59
- /**
60
- * Заглавные буквы
61
- */
62
- uppercase: {
63
- type: Boolean,
64
- default: true,
65
- },
66
- /**
67
- * Цвет текста:
68
- * `purple, red, gray и т.д.`
69
- */
70
- color: {
71
- type: String,
72
- default: 'black',
73
- },
74
- },
75
-
76
- computed: {
77
- dayjsDate() {
78
- if (dayjs === null) return null
79
- const locale = this.$i18n?.locale || 'ru' // TODO: maybe `en`?
80
- return dayjs(this.value).locale(locale)
81
- },
82
- formattedDate() {
83
- if (this.dayjsDate === null) return this.value
84
- return this.dayjsDate.format(this.format)
85
- },
86
- },
87
- }
88
- </script>
89
-
90
- <style lang="scss">
91
- @import '../../styles/mixins';
92
- @import '../../tokens/font-families';
93
- .mc-date {
94
- $block-name: &;
95
-
96
- display: inline-flex;
97
- align-items: center;
98
- @include reset-text-indents();
99
- @include child-indent-right($space-50);
100
-
101
- &__time {
102
- font-family: $font-family-main;
103
- }
104
- }
105
- </style>