@rt-tools/ui-kit 0.0.4

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 (69) hide show
  1. package/README.md +99 -0
  2. package/fesm2022/rt-tools-ui-kit.mjs +5143 -0
  3. package/fesm2022/rt-tools-ui-kit.mjs.map +1 -0
  4. package/package.json +43 -0
  5. package/rt-tools-ui-kit-0.0.4.tgz +0 -0
  6. package/src/lib/ui-kit/action-bar/components/bar/rtui-action-bar.component.scss +104 -0
  7. package/src/lib/ui-kit/action-bar/components/container/rtui-action-bar-container.component.scss +12 -0
  8. package/src/lib/ui-kit/aside/components/container/aside-container.component.scss +20 -0
  9. package/src/lib/ui-kit/aside/components/error-notification/aside-error-box.component.scss +37 -0
  10. package/src/lib/ui-kit/aside/components/panel/aside-panel.component.scss +243 -0
  11. package/src/lib/ui-kit/aside/stories/aside-component/test-aside.component.scss +4 -0
  12. package/src/lib/ui-kit/buttons/icon-round/rtui-round-icon-button.component.scss +44 -0
  13. package/src/lib/ui-kit/buttons/multi-button/rtui-multi-button.component.scss +92 -0
  14. package/src/lib/ui-kit/checkbox/rtui-checkbox.component.scss +68 -0
  15. package/src/lib/ui-kit/checkbox/stories/component/test-checkbox.component.scss +9 -0
  16. package/src/lib/ui-kit/dynamic-selectors/components/actions/rtui-dynamic-selector-list-actions.component.scss +63 -0
  17. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-input/rtui-dynamic-input.component.scss +3 -0
  18. package/src/lib/ui-kit/dynamic-selectors/components/dynamic-selector/rtui-dynamic-selector.component.scss +7 -0
  19. package/src/lib/ui-kit/dynamic-selectors/components/multi-selector-popup/rtui-multi-selector-popup.component.scss +229 -0
  20. package/src/lib/ui-kit/dynamic-selectors/components/placeholder/rtui-dynamic-selector-placeholder.component.scss +59 -0
  21. package/src/lib/ui-kit/dynamic-selectors/components/selected-list/rtui-dynamic-selector-selected-list.component.scss +35 -0
  22. package/src/lib/ui-kit/dynamic-selectors/strories/component/input/test-dynamic-input.component.scss +16 -0
  23. package/src/lib/ui-kit/dynamic-selectors/strories/component/selector/test-selector.component.scss +22 -0
  24. package/src/lib/ui-kit/file-uploader/rtui-file-upload.component.scss +69 -0
  25. package/src/lib/ui-kit/file-uploader/stories/component/test-file-upload.component.scss +6 -0
  26. package/src/lib/ui-kit/header/header.component.scss +0 -0
  27. package/src/lib/ui-kit/header/stories/component/test-header.component.scss +14 -0
  28. package/src/lib/ui-kit/image-uploader/image-uploader/rtui-image-upload.component.scss +93 -0
  29. package/src/lib/ui-kit/image-uploader/stories/component/test-image-upload.component.scss +9 -0
  30. package/src/lib/ui-kit/info-badge/info-badge.component.scss +62 -0
  31. package/src/lib/ui-kit/info-badge/stories/component/test-info-badge/test-info-badge.component.scss +11 -0
  32. package/src/lib/ui-kit/modal/modal.component.scss +115 -0
  33. package/src/lib/ui-kit/modal/stories/test-modal.component.scss +4 -0
  34. package/src/lib/ui-kit/popover/rtui-popover-container.component.scss +13 -0
  35. package/src/lib/ui-kit/scrollable/scrollable-container.component.scss +64 -0
  36. package/src/lib/ui-kit/side-menu/menu/rtui-side-menu.component.scss +185 -0
  37. package/src/lib/ui-kit/side-menu/menu-sub-item/rtui-side-menu-sub-item.component.scss +97 -0
  38. package/src/lib/ui-kit/side-menu/stories/component/test-side-menu-wrapper.component.scss +48 -0
  39. package/src/lib/ui-kit/snack-bar/snack-bar.component.scss +100 -0
  40. package/src/lib/ui-kit/snack-bar/stories/component/test-snack-bar.component.scss +30 -0
  41. package/src/lib/ui-kit/spinner/spinner.component.scss +49 -0
  42. package/src/lib/ui-kit/table/components/clear-search-button/rtui-clear-button.component.scss +50 -0
  43. package/src/lib/ui-kit/table/components/pagination-view/rtui-pagination.component.scss +191 -0
  44. package/src/lib/ui-kit/table/components/table/rtui-table.component.scss +4 -0
  45. package/src/lib/ui-kit/table/components/table-base-cell/table-base-cell.component.scss +133 -0
  46. package/src/lib/ui-kit/table/components/table-config-aside/rt-table-config-aside.component.scss +4 -0
  47. package/src/lib/ui-kit/table/components/table-container/table-container.component.scss +212 -0
  48. package/src/lib/ui-kit/table/components/table-header-cell/table-header-cell.component.scss +115 -0
  49. package/src/lib/ui-kit/table/components/table-header-filter-cell/table-header-filter-cell.component.scss +11 -0
  50. package/src/lib/ui-kit/table/dynamic-list.component.scss +6 -0
  51. package/src/lib/ui-kit/table/stories/dynamic-list/test-dynamic-list.component.scss +15 -0
  52. package/src/lib/ui-kit/table/stories/pagination/test-pagination-component.scss +16 -0
  53. package/src/lib/ui-kit/table/stories/table/test-table-component.scss +7 -0
  54. package/src/lib/ui-kit/toggle/rtui-toggle.component.scss +174 -0
  55. package/src/lib/ui-kit/toggle/stories/component/test-toggle.component.scss +9 -0
  56. package/src/lib/ui-kit/toolbar/toolbar.component.scss +99 -0
  57. package/src/styles/base/_base.scss +71 -0
  58. package/src/styles/base/_mixin.scss +66 -0
  59. package/src/styles/base/_variables.scss +34 -0
  60. package/src/styles/components/_action-bar.scss +84 -0
  61. package/src/styles/components/_button.scss +364 -0
  62. package/src/styles/components/_checkbox.scss +40 -0
  63. package/src/styles/components/_dynamic-selectors.scss +134 -0
  64. package/src/styles/components/_form.scss +90 -0
  65. package/src/styles/components/_rtui_button.scss +452 -0
  66. package/src/styles/components/_snackbar.scss +103 -0
  67. package/src/styles/components/_table.scss +239 -0
  68. package/src/styles/main.scss +14 -0
  69. package/types/rt-tools-ui-kit.d.ts +1875 -0
