@ldmjs/ui 1.0.60 → 1.0.62

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.
@@ -1,15 +1,411 @@
1
- .Vue-Toastification__toast--success {
2
- background: var(--success);
1
+ @charset "UTF-8";
2
+
3
+ @use "sass:math";
4
+
5
+ $vt-namespace: "Vue-Toastification" !default;
6
+ $vt-toast-min-width: 326px !default;
7
+ $vt-toast-max-width: 600px !default;
8
+ $vt-toast-background: #ffffff !default;
9
+
10
+ $vt-toast-min-height: 64px !default;
11
+ $vt-toast-max-height: 800px !default;
12
+
13
+ $vt-color-default: #1976d2 !default;
14
+ $vt-text-color-default: #fff !default;
15
+ // $vt-color-info: #2196f3 !default;
16
+ $vt-color-info: var(--primary-l-4);
17
+ $vt-text-color-info: #fff !default;
18
+ // $vt-color-success: #4caf50 !default;
19
+ $vt-color-success: var(--success);
20
+ $vt-text-color-success: #fff !default;
21
+ // $vt-color-warning: #ffc107 !default;
22
+ $vt-color-warning: var(--warning-l-2);
23
+ $vt-text-color-warning: #fff !default;
24
+ // $vt-color-error: #ff5252 !default;
25
+ $vt-color-error: var(--error-l-2);
26
+ $vt-text-color-error: #fff !default;
27
+
28
+ $vt-color-progress-default: linear-gradient(
29
+ to right,
30
+ #4cd964,
31
+ #5ac8fa,
32
+ #007aff,
33
+ #34aadc,
34
+ #5856d6,
35
+ #ff2d55
36
+ ) !default;
37
+
38
+ $vt-mobile: "only screen and (max-width : 600px)" !default;
39
+ $vt-not-mobile: "only screen and (min-width : 600px)" !default;
40
+ $vt-font-family: "Lato", Helvetica, "Roboto", Arial, sans-serif !default;
41
+ $vt-z-index: 9999 !default;
42
+
43
+ .#{$vt-namespace}__container {
44
+ z-index: $vt-z-index;
45
+ position: fixed;
46
+ padding: 4px;
47
+ width: $vt-toast-max-width;
48
+ box-sizing: border-box;
49
+ display: flex;
50
+ min-height: 100%;
51
+ color: #fff;
52
+ flex-direction: column;
53
+ pointer-events: none;
54
+
55
+ @media #{$vt-not-mobile} {
56
+ &.top-left,
57
+ &.top-right,
58
+ &.top-center {
59
+ top: 1em;
60
+ }
61
+
62
+ &.bottom-left,
63
+ &.bottom-right,
64
+ &.bottom-center {
65
+ bottom: 1em;
66
+ flex-direction: column-reverse;
67
+ }
68
+
69
+ &.top-left,
70
+ &.bottom-left {
71
+ left: 1em;
72
+ .#{$vt-namespace}__toast {
73
+ margin-right: auto;
74
+ }
75
+ // Firefox does not apply rtl rules to containers and margins, it appears.
76
+ // See https://github.com/Maronato/vue-toastification/issues/179
77
+ @supports not (-moz-appearance:none) {
78
+ .#{$vt-namespace}__toast--rtl {
79
+ margin-right: unset;
80
+ margin-left: auto;
81
+ }
82
+ }
83
+ }
84
+
85
+ &.top-right,
86
+ &.bottom-right {
87
+ right: 1em;
88
+ .#{$vt-namespace}__toast {
89
+ margin-left: auto;
90
+ }
91
+ // Firefox does not apply rtl rules to containers and margins, it appears.
92
+ // See https://github.com/Maronato/vue-toastification/issues/179
93
+ @supports not (-moz-appearance:none) {
94
+ .#{$vt-namespace}__toast--rtl {
95
+ margin-left: unset;
96
+ margin-right: auto;
97
+ }
98
+ }
99
+ }
100
+
101
+ &.top-center,
102
+ &.bottom-center {
103
+ left: 50%;
104
+ margin-left: - math.div($vt-toast-max-width, 2);
105
+ .#{$vt-namespace}__toast {
106
+ margin-left: auto;
107
+ margin-right: auto;
108
+ }
109
+ }
110
+ }
111
+
112
+ @media #{$vt-mobile} {
113
+ width: 100vw;
114
+ padding: 0;
115
+ left: 0;
116
+ margin: 0;
117
+ .#{$vt-namespace}__toast {
118
+ width: 100%;
119
+ }
120
+ &.top-left,
121
+ &.top-right,
122
+ &.top-center {
123
+ top: 0;
124
+ }
125
+ &.bottom-left,
126
+ &.bottom-right,
127
+ &.bottom-center {
128
+ bottom: 0;
129
+ flex-direction: column-reverse;
130
+ }
131
+ }
132
+ }
133
+
134
+ .#{$vt-namespace}__toast {
135
+ display: inline-flex;
136
+ position: relative;
137
+ max-height: $vt-toast-max-height;
138
+ min-height: $vt-toast-min-height;
139
+ box-sizing: border-box;
140
+ margin-bottom: 1rem;
141
+ padding: 22px 24px;
142
+ border-radius: 8px;
143
+ box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 15px 0 rgba(0, 0, 0, 0.05);
144
+ justify-content: space-between;
145
+ font-family: $vt-font-family;
146
+ max-width: $vt-toast-max-width;
147
+ min-width: $vt-toast-min-width;
148
+ pointer-events: auto;
149
+ overflow: hidden;
150
+ // overflow: hidden + border-radius does not work properly on Safari
151
+ // The following magic line fixes it
152
+ // https://stackoverflow.com/a/58283449
153
+ transform: translateZ(0);
154
+ direction: ltr;
155
+ &--rtl {
156
+ direction: rtl;
157
+ }
158
+
159
+ &--default {
160
+ background-color: $vt-color-default;
161
+ color: $vt-text-color-default;
162
+ }
163
+ &--info {
164
+ background-color: $vt-color-info;
165
+ color: $vt-text-color-info;
166
+ }
167
+ &--success {
168
+ background-color: $vt-color-success;
169
+ color: $vt-text-color-success;
170
+ }
171
+ &--error {
172
+ background-color: $vt-color-error;
173
+ color: $vt-text-color-error;
174
+ }
175
+ &--warning {
176
+ background-color: $vt-color-warning;
177
+ color: $vt-text-color-warning;
178
+ }
179
+
180
+ @media #{$vt-mobile} {
181
+ border-radius: 0px;
182
+ margin-bottom: 0.5rem;
183
+ }
184
+
185
+ &-body {
186
+ flex: 1;
187
+ line-height: 24px;
188
+ font-size: 16px;
189
+ word-break: break-word;
190
+ white-space: pre-wrap;
191
+ }
192
+
193
+ &-component-body {
194
+ flex: 1;
195
+ }
196
+
197
+ &.disable-transition {
198
+ animation: none !important;
199
+ }
200
+ }
201
+
202
+ .#{$vt-namespace}__close-button {
203
+ font-weight: bold;
204
+ font-size: 24px;
205
+ line-height: 24px;
206
+ background: transparent;
207
+ outline: none;
208
+ border: none;
209
+ padding: 0;
210
+ padding-left: 10px;
211
+ cursor: pointer;
212
+ transition: 0.3s ease;
213
+ align-items: center;
214
+ color: #fff;
215
+ opacity: 0.3;
216
+ transition: visibility 0s, opacity 0.2s linear;
217
+ &:hover,
218
+ &:focus {
219
+ opacity: 1;
220
+ }
221
+ .#{$vt-namespace}__toast:not(:hover) &.show-on-hover {
222
+ opacity: 0;
223
+ }
224
+ .#{$vt-namespace}__toast--rtl & {
225
+ padding-left: unset;
226
+ padding-right: 10px;
227
+ }
228
+ }
229
+
230
+ @keyframes scale-x-frames {
231
+ 0% {
232
+ transform: scaleX(1);
233
+ }
234
+ 100% {
235
+ transform: scaleX(0);
236
+ }
3
237
  }
