apache-airflow-providers-fab 1.5.3__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. airflow/providers/fab/LICENSE +0 -52
  2. airflow/providers/fab/__init__.py +3 -3
  3. airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +4 -5
  4. airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +5 -5
  5. airflow/providers/fab/auth_manager/api/auth/backend/session.py +2 -2
  6. airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +15 -15
  7. airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +13 -14
  8. airflow/providers/fab/auth_manager/api_fastapi/__init__.py +16 -0
  9. airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +16 -0
  10. airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +32 -0
  11. airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +16 -0
  12. airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml +153 -0
  13. airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +16 -0
  14. airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +51 -0
  15. airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +16 -0
  16. airflow/providers/fab/auth_manager/api_fastapi/services/login.py +58 -0
  17. airflow/providers/fab/auth_manager/cli_commands/db_command.py +1 -3
  18. airflow/providers/fab/auth_manager/cli_commands/user_command.py +2 -2
  19. airflow/providers/fab/auth_manager/cli_commands/utils.py +12 -11
  20. airflow/providers/fab/auth_manager/fab_auth_manager.py +238 -126
  21. airflow/providers/fab/auth_manager/models/__init__.py +1 -1
  22. airflow/providers/fab/auth_manager/models/anonymous_user.py +1 -1
  23. airflow/providers/fab/auth_manager/models/db.py +22 -5
  24. airflow/providers/fab/auth_manager/openapi/v1.yaml +9 -0
  25. airflow/providers/fab/auth_manager/schemas/user_schema.py +1 -1
  26. airflow/providers/fab/auth_manager/security_manager/override.py +186 -655
  27. airflow/providers/fab/auth_manager/views/permissions.py +1 -1
  28. airflow/providers/fab/auth_manager/views/roles_list.py +1 -1
  29. airflow/providers/fab/auth_manager/views/user.py +1 -1
  30. airflow/providers/fab/auth_manager/views/user_edit.py +1 -1
  31. airflow/providers/fab/auth_manager/views/user_stats.py +1 -1
  32. airflow/providers/fab/get_provider_info.py +29 -34
  33. airflow/providers/fab/www/airflow_flask_app.py +31 -0
  34. airflow/providers/fab/www/api_connexion/__init__.py +17 -0
  35. airflow/providers/fab/www/api_connexion/exceptions.py +197 -0
  36. airflow/providers/fab/www/api_connexion/parameters.py +131 -0
  37. airflow/providers/fab/www/api_connexion/security.py +84 -0
  38. airflow/providers/fab/www/api_connexion/types.py +30 -0
  39. airflow/providers/fab/www/app.py +120 -0
  40. airflow/providers/fab/www/auth.py +350 -0
  41. airflow/providers/fab/www/constants.py +28 -0
  42. airflow/providers/fab/www/extensions/__init__.py +16 -0
  43. airflow/providers/fab/www/extensions/init_appbuilder.py +606 -0
  44. airflow/providers/fab/www/extensions/init_jinja_globals.py +82 -0
  45. airflow/providers/fab/www/extensions/init_manifest_files.py +61 -0
  46. airflow/providers/fab/www/extensions/init_security.py +61 -0
  47. airflow/providers/fab/www/extensions/init_session.py +64 -0
  48. airflow/providers/fab/www/extensions/init_views.py +177 -0
  49. airflow/providers/fab/www/package-lock.json +8939 -0
  50. airflow/providers/fab/www/package.json +77 -0
  51. airflow/providers/fab/www/security/__init__.py +17 -0
  52. airflow/providers/fab/www/security/permissions.py +126 -0
  53. airflow/providers/fab/www/security_appless.py +44 -0
  54. airflow/providers/fab/www/security_manager.py +122 -0
  55. airflow/providers/fab/www/session.py +41 -0
  56. airflow/providers/fab/www/static/css/bootstrap-theme.css +6215 -0
  57. airflow/providers/fab/www/static/css/flash.css +57 -0
  58. airflow/providers/fab/www/static/css/loading-dots.css +60 -0
  59. airflow/providers/fab/www/static/css/main.css +676 -0
  60. airflow/providers/fab/www/static/css/material-icons.css +84 -0
  61. airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +1 -0
  62. airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +1 -0
  63. airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css +33 -0
  64. airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js +1 -0
  65. airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +1 -0
  66. airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css +18 -0
  67. airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js +1 -0
  68. airflow/providers/fab/www/static/dist/jquery-ui.min.css +5 -0
  69. airflow/providers/fab/www/static/dist/jquery-ui.min.js +2 -0
  70. airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +4 -0
  71. airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css +18 -0
  72. airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js +1 -0
  73. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.css +18 -0
  74. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js +2 -0
  75. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js.LICENSE.txt +18 -0
  76. airflow/providers/fab/www/static/dist/manifest.json +20 -0
  77. airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css +18 -0
  78. airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js +1 -0
  79. airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js +2 -0
  80. airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js.LICENSE.txt +11 -0
  81. airflow/providers/fab/www/static/dist/oss-licenses.json +20 -0
  82. airflow/providers/fab/www/static/js/datetime_utils.js +134 -0
  83. airflow/providers/fab/www/static/js/main.js +324 -0
  84. airflow/providers/fab/www/static/sort_asc.png +0 -0
  85. airflow/providers/fab/www/static/sort_both.png +0 -0
  86. airflow/providers/fab/www/static/sort_desc.png +0 -0
  87. airflow/providers/fab/www/templates/airflow/_messages.html +30 -0
  88. airflow/providers/fab/www/templates/airflow/error.html +35 -0
  89. airflow/providers/fab/www/templates/airflow/main.html +78 -0
  90. airflow/providers/fab/www/templates/airflow/traceback.html +53 -0
  91. airflow/providers/fab/www/templates/appbuilder/flash.html +34 -0
  92. airflow/providers/fab/www/templates/appbuilder/index.html +20 -0
  93. airflow/providers/fab/www/templates/appbuilder/navbar.html +60 -0
  94. airflow/providers/fab/www/templates/appbuilder/navbar_menu.html +60 -0
  95. airflow/providers/fab/www/templates/appbuilder/navbar_right.html +64 -0
  96. airflow/providers/fab/www/utils.py +288 -0
  97. airflow/providers/fab/www/views.py +129 -0
  98. airflow/providers/fab/www/webpack.config.js +213 -0
  99. {apache_airflow_providers_fab-1.5.3.dist-info → apache_airflow_providers_fab-2.0.0.dist-info}/METADATA +29 -37
  100. apache_airflow_providers_fab-2.0.0.dist-info/RECORD +125 -0
  101. {apache_airflow_providers_fab-1.5.3.dist-info → apache_airflow_providers_fab-2.0.0.dist-info}/WHEEL +1 -1
  102. airflow/providers/fab/auth_manager/decorators/auth.py +0 -126
  103. apache_airflow_providers_fab-1.5.3.dist-info/RECORD +0 -51
  104. /airflow/providers/fab/{auth_manager/decorators → www}/__init__.py +0 -0
  105. {apache_airflow_providers_fab-1.5.3.dist-info → apache_airflow_providers_fab-2.0.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,676 @@
1
+ /*!
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ body {
21
+ position: relative;
22
+ padding: 70px 0;
23
+ min-height: 100vh;
24
+ overflow-y: scroll;
25
+ background-color: #fff;
26
+ }
27
+
28
+ nav {
29
+ box-shadow: 0 3px 3px #aaa;
30
+ z-index: 999;
31
+ }
32
+
33
+ pre {
34
+ overflow: auto;
35
+ word-wrap: normal;
36
+ white-space: pre;
37
+ }
38
+
39
+ pre code {
40
+ overflow-wrap: normal;
41
+ white-space: pre;
42
+ }
43
+
44
+ input,
45
+ select {
46
+ margin: 0;
47
+ }
48
+
49
+ div.container {
50
+ width: 98%;
51
+ padding-left: 15px;
52
+ padding-right: 15px;
53
+ }
54
+
55
+ .navbar a {
56
+ color: #51504f;
57
+ font-weight: bold;
58
+ }
59
+
60
+ .navbar a .caret {
61
+ color: #e2d2e2;
62
+ }
63
+
64
+ /* If a category has a lot of menu items, we cap it, and
65
+ add a scroll bar */
66
+ .navbar li.dropdown .dropdown-menu {
67
+ max-height: 85vh;
68
+ overflow-y: auto;
69
+ }
70
+
71
+ .navbar-nav li.dropdown:hover > .dropdown-menu,
72
+ .navbar-nav li.dropdown:focus-within > .dropdown-menu {
73
+ display: block;
74
+ }
75
+
76
+ /* If a menu remains open due to focus, a menu
77
+ opened via hover will always be displayed on top */
78
+ .navbar-nav li.dropdown:hover > .dropdown-menu {
79
+ z-index: 1001;
80
+ }
81
+
82
+ .navbar-brand {
83
+ padding: 0 15px;
84
+ height: 60px;
85
+ display: inline-flex;
86
+ align-items: center;
87
+ }
88
+
89
+ .brand-logo {
90
+ width: 104px;
91
+ height: 40px;
92
+ overflow: visible !important; /* Allow for animation */
93
+ }
94
+
95
+ @keyframes pinSpin {
96
+ from {
97
+ transform: rotate(0) translateX(0);
98
+ }
99
+
100
+ to {
101
+ transform: rotate(360deg) translateX(0);
102
+ }
103
+ }
104
+
105
+ @media (prefers-reduced-motion: no-preference) {
106
+ .navbar-brand:hover .brand-logo-pinwheel {
107
+ transform-origin: 17.66px 17.66px;
108
+ animation: pinSpin 1.5s linear;
109
+ }
110
+ }
111
+
112
+ .navbar-user-icon {
113
+ display: inline-flex;
114
+ justify-content: center;
115
+ align-items: center;
116
+ vertical-align: middle;
117
+ margin: -5px 0;
118
+ width: 30px;
119
+ height: 30px;
120
+ border-radius: 50%;
121
+ color: #017cee;
122
+ background-color: #c0defb;
123
+ }
124
+
125
+ span.status_square {
126
+ width: 10px;
127
+ height: 10px;
128
+ border: 1px solid grey;
129
+ display: inline-block;
130
+ padding-left: 0;
131
+ cursor: pointer;
132
+ }
133
+
134
+ div.squares {
135
+ float: right;
136
+ font-size: 1;
137
+ }
138
+
139
+ .d3-tip {
140
+ background: rgba(0, 0, 0, 0.85);
141
+ color: #fff;
142
+ border: 0;
143
+ border-radius: 5px;
144
+ padding: 10px;
145
+ margin-top: -4px;
146
+ }
147
+
148
+ input#execution_date {
149
+ width: 220px;
150
+ margin-bottom: 0;
151
+ }
152
+
153
+ table.highlighttable {
154
+ width: 100%;
155
+ table-layout: fixed;
156
+ }
157
+
158
+ div.linenodiv {
159
+ padding-right: 1px !important;
160
+ }
161
+
162
+ .linenos {
163
+ width: 50px;
164
+ border: 0;
165
+ }
166
+
167
+ div.linenodiv pre {
168
+ padding-left: 0;
169
+ padding-right: 4px;
170
+ color: #8e8e8d;
171
+ background-color: transparent;
172
+ text-align: right;
173
+ }
174
+
175
+ .wrap {
176
+ white-space: pre-wrap;
177
+ }
178
+
179
+ .code {
180
+ font-family: monospace;
181
+ }
182
+
183
+ #sql {
184
+ border: 1px solid #ccc;
185
+ border-radius: 5px;
186
+ }
187
+
188
+ .ace_editor div {
189
+ font: inherit !important;
190
+ }
191
+
192
+ #ace_container {
193
+ margin: 10px 0;
194
+ }
195
+
196
+ #sql_ace {
197
+ visibility: hidden;
198
+ }
199
+
200
+ table.dataframe {
201
+ font-size: 12px;
202
+ }
203
+
204
+ table.dataframe tbody tr td {
205
+ padding: 2px;
206
+ }
207
+
208
+ table.dataframe.dataTable thead > tr > th {
209
+ padding: 10px 20px 10px 10px;
210
+ }
211
+
212
+ table.dataTable.dataframe thead .sorting {
213
+ background: url("./../sort_both.png") no-repeat center right;
214
+ }
215
+
216
+ table.dataTable.dataframe thead .sorting_desc {
217
+ background: url("./../sort_desc.png") no-repeat center right;
218
+ }
219
+
220
+ table.dataTable.dataframe thead .sorting_asc {
221
+ background: url("./../sort_asc.png") no-repeat center right;
222
+ }
223
+
224
+ .no-wrap {
225
+ white-space: nowrap;
226
+ }
227
+
228
+ div.form-inline {
229
+ margin-bottom: 5px;
230
+ }
231
+
232
+ body div.panel {
233
+ padding: 0;
234
+ }
235
+
236
+ .legend-row {
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: space-between;
240
+ }
241
+
242
+ .legend-item {
243
+ display: inline-flex;
244
+ align-items: center;
245
+ margin-right: 4px;
246
+ border-radius: 4px;
247
+ border: solid 2px #cbcbcb;
248
+ padding: 0 3px;
249
+ font-size: 11px;
250
+ }
251
+
252
+ .legend-item--interactive {
253
+ cursor: pointer;
254
+ }
255
+
256
+ .legend-item--no-border {
257
+ border-color: transparent;
258
+ padding: 0;
259
+ }
260
+
261
+ .legend-item:last-child {
262
+ margin-right: 0;
263
+ }
264
+
265
+ .legend-item__swatch {
266
+ display: inline-block;
267
+ margin-right: 3px;
268
+ width: 12px;
269
+ height: 12px;
270
+ border-radius: 2px;
271
+ border: solid 1px #8e8e8d;
272
+ background: #fff;
273
+ }
274
+
275
+ .legend-item__swatch--circle {
276
+ border-radius: 50%;
277
+ width: 14px;
278
+ height: 14px;
279
+ }
280
+
281
+ .legend-item__swatch--no-border {
282
+ border-color: transparent;
283
+ }
284
+
285
+ label[for="timezone-other"],
286
+ #timezone-other {
287
+ margin: 3px 20px;
288
+ font-weight: normal;
289
+ }
290
+
291
+ #timezone-menu {
292
+ overflow-x: hidden;
293
+ }
294
+
295
+ #timezone-menu ul.typeahead.dropdown-menu {
296
+ max-height: 200px;
297
+ overflow-y: auto;
298
+ overflow-x: hidden;
299
+ border: none;
300
+ left: 0 !important;
301
+ }
302
+
303
+ #timezone-menu .dropdown-item {
304
+ padding: 3px 20px;
305
+ }
306
+
307
+ .ui-menu .ui-menu-item a.ui-state-focus,
308
+ .ui-menu .ui-menu-item a.ui-state-active {
309
+ border: 1px solid white;
310
+ border-left: 1px solid #ccc;
311
+ background: #f6f6f6;
312
+ color: #454545;
313
+ }
314
+
315
+ /* depending on the version of FAB in use, we may have a style conflict */
316
+ .bootstrap-datetimepicker-widget .datepicker > div {
317
+ display: block;
318
+ }
319
+
320
+ .accordion-toggle {
321
+ display: block;
322
+ }
323
+
324
+ .accordion-toggle.collapsed > .toggle-direction {
325
+ transform: rotate(180deg);
326
+ }
327
+
328
+ .hll {
329
+ background-color: #ffc;
330
+ }
331
+
332
+ .c {
333
+ color: #408080;
334
+ font-style: italic;
335
+ } /* Comment */
336
+
337
+ .err {
338
+ border: 1px solid #f00;
339
+ } /* Error */
340
+
341
+ .k {
342
+ color: #008000;
343
+ font-weight: bold;
344
+ } /* Keyword */
345
+
346
+ .o {
347
+ color: #666;
348
+ } /* Operator */
349
+
350
+ .cm {
351
+ color: #408080;
352
+ font-style: italic;
353
+ } /* Comment.Multiline */
354
+
355
+ .cp {
356
+ color: #bc7a00;
357
+ } /* Comment.Preproc */
358
+
359
+ .c1 {
360
+ color: #408080;
361
+ font-style: italic;
362
+ } /* Comment.Single */
363
+
364
+ .cs {
365
+ color: #408080;
366
+ font-style: italic;
367
+ } /* Comment.Special */
368
+
369
+ .gd {
370
+ color: #a00000;
371
+ } /* Generic.Deleted */
372
+ .ge {
373
+ font-style: italic;
374
+ } /* Generic.Emph */
375
+
376
+ .gr {
377
+ color: #f00;
378
+ } /* Generic.Error */
379
+
380
+ .gh {
381
+ color: #000080;
382
+ font-weight: bold;
383
+ } /* Generic.Heading */
384
+
385
+ .gi {
386
+ color: #00a000;
387
+ } /* Generic.Inserted */
388
+
389
+ .go {
390
+ color: #888;
391
+ } /* Generic.Output */
392
+
393
+ .gp {
394
+ color: #000080;
395
+ font-weight: bold;
396
+ } /* Generic.Prompt */
397
+
398
+ .gs {
399
+ font-weight: bold;
400
+ } /* Generic.Strong */
401
+
402
+ .gu {
403
+ color: #800080;
404
+ font-weight: bold;
405
+ } /* Generic.Subheading */
406
+
407
+ .gt {
408
+ color: #04d;
409
+ } /* Generic.Traceback */
410
+
411
+ .kc {
412
+ color: #008000;
413
+ font-weight: bold;
414
+ } /* Keyword.Constant */
415
+
416
+ .kd {
417
+ color: #008000;
418
+ font-weight: bold;
419
+ } /* Keyword.Declaration */
420
+
421
+ .kn {
422
+ color: #008000;
423
+ font-weight: bold;
424
+ } /* Keyword.Namespace */
425
+
426
+ .kp {
427
+ color: #008000;
428
+ } /* Keyword.Pseudo */
429
+
430
+ .kr {
431
+ color: #008000;
432
+ font-weight: bold;
433
+ } /* Keyword.Reserved */
434
+
435
+ .kt {
436
+ color: #b00040;
437
+ } /* Keyword.Type */
438
+
439
+ .m {
440
+ color: #666;
441
+ } /* Literal.Number */
442
+
443
+ .s {
444
+ color: #ba2121;
445
+ } /* Literal.String */
446
+
447
+ .na {
448
+ color: #7d9029;
449
+ } /* Name.Attribute */
450
+
451
+ .nb {
452
+ color: #008000;
453
+ } /* Name.Builtin */
454
+
455
+ .nc {
456
+ color: #00f;
457
+ font-weight: bold;
458
+ } /* Name.Class */
459
+
460
+ .no {
461
+ color: #800;
462
+ } /* Name.Constant */
463
+
464
+ .nd {
465
+ color: #a2f;
466
+ } /* Name.Decorator */
467
+
468
+ .ni {
469
+ color: #999;
470
+ font-weight: bold;
471
+ } /* Name.Entity */
472
+
473
+ .ne {
474
+ color: #d2413a;
475
+ font-weight: bold;
476
+ } /* Name.Exception */
477
+
478
+ .nf {
479
+ color: #00f;
480
+ } /* Name.Function */
481
+
482
+ .nl {
483
+ color: #a0a000;
484
+ } /* Name.Label */
485
+
486
+ .nn {
487
+ color: #00f;
488
+ font-weight: bold;
489
+ } /* Name.Namespace */
490
+
491
+ .nt {
492
+ color: #008000;
493
+ font-weight: bold;
494
+ } /* Name.Tag */
495
+
496
+ .nv {
497
+ color: #19177c;
498
+ } /* Name.Variable */
499
+
500
+ .ow {
501
+ color: #a2f;
502
+ font-weight: bold;
503
+ } /* Operator.Word */
504
+
505
+ .w {
506
+ color: #bbb;
507
+ } /* Text.Whitespace */
508
+
509
+ .mb {
510
+ color: #666;
511
+ } /* Literal.Number.Bin */
512
+
513
+ .mf {
514
+ color: #666;
515
+ } /* Literal.Number.Float */
516
+
517
+ .mh {
518
+ color: #666;
519
+ } /* Literal.Number.Hex */
520
+
521
+ .mi {
522
+ color: #666;
523
+ } /* Literal.Number.Integer */
524
+
525
+ .mo {
526
+ color: #666;
527
+ } /* Literal.Number.Oct */
528
+
529
+ .sb {
530
+ color: #ba2121;
531
+ } /* Literal.String.Backtick */
532
+
533
+ .sc {
534
+ color: #ba2121;
535
+ } /* Literal.String.Char */
536
+
537
+ .sd {
538
+ color: #ba2121;
539
+ font-style: italic;
540
+ } /* Literal.String.Doc */
541
+
542
+ .s2 {
543
+ color: #ba2121;
544
+ } /* Literal.String.Double */
545
+
546
+ .s1 {
547
+ color: #ba2121;
548
+ } /* Literal.String.Single */
549
+
550
+ .footer {
551
+ display: flex;
552
+ align-items: center;
553
+ justify-content: space-between;
554
+ position: absolute;
555
+ bottom: 0;
556
+ width: 100%;
557
+ height: 60px;
558
+ color: #8e8e8d;
559
+ background-color: #f5f5f5;
560
+ }
561
+
562
+ .dag-view-tools {
563
+ margin: 16px 0;
564
+ padding: 16px 0;
565
+ background-color: #f0f0f0;
566
+ }
567
+
568
+ .code-wrap {
569
+ position: relative;
570
+ margin-top: 30px;
571
+ }
572
+
573
+ .code-wrap-toggle {
574
+ position: absolute;
575
+ top: 15px;
576
+ right: 15px;
577
+ }
578
+
579
+ .search-input {
580
+ position: relative;
581
+ }
582
+
583
+ .search-input__input {
584
+ padding-right: 40px;
585
+ }
586
+
587
+ .search-input__clear-btn {
588
+ position: absolute;
589
+ right: 2px;
590
+ top: 2px;
591
+ border: 0;
592
+ }
593
+
594
+ /* Override default Bootstrap behavior to prevent wrapping */
595
+ .btn-group {
596
+ display: inline-flex;
597
+ }
598
+
599
+ /* Override FAB table views where table width extends beyond parent containers */
600
+ .panel-body .panel-group + div {
601
+ overflow-x: auto;
602
+ }
603
+
604
+ .task-instance-modal-column {
605
+ margin-top: 8px;
606
+ overflow-x: auto;
607
+ }
608
+
609
+ .refresh-actions {
610
+ justify-content: flex-end;
611
+ min-width: 225px;
612
+ float: right;
613
+ display: inline-flex;
614
+ align-items: center;
615
+ right: 10px;
616
+ margin-bottom: 15px;
617
+ position: relative;
618
+ }
619
+
620
+ .refresh-actions > .switch-label {
621
+ margin: 0 10px;
622
+ }
623
+
624
+ .loading-dots.refresh-loading {
625
+ display: none;
626
+ }
627
+
628
+ .trigger-dropdown-btn {
629
+ border-bottom-right-radius: 0;
630
+ border-top-right-radius: 0;
631
+ border-right-width: 0;
632
+ }
633
+
634
+ .trigger-dropdown-menu {
635
+ left: -112px;
636
+ }
637
+
638
+ .dropdown-form-btn {
639
+ padding: 3px 20px;
640
+ line-height: 1.428571429;
641
+ color: #51504f;
642
+ background-color: white;
643
+ border: none;
644
+ width: 100%;
645
+ text-align: left;
646
+ }
647
+
648
+ .dropdown-form-btn:hover,
649
+ .dropdown-form-btn:focus {
650
+ color: #262626;
651
+ background-color: #f5f5f5;
652
+ }
653
+
654
+ .tooltip {
655
+ z-index: 0;
656
+ max-width: 300px;
657
+ }
658
+
659
+ .tooltip.in,
660
+ .tooltip.d3-tip {
661
+ z-index: 1070;
662
+ }
663
+
664
+ details summary {
665
+ display: list-item;
666
+ }
667
+
668
+ .menu-scroll {
669
+ max-height: 300px;
670
+ overflow-y: auto;
671
+ }
672
+
673
+ .next-asset-triggered:hover {
674
+ cursor: pointer;
675
+ background-color: #cbcbcb;
676
+ }