@elderbyte/ngx-starter 18.13.0-beta.2 → 18.14.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 (107) hide show
  1. package/_index.scss +6 -25
  2. package/esm2022/lib/common/exceptions/public_api.mjs +2 -0
  3. package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +6 -0
  4. package/esm2022/lib/common/public_api.mjs +2 -1
  5. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  6. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +3 -3
  7. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  8. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +3 -3
  9. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  10. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  11. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +3 -3
  12. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  13. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  14. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  15. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  16. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +97 -0
  17. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +50 -0
  18. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +102 -0
  19. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +50 -0
  20. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +9 -3
  21. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  22. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  23. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  24. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -12
  25. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  26. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  27. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  28. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +5 -4
  29. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -3
  30. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -3
  31. package/esm2022/lib/components/select/elder-select-base.mjs +4 -2
  32. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  33. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +4 -2
  34. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
  35. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +20 -6
  36. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  37. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +5 -3
  38. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  39. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +6 -6
  40. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +3 -3
  41. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  42. package/fesm2022/elderbyte-ngx-starter.mjs +408 -221
  43. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  44. package/lib/common/exceptions/public_api.d.ts +1 -0
  45. package/lib/common/exceptions/unreachable-case-error.d.ts +4 -0
  46. package/lib/common/public_api.d.ts +1 -0
  47. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.d.ts +46 -0
  48. package/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.d.ts +34 -0
  49. package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.d.ts +47 -0
  50. package/lib/components/forms/directives/{elder-triple-state-checkbox.directive.d.ts → checkbox/elder-triple-state-checkbox.directive.d.ts} +10 -23
  51. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +9 -7
  52. package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -2
  53. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +4 -1
  54. package/package.json +1 -1
  55. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -2
  56. package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +9 -3
  57. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +36 -9
  58. package/src/lib/components/cards/elder-card/elder-card.component.scss +14 -7
  59. package/src/lib/components/chips/_elder-chip-theme.scss +12 -101
  60. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +7 -1
  61. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +0 -11
  62. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +26 -16
  63. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +22 -13
  64. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +9 -2
  65. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +9 -3
  66. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +10 -4
  67. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +10 -7
  68. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +1 -0
  69. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +4 -0
  70. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
  71. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +24 -16
  72. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +1 -1
  73. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +4 -4
  74. package/src/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.scss +5 -2
  75. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +13 -4
  76. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +13 -5
  77. package/src/lib/components/panels/flat/_elder-panel-theme.scss +25 -9
  78. package/src/lib/components/select/_elder-select-base.scss +9 -1
  79. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +6 -2
  80. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +39 -10
  81. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +52 -18
  82. package/src/lib/components/select/single/elder-select/elder-select.component.scss +40 -24
  83. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +2 -2
  84. package/src/lib/components/shell/shell/elder-shell.component.scss +0 -8
  85. package/src/lib/components/time/_elder-time-input.theme.scss +3 -0
  86. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +2 -31
  87. package/theming/_elder-common.scss +402 -21
  88. package/theming/_elder-defaults.scss +7 -3
  89. package/theming/_elder-flex-layout.scss +11 -0
  90. package/theming/_elder-mdc-support.scss +142 -59
  91. package/theming/_elder-palettes.scss +148 -0
  92. package/theming/_elder-scrollbar-theme.scss +12 -2
  93. package/theming/_elder-style-fixes.scss +88 -214
  94. package/theming/_elder-theme.scss +51 -0
  95. package/theming/_elder-toast-theme.scss +46 -0
  96. package/theming/_elder-typography-utils.scss +11 -0
  97. package/theming/_mat-icon-button-size.scss +34 -0
  98. package/theming/_mixins.scss +1 -35
  99. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
  100. package/src/lib/components/chips/_elder-chip-theme-old.scss +0 -122
  101. package/theming/_elder-badge-sizing.scss +0 -21
  102. package/theming/_elder-color-helpers.scss +0 -74
  103. package/theming/_elder-color-variants.scss +0 -26
  104. package/theming/_elder-design-token-overwrites.scss +0 -33
  105. package/theming/_elder-form.scss +0 -308
  106. package/theming/_elder-layout-system.scss +0 -467
  107. package/theming/_elder-m3-theme.scss +0 -958
