@dynamic-framework/ui-react 1.16.1 → 1.17.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 (81) hide show
  1. package/dist/css/dynamic-ui-non-root.css +3473 -1156
  2. package/dist/css/dynamic-ui-non-root.min.css +2 -2
  3. package/dist/css/dynamic-ui-root.css +22 -16
  4. package/dist/css/dynamic-ui-root.min.css +2 -2
  5. package/dist/css/dynamic-ui.css +3494 -1171
  6. package/dist/css/dynamic-ui.min.css +2 -2
  7. package/dist/index.esm.js +88 -78
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +88 -77
  10. package/dist/index.js.map +1 -1
  11. package/dist/types/components/DTabs/DTabs.d.ts +3 -2
  12. package/dist/types/hooks/index.d.ts +1 -0
  13. package/dist/types/hooks/useDisableInputWheel.d.ts +4 -0
  14. package/dist/types/hooks/useInputCurrency.d.ts +1 -2
  15. package/package.json +3 -3
  16. package/src/style/abstracts/_utilities.scss +12 -3
  17. package/src/style/abstracts/variables/_+import.scss +6 -81
  18. package/src/style/abstracts/variables/_accordion.scss +3 -23
  19. package/src/style/abstracts/variables/_alerts.scss +7 -13
  20. package/src/style/abstracts/variables/_badges.scss +2 -2
  21. package/src/style/abstracts/variables/_body.scss +2 -22
  22. package/src/style/abstracts/variables/_border.scss +5 -17
  23. package/src/style/abstracts/variables/_box-file.scss +3 -3
  24. package/src/style/abstracts/variables/_buttons.scss +8 -27
  25. package/src/style/abstracts/variables/_cards.scss +1 -17
  26. package/src/style/abstracts/variables/_carousel.scss +0 -25
  27. package/src/style/abstracts/variables/_chips.scss +1 -1
  28. package/src/style/abstracts/variables/_close.scss +0 -6
  29. package/src/style/abstracts/variables/_code.scss +0 -10
  30. package/src/style/abstracts/variables/_collapse-icon-text.scss +1 -1
  31. package/src/style/abstracts/variables/_dropdowns.scss +3 -27
  32. package/src/style/abstracts/variables/_forms.scss +21 -161
  33. package/src/style/abstracts/variables/_list-group.scss +6 -12
  34. package/src/style/abstracts/variables/_modals.scss +11 -32
  35. package/src/style/abstracts/variables/_navbar.scss +0 -28
  36. package/src/style/abstracts/variables/_navs.scss +11 -20
  37. package/src/style/abstracts/variables/_offcanvas.scss +7 -15
  38. package/src/style/abstracts/variables/_pagination.scss +20 -25
  39. package/src/style/abstracts/variables/_progress.scss +0 -3
  40. package/src/style/abstracts/variables/_quick-action-button.scss +3 -3
  41. package/src/style/abstracts/variables/_quick-action-check.scss +2 -2
  42. package/src/style/abstracts/variables/_quick-action-select.scss +1 -1
  43. package/src/style/abstracts/variables/_quick-action-switch.scss +1 -1
  44. package/src/style/abstracts/variables/_spacers.scss +20 -8
  45. package/src/style/abstracts/variables/_tables.scss +0 -18
  46. package/src/style/abstracts/variables/_typography.scss +4 -34
  47. package/src/style/base/_+import.scss +5 -0
  48. package/src/style/base/_body.scss +3 -0
  49. package/src/style/base/_collapse.scss +5 -5
  50. package/src/style/base/_form-control.scss +10 -0
  51. package/src/style/base/_form-text.scss +12 -0
  52. package/src/style/base/_input-group.scss +114 -0
  53. package/src/style/base/_label.scss +15 -0
  54. package/src/style/base/_pagination.scss +12 -82
  55. package/src/style/base/_tables.scss +1 -1
  56. package/src/style/components/_+import.scss +0 -2
  57. package/src/style/components/_d-card-account.scss +2 -2
  58. package/src/style/components/_d-carousel.scss +2 -2
  59. package/src/style/components/_d-datepicker.scss +9 -9
  60. package/src/style/components/_d-icon.scss +1 -1
  61. package/src/style/components/_d-input-pin.scss +14 -63
  62. package/src/style/components/_d-modal.scss +1 -1
  63. package/src/style/components/_d-monthpicker.scss +3 -3
  64. package/src/style/components/_d-offcanvas.scss +1 -1
  65. package/src/style/components/_d-select.scss +59 -111
  66. package/src/style/components/_d-stepper-desktop.scss +12 -8
  67. package/src/style/components/_d-stepper-mobile.scss +1 -1
  68. package/src/style/components/_d-tabs.scss +22 -29
  69. package/src/style/helpers/_+import.scss +2 -0
  70. package/src/style/helpers/_overlay.scss +17 -0
  71. package/src/style/abstracts/variables/_breadcrumb.scss +0 -15
  72. package/src/style/abstracts/variables/_figures.scss +0 -6
  73. package/src/style/abstracts/variables/_grid.scss +0 -41
  74. package/src/style/abstracts/variables/_popovers.scss +0 -31
  75. package/src/style/abstracts/variables/_spinners.scss +0 -13
  76. package/src/style/abstracts/variables/_thumbnails.scss +0 -10
  77. package/src/style/abstracts/variables/_toasts.scss +0 -19
  78. package/src/style/abstracts/variables/_tooltips.scss +0 -29
  79. package/src/style/abstracts/variables/_z-index.scss +0 -28
  80. package/src/style/components/_d-input-select.scss +0 -27
  81. package/src/style/components/_d-input.scss +0 -178
