@sava-info-systems/api-maker-with-extensions 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/.dockerignore +5 -1
  2. package/Dockerfile +1 -35
  3. package/Dockerfile.base +22 -0
  4. package/Dockerfile.extended-base +44 -0
  5. package/dist/1025.5c34b11ab88519fd.js +1 -0
  6. package/dist/1097.3c5b2b4587cefa6e.js +1 -0
  7. package/dist/115.8d10b2b963e7d632.js +1 -0
  8. package/dist/148.f8f560a5f818328e.js +1 -0
  9. package/dist/1558.576af7585833e289.js +1 -0
  10. package/dist/1678.14f917ee37080d63.js +1 -0
  11. package/dist/1754.fc6d6e9f6c1e96d5.js +1 -0
  12. package/dist/1928.9c9375dd036b025a.js +1 -0
  13. package/dist/1957.b718aa368330b524.js +1 -0
  14. package/dist/2140.bb097d69bcb6a1e5.js +1 -0
  15. package/dist/2295.aa3514c8d1238cb2.js +1 -0
  16. package/dist/238.553f30dbe5124419.js +1 -0
  17. package/dist/2473.260a6b26a70eaa8d.js +1 -0
  18. package/dist/2579.b02fe6a8ba3a2e71.js +1 -0
  19. package/dist/2714.b41d14f7378785df.js +1 -0
  20. package/dist/2735.4046cae4c68ac75f.js +1 -0
  21. package/dist/292.bb85e0ea91dcc118.js +1 -0
  22. package/dist/3139.5dd9289cc24b4100.js +1 -0
  23. package/dist/3450.588aafa515b19133.js +1 -0
  24. package/dist/3664.ed1232e3c70195fc.js +1 -0
  25. package/dist/3752.d4e0a280a37c1426.js +1 -0
  26. package/dist/3rdpartylicenses.txt +1 -1
  27. package/dist/4110.b9ebfd9a7382c450.js +1 -0
  28. package/dist/4186.2fd0537d5bc6d882.js +1 -0
  29. package/dist/4211.b6b9f495b100e985.js +1 -0
  30. package/dist/4575.1fee055d10b57afc.js +1 -0
  31. package/dist/4842.ccf765ed3e9753a7.js +1 -0
  32. package/dist/485.7870367c9475fed8.js +1 -0
  33. package/dist/{4895.a54759704d1994b1.js → 4895.fa7b24d66157c531.js} +1 -1
  34. package/dist/5334.e0a2450fc295f659.js +1 -0
  35. package/dist/5421.2c2c0fbf926792db.js +1 -0
  36. package/dist/5434.0997994b319a866a.js +1 -0
  37. package/dist/5679.e362a3e10cb1b953.js +1 -0
  38. package/dist/5761.6c20b09245ac31ef.js +1 -0
  39. package/dist/5765.8d761aef1708e8a1.js +1 -0
  40. package/dist/6236.969b45cad747277c.js +1 -0
  41. package/dist/6393.1b7b097f17d75290.js +1 -0
  42. package/dist/6401.f18e3c98d6deaa22.js +1 -0
  43. package/dist/6650.05ea40acd68697c3.js +1 -0
  44. package/dist/7368.85d940d08fdca6e2.js +1 -0
  45. package/dist/7436.4a62f7ef13cffb21.js +1 -0
  46. package/dist/7470.d24359dc7a3ef75a.js +1 -0
  47. package/dist/7649.8e5ff8a951b474e0.js +1 -0
  48. package/dist/7975.d3d7064d527ac017.js +1 -0
  49. package/dist/7977.85b17bdb465e9a90.js +1 -0
  50. package/dist/7987.c1637bec96a9cc03.js +1 -0
  51. package/dist/8125.8390bc1b477ec6b9.js +1 -0
  52. package/dist/8266.0bf85311cf40ddff.js +1 -0
  53. package/dist/8296.fe54c3787977fad3.js +1 -0
  54. package/dist/885.7e1ec0f82adbdd6f.js +1 -0
  55. package/dist/891.fee03277c7f1c29d.js +1 -0
  56. package/dist/{913.4580b4ce4307a40f.js → 913.e49eb351997bc25c.js} +1 -1
  57. package/dist/9243.eaa2c312b42fc4b3.js +1 -0
  58. package/dist/9575.8404e98d640fd9f9.js +1 -0
  59. package/dist/9939.537c5e355804804b.js +1 -0
  60. package/dist/assets/images/icons/api-group-light.svg +11 -0
  61. package/dist/assets/images/icons/api-group.svg +5 -5
  62. package/dist/assets/images/icons/api-maker-deployment-light.svg +5 -0
  63. package/dist/assets/images/icons/api-maker-deployment.svg +3 -3
  64. package/dist/assets/images/icons/api-user-light.svg +12 -0
  65. package/dist/assets/images/icons/api-user.svg +2 -2
  66. package/dist/assets/images/icons/comparator-light.svg +61 -0
  67. package/dist/assets/images/icons/comparator.svg +2 -2
  68. package/dist/assets/images/icons/custom-light.svg +6 -0
  69. package/dist/assets/images/icons/custom.svg +5 -5
  70. package/dist/assets/images/icons/database-light.svg +29 -0
  71. package/dist/assets/images/icons/database.svg +6 -6
  72. package/dist/assets/images/icons/db-m-light.svg +10 -0
  73. package/dist/assets/images/icons/db-m.svg +4 -4
  74. package/dist/assets/images/icons/db-token-generator-light.svg +4 -0
  75. package/dist/assets/images/icons/db-token-generator.svg +4 -0
  76. package/dist/assets/images/icons/dev-light.svg +13 -0
  77. package/dist/assets/images/icons/dev.svg +4 -4
  78. package/dist/assets/images/icons/diagram-light.svg +28 -0
  79. package/dist/assets/images/icons/diagram.svg +9 -9
  80. package/dist/assets/images/icons/event-light.svg +16 -0
  81. package/dist/assets/images/icons/event.svg +4 -4
  82. package/dist/assets/images/icons/film-movies-icon.svg +3 -3
  83. package/dist/assets/images/icons/finder-light.svg +14 -0
  84. package/dist/assets/images/icons/finder.svg +3 -3
  85. package/dist/assets/images/icons/i18n-light.svg +11 -0
  86. package/dist/assets/images/icons/i18n.svg +6 -6
  87. package/dist/assets/images/icons/increment-light.svg +5 -0
  88. package/dist/assets/images/icons/increment.svg +2 -2
  89. package/dist/assets/images/icons/license-light.svg +6 -0
  90. package/dist/assets/images/icons/license.svg +4 -4
  91. package/dist/assets/images/icons/log-light.svg +17 -0
  92. package/dist/assets/images/icons/log-profile-light.svg +23 -0
  93. package/dist/assets/images/icons/log-profile.svg +7 -7
  94. package/dist/assets/images/icons/log.svg +6 -6
  95. package/dist/assets/images/icons/masters.svg +3 -3
  96. package/dist/assets/images/icons/native-process-logs-light.svg +13 -0
  97. package/dist/assets/images/icons/native-process-logs.svg +6 -6
  98. package/dist/assets/images/icons/nodes-light.svg +5 -0
  99. package/dist/assets/images/icons/nodes.svg +2 -2
  100. package/dist/assets/images/icons/notes-light.svg +16 -0
  101. package/dist/assets/images/icons/notes.svg +2 -2
  102. package/dist/assets/images/icons/process_initializers-light.svg +20 -0
  103. package/dist/assets/images/icons/process_initializers.svg +7 -7
  104. package/dist/assets/images/icons/rsa_encryption-light.svg +6 -0
  105. package/dist/assets/images/icons/rsa_encryption.svg +2 -2
  106. package/dist/assets/images/icons/sandbox-light.svg +11 -0
  107. package/dist/assets/images/icons/sandbox.svg +2 -2
  108. package/dist/assets/images/icons/scanning-period-light.svg +13 -0
  109. package/dist/assets/images/icons/scanning-period.svg +4 -4
  110. package/dist/assets/images/icons/schedulers-light.svg +8 -0
  111. package/dist/assets/images/icons/schedulers.svg +5 -5
  112. package/dist/assets/images/icons/secret-light.svg +15 -0
  113. package/dist/assets/images/icons/secret.svg +2 -2
  114. package/dist/assets/images/icons/swagger-logo-light.svg +9 -0
  115. package/dist/assets/images/icons/swagger-logo.svg +2 -2
  116. package/dist/assets/images/icons/systems-light.svg +8 -0
  117. package/dist/assets/images/icons/systems.svg +3 -3
  118. package/dist/assets/images/icons/testing-light.svg +12 -0
  119. package/dist/assets/images/icons/testing.svg +6 -6
  120. package/dist/assets/images/icons/third-party-light.svg +19 -0
  121. package/dist/assets/images/icons/third-party.svg +4 -4
  122. package/dist/assets/images/icons/typescript-light.svg +12 -0
  123. package/dist/assets/images/icons/typescript.svg +2 -2
  124. package/dist/assets/images/icons/ui-maker-light.svg +23 -0
  125. package/dist/assets/images/icons/ui-maker.svg +10 -10
  126. package/dist/assets/images/icons/utility-light.svg +19 -0
  127. package/dist/assets/images/icons/utility.svg +2 -2
  128. package/dist/assets/images/icons/vulnerability-light.svg +20 -0
  129. package/dist/assets/images/icons/vulnerability.svg +5 -5
  130. package/dist/assets/images/icons/web-light.svg +16 -0
  131. package/dist/assets/images/icons/web.svg +3 -3
  132. package/dist/assets/images/logo/api_maker_logo_dark.svg +29 -0
  133. package/dist/assets/images/logo/api_maker_logo_full_white.svg +29 -0
  134. package/dist/assets/images/logo/api_maker_logo_light.svg +22 -0
  135. package/dist/assets/images/logo/apple-touch-icon.png +0 -0
  136. package/dist/assets/images/logo/favicon-192x192.png +0 -0
  137. package/dist/assets/images/logo/favicon-32x32.png +0 -0
  138. package/dist/assets/images/logo/favicon-512x512.png +0 -0
  139. package/dist/assets/images/logo/logo_docs-light.svg +15 -0
  140. package/dist/assets/images/logo/logo_docs.svg +3 -3
  141. package/dist/assets/images/logo/logo_store-light.svg +17 -0
  142. package/dist/assets/images/logo/logo_store.svg +3 -3
  143. package/dist/assets/images/logo/store_logo-dark.svg +11 -0
  144. package/dist/assets/images/logo/store_logo-light.svg +11 -0
  145. package/dist/assets/images/logo/store_logo.svg +2 -2
  146. package/dist/assets/primeng-theme/primeng-theme-overrides.scss +1426 -31
  147. package/dist/assets/public/diagram-viewer/index.html +59 -20
  148. package/dist/assets/public/diagram-viewer/index.js +1 -1
  149. package/dist/assets/public/monaco-editor/index.html +105 -9
  150. package/dist/assets/public/monaco-editor/index.js +1 -1
  151. package/dist/assets/public/table-viewer/index.html +124 -38
  152. package/dist/assets/schema-types/InterfaceProps.ts +71 -13
  153. package/dist/assets/schema-types/store-types.ts +2 -0
  154. package/dist/assets/schema-types/types.ts +65 -17
  155. package/dist/assets/styles/bootstrap-overrides.scss +170 -7
  156. package/dist/assets/styles/colors-dark.scss +320 -33
  157. package/dist/assets/styles/colors-light.scss +453 -9
  158. package/dist/assets/styles/out/styles.css.map +1 -1
  159. package/dist/assets/styles/styles.scss +213 -24
  160. package/dist/assets/styles/variables.scss +2 -2
  161. package/dist/bootstrap-overrides.css +1 -0
  162. package/dist/colors-dark.css +1 -0
  163. package/dist/colors-light.css +1 -0
  164. package/dist/{common.912ad7a22e5de63a.js → common.86c514055f788290.js} +1 -1
  165. package/dist/index.html +111 -27
  166. package/dist/main.0ac98a72f1b9c1dd.js +1 -0
  167. package/dist/runtime.0e9fc303007ced09.js +1 -0
  168. package/dist/styles-global.css +1 -0
  169. package/dist/{styles.242217e145c3f7ab.css → styles.c1032bc4f4d7829b.css} +1 -1
  170. package/main.js +1 -1
  171. package/package-sandbox.json +1 -1
  172. package/package.json +9 -9
  173. package/pnpm-workspace.yaml +15 -0
  174. package/sandbox.js +1 -1
  175. package/src/assets/schema-types/store-types.ts +2 -0
  176. package/src/assets/schema-types/types.ts +65 -17
  177. package/src/schema-types/store-types.js +2 -0
  178. package/src/schema-types/types.js +1 -0
  179. package/src/tools/.github/copilot-instructions.md +17 -9
  180. package/src/tools/local-client.js +1 -1
  181. package/dist/1025.a0db9347453600d0.js +0 -1
  182. package/dist/1097.d0d6fd13031aa1f0.js +0 -1
  183. package/dist/148.1dc7d9e0cfe45510.js +0 -1
  184. package/dist/1558.0aae3e5c538d3815.js +0 -1
  185. package/dist/1678.ed1e4a269e0f42bc.js +0 -1
  186. package/dist/1754.691f142aa1eabe28.js +0 -1
  187. package/dist/1928.2b376f7cf66ed038.js +0 -1
  188. package/dist/1957.ab7fda21d9978597.js +0 -1
  189. package/dist/2140.1ce150285aebe3cc.js +0 -1
  190. package/dist/2295.4fa1d4b5ff482f3a.js +0 -1
  191. package/dist/238.891233aa670bdd2b.js +0 -1
  192. package/dist/2473.4b2bb1ad5b1cc99d.js +0 -1
  193. package/dist/2579.6558b67b2d98f116.js +0 -1
  194. package/dist/2714.0d6939336a02dd0a.js +0 -1
  195. package/dist/2735.86437a8639a0c1bb.js +0 -1
  196. package/dist/292.f6482cd1a572ba4b.js +0 -1
  197. package/dist/3139.0921102d181c220d.js +0 -1
  198. package/dist/3450.9b5cfc83039b02b5.js +0 -1
  199. package/dist/3664.4a1dd7f16f8b57fb.js +0 -1
  200. package/dist/4110.d108e786ecbdfd1b.js +0 -1
  201. package/dist/4186.ac3e8af0efeeac14.js +0 -1
  202. package/dist/4211.1bfe72ce0b7b2f76.js +0 -1
  203. package/dist/443.7e3946651373e09a.js +0 -1
  204. package/dist/4575.169008cbbbae66bb.js +0 -1
  205. package/dist/4842.e7649d81606ad80d.js +0 -1
  206. package/dist/485.b546656b466cb8a4.js +0 -1
  207. package/dist/5334.72c1c6d89fdf136e.js +0 -1
  208. package/dist/5421.2067001c10533303.js +0 -1
  209. package/dist/5679.4e22239895c7f520.js +0 -1
  210. package/dist/5761.331ca41ab64cca92.js +0 -1
  211. package/dist/5765.2b640be5d177d794.js +0 -1
  212. package/dist/6236.6c0fc469f0c96549.js +0 -1
  213. package/dist/6393.173ecdfc3b022973.js +0 -1
  214. package/dist/6401.374823002788afe7.js +0 -1
  215. package/dist/6650.1d18ee25901d68be.js +0 -1
  216. package/dist/7368.9ebf62d518f8ad7a.js +0 -1
  217. package/dist/7436.640bf5fe48814cbe.js +0 -1
  218. package/dist/7470.b1ce7eedb9cedb2d.js +0 -1
  219. package/dist/7649.ab4744cfe713eec0.js +0 -1
  220. package/dist/7975.578a00ebd1160a1e.js +0 -1
  221. package/dist/7977.afeded970bac8b66.js +0 -1
  222. package/dist/7987.5958ad5b81873058.js +0 -1
  223. package/dist/8125.b2f908096882ed45.js +0 -1
  224. package/dist/8266.aca59a0a04590ab1.js +0 -1
  225. package/dist/8296.a387c28f5702c5e8.js +0 -1
  226. package/dist/885.be44d92efca1aaf6.js +0 -1
  227. package/dist/891.5e08c81e5200413e.js +0 -1
  228. package/dist/9243.08630ad94e1fddba.js +0 -1
  229. package/dist/9575.30ac91b65602c0ca.js +0 -1
  230. package/dist/9939.a3389cc6764e3cbc.js +0 -1
  231. package/dist/assets/images/logo/API Maker Logo 2021 black.svg +0 -47
  232. package/dist/assets/images/logo/API Maker Logo 2021.svg +0 -49
  233. package/dist/assets/images/logo/logo.svg +0 -41
  234. package/dist/assets/styles/out/bootstrap-overrides.css +0 -2
  235. package/dist/assets/styles/out/colors-dark.css +0 -2
  236. package/dist/assets/styles/out/colors-light.css +0 -2
  237. package/dist/assets/styles/out/monaco-editor-overrides.css +0 -2
  238. package/dist/assets/styles/out/styles.css +0 -2
  239. package/dist/assets/styles/out/variables.css +0 -2
  240. package/dist/favicon.ico +0 -0
  241. package/dist/main.2046fb4b0dd1b8e0.js +0 -1
  242. package/dist/runtime.a86d5cd27767506e.js +0 -1
