@dashadmin/dash-styles 1.3.17 → 1.3.19

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 (54) hide show
  1. package/dist/assets/fonts/Montserrat-Black.ttf +0 -0
  2. package/dist/assets/fonts/Montserrat-Bold.ttf +0 -0
  3. package/dist/assets/fonts/Montserrat-Medium.ttf +0 -0
  4. package/dist/assets/fonts/Montserrat-Regular.ttf +0 -0
  5. package/dist/assets/fonts/Montserrat-SemiBold.ttf +0 -0
  6. package/dist/dash-css-transformer.less +766 -0
  7. package/dist/dash-variables.less +10 -0
  8. package/dist/dash.less +38 -0
  9. package/dist/helpers/getAllCssVariablesFromStyleSheets.js +1 -0
  10. package/dist/index.tsx.suffixed +680 -0
  11. package/dist/styles/button.less +120 -0
  12. package/dist/styles/buttons.less +10 -0
  13. package/dist/styles/card.less +337 -0
  14. package/dist/styles/common.less +62 -0
  15. package/dist/styles/components/notfound.less +50 -0
  16. package/dist/styles/extra.less +25 -0
  17. package/dist/styles/filters.less +7 -0
  18. package/dist/styles/forms.less +41 -0
  19. package/dist/styles/framed.less +45 -0
  20. package/dist/styles/header.less +879 -0
  21. package/dist/styles/input.copy.less +223 -0
  22. package/dist/styles/input.less +223 -0
  23. package/dist/styles/layout.less +296 -0
  24. package/dist/styles/links.less +28 -0
  25. package/dist/styles/loader.less +20 -0
  26. package/dist/styles/login.less +331 -0
  27. package/dist/styles/modal.less +0 -0
  28. package/dist/styles/module.less +29 -0
  29. package/dist/styles/mui-overrides.less +62 -0
  30. package/dist/styles/notification.less +46 -0
  31. package/dist/styles/pages/profile.less +139 -0
  32. package/dist/styles/pagination.less +90 -0
  33. package/dist/styles/popover.less +21 -0
  34. package/dist/styles/react-admin/common.less +184 -0
  35. package/dist/styles/react-admin/toolbar.less +22 -0
  36. package/dist/styles/root.less +13 -0
  37. package/dist/styles/sidebar.less +705 -0
  38. package/dist/styles/splash.less +44 -0
  39. package/dist/styles/static.less +59 -0
  40. package/dist/styles/stats.less +5 -0
  41. package/dist/styles/svg.less +30 -0
  42. package/dist/styles/switch.less +7 -0
  43. package/dist/styles/table.less +196 -0
  44. package/dist/styles/tabs.less +173 -0
  45. package/dist/styles/tags.less +97 -0
  46. package/dist/styles/toast.less +83 -0
  47. package/dist/styles/toolbar.less +90 -0
  48. package/dist/styles/transition.less +226 -0
  49. package/dist/styles/uploader.less +38 -0
  50. package/dist/variables/breakpoints.less +35 -0
  51. package/dist/variables/colors.less +205 -0
  52. package/dist/variables/dash-colors.less +52 -0
  53. package/dist/variables/sizes.less +150 -0
  54. package/package.json +14 -3
