@cityway/bo-ui 1.0.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 (112) hide show
  1. package/README.md +75 -0
  2. package/cityway-bo-ui-1.0.0.tgz +0 -0
  3. package/fesm2022/cityway-bo-ui.mjs +1598 -0
  4. package/fesm2022/cityway-bo-ui.mjs.map +1 -0
  5. package/index.d.ts +509 -0
  6. package/lib/assets/fonts/bo/_variables.scss +43 -0
  7. package/lib/assets/fonts/bo/bo.scss +61 -0
  8. package/lib/assets/fonts/bo/bo.woff +0 -0
  9. package/lib/assets/fonts/bo/bo.woff2 +0 -0
  10. package/lib/assets/fonts/nunito/_nunito.scss +15 -0
  11. package/lib/assets/fonts/nunito/nunito-bold.woff +0 -0
  12. package/lib/assets/fonts/nunito/nunito-bold.woff2 +0 -0
  13. package/lib/assets/fonts/nunito/nunito-extrabold.woff +0 -0
  14. package/lib/assets/fonts/nunito/nunito-extrabold.woff2 +0 -0
  15. package/lib/assets/fonts/nunito/nunito-regular.woff +0 -0
  16. package/lib/assets/fonts/nunito/nunito-regular.woff2 +0 -0
  17. package/lib/assets/fonts/nunito/nunito-semi-bold.woff +0 -0
  18. package/lib/assets/fonts/nunito/nunito-semi-bold.woff2 +0 -0
  19. package/lib/assets/fonts/optyweb/_variables.scss +336 -0
  20. package/lib/assets/fonts/optyweb/optyweb.scss +358 -0
  21. package/lib/assets/fonts/optyweb/optyweb.woff +0 -0
  22. package/lib/assets/fonts/optyweb/optyweb.woff2 +0 -0
  23. package/lib/assets/i18n/common.en.json +247 -0
  24. package/lib/assets/i18n/common.fr.json +241 -0
  25. package/lib/assets/i18n/label.en.json +29 -0
  26. package/lib/assets/i18n/label.fr.json +29 -0
  27. package/lib/assets/images/common/bg-loader.svg +3 -0
  28. package/lib/assets/images/common/bg-menu.svg +6 -0
  29. package/lib/assets/images/common/bg-round.svg +3 -0
  30. package/lib/assets/images/common/check-mark.svg +3 -0
  31. package/lib/assets/images/common/loader.svg +3 -0
  32. package/lib/assets/images/common/logo-en-bw.svg +7 -0
  33. package/lib/assets/images/common/logo-en.svg +8 -0
  34. package/lib/assets/images/common/logo-fr-bw.svg +4 -0
  35. package/lib/assets/images/common/logo-fr.svg +8 -0
  36. package/lib/assets/images/favicon/android-chrome-192x192.png +0 -0
  37. package/lib/assets/images/favicon/android-chrome-512x512.png +0 -0
  38. package/lib/assets/images/favicon/apple-touch-icon.png +0 -0
  39. package/lib/assets/images/favicon/favicon-16x16.png +0 -0
  40. package/lib/assets/images/favicon/favicon-32x32.png +0 -0
  41. package/lib/assets/images/favicon/favicon-96x96.png +0 -0
  42. package/lib/assets/images/favicon/favicon.ico +0 -0
  43. package/lib/assets/images/favicon/site.webmanifest +19 -0
  44. package/lib/assets/images/icon/referential-icon.svg +1 -0
  45. package/lib/assets/images/login/login-bg.jpg +0 -0
  46. package/lib/assets/images/login/logo-cityway-baseline.svg +16 -0
  47. package/lib/assets/images/toast/warning.svg +3 -0
  48. package/lib/assets/styles/scss/_components.scss +23 -0
  49. package/lib/assets/styles/scss/_core.scss +5 -0
  50. package/lib/assets/styles/scss/_custom-bootstrap.scss +22 -0
  51. package/lib/assets/styles/scss/bootstrap/_accordion.scss +1 -0
  52. package/lib/assets/styles/scss/bootstrap/_alert.scss +32 -0
  53. package/lib/assets/styles/scss/bootstrap/_badge.scss +36 -0
  54. package/lib/assets/styles/scss/bootstrap/_breadcrumb.scss +46 -0
  55. package/lib/assets/styles/scss/bootstrap/_button-group.scss +107 -0
  56. package/lib/assets/styles/scss/bootstrap/_buttons.scss +324 -0
  57. package/lib/assets/styles/scss/bootstrap/_card.scss +107 -0
  58. package/lib/assets/styles/scss/bootstrap/_close.scss +8 -0
  59. package/lib/assets/styles/scss/bootstrap/_dropdown.scss +53 -0
  60. package/lib/assets/styles/scss/bootstrap/_forms.scss +259 -0
  61. package/lib/assets/styles/scss/bootstrap/_input-group.scss +61 -0
  62. package/lib/assets/styles/scss/bootstrap/_lists.scss +30 -0
  63. package/lib/assets/styles/scss/bootstrap/_modal.scss +152 -0
  64. package/lib/assets/styles/scss/bootstrap/_pagination.scss +21 -0
  65. package/lib/assets/styles/scss/bootstrap/_popover.scss +5 -0
  66. package/lib/assets/styles/scss/bootstrap/_progress.scss +6 -0
  67. package/lib/assets/styles/scss/bootstrap/_reboot.scss +5 -0
  68. package/lib/assets/styles/scss/bootstrap/_tables.scss +155 -0
  69. package/lib/assets/styles/scss/bootstrap/_tabs.scss +71 -0
  70. package/lib/assets/styles/scss/bootstrap/_tooltip.scss +3 -0
  71. package/lib/assets/styles/scss/bootstrap/_type.scss +55 -0
  72. package/lib/assets/styles/scss/components/_forms-firefox.scss +17 -0
  73. package/lib/assets/styles/scss/components/_leaflet.scss +41 -0
  74. package/lib/assets/styles/scss/components/_legend.scss +36 -0
  75. package/lib/assets/styles/scss/components/_ng-select.scss +148 -0
  76. package/lib/assets/styles/scss/components/_ng2-dragula.scss +36 -0
  77. package/lib/assets/styles/scss/components/_ng2-validation.scss +39 -0
  78. package/lib/assets/styles/scss/components/_ng5-slider.scss +28 -0
  79. package/lib/assets/styles/scss/components/_ngb-datepicker.scss +165 -0
  80. package/lib/assets/styles/scss/components/_ngb-timepicker.scss +19 -0
  81. package/lib/assets/styles/scss/components/_ngx-chips.scss +102 -0
  82. package/lib/assets/styles/scss/components/_ngx-editor.scss +10 -0
  83. package/lib/assets/styles/scss/components/_ngx-file-drop.scss +15 -0
  84. package/lib/assets/styles/scss/components/_ngx-intl-tel-input.scss +21 -0
  85. package/lib/assets/styles/scss/components/_ngx-slider.scss +34 -0
  86. package/lib/assets/styles/scss/components/_ngx-toast.scss +74 -0
  87. package/lib/assets/styles/scss/components/_pwd-policy.scss +18 -0
  88. package/lib/assets/styles/scss/components/_table.scss +8 -0
  89. package/lib/assets/styles/scss/components/_vis.scss +50 -0
  90. package/lib/assets/styles/scss/components/_wizard-stepper.scss +82 -0
  91. package/lib/assets/styles/scss/components/table/_table-action.scss +77 -0
  92. package/lib/assets/styles/scss/components/table/_table-bg-cell.scss +6 -0
  93. package/lib/assets/styles/scss/components/table/_table-double-scroll.scss +38 -0
  94. package/lib/assets/styles/scss/components/table/_table-filter.scss +128 -0
  95. package/lib/assets/styles/scss/components/table/_table-pagination.scss +34 -0
  96. package/lib/assets/styles/scss/components/table/_table-popover.scss +39 -0
  97. package/lib/assets/styles/scss/components/table/_table-sorting.scss +64 -0
  98. package/lib/assets/styles/scss/core/_footer.scss +15 -0
  99. package/lib/assets/styles/scss/core/_header.scss +170 -0
  100. package/lib/assets/styles/scss/core/_layout.scss +59 -0
  101. package/lib/assets/styles/scss/core/_menu.scss +253 -0
  102. package/lib/assets/styles/scss/core/_sidebar.scss +195 -0
  103. package/lib/assets/styles/scss/mixins/_utilities.scss +9 -0
  104. package/lib/assets/styles/scss/styles.scss +86 -0
  105. package/lib/assets/styles/scss/tools/_focus.scss +39 -0
  106. package/lib/assets/styles/scss/tools/_loader.scss +106 -0
  107. package/lib/assets/styles/scss/variables/_colors.scss +43 -0
  108. package/lib/assets/styles/scss/variables/_custom.scss +448 -0
  109. package/lib/assets/styles/scss/variables/_site.scss +68 -0
  110. package/package.json +32 -0
  111. package/styles.min.css +5 -0
  112. package/styles.min.css.map +1 -0
