@ldmjs/ui 2.1.13 → 2.1.15

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 (48) hide show
  1. package/dist/components/ld-avatar.js +1 -1
  2. package/dist/components/ld-badge.js +1 -1
  3. package/dist/components/ld-breadcrumbs.js +1 -1
  4. package/dist/components/ld-button.js +1 -1
  5. package/dist/components/ld-calendar.js +1 -1
  6. package/dist/components/ld-checkbox.js +1 -1
  7. package/dist/components/ld-chip.js +1 -1
  8. package/dist/components/ld-combobox.js +1 -1
  9. package/dist/components/ld-data-iterator.js +1 -1
  10. package/dist/components/ld-datepicker.js +1 -1
  11. package/dist/components/ld-daterange.js +1 -1
  12. package/dist/components/ld-dialog.js +1 -1
  13. package/dist/components/ld-edit-list-box.js +1 -1
  14. package/dist/components/ld-edit-masked-text.js +1 -1
  15. package/dist/components/ld-edit-text.js +1 -1
  16. package/dist/components/ld-expansion-panel.js +1 -1
  17. package/dist/components/ld-expansion-panels.js +1 -1
  18. package/dist/components/ld-icon.js +1 -1
  19. package/dist/components/ld-loader.js +1 -1
  20. package/dist/components/ld-page-toolbar.js +1 -1
  21. package/dist/components/ld-pager.js +1 -1
  22. package/dist/components/ld-progress.js +1 -1
  23. package/dist/components/ld-radiobutton.js +1 -1
  24. package/dist/components/ld-radiogroup.js +1 -1
  25. package/dist/components/ld-select-list-box.js +1 -1
  26. package/dist/components/ld-select.js +1 -1
  27. package/dist/components/ld-slider.js +1 -1
  28. package/dist/components/ld-splitter.js +1 -1
  29. package/dist/components/ld-step.js +1 -1
  30. package/dist/components/ld-switch.js +1 -1
  31. package/dist/components/ld-tab.js +1 -1
  32. package/dist/components/ld-tabs.js +1 -1
  33. package/dist/components/ld-text-markup.js +1 -1
  34. package/dist/components/ld-text-viewer.js +1 -1
  35. package/dist/components/ld-textarea.js +1 -1
  36. package/dist/components/ld-timepicker.js +1 -1
  37. package/dist/components/ld-toggle-buttons.js +1 -1
  38. package/dist/components/ld-uploader.js +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/lib/runtime-template.js +1 -1
  41. package/dist/lib/toastification.js +1 -1
  42. package/dist/scss/_checkbox.scss +49 -57
  43. package/dist/scss/_dialogs.scss +5 -7
  44. package/dist/scss/_fonts.scss +14 -2
  45. package/dist/scss/_inputs.scss +7 -1
  46. package/dist/types/dialogs.d.ts +4 -0
  47. package/dist/utils/validators.js +1 -1
  48. package/package.json +2 -2
@@ -1,9 +1,27 @@
1
+ @use "sass:list";
2
+
1
3
  :root {
2
4
  --checkbox-s: 16px;
3
5
  --checkbox-m: 20px;
4
6
  --checkbox-l: 24px;
5
7
  }
6
8
 
