@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,195 @@
1
+ .sidebar-scroll {
2
+ position: sticky;
3
+ top: 0;
4
+ height: 100dvh;
5
+ overflow: auto;
6
+ scrollbar-width: none;
7
+ -ms-overflow-style: none;
8
+
9
+ &::-webkit-scrollbar {
10
+ display: none;
11
+ }
12
+
13
+ .responsive-menu.bg-opened & {
14
+ width: $sidebar-width;
15
+ z-index: 10;
16
+ }
17
+
18
+ .responsive-menu &
19
+ .bg-closed & {
20
+ overflow: hidden;
21
+ }
22
+ }
23
+
24
+ .wrapper-content-opened.wrapper-content-responsive {
25
+ margin-left: -$sidebar-width;
26
+ }
27
+
28
+ .sidebar {
29
+ display: block;
30
+ width: $sidebar-width;
31
+ min-height: 100dvh;
32
+
33
+ padding-bottom: calc(17rem + #{$footer-height});
34
+ background-color: $sidebar-menu-bg;
35
+ background-image: url("./lib/assets/images/common/logo-fr-bw.svg"), url("./lib/assets/images/common/bg-menu.svg");
36
+ background-size: 200px 72px, contain;
37
+ background-repeat: no-repeat, no-repeat;
38
+ background-position: bottom calc(4.5rem + #{$footer-height}) center, bottom 3.5rem left;
39
+ transition-duration: 400ms;
40
+ transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
41
+ transition-property: all;
42
+
43
+ .lang-en & {
44
+ background-image: url("./lib/assets/images/common/logo-en-bw.svg"), url("./lib/assets/images/common/bg-menu.svg");
45
+ }
46
+
47
+ @media (any-pointer: coarse) {
48
+ width: calc(100%);
49
+ }
50
+
51
+ &::before {
52
+ position: absolute;
53
+ z-index: -1;
54
+ width: 100%;
55
+ height: 100%;
56
+ content: "";
57
+ display: block;
58
+ opacity: 0.8;
59
+ }
60
+
61
+ .bg-closed & {
62
+ display: block;
63
+ width: 3.2rem;
64
+ overflow: hidden;
65
+ padding-bottom: 17rem;
66
+ background-image: url("./lib/assets/images/common/logo-fr-bw.svg"), url("./lib/assets/images/common/bg-menu.svg");
67
+ background-size: 0, $sidebar-width;
68
+ background-repeat: no-repeat, no-repeat;
69
+ background-position: bottom 14.15rem center, bottom 122px left -20px;
70
+ }
71
+
72
+ .responsive-menu & {
73
+ position: absolute;
74
+ z-index: 10;
75
+ }
76
+
77
+ .responsive-menu.bg-close & {
78
+ width: 0;
79
+ }
80
+
81
+ .btn-close-menu {
82
+ position: absolute;
83
+ top: 0.875rem;
84
+ right: 1rem;
85
+ display: flex;
86
+ width: auto;
87
+ padding: 0.125rem;
88
+ text-decoration: none;
89
+
90
+ &:hover,
91
+ &:focus,
92
+ &:active {
93
+ background-color: transparent !important;
94
+ border-color: transparent !important;
95
+ opacity: 0.75;
96
+ }
97
+
98
+ .optyweb {
99
+ font-size: 1rem;
100
+ }
101
+ }
102
+
103
+ .custom-checkbox {
104
+ padding-left: 1.2rem;
105
+ }
106
+
107
+ .form-check-label {
108
+ border-color: 1px solid rgba(255, 255, 255, 0.54);
109
+ }
110
+
111
+ .custom-checkbox .form-check-input:checked~.form-check-label {
112
+
113
+ &::before,
114
+ &::after {
115
+ color: rgba(255, 255, 255, 0.54);
116
+ }
117
+ }
118
+
119
+ .bo-change-app::before {
120
+ right: 0.0625rem;
121
+ bottom: 0.0625rem;
122
+ }
123
+
124
+ }
125
+
126
+ .sidebar-footer {
127
+ position: fixed;
128
+ bottom: 0;
129
+ z-index: 1;
130
+ width: $sidebar-width;
131
+ min-height: $footer-height;
132
+
133
+ .navbar-nav {
134
+ justify-content: center;
135
+ align-items: center;
136
+ gap: 1.5rem;
137
+ }
138
+
139
+ .nav-item {
140
+ margin: 0;
141
+ }
142
+
143
+ .nav-link {
144
+ display: flex;
145
+ justify-content: center;
146
+ align-items: center;
147
+ width: 2.5rem;
148
+ height: 2.5rem;
149
+ color: $sidebar-menu-color;
150
+ text-decoration: none;
151
+ border-radius: 10rem;
152
+ background-color: $sidebar-menu-bg;
153
+
154
+ &:hover,
155
+ &:active,
156
+ &:focus {
157
+ background-color: $sidebar-menu-link-hover;
158
+ }
159
+
160
+ &:focus-visible {
161
+ outline-offset: 0.188rem;
162
+ }
163
+ }
164
+
165
+ .responsive-menu.bg-closed & {
166
+ opacity: 0;
167
+ }
168
+
169
+ &.sidebar-footer-closed {
170
+ width: $sidebar-menu-collapsed-width;
171
+ padding: 0.125rem;
172
+ transition-duration: 400ms;
173
+ transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
174
+ transition-property: all;
175
+
176
+ .navbar-nav {
177
+ flex-direction: column;
178
+ gap: 0.5rem;
179
+ padding: 0.5rem 0;
180
+ }
181
+
182
+ .nav-link {
183
+ display: flex;
184
+ justify-content: center;
185
+ align-items: center;
186
+ width: 2rem;
187
+ height: 2rem;
188
+
189
+ .optyweb,
190
+ .bo-icons {
191
+ font-size: 1rem;
192
+ }
193
+ }
194
+ }
195
+ }
@@ -0,0 +1,9 @@
1
+ @function rgba-to-rgb($rgba, $opacity: 0, $background: $white) {
2
+ @if $opacity > 0 {
3
+ @if $opacity < 1 {
4
+ $opacity: $opacity * 100
5
+ }
6
+ @return mix(mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%), rgb(255,255,255), $opacity);
7
+ }
8
+ @return mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%);
9
+ }
@@ -0,0 +1,86 @@
1
+ //## Import des variables de couleurs
2
+ //--------------------------------------------------------
3
+ //@import "scss/variables-colors";
4
+
5
+ //## Import de bootstrap contrôlé
6
+ //--------------------------------------------------------
7
+ //@import "bootstrap";
8
+ @import "bootstrap/scss/mixins/banner";
9
+ @include bsBanner("");
10
+
11
+
12
+ // scss-docs-start import-stack
13
+ // Configuration
14
+ @import "bootstrap/scss/functions";
15
+ @import "variables/custom";
16
+ @import "bootstrap/scss/variables";
17
+ @import "bootstrap/scss/variables-dark";
18
+ @import "bootstrap/scss/maps";
19
+ @import "bootstrap/scss/mixins";
20
+ @import "bootstrap/scss/utilities";
21
+
22
+ // Layout & components
23
+ @import "bootstrap/scss/root";
24
+ @import "bootstrap/scss/reboot";
25
+ @import "bootstrap/scss/type";
26
+ @import "bootstrap/scss/images";
27
+ @import "bootstrap/scss/containers";
28
+ @import "bootstrap/scss/grid";
29
+ @import "bootstrap/scss/tables";
30
+ @import "bootstrap/scss/forms";
31
+ @import "bootstrap/scss/buttons";
32
+ @import "bootstrap/scss/transitions";
33
+ @import "bootstrap/scss/dropdown";
34
+ @import "bootstrap/scss/button-group";
35
+ @import "bootstrap/scss/nav";
36
+ @import "bootstrap/scss/navbar";
37
+ @import "bootstrap/scss/card";
38
+ @import "bootstrap/scss/accordion";
39
+ @import "bootstrap/scss/breadcrumb";
40
+ @import "bootstrap/scss/pagination";
41
+ @import "bootstrap/scss/badge";
42
+ @import "bootstrap/scss/alert";
43
+ @import "bootstrap/scss/progress";
44
+ @import "bootstrap/scss/list-group";
45
+ @import "bootstrap/scss/close";
46
+ @import "bootstrap/scss/toasts";
47
+ @import "bootstrap/scss/modal";
48
+ @import "bootstrap/scss/tooltip";
49
+ @import "bootstrap/scss/popover";
50
+ @import "bootstrap/scss/carousel";
51
+ @import "bootstrap/scss/spinners";
52
+ @import "bootstrap/scss/offcanvas";
53
+ @import "bootstrap/scss/placeholders";
54
+
55
+ // Helpers
56
+ @import "bootstrap/scss/helpers";
57
+
58
+ // Utilities
59
+ @import "bootstrap/scss/utilities/api";
60
+ // scss-docs-end import-stack
61
+
62
+ //## Mixins
63
+ //--------------------------------------------------------
64
+ @import "mixins/utilities";
65
+
66
+ //## Import des variables propres au site
67
+ //--------------------------------------------------------
68
+ @import "variables/site";
69
+
70
+ //## Import des fonts
71
+ //--------------------------------------------------------
72
+ @import "../../fonts/nunito/nunito";
73
+ @import "../../fonts/optyweb/optyweb.scss";
74
+ @import "../../fonts/bo/bo.scss";
75
+
76
+
77
+ //## Import styles
78
+ //--------------------------------------------------------
79
+ @import "custom-bootstrap";
80
+ @import "core";
81
+ @import "components";
82
+
83
+ // Tools
84
+ //--------------------------------------------------------
85
+ @import "tools/loader";
86
+ @import "tools/focus";
@@ -0,0 +1,39 @@
1
+
2
+
3
+ [tabindex="-1"]:focus,
4
+ [tabindex="-1"]:focus-visible {
5
+ outline: none;
6
+ box-shadow: none !important;
7
+ }
8
+
9
+ // Déstyler tous les focus de bootstrap
10
+ .stretched-link:focus::after, // stretched link
11
+ :focus,
12
+ .btn:not(:disabled):not(.disabled):active:focus,
13
+ .btn:not(:disabled):not(.disabled).active:focus,
14
+ button:focus,
15
+ .btn:focus,
16
+ .btn-secondary:focus,
17
+ .btn-primary:focus {
18
+ outline: 0;
19
+ box-shadow: none;
20
+ }
21
+
22
+
23
+ // Styler le focus-visible
24
+ .stretched-link:focus-visible::after, // stretched link
25
+ :focus-visible,
26
+ .btn:not(:disabled):not(.disabled):active:focus-visible,
27
+ .btn:not(:disabled):not(.disabled).active:focus-visible,
28
+ button:focus-visible,
29
+ .btn:focus-visible,
30
+ .btn-secondary:focus-visible,
31
+ .btn-primary:focus:focus-visible {
32
+ outline: solid 0.188rem #729BAC;
33
+ box-shadow: none;
34
+ }
35
+
36
+ a:focus-visible {
37
+ outline-offset: 0.188rem;
38
+ border-radius: 0.125rem;
39
+ }
@@ -0,0 +1,106 @@
1
+ .animated-loader {
2
+ width: $loader-size;
3
+ height: $loader-size;
4
+ border: $loader-border-size solid rgba(red($loader-bg-color), green($loader-bg-color), blue($loader-bg-color), $loader-bg-color-opacity);
5
+ border-top-color: $loader-color;
6
+ border-radius: 50%;
7
+ position: relative;
8
+ animation: loader-rotate $loader-animation-duration ease-in-out infinite;
9
+
10
+ &.white {
11
+ border-color: rgba(red($white), green($white), blue($white), .25);
12
+ border-top-color: $white;
13
+ }
14
+ }
15
+
16
+ // Sizes
17
+ .animated-loader-medium {
18
+ .animated-loader {
19
+ width: calc($loader-size / 1.5);
20
+ height: calc($loader-size / 1.5);
21
+ border-width: calc($loader-border-size / 1.5);
22
+ }
23
+
24
+ .animated-loader-text {
25
+ font-size: $font-size-base;
26
+ }
27
+ }
28
+
29
+ .animated-loader-small {
30
+ .animated-loader {
31
+ width: calc($loader-size / 2);
32
+ height: calc($loader-size / 2);
33
+ border-width: calc($loader-border-size / 2);
34
+ }
35
+
36
+ .animated-loader-text {
37
+ font-size: $font-size-base * 0.8;
38
+ }
39
+ }
40
+
41
+ .animated-loader-xsmall {
42
+ .animated-loader {
43
+ width: calc($loader-size / 3);
44
+ height: calc($loader-size / 3);
45
+ border-width: calc($loader-border-size / 3);
46
+ }
47
+
48
+ .animated-loader-text {
49
+ font-size: $font-size-base * 0.8;
50
+ }
51
+ }
52
+
53
+ .animated-loader-text {
54
+ font-size: $font-size-base * 1.1;
55
+ font-weight: bold;
56
+ }
57
+
58
+ // Positions and sizes management
59
+ .animated-loader-container {
60
+ display: flex;
61
+ align-items: center;
62
+ }
63
+
64
+ .animated-loader-container-center {
65
+ justify-content: center;
66
+ }
67
+
68
+ .animated-loader-container-top,
69
+ .animated-loader-container-bottom {
70
+ flex-direction: column;
71
+ }
72
+
73
+ .animated-loader-container-top {
74
+ padding-bottom: 10px;
75
+ }
76
+
77
+ .animated-loader-container-bottom {
78
+ padding-top: 10px;
79
+ }
80
+
81
+ .animated-loader {
82
+
83
+ .animated-loader-container-right &,
84
+ .animated-loader-container-bottom & {
85
+ order: 2;
86
+ }
87
+
88
+ .animated-loader-container-right & {
89
+ margin-left: 10px;
90
+ }
91
+
92
+ .animated-loader-container-left & {
93
+ margin-right: 10px;
94
+ }
95
+ }
96
+
97
+
98
+ @keyframes loader-rotate {
99
+ 0% {
100
+ transform: rotate(0deg)
101
+ }
102
+
103
+ 100% {
104
+ transform: rotate(360deg)
105
+ }
106
+ }
@@ -0,0 +1,43 @@
1
+
2
+ // Neutral
3
+ $dark: #1F1F1F;
4
+ $grey1: #F9F9F9;
5
+ $grey2: #F5F5F5;
6
+ $grey3: #E9E9E9;
7
+ $grey4: #E9ECEF;
8
+ $grey5: #E2E5E9;
9
+ $grey6: #8996A9;
10
+ $grey7: #D6D6D6;
11
+ $grey8: #797676;
12
+ $grey9: #6A6A6A;
13
+ $grey10: #6C757D;
14
+ $white: #ffffff;
15
+
16
+ // Primary
17
+ $primary-default: #0B4F6C;
18
+ $primary-hover: #083f56;
19
+ $primary-link: #1378A8;
20
+
21
+ // Info
22
+ $info-default: #0480A9;
23
+ $info-hover: #036484;
24
+
25
+ // Warning
26
+ $warning-default: #F39E02;
27
+ $warning-hover: #CD8502;
28
+
29
+ // Danger
30
+ $danger-default: #E1001A;
31
+ $danger-hover: #BB0016;
32
+
33
+ // Success
34
+ $success-default: #238909;
35
+ $success-hover: #2F7C20;
36
+
37
+ // Success
38
+ $light-default: $grey2;
39
+ $light-hover: $grey4;
40
+
41
+ // Table
42
+ $alice-blue: #ECF8FD;
43
+