@@ -0,0 +1,71 @@
1
+ .nav-tabs {
2
+ border-bottom: 0;
3
+
4
+ .nav-link.active {
5
+ border-radius: $border-radius $border-radius 0 0;
6
+ box-shadow: 0 5px 0 $white, $box-shadow;
7
+ }
8
+
9
+ .nav-item.show .nav-link {
10
+ background-color: transparent;
11
+ }
12
+
13
+ .nav-link {
14
+ padding: 0.75rem $grid-gutter-width;
15
+ line-height: 1.2;
16
+ }
17
+ }
18
+
19
+ .tab-content {
20
+ &:not(.tab-content-light):not(.tab-content-card) {
21
+ margin-bottom: $grid-gutter-width;
22
+ padding: $card-spacer-x;
23
+ border: $nav-tabs-border-width solid $nav-tabs-border-color;
24
+ border-radius: $card-border-radius;
25
+ background-color: $nav-tabs-content-bg;
26
+ background-clip: border-box;
27
+ box-shadow: $box-shadow;
28
+ }
29
+ }
30
+
31
+ // Tabs style within dropdown
32
+ // Goes hand in hand with the directive rwd-tabs.ts
33
+ .nav-link.dropdown-toggle {
34
+ background-color: transparent;
35
+ }
36
+ .dropdown-menu {
37
+ .nav-item {
38
+ margin: 0;
39
+ }
40
+ .nav-tabs & .nav-link,
41
+ .nav-tabs .nav-item.show & .nav-link {
42
+ color: $dropdown-link-color;
43
+ white-space: nowrap;
44
+ border: 0;
45
+ box-shadow: none;
46
+ border-radius: 0;
47
+
48
+ &:hover, &:focus {
49
+ color: $dropdown-link-hover-color;
50
+ text-decoration: none;
51
+ @include gradient-bg($dropdown-link-hover-bg);
52
+ }
53
+ }
54
+ .nav-tabs .nav-item.show & .nav-link.active,
55
+ .nav-tabs & .nav-link.active {
56
+ background-color: $dropdown-link-active-bg;
57
+ color: $dropdown-link-active-color;
58
+ }
59
+ }
60
+
61
+ // tab card
62
+ // onglet dans une card
63
+ // Contenu sans card
64
+
65
+ .nav-tabs-card {
66
+ margin: 0.5rem 0 !important;
67
+
68
+ .nav-link.active {
69
+ box-shadow: none;
70
+ }
71
+ }
@@ -0,0 +1,3 @@
1
+ .tooltip-inner {
2
+ line-height: 1.1;
3
+ }
@@ -0,0 +1,55 @@
1
+
2
+ h2, .h2 {
3
+ margin-bottom: 1rem;
4
+ }
5
+
6
+ h3, .h3 {
7
+ margin-top: 1rem;
8
+ margin-bottom: 1rem;
9
+ color: var(--bs-grey10);
10
+ }
11
+
12
+ .bg-body {
13
+ background-color: $body-bg;
14
+ }
15
+ .bg-dark {
16
+ background-color: rgba(51, 51, 51, 1);
17
+ }
18
+ .bg-black {
19
+ background-color: black;
20
+ }
21
+ .no-bg,
22
+ .bg-none {
23
+ background-color: transparent !important;
24
+ }
25
+
26
+ .v-align-middle {
27
+ vertical-align: middle !important;
28
+ }
29
+ .v-align-top {
30
+ vertical-align: top !important;
31
+ }
32
+ .v-align-bottom {
33
+ vertical-align: bottom !important;
34
+ }
35
+
36
+ .white-space-nowrap {
37
+ white-space: nowrap;
38
+ }
39
+
40
+ .text-ellipsis {
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ }
44
+
45
+ .font-size-sm {
46
+ font-size: $font-size-sm;
47
+ }
48
+
49
+ .font-size-lg {
50
+ font-size: $font-size-lg;
51
+ }
52
+
53
+ .custom-list-group {
54
+ @extend .form-group;
55
+ }
@@ -0,0 +1,17 @@
1
+ // Séparation des styles de pseudo élement pour fire car
2
+ // incompatibles avec les déclaration webkit présentes dans _forms.scss
3
+
4
+
5
+ // Attachments
6
+ input[type=file].ng-invalid:not(.ng-untouched) {
7
+ &::file-selector-button {
8
+ border-right-color: var(--bs-danger);
9
+ }
10
+ }
11
+
12
+ input[type=file].required.ng-invalid:not(.ng-untouched),
13
+ input[type=file][required].ng-invalid:not(.ng-untouched) {
14
+ &::file-selector-button {
15
+ border-right-color: var(--bs-danger);
16
+ }
17
+ }
@@ -0,0 +1,41 @@
1
+ @import "../variables/site";
2
+ @import "bootstrap/scss/functions";
3
+ @import "bootstrap/scss/variables";
4
+
5
+ .map-container { // parent class for styles to apply
6
+ .leaflet-bar,
7
+ &.leaflet-touch .leaflet-bar,
8
+ .leaflet-touch .leaflet-bar {
9
+ margin-top: $spacer;
10
+ margin-left: $spacer;
11
+ border: 0;
12
+ box-shadow: none;
13
+
14
+ .leaflet-control-zoom-fullscreen,
15
+ .leaflet-control-zoom-in,
16
+ .leaflet-control-zoom-out {
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ width: 3.5rem;
21
+ height: 3.5rem;
22
+ margin-bottom: $spacer;
23
+ color: var(--bs-body-color);
24
+ border-radius: 5rem;
25
+ box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.17);
26
+
27
+ &:first-child,
28
+ &:last-child {
29
+ border-radius: 5rem;
30
+ }
31
+ }
32
+ }
33
+
34
+ .leaflet-control-zoom-fullscreen {
35
+ &::before {
36
+ content: $cw-map-full-screen;
37
+ font-family: "optyweb";
38
+ font-size: 1.7rem;
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,36 @@
1
+
2
+ .legend {
3
+ font-size: 0.75rem;
4
+
5
+ &-title {
6
+ margin-bottom: $form-label-margin-bottom;
7
+ font-weight: bold;
8
+ }
9
+ &-items {
10
+ display: flex;
11
+ gap: 2rem;
12
+ margin-bottom: 0;
13
+ }
14
+ &-item {
15
+ display: inline-flex;
16
+ justify-content: center;
17
+ align-items: center;
18
+ gap: 0.5rem;
19
+
20
+ &-color {
21
+ display: inline-block;
22
+ width: 1rem;
23
+ height: 1rem;
24
+ }
25
+
26
+ &:not(:last-child) {
27
+ margin: 0;
28
+ }
29
+ }
30
+
31
+ @each $color, $value in $theme-colors {
32
+ &-#{$color} {
33
+ background-color: map-get($bg-subtle-colors, $color);
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,148 @@
1
+ .ng-select {
2
+
3
+ .main-content & .ng-arrow-wrapper { // main-content to override
4
+ height: $input-height;
5
+ .ng-arrow {
6
+ height: $input-height;
7
+ width: 100%;
8
+ border: 0;
9
+ background-image: $form-select-indicator;
10
+ background-size: $form-select-bg-size;
11
+ background-position: right 0.45rem center;
12
+ background-repeat: no-repeat;
13
+ }
14
+ }
15
+
16
+ &.ng-select-multiple,
17
+ &.ng-select-single {
18
+ .ng-select-container {
19
+ align-items: center;
20
+ min-height: $input-height;
21
+ border: $input-border-width solid $input-border-color;
22
+
23
+ .ng-value-container {
24
+ height: 100%;
25
+ padding-top: 0;
26
+ padding-left: $input-padding-x;
27
+
28
+ .ng-value {
29
+ margin: 0;
30
+ margin-right: 0.5rem;
31
+ }
32
+
33
+ .ng-placeholder {
34
+ top: inherit;
35
+ padding-left: 0;
36
+ padding-bottom: 0;
37
+ color: $input-placeholder-color;
38
+ font-weight: $font-weight-base;
39
+ }
40
+ .ng-input {
41
+ top: 0.5rem;
42
+ padding-left: 0;
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ &.ng-select-single {
49
+ .ng-select-container {
50
+ .ng-value-container {
51
+ .ng-input {
52
+ > input {
53
+ padding-left: $input-padding-x;
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ &.ng-select-opened {
61
+
62
+ &.ng-select-bottom > .ng-select-container {
63
+ border-radius: $input-border-radius;
64
+ }
65
+
66
+ &> .ng-select-container {
67
+ border: $input-border-width solid $input-border-color;
68
+
69
+ .ng-arrow {
70
+ top: 0;
71
+ }
72
+ }
73
+ }
74
+
75
+ // Clear
76
+ .ng-select-container {
77
+ .ng-clear-wrapper {
78
+ width: 1.375rem;
79
+ color: var(--bs-grey10);
80
+ text-align: center;
81
+ &:hover, &:active, &:focus {
82
+ border-radius: $border-radius;
83
+ background-color: var(--bs-grey2);
84
+ .ng-clear {
85
+ color: var(--bs-grey10);
86
+ }
87
+ }
88
+ .ng-clear {
89
+ font-size: 1rem;
90
+ }
91
+ }
92
+ }
93
+
94
+ // Invalid
95
+ &.ng-invalid:not(.ng-untouched) {
96
+ border-left: 0;
97
+ .ng-select-container ,
98
+ .ng-select-container {
99
+ @include validation($danger);
100
+ }
101
+ }
102
+
103
+ // readonly
104
+ &.ng-select-disabled > .ng-select-container {
105
+ color: $input-color;
106
+ border-color: var(--bs-grey5);
107
+ background-color: var(--bs-grey5);
108
+ }
109
+
110
+ // focus
111
+ &.ng-select-focused:not(.ng-select-opened) > .ng-select-container {
112
+ color: $input-focus-color;
113
+ background-color: $input-focus-bg;
114
+ border-color: $input-focus-border-color;
115
+ box-shadow: $input-focus-box-shadow;
116
+ }
117
+
118
+ // focus et invalid
119
+ &.ng-invalid.ng-select-focused:not(.ng-select-opened):not(.ng-untouched) > .ng-select-container {
120
+ border-color: #FD5D75;
121
+ box-shadow: 0 0 0 0.2rem rgba($danger, 0.25);
122
+ }
123
+ }
124
+
125
+ .ng-dropdown-panel {
126
+ &.ng-select-bottom {
127
+ margin-top: 0.125rem;
128
+ border: $dropdown-border-width solid $dropdown-border-color;
129
+ border-radius: $dropdown-border-radius ;
130
+ }
131
+ .ng-dropdown-panel-items .ng-option {
132
+ &.ng-option-marked {
133
+ background-color: $dropdown-link-hover-bg;
134
+ }
135
+ &.ng-option-selected,
136
+ &.ng-option-selected.ng-option-marked {
137
+ color: $dropdown-link-active-color;
138
+ background-color: $dropdown-link-active-bg;
139
+
140
+ .ng-option-label {
141
+ font-weight: normal;
142
+ }
143
+ }
144
+ &.ng-option-disabled {
145
+ color: var(--bs-body-color);
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,36 @@
1
+ .drag-container {
2
+ min-height: 10rem;
3
+ padding: 1rem;
4
+ border-radius: $input-border-radius;
5
+ &-from {
6
+ border: $input-border-width solid $input-group-addon-border-color;
7
+ background-color: var(--bs-grey1);;
8
+ }
9
+
10
+ &-to {
11
+ border: $input-border-width dashed $input-group-addon-border-color;
12
+ background-color: $white;
13
+ }
14
+ }
15
+
16
+ .drag-item {
17
+ list-style-type: none;
18
+ padding: 0.5rem 1rem;
19
+ border-radius: $input-border-radius;
20
+ background-color: $white;
21
+ box-shadow: $box-shadow;
22
+ cursor: move;
23
+
24
+ &:not(:last-child) {
25
+ margin-bottom: 0.75rem;
26
+ }
27
+ }
28
+
29
+
30
+
31
+ // drag-container-from
32
+
33
+ // drag-container-to
34
+ .drag-container-to {
35
+ border-style: dotted;
36
+ }
@@ -0,0 +1,39 @@
1
+ @import "../variables/site";
2
+
3
+
4
+ @mixin validation($color,$border: false) {
5
+ border-color: $color;
6
+ &:focus {
7
+ border-color: lighten($color, 25%);
8
+ box-shadow: 0 0 0 0.2rem rgba($color, 0.25);
9
+ }
10
+ }
11
+
12
+ .ng-invalid:not(.ng-untouched) {
13
+ border-color: var(--bs-danger);
14
+
15
+ &:focus {
16
+ border-color: #FD5D75;
17
+ box-shadow: 0 0 0 0.2rem rgba($danger, 0.25);
18
+ }
19
+ }
20
+
21
+ .ng-invalid.no-validation-style {
22
+ border-left: 0;
23
+ }
24
+
25
+ // ngx Editor
26
+ .ngx-editor {
27
+ .ng-invalid:not(.ng-untouched) & {
28
+ @include validation($danger);
29
+ }
30
+ }
31
+
32
+ file-drop .content {
33
+ border-radius: $border-radius !important;
34
+ }
35
+
36
+ file-drop .drop-zone {
37
+ border: 1px dotted $primary !important;
38
+ border-radius: $border-radius !important;
39
+ }
@@ -0,0 +1,28 @@
1
+ // To do the overload
2
+ .main-content .ng5-slider { // to override <style>
3
+ .ng5-slider-tick,
4
+ .ng5-slider-bar {
5
+ background-color: $input-border-color;
6
+ }
7
+ .ng5-slider-pointer {
8
+ width: 1.5rem;
9
+ height: 1.5rem;
10
+ margin: 0.25rem;
11
+ background-color: var(--bs-primary);
12
+ &:after {
13
+ top: 0.5rem;
14
+ left: 0.5rem;
15
+ width: 0.5rem;
16
+ height: 0.5rem;
17
+ }
18
+ &.ng5-slider-active {
19
+ &:after {
20
+ background-color: $white;
21
+ }
22
+ }
23
+ }
24
+ .ng5-slider-tick.ng5-slider-selected,
25
+ .ng5-slider-selection {
26
+ background-color: var(--bs-primary);
27
+ }
28
+ }
@@ -0,0 +1,165 @@
1
+ .main-content {
2
+ // main-content to override
3
+
4
+ [ngbdatepicker] {
5
+ width: 6.7rem;
6
+ }
7
+
8
+ ngb-datepicker {
9
+ animation: fade 0.2s ease-in-out;
10
+ }
11
+ @keyframes fade {
12
+ 0% {
13
+ opacity: 0;
14
+ }
15
+
16
+ 100% {
17
+ opacity: 1;
18
+ }
19
+ }
20
+
21
+
22
+ // select month, year and arrows
23
+ .ngb-dp-header {
24
+ padding: 0.25rem;
25
+ background-color: $white;
26
+ }
27
+
28
+ ngb-datepicker-navigation-select>.form-select {
29
+ margin: 0 0.125rem;
30
+ }
31
+
32
+ .ngb-dp-arrow {
33
+ justify-content: flex-end;
34
+
35
+ &.right {
36
+ justify-content: flex-start;
37
+ }
38
+
39
+ &-btn {
40
+ color: var(--bs-primary);
41
+ }
42
+ }
43
+
44
+ // Month in letters
45
+ .ngb-dp-month-name {
46
+ padding: 0.25rem;
47
+ font-size: 1rem;
48
+ text-transform: capitalize;
49
+ background-color: $white;
50
+ }
51
+
52
+ // Days in letters short
53
+ .ngb-dp-weekdays {
54
+ margin-bottom: 0.25rem;
55
+ border-color: $dropdown-border-color;
56
+ background-color: var(--bs-grey2);
57
+ }
58
+
59
+ .ngb-dp-weekday {
60
+ font-size: 0.75rem;
61
+ font-style: normal;
62
+ color: var(--bs-body-color);
63
+ text-transform: capitalize;
64
+ }
65
+
66
+ // Days numbers
67
+ .ngb-dp-day {
68
+ .btn-light {
69
+ &:hover {
70
+ border-color: var(--bs-grey4);
71
+ background-color: var(--bs-grey4);
72
+ }
73
+ }
74
+
75
+ &.disabled {
76
+ background-color: var(--bs-grey2);
77
+
78
+ [ngbDatepickerDayView].outside {
79
+ color: $body-color !important; // override text-muted bootstrap
80
+ }
81
+ }
82
+ }
83
+
84
+ // Days outsite of month
85
+ [ngbDatepickerDayView].outside {
86
+ color: var(--bs-grey10) !important; // override text-muted bootstrap
87
+ opacity: 1;
88
+
89
+ &:hover {
90
+ color: $body-color !important; // override text-muted bootstrap
91
+ }
92
+ }
93
+
94
+ // gestion du fond de la colonne vide si le nombre total de mois est impaire
95
+ ngb-datepicker {
96
+ overflow: hidden;
97
+ }
98
+
99
+ .ngb-dp-month:last-child {
100
+ .ngb-dp-month-name {
101
+ position: relative;
102
+
103
+ &::after {
104
+ content: "";
105
+ display: block;
106
+ position: absolute;
107
+ width: 100%;
108
+ height: 100%;
109
+ background-color: var(--bs-grey1);;
110
+ top: 0;
111
+ right: -100%;
112
+ }
113
+ }
114
+
115
+ .ngb-dp-weekdays {
116
+ position: relative;
117
+
118
+ &::after {
119
+ content: "";
120
+ display: block;
121
+ position: absolute;
122
+ width: 100%;
123
+ height: calc(100% + 1px);
124
+ background-color: var(--bs-grey2);
125
+ border-bottom: 1px solid $dropdown-border-color;
126
+ top: 0;
127
+ right: -100%;
128
+ }
129
+ }
130
+ }
131
+
132
+ // gère le nombre d'éléments par ligne selon le nombre dl'élement total
133
+ .ngb-dp-months {
134
+
135
+ display: grid;
136
+ grid-template-columns: repeat(3, 1fr);
137
+ .ngb-dp-month:only-child {
138
+ grid-column: 4 / 4;
139
+ }
140
+
141
+ /* Between 2 and 4 children (boundaries inclusive) */
142
+ &:has(> :nth-child(2)):has(> :nth-child(-n+4):last-child) {
143
+ display: grid;
144
+ grid-template-columns: repeat(2, 1fr);
145
+ }
146
+
147
+ /* Between 5 and 6 children (boundaries inclusive) */
148
+ &:has(> :nth-child(5)):has(> :nth-child(-n+6):last-child) {
149
+ display: grid;
150
+ grid-template-columns: repeat(3, 1fr);
151
+ }
152
+
153
+ /* Between 7 and 8 children (boundaries inclusive) */
154
+ &:has(> :nth-child(7)):has(> :nth-child(-n+8):last-child) {
155
+ display: grid;
156
+ grid-template-columns: repeat(4, 1fr);
157
+ }
158
+
159
+ /* Between 9 and 10 children (boundaries inclusive) */
160
+ &:has(> :nth-child(9)):has(> :nth-child(-n+10):last-child) {
161
+ display: grid;
162
+ grid-template-columns: repeat(5, 1fr);
163
+ }
164
+ }
165
+ }
@@ -0,0 +1,19 @@
1
+ .main-content { // main-content to override
2
+ .ngb-tp-input-container {
3
+ width: 3.5rem;
4
+ .btn-link {
5
+ display: none;
6
+ }
7
+ }
8
+
9
+ ngb-timepicker.ng-invalid {
10
+ .ngb-tp-input {
11
+ border-color: var(--bs-danger);
12
+ &:focus {
13
+ border-color: #FD5D75;
14
+ box-shadow: 0 0 0 0.2rem rgba($danger, 0.25);
15
+ }
16
+ }
17
+ }
18
+ }
19
+