aa-ledger 1.0.4__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 (280) hide show
  1. {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/METADATA +5 -6
  2. aa_ledger-2.0.0.dist-info/RECORD +267 -0
  3. ledger/__init__.py +2 -2
  4. ledger/admin.py +23 -18
  5. ledger/api/__init__.py +23 -7
  6. ledger/api/{ledger/admin.py → admin.py} +25 -31
  7. ledger/api/alliance.py +755 -0
  8. ledger/api/character.py +786 -0
  9. ledger/api/corporation.py +1141 -0
  10. ledger/api/{helpers.py → helpers/core.py} +33 -33
  11. ledger/api/helpers/icons.py +372 -0
  12. ledger/api/helpers/planetary_helper.py +354 -0
  13. ledger/api/planetary.py +354 -0
  14. ledger/api/schema.py +240 -15
  15. ledger/app_settings.py +11 -27
  16. ledger/auth_hooks.py +2 -2
  17. ledger/constants.py +50 -177
  18. ledger/decorators.py +2 -46
  19. ledger/forms.py +133 -39
  20. ledger/helpers/billboard.py +194 -144
  21. ledger/helpers/cache.py +105 -0
  22. ledger/helpers/discord.py +2 -4
  23. ledger/helpers/eveonline.py +160 -0
  24. ledger/helpers/ledger_data.py +23 -0
  25. ledger/helpers/ref_type.py +53 -78
  26. ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  27. ledger/locale/cs_CZ/LC_MESSAGES/django.po +349 -193
  28. ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  29. ledger/locale/de/LC_MESSAGES/django.po +528 -379
  30. ledger/locale/django.pot +721 -546
  31. ledger/locale/es/LC_MESSAGES/django.mo +0 -0
  32. ledger/locale/es/LC_MESSAGES/django.po +349 -194
  33. ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  34. ledger/locale/fr_FR/LC_MESSAGES/django.po +349 -193
  35. ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  36. ledger/locale/it_IT/LC_MESSAGES/django.po +349 -193
  37. ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
  38. ledger/locale/ja/LC_MESSAGES/django.po +348 -193
  39. ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  40. ledger/locale/ko_KR/LC_MESSAGES/django.po +349 -193
  41. ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  42. ledger/locale/nl_NL/LC_MESSAGES/django.po +349 -193
  43. ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  44. ledger/locale/pl_PL/LC_MESSAGES/django.po +350 -193
  45. ledger/locale/ru/LC_MESSAGES/django.mo +0 -0
  46. ledger/locale/ru/LC_MESSAGES/django.po +348 -193
  47. ledger/locale/sk/LC_MESSAGES/django.mo +0 -0
  48. ledger/locale/sk/LC_MESSAGES/django.po +348 -193
  49. ledger/locale/uk/LC_MESSAGES/django.mo +0 -0
  50. ledger/locale/uk/LC_MESSAGES/django.po +348 -193
  51. ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  52. ledger/locale/zh_Hans/LC_MESSAGES/django.po +348 -193
  53. ledger/managers/character_audit_manager.py +28 -20
  54. ledger/managers/character_journal_manager.py +185 -357
  55. ledger/managers/character_mining_manager.py +52 -26
  56. ledger/managers/character_planetary_manager.py +178 -136
  57. ledger/managers/corporation_audit_manager.py +36 -27
  58. ledger/managers/corporation_journal_manager.py +92 -56
  59. ledger/managers/general_manager.py +8 -7
  60. ledger/migrations/0018_remove_characterplanet_ledger_char_planet__58a5b6_idx_and_more.py +44 -0
  61. ledger/migrations/0019_rename_characteraudit_characterowner_and_more.py +48 -0
  62. ledger/models/__init__.py +5 -11
  63. ledger/models/characteraudit.py +101 -109
  64. ledger/models/corporationaudit.py +94 -49
  65. ledger/models/general.py +105 -211
  66. ledger/models/helpers/update_manager.py +302 -0
  67. ledger/models/planetary.py +60 -205
  68. ledger/providers.py +101 -0
  69. ledger/static/ledger/css/{ledger.css → aa-ledger.css} +54 -28
  70. ledger/static/ledger/js/aa-ledger.js +124 -0
  71. ledger/static/ledger/js/charts.js +25 -1
  72. ledger/static/ledger/js/view-alliance-ledger.js +383 -0
  73. ledger/static/ledger/js/view-character-ledger.js +388 -0
  74. ledger/static/ledger/js/view-corporation-ledger.js +402 -0
  75. ledger/static/ledger/js/view-planetary.js +492 -0
  76. ledger/static/ledger/libs/amCharts/5.14.4/js/flow.js +2 -0
  77. ledger/static/ledger/libs/amCharts/5.14.4/js/index.js +2 -0
  78. ledger/static/ledger/libs/amCharts/5.14.4/js/percent.js +2 -0
  79. ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Animated.js +2 -0
  80. ledger/static/ledger/libs/amCharts/5.14.4/js/themes/Dark.js +2 -0
  81. ledger/static/ledger/libs/amCharts/5.14.4/js/xy.js +2 -0
  82. ledger/static/ledger/libs/datatables/2.3.5/css/dataTables.bootstrap5.css +610 -0
  83. ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.bootstrap5.js +122 -0
  84. ledger/static/ledger/libs/datatables/2.3.5/js/dataTables.js +14127 -0
  85. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.bootstrap5.css +516 -0
  86. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/css/columnControl.dataTables.css +529 -0
  87. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/columnControl.bootstrap5.js +73 -0
  88. ledger/static/ledger/libs/datatables/Extensions/ColumnControl/1.1.1/js/dataTables.columnControl.js +3090 -0
  89. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/css/fixedHeader.bootstrap5.css +20 -0
  90. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/dataTables.fixedHeader.js +1203 -0
  91. ledger/static/ledger/libs/datatables/Extensions/FixedHeader/4.0.4/js/fixedHeader.bootstrap5.js +59 -0
  92. ledger/tasks.py +157 -141
  93. ledger/templates/ledger/base.html +59 -21
  94. ledger/templates/ledger/bundles/aa-ledger-css.html +3 -0
  95. ledger/templates/ledger/bundles/aa-ledger-js.html +3 -0
  96. ledger/templates/ledger/bundles/view-alliance-ledger-js.html +14 -0
  97. ledger/templates/ledger/bundles/view-character-ledger-js.html +15 -0
  98. ledger/templates/ledger/bundles/view-character-planetary-css.html +3 -0
  99. ledger/templates/ledger/bundles/view-character-planetary-js.html +4 -0
  100. ledger/templates/ledger/bundles/view-corporation-ledger-js.html +15 -0
  101. ledger/templates/ledger/partials/modal/confirm.html +0 -1
  102. ledger/templates/ledger/partials/modal/request-accept-delete-alliance.html +38 -0
  103. ledger/templates/ledger/partials/modal/request-accept-delete-character.html +38 -0
  104. ledger/templates/ledger/partials/modal/request-accept-delete-corporation.html +38 -0
  105. ledger/templates/ledger/partials/modal/request-accept-switch-notification.html +38 -0
  106. ledger/templates/ledger/partials/modal/request-view-alliance-details.html +26 -0
  107. ledger/templates/ledger/partials/modal/request-view-character-details.html +26 -0
  108. ledger/templates/ledger/partials/modal/request-view-corporation-details.html +26 -0
  109. ledger/templates/ledger/partials/modal/request-view-extractor.html +32 -0
  110. ledger/templates/ledger/partials/modal/request-view-factory.html +31 -0
  111. ledger/templates/ledger/partials/{menu → navigation}/administration.html +8 -0
  112. ledger/templates/ledger/partials/{menu → navigation}/navigation.html +2 -2
  113. ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance_corporations.html +3 -3
  114. ledger/templates/ledger/partials/view-alliance-administration/dashboard.html +81 -0
  115. ledger/templates/ledger/partials/view-alliance-ledger/alliance-billboard.html +25 -0
  116. ledger/templates/ledger/partials/view-alliance-ledger/alliance-ledger-details.html +21 -0
  117. ledger/templates/ledger/partials/view-alliance-ledger/alliance-table.html +24 -0
  118. ledger/templates/ledger/partials/view-alliance-ledger/information/daily.html +18 -0
  119. ledger/templates/ledger/partials/view-alliance-ledger/information/hourly.html +18 -0
  120. ledger/templates/ledger/partials/view-alliance-ledger/information/summary.html +19 -0
  121. ledger/templates/ledger/partials/{administration → view-character-administration}/character.html +1 -9
  122. ledger/templates/ledger/partials/{administration → view-character-administration}/dashboard.html +0 -34
  123. ledger/templates/ledger/partials/view-character-ledger/character-billboard.html +25 -0
  124. ledger/templates/ledger/partials/view-character-ledger/character-ledger-details.html +21 -0
  125. ledger/templates/ledger/partials/view-character-ledger/character-table.html +25 -0
  126. ledger/templates/ledger/partials/view-character-ledger/information/daily.html +18 -0
  127. ledger/templates/ledger/partials/view-character-ledger/information/hourly.html +18 -0
  128. ledger/templates/ledger/partials/view-character-ledger/information/summary.html +19 -0
  129. ledger/templates/ledger/partials/view-character-planetary/extractor-table.html +24 -0
  130. ledger/templates/ledger/partials/view-character-planetary/factory-table.html +24 -0
  131. ledger/templates/ledger/partials/view-character-planetary/planetary-table.html +22 -0
  132. ledger/templates/ledger/partials/view-character-planetary/storage-table.html +23 -0
  133. ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation.html +5 -13
  134. ledger/templates/ledger/partials/{administration → view-corporation-administration}/corporation_characters.html +1 -1
  135. ledger/templates/ledger/partials/view-corporation-administration/dashboard.html +81 -0
  136. ledger/templates/ledger/partials/view-corporation-ledger/corporation-billboard.html +25 -0
  137. ledger/templates/ledger/partials/view-corporation-ledger/corporation-ledger-details.html +21 -0
  138. ledger/templates/ledger/partials/view-corporation-ledger/corporation-table.html +26 -0
  139. ledger/templates/ledger/partials/view-corporation-ledger/information/daily.html +18 -0
  140. ledger/templates/ledger/partials/view-corporation-ledger/information/hourly.html +18 -0
  141. ledger/templates/ledger/partials/view-corporation-ledger/information/summary.html +19 -0
  142. ledger/templates/ledger/view-administration.html +62 -0
  143. ledger/templates/ledger/view-alliance-administration.html +49 -0
  144. ledger/templates/ledger/view-alliance-ledger.html +72 -0
  145. ledger/templates/ledger/view-alliance-overview.html +131 -0
  146. ledger/templates/ledger/view-character-administration.html +42 -0
  147. ledger/templates/ledger/view-character-ledger.html +73 -0
  148. ledger/templates/ledger/view-character-overview.html +135 -0
  149. ledger/templates/ledger/view-character-planetary-overview.html +135 -0
  150. ledger/templates/ledger/view-character-planetary.html +73 -0
  151. ledger/templates/ledger/view-corporation-administration.html +42 -0
  152. ledger/templates/ledger/view-corporation-ledger.html +73 -0
  153. ledger/templates/ledger/view-corporation-overview.html +131 -0
  154. ledger/templatetags/ledger.py +3 -5
  155. ledger/tests/__init__.py +187 -0
  156. ledger/tests/test_admin.py +164 -68
  157. ledger/tests/test_auth_hook.py +31 -13
  158. ledger/tests/test_decarators.py +14 -79
  159. ledger/tests/test_discord_installed.py +0 -1
  160. ledger/tests/test_helpers/test_ledger_data.py +19 -0
  161. ledger/tests/test_managers/test_character_audit_manager.py +111 -69
  162. ledger/tests/test_managers/test_character_journal_manager.py +48 -208
  163. ledger/tests/test_managers/test_character_mining_manager.py +37 -16
  164. ledger/tests/test_managers/test_corporation_division_manager.py +66 -28
  165. ledger/tests/test_managers/test_corporation_journal_manager.py +39 -42
  166. ledger/tests/test_managers/test_general_manager.py +78 -18
  167. ledger/tests/test_managers/test_planetary_manager.py +73 -32
  168. ledger/tests/test_models/test_characteraudit.py +58 -74
  169. ledger/tests/test_models/test_characterminingledger.py +20 -26
  170. ledger/tests/test_models/test_characterwalletjournal.py +10 -33
  171. ledger/tests/test_models/test_corporationaudit.py +41 -35
  172. ledger/tests/test_models/test_corporationwalletjournal.py +35 -32
  173. ledger/tests/test_models/test_general.py +44 -11
  174. ledger/tests/test_models/test_planetary.py +14 -80
  175. ledger/tests/test_templatetags.py +2 -7
  176. ledger/tests/test_views/corporation/test_add_corp.py +16 -35
  177. ledger/tests/test_views/corporation/test_delete_corporation.py +66 -42
  178. ledger/tests/test_views/test_access.py +512 -545
  179. ledger/tests/test_views/test_add_ally.py +57 -46
  180. ledger/tests/test_views/test_add_char.py +21 -33
  181. ledger/tests/test_views/test_delete_character.py +24 -21
  182. ledger/tests/testdata/README_ESI_STUB.md +430 -0
  183. ledger/tests/testdata/esi_stub_openapi.py +511 -0
  184. ledger/tests/testdata/integrations/__init__.py +0 -0
  185. ledger/tests/testdata/{load_eveuniverse.py → integrations/eveuniverse.py} +0 -1
  186. ledger/tests/testdata/integrations/planetary.py +13 -0
  187. ledger/tests/testdata/json/factory.json +281 -0
  188. ledger/tests/testdata/json/inactive.json +281 -0
  189. ledger/tests/testdata/json/pins.json +175 -272
  190. ledger/tests/testdata/json/route.json +95 -528
  191. ledger/tests/testdata/test_esi_stub.py +468 -0
  192. ledger/tests/testdata/utils.py +601 -0
  193. ledger/thirdparty/charlink_hook.py +60 -30
  194. ledger/urls.py +0 -135
  195. ledger/views/alliance/add_ally.py +2 -4
  196. ledger/views/alliance/alliance_ledger.py +64 -147
  197. ledger/views/character/add_char.py +8 -10
  198. ledger/views/character/character_ledger.py +60 -126
  199. ledger/views/character/planetary.py +5 -98
  200. ledger/views/corporation/add_corp.py +10 -12
  201. ledger/views/corporation/corporation_ledger.py +65 -327
  202. ledger/views/index.py +92 -30
  203. aa_ledger-1.0.4.dist-info/RECORD +0 -236
  204. ledger/api/api_helper/planetary_helper.py +0 -107
  205. ledger/api/ledger/__init__.py +0 -7
  206. ledger/api/ledger/planetary.py +0 -231
  207. ledger/helpers/alliance.py +0 -317
  208. ledger/helpers/character.py +0 -251
  209. ledger/helpers/core.py +0 -665
  210. ledger/helpers/corporation.py +0 -427
  211. ledger/helpers/data_exporter.py +0 -452
  212. ledger/static/ledger/js/planetary-confirm.js +0 -66
  213. ledger/static/ledger/js/planetary.js +0 -143
  214. ledger/templates/ledger/admin.html +0 -43
  215. ledger/templates/ledger/allyledger/admin/alliance_administration.html +0 -46
  216. ledger/templates/ledger/allyledger/admin/alliance_overview.html +0 -108
  217. ledger/templates/ledger/allyledger/alliance_ledger.html +0 -86
  218. ledger/templates/ledger/bundles/character-ledger-bundles.html +0 -66
  219. ledger/templates/ledger/bundles/corporation-ledger-bundles.html +0 -75
  220. ledger/templates/ledger/bundles/ledger-bundles.html +0 -23
  221. ledger/templates/ledger/bundles/ledger-css.html +0 -3
  222. ledger/templates/ledger/bundles/planetary-bundles.html +0 -50
  223. ledger/templates/ledger/bundles/table-css.html +0 -3
  224. ledger/templates/ledger/charledger/admin/character_administration.html +0 -39
  225. ledger/templates/ledger/charledger/admin/character_overview.html +0 -106
  226. ledger/templates/ledger/charledger/character_ledger.html +0 -94
  227. ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html +0 -123
  228. ledger/templates/ledger/charledger/planetary/planetary_ledger.html +0 -54
  229. ledger/templates/ledger/corpledger/admin/corporation_administration.html +0 -39
  230. ledger/templates/ledger/corpledger/admin/corporation_overview.html +0 -108
  231. ledger/templates/ledger/corpledger/corporation_ledger.html +0 -129
  232. ledger/templates/ledger/data-export.html +0 -78
  233. ledger/templates/ledger/error.html +0 -31
  234. ledger/templates/ledger/partials/form/error-message.html +0 -1
  235. ledger/templates/ledger/partials/information/daily.html +0 -56
  236. ledger/templates/ledger/partials/information/day.html +0 -48
  237. ledger/templates/ledger/partials/information/error.html +0 -8
  238. ledger/templates/ledger/partials/information/hourly.html +0 -53
  239. ledger/templates/ledger/partials/information/summary.html +0 -88
  240. ledger/templates/ledger/partials/information/view_character_content.html +0 -35
  241. ledger/templates/ledger/partials/modal/switchalarm_confirm.html +0 -39
  242. ledger/templates/ledger/partials/modal/view_extractor.html +0 -48
  243. ledger/templates/ledger/partials/modal/view_factory.html +0 -123
  244. ledger/templates/ledger/partials/table/char-ledger.html +0 -85
  245. ledger/templates/ledger/partials/table/corp-ledger.html +0 -66
  246. ledger/templates/ledger/partials/table/planetary.html +0 -18
  247. ledger/templates/ledger/partials/thirdparty/billboard.html +0 -22
  248. ledger/templates/ledger/partials/view/card.html +0 -160
  249. ledger/templates/ledger/permission.html +0 -2
  250. ledger/tests/test_helpers/test_billboard.py +0 -11
  251. ledger/tests/test_helpers/test_data_exporter.py +0 -207
  252. ledger/tests/test_tasks.py +0 -282
  253. ledger/tests/test_view_helpers/test_core.py +0 -47
  254. ledger/tests/test_views/corporation/test_corporation.py +0 -267
  255. ledger/tests/test_views/test_planetary.py +0 -137
  256. ledger/tests/testdata/esi_stub.py +0 -109
  257. ledger/tests/testdata/esi_stub_migration.py +0 -80
  258. ledger/tests/testdata/generate_characteraudit.py +0 -106
  259. ledger/tests/testdata/generate_corporationaudit.py +0 -74
  260. ledger/tests/testdata/generate_events.py +0 -31
  261. ledger/tests/testdata/generate_miningledger.py +0 -13
  262. ledger/tests/testdata/generate_planets.py +0 -48
  263. ledger/tests/testdata/generate_walletjournal.py +0 -42
  264. ledger/tests/testdata/json/czarno-pins.json +0 -240
  265. ledger/tests/testdata/json/czarno-routes.json +0 -165
  266. ledger/tests/testdata/json/pins2.json +0 -538
  267. {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/WHEEL +0 -0
  268. {aa_ledger-1.0.4.dist-info → aa_ledger-2.0.0.dist-info}/licenses/LICENSE +0 -0
  269. /ledger/{tests/test_view_helpers → api/helpers}/__init__.py +0 -0
  270. /ledger/templates/ledger/bundles/{ally-administration-bundles.html → view-alliance-administration-js.html} +0 -0
  271. /ledger/templates/ledger/bundles/{char-administration-bundles.html → view-character-administration-js.html} +0 -0
  272. /ledger/templates/ledger/bundles/{corp-administration-bundles.html → view-corporation-administration-js.html} +0 -0
  273. /ledger/templates/ledger/partials/{administration → view-alliance-administration}/alliance.html +0 -0
  274. /ledger/tests/testdata/{esi.json → esi_test_data.json} +0 -0
  275. /ledger/tests/testdata/{allianceauth.json → integrations/allianceauth.json} +0 -0
  276. /ledger/tests/testdata/{load_allianceauth.py → integrations/allianceauth.py} +0 -0
  277. /ledger/tests/testdata/{eveentity.json → integrations/eveentity.json} +0 -0
  278. /ledger/tests/testdata/{load_eveentity.py → integrations/eveentity.py} +0 -0
  279. /ledger/tests/testdata/{eveuniverse.json → integrations/eveuniverse.json} +0 -0
  280. /ledger/tests/testdata/{planetary.json → integrations/planetary.json} +0 -0
@@ -0,0 +1,516 @@
1
+ :root {
2
+ --dtcc-button_background: transparent;
3
+ --dtcc-button_border: none;
4
+ --dtcc-button_border-radius: 3px;
5
+ --dtcc-button_opacity: 0.4;
6
+ --dtcc-button_padding: 3px;
7
+ --dtcc-button_disabled-opacity: 0.6;
8
+ --dtcc-button_empty-opacity: 0.8;
9
+ --dtcc-button_hover-border: none;
10
+ --dtcc-button_hover-background: rgb(var(--bs-tertiary-bg-rgb));
11
+ --dtcc-button_hover-opacity: 0.9;
12
+ --dtcc-button-icon_color: var(--bs-body-color);
13
+ --dtcc-button-icon_size: 16px;
14
+ --dtcc-button-icon_margin: 0.75em;
15
+ --dtcc-spacer_border: var(--bs-border-width) solid var(--bs-border-color);
16
+ --dtcc-spacer_margin: 0.5em;
17
+ --dtcc-title_background: rgb(var(--bs-tertiary-bg-rgb));
18
+ --dtcc-title_border-left: none;
19
+ --dtcc-title_border-right: none;
20
+ --dtcc-title_border-top: none;
21
+ --dtcc-title_border-bottom: ;
22
+ --dtcc-title_margin: 0;
23
+ --dtcc-title_padding: 0.5em 0;
24
+ --dtcc-title_text-align: center;
25
+ --dtcc-search-icon_color: var(--bs-body-color);
26
+ --dtcc-search-icon_hover-background: rgb(var(--bs-tertiary-bg-rgb));
27
+ --dtcc-search-icon_opacity: 0.4;
28
+ --dtcc-search-icon_size: 16px;
29
+ --dtcc-search-input_border: var(--bs-border-width) solid var(--bs-border-color);
30
+ --dtcc-search-input_background-color: var(--bs-body-bg);
31
+ --dtcc-search-input_background: var(--bs-body-bg);
32
+ --dtcc-search-input_border-radius: var(--bs-border-radius);
33
+ --dtcc-search-input_padding: .25rem .5rem;
34
+ --dtcc-search-input_flexCalc: 28px;
35
+ --dtcc-search-clear_right: 15px;
36
+ --dtcc-search-clear_bottom: 5px;
37
+ --dtcc-search-input_margin-top: 0.5em;
38
+ --dtcc-search-input_padding-right: 32px;
39
+ --dtcc-list-buttons_max-height: 300px;
40
+ --dtcc-list-buttons_background: rgb(var(--bs-secondary-bg-rgb));
41
+ }
42
+ :root .dropdown-menu {
43
+ --dtcc-dropdown_background: var(--bs-dropdown-bg);
44
+ --dtcc-dropdown_border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
45
+ --dtcc-dropdown_border-radius: var(--bs-dropdown-border-radius);
46
+ --dtcc-dropdown_box-shadow: var(--bs-dropdown-box-shadow);
47
+ --dtcc-dropdown_margin: 3px 0 0 0;
48
+ --dtcc-dropdown_padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
49
+ --dtcc-dropdown_width: 250px;
50
+ --dtcc-dropdown_z-index: var(--bs-dropdown-zindex);
51
+ --dtcc-dropdown-button_background: transparent;
52
+ --dtcc-dropdown-button_border: none;
53
+ --dtcc-dropdown-button_color: var(--bs-dropdown-link-color);
54
+ --dtcc-dropdown-button_padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
55
+ --dtcc-dropdown-button_hover-background: var(--bs-dropdown-link-hover-bg);
56
+ --dtcc-dropdown-icon_vertical-align: top;
57
+ --dtcc-dropdown-search_padding: 0.5em 1em;
58
+ }
59
+
60
+ table.dataTable div.dt-column-header span.dt-column-title:empty + span.dtcc {
61
+ flex-grow: 1;
62
+ margin-left: auto;
63
+ }
64
+
65
+ table.dataTable .dt-type-numeric div.dt-column-header span.dt-column-title:empty + span.dtcc,
66
+ table.dataTable .dt-type-date div.dt-column-header span.dt-column-title:empty + span.dtcc,
67
+ table.dataTable .dt-right div.dt-column-header span.dt-column-title:empty + span.dtcc {
68
+ margin-right: auto;
69
+ margin-left: 0;
70
+ }
71
+
72
+ table.dataTable > thead > tr.dtcc-row_no-bottom-border > * {
73
+ border-bottom: none !important;
74
+ }
75
+
76
+ table.dataTable > thead > tr.dtcc-row_no-top-padding > * {
77
+ padding-top: 0 !important;
78
+ }
79
+
80
+ table.dataTable span.dtcc {
81
+ font-weight: normal;
82
+ white-space: nowrap;
83
+ display: inline-flex;
84
+ align-items: center;
85
+ }
86
+
87
+ table.dataTable span.dtcc button.dtcc-button {
88
+ display: inline-flex;
89
+ padding: var(--dtcc-button_padding);
90
+ border: var(--dtcc-button_border);
91
+ border-radius: var(--dtcc-button_border-radius);
92
+ background: var(--dtcc-button_background);
93
+ cursor: pointer;
94
+ opacity: var(--dtcc-button_opacity);
95
+ }
96
+
97
+ table.dataTable span.dtcc button.dtcc-button:hover {
98
+ border: var(--dtcc-button_hover-border);
99
+ background: var(--dtcc-button_hover-background);
100
+ opacity: var(--dtcc-button_hover-opacity);
101
+ }
102
+
103
+ table.dataTable span.dtcc button.dtcc-button.dtcc-button_disabled {
104
+ cursor: initial;
105
+ opacity: var(--dtcc-button_disabled-opacity);
106
+ }
107
+
108
+ table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-state {
109
+ display: none;
110
+ }
111
+
112
+ table.dataTable span.dtcc button.dtcc-button > span.dtcc-button-extra {
113
+ display: none;
114
+ }
115
+
116
+ table.dataTable span.dtcc button.dtcc-button_active {
117
+ opacity: 1;
118
+ }
119
+
120
+ table.dataTable span.dtcc input {
121
+ box-sizing: border-box;
122
+ width: 100%;
123
+ }
124
+
125
+ table.dataTable span.dtcc span.dtcc-button-icon {
126
+ display: inline-block;
127
+ box-sizing: content-box;
128
+ color: var(--dtcc-button-icon_color);
129
+ vertical-align: middle;
130
+ line-height: var(--dtcc-button-icon_size);
131
+ height: var(--dtcc-button-icon_size);
132
+ }
133
+
134
+ table.dataTable span.dtcc span.dtcc-button-icon svg {
135
+ width: var(--dtcc-button-icon_size);
136
+ height: var(--dtcc-button-icon_size);
137
+ vertical-align: initial;
138
+ }
139
+
140
+ table.dataTable span.dtcc span.dtcc-button-text {
141
+ display: none;
142
+ }
143
+
144
+ table.dataTable span.dtcc div.dtcc-spacer {
145
+ display: inline-block;
146
+ margin: 0 var(--dtcc-spacer_margin);
147
+ padding-left: 0.5em;
148
+ border-left: var(--dtcc-spacer_border);
149
+ vertical-align: middle;
150
+ white-space: nowrap;
151
+ cursor: initial;
152
+ }
153
+
154
+ table.dataTable span.dtcc div.dtcc-spacer:empty {
155
+ width: 1px;
156
+ height: 1em;
157
+ padding-left: 0;
158
+ }
159
+
160
+ table.dataTable span.dtcc div.dtcc-search {
161
+ flex-grow: 1;
162
+ }
163
+
164
+ table.dataTable span.dtcc div.dtcc-search div.dtcc-search-title {
165
+ margin-bottom: 0.25em;
166
+ text-align: left;
167
+ }
168
+
169
+ table.dataTable span.dtcc div.dtcc-search:empty {
170
+ display: none;
171
+ }
172
+
173
+ table.dataTable span.dtcc div.dtcc-search.dtcc-search_active > div div.dtcc-search-type-icon svg {
174
+ opacity: 1;
175
+ }
176
+
177
+ table.dataTable span.dtcc div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear {
178
+ display: none;
179
+ }
180
+
181
+ table.dataTable span.dtcc div.dtcc-search > div {
182
+ position: relative;
183
+ }
184
+
185
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon {
186
+ display: flex;
187
+ position: absolute;
188
+ top: 0;
189
+ align-items: center;
190
+ justify-content: center;
191
+ width: 30px;
192
+ height: 100%;
193
+ }
194
+
195
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon svg {
196
+ width: var(--dtcc-search-icon_size);
197
+ height: var(--dtcc-search-icon_size);
198
+ color: var(--dtcc-search-icon_color);
199
+ opacity: var(--dtcc-search-icon_opacity);
200
+ vertical-align: initial;
201
+ }
202
+
203
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-type-icon:hover {
204
+ background-color: var(--dtcc-search-icon_hover-background);
205
+ }
206
+
207
+ table.dataTable span.dtcc div.dtcc-search > div select {
208
+ position: absolute;
209
+ top: 0;
210
+ width: 30px;
211
+ height: 100%;
212
+ cursor: pointer;
213
+ opacity: 0;
214
+ background-color: var(--dtcc-search-input_background);
215
+ }
216
+
217
+ table.dataTable span.dtcc div.dtcc-search > div span.dtcc-search-clear {
218
+ display: flex;
219
+ position: absolute;
220
+ top: 0;
221
+ align-items: center;
222
+ justify-content: center;
223
+ width: 14px;
224
+ height: 100%;
225
+ cursor: pointer;
226
+ }
227
+
228
+ table.dataTable span.dtcc div.dtcc-search > div div.dtcc-search-icon {
229
+ display: none;
230
+ }
231
+
232
+ table.dataTable span.dtcc div.dtcc-search > div input {
233
+ padding: var(--dtcc-search-input_padding);
234
+ border: var(--dtcc-search-input_border);
235
+ border-radius: var(--dtcc-search-input_border-radius);
236
+ background-color: var(--dtcc-search-input_background);
237
+ color: inherit;
238
+ }
239
+
240
+ table.dataTable span.dtcc div.dtcc-searchText > div div.dtcc-search-type-icon {
241
+ right: 0;
242
+ z-index: 1;
243
+ }
244
+
245
+ table.dataTable span.dtcc div.dtcc-searchText > div select {
246
+ right: 0;
247
+ z-index: 2;
248
+ padding: 0;
249
+ }
250
+
251
+ table.dataTable span.dtcc div.dtcc-searchText > div span.dtcc-search-clear {
252
+ right: 28px;
253
+ z-index: 1;
254
+ }
255
+
256
+ table.dataTable span.dtcc div.dtcc-searchText > div input {
257
+ padding-right: 46px;
258
+ }
259
+
260
+ table.dataTable span.dtcc div.dtcc-searchNumber > div div.dtcc-search-type-icon,
261
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div div.dtcc-search-type-icon {
262
+ left: 0;
263
+ z-index: 1;
264
+ }
265
+
266
+ table.dataTable span.dtcc div.dtcc-searchNumber > div select,
267
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div select {
268
+ left: 0;
269
+ z-index: 2;
270
+ padding: 0;
271
+ }
272
+
273
+ table.dataTable span.dtcc div.dtcc-searchNumber > div span.dtcc-search-clear,
274
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div span.dtcc-search-clear {
275
+ left: 28px;
276
+ }
277
+
278
+ table.dataTable span.dtcc div.dtcc-searchNumber > div input,
279
+ table.dataTable span.dtcc div.dtcc-searchDateTime > div input {
280
+ padding-left: 46px;
281
+ text-align: right;
282
+ }
283
+
284
+ div.dtcc-dropdown {
285
+ display: block;
286
+ box-sizing: border-box;
287
+ z-index: var(--dtcc-dropdown_z-index);
288
+ position: absolute;
289
+ width: var(--dtcc-dropdown_width);
290
+ margin: var(--dtcc-dropdown_margin);
291
+ padding: var(--dtcc-dropdown_padding);
292
+ overflow: hidden;
293
+ border: var(--dtcc-dropdown_border);
294
+ border-radius: var(--dtcc-dropdown_border-radius);
295
+ background: var(--dtcc-dropdown_background);
296
+ box-shadow: var(--dtcc-dropdown_box-shadow);
297
+ }
298
+
299
+ div.dtcc-dropdown button.dtcc-button {
300
+ display: flex;
301
+ position: relative;
302
+ align-items: center;
303
+ width: 100%;
304
+ padding: var(--dtcc-dropdown-button_padding);
305
+ border: var(--dtcc-dropdown-button_border);
306
+ background: var(--dtcc-dropdown-button_background);
307
+ color: var(--dtcc-dropdown-button_color);
308
+ text-align: left;
309
+ cursor: pointer;
310
+ }
311
+
312
+ div.dtcc-dropdown button.dtcc-button:focus {
313
+ outline-offset: -2px;
314
+ }
315
+
316
+ div.dtcc-dropdown button.dtcc-button:hover {
317
+ background: var(--dtcc-dropdown-button_hover-background);
318
+ }
319
+
320
+ div.dtcc-dropdown button.dtcc-button.dtcc-button_disabled {
321
+ cursor: initial;
322
+ opacity: var(--dtcc-button_disabled-opacity);
323
+ }
324
+
325
+ div.dtcc-dropdown button.dtcc-button.dtcc-button_empty span.dtcc-button-text {
326
+ opacity: var(--dtcc-button_empty-opacity);
327
+ font-style: italic;
328
+ }
329
+
330
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state {
331
+ display: block;
332
+ width: var(--dtcc-button-icon_size);
333
+ height: var(--dtcc-button-icon_size);
334
+ margin: 0 0 0 var(--dtcc-button-icon_margin);
335
+ }
336
+
337
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state:empty {
338
+ display: none;
339
+ }
340
+
341
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-state svg {
342
+ width: var(--dtcc-button-icon_size);
343
+ height: var(--dtcc-button-icon_size);
344
+ vertical-align: initial;
345
+ }
346
+
347
+ div.dtcc-dropdown button.dtcc-button > span.dtcc-button-extra:empty {
348
+ display: none;
349
+ }
350
+
351
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon {
352
+ width: var(--dtcc-button-icon_size);
353
+ height: var(--dtcc-button-icon_size);
354
+ margin: 0 var(--dtcc-button-icon_margin) 0 0;
355
+ }
356
+
357
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-icon svg {
358
+ width: var(--dtcc-button-icon_size);
359
+ height: var(--dtcc-button-icon_size);
360
+ vertical-align: var(--dtcc-dropdown-icon_vertical-align);
361
+ }
362
+
363
+ div.dtcc-dropdown button.dtcc-button span.dtcc-button-text {
364
+ flex-grow: 1;
365
+ overflow: hidden;
366
+ text-overflow: ellipsis;
367
+ white-space: nowrap;
368
+ }
369
+
370
+ div.dtcc-dropdown div.dtcc-spacer {
371
+ margin: var(--dtcc-spacer_margin) 0;
372
+ padding: 0;
373
+ border-bottom: var(--dtcc-spacer_border);
374
+ border-left: none;
375
+ }
376
+
377
+ div.dtcc-dropdown div.dtcc-title {
378
+ margin: var(--dtcc-title_margin);
379
+ padding: var(--dtcc-title_padding);
380
+ border-top: var(--dtcc-title_border-top);
381
+ border-right: var(--dtcc-title_border-right);
382
+ border-bottom: var(--dtcc-title_border-bottom);
383
+ border-left: var(--dtcc-title_border-left);
384
+ background: var(--dtcc-title_background);
385
+ text-align: var(--dtcc-title_text-align);
386
+ }
387
+
388
+ div.dtcc-dropdown div.dtcc-search {
389
+ padding: var(--dtcc-dropdown-search_padding);
390
+ }
391
+
392
+ div.dtcc-dropdown div.dtcc-search > div {
393
+ display: flex;
394
+ position: relative;
395
+ flex-wrap: wrap;
396
+ align-items: center;
397
+ border: var(--dtcc-dropdown-button_border);
398
+ background: var(--dtcc-dropdown-button_background);
399
+ color: var(--dtcc-dropdown-button_color);
400
+ }
401
+
402
+ div.dtcc-dropdown div.dtcc-search > div div {
403
+ flex: 0 0 var(--dtcc-button-icon_size);
404
+ width: var(--dtcc-button-icon_size);
405
+ height: var(--dtcc-button-icon_size);
406
+ margin: 0 var(--dtcc-button-icon_margin) 0 0;
407
+ }
408
+
409
+ div.dtcc-dropdown div.dtcc-search > div div svg {
410
+ width: var(--dtcc-search-icon_size);
411
+ height: var(--dtcc-search-icon_size);
412
+ color: var(--dtcc-search-icon_color);
413
+ vertical-align: var(--dtcc-dropdown-icon_vertical-align);
414
+ }
415
+
416
+ div.dtcc-dropdown div.dtcc-search > div select,
417
+ div.dtcc-dropdown div.dtcc-search > div input {
418
+ box-sizing: border-box;
419
+ flex: 1 1 calc(100% - var(--dtcc-search-input_flexCalc));
420
+ width: 100%;
421
+ min-width: 0;
422
+ padding: var(--dtcc-search-input_padding);
423
+ border: var(--dtcc-search-input_border);
424
+ border-radius: var(--dtcc-search-input_border-radius);
425
+ background-color: var(--dtcc-search-input_background-color);
426
+ }
427
+
428
+ div.dtcc-dropdown div.dtcc-search > div select option,
429
+ div.dtcc-dropdown div.dtcc-search > div input option {
430
+ background-color: var(--dtcc-search-input_background-color);
431
+ }
432
+
433
+ div.dtcc-dropdown div.dtcc-search > div input,
434
+ div.dtcc-dropdown div.dtcc-search > div div.dtcc-search-icon {
435
+ margin-top: var(--dtcc-search-input_margin-top);
436
+ }
437
+
438
+ div.dtcc-dropdown div.dtcc-search > div input {
439
+ padding-right: var(--dtcc-search-input_padding-right);
440
+ }
441
+
442
+ div.dtcc-dropdown div.dtcc-search > div span.dtcc-search-clear {
443
+ position: absolute;
444
+ right: var(--dtcc-search-clear_right);
445
+ bottom: var(--dtcc-search-clear_bottom);
446
+ width: 14px;
447
+ cursor: pointer;
448
+ }
449
+
450
+ div.dtcc-dropdown div.dtcc-search:not(.dtcc-search_active) span.dtcc-search-clear {
451
+ display: none;
452
+ }
453
+
454
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-title,
455
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty {
456
+ padding: var(--dtcc-dropdown-button_padding);
457
+ font-style: italic;
458
+ }
459
+
460
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-title:empty,
461
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-empty:empty {
462
+ display: none;
463
+ }
464
+
465
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls {
466
+ display: grid;
467
+ padding: var(--dtcc-dropdown-button_padding);
468
+ gap: 0.5em;
469
+ }
470
+
471
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls:empty {
472
+ display: none;
473
+ }
474
+
475
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll,
476
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone {
477
+ width: 100%;
478
+ padding: 0;
479
+ border: none;
480
+ background-color: transparent;
481
+ color: inherit;
482
+ font-size: 80%;
483
+ text-align: center;
484
+ cursor: pointer;
485
+ }
486
+
487
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll:hover,
488
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone:hover {
489
+ text-decoration: underline;
490
+ }
491
+
492
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectAll span,
493
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls button.dtcc-list-selectNone span {
494
+ display: inline-block;
495
+ padding-left: 0.25em;
496
+ }
497
+
498
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-controls input.dtcc-list-search {
499
+ box-sizing: border-box;
500
+ grid-column: 1/3;
501
+ width: 100%;
502
+ padding: var(--dtcc-search-input_padding);
503
+ border: var(--dtcc-search-input_border);
504
+ border-radius: var(--dtcc-search-input_border-radius);
505
+ background-color: var(--dtcc-search-input_background-color);
506
+ }
507
+
508
+ div.dtcc-dropdown div.dtcc-list div.dtcc-list-buttons {
509
+ max-height: var(--dtcc-list-buttons_max-height);
510
+ overflow: auto;
511
+ background: var(--dtcc-list-buttons_background);
512
+ }
513
+
514
+ div.dtcc-dropdown div.dtcc-list span.dtcc-button-icon:empty {
515
+ display: none;
516
+ }