@@ -6,26 +6,26 @@
6
6
  --#{$prefix}datepicker-font-family: var(--#{$prefix}font-sans-serif);
7
7
  --#{$prefix}datepicker-border: 0px;
8
8
  --#{$prefix}datepicker-box-shadow: var(--#{$prefix}box-shadow);
9
- --#{$prefix}datepicker-font-size: var(--#{$prefix}ref-spacer-3);
9
+ --#{$prefix}datepicker-font-size: var(--#{$prefix}ref-spacer-4);
10
10
 
11
11
  // Header variables
12
- --#{$prefix}datepicker-header-gap: var(--#{$prefix}ref-spacer-3);
13
- --#{$prefix}datepicker-header-padding: var(--#{$prefix}ref-spacer-3) var(--#{$prefix}ref-spacer-4);
12
+ --#{$prefix}datepicker-header-gap: var(--#{$prefix}ref-spacer-4);
13
+ --#{$prefix}datepicker-header-padding: var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-6);
14
14
  --#{$prefix}datepicker-header-background-color: var(--#{$prefix}secondary-soft);
15
15
  --#{$prefix}datepicker-header-border: 0;
16
16
  --#{$prefix}datepicker-header-font-size: var(--#{$prefix}ref-fs-6);
17
17
 
18
18
  --#{$prefix}datepicker-day-names-margin: 0;
19
- --#{$prefix}datepicker-day-names-font-size: var(--#{$prefix}ref-spacer-3);
19
+ --#{$prefix}datepicker-day-names-font-size: var(--#{$prefix}ref-spacer-4);
20
20
 
21
21
  --#{$prefix}datepicker-day-name-weight: var(--#{$prefix}ref-fw-bold);
22
22
  --#{$prefix}datepicker-day-name-margin: 0;
23
- --#{$prefix}datepicker-day-name-size: var(--#{$prefix}ref-spacer-3);
23
+ --#{$prefix}datepicker-day-name-size: var(--#{$prefix}ref-spacer-4);
24
24
  --#{$prefix}datepicker-day-name-color: var(--#{$prefix}gray-500);
25
25
 
26
26
  // Calendar variables
27
27
  --#{$prefix}datepicker-month-gap: var(--#{$prefix}ref-spacer-2);
28
- --#{$prefix}datepicker-month-padding: var(--#{$prefix}ref-spacer-3) var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-4);
28
+ --#{$prefix}datepicker-month-padding: var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-6) var(--#{$prefix}ref-spacer-6);
29
29
  --#{$prefix}datepicker-month-margin: 0;
30
30
  --#{$prefix}datepicker-month-color: var(--#{$prefix}white);
31
31
 
@@ -34,8 +34,8 @@
34
34
  // Day variables
35
35
  --#{$prefix}datepicker-day-margin: 0;
36
36
  --#{$prefix}datepicker-day-font-size: var(--#{$prefix}ref-fs-small);
37
- --#{$prefix}datepicker-day-size: var(--#{$prefix}ref-spacer-3);
38
- --#{$prefix}datepicker-day-padding: var(--#{$prefix}ref-spacer-3);
37
+ --#{$prefix}datepicker-day-size: var(--#{$prefix}ref-spacer-4);
38
+ --#{$prefix}datepicker-day-padding: var(--#{$prefix}ref-spacer-4);
39
39
  --#{$prefix}datepicker-day-radius: 100%;
40
40
 
41
41
  --#{$prefix}datepicker-day-bg-hover: var(--#{$prefix}body);
@@ -59,7 +59,7 @@
59
59
  --#{$prefix}datepicker-time-input-margin: 0;
60
60
  --#{$prefix}datepicker-time-input-align: center;
61
61
 
62
- --#{$prefix}datepicker-time-input-padding: var(--#{$prefix}ref-spacer-3);
62
+ --#{$prefix}datepicker-time-input-padding: var(--#{$prefix}ref-spacer-4);
63
63
  --#{$prefix}datepicker-time-input-gap: var(--#{$prefix}ref-spacer-2);
64
64
  --#{$prefix}datepicker-time-input-label-weight: var(--#{$prefix}ref-fw-bold);
65
65
  --#{$prefix}datepicker-time-input-label-color: var(--#{$prefix}gray-700);