@@ -1,6 +1,6 @@
1
- @use './mixins' as mixins;
1
+ @use 'mat-icon-button-size' as icon-button-size;
2
2
  @use '@angular/material' as mat;
3
-
3
+ @use 'mixins' as mixins;
4
4
  @mixin elder-common-styles($theme) {
5
5
  $common-sizes: map-get($theme, elder, common-sizes);
6
6
  $form-field-density: map-get($theme, elder, density, form-field);
@@ -19,18 +19,6 @@
19
19
  $xl: map-get($common-sizes, xl);
20
20
  $xxl: map-get($common-sizes, xxl);
21
21
 
22
- /***************************************************************************
23
- * *
24
- * CSS reset *
25
- * *
26
- **************************************************************************/
27
-
28
- *,
29
- *::before,
30
- *::after {
31
- box-sizing: border-box;
32
- }
33
-
34
22
  /***************************************************************************
35
23
  * *
36
24
  * Angular Material Extensions (Optional) *
@@ -102,6 +90,175 @@
102
90
  }
103
91
  }
104
92
 
93
+ /***************************************************************************
94
+ * *
95
+ * elder-form-field-label styling *
96
+ * *
97
+ **************************************************************************/
98
+
99
+ // A legacy styled form field with class 'elder-form-field-label' will get these styles
100
+ .mat-form-field-appearance-legacy.elder-form-field-label {
101
+ /*TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
102
+ .mat-form-field-underline {
103
+ display: none;
104
+ }
105
+ }
106
+
107
+ /***************************************************************************
108
+ Form field dense styling
109
+ **************************************************************************/
110
+
111
+ .mat-mdc-form-field.elder-dense {
112
+ .mat-mdc-text-field-wrapper {
113
+ // padding left / right 16 by default
114
+ padding-left: $sm !important;
115
+ padding-right: $sm !important;
116
+ }
117
+
118
+ .mat-mdc-form-field-flex {
119
+ padding: 0;
120
+ }
121
+
122
+ .mdc-text-field--outlined {
123
+ .mat-mdc-form-field-infix {
124
+ padding-top: $sm !important; // 16px by default
125
+ padding-bottom: $sm !important; // 16px by default
126
+ min-height: 40px; // (24 + 2*16) = 56px by default
127
+ }
128
+ }
129
+
130
+ .mdc-text-field--filled {
131
+ .mdc-floating-label--float-above {
132
+ transform: translateY(-100%) scale(0.75);
133
+ }
134
+ .mat-mdc-form-field-infix {
135
+ padding-top: 14px !important; // 16px by default
136
+ padding-bottom: 2px;
137
+ min-height: 40px; // (24 + 2*16) = 56px by default
138
+ }
139
+ }
140
+
141
+ @include mixins.form-field-icons(-4);
142
+
143
+ //.mat-mdc-icon-button {
144
+ // // @include icon-button-size.matIconButtonSize(40,24);
145
+ // width: 40px !important;
146
+ // height: 40px !important;
147
+ //
148
+ // padding: 0px !important;
149
+ // display: inline-flex !important;
150
+ // align-items: center;
151
+ // justify-content: center;
152
+ //
153
+ //
154
+ // .mat-mdc-button-touch-target {
155
+ // width: 40px !important;
156
+ // height: 40px !important;
157
+ // }
158
+ //}
159
+ }
160
+
161
+ .mat-mdc-form-field.elder-no-hint {
162
+ /*TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
163
+ .mat-form-field-wrapper {
164
+ padding-bottom: 0;
165
+ }
166
+ /*TODO(mdc-migration): The following rule targets internal classes of form-field that may no longer apply for the MDC version.*/
167
+ .mat-form-field-underline {
168
+ bottom: 0;
169
+ }
170
+ }
171
+
172
+ /******************************
173
+ Material Form Controls
174
+ *******************************/
175
+
176
+ .elder-form-control {
177
+ width: 180px;
178
+ overflow: hidden; // This allows flex items to shrink (min/max is not defaulting auto)
179
+ }
180
+
181
+ .elder-flex-control {
182
+ flex: 1 1 180px;
183
+ overflow: hidden;
184
+ }
185
+
186
+ /******************************
187
+ Material Form Field
188
+ *******************************/
189
+
190
+ .elder-form-field-gap {
191
+ width: 12px;
192
+ }
193
+
194
+ // two fields plus 12px gap add up to elder-std-form-field width
195
+ .elder-form-field-small {
196
+ width: 84px;
197
+ }
198
+
199
+ // three fields plus 12px gap add up to elder-std-form-field width
200
+ .elder-form-field-tiny {
201
+ width: 52px;
202
+ }
203
+
204
+ .elder-std-form-field {
205
+ width: 180px;
206
+ overflow: hidden; // This allows flex items to shrink (min/max is not defaulting auto)
207
+ }
208
+
209
+ .elder-form-field-large {
210
+ width: 244px;
211
+ overflow: hidden;
212
+ }
213
+
214
+ .elder-form-field-xl {
215
+ width: 276px;
216
+ overflow: hidden;
217
+ }
218
+
219
+ .elder-form-field-xxl {
220
+ width: 372px;
221
+ overflow: hidden;
222
+ }
223
+
224
+ /**
225
+ * mat-form-field style shorthands
226
+ */
227
+ mat-form-field {
228
+ // three fields plus 12px gap add up to elder-std-form-field width
229
+ .tiny {
230
+ width: 52px; // (180-(2*12)) / 3
231
+ }
232
+
233
+ // two fields plus 12px gap add up to elder-std-form-field width
234
+ .small {
235
+ width: 84px; // (180-(1*12)) / 2
236
+ }
237
+
238
+ .standard {
239
+ width: 180px;
240
+ overflow: hidden; // This allows flex items to shrink (min/max is not defaulting auto)
241
+ }
242
+
243
+ // one and a half plus 12px gap 180 + 52 + 12
244
+ .large {
245
+ width: 244px;
246
+ overflow: hidden;
247
+ }
248
+
249
+ // one and a half plus 12px gap 180 + 84 + 12
250
+ .xl {
251
+ width: 276px;
252
+ overflow: hidden;
253
+ }
254
+
255
+ // two standard fields plus 12px gap (180 + 180 + 12)
256
+ .xxl {
257
+ width: 372px;
258
+ overflow: hidden;
259
+ }
260
+ }
261
+
105
262
  /***************************************************************************
106
263
  * *
107
264
  * Style for hiding spinner on inputs *
@@ -124,9 +281,9 @@
124
281
  **************************************************************************/
125
282
 
126
283
  .custom-dialog-container .mat-mdc-dialog-container {
127
- // overflow-y: hidden;
128
- // padding: 0;
129
- // margin: 0;
284
+ overflow-y: hidden;
285
+ padding: 0;
286
+ margin: 0;
130
287
  }
131
288
 
132
289
  .no-padding-dialog .mat-mdc-dialog-container {
@@ -143,6 +300,230 @@
143
300
  display: none;
144
301
  }
145
302
 
303
+ /***************************************************************************
304
+ * *
305
+ * Padding *
306
+ * *
307
+ **************************************************************************/
308
+
309
+ .p-xs {
310
+ padding: $xs;
311
+ }
312
+
313
+ .pt-xs {
314
+ padding-top: $xs;
315
+ }
316
+
317
+ .pb-xs {
318
+ padding-bottom: $xs;
319
+ }
320
+
321
+ .pr-xs {
322
+ padding-right: $xs;
323
+ }
324
+
325
+ .pl-xs {
326
+ padding-left: $xs;
327
+ }
328
+
329
+ .px-xs {
330
+ padding-left: $xs;
331
+ padding-right: $xs;
332
+ }
333
+
334
+ .py-xs {
335
+ padding-top: $xs;
336
+ padding-bottom: $xs;
337
+ }
338
+
339
+ .p-sm {
340
+ padding: $sm;
341
+ }
342
+
343
+ .pt-sm {
344
+ padding-top: $sm;
345
+ }
346
+
347
+ .pb-sm {
348
+ padding-bottom: $sm;
349
+ }
350
+
351
+ .pr-sm {
352
+ padding-right: $sm;
353
+ }
354
+
355
+ .pl-sm {
356
+ padding-left: $sm;
357
+ }
358
+
359
+ .px-sm {
360
+ padding-left: $sm;
361
+ padding-right: $sm;
362
+ }
363
+
364
+ .py-sm {
365
+ padding-top: $sm;
366
+ padding-bottom: $sm;
367
+ }
368
+
369
+ .p-md {
370
+ padding: $md;
371
+ }
372
+
373
+ .pt-md {
374
+ padding-top: $md;
375
+ }
376
+
377
+ .pb-md {
378
+ padding-bottom: $md;
379
+ }
380
+
381
+ .pr-md {
382
+ padding-right: $md;
383
+ }
384
+
385
+ .pl-md {
386
+ padding-left: $md;
387
+ }
388
+
389
+ .px-md {
390
+ padding-left: $md;
391
+ padding-right: $md;
392
+ }
393
+
394
+ .py-md {
395
+ padding-top: $md;
396
+ padding-bottom: $md;
397
+ }
398
+
399
+ .p-lg {
400
+ padding: $lg;
401
+ }
402
+
403
+ .pt-lg {
404
+ padding-top: $lg;
405
+ }
406
+
407
+ .pb-lg {
408
+ padding-bottom: $lg;
409
+ }
410
+
411
+ .pr-lg {
412
+ padding-right: $lg;
413
+ }
414
+
415
+ .pl-lg {
416
+ padding-left: $lg;
417
+ }
418
+
419
+ .px-lg {
420
+ padding-left: $lg;
421
+ padding-right: $lg;
422
+ }
423
+
424
+ .py-lg {
425
+ padding-top: $lg;
426
+ padding-bottom: $lg;
427
+ }
428
+
429
+ .p-xl {
430
+ padding: $xl;
431
+ }
432
+
433
+ .pt-xl {
434
+ padding-top: $xl;
435
+ }
436
+
437
+ .pb-xl {
438
+ padding-bottom: $xl;
439
+ }
440
+
441
+ .pr-xl {
442
+ padding-right: $xl;
443
+ }
444
+
445
+ .pl-xl {
446
+ padding-left: $xl;
447
+ }
448
+
449
+ .px-xl {
450
+ padding-left: $xl;
451
+ padding-right: $xl;
452
+ }
453
+
454
+ .py-xl {
455
+ padding-top: $xl;
456
+ padding-bottom: $xl;
457
+ }
458
+
459
+ .p-xxl {
460
+ padding: $xxl;
461
+ }
462
+
463
+ .pt-xxl {
464
+ padding-top: $xxl;
465
+ }
466
+
467
+ .pb-xxl {
468
+ padding-bottom: $xxl;
469
+ }
470
+
471
+ .pr-xxl {
472
+ padding-right: $xxl;
473
+ }
474
+
475
+ .pl-xxl {
476
+ padding-left: $xxl;
477
+ }
478
+
479
+ .px-xxl {
480
+ padding-left: $xxl;
481
+ padding-right: $xxl;
482
+ }
483
+
484
+ .py-xxl {
485
+ padding-top: $xxl;
486
+ padding-bottom: $xxl;
487
+ }
488
+
489
+ /***************************************************************************
490
+ * *
491
+ * Layout Widths *
492
+ * *
493
+ **************************************************************************/
494
+
495
+ .width-5p {
496
+ width: 5%;
497
+ }
498
+
499
+ .width-10p {
500
+ width: 10%;
501
+ }
502
+
503
+ .width-15p {
504
+ width: 15%;
505
+ }
506
+
507
+ .width-20p {
508
+ width: 20%;
509
+ }
510
+
511
+ .width-25p {
512
+ width: 25%;
513
+ }
514
+
515
+ .width-30p {
516
+ width: 30%;
517
+ }
518
+
519
+ .width-40p {
520
+ width: 40%;
521
+ }
522
+
523
+ .width-50p {
524
+ width: 50%;
525
+ }
526
+
146
527
  /***************************************************************************
147
528
  * *
148
529
  * MDC Icon Button Sizing *
@@ -150,16 +531,16 @@
150
531
  **************************************************************************/
151
532
 
152
533
  .elder-icon-button-lg {
153
- @include mixins.matIconButtonSize(40px, 24px);
534
+ @include icon-button-size.matIconButtonSize(40px, 24px);
154
535
  }
155
536
  .elder-icon-button-md {
156
- @include mixins.matIconButtonSize(32px, 19px);
537
+ @include icon-button-size.matIconButtonSize(32px, 19px);
157
538
  }
158
539
  .elder-icon-button-sm {
159
- @include mixins.matIconButtonSize(26px, 16px);
540
+ @include icon-button-size.matIconButtonSize(26px, 16px);
160
541
  }
161
542
  .elder-icon-button-xs {
162
- @include mixins.matIconButtonSize(20px, 12px);
543
+ @include icon-button-size.matIconButtonSize(20px, 12px);
163
544
  }
164
545
 
165
546
  .mat-mdc-chip {
@@ -1,5 +1,4 @@
1
1
  @use 'sass:map';
2
- @use '@angular/material' as mat;
3
2
 
4
3
  /******************************
5
4
  Default values
@@ -11,8 +10,9 @@ $commonSizesLg: 16px;
11
10
  $commonSizesXl: 24px;
12
11
  $commonSizesXxl: 32px;
13
12
 
14
- $densityFormField: -4;
15
- $scrollbarStyling: true;
13
+ $densityFormField: 0;
14
+
15
+ $scrollbarStyling: false;
16
16
 
17
17
  /******************************
18
18
  Validates $theme and sets default value if null
@@ -43,3 +43,7 @@ Validates $theme and sets default value if null
43
43
  @return $defaultValue;
44
44
  }
45
45
  }
46
+
47
+ @function get-default-input() {
48
+ @return ();
49
+ }
@@ -25,11 +25,13 @@ $media: (
25
25
  }
26
26
 
27
27
  @mixin flex-layout {
28
+ box-sizing: border-box;
28
29
  display: flex !important;
29
30
  }
30
31
 
31
32
  @mixin flex-initial-100 {
32
33
  flex: 1 1 100%;
34
+ box-sizing: border-box;
33
35
  }
34
36
 
35
37
  @mixin elder-flex-layout($theme) {
@@ -59,6 +61,7 @@ $media: (
59
61
  min-height: 100%;
60
62
  min-width: 100%;
61
63
  width: 100%;
64
+ box-sizing: border-box;
62
65
  }
63
66
 
64
67
  /***************************************************************************
@@ -192,20 +195,24 @@ $media: (
192
195
 
193
196
  .flex {
194
197
  flex: 1 1 0%; // grow, shrink, no initial size
198
+ box-sizing: border-box;
195
199
  min-width: 0;
196
200
  min-height: 0;
197
201
  }
198
202
 
199
203
  .flex-auto {
200
204
  flex: 1 1 auto; // grow, shrink
205
+ box-sizing: border-box;
201
206
  }
202
207
 
203
208
  .flex-initial {
204
209
  flex: 0 1 auto; // No grow, shrink
210
+ box-sizing: border-box;
205
211
  }
206
212
 
207
213
  .flex-none {
208
214
  flex: none;
215
+ box-sizing: border-box;
209
216
  }
210
217
 
211
218
  .layout-row {
@@ -318,18 +325,22 @@ $media: (
318
325
 
319
326
  .flex-grow {
320
327
  flex-grow: 1;
328
+ box-sizing: border-box;
321
329
  }
322
330
 
323
331
  .flex-nogrow {
324
332
  flex-grow: 0;
333
+ box-sizing: border-box;
325
334
  }
326
335
 
327
336
  .flex-shrink {
328
337
  flex-shrink: 1;
338
+ box-sizing: border-box;
329
339
  }
330
340
 
331
341
  .flex-noshrink {
332
342
  flex: 1 0 0%; // grow, shrink, no initial size
343
+ box-sizing: border-box;
333
344
  }
334
345
 
335
346
  /***************************************************************************