4
238
 
5
- .Vue-Toastification__toast--error {
6
- background: var(--error-l-2);
239
+ .#{$vt-namespace}__progress-bar {
240
+ position: absolute;
241
+ bottom: 0;
242
+ left: 0;
243
+ width: 100%;
244
+ height: 5px;
245
+ z-index: ($vt-z-index + 1);
246
+ background-color: rgba(255, 255, 255, 0.7);
247
+ transform-origin: left;
248
+ animation: scale-x-frames linear 1 forwards;
249
+ .#{$vt-namespace}__toast--rtl & {
250
+ right: 0;
251
+ left: unset;
252
+ transform-origin: right;
253
+ }
7
254
  }
8
255
 
9
- .Vue-Toastification__toast--warning {
10
- background: var(--warning-l-2);
256
+ .#{$vt-namespace}__icon {
257
+ margin: auto 18px auto 0px;
258
+ background: transparent;
259
+ outline: none;
260
+ border: none;
261
+ padding: 0;
262
+ transition: 0.3s ease;
263
+ align-items: center;
264
+ width: 20px;
265
+ height: 100%;
266
+ .#{$vt-namespace}__toast--rtl & {
267
+ margin: auto 0px auto 18px;
268
+ }
11
269
  }
12
270
 
13
- .Vue-Toastification__toast--info {
14
- background: var(--primary-l-4);
15
- }
271
+ /* ----------------------------------------------
272
+ /* Animations
273
+ /* ---------------------------------------------- */
274
+
275
+ .#{$vt-namespace}__bounce-enter-active {
276
+ &.top-left,
277
+ &.bottom-left {
278
+ animation-name: bounceInLeft;
279
+ }
280
+ &.top-right,
281
+ &.bottom-right {
282
+ animation-name: bounceInRight;
283
+ }
284
+ &.top-center {
285
+ animation-name: bounceInDown;
286
+ }
287
+ &.bottom-center {
288
+ animation-name: bounceInUp;
289
+ }
290
+ }
291
+
292
+ .#{$vt-namespace}__bounce-leave-active:not(.disable-transition) {
293
+ &.top-left,
294
+ &.bottom-left {
295
+ animation-name: bounceOutLeft;
296
+ }
297
+ &.top-right,
298
+ &.bottom-right {
299
+ animation-name: bounceOutRight;
300
+ }
301
+ &.top-center {
302
+ animation-name: bounceOutUp;
303
+ }
304
+ &.bottom-center {
305
+ animation-name: bounceOutDown;
306
+ }
307
+ }
308
+
309
+ .#{$vt-namespace}__bounce-leave-active,
310
+ .#{$vt-namespace}__bounce-enter-active {
311
+ animation-duration: 750ms;
312
+ animation-fill-mode: both;
313
+ }
314
+
315
+ .#{$vt-namespace}__bounce-move {
316
+ transition-timing-function: ease-in-out;
317
+ transition-property: all;
318
+ transition-duration: 400ms;
319
+ }
320
+
321
+ .#{$vt-namespace}__fade-enter-active {
322
+ &.top-left,
323
+ &.bottom-left {
324
+ animation-name: fadeInLeft;
325
+ }
326
+ &.top-right,
327
+ &.bottom-right {
328
+ animation-name: fadeInRight;
329
+ }
330
+ &.top-center {
331
+ animation-name: fadeInTop;
332
+ }
333
+ &.bottom-center {
334
+ animation-name: fadeInBottom;
335
+ }
336
+ }
337
+
338
+ .#{$vt-namespace}__fade-leave-active:not(.disable-transition) {
339
+ &.top-left,
340
+ &.bottom-left {
341
+ animation-name: fadeOutLeft;
342
+ }
343
+ &.top-right,
344
+ &.bottom-right {
345
+ animation-name: fadeOutRight;
346
+ }
347
+ &.top-center {
348
+ animation-name: fadeOutTop;
349
+ }
350
+ &.bottom-center {
351
+ animation-name: fadeOutBottom;
352
+ }
353
+ }
354
+
355
+ .#{$vt-namespace}__fade-leave-active,
356
+ .#{$vt-namespace}__fade-enter-active {
357
+ animation-duration: 750ms;
358
+ animation-fill-mode: both;
359
+ }
360
+
361
+ .#{$vt-namespace}__fade-move {
362
+ transition-timing-function: ease-in-out;
363
+ transition-property: all;
364
+ transition-duration: 400ms;
365
+ }
366
+
367
+ .#{$vt-namespace}__slideBlurred-enter-active {
368
+ &.top-left,
369
+ &.bottom-left {
370
+ animation-name: slideInBlurredLeft;
371
+ }
372
+ &.top-right,
373
+ &.bottom-right {
374
+ animation-name: slideInBlurredRight;
375
+ }
376
+ &.top-center {
377
+ animation-name: slideInBlurredTop;
378
+ }
379
+ &.bottom-center {
380
+ animation-name: slideInBlurredBottom;
381
+ }
382
+ }
383
+
384
+ .#{$vt-namespace}__slideBlurred-leave-active:not(.disable-transition) {
385
+ &.top-left,
386
+ &.bottom-left {
387
+ animation-name: slideOutBlurredLeft;
388
+ }
389
+ &.top-right,
390
+ &.bottom-right {
391
+ animation-name: slideOutBlurredRight;
392
+ }
393
+ &.top-center {
394
+ animation-name: slideOutBlurredTop;
395
+ }
396
+ &.bottom-center {
397
+ animation-name: slideOutBlurredBottom;
398
+ }
399
+ }
400
+
401
+ .#{$vt-namespace}__slideBlurred-leave-active,
402
+ .#{$vt-namespace}__slideBlurred-enter-active {
403
+ animation-duration: 750ms;
404
+ animation-fill-mode: both;
405
+ }
406
+
407
+ .#{$vt-namespace}__slideBlurred-move {
408
+ transition-timing-function: ease-in-out;
409
+ transition-property: all;
410
+ transition-duration: 400ms;
411
+ }
@@ -8,7 +8,9 @@
8
8
  @use 'calendar';