@@ -1,7 +1,7 @@
1
1
  .d-icon {
2
2
  --#{$prefix}icon-color: var(--#{$prefix}icon-component-color, inherit);
3
3
  --#{$prefix}icon-bg-color: var(--#{$prefix}icon-component-bg-color, inherit);
4
- --#{$prefix}icon-size: var(--#{$prefix}icon-component-size, 1.5rem);
4
+ --#{$prefix}icon-size: var(--#{$prefix}icon-component-size, $spacer-6);
5
5
  --#{$prefix}icon-padding: var(--#{$prefix}icon-component-padding, 0);
6
6
  --#{$prefix}icon-loading-duration: var(--#{$prefix}icon-component-loading-duration, 1.8);
7
7
 
@@ -1,58 +1,24 @@
1
1
  .d-input-pin {
2
- --#{$prefix}input-pin-gap: #{$spacer-2};
2
+ --#{$prefix}input-pin-form-gap: var(--#{$prefix}ref-spacer-1);
3
3
 
4
- --#{$prefix}input-pin-label-gap: #{$form-label-gap};
5
- --#{$prefix}input-pin-label-focus-color: #{$input-group-focus-border-color};
6
- --#{$prefix}input-pin-label-padding-x: #{$form-label-padding-x};
7
- --#{$prefix}input-pin-label-padding-y: #{$form-label-padding-y};
8
- --#{$prefix}input-pin-label-font-weight: #{$form-label-font-weight};
9
- --#{$prefix}input-pin-label-font-size: #{$form-label-font-size};
10
- --#{$prefix}input-pin-label-color: #{$form-label-color};
11
-
12
- --#{$prefix}input-pin-form-control-gap: #{$spacer-1};
13
- --#{$prefix}input-pin-form-control-width: 4rem;
14
- --#{$prefix}input-pin-form-control-height: 4rem;
15
- --#{$prefix}input-pin-form-control-border-color: #{$input-group-hover-border-color};
16
-
17
- --#{$prefix}input-pin-form-control-focus-border-color: #{$input-group-focus-border-color};
18
- --#{$prefix}input-pin-form-control-focus-box-shadow: #{$input-group-focus-box-shadow};
19
-
20
- --#{$prefix}input-pin-form-control-hover-border-color: #{$input-group-hover-border-color};
21
-
22
- --#{$prefix}input-pin-form-text-padding: #{$form-control-padding-y} #{$form-control-padding-x};
23
- --#{$prefix}input-pin-form-text-gap: #{$form-control-gap};
24
- --#{$prefix}input-pin-form-text-color: #{$form-control-color};
4
+ --#{$prefix}input-pin-form-control-size: 4rem;
5
+ --#{$prefix}input-pin-form-control-focus-border-color: #{$input-focus-border-color};
6
+ --#{$prefix}input-pin-form-control-focus-box-shadow: #{$input-focus-box-shadow};
25
7
 
26
8
  display: flex;
27
9
  flex-direction: column;
28
- gap: var(--#{$prefix}input-pin-gap);
29
10
  align-items: flex-start;
30
11
 
31
- label {
32
- display: inline-flex;
33
- flex-direction: row;
34
- gap: var(--#{$prefix}input-pin-label-gap);
35
- align-items: center;
36
- padding: var(--#{$prefix}input-pin-label-padding-y) var(--#{$prefix}input-pin-label-padding-x);
37
- font-size: var(--#{$prefix}input-pin-label-font-size);
38
- font-weight: var(--#{$prefix}input-pin-label-font-weight);
39
- color: var(--#{$prefix}input-pin-label-color);
40
-
41
- .d-input-pin-icon {
42
- --#{$prefix}icon-color: var(--#{$prefix}focus-ring-color);
43
- }
44
- }
45
-
46
- .d-input-pin-controls {
12
+ form {
47
13
  display: flex;
48
14
  flex-direction: row;
49
- gap: var(--#{$prefix}input-pin-form-control-gap);
15
+ gap: var(--#{$prefix}input-pin-form-gap);
50
16
  width: 100%;
51
17
  }
52
18
 
53
19
  .form-control {
54
- width: var(--#{$prefix}input-pin-form-control-width);
55
- height: var(--#{$prefix}input-pin-form-control-height);
20
+ width: var(--#{$prefix}input-pin-form-control-size);
21
+ height: var(--#{$prefix}input-pin-form-control-size);
56
22
  text-align: center;
57
23
  box-shadow: none;
58
24
  }
@@ -63,21 +29,13 @@
63
29
  appearance: none;
64
30
  }
65
31
 
66
- .form-control:not(:placeholder-shown) {
67
- border-color: var(--#{$prefix}input-pin-form-control-border-color);
68
- }
69
-
70
- &:has(.form-control:hover) .form-control:not(:disabled) {
71
- border-color: var(--#{$prefix}input-pin-form-control-hover-border-color);
72
- }
73
-
74
32
  &:focus-within {
75
- .form-control {
33
+ .form-control:not(.is-invalid, .is-valid) {
76
34
  border-color: var(--#{$prefix}input-pin-form-control-focus-border-color);
77
35
  box-shadow: var(--#{$prefix}input-pin-form-control-focus-box-shadow);
78
36
  }
79
37
 
80
- &:has(.form-control:hover) .form-control {
38
+ &:has(.form-control:hover) .form-control:not(.is-invalid, .is-valid) {
81
39
  border-color: var(--#{$prefix}input-pin-form-control-focus-border-color);
82
40
  }
83
41
  }
@@ -86,32 +44,25 @@
86
44
  @each $state, $data in $form-validation-states {
87
45
  $border-color: map-get($data, "border-color");
88
46
  $tooltip-bg-color: map-get($data, "tooltip-bg-color");
47
+ $box-shadow: map-get($data, "focus-box-shadow");
89
48
 
90
49
  &:has(.form-control.is-#{$state}){
91
50
  .form-control {
92
51
  border-color: $tooltip-bg-color;
52
+ box-shadow: $box-shadow;
93
53
  }
94
54
 
95
55
  .form-text {
96
56
  color: $border-color;
97
57
  }
98
58
 
99
- .d-input-pin-validation-icon {
59
+ .input-group-validation-icon {
100
60
  --#{$prefix}icon-color: #{$tooltip-bg-color};
101
61
  }
102
62
  }
103
63
  }
104
64
 
105
65
  .input-group-text {
106
- padding-left: var(--#{$prefix}input-pin-form-control-gap);
107
- }
108
-
109
- .form-text {
110
- display: inline-flex;
111
- flex-direction: row;
112
- gap: var(--#{$prefix}input-pin-form-text-gap);
113
- align-items: center;
114
- padding: var(--#{$prefix}input-pin-form-text-padding);
115
- color: var(--#{$prefix}input-pin-form-text-color);
66
+ padding-left: var(--#{$prefix}input-pin-form-gap);
116
67
  }
117
68
  }
@@ -23,7 +23,7 @@
23
23
  border: 0;
24
24
 
25
25
  .d-icon {
26
- --#{$prefix}icon-size: #{$spacer-3};
26
+ --#{$prefix}icon-size: var(--#{$prefix}ref-spacer-4);
27
27
  }
28
28
  }
29
29
 
@@ -2,13 +2,13 @@
2
2
 
3
3
  .react-datepicker.d-month-picker {
4
4
  // Month variables
5
- --#{$prefix}monthpicker-header-padding: var(--#{$prefix}ref-spacer-3) var(--#{$prefix}ref-spacer-2) 0;
5
+ --#{$prefix}monthpicker-header-padding: var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-2) 0;
6
6
  --#{$prefix}monthpicker-font-weight: var(--#{$prefix}ref-fw-normal);
7
7
  --#{$prefix}monthpicker-header-color: var(--#{$prefix}white);
8
8
  --#{$prefix}monthpicker-header-bg: var(--#{$prefix}dark);
9
9
 
10
10
  --#{$prefix}monthpicker-month-gap: 0;
11
- --#{$prefix}monthpicker-month-padding: var(--#{$prefix}ref-spacer-2) var(--#{$prefix}ref-spacer-4) var(--#{$prefix}ref-spacer-3);
11
+ --#{$prefix}monthpicker-month-padding: var(--#{$prefix}ref-spacer-2) var(--#{$prefix}ref-spacer-6) var(--#{$prefix}ref-spacer-4);
12
12
  --#{$prefix}monthpicker-month-color: var(--#{$prefix}white);
13
13
  --#{$prefix}monthpicker-month-bg: var(--#{$prefix}dark);
14
14
 
@@ -25,7 +25,7 @@
25
25
  --#{$prefix}monthpicker-single-month-padding: var(--#{$prefix}ref-spacer-2);
26
26
  --#{$prefix}monthpicker-single-month-margin: 0;
27
27
  --#{$prefix}monthpicker-single-month-text-transform: capitalize;
28
- --#{$prefix}monthpicker-single-month-radius: var(--#{$prefix}ref-spacer-4);
28
+ --#{$prefix}monthpicker-single-month-radius: var(--#{$prefix}ref-spacer-6);
29
29
  --#{$prefix}monthpicker-single-month-line-height: var(--#{$prefix}ref-fs-6);
30
30
 
31
31
  --#{$prefix}monthpicker-single-month-after-display: inline;
@@ -30,7 +30,7 @@
30
30
  border: 0;
31
31
 
32
32
  .d-icon {
33
- --#{$prefix}icon-size: #{$spacer-3};
33
+ --#{$prefix}icon-size: var(--#{$prefix}ref-spacer-4);
34
34
  }
35
35
  }
36
36
 
@@ -1,142 +1,82 @@
1
1
  // stylelint-disable selector-class-pattern
2
2
 
3
3
  .d-select {
4
- --#{$prefix}input-gap: #{$spacer-2};
5
-
6
- // label
7
- --#{$prefix}input-label-color: #{$form-label-color};
8
- --#{$prefix}input-label-font-weight: #{$form-label-font-weight};
9
- --#{$prefix}input-label-font-size: #{$form-label-font-size};
10
- --#{$prefix}input-label-padding-x: #{$form-label-padding-x};
11
- --#{$prefix}input-label-padding-y: #{$form-label-padding-y};
12
- --#{$prefix}input-label-gap: #{$form-label-gap};
13
-
14
- // input group
15
- --#{$prefix}input-group-border-color: #{$input-group-border-color};
16
- --#{$prefix}input-group-border-width: #{$input-group-border-width};
17
- --#{$prefix}input-group-border-radius: #{$input-group-border-radius};
18
- // input group hover
19
- --#{$prefix}input-group-hover-border-color: #{$input-group-hover-border-color};
20
- // input group focus
21
- --#{$prefix}input-group-focus-border-color: #{$input-group-focus-border-color};
22
- --#{$prefix}input-group-focus-box-shadow: #{$input-group-focus-box-shadow};
23
-
24
- // input
25
- --#{$prefix}input-padding-y: #{$input-padding-y};
26
- --#{$prefix}input-padding-x: #{$input-padding-x};
27
- --#{$prefix}input-font-family: #{$input-font-family};
28
- --#{$prefix}input-font-size: #{$input-font-size};
29
- --#{$prefix}input-font-weight: #{$input-font-weight};
30
- --#{$prefix}input-line-height: #{$input-line-height};
31
- --#{$prefix}input-color: #{$input-color};
32
- --#{$prefix}input-bg: #{$input-bg};
33
- --#{$prefix}input-focus-color: #{$input-focus-color};
34
- --#{$prefix}input-focus-bg: #{$input-focus-bg};
35
- --#{$prefix}input-placeholder-color: #{$input-placeholder-color};
36
-
37
- // hint
38
- --#{$prefix}input-form-text-padding: #{$form-control-padding-y} #{$form-control-padding-x};
39
- --#{$prefix}input-form-text-gap: #{$form-control-gap};
40
- --#{$prefix}input-form-text-color: #{$form-control-color};
41
-
42
- // input disabled
43
- --#{$prefix}input-group-disabled-border-color: #{$input-disabled-border-color};
44
- --#{$prefix}input-group-disabled-bg: #{$input-disabled-bg};
45
- --#{$prefix}input-group-disabled-color: #{$input-disabled-color};
4
+ --#{$prefix}select-gap: #{$spacer-2};
46
5
 
47
6
  // select
48
7
  --#{$prefix}select-menu-shadow: #{$box-shadow-sm};
49
-
50
8
  --#{$prefix}select-option-focus-bg: var(--#{$prefix}gray-100);
51
-
52
9
  --#{$prefix}select-option-selected-color: var(--#{$prefix}secondary);
53
10
  --#{$prefix}select-option-selected-bg: var(--#{$prefix}gray-100);
54
-
55
11
  --#{$prefix}select-option-is-checkbox-font-size: var(--#{$prefix}body-font-size);
56
12
  --#{$prefix}select-option-is-checkbox-font-weight: var(--#{$prefix}ref-fw-normal);
57
13
  --#{$prefix}select-option-is-checkbox-color: var(--#{$prefix}gray-900);
58
-
59
- --#{$prefix}select-option-has-icon-icon-size: #{$spacer-3};
60
-
61
- --#{$prefix}select-multi-value-padding-x: var(--#{$prefix}input-gap);
14
+ --#{$prefix}select-option-has-icon-icon-size: var(--#{$prefix}ref-spacer-4);
15
+ --#{$prefix}select-multi-value-padding-x: var(--#{$prefix}select-gap);
62
16
  --#{$prefix}select-multi-value-padding-y: 0;
63
- --#{$prefix}select-multi-value-margin-right: var(--#{$prefix}input-gap);
17
+ --#{$prefix}select-multi-value-margin-right: var(--#{$prefix}select-gap);
64
18
  --#{$prefix}select-multi-value-background: var(--#{$prefix}gray-100);
65
19
  --#{$prefix}select-multi-value-border-radius: #{$spacer-1};
66
20
  --#{$prefix}select-multi-value-label-color: var(--#{$prefix}secondary);
67
21
 
68
- --#{$prefix}select-indicator-width: #{$spacer-4};
69
- --#{$prefix}select-indicator-height: #{$spacer-4};
70
-
71
- display: flex;
72
- flex-direction: column;
73
- gap: var(--#{$prefix}input-gap);
74
- align-items: flex-start;
22
+ --#{$prefix}select-indicator-width: var(--#{$prefix}ref-spacer-4);
23
+ --#{$prefix}select-indicator-height: var(--#{$prefix}ref-spacer-4);
75
24
 
76
25
  // focus
77
26
  &:focus-within {
78
27
  .input-group {
79
- border-color: var(--#{$prefix}input-group-focus-border-color);
80
- box-shadow: var(--#{$prefix}input-group-focus-box-shadow);
28
+ border-color: var(--#{$prefix}input-focus-border-color);
29
+ box-shadow: var(--#{$prefix}input-focus-box-shadow);
81
30
  }
82
31
  }
83
32
 
84
33
  .d-select-control {
85
34
  display: flex;
86
35
  flex-direction: column;
87
- gap: var(--#{$prefix}input-gap);
88
- width: 100%;
89
- }
90
-
91
- label {
92
- display: inline-flex;
93
- flex-direction: row;
94
- gap: var(--#{$prefix}input-label-gap);
95
- align-items: center;
96
-
97
- .d-select-icon {
98
- .d-icon {
99
- --#{$prefix}icon-color: var(--#{$prefix}focus-ring-color);
100
- }
101
- }
36
+ gap: var(--#{$prefix}select-gap);
102
37
  }
103
38
 
104
39
  // input with elements
105
40
  .input-group {
106
- border: var(--#{$prefix}input-group-border-width) solid var(--#{$prefix}input-group-border-color);
107
- border-radius: var(--#{$prefix}input-group-border-radius);
41
+ border: var(--#{$prefix}input-border-width) solid var(--#{$prefix}input-border-color);
42
+ border-radius: var(--#{$prefix}input-border-radius);
108
43
  }
109
44
 
110
- // not empty
111
- .input-group:not(.disabled):not(:focus-within):not(.has-validation):has(.d-select__value-container--has-value) {
112
- border-color: var(--#{$prefix}input-group-hover-border-color);
45
+ // select control
46
+ .d-select-component {
47
+ border-radius: var(--#{$prefix}input-border-radius);
113
48
  }
114
49
 
115
- // input hint
116
- .input-group ~ .form-text {
117
- display: inline-flex;
118
- flex-direction: row;
119
- gap: var(--#{$prefix}input-form-text-gap);
120
- align-items: center;
121
- padding: var(--#{$prefix}input-form-text-padding);
122
- color: var(--#{$prefix}input-form-text-color);
123
- }
50
+ // validation states
51
+ @each $state, $data in $form-validation-states {
52
+ $border-color: map-get($data, "border-color");
53
+ $tooltip-bg-color: map-get($data, "tooltip-bg-color");
54
+ $box-shadow: map-get($data, "focus-box-shadow");
124
55
 
125
- // select control
126
- .d-select-component {
127
- border-radius: var(--#{$prefix}input-group-border-radius);
56
+ .input-group:has(.d-select-component.is-#{$state}) {
57
+ border-color: $border-color;
58
+ box-shadow: $box-shadow;
59
+
60
+ ~ .form-text {
61
+ color: $border-color;
62
+ }
63
+
64
+ .input-group-validation-icon {
65
+ --#{$prefix}icon-color: #{$tooltip-bg-color};
66
+ }
67
+ }
128
68
  }
129
69
 
130
70
  .d-select__control {
131
71
  width: 100%;
132
- padding: var(--#{$prefix}input-padding-y) var(--#{$prefix}input-padding-x);
133
- font-family: var(--#{$prefix}input-font-family);
134
- @include rfs($input-font-size, --#{$prefix}input-font-size);
135
- font-weight: var(--#{$prefix}input-font-weight);
136
- line-height: var(--#{$prefix}input-line-height);
137
- color: var(--#{$prefix}input-color);
72
+ padding: $input-padding-y $input-padding-x;
73
+ font-family: $input-font-family;
74
+ @include rfs($input-font-size, $input-font-size);
75
+ font-weight: $input-font-weight;
76
+ line-height: $input-line-height;
77
+ color: $input-color;
138
78
  appearance: none; // Fix appearance for date inputs in Safari
139
- background-color: var(--#{$prefix}input-bg);
79
+ background-color: $input-bg;
140
80
  background-clip: padding-box;
141
81
  // border: $input-border-width solid $input-border-color;
142
82
 
@@ -146,23 +86,23 @@
146
86
 
147
87
  // Customize the `:focus` state to imitate native WebKit styles.
148
88
  &:focus {
149
- color: var(--#{$prefix}input-focus-color);
150
- background-color: var(--#{$prefix}input-focus-bg);
89
+ color: $input-focus-color;
90
+ background-color: $input-focus-bg;
151
91
  outline: 0;
152
92
  }
153
93
  }
154
94
 
155
95
  .d-select__placeholder {
156
- color: var(--#{$prefix}input-placeholder-color);
96
+ color: $input-placeholder-color;
157
97
  // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
158
98
  opacity: 1;
159
99
  }
160
100
 
161
101
  // select menu
162
102
  .d-select__menu-list {
163
- top: calc(var(--#{$prefix}input-group-border-width) * 2);
164
- background: var(--#{$prefix}input-bg);
165
- border-radius: var(--#{$prefix}input-group-border-radius);
103
+ top: calc(var(--#{$prefix}input-border-width) * 2);
104
+ background: $input-bg;
105
+ border-radius: var(--#{$prefix}input-border-radius);
166
106
  box-shadow: var(--#{$prefix}select-menu-shadow);
167
107
  }
168
108
 
@@ -173,7 +113,7 @@
173
113
  // select option
174
114
  .d-select__option {
175
115
  display: block;
176
- padding: var(--#{$prefix}input-padding-y) var(--#{$prefix}input-padding-x);
116
+ padding: $input-padding-y $input-padding-x;
177
117
  }
178
118
 
179
119
  .d-select__option--is-focused {
@@ -191,11 +131,11 @@
191
131
 
192
132
  > label {
193
133
  width: 100%;
194
- padding: var(--#{$prefix}input-padding-x);
134
+ padding: $input-padding-x;
195
135
  }
196
136
 
197
137
  .form-check-input {
198
- margin-right: var(--#{$prefix}input-padding-x);
138
+ margin-right: $input-padding-x;
199
139
  }
200
140
  }
201
141
 
@@ -221,7 +161,7 @@
221
161
  .d-select__option--has-icon {
222
162
  display: flex;
223
163
  flex-direction: row;
224
- gap: var(--#{$prefix}input-padding-x);
164
+ gap: $input-padding-x;
225
165
  align-items: center;
226
166
  white-space: nowrap;
227
167
 
@@ -239,14 +179,22 @@
239
179
  }
240
180
 
241
181
  .d-select__indicator-separator {
242
- width: var(--#{$prefix}input-gap);
182
+ width: var(--#{$prefix}select-gap);
243
183
  }
244
184
 
245
185
  &.disabled .d-select__control {
246
- background: var(--#{$prefix}input-group-disabled-bg);
186
+ background: var(--#{$prefix}input-disabled-bg);
247
187
  }
248
188
 
249
189
  &.disabled .input-group {
250
- border-color: var(--#{$prefix}input-group-disabled-border-color);
190
+ border-color: var(--#{$prefix}input-disabled-border-color);
191
+ }
192
+
193
+ &.disabled .d-select__single-value {
194
+ color: var(--#{$prefix}input-disabled-color);
195
+ }
196
+
197
+ &.disabled .d-icon {
198
+ --#{$prefix}icon-color: var(--#{$prefix}input-disabled-color);
251
199
  }
252
200
  }
@@ -2,16 +2,17 @@
2
2
  /* Icon container */
3
3
  --#{$prefix}step-icon-container-color: var(--#{$prefix}secondary);
4
4
  --#{$prefix}step-icon-container-background-color: var(--#{$prefix}white);
5
- --#{$prefix}step-icon-container-size: 34px;
5
+ --#{$prefix}step-icon-container-size: var(--#{$prefix}ref-spacer-9);
6
+ --#{$prefix}step-icon-container-font-size: var(--#{$prefix}ref-spacer-4);
6
7
  --#{$prefix}step-icon-container-border-width: 1px;
7
8
  --#{$prefix}step-icon-container-border-color: var(--#{$prefix}secondary);
8
9
  --#{$prefix}step-icon-container-border-radius: 100%;
9
10
  --#{$prefix}step-icon-container-z-index: 3;
10
11
 
11
12
  /* Base step */
12
- --#{$prefix}step-label-height: 3rem;
13
- --#{$prefix}step-icon-size: 1.125rem;
14
- --#{$prefix}step-gap: .5rem;
13
+ --#{$prefix}step-label-height: var(--#{$prefix}ref-spacer-12);
14
+ --#{$prefix}step-icon-size: var(--#{$prefix}ref-spacer-6);
15
+ --#{$prefix}step-gap: var(--#{$prefix}ref-spacer-2);
15
16
  --#{$prefix}step-z-index: 2;
16
17
 
17
18
  /* Checked step */
@@ -28,8 +29,8 @@
28
29
  --#{$prefix}step-line-color: var(--#{$prefix}secondary);
29
30
 
30
31
  /* Step label */
31
- --#{$prefix}step-label-padding: var(--#{$prefix}ref-spacer-4);
32
- --#{$prefix}step-vertical-label-padding: var(--#{$prefix}ref-spacer-3);
32
+ --#{$prefix}step-label-padding: var(--#{$prefix}ref-spacer-6);
33
+ --#{$prefix}step-vertical-label-padding: var(--#{$prefix}ref-spacer-4);
33
34
 
34
35
 
35
36
  position: relative;
@@ -55,7 +56,8 @@
55
56
  justify-content: center;
56
57
  width: var(--#{$prefix}step-icon-container-size);
57
58
  height: var(--#{$prefix}step-icon-container-size);
58
-
59
+ font-size: var(--#{$prefix}step-icon-container-font-size);
60
+ line-height: var(--#{$prefix}step-icon-container-font-size);
59
61
  color: var(--#{$prefix}step-icon-container-color);
60
62
  background-color: var(--#{$prefix}step-icon-container-background-color);
61
63
  border: var(--#{$prefix}step-icon-container-border-width) solid var(--#{$prefix}step-icon-container-border-color);
@@ -150,7 +152,9 @@
150
152
  }
151
153
 
152
154
  .d-step-icon {
155
+ --#{$prefix}icon-size: var(--#{$prefix}step-icon-size);
156
+
153
157
  display: flex;
154
- font-size: var(--#{$prefix}step-icon-size);
158
+ font-size: inherit;
155
159
  }
156
160
  }
@@ -1,6 +1,6 @@
1
1
  .d-stepper {
2
2
  /* Container */
3
- --#{$prefix}step-container-gap: var(--#{$prefix}ref-spacer-3);
3
+ --#{$prefix}step-container-gap: var(--#{$prefix}ref-spacer-4);
4
4
 
5
5
  /* Outter circle */
6
6
  --#{$prefix}step-progress-outter-size: 62px;
@@ -1,47 +1,40 @@
1
- .nav {
1
+ .nav-pills,
2
+ .nav-underline {
2
3
  --#{$prefix}tabs-nav-gap: #{$nav-nav-gap};
3
4
  --#{$prefix}tabs-nav-padding-x: #{$nav-nav-padding-x};
4
5
  --#{$prefix}tabs-nav-padding-y: #{$nav-nav-padding-y};
5
- --#{$prefix}tabs-link-border-height: #{$nav-link-border-height};
6
- --#{$prefix}tabs-link-line-height: #{$nav-link-line-height};
7
- --#{$prefix}tabs-link-border-border-radius: #{$nav-link-border-border-radius};
8
- --#{$prefix}tabs-link-border-active-color: #{$nav-link-border-active-color};
9
- --#{$prefix}tabs-link-border-active-font-weight: #{$nav-link-border-active-font-weight};
10
- --#{$prefix}tabs-link-border-active-bg: #{$nav-link-border-active-bg};
11
6
 
12
7
  gap: var(--#{$prefix}tabs-nav-gap);
13
8
  padding: var(--#{$prefix}tabs-nav-padding-y) var(--#{$prefix}tabs-nav-padding-x);
9
+
10
+ &.flex-column {
11
+ flex: 1 0 auto;
12
+
13
+ .nav-link {
14
+ width: 100%;
15
+ }
16
+ }
14
17
  }
15
18
 
16
19
  .nav-tabs {
20
+ --#{$prefix}tabs-link-border-active-font-weight: #{$nav-link-border-active-font-weight};
17
21
  .nav-link {
18
- position: relative;
19
- line-height: var(--#{$prefix}tabs-link-line-height);
20
-
21
22
  &.active {
22
23
  font-weight: var(--#{$prefix}tabs-link-border-active-font-weight);
23
- color: var(--#{$prefix}tabs-link-border-active-color);
24
-
25
- &::before {
26
- background: var(--#{$prefix}tabs-link-border-active-bg);
27
- }
24
+ border-bottom-color: transparent;
25
+ }
26
+ &:not(.active):is(:hover, :focus) {
27
+ border-color: transparent;
28
28
  }
29
- }
30
-
31
- .nav-link::before {
32
- position: absolute;
33
- right: 0;
34
- bottom: 0;
35
- left: 0;
36
- height: var(--#{$prefix}tabs-link-border-height);
37
- content: " ";
38
- border-radius: var(--#{$prefix}tabs-link-border-border-radius);
39
29
  }
40
30
  }
41
31
 
42
- .nav-pills {
43
- .nav-link {
44
- position: relative;
45
- line-height: var(--#{$prefix}tabs-link-line-height);
32
+ .nav-underline .nav-link {
33
+ &:not(.active):hover {
34
+ border-bottom-color: transparent;
46
35
  }
47
36
  }
37
+ .nav-link:focus-visible {
38
+ --#{$prefix}focus-ring-opacity: .25;
39
+ --#{$prefix}focus-ring-color: rgba(var(--#{$prefix}secondary-rgb), var(--#{$prefix}focus-ring-opacity));
40
+ }
@@ -11,3 +11,5 @@
11
11
  @import "bootstrap/scss/helpers/stretched-link";
12
12
  @import "bootstrap/scss/helpers/text-truncation";
13
13
  @import "bootstrap/scss/helpers/vr";
14
+
15
+ @import "overlay";
@@ -0,0 +1,17 @@
1
+ .overlay {
2
+ &::before {
3
+ position: absolute;
4
+ inset: 0;
5
+ content: "";
6
+ border-radius: inherit;
7
+ opacity: var(--#{$prefix}overlay);
8
+ }
9
+
10
+ > * {
11
+ position: relative;
12
+ }
13
+
14
+ &.overlay-black::before {
15
+ background-color: var(--#{$prefix}black);
16
+ }
17
+ }