@ldmjs/ui 1.0.89 → 2.0.0-beta.0

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 (101) hide show
  1. package/README.md +39 -94
  2. package/dist/components/ld-avatar.js +1 -0
  3. package/dist/components/ld-badge.js +1 -0
  4. package/dist/components/ld-breadcrumbs.js +1 -0
  5. package/dist/components/ld-button.js +1 -0
  6. package/dist/components/ld-calendar.js +1 -0
  7. package/dist/components/ld-checkbox.js +1 -0
  8. package/dist/components/ld-chip.js +1 -0
  9. package/dist/components/ld-combobox.js +1 -0
  10. package/dist/components/ld-data-iterator.js +1 -0
  11. package/dist/components/ld-datepicker.js +1 -0
  12. package/dist/components/ld-dialog.js +1 -0
  13. package/dist/components/ld-edit-list-box.js +1 -0
  14. package/dist/components/ld-edit-masked-text.js +1 -0
  15. package/dist/components/ld-edit-text.js +1 -0
  16. package/dist/components/ld-icon.js +1 -0
  17. package/dist/components/ld-loader.js +1 -0
  18. package/dist/components/ld-page-toolbar.js +1 -0
  19. package/dist/components/ld-pager.js +1 -0
  20. package/dist/components/ld-progress.js +1 -0
  21. package/dist/components/ld-radiobutton.js +1 -0
  22. package/dist/components/ld-radiogroup.js +1 -0
  23. package/dist/components/ld-select-list-box.js +1 -0
  24. package/dist/components/ld-select.js +1 -0
  25. package/dist/components/ld-slider.js +1 -0
  26. package/dist/components/ld-splitter.js +1 -0
  27. package/dist/components/ld-step.js +1 -0
  28. package/dist/components/ld-switch.js +1 -0
  29. package/dist/components/ld-tab.js +1 -0
  30. package/dist/components/ld-tabs.js +1 -0
  31. package/dist/components/ld-text-markup.js +1 -0
  32. package/dist/components/ld-text-viewer.js +1 -0
  33. package/dist/components/ld-textarea.js +1 -0
  34. package/dist/components/ld-timepicker.js +1 -0
  35. package/dist/components/ld-toggle-buttons.js +1 -0
  36. package/dist/components/ld-uploader.js +1 -0
  37. package/dist/fonts/Roboto-Medium.ttf +0 -0
  38. package/dist/fonts/Roboto-Medium.woff +0 -0
  39. package/dist/fonts/Roboto-Medium.woff2 +0 -0
  40. package/dist/fonts/Roboto-SemiBold.ttf +0 -0
  41. package/dist/fonts/Roboto-SemiBold.woff +0 -0
  42. package/dist/fonts/Roboto-SemiBold.woff2 +0 -0
  43. package/dist/i18n/ru/ru-Ru.json +49 -2
  44. package/dist/index.d.ts +18 -15
  45. package/dist/index.js +1 -21178
  46. package/dist/lib/runtime-template.js +1 -1
  47. package/dist/lib/toastification.js +1 -1
  48. package/dist/scss/_animations.scss +31 -12
  49. package/dist/scss/_avatar.scss +333 -0
  50. package/dist/scss/_badge.scss +128 -0
  51. package/dist/scss/_breadcrumbs.scss +133 -17
  52. package/dist/scss/_buttons.scss +584 -282
  53. package/dist/scss/_calendar.scss +154 -51
  54. package/dist/scss/_checkbox.scss +245 -0
  55. package/dist/scss/_chip.scss +163 -63
  56. package/dist/scss/_colors.scss +21 -19
  57. package/dist/scss/_dialogs.scss +285 -178
  58. package/dist/scss/_editor.scss +146 -0
  59. package/dist/scss/_fonts.scss +115 -0
  60. package/dist/scss/_inputs.scss +905 -138
  61. package/dist/scss/_loader.scss +163 -0
  62. package/dist/scss/_pager.scss +83 -16
  63. package/dist/scss/_progress.scss +282 -0
  64. package/dist/scss/_radiobutton.scss +218 -0
  65. package/dist/scss/_radiogroup.scss +86 -0
  66. package/dist/scss/_scroll.scss +65 -0
  67. package/dist/scss/_shadows.scss +47 -0
  68. package/dist/scss/_slider.scss +53 -0
  69. package/dist/scss/_splitter.scss +60 -0
  70. package/dist/scss/_step.scss +179 -0
  71. package/dist/scss/_switch.scss +192 -0
  72. package/dist/scss/_tabs.scss +318 -0
  73. package/dist/scss/_textmarkup.scss +47 -0
  74. package/dist/scss/_textviewer.scss +13 -0
  75. package/dist/scss/_toasted.scss +44 -22
  76. package/dist/scss/_toggle.scss +125 -0
  77. package/dist/scss/_toolbar.scss +40 -1
  78. package/dist/scss/_tooltip.scss +30 -0
  79. package/dist/scss/_treeview.scss +35 -0
  80. package/dist/scss/_uploader.scss +167 -0
  81. package/dist/scss/_variables.scss +5 -27
  82. package/dist/scss/index.scss +140 -16
  83. package/dist/scss/utils.scss +17 -0
  84. package/dist/types/breadcrumbs.d.ts +2 -0
  85. package/dist/types/calendar.d.ts +8 -73
  86. package/dist/types/combobox.d.ts +10 -0
  87. package/dist/types/dialogs.d.ts +26 -1
  88. package/dist/types/form.d.ts +6 -0
  89. package/dist/types/options.d.ts +8 -1
  90. package/dist/types/toasted.d.ts +4 -4
  91. package/dist/utils/validators.js +1 -1
  92. package/package.json +122 -120
  93. package/dist/css/calendar.css +0 -1066
  94. package/dist/css/index.css +0 -20
  95. package/dist/css/root.css +0 -86
  96. package/dist/lib/calendar.js +0 -1
  97. package/dist/lib/floating.js +0 -1
  98. package/dist/lib/multiselect.js +0 -1
  99. package/dist/scss/_multiselect.scss +0 -170
  100. package/dist/scss/_toasted-old.scss +0 -408
  101. package/dist/scss/index-old.scss +0 -16