@@ -0,0 +1,63 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+
3
+ $dynamic-selector-list-actions: (
4
+ host: (
5
+ padding-right: 0.25rem,
6
+ ),
7
+ control: (
8
+ padding: 0 0.25rem 0 0.25rem,
9
+ border-right: none,
10
+ ),
11
+ control-last-child: (
12
+ padding: 0 0 0 0.25rem,
13
+ border-right: none,
14
+ ),
15
+ item-icon: (
16
+ size: 1.125rem,
17
+ ),
18
+ item-active: (
19
+ color: var(--clr-red-100),
20
+ ),
21
+ );
22
+
23
+ :host {
24
+ @each $element, $elements in $dynamic-selector-list-actions {
25
+ @each $style-token, $value in $elements {
26
+ #{mixins.generateCssVar('dynamic-selector-list-actions', #{$element}, #{$style-token})}: #{$value};
27
+ }
28
+ }
29
+
30
+ display: flex;
31
+ align-items: center;
32
+ margin-left: auto;
33
+ padding-right: var(--rt-dynamic-selector-list-actions-host-padding-right);
34
+
35
+ .rtui-dynamic-selector-list-actions {
36
+ display: flex;
37
+ align-items: center;
38
+ margin-left: auto;
39
+ padding-right: var(--rt-dynamic-selector-list-actions-padding-right);
40
+
41
+ &__control {
42
+ padding: var(--rt-dynamic-selector-list-actions-control-padding);
43
+ border-right: var(--rt-dynamic-selector-list-actions-control-border-right);
44
+
45
+ &:last-child {
46
+ padding: var(--rt-dynamic-selector-item-control-last-child-padding);
47
+ border-right: var(--rt-dynamic-selector-item-control-last-child-border-right);
48
+ }
49
+ }
50
+
51
+ &__item {
52
+ &--active {
53
+ color: var(--rt-dynamic-selector-list-actions-item-active-color);
54
+ }
55
+
56
+ &-icon {
57
+ width: var(--rt-dynamic-selector-list-actions-item-icon-size);
58
+ height: var(--rt-dynamic-selector-list-actions-item-icon-size);
59
+ font-size: var(--rt-dynamic-selector-list-actions-item-icon-size);
60
+ }
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,7 @@
1
+ :host {
2
+ height: 100%;
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ overflow: hidden;
7
+ }
@@ -0,0 +1,229 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+
3
+ $multi-selector: (
4
+ host: (
5
+ width: 20rem,
6
+ height: 30rem,
7
+ padding: 1rem 0 1rem 1rem,
8
+ box-shadow: 0 0.5rem 1rem 0 var(--clr-black-60),
9
+ border-radius: 0.375rem,
10
+ background-color: var(--clr-white-100),
11
+ ),
12
+ header: (
13
+ padding: 0 1rem 0 0,
14
+ ),
15
+ header-simple: (
16
+ padding: 0 1rem 1rem 0,
17
+ ),
18
+ header-controls-item-icon: (
19
+ margin-left: 0.5rem,
20
+ color: var(--clr-black-40),
21
+ ),
22
+ header-controls-item-info: (
23
+ margin-left: 0.5rem,
24
+ font-size: 0.875rem,
25
+ color: var(--clr-black-60),
26
+ ),
27
+ header-controls-item-first: (
28
+ padding: 1rem 0 0 0.5rem,
29
+ ),
30
+ header-controls-item-last: (
31
+ padding: 1rem 0 0 0,
32
+ border-bottom: solid 1px var(--clr-gray-20),
33
+ ),
34
+ item-label-hover: (
35
+ color: var(--clr-black-60),
36
+ ),
37
+ options-item-separated: (
38
+ border-bottom: solid 1px var(--clr-gray-20),
39
+ ),
40
+ options-item-title: (
41
+ max-width: 15rem,
42
+ ),
43
+ placeholder: (
44
+ gap: 1rem,
45
+ padding-right: 1rem,
46
+ ),
47
+ placeholder-icon: (
48
+ size: 3rem,
49
+ color: var(--clr-black-60),
50
+ ),
51
+ placeholder-title: (
52
+ font-size: 1.5rem,
53
+ color: var(--clr-black-60),
54
+ ),
55
+ footer: (
56
+ padding: 1rem 1.5rem 0 0.5rem,
57
+ gap: 0.5rem,
58
+ ),
59
+ footer-nav-action: (
60
+ font-size: 0.875rem,
61
+ color: var(--clr-black-60),
62
+ ),
63
+ footer-nav-action-hover: (
64
+ color: var(--clr-black-100),
65
+ ),
66
+ );
67
+
68
+ :host {
69
+ @each $element, $elements in $multi-selector {
70
+ @each $style-token, $value in $elements {
71
+ #{mixins.generateCssVar('multi-selector', #{$element}, #{$style-token})}: #{$value};
72
+ }
73
+ }
74
+
75
+ display: flex;
76
+ flex-direction: column;
77
+ width: var(--rt-multi-selector-host-width);
78
+ height: var(--rt-multi-selector-host-height);
79
+ padding: var(--rt-multi-selector-host-padding);
80
+ box-shadow: var(--rt-multi-selector-host-box-shadow);
81
+ border-radius: var(--rt-multi-selector-host-border-radius);
82
+ background-color: var(--rt-multi-selector-host-background-color);
83
+
84
+ &::ng-deep {
85
+ // radiobutton
86
+ mat-radio-button {
87
+ .mdc-form-field {
88
+ .mdc-label {
89
+ cursor: pointer;
90
+ }
91
+
92
+ &:hover .mdc-label {
93
+ color: var(--rt-multi-selector-item-label-hover-color);
94
+ }
95
+ }
96
+ }
97
+
98
+ // checkbox
99
+ mat-checkbox {
100
+ width: fit-content;
101
+
102
+ .mdc-form-field {
103
+ &:hover .mdc-label {
104
+ color: var(--rt-multi-selector-item-label-hover-color);
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ .rtui-multi-selector-header {
111
+ display: flex;
112
+ flex-direction: column;
113
+ padding: var(--rt-multi-selector-header-padding);
114
+
115
+ &--simple {
116
+ padding: var(--rt-multi-selector-header-simple-padding);
117
+ }
118
+
119
+ &__controls {
120
+ display: flex;
121
+ flex-direction: column;
122
+ align-items: flex-start;
123
+
124
+ &-item {
125
+ &--first {
126
+ display: flex;
127
+ flex-direction: row;
128
+ padding: var(--rt-multi-selector-header-controls-item-first-padding);
129
+ }
130
+
131
+ &--last {
132
+ width: 100%;
133
+ padding: var(--rt-multi-selector-header-controls-item-last-padding);
134
+ border-bottom: var(--rt-multi-selector-header-controls-item-last-border-bottom);
135
+ }
136
+
137
+ &-icon {
138
+ margin-left: var(--rt-multi-selector-header-controls-item-icon-margin-left);
139
+ color: var(--rt-multi-selector-header-controls-item-icon-color);
140
+ }
141
+
142
+ &-info {
143
+ margin-left: var(--rt-multi-selector-header-controls-item-info-margin-left);
144
+ font-size: var(--rt-multi-selector-header-controls-item-info-font-size);
145
+ color: var(--rt-multi-selector-header-controls-item-info-color);
146
+ }
147
+ }
148
+ }
149
+ }
150
+
151
+ .rtui-multi-selector-options {
152
+ display: flex;
153
+ flex-direction: column;
154
+ flex: 1 1 100%;
155
+ height: 100%;
156
+ width: 100%;
157
+ overflow-y: auto;
158
+
159
+ &__item {
160
+ &-title {
161
+ width: 100%;
162
+ max-width: var(--rt-multi-selector-options-item-title-max-width);
163
+ white-space: nowrap;
164
+ overflow: hidden;
165
+ text-overflow: ellipsis;
166
+ }
167
+
168
+ &--separated {
169
+ border-bottom: var(--rt-multi-selector-options-item-separated-border-bottom);
170
+ }
171
+ }
172
+
173
+ &__loader {
174
+ display: flex;
175
+ justify-content: center;
176
+ align-items: center;
177
+ }
178
+ }
179
+
180
+ .rtui-multi-selector-placeholder {
181
+ display: flex;
182
+ flex-direction: column;
183
+ justify-content: center;
184
+ align-items: center;
185
+ flex: 1 1 100%;
186
+ gap: var(--rt-multi-selector-placeholder-gap);
187
+ padding-right: var(--rt-multi-selector-placeholder-padding-right);
188
+ overflow-y: auto;
189
+
190
+ &__icon {
191
+ width: var(--rt-multi-selector-placeholder-icon-size);
192
+ height: var(--rt-multi-selector-placeholder-icon-size);
193
+ font-size: var(--rt-multi-selector-placeholder-icon-size);
194
+ color: var(--rt-multi-selector-placeholder-icon-color);
195
+ }
196
+
197
+ &__title {
198
+ font-size: var(--rt-multi-selector-placeholder-title-font-size);
199
+ color: var(--rt-multi-selector-placeholder-title-color);
200
+ }
201
+ }
202
+
203
+ .rtui-multi-selector-footer {
204
+ display: flex;
205
+ justify-content: flex-end;
206
+ align-items: center;
207
+ padding: var(--rt-multi-selector-footer-padding);
208
+ gap: var(--rt-multi-selector-footer-gap);
209
+
210
+ &--full {
211
+ justify-content: space-between;
212
+ }
213
+
214
+ &__nav-action {
215
+ text-decoration: none;
216
+ font-size: var(--rt-multi-selector-footer-nav-action-font-size);
217
+ color: var(--rt-multi-selector-footer-nav-action-color);
218
+
219
+ &:hover {
220
+ color: var(--rt-multi-selector-footer-nav-action-hover-color);
221
+ }
222
+ }
223
+
224
+ &__base-actions {
225
+ display: flex;
226
+ gap: var(--rt-multi-selector-footer-gap);
227
+ }
228
+ }
229
+ }
@@ -0,0 +1,59 @@
1
+ @use '../../../../../styles/base/mixin' as mixins;
2
+
3
+ $dynamic-selector-placeholder: (
4
+ host: (
5
+ width: 100%,
6
+ height: 100%,
7
+ min-height: 10rem,
8
+ gap: 1rem,
9
+ ),
10
+ icon: (
11
+ size: 4rem,
12
+ color: var(--clr-black-80),
13
+ ),
14
+ icon-warn: (
15
+ color: var(--clr-orange-70),
16
+ ),
17
+ description: (
18
+ font-size: 1rem,
19
+ line-height: 1.25rem,
20
+ color: var(--clr-black-60),
21
+ ),
22
+ );
23
+
24
+ :host {
25
+ @each $element, $elements in $dynamic-selector-placeholder {
26
+ @each $style-token, $value in $elements {
27
+ #{mixins.generateCssVar('dynamic-selector-placeholder', #{$element}, #{$style-token})}: #{$value};
28
+ }
29
+ }
30
+
31
+ width: var(--rt-dynamic-selector-placeholder-host-width);
32
+ height: var(--rt-dynamic-selector-placeholder-host-height);
33
+ min-height: var(--rt-dynamic-selector-placeholder-host-min-height);
34
+
35
+ display: flex;
36
+ flex-direction: column;
37
+ align-items: center;
38
+ justify-content: center;
39
+ gap: var(--rt-dynamic-selector-placeholder-host-gap);
40
+
41
+ .rtui-dynamic-selector-placeholder {
42
+ &__icon {
43
+ width: var(--rt-dynamic-selector-placeholder-icon-size);
44
+ height: var(--rt-dynamic-selector-placeholder-icon-size);
45
+ font-size: var(--rt-dynamic-selector-placeholder-icon-size);
46
+ color: var(--rt-dynamic-selector-placeholder-icon-color);
47
+
48
+ &--warn {
49
+ color: var(--rt-dynamic-selector-placeholder-icon-warn-color);
50
+ }
51
+ }
52
+
53
+ &__description {
54
+ font-size: var(--rt-dynamic-selector-placeholder-description-font-size);
55
+ line-height: var(--rt-dynamic-selector-placeholder-description-line-height);
56
+ color: var(--rt-dynamic-selector-placeholder-description-color);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,35 @@
1
+ :host {
2
+ &::ng-deep {
3
+ .mat-mdc-form-field-flex {
4
+ height: 100%;
5
+ }
6
+
7
+ .mat-mdc-form-field-infix {
8
+ display: flex;
9
+ height: 100%;
10
+ min-height: 100%;
11
+ align-items: center;
12
+ padding: 0;
13
+ }
14
+ }
15
+ }
16
+
17
+ .cdk-drag-placeholder {
18
+ opacity: 0;
19
+ }
20
+
21
+ .cdk-drag-animating {
22
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
23
+ }
24
+
25
+ .rtui-dynamic-selector__list.cdk-drop-list-dragging .rtui-dynamic-selector__item:not(.cdk-drag-placeholder) {
26
+ transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);
27
+ }
28
+
29
+ .cdk-drag-preview {
30
+ border: none;
31
+ box-sizing: border-box;
32
+ border-radius: var(--rt-dynamic-selector-item-border-radius);
33
+ box-shadow: var(--rt-dynamic-selector-item-drag-preview-box-shadow);
34
+ background: var(--mat-option-selected-state-layer-color);
35
+ }
@@ -0,0 +1,16 @@
1
+ :host {
2
+ width: 100vw;
3
+ height: 100vh;
4
+
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: flex-start;
8
+ align-items: center;
9
+ margin: -1rem;
10
+
11
+ rtui-dynamic-input {
12
+ width: 100%;
13
+ max-width: 30rem;
14
+ padding: 1rem;
15
+ }
16
+ }
@@ -0,0 +1,22 @@
1
+ :host {
2
+ width: 100vw;
3
+ height: 100vh;
4
+
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: flex-start;
8
+ align-items: center;
9
+ margin: -1rem;
10
+
11
+ rtui-dynamic-selector {
12
+ width: 100%;
13
+ max-width: 30rem;
14
+ padding: 1rem;
15
+ }
16
+
17
+ .preset-button {
18
+ position: fixed;
19
+ top: 1rem;
20
+ left: 1rem;
21
+ }
22
+ }
@@ -0,0 +1,69 @@
1
+ @use '../../../styles/base/mixin' as mixins;
2
+
3
+ $file-upload: (
4
+ host: (
5
+ width: 100%,
6
+ max-width: 20rem,
7
+ height: 100%,
8
+ max-height: 20rem,
9
+ display: flex,
10
+ flex-direction: column,
11
+ justify-content: center,
12
+ align-items: center,
13
+ gap: 1rem,
14
+ padding: 1rem,
15
+ border: 2px dashed var(--clr-black-20),
16
+ border-radius: 1rem,
17
+ ),
18
+ host-dragged: (
19
+ border-color: var(--mat-button-text-label-text-color),
20
+ ),
21
+ icon: (
22
+ size: 2rem,
23
+ color: var(--clr-black-100),
24
+ ),
25
+ title: (
26
+ font-size: 1rem,
27
+ color: var(--clr-text),
28
+ ),
29
+ );
30
+
31
+ :host {
32
+ @each $element, $elements in $file-upload {
33
+ @each $style-token, $value in $elements {
34
+ #{mixins.generateCssVar('file-upload', #{$element}, #{$style-token})}: #{$value};
35
+ }
36
+ }
37
+
38
+ width: var(--rt-file-upload-host-width);
39
+ max-width: var(--rt-file-upload-host-max-width);
40
+ height: var(--rt-file-upload-host-height);
41
+ max-height: var(--rt-file-upload-host-max-height);
42
+ display: var(--rt-file-upload-host-display);
43
+ flex-direction: var(--rt-file-upload-host-flex-direction);
44
+ justify-content: var(--rt-file-upload-host-justify-content);
45
+ align-items: var(--rt-file-upload-host-align-items);
46
+ gap: var(--rt-file-upload-host-gap);
47
+ padding: var(--rt-file-upload-host-padding);
48
+ border: var(--rt-file-upload-host-border);
49
+ border-radius: var(--rt-file-upload-host-border-radius);
50
+ transition: border-color 0.3s ease-in-out;
51
+
52
+ &.--dragged {
53
+ border-color: var(--rt-file-upload-host-dragged-border-color);
54
+ }
55
+
56
+ .file-upload {
57
+ &__icon {
58
+ width: var(--rt-file-upload-icon-size);
59
+ height: var(--rt-file-upload-icon-size);
60
+ font-size: var(--rt-file-upload-icon-size);
61
+ color: var(--rt-file-upload-icon-color);
62
+ }
63
+
64
+ &__title {
65
+ font-size: var(--rt-file-upload-title-font-size);
66
+ color: var(--rt-file-upload-title-color);
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,6 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ }
File without changes
@@ -0,0 +1,14 @@
1
+ :host {
2
+ width: 100vw;
3
+ height: 100vh;
4
+ display: flex;
5
+ flex-direction: column;
6
+ margin: -1rem;
7
+
8
+ .content {
9
+ flex-grow: 1;
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ }
14
+ }
@@ -0,0 +1,93 @@
1
+ @use '../../../../styles/base/mixin' as mixins;
2
+
3
+ $image-upload: (
4
+ host: (
5
+ width: 100%,
6
+ min-width: 100%,
7
+ max-width: 100%,
8
+ height: 100%,
9
+ min-height: 15rem,
10
+ max-height: 100%,
11
+ display: flex,
12
+ justify-content: center,
13
+ align-items: center,
14
+ ),
15
+ image-cropper: (
16
+ padding: 0.25rem,
17
+ ),
18
+ image-cropper-actions: (
19
+ display: flex,
20
+ justify-content: flex-end,
21
+ gap: 0.5rem,
22
+ margin-top: 0.5rem,
23
+ ),
24
+ image-container: (
25
+ position: relative,
26
+ padding: 0.5rem,
27
+ ),
28
+ image-container-image: (
29
+ position: relative,
30
+ height: 100%,
31
+ max-height: 15rem,
32
+ object-fit: contain,
33
+ ),
34
+ );
35
+
36
+ :host {
37
+ @each $element, $elements in $image-upload {
38
+ @each $style-token, $value in $elements {
39
+ #{mixins.generateCssVar('image-upload', #{$element}, #{$style-token})}: #{$value};
40
+ }
41
+ }
42
+
43
+ width: var(--rt-image-upload-host-width);
44
+ min-width: var(--rt-image-upload-host-min-height);
45
+ max-width: var(--rt-image-upload-host-max-width);
46
+ height: var(--rt-image-upload-host-height);
47
+ min-height: var(--rt-image-upload-host-min-height);
48
+ max-height: var(--rt-image-upload-host-max-height);
49
+ display: var(--rt-image-upload-host-display);
50
+ justify-content: var(--rt-image-upload-host-justify-content);
51
+ align-items: var(--rt-image-upload-host-align-items);
52
+
53
+ .rtui-image-cropper {
54
+ padding: var(--rt-image-upload-image-cropper-padding);
55
+
56
+ &__actions {
57
+ display: var(--rt-image-upload-image-cropper-actions-display);
58
+ justify-content: var(--rt-image-upload-image-cropper-actions-justify-content);
59
+ gap: var(--rt-image-upload-image-cropper-actions-gap);
60
+ margin-top: var(--rt-image-upload-image-cropper-actions-justify-margin-top);
61
+ }
62
+ }
63
+
64
+ .rtui-image-container {
65
+ position: var(--rt-image-upload-image-container-position);
66
+ padding: var(--rt-image-upload-image-container-padding);
67
+
68
+ &__image {
69
+ position: var(--rt-image-upload-image-container-image-position);
70
+ height: var(--rt-image-upload-image-container-image-height);
71
+ max-height: var(--rt-image-upload-image-container-image-max-height);
72
+ object-fit: var(--rt-image-upload-image-container-image-object-fit);
73
+ pointer-events: none;
74
+
75
+ &--active {
76
+ pointer-events: initial;
77
+ cursor: pointer;
78
+
79
+ &:hover {
80
+ opacity: 0.6;
81
+ }
82
+ }
83
+ }
84
+
85
+ &__action {
86
+ position: absolute;
87
+ top: 0;
88
+ right: 0;
89
+ z-index: 999;
90
+ backdrop-filter: blur(1.25rem);
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,9 @@
1
+ :host {
2
+ width: 20rem;
3
+ height: 30rem;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: center;
8
+ margin: 1rem;
9
+ }
@@ -0,0 +1,62 @@
1
+ :host {
2
+ border-radius: 9999px;
3
+ display: block;
4
+ line-height: normal;
5
+ max-width: fit-content;
6
+
7
+ // default values
8
+ background-color: #005cbb;
9
+ color: #ffffff;
10
+
11
+ .c-info-badge {
12
+ display: flex;
13
+ gap: 0.15rem;
14
+ align-items: center;
15
+ justify-content: center;
16
+ box-sizing: border-box;
17
+ line-height: normal;
18
+
19
+ &__content {
20
+ white-space: nowrap;
21
+ overflow: hidden;
22
+ text-overflow: ellipsis;
23
+ }
24
+ }
25
+
26
+ .size-l {
27
+ font-size: 1.125rem;
28
+ padding: 0.3rem 0.65rem;
29
+
30
+ .mat-icon {
31
+ font-size: 1.5rem;
32
+ }
33
+ }
34
+
35
+ .size-m {
36
+ font-size: 0.875rem;
37
+ padding: 0.22rem 0.65rem;
38
+
39
+ .mat-icon {
40
+ font-size: 1.05rem;
41
+ }
42
+ }
43
+
44
+ .size-s {
45
+ font-size: 0.75rem;
46
+ padding: 0.2rem 0.65rem;
47
+ letter-spacing: 0.025rem;
48
+
49
+ .mat-icon {
50
+ font-size: 0.75rem;
51
+ }
52
+ }
53
+
54
+ .mat-icon {
55
+ height: unset;
56
+ width: unset;
57
+ }
58
+
59
+ .bold {
60
+ font-weight: 700;
61
+ }
62
+ }