aephidayatuloh commited on
Commit
8f6eaba
·
1 Parent(s): 0b55b55

remove unneeded folder

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. fonts/boxicons.scss +0 -23
  2. html/index.html +0 -1190
  3. js/bootstrap.js +0 -29
  4. js/helpers.js +0 -850
  5. js/menu.js +0 -589
  6. scss/_bootstrap-extended.scss +0 -39
  7. scss/_bootstrap-extended/_accordion.scss +0 -56
  8. scss/_bootstrap-extended/_alert.scss +0 -9
  9. scss/_bootstrap-extended/_badge.scss +0 -18
  10. scss/_bootstrap-extended/_breadcrumb.scss +0 -47
  11. scss/_bootstrap-extended/_button-group.scss +0 -59
  12. scss/_bootstrap-extended/_buttons.scss +0 -111
  13. scss/_bootstrap-extended/_card.scss +0 -185
  14. scss/_bootstrap-extended/_carousel.scss +0 -42
  15. scss/_bootstrap-extended/_close.scss +0 -6
  16. scss/_bootstrap-extended/_dropdown.scss +0 -66
  17. scss/_bootstrap-extended/_forms.scss +0 -10
  18. scss/_bootstrap-extended/_functions.scss +0 -147
  19. scss/_bootstrap-extended/_include.scss +0 -12
  20. scss/_bootstrap-extended/_list-group.scss +0 -58
  21. scss/_bootstrap-extended/_mixins.scss +0 -16
  22. scss/_bootstrap-extended/_modal.scss +0 -110
  23. scss/_bootstrap-extended/_nav.scss +0 -313
  24. scss/_bootstrap-extended/_navbar.scss +0 -58
  25. scss/_bootstrap-extended/_offcanvas.scss +0 -10
  26. scss/_bootstrap-extended/_pagination.scss +0 -92
  27. scss/_bootstrap-extended/_popover.scss +0 -29
  28. scss/_bootstrap-extended/_progress.scss +0 -31
  29. scss/_bootstrap-extended/_reboot.scss +0 -32
  30. scss/_bootstrap-extended/_root.scss +0 -4
  31. scss/_bootstrap-extended/_spinners.scss +0 -21
  32. scss/_bootstrap-extended/_tables.scss +0 -81
  33. scss/_bootstrap-extended/_toasts.scss +0 -58
  34. scss/_bootstrap-extended/_tooltip.scss +0 -11
  35. scss/_bootstrap-extended/_type.scss +0 -2
  36. scss/_bootstrap-extended/_utilities-ltr.scss +0 -283
  37. scss/_bootstrap-extended/_utilities.scss +0 -881
  38. scss/_bootstrap-extended/_variables.scss +0 -885
  39. scss/_bootstrap-extended/forms/_floating-labels.scss +0 -12
  40. scss/_bootstrap-extended/forms/_form-control.scss +0 -12
  41. scss/_bootstrap-extended/forms/_form-range.scss +0 -52
  42. scss/_bootstrap-extended/forms/_form-select.scss +0 -6
  43. scss/_bootstrap-extended/forms/_input-group.scss +0 -68
  44. scss/_bootstrap-extended/forms/_labels.scss +0 -17
  45. scss/_bootstrap-extended/forms/_validation.scss +0 -59
  46. scss/_bootstrap-extended/mixins/_alert.scss +0 -41
  47. scss/_bootstrap-extended/mixins/_badge.scss +0 -9
  48. scss/_bootstrap-extended/mixins/_buttons.scss +0 -171
  49. scss/_bootstrap-extended/mixins/_caret.scss +0 -42
  50. scss/_bootstrap-extended/mixins/_dropdown.scss +0 -20