@@ -0,0 +1,125 @@
1
+ @use "sass:list";
2
+
3
+ $sizearray: (
4
+ "small": (
5
+ // font size
6
+ var(--text-body-s),
7
+ // height
8
+ var(--button-xs),
9
+ // radius
10
+ var(--border-radius),
11
+ // icon padding
12
+ 12px
13
+ ),
14
+ "large": (
15
+ var(--text-body-m),
16
+ var(--button-s),
17
+ var(--border-radius),
18
+ 16px,
19
+ ),
20
+ "x-large": (
21
+ var(--text-body-l),
22
+ var(--button-m),
23
+ var(--border-radius),
24
+ 20px,
25
+ ),
26
+ );
27
+
28
+ body {
29
+ .ld-toggle-buttons {
30
+ width: max-content;
31
+ & > div {
32
+ display: grid;
33
+ grid-auto-flow: column;
34
+ gap: 8px;
35
+ background-color: var(--grey-l-6);
36
+ width: max-content;
37
+ padding: 4px;
38
+
39
+ .ld-toggle-button {
40
+ position: relative;
41
+ display: flex;
42
+ justify-content: center;
43
+ align-items: center;
44
+ font-family: var(--medium);
45
+ color: var(--grey-d-3);
46
+ transition: all 0.1s;
47
+
48
+ .ld-toggle-button-content {
49
+ display: grid;
50
+ align-items: center;
51
+ grid-auto-flow: column;
52
+ gap: 8px;
53
+ }
54
+
55
+ &:hover {
56
+ color: var(--text);
57
+ }
58
+
59
+ &.ld-toggle-button--selected {
60
+ background-color: var(--white);
61
+ color: var(--primary);
62
+ }
63
+
64
+ &[disabled] {
65
+ color: var(--grey-l-2);
66
+ }
67
+
68
+ &:after {
69
+ content: '';
70
+ display: block;
71
+ position: absolute;
72
+ top: -2px;
73
+ left: -2px;
74
+ width: calc(100% + 4px);
75
+ height: calc(100% + 4px);
76
+ border: 2px solid var(--focus);
77
+ border-radius: calc(var(--border-radius) + 4px);
78
+ opacity: 0;
79
+ }
80
+
81
+
82
+ &:focus-visible {
83
+ &:after {
84
+ opacity: 1;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ @each $size, $values in $sizearray {
91
+ $f: list.nth($values, 1);
92
+ $h: list.nth($values, 2);
93
+ $r: list.nth($values, 3);
94
+ $p: list.nth($values, 4);
95
+ &.ld-toggle-buttons--#{$size} {
96
+ & > div {
97
+ border-radius: calc($r + 4px);
98
+
99
+ .ld-toggle-button {
100
+ font-size: $f;
101
+ min-width: $h;
102
+ height: $h;
103
+ border-radius: $r;
104
+
105
+ &:not(.ld-toggle-button--icon) {
106
+ padding: 0 $p;
107
+ }
108
+ }
109
+ }
110
+ &.ld-toggle-buttons--rounded {
111
+ & > div {
112
+ border-radius: $h;
113
+ .ld-toggle-button {
114
+ border-radius: calc($h - 6px);
115
+
116
+ &:after {
117
+ border-radius: calc($h - 6px + 4px);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
@@ -13,4 +13,43 @@
13
13
  .v-toolbar__content > .v-btn:last-child {
14
14
  margin-inline-end: 0;
15
15
  }
16
- }
16
+ }
17
+
18
+ body {
19
+ .ld-page-toolbar {
20
+ position: relative;
21
+ background-color: var(--white);
22
+ box-shadow: var(--shadow-sm);
23
+ z-index: 1;
24
+
25
+ &-wrapper {
26
+ display: grid;
27
+ width: 100%;
28
+ height: 100%;
29
+ padding: 0 12px;
30
+
31
+ &:not(.--preview) {
32
+ grid-template-columns: 100%;
33
+ grid-template-rows: var(--input-height);
34
+ row-gap: 4px;
35
+ }
36
+
37
+ &.--preview {
38
+ grid-template-columns: 1fr;
39
+ }
40
+ }
41
+
42
+ &-title {
43
+ display: grid;
44
+ grid-template-rows: 100%;
45
+ padding: 0 8px;
46
+ }
47
+
48
+ &-inner {
49
+ display: grid;
50
+ grid-template-rows: 100%;
51
+ grid-template-columns: 1fr max-content;
52
+ column-gap: 8px;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,30 @@
1
+ body {
2
+ .v-tooltip {
3
+ .v-overlay__content {
4
+ font-family: var(--regular);
5
+ font-size: var(--text-body-s);
6
+ line-height: 20px;
7
+
8
+ border-radius: var(--border-radius);
9
+ box-shadow: var(--shadow-m);
10
+
11
+ &.bg-dark {
12
+ background-color: var(--dark);
13
+ color: var(--white);
14
+ }
15
+
16
+ &.bg-light {
17
+ background-color: var(--white);
18
+ color: var(--grey-d-3);
19
+ }
20
+
21
+ &.ld-tooltip {
22
+ padding: 10px 12px;
23
+ }
24
+
25
+ &.ld-popover {
26
+ padding: 20px;
27
+ }
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,35 @@
1
+ body {
2
+ .ld-tree-view {
3
+ .ld-tree-view__category {
4
+ .ld-tree-view__item {
5
+ font-family: var(--medium);
6
+ font-size: var(--text-body-s);
7
+ color: var(--text);
8
+ min-height: var(--input-s);
9
+
10
+ .ld-tree-view__opener {
11
+ color: var(--grey-d-3);
12
+ }
13
+ }
14
+
15
+ &--selected {
16
+ & > .ld-tree-view__item {
17
+ color: var(--primary-d-1);
18
+ background-color: var(--primary-l-5);
19
+ }
20
+ }
21
+ }
22
+
23
+ &--hovered {
24
+ & > ul {
25
+ & > li {
26
+ & > .ld-tree-view__item {
27
+ &:hover {
28
+ background-color: var(--primary-l-6);
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,167 @@
1
+ body {
2
+ .ld-uploader {
3
+ position: relative;
4
+
5
+ .v-card-text {
6
+ padding: 0 !important;
7
+ }
8
+
9
+ input[type="file"] {
10
+ position: absolute;
11
+ top: 0;
12
+ left: 0;
13
+ width: 0;
14
+ height: 0;
15
+ opacity: 0;
16
+ }
17
+
18
+ .ld-label-content {
19
+ color: var(--grey-d-1) !important;
20
+ }
21
+
22
+ .ld-uploader-droparea {
23
+ position: relative;
24
+ border: 1px dashed var(--grey-l-3);
25
+ border-radius: 8px;
26
+ margin-bottom: 8px;
27
+ transition: all 0.2s;
28
+
29
+ &:hover {
30
+ background-color: var(--primary-l-6);
31
+ border-color: var(--primary-l-2);
32
+
33
+ .ld-uploader-placeholder {
34
+ svg {
35
+ color: var(--primary-d-1);
36
+ }
37
+ }
38
+ }
39
+ }
40
+
41
+ .ld-uploader-max {
42
+ display: flex;
43
+ justify-content: center;
44
+ font-size: var(--font-size);
45
+ color: var(--grey-d-1);
46
+ }
47
+
48
+ .ld-uploader-placeholder {
49
+ display: flex;
50
+ justify-content: center;
51
+ align-items: center;
52
+ font-size: var(--text-body-s);
53
+ font-weight: 500;
54
+
55
+ span {
56
+ line-height: 21px;
57
+ color: var(--grey-d-3);
58
+ }
59
+ }
60
+
61
+ .ld-uploader-validate {
62
+ font-size: var(--font-size);
63
+ height: 20px;
64
+ }
65
+
66
+ .ld-uploader-items {
67
+ display: flex;
68
+ flex-direction: column;
69
+ padding-top: 24px;
70
+ max-width: 90%;
71
+ }
72
+
73
+ .ld-uploader-item {
74
+ display: flex;
75
+ margin-bottom: 24px;
76
+
77
+ &-icon {
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ width: 36px;
82
+ height: 36px;
83
+ background-color: var(--primary-l-6);
84
+ border-radius: 36px;
85
+ color: var(--primary-d-1);
86
+ }
87
+ }
88
+
89
+ .ld-uploader-progress {
90
+ margin-top: 6px;
91
+ }
92
+
93
+ // ------------- x-small
94
+
95
+ &.ld-uploader--x-small {
96
+ .ld-uploader-droparea {
97
+ padding: 20px 0;
98
+
99
+ svg {
100
+ margin-right: 8px;
101
+ }
102
+ }
103
+ }
104
+
105
+ // ------------- small
106
+
107
+ &.ld-uploader--small {
108
+ .ld-uploader-droparea {
109
+ padding: 32px 0;
110
+
111
+ svg {
112
+ margin-bottom: 16px;
113
+ }
114
+ }
115
+ }
116
+
117
+ // ------------- large
118
+
119
+ &.ld-uploader--large {
120
+ .ld-uploader-droparea {
121
+ display: flex;
122
+ flex-direction: column;
123
+ justify-content: center;
124
+ padding: 0;
125
+
126
+ svg {
127
+ margin-bottom: 24px;
128
+ }
129
+ }
130
+ }
131
+
132
+ &.ld-uploader--drag {
133
+ .ld-uploader-droparea {
134
+ background-color: var(--primary-l-5);
135
+ border-color: var(--peimary-l-2);
136
+ }
137
+ }
138
+
139
+ &.ld-uploader--disabled {
140
+ .ld-uploader-droparea {
141
+ background-color: var(--grey-l-6);
142
+ border-color: var(--grey-l-3);
143
+
144
+ &:hover {
145
+ .ld-uploader-placeholder {
146
+ color: var(--grey-l-2);
147
+
148
+ svg {
149
+ color: var(--grey-l-2);
150
+ }
151
+ }
152
+ }
153
+ }
154
+ .ld-uploader-placeholder {
155
+ color: var(--grey-l-2);
156
+
157
+ svg {
158
+ color: var(--grey-l-2);
159
+ }
160
+ }
161
+
162
+ .ld-uploader-max {
163
+ color: var(--grey-l-2);
164
+ }
165
+ }
166
+ }
167
+ }
@@ -1,33 +1,11 @@
1
- $font-size: 12px !default; // основной шрифт приложения
2
- $input-height: 28px !default; // высота атомарного элемента ui (button, input)
1
+ $border-radius: 8px !default; // радиус скругления атомарного элемента ui
3
2
  $icon-height: 24px !default; // размеры обычной иконки
4
- $border-radius: 4px !default; // радиус скругления атомарного элемента ui
5
- $chip-height: 20px !default; // высота элемента chip
6
- $toolbar-height: 44px !default; // высота тулбара
7
- $toolbar-border-radius: 8px !default; // радиус скругления тулбара
8
- $pager-height: 32px !default;
9
-
10
- $ld-tab-height: $input-height + 10px; // высота элемента ld-tab
11
-
12
- $shadow-1: 0px 3px 4px 0px rgba(0, 0, 0, 0.14);
13
- $shadow-2: 0px 3px 4px 0px rgba(0, 0, 0, 0.20);
14
- $shadow-3: 0px 5px 6px 0px rgba(0, 0, 0, 0.30);
15
- $shadow-4: 0px 16px 20px 0px rgba(0, 0, 0, 0.20);
16
3
 
17
4
  :root {
18
- --font-size--1: #{calc(var(--font-size) - 1px)};
19
- --font-size: #{$font-size};
20
- --font-size-2: #{calc(var(--font-size) + 2px)};
21
- --input-height: #{$input-height};
5
+ --text: var(--grey-d-5);
6
+ --focus: var(--primary-d-1);
7
+ --highlight: var(--grey-d-1);
8
+ --white: hsla(255, 100%, 100%, 100%);
22
9
  --border-radius: #{$border-radius};
23
- --chip-height: #{$chip-height};
24
- --ld-tab-height: #{$ld-tab-height};
25
- --toolbar-height: #{$toolbar-height};
26
- --toolbar-border-radius: #{$toolbar-border-radius};
27
- --pager-height: #{$pager-height};
28
10
  --icon-height: #{$icon-height};
29
- --shadow-1: #{$shadow-1};
30
- --shadow-2: #{$shadow-2};
31
- --shadow-3: #{$shadow-3};
32
- --shadow-4: #{$shadow-4};
33
11
  }
@@ -1,16 +1,140 @@
1
- @use 'fonts';
2
- @use 'colors';
3
- @use 'variables';
4
- @use 'buttons';
5
- @use 'chip';
6
- @use 'breadcrumbs';
7
- @use 'inputs';
8
- @use 'calendar';
9
- @use 'toolbar';
10
- @use 'multiselect';
11
- @use 'animations';
12
- @use 'toasted';
13
- @use 'dialogs';
14
- @use 'iterator';
15
- @use 'pager';
16
- @use 'time';
1
+ @use "fonts";
2
+ @use "colors";
3
+ @use "shadows";
4
+ @use "scroll";
5
+ @use "tooltip";
6
+ @use "variables";
7
+ @use "buttons";
8
+ @use "checkbox";
9
+ @use "radiogroup";
10
+ @use "radiobutton";
11
+ @use "switch";
12
+ @use "chip";
13
+ @use "badge";
14
+ @use "avatar";
15
+ @use "breadcrumbs";
16
+ @use "loader";
17
+ @use "splitter";
18
+ @use "tabs";
19
+ @use "toggle";
20
+ @use "progress";
21
+ @use "inputs";
22
+ @use "calendar";
23
+ @use "toolbar";
24
+ @use "animations";
25
+ @use "toasted";
26
+ @use "dialogs";
27
+ @use "iterator";
28
+ @use "pager";
29
+ @use "time";
30
+ @use "uploader";
31
+ @use "step";
32
+ @use "slider";
33
+ @use "editor";
34
+ @use "treeview";
35
+ @use "textviewer";
36
+ @use "textmarkup";
37
+
38
+ @use 'vuetify' with (
39
+ $color-pack: false,
40
+ );
41
+
42
+ body {
43
+ .v-card {
44
+ background-color: var(--white);
45
+ }
46
+
47
+ .v-menu {
48
+ .v-overlay__content {
49
+ border-radius: var(--border-radius);
50
+ background-color: var(--white);
51
+ box-shadow: var(--shadow-l);
52
+
53
+ .v-list {
54
+ background-color: var(--white);
55
+
56
+ .v-list-item__overlay {
57
+ background-color: var(--grey-l-6);
58
+ }
59
+
60
+ .v-list-item__prepend {
61
+ display: flex;
62
+ align-items: start;
63
+ height: 100%;
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ .v-list {
70
+ border-radius: var(--border-radius);
71
+
72
+ .v-list-item__overlay,
73
+ .v-list-item__underlay {
74
+ display: none;
75
+ }
76
+
77
+ .v-list-item {
78
+ transition: all 0.1s;
79
+ color: var(--grey-d-3);
80
+ &:hover {
81
+ background-color: var(--grey-l-6);
82
+ color: var(--text);
83
+ }
84
+
85
+ &--active {
86
+ color: var(--primary-d-1);
87
+ &:hover {
88
+ color: var(--primary-d-1);
89
+ }
90
+ }
91
+
92
+ .v-list-item__content {
93
+ .v-list-item-title {
94
+ font-family: var(--regular);
95
+ font-weight: 500;
96
+ }
97
+ .v-list-item-subtitle {
98
+ font-family: var(--regular);
99
+ color: var(--grey-d-1);
100
+ }
101
+ }
102
+ }
103
+
104
+ &.v-list--x-small {
105
+ .v-list-item {
106
+ padding: 6px 12px;
107
+ }
108
+ }
109
+
110
+ &.v-list--small {
111
+ .v-list-item {
112
+ padding: 8px 12px;
113
+ }
114
+ }
115
+
116
+ &.v-list--large {
117
+ .v-list-item {
118
+ padding: 12px 20px;
119
+ }
120
+ }
121
+ }
122
+
123
+ .ld-label {
124
+ display: flex;
125
+ flex-direction: column;
126
+ justify-content: center;
127
+ min-height: var(--input-height);
128
+
129
+ .ld-label-content {
130
+ color: var(--text);
131
+ line-height: 20px;
132
+ }
133
+
134
+ .ld-label-reqiured::after {
135
+ content: '*';
136
+ display: inline-block;
137
+ color: var(--error);
138
+ }
139
+ }
140
+ }
@@ -0,0 +1,17 @@
1
+ @use "sass:selector";
2
+ @use "sass:list";
3
+
4
+ @function getParent($class) {
5
+ $parent: '';
6
+
7
+ @each $selector in $class {
8
+ $l: list.length($selector);
9
+ $parent: list.nth($selector, $l);
10
+ }
11
+
12
+ @return $parent;
13
+ }
14
+
15
+ @function getSelector($class, $prefix) {
16
+ @return selector.append($class, $prefix);
17
+ }
@@ -14,9 +14,11 @@ export interface IRoute {
14
14
  }
15
15
 
16
16
  export interface IBreadcrumbsItem {
17
+ uid?: number;
17
18
  text?: string;
18
19
  remark?: string;
19
20
  route: IRoute;
20
21
  disabled?: boolean;
22
+ hidden?: boolean;
21
23
  data?: unknown;
22
24
  }
@@ -1,73 +1,8 @@
1
- export interface IAttr {
2
- // An optional key can be used for retrieving this attribute later,
3
- // and will most likely be derived from your data object
4
- key: Any;
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
10
- popover?: {
11
- label: string;
12
- visibility: 'hover' | 'click';
13
- hideIndicator: boolean;
14
- };
15
- // Your custom data object for later access, if needed
16
- customData?: Record<string, unknown>;
17
- // We also need some dates to know where to display the attribute
18
- // We use a single date here, but it could also be an array of dates,
19
- // a date range or a complex date pattern.
20
- dates: Date | Array<Date>;
21
- // Think of `order` like `z-index`
22
- order?: number;
23
- }
24
-
25
- export type Attributes = Array<IAttr>;
26
-
27
- export interface ICalendarDay {
28
- date: Date;
29
- }
30
-
31
- interface IHighlight {
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;
39
- }
40
-
41
- interface IPage {
42
- id: string;
43
- day?: number;
44
- week?: number;
45
- month: number;
46
- year: number;
47
- trimWeeks: boolean;
48
- position: number;
49
- row: number;
50
- rowFromEnd: number;
51
- column: number;
52
- columnFromEnd: number;
53
- showWeeknumbers: boolean;
54
- showIsoWeeknumbers: boolean;
55
- weeknumberPosition: string;
56
- monthTitle: string;
57
- weekTitle?: string;
58
- dayTitle?: string;
59
- title: string;
60
- shortMonthLabel: string;
61
- monthLabel: string;
62
- shortYearLabel: string;
63
- yearLabel: string;
64
- }
65
-
66
- export interface IInitialPage {
67
- month: number;
68
- year: number;
69
- }
70
-
71
- export interface IInstance {
72
- moveBy: (value: number) => void;
73
- }
1
+ export type DatetimeValueRaw =
2
+ | Date
3
+ | Array<number>
4
+ | string
5
+ | number
6
+ | { year: number; month: number; date: number; hours?: number; minutes?: number; seconds?: number; ms?: number };
7
+
8
+ export type ViewMode = 'month' | 'months' | 'year';