9
+ $colors: (
10
+ "primary": (
11
+ // default color
12
+ var(--primary),
13
+ // hover color
14
+ var(--primary-d-1),
15
+ // active color
16
+ var(--primary-d-2)
17
+ ),
18
+ "error": (
19
+ var(--error),
20
+ var(--error-d-1),
21
+ var(--error-d-2),
22
+ ),
23
+ );
24
+
7
25
  body {
8
26
  .ld-checkbox {
9
27
  position: relative;
@@ -146,74 +164,48 @@ body {
146
164
  border-color: $color;
147
165
  }
148
166
 
149
- // ---------- primary
150
-
151
- &.text-primary {
152
- input[type='checkbox']:checked + .ld-checkbox-icon {
153
- @include checkboxiconcolor(var(--primary));
154
- &:hover {
155
- @include checkboxiconcolor(var(--primary-d-1));
156
- }
157
- }
158
-
159
- input[type='checkbox']:checked:focus + .ld-checkbox-icon {
160
- @include checkboxiconcolor(var(--focus));
161
- }
162
-
163
- input[type='checkbox']:checked:active + .ld-checkbox-icon {
164
- @include checkboxiconcolor(var(--primary-d-2));
165
- }
166
-
167
- &.ld-checkbox--hovered {
167
+ @each $color, $values in $colors {
168
+ $d: list.nth($values, 1);
169
+ $h: list.nth($values, 2);
170
+ $a: list.nth($values, 3);
171
+ &.text-#{$color} {
168
172
  input[type='checkbox']:checked + .ld-checkbox-icon {
169
- @include checkboxiconcolor(var(--primary-d-1));
173
+ @include checkboxiconcolor($d);
170
174
  }
171
- }
172
175
 
173
- &.ld-checkbox--focused {
174
- label {
175
- &:after {
176
- border: 2px solid var(--focus);
176
+ &:not(.ld-checkbox--readonly) {
177
+ input[type='checkbox']:checked + .ld-checkbox-icon {
178
+ &:hover {
179
+ @include checkboxiconcolor($h);
180
+ }
177
181
  }
178
- }
179
- }
180
- }
181
182
 
182
- // ---------- error
183
+ input[type='checkbox']:checked:focus + .ld-checkbox-icon {
184
+ @include checkboxiconcolor(var(--focus));
185
+ }
183
186
 
184
- &.text-error {
185
- input[type='checkbox']:checked + .ld-checkbox-icon {
186
- @include checkboxiconcolor(var(--error));
187
- &:hover {
188
- @include checkboxiconcolor(var(--error-d-1));
187
+ input[type='checkbox']:checked:active + .ld-checkbox-icon {
188
+ @include checkboxiconcolor($a);
189
+ }
189
190
  }
190
- }
191
-
192
- input[type='checkbox']:checked:focus + .ld-checkbox-icon {
193
- @include checkboxiconcolor(var(--focus));
194
- }
195
-
196
- input[type='checkbox']:checked:active + .ld-checkbox-icon {
197
- @include checkboxiconcolor(var(--error-d-2));
198
- }
199
191
 
200
- &.ld-checkbox--hovered {
201
- input[type='checkbox']:checked + .ld-checkbox-icon {
202
- @include checkboxiconcolor(var(--error-d-1));
192
+ &.ld-checkbox--hovered {
193
+ input[type='checkbox']:checked + .ld-checkbox-icon {
194
+ @include checkboxiconcolor($h);
195
+ }
203
196
  }
204
- }
205
197
 
206
- &.ld-checkbox--focused {
207
- label {
208
- &:after {
209
- border: 2px solid var(--focus);
198
+ &.ld-checkbox--focused {
199
+ label {
200
+ &:after {
201
+ border: 2px solid var(--focus);
202
+ }
210
203
  }
211
204
  }
212
205
  }
213
206
  }
214
207
 
215
- &.ld-checkbox--disabled,
216
- &.ld-checkbox--readonly {
208
+ &.ld-checkbox--disabled {
217
209
  input[type='checkbox'] + .ld-checkbox-icon {
218
210
  @include checkboxiconcolor(var(--grey-l-5));
219
211
  svg {
@@ -230,15 +222,15 @@ body {
230
222
  }
231
223
  }
232
224
 
233
- &.ld-checkbox--disabled {
225
+ &.ld-checkbox--readonly {
234
226
  .ld-label-content {
235
- color: var(--grey-l-2);
227
+ color: var(--grey-d-3);
236
228
  }
237
229
  }
238
230
 
239
- &.ld-checkbox--readonly {
231
+ &.ld-checkbox--disabled {
240
232
  .ld-label-content {
241
- color: var(--grey-d-3);
233
+ color: var(--grey-l-2);
242
234
  }
243
235
  }
244
236
  }
@@ -51,11 +51,6 @@ body {
51
51
  }
52
52
  }
53
53
 
54
- &.ld-dialog--hidden {
55
- visibility: hidden !important;
56
- opacity: 0 !important;
57
- }
58
-
59
54
  .ld-dialog-content.v-overlay__content {
60
55
  max-width: unset;
61
56
  max-height: unset;
@@ -134,8 +129,11 @@ body {
134
129
  }
135
130
  }
136
131
  &.ld-dialog-content--hidden {
137
- visibility: hidden !important;
138
- opacity: 0 !important;
132
+ position: absolute;
133
+ clip: rect(0 0 0 0);
134
+ width: 1px;
135
+ height: 1px;
136
+ margin: -1px;
139
137
  }
140
138
  }
141
139
  }
@@ -23,8 +23,8 @@
23
23
  $font-size: 12px !default; // основной шрифт приложения
24
24
 
25
25
  $regular: "Roboto Regular";
26
- $semibold: "Roboto Semi Bold";
27
26
  $medium: "Roboto Medium";
27
+ $semibold: "Roboto Semi Bold";
28
28
 
29
29
  :root {
30
30
  --font-size: #{$font-size}; // 12px
@@ -43,8 +43,8 @@ $medium: "Roboto Medium";
43
43
  --heading-2: calc(#{$font-size} * 4 - 4px); // 44px
44
44
  --heading-1: calc(#{$font-size} * 4 + 2px); // 50px
45
45
  --regular: #{$regular};
46
- --semibold: #{$semibold};
47
46
  --medium: #{$medium};
47
+ --semibold: #{$semibold};
48
48
  }
49
49
 
50
50
  html,
@@ -119,6 +119,18 @@ body {
119
119
  font-size: var(--text-body-x);
120
120
  }
121
121
 
122
+ .font-reqular {
123
+ font-family: var(--regular);
124
+ }
125
+
126
+ .font-semibold {
127
+ font-family: var(--semibold);
128
+ }
129
+
130
+ .font-medium {
131
+ font-family: var(--medium);
132
+ }
133
+
122
134
  .text-ellipsis {
123
135
  display: block;
124
136
  white-space: nowrap;
@@ -74,7 +74,7 @@ $colors: (
74
74
  $label-on-top: utils.getSelector($parent, '--label-on-top');
75
75
  @include utils.not-class(utils.getSelector($parent, '--label-on-top')) {
76
76
  .ld-label {
77
- height: $size;
77
+ min-height: $size;
78
78
  }
79
79
  }
80
80
  &#{utils.getSelector($parent, '--label-on-top')} {
@@ -995,6 +995,12 @@ body {
995
995
  }
996
996
  }
997
997
 
998
+ .v-combobox {
999
+ .v-combobox__selection {
1000
+ height: auto !important;
1001
+ }
1002
+ }
1003
+
998
1004
  .v-menu.ld-datepicker-menu {
999
1005
  .ld-datepicker-dropdown {
1000
1006
  padding: 0 !important;
@@ -16,6 +16,8 @@ export interface IInterativeDialogProps extends IDialogProps {
16
16
  fullHeight?: boolean;
17
17
  okTitle?: string;
18
18
  cancelTitle?: string;
19
+ okColor?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'grey';
20
+ cancelColor?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'grey';
19
21
  closable?: boolean;
20
22
  hideFooter?: boolean;
21
23
  }
@@ -68,6 +70,8 @@ export interface IModalInfo {
68
70
  selectAsOk?: boolean;
69
71
  okTitle?: string;
70
72
  cancelTitle?: string;
73
+ okColor?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'grey';
74
+ cancelColor?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'grey';
71
75
  okResult?: number | string | boolean | IModalResult<IViewModel<number | string>>;
72
76
  cancelResult?: number | string | boolean | IModalResult<IViewModel<number | string>>;
73
77
  settedResult?: boolean;
@@ -1 +1 @@
1
- (function webpackUniversalModuleDefinition(e,l){"object"===typeof exports&&"object"===typeof module?module.exports=l(require("@vuelidate/validators")):"function"===typeof define&&define.amd?define(["@vuelidate/validators"],l):"object"===typeof exports?exports["ldmui"]=l(require("@vuelidate/validators")):e["ldmui"]=l(e["@vuelidate/validators"])})(self,e=>(()=>{"use strict";var l={887(l){l.exports=e}},r={};function __webpack_require__(e){var u=r[e];if(void 0!==u)return u.exports;var t=r[e]={exports:{}};return l[e](t,t.exports,__webpack_require__),t.exports}(()=>{__webpack_require__.n=e=>{var l=e&&e.__esModule?()=>e["default"]:()=>e;return __webpack_require__.d(l,{a:l}),l}})(),(()=>{__webpack_require__.d=(e,l)=>{for(var r in l)__webpack_require__.o(l,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:l[r]})}})(),(()=>{__webpack_require__.o=(e,l)=>Object.prototype.hasOwnProperty.call(e,l)})(),(()=>{__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var u={};__webpack_require__.r(u),__webpack_require__.d(u,{alphaNumRule:()=>alphaNumRule,alphaRule:()=>alphaRule,betweenRule:()=>betweenRule,decimalRule:()=>decimalRule,default:()=>a,emailRule:()=>emailRule,integerRule:()=>integerRule,ipAddressRule:()=>ipAddressRule,macAddressRule:()=>macAddressRule,maxLengthRule:()=>maxLengthRule,maxValueRule:()=>maxValueRule,minValueRule:()=>minValueRule,numericRule:()=>numericRule,phoneRule:()=>phoneRule,requiredRule:()=>requiredRule,urlRule:()=>urlRule,validators:()=>o});var t=__webpack_require__(887);const requiredRule=(e,l)=>r=>{if(null==r||"string"===typeof r&&""===r)return e?`Поле ${e} обязательно`:l||"Это поле обязательно";const u=t.required.$validator(r,null,null);return!("boolean"!==typeof u||!u)||(e?`Поле ${e} обязательно`:l||"Это поле обязательно")},maxLengthRule=e=>l=>{const r=(0,t.maxLength)(e).$validator(l,null,null);return!("boolean"!==typeof r||!r)||`Значение должно быть меньше ${e} символов`},alphaRule=()=>e=>{const l=t.alpha.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только латинские буквы"},alphaNumRule=()=>e=>{const l=t.alphaNum.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только латинские буквы и цифры"},betweenRule=(e,l)=>r=>{const u=(0,t.between)(e,l).$validator(r,null,null);return!("boolean"!==typeof u||!u)||`Значение должно быть в диапазоне от ${e} до ${l}`},decimalRule=()=>e=>{const l=t.decimal.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Значение должно быть целым или дробным числом"},emailRule=()=>e=>{const l=t.email.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неверный формат адреса эл.почты"},integerRule=()=>e=>{const l=t.integer.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Значение должно быть целым числом"},ipAddressRule=()=>e=>{const l=t.ipAddress.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат IP-адреса"},macAddressRule=()=>e=>{const l=(0,t.macAddress)(":").$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат mac-адреса"},maxValueRule=e=>l=>{const r=(0,t.maxValue)(e).$validator(l,null,null);return!("boolean"!==typeof r||!r)||`Значение должно быть меньше ${e}`},minValueRule=e=>l=>{const r=(0,t.minValue)(e).$validator(l,null,null);return!("boolean"!==typeof r||!r)||`Значение должно быть больше ${e}`},numericRule=()=>e=>{const l=t.numeric.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только цифры"},urlRule=()=>e=>{const l=t.url.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат URI"},phoneRule=()=>e=>{const l=/^[\d()+-]+$/;return l.test(e)||"Неправильный формат телефона"},o={requiredRule,maxLengthRule,alphaRule,alphaNumRule,betweenRule,decimalRule,emailRule,integerRule,ipAddressRule,macAddressRule,maxValueRule,minValueRule,numericRule,urlRule,phoneRule},a={};return u})());
1
+ (function webpackUniversalModuleDefinition(e,l){"object"===typeof exports&&"object"===typeof module?module.exports=l(require("@vuelidate/validators")):"function"===typeof define&&define.amd?define(["@vuelidate/validators"],l):"object"===typeof exports?exports["ldmui"]=l(require("@vuelidate/validators")):e["ldmui"]=l(e["@vuelidate/validators"])})(self,e=>(()=>{"use strict";var l={9347(e,l,u){Object.defineProperty(l,"__esModule",{value:!0}),l.validators=l.phoneRule=l.urlRule=l.numericRule=l.minValueRule=l.maxValueRule=l.macAddressRule=l.ipAddressRule=l.integerRule=l.emailRule=l.decimalRule=l.betweenRule=l.alphaNumRule=l.alphaRule=l.maxLengthRule=l.requiredRule=void 0;const n=u(887),requiredRule=(e,l)=>u=>{if(null==u||"string"===typeof u&&""===u)return e?`Поле ${e} обязательно`:l||"Это поле обязательно";const t=n.required.$validator(u,null,null);return!("boolean"!==typeof t||!t)||(e?`Поле ${e} обязательно`:l||"Это поле обязательно")};l.requiredRule=requiredRule;const maxLengthRule=e=>l=>{const u=(0,n.maxLength)(e).$validator(l,null,null);return!("boolean"!==typeof u||!u)||`Значение должно быть меньше ${e} символов`};l.maxLengthRule=maxLengthRule;const alphaRule=()=>e=>{const l=n.alpha.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только латинские буквы"};l.alphaRule=alphaRule;const alphaNumRule=()=>e=>{const l=n.alphaNum.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только латинские буквы и цифры"};l.alphaNumRule=alphaNumRule;const betweenRule=(e,l)=>u=>{const t=(0,n.between)(e,l).$validator(u,null,null);return!("boolean"!==typeof t||!t)||`Значение должно быть в диапазоне от ${e} до ${l}`};l.betweenRule=betweenRule;const decimalRule=()=>e=>{const l=n.decimal.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Значение должно быть целым или дробным числом"};l.decimalRule=decimalRule;const emailRule=()=>e=>{const l=n.email.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неверный формат адреса эл.почты"};l.emailRule=emailRule;const integerRule=()=>e=>{const l=n.integer.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Значение должно быть целым числом"};l.integerRule=integerRule;const ipAddressRule=()=>e=>{const l=n.ipAddress.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат IP-адреса"};l.ipAddressRule=ipAddressRule;const macAddressRule=()=>e=>{const l=(0,n.macAddress)(":").$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат mac-адреса"};l.macAddressRule=macAddressRule;const maxValueRule=e=>l=>{const u=(0,n.maxValue)(e).$validator(l,null,null);return!("boolean"!==typeof u||!u)||`Значение должно быть меньше ${e}`};l.maxValueRule=maxValueRule;const minValueRule=e=>l=>{const u=(0,n.minValue)(e).$validator(l,null,null);return!("boolean"!==typeof u||!u)||`Значение должно быть больше ${e}`};l.minValueRule=minValueRule;const numericRule=()=>e=>{const l=n.numeric.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Разрешены только цифры"};l.numericRule=numericRule;const urlRule=()=>e=>{const l=n.url.$validator(e,null,null);return!("boolean"!==typeof l||!l)||"Неправильный формат URI"};l.urlRule=urlRule;const phoneRule=()=>e=>{const l=/^[\d()+-]+$/;return l.test(e)||"Неправильный формат телефона"};l.phoneRule=phoneRule,l.validators={requiredRule:l.requiredRule,maxLengthRule:l.maxLengthRule,alphaRule:l.alphaRule,alphaNumRule:l.alphaNumRule,betweenRule:l.betweenRule,decimalRule:l.decimalRule,emailRule:l.emailRule,integerRule:l.integerRule,ipAddressRule:l.ipAddressRule,macAddressRule:l.macAddressRule,maxValueRule:l.maxValueRule,minValueRule:l.minValueRule,numericRule:l.numericRule,urlRule:l.urlRule,phoneRule:l.phoneRule},l["default"]={}},887(l){l.exports=e}},u={};function __webpack_require__(e){var n=u[e];if(void 0!==n)return n.exports;var t=u[e]={exports:{}};return l[e](t,t.exports,__webpack_require__),t.exports}var n=__webpack_require__(9347);return n})());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldmjs/ui",
3
- "version": "2.1.13",
3
+ "version": "2.1.15",
4
4
  "description": "ldm ui",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -32,7 +32,7 @@
32
32
  "@babel/plugin-transform-typescript": "7.28.0",
33
33
  "@babel/preset-env": "7.28.3",
34
34
  "@babel/preset-typescript": "7.27.1",
35
- "@ldmjs/datatable": "2.0.5",
35
+ "@ldmjs/datatable": "2.0.7",
36
36
  "@ldmjs/editor": "2.0.0",
37
37
  "@ldmjs/treeview": "2.0.3",
38
38
  "@popperjs/core": "2.11.8",