9
9
  @use 'toolbar';
10
10
  @use 'multiselect';
11
+ @use 'animations';
11
12
  @use 'toasted';
12
13
  @use 'dialogs';
13
14
  @use 'iterator';
14
15
  @use 'pager';
16
+ @use 'time';
@@ -1,36 +1,41 @@
1
1
  export interface IAttr {
2
2
  // An optional key can be used for retrieving this attribute later,
3
3
  // and will most likely be derived from your data object
4
- key: Any,
4
+ key: Any;
5
5
  // Attribute type definitions
6
- content?: string, // Boolean, String, Object
7
- highlight: boolean | string | IHighlight, // Boolean, String, Object
8
- dot?: boolean, // Boolean, String, Object
9
- bar?: boolean, // Boolean, String, Object
6
+ content?: string; // Boolean, String, Object
7
+ highlight: boolean | string | IHighlight; // Boolean, String, Object
8
+ dot?: boolean; // Boolean, String, Object
9
+ bar?: boolean; // Boolean, String, Object
10
10
  popover?: {
11
- label: string,
12
- visibility: 'hover' | 'click',
13
- hideIndicator: boolean,
14
- },
11
+ label: string;
12
+ visibility: 'hover' | 'click';
13
+ hideIndicator: boolean;
14
+ };
15
15
  // Your custom data object for later access, if needed