fonts/boxicons.scss DELETED
@@ -1,23 +0,0 @@
1
- $boxicons-font-path: 'boxicons';
2
- $boxicons-font-size-base: 16px;
3
-
4
- @import '../node_modules/boxicons/css/boxicons';
5
-
6
- .bx {
7
- vertical-align: middle;
8
- font-size: 1.15rem;
9
- line-height: 1;
10
- }
11
- // Override font path
12
- @font-face {
13
- font-family: 'boxicons';
14
- font-weight: normal;
15
- font-style: normal;
16
-
17
- src: url('../fonts/#{$boxicons-font-path}/boxicons.eot');
18
- src: url('../fonts/#{$boxicons-font-path}/boxicons.eot') format('embedded-opentype'),
19
- url('../fonts/#{$boxicons-font-path}/boxicons.woff2') format('woff2'),
20
- url('../fonts/#{$boxicons-font-path}/boxicons.woff') format('woff'),
21
- url('../fonts/#{$boxicons-font-path}/boxicons.ttf') format('truetype'),
22
- url('../fonts/#{$boxicons-font-path}/boxicons.svg?#boxicons') format('svg');
23
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
html/index.html DELETED
@@ -1,1190 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <!-- =========================================================
4
- * Sneat - Bootstrap 5 HTML Admin Template - Pro | v1.0.0
5
- ==============================================================
6
-
7
- * Product Page: https://themeselection.com/products/sneat-bootstrap-html-admin-template/
8
- * Created by: ThemeSelection
9
- * License: You must have a valid license purchased in order to legally use the theme for your project.
10
- * Copyright ThemeSelection (https://themeselection.com)
11
-
12
- =========================================================
13
- -->
14
- <!-- beautify ignore:start -->
15
- <html
16
- lang="en"
17
- class="light-style layout-menu-fixed"
18
- dir="ltr"
19
- data-theme="theme-default"
20
- data-assets-path="../assets/"
21
- data-template="vertical-menu-template-free"
22
- >
23
- <head>
24
- <meta charset="utf-8" />
25
- <meta
26
- name="viewport"
27
- content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
28
- />
29
-
30
- <title>Dashboard - Analytics | Sneat - Bootstrap 5 HTML Admin Template - Pro</title>
31
-
32
- <meta name="description" content="" />
33
-
34
- <!-- Favicon -->
35
- <link rel="icon" type="image/x-icon" href="../assets/img/favicon/favicon.ico" />
36
-
37
- <!-- Fonts -->
38
- <link rel="preconnect" href="https://fonts.googleapis.com" />
39
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
40
- <link
41
- href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
42
- rel="stylesheet"
43
- />
44
-
45
- <!-- Icons. Uncomment required icon fonts -->
46
- <link rel="stylesheet" href="../assets/vendor/fonts/boxicons.css" />
47
-
48
- <!-- Core CSS -->
49
- <link rel="stylesheet" href="../assets/vendor/css/core.css" class="template-customizer-core-css" />
50
- <link rel="stylesheet" href="../assets/vendor/css/theme-default.css" class="template-customizer-theme-css" />
51
- <link rel="stylesheet" href="../assets/css/demo.css" />
52
-
53
- <!-- Vendors CSS -->
54
- <link rel="stylesheet" href="../assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css" />
55
-
56
- <link rel="stylesheet" href="../assets/vendor/libs/apex-charts/apex-charts.css" />
57
-
58
- <!-- Page CSS -->
59
-
60
- <!-- Helpers -->
61
- <script src="../assets/vendor/js/helpers.js"></script>
62
-
63
- <!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
64
- <!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
65
- <script src="../assets/js/config.js"></script>
66
- </head>
67
-
68
- <body>
69
- <!-- Layout wrapper -->
70
- <div class="layout-wrapper layout-content-navbar">
71
- <div class="layout-container">
72
- <!-- Menu -->
73
-
74
- <aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
75
- <div class="app-brand demo">
76
- <a href="index.html" class="app-brand-link">
77
- <span class="app-brand-logo demo">
78
- <svg
79
- width="25"
80
- viewBox="0 0 25 42"
81
- version="1.1"
82
- xmlns="http://www.w3.org/2000/svg"
83
- xmlns:xlink="http://www.w3.org/1999/xlink"
84
- >
85
- <defs>
86
- <path
87
- d="M13.7918663,0.358365126 L3.39788168,7.44174259 C0.566865006,9.69408886 -0.379795268,12.4788597 0.557900856,15.7960551 C0.68998853,16.2305145 1.09562888,17.7872135 3.12357076,19.2293357 C3.8146334,19.7207684 5.32369333,20.3834223 7.65075054,21.2172976 L7.59773219,21.2525164 L2.63468769,24.5493413 C0.445452254,26.3002124 0.0884951797,28.5083815 1.56381646,31.1738486 C2.83770406,32.8170431 5.20850219,33.2640127 7.09180128,32.5391577 C8.347334,32.0559211 11.4559176,30.0011079 16.4175519,26.3747182 C18.0338572,24.4997857 18.6973423,22.4544883 18.4080071,20.2388261 C17.963753,17.5346866 16.1776345,15.5799961 13.0496516,14.3747546 L10.9194936,13.4715819 L18.6192054,7.984237 L13.7918663,0.358365126 Z"
88
- id="path-1"
89
- ></path>
90
- <path
91
- d="M5.47320593,6.00457225 C4.05321814,8.216144 4.36334763,10.0722806 6.40359441,11.5729822 C8.61520715,12.571656 10.0999176,13.2171421 10.8577257,13.5094407 L15.5088241,14.433041 L18.6192054,7.984237 C15.5364148,3.11535317 13.9273018,0.573395879 13.7918663,0.358365126 C13.5790555,0.511491653 10.8061687,2.3935607 5.47320593,6.00457225 Z"
92
- id="path-3"
93
- ></path>
94
- <path
95
- d="M7.50063644,21.2294429 L12.3234468,23.3159332 C14.1688022,24.7579751 14.397098,26.4880487 13.008334,28.506154 C11.6195701,30.5242593 10.3099883,31.790241 9.07958868,32.3040991 C5.78142938,33.4346997 4.13234973,34 4.13234973,34 C4.13234973,34 2.75489982,33.0538207 2.37032616e-14,31.1614621 C-0.55822714,27.8186216 -0.55822714,26.0572515 -4.05231404e-15,25.8773518 C0.83734071,25.6075023 2.77988457,22.8248993 3.3049379,22.52991 C3.65497346,22.3332504 5.05353963,21.8997614 7.50063644,21.2294429 Z"
96
- id="path-4"
97
- ></path>
98
- <path
99
- d="M20.6,7.13333333 L25.6,13.8 C26.2627417,14.6836556 26.0836556,15.9372583 25.2,16.6 C24.8538077,16.8596443 24.4327404,17 24,17 L14,17 C12.8954305,17 12,16.1045695 12,15 C12,14.5672596 12.1403557,14.1461923 12.4,13.8 L17.4,7.13333333 C18.0627417,6.24967773 19.3163444,6.07059163 20.2,6.73333333 C20.3516113,6.84704183 20.4862915,6.981722 20.6,7.13333333 Z"
100
- id="path-5"
101
- ></path>
102
- </defs>
103
- <g id="g-app-brand" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
104
- <g id="Brand-Logo" transform="translate(-27.000000, -15.000000)">
105
- <g id="Icon" transform="translate(27.000000, 15.000000)">
106
- <g id="Mask" transform="translate(0.000000, 8.000000)">
107
- <mask id="mask-2" fill="white">
108
- <use xlink:href="#path-1"></use>
109
- </mask>
110
- <use fill="#696cff" xlink:href="#path-1"></use>
111
- <g id="Path-3" mask="url(#mask-2)">
112
- <use fill="#696cff" xlink:href="#path-3"></use>
113
- <use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-3"></use>
114
- </g>
115
- <g id="Path-4" mask="url(#mask-2)">
116
- <use fill="#696cff" xlink:href="#path-4"></use>
117
- <use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-4"></use>
118
- </g>
119
- </g>
120
- <g
121
- id="Triangle"
122
- transform="translate(19.000000, 11.000000) rotate(-300.000000) translate(-19.000000, -11.000000) "
123
- >
124
- <use fill="#696cff" xlink:href="#path-5"></use>
125
- <use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-5"></use>
126
- </g>
127
- </g>
128
- </g>
129
- </g>
130
- </svg>
131
- </span>
132
- <span class="app-brand-text demo menu-text fw-bolder ms-2">Sneat</span>
133
- </a>
134
-
135
- <a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto d-block d-xl-none">
136
- <i class="bx bx-chevron-left bx-sm align-middle"></i>
137
- </a>
138
- </div>
139
-
140
- <div class="menu-inner-shadow"></div>
141
-
142
- <ul class="menu-inner py-1">
143
- <!-- Dashboard -->
144
- <li class="menu-item active">
145
- <a href="index.html" class="menu-link">
146
- <i class="menu-icon tf-icons bx bx-home-circle"></i>
147
- <div data-i18n="Analytics">Dashboard</div>
148
- </a>
149
- </li>
150
-
151
- <!-- Layouts -->
152
- <li class="menu-item">
153
- <a href="javascript:void(0);" class="menu-link menu-toggle">
154
- <i class="menu-icon tf-icons bx bx-layout"></i>
155
- <div data-i18n="Layouts">Layouts</div>
156
- </a>
157
-
158
- <ul class="menu-sub">
159
- <li class="menu-item">
160
- <a href="layouts-without-menu.html" class="menu-link">
161
- <div data-i18n="Without menu">Without menu</div>
162
- </a>
163
- </li>
164
- <li class="menu-item">
165
- <a href="layouts-without-navbar.html" class="menu-link">
166
- <div data-i18n="Without navbar">Without navbar</div>
167
- </a>
168
- </li>
169
- <li class="menu-item">
170
- <a href="layouts-container.html" class="menu-link">
171
- <div data-i18n="Container">Container</div>
172
- </a>
173
- </li>
174
- <li class="menu-item">
175
- <a href="layouts-fluid.html" class="menu-link">
176
- <div data-i18n="Fluid">Fluid</div>
177
- </a>
178
- </li>
179
- <li class="menu-item">
180
- <a href="layouts-blank.html" class="menu-link">
181
- <div data-i18n="Blank">Blank</div>
182
- </a>
183
- </li>
184
- </ul>
185
- </li>
186
-
187
- <li class="menu-header small text-uppercase">
188
- <span class="menu-header-text">Pages</span>
189
- </li>
190
- <li class="menu-item">
191
- <a href="javascript:void(0);" class="menu-link menu-toggle">
192
- <i class="menu-icon tf-icons bx bx-dock-top"></i>
193
- <div data-i18n="Account Settings">Account Settings</div>
194
- </a>
195
- <ul class="menu-sub">
196
- <li class="menu-item">
197
- <a href="pages-account-settings-account.html" class="menu-link">
198
- <div data-i18n="Account">Account</div>
199
- </a>
200
- </li>
201
- <li class="menu-item">
202
- <a href="pages-account-settings-notifications.html" class="menu-link">
203
- <div data-i18n="Notifications">Notifications</div>
204
- </a>
205
- </li>
206
- <li class="menu-item">
207
- <a href="pages-account-settings-connections.html" class="menu-link">
208
- <div data-i18n="Connections">Connections</div>
209
- </a>
210
- </li>
211
- </ul>
212
- </li>
213
- <li class="menu-item">
214
- <a href="javascript:void(0);" class="menu-link menu-toggle">
215
- <i class="menu-icon tf-icons bx bx-lock-open-alt"></i>
216
- <div data-i18n="Authentications">Authentications</div>
217
- </a>
218
- <ul class="menu-sub">
219
- <li class="menu-item">
220
- <a href="auth-login-basic.html" class="menu-link" target="_blank">
221
- <div data-i18n="Basic">Login</div>
222
- </a>
223
- </li>
224
- <li class="menu-item">
225
- <a href="auth-register-basic.html" class="menu-link" target="_blank">
226
- <div data-i18n="Basic">Register</div>
227
- </a>
228
- </li>
229
- <li class="menu-item">
230
- <a href="auth-forgot-password-basic.html" class="menu-link" target="_blank">
231
- <div data-i18n="Basic">Forgot Password</div>
232
- </a>
233
- </li>
234
- </ul>
235
- </li>
236
- <li class="menu-item">
237
- <a href="javascript:void(0);" class="menu-link menu-toggle">
238
- <i class="menu-icon tf-icons bx bx-cube-alt"></i>
239
- <div data-i18n="Misc">Misc</div>
240
- </a>
241
- <ul class="menu-sub">
242
- <li class="menu-item">
243
- <a href="pages-misc-error.html" class="menu-link">
244
- <div data-i18n="Error">Error</div>
245
- </a>
246
- </li>
247
- <li class="menu-item">
248
- <a href="pages-misc-under-maintenance.html" class="menu-link">
249
- <div data-i18n="Under Maintenance">Under Maintenance</div>
250
- </a>
251
- </li>
252
- </ul>
253
- </li>
254
- <!-- Components -->
255
- <li class="menu-header small text-uppercase"><span class="menu-header-text">Components</span></li>
256
- <!-- Cards -->
257
- <li class="menu-item">
258
- <a href="cards-basic.html" class="menu-link">
259
- <i class="menu-icon tf-icons bx bx-collection"></i>
260
- <div data-i18n="Basic">Cards</div>
261
- </a>
262
- </li>
263
- <!-- User interface -->
264
- <li class="menu-item">
265
- <a href="javascript:void(0)" class="menu-link menu-toggle">
266
- <i class="menu-icon tf-icons bx bx-box"></i>
267
- <div data-i18n="User interface">User interface</div>
268
- </a>
269
- <ul class="menu-sub">
270
- <li class="menu-item">
271
- <a href="ui-accordion.html" class="menu-link">
272
- <div data-i18n="Accordion">Accordion</div>
273
- </a>
274
- </li>
275
- <li class="menu-item">
276
- <a href="ui-alerts.html" class="menu-link">
277
- <div data-i18n="Alerts">Alerts</div>
278
- </a>
279
- </li>
280
- <li class="menu-item">
281
- <a href="ui-badges.html" class="menu-link">
282
- <div data-i18n="Badges">Badges</div>
283
- </a>
284
- </li>
285
- <li class="menu-item">
286
- <a href="ui-buttons.html" class="menu-link">
287
- <div data-i18n="Buttons">Buttons</div>
288
- </a>
289
- </li>
290
- <li class="menu-item">
291
- <a href="ui-carousel.html" class="menu-link">
292
- <div data-i18n="Carousel">Carousel</div>
293
- </a>
294
- </li>
295
- <li class="menu-item">
296
- <a href="ui-collapse.html" class="menu-link">
297
- <div data-i18n="Collapse">Collapse</div>
298
- </a>
299
- </li>
300
- <li class="menu-item">
301
- <a href="ui-dropdowns.html" class="menu-link">
302
- <div data-i18n="Dropdowns">Dropdowns</div>
303
- </a>
304
- </li>
305
- <li class="menu-item">
306
- <a href="ui-footer.html" class="menu-link">
307
- <div data-i18n="Footer">Footer</div>
308
- </a>
309
- </li>
310
- <li class="menu-item">
311
- <a href="ui-list-groups.html" class="menu-link">
312
- <div data-i18n="List Groups">List groups</div>
313
- </a>
314
- </li>
315
- <li class="menu-item">
316
- <a href="ui-modals.html" class="menu-link">
317
- <div data-i18n="Modals">Modals</div>
318
- </a>
319
- </li>
320
- <li class="menu-item">
321
- <a href="ui-navbar.html" class="menu-link">
322
- <div data-i18n="Navbar">Navbar</div>
323
- </a>
324
- </li>
325
- <li class="menu-item">
326
- <a href="ui-offcanvas.html" class="menu-link">
327
- <div data-i18n="Offcanvas">Offcanvas</div>
328
- </a>
329
- </li>
330
- <li class="menu-item">
331
- <a href="ui-pagination-breadcrumbs.html" class="menu-link">
332
- <div data-i18n="Pagination &amp; Breadcrumbs">Pagination &amp; Breadcrumbs</div>
333
- </a>
334
- </li>
335
- <li class="menu-item">
336
- <a href="ui-progress.html" class="menu-link">
337
- <div data-i18n="Progress">Progress</div>
338
- </a>
339
- </li>
340
- <li class="menu-item">
341
- <a href="ui-spinners.html" class="menu-link">
342
- <div data-i18n="Spinners">Spinners</div>
343
- </a>
344
- </li>
345
- <li class="menu-item">
346
- <a href="ui-tabs-pills.html" class="menu-link">
347
- <div data-i18n="Tabs &amp; Pills">Tabs &amp; Pills</div>
348
- </a>
349
- </li>
350
- <li class="menu-item">
351
- <a href="ui-toasts.html" class="menu-link">
352
- <div data-i18n="Toasts">Toasts</div>
353
- </a>
354
- </li>
355
- <li class="menu-item">
356
- <a href="ui-tooltips-popovers.html" class="menu-link">
357
- <div data-i18n="Tooltips & Popovers">Tooltips &amp; popovers</div>
358
- </a>
359
- </li>
360
- <li class="menu-item">
361
- <a href="ui-typography.html" class="menu-link">
362
- <div data-i18n="Typography">Typography</div>
363
- </a>
364
- </li>
365
- </ul>
366
- </li>
367
-
368
- <!-- Extended components -->
369
- <li class="menu-item">
370
- <a href="javascript:void(0)" class="menu-link menu-toggle">
371
- <i class="menu-icon tf-icons bx bx-copy"></i>
372
- <div data-i18n="Extended UI">Extended UI</div>
373
- </a>
374
- <ul class="menu-sub">
375
- <li class="menu-item">
376
- <a href="extended-ui-perfect-scrollbar.html" class="menu-link">
377
- <div data-i18n="Perfect Scrollbar">Perfect scrollbar</div>
378
- </a>
379
- </li>
380
- <li class="menu-item">
381
- <a href="extended-ui-text-divider.html" class="menu-link">
382
- <div data-i18n="Text Divider">Text Divider</div>
383
- </a>
384
- </li>
385
- </ul>
386
- </li>
387
-
388
- <li class="menu-item">
389
- <a href="icons-boxicons.html" class="menu-link">
390
- <i class="menu-icon tf-icons bx bx-crown"></i>
391
- <div data-i18n="Boxicons">Boxicons</div>
392
- </a>
393
- </li>
394
-
395
- <!-- Forms & Tables -->
396
- <li class="menu-header small text-uppercase"><span class="menu-header-text">Forms &amp; Tables</span></li>
397
- <!-- Forms -->
398
- <li class="menu-item">
399
- <a href="javascript:void(0);" class="menu-link menu-toggle">
400
- <i class="menu-icon tf-icons bx bx-detail"></i>
401
- <div data-i18n="Form Elements">Form Elements</div>
402
- </a>
403
- <ul class="menu-sub">
404
- <li class="menu-item">
405
- <a href="forms-basic-inputs.html" class="menu-link">
406
- <div data-i18n="Basic Inputs">Basic Inputs</div>
407
- </a>
408
- </li>
409
- <li class="menu-item">
410
- <a href="forms-input-groups.html" class="menu-link">
411
- <div data-i18n="Input groups">Input groups</div>
412
- </a>
413
- </li>
414
- </ul>
415
- </li>
416
- <li class="menu-item">
417
- <a href="javascript:void(0);" class="menu-link menu-toggle">
418
- <i class="menu-icon tf-icons bx bx-detail"></i>
419
- <div data-i18n="Form Layouts">Form Layouts</div>
420
- </a>
421
- <ul class="menu-sub">
422
- <li class="menu-item">
423
- <a href="form-layouts-vertical.html" class="menu-link">
424
- <div data-i18n="Vertical Form">Vertical Form</div>
425
- </a>
426
- </li>
427
- <li class="menu-item">
428
- <a href="form-layouts-horizontal.html" class="menu-link">
429
- <div data-i18n="Horizontal Form">Horizontal Form</div>
430
- </a>
431
- </li>
432
- </ul>
433
- </li>
434
- <!-- Tables -->
435
- <li class="menu-item">
436
- <a href="tables-basic.html" class="menu-link">
437
- <i class="menu-icon tf-icons bx bx-table"></i>
438
- <div data-i18n="Tables">Tables</div>
439
- </a>
440
- </li>
441
- <!-- Misc -->
442
- <li class="menu-header small text-uppercase"><span class="menu-header-text">Misc</span></li>
443
- <li class="menu-item">
444
- <a
445
- href="https://github.com/themeselection/sneat-html-admin-template-free/issues"
446
- target="_blank"
447
- class="menu-link"
448
- >
449
- <i class="menu-icon tf-icons bx bx-support"></i>
450
- <div data-i18n="Support">Support</div>
451
- </a>
452
- </li>
453
- <li class="menu-item">
454
- <a
455
- href="https://themeselection.com/demo/sneat-bootstrap-html-admin-template/documentation/"
456
- target="_blank"
457
- class="menu-link"
458
- >
459
- <i class="menu-icon tf-icons bx bx-file"></i>
460
- <div data-i18n="Documentation">Documentation</div>
461
- </a>
462
- </li>
463
- </ul>
464
- </aside>
465
- <!-- / Menu -->
466
-
467
- <!-- Layout container -->
468
- <div class="layout-page">
469
- <!-- Navbar -->
470
-
471
- <nav
472
- class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
473
- id="layout-navbar"
474
- >
475
- <div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none">
476
- <a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
477
- <i class="bx bx-menu bx-sm"></i>
478
- </a>
479
- </div>
480
-
481
- <div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
482
- <!-- Search -->
483
- <div class="navbar-nav align-items-center">
484
- <div class="nav-item d-flex align-items-center">
485
- <i class="bx bx-search fs-4 lh-0"></i>
486
- <input
487
- type="text"
488
- class="form-control border-0 shadow-none"
489
- placeholder="Search..."
490
- aria-label="Search..."
491
- />
492
- </div>
493
- </div>
494
- <!-- /Search -->
495
-
496
- <ul class="navbar-nav flex-row align-items-center ms-auto">
497
- <!-- Place this tag where you want the button to render. -->
498
- <li class="nav-item lh-1 me-3">
499
- <a
500
- class="github-button"
501
- href="https://github.com/themeselection/sneat-html-admin-template-free"
502
- data-icon="octicon-star"
503
- data-size="large"
504
- data-show-count="true"
505
- aria-label="Star themeselection/sneat-html-admin-template-free on GitHub"
506
- >Star</a
507
- >
508
- </li>
509
-
510
- <!-- User -->
511
- <li class="nav-item navbar-dropdown dropdown-user dropdown">
512
- <a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
513
- <div class="avatar avatar-online">
514
- <img src="../assets/img/avatars/1.png" alt class="w-px-40 h-auto rounded-circle" />
515
- </div>
516
- </a>
517
- <ul class="dropdown-menu dropdown-menu-end">
518
- <li>
519
- <a class="dropdown-item" href="#">
520
- <div class="d-flex">
521
- <div class="flex-shrink-0 me-3">
522
- <div class="avatar avatar-online">
523
- <img src="../assets/img/avatars/1.png" alt class="w-px-40 h-auto rounded-circle" />
524
- </div>
525
- </div>
526
- <div class="flex-grow-1">
527
- <span class="fw-semibold d-block">John Doe</span>
528
- <small class="text-muted">Admin</small>
529
- </div>
530
- </div>
531
- </a>
532
- </li>
533
- <li>
534
- <div class="dropdown-divider"></div>
535
- </li>
536
- <li>
537
- <a class="dropdown-item" href="#">
538
- <i class="bx bx-user me-2"></i>
539
- <span class="align-middle">My Profile</span>
540
- </a>
541
- </li>
542
- <li>
543
- <a class="dropdown-item" href="#">
544
- <i class="bx bx-cog me-2"></i>
545
- <span class="align-middle">Settings</span>
546
- </a>
547
- </li>
548
- <li>
549
- <a class="dropdown-item" href="#">
550
- <span class="d-flex align-items-center align-middle">
551
- <i class="flex-shrink-0 bx bx-credit-card me-2"></i>
552
- <span class="flex-grow-1 align-middle">Billing</span>
553
- <span class="flex-shrink-0 badge badge-center rounded-pill bg-danger w-px-20 h-px-20">4</span>
554
- </span>
555
- </a>
556
- </li>
557
- <li>
558
- <div class="dropdown-divider"></div>
559
- </li>
560
- <li>
561
- <a class="dropdown-item" href="auth-login-basic.html">
562
- <i class="bx bx-power-off me-2"></i>
563
- <span class="align-middle">Log Out</span>
564
- </a>
565
- </li>
566
- </ul>
567
- </li>
568
- <!--/ User -->
569
- </ul>
570
- </div>
571
- </nav>
572
-
573
- <!-- / Navbar -->
574
-
575
- <!-- Content wrapper -->
576
- <div class="content-wrapper">
577
- <!-- Content -->
578
-
579
- <div class="container-xxl flex-grow-1 container-p-y">
580
- <div class="row">
581
- <div class="col-lg-8 mb-4 order-0">
582
- <div class="card">
583
- <div class="d-flex align-items-end row">
584
- <div class="col-sm-7">
585
- <div class="card-body">
586
- <h5 class="card-title text-primary">Congratulations John! 🎉</h5>
587
- <p class="mb-4">
588
- You have done <span class="fw-bold">72%</span> more sales today. Check your new badge in
589
- your profile.
590
- </p>
591
-
592
- <a href="javascript:;" class="btn btn-sm btn-outline-primary">View Badges</a>
593
- </div>
594
- </div>
595
- <div class="col-sm-5 text-center text-sm-left">
596
- <div class="card-body pb-0 px-0 px-md-4">
597
- <img
598
- src="../assets/img/illustrations/man-with-laptop-light.png"
599
- height="140"
600
- alt="View Badge User"
601
- data-app-dark-img="illustrations/man-with-laptop-dark.png"
602
- data-app-light-img="illustrations/man-with-laptop-light.png"
603
- />
604
- </div>
605
- </div>
606
- </div>
607
- </div>
608
- </div>
609
- <div class="col-lg-4 col-md-4 order-1">
610
- <div class="row">
611
- <div class="col-lg-6 col-md-12 col-6 mb-4">
612
- <div class="card">
613
- <div class="card-body">
614
- <div class="card-title d-flex align-items-start justify-content-between">
615
- <div class="avatar flex-shrink-0">
616
- <img
617
- src="../assets/img/icons/unicons/chart-success.png"
618
- alt="chart success"
619
- class="rounded"
620
- />
621
- </div>
622
- <div class="dropdown">
623
- <button
624
- class="btn p-0"
625
- type="button"
626
- id="cardOpt3"
627
- data-bs-toggle="dropdown"
628
- aria-haspopup="true"
629
- aria-expanded="false"
630
- >
631
- <i class="bx bx-dots-vertical-rounded"></i>
632
- </button>
633
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="cardOpt3">
634
- <a class="dropdown-item" href="javascript:void(0);">View More</a>
635
- <a class="dropdown-item" href="javascript:void(0);">Delete</a>
636
- </div>
637
- </div>
638
- </div>
639
- <span class="fw-semibold d-block mb-1">Profit</span>
640
- <h3 class="card-title mb-2">$12,628</h3>
641
- <small class="text-success fw-semibold"><i class="bx bx-up-arrow-alt"></i> +72.80%</small>
642
- </div>
643
- </div>
644
- </div>
645
- <div class="col-lg-6 col-md-12 col-6 mb-4">
646
- <div class="card">
647
- <div class="card-body">
648
- <div class="card-title d-flex align-items-start justify-content-between">
649
- <div class="avatar flex-shrink-0">
650
- <img
651
- src="../assets/img/icons/unicons/wallet-info.png"
652
- alt="Credit Card"
653
- class="rounded"
654
- />
655
- </div>
656
- <div class="dropdown">
657
- <button
658
- class="btn p-0"
659
- type="button"
660
- id="cardOpt6"
661
- data-bs-toggle="dropdown"
662
- aria-haspopup="true"
663
- aria-expanded="false"
664
- >
665
- <i class="bx bx-dots-vertical-rounded"></i>
666
- </button>
667
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="cardOpt6">
668
- <a class="dropdown-item" href="javascript:void(0);">View More</a>
669
- <a class="dropdown-item" href="javascript:void(0);">Delete</a>
670
- </div>
671
- </div>
672
- </div>
673
- <span>Sales</span>
674
- <h3 class="card-title text-nowrap mb-1">$4,679</h3>
675
- <small class="text-success fw-semibold"><i class="bx bx-up-arrow-alt"></i> +28.42%</small>
676
- </div>
677
- </div>
678
- </div>
679
- </div>
680
- </div>
681
- <!-- Total Revenue -->
682
- <div class="col-12 col-lg-8 order-2 order-md-3 order-lg-2 mb-4">
683
- <div class="card">
684
- <div class="row row-bordered g-0">
685
- <div class="col-md-8">
686
- <h5 class="card-header m-0 me-2 pb-3">Total Revenue</h5>
687
- <div id="totalRevenueChart" class="px-2"></div>
688
- </div>
689
- <div class="col-md-4">
690
- <div class="card-body">
691
- <div class="text-center">
692
- <div class="dropdown">
693
- <button
694
- class="btn btn-sm btn-outline-primary dropdown-toggle"
695
- type="button"
696
- id="growthReportId"
697
- data-bs-toggle="dropdown"
698
- aria-haspopup="true"
699
- aria-expanded="false"
700
- >
701
- 2022
702
- </button>
703
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="growthReportId">
704
- <a class="dropdown-item" href="javascript:void(0);">2021</a>
705
- <a class="dropdown-item" href="javascript:void(0);">2020</a>
706
- <a class="dropdown-item" href="javascript:void(0);">2019</a>
707
- </div>
708
- </div>
709
- </div>
710
- </div>
711
- <div id="growthChart"></div>
712
- <div class="text-center fw-semibold pt-3 mb-2">62% Company Growth</div>
713
-
714
- <div class="d-flex px-xxl-4 px-lg-2 p-4 gap-xxl-3 gap-lg-1 gap-3 justify-content-between">
715
- <div class="d-flex">
716
- <div class="me-2">
717
- <span class="badge bg-label-primary p-2"><i class="bx bx-dollar text-primary"></i></span>
718
- </div>
719
- <div class="d-flex flex-column">
720
- <small>2022</small>
721
- <h6 class="mb-0">$32.5k</h6>
722
- </div>
723
- </div>
724
- <div class="d-flex">
725
- <div class="me-2">
726
- <span class="badge bg-label-info p-2"><i class="bx bx-wallet text-info"></i></span>
727
- </div>
728
- <div class="d-flex flex-column">
729
- <small>2021</small>
730
- <h6 class="mb-0">$41.2k</h6>
731
- </div>
732
- </div>
733
- </div>
734
- </div>
735
- </div>
736
- </div>
737
- </div>
738
- <!--/ Total Revenue -->
739
- <div class="col-12 col-md-8 col-lg-4 order-3 order-md-2">
740
- <div class="row">
741
- <div class="col-6 mb-4">
742
- <div class="card">
743
- <div class="card-body">
744
- <div class="card-title d-flex align-items-start justify-content-between">
745
- <div class="avatar flex-shrink-0">
746
- <img src="../assets/img/icons/unicons/paypal.png" alt="Credit Card" class="rounded" />
747
- </div>
748
- <div class="dropdown">
749
- <button
750
- class="btn p-0"
751
- type="button"
752
- id="cardOpt4"
753
- data-bs-toggle="dropdown"
754
- aria-haspopup="true"
755
- aria-expanded="false"
756
- >
757
- <i class="bx bx-dots-vertical-rounded"></i>
758
- </button>
759
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="cardOpt4">
760
- <a class="dropdown-item" href="javascript:void(0);">View More</a>
761
- <a class="dropdown-item" href="javascript:void(0);">Delete</a>
762
- </div>
763
- </div>
764
- </div>
765
- <span class="d-block mb-1">Payments</span>
766
- <h3 class="card-title text-nowrap mb-2">$2,456</h3>
767
- <small class="text-danger fw-semibold"><i class="bx bx-down-arrow-alt"></i> -14.82%</small>
768
- </div>
769
- </div>
770
- </div>
771
- <div class="col-6 mb-4">
772
- <div class="card">
773
- <div class="card-body">
774
- <div class="card-title d-flex align-items-start justify-content-between">
775
- <div class="avatar flex-shrink-0">
776
- <img src="../assets/img/icons/unicons/cc-primary.png" alt="Credit Card" class="rounded" />
777
- </div>
778
- <div class="dropdown">
779
- <button
780
- class="btn p-0"
781
- type="button"
782
- id="cardOpt1"
783
- data-bs-toggle="dropdown"
784
- aria-haspopup="true"
785
- aria-expanded="false"
786
- >
787
- <i class="bx bx-dots-vertical-rounded"></i>
788
- </button>
789
- <div class="dropdown-menu" aria-labelledby="cardOpt1">
790
- <a class="dropdown-item" href="javascript:void(0);">View More</a>
791
- <a class="dropdown-item" href="javascript:void(0);">Delete</a>
792
- </div>
793
- </div>
794
- </div>
795
- <span class="fw-semibold d-block mb-1">Transactions</span>
796
- <h3 class="card-title mb-2">$14,857</h3>
797
- <small class="text-success fw-semibold"><i class="bx bx-up-arrow-alt"></i> +28.14%</small>
798
- </div>
799
- </div>
800
- </div>
801
- <!-- </div>
802
- <div class="row"> -->
803
- <div class="col-12 mb-4">
804
- <div class="card">
805
- <div class="card-body">
806
- <div class="d-flex justify-content-between flex-sm-row flex-column gap-3">
807
- <div class="d-flex flex-sm-column flex-row align-items-start justify-content-between">
808
- <div class="card-title">
809
- <h5 class="text-nowrap mb-2">Profile Report</h5>
810
- <span class="badge bg-label-warning rounded-pill">Year 2021</span>
811
- </div>
812
- <div class="mt-sm-auto">
813
- <small class="text-success text-nowrap fw-semibold"
814
- ><i class="bx bx-chevron-up"></i> 68.2%</small
815
- >
816
- <h3 class="mb-0">$84,686k</h3>
817
- </div>
818
- </div>
819
- <div id="profileReportChart"></div>
820
- </div>
821
- </div>
822
- </div>
823
- </div>
824
- </div>
825
- </div>
826
- </div>
827
- <div class="row">
828
- <!-- Order Statistics -->
829
- <div class="col-md-6 col-lg-4 col-xl-4 order-0 mb-4">
830
- <div class="card h-100">
831
- <div class="card-header d-flex align-items-center justify-content-between pb-0">
832
- <div class="card-title mb-0">
833
- <h5 class="m-0 me-2">Order Statistics</h5>
834
- <small class="text-muted">42.82k Total Sales</small>
835
- </div>
836
- <div class="dropdown">
837
- <button
838
- class="btn p-0"
839
- type="button"
840
- id="orederStatistics"
841
- data-bs-toggle="dropdown"
842
- aria-haspopup="true"
843
- aria-expanded="false"
844
- >
845
- <i class="bx bx-dots-vertical-rounded"></i>
846
- </button>
847
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="orederStatistics">
848
- <a class="dropdown-item" href="javascript:void(0);">Select All</a>
849
- <a class="dropdown-item" href="javascript:void(0);">Refresh</a>
850
- <a class="dropdown-item" href="javascript:void(0);">Share</a>
851
- </div>
852
- </div>
853
- </div>
854
- <div class="card-body">
855
- <div class="d-flex justify-content-between align-items-center mb-3">
856
- <div class="d-flex flex-column align-items-center gap-1">
857
- <h2 class="mb-2">8,258</h2>
858
- <span>Total Orders</span>
859
- </div>
860
- <div id="orderStatisticsChart"></div>
861
- </div>
862
- <ul class="p-0 m-0">
863
- <li class="d-flex mb-4 pb-1">
864
- <div class="avatar flex-shrink-0 me-3">
865
- <span class="avatar-initial rounded bg-label-primary"
866
- ><i class="bx bx-mobile-alt"></i
867
- ></span>
868
- </div>
869
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
870
- <div class="me-2">
871
- <h6 class="mb-0">Electronic</h6>
872
- <small class="text-muted">Mobile, Earbuds, TV</small>
873
- </div>
874
- <div class="user-progress">
875
- <small class="fw-semibold">82.5k</small>
876
- </div>
877
- </div>
878
- </li>
879
- <li class="d-flex mb-4 pb-1">
880
- <div class="avatar flex-shrink-0 me-3">
881
- <span class="avatar-initial rounded bg-label-success"><i class="bx bx-closet"></i></span>
882
- </div>
883
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
884
- <div class="me-2">
885
- <h6 class="mb-0">Fashion</h6>
886
- <small class="text-muted">T-shirt, Jeans, Shoes</small>
887
- </div>
888
- <div class="user-progress">
889
- <small class="fw-semibold">23.8k</small>
890
- </div>
891
- </div>
892
- </li>
893
- <li class="d-flex mb-4 pb-1">
894
- <div class="avatar flex-shrink-0 me-3">
895
- <span class="avatar-initial rounded bg-label-info"><i class="bx bx-home-alt"></i></span>
896
- </div>
897
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
898
- <div class="me-2">
899
- <h6 class="mb-0">Decor</h6>
900
- <small class="text-muted">Fine Art, Dining</small>
901
- </div>
902
- <div class="user-progress">
903
- <small class="fw-semibold">849k</small>
904
- </div>
905
- </div>
906
- </li>
907
- <li class="d-flex">
908
- <div class="avatar flex-shrink-0 me-3">
909
- <span class="avatar-initial rounded bg-label-secondary"
910
- ><i class="bx bx-football"></i
911
- ></span>
912
- </div>
913
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
914
- <div class="me-2">
915
- <h6 class="mb-0">Sports</h6>
916
- <small class="text-muted">Football, Cricket Kit</small>
917
- </div>
918
- <div class="user-progress">
919
- <small class="fw-semibold">99</small>
920
- </div>
921
- </div>
922
- </li>
923
- </ul>
924
- </div>
925
- </div>
926
- </div>
927
- <!--/ Order Statistics -->
928
-
929
- <!-- Expense Overview -->
930
- <div class="col-md-6 col-lg-4 order-1 mb-4">
931
- <div class="card h-100">
932
- <div class="card-header">
933
- <ul class="nav nav-pills" role="tablist">
934
- <li class="nav-item">
935
- <button
936
- type="button"
937
- class="nav-link active"
938
- role="tab"
939
- data-bs-toggle="tab"
940
- data-bs-target="#navs-tabs-line-card-income"
941
- aria-controls="navs-tabs-line-card-income"
942
- aria-selected="true"
943
- >
944
- Income
945
- </button>
946
- </li>
947
- <li class="nav-item">
948
- <button type="button" class="nav-link" role="tab">Expenses</button>
949
- </li>
950
- <li class="nav-item">
951
- <button type="button" class="nav-link" role="tab">Profit</button>
952
- </li>
953
- </ul>
954
- </div>
955
- <div class="card-body px-0">
956
- <div class="tab-content p-0">
957
- <div class="tab-pane fade show active" id="navs-tabs-line-card-income" role="tabpanel">
958
- <div class="d-flex p-4 pt-3">
959
- <div class="avatar flex-shrink-0 me-3">
960
- <img src="../assets/img/icons/unicons/wallet.png" alt="User" />
961
- </div>
962
- <div>
963
- <small class="text-muted d-block">Total Balance</small>
964
- <div class="d-flex align-items-center">
965
- <h6 class="mb-0 me-1">$459.10</h6>
966
- <small class="text-success fw-semibold">
967
- <i class="bx bx-chevron-up"></i>
968
- 42.9%
969
- </small>
970
- </div>
971
- </div>
972
- </div>
973
- <div id="incomeChart"></div>
974
- <div class="d-flex justify-content-center pt-4 gap-2">
975
- <div class="flex-shrink-0">
976
- <div id="expensesOfWeek"></div>
977
- </div>
978
- <div>
979
- <p class="mb-n1 mt-1">Expenses This Week</p>
980
- <small class="text-muted">$39 less than last week</small>
981
- </div>
982
- </div>
983
- </div>
984
- </div>
985
- </div>
986
- </div>
987
- </div>
988
- <!--/ Expense Overview -->
989
-
990
- <!-- Transactions -->
991
- <div class="col-md-6 col-lg-4 order-2 mb-4">
992
- <div class="card h-100">
993
- <div class="card-header d-flex align-items-center justify-content-between">
994
- <h5 class="card-title m-0 me-2">Transactions</h5>
995
- <div class="dropdown">
996
- <button
997
- class="btn p-0"
998
- type="button"
999
- id="transactionID"
1000
- data-bs-toggle="dropdown"
1001
- aria-haspopup="true"
1002
- aria-expanded="false"
1003
- >
1004
- <i class="bx bx-dots-vertical-rounded"></i>
1005
- </button>
1006
- <div class="dropdown-menu dropdown-menu-end" aria-labelledby="transactionID">
1007
- <a class="dropdown-item" href="javascript:void(0);">Last 28 Days</a>
1008
- <a class="dropdown-item" href="javascript:void(0);">Last Month</a>
1009
- <a class="dropdown-item" href="javascript:void(0);">Last Year</a>
1010
- </div>
1011
- </div>
1012
- </div>
1013
- <div class="card-body">
1014
- <ul class="p-0 m-0">
1015
- <li class="d-flex mb-4 pb-1">
1016
- <div class="avatar flex-shrink-0 me-3">
1017
- <img src="../assets/img/icons/unicons/paypal.png" alt="User" class="rounded" />
1018
- </div>
1019
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1020
- <div class="me-2">
1021
- <small class="text-muted d-block mb-1">Paypal</small>
1022
- <h6 class="mb-0">Send money</h6>
1023
- </div>
1024
- <div class="user-progress d-flex align-items-center gap-1">
1025
- <h6 class="mb-0">+82.6</h6>
1026
- <span class="text-muted">USD</span>
1027
- </div>
1028
- </div>
1029
- </li>
1030
- <li class="d-flex mb-4 pb-1">
1031
- <div class="avatar flex-shrink-0 me-3">
1032
- <img src="../assets/img/icons/unicons/wallet.png" alt="User" class="rounded" />
1033
- </div>
1034
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1035
- <div class="me-2">
1036
- <small class="text-muted d-block mb-1">Wallet</small>
1037
- <h6 class="mb-0">Mac'D</h6>
1038
- </div>
1039
- <div class="user-progress d-flex align-items-center gap-1">
1040
- <h6 class="mb-0">+270.69</h6>
1041
- <span class="text-muted">USD</span>
1042
- </div>
1043
- </div>
1044
- </li>
1045
- <li class="d-flex mb-4 pb-1">
1046
- <div class="avatar flex-shrink-0 me-3">
1047
- <img src="../assets/img/icons/unicons/chart.png" alt="User" class="rounded" />
1048
- </div>
1049
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1050
- <div class="me-2">
1051
- <small class="text-muted d-block mb-1">Transfer</small>
1052
- <h6 class="mb-0">Refund</h6>
1053
- </div>
1054
- <div class="user-progress d-flex align-items-center gap-1">
1055
- <h6 class="mb-0">+637.91</h6>
1056
- <span class="text-muted">USD</span>
1057
- </div>
1058
- </div>
1059
- </li>
1060
- <li class="d-flex mb-4 pb-1">
1061
- <div class="avatar flex-shrink-0 me-3">
1062
- <img src="../assets/img/icons/unicons/cc-success.png" alt="User" class="rounded" />
1063
- </div>
1064
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1065
- <div class="me-2">
1066
- <small class="text-muted d-block mb-1">Credit Card</small>
1067
- <h6 class="mb-0">Ordered Food</h6>
1068
- </div>
1069
- <div class="user-progress d-flex align-items-center gap-1">
1070
- <h6 class="mb-0">-838.71</h6>
1071
- <span class="text-muted">USD</span>
1072
- </div>
1073
- </div>
1074
- </li>
1075
- <li class="d-flex mb-4 pb-1">
1076
- <div class="avatar flex-shrink-0 me-3">
1077
- <img src="../assets/img/icons/unicons/wallet.png" alt="User" class="rounded" />
1078
- </div>
1079
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1080
- <div class="me-2">
1081
- <small class="text-muted d-block mb-1">Wallet</small>
1082
- <h6 class="mb-0">Starbucks</h6>
1083
- </div>
1084
- <div class="user-progress d-flex align-items-center gap-1">
1085
- <h6 class="mb-0">+203.33</h6>
1086
- <span class="text-muted">USD</span>
1087
- </div>
1088
- </div>
1089
- </li>
1090
- <li class="d-flex">
1091
- <div class="avatar flex-shrink-0 me-3">
1092
- <img src="../assets/img/icons/unicons/cc-warning.png" alt="User" class="rounded" />
1093
- </div>
1094
- <div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
1095
- <div class="me-2">
1096
- <small class="text-muted d-block mb-1">Mastercard</small>
1097
- <h6 class="mb-0">Ordered Food</h6>
1098
- </div>
1099
- <div class="user-progress d-flex align-items-center gap-1">
1100
- <h6 class="mb-0">-92.45</h6>
1101
- <span class="text-muted">USD</span>
1102
- </div>
1103
- </div>
1104
- </li>
1105
- </ul>
1106
- </div>
1107
- </div>
1108
- </div>
1109
- <!--/ Transactions -->
1110
- </div>
1111
- </div>
1112
- <!-- / Content -->
1113
-
1114
- <!-- Footer -->
1115
- <footer class="content-footer footer bg-footer-theme">
1116
- <div class="container-xxl d-flex flex-wrap justify-content-between py-2 flex-md-row flex-column">
1117
- <div class="mb-2 mb-md-0">
1118
- ©
1119
- <script>
1120
- document.write(new Date().getFullYear());
1121
- </script>
1122
- , made with ❤️ by
1123
- <a href="https://themeselection.com" target="_blank" class="footer-link fw-bolder">ThemeSelection</a>
1124
- </div>
1125
- <div>
1126
- <a href="https://themeselection.com/license/" class="footer-link me-4" target="_blank">License</a>
1127
- <a href="https://themeselection.com/" target="_blank" class="footer-link me-4">More Themes</a>
1128
-
1129
- <a
1130
- href="https://themeselection.com/demo/sneat-bootstrap-html-admin-template/documentation/"
1131
- target="_blank"
1132
- class="footer-link me-4"
1133
- >Documentation</a
1134
- >
1135
-
1136
- <a
1137
- href="https://github.com/themeselection/sneat-html-admin-template-free/issues"
1138
- target="_blank"
1139
- class="footer-link me-4"
1140
- >Support</a
1141
- >
1142
- </div>
1143
- </div>
1144
- </footer>
1145
- <!-- / Footer -->
1146
-
1147
- <div class="content-backdrop fade"></div>
1148
- </div>
1149
- <!-- Content wrapper -->
1150
- </div>
1151
- <!-- / Layout page -->
1152
- </div>
1153
-
1154
- <!-- Overlay -->
1155
- <div class="layout-overlay layout-menu-toggle"></div>
1156
- </div>
1157
- <!-- / Layout wrapper -->
1158
-
1159
- <div class="buy-now">
1160
- <a
1161
- href="https://themeselection.com/products/sneat-bootstrap-html-admin-template/"
1162
- target="_blank"
1163
- class="btn btn-danger btn-buy-now"
1164
- >Upgrade to Pro</a
1165
- >
1166
- </div>
1167
-
1168
- <!-- Core JS -->
1169
- <!-- build:js assets/vendor/js/core.js -->
1170
- <script src="../assets/vendor/libs/jquery/jquery.js"></script>
1171
- <script src="../assets/vendor/libs/popper/popper.js"></script>
1172
- <script src="../assets/vendor/js/bootstrap.js"></script>
1173
- <script src="../assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script>
1174
-
1175
- <script src="../assets/vendor/js/menu.js"></script>
1176
- <!-- endbuild -->
1177
-
1178
- <!-- Vendors JS -->
1179
- <script src="../assets/vendor/libs/apex-charts/apexcharts.js"></script>
1180
-
1181
- <!-- Main JS -->
1182
- <script src="../assets/js/main.js"></script>
1183
-
1184
- <!-- Page JS -->
1185
- <script src="../assets/js/dashboards-analytics.js"></script>
1186
-
1187
- <!-- Place this tag in your head or just before your close body tag. -->
1188
- <script async defer src="https://buttons.github.io/buttons.js"></script>
1189
- </body>
1190
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/bootstrap.js DELETED
@@ -1,29 +0,0 @@
1
- import * as bootstrap from 'bootstrap'
2
-
3
- // Extend Tooltip to add color options
4
- bootstrap.Tooltip.prototype.show = (original => {
5
- return function addTooltipColor() {
6
- if (this._config.toggle === 'tooltip') {
7
- if (this._element.getAttribute('data-color')) {
8
- const str = `tooltip-${this._element.getAttribute('data-color')}`
9
- this.getTipElement().classList.add(str)
10
- }
11
- }
12
- original.apply(this)
13
- }
14
- })(bootstrap.Tooltip.prototype.show)
15
-
16
- // Extend Popover to add color options
17
- bootstrap.Popover.prototype.show = (original => {
18
- return function addPopoverColor() {
19
- if (this._config.toggle === 'popover') {
20
- if (this._element.getAttribute('data-color')) {
21
- const str = `popover-${this._element.getAttribute('data-color')}`
22
- this.getTipElement().classList.add(str)
23
- }
24
- }
25
- original.apply(this)
26
- }
27
- })(bootstrap.Popover.prototype.show)
28
-
29
- export { bootstrap }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/helpers.js DELETED
@@ -1,850 +0,0 @@
1
- // Constants
2
- const TRANS_EVENTS = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd']
3
- const TRANS_PROPERTIES = ['transition', 'MozTransition', 'webkitTransition', 'WebkitTransition', 'OTransition']
4
- const INLINE_STYLES = `
5
- .layout-menu-fixed .layout-navbar-full .layout-menu,
6
- .layout-page {
7
- padding-top: {navbarHeight}px !important;
8
- }
9
- .content-wrapper {
10
- padding-bottom: {footerHeight}px !important;
11
- }`
12
-
13
- // Guard
14
- function requiredParam(name) {
15
- throw new Error(`Parameter required${name ? `: \`${name}\`` : ''}`)
16
- }
17
-
18
- const Helpers = {
19
- // Root Element
20
- ROOT_EL: typeof window !== 'undefined' ? document.documentElement : null,
21
-
22
- // Large screens breakpoint
23
- LAYOUT_BREAKPOINT: 1200,
24
-
25
- // Resize delay in milliseconds
26
- RESIZE_DELAY: 200,
27
-
28
- menuPsScroll: null,
29
-
30
- mainMenu: null,
31
-
32
- // Internal variables
33
- _curStyle: null,
34
- _styleEl: null,
35
- _resizeTimeout: null,
36
- _resizeCallback: null,
37
- _transitionCallback: null,
38
- _transitionCallbackTimeout: null,
39
- _listeners: [],
40
- _initialized: false,
41
- _autoUpdate: false,
42
- _lastWindowHeight: 0,
43
-
44
- // *******************************************************************************
45
- // * Utilities
46
-
47
- // ---
48
- // Scroll To Active Menu Item
49
- _scrollToActive(animate = false, duration = 500) {
50
- const layoutMenu = this.getLayoutMenu()
51
-
52
- if (!layoutMenu) return
53
-
54
- let activeEl = layoutMenu.querySelector('li.menu-item.active:not(.open)')
55
-
56
- if (activeEl) {
57
- // t = current time
58
- // b = start value
59
- // c = change in value
60
- // d = duration
61
- const easeInOutQuad = (t, b, c, d) => {
62
- t /= d / 2
63
- if (t < 1) return (c / 2) * t * t + b
64
- t -= 1
65
- return (-c / 2) * (t * (t - 2) - 1) + b
66
- }
67
-
68
- const element = this.getLayoutMenu().querySelector('.menu-inner')
69
-
70
- if (typeof activeEl === 'string') {
71
- activeEl = document.querySelector(activeEl)
72
- }
73
- if (typeof activeEl !== 'number') {
74
- activeEl = activeEl.getBoundingClientRect().top + element.scrollTop
75
- }
76
-
77
- // If active element's top position is less than 2/3 (66%) of menu height than do not scroll
78
- if (activeEl < parseInt((element.clientHeight * 2) / 3, 10)) return
79
-
80
- const start = element.scrollTop
81
- const change = activeEl - start - parseInt(element.clientHeight / 2, 10)
82
- const startDate = +new Date()
83
-
84
- if (animate === true) {
85
- const animateScroll = () => {
86
- const currentDate = +new Date()
87
- const currentTime = currentDate - startDate
88
- const val = easeInOutQuad(currentTime, start, change, duration)
89
- element.scrollTop = val
90
- if (currentTime < duration) {
91
- requestAnimationFrame(animateScroll)
92
- } else {
93
- element.scrollTop = change
94
- }
95
- }
96
- animateScroll()
97
- } else {
98
- element.scrollTop = change
99
- }
100
- }
101
- },
102
-
103
- // ---
104
- // Add classes
105
- _addClass(cls, el = this.ROOT_EL) {
106
- if (el.length !== undefined) {
107
- // Add classes to multiple elements
108
- el.forEach(e => {
109
- cls.split(' ').forEach(c => e.classList.add(c))
110
- })
111
- } else {
112
- // Add classes to single element
113
- cls.split(' ').forEach(c => el.classList.add(c))
114
- }
115
- },
116
-
117
- // ---
118
- // Remove classes
119
- _removeClass(cls, el = this.ROOT_EL) {
120
- if (el.length !== undefined) {
121
- // Remove classes to multiple elements
122
- el.forEach(e => {
123
- cls.split(' ').forEach(c => e.classList.remove(c))
124
- })
125
- } else {
126
- // Remove classes to single element
127
- cls.split(' ').forEach(c => el.classList.remove(c))
128
- }
129
- },
130
-
131
- // Toggle classes
132
- _toggleClass(el = this.ROOT_EL, cls1, cls2) {
133
- if (el.classList.contains(cls1)) {
134
- el.classList.replace(cls1, cls2)
135
- } else {
136
- el.classList.replace(cls2, cls1)
137
- }
138
- },
139
-
140
- // ---
141
- // Has class
142
- _hasClass(cls, el = this.ROOT_EL) {
143
- let result = false
144
-
145
- cls.split(' ').forEach(c => {
146
- if (el.classList.contains(c)) result = true
147
- })
148
-
149
- return result
150
- },
151
-
152
- _findParent(el, cls) {
153
- if ((el && el.tagName.toUpperCase() === 'BODY') || el.tagName.toUpperCase() === 'HTML') return null
154
- el = el.parentNode
155
- while (el && el.tagName.toUpperCase() !== 'BODY' && !el.classList.contains(cls)) {
156
- el = el.parentNode
157
- }
158
- el = el && el.tagName.toUpperCase() !== 'BODY' ? el : null
159
- return el
160
- },
161
-
162
- // ---
163
- // Trigger window event
164
- _triggerWindowEvent(name) {
165
- if (typeof window === 'undefined') return
166
-
167
- if (document.createEvent) {
168
- let event
169
-
170
- if (typeof Event === 'function') {
171
- event = new Event(name)
172
- } else {
173
- event = document.createEvent('Event')
174
- event.initEvent(name, false, true)
175
- }
176
-
177
- window.dispatchEvent(event)
178
- } else {
179
- window.fireEvent(`on${name}`, document.createEventObject())
180
- }
181
- },
182
-
183
- // ---
184
- // Trigger event
185
- _triggerEvent(name) {
186
- this._triggerWindowEvent(`layout${name}`)
187
-
188
- this._listeners.filter(listener => listener.event === name).forEach(listener => listener.callback.call(null))
189
- },
190
-
191
- // ---
192
- // Update style
193
- _updateInlineStyle(navbarHeight = 0, footerHeight = 0) {
194
- if (!this._styleEl) {
195
- this._styleEl = document.createElement('style')
196
- this._styleEl.type = 'text/css'
197
- document.head.appendChild(this._styleEl)
198
- }
199
-
200
- const newStyle = INLINE_STYLES.replace(/\{navbarHeight\}/gi, navbarHeight).replace(
201
- /\{footerHeight\}/gi,
202
- footerHeight
203
- )
204
-
205
- if (this._curStyle !== newStyle) {
206
- this._curStyle = newStyle
207
- this._styleEl.textContent = newStyle
208
- }
209
- },
210
-
211
- // ---
212
- // Remove style
213
- _removeInlineStyle() {
214
- if (this._styleEl) document.head.removeChild(this._styleEl)
215
- this._styleEl = null
216
- this._curStyle = null
217
- },
218
-
219
- // ---
220
- // Redraw layout menu (Safari bugfix)
221
- _redrawLayoutMenu() {
222
- const layoutMenu = this.getLayoutMenu()
223
-
224
- if (layoutMenu && layoutMenu.querySelector('.menu')) {
225
- const inner = layoutMenu.querySelector('.menu-inner')
226
- const { scrollTop } = inner
227
- const pageScrollTop = document.documentElement.scrollTop
228
-
229
- layoutMenu.style.display = 'none'
230
- // layoutMenu.offsetHeight
231
- layoutMenu.style.display = ''
232
- inner.scrollTop = scrollTop
233
- document.documentElement.scrollTop = pageScrollTop
234
-
235
- return true
236
- }
237
-
238
- return false
239
- },
240
-
241
- // ---
242
- // Check for transition support
243
- _supportsTransitionEnd() {
244
- if (window.QUnit) return false
245
-
246
- const el = document.body || document.documentElement
247
-
248
- if (!el) return false
249
-
250
- let result = false
251
- TRANS_PROPERTIES.forEach(evnt => {
252
- if (typeof el.style[evnt] !== 'undefined') result = true
253
- })
254
-
255
- return result
256
- },
257
-
258
- // ---
259
- // Calculate current navbar height
260
- _getNavbarHeight() {
261
- const layoutNavbar = this.getLayoutNavbar()
262
-
263
- if (!layoutNavbar) return 0
264
- if (!this.isSmallScreen()) return layoutNavbar.getBoundingClientRect().height
265
-
266
- // Needs some logic to get navbar height on small screens
267
-
268
- const clonedEl = layoutNavbar.cloneNode(true)
269
- clonedEl.id = null
270
- clonedEl.style.visibility = 'hidden'
271
- clonedEl.style.position = 'absolute'
272
-
273
- Array.prototype.slice.call(clonedEl.querySelectorAll('.collapse.show')).forEach(el => this._removeClass('show', el))
274
-
275
- layoutNavbar.parentNode.insertBefore(clonedEl, layoutNavbar)
276
-
277
- const navbarHeight = clonedEl.getBoundingClientRect().height
278
-
279
- clonedEl.parentNode.removeChild(clonedEl)
280
-
281
- return navbarHeight
282
- },
283
-
284
- // ---
285
- // Get current footer height
286
- _getFooterHeight() {
287
- const layoutFooter = this.getLayoutFooter()
288
-
289
- if (!layoutFooter) return 0
290
-
291
- return layoutFooter.getBoundingClientRect().height
292
- },
293
-
294
- // ---
295
- // Get animation duration of element
296
- _getAnimationDuration(el) {
297
- const duration = window.getComputedStyle(el).transitionDuration
298
-
299
- return parseFloat(duration) * (duration.indexOf('ms') !== -1 ? 1 : 1000)
300
- },
301
-
302
- // ---
303
- // Set menu hover state
304
- _setMenuHoverState(hovered) {
305
- this[hovered ? '_addClass' : '_removeClass']('layout-menu-hover')
306
- },
307
-
308
- // ---
309
- // Toggle collapsed
310
- _setCollapsed(collapsed) {
311
- if (this.isSmallScreen()) {
312
- if (collapsed) {
313
- this._removeClass('layout-menu-expanded')
314
- } else {
315
- setTimeout(
316
- () => {
317
- this._addClass('layout-menu-expanded')
318
- },
319
- this._redrawLayoutMenu() ? 5 : 0
320
- )
321
- }
322
- }
323
- },
324
-
325
- // ---
326
- // Add layout sivenav toggle animationEnd event
327
- _bindLayoutAnimationEndEvent(modifier, cb) {
328
- const menu = this.getMenu()
329
- const duration = menu ? this._getAnimationDuration(menu) + 50 : 0
330
-
331
- if (!duration) {
332
- modifier.call(this)
333
- cb.call(this)
334
- return
335
- }
336
-
337
- this._transitionCallback = e => {
338
- if (e.target !== menu) return
339
- this._unbindLayoutAnimationEndEvent()
340
- cb.call(this)
341
- }
342
-
343
- TRANS_EVENTS.forEach(e => {
344
- menu.addEventListener(e, this._transitionCallback, false)
345
- })
346
-
347
- modifier.call(this)
348
-
349
- this._transitionCallbackTimeout = setTimeout(() => {
350
- this._transitionCallback.call(this, { target: menu })
351
- }, duration)
352
- },
353
-
354
- // ---
355
- // Remove layout sivenav toggle animationEnd event
356
- _unbindLayoutAnimationEndEvent() {
357
- const menu = this.getMenu()
358
-
359
- if (this._transitionCallbackTimeout) {
360
- clearTimeout(this._transitionCallbackTimeout)
361
- this._transitionCallbackTimeout = null
362
- }
363
-
364
- if (menu && this._transitionCallback) {
365
- TRANS_EVENTS.forEach(e => {
366
- menu.removeEventListener(e, this._transitionCallback, false)
367
- })
368
- }
369
-
370
- if (this._transitionCallback) {
371
- this._transitionCallback = null
372
- }
373
- },
374
-
375
- // ---
376
- // Bind delayed window resize event
377
- _bindWindowResizeEvent() {
378
- this._unbindWindowResizeEvent()
379
-
380
- const cb = () => {
381
- if (this._resizeTimeout) {
382
- clearTimeout(this._resizeTimeout)
383
- this._resizeTimeout = null
384
- }
385
- this._triggerEvent('resize')
386
- }
387
-
388
- this._resizeCallback = () => {
389
- if (this._resizeTimeout) clearTimeout(this._resizeTimeout)
390
- this._resizeTimeout = setTimeout(cb, this.RESIZE_DELAY)
391
- }
392
-
393
- window.addEventListener('resize', this._resizeCallback, false)
394
- },
395
-
396
- // ---
397
- // Unbind delayed window resize event
398
- _unbindWindowResizeEvent() {
399
- if (this._resizeTimeout) {
400
- clearTimeout(this._resizeTimeout)
401
- this._resizeTimeout = null
402
- }
403
-
404
- if (this._resizeCallback) {
405
- window.removeEventListener('resize', this._resizeCallback, false)
406
- this._resizeCallback = null
407
- }
408
- },
409
-
410
- _bindMenuMouseEvents() {
411
- if (this._menuMouseEnter && this._menuMouseLeave && this._windowTouchStart) return
412
-
413
- const layoutMenu = this.getLayoutMenu()
414
- if (!layoutMenu) return this._unbindMenuMouseEvents()
415
-
416
- if (!this._menuMouseEnter) {
417
- this._menuMouseEnter = () => {
418
- if (this.isSmallScreen() || this._hasClass('layout-transitioning')) {
419
- return this._setMenuHoverState(false)
420
- }
421
-
422
- return this._setMenuHoverState(false)
423
- }
424
- layoutMenu.addEventListener('mouseenter', this._menuMouseEnter, false)
425
- layoutMenu.addEventListener('touchstart', this._menuMouseEnter, false)
426
- }
427
-
428
- if (!this._menuMouseLeave) {
429
- this._menuMouseLeave = () => {
430
- this._setMenuHoverState(false)
431
- }
432
- layoutMenu.addEventListener('mouseleave', this._menuMouseLeave, false)
433
- }
434
-
435
- if (!this._windowTouchStart) {
436
- this._windowTouchStart = e => {
437
- if (!e || !e.target || !this._findParent(e.target, '.layout-menu')) {
438
- this._setMenuHoverState(false)
439
- }
440
- }
441
- window.addEventListener('touchstart', this._windowTouchStart, true)
442
- }
443
- },
444
-
445
- _unbindMenuMouseEvents() {
446
- if (!this._menuMouseEnter && !this._menuMouseLeave && !this._windowTouchStart) return
447
-
448
- const layoutMenu = this.getLayoutMenu()
449
-
450
- if (this._menuMouseEnter) {
451
- if (layoutMenu) {
452
- layoutMenu.removeEventListener('mouseenter', this._menuMouseEnter, false)
453
- layoutMenu.removeEventListener('touchstart', this._menuMouseEnter, false)
454
- }
455
- this._menuMouseEnter = null
456
- }
457
-
458
- if (this._menuMouseLeave) {
459
- if (layoutMenu) {
460
- layoutMenu.removeEventListener('mouseleave', this._menuMouseLeave, false)
461
- }
462
- this._menuMouseLeave = null
463
- }
464
-
465
- if (this._windowTouchStart) {
466
- if (layoutMenu) {
467
- window.addEventListener('touchstart', this._windowTouchStart, true)
468
- }
469
- this._windowTouchStart = null
470
- }
471
-
472
- this._setMenuHoverState(false)
473
- },
474
-
475
- // *******************************************************************************
476
- // * Methods
477
-
478
- scrollToActive(animate = false) {
479
- this._scrollToActive(animate)
480
- },
481
-
482
- // ---
483
- // Collapse / expand layout
484
- setCollapsed(collapsed = requiredParam('collapsed'), animate = true) {
485
- const layoutMenu = this.getLayoutMenu()
486
-
487
- if (!layoutMenu) return
488
-
489
- this._unbindLayoutAnimationEndEvent()
490
-
491
- if (animate && this._supportsTransitionEnd()) {
492
- this._addClass('layout-transitioning')
493
- if (collapsed) this._setMenuHoverState(false)
494
-
495
- this._bindLayoutAnimationEndEvent(
496
- () => {
497
- // Collapse / Expand
498
- if (this.isSmallScreen) this._setCollapsed(collapsed)
499
- },
500
- () => {
501
- this._removeClass('layout-transitioning')
502
- this._triggerWindowEvent('resize')
503
- this._triggerEvent('toggle')
504
- this._setMenuHoverState(false)
505
- }
506
- )
507
- } else {
508
- this._addClass('layout-no-transition')
509
- if (collapsed) this._setMenuHoverState(false)
510
-
511
- // Collapse / Expand
512
- this._setCollapsed(collapsed)
513
-
514
- setTimeout(() => {
515
- this._removeClass('layout-no-transition')
516
- this._triggerWindowEvent('resize')
517
- this._triggerEvent('toggle')
518
- this._setMenuHoverState(false)
519
- }, 1)
520
- }
521
- },
522
-
523
- // ---
524
- // Toggle layout
525
- toggleCollapsed(animate = true) {
526
- this.setCollapsed(!this.isCollapsed(), animate)
527
- },
528
-
529
- // ---
530
- // Set layout positioning
531
- setPosition(fixed = requiredParam('fixed'), offcanvas = requiredParam('offcanvas')) {
532
- this._removeClass('layout-menu-offcanvas layout-menu-fixed layout-menu-fixed-offcanvas')
533
-
534
- if (!fixed && offcanvas) {
535
- this._addClass('layout-menu-offcanvas')
536
- } else if (fixed && !offcanvas) {
537
- this._addClass('layout-menu-fixed')
538
- this._redrawLayoutMenu()
539
- } else if (fixed && offcanvas) {
540
- this._addClass('layout-menu-fixed-offcanvas')
541
- this._redrawLayoutMenu()
542
- }
543
-
544
- this.update()
545
- },
546
-
547
- // *******************************************************************************
548
- // * Getters
549
-
550
- getLayoutMenu() {
551
- return document.querySelector('.layout-menu')
552
- },
553
-
554
- getMenu() {
555
- const layoutMenu = this.getLayoutMenu()
556
-
557
- if (!layoutMenu) return null
558
-
559
- return !this._hasClass('menu', layoutMenu) ? layoutMenu.querySelector('.menu') : layoutMenu
560
- },
561
-
562
- getLayoutNavbar() {
563
- return document.querySelector('.layout-navbar')
564
- },
565
-
566
- getLayoutFooter() {
567
- return document.querySelector('.content-footer')
568
- },
569
-
570
- // *******************************************************************************
571
- // * Update
572
-
573
- update() {
574
- if (
575
- (this.getLayoutNavbar() &&
576
- ((!this.isSmallScreen() && this.isLayoutNavbarFull() && this.isFixed()) || this.isNavbarFixed())) ||
577
- (this.getLayoutFooter() && this.isFooterFixed())
578
- ) {
579
- this._updateInlineStyle(this._getNavbarHeight(), this._getFooterHeight())
580
- }
581
-
582
- this._bindMenuMouseEvents()
583
- },
584
-
585
- setAutoUpdate(enable = requiredParam('enable')) {
586
- if (enable && !this._autoUpdate) {
587
- this.on('resize.Helpers:autoUpdate', () => this.update())
588
- this._autoUpdate = true
589
- } else if (!enable && this._autoUpdate) {
590
- this.off('resize.Helpers:autoUpdate')
591
- this._autoUpdate = false
592
- }
593
- },
594
-
595
- // *******************************************************************************
596
- // * Tests
597
-
598
- isRtl() {
599
- return (
600
- document.querySelector('body').getAttribute('dir') === 'rtl' ||
601
- document.querySelector('html').getAttribute('dir') === 'rtl'
602
- )
603
- },
604
-
605
- isMobileDevice() {
606
- return typeof window.orientation !== 'undefined' || navigator.userAgent.indexOf('IEMobile') !== -1
607
- },
608
-
609
- isSmallScreen() {
610
- return (
611
- (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) < this.LAYOUT_BREAKPOINT
612
- )
613
- },
614
-
615
- isLayoutNavbarFull() {
616
- return !!document.querySelector('.layout-wrapper.layout-navbar-full')
617
- },
618
-
619
- isCollapsed() {
620
- if (this.isSmallScreen()) {
621
- return !this._hasClass('layout-menu-expanded')
622
- }
623
- return this._hasClass('layout-menu-collapsed')
624
- },
625
-
626
- isFixed() {
627
- return this._hasClass('layout-menu-fixed layout-menu-fixed-offcanvas')
628
- },
629
-
630
- isNavbarFixed() {
631
- return (
632
- this._hasClass('layout-navbar-fixed') || (!this.isSmallScreen() && this.isFixed() && this.isLayoutNavbarFull())
633
- )
634
- },
635
-
636
- isFooterFixed() {
637
- return this._hasClass('layout-footer-fixed')
638
- },
639
-
640
- isLightStyle() {
641
- return document.documentElement.classList.contains('light-style')
642
- },
643
-
644
- // *******************************************************************************
645
- // * Events
646
-
647
- on(event = requiredParam('event'), callback = requiredParam('callback')) {
648
- const [_event] = event.split('.')
649
- let [, ...namespace] = event.split('.')
650
- // let [_event, ...namespace] = event.split('.')
651
- namespace = namespace.join('.') || null
652
-
653
- this._listeners.push({ event: _event, namespace, callback })
654
- },
655
-
656
- off(event = requiredParam('event')) {
657
- const [_event] = event.split('.')
658
- let [, ...namespace] = event.split('.')
659
- namespace = namespace.join('.') || null
660
-
661
- this._listeners
662
- .filter(listener => listener.event === _event && listener.namespace === namespace)
663
- .forEach(listener => this._listeners.splice(this._listeners.indexOf(listener), 1))
664
- },
665
-
666
- // *******************************************************************************
667
- // * Life cycle
668
-
669
- init() {
670
- if (this._initialized) return
671
- this._initialized = true
672
-
673
- // Initialize `style` element
674
- this._updateInlineStyle(0)
675
-
676
- // Bind window resize event
677
- this._bindWindowResizeEvent()
678
-
679
- // Bind init event
680
- this.off('init._Helpers')
681
- this.on('init._Helpers', () => {
682
- this.off('resize._Helpers:redrawMenu')
683
- this.on('resize._Helpers:redrawMenu', () => {
684
- // eslint-disable-next-line no-unused-expressions
685
- this.isSmallScreen() && !this.isCollapsed() && this._redrawLayoutMenu()
686
- })
687
-
688
- // Force repaint in IE 10
689
- if (typeof document.documentMode === 'number' && document.documentMode < 11) {
690
- this.off('resize._Helpers:ie10RepaintBody')
691
- this.on('resize._Helpers:ie10RepaintBody', () => {
692
- if (this.isFixed()) return
693
- const { scrollTop } = document.documentElement
694
- document.body.style.display = 'none'
695
- // document.body.offsetHeight
696
- document.body.style.display = 'block'
697
- document.documentElement.scrollTop = scrollTop
698
- })
699
- }
700
- })
701
-
702
- this._triggerEvent('init')
703
- },
704
-
705
- destroy() {
706
- if (!this._initialized) return
707
- this._initialized = false
708
-
709
- this._removeClass('layout-transitioning')
710
- this._removeInlineStyle()
711
- this._unbindLayoutAnimationEndEvent()
712
- this._unbindWindowResizeEvent()
713
- this._unbindMenuMouseEvents()
714
- this.setAutoUpdate(false)
715
-
716
- this.off('init._Helpers')
717
-
718
- // Remove all listeners except `init`
719
- this._listeners
720
- .filter(listener => listener.event !== 'init')
721
- .forEach(listener => this._listeners.splice(this._listeners.indexOf(listener), 1))
722
- },
723
-
724
- // ---
725
- // Init Password Toggle
726
- initPasswordToggle() {
727
- const toggler = document.querySelectorAll('.form-password-toggle i')
728
- if (typeof toggler !== 'undefined' && toggler !== null) {
729
- toggler.forEach(el => {
730
- el.addEventListener('click', e => {
731
- e.preventDefault()
732
- const formPasswordToggle = el.closest('.form-password-toggle')
733
- const formPasswordToggleIcon = formPasswordToggle.querySelector('i')
734
- const formPasswordToggleInput = formPasswordToggle.querySelector('input')
735
-
736
- if (formPasswordToggleInput.getAttribute('type') === 'text') {
737
- formPasswordToggleInput.setAttribute('type', 'password')
738
- formPasswordToggleIcon.classList.replace('bx-show', 'bx-hide')
739
- } else if (formPasswordToggleInput.getAttribute('type') === 'password') {
740
- formPasswordToggleInput.setAttribute('type', 'text')
741
- formPasswordToggleIcon.classList.replace('bx-hide', 'bx-show')
742
- }
743
- })
744
- })
745
- }
746
- },
747
-
748
- // ---
749
- // Init Speech To Text
750
- initSpeechToText() {
751
- const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition
752
- const speechToText = document.querySelectorAll('.speech-to-text')
753
- if (SpeechRecognition !== undefined && SpeechRecognition !== null) {
754
- if (typeof speechToText !== 'undefined' && speechToText !== null) {
755
- const recognition = new SpeechRecognition()
756
- const toggler = document.querySelectorAll('.speech-to-text i')
757
- toggler.forEach(el => {
758
- let listening = false
759
- el.addEventListener('click', () => {
760
- el.closest('.input-group').querySelector('.form-control').focus()
761
- recognition.onspeechstart = () => {
762
- listening = true
763
- }
764
- if (listening === false) {
765
- recognition.start()
766
- }
767
- recognition.onerror = () => {
768
- listening = false
769
- }
770
- recognition.onresult = event => {
771
- el.closest('.input-group').querySelector('.form-control').value = event.results[0][0].transcript
772
- }
773
- recognition.onspeechend = () => {
774
- listening = false
775
- recognition.stop()
776
- }
777
- })
778
- })
779
- }
780
- }
781
- },
782
-
783
- // Ajax Call Promise
784
- ajaxCall(url) {
785
- return new Promise((resolve, reject) => {
786
- const req = new XMLHttpRequest()
787
- req.open('GET', url)
788
- req.onload = () => (req.status === 200 ? resolve(req.response) : reject(Error(req.statusText)))
789
- req.onerror = e => reject(Error(`Network Error: ${e}`))
790
- req.send()
791
- })
792
- },
793
-
794
- // ---
795
- // SidebarToggle (Used in Apps)
796
- initSidebarToggle() {
797
- const sidebarToggler = document.querySelectorAll('[data-bs-toggle="sidebar"]')
798
-
799
- sidebarToggler.forEach(el => {
800
- el.addEventListener('click', () => {
801
- const target = el.getAttribute('data-target')
802
- const overlay = el.getAttribute('data-overlay')
803
- const appOverlay = document.querySelectorAll('.app-overlay')
804
- const targetEl = document.querySelectorAll(target)
805
-
806
- targetEl.forEach(tel => {
807
- tel.classList.toggle('show')
808
- if (
809
- typeof overlay !== 'undefined' &&
810
- overlay !== null &&
811
- overlay !== false &&
812
- typeof appOverlay !== 'undefined'
813
- ) {
814
- if (tel.classList.contains('show')) {
815
- appOverlay[0].classList.add('show')
816
- } else {
817
- appOverlay[0].classList.remove('show')
818
- }
819
- appOverlay[0].addEventListener('click', e => {
820
- e.currentTarget.classList.remove('show')
821
- tel.classList.remove('show')
822
- })
823
- }
824
- })
825
- })
826
- })
827
- }
828
- }
829
-
830
- // *******************************************************************************
831
- // * Initialization
832
-
833
- if (typeof window !== 'undefined') {
834
- Helpers.init()
835
-
836
- if (Helpers.isMobileDevice() && window.chrome) {
837
- document.documentElement.classList.add('layout-menu-100vh')
838
- }
839
-
840
- // Update layout after page load
841
- if (document.readyState === 'complete') Helpers.update()
842
- else
843
- document.addEventListener('DOMContentLoaded', function onContentLoaded() {
844
- Helpers.update()
845
- document.removeEventListener('DOMContentLoaded', onContentLoaded)
846
- })
847
- }
848
-
849
- // ---
850
- export { Helpers }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/menu.js DELETED
@@ -1,589 +0,0 @@
1
- const TRANSITION_EVENTS = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd']
2
- // const TRANSITION_PROPERTIES = ['transition', 'MozTransition', 'webkitTransition', 'WebkitTransition', 'OTransition']
3
-
4
- class Menu {
5
- constructor(el, config = {}, _PS = null) {
6
- this._el = el
7
- this._animate = config.animate !== false
8
- this._accordion = config.accordion !== false
9
- this._closeChildren = Boolean(config.closeChildren)
10
-
11
- this._onOpen = config.onOpen || (() => {})
12
- this._onOpened = config.onOpened || (() => {})
13
- this._onClose = config.onClose || (() => {})
14
- this._onClosed = config.onClosed || (() => {})
15
-
16
- this._psScroll = null
17
- this._topParent = null
18
- this._menuBgClass = null
19
-
20
- el.classList.add('menu')
21
- el.classList[this._animate ? 'remove' : 'add']('menu-no-animation') // check
22
-
23
- el.classList.add('menu-vertical')
24
-
25
- const PerfectScrollbarLib = _PS || window.PerfectScrollbar
26
-
27
- if (PerfectScrollbarLib) {
28
- this._scrollbar = new PerfectScrollbarLib(el.querySelector('.menu-inner'), {
29
- suppressScrollX: true,
30
- wheelPropagation: !Menu._hasClass('layout-menu-fixed layout-menu-fixed-offcanvas')
31
- })
32
-
33
- window.Helpers.menuPsScroll = this._scrollbar
34
- } else {
35
- el.querySelector('.menu-inner').classList.add('overflow-auto')
36
- }
37
-
38
- // Add data attribute for bg color class of menu
39
- const menuClassList = el.classList
40
-
41
- for (let i = 0; i < menuClassList.length; i++) {
42
- if (menuClassList[i].startsWith('bg-')) {
43
- this._menuBgClass = menuClassList[i]
44
- }
45
- }
46
- el.setAttribute('data-bg-class', this._menuBgClass)
47
-
48
- this._bindEvents()
49
-
50
- // Link menu instance to element
51
- el.menuInstance = this
52
- }
53
-
54
- _bindEvents() {
55
- // Click Event
56
- this._evntElClick = e => {
57
- // Find top parent element
58
- if (e.target.closest('ul') && e.target.closest('ul').classList.contains('menu-inner')) {
59
- const menuItem = Menu._findParent(e.target, 'menu-item', false)
60
-
61
- // eslint-disable-next-line prefer-destructuring
62
- if (menuItem) this._topParent = menuItem.childNodes[0]
63
- }
64
-
65
- const toggleLink = e.target.classList.contains('menu-toggle')
66
- ? e.target
67
- : Menu._findParent(e.target, 'menu-toggle', false)
68
-
69
- if (toggleLink) {
70
- e.preventDefault()
71
-
72
- if (toggleLink.getAttribute('data-hover') !== 'true') {
73
- this.toggle(toggleLink)
74
- }
75
- }
76
- }
77
- if (window.Helpers.isMobileDevice) this._el.addEventListener('click', this._evntElClick)
78
-
79
- this._evntWindowResize = () => {
80
- this.update()
81
- if (this._lastWidth !== window.innerWidth) {
82
- this._lastWidth = window.innerWidth
83
- this.update()
84
- }
85
-
86
- const horizontalMenuTemplate = document.querySelector("[data-template^='horizontal-menu']")
87
- if (!this._horizontal && !horizontalMenuTemplate) this.manageScroll()
88
- }
89
- window.addEventListener('resize', this._evntWindowResize)
90
- }
91
-
92
- static childOf(/* child node */ c, /* parent node */ p) {
93
- // returns boolean
94
- if (c.parentNode) {
95
- while ((c = c.parentNode) && c !== p);
96
- return !!c
97
- }
98
- return false
99
- }
100
-
101
- _unbindEvents() {
102
- if (this._evntElClick) {
103
- this._el.removeEventListener('click', this._evntElClick)
104
- this._evntElClick = null
105
- }
106
-
107
- if (this._evntElMouseOver) {
108
- this._el.removeEventListener('mouseover', this._evntElMouseOver)
109
- this._evntElMouseOver = null
110
- }
111
-
112
- if (this._evntElMouseOut) {
113
- this._el.removeEventListener('mouseout', this._evntElMouseOut)
114
- this._evntElMouseOut = null
115
- }
116
-
117
- if (this._evntWindowResize) {
118
- window.removeEventListener('resize', this._evntWindowResize)
119
- this._evntWindowResize = null
120
- }
121
-
122
- if (this._evntBodyClick) {
123
- document.body.removeEventListener('click', this._evntBodyClick)
124
- this._evntBodyClick = null
125
- }
126
-
127
- if (this._evntInnerMousemove) {
128
- this._inner.removeEventListener('mousemove', this._evntInnerMousemove)
129
- this._evntInnerMousemove = null
130
- }
131
-
132
- if (this._evntInnerMouseleave) {
133
- this._inner.removeEventListener('mouseleave', this._evntInnerMouseleave)
134
- this._evntInnerMouseleave = null
135
- }
136
- }
137
-
138
- static _isRoot(item) {
139
- return !Menu._findParent(item, 'menu-item', false)
140
- }
141
-
142
- static _findParent(el, cls, throwError = true) {
143
- if (el.tagName.toUpperCase() === 'BODY') return null
144
- el = el.parentNode
145
- while (el.tagName.toUpperCase() !== 'BODY' && !el.classList.contains(cls)) {
146
- el = el.parentNode
147
- }
148
-
149
- el = el.tagName.toUpperCase() !== 'BODY' ? el : null
150
-
151
- if (!el && throwError) throw new Error(`Cannot find \`.${cls}\` parent element`)
152
-
153
- return el
154
- }
155
-
156
- static _findChild(el, cls) {
157
- const items = el.childNodes
158
- const found = []
159
-
160
- for (let i = 0, l = items.length; i < l; i++) {
161
- if (items[i].classList) {
162
- let passed = 0
163
-
164
- for (let j = 0; j < cls.length; j++) {
165
- if (items[i].classList.contains(cls[j])) passed += 1
166
- }
167
-
168
- if (cls.length === passed) found.push(items[i])
169
- }
170
- }
171
-
172
- return found
173
- }
174
-
175
- static _findMenu(item) {
176
- let curEl = item.childNodes[0]
177
- let menu = null
178
-
179
- while (curEl && !menu) {
180
- if (curEl.classList && curEl.classList.contains('menu-sub')) menu = curEl
181
- curEl = curEl.nextSibling
182
- }
183
-
184
- if (!menu) throw new Error('Cannot find `.menu-sub` element for the current `.menu-toggle`')
185
-
186
- return menu
187
- }
188
-
189
- // Has class
190
- static _hasClass(cls, el = window.Helpers.ROOT_EL) {
191
- let result = false
192
-
193
- cls.split(' ').forEach(c => {
194
- if (el.classList.contains(c)) result = true
195
- })
196
-
197
- return result
198
- }
199
-
200
- open(el, closeChildren = this._closeChildren) {
201
- const item = this._findUnopenedParent(Menu._getItem(el, true), closeChildren)
202
-
203
- if (!item) return
204
-
205
- const toggleLink = Menu._getLink(item, true)
206
-
207
- Menu._promisify(this._onOpen, this, item, toggleLink, Menu._findMenu(item))
208
- .then(() => {
209
- if (!this._horizontal || !Menu._isRoot(item)) {
210
- if (this._animate && !this._horizontal) {
211
- window.requestAnimationFrame(() => this._toggleAnimation(true, item, false))
212
- if (this._accordion) this._closeOther(item, closeChildren)
213
- } else if (this._animate) {
214
- // eslint-disable-next-line no-unused-expressions
215
- this._onOpened && this._onOpened(this, item, toggleLink, Menu._findMenu(item))
216
- } else {
217
- item.classList.add('open')
218
- // eslint-disable-next-line no-unused-expressions
219
- this._onOpened && this._onOpened(this, item, toggleLink, Menu._findMenu(item))
220
- if (this._accordion) this._closeOther(item, closeChildren)
221
- }
222
- } else {
223
- // eslint-disable-next-line no-unused-expressions
224
- this._onOpened && this._onOpened(this, item, toggleLink, Menu._findMenu(item))
225
- }
226
- })
227
- .catch(() => {})
228
- }
229
-
230
- close(el, closeChildren = this._closeChildren, _autoClose = false) {
231
- const item = Menu._getItem(el, true)
232
- const toggleLink = Menu._getLink(el, true)
233
-
234
- if (!item.classList.contains('open') || item.classList.contains('disabled')) return
235
-
236
- Menu._promisify(this._onClose, this, item, toggleLink, Menu._findMenu(item), _autoClose)
237
- .then(() => {
238
- if (!this._horizontal || !Menu._isRoot(item)) {
239
- if (this._animate && !this._horizontal) {
240
- window.requestAnimationFrame(() => this._toggleAnimation(false, item, closeChildren))
241
- } else {
242
- item.classList.remove('open')
243
-
244
- if (closeChildren) {
245
- const opened = item.querySelectorAll('.menu-item.open')
246
- for (let i = 0, l = opened.length; i < l; i++) opened[i].classList.remove('open')
247
- }
248
-
249
- // eslint-disable-next-line no-unused-expressions
250
- this._onClosed && this._onClosed(this, item, toggleLink, Menu._findMenu(item))
251
- }
252
- } else {
253
- // eslint-disable-next-line no-unused-expressions
254
- this._onClosed && this._onClosed(this, item, toggleLink, Menu._findMenu(item))
255
- }
256
- })
257
- .catch(() => {})
258
- }
259
-
260
- _closeOther(item, closeChildren) {
261
- const opened = Menu._findChild(item.parentNode, ['menu-item', 'open'])
262
-
263
- for (let i = 0, l = opened.length; i < l; i++) {
264
- if (opened[i] !== item) this.close(opened[i], closeChildren)
265
- }
266
- }
267
-
268
- toggle(el, closeChildren = this._closeChildren) {
269
- const item = Menu._getItem(el, true)
270
- // const toggleLink = Menu._getLink(el, true)
271
-
272
- if (item.classList.contains('open')) this.close(item, closeChildren)
273
- else this.open(item, closeChildren)
274
- }
275
-
276
- static _getItem(el, toggle) {
277
- let item = null
278
- const selector = toggle ? 'menu-toggle' : 'menu-link'
279
-
280
- if (el.classList.contains('menu-item')) {
281
- if (Menu._findChild(el, [selector]).length) item = el
282
- } else if (el.classList.contains(selector)) {
283
- item = el.parentNode.classList.contains('menu-item') ? el.parentNode : null
284
- }
285
-
286
- if (!item) {
287
- throw new Error(`${toggle ? 'Toggable ' : ''}\`.menu-item\` element not found.`)
288
- }
289
-
290
- return item
291
- }
292
-
293
- static _getLink(el, toggle) {
294
- let found = []
295
- const selector = toggle ? 'menu-toggle' : 'menu-link'
296
-
297
- if (el.classList.contains(selector)) found = [el]
298
- else if (el.classList.contains('menu-item')) found = Menu._findChild(el, [selector])
299
-
300
- if (!found.length) throw new Error(`\`${selector}\` element not found.`)
301
-
302
- return found[0]
303
- }
304
-
305
- _findUnopenedParent(item, closeChildren) {
306
- let tree = []
307
- let parentItem = null
308
-
309
- while (item) {
310
- if (item.classList.contains('disabled')) {
311
- parentItem = null
312
- tree = []
313
- } else {
314
- if (!item.classList.contains('open')) parentItem = item
315
- tree.push(item)
316
- }
317
-
318
- item = Menu._findParent(item, 'menu-item', false)
319
- }
320
-
321
- if (!parentItem) return null
322
- if (tree.length === 1) return parentItem
323
-
324
- tree = tree.slice(0, tree.indexOf(parentItem))
325
-
326
- for (let i = 0, l = tree.length; i < l; i++) {
327
- tree[i].classList.add('open')
328
-
329
- if (this._accordion) {
330
- const openedItems = Menu._findChild(tree[i].parentNode, ['menu-item', 'open'])
331
-
332
- for (let j = 0, k = openedItems.length; j < k; j++) {
333
- if (openedItems[j] !== tree[i]) {
334
- openedItems[j].classList.remove('open')
335
-
336
- if (closeChildren) {
337
- const openedChildren = openedItems[j].querySelectorAll('.menu-item.open')
338
- for (let x = 0, z = openedChildren.length; x < z; x++) {
339
- openedChildren[x].classList.remove('open')
340
- }
341
- }
342
- }
343
- }
344
- }
345
- }
346
-
347
- return parentItem
348
- }
349
-
350
- _toggleAnimation(open, item, closeChildren) {
351
- const toggleLink = Menu._getLink(item, true)
352
- const menu = Menu._findMenu(item)
353
-
354
- Menu._unbindAnimationEndEvent(item)
355
-
356
- const linkHeight = Math.round(toggleLink.getBoundingClientRect().height)
357
-
358
- item.style.overflow = 'hidden'
359
-
360
- const clearItemStyle = () => {
361
- item.classList.remove('menu-item-animating')
362
- item.classList.remove('menu-item-closing')
363
- item.style.overflow = null
364
- item.style.height = null
365
-
366
- this.update()
367
- }
368
-
369
- if (open) {
370
- item.style.height = `${linkHeight}px`
371
- item.classList.add('menu-item-animating')
372
- item.classList.add('open')
373
-
374
- Menu._bindAnimationEndEvent(item, () => {
375
- clearItemStyle()
376
- this._onOpened(this, item, toggleLink, menu)
377
- })
378
-
379
- setTimeout(() => {
380
- item.style.height = `${linkHeight + Math.round(menu.getBoundingClientRect().height)}px`
381
- }, 50)
382
- } else {
383
- item.style.height = `${linkHeight + Math.round(menu.getBoundingClientRect().height)}px`
384
- item.classList.add('menu-item-animating')
385
- item.classList.add('menu-item-closing')
386
-
387
- Menu._bindAnimationEndEvent(item, () => {
388
- item.classList.remove('open')
389
- clearItemStyle()
390
-
391
- if (closeChildren) {
392
- const opened = item.querySelectorAll('.menu-item.open')
393
- for (let i = 0, l = opened.length; i < l; i++) opened[i].classList.remove('open')
394
- }
395
-
396
- this._onClosed(this, item, toggleLink, menu)
397
- })
398
-
399
- setTimeout(() => {
400
- item.style.height = `${linkHeight}px`
401
- }, 50)
402
- }
403
- }
404
-
405
- static _bindAnimationEndEvent(el, handler) {
406
- const cb = e => {
407
- if (e.target !== el) return
408
- Menu._unbindAnimationEndEvent(el)
409
- handler(e)
410
- }
411
-
412
- let duration = window.getComputedStyle(el).transitionDuration
413
- duration = parseFloat(duration) * (duration.indexOf('ms') !== -1 ? 1 : 1000)
414
-
415
- el._menuAnimationEndEventCb = cb
416
- TRANSITION_EVENTS.forEach(ev => el.addEventListener(ev, el._menuAnimationEndEventCb, false))
417
-
418
- el._menuAnimationEndEventTimeout = setTimeout(() => {
419
- cb({ target: el })
420
- }, duration + 50)
421
- }
422
-
423
- _getItemOffset(item) {
424
- let curItem = this._inner.childNodes[0]
425
- let left = 0
426
-
427
- while (curItem !== item) {
428
- if (curItem.tagName) {
429
- left += Math.round(curItem.getBoundingClientRect().width)
430
- }
431
-
432
- curItem = curItem.nextSibling
433
- }
434
-
435
- return left
436
- }
437
-
438
- static _promisify(fn, ...args) {
439
- const result = fn(...args)
440
- if (result instanceof Promise) {
441
- return result
442
- }
443
- if (result === false) {
444
- return Promise.reject()
445
- }
446
- return Promise.resolve()
447
- }
448
-
449
- get _innerWidth() {
450
- const items = this._inner.childNodes
451
- let width = 0
452
-
453
- for (let i = 0, l = items.length; i < l; i++) {
454
- if (items[i].tagName) {
455
- width += Math.round(items[i].getBoundingClientRect().width)
456
- }
457
- }
458
-
459
- return width
460
- }
461
-
462
- get _innerPosition() {
463
- return parseInt(this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] || '0px', 10)
464
- }
465
-
466
- set _innerPosition(value) {
467
- this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] = `${value}px`
468
- return value
469
- }
470
-
471
- static _unbindAnimationEndEvent(el) {
472
- const cb = el._menuAnimationEndEventCb
473
-
474
- if (el._menuAnimationEndEventTimeout) {
475
- clearTimeout(el._menuAnimationEndEventTimeout)
476
- el._menuAnimationEndEventTimeout = null
477
- }
478
-
479
- if (!cb) return
480
-
481
- TRANSITION_EVENTS.forEach(ev => el.removeEventListener(ev, cb, false))
482
- el._menuAnimationEndEventCb = null
483
- }
484
-
485
- closeAll(closeChildren = this._closeChildren) {
486
- const opened = this._el.querySelectorAll('.menu-inner > .menu-item.open')
487
-
488
- for (let i = 0, l = opened.length; i < l; i++) this.close(opened[i], closeChildren)
489
- }
490
-
491
- static setDisabled(el, disabled) {
492
- Menu._getItem(el, false).classList[disabled ? 'add' : 'remove']('disabled')
493
- }
494
-
495
- static isActive(el) {
496
- return Menu._getItem(el, false).classList.contains('active')
497
- }
498
-
499
- static isOpened(el) {
500
- return Menu._getItem(el, false).classList.contains('open')
501
- }
502
-
503
- static isDisabled(el) {
504
- return Menu._getItem(el, false).classList.contains('disabled')
505
- }
506
-
507
- update() {
508
- if (this._scrollbar) {
509
- this._scrollbar.update()
510
- }
511
- }
512
-
513
- manageScroll() {
514
- const { PerfectScrollbar } = window
515
- const menuInner = document.querySelector('.menu-inner')
516
-
517
- if (window.innerWidth < window.Helpers.LAYOUT_BREAKPOINT) {
518
- if (this._scrollbar !== null) {
519
- // window.Helpers.menuPsScroll.destroy()
520
- this._scrollbar.destroy()
521
- this._scrollbar = null
522
- }
523
- menuInner.classList.add('overflow-auto')
524
- } else {
525
- if (this._scrollbar === null) {
526
- const menuScroll = new PerfectScrollbar(document.querySelector('.menu-inner'), {
527
- suppressScrollX: true,
528
- wheelPropagation: false
529
- })
530
- this._scrollbar = menuScroll
531
- }
532
- menuInner.classList.remove('overflow-auto')
533
- }
534
- }
535
-
536
- destroy() {
537
- if (!this._el) return
538
-
539
- this._unbindEvents()
540
-
541
- const items = this._el.querySelectorAll('.menu-item')
542
- for (let i = 0, l = items.length; i < l; i++) {
543
- Menu._unbindAnimationEndEvent(items[i])
544
- items[i].classList.remove('menu-item-animating')
545
- items[i].classList.remove('open')
546
- items[i].style.overflow = null
547
- items[i].style.height = null
548
- }
549
-
550
- const menus = this._el.querySelectorAll('.menu-menu')
551
- for (let i2 = 0, l2 = menus.length; i2 < l2; i2++) {
552
- menus[i2].style.marginRight = null
553
- menus[i2].style.marginLeft = null
554
- }
555
-
556
- this._el.classList.remove('menu-no-animation')
557
-
558
- if (this._wrapper) {
559
- this._prevBtn.parentNode.removeChild(this._prevBtn)
560
- this._nextBtn.parentNode.removeChild(this._nextBtn)
561
- this._wrapper.parentNode.insertBefore(this._inner, this._wrapper)
562
- this._wrapper.parentNode.removeChild(this._wrapper)
563
- this._inner.style.marginLeft = null
564
- this._inner.style.marginRight = null
565
- }
566
-
567
- this._el.menuInstance = null
568
- delete this._el.menuInstance
569
-
570
- this._el = null
571
- this._animate = null
572
- this._accordion = null
573
- this._closeChildren = null
574
- this._onOpen = null
575
- this._onOpened = null
576
- this._onClose = null
577
- this._onClosed = null
578
- if (this._scrollbar) {
579
- this._scrollbar.destroy()
580
- this._scrollbar = null
581
- }
582
- this._inner = null
583
- this._prevBtn = null
584
- this._wrapper = null
585
- this._nextBtn = null
586
- }
587
- }
588
-
589
- export { Menu }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended.scss DELETED
@@ -1,39 +0,0 @@
1
- @import '_bootstrap-extended/include';
2
-
3
- // Import bootstrap extended scss
4
- @import '_bootstrap-extended/root';
5
- @import '_bootstrap-extended/reboot';
6
- @import '_bootstrap-extended/type';
7
- @import '_bootstrap-extended/utilities';
8
- @import '_bootstrap-extended/tables';
9
- @import '_bootstrap-extended/buttons';
10
- @import '_bootstrap-extended/button-group';
11
- @import '_bootstrap-extended/badge';
12
- @import '_bootstrap-extended/dropdown';
13
- @import '_bootstrap-extended/nav';
14
- @import '_bootstrap-extended/pagination';
15
- @import '_bootstrap-extended/alert';
16
- @import '_bootstrap-extended/tooltip';
17
- @import '_bootstrap-extended/popover';
18
- @import '_bootstrap-extended/forms';
19
- @import '_bootstrap-extended/modal';
20
- @import '_bootstrap-extended/progress';
21
- @import '_bootstrap-extended/breadcrumb';
22
- @import '_bootstrap-extended/list-group';
23
- @import '_bootstrap-extended/navbar';
24
- @import '_bootstrap-extended/card';
25
- @import '_bootstrap-extended/accordion';
26
- @import '_bootstrap-extended/close';
27
- @import '_bootstrap-extended/toasts';
28
- @import '_bootstrap-extended/carousel';
29
- @import '_bootstrap-extended/spinners';
30
- @import '_bootstrap-extended/offcanvas';
31
-
32
- // Common Utilities
33
- @import '../node_modules/bootstrap/scss/utilities/api';
34
-
35
- // LTR Utilities
36
- @include ltr-only {
37
- @import '_bootstrap-extended/utilities-ltr';
38
- @import '../node_modules/bootstrap/scss/utilities/api';
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_accordion.scss DELETED
@@ -1,56 +0,0 @@
1
- // Accordions
2
- // *******************************************************************************
3
-
4
- .accordion-header + .accordion-collapse .accordion-body {
5
- padding-top: 0;
6
- }
7
-
8
- .accordion {
9
- // accordion without icon
10
- &.accordion-without-arrow {
11
- .accordion-button::after {
12
- background-image: none !important;
13
- }
14
- }
15
- // Active accordion box shadow
16
- .accordion-item.active {
17
- box-shadow: $floating-component-shadow;
18
- }
19
- }
20
-
21
- // added box shadow
22
- .card.accordion-item {
23
- box-shadow: $box-shadow-sm;
24
- }
25
-
26
- .accordion-button.collapsed:focus {
27
- box-shadow: none;
28
- }
29
- .accordion-button {
30
- box-shadow: none;
31
- }
32
-
33
- .accordion-header {
34
- line-height: 1.54;
35
- }
36
-
37
- .accordion-item {
38
- &:not(:first-of-type) {
39
- border-top: $accordion-border-width solid $accordion-border-color;
40
- }
41
- }
42
-
43
- // Accordion border radius
44
- .accordion-button {
45
- font-weight: inherit;
46
- @include border-top-radius($accordion-border-radius);
47
- &.collapsed {
48
- @include border-radius($accordion-border-radius);
49
- }
50
- }
51
-
52
- // Default card styles of accordion
53
- .accordion > .card:not(:last-of-type) {
54
- border-radius: $accordion-border-radius !important;
55
- margin-bottom: 0.6875rem;
56
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_alert.scss DELETED
@@ -1,9 +0,0 @@
1
- // Alerts
2
- // *******************************************************************************
3
-
4
- // Alert mixins
5
- @each $state, $value in $theme-colors {
6
- @if $state != primary and $state != light {
7
- @include template-alert-variant('.alert-#{$state}', $value);
8
- }
9
- }
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_badge.scss DELETED
@@ -1,18 +0,0 @@
1
- // Badges
2
- // *******************************************************************************
3
- .badge {
4
- text-transform: uppercase;
5
- line-height: $badge-line-height;
6
- }
7
-
8
- // Badge Center Style
9
-
10
- .badge-center {
11
- display: inline-flex;
12
- justify-content: center;
13
- align-items: center;
14
- @include badge-size($badge-height, $badge-width, $badge-font-size);
15
- i {
16
- font-size: 0.8rem;
17
- }
18
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_breadcrumb.scss DELETED
@@ -1,47 +0,0 @@
1
- // Breadcrumbs
2
- // *******************************************************************************
3
-
4
- .breadcrumb-item,
5
- .breadcrumb-item a {
6
- color: $breadcrumb-color;
7
-
8
- &:hover,
9
- &:focus {
10
- color: $breadcrumb-active-color;
11
- }
12
-
13
- &.active {
14
- font-weight: $font-weight-semibold;
15
- &::before {
16
- font-weight: $font-weight-normal;
17
- }
18
- }
19
- }
20
-
21
- .breadcrumb-item.active a {
22
- &,
23
- &:hover,
24
- &:focus,
25
- &:active {
26
- color: inherit;
27
- }
28
- }
29
-
30
- // Breadcrumb divider styles
31
- .breadcrumb-style1,
32
- .breadcrumb-style2 {
33
- .breadcrumb-item + .breadcrumb-item::before {
34
- font-family: boxicons;
35
- vertical-align: middle;
36
- }
37
- }
38
- .breadcrumb-style1 .breadcrumb-item + .breadcrumb-item::before {
39
- content: '\ecb3';
40
- font-size: 1.125rem;
41
- line-height: 1.4;
42
- }
43
- .breadcrumb-style2 .breadcrumb-item + .breadcrumb-item::before {
44
- content: '\ee4a';
45
- font-size: $font-size-lg;
46
- line-height: 1.35rem;
47
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_button-group.scss DELETED
@@ -1,59 +0,0 @@
1
- // Button groups
2
- // *******************************************************************************
3
-
4
- // * Split button
5
- // *******************************************************************************
6
-
7
- .dropdown-toggle-split,
8
- .btn-lg + .dropdown-toggle-split,
9
- .btn-group-lg > .btn + .dropdown-toggle-split,
10
- .input-group-lg .btn + .dropdown-toggle-split,
11
- .btn-xl + .dropdown-toggle-split,
12
- .btn-group-xl > .btn + .dropdown-toggle-split {
13
- padding-right: 0.7em;
14
- padding-left: 0.7em;
15
- }
16
-
17
- .btn-sm + .dropdown-toggle-split,
18
- .btn-group-sm > .btn + .dropdown-toggle-split,
19
- .input-group-sm .btn + .dropdown-toggle-split {
20
- padding-right: 0.6em;
21
- padding-left: 0.6em;
22
- }
23
-
24
- .btn-xs + .dropdown-toggle-split,
25
- .btn-group-xs > .btn + .dropdown-toggle-split {
26
- padding-right: 0.5em;
27
- padding-left: 0.5em;
28
- }
29
-
30
- // * Sizing
31
- // *******************************************************************************
32
-
33
- .btn-group-xs > .btn {
34
- @extend .btn-xs;
35
- }
36
-
37
- .btn-group-xl > .btn {
38
- @extend .btn-xl;
39
- }
40
-
41
- // Button groups border
42
-
43
- .btn-group > .btn-group:first-child > .btn:not([class*='btn-outline-']):first-child,
44
- .input-group > .btn:not([class*='btn-outline-']):first-child,
45
- :not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*='btn-outline-']):first-child,
46
- .input-group > .btn-group:first-child > .btn:not([class*='btn-outline-']):first-child {
47
- @include ltr-style {
48
- border-left-color: transparent;
49
- }
50
- }
51
-
52
- .btn-group > .btn-group:last-child > .btn:not([class*='btn-outline-']):last-of-type,
53
- .input-group > .btn:not([class*='btn-outline-']):last-of-type,
54
- :not(.btn-group):not(.input-group) > .btn-group > .btn:not([class*='btn-outline-']):last-of-type,
55
- .input-group > .btn-group:last-child > .btn:not([class*='btn-outline-']):last-of-type {
56
- @include ltr-style {
57
- border-right-color: transparent;
58
- }
59
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_buttons.scss DELETED
@@ -1,111 +0,0 @@
1
- // Buttons
2
- // *******************************************************************************
3
-
4
- .btn {
5
- cursor: pointer;
6
- &.disabled,
7
- &:disabled {
8
- cursor: default;
9
- }
10
- }
11
-
12
- // Badge within button
13
- .btn .badge {
14
- @include transition($btn-transition);
15
- }
16
-
17
- label.btn {
18
- margin-bottom: 0;
19
- }
20
-
21
- // Button Sizes
22
-
23
- .btn-xl {
24
- @include button-size($btn-padding-y-xl, $btn-padding-x-xl, $btn-font-size-xl, $btn-border-radius-xl);
25
- }
26
-
27
- .btn-xs {
28
- @include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-xs, $btn-border-radius-xs);
29
- }
30
-
31
- // Buttons Variant
32
-
33
- @each $color, $value in $theme-colors {
34
- @if $color != primary {
35
- @include template-button-variant('.btn-#{$color}', $value);
36
- @include template-button-outline-variant('.btn-outline-#{$color}', $value);
37
- }
38
- }
39
-
40
- // Icon button
41
-
42
- .btn-icon {
43
- $btn-icon-size: ($btn-font-size * $btn-line-height) + ($btn-padding-y * 2);
44
- $btn-icon-size-xl: ($btn-font-size-xl * $btn-line-height-xl) + ($btn-padding-y-xl * 2);
45
- $btn-icon-size-lg: ($btn-font-size-lg * $btn-line-height-lg) + ($btn-padding-y-lg * 2);
46
- $btn-icon-size-sm: ($btn-font-size-sm * $btn-line-height-sm) + ($btn-padding-y-sm * 2);
47
- $btn-icon-size-xs: ($btn-font-size-xs * $btn-line-height-xs) + ($btn-padding-y-xs * 2);
48
- $borders-width: $btn-border-width * 2;
49
-
50
- padding: 0;
51
- width: calc(#{$btn-icon-size} + #{$borders-width});
52
- height: calc(#{$btn-icon-size} + #{$borders-width});
53
- display: inline-flex;
54
- flex-shrink: 0;
55
- justify-content: center;
56
- align-items: center;
57
-
58
- &.btn-xl {
59
- width: calc(#{$btn-icon-size-xl} + #{$borders-width});
60
- height: calc(#{$btn-icon-size-xl} + #{$borders-width});
61
- > span {
62
- font-size: $btn-font-size-xl;
63
- }
64
- }
65
-
66
- &.btn-lg {
67
- width: calc(#{$btn-icon-size-lg} + #{$borders-width});
68
- height: calc(#{$btn-icon-size-lg} + #{$borders-width});
69
- font-size: $btn-font-size-lg;
70
- }
71
-
72
- &.btn-sm {
73
- width: calc(#{$btn-icon-size-sm} + #{$borders-width});
74
- height: calc(#{$btn-icon-size-sm} + #{$borders-width});
75
- font-size: $btn-font-size-sm;
76
- }
77
-
78
- &.btn-xs {
79
- width: calc(#{$btn-icon-size-xs} + #{$borders-width});
80
- height: calc(#{$btn-icon-size-xs} + #{$borders-width});
81
- font-size: $btn-font-size-xs;
82
- }
83
- }
84
-
85
- // Without border
86
-
87
- .btn.borderless {
88
- &:not(.active):not(:active):not(:hover):not(:focus),
89
- :not(.show) > &.dropdown-toggle:not(:hover):not(:focus) {
90
- border-color: transparent;
91
- box-shadow: none;
92
- }
93
- }
94
-
95
- // Link buttons
96
- .btn.btn-link {
97
- font-size: inherit;
98
- }
99
-
100
- .btn-pinned {
101
- position: absolute;
102
- top: 0.75rem;
103
- @include ltr-style {
104
- right: 0.75rem;
105
- }
106
- }
107
-
108
- // Button focus
109
- button:focus {
110
- outline: none;
111
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_card.scss DELETED
@@ -1,185 +0,0 @@
1
- // Cards
2
- // *******************************************************************************
3
-
4
- .card {
5
- background-clip: padding-box;
6
- box-shadow: $card-box-shadow;
7
- .card-link {
8
- display: inline-block;
9
- }
10
- // ! FIX: to remove padding top from first card-body if used with card-header
11
- .card-header + .card-body,
12
- .card-header + .card-content > .card-body:first-of-type {
13
- padding-top: 0;
14
- }
15
- }
16
-
17
- // Card action
18
- .card-action {
19
- // Expand card(fullscreen)
20
- &.card-fullscreen {
21
- display: block;
22
- z-index: 9999;
23
- position: fixed;
24
- width: 100% !important;
25
- height: 100% !important;
26
- top: 0;
27
- right: 0;
28
- left: 0;
29
- bottom: 0;
30
- overflow: auto;
31
- border: none;
32
- border-radius: 0;
33
- }
34
- // Alert
35
- .card-alert {
36
- position: absolute;
37
- width: 100%;
38
- z-index: 999;
39
- .alert {
40
- border-bottom-right-radius: 0px;
41
- border-bottom-left-radius: 0px;
42
- }
43
- }
44
- // Collapsed
45
- .card-header {
46
- &.collapsed {
47
- border-bottom: 0;
48
- }
49
- }
50
-
51
- // Card header
52
- .card-header {
53
- display: flex;
54
- line-height: $component-line-height;
55
- .card-action-title {
56
- flex-grow: 1;
57
- margin-right: 0.5rem;
58
- }
59
- .card-action-element {
60
- flex-shrink: 0;
61
- background-color: inherit;
62
- top: 1rem;
63
- right: 1.5rem;
64
- color: $body-color;
65
- a {
66
- color: $body-color;
67
- .collapse-icon::after {
68
- margin-top: -0.15rem;
69
- }
70
- }
71
- }
72
- }
73
- // Block UI loader
74
- .blockUI {
75
- .sk-fold {
76
- margin: 0 auto;
77
- }
78
- h5 {
79
- color: $body-color;
80
- margin: 1rem 0 0 0;
81
- }
82
- }
83
- }
84
-
85
- // Card inner borders
86
- .card-header,
87
- .card-footer {
88
- border-color: $card-inner-border-color;
89
- }
90
- .card hr {
91
- color: $card-inner-border-color;
92
- }
93
-
94
- .card .row-bordered > [class*=' col '],
95
- .card .row-bordered > [class^='col '],
96
- .card .row-bordered > [class*=' col-'],
97
- .card .row-bordered > [class^='col-'],
98
- .card .row-bordered > [class='col'] {
99
- .card .row-bordered > [class$=' col'],
100
- &::before,
101
- &::after {
102
- border-color: $card-inner-border-color;
103
- }
104
- }
105
-
106
- //Card header elements
107
- .card-header.header-elements,
108
- .card-title.header-elements {
109
- display: flex;
110
- width: 100%;
111
- align-items: center;
112
- flex-wrap: wrap;
113
- }
114
-
115
- .card-header {
116
- &.card-header-elements {
117
- padding-top: $card-spacer-y * 0.5;
118
- padding-bottom: $card-spacer-y * 0.5;
119
- }
120
- .card-header-elements {
121
- padding-top: 0.25rem;
122
- padding-bottom: 0.25rem;
123
- }
124
- }
125
-
126
- .card-header-elements,
127
- .card-title-elements {
128
- display: flex;
129
- flex-wrap: wrap;
130
- align-items: center;
131
- & + &,
132
- > * + * {
133
- margin-left: 0.25rem;
134
- }
135
- }
136
-
137
- // * Horizontal card radius issue fix
138
- .card-img-left {
139
- @include border-start-radius($card-inner-border-radius);
140
- @include border-end-radius(0);
141
- @include media-breakpoint-down(md) {
142
- @include border-top-radius($card-inner-border-radius);
143
- @include border-bottom-radius(0);
144
- }
145
- }
146
-
147
- .card-img-right {
148
- @include border-end-radius($card-inner-border-radius);
149
- @include border-start-radius(0);
150
- @include media-breakpoint-down(md) {
151
- @include border-bottom-radius($card-inner-border-radius);
152
- @include border-top-radius(0);
153
- }
154
- }
155
-
156
- // List groups
157
- // *******************************************************************************
158
-
159
- .card > .list-group .list-group-item {
160
- padding-left: $card-spacer-x;
161
- padding-right: $card-spacer-x;
162
- }
163
-
164
- // Card Statistics specific separator
165
- // *******************************************************************************
166
- .card {
167
- .card-separator {
168
- @include ltr-style {
169
- border-right: $border-width solid $card-border-color;
170
- }
171
- }
172
- }
173
-
174
- @include media-breakpoint-down(md) {
175
- .card {
176
- .card-separator {
177
- border-bottom: $border-width solid $card-border-color;
178
- padding-bottom: $card-spacer-y;
179
-
180
- @include ltr-style {
181
- border-right-width: 0 !important;
182
- }
183
- }
184
- }
185
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_carousel.scss DELETED
@@ -1,42 +0,0 @@
1
- // Carousel
2
- // *******************************************************************************
3
-
4
- //
5
- .carousel {
6
- .carousel-item.active,
7
- .carousel-item.carousel-item-start {
8
- h1,
9
- .h1,
10
- h2,
11
- .h2,
12
- h3,
13
- .h3,
14
- h4,
15
- .h4,
16
- h5,
17
- .h5,
18
- h6,
19
- .h6 {
20
- color: $carousel-caption-color;
21
- }
22
- }
23
- }
24
- .carousel.carousel-dark {
25
- .carousel-item.active,
26
- .carousel-item.carousel-item-start {
27
- h1,
28
- .h1,
29
- h2,
30
- .h2,
31
- h3,
32
- .h3,
33
- h4,
34
- .h4,
35
- h5,
36
- .h5,
37
- h6,
38
- .h6 {
39
- color: $carousel-dark-caption-color;
40
- }
41
- }
42
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_close.scss DELETED
@@ -1,6 +0,0 @@
1
- // Close buttons
2
- // *******************************************************************************
3
-
4
- .close:focus {
5
- outline: 0;
6
- }
 
 
 
 
 
 
 
scss/_bootstrap-extended/_dropdown.scss DELETED
@@ -1,66 +0,0 @@
1
- // Dropdowns
2
- // *****************************************************************
3
-
4
- // On hover outline
5
- [data-trigger='hover'] {
6
- outline: 0;
7
- }
8
-
9
- .dropdown-menu {
10
- margin: $dropdown-spacer 0;
11
- box-shadow: $dropdown-box-shadow;
12
- // Animations
13
- animation: dropdownAnimation 0.1s;
14
-
15
- // Mega dropdown inside the dropdown menu
16
- .mega-dropdown > & {
17
- left: 0 !important;
18
- right: 0 !important;
19
- }
20
-
21
- // Badge within dropdown menu
22
- .badge[class^='float-'],
23
- .badge[class*=' float-'] {
24
- position: relative;
25
- top: 0.071em;
26
- }
27
- }
28
- // Dropdown item line height
29
- .dropdown-item {
30
- line-height: $dropdown-link-line-height;
31
- }
32
-
33
- // Hidden dropdown toggle arrow
34
- .dropdown-toggle.hide-arrow,
35
- .dropdown-toggle-hide-arrow > .dropdown-toggle {
36
- &::before,
37
- &::after {
38
- display: none;
39
- }
40
- }
41
-
42
- // Dropdown caret icon
43
-
44
- @if $enable-caret {
45
- // Dropdown arrow
46
- .dropdown-toggle::after {
47
- @include caret-down;
48
- }
49
- // Dropend arrow
50
- .dropend .dropdown-toggle::after {
51
- @include caret-right;
52
- }
53
- // Dropstart arrow
54
- .dropstart .dropdown-toggle::before {
55
- @include caret-left;
56
- }
57
- // Dropup arrow
58
- .dropup .dropdown-toggle::after {
59
- @include caret-up;
60
- }
61
-
62
- .dropstart .dropdown-toggle::before,
63
- .dropend .dropdown-toggle::after {
64
- vertical-align: $caret-vertical-align;
65
- }
66
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_forms.scss DELETED
@@ -1,10 +0,0 @@
1
- // Forms
2
- // *****************************************************************
3
-
4
- @import 'forms/labels';
5
- @import 'forms/form-control';
6
- @import 'forms/form-select';
7
- @import 'forms/form-range';
8
- @import 'forms/input-group';
9
- @import 'forms/floating-labels';
10
- @import 'forms/validation';
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_functions.scss DELETED
@@ -1,147 +0,0 @@
1
- // Functions
2
- // *******************************************************************************
3
-
4
- // Lists
5
- // *******************************************************************************
6
- @function slice-list($list, $start: 1, $end: length($list)) {
7
- $result: null;
8
-
9
- @if type-of($start) != number or type-of($end) != number {
10
- @warn "Either $start or $end are not a number for `slice`.";
11
- } @else if $start > $end {
12
- @warn "The start index has to be lesser than or equals to the end index for `slice`.";
13
- } @else if $start < 1 or $end < 1 {
14
- @warn "List indexes must be non-zero integers for `slice`.";
15
- } @else if $start > length($list) {
16
- @warn "List index is #{$start} but list is only #{length($list)} item long for `slice`.";
17
- } @else if $end > length($list) {
18
- @warn "List index is #{$end} but list is only #{length($list)} item long for `slice`.";
19
- } @else {
20
- $result: ();
21
-
22
- @for $i from $start through $end {
23
- $result: append($result, nth($list, $i));
24
- }
25
- }
26
-
27
- @return $result;
28
- }
29
-
30
- // * Units
31
- // *******************************************************************************
32
-
33
- // Remove the unit of a length
34
- @function strip-unit($number) {
35
- @if type-of($number) == 'number' and not unitless($number) {
36
- @return divide($number, ($number * 0 + 1));
37
- }
38
-
39
- @return $number;
40
- }
41
-
42
- // Convert size px to rem
43
- @function px-to-rem($value) {
44
- // Assumes the browser default font size = `16px`
45
- @return (divide(strip-unit($value), 16)) * 1rem;
46
- }
47
-
48
- // Convert size rem to px
49
- @function rem-to-px($value) {
50
- // Assumes the browser default font size = `16px`
51
- @return (strip-unit($value) * 16) * 1px;
52
- }
53
-
54
- // * Colors
55
- // *******************************************************************************
56
-
57
- // ? Override shade, tint and shift function with custom background color option i.e $card-bg to make it similar like design
58
- // Shade a color: mix a color with background/white
59
- @function tint-color($color, $weight, $background: null) {
60
- $background: if($background, $background, white);
61
- @return mix($background, $color, $weight);
62
- }
63
-
64
- // Shade a color: mix a color with background/black
65
- @function shade-color($color, $weight, $background: null) {
66
- $background: if($background, $background, black);
67
- @return mix($background, $color, $weight);
68
- }
69
-
70
- // Shade the color if the weight is positive, else tint it
71
- @function shift-color($color, $weight, $background: null) {
72
- @return if($weight > 0, shade-color($color, $weight, $background), tint-color($color, -$weight));
73
- }
74
-
75
- //RGBA to HEX
76
- @function rgba-to-hex($color, $background: #fff) {
77
- @if $color and alpha($color) != 1 {
78
- $percent: alpha($color) * 100%;
79
- $opaque: opacify($color, 1);
80
-
81
- @return mix($opaque, $background, $percent);
82
- } @else {
83
- @return $color;
84
- }
85
- }
86
-
87
- // Calculating Color Contrast
88
- @function contrast-value($color) {
89
- @if $color == transparent {
90
- @return $body-color;
91
- } @else if alpha($color) != 1 {
92
- $color: rgba-to-hex($color);
93
- }
94
-
95
- $r: red($color);
96
- $g: green($color);
97
- $b: blue($color);
98
-
99
- @return divide((($r * 299) + ($g * 587) + ($b * 114)), 1000);
100
- }
101
-
102
- // * Utilities
103
- // *******************************************************************************
104
-
105
- // Return Nav opacity, contrast-percent, contrast-percent-inverted, bg, color, active-color, disabled-color, muted-color, border
106
- @function get-navbar-prop($bg, $active-color: null, $inactive-color: null, $border: null) {
107
- $bg: rgba-to-hex($bg);
108
-
109
- $active-color: rgba-to-hex($active-color);
110
- $active-color: if($active-color, $active-color, color-contrast($bg));
111
-
112
- $contrast-percent: divide(contrast-value($bg), 255);
113
- $contrast-percent-inverted: 1 - $contrast-percent;
114
-
115
- $opacity: if($active-color == #fff, 0.6 + (0.4 * $contrast-percent), 0.6 + (0.4 * (1 - $contrast-percent)));
116
-
117
- $color: if(
118
- $inactive-color,
119
- rgba-to-hex($inactive-color, $bg),
120
- rgba-to-hex(rgba($active-color, if($contrast-percent < 0.25, $opacity + 0.2, $opacity)), $bg)
121
- );
122
- $disabled-color: rgba-to-hex(rgba($color, 0.6), $bg);
123
- $muted-color: rgba-to-hex(rgba($color, 0.75), $bg);
124
- $border: if(
125
- $border,
126
- $border,
127
- if(
128
- $contrast-percent > 0.75,
129
- rgba($active-color, divide($opacity, 8)),
130
- if($contrast-percent < 0.25, rgba($active-color, 0.06), rgba($active-color, 0.15))
131
- )
132
- );
133
-
134
- @return (
135
- // Metadata
136
- opacity: $opacity,
137
- contrast-percent: $contrast-percent,
138
- contrast-percent-inverted: $contrast-percent-inverted,
139
- // Colors
140
- bg: $bg,
141
- color: $color,
142
- active-color: $active-color,
143
- disabled-color: $disabled-color,
144
- muted-color: $muted-color,
145
- border: $border
146
- );
147
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_include.scss DELETED
@@ -1,12 +0,0 @@
1
- //Functions
2
- @import '../../node_modules/bootstrap/scss/functions'; // Bootstrap core functions
3
- @import 'functions'; // Bootstrap extended functions
4
-
5
- //Variables
6
- @import '../_custom-variables/bootstrap-extended'; // Bootstrap extended custom variable (for customization purpose)
7
- @import 'variables'; // Bootstrap extended variable
8
- @import '../../node_modules/bootstrap/scss/variables'; // Bootstrap core variable
9
-
10
- //Mixins
11
- @import '../../node_modules/bootstrap/scss/mixins'; // Bootstrap core mixins
12
- @import 'mixins'; // Bootstrap extended mixins
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_list-group.scss DELETED
@@ -1,58 +0,0 @@
1
- // List groups
2
- // *******************************************************************************
3
-
4
- // List Group Mixin
5
- @each $color, $value in $theme-colors {
6
- @if $color != primary and $color != light {
7
- @include template-list-group-item-variant('.list-group-item-#{$color}', $value);
8
- }
9
- }
10
-
11
- .list-group {
12
- // Timeline CSS
13
- &.list-group-timeline {
14
- position: relative;
15
- &:before {
16
- background-color: $border-color;
17
- position: absolute;
18
- content: '';
19
- width: 1px;
20
- height: 100%;
21
- top: 0;
22
- bottom: 0;
23
- left: 0.2rem;
24
- }
25
- .list-group-item {
26
- border: none;
27
- padding-left: 1.25rem;
28
- &:before {
29
- position: absolute;
30
- display: block;
31
- content: '';
32
- width: 7px;
33
- height: 7px;
34
- left: 0;
35
- top: 50%;
36
- margin-top: -3.5px;
37
- border-radius: 100%;
38
- }
39
- }
40
- }
41
-
42
- .list-group-item.active {
43
- h1,
44
- .h1,
45
- h2,
46
- .h2,
47
- h3,
48
- .h3,
49
- h4,
50
- .h4,
51
- h5,
52
- .h5,
53
- h6,
54
- .h6 {
55
- color: $list-group-active-color;
56
- }
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_mixins.scss DELETED
@@ -1,16 +0,0 @@
1
- // Mixins
2
- //
3
- // Template mixins (custom and overrides)
4
- @import 'mixins/alert';
5
- @import 'mixins/badge';
6
- @import 'mixins/buttons';
7
- @import 'mixins/list-group';
8
- @import 'mixins/navs';
9
- @import 'mixins/pagination';
10
- @import 'mixins/progress';
11
- @import 'mixins/toasts';
12
- @import 'mixins/caret';
13
- @import 'mixins/dropdown';
14
- @import 'mixins/forms';
15
- @import 'mixins/table-variants';
16
- @import 'mixins/misc'; // layout, text directions & colors
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_modal.scss DELETED
@@ -1,110 +0,0 @@
1
- // Modals
2
- // *******************************************************************************
3
-
4
- // Modal Shadow
5
- .modal-content {
6
- box-shadow: $modal-content-box-shadow-xs;
7
- }
8
-
9
- // Modal Header close btn style
10
- .modal {
11
- .btn-close {
12
- background-color: $white;
13
- border-radius: $border-radius-lg;
14
- opacity: 1;
15
- padding: 0.635rem;
16
- box-shadow: $box-shadow-sm;
17
- transition: all 0.23s ease 0.1s;
18
-
19
- @include ltr-style {
20
- transform: translate(23px, -25px);
21
- }
22
-
23
- // For hover effect of close btn
24
- &:hover,
25
- &:focus,
26
- &:active {
27
- opacity: 1;
28
- outline: none;
29
-
30
- @include ltr-style {
31
- transform: translate(20px, -20px);
32
- }
33
- }
34
- }
35
- .modal-header {
36
- .btn-close {
37
- margin-top: -1.25rem;
38
- }
39
- }
40
- }
41
-
42
- // modal footer
43
- .modal-footer {
44
- padding: $modal-footer-padding;
45
- }
46
-
47
- // ! remove close button animation & shadow for .modal-dialog-scrollable, .modal-fullscreen, .modal-top modal
48
- .modal-dialog-scrollable,
49
- .modal-fullscreen,
50
- .modal-top {
51
- .btn-close {
52
- box-shadow: none;
53
- @include ltr-style {
54
- transform: translate(0, 0) !important;
55
- }
56
-
57
- &:hover {
58
- @include ltr-style {
59
- transform: translate(0, 0) !important;
60
- }
61
- }
62
- }
63
- }
64
-
65
- // Top modals
66
- // *******************************************************************************
67
-
68
- .modal-top {
69
- .modal-dialog {
70
- margin-top: 0;
71
- }
72
-
73
- .modal-content {
74
- @include border-top-radius(0);
75
- }
76
- }
77
-
78
- // Responsive
79
- // *******************************************************************************
80
-
81
- @include media-breakpoint-down(lg) {
82
- .modal-onboarding .onboarding-horizontal {
83
- flex-direction: column;
84
- }
85
- }
86
- @include media-breakpoint-down(md) {
87
- .modal {
88
- .modal-dialog:not(.modal-fullscreen) {
89
- padding: 0 0.75rem;
90
- padding-left: 0.75rem !important;
91
- }
92
- .carousel-control-prev,
93
- .carousel-control-next {
94
- display: none;
95
- }
96
- }
97
- }
98
- @include media-breakpoint-up(sm) {
99
- .modal-content {
100
- box-shadow: $modal-content-box-shadow-sm-up;
101
- }
102
- .modal-sm .modal-dialog {
103
- max-width: $modal-sm;
104
- }
105
- }
106
- @include media-breakpoint-up(xl) {
107
- .modal-xl .modal-dialog {
108
- max-width: $modal-xl;
109
- }
110
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_nav.scss DELETED
@@ -1,313 +0,0 @@
1
- // Nav
2
- // *******************************************************************************
3
-
4
- .nav .nav-item,
5
- .nav .nav-link,
6
- .tab-pane,
7
- .tab-pane .card-body {
8
- outline: none !important;
9
- }
10
-
11
- .nav-tabs {
12
- .nav-item {
13
- .nav-link {
14
- color: $nav-tabs-btn-color;
15
- border: 0;
16
- border-radius: 0;
17
- &:hover,
18
- &:focus {
19
- color: $nav-tabs-btn-color;
20
- }
21
- &:not(.active) {
22
- background-color: $nav-tabs-btn-bg;
23
- }
24
- &.disabled {
25
- color: $nav-link-disabled-color;
26
- }
27
- }
28
- }
29
- }
30
-
31
- // Tab and pills style
32
- .nav-tabs,
33
- .nav-pills {
34
- &:not(.nav-fill):not(.nav-justified) .nav-link {
35
- width: 100%;
36
- }
37
- }
38
-
39
- .nav-pills .nav-link {
40
- &:not(.active, .disabled) {
41
- color: $headings-color;
42
- }
43
- }
44
-
45
- .tab-content {
46
- padding: $card-spacer-y;
47
- border-radius: $border-radius;
48
- }
49
-
50
- // For scrollable navs/tabs/pills
51
- .nav-scrollable {
52
- display: -webkit-inline-box;
53
- display: -moz-inline-box;
54
- width: 100%;
55
- overflow-y: auto;
56
- flex-wrap: nowrap;
57
- }
58
-
59
- // Tab link
60
- .nav-tabs .nav-link {
61
- background-clip: padding-box;
62
- &.active {
63
- border-bottom-color: $nav-tabs-link-active-bg;
64
- &:hover,
65
- &:focus {
66
- border-bottom-color: $nav-tabs-link-active-bg;
67
- }
68
- }
69
- &:hover,
70
- &:focus {
71
- border-bottom-color: transparent;
72
- }
73
- }
74
-
75
- // Sizing
76
- // *******************************************************************************
77
-
78
- .nav-sm {
79
- @include template-nav-size($nav-link-padding-y-sm, $nav-link-padding-x-sm, $font-size-sm, $nav-link-line-height-sm);
80
- }
81
- .nav-lg {
82
- @include template-nav-size($nav-link-padding-y-lg, $nav-link-padding-x-lg, $font-size-lg, $nav-link-line-height-lg);
83
- }
84
-
85
- // Top, Right, Bottom & Left Tabbed panels
86
- // *******************************************************************************
87
-
88
- .nav-align-top,
89
- .nav-align-right,
90
- .nav-align-bottom,
91
- .nav-align-left {
92
- display: flex;
93
-
94
- > .nav,
95
- > div > .nav {
96
- border: 0;
97
- z-index: 1;
98
- position: relative;
99
- }
100
-
101
- > .nav .nav-link,
102
- > div > .nav .nav-link {
103
- &:hover,
104
- &:focus {
105
- isolation: auto;
106
- }
107
- }
108
-
109
- .row-bordered > [class^='col-'],
110
- .row-bordered > [class*=' col-'],
111
- .row-bordered > [class^='col '],
112
- .row-bordered > [class*=' col '],
113
- .row-bordered > [class$=' col'],
114
- .row-bordered > [class='col'] {
115
- &::before,
116
- &::after {
117
- border-color: $card-inner-border-color;
118
- }
119
- }
120
- }
121
-
122
- .nav-align-right,
123
- .nav-align-left {
124
- align-items: stretch;
125
-
126
- > .nav,
127
- > div > .nav {
128
- flex-grow: 0;
129
- flex-direction: column;
130
- }
131
-
132
- > .tab-content {
133
- flex-grow: 1;
134
- }
135
- }
136
-
137
- // Top tabs
138
- .nav-align-top {
139
- flex-direction: column;
140
- .nav-tabs {
141
- ~ .tab-content {
142
- z-index: 1;
143
- box-shadow: 0px 6px 7px -1px rgba($black, 0.12);
144
- }
145
- .nav-item {
146
- @include ltr-style {
147
- &:first-child .nav-link {
148
- border-top-left-radius: $border-radius;
149
- }
150
- &:last-child .nav-link {
151
- border-top-right-radius: $border-radius;
152
- }
153
- &:not(:first-child) .nav-link {
154
- border-left: 1px solid $nav-tabs-border-color;
155
- }
156
- }
157
- }
158
- .nav-link {
159
- &.active {
160
- box-shadow: $card-box-shadow;
161
- }
162
- }
163
- }
164
- }
165
-
166
- // Right tabs
167
- .nav-align-right {
168
- flex-direction: row-reverse;
169
-
170
- > .nav .nav-item,
171
- > div > .nav .nav-item {
172
- margin-left: -1px;
173
- margin-bottom: 0;
174
- }
175
- .nav-link {
176
- text-align: right;
177
- }
178
-
179
- .nav-tabs {
180
- ~ .tab-content {
181
- box-shadow: $card-box-shadow;
182
- }
183
- .nav-item {
184
- &:not(:first-child) .nav-link {
185
- border-top: 1px solid $nav-tabs-border-color;
186
- }
187
- @include ltr-style {
188
- &:first-child .nav-link {
189
- border-top-right-radius: $border-radius;
190
- }
191
- &:last-child .nav-link {
192
- border-bottom-right-radius: $border-radius;
193
- }
194
- }
195
- }
196
- .nav-link {
197
- &.active {
198
- @include ltr-style {
199
- box-shadow: 5px 4px 6px 0 rgba($black, 0.12);
200
- }
201
- }
202
- }
203
- }
204
- }
205
-
206
- // Bottom tabs
207
- .nav-align-bottom {
208
- flex-direction: column-reverse;
209
-
210
- > .nav .nav-item,
211
- > div > .nav .nav-item {
212
- margin-bottom: 0;
213
- margin-top: -1px;
214
- }
215
-
216
- .nav-tabs {
217
- ~ .tab-content {
218
- box-shadow: $card-box-shadow;
219
- }
220
- .nav-item {
221
- @include ltr-style {
222
- &:first-child .nav-link {
223
- border-bottom-left-radius: $border-radius;
224
- }
225
- &:last-child .nav-link {
226
- border-bottom-right-radius: $border-radius;
227
- }
228
- &:not(:first-child) .nav-link {
229
- border-left: 1px solid $nav-tabs-border-color;
230
- }
231
- }
232
- }
233
- .nav-link {
234
- &.active {
235
- box-shadow: 0 4px 6px 0 rgba($black, 0.12);
236
- }
237
- }
238
- }
239
- }
240
-
241
- // Left tabs
242
- .nav-align-left {
243
- > .nav .nav-item,
244
- > div > .nav .nav-item {
245
- margin-right: -1px;
246
- margin-bottom: 0;
247
- }
248
- .nav-link {
249
- text-align: left;
250
- }
251
- .nav-tabs {
252
- ~ .tab-content {
253
- box-shadow: $card-box-shadow;
254
- }
255
- .nav-item {
256
- &:not(:first-child) .nav-link {
257
- border-top: 1px solid $nav-tabs-border-color;
258
- }
259
- @include ltr-style {
260
- &:first-child .nav-link {
261
- border-top-left-radius: $border-radius;
262
- }
263
- &:last-child .nav-link {
264
- border-bottom-left-radius: $border-radius;
265
- }
266
- }
267
- }
268
- .nav-link {
269
- &.active {
270
- @include ltr-style {
271
- box-shadow: -5px 2px 6px 0 rgba($black, 0.12);
272
- }
273
- }
274
- }
275
- }
276
- }
277
-
278
- // Tab content
279
- .nav-align-top > .tab-content,
280
- .nav-align-right > .tab-content,
281
- .nav-align-bottom > .tab-content,
282
- .nav-align-left > .tab-content {
283
- flex-shrink: 1;
284
- border: $card-border-width solid $border-color;
285
- box-shadow: $card-box-shadow;
286
- background-clip: padding-box;
287
- background: $nav-tabs-link-active-bg;
288
- }
289
-
290
- .nav-align-top :not(.nav-pills) ~ .tab-content {
291
- @include border-radius(0 0 $border-radius $border-radius);
292
- }
293
- .nav-align-top .nav-tabs:not(.nav-fill) ~ .tab-content {
294
- @include ltr-style {
295
- @include border-top-end-radius($border-radius);
296
- }
297
- }
298
-
299
- .nav-align-right :not(.nav-pills) ~ .tab-content {
300
- @include border-radius($border-radius 0 0 $border-radius);
301
- }
302
-
303
- .nav-align-bottom :not(.nav-pills) ~ .tab-content {
304
- @include border-radius($border-radius $border-radius 0 0);
305
- }
306
-
307
- .nav-align-left :not(.nav-pills) ~ .tab-content {
308
- @include border-radius(0 $border-radius $border-radius 0);
309
- }
310
-
311
- .nav-align-left > .tab-content {
312
- @include border-radius(0 $border-radius $border-radius $border-radius);
313
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_navbar.scss DELETED
@@ -1,58 +0,0 @@
1
- // Navbar
2
- // *******************************************************************************
3
-
4
- .navbar {
5
- z-index: 2;
6
- // ! Fix: navbar dropdown focus outline
7
- .dropdown:focus,
8
- .dropdown-toggle:focus {
9
- outline: 0;
10
- }
11
- .navbar-toggler {
12
- border: none;
13
- }
14
- .navbar-toggler:focus {
15
- box-shadow: none;
16
- }
17
- }
18
-
19
- .fixed-top {
20
- z-index: $zindex-fixed;
21
- }
22
-
23
- .navbar.navbar-light {
24
- color: $navbar-light-color;
25
- }
26
-
27
- .navbar-light .navbar-nav .nav-link.disabled {
28
- color: $navbar-light-disabled-color !important;
29
- }
30
-
31
- .navbar.navbar-dark {
32
- color: $navbar-dark-color;
33
- }
34
-
35
- .navbar-dark .navbar-nav .nav-link.disabled {
36
- color: $navbar-dark-disabled-color !important;
37
- }
38
-
39
- // IE fix
40
- .navbar-collapse,
41
- .navbar-brand,
42
- .navbar-text {
43
- flex-shrink: 1;
44
- }
45
-
46
- // Icons
47
- // .navbar-icon {
48
- // font-size: 130%;
49
- // }
50
-
51
- // Rulers
52
- .navbar-dark hr {
53
- border-color: rgba(255, 255, 255, 0.1);
54
- }
55
-
56
- .navbar-light hr {
57
- border-color: $gray-100;
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_offcanvas.scss DELETED
@@ -1,10 +0,0 @@
1
- // Offcanvas
2
- // *******************************************************************************
3
-
4
- .offcanvas-header {
5
- padding-bottom: $offcanvas-padding-y / 2;
6
- }
7
-
8
- .offcanvas-body {
9
- padding-top: $offcanvas-padding-y / 2;
10
- }
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_pagination.scss DELETED
@@ -1,92 +0,0 @@
1
- // Pagination
2
- // *******************************************************************************
3
-
4
- // Pagination next, prev, first & last css padding
5
- .page-item {
6
- &.first,
7
- &.last,
8
- &.next,
9
- &.prev,
10
- &.previous {
11
- .page-link {
12
- padding-top: $pagination-padding-y - 0.125rem;
13
- padding-bottom: $pagination-padding-y - 0.125rem;
14
- }
15
- }
16
- &.disabled {
17
- .page-link {
18
- border-color: $pagination-border-color;
19
- }
20
- }
21
- &.active {
22
- .page-link {
23
- margin: 0 0.1rem 0 0.3rem;
24
- }
25
- }
26
- }
27
-
28
- // Pagination basic style
29
- .page-link,
30
- .page-link > a {
31
- @include border-radius($border-radius);
32
-
33
- line-height: $pagination-line-height;
34
- text-align: center;
35
- min-width: calc(
36
- #{'#{($font-size-base * $pagination-line-height) + ($pagination-padding-y * 2)} + #{$pagination-border-width * 2}'}
37
- );
38
-
39
- &:focus {
40
- color: $pagination-hover-color;
41
- }
42
- }
43
-
44
- .page-link.btn-primary {
45
- box-shadow: none !important;
46
- }
47
-
48
- // Sizing
49
- // *******************************************************************************
50
-
51
- // Pagination Large
52
- .pagination-lg .page-link,
53
- .pagination-lg > li > a:not(.page-link) {
54
- min-width: calc(
55
- #{'#{($font-size-lg * $pagination-line-height) + ($pagination-padding-y-lg * 2)} + #{$pagination-border-width * 2}'}
56
- );
57
- }
58
- .pagination-lg > .page-item {
59
- &.first,
60
- &.last,
61
- &.next,
62
- &.prev,
63
- &.previous {
64
- .page-link {
65
- padding-top: $pagination-padding-y-lg - 0.0845rem;
66
- padding-bottom: $pagination-padding-y-lg - 0.0845rem;
67
- }
68
- }
69
- }
70
-
71
- // Pagination Small
72
- .pagination-sm .page-link,
73
- .pagination-sm > li > a:not(.page-link) {
74
- min-width: calc(
75
- #{'#{($font-size-sm * $pagination-line-height) + ($pagination-padding-y-sm * 2)} + #{$pagination-border-width * 2}'}
76
- );
77
- .tf-icon {
78
- font-size: $font-size-base;
79
- }
80
- }
81
- .pagination-sm > .page-item {
82
- &.first,
83
- &.last,
84
- &.next,
85
- &.prev,
86
- &.previous {
87
- .page-link {
88
- padding-top: $pagination-padding-y-sm - 0.075rem;
89
- padding-bottom: $pagination-padding-y-sm - 0.075rem;
90
- }
91
- }
92
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_popover.scss DELETED
@@ -1,29 +0,0 @@
1
- // Popovers
2
- // *******************************************************************************
3
-
4
- .modal-open .popover {
5
- z-index: $zindex-modal + 1;
6
- }
7
-
8
- .popover {
9
- box-shadow: $popover-box-shadow;
10
-
11
- .popover-arrow {
12
- z-index: 1;
13
- }
14
- &.bs-popover-bottom > .popover-arrow {
15
- &::after {
16
- border-bottom-color: if(not $dark-style, rgba-to-hex($popover-header-bg), $popover-header-bg);
17
- top: 2px;
18
- }
19
- &:before {
20
- top: 1px;
21
- }
22
- }
23
- }
24
-
25
- // popover header font size override
26
- .popover-header {
27
- padding: $popover-header-padding-x $popover-header-padding-x $popover-header-padding-y;
28
- @include font-size($popover-header-font-size);
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_progress.scss DELETED
@@ -1,31 +0,0 @@
1
- // Progress
2
- // *******************************************************************************
3
-
4
- .progress {
5
- overflow: initial; //revet the default style for box-shadow
6
- }
7
-
8
- // Progress Shadow Variant
9
- @each $color, $value in $theme-colors {
10
- @if $color != primary {
11
- @include template-progress-bar-shadow-variant('.bg-#{$color}', $value);
12
- }
13
- }
14
-
15
- @include ltr-only {
16
- .progress-bar-striped {
17
- @include gradient-striped(rgba($white, 0.07), 45deg);
18
- }
19
-
20
- .progress {
21
- // border radius for first and last child
22
- .progress-bar:last-child {
23
- border-top-right-radius: $progress-border-radius;
24
- border-bottom-right-radius: $progress-border-radius;
25
- }
26
- .progress-bar:first-child {
27
- border-top-left-radius: $progress-border-radius;
28
- border-bottom-left-radius: $progress-border-radius;
29
- }
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_reboot.scss DELETED
@@ -1,32 +0,0 @@
1
- // Reboot
2
- //
3
-
4
- b,
5
- strong {
6
- font-weight: $font-weight-bold;
7
- }
8
-
9
- a:not([href]) {
10
- color: inherit;
11
- text-decoration: none;
12
-
13
- &:hover {
14
- color: inherit;
15
- text-decoration: none;
16
- }
17
- }
18
-
19
- //! Fix: Autofill input bg and text color issue on different OS and browsers
20
- input:-webkit-autofill,
21
- input:-webkit-autofill:hover,
22
- input:-webkit-autofill:focus,
23
- textarea:-webkit-autofill,
24
- textarea:-webkit-autofill:hover,
25
- textarea:-webkit-autofill:focus,
26
- select:-webkit-autofill,
27
- select:-webkit-autofill:hover,
28
- select:-webkit-autofill:focus,
29
- input:-internal-autofill-selected {
30
- background-clip: text !important;
31
- -webkit-background-clip: text !important;
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_root.scss DELETED
@@ -1,4 +0,0 @@
1
- // The color-scheme CSS property https://web.dev/color-scheme/
2
- :root {
3
- color-scheme: #{$color-scheme};
4
- }
 
 
 
 
 
scss/_bootstrap-extended/_spinners.scss DELETED
@@ -1,21 +0,0 @@
1
- // Spinners
2
- //
3
-
4
- //Large size
5
- .spinner-border-lg {
6
- width: $spinner-width-lg;
7
- height: $spinner-height-lg;
8
- border-width: $spinner-border-width-lg;
9
- }
10
-
11
- .spinner-grow-lg {
12
- width: $spinner-width-lg;
13
- height: $spinner-height-lg;
14
- border-width: $spinner-border-width-lg;
15
- }
16
-
17
- @include keyframes('spinner-border-rtl') {
18
- to {
19
- transform: rotate(-360deg);
20
- }
21
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_tables.scss DELETED
@@ -1,81 +0,0 @@
1
- // Tables
2
- // ********************************************************************************/
3
-
4
- @each $color, $value in $table-variants {
5
- @if $color != primary {
6
- @include template-table-variant($color, $value);
7
- }
8
- }
9
-
10
- // Style for table inside card
11
- .card {
12
- .table {
13
- margin-bottom: 0;
14
- }
15
- }
16
- @supports (-moz-appearance: none) {
17
- .table {
18
- .dropdown-menu.show {
19
- display: inline-table;
20
- }
21
- }
22
- }
23
- // Table heading style
24
- .table {
25
- th {
26
- text-transform: uppercase;
27
- font-size: 0.75rem;
28
- letter-spacing: 1px;
29
- }
30
- &:not(.table-dark) th {
31
- color: $headings-color;
32
- }
33
- }
34
-
35
- .table-border-bottom-0 {
36
- tr:last-child {
37
- td,
38
- th {
39
- border-bottom-width: 0;
40
- }
41
- }
42
- }
43
-
44
- // Dark Table icon button
45
- .table.table-dark .btn.btn-icon {
46
- color: $table-border-color;
47
- }
48
- // .table {
49
- // .btn-group {
50
- // display: block;
51
- // }
52
- // }
53
-
54
- // Flush spacing of left from first column ans right from last column
55
- .table.table-flush-spacing {
56
- thead,
57
- tbody {
58
- tr > td:first-child {
59
- padding-left: 0;
60
- }
61
- tr > td:last-child {
62
- padding-right: 0;
63
- }
64
- }
65
- }
66
-
67
- // * Table inside card
68
- // *******************************************************************************
69
-
70
- // .card,
71
- .nav-align-top,
72
- .nav-align-right,
73
- .nav-align-bottom,
74
- .nav-align-left {
75
- .table:not(.table-dark),
76
- .table:not(.table-dark) thead:not(.table-dark) th,
77
- .table:not(.table-dark) tfoot:not(.table-dark) th,
78
- .table:not(.table-dark) td {
79
- border-color: $border-inner-color;
80
- }
81
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_toasts.scss DELETED
@@ -1,58 +0,0 @@
1
- // Toasts
2
- // *******************************************************************************
3
-
4
- // Toast Mixin
5
- @each $color, $value in $theme-colors {
6
- @if $color != primary {
7
- @include template-toast-variant('.bg-#{$color}', $value);
8
- }
9
- }
10
-
11
- .bs-toast[class^='bg-'],
12
- .bs-toast[class*=' bg-'] {
13
- border: none;
14
- }
15
-
16
- .toast.bs-toast {
17
- background-color: rgba($toast-background-color, $toast-bg-factor);
18
- z-index: $zindex-toast;
19
- .toast-header {
20
- padding-bottom: 0.5rem;
21
- position: relative;
22
- .btn-close {
23
- position: absolute;
24
- top: -8px;
25
- border-radius: $border-radius;
26
- padding: 0.45rem;
27
- background-size: $toast-btn-close-size;
28
- transition: all 0.23s ease 0.1s;
29
- background-color: $toast-background-color;
30
- box-shadow: $box-shadow-sm;
31
- @include ltr-style {
32
- right: 2px;
33
- }
34
-
35
- // For hover effect of close btn
36
- &:hover,
37
- &:focus,
38
- &:active {
39
- opacity: 1;
40
- outline: none;
41
- }
42
- }
43
- }
44
- .toast-header ~ .toast-body {
45
- padding-top: 0;
46
- }
47
- }
48
-
49
- // Bootstrap Toasts Example
50
- .toast-ex {
51
- position: fixed;
52
- top: 4.1rem;
53
- right: 2.5rem;
54
- }
55
- // Placement Toast example
56
- .toast-placement-ex {
57
- position: fixed;
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_tooltip.scss DELETED
@@ -1,11 +0,0 @@
1
- // Tooltips
2
- // *******************************************************************************
3
-
4
- // Open modal tooltip z-index
5
- .modal-open .tooltip {
6
- z-index: $zindex-modal + 2;
7
- }
8
-
9
- .tooltip-inner {
10
- box-shadow: $tooltip-box-shadow;
11
- }
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_type.scss DELETED
@@ -1,2 +0,0 @@
1
- // Type
2
- //
 
 
 
scss/_bootstrap-extended/_utilities-ltr.scss DELETED
@@ -1,283 +0,0 @@
1
- // stylelint-disable indentation
2
-
3
- // Utilities
4
-
5
- // stylelint-disable-next-line scss/dollar-variable-default
6
- $utilities: map-merge(
7
- $utilities,
8
- (
9
- 'align': null,
10
- 'overflow': null,
11
- 'display': null,
12
- 'shadow': null,
13
- 'position': null,
14
- 'top': null,
15
- 'bottom': null,
16
- 'border': null,
17
- 'border-top': null,
18
- 'border-bottom': null,
19
- 'border-color': null,
20
- 'border-width': null,
21
- 'width': null,
22
- 'max-width': null,
23
- 'viewport-width': null,
24
- 'min-viewport-width': null,
25
- 'height': null,
26
- 'max-height': null,
27
- 'viewport-height': null,
28
- 'min-viewport-height': null,
29
- 'flex': null,
30
- 'flex-direction': null,
31
- 'flex-grow': null,
32
- 'flex-shrink': null,
33
- 'flex-wrap': null,
34
- 'gap': null,
35
- 'justify-content': null,
36
- 'align-items': null,
37
- 'align-content': null,
38
- 'align-self': null,
39
- 'order': null,
40
- 'margin': null,
41
- 'margin-x': null,
42
- 'margin-y': null,
43
- 'margin-top': null,
44
- 'margin-bottom': null,
45
- 'negative-margin': null,
46
- 'negative-margin-x': null,
47
- 'negative-margin-y': null,
48
- 'negative-margin-top': null,
49
- 'negative-margin-bottom': null,
50
- 'padding': null,
51
- 'padding-x': null,
52
- 'padding-y': null,
53
- 'padding-top': null,
54
- 'padding-bottom': null,
55
- 'font-family': null,
56
- 'font-size': null,
57
- 'font-style': null,
58
- 'font-weight': null,
59
- 'line-height': null,
60
- 'text-decoration': null,
61
- 'text-transform': null,
62
- 'white-space': null,
63
- 'word-wrap': null,
64
- 'color': null,
65
- 'background-color': null,
66
- 'transparent': null,
67
- 'gradient': null,
68
- 'user-select': null,
69
- 'pointer-events': null,
70
- 'rounded': null,
71
- 'rounded-top': null,
72
- 'rounded-bottom': null,
73
- 'visibility': null,
74
- 'opacity': null,
75
- 'flex-basis': null,
76
- 'cursor': null,
77
- // scss-docs-start utils-float
78
- 'float':
79
- (
80
- responsive: true,
81
- property: float,
82
- values: (
83
- start: left,
84
- end: right,
85
- none: none
86
- )
87
- ),
88
- // scss-docs-end utils-float
89
- // scss-docs-start utils-position
90
- 'end':
91
- (
92
- property: right,
93
- class: end,
94
- values: $position-values
95
- ),
96
- 'start': (
97
- property: left,
98
- class: start,
99
- values: $position-values
100
- ),
101
- 'translate-middle': (
102
- property: transform,
103
- class: translate-middle,
104
- values: (
105
- null: translate(-50%, -50%),
106
- x: translateX(-50%),
107
- y: translateY(-50%)
108
- )
109
- ),
110
- // scss-docs-end utils-position
111
- // scss-docs-start utils-borders
112
- 'border-end':
113
- (
114
- property: border-right,
115
- class: border-end,
116
- values: (
117
- null: $border-width solid $border-color,
118
- 0: 0
119
- )
120
- ),
121
- 'border-start': (
122
- property: border-left,
123
- class: border-start,
124
- values: (
125
- null: $border-width solid $border-color,
126
- 0: 0
127
- )
128
- ),
129
- // scss-docs-end utils-borders
130
- // scss-docs-start utils-text
131
- 'text-align':
132
- (
133
- responsive: true,
134
- property: text-align,
135
- class: text,
136
- values: (
137
- start: left,
138
- end: right,
139
- center: center
140
- )
141
- ),
142
- // scss-docs-end utils-text
143
- // scss-docs-start utils-border-radius
144
- 'rounded-end':
145
- (
146
- property: border-top-right-radius border-bottom-right-radius,
147
- class: rounded-end,
148
- values: (
149
- null: $border-radius
150
- )
151
- ),
152
- 'rounded-start': (
153
- property: border-bottom-left-radius border-top-left-radius,
154
- class: rounded-start,
155
- values: (
156
- null: $border-radius
157
- )
158
- ),
159
- 'rounded-start-top': (
160
- property: border-top-left-radius,
161
- class: rounded-start-top,
162
- values: (
163
- null: $border-radius
164
- )
165
- ),
166
- 'rounded-start-bottom': (
167
- property: border-bottom-left-radius,
168
- class: rounded-start-bottom,
169
- values: (
170
- null: $border-radius
171
- )
172
- ),
173
- 'rounded-end-top': (
174
- property: border-top-right-radius,
175
- class: rounded-end-top,
176
- values: (
177
- null: $border-radius
178
- )
179
- ),
180
- 'rounded-end-bottom': (
181
- property: border-bottom-right-radius,
182
- class: rounded-end-bottom,
183
- values: (
184
- null: $border-radius
185
- )
186
- ),
187
- // scss-docs-end utils-border-radius
188
- // Margin utilities
189
- // scss-docs-start utils-spacing
190
- 'margin-end':
191
- (
192
- responsive: true,
193
- property: margin-right,
194
- class: me,
195
- values:
196
- map-merge(
197
- $spacers,
198
- (
199
- auto: auto
200
- )
201
- )
202
- ),
203
- 'margin-start': (
204
- responsive: true,
205
- property: margin-left,
206
- class: ms,
207
- values:
208
- map-merge(
209
- $spacers,
210
- (
211
- auto: auto
212
- )
213
- )
214
- ),
215
- // Negative margin utilities
216
- 'negative-margin-end':
217
- (
218
- responsive: true,
219
- property: margin-right,
220
- class: me,
221
- values: $negative-spacers
222
- ),
223
- 'negative-margin-start': (
224
- responsive: true,
225
- property: margin-left,
226
- class: ms,
227
- values: $negative-spacers
228
- ),
229
- // Padding utilities
230
- 'padding-end':
231
- (
232
- responsive: true,
233
- property: padding-right,
234
- class: pe,
235
- values: $spacers
236
- ),
237
- 'padding-start': (
238
- responsive: true,
239
- property: padding-left,
240
- class: ps,
241
- values: $spacers
242
- ),
243
- // scss-docs-end utils-spacing
244
- // Custom Utilities
245
- // *******************************************************************************
246
- // scss-docs-start utils-rotate
247
- 'rotate':
248
- (
249
- property: transform,
250
- class: rotate,
251
- values: (
252
- 0: rotate(0deg),
253
- 90: rotate(90deg),
254
- 180: rotate(180deg),
255
- 270: rotate(270deg),
256
- n90: rotate(-90deg),
257
- n180: rotate(-180deg),
258
- n270: rotate(-270deg)
259
- )
260
- ),
261
- // scss-docs-end utils-rotate
262
- // scss-docs-start utils-scaleX
263
- 'scaleX':
264
- (
265
- property: transform,
266
- class: scaleX,
267
- values: (
268
- n1: scaleX(-1)
269
- )
270
- ),
271
- // scss-docs-end utils-scaleX
272
- // scss-docs-start utils-scaleY
273
- 'scaleY':
274
- (
275
- property: transform,
276
- class: scaleY,
277
- values: (
278
- n1: scaleY(-1)
279
- )
280
- )
281
- // scss-docs-end utils-scaleY
282
- )
283
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_utilities.scss DELETED
@@ -1,881 +0,0 @@
1
- // Utilities
2
- // *******************************************************************************
3
- // stylelint-disable indentation
4
-
5
- // Utilities
6
-
7
- $utilities: () !default;
8
- // stylelint-disable-next-line scss/dollar-variable-default
9
- $utilities: map-merge(
10
- (
11
- // scss-docs-start utils-vertical-align
12
- 'align':
13
- (
14
- property: vertical-align,
15
- class: align,
16
- values: baseline top middle bottom text-bottom text-top
17
- ),
18
- // scss-docs-end utils-vertical-align
19
- // scss-docs-start utils-overflow
20
- 'overflow':
21
- (
22
- property: overflow,
23
- values: auto hidden visible scroll
24
- ),
25
- // scss-docs-end utils-overflow
26
- // scss-docs-start utils-display
27
- 'display':
28
- (
29
- responsive: true,
30
- print: true,
31
- property: display,
32
- class: d,
33
- values: inline inline-block block grid table table-row table-cell flex inline-flex none
34
- ),
35
- // scss-docs-end utils-display
36
- // scss-docs-start utils-shadow
37
- 'shadow':
38
- (
39
- property: box-shadow,
40
- class: shadow,
41
- values: (
42
- null: $box-shadow,
43
- sm: $box-shadow-sm,
44
- lg: $box-shadow-lg,
45
- none: none
46
- )
47
- ),
48
- // scss-docs-end utils-shadow
49
- // scss-docs-start utils-position
50
- 'position':
51
- (
52
- property: position,
53
- values: static relative absolute fixed sticky
54
- ),
55
- 'top': (
56
- property: top,
57
- values: $position-values
58
- ),
59
- 'bottom': (
60
- property: bottom,
61
- values: $position-values
62
- ),
63
- // scss-docs-end utils-position
64
- // scss-docs-start utils-zindex
65
- 'zindex':
66
- (
67
- property: z-index,
68
- class: zindex,
69
- values: (
70
- 1: 1,
71
- 2: 2,
72
- 3: 3,
73
- 4: 4,
74
- 5: 5
75
- )
76
- ),
77
- // scss-docs-end utils-zindex
78
- // scss-docs-start utils-borders
79
- 'border':
80
- (
81
- property: border,
82
- values: (
83
- null: $border-width solid $border-color,
84
- 0: 0
85
- )
86
- ),
87
- 'border-top': (
88
- property: border-top,
89
- values: (
90
- null: $border-width solid $border-color,
91
- 0: 0
92
- )
93
- ),
94
- 'border-bottom': (
95
- property: border-bottom,
96
- values: (
97
- null: $border-width solid $border-color,
98
- 0: 0
99
- )
100
- ),
101
- 'border-color': (
102
- property: border-color,
103
- class: border,
104
- values:
105
- map-merge(
106
- $theme-colors,
107
- (
108
- 'white': $white,
109
- 'light': $gray-100,
110
- // (C)
111
- 'transparent': transparent // (C)
112
- )
113
- )
114
- ),
115
- 'border-width': (
116
- property: border-width,
117
- class: border,
118
- values: $border-widths
119
- ),
120
- // scss-docs-end utils-borders
121
- // Sizing utilities
122
- // scss-docs-start utils-sizing
123
- 'width':
124
- (
125
- property: width,
126
- class: w,
127
- values:
128
- map-merge(
129
- $sizes-px,
130
- (
131
- 25: 25%,
132
- 50: 50%,
133
- 75: 75%,
134
- 100: 100%,
135
- auto: auto
136
- )
137
- )
138
- ),
139
- 'max-width': (
140
- property: max-width,
141
- class: mw,
142
- values: (
143
- 100: 100%
144
- )
145
- ),
146
- 'viewport-width': (
147
- property: width,
148
- class: vw,
149
- values: (
150
- 100: 100vw
151
- )
152
- ),
153
- 'min-viewport-width': (
154
- property: min-width,
155
- class: min-vw,
156
- values: (
157
- 100: 100vw
158
- )
159
- ),
160
- 'height': (
161
- property: height,
162
- class: h,
163
- values:
164
- map-merge(
165
- $sizes-px,
166
- (
167
- 25: 25%,
168
- 50: 50%,
169
- 75: 75%,
170
- 100: 100%,
171
- auto: auto
172
- )
173
- )
174
- ),
175
- 'max-height': (
176
- property: max-height,
177
- class: mh,
178
- values: (
179
- 100: 100%
180
- )
181
- ),
182
- 'viewport-height': (
183
- property: height,
184
- class: vh,
185
- values: (
186
- 100: 100vh
187
- )
188
- ),
189
- 'min-viewport-height': (
190
- property: min-height,
191
- class: min-vh,
192
- values: (
193
- 100: 100vh
194
- )
195
- ),
196
- // scss-docs-end utils-sizing
197
- // Flex utilities
198
- // scss-docs-start utils-flex
199
- 'flex':
200
- (
201
- responsive: true,
202
- property: flex,
203
- values: (
204
- fill: 1 1 auto
205
- )
206
- ),
207
- 'flex-direction': (
208
- responsive: true,
209
- property: flex-direction,
210
- class: flex,
211
- values: row column row-reverse column-reverse
212
- ),
213
- 'flex-grow': (
214
- responsive: true,
215
- property: flex-grow,
216
- class: flex,
217
- values: (
218
- grow-0: 0,
219
- grow-1: 1
220
- )
221
- ),
222
- 'flex-shrink': (
223
- responsive: true,
224
- property: flex-shrink,
225
- class: flex,
226
- values: (
227
- shrink-0: 0,
228
- shrink-1: 1
229
- )
230
- ),
231
- 'flex-wrap': (
232
- responsive: true,
233
- property: flex-wrap,
234
- class: flex,
235
- values: wrap nowrap wrap-reverse
236
- ),
237
- 'gap': (
238
- responsive: true,
239
- property: gap,
240
- class: gap,
241
- values: $spacers
242
- ),
243
- 'justify-content': (
244
- responsive: true,
245
- property: justify-content,
246
- values: (
247
- start: flex-start,
248
- end: flex-end,
249
- center: center,
250
- between: space-between,
251
- around: space-around,
252
- evenly: space-evenly
253
- )
254
- ),
255
- 'align-items': (
256
- responsive: true,
257
- property: align-items,
258
- values: (
259
- start: flex-start,
260
- end: flex-end,
261
- center: center,
262
- baseline: baseline,
263
- stretch: stretch
264
- )
265
- ),
266
- 'align-content': (
267
- responsive: true,
268
- property: align-content,
269
- values: (
270
- start: flex-start,
271
- end: flex-end,
272
- center: center,
273
- between: space-between,
274
- around: space-around,
275
- stretch: stretch
276
- )
277
- ),
278
- 'align-self': (
279
- responsive: true,
280
- property: align-self,
281
- values: (
282
- auto: auto,
283
- start: flex-start,
284
- end: flex-end,
285
- center: center,
286
- baseline: baseline,
287
- stretch: stretch
288
- )
289
- ),
290
- 'order': (
291
- responsive: true,
292
- property: order,
293
- values: (
294
- first: -1,
295
- 0: 0,
296
- 1: 1,
297
- 2: 2,
298
- 3: 3,
299
- 4: 4,
300
- 5: 5,
301
- last: 6
302
- )
303
- ),
304
- // scss-docs-end utils-flex
305
- // Margin utilities
306
- // scss-docs-start utils-spacing
307
- 'margin':
308
- (
309
- responsive: true,
310
- property: margin,
311
- class: m,
312
- values:
313
- map-merge(
314
- $spacers,
315
- (
316
- auto: auto
317
- )
318
- )
319
- ),
320
- 'margin-x': (
321
- responsive: true,
322
- property: margin-right margin-left,
323
- class: mx,
324
- values:
325
- map-merge(
326
- $spacers,
327
- (
328
- auto: auto
329
- )
330
- )
331
- ),
332
- 'margin-y': (
333
- responsive: true,
334
- property: margin-top margin-bottom,
335
- class: my,
336
- values:
337
- map-merge(
338
- $spacers,
339
- (
340
- auto: auto
341
- )
342
- )
343
- ),
344
- 'margin-top': (
345
- responsive: true,
346
- property: margin-top,
347
- class: mt,
348
- values:
349
- map-merge(
350
- $spacers,
351
- (
352
- auto: auto
353
- )
354
- )
355
- ),
356
- 'margin-bottom': (
357
- responsive: true,
358
- property: margin-bottom,
359
- class: mb,
360
- values:
361
- map-merge(
362
- $spacers,
363
- (
364
- auto: auto
365
- )
366
- )
367
- ),
368
- // Negative margin utilities
369
- 'negative-margin':
370
- (
371
- responsive: true,
372
- property: margin,
373
- class: m,
374
- values: $negative-spacers
375
- ),
376
- 'negative-margin-x': (
377
- responsive: true,
378
- property: margin-right margin-left,
379
- class: mx,
380
- values: $negative-spacers
381
- ),
382
- 'negative-margin-y': (
383
- responsive: true,
384
- property: margin-top margin-bottom,
385
- class: my,
386
- values: $negative-spacers
387
- ),
388
- 'negative-margin-top': (
389
- responsive: true,
390
- property: margin-top,
391
- class: mt,
392
- values: $negative-spacers
393
- ),
394
- 'negative-margin-bottom': (
395
- responsive: true,
396
- property: margin-bottom,
397
- class: mb,
398
- values: $negative-spacers
399
- ),
400
- // Padding utilities
401
- 'padding':
402
- (
403
- responsive: true,
404
- property: padding,
405
- class: p,
406
- values: $spacers
407
- ),
408
- 'padding-x': (
409
- responsive: true,
410
- property: padding-right padding-left,
411
- class: px,
412
- values: $spacers
413
- ),
414
- 'padding-y': (
415
- responsive: true,
416
- property: padding-top padding-bottom,
417
- class: py,
418
- values: $spacers
419
- ),
420
- 'padding-top': (
421
- responsive: true,
422
- property: padding-top,
423
- class: pt,
424
- values: $spacers
425
- ),
426
- 'padding-bottom': (
427
- responsive: true,
428
- property: padding-bottom,
429
- class: pb,
430
- values: $spacers
431
- ),
432
- // scss-docs-end utils-spacing
433
- // Text
434
- // scss-docs-start utils-text
435
- 'font-family':
436
- (
437
- property: font-family,
438
- class: font,
439
- values: (
440
- monospace: var(--#{$variable-prefix}font-monospace)
441
- )
442
- ),
443
- 'font-size': (
444
- rfs: true,
445
- property: font-size,
446
- class: fs,
447
- values:
448
- map-merge(
449
- $font-sizes,
450
- (
451
- tiny: $tiny-font-size,
452
- //(C)
453
- big: $big-font-size,
454
- //(C)
455
- large: $large-font-size,
456
- //(C)
457
- xlarge: $xlarge-font-size//(C)
458
- )
459
- )
460
- ),
461
- 'font-style': (
462
- property: font-style,
463
- class: fst,
464
- values: italic normal
465
- ),
466
- 'font-weight': (
467
- property: font-weight,
468
- class: fw,
469
- values: (
470
- light: $font-weight-light,
471
- lighter: $font-weight-lighter,
472
- normal: $font-weight-normal,
473
- bold: $font-weight-bold,
474
- semibold: $font-weight-semibold,
475
- //(C)
476
- bolder: $font-weight-bolder
477
- )
478
- ),
479
- 'line-height': (
480
- property: line-height,
481
- class: lh,
482
- values: (
483
- 1: 1,
484
- inherit: inherit,
485
- //(C)
486
- sm: $line-height-sm,
487
- base: $line-height-base,
488
- lg: $line-height-lg
489
- )
490
- ),
491
- 'text-decoration': (
492
- property: text-decoration,
493
- values: none underline line-through
494
- ),
495
- 'text-transform': (
496
- property: text-transform,
497
- class: text,
498
- values: none lowercase uppercase capitalize
499
- ),
500
- 'white-space': (
501
- property: white-space,
502
- class: text,
503
- values: (
504
- wrap: normal,
505
- nowrap: nowrap
506
- )
507
- ),
508
- 'word-wrap': (
509
- property: word-wrap word-break,
510
- class: text,
511
- values: (
512
- break: break-word
513
- ),
514
- rtl: false
515
- ),
516
- // scss-docs-end utils-text
517
- // scss-docs-start utils-color
518
- 'color':
519
- (
520
- property: color,
521
- class: text,
522
- local-vars: (
523
- 'text-opacity': 1
524
- ),
525
- values:
526
- map-merge(
527
- $utilities-text-colors,
528
- (
529
- 'white': $white,
530
- 'body': $body-color,
531
- 'muted': $text-muted,
532
- 'black-50': rgba($black, 0.5),
533
- // deprecated
534
- 'white-50': rgba($white, 0.5),
535
- // deprecated
536
- 'light': $text-light,
537
- // (c)
538
- 'reset': inherit
539
- )
540
- )
541
- ),
542
- // scss-docs-end utils-color
543
- // scss-docs-start utils-bg-color
544
- 'background-color':
545
- (
546
- property: background-color,
547
- class: bg,
548
- local-vars: (
549
- 'bg-opacity': 1
550
- ),
551
- values:
552
- map-merge(
553
- $utilities-bg-colors,
554
- (
555
- 'body': $body-bg,
556
- 'white': $white,
557
- 'transparent': transparent,
558
- 'lighter': $gray-50,
559
- //(C)
560
- 'lightest': $gray-25,
561
- //(C)
562
- )
563
- )
564
- ),
565
- // scss-docs-end utils-bg-color
566
- 'gradient':
567
- (
568
- property: background-image,
569
- class: bg,
570
- values: (
571
- gradient: var(--#{$variable-prefix}gradient)
572
- )
573
- ),
574
- // scss-docs-start utils-interaction
575
- 'user-select':
576
- (
577
- property: user-select,
578
- values: all auto none
579
- ),
580
- 'pointer-events': (
581
- property: pointer-events,
582
- class: pe,
583
- values: none auto
584
- ),
585
- // scss-docs-end utils-interaction
586
- // scss-docs-start utils-border-radius
587
- 'rounded':
588
- (
589
- property: border-radius,
590
- class: rounded,
591
- values: (
592
- null: $border-radius,
593
- 0: 0,
594
- 1: $border-radius-sm,
595
- 2: $border-radius,
596
- 3: $border-radius-lg,
597
- circle: 50%,
598
- pill: $border-radius-pill
599
- )
600
- ),
601
- 'rounded-top': (
602
- property: border-top-left-radius border-top-right-radius,
603
- class: rounded-top,
604
- values: (
605
- null: $border-radius
606
- )
607
- ),
608
- 'rounded-bottom': (
609
- property: border-bottom-right-radius border-bottom-left-radius,
610
- class: rounded-bottom,
611
- values: (
612
- null: $border-radius
613
- )
614
- ),
615
- // scss-docs-end utils-border-radius
616
- // scss-docs-start utils-visibility
617
- 'visibility':
618
- (
619
- property: visibility,
620
- class: null,
621
- values: (
622
- visible: visible,
623
- invisible: hidden
624
- )
625
- ),
626
- // scss-docs-end utils-visibility
627
- // Custom Utilities
628
- // *******************************************************************************
629
- // scss-docs-start utils-flex-basis
630
- 'cursor':
631
- (
632
- property: cursor,
633
- class: cursor,
634
- values: pointer move grab
635
- ),
636
- // scss-docs-end utils-flex-basis
637
- ),
638
- $utilities
639
- );
640
-
641
- // Borders
642
- // *******************************************************************************
643
-
644
- // Bordered rows
645
- .row-bordered {
646
- overflow: hidden;
647
-
648
- > .col,
649
- > [class^='col-'],
650
- > [class*=' col-'],
651
- > [class^='col '],
652
- > [class*=' col '],
653
- > [class$=' col'],
654
- > [class='col'] {
655
- position: relative;
656
- padding-top: 1px;
657
-
658
- &::before {
659
- content: '';
660
- position: absolute;
661
- right: 0;
662
- bottom: -1px;
663
- left: 0;
664
- display: block;
665
- height: 0;
666
- border-top: 1px solid $bordered-row-border-color;
667
- }
668
-
669
- &::after {
670
- content: '';
671
- position: absolute;
672
- top: 0;
673
- bottom: 0;
674
- left: -1px;
675
- display: block;
676
- width: 0;
677
- border-left: 1px solid $bordered-row-border-color;
678
- }
679
- }
680
-
681
- &.row-border-light {
682
- > .col,
683
- > [class^='col-'],
684
- > [class*=' col-'],
685
- > [class^='col '],
686
- > [class*=' col '],
687
- > [class$=' col'],
688
- > [class='col'] {
689
- &::before,
690
- &::after {
691
- border-color: $gray-100;
692
- }
693
- }
694
- }
695
- }
696
-
697
- // Color
698
- // *******************************************************************************
699
-
700
- // Bg Label variant (Not able to include this in utils due to custom style)
701
- @each $color, $value in $theme-colors {
702
- @if $color != primary {
703
- @include bg-label-variant('.bg-label-#{$color}', $value);
704
- @include border-label-variant('.border-label-#{$color}', $value);
705
- @include border-light-variant('.border-light-#{$color}', $value);
706
- }
707
- }
708
-
709
- // ! FIX: .bg-dark & .bg-label-dark color in dark mode
710
- @if $dark-style {
711
- @include border-label-variant('.border-label-dark', $light);
712
- }
713
-
714
- // Anchor hover/focus bg colors
715
- a.bg-dark {
716
- &:hover,
717
- &:focus {
718
- background-color: $gray-900 !important;
719
- }
720
- }
721
-
722
- a.bg-light {
723
- &:hover,
724
- &:focus {
725
- background-color: $gray-200 !important;
726
- }
727
- }
728
-
729
- a.bg-lighter {
730
- &:hover,
731
- &:focus {
732
- background-color: $gray-100 !important;
733
- }
734
- }
735
-
736
- a.bg-lightest {
737
- &:hover,
738
- &:focus {
739
- background-color: $gray-50 !important;
740
- }
741
- }
742
-
743
- .text-muted[href] {
744
- &:hover,
745
- &:focus {
746
- color: $text-muted-hover !important;
747
- }
748
- }
749
-
750
- .text-light {
751
- color: $text-light !important;
752
-
753
- &[href] {
754
- &:hover,
755
- &:focus {
756
- color: $text-muted-hover !important;
757
- }
758
- }
759
- }
760
-
761
- .text-lighter {
762
- color: $text-lighter !important;
763
-
764
- &[href] {
765
- &:hover,
766
- &:focus {
767
- color: $text-muted-hover !important;
768
- }
769
- }
770
- }
771
-
772
- .text-lightest {
773
- color: $text-lightest !important;
774
-
775
- &[href] {
776
- &:hover,
777
- &:focus {
778
- color: $text-muted-hover !important;
779
- }
780
- }
781
- }
782
-
783
- // Invertible colors
784
-
785
- .invert-text-white {
786
- color: if(not $dark-style, $white, $body-bg) !important;
787
- }
788
- .invert-text-white[href]:hover {
789
- &:hover,
790
- &:focus {
791
- color: if(not $dark-style, $white, $body-bg) !important;
792
- }
793
- }
794
-
795
- .invert-text-dark {
796
- color: if(not $dark-style, $black, $white) !important;
797
- }
798
- .invert-text-dark[href]:hover {
799
- &:hover,
800
- &:focus {
801
- color: if(not $dark-style, $black, $white) !important;
802
- }
803
- }
804
-
805
- .invert-bg-white {
806
- background-color: if(not $dark-style, $white, $body-bg) !important;
807
- }
808
- a.invert-bg-white {
809
- &:hover,
810
- &:focus {
811
- background-color: if(not $dark-style, $white, $body-bg) !important;
812
- }
813
- }
814
-
815
- .invert-bg-dark {
816
- background-color: if(not $dark-style, $gray-900, $white) !important;
817
- }
818
- a.invert-bg-dark {
819
- &:hover,
820
- &:focus {
821
- background-color: if(not $dark-style, $gray-900, $white) !important;
822
- }
823
- }
824
-
825
- .invert-border-dark {
826
- border-color: if(not $dark-style, $dark, $white) !important;
827
- }
828
-
829
- .invert-border-white {
830
- border-color: if(not $dark-style, $white, $body-bg) !important;
831
- }
832
-
833
- // Misc
834
- // *******************************************************************************
835
-
836
- // Layout containers
837
- .container-p-x {
838
- padding-right: $container-padding-x-sm !important;
839
- padding-left: $container-padding-x-sm !important;
840
-
841
- @include media-breakpoint-up(lg) {
842
- padding-right: $container-padding-x !important;
843
- padding-left: $container-padding-x !important;
844
- }
845
- }
846
-
847
- .container-m-nx {
848
- margin-right: -$container-padding-x-sm !important;
849
- margin-left: -$container-padding-x-sm !important;
850
-
851
- @include media-breakpoint-up(lg) {
852
- margin-right: -$container-padding-x !important;
853
- margin-left: -$container-padding-x !important;
854
- }
855
- }
856
-
857
- .container-p-y {
858
- &:not([class^='pt-']):not([class*=' pt-']) {
859
- padding-top: $container-padding-y !important;
860
- }
861
-
862
- &:not([class^='pb-']):not([class*=' pb-']) {
863
- padding-bottom: $container-padding-y !important;
864
- }
865
- }
866
-
867
- .container-m-ny {
868
- &:not([class^='mt-']):not([class*=' mt-']) {
869
- margin-top: -$container-padding-y !important;
870
- }
871
-
872
- &:not([class^='mb-']):not([class*=' mb-']) {
873
- margin-bottom: -$container-padding-y !important;
874
- }
875
- }
876
-
877
- // Table cell
878
- .cell-fit {
879
- width: 0.1%;
880
- white-space: nowrap;
881
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/_variables.scss DELETED
@@ -1,885 +0,0 @@
1
- // Variables
2
- //
3
- // Variables should follow the `$component-state-property-size` formula for
4
- // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
5
- //
6
- // ? To change the layout colors you just need to change the $black and $body-bg colors and rest (border, card, font colors and etc...) will be adjust automatically.
7
- // ? Use https://noeldelgado.github.io/shadowlord/ to select proper 💄 Color tints and shade for $black and $body-bg color.
8
- // ? color-variables and theme-color-variables (branding colors) can be choose as per your preferences. We suggest you to use https://colors.eva.design/
9
- // ! Light style use $black to generate the $gray shades.
10
- // (C) Custom variables for extended components of bootstrap only
11
-
12
- // * Color system
13
- // *******************************************************************************
14
-
15
- // scss-docs-start gray-color-variables
16
- $white: #fff !default;
17
- $black: #435971 !default;
18
- $gray-25: rgba($black, 0.025) !default; // (C)
19
- $gray-50: rgba($black, 0.05) !default; // (C)
20
- $gray-100: rgba($black, 0.1) !default;
21
- $gray-200: rgba($black, 0.2) !default;
22
- $gray-300: rgba($black, 0.3) !default;
23
- $gray-400: rgba($black, 0.4) !default;
24
- $gray-500: rgba($black, 0.5) !default;
25
- $gray-600: rgba($black, 0.6) !default;
26
- $gray-700: rgba($black, 0.7) !default;
27
- $gray-800: rgba($black, 0.8) !default;
28
- $gray-900: rgba($black, 0.9) !default;
29
- // scss-docs-end gray-color-variables
30
-
31
- // scss-docs-start gray-colors-map
32
- $grays: (
33
- '25': $gray-25,
34
- '50': $gray-50
35
- ) !default;
36
- // scss-docs-end gray-colors-map
37
-
38
- // scss-docs-start color-variables
39
- $blue: #007bff !default;
40
- $indigo: #6610f2 !default;
41
- $purple: #696cff !default;
42
- $pink: #e83e8c !default;
43
- $red: #ff3e1d !default;
44
- $orange: #fd7e14 !default;
45
- $yellow: #ffab00 !default;
46
- $green: #71dd37 !default;
47
- $teal: #20c997 !default;
48
- $cyan: #03c3ec !default;
49
- // scss-docs-end color-variables
50
-
51
- // scss-docs-start theme-color-variables
52
- $primary: $purple !default;
53
- $secondary: #8592a3 !default;
54
- $success: $green !default;
55
- $info: $cyan !default;
56
- $warning: $yellow !default;
57
- $danger: $red !default;
58
- $light: #fcfdfd !default;
59
- $dark: #233446 !default;
60
- $gray: $gray-100 !default; // (C)
61
- // scss-docs-end theme-color-variables
62
-
63
- // scss-docs-start theme-colors-map
64
- $theme-colors: (
65
- 'primary': $primary,
66
- 'secondary': $secondary,
67
- 'success': $success,
68
- 'info': $info,
69
- 'warning': $warning,
70
- 'danger': $danger,
71
- 'light': $light,
72
- 'dark': $dark,
73
- 'gray': $gray
74
- ) !default;
75
- // scss-docs-end theme-colors-map
76
-
77
- $color-scheme: 'light' !default; // (C)
78
- // The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
79
- // See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
80
- $min-contrast-ratio: 1.7 !default;
81
-
82
- // * Options
83
- // *******************************************************************************
84
-
85
- $enable-negative-margins: true !default;
86
- $enable-validation-icons: false !default;
87
-
88
- // Prefix for :root CSS variables
89
- $variable-prefix: bs- !default;
90
-
91
- // * Spacing
92
- // *******************************************************************************
93
-
94
- $spacer: 1rem !default;
95
-
96
- $sizes-px: (
97
- px-20: 20px,
98
- px-30: 30px,
99
- px-40: 40px,
100
- px-50: 50px,
101
- px-75: 75px,
102
- px-100: 100px,
103
- px-150: 150px,
104
- px-200: 200px,
105
- px-250: 250px,
106
- px-300: 300px,
107
- px-350: 350px,
108
- px-400: 400px,
109
- px-500: 500px,
110
- px-600: 600px,
111
- px-700: 700px,
112
- px-800: 800px,
113
- auto: auto
114
- ) !default; // (C)
115
-
116
- $rgba-to-hex-bg: #fff !default; // (C)
117
- $rgba-to-hex-bg-inverted: #000 !default; // (C)
118
-
119
- // * Body
120
- // *******************************************************************************
121
-
122
- $body-bg: #f5f5f9 !default;
123
- $body-color: rgba-to-hex($gray-800, $rgba-to-hex-bg) !default;
124
-
125
- // * Links
126
- // *******************************************************************************
127
-
128
- $link-color: $primary !default;
129
- $link-decoration: none !default;
130
- $link-shade-percentage: 10% !default;
131
- $link-hover-color: shift-color($link-color, $link-shade-percentage) !default;
132
- $link-hover-decoration: null !default;
133
-
134
- // * Grid
135
- // *******************************************************************************
136
-
137
- // Grid containers
138
-
139
- // scss-docs-start container-max-widths
140
- $container-max-widths: (
141
- sm: 540px,
142
- md: 720px,
143
- lg: 960px,
144
- xl: 1140px,
145
- xxl: 1440px // Custom xxl size
146
- ) !default;
147
- // scss-docs-end container-max-widths
148
-
149
- $grid-gutter-width: 1.625rem !default;
150
- $container-padding-x: 1.625rem !default; // (C)
151
- $container-padding-x-sm: 1rem !default; // (C)
152
- $container-padding-y: 1.625rem !default; // (C)
153
-
154
- // * Components
155
- // *******************************************************************************
156
-
157
- // scss-docs-start border-variables
158
- $border-width: 1px !default;
159
- $border-color: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default;
160
- $border-inner-color: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default; // (C)
161
- // scss-docs-end border-variables
162
-
163
- // scss-docs-start border-radius-variables
164
- $border-radius: 0.375rem !default;
165
- $border-radius-xl: 0.625rem !default; // (C)
166
- $border-radius-lg: 0.5rem !default;
167
- $border-radius-sm: 0.25rem !default;
168
- $border-radius-xs: 0.125rem !default; // (C)
169
-
170
- $border-shade-amount: 25% !default; // (C)
171
- $border-tint-amount: 60% !default; // (C)
172
- // scss-docs-end border-radius-variables
173
-
174
- // scss-docs-start box-shadow-variables
175
- $box-shadow: 0 0.25rem 1rem rgba(rgba-to-hex($gray-500, $rgba-to-hex-bg), 0.45) !default;
176
- $box-shadow-sm: 0 0.125rem 0.25rem rgba(rgba-to-hex($gray-500, $rgba-to-hex-bg), 0.4) !default;
177
- $box-shadow-lg: 0 0.625rem 1.25rem rgba(rgba-to-hex($gray-500, $rgba-to-hex-bg), 0.5) !default;
178
- // scss-docs-end box-shadow-variables
179
-
180
- $component-active-color: $white !default;
181
- $component-active-bg: rgba($primary, 0.08) !default;
182
-
183
- $component-line-height: 1.54 !default; // (C)
184
- $component-focus-shadow-width: 2px !default; // (C)
185
-
186
- $floating-component-border-color: transparent !default; // (C)
187
- $floating-component-shadow: $box-shadow !default; // (C)
188
-
189
- $hr-color: $border-color !default;
190
- $hr-opacity: 1 !default;
191
- $bordered-row-border-color: $hr-color !default; // (C)
192
-
193
- // scss-docs-start caret-variables
194
- $caret-width: 0.42em !default;
195
- $caret-vertical-align: middle !default;
196
- $caret-spacing: 0.5em !default;
197
- // scss-docs-end caret-variables
198
-
199
- // * Typography
200
- // *******************************************************************************
201
-
202
- // scss-docs-start font-variables
203
- $font-family-sans-serif: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell',
204
- 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif !default;
205
- $font-family-serif: Georgia, 'Times New Roman', serif !default; // (C)
206
- $font-family-monospace: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace !default;
207
- // stylelint-enable value-keyword-case
208
- $font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;
209
- $font-family-code: var(--#{$variable-prefix}font-monospace) !default;
210
-
211
- // $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins
212
- // $font-size-base effects the font size of the body text
213
- $font-size-root: 16px !default;
214
- $font-size-base: 0.9375rem !default; // Assumes the browser default, typically `15px/16px`
215
- $font-size-xl: 1.25rem !default; // (C)
216
- $font-size-lg: 1rem !default;
217
- $font-size-sm: 0.75rem !default;
218
- $font-size-xs: $font-size-sm !default; // (C)
219
-
220
- $font-weight-semibold: 600 !default; // (C)
221
- $font-weight-bolder: 900 !default;
222
- $font-weight-lighter: 100 !default;
223
-
224
- $line-height-base: 1.53 !default;
225
- $line-height-xl: 1.5 !default; // (C)
226
- $line-height-lg: 1.5 !default;
227
- $line-height-sm: 1.5 !default;
228
- $line-height-xs: 1.5 !default; // (C)
229
-
230
- $h1-font-size: 2.375rem !default;
231
- $h2-font-size: 2rem !default;
232
- $h3-font-size: 1.625rem !default;
233
- $h4-font-size: 1.375rem !default;
234
- $h5-font-size: 1.125rem !default;
235
- $h6-font-size: $font-size-base !default;
236
- // scss-docs-end font-variables
237
-
238
- // scss-docs-start headings-variables
239
- $headings-margin-bottom: $spacer !default;
240
- $headings-font-weight: 500 !default;
241
- $headings-line-height: 1.1 !default;
242
- $headings-color: rgba-to-hex($gray-900, $rgba-to-hex-bg) !default;
243
- // scss-docs-end headings-variables
244
-
245
- // scss-docs-start display-headings
246
- $display-font-sizes: (
247
- 1: 4rem,
248
- 2: 3.5rem,
249
- 3: 3rem,
250
- 4: 2.5rem,
251
- 5: 2rem,
252
- 6: 1.5rem
253
- ) !default;
254
-
255
- $display-font-weight: 500 !default;
256
- // scss-docs-end display-headings
257
-
258
- // scss-docs-start type-variables
259
- $lead-font-size: $font-size-base * 1.125 !default;
260
- $blockquote-font-size: $font-size-base * 1.125 !default;
261
- $lead-font-weight: 400 !default;
262
- // scss-docs-end type-variables
263
-
264
- // scss-docs-start type-variables
265
- $tiny-font-size: 70% !default; // (C)
266
- $small-font-size: 85% !default;
267
- $big-font-size: 112% !default; // (C)
268
- $large-font-size: 150% !default; // (C)
269
- $xlarge-font-size: 170% !default; // (C)
270
-
271
- $text-muted: rgba-to-hex($gray-500, $rgba-to-hex-bg) !default;
272
- $text-muted-hover: rgba-to-hex($gray-600, $rgba-to-hex-bg) !default; // (C)
273
-
274
- $text-light: rgba-to-hex($gray-400, $rgba-to-hex-bg) !default; // (C)
275
- $text-lighter: rgba-to-hex($gray-300, $rgba-to-hex-bg) !default; // (C)
276
- $text-lightest: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default; // (C)
277
- // scss-docs-end type-variables
278
-
279
- // * Z-index master list
280
- // *******************************************************************************
281
-
282
- $zindex-menu-fixed: 1080 !default;
283
- $zindex-modal: 1090 !default;
284
- $zindex-modal-backdrop: $zindex-modal - 1 !default;
285
- // $zindex-modal-top: 1090 !default; // (C)
286
- $zindex-offcanvas: 1090 !default;
287
- $zindex-offcanvas-backdrop: $zindex-offcanvas - 1 !default;
288
- $zindex-layout-mobile: 1100 !default; // (C)
289
- $zindex-popover: 1091 !default;
290
- $zindex-toast: 1095 !default; // (C)
291
- $zindex-tooltip: 1099 !default;
292
- $zindex-notification: 999999 !default; // (C)
293
-
294
- // * Tables
295
- // *******************************************************************************
296
-
297
- // scss-docs-start table-variables
298
- $table-cell-padding-y: 0.625rem !default;
299
- $table-cell-padding-x: 1.25rem !default;
300
- $table-cell-padding-y-sm: 0.3125rem !default;
301
- $table-cell-padding-x-sm: 0.625rem !default;
302
-
303
- $table-cell-vertical-align: middle !default;
304
-
305
- $table-th-font-weight: $font-weight-semibold !default;
306
-
307
- $table-striped-bg-factor: 0.03 !default;
308
- $table-striped-bg: rgba-to-hex(rgba($black, $table-striped-bg-factor), $rgba-to-hex-bg) !default;
309
-
310
- $table-hover-bg-factor: 0.06 !default;
311
- $table-hover-bg: rgba($black, $table-hover-bg-factor) !default;
312
-
313
- $table-border-color: $border-color !default;
314
-
315
- $table-group-separator-color: $table-border-color !default;
316
-
317
- // * Buttons + Forms
318
- // *******************************************************************************
319
-
320
- $input-btn-padding-y: 0.4375rem !default;
321
- $input-btn-padding-x: 1.25rem !default;
322
- $input-btn-font-size: $font-size-base !default;
323
- $input-btn-line-height: $line-height-base !default;
324
-
325
- $input-btn-focus-width: 0.05rem !default;
326
- $input-btn-focus-color-opacity: 0.1 !default;
327
- $input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;
328
- $input-btn-focus-blur: 0.25rem !default;
329
- $input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;
330
-
331
- $input-btn-padding-y-xs: 0 !default; // (C)
332
- $input-btn-padding-x-xs: 0.5rem !default; // (C)
333
- $input-btn-font-size-xs: $font-size-xs !default; // (C)
334
- $input-btn-line-height-xs: $line-height-xs !default; // (C)
335
-
336
- $input-btn-padding-y-sm: 0.25rem !default;
337
- $input-btn-padding-x-sm: 0.6875rem !default;
338
- $input-btn-font-size-sm: $font-size-sm !default;
339
- $input-btn-line-height-sm: $line-height-sm !default;
340
-
341
- $input-btn-padding-y-lg: 0.75rem !default;
342
- $input-btn-padding-x-lg: 1.5rem !default;
343
- $input-btn-font-size-lg: $font-size-lg !default;
344
- $input-btn-line-height-lg: $line-height-lg !default;
345
-
346
- $input-btn-padding-y-xl: 0.875rem !default; // (C)
347
- $input-btn-padding-x-xl: 2.125rem !default; // (C)
348
- $input-btn-font-size-xl: $font-size-xl !default; // (C)
349
- $input-btn-line-height-xl: $line-height-xl !default; // (C)
350
-
351
- // * Buttons
352
- // *******************************************************************************
353
-
354
- $btn-padding-y-xs: $input-btn-padding-y-xs !default; // (C)
355
- $btn-padding-x-xs: $input-btn-padding-x-xs !default; // (C)
356
- $btn-font-size-xs: $input-btn-font-size-xs !default; // (C)
357
-
358
- $btn-padding-y-xl: $input-btn-padding-y-xl !default; // (C)
359
- $btn-padding-x-xl: $input-btn-padding-x-xl !default; // (C)
360
- $btn-font-size-xl: $input-btn-font-size-xl !default; // (C)
361
-
362
- $btn-line-height-xs: $input-btn-line-height-xs !default; // (C)
363
- $btn-line-height-sm: $line-height-sm; //(C)
364
- $btn-line-height-lg: $line-height-lg; //(C)
365
- $btn-line-height-xl: $input-btn-line-height-xl !default; // (C)
366
-
367
- $btn-box-shadow: none !default;
368
- $btn-focus-box-shadow: none !default;
369
- $btn-active-box-shadow: none !default;
370
-
371
- $btn-border-radius-xs: $border-radius-xs !default; // (C)
372
- $btn-border-radius-xl: $border-radius-xl !default; // (C)
373
-
374
- $btn-transition: all 0.2s ease-in-out !default;
375
-
376
- $btn-label-bg-shade-amount: 84% !default; // (C)
377
- $btn-label-bg-tint-amount: 84% !default; // (C)
378
-
379
- $btn-label-disabled-bg-shade-amount: 84% !default; // (C)
380
- $btn-label-disabled-bg-tint-amount: 84% !default; // (C)
381
-
382
- $btn-hover-bg-shade-amount: 10% !default;
383
- $btn-hover-bg-tint-amount: 10% !default;
384
- $btn-hover-border-shade-amount: 10% !default;
385
- $btn-hover-border-tint-amount: 10% !default;
386
- $btn-hover-transform: translateY(-1px) !default; // (C)
387
-
388
- $btn-focus-transform: translateY(0) !default; // (C)
389
-
390
- $btn-disabled-opacity: 0.65 !default;
391
-
392
- $btn-active-bg-shade-amount: 15% !default;
393
- $btn-active-bg-tint-amount: 15% !default;
394
- $btn-active-border-shade-amount: 15% !default;
395
- $btn-active-border-tint-amount: 15% !default;
396
-
397
- // * Forms
398
- // *******************************************************************************
399
-
400
- // scss-docs-start form-text-variables
401
- $form-text-margin-top: 0.3rem !default;
402
- $form-text-font-size: $small-font-size !default;
403
- $form-text-color: $text-light !default;
404
- // scss-docs-end form-text-variables
405
-
406
- // scss-docs-start form-label-variables
407
- $form-label-font-size: 0.75rem !default;
408
- $form-label-font-weight: 500 !default;
409
- $form-label-color: $headings-color !default;
410
- $form-label-letter-spacing: inherit !default; //(C)
411
- $form-label-text-transform: uppercase !default; //(C)
412
- // scss-docs-end form-label-variables
413
-
414
- // scss-docs-start form-input-variables
415
- $input-padding-x: 0.875rem !default;
416
- $input-line-height: $input-btn-line-height !default;
417
-
418
- $input-padding-x-sm: 0.625rem !default;
419
-
420
- $input-padding-x-lg: 1.25rem !default;
421
-
422
- $input-bg: $white !default;
423
- $input-disabled-bg: rgba-to-hex($gray-100, $rgba-to-hex-bg) !default;
424
-
425
- $input-color: $body-color !default;
426
- $input-border-color: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default;
427
-
428
- $input-hover-border-color: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default; // (C)
429
-
430
- $input-focus-border-color-scale: 50% !default; //(C)
431
- $input-focus-border-color: tint-color($component-active-bg, $input-focus-border-color-scale) !default;
432
-
433
- $input-placeholder-transition: all 0.25s ease;
434
- $input-placeholder-transform: translate(5px);
435
- $input-placeholder-color: rgba-to-hex($gray-400, $rgba-to-hex-bg) !default;
436
-
437
- $input-height-inner: px-to-rem(
438
- floor(rem-to-px(($input-btn-font-size * $input-btn-line-height) + ($input-btn-padding-y * 2)))
439
- ) !default;
440
- $input-height-inner-sm: px-to-rem(
441
- floor(rem-to-px(($input-btn-font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2)))
442
- ) !default; // (C)
443
- $input-height-inner-lg: px-to-rem(
444
- floor(rem-to-px(($font-size-lg * $line-height-lg) + ($input-btn-padding-y-lg * 2)))
445
- ) !default; // (C)
446
- // scss-docs-end form-input-variables
447
-
448
- // scss-docs-start form-check-variables
449
- $form-check-input-width: 1.2em !default;
450
- $form-datatables-check-input-size: 18px !default; // (C) For datatables with checkbox- update according to $form-check-input-width
451
-
452
- $form-check-input-border: 1px solid $input-border-color !default;
453
-
454
- $form-check-label-disabled-color: $text-muted !default; // (C)R
455
-
456
- $form-check-input-checked-color: $component-active-color !default;
457
- $form-check-input-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/></svg>") !default;
458
- $form-check-radio-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='1.5' fill='#{$form-check-input-checked-color}'/></svg>") !default;
459
-
460
- $form-check-input-indeterminate-color: $component-active-color !default;
461
- $form-check-input-indeterminate-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10h8'/></svg>") !default;
462
-
463
- $form-check-input-disabled-bg: $input-disabled-bg !default;
464
- // scss-docs-end form-check-variables
465
-
466
- // scss-docs-start form-switch-variables
467
- $form-switch-color: $gray-300 !default;
468
- $form-switch-width: 2em !default;
469
- $form-switch-padding-start: $form-switch-width + 0.5em !default;
470
-
471
- $form-switch-checked-bg-position-rtl: left center !default; //(C)
472
- // scss-docs-end form-switch-variables
473
-
474
- //input-group-variables
475
- $input-group-addon-color: $input-color !default;
476
- $input-group-addon-bg: $input-bg !default;
477
- $input-group-addon-border-color: $input-border-color !default;
478
- // scss-docs-end input-group-variables
479
-
480
- // scss-docs-start form-select-variables
481
- $form-select-padding-y: $input-btn-padding-y !default;
482
- $form-select-padding-x: $input-padding-x !default;
483
- $form-select-indicator-padding: $form-select-padding-x + 1rem !default;
484
- $form-select-disabled-color: $body-color !default;
485
- $form-select-disabled-bg: $input-disabled-bg !default;
486
- $form-select-bg-size: 17px 12px !default;
487
- $form-select-indicator-color: $gray-600 !default;
488
- $form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>") !default;
489
- $form-select-indicator-rtl: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>") !default; // (C)
490
-
491
- $form-select-focus-box-shadow: $input-btn-focus-box-shadow !default;
492
-
493
- $form-select-padding-y-sm: $input-btn-padding-y-sm !default;
494
- $form-select-padding-x-sm: $input-padding-x-sm !default;
495
-
496
- $form-select-padding-y-lg: $input-btn-padding-y-lg !default;
497
- $form-select-padding-x-lg: $input-padding-x-lg !default;
498
- // scss-docs-end form-select-variables
499
-
500
- // scss-docs-start form-range-variables
501
- $form-range-track-height: 0.375rem !default;
502
- $form-range-track-bg: rgba-to-hex($gray-100, $rgba-to-hex-bg) !default;
503
- $form-range-track-box-shadow: none !default;
504
- $form-range-track-disabled-bg: $gray-50 !default; // (C)
505
-
506
- $form-range-thumb-width: 0.875rem !default;
507
- $form-range-thumb-height: $form-range-thumb-width !default;
508
- $form-range-thumb-bg: $white !default;
509
- $form-range-thumb-box-shadow: 0 0 6px 0 $gray-400 !default;
510
- $form-range-thumb-focus-box-shadow: 0 0 8px 0px $gray-400 !default;
511
- $form-range-thumb-active-bg: $form-range-thumb-bg !default;
512
- $form-range-thumb-disabled-bg: rgba-to-hex($gray-200, $rgba-to-hex-bg) !default;
513
- // scss-docs-end form-range-variables
514
-
515
- // scss-docs-start form-floating-variables
516
- $form-floating-label-opacity: 0.75 !default;
517
- $form-floating-transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out !default;
518
- $form-floating-label-transform-rtl: scale(0.85) translateY(-0.5rem) translateX(-0.15rem) !default; // (C)
519
- // scss-docs-end form-floating-variables
520
-
521
- // Form validation
522
-
523
- // scss-docs-start form-feedback-variables
524
- $form-feedback-valid-color: $success !default;
525
- $form-feedback-invalid-color: $danger !default;
526
-
527
- $form-select-feedback-icon-padding: $form-select-indicator-padding + $input-height-inner !default; // (C)
528
- $form-select-feedback-icon-padding-sm: $form-select-indicator-padding + $input-height-inner-sm !default; // (C)
529
- $form-select-feedback-icon-padding-lg: $form-select-indicator-padding + $input-height-inner-lg !default; // (C)
530
- // scss-docs-end form-feedback-variables
531
-
532
- // * Navs
533
- // *******************************************************************************
534
-
535
- $nav-spacer: 0.125rem !default; // (C)
536
-
537
- $nav-link-padding-y: 0.5rem !default;
538
- $nav-link-padding-x: 1.25rem !default;
539
- $nav-link-color: $text-muted-hover !default;
540
- $nav-link-disabled-color: $text-lighter !default;
541
- $nav-link-line-height: $component-line-height !default; // (C)
542
-
543
- $nav-link-padding-y-lg: 0.875rem !default; // (C)
544
- $nav-link-padding-x-lg: 1.3125rem !default; // (C)
545
- $nav-link-line-height-lg: $line-height-lg !default; // (C)
546
-
547
- $nav-link-padding-y-sm: 0.3125rem !default; // (C)
548
- $nav-link-padding-x-sm: 0.875rem !default; // (C)
549
- $nav-link-line-height-sm: $line-height-sm !default; // (C)
550
-
551
- $nav-tabs-link-hover-border-color: $gray-100 !default;
552
- $nav-tabs-link-active-color: $body-color !default;
553
- $nav-tabs-link-active-bg: $white !default;
554
- $nav-tabs-border-color: $nav-tabs-link-active-bg !default;
555
- $nav-tabs-link-active-border-color: $nav-tabs-border-color !default;
556
- $nav-tabs-btn-bg-factor: 0.16 !default; // (C)
557
- $nav-tabs-btn-color: $headings-color !default; // (C)
558
- $nav-tabs-btn-bg: rgba-to-hex($gray-100, $rgba-to-hex-bg) !default; // (C)
559
-
560
- $nav-pills-link-active-color: $white !default;
561
- $nav-pills-link-active-bg: transparent !default;
562
-
563
- // * Navbar
564
- // *******************************************************************************
565
-
566
- $navbar-toggler-padding-y: 0 !default;
567
- $navbar-toggler-padding-x: 0 !default;
568
- $navbar-toggler-font-size: 0.75rem !default;
569
-
570
- $navbar-dark-color: rgba($white, 0.8) !default;
571
- $navbar-dark-hover-color: $white !default;
572
- $navbar-dark-active-color: $white !default;
573
- $navbar-dark-disabled-color: rgba($white, 0.4) !default;
574
- $navbar-dark-toggler-icon-bg: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='#{$navbar-dark-color}' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='#{$navbar-dark-color}' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !default;
575
-
576
- $navbar-light-color: $gray-500 !default;
577
- $navbar-light-hover-color: $body-color !default;
578
- $navbar-light-active-color: $body-color !default;
579
- $navbar-light-disabled-color: $gray-300 !default;
580
- $navbar-light-toggler-icon-bg: url("data:image/svg+xml,%3Csvg width='14px' height='11px' viewBox='0 0 14 11' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M0,0 L14,0 L14,1.75 L0,1.75 L0,0 Z M0,4.375 L14,4.375 L14,6.125 L0,6.125 L0,4.375 Z M0,8.75 L14,8.75 L14,10.5 L0,10.5 L0,8.75 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='💎-UI-Elements' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='12)-Navbar' transform='translate(-1174.000000, -1290.000000)'%3E%3Cg id='Group' transform='translate(1174.000000, 1288.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.000000)'%3E%3Cuse fill='#{$navbar-light-color}' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.1' fill='#{$navbar-light-color}' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !default;
581
- $navbar-light-toggler-border-color: rgba($black, 0.06) !default;
582
-
583
- // * Dropdowns
584
- // *******************************************************************************
585
- $dropdown-min-width: 12rem !default;
586
- $dropdown-padding-y: 0.3125rem !default;
587
- $dropdown-font-size: $font-size-base !default;
588
- $dropdown-border-color: $floating-component-border-color !default;
589
- $dropdown-divider-bg: $border-color !default;
590
- $dropdown-box-shadow: $floating-component-shadow !default;
591
-
592
- $dropdown-inner-border-radius: 0 !default;
593
-
594
- $dropdown-link-color: $body-color !default;
595
- $dropdown-link-hover-bg: rgba($black, 0.04) !default;
596
- $dropdown-link-line-height: $component-line-height !default; // (C)
597
-
598
- $dropdown-link-disabled-color: $text-lighter !default;
599
-
600
- $dropdown-item-padding-y: 0.532rem !default;
601
- $dropdown-item-padding-x: 1.25rem !default;
602
-
603
- $dropdown-header-color: $text-muted !default;
604
-
605
- $dropdown-header-padding: $dropdown-item-padding-y $dropdown-item-padding-x !default;
606
-
607
- // * Pagination
608
- // *******************************************************************************
609
-
610
- $pagination-padding-y: 0.625rem !default;
611
- $pagination-padding-x: 0.5125rem !default;
612
- $pagination-padding-y-sm: 0.375rem !default;
613
- $pagination-padding-x-sm: 0.25rem !default;
614
- $pagination-padding-y-lg: 0.9375rem !default;
615
- $pagination-padding-x-lg: 0.5rem !default;
616
-
617
- $pagination-line-height: 1 !default; // (c)
618
-
619
- $pagination-color: $body-color !default;
620
- $pagination-bg: rgba-to-hex(rgba($black, 0.08), $rgba-to-hex-bg) !default;
621
- $pagination-border-width: 0px !default;
622
- $pagination-border-radius: $border-radius-sm !default;
623
- $pagination-margin-start: 0.1875rem !default;
624
- $pagination-border-color: $border-inner-color !default;
625
-
626
- $pagination-focus-box-shadow: none !default;
627
-
628
- $pagination-focus-color: $pagination-color !default;
629
- $pagination-focus-bg: rgba-to-hex(rgba($black, 0.16), $rgba-to-hex-bg) !default;
630
-
631
- $pagination-hover-color: $pagination-color !default;
632
- $pagination-hover-bg: rgba-to-hex(rgba($black, 0.16), $rgba-to-hex-bg) !default;
633
-
634
- $pagination-disabled-color: $text-muted !default;
635
- $pagination-disabled-bg: rgba-to-hex(rgba($black, 0.04), $rgba-to-hex-bg) !default;
636
-
637
- // * Cards
638
- // *******************************************************************************
639
-
640
- $card-spacer-y: $spacer * 1.5 !default;
641
- $card-spacer-x: $spacer * 1.5 !default;
642
- $card-title-font-size: $h5-font-size !default; // (C)
643
- $card-title-spacer-y: $spacer * 0.875 !default;
644
- $card-spacer-x-sm: 1rem !default; // (C)
645
- $card-border-width: 0;
646
- $card-border-color: $border-color !default;
647
- $card-border-radius: $border-radius-lg !default;
648
- $card-box-shadow: 0 2px 6px 0 rgba($black, 0.12) !default;
649
- $card-inner-border-color: $border-inner-color !default; // (C)
650
- $card-cap-padding-y: $spacer * 1.5 !default;
651
-
652
- $card-cap-bg: transparent !default;
653
- $card-img-overlay-padding: 1.5rem !default;
654
-
655
- // * Accordion
656
- // *******************************************************************************
657
-
658
- $accordion-padding-y: 0.79rem !default;
659
- $accordion-padding-x: 1.125rem !default;
660
- $accordion-color: $body-color !default;
661
- $accordion-bg: $white !default;
662
- $accordion-button-color: $headings-color !default;
663
-
664
- $accordion-border-width: 0 !default;
665
- $accordion-border-color: $border-color !default;
666
- $accordion-button-active-bg: $accordion-bg !default;
667
- $accordion-button-active-color: $accordion-button-color !default;
668
-
669
- $accordion-icon-width: 0.75rem !default;
670
- $accordion-icon-color: $accordion-button-color !default;
671
- $accordion-icon-active-color: $accordion-button-active-color !default;
672
-
673
- $accordion-icon-transform: rotate(90deg) !default;
674
-
675
- $accordion-button-icon: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='m1.532 12 6.182-6-6.182-6L0 1.487 4.65 6 0 10.513z'/%3E%3C/defs%3E%3Cg transform='translate(2.571)' fill='none' fill-rule='evenodd'%3E%3Cuse fill='%23435971' xlink:href='%23a'/%3E%3Cuse fill-opacity='.1' fill='#{$accordion-icon-color}' xlink:href='%23a'/%3E%3C/g%3E%3C/svg%3E%0A") !default;
676
- $accordion-button-active-icon: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='m1.532 12 6.182-6-6.182-6L0 1.487 4.65 6 0 10.513z'/%3E%3C/defs%3E%3Cg transform='translate(2.571)' fill='none' fill-rule='evenodd'%3E%3Cuse fill='%23435971' xlink:href='%23a'/%3E%3Cuse fill-opacity='.1' fill='#{$accordion-icon-active-color}' xlink:href='%23a'/%3E%3C/g%3E%3C/svg%3E%0A") !default;
677
-
678
- // * Tooltips
679
- // *******************************************************************************
680
-
681
- $tooltip-bg: $dark !default;
682
- $tooltip-opacity: 1 !default;
683
- $tooltip-box-shadow: $box-shadow-sm !default; // (C)
684
- $tooltip-padding-y: 0.25rem !default;
685
- $tooltip-padding-x: 0.7rem !default;
686
- $tooltip-font-size: $font-size-base !default;
687
- $tooltip-border-radius: $border-radius-sm !default;
688
-
689
- // * Popovers
690
- // *******************************************************************************
691
-
692
- $popover-bg: $white !default;
693
- $popover-font-size: $font-size-base !default;
694
- $popover-box-shadow: $floating-component-shadow !default;
695
- $popover-border-width: 0px !default;
696
- $popover-header-bg: transparent !default;
697
- $popover-header-padding-y: 0 !default;
698
- $popover-header-padding-x: 1.125rem !default;
699
- $popover-header-font-size: $h5-font-size !default; // (C)
700
-
701
- $popover-body-padding-y: 1.125rem !default;
702
- $popover-body-padding-x: $popover-body-padding-y !default;
703
- $popover-arrow-outer-color: $popover-bg !default;
704
-
705
- // * Toasts
706
- // *******************************************************************************
707
-
708
- $toast-padding-x: 1.25rem !default;
709
- $toast-padding-y: $toast-padding-x !default;
710
- $toast-font-size: $font-size-base !default;
711
- $toast-background-color: $white !default;
712
- $toast-bg-factor: 0.85 !default; // (C)
713
- $toast-border-width: 0 !default;
714
- $toast-border-color: $gray-100 !default;
715
- $toast-border-radius: $border-radius-lg !default;
716
- $toast-box-shadow: $floating-component-shadow !default;
717
-
718
- $toast-header-color: $body-color !default;
719
- $toast-header-background-color: transparent !default;
720
- $toast-header-border-color: transparent !default;
721
- $toast-spacing: 1.25rem !default;
722
-
723
- $toast-btn-close-size: 0.625em !default; // (C)
724
-
725
- // * Badges
726
- // *******************************************************************************
727
-
728
- $badge-font-size: 0.8125em !default;
729
- $badge-font-weight: 500 !default;
730
- $badge-padding-y: 0.52em !default;
731
- $badge-padding-x: 0.593em !default;
732
- $badge-border-radius: $border-radius-sm !default;
733
-
734
- $badge-height: 1.5rem !default; // (C)
735
- $badge-width: 1.5rem !default; // (C)
736
- $badge-line-height: 0.75 !default; // (C)
737
-
738
- // * Modals
739
- // *******************************************************************************
740
- $modal-inner-padding: $spacer * 1.5 !default;
741
- $modal-dialog-margin: 1.5rem !default;
742
-
743
- $modal-content-border-width: 0px !default;
744
- $modal-content-box-shadow-xs: 0 2px 16px 0 rgba($black, 0.45) !default;
745
- $modal-content-box-shadow-sm-up: 0 2px 20px 0 rgba($black, 0.45) !default;
746
- $modal-header-border-width: 0px !default;
747
-
748
- $modal-header-padding-y: 0.25rem !default;
749
- $modal-header-padding-x: $modal-inner-padding !default;
750
- $modal-header-padding: $modal-header-padding-x $modal-header-padding-x $modal-header-padding-y !default; // Keep this for backwards compatibility
751
- $modal-footer-padding: $modal-header-padding-y $modal-header-padding-x $modal-header-padding-x !default; // (C)
752
-
753
- $modal-lg: 50rem !default;
754
- $modal-md: 35rem !default;
755
- $modal-sm: 22.5rem !default;
756
-
757
- $modal-fade-transform: translateY(-100px) scale(0.8) !default;
758
- $modal-show-transform: translateY(0) scale(1) !default;
759
-
760
- $modal-transition-duration: 0.15s !default; // (C)
761
- $modal-transition: transform $modal-transition-duration ease-out !default;
762
-
763
- $modal-simple-padding: 3rem !default; // (C)
764
- $modal-simple-close-position: 1rem !default; // (C)
765
-
766
- // * Alerts
767
- // *******************************************************************************
768
-
769
- $alert-padding-y: $spacer * 0.9375 !default;
770
- $alert-padding-x: $spacer * 0.9375 !default;
771
- $alert-border-width: 0 !default;
772
- $alert-bg-scale: -84% !default;
773
- $alert-border-scale: -70% !default;
774
- $alert-color-scale: 0% !default;
775
-
776
- // * Progress bars
777
- // *******************************************************************************
778
-
779
- $progress-height: 0.75rem !default;
780
- $progress-font-size: 0.625rem !default;
781
- $progress-bg: $gray-100 !default;
782
- $progress-border-radius: 10rem !default;
783
- $progress-bar-color: $white !default;
784
-
785
- // List group
786
- // *******************************************************************************
787
-
788
- // scss-docs-start list-group-variables
789
- $list-group-color: $body-color !default;
790
- $list-group-bg: transparent !default;
791
- $list-group-border-color: $border-color !default;
792
- $list-group-item-padding-y: 0.58rem !default;
793
- $list-group-item-padding-x: 0.9375rem !default;
794
- $list-group-item-color-scale: 0 !default;
795
- $list-group-border-radius: $border-radius-lg !default;
796
- $list-group-item-bg-hover-scale: 5% !default; // (c)
797
-
798
- $list-group-hover-bg: rgba($black, 0.06) !default;
799
- $list-group-active-color: $white !default;
800
-
801
- $list-group-disabled-color: $text-lighter !default;
802
-
803
- $list-group-action-color: $text-muted-hover !default;
804
- $list-group-action-hover-color: $body-color !default;
805
- $list-group-action-active-bg: $gray-50 !default;
806
- // scss-docs-end list-group-variables
807
-
808
- // * Image thumbnails
809
- // *******************************************************************************
810
-
811
- $thumbnail-padding: 0 !default;
812
- $thumbnail-bg: transparent !default;
813
- $thumbnail-border-width: 0px !default;
814
- $thumbnail-border-radius: 0px !default;
815
-
816
- // * Figures
817
- // *******************************************************************************
818
-
819
- $figure-caption-color: $text-muted !default;
820
-
821
- // * Breadcrumbs
822
- // *******************************************************************************
823
-
824
- $breadcrumb-padding-y: 0 !default;
825
- $breadcrumb-padding-x: 0 !default;
826
- $breadcrumb-item-padding-x: 0.5rem !default;
827
- $breadcrumb-margin-bottom: 1rem !default;
828
- $breadcrumb-bg: transparent !default;
829
- $breadcrumb-divider-color: $text-muted !default;
830
- $breadcrumb-active-color: $body-color !default;
831
- $breadcrumb-divider: '/' !default;
832
- $breadcrumb-divider-flipped: '\\' !default;
833
- $breadcrumb-color: $body-color !default; // (C)
834
-
835
- // * Carousel
836
- // *******************************************************************************
837
- $carousel-control-color: $white !default;
838
- $carousel-control-width: 14% !default;
839
- $carousel-control-icon-width: 2.55rem !default;
840
- $carousel-control-opacity: 1 !default;
841
- $carousel-control-hover-opacity: 1 !default;
842
-
843
- $carousel-control-prev-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: #{$carousel-control-color};transform: ;msFilter:;'%3E%3Cpath d='M13.293 6.293 7.586 12l5.707 5.707 1.414-1.414L10.414 12l4.293-4.293z'%3E%3C/path%3E%3C/svg%3E") !default;
844
- $carousel-control-next-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: #{$carousel-control-color};transform: ;msFilter:;'%3E%3Cpath d='M10.707 17.707 16.414 12l-5.707-5.707-1.414 1.414L13.586 12l-4.293 4.293z'%3E%3C/path%3E%3C/svg%3E") !default;
845
-
846
- // Spinners
847
- // *******************************************************************************
848
-
849
- $spinner-width-lg: 3rem !default; // (C)
850
- $spinner-height-lg: $spinner-width-lg !default; // (C)
851
- $spinner-border-width-lg: 0.3em !default; // (C)
852
-
853
- // * Close
854
- // *******************************************************************************
855
-
856
- $btn-close-width: 0.8em !default;
857
- $btn-close-height: $btn-close-width !default;
858
- $btn-close-color: $text-muted !default;
859
- $btn-close-bg: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='🎨-%5BSetup%5D:-Colors-&amp;-Shadows' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-225.000000, -250.000000)'%3E%3Cg id='Icon-Color' transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='#{$btn-close-color}' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='#{$btn-close-color}' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !default;
860
- $btn-close-focus-shadow: none !default;
861
- $btn-close-opacity: 0.95 !default;
862
- $btn-close-hover-opacity: 0.95 !default;
863
- $btn-close-focus-opacity: 0.95 !default;
864
-
865
- $close-font-weight: 300 !default; // (C)
866
-
867
- // * Offcanvas
868
- // *******************************************************************************
869
-
870
- // scss-docs-start offcanvas-variables
871
- $offcanvas-transition-duration: 0.25s !default;
872
- // scss-docs-end offcanvas-variables
873
-
874
- // Utilities
875
- $overflows: auto, hidden, scroll, visible !default;
876
-
877
- // Config
878
- $rtl-support: false !default;
879
- $dark-style: false !default;
880
-
881
- // * Chevron Icons
882
- // ********************************************************************************
883
-
884
- $chevron-up: "data:image/svg+xml,%3Csvg width='10px' height='6px' viewBox='0 0 10 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='0 4.57961362 1.23882951 5.71428571 5 2.26934419 8.76117049 5.71428571 10 4.57961362 5 0'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='⚙️-Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='31)-DataTables' transform='translate(-289.000000, -64.000000)'%3E%3Cg id='Table-Basic' transform='translate(0.000000, 52.000000)'%3E%3Cg id='Table-Header' transform='translate(19.000000, 10.000000)'%3E%3Cg id='Group' transform='translate(270.000000, 0.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.142857)'%3E%3Cuse fill='#{str-replace(#{rgba-to-hex($gray-500,$rgba-to-hex-bg)},'#', '%23')}' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.5' fill='#{str-replace(#{rgba-to-hex($gray-500,$rgba-to-hex-bg)},'#', '%23')}' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
885
- $chevron-down: "data:image/svg+xml,%3Csvg width='10px' height='6px' viewBox='0 0 10 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='8.76117049 0 5 3.44494152 1.23882951 0 0 1.1346721 5 5.71428571 10 1.1346721'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='⚙️-Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='31)-DataTables' transform='translate(-289.000000, -76.000000)'%3E%3Cg id='Table-Basic' transform='translate(0.000000, 52.000000)'%3E%3Cg id='Table-Header' transform='translate(19.000000, 10.000000)'%3E%3Cg id='Group' transform='translate(270.000000, 12.000000)'%3E%3Cg id='Icon-Color' transform='translate(0.000000, 2.142857)'%3E%3Cuse fill='#{str-replace(#{rgba-to-hex($gray-500,$rgba-to-hex-bg)},'#', '%23')}' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='0.8' fill='#{str-replace(#{rgba-to-hex($gray-500,$rgba-to-hex-bg)},'#', '%23')}' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_floating-labels.scss DELETED
@@ -1,12 +0,0 @@
1
- // Floating Labels
2
- // *******************************************************************************
3
-
4
- // Display placeholder on focus
5
- .form-floating {
6
- > .form-control:focus,
7
- > .form-control:not(:placeholder-shown) {
8
- &::placeholder {
9
- color: $input-placeholder-color;
10
- }
11
- }
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_form-control.scss DELETED
@@ -1,12 +0,0 @@
1
- // Form control
2
- // *******************************************************************************
3
-
4
- .form-control {
5
- &::placeholder {
6
- transition: $input-placeholder-transition;
7
- }
8
- &:focus::placeholder {
9
- transform: $input-placeholder-transform;
10
- transition: $input-placeholder-transition;
11
- }
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_form-range.scss DELETED
@@ -1,52 +0,0 @@
1
- // Range select
2
- // *******************************************************************************
3
-
4
- .form-range {
5
- // Chrome specific
6
- &::-webkit-slider-thumb {
7
- box-shadow: $form-range-thumb-box-shadow;
8
- transition: transform 0.2s;
9
- transform-origin: center;
10
-
11
- &:focus {
12
- box-shadow: $form-range-thumb-focus-box-shadow;
13
- }
14
-
15
- &:active {
16
- transform: scale(1.4, 1.4);
17
- }
18
- }
19
-
20
- // Mozilla specific
21
- &::-moz-range-thumb {
22
- box-shadow: $form-range-thumb-box-shadow;
23
- transition: transform 0.2s;
24
- transform-origin: center;
25
-
26
- &:focus {
27
- box-shadow: $form-range-thumb-focus-box-shadow;
28
- }
29
-
30
- &:active {
31
- transform: scale(1.4, 1.4);
32
- }
33
- }
34
-
35
- &:disabled {
36
- &::-webkit-slider-runnable-track {
37
- background-color: $form-range-track-disabled-bg;
38
- }
39
-
40
- &::-moz-range-track {
41
- background-color: $form-range-track-disabled-bg;
42
- box-shadow: none;
43
- }
44
-
45
- &::-webkit-slider-thumb {
46
- box-shadow: none;
47
- }
48
- &::-moz-range-thumb {
49
- box-shadow: none;
50
- }
51
- }
52
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_form-select.scss DELETED
@@ -1,6 +0,0 @@
1
- // Select
2
- // *******************************************************************************
3
-
4
- .form-select {
5
- background-clip: padding-box;
6
- }
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_input-group.scss DELETED
@@ -1,68 +0,0 @@
1
- // Input groups
2
- // *******************************************************************************
3
-
4
- // Using :focus-within to apply focus/validation border and shadow to default and merged input-group
5
- .input-group {
6
- &:focus-within {
7
- box-shadow: $input-focus-box-shadow;
8
- .form-control,
9
- .input-group-text {
10
- box-shadow: none;
11
- }
12
- }
13
- // For disabled input group
14
- &.disabled {
15
- .input-group-text {
16
- background-color: $input-disabled-bg;
17
- }
18
- }
19
- }
20
-
21
- // input-group-text icon size
22
- .input-group-text {
23
- background-clip: padding-box;
24
- i {
25
- @include font-size($input-font-size);
26
- }
27
- }
28
- .input-group-lg > .input-group-text {
29
- i {
30
- @include font-size($input-font-size-lg);
31
- }
32
- }
33
- .input-group-sm > .input-group-text {
34
- i {
35
- @include font-size($input-font-size-sm);
36
- }
37
- }
38
-
39
- // Merge input
40
-
41
- // Input group merge .form-control border & padding
42
- @include ltr-only {
43
- .input-group-merge {
44
- .input-group-text {
45
- &:first-child {
46
- border-right: 0;
47
- }
48
- &:last-child {
49
- border-left: 0;
50
- }
51
- }
52
- .form-control {
53
- &:not(:first-child) {
54
- padding-left: 0;
55
- border-left: 0;
56
- }
57
- &:not(:last-child) {
58
- padding-right: 0;
59
- border-right: 0;
60
- }
61
- }
62
- }
63
- }
64
-
65
- // Adding transition (On focus border color change)
66
- .input-group-text {
67
- @include transition($input-transition);
68
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_labels.scss DELETED
@@ -1,17 +0,0 @@
1
- // Labels
2
- // *******************************************************************************
3
-
4
- .form-label,
5
- .col-form-label {
6
- font-size: $form-label-font-size;
7
- text-transform: $form-label-text-transform;
8
- letter-spacing: $form-label-letter-spacing;
9
- }
10
- // Default (vertical ) form label size
11
- .form-label-lg {
12
- @include font-size($input-font-size-lg);
13
- }
14
-
15
- .form-label-sm {
16
- @include font-size($input-font-size-sm);
17
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/forms/_validation.scss DELETED
@@ -1,59 +0,0 @@
1
- // Validation states
2
- // *******************************************************************************
3
-
4
- @each $state, $data in $form-validation-states {
5
- @include template-form-validation-state($state, $data...);
6
- }
7
-
8
- // Currently supported for formvalidation and jq-validation
9
- form {
10
- .error:not(li):not(input) {
11
- color: $form-feedback-invalid-color;
12
- font-size: 85%;
13
- margin-top: 0.25rem;
14
- }
15
-
16
- .invalid,
17
- .is-invalid .invalid:before,
18
- .is-invalid::before {
19
- border-color: $form-feedback-invalid-color !important;
20
- }
21
-
22
- .form-label {
23
- &.invalid,
24
- &.is-invalid {
25
- border-color: $form-feedback-invalid-color;
26
- box-shadow: 0 0 0 2px rgba($form-feedback-invalid-color, 0.4) !important;
27
- }
28
- }
29
-
30
- select {
31
- &.invalid {
32
- & ~ .select2 {
33
- .select2-selection {
34
- border-color: $form-feedback-invalid-color;
35
- }
36
- }
37
- }
38
-
39
- // FormValidation
40
-
41
- //Select2
42
- &.is-invalid {
43
- & ~ .select2 {
44
- .select2-selection {
45
- border-color: $form-feedback-invalid-color !important;
46
- }
47
- }
48
- }
49
- // Bootstrap select
50
- &.selectpicker {
51
- &.is-invalid {
52
- ~ .btn {
53
- border-color: 1px solid $form-feedback-invalid-color;
54
- border-color: $form-feedback-invalid-color;
55
- }
56
- }
57
- }
58
- }
59
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/mixins/_alert.scss DELETED
@@ -1,41 +0,0 @@
1
- // Alerts
2
- // *******************************************************************************
3
-
4
- @mixin alert-variant($background: null, $border: null, $color: null) {
5
- }
6
-
7
- // Basic Alerts
8
- @mixin template-alert-variant($parent, $background) {
9
- $border: if(
10
- $dark-style,
11
- shift-color($background, -$alert-border-scale, $card-bg),
12
- shift-color($background, $alert-border-scale, $card-bg)
13
- );
14
- $color: if($dark-style, shift-color($background, -$alert-color-scale), shift-color($background, $alert-color-scale));
15
- $background: if(
16
- $dark-style,
17
- shift-color($background, -$alert-bg-scale, $card-bg),
18
- shift-color($background, $alert-bg-scale, $card-bg)
19
- );
20
-
21
- #{$parent} {
22
- @include gradient-bg($background);
23
- border-color: $border;
24
- color: $color;
25
- .btn-close {
26
- background-image: str-replace(str-replace($btn-close-bg, '#{$btn-close-color}', $color), '#', '%23');
27
- }
28
-
29
- .alert-link {
30
- color: $color;
31
- }
32
- }
33
-
34
- .card {
35
- #{$parent} {
36
- hr {
37
- background-color: $color !important;
38
- }
39
- }
40
- }
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/mixins/_badge.scss DELETED
@@ -1,9 +0,0 @@
1
- // Badges
2
- // *******************************************************************************
3
-
4
- // Size
5
- @mixin badge-size($badge-height, $badge-width, $badge-font-size) {
6
- height: $badge-height;
7
- width: $badge-width;
8
- @include font-size($badge-font-size);
9
- }
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/mixins/_buttons.scss DELETED
@@ -1,171 +0,0 @@
1
- // Buttons
2
- // *******************************************************************************
3
-
4
- // Basic
5
- @mixin button-variant($background: null, $border: null, $active-background: null, $active-border: null) {
6
- }
7
- @mixin template-button-variant($parent, $background, $color: null, $border: null) {
8
- $background: $background;
9
- $border: $background;
10
- $color: if($color, $color, color-contrast($background));
11
- $hover-background: if(
12
- $color == $color-contrast-light,
13
- shade-color($background, $btn-hover-bg-shade-amount),
14
- tint-color($background, $btn-hover-bg-tint-amount)
15
- );
16
- $hover-border: if(
17
- $color == $color-contrast-light,
18
- shade-color($border, $btn-hover-border-shade-amount),
19
- tint-color($border, $btn-hover-border-tint-amount)
20
- );
21
- $hover-color: color-contrast($hover-background);
22
-
23
- $active-background: if(
24
- $color == $color-contrast-light,
25
- shade-color($background, $btn-active-bg-shade-amount),
26
- tint-color($background, $btn-active-bg-tint-amount)
27
- );
28
- $active-border: if(
29
- $color == $color-contrast-light,
30
- shade-color($border, $btn-active-border-shade-amount),
31
- tint-color($border, $btn-active-border-tint-amount)
32
- );
33
- $active-color: color-contrast($active-background);
34
- $disabled-background: $background;
35
- $disabled-border: $border;
36
- $disabled-color: color-contrast($disabled-background);
37
-
38
- #{$parent} {
39
- color: $color;
40
- @include gradient-bg($background);
41
- border-color: $border;
42
- @include box-shadow($btn-box-shadow);
43
- box-shadow: 0 0.125rem 0.25rem 0 rgba($background, 0.4);
44
-
45
- &:hover {
46
- color: $hover-color;
47
- @include gradient-bg($hover-background);
48
- border-color: $hover-border;
49
- transform: $btn-hover-transform;
50
- }
51
-
52
- .btn-check:focus + &,
53
- &:focus,
54
- &.focus {
55
- color: $hover-color;
56
- @include gradient-bg($hover-background);
57
- border-color: $hover-border;
58
- transform: $btn-focus-transform;
59
- box-shadow: none;
60
- }
61
-
62
- .btn-check:checked + &,
63
- .btn-check:active + &,
64
- &:active,
65
- &.active,
66
- .show > &.dropdown-toggle {
67
- color: $active-color;
68
- background-color: $active-background;
69
- // Remove CSS gradients if they're enabled
70
- background-image: if($enable-gradients, none, null);
71
- border-color: $active-border;
72
-
73
- &:focus {
74
- box-shadow: none;
75
- }
76
- }
77
-
78
- &.disabled,
79
- &:disabled {
80
- box-shadow: none;
81
- }
82
- }
83
-
84
- //? Button groups border (Uncomment if needed)
85
- // .btn-group #{$parent},
86
- // .input-group #{$parent} {
87
- // border-right: $input-btn-border-width solid $active-background;
88
- // border-left: $input-btn-border-width solid $active-background;
89
- // }
90
- }
91
-
92
- // Outline
93
- @mixin button-outline-variant($color: null, $color-hover: null, $hover-color: null) {
94
- }
95
- // ? $hover-color <-> $color-hover used by bootstrap
96
- @mixin template-button-outline-variant($parent, $color, $hover-color: null) {
97
- $color: $color;
98
- $background: $color;
99
- $color-hover: color-contrast($color);
100
-
101
- $focus-background: $color;
102
-
103
- $hover-background: if(
104
- $color-hover == $color-contrast-light,
105
- shade-color($background, $btn-hover-bg-shade-amount),
106
- tint-color($background, $btn-hover-bg-tint-amount)
107
- );
108
-
109
- $active-background: if(
110
- $color-hover == $color-contrast-light,
111
- shade-color($background, $btn-active-bg-shade-amount),
112
- tint-color($background, $btn-active-bg-tint-amount)
113
- );
114
-
115
- #{$parent} {
116
- color: $color;
117
- border-color: $color;
118
- background: transparent;
119
-
120
- &:hover {
121
- color: $color-hover;
122
- background-color: $hover-background;
123
- border-color: $hover-background;
124
- box-shadow: 0 0.125rem 0.25rem 0 rgba($background, 0.4);
125
- transform: $btn-hover-transform;
126
- }
127
-
128
- .btn-check:focus + &,
129
- &:focus {
130
- color: $color-hover;
131
- background-color: $hover-background;
132
- border-color: $hover-background;
133
- box-shadow: none;
134
- transform: $btn-focus-transform;
135
- }
136
-
137
- .btn-check:checked + &,
138
- .btn-check:active + &,
139
- &:active,
140
- &.active,
141
- &.dropdown-toggle.show {
142
- color: $color-hover;
143
- background-color: $active-background;
144
- border-color: $active-background;
145
- &:focus {
146
- box-shadow: none;
147
- }
148
- }
149
-
150
- &.disabled,
151
- &:disabled {
152
- box-shadow: none;
153
- }
154
- }
155
-
156
- #{$parent} .badge {
157
- background: $color;
158
- border-color: $color;
159
- color: color-contrast($color);
160
- }
161
-
162
- #{$parent}:hover .badge,
163
- #{$parent}:focus:hover .badge,
164
- #{$parent}:active .badge,
165
- #{$parent}.active .badge,
166
- .show > #{$parent}.dropdown-toggle .badge {
167
- background: $color-hover;
168
- border-color: $color-hover;
169
- color: if(alpha($color) ==1, $color, color-contrast($color-hover));
170
- }
171
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/mixins/_caret.scss DELETED
@@ -1,42 +0,0 @@
1
- // * Carets
2
- // *******************************************************************************
3
-
4
- @mixin caret-up {
5
- margin-top: -0;
6
- width: $caret-width;
7
- height: $caret-width;
8
- border: 1px solid;
9
- border-bottom: 0;
10
- border-left: 0;
11
- transform: rotate(-45deg);
12
- }
13
-
14
- @mixin caret-down {
15
- margin-top: -1 * divide($caret-width, 1.5);
16
- width: $caret-width;
17
- height: $caret-width;
18
- border: 1px solid;
19
- border-top: 0;
20
- border-left: 0;
21
- transform: rotate(45deg);
22
- }
23
-
24
- @mixin caret-left {
25
- margin-top: -1 * divide($caret-width, 2.5);
26
- width: $caret-width;
27
- height: $caret-width;
28
- border: 1px solid;
29
- border-top: 0;
30
- border-right: 0;
31
- transform: rotate(45deg);
32
- }
33
-
34
- @mixin caret-right {
35
- margin-top: -1 * divide($caret-width, 2.5);
36
- width: $caret-width;
37
- height: $caret-width;
38
- border: 1px solid;
39
- border-top: 0;
40
- border-left: 0;
41
- transform: rotate(-45deg);
42
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
scss/_bootstrap-extended/mixins/_dropdown.scss DELETED
@@ -1,20 +0,0 @@
1
- // * Dropdowns
2
- // *******************************************************************************
3
-
4
- @mixin template-dropdown-variant($parent, $background, $color: null) {
5
- #{$parent} .dropdown-item:not(.disabled).active,
6
- #{$parent} .dropdown-item:not(.disabled):active {
7
- background-color: $background;
8
- color: if($color, $color, color-contrast($background)) !important;
9
- }
10
-
11
- #{$parent}.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
12
- #{$parent}.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
13
- background-color: $background;
14
- color: if($color, $color, color-contrast($background)) !important;
15
- }
16
- }
17
-
18
- @mixin template-dropdown-theme($background, $color: null) {
19
- @include template-dropdown-variant('', $background, $color);
20
- }