ecabs-components 0.0.1

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 (125) hide show
  1. package/README.md +24 -0
  2. package/esm2020/ecabs-components.mjs +5 -0
  3. package/esm2020/lib/base/directives/digits-only.directive.mjs +130 -0
  4. package/esm2020/lib/base/element-base.mjs +100 -0
  5. package/esm2020/lib/base/element-wrapper/element-wrapper.component.mjs +53 -0
  6. package/esm2020/lib/base/element-wrapper/element-wrapper.module.mjs +52 -0
  7. package/esm2020/lib/base/hint/hint.component.mjs +21 -0
  8. package/esm2020/lib/base/hint/hint.module.mjs +20 -0
  9. package/esm2020/lib/base/validation/validation.component.mjs +158 -0
  10. package/esm2020/lib/base/validation/validation.module.mjs +20 -0
  11. package/esm2020/lib/ecabs-buttons/ecabs-buttons.component.mjs +65 -0
  12. package/esm2020/lib/ecabs-buttons/ecabs-buttons.module.mjs +21 -0
  13. package/esm2020/lib/ecabs-input/ecabs-input.component.mjs +81 -0
  14. package/esm2020/lib/ecabs-input/ecabs-input.module.mjs +22 -0
  15. package/esm2020/lib/ecabs-loading/ecabs-loading.component.mjs +24 -0
  16. package/esm2020/lib/ecabs-loading/ecabs-loading.module.mjs +19 -0
  17. package/esm2020/lib/ecabs-loading/spinner/spinner.component.mjs +16 -0
  18. package/esm2020/public-api.mjs +8 -0
  19. package/fesm2015/ecabs-components.mjs +744 -0
  20. package/fesm2015/ecabs-components.mjs.map +1 -0
  21. package/fesm2020/ecabs-components.mjs +742 -0
  22. package/fesm2020/ecabs-components.mjs.map +1 -0
  23. package/index.d.ts +5 -0
  24. package/lib/base/directives/digits-only.directive.d.ts +26 -0
  25. package/lib/base/directives/digits-only.directive.ts +129 -0
  26. package/lib/base/element-base.d.ts +28 -0
  27. package/lib/base/element-base.ts +72 -0
  28. package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -0
  29. package/lib/base/element-wrapper/element-wrapper.component.html +30 -0
  30. package/lib/base/element-wrapper/element-wrapper.component.ts +33 -0
  31. package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -0
  32. package/lib/base/element-wrapper/element-wrapper.module.ts +30 -0
  33. package/lib/base/hint/hint.component.d.ts +8 -0
  34. package/lib/base/hint/hint.component.html +1 -0
  35. package/lib/base/hint/hint.component.scss +0 -0
  36. package/lib/base/hint/hint.component.ts +12 -0
  37. package/lib/base/hint/hint.module.d.ts +10 -0
  38. package/lib/base/hint/hint.module.ts +13 -0
  39. package/lib/base/validation/validation.component.d.ts +22 -0
  40. package/lib/base/validation/validation.component.html +8 -0
  41. package/lib/base/validation/validation.component.scss +0 -0
  42. package/lib/base/validation/validation.component.ts +171 -0
  43. package/lib/base/validation/validation.module.d.ts +10 -0
  44. package/lib/base/validation/validation.module.ts +12 -0
  45. package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +21 -0
  46. package/lib/ecabs-buttons/ecabs-buttons.component.html +18 -0
  47. package/lib/ecabs-buttons/ecabs-buttons.component.ts +54 -0
  48. package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -0
  49. package/lib/ecabs-buttons/ecabs-buttons.module.ts +13 -0
  50. package/lib/ecabs-input/ecabs-input.component.d.ts +27 -0
  51. package/lib/ecabs-input/ecabs-input.component.html +26 -0
  52. package/lib/ecabs-input/ecabs-input.component.ts +83 -0
  53. package/lib/ecabs-input/ecabs-input.module.d.ts +12 -0
  54. package/lib/ecabs-input/ecabs-input.module.ts +14 -0
  55. package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -0
  56. package/lib/ecabs-loading/ecabs-loading.component.html +7 -0
  57. package/lib/ecabs-loading/ecabs-loading.component.spec.ts +24 -0
  58. package/lib/ecabs-loading/ecabs-loading.component.ts +11 -0
  59. package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -0
  60. package/lib/ecabs-loading/ecabs-loading.module.ts +11 -0
  61. package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -0
  62. package/lib/ecabs-loading/spinner/spinner.component.html +5 -0
  63. package/lib/ecabs-loading/spinner/spinner.component.scss +61 -0
  64. package/lib/ecabs-loading/spinner/spinner.component.spec.ts +24 -0
  65. package/lib/ecabs-loading/spinner/spinner.component.ts +11 -0
  66. package/package.json +33 -0
  67. package/public-api.d.ts +7 -0
  68. package/public-api.ts +7 -0
  69. package/styles/material/_theme.scss +99 -0
  70. package/styles/material/overrides/_autocomplete.scss +11 -0
  71. package/styles/material/overrides/_button.scss +81 -0
  72. package/styles/material/overrides/_card.scss +17 -0
  73. package/styles/material/overrides/_chip.scss +108 -0
  74. package/styles/material/overrides/_datepicker.scss +145 -0
  75. package/styles/material/overrides/_dialog.scss +8 -0
  76. package/styles/material/overrides/_divider.scss +3 -0
  77. package/styles/material/overrides/_expansion.scss +31 -0
  78. package/styles/material/overrides/_form.scss +47 -0
  79. package/styles/material/overrides/_icon.scss +3 -0
  80. package/styles/material/overrides/_menu.scss +3 -0
  81. package/styles/material/overrides/_paginator.scss +0 -0
  82. package/styles/material/overrides/_phone.scss +24 -0
  83. package/styles/material/overrides/_select.scss +36 -0
  84. package/styles/material/overrides/_tab.scss +23 -0
  85. package/styles/material/overrides/_table.scss +12 -0
  86. package/styles/material/overrides/_toaster.scss +38 -0
  87. package/styles/material/overrides/_toggle.scss +10 -0
  88. package/styles/material/overrides/_tooltip.scss +3 -0
  89. package/styles/material/overrides/index.scss +19 -0
  90. package/styles/scss/base/_heading.scss +17 -0
  91. package/styles/scss/base/_normalize.scss +78 -0
  92. package/styles/scss/base/index.scss +2 -0
  93. package/styles/scss/modules/_autocomplete.scss +29 -0
  94. package/styles/scss/modules/_button.scss +221 -0
  95. package/styles/scss/modules/_card.scss +23 -0
  96. package/styles/scss/modules/_chip.scss +56 -0
  97. package/styles/scss/modules/_datepicker.scss +422 -0
  98. package/styles/scss/modules/_dialog.scss +14 -0
  99. package/styles/scss/modules/_divider.scss +3 -0
  100. package/styles/scss/modules/_form.scss +221 -0
  101. package/styles/scss/modules/_icon.scss +30 -0
  102. package/styles/scss/modules/_img.scss +32 -0
  103. package/styles/scss/modules/_legend.scss +64 -0
  104. package/styles/scss/modules/_list.scss +17 -0
  105. package/styles/scss/modules/_map.scss +112 -0
  106. package/styles/scss/modules/_percentage.scss +33 -0
  107. package/styles/scss/modules/_phone.scss +21 -0
  108. package/styles/scss/modules/_select.scss +21 -0
  109. package/styles/scss/modules/_statuses.scss +31 -0
  110. package/styles/scss/modules/_tab.scss +16 -0
  111. package/styles/scss/modules/_table.scss +107 -0
  112. package/styles/scss/modules/_timepicker.scss +96 -0
  113. package/styles/scss/modules/_toaster.scss +53 -0
  114. package/styles/scss/modules/_tooltip.scss +7 -0
  115. package/styles/scss/modules/drag-drop.scss +31 -0
  116. package/styles/scss/modules/index.scss +23 -0
  117. package/styles/scss/utilities/_colors.scss +52 -0
  118. package/styles/scss/utilities/_fonts.scss +26 -0
  119. package/styles/scss/utilities/_functions.scss +27 -0
  120. package/styles/scss/utilities/_helpers.scss +5 -0
  121. package/styles/scss/utilities/_mixins.scss +65 -0
  122. package/styles/scss/utilities/_variables.scss +19 -0
  123. package/styles/scss/utilities/index.scss +6 -0
  124. package/styles/styles.scss +5 -0
  125. package/test.ts +27 -0