16
- customData?: Record<string, unknown>,
16
+ customData?: Record<string, unknown>;
17
17
  // We also need some dates to know where to display the attribute
18
18
  // We use a single date here, but it could also be an array of dates,
19
19
  // a date range or a complex date pattern.
20
- dates: Date | Array<Date>,
20
+ dates: Date | Array<Date>;
21
21
  // Think of `order` like `z-index`
22
22
  order?: number;
23
23
  }
24
24
 
25
- export type Attributes = Array<IAttr>
25
+ export type Attributes = Array<IAttr>;
26
+
27
+ export interface ICalendarDay {
28
+ date: Date;
29
+ }
26
30
 
27
31
  interface IHighlight {
28
- color?: string,
29
- fillMode?: string, // solid (default), light, outline.
30
- class?: string, // Class to apply to the highlight background element.
31
- style?: Record<string, string>, // Style to apply to the highlight background element.
32
- contentClass?: string, // Class to apply to the highlight content element.
33
- contentStyle?: Record<string, string>, // Style to apply to the highlight content element.
32
+ color?: string;
33
+ fillMode?: string; // solid (default), light, outline.
34
+ class?: string; // Class to apply to the highlight background element.
35
+ style?: Record<string, string>; // Style to apply to the highlight background element.
36
+ contentClass?: string; // Class to apply to the highlight content element.
37
+ contentStyle?: Record<string, string>; // Style to apply to the highlight content element.
38
+ hightlight?: boolean;
34
39
  }
35
40
 