@@ -8,13 +8,22 @@ $box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
8
8
 
9
9
  html.DARK {
10
10
  $default-font-color: #e6e6e6;
11
- scrollbar-color: #656565 #303030; // firefox scrollbar
12
- background-color: var(--bg-primary);
13
- background-image: url("/assets/images/bg/world.svg");
11
+ scrollbar-color: #1f4a6e #0e1726; // firefox scrollbar (muted brand-blue thumb on dark navy track)
12
+
13
+ // Text selection — brighter brand-blue on dark so selected text stays readable.
14
+ ::selection { background: rgba(97, 175, 239, 0.40); color: #ffffff; }
15
+ ::-moz-selection { background: rgba(97, 175, 239, 0.40); color: #ffffff; }
16
+ // New UI standard background: brand blue (top-left) -> dark navy -> green (bottom-right)
17
+ // with faint diagonal light streaks (same as login/dashboard/preloader). Replaces world.svg.
18
+ background-color: #080c12;
19
+ background-image:
20
+ repeating-linear-gradient(135deg, transparent 0 140px, rgba(97, 175, 239, 0.04) 140px 141px, transparent 141px 320px),
21
+ radial-gradient(120% 110% at 100% 100%, rgba(0, 137, 63, 0.45) 0%, rgba(0, 137, 63, 0) 55%),
22
+ radial-gradient(120% 110% at 0% 0%, rgba(12, 83, 164, 0.55) 0%, rgba(12, 83, 164, 0) 55%),
23
+ linear-gradient(135deg, #0c1626 0%, #0a1018 45%, #08120c 100%);
14
24
  background-repeat: no-repeat;
15
- //background-position: center 70px;
16
- background-position: center 0;
17
- background-size: 100%;
25
+ background-attachment: fixed;
26
+ background-size: cover;
18
27
 
19
28
  body {
20
29
  //backdrop-filter: blur(10px);
@@ -22,50 +31,217 @@ html.DARK {
22
31
  min-width: calc(100vw - 19px);
23
32
  }
24
33
 
34
+ // New UI standard: global square-box grid overlay behind every page (fades toward edges).
35
+ // z-index: -1 keeps it behind all content WITHOUT creating a stacking context on app-root
36
+ // (which would trap Bootstrap modals below their body-level .modal-backdrop).
37
+ body::before {
38
+ content: "";
39
+ position: fixed;
40
+ inset: 0;
41
+ pointer-events: none;
42
+ z-index: -1;
43
+ background-image:
44
+ linear-gradient(to right, rgba(97, 175, 239, 0.10) 1px, transparent 1px),
45
+ linear-gradient(to bottom, rgba(97, 175, 239, 0.10) 1px, transparent 1px);
46
+ background-size: 56px 56px;
47
+ -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 78%);
48
+ mask-image: radial-gradient(ellipse at center, black 30%, transparent 78%);
49
+ }
50
+
25
51
  $bg-text-dropdown: #464646;
26
52
  $shadow-lg: var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));
27
53
 
28
- /* Handle */
54
+ /* Handle — muted brand blue -> green gradient (subdued) */
29
55
  ::-webkit-scrollbar-thumb {
30
- background: #5a5a5a;
56
+ background: linear-gradient(180deg, #1b3a5c 0%, #18424a 55%, #1a4d33 100%);
57
+ }
58
+ ::-webkit-scrollbar-thumb:hover {
59
+ background: linear-gradient(180deg, #245f9f 0%, #1d6a5a 55%, #1d6d44 100%);
31
60
  }
32
61
 
62
+ // New UI standard: brand-tinted dark navy surface for cards/modals (matches grids, inputs, tiles).
63
+ // Flat fill (was a #17202e->#121925 gradient that tinted the surface unevenly).
33
64
  .modal-body, .modal-footer, .card {
34
- background-color: var(--bg-secondary);
65
+ background-color: #141c29;
66
+ background-image: none;
35
67
  }
68
+ // Visible brand-blue divider between the body and the footer (Close/Save bar).
69
+ .modal-footer { border-top: 1px solid rgba(97, 175, 239, 0.22); }
36
70
 
37
- .card { border: 1px solid #3d3d3d; }
71
+ .card { border: 1px solid rgba(97, 175, 239, 0.15); }
38
72
 
73
+ // New UI standard: subtle brand blue -> green tinted header (over the dark navy surface).
39
74
  .modal-header, .card-header {
40
- background-color: var(--bg-primary--shade--three);
75
+ background-color: #1b2636; // fallback
76
+ background-image:
77
+ linear-gradient(90deg, rgba(12, 83, 164, 0.28) 0%, rgba(12, 83, 164, 0.10) 45%, rgba(0, 137, 63, 0.10) 70%, rgba(0, 137, 63, 0.22) 100%),
78
+ linear-gradient(180deg, #1d2940 0%, #161f30 100%);
79
+ border-bottom: 1px solid rgba(97, 175, 239, 0.18);
41
80
  }
42
81
 
43
- .dropdown-menu, .navbar {
44
- background-color: var(--dark-bg-primary);
82
+ // Round close button (dark) — brand navy surface + brand-blue hairline to
83
+ // match cards/inputs; hover shifts to a soft danger wash since it's a close action.
84
+ .modal-header .close,
85
+ .modal-content > .close {
86
+ background-color: rgba(20, 28, 41, 0.6);
87
+ border: 1px solid rgba(97, 175, 239, 0.25);
88
+ color: #9fb3cc;
89
+ text-shadow: none;
90
+ }
91
+ .modal-header .close:hover,
92
+ .modal-content > .close:hover {
93
+ background-color: rgba(224, 108, 117, 0.18);
94
+ border-color: rgba(224, 108, 117, 0.55);
95
+ color: #ff8d94;
96
+ }
97
+ .modal-header .close:focus,
98
+ .modal-content > .close:focus {
99
+ border-color: rgba(97, 175, 239, 0.55);
100
+ box-shadow: 0 0 0 0.2rem rgba(97, 175, 239, 0.25);
101
+ }
102
+
103
+ // Header action info/help glyph — brand blue (not the harsh Bootstrap cyan),
104
+ // brightening on hover to read as interactive.
105
+ .modal-header > .float-right > span,
106
+ .modal-header > .float-right > span i.text-info {
107
+ color: #61AFEF !important;
108
+ }
109
+ .modal-header > .float-right > span:hover i { color: #8cc6ff !important; }
110
+
111
+ // Frosted-glass dropdown/menu popups are defined further down (single
112
+ // source of truth); this opaque fallback is intentionally omitted so the
113
+ // glass effect is not overridden.
114
+
115
+ // New UI standard: top nav bar = deep navy base with a subtle brand blue -> green wash.
116
+ .navbar {
117
+ background-color: #0c1626; // fallback
118
+ background-image:
119
+ linear-gradient(90deg, rgba(12, 83, 164, 0.22) 0%, rgba(12, 83, 164, 0) 40%, rgba(0, 137, 63, 0) 70%, rgba(0, 137, 63, 0.20) 100%),
120
+ linear-gradient(180deg, #0e1b2c 0%, #0a1421 100%);
121
+ border-bottom: 1px solid rgba(97, 175, 239, 0.18);
45
122
  box-shadow: $box-shadow;
46
123
  }
47
124
 
125
+ // Vertical separator between top-level navbar menu items (dark mode) — matches light.
126
+ // Short, vertically-centered line between consecutive dropdown menu items.
127
+ .navbar-nav > .nav-item.dropdown:not(.ml-auto) + .nav-item.dropdown:not(.ml-auto) {
128
+ position: relative;
129
+ }
130
+ .navbar-nav > .nav-item.dropdown:not(.ml-auto) + .nav-item.dropdown:not(.ml-auto)::before {
131
+ content: "";
132
+ position: absolute;
133
+ left: 0;
134
+ top: 50%;
135
+ transform: translateY(-50%);
136
+ height: 22px;
137
+ width: 1px;
138
+ background: rgba(97, 175, 239, 0.20);
139
+ }
140
+
141
+ // Targeted navbar separators (left of moon toggle, before user/Admin menu) — dark variant.
142
+ // Drawn as a short, vertically-centered line (via ::before) instead of a full-height
143
+ // border so the divider doesn't span the whole navbar height.
144
+ .navbar-nav > .nav-item.nav-divider-left {
145
+ position: relative;
146
+ }
147
+ .navbar-nav > .nav-item.nav-divider-left::before {
148
+ content: "";
149
+ position: absolute;
150
+ left: 0;
151
+ top: 50%;
152
+ transform: translateY(-50%);
153
+ height: 22px;
154
+ width: 1px;
155
+ background: rgba(97, 175, 239, 0.20);
156
+ }
157
+ .navbar-nav > .nav-item.nav-divider-left > .nav-link { padding-left: 0.85rem !important; }
158
+ // Separator between each right-side icon button (match light mode — keep icon widths identical).
159
+ .navbar-nav > .nav-item:not(.dropdown):not(.ml-auto) + .nav-item:not(.dropdown):not(.ml-auto) {
160
+ position: relative;
161
+ }
162
+ .navbar-nav > .nav-item:not(.dropdown):not(.ml-auto) + .nav-item:not(.dropdown):not(.ml-auto)::before {
163
+ content: "";
164
+ position: absolute;
165
+ left: 0;
166
+ top: 50%;
167
+ transform: translateY(-50%);
168
+ height: 20px;
169
+ width: 1px;
170
+ background: rgba(97, 175, 239, 0.16);
171
+ }
172
+
173
+ // Hover top-level nav item = light brand tint.
174
+ .navbar-nav .nav-link:hover {
175
+ background-image: linear-gradient(90deg, rgba(12, 83, 164, 0.28) 0%, rgba(0, 137, 63, 0.18) 100%);
176
+ border-radius: 2px;
177
+ color: #ffffff;
178
+ }
179
+ // Active / open top-level nav item = rich diagonal brand gradient, clearly visible.
180
+ .navbar-nav .nav-item.active > .nav-link,
181
+ .navbar-nav .nav-item.show > .nav-link,
182
+ .navbar-nav .nav-link.active,
183
+ .navbar-nav .nav-link.show {
184
+ background-image: linear-gradient(135deg, rgba(12, 83, 164, 0.70) 0%, rgba(10, 106, 95, 0.55) 55%, rgba(0, 137, 63, 0.55) 100%);
185
+ border-radius: 2px;
186
+ color: #ffffff;
187
+ //box-shadow: inset 0 -2px 0 #61AFEF;
188
+ }
189
+
190
+ // New UI standard: active/selected menu item = rich brand blue -> green gradient (not maroon).
191
+ .dropdown-item { border-radius: 2px; }
48
192
  .dropdown-item.active, .dropdown-item:active {
49
- //background-color: var(--bg-tertiary--shade--two);
50
- background-color: var(--accent-error--shade--five);
51
- border: 1px solid var(--bg-tertiary);
193
+ background-color: #16273d;
194
+ background-image: linear-gradient(135deg, rgba(12, 83, 164, 0.50) 0%, rgba(10, 106, 95, 0.36) 55%, rgba(0, 137, 63, 0.32) 100%);
195
+ border: 1px solid rgba(97, 175, 239, 0.25);
196
+ color: #ffffff;
52
197
  }
53
198
 
54
199
  .form-control {
55
- //background-color: var(--bg-tertiary);
56
- background-color: $bg-text-dropdown;
57
- border: 1px solid var(--bg-tertiary);
58
- color: #b0b0b0;
200
+ // New UI standard: brand-tinted dark navy gradient fill (color-only).
201
+ background-color: #1a2738; // fallback
202
+ background-image: linear-gradient(160deg, #1c2a3d 0%, #141e2c 100%);
203
+ // Subtle brand-blue hairline border — a touch brighter than the card edges.
204
+ border: 1px solid rgba(97, 175, 239, 0.28);
205
+ color: #d7dae0;
206
+ }
207
+
208
+ // Input-group prefix/suffix boxes (e.g. an "Every" prefix before a dropdown) — brand
209
+ // navy fill matching the adjacent .form-control, instead of the bootswatch light/grey.
210
+ .input-group-text {
211
+ background-color: #1a2738;
212
+ background-image: linear-gradient(160deg, #1c2a3d 0%, #141e2c 100%);
213
+ border: 1px solid rgba(97, 175, 239, 0.28);
214
+ color: #d7dae0;
215
+ }
216
+
217
+ // Password show/hide toggle (input-group append) — brand navy surface +
218
+ // brand-blue hairline that matches the adjacent .form-control, instead of
219
+ // a flat grey (bg-dark + #555 border).
220
+ .input-group-text.input-pwd-toggle {
221
+ background-color: #1a2738;
222
+ background-image: linear-gradient(160deg, #1c2a3d 0%, #141e2c 100%);
223
+ border: 1px solid rgba(97, 175, 239, 0.18);
224
+ color: #9aa6b5;
225
+ transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
226
+ }
227
+ .input-group-text.input-pwd-toggle:hover {
228
+ background-image: none;
229
+ background-color: rgba(12, 83, 164, 0.30);
230
+ border-color: rgba(97, 175, 239, 0.45);
231
+ color: #ffffff;
59
232
  }
60
233
 
61
234
  .form-control:focus {
62
- background-color: var(--bg-primary);
63
- border: 1px solid #710109;
235
+ // Brand-blue focused state with a subtly brighter gradient.
236
+ background-color: #1f3047; // fallback
237
+ background-image: linear-gradient(160deg, #213a57 0%, #16243a 100%);
238
+ border: 1px solid rgba(97, 175, 239, 0.55);
64
239
  }
65
240
 
241
+ // New UI standard: brand-blue tinted utility borders (consistent with inputs/cards/grids).
66
242
  .border,
67
243
  .border-left, .border-right, .border-top, .border-bottom {
68
- border-color: var(--bg-primary--shade--three) !important;
244
+ border-color: rgba(97, 175, 239, 0.28) !important;
69
245
  }
70
246
 
71
247
  .footer {
@@ -76,12 +252,16 @@ html.DARK {
76
252
 
77
253
  .shadow-sm { box-shadow: 0 0 3px #000 !important; }
78
254
 
79
- hr { border: 1px; border-top: 1px solid #616161; }
80
- .table-bordered th, .table-bordered td { border: 1px solid #727272b8; }
255
+ hr { border: 1px; border-top: 1px solid rgba(97, 175, 239, 0.18); }
256
+ .table-bordered th, .table-bordered td { border: 1px solid rgba(97, 175, 239, 0.18); }
257
+
258
+ // Heading standard — brand-blue accent (bright, readable on the dark canvas).
259
+ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: #61AFEF; }
81
260
 
82
261
  .modal-content {
262
+ background-color: #141c29; // was inheriting the bootswatch slate shade behind the body
83
263
  box-shadow: 0 4px 8px 0 rgb(17 17 17), 0 6px 20px 0 rgb(33 33 33);
84
- border-color: #545454;
264
+ border-color: rgba(97, 175, 239, 0.20);
85
265
  }
86
266
 
87
267
  // Quill editor related style improvements.
@@ -110,23 +290,130 @@ html.DARK {
110
290
  input { background: #2f2f2f; border: 1px solid #585858; color: #f2f2f2; }
111
291
  input:focus-visible { outline: 1px solid #737373; }
112
292
  }
113
- .btn-primary { background-image: linear-gradient(#711010,#600000 60%,#4d1414); border: 1px solid #750303; }
114
- .btn-success { background-image: linear-gradient(#137110, #00600d 60%, #144d15); border: 1px solid #077503; }
293
+ // New UI standard: secondary / cancel button = neutral dark navy (brand-tinted), not flat grey.
294
+ .btn-secondary {
295
+ background-color: #1c2839;
296
+ background-image: linear-gradient(180deg, #20293a 0%, #161f2d 100%);
297
+ border: 1px solid rgba(97, 175, 239, 0.25);
298
+ color: #d7dae0;
299
+ }
300
+ // Match Bootswatch's specificity (:not([disabled]):not(.disabled)) to beat its grey hover gradient.
301
+ .btn-secondary:not([disabled]):not(.disabled):hover,
302
+ .btn-secondary:not([disabled]):not(.disabled):focus,
303
+ .btn-secondary:not([disabled]):not(.disabled):active,
304
+ .btn-secondary:not([disabled]):not(.disabled).active {
305
+ background-color: #243248;
306
+ background-image: linear-gradient(180deg, #283449 0%, #1b2538 100%);
307
+ background-repeat: no-repeat;
308
+ border: 1px solid rgba(97, 175, 239, 0.4);
309
+ color: #ffffff;
310
+ filter: none;
311
+ }
312
+
313
+ // New UI standard: brand blue -> green gradient for primary, brand-green for success (color-only).
314
+ .btn-primary { background-color: #0C53A4; background-image: linear-gradient(135deg, #0C53A4 0%, #0a6a5f 55%, #00893F 100%); border: 1px solid rgba(97, 175, 239, 0.45); }
315
+ .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
316
+ .btn-primary:not(:disabled):not(.disabled):active {
317
+ background-color: #0e5fbd; background-image: linear-gradient(135deg, #0e5fbd 0%, #0b7a6c 55%, #00a04a 100%); border: 1px solid rgba(97, 175, 239, 0.6);
318
+ }
319
+ .btn-primary:disabled, .btn-primary.disabled { background-image: linear-gradient(135deg, #0C53A4 0%, #0a6a5f 55%, #00893F 100%); }
320
+
321
+ .btn-success { background-color: #00893F; background-image: linear-gradient(135deg, #00A04A 0%, #00893F 60%, #006e32 100%); border: 1px solid rgba(38, 180, 127, 0.5); }
322
+ .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,
323
+ .btn-success:not(:disabled):not(.disabled):active {
324
+ background-color: #00a04a; background-image: linear-gradient(135deg, #00b855 0%, #00a04a 60%, #00813a 100%); border: 1px solid rgba(38, 180, 127, 0.65);
325
+ }
326
+ .btn-success:disabled, .btn-success.disabled { background-image: linear-gradient(135deg, #00A04A 0%, #00893F 60%, #006e32 100%); }
327
+
328
+ // SEND button (api-testing filter-section) — brand blue -> green standard gradient.
329
+ .send-request-btn.btn-success { background-color: #0C53A4; background-image: linear-gradient(135deg, #0C53A4 0%, #0a6a5f 55%, #00893F 100%); border: 1px solid rgba(97, 175, 239, 0.45); }
330
+ .send-request-btn.btn-success:hover, .send-request-btn.btn-success:focus, .send-request-btn.btn-success:active, .send-request-btn.btn-success.active,
331
+ .send-request-btn.btn-success:not(:disabled):not(.disabled):active {
332
+ background-color: #0e5fbd; background-image: linear-gradient(135deg, #0e5fbd 0%, #0b7a6c 55%, #00a04a 100%); border: 1px solid rgba(97, 175, 239, 0.6);
333
+ }
334
+ .send-request-btn.btn-success:disabled, .send-request-btn.btn-success.disabled { background-image: linear-gradient(135deg, #0C53A4 0%, #0a6a5f 55%, #00893F 100%); }
335
+
336
+ // Outline buttons (dark) — colored border + text on transparent; fill solid + white on hover.
337
+ .btn-outline-primary { color: #61AFEF !important; border: 1px solid rgba(97, 175, 239, 0.5) !important; background: transparent !important; background-image: none !important; }
338
+ .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
339
+ color: #fff !important; background: #0C53A4 !important; background-image: none !important; border-color: #61AFEF !important;
340
+ }
341
+ .btn-outline-warning { color: #E5C07B !important; border: 1px solid rgba(229, 192, 123, 0.5) !important; background: transparent !important; background-image: none !important; }
342
+ .btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active {
343
+ color: #1b2330 !important; background: #E5C07B !important; background-image: none !important; border-color: #E5C07B !important;
344
+ }
345
+ .btn-outline-danger { color: #E06C75 !important; border: 1px solid rgba(224, 108, 117, 0.5) !important; background: transparent !important; background-image: none !important; }
346
+ .btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active {
347
+ color: #fff !important; background: #c0414b !important; background-image: none !important; border-color: #E06C75 !important;
348
+ }
349
+ .btn-outline-secondary { color: #9aa6b5 !important; border: 1px solid rgba(97, 175, 239, 0.35) !important; background: transparent !important; background-image: none !important; }
350
+ .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active {
351
+ color: #fff !important; background: #22324a !important; background-image: none !important; border-color: rgba(97, 175, 239, 0.5) !important;
352
+ }
353
+ .btn-outline-info { color: #61AFEF !important; border: 1px solid rgba(97, 175, 239, 0.5) !important; background: transparent !important; background-image: none !important; }
354
+ .btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active {
355
+ color: #fff !important; background: #0C53A4 !important; background-image: none !important; border-color: #61AFEF !important;
356
+ }
357
+ .btn-outline-success { color: #2FB36A !important; border: 1px solid rgba(47, 179, 106, 0.5) !important; background: transparent !important; background-image: none !important; }
358
+ .btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active {
359
+ color: #fff !important; background: #00893F !important; background-image: none !important; border-color: #1d7a47 !important;
360
+ }
361
+ .btn-outline-light { color: #d7dae0 !important; border: 1px solid rgba(97, 175, 239, 0.35) !important; background: transparent !important; background-image: none !important; }
362
+ .btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active {
363
+ // Brand-blue tinted navy fill + light text (consistent with the other
364
+ // outline variants), instead of inverting to a clashing light-grey fill.
365
+ color: #ffffff !important; background: #22324a !important; background-image: none !important; border-color: rgba(97, 175, 239, 0.5) !important;
366
+ }
367
+ // Filled-on-hover outline buttons → white icons (warning fill is light, so excluded).
368
+ .btn-outline-primary, .btn-outline-danger, .btn-outline-secondary, .btn-outline-info, .btn-outline-success, .btn-outline-light {
369
+ &:hover, &:focus, &:active { i.fa, i.fas, i.far, i.fab { color: #fff !important; } }
370
+ }
115
371
 
116
- .dropdown-menu { background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); border: 1px solid rgba(187, 187, 187, 0.3); }
117
- .dropdown-item:hover, .dropdown-item:focus { color: #cecece; background-color: var(--accent-error--shade--five); }
372
+ .dropdown-menu {
373
+ background: linear-gradient(160deg, rgba(20, 28, 41, 0.62) 0%, rgba(12, 18, 28, 0.55) 100%);
374
+ backdrop-filter: blur(18px) saturate(135%);
375
+ -webkit-backdrop-filter: blur(18px) saturate(135%);
376
+ border: 1px solid rgba(97, 175, 239, 0.28);
377
+ border-radius: 10px;
378
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
379
+ 0 12px 32px rgba(0, 0, 0, 0.45);
380
+ }
381
+ .dropdown-item:hover, .dropdown-item:focus {
382
+ color: #ffffff;
383
+ background-color: #16273d;
384
+ background-image: linear-gradient(135deg, rgba(12, 83, 164, 0.45) 0%, rgba(10, 106, 95, 0.32) 55%, rgba(0, 137, 63, 0.30) 100%);
385
+ }
118
386
 
119
387
  .shadow-lg { box-shadow: $shadow-lg; }
120
388
  div.dropdown-menu { box-shadow: $shadow-lg; }
121
-
122
389
  .p-dropdown:not(.p-disabled).p-focus,
123
390
  .form-control:focus {
124
- -webkit-box-shadow: 0 0 0 0.2rem rgba(143, 1, 1, 0.47);
125
- box-shadow: 0 0 0 0.2rem rgba(143, 1, 1, 0.47);
391
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(97, 175, 239, 0.35);
392
+ box-shadow: 0 0 0 0.2rem rgba(97, 175, 239, 0.35);
126
393
  }
127
394
 
128
395
  // primeng sorting related fields.
129
396
  .p-datatable .p-sortable-column.p-highlight { color: #b0b0b0; }
130
397
  .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { color: #b0b0b0; }
398
+
399
+ // ===== Code-finder clickable Prism blocks — hover + selected (dark) =====
400
+ // The result <pre class="language-javascript"> blocks are clickable; the selected one
401
+ // gets `.bg-primary` (flat Bootstrap blue) from the click handler. Give them a brand
402
+ // hover tint and a brand blue->green selected wash with an accent border instead.
403
+ pre.language-javascript {
404
+ border: 1px solid transparent;
405
+ border-radius: 8px;
406
+ transition: background-color 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
407
+ }
408
+ pre.language-javascript:hover {
409
+ border-color: rgba(97, 175, 239, 0.30);
410
+ box-shadow: 0 0 0 1px rgba(97, 175, 239, 0.15) inset;
411
+ }
412
+ pre.language-javascript.bg-primary {
413
+ background-image: linear-gradient(135deg, rgba(12, 83, 164, 0.45) 0%, rgba(0, 137, 63, 0.28) 100%) !important;
414
+ background-color: #16273d !important;
415
+ border-color: rgba(97, 175, 239, 0.45) !important;
416
+ box-shadow: inset 3px 0 0 #61AFEF !important;
417
+ }
131
418
  }
132
419