@@ -0,0 +1,422 @@
1
+ @import "../utilities/index";
2
+
3
+ app-form-datepicker {
4
+ .dateTimeWrapper {
5
+ position: relative;
6
+ display: flex;
7
+ width: 100%;
8
+
9
+ .datePart {
10
+ flex: 2;
11
+ }
12
+
13
+ .timePart {
14
+ flex: 1;
15
+ padding-left: 10px;
16
+ vertical-align: top;
17
+ max-width: calc-rem(160);
18
+
19
+ app-form-timepicker .timeInputWrapper {
20
+ display: block;
21
+ }
22
+
23
+ app-form-timepicker {
24
+ width: 100%;
25
+
26
+ .inputWrapper {
27
+ display: block;
28
+ }
29
+ }
30
+ }
31
+
32
+ .dateInputWrapper {
33
+ position: relative;
34
+ }
35
+
36
+ input {
37
+ min-height: 42px;
38
+ width: 100%;
39
+ display: block;
40
+ box-sizing: border-box;
41
+ font-size: 14px;
42
+ font-weight: 500;
43
+ padding-left: 10px;
44
+ border-radius: 4px;
45
+ border: 1px solid rgb(107, 109, 115);
46
+ outline: none;
47
+ transition: all 300ms ease-in-out;
48
+
49
+ &:disabled {
50
+ border-bottom-width: 1px;
51
+ background-color: var(--color-white-opacity-05);
52
+ }
53
+ }
54
+
55
+ input[type='date']::-webkit-calendar-picker-indicator,
56
+ input[type='date']::-webkit-inner-spin-button {
57
+ display: none;
58
+ }
59
+
60
+ input[type='date']::-webkit-clear-button {
61
+ display: none;
62
+ }
63
+
64
+ .calendar-icon {
65
+ float: right;
66
+ margin-top: -38px;
67
+ padding: 5px 10px 5px 5px;
68
+ display: block;
69
+ font-size: 13px;
70
+ line-height: 20px;
71
+ color: var(--color-gray-500);
72
+ position: relative;
73
+ width: 40px;
74
+ height: 30px;
75
+ cursor: pointer;
76
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjQuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojNkI2RDczO30KPC9zdHlsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTksNDRjLTAuOCwwLTEuNS0wLjMtMi4xLTAuOUM2LjMsNDIuNSw2LDQxLjgsNiw0MVYxMGMwLTAuOCwwLjMtMS41LDAuOS0yLjFTOC4yLDcsOSw3aDMuMlY0aDMuMnYzaDE3VjRoMy4ydjMKCUgzOWMwLjgsMCwxLjUsMC4zLDIuMSwwLjlDNDEuNyw4LjUsNDIsOS4yLDQyLDEwdjMxYzAsMC44LTAuMywxLjUtMC45LDIuMUM0MC41LDQzLjcsMzkuOCw0NCwzOSw0NEg5eiBNOSw0MWgzMGwwLDBsMCwwVjE5LjVIOVY0MQoJTDksNDFMOSw0MXogTTksMTYuNWgzMFYxMGwwLDBsMCwwSDlsMCwwbDAsMFYxNi41eiBNOSwxNi41VjEwbDAsMGwwLDBsMCwwbDAsMFYxNi41eiIvPgo8L3N2Zz4K);
77
+ background-position: center center;
78
+ background-repeat: no-repeat;
79
+ background-size: calc-rem(22);
80
+
81
+ &.disabled {
82
+ cursor: not-allowed;
83
+ }
84
+ }
85
+ }
86
+
87
+ .app-element-wrapper {
88
+ &.focused {
89
+ label {
90
+ color: #376bfb;
91
+ }
92
+
93
+ input {
94
+ border-bottom-width: 2px;
95
+ border-bottom-color: #376bfb;
96
+ }
97
+ }
98
+
99
+ &.validationError {
100
+ label {
101
+ color: #ff4c4c;
102
+ }
103
+
104
+ input {
105
+ border-bottom-color: #ff4c4c;
106
+ border-bottom-width: 2px;
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ // ------------------------ datepicker component css override --------------
113
+
114
+ .ng-mydp {
115
+ .myDpSelector {
116
+ border: 0;
117
+ padding: 0;
118
+ box-shadow: 0 4px 6px rgba(22, 42, 76, 0.08),
119
+ 0 2px 16px rgba(22, 42, 76, 0.06), 0 8px 12px rgba(22, 42, 76, 0.04);
120
+ border-radius: 0 0 4px 4px;
121
+ background: white;
122
+
123
+ &:focus {
124
+ box-shadow: 0 4px 6px rgba(22, 42, 76, 0.08),
125
+ 0 2px 16px rgba(22, 42, 76, 0.06), 0 8px 12px rgba(22, 42, 76, 0.04);
126
+ }
127
+
128
+ .myDpWeekDayTitle {
129
+ background-color: white;
130
+ font-weight: 500;
131
+ font-size: 11px;
132
+ color: rgba(22, 42, 76, 0.7);
133
+ }
134
+
135
+ .myDpNextBtn {
136
+ margin-left: auto;
137
+ margin-right: 16px;
138
+
139
+ .myDpIconRightArrow {
140
+ line-height: 26px;
141
+ height: 25px;
142
+
143
+ &::before {
144
+ color: #376bfb;
145
+ font-size: 13px;
146
+ }
147
+ }
148
+ }
149
+
150
+ .myDpPrevBtn {
151
+ margin-left: 16px;
152
+
153
+ .myDpIconLeftArrow {
154
+ line-height: 26px;
155
+ height: 25px;
156
+
157
+ &::before {
158
+ color: #376bfb;
159
+ font-size: 13px;
160
+ }
161
+ }
162
+ }
163
+
164
+ .myDpMonthYearSelBar {
165
+ height: 52px;
166
+ padding-top: 10px;
167
+ border: 0;
168
+ }
169
+
170
+ .myDpMonthYearText {
171
+ button {
172
+ font-weight: 500;
173
+ font-size: 13px;
174
+ line-height: 20px;
175
+ color: #376bfb;
176
+ }
177
+
178
+ .myDpMonthBtn {
179
+ padding-right: 7px;
180
+ position: relative;
181
+ margin-right: 15px;
182
+
183
+ &::after {
184
+ position: absolute;
185
+ content: '';
186
+ height: 14px;
187
+ width: 1px;
188
+ right: -7px;
189
+ top: 6px;
190
+ background: rgba(22, 42, 76, 0.5);
191
+ }
192
+ }
193
+
194
+ .myDpYearBtn {
195
+ padding-left: 6px;
196
+ }
197
+ }
198
+
199
+ .myDpCalTable {
200
+ height: calc(100% - 54px);
201
+ width: calc(100% - 20px);
202
+ margin: 0 10px;
203
+ }
204
+
205
+ //---------------- days table -------------------------------
206
+ table.myDpCalTable {
207
+ td {
208
+ .myDpDayValue {
209
+ border-radius: 4px;
210
+ background: #f0f2f5;
211
+ display: inline-block;
212
+ box-sizing: border-box;
213
+ width: 32px;
214
+ height: 28px;
215
+ font-size: 13px;
216
+ line-height: 28px;
217
+ text-align: center;
218
+ color: rgba(22, 42, 76, 0.9);
219
+
220
+ &.myDpMarkCurrDay {
221
+ border-bottom: 0;
222
+ color: #376bfb;
223
+ }
224
+ }
225
+
226
+ &.myDpSelectedDay {
227
+ .myDpDayValue {
228
+ color: white !important;
229
+ background: #6ab72a !important;
230
+ }
231
+ }
232
+
233
+ &.myDpDisabled {
234
+ background: unset;
235
+
236
+ .myDpDayValue {
237
+ background: unset !important;
238
+ color: rgba(22, 42, 76, 0.5);
239
+ cursor: not-allowed;
240
+
241
+ &:hover {
242
+ background: unset !important;
243
+ }
244
+ }
245
+ }
246
+
247
+ &.myDpRangeColor {
248
+ background-color: white;
249
+
250
+ .myDpDayValue {
251
+ background: #bee39d !important;
252
+ }
253
+
254
+ &.myDpSelectedDay {
255
+ .myDpDayValue {
256
+ color: white !important;
257
+ background: #6ab72a !important;
258
+ }
259
+ }
260
+ }
261
+
262
+ &.myDpDaycell:focus {
263
+ box-shadow: unset;
264
+ outline: unset;
265
+ }
266
+
267
+ &.myDpPrevMonth,
268
+ &.myDpNextMonth {
269
+ .myDpDayValue {
270
+ background: #f6f7f9;
271
+ color: rgba(22, 42, 76, 0.5);
272
+ }
273
+ }
274
+
275
+ .myDpDimDay {
276
+ opacity: 1;
277
+ }
278
+ }
279
+
280
+ .myDpTableSingleDay:hover {
281
+ background-color: white;
282
+
283
+ .myDpDayValue {
284
+ background: #bee39d;
285
+ color: rgba(22, 42, 76, 0.9);
286
+ }
287
+ }
288
+
289
+ .myDpSelectedDay,
290
+ .myDpSelectedMonth,
291
+ .myDpSelectedYear {
292
+ background-color: white;
293
+ border-radius: 0;
294
+ }
295
+ }
296
+
297
+ //================== months table =====================
298
+ .myDpMonthTable {
299
+ height: 128px;
300
+ width: calc(100% - 20px);
301
+ margin: 0 10px;
302
+
303
+ td {
304
+ .myDpMonthValue {
305
+ display: inline-block;
306
+ height: 28px;
307
+ width: 80px;
308
+ background: #f0f2f5;
309
+ vertical-align: middle;
310
+ text-align: center;
311
+ line-height: 28px;
312
+ font-weight: normal;
313
+ font-size: 13px;
314
+ color: rgba(22, 42, 76, 0.9);
315
+ border-radius: 4px;
316
+
317
+ &.myDpMarkCurrMonth {
318
+ border: 0;
319
+ color: #376bfb;
320
+ }
321
+
322
+ &:hover {
323
+ background: #bee39d;
324
+ }
325
+ }
326
+
327
+ &.myDpDisabled {
328
+ background: unset;
329
+
330
+ .myDpMonthValue {
331
+ background: unset !important;
332
+ color: rgba(22, 42, 76, 0.5) !important;
333
+ cursor: not-allowed;
334
+ }
335
+ }
336
+
337
+ &.myDpSelectedMonth {
338
+ background-color: white;
339
+
340
+ .myDpMonthValue {
341
+ background: #6ab72a !important;
342
+ color: white !important;
343
+ }
344
+ }
345
+
346
+ &.myDpTableSingleMonth:hover {
347
+ background-color: white;
348
+ }
349
+ }
350
+ }
351
+
352
+ //================== years table =====================
353
+
354
+ .myDpYearTable {
355
+ height: 160px;
356
+ width: calc(100% - 20px);
357
+ margin: 0 10px;
358
+
359
+ td {
360
+ .myDpYearValue {
361
+ display: inline-block;
362
+ height: 28px;
363
+ width: 46px;
364
+ background: #f0f2f5;
365
+ vertical-align: middle;
366
+ text-align: center;
367
+ line-height: 28px;
368
+ font-weight: normal;
369
+ font-size: 13px;
370
+ color: rgba(22, 42, 76, 0.9);
371
+ border-radius: 4px;
372
+
373
+ &.myDpMarkCurrYear {
374
+ border: 0;
375
+ color: #376bfb;
376
+ }
377
+
378
+ &:hover {
379
+ background: #bee39d;
380
+ }
381
+ }
382
+
383
+ &.myDpDisabled {
384
+ background: unset;
385
+
386
+ .myDpYearValue {
387
+ background: unset !important;
388
+ color: rgba(22, 42, 76, 0.5) !important;
389
+ cursor: not-allowed;
390
+ }
391
+ }
392
+
393
+ &.myDpSelectedYear {
394
+ background-color: white;
395
+
396
+ .myDpYearValue {
397
+ background: #6ab72a !important;
398
+ color: white !important;
399
+ }
400
+ }
401
+
402
+ &.myDpTableSingleYear:hover {
403
+ background-color: white;
404
+ }
405
+ }
406
+ }
407
+ }
408
+
409
+ .myDpSelectorArrow {
410
+ height: 272px !important;
411
+ width: 268px !important;
412
+ margin-top: -12px;
413
+
414
+ &::after {
415
+ display: none;
416
+ }
417
+
418
+ &::before {
419
+ display: none;
420
+ }
421
+ }
422
+ }
@@ -0,0 +1,14 @@
1
+ .dialog {
2
+ @include e(title) {
3
+ @include fontSize($font-heading-xs);
4
+
5
+ font-weight: $font-weight-semibold;
6
+ color: var(--color-brand-dark);
7
+ }
8
+
9
+ @include m(maps) {
10
+ padding: 1px;
11
+ border-radius: $border-radius-base * 2;
12
+ background: #9cc0f9;
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ .divider {
2
+ border-top-color: var(--color-gray-300);
3
+ }
@@ -0,0 +1,221 @@
1
+ $form-input-icon-size: 18px;
2
+
3
+ .form,
4
+ form {
5
+ &-field {
6
+ margin-bottom: 1rem;
7
+ position: relative;
8
+ // #Label
9
+ @include e(label) {
10
+ @include fontSize($font-size-xs);
11
+
12
+ display: inline-block;
13
+ margin-bottom: 0.25rem;
14
+ color: var(--color-gray-500);
15
+ cursor: pointer;
16
+
17
+
18
+ .icon {
19
+ @include fontSize($font-size-base);
20
+
21
+ display: inline;
22
+ vertical-align: middle;
23
+ margin-left: calc-rem(6px);
24
+ }
25
+ }
26
+
27
+ // #Input
28
+ @include e(input) {
29
+ @include fontSize($font-size-base);
30
+ display: block;
31
+ width: 100%;
32
+ padding: calc-rem(8) calc-rem(16);
33
+ border-radius: $border-radius-base;
34
+ border: 1px solid var(--color-gray-500);
35
+ color: var(--color-black);
36
+ line-height: $base-line-height;
37
+
38
+ &:focus {
39
+ border-color: var(--color-brand-dark);
40
+ }
41
+
42
+ @include m(wrapper) {
43
+ // wrapper
44
+ display: flex;
45
+ position: relative;
46
+ line-height: 1;
47
+ }
48
+
49
+ @include m(suffix) {
50
+ // suffix
51
+ position: absolute !important;
52
+ top: 50%;
53
+ right: calc-rem(16);
54
+ color: var(--color-gray-500);
55
+ transform: translateY(-50%);
56
+
57
+ &,
58
+ i,
59
+ .mat-icon {
60
+ @include fontSize($form-input-icon-size);
61
+ width: calc-rem($form-input-icon-size);
62
+ height: calc-rem($form-input-icon-size);
63
+ }
64
+ }
65
+
66
+ @include m(prefix) {
67
+ // prefix
68
+ @extend .form-field__input--suffix;
69
+
70
+ right: unset;
71
+ left: calc-rem(16);
72
+ }
73
+
74
+ @include m(disabled) {
75
+ // disabled
76
+ background-color: var(--color-gray-100);
77
+ border-color: transparent;
78
+ }
79
+
80
+ @include m(invalid) {
81
+ // invalid
82
+ border-color: var(--color-error);
83
+ color: var(--color-error);
84
+ }
85
+ }
86
+
87
+ // #Textarea
88
+ @include e(textarea) {
89
+ @include fontSize($font-size-base);
90
+ display: block;
91
+ width: 100%;
92
+ padding: calc-rem(16);
93
+ border-radius: $border-radius-base;
94
+ border: 1px solid var(--color-gray-500);
95
+ color: var(--color-black);
96
+ line-height: $base-line-height;
97
+
98
+ &:focus {
99
+ border-color: var(--color-brand-dark);
100
+ }
101
+
102
+ @include m(wrapper) {
103
+ // wrapper
104
+ display: flex;
105
+ position: relative;
106
+ line-height: 1;
107
+ }
108
+
109
+ @include m(suffix) {
110
+ // suffix
111
+ position: absolute !important;
112
+ top: 50%;
113
+ right: calc-rem(16);
114
+ color: var(--color-gray-500);
115
+ transform: translateY(-50%);
116
+
117
+ &,
118
+ i,
119
+ .mat-icon {
120
+ @include fontSize($form-input-icon-size);
121
+ width: calc-rem($form-input-icon-size);
122
+ height: calc-rem($form-input-icon-size);
123
+ }
124
+ }
125
+
126
+ @include m(prefix) {
127
+ // prefix
128
+ @extend .form-field__input--suffix;
129
+
130
+ right: unset;
131
+ left: calc-rem(16);
132
+ }
133
+
134
+ @include m(disabled) {
135
+ // disabled
136
+ background-color: var(--color-gray-100);
137
+ border-color: transparent;
138
+ }
139
+ }
140
+
141
+ // #Invalid
142
+ @include m(invalid) {
143
+ .form-field__input,
144
+ .form-field__textarea {
145
+ color: var(--color-error);
146
+ border-color: var(--color-error);
147
+ }
148
+ }
149
+
150
+ // #Required
151
+ @include m(required) {
152
+ .form-field__label {
153
+ &:after {
154
+ @extend %pseudos;
155
+
156
+ content: '*';
157
+ margin-left: 0.2rem;
158
+ margin-top: 2px;
159
+ color: var(--color-error);
160
+ }
161
+ }
162
+ }
163
+
164
+ // #Validation
165
+ @include e(validation) {
166
+ padding-top: 0.5rem;
167
+ @include fontSize($font-size-xs);
168
+ color: var(--color-error);
169
+ @include m(item) {
170
+ padding-bottom: 0.6rem;
171
+
172
+ &:last-of-type {
173
+ padding-bottom: 0;
174
+ }
175
+ }
176
+ }
177
+
178
+ // #Subscript
179
+ @include e(subscript) {
180
+ @include m(wrapper) {
181
+ @extend %pseudos;
182
+
183
+ margin-top: 1.2rem;
184
+ }
185
+ }
186
+
187
+ &.disabled input,
188
+ .disabled textarea {
189
+ background-color: var(--color-white-opacity-05);
190
+ }
191
+
192
+ .spinner {
193
+ position: absolute;
194
+ right: 0.25rem;
195
+ bottom: 0.5rem;
196
+ }
197
+
198
+ .hint {
199
+ font-size: 10px;
200
+ text-align: right;
201
+ margin-right: calc-rem(17px);
202
+ transform: translateY(-1rem);
203
+ margin-bottom: -1rem;
204
+ }
205
+ }
206
+
207
+ // ==========================================================================
208
+ // #OVERRIDES
209
+ // ==========================================================================
210
+ .mat-form-field-appearance-standard .mat-form-field-flex {
211
+ padding-top: 0;
212
+ }
213
+
214
+ .mat-form-field-infix {
215
+ border-top: 0;
216
+ }
217
+ }
218
+
219
+ .mat-form-field-type-mat-date-range-input .mat-form-field-infix {
220
+ width: auto;
221
+ }
@@ -0,0 +1,30 @@
1
+ .icon {
2
+ color: var(--color-gray-500);
3
+
4
+ &:hover {
5
+ color: var(--color-brand-light);
6
+ }
7
+
8
+ @include e(bordered) {
9
+ @extend .icon;
10
+
11
+ &:after {
12
+ @extend %pseudos;
13
+
14
+ border: 1px solid var(--color-gray-400);
15
+ border-radius: $border-radius-base;
16
+ width: calc(100% + 0.8rem);
17
+ height: calc(100% + 0.8rem);
18
+ top: -0.4rem;
19
+ left: -0.4rem;
20
+ }
21
+ }
22
+ }
23
+
24
+ .eyes-icon-label {
25
+ border-color: var(--color-gray-400);
26
+ background-color: var(--color-white);
27
+ color: var(--color-black);
28
+ padding: 0.125rem;
29
+ transform: translateY(-1.25rem);
30
+ }
@@ -0,0 +1,32 @@
1
+ .aspect-ratio {
2
+ position: relative;
3
+ display: inline-block;
4
+ background-color: inherit;
5
+ line-height: 1;
6
+ overflow: hidden;
7
+
8
+ // ***************************
9
+ // #Content
10
+ // ***************************/
11
+ &__content { //** Fallback
12
+ position: absolute;
13
+ top: 50%;
14
+ right: 0;
15
+ bottom: 0;
16
+ left: 50%;
17
+ max-width: 100%;
18
+ width: 100%;
19
+ transform: translate(-50%, -50%);
20
+
21
+ @supports (object-fit: cover) {
22
+ &--cover { // cover
23
+ position: static;
24
+ width: 100%;
25
+ height: 100%;
26
+ padding: 0;
27
+ object-fit: cover;
28
+ transform: none;
29
+ }
30
+ }
31
+ }
32
+ }