36
41
  interface IPage {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable-next-line @typescript-eslint/naming-convention */
1
2
  export interface ldmuiOptions {
2
3
  aliases?: {
3
4
  'ld-button'?: string;
@@ -27,29 +28,31 @@ export interface ldmuiOptions {
27
28
  'ld-dialog'?: string;
28
29
  'ld-data-iterator'?: string;
29
30
  'ld-pager'?: string;
30
- },
31
+ 'ld-edit-list-box'?: string;
32
+ 'ld-time'?: string;
33
+ };
31
34
  viewport?: {
32
35
  isMobile: string;
33
36
  isTablet: string;
34
37
  isDesktop: string;
35
- },
38
+ };
36
39
  language?: string;
37
40
  LdIcon?: {
38
41
  path: string;
39
42
  map: {
40
43
  icons: Array<[string, string]>;
41
- }
42
- },
44
+ };
45
+ };
43
46
  LdBreadcrumbs?: {
44
47
  home: {
45
48
  name: string;
46
49
  path: string;
47
- }
48
- },
50
+ };
51
+ };
49
52
  LdTabs?: {
50
53
  header: string;
51
- }
54
+ };
52
55
  LdPager?: {
53
56
  entityName: (contentType: unknown, count: number) => string;
54
- }
57
+ };
55
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldmjs/ui",
3
- "version": "1.0.60",
3
+ "version": "1.0.62",
4
4
  "description": "ldm ui",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -17,18 +17,15 @@
17
17
  },
18
18
  "repository": {
19
19
  "type": "git",
20
- "url": "https://github.com/ldmjs/ui.git"
20
+ "url": ""
21
21
  },
22
22
  "keywords": [
23
23
  "ldm",
24
24
  "ui"
25
25
  ],
26
- "author": "ldmjs <nevezhin@lanit.ru>",
26
+ "author": "LANIT",
27
27
  "license": "MIT",
28
- "bugs": {
29
- "url": "https://github.com/ldmjs/ui/issues"
30
- },
31
- "homepage": "https://github.com/ldmjs/ui#readme",
28
+ "homepage": "",
32
29
  "files": [
33
30
  "dist/"
34
31
  ],
@@ -43,7 +40,6 @@
43
40
  "@babel/preset-env": "7.23.6",
44
41
  "@babel/preset-typescript": "7.23.3",
45
42
  "@floating-ui/dom": "1.6.3",
46
- "@ldmjs/core": "1.0.0",
47
43
  "@ldmjs/datatable": "1.0.9",
48
44
  "@ldmjs/editor": "1.0.1",
49
45
  "@ldmjs/treeview": "1.0.1",
@@ -67,6 +63,14 @@
67
63
  "cross-env": "7.0.3",
68
64
  "css-loader": "6.8.1",
69
65
  "eslint": "8.56.0",
66
+ "eslint-config-prettier": "8.10.0",
67
+ "eslint-formatter-friendly": "7.0.0",
68
+ "eslint-plugin-prettier": "5.1.3",
69
+ "eslint-plugin-promise": "5.1.0",
70
+ "eslint-plugin-simple-import-sort": "10.0.0",
71
+ "eslint-plugin-vue": "9.21.1",
72
+ "eslint-plugin-vuetify": "2.1.1",
73
+ "eslint-webpack-plugin": "3.2.0",
70
74
  "html-webpack-plugin": "5.6.0",
71
75
  "imask": "7.6.1",
72
76
  "jest": "29.2.2",
@@ -78,6 +82,7 @@
78
82
  "md-editor-v3": "4.15.6",
79
83
  "mini-css-extract-plugin": "2.8.0",
80
84
  "postcss-loader": "7.3.3",
85
+ "prettier": "3.4.2",
81
86
  "sass": "1.83.0",
82
87
  "sass-loader": "16.0.3",
83
88
  "style-loader": "4.0.0",
@@ -93,13 +98,15 @@
93
98
  "vue-loader": "17.4.2",
94
99
  "vue-property-decorator": "10.0.0-rc.3",
95
100
  "vue-screen-utils": "1.0.0-beta.13",
96
- "vue-toastification": "2.0.0-rc.5",
97
101
  "vuetify": "3.8.0",
98
102
  "webpack": "5.97.1",
99
103
  "webpack-cli": "5.1.4",
100
104
  "webpack-dev-server": "5.1.0",
101
105
  "webpack-plugin-vuetify": "3.0.3"
102
106
  },
107
+ "dependencies": {
108
+ "@ldmjs/core": "1.0.0"
109
+ },
103
110
  "volta": {
104
111
  "node": "18.20.3",
105
112
  "yarn": "4.5.0"