@@ -0,0 +1,296 @@
1
+
2
+ /* =============================================================================
3
+ DASH LAYOUT STYLES
4
+ =============================================================================
5
+ This stylesheet manages the overall layout structure of the Dash application,
6
+ including responsive design, sidebar states, and framed layout support.
7
+ ============================================================================= */
8
+
9
+ /* -----------------------------------------------------------------------------
10
+ GLOBAL LAYOUT SETUP
11
+ ----------------------------------------------------------------------------- */
12
+
13
+ .dash-layout-content > .dash-layout-content {
14
+ padding: 0;
15
+ }
16
+
17
+
18
+ html {
19
+ height: 100vh;
20
+ }
21
+
22
+ body, #root {
23
+ height: 100vh;
24
+ }
25
+
26
+
27
+
28
+
29
+
30
+ @media (min-width: @mq-sm) {
31
+ /*.dash-app-layout-content {
32
+ //padding-left: 5px;
33
+ }*/
34
+
35
+ .framed-layout .dash-app-layout {
36
+ border-radius: 20px;
37
+
38
+
39
+ //overflow: hidden;
40
+
41
+
42
+ //min-height: calc(100vh - 16px);
43
+ }
44
+ }
45
+
46
+ /* Optimize sidebar transitions */
47
+ .dash-app-layout {
48
+ transition: margin-left 0.2s ease-in-out;
49
+ will-change: margin-left;
50
+ contain: layout;
51
+ }
52
+
53
+ /* Prevent flickering during theme changes */
54
+ .dash-app-layout * {
55
+ transition: background-color 0.1s ease, color 0.1s ease;
56
+ }
57
+
58
+ /* -----------------------------------------------------------------------------
59
+ SIDEBAR MANAGEMENT
60
+ ----------------------------------------------------------------------------- */
61
+
62
+ .dash-app-layout-sidebar-expanded {
63
+ margin-left: 240px;
64
+ }
65
+
66
+ .dash-app-layout-sidebar-collapsed {
67
+ margin-left: 80px;
68
+ }
69
+
70
+ /* Sidebar width overrides */
71
+ .small.expanded .sidebar-drawer .MuiPaper-root,
72
+ .large.collapsed .sidebar-drawer .MuiPaper-root {
73
+ width: var(--sidebar-small-width);
74
+ }
75
+
76
+ .large.expanded .sidebar-drawer .MuiPaper-root {
77
+ width: var(--sidebar-large-width);
78
+ }
79
+
80
+ /* -----------------------------------------------------------------------------
81
+ MODULE CONTENT STYLES
82
+ ----------------------------------------------------------------------------- */
83
+
84
+ .dash-module-box-content > .MuiBox-root {
85
+ height: auto;
86
+ }
87
+
88
+ /* Firefox scrollbar handling */
89
+ #dash-app-layout > div.dash-app-layout-content.MuiBox-root {
90
+ overflow: auto;
91
+ height: 100vh;
92
+ }
93
+
94
+ @media (max-width: @mq-sm) {
95
+ #dash-app-layout > div.dash-app-layout-content.MuiBox-root {
96
+ overflow: auto;
97
+ -ms-overflow-style: none; /* IE and Edge */
98
+ scrollbar-width: none; /* Firefox */
99
+ }
100
+
101
+ #dash-app-layout > div.dash-app-layout-content.MuiBox-root::-webkit-scrollbar {
102
+ display: none; /* Chrome, Safari, Opera */
103
+ }
104
+ }
105
+
106
+ // cannot apply this because it hides the table
107
+ /*.RaList-noResults, .RaList-main {
108
+ height: calc(100vh - 180px);
109
+ }*/
110
+
111
+ .framed-layout #root {
112
+ box-shadow: unset;
113
+ //height: calc(100vh - 2 * 15px);
114
+ }
115
+
116
+ /* -----------------------------------------------------------------------------
117
+ LAYOUT OVERWRITES
118
+ ----------------------------------------------------------------------------- */
119
+
120
+ .framed-layout {
121
+ .dash-module-horizontal-nav {
122
+ //border-bottom: none;
123
+ li:first-child .dash-link {
124
+ margin-left: 8px;
125
+ }
126
+ }
127
+ }
128
+
129
+ .dash-app-layout {
130
+ .dash-layout-content {
131
+ overflow-y: auto;
132
+ //transition: all .4s;
133
+ .dash-app-module {
134
+ margin: 0;
135
+ //padding: 0 0 0 12px;
136
+ width: 100%;
137
+ //min-height: calc(100vh - 70px);
138
+ .dash-module-box-content {
139
+ padding: 0;
140
+ //height: calc(100vh - 140px); // Approximate size of the header in mobile
141
+ }
142
+ .dash-box {
143
+ width: 100%;
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ /* -----------------------------------------------------------------------------
150
+ SIDEBAR STATE MANAGEMENT
151
+ ----------------------------------------------------------------------------- */
152
+
153
+ .dash-app-layout.collapsed.small {
154
+ .dash-layout-content, .dash-theme-content {
155
+ padding: 0px;
156
+ }
157
+ }
158
+
159
+ // Left sidebar position - collapsed
160
+ .dash-app-layout.collapsed.large.sidebar-position-left {
161
+ .dash-header-container {
162
+ padding-left: var(--sidebar-small-width);
163
+ }
164
+ .dash-layout-content, .dash-theme-content {
165
+ padding-left: var(--sidebar-small-width);
166
+ }
167
+ }
168
+
169
+ // Left sidebar position - expanded
170
+ .dash-app-layout.expanded.large.sidebar-position-left {
171
+ .dash-header-container {
172
+ padding-left: var(--sidebar-large-width);
173
+ }
174
+ .dash-layout-content, .dash-theme-content {
175
+ padding-left: var(--sidebar-large-width);
176
+ }
177
+ }
178
+
179
+ // Right sidebar position - collapsed
180
+ .dash-app-layout.collapsed.large.sidebar-position-right {
181
+ .dash-header-container {
182
+ padding-right: var(--sidebar-small-width);
183
+ }
184
+ .dash-layout-content, .dash-theme-content {
185
+ padding-right: var(--sidebar-small-width);
186
+ }
187
+ }
188
+
189
+ // Right sidebar position - expanded
190
+ .dash-app-layout.expanded.large.sidebar-position-right {
191
+ .dash-header-container {
192
+ padding-right: var(--sidebar-large-width);
193
+ }
194
+ .dash-layout-content, .dash-theme-content {
195
+ padding-right: var(--sidebar-large-width);
196
+ }
197
+ }
198
+
199
+ // Top sidebar position
200
+ .dash-app-layout.sidebar-position-top {
201
+ .dash-app-layout-content {
202
+ padding-top: var(--sidebar-horizontal-height);
203
+ }
204
+ }
205
+
206
+ // Bottom sidebar position
207
+ .dash-app-layout.sidebar-position-bottom {
208
+ .dash-app-layout-content {
209
+ padding-bottom: var(--sidebar-horizontal-height);
210
+ }
211
+ }
212
+
213
+
214
+ /* -----------------------------------------------------------------------------
215
+ MOBILE RESPONSIVENESS
216
+ ----------------------------------------------------------------------------- */
217
+
218
+ @media (max-width: @mq-sm) {
219
+ body.framed-layout {
220
+ padding: 0px;
221
+ //min-height: calc(100vh - 16px);
222
+ }
223
+
224
+ .framed-layout {
225
+ > #root {
226
+ border-radius: 0px;
227
+
228
+ .dash-app-layout {
229
+ .dash-app-module {
230
+ //padding: 0px;
231
+ }
232
+ }
233
+ }
234
+ }
235
+
236
+ .dash-header, .dash-layout-content {
237
+ padding: 0;
238
+ }
239
+
240
+ .dash-app-layout-sidebar-collapsed {
241
+ .dash-header, .dash-layout-content {
242
+ padding: 0;
243
+ }
244
+ }
245
+
246
+ .dash-layout-content {
247
+ .dash-app-module {
248
+ //width: calc(100%);
249
+ //max-width: calc(100%);
250
+ margin: 0;
251
+ padding: 0;
252
+ }
253
+ }
254
+
255
+ /*.dash-app-layout {
256
+ .dash-layout-content {
257
+ .dash-app-module {
258
+ height: 100%;
259
+ display: flex;
260
+ }
261
+ }
262
+ }*/
263
+
264
+ }
265
+
266
+
267
+ .dash-app-layout-content .dash-app-login-wrapper {
268
+ background: none;
269
+ }
270
+
271
+
272
+ .dash-app-layout .dash-layout-content .dash-app-module {
273
+
274
+ padding-right: 8px;
275
+ padding-left: 8px;
276
+
277
+ @media (max-width: @mq-sm) {
278
+ padding-right: 0;
279
+ padding-left: 0;
280
+ }
281
+
282
+ }
283
+
284
+ /* -----------------------------------------------------------------------------
285
+ MISCELLANEOUS OVERRIDES
286
+ ----------------------------------------------------------------------------- */
287
+ /*
288
+ .MuiPaper-root .show-page {
289
+ padding-inline: 15px;
290
+ }
291
+ */
292
+ /*
293
+ .auto-admin-grouped-form {
294
+ padding: 0 !important;
295
+ }
296
+ */
@@ -0,0 +1,28 @@
1
+ a, .dash-link{
2
+ color: var(--primary-color);
3
+ }
4
+
5
+ .link {
6
+ display: flex;
7
+ width: fit-content;
8
+ margin: .5rem 0;
9
+ font-weight: 500;
10
+ font-size: 12px;
11
+ line-height: 22px;
12
+
13
+ text-align: right;
14
+ text-decoration-line: underline;
15
+ // color: $c-blue;
16
+ transition: all .4s;
17
+ &--secondary {
18
+ color: var(--link-color);
19
+ }
20
+
21
+ .icon{
22
+ margin-right: 10px;
23
+ }
24
+
25
+ &:hover{
26
+ text-decoration: underline;
27
+ }
28
+ }
@@ -0,0 +1,20 @@
1
+
2
+ .loading-overlay {
3
+ opacity: 0.3;
4
+ //transition: opacity 0.3s linear 1s;
5
+ pointer-events: none;
6
+ position: relative;
7
+ }
8
+
9
+ .datagrid-olverlay-loading {
10
+ position: absolute;
11
+ top: 50%;
12
+ left: 50%;
13
+ transform: translate(-50%, -50%);
14
+ }
15
+
16
+ .default-overlay {
17
+ opacity: 1;
18
+ //transition: opacity 0.3s linear 1s;
19
+ }
20
+
@@ -0,0 +1,331 @@
1
+ /*.framed-layout{
2
+ .dash-app-login{
3
+ &-wrapper{
4
+ min-height: calc(100vh - 85px);
5
+ }
6
+
7
+ }
8
+ }*/
9
+
10
+ .dash-app-layout.w50 {
11
+ .dash-app-login{
12
+ &-content{
13
+
14
+ max-width: calc(100% - 50%);
15
+ flex: 0 0 calc(100% - 50%);
16
+ }
17
+ }
18
+ }
19
+
20
+ .dash-app-login{
21
+ &-wrapper{
22
+ width: 100%;
23
+ //min-height: 100vh;
24
+ //height: 100vh;
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+
28
+ // Override MUI Container centering - align form to left
29
+ /*> .MuiContainer-root {
30
+ margin-left: 0;
31
+ }*/
32
+ }
33
+ &-content, &-back{
34
+ display: flex;
35
+ position: relative;
36
+ }
37
+
38
+
39
+ &-content{
40
+ z-index:3;
41
+ width: 100%;
42
+ max-width: 50%;
43
+ flex: 0 0 50%;
44
+ align-items: flex-start;
45
+ justify-content: center;
46
+ padding-top: 60px;
47
+
48
+ flex-direction: column;
49
+
50
+ //padding-right: 50px;
51
+
52
+ .dash-app-login, .dash-app-login-form {
53
+ a {
54
+ color: var(--highlight-color);
55
+ }
56
+
57
+ &-logo{
58
+ // Logo styles handled at parent level
59
+ }
60
+
61
+ /* .MuiTypography-root {
62
+ color: var(--text-color);
63
+ }
64
+
65
+ .MuiInputLabel-root {
66
+ color: var(--text-color);
67
+ }
68
+ */
69
+ .MuiPaper-root {
70
+ background-color: var(--module-bg);
71
+ border-color: var(--module-border);
72
+ }
73
+
74
+ &-form{
75
+ //width: 90%;
76
+ flex-direction: column;
77
+ .MuiInputBase-root{
78
+ min-height:45px;
79
+ margin-bottom: 20px;
80
+
81
+ color: var(--text-header--light) !important;
82
+
83
+ fieldset {
84
+ border-radius: 33px;
85
+ border-color: var(--text-header--light) !important;
86
+
87
+ border-width: 1px;
88
+ box-shadow: 2px 2px var(--component-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
89
+
90
+ }
91
+
92
+ /* legend span {
93
+ -webkit-text-fill-color: var(--text-color) !important;
94
+ }*/
95
+
96
+ input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill:active {
97
+ -webkit-text-fill-color: var(--text-color) !important;
98
+ }
99
+
100
+
101
+ }
102
+ .MuiInputLabel-shrink {
103
+ color: var(--text-header--light) !important;
104
+ }
105
+
106
+ .MuiLink-button {
107
+ color: var(--text-header--light) !important;
108
+ }
109
+
110
+ .MuiButtonBase-root {
111
+ color: var(--primary-contrast);
112
+ font-weight: bolder;
113
+ background-color: var(--highlight-color);
114
+
115
+
116
+
117
+ }
118
+
119
+
120
+ &-title{
121
+ display: block;
122
+ font-style: normal;
123
+ font-weight: 900;
124
+ font-size: 24px;
125
+ line-height: 34px;
126
+ color: var(--highlight-color);
127
+ //color: white;
128
+
129
+ }
130
+
131
+ }
132
+ }
133
+ }
134
+ &-back{
135
+ align-items: flex-end;
136
+ justify-content: flex-start;
137
+ width: 100%;
138
+ max-width: 50%;
139
+ flex: 0 0 50%;
140
+ height: 100vh;
141
+ position: fixed;
142
+ top: 0;
143
+ right: 0;
144
+ z-index: 1;
145
+ &::before{
146
+ content: "";
147
+ display: block;
148
+ width: 100%;
149
+ height: 100vh;
150
+ right: 0;
151
+ top: 0;
152
+ background: var(--primary-color);
153
+ background: linear-gradient(130.87deg, var(--primary-color) 4.81%, var(--primary-contrast) 107.52%);
154
+ border-radius: 40px 0 0 40px;
155
+ position: absolute;
156
+ z-index: -1;
157
+ }
158
+ }
159
+
160
+ &-logo{
161
+ position: absolute;
162
+ object-fit: contain;
163
+ object-position: top center;
164
+ top:10px;
165
+ right:0px;
166
+ width:100%;
167
+ max-width: 100%;
168
+ z-index:2;
169
+
170
+ img {
171
+ max-width: 100%;
172
+ max-height: 120px;
173
+ object-fit: contain;
174
+ }
175
+ }
176
+ &-img{
177
+ position: absolute;
178
+ width: 100%;
179
+ height: 70vh;
180
+ max-height: 60vh;
181
+ object-fit: contain;
182
+
183
+ left: 0;
184
+ bottom: 0;
185
+ img, svg{
186
+ width: 100%;
187
+ height: 100%;
188
+ object-fit: contain;
189
+ object-position: bottom center;
190
+ * {
191
+ pointer-events: none;
192
+ }
193
+ }
194
+ &-logo{
195
+ display: none;
196
+ }
197
+ }
198
+ }
199
+
200
+
201
+ @media (max-width: @mq-md){
202
+
203
+ .framed-layout .dash-app-login, .dash-app-login{
204
+ &-wrapper{
205
+ flex-direction: column;
206
+ //min-height: 100vh;
207
+
208
+ // Override MUI Container for small screens - full width centered
209
+ > .MuiContainer-root {
210
+ //margin-left: auto;
211
+ //margin-right: auto;
212
+ ////max-width: 100%;
213
+ ////width: 100%;
214
+ //padding-left: 16px;
215
+ //padding-right: 16px;
216
+ }
217
+ }
218
+ &-content, &-back{
219
+ display: flex;
220
+ position: relative;
221
+ max-width: 100%;
222
+ flex: 0 0 auto;
223
+ padding: 0;
224
+ }
225
+ &-back{
226
+ display: none; // Hide back element on small screens - logo moved to wrapper
227
+ }
228
+
229
+ &-logo {
230
+ //order: 1;
231
+ position: relative;
232
+ top: auto;
233
+ right: auto;
234
+ width: 100%;
235
+ max-width: 100%;
236
+ z-index: 2;
237
+ padding: 20px;
238
+ background: none;
239
+ display: flex;
240
+ justify-content: center;
241
+ align-items: center;
242
+
243
+ img {
244
+ width: 100%;
245
+ max-width: 280px;
246
+ max-height: 80px;
247
+ object-fit: contain;
248
+ }
249
+ }
250
+
251
+ &-img{
252
+ // order: 3;
253
+ position: relative;
254
+ object-position: center;
255
+ width: 100%;
256
+ height: auto;
257
+ min-height: 120px;
258
+ max-height: 50vh;
259
+ right: auto;
260
+ left: auto;
261
+ bottom: 0;
262
+ z-index: 1;
263
+ margin-top: auto;
264
+ img, svg{
265
+ width: 100%;
266
+ height: 100%;
267
+ max-height: 50vh;
268
+ object-fit: contain;
269
+ object-position: bottom center;
270
+ }
271
+ &-logo{
272
+ display: none;
273
+ }
274
+ }
275
+
276
+ &-content{
277
+ //order: 2;
278
+ max-width: 100%;
279
+ width: 100%;
280
+ flex: 1 0 auto;
281
+ padding-top: 20px;
282
+ align-items: center;
283
+ justify-content: flex-start;
284
+
285
+ .dash-app-login{
286
+ &-logo{
287
+ display: none;
288
+ }
289
+ &-form{
290
+ margin: 0;
291
+ padding: 20px;
292
+ width: 100%;
293
+ &-title{
294
+ display: block;
295
+ margin-bottom: 20px;
296
+ font-style: normal;
297
+ font-weight: 900;
298
+ font-size: 20px;
299
+ line-height: 30px;
300
+ color: var(--heading-color);
301
+ }
302
+ &-item{
303
+ display: flex;
304
+ flex-direction: column;
305
+ width: 100%;
306
+ max-width: unset;
307
+ margin-bottom: 20px;
308
+ }
309
+ &-label{
310
+ display: block;
311
+ font-style: normal;
312
+ font-weight: 400;
313
+ font-size: 14px;
314
+ line-height: 22px;
315
+ color: var(--text-color);
316
+ }
317
+ &-input{
318
+ width: 100%;
319
+ &::before, &::after{
320
+ display: none;
321
+ }
322
+
323
+ > input{
324
+ font-size: 16px;
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ }
331
+ }
File without changes
@@ -0,0 +1,29 @@
1
+ .dash-app-module{
2
+ // margin: 0 !important;
3
+ flex: unset;
4
+ }
5
+
6
+ .dash-module-box{
7
+ max-width: calc(100% - 1px);
8
+ }
9
+
10
+ .dash-module-box-content{
11
+ width: 100%;
12
+ //max-width: calc(100vw - 107px);
13
+ overflow: unset;
14
+ }
15
+
16
+ @media screen and (max-width: 991px){
17
+ .dash-module-box-content, .framed-layout .dash-module-box-content{
18
+ max-width: 100%;
19
+ }
20
+ // .dash-breadcrumb-btn-container{
21
+ // display: flex;
22
+ // flex-wrap: wrap;
23
+ // }
24
+ }
25
+
26
+ .dash-module-box, .dash-module-horizontal-box{
27
+ max-width: 100%;
28
+ width:100%;
29
+ }