@fui-org/fui-cli 2.1.4 → 2.2.1

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 (214) hide show
  1. package/README.md +16 -7
  2. package/dist/fui-xg17j3f9.js +396 -0
  3. package/dist/fui.js +1 -1
  4. package/package.json +1 -1
  5. package/skills/fui/SKILL.md +152 -39
  6. package/skills/{fui-skill → fui}/assets/projectdefaultstyle.css +489 -489
  7. package/skills/{fui-skill → fui}/examples/component.vue +162 -162
  8. package/skills/{fui-skill → fui}/references/INDEX.md +4 -5
  9. package/skills/{fui-skill → fui}/references/advanced-techniques.md +170 -168
  10. package/skills/{fui-skill → fui}/references/component-design.md +2 -2
  11. package/skills/{fui-skill → fui}/references/component-quickref.md +78 -78
  12. package/skills/{fui-skill → fui}/references/component-table.md +287 -287
  13. package/skills/{fui-skill → fui}/references/components-dialog.md +191 -191
  14. package/skills/{fui-skill → fui}/references/components-display.md +141 -141
  15. package/skills/{fui-skill → fui}/references/components-echart.md +316 -316
  16. package/skills/{fui-skill → fui}/references/components-input.md +335 -335
  17. package/skills/{fui-skill → fui}/references/controls-patterns.md +2 -2
  18. package/skills/{fui-skill → fui}/references/controls-styling-vocabulary.md +173 -173
  19. package/skills/{fui-skill → fui}/references/db-workflow.md +9 -9
  20. package/skills/{fui-skill → fui}/references/default-function.md +456 -456
  21. package/skills/{fui-skill → fui}/references/design-modes.md +57 -57
  22. package/skills/{fui-skill → fui}/references/echart-templates.md +489 -489
  23. package/skills/{fui-skill → fui}/references/fastproject.md +99 -99
  24. package/skills/{fui-skill → fui}/references/fullstack-workflow.md +314 -313
  25. package/skills/{fui-skill → fui}/references/module-data-patterns.md +117 -117
  26. package/skills/{fui-skill → fui}/references/module-json-anatomy.md +132 -132
  27. package/skills/{fui-skill → fui}/references/module-structure.md +144 -144
  28. package/skills/{fui-skill → fui}/references/new-session.md +3 -20
  29. package/skills/{fui-skill → fui}/references/pdfmake.md +60 -60
  30. package/skills/{fui-skill → fui}/references/permission-system.md +1 -1
  31. package/skills/{fui-skill → fui}/references/platform-architecture.md +269 -269
  32. package/skills/{fui-skill → fui}/references/project-config.md +303 -303
  33. package/skills/{fui-skill → fui}/references/project-provisioning.md +4 -4
  34. package/skills/{fui-skill → fui}/references/script-map.md +262 -262
  35. package/skills/{fui-skill → fui}/references/sql-clr-functions.md +225 -225
  36. package/skills/{fui-skill → fui}/references/system-design.md +3 -3
  37. package/skills/{fui-skill → fui}/references/tapi-permission-patterns.md +156 -156
  38. package/skills/{fui-skill → fui}/references/tapi-reference.md +474 -474
  39. package/skills/fui/references/tools-registry.md +214 -0
  40. package/skills/{fui-skill → fui}/references/ui-crosswindow-patterns.md +321 -321
  41. package/skills/{fui-skill → fui}/references/ui-dialog-patterns.md +255 -255
  42. package/skills/{fui-skill → fui}/references/ui-layout-patterns.md +176 -176
  43. package/skills/{fui-skill → fui}/references/ui-patterns.md +303 -303
  44. package/skills/{fui-skill → fui}/references/ui-screenshot-review.md +95 -95
  45. package/skills/{fui-skill → fui}/references/ui-table-cell-patterns.md +318 -318
  46. package/skills/{fui-skill → fui}/references/verification.md +18 -18
  47. package/skills/{fui-skill → fui}/references/watcher-patterns.md +163 -163
  48. package/skills/{fui-skill → fui}/references/websocket-realtime.md +271 -271
  49. package/skills/{fui-skill → fui}/scripts/component-3.0.js +2715 -2715
  50. package/skills/{fui-skill → fui}/scripts/component.js +3147 -3147
  51. package/skills/{fui-skill → fui}/scripts/componentTable-3.0.js +1038 -1038
  52. package/skills/{fui-skill → fui}/scripts/componentTable.js +891 -891
  53. package/skills/{fui-skill → fui}/scripts/defaultfunction-3.0.js +866 -866
  54. package/skills/{fui-skill → fui}/scripts/defaultfunction.js +1051 -1051
  55. package/skills/{fui-skill → fui}/scripts/fastproject-3.0.js +870 -870
  56. package/skills/{fui-skill → fui}/scripts/fastproject.js +828 -828
  57. package/dist/fui-h4z7zhk2.js +0 -381
  58. package/skills/fui-skill/SKILL.md +0 -139
  59. package/skills/fui-skill/references/tools-registry.md +0 -84
  60. /package/skills/{fui-skill → fui}/assets/projectdefaultstyle-3.0.css +0 -0
  61. /package/skills/{fui-skill → fui}/design-md/airbnb/DESIGN.md +0 -0
  62. /package/skills/{fui-skill → fui}/design-md/airbnb/README.md +0 -0
  63. /package/skills/{fui-skill → fui}/design-md/airtable/DESIGN.md +0 -0
  64. /package/skills/{fui-skill → fui}/design-md/airtable/README.md +0 -0
  65. /package/skills/{fui-skill → fui}/design-md/apple/DESIGN.md +0 -0
  66. /package/skills/{fui-skill → fui}/design-md/apple/README.md +0 -0
  67. /package/skills/{fui-skill → fui}/design-md/asu/DESIGN.md +0 -0
  68. /package/skills/{fui-skill → fui}/design-md/asu/README.md +0 -0
  69. /package/skills/{fui-skill → fui}/design-md/binance/DESIGN.md +0 -0
  70. /package/skills/{fui-skill → fui}/design-md/binance/README.md +0 -0
  71. /package/skills/{fui-skill → fui}/design-md/bmw/DESIGN.md +0 -0
  72. /package/skills/{fui-skill → fui}/design-md/bmw/README.md +0 -0
  73. /package/skills/{fui-skill → fui}/design-md/bmw-m/DESIGN.md +0 -0
  74. /package/skills/{fui-skill → fui}/design-md/bmw-m/README.md +0 -0
  75. /package/skills/{fui-skill → fui}/design-md/bugatti/DESIGN.md +0 -0
  76. /package/skills/{fui-skill → fui}/design-md/bugatti/README.md +0 -0
  77. /package/skills/{fui-skill → fui}/design-md/cal/DESIGN.md +0 -0
  78. /package/skills/{fui-skill → fui}/design-md/cal/README.md +0 -0
  79. /package/skills/{fui-skill → fui}/design-md/claude/DESIGN.md +0 -0
  80. /package/skills/{fui-skill → fui}/design-md/claude/README.md +0 -0
  81. /package/skills/{fui-skill → fui}/design-md/clay/DESIGN.md +0 -0
  82. /package/skills/{fui-skill → fui}/design-md/clay/README.md +0 -0
  83. /package/skills/{fui-skill → fui}/design-md/clickhouse/DESIGN.md +0 -0
  84. /package/skills/{fui-skill → fui}/design-md/clickhouse/README.md +0 -0
  85. /package/skills/{fui-skill → fui}/design-md/cohere/DESIGN.md +0 -0
  86. /package/skills/{fui-skill → fui}/design-md/cohere/README.md +0 -0
  87. /package/skills/{fui-skill → fui}/design-md/coinbase/DESIGN.md +0 -0
  88. /package/skills/{fui-skill → fui}/design-md/coinbase/README.md +0 -0
  89. /package/skills/{fui-skill → fui}/design-md/composio/DESIGN.md +0 -0
  90. /package/skills/{fui-skill → fui}/design-md/composio/README.md +0 -0
  91. /package/skills/{fui-skill → fui}/design-md/cursor/DESIGN.md +0 -0
  92. /package/skills/{fui-skill → fui}/design-md/cursor/README.md +0 -0
  93. /package/skills/{fui-skill → fui}/design-md/elevenlabs/DESIGN.md +0 -0
  94. /package/skills/{fui-skill → fui}/design-md/elevenlabs/README.md +0 -0
  95. /package/skills/{fui-skill → fui}/design-md/expo/DESIGN.md +0 -0
  96. /package/skills/{fui-skill → fui}/design-md/expo/README.md +0 -0
  97. /package/skills/{fui-skill → fui}/design-md/ferrari/DESIGN.md +0 -0
  98. /package/skills/{fui-skill → fui}/design-md/ferrari/README.md +0 -0
  99. /package/skills/{fui-skill → fui}/design-md/figma/DESIGN.md +0 -0
  100. /package/skills/{fui-skill → fui}/design-md/figma/README.md +0 -0
  101. /package/skills/{fui-skill → fui}/design-md/framer/DESIGN.md +0 -0
  102. /package/skills/{fui-skill → fui}/design-md/framer/README.md +0 -0
  103. /package/skills/{fui-skill → fui}/design-md/fui/DESIGN.md +0 -0
  104. /package/skills/{fui-skill → fui}/design-md/hashicorp/DESIGN.md +0 -0
  105. /package/skills/{fui-skill → fui}/design-md/hashicorp/README.md +0 -0
  106. /package/skills/{fui-skill → fui}/design-md/ibm/DESIGN.md +0 -0
  107. /package/skills/{fui-skill → fui}/design-md/ibm/README.md +0 -0
  108. /package/skills/{fui-skill → fui}/design-md/intercom/DESIGN.md +0 -0
  109. /package/skills/{fui-skill → fui}/design-md/intercom/README.md +0 -0
  110. /package/skills/{fui-skill → fui}/design-md/kraken/DESIGN.md +0 -0
  111. /package/skills/{fui-skill → fui}/design-md/kraken/README.md +0 -0
  112. /package/skills/{fui-skill → fui}/design-md/lamborghini/DESIGN.md +0 -0
  113. /package/skills/{fui-skill → fui}/design-md/lamborghini/README.md +0 -0
  114. /package/skills/{fui-skill → fui}/design-md/linear.app/DESIGN.md +0 -0
  115. /package/skills/{fui-skill → fui}/design-md/linear.app/README.md +0 -0
  116. /package/skills/{fui-skill → fui}/design-md/lovable/DESIGN.md +0 -0
  117. /package/skills/{fui-skill → fui}/design-md/lovable/README.md +0 -0
  118. /package/skills/{fui-skill → fui}/design-md/mastercard/DESIGN.md +0 -0
  119. /package/skills/{fui-skill → fui}/design-md/mastercard/README.md +0 -0
  120. /package/skills/{fui-skill → fui}/design-md/meta/DESIGN.md +0 -0
  121. /package/skills/{fui-skill → fui}/design-md/meta/README.md +0 -0
  122. /package/skills/{fui-skill → fui}/design-md/minimax/DESIGN.md +0 -0
  123. /package/skills/{fui-skill → fui}/design-md/minimax/README.md +0 -0
  124. /package/skills/{fui-skill → fui}/design-md/mintlify/DESIGN.md +0 -0
  125. /package/skills/{fui-skill → fui}/design-md/mintlify/README.md +0 -0
  126. /package/skills/{fui-skill → fui}/design-md/miro/DESIGN.md +0 -0
  127. /package/skills/{fui-skill → fui}/design-md/miro/README.md +0 -0
  128. /package/skills/{fui-skill → fui}/design-md/mistral.ai/DESIGN.md +0 -0
  129. /package/skills/{fui-skill → fui}/design-md/mistral.ai/README.md +0 -0
  130. /package/skills/{fui-skill → fui}/design-md/mongodb/DESIGN.md +0 -0
  131. /package/skills/{fui-skill → fui}/design-md/mongodb/README.md +0 -0
  132. /package/skills/{fui-skill → fui}/design-md/nike/DESIGN.md +0 -0
  133. /package/skills/{fui-skill → fui}/design-md/nike/README.md +0 -0
  134. /package/skills/{fui-skill → fui}/design-md/notion/DESIGN.md +0 -0
  135. /package/skills/{fui-skill → fui}/design-md/notion/README.md +0 -0
  136. /package/skills/{fui-skill → fui}/design-md/nvidia/DESIGN.md +0 -0
  137. /package/skills/{fui-skill → fui}/design-md/nvidia/README.md +0 -0
  138. /package/skills/{fui-skill → fui}/design-md/ollama/DESIGN.md +0 -0
  139. /package/skills/{fui-skill → fui}/design-md/ollama/README.md +0 -0
  140. /package/skills/{fui-skill → fui}/design-md/opencode.ai/DESIGN.md +0 -0
  141. /package/skills/{fui-skill → fui}/design-md/opencode.ai/README.md +0 -0
  142. /package/skills/{fui-skill → fui}/design-md/pinterest/DESIGN.md +0 -0
  143. /package/skills/{fui-skill → fui}/design-md/pinterest/README.md +0 -0
  144. /package/skills/{fui-skill → fui}/design-md/playstation/DESIGN.md +0 -0
  145. /package/skills/{fui-skill → fui}/design-md/playstation/README.md +0 -0
  146. /package/skills/{fui-skill → fui}/design-md/posthog/DESIGN.md +0 -0
  147. /package/skills/{fui-skill → fui}/design-md/posthog/README.md +0 -0
  148. /package/skills/{fui-skill → fui}/design-md/raycast/DESIGN.md +0 -0
  149. /package/skills/{fui-skill → fui}/design-md/raycast/README.md +0 -0
  150. /package/skills/{fui-skill → fui}/design-md/renault/DESIGN.md +0 -0
  151. /package/skills/{fui-skill → fui}/design-md/renault/README.md +0 -0
  152. /package/skills/{fui-skill → fui}/design-md/replicate/DESIGN.md +0 -0
  153. /package/skills/{fui-skill → fui}/design-md/replicate/README.md +0 -0
  154. /package/skills/{fui-skill → fui}/design-md/resend/DESIGN.md +0 -0
  155. /package/skills/{fui-skill → fui}/design-md/resend/README.md +0 -0
  156. /package/skills/{fui-skill → fui}/design-md/revolut/DESIGN.md +0 -0
  157. /package/skills/{fui-skill → fui}/design-md/revolut/README.md +0 -0
  158. /package/skills/{fui-skill → fui}/design-md/runwayml/DESIGN.md +0 -0
  159. /package/skills/{fui-skill → fui}/design-md/runwayml/README.md +0 -0
  160. /package/skills/{fui-skill → fui}/design-md/sanity/DESIGN.md +0 -0
  161. /package/skills/{fui-skill → fui}/design-md/sanity/README.md +0 -0
  162. /package/skills/{fui-skill → fui}/design-md/sentry/DESIGN.md +0 -0
  163. /package/skills/{fui-skill → fui}/design-md/sentry/README.md +0 -0
  164. /package/skills/{fui-skill → fui}/design-md/shopify/DESIGN.md +0 -0
  165. /package/skills/{fui-skill → fui}/design-md/shopify/README.md +0 -0
  166. /package/skills/{fui-skill → fui}/design-md/slack/DESIGN.md +0 -0
  167. /package/skills/{fui-skill → fui}/design-md/spacex/DESIGN.md +0 -0
  168. /package/skills/{fui-skill → fui}/design-md/spacex/README.md +0 -0
  169. /package/skills/{fui-skill → fui}/design-md/spotify/DESIGN.md +0 -0
  170. /package/skills/{fui-skill → fui}/design-md/spotify/README.md +0 -0
  171. /package/skills/{fui-skill → fui}/design-md/starbucks/DESIGN.md +0 -0
  172. /package/skills/{fui-skill → fui}/design-md/starbucks/README.md +0 -0
  173. /package/skills/{fui-skill → fui}/design-md/stripe/DESIGN.md +0 -0
  174. /package/skills/{fui-skill → fui}/design-md/stripe/README.md +0 -0
  175. /package/skills/{fui-skill → fui}/design-md/supabase/DESIGN.md +0 -0
  176. /package/skills/{fui-skill → fui}/design-md/supabase/README.md +0 -0
  177. /package/skills/{fui-skill → fui}/design-md/superhuman/DESIGN.md +0 -0
  178. /package/skills/{fui-skill → fui}/design-md/superhuman/README.md +0 -0
  179. /package/skills/{fui-skill → fui}/design-md/tesla/DESIGN.md +0 -0
  180. /package/skills/{fui-skill → fui}/design-md/tesla/README.md +0 -0
  181. /package/skills/{fui-skill → fui}/design-md/theverge/DESIGN.md +0 -0
  182. /package/skills/{fui-skill → fui}/design-md/theverge/README.md +0 -0
  183. /package/skills/{fui-skill → fui}/design-md/together.ai/DESIGN.md +0 -0
  184. /package/skills/{fui-skill → fui}/design-md/together.ai/README.md +0 -0
  185. /package/skills/{fui-skill → fui}/design-md/uber/DESIGN.md +0 -0
  186. /package/skills/{fui-skill → fui}/design-md/uber/README.md +0 -0
  187. /package/skills/{fui-skill → fui}/design-md/vercel/DESIGN.md +0 -0
  188. /package/skills/{fui-skill → fui}/design-md/vercel/README.md +0 -0
  189. /package/skills/{fui-skill → fui}/design-md/vodafone/DESIGN.md +0 -0
  190. /package/skills/{fui-skill → fui}/design-md/vodafone/README.md +0 -0
  191. /package/skills/{fui-skill → fui}/design-md/voltagent/DESIGN.md +0 -0
  192. /package/skills/{fui-skill → fui}/design-md/voltagent/README.md +0 -0
  193. /package/skills/{fui-skill → fui}/design-md/warp/DESIGN.md +0 -0
  194. /package/skills/{fui-skill → fui}/design-md/warp/README.md +0 -0
  195. /package/skills/{fui-skill → fui}/design-md/webflow/DESIGN.md +0 -0
  196. /package/skills/{fui-skill → fui}/design-md/webflow/README.md +0 -0
  197. /package/skills/{fui-skill → fui}/design-md/wired/DESIGN.md +0 -0
  198. /package/skills/{fui-skill → fui}/design-md/wired/README.md +0 -0
  199. /package/skills/{fui-skill → fui}/design-md/wise/DESIGN.md +0 -0
  200. /package/skills/{fui-skill → fui}/design-md/wise/README.md +0 -0
  201. /package/skills/{fui-skill → fui}/design-md/x.ai/DESIGN.md +0 -0
  202. /package/skills/{fui-skill → fui}/design-md/x.ai/README.md +0 -0
  203. /package/skills/{fui-skill → fui}/design-md/zapier/DESIGN.md +0 -0
  204. /package/skills/{fui-skill → fui}/design-md/zapier/README.md +0 -0
  205. /package/skills/{fui-skill → fui}/examples/f-table-patterns.json +0 -0
  206. /package/skills/{fui-skill → fui}/examples/module-patterns.json +0 -0
  207. /package/skills/{fui-skill → fui}/examples/project-patterns.json +0 -0
  208. /package/skills/{fui-skill → fui}/references/coding-standards.md +0 -0
  209. /package/skills/{fui-skill → fui}/references/db-table-design.md +0 -0
  210. /package/skills/{fui-skill → fui}/references/fsheet.md +0 -0
  211. /package/skills/{fui-skill → fui}/references/tapi-file-api.md +0 -0
  212. /package/skills/{fui-skill → fui}/references/ui-templates.md +0 -0
  213. /package/skills/{fui-skill → fui}/scripts/fechart.js +0 -0
  214. /package/skills/{fui-skill → fui}/scripts/fsheet.js +0 -0
@@ -1,490 +1,490 @@
1
- .ga-1{
2
- gap: 4px;
3
- }
4
- .ga-2{
5
- gap: 8px;
6
- }
7
- .ga-3{
8
- gap: 12px;
9
- }
10
- .ga-4{
11
- gap: 16px;
12
- }
13
- .ga-5{
14
- gap: 20px;
15
- }
16
- .ga-6{
17
- gap: 24px;
18
- }
19
- .ga-7{
20
- gap: 28px;
21
- }
22
- .ga-8{
23
- gap: 32px;
24
- }
25
- .ga-9{
26
- gap: 36px;
27
- }
28
- .ga-10{
29
- gap: 40px;
30
- }
31
- .ga-11{
32
- gap: 44px;
33
- }
34
- .ga-12{
35
- gap: 48px;
36
- }
37
- /* ------------------------------------------------------------------------ */
38
- .mw-200 {
39
- max-width: 200px;
40
- }
41
-
42
- .mw-300 {
43
- max-width: 300px;
44
- }
45
-
46
- .mw-400 {
47
- max-width: 400px;
48
- }
49
-
50
- .mw-500 {
51
- max-width: 500px;
52
- }
53
-
54
- .mw-600 {
55
- max-width: 600px;
56
- }
57
-
58
- .mw-700 {
59
- max-width: 700px;
60
- }
61
-
62
- .mw-800 {
63
- max-width: 800px;
64
- }
65
-
66
- .mw-900 {
67
- max-width: 900px;
68
- }
69
-
70
- .mw-1000 {
71
- max-width: 1000px;
72
- }
73
-
74
- .mw-1200 {
75
- max-width: 1200px;
76
- }
77
-
78
- .mw-1400 {
79
- max-width: 1400px;
80
- }
81
-
82
- .hidden-container{
83
- display: none;
84
- }
85
-
86
- /* ============================================================= */
87
- html {
88
- overflow-y: auto;
89
- font-family: Roboto, sans-serif;
90
- }
91
-
92
- b {
93
- font-weight: 500;
94
- }
95
-
96
- .wrs_editor .wrs_tickContainer {
97
- display: none;
98
- }
99
-
100
- input::-webkit-outer-spin-button,
101
- input::-webkit-inner-spin-button {
102
- -webkit-appearance: none;
103
- margin: 0;
104
- }
105
-
106
- input[type=number] {
107
- -moz-appearance: textfield;
108
- }
109
-
110
- /* ================================================================================================= */
111
- /* json ace_editor */
112
- .ace_editor.ace-jsoneditor {
113
- font-size: 0.9em !important;
114
- }
115
-
116
- .jsoneditor-poweredBy {
117
- display: none;
118
- }
119
-
120
- .jsoneditor {
121
- border: none !important;
122
- }
123
-
124
- .jsoneditor-menu {
125
- background-color: #1976d2 !important;
126
- border: none !important;
127
- }
128
-
129
- /* jconfirm */
130
- @media only screen and (min-width: 600px) {
131
- .jconfirm .jconfirm-box {
132
- min-width: 460px;
133
- max-width: 500px;
134
- }
135
- }
136
-
137
- .jconfirm .jconfirm-box {
138
- font-family: Roboto, sans-serif !important;
139
- border-top: 0 !important;
140
- }
141
-
142
- .jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button,
143
- .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button {
144
- font-weight: 400 !important;
145
- font-size: .9rem !important;
146
- }
147
-
148
- .jconfirm .jconfirm-box-container {
149
- margin: auto;
150
- max-width: none;
151
- }
152
-
153
- .jconfirm .jconfirm-box .jconfirm-buttons>button {
154
- margin-left: 10px !important;
155
- margin-right: 10px !important;
156
-
157
- }
158
-
159
- .jconfirm.jconfirm-white .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,
160
- .jconfirm.jconfirm-light .jconfirm-box .jconfirm-title-c .jconfirm-icon-c {
161
- font-size: 2.9em !important;
162
- margin: 0 0 15px 0 !important;
163
- }
164
-
165
- .jconfirm .jconfirm-box div.jconfirm-title-c {
166
- display: grid;
167
- line-height: inherit;
168
- text-align: center;
169
- font-size: 1.1rem !important;
170
- }
171
-
172
- .jconfirm .jconfirm-box .jconfirm-content-pane .jconfirm-content,
173
- .jconfirm .jconfirm-box .jconfirm-buttons{
174
- text-align: center;
175
- float: inherit;
176
- }
177
-
178
-
179
- /* ============================================================== */
180
-
181
- .ck.ck-editor {
182
- overflow-x: hidden;
183
- font-size: initial;
184
- }
185
-
186
-
187
- /* =========== menu for mobile =================================================== */
188
- @media only screen and (max-width: 959px) {
189
- .v-application .hidden-sm-and-down {
190
- display: none !important;
191
- }
192
- }
193
-
194
-
195
- /*================== Custom style ===================================================*/
196
- .v-text-field--filled.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
197
- .v-text-field--filled.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
198
- .v-text-field--filled.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
199
- .v-text-field--full-width.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
200
- .v-text-field--full-width.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
201
- .v-text-field--full-width.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
202
- .v-text-field--outlined.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
203
- .v-text-field--outlined.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
204
- .v-text-field--outlined.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot {
205
- min-height: 36px;
206
- }
207
-
208
- .v-select.v-text-field--outlined:not(.v-text-field--single-line).v-input--dense .v-select__selections {
209
- padding: 0px 0;
210
- }
211
-
212
- .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,
213
- .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,
214
- .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,
215
- .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer,
216
- .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,
217
- .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,
218
- .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,
219
- .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer {
220
- margin-top: 6px;
221
- }
222
- .v-text-field--outlined.v-input--dense .v-label {
223
- top: 8px;
224
- }
225
-
226
- .v-text-field input {
227
- padding: 9px 0 7px 0;
228
- }
229
-
230
- .v-btn {
231
- font-weight: 400;
232
- }
233
-
234
- .v-textarea textarea {
235
- line-height: 1.5;
236
- }
237
-
238
- /*=================== v-data-table ======================================================= */
239
- .v-data-table>.v-data-table__wrapper>table>tbody>tr>td,
240
- .v-data-table>.v-data-table__wrapper>table>tbody>tr>th,
241
- .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td,
242
- .v-data-table>.v-data-table__wrapper>table>tfoot>tr>th,
243
- .v-data-table>.v-data-table__wrapper>table>thead>tr>td,
244
- .v-data-table>.v-data-table__wrapper>table>thead>tr>th {
245
- padding: 0 12px;
246
- }
247
-
248
- .v-select__selection--comma,
249
- .theme--light.v-data-table thead tr th,
250
- .theme--light.v-data-table,
251
- .theme--light.v-input input {
252
- /* color: #000 !important; */
253
- font-weight: 400;
254
- }
255
-
256
- .theme--light.v-data-table thead tr th {
257
- font-size: .85rem !important;
258
- font-weight: 500;
259
- color: #505050 !important;
260
- height: 36px !important;
261
- }
262
-
263
- .v-data-table .v-text-field>.v-input__control>.v-input__slot:before {
264
- border-width: 0 0 0 0 !important;
265
- }
266
-
267
- .v-data-table .v-data-table__wrapper .v-input {
268
- font-size: inherit !important;
269
- }
270
-
271
- .tTable {
272
- border-top: thin solid rgba(0, 0, 0, .08) !important;
273
- }
274
-
275
- .tTable table th {
276
- white-space: nowrap !important;
277
- background-color: #f9f9f9 !important;
278
- border-bottom: thin solid rgba(0, 0, 0, .08) !important;
279
- }
280
-
281
- .tTable table td {
282
- border-bottom: thin solid rgba(0, 0, 0, .08) !important;
283
- }
284
-
285
- .theme--light.v-data-table .v-data-footer {
286
- border-top: none !important;
287
- }
288
-
289
- .theme--light.v-data-table .v-data-table__divider {
290
- border-right: thin solid rgba(0, 0, 0, .08) !important;
291
- }
292
-
293
- .tTable table th .v-icon.v-data-table-header__icon {
294
- display: none;
295
- }
296
-
297
- .tTable table th.sortable.active .v-icon.v-data-table-header__icon {
298
- display: inline-flex;
299
- }
300
-
301
- .tTable tbody tr:hover {
302
- background-color: #f5f5f5 !important;
303
- }
304
-
305
- .tTableNoHover tbody tr:hover {
306
- background: transparent !important;
307
- }
308
-
309
- .v-data-table .v-data-table-header-mobile {
310
- display: none !important;
311
- }
312
-
313
- .v-data-table .v-data-table__mobile-row {
314
- min-height: 34px;
315
- height: 34px !important;
316
- }
317
-
318
- /* ===================================================================================================
319
- =============== scrollbar Style ============================================================================
320
- =================================================================================================== */
321
- /* Thanh cuộn mảnh, ẩn khi không hover, hiện dần khi rê chuột vào (giống #content-left-box của ME).
322
- Màu thumb đi qua biến --fp-scrollbar; phải đăng ký @property thì biến mới transition được
323
- (biến chưa đăng ký chỉ nhảy giá trị, không có hiệu ứng mờ dần). */
324
- @property --fp-scrollbar {
325
- syntax: '<color>';
326
- inherits: false;
327
- initial-value: transparent;
328
- }
329
-
330
- .fpScrollbar, .v-navigation-drawer__content {
331
- overflow-y: auto;
332
- --fp-scrollbar: transparent;
333
- /* Firefox */
334
- scrollbar-width: thin;
335
- scrollbar-color: var(--fp-scrollbar) transparent;
336
- /* CHỈ transition biến. Thêm "scrollbar-color" vào đây thì mỗi khung hình biến đổi màu lại khởi động lại
337
- transition của scrollbar-color từ đầu ⇒ màu đổi từng nấc, chậm gấp 2–3 lần (đo trên lhu-docs). */
338
- transition: --fp-scrollbar 600ms ease;
339
- }
340
-
341
- .fpScrollbar:hover, .v-navigation-drawer__content:hover {
342
- --fp-scrollbar: rgba(0, 0, 0, 0.25);
343
- transition: --fp-scrollbar 300ms ease;
344
- }
345
-
346
- /* Chrome/Edge/Safari cũ. Từ Chrome 121, đã khai scrollbar-color thì Chrome BỎ QUA ::-webkit-scrollbar
347
- ⇒ thanh thực tế rộng ~10px (mức "thin" của trình duyệt), không phải 5px. */
348
- .fpScrollbar::-webkit-scrollbar, .v-navigation-drawer__content::-webkit-scrollbar {
349
- width: 5px;
350
- height: 5px;
351
- }
352
-
353
- .fpScrollbar::-webkit-scrollbar-track, .v-navigation-drawer__content::-webkit-scrollbar-track {
354
- background: transparent;
355
- }
356
-
357
- .fpScrollbar::-webkit-scrollbar-thumb, .v-navigation-drawer__content::-webkit-scrollbar-thumb {
358
- background-color: var(--fp-scrollbar);
359
- border-radius: 4px;
360
- }
361
-
362
- /* ===================================================================================================
363
- =============== Loader ============================================================================
364
- =================================================================================================== */
365
-
366
- .loader-wrapper {
367
- position: fixed;
368
- top: 0;
369
- left: 0;
370
- width: 100%;
371
- height: 100%;
372
- z-index: 100000;
373
- }
374
-
375
- .loader-wrapper .loader {
376
- display: block;
377
- position: relative;
378
- left: 50%;
379
- top: 50%;
380
- width: 111px;
381
- height: 111px;
382
- margin: -59px 0 0 -59px;
383
- border-radius: 50%;
384
- border: 3px solid transparent;
385
- border-top-color: #3498db;
386
- -webkit-animation: fui-loader-spin 2s linear infinite;
387
- /* Chrome, Opera 15+, Safari 5+ */
388
- animation: fui-loader-spin 2s linear infinite;
389
- /* Chrome, Firefox 16+, IE 10+, Opera */
390
- z-index: 1001;
391
- }
392
-
393
- .loader-wrapper .loader:before {
394
- content: "";
395
- position: absolute;
396
- top: 5px;
397
- left: 5px;
398
- right: 5px;
399
- bottom: 5px;
400
- border-radius: 50%;
401
- border: 3px solid transparent;
402
- border-top-color: #e74c3c;
403
- -webkit-animation: fui-loader-spin 3s linear infinite;
404
- /* Chrome, Opera 15+, Safari 5+ */
405
- animation: fui-loader-spin 3s linear infinite;
406
- /* Chrome, Firefox 16+, IE 10+, Opera */
407
- }
408
-
409
- .loader-wrapper .loader:after {
410
- content: "";
411
- position: absolute;
412
- top: 15px;
413
- left: 15px;
414
- right: 15px;
415
- bottom: 15px;
416
- border-radius: 50%;
417
- border: 3px solid transparent;
418
- border-top-color: #f9c922;
419
- -webkit-animation: fui-loader-spin 1.5s linear infinite;
420
- /* Chrome, Opera 15+, Safari 5+ */
421
- animation: fui-loader-spin 1.5s linear infinite;
422
- /* Chrome, Firefox 16+, IE 10+, Opera */
423
- }
424
-
425
- @-webkit-keyframes fui-loader-spin {
426
- 0% {
427
- -webkit-transform: rotate(0deg);
428
- /* Chrome, Opera 15+, Safari 3.1+ */
429
- -ms-transform: rotate(0deg);
430
- /* IE 9 */
431
- transform: rotate(0deg);
432
- /* Firefox 16+, IE 10+, Opera */
433
- }
434
-
435
- 100% {
436
- -webkit-transform: rotate(360deg);
437
- /* Chrome, Opera 15+, Safari 3.1+ */
438
- -ms-transform: rotate(360deg);
439
- /* IE 9 */
440
- transform: rotate(360deg);
441
- /* Firefox 16+, IE 10+, Opera */
442
- }
443
- }
444
-
445
- @keyframes fui-loader-spin {
446
- 0% {
447
- -webkit-transform: rotate(0deg);
448
- /* Chrome, Opera 15+, Safari 3.1+ */
449
- -ms-transform: rotate(0deg);
450
- /* IE 9 */
451
- transform: rotate(0deg);
452
- /* Firefox 16+, IE 10+, Opera */
453
- }
454
-
455
- 100% {
456
- -webkit-transform: rotate(360deg);
457
- /* Chrome, Opera 15+, Safari 3.1+ */
458
- -ms-transform: rotate(360deg);
459
- /* IE 9 */
460
- transform: rotate(360deg);
461
- /* Firefox 16+, IE 10+, Opera */
462
- }
463
- }
464
- /* ==============================================================================*/
465
- .fui-loading {
466
- --color-1: #1867c0;
467
- --size: 0.8px;
468
-
469
- width: calc(48 * var(--size));
470
- height: calc(48 * var(--size));
471
- border: calc(5 * var(--size)) dotted var(--color-1);
472
- border-radius: 50%;
473
- display: inline-block;
474
- position: relative;
475
- box-sizing: border-box;
476
- animation: rotation 4s linear infinite;
477
- }
478
-
479
- @keyframes rotation {
480
- 0% {
481
- transform: rotate(0deg);
482
- }
483
- 100% {
484
- transform: rotate(360deg);
485
- }
486
- }
487
-
488
- /* ===================================================================================================
489
- =============== Loader ============================================================================
1
+ .ga-1{
2
+ gap: 4px;
3
+ }
4
+ .ga-2{
5
+ gap: 8px;
6
+ }
7
+ .ga-3{
8
+ gap: 12px;
9
+ }
10
+ .ga-4{
11
+ gap: 16px;
12
+ }
13
+ .ga-5{
14
+ gap: 20px;
15
+ }
16
+ .ga-6{
17
+ gap: 24px;
18
+ }
19
+ .ga-7{
20
+ gap: 28px;
21
+ }
22
+ .ga-8{
23
+ gap: 32px;
24
+ }
25
+ .ga-9{
26
+ gap: 36px;
27
+ }
28
+ .ga-10{
29
+ gap: 40px;
30
+ }
31
+ .ga-11{
32
+ gap: 44px;
33
+ }
34
+ .ga-12{
35
+ gap: 48px;
36
+ }
37
+ /* ------------------------------------------------------------------------ */
38
+ .mw-200 {
39
+ max-width: 200px;
40
+ }
41
+
42
+ .mw-300 {
43
+ max-width: 300px;
44
+ }
45
+
46
+ .mw-400 {
47
+ max-width: 400px;
48
+ }
49
+
50
+ .mw-500 {
51
+ max-width: 500px;
52
+ }
53
+
54
+ .mw-600 {
55
+ max-width: 600px;
56
+ }
57
+
58
+ .mw-700 {
59
+ max-width: 700px;
60
+ }
61
+
62
+ .mw-800 {
63
+ max-width: 800px;
64
+ }
65
+
66
+ .mw-900 {
67
+ max-width: 900px;
68
+ }
69
+
70
+ .mw-1000 {
71
+ max-width: 1000px;
72
+ }
73
+
74
+ .mw-1200 {
75
+ max-width: 1200px;
76
+ }
77
+
78
+ .mw-1400 {
79
+ max-width: 1400px;
80
+ }
81
+
82
+ .hidden-container{
83
+ display: none;
84
+ }
85
+
86
+ /* ============================================================= */
87
+ html {
88
+ overflow-y: auto;
89
+ font-family: Roboto, sans-serif;
90
+ }
91
+
92
+ b {
93
+ font-weight: 500;
94
+ }
95
+
96
+ .wrs_editor .wrs_tickContainer {
97
+ display: none;
98
+ }
99
+
100
+ input::-webkit-outer-spin-button,
101
+ input::-webkit-inner-spin-button {
102
+ -webkit-appearance: none;
103
+ margin: 0;
104
+ }
105
+
106
+ input[type=number] {
107
+ -moz-appearance: textfield;
108
+ }
109
+
110
+ /* ================================================================================================= */
111
+ /* json ace_editor */
112
+ .ace_editor.ace-jsoneditor {
113
+ font-size: 0.9em !important;
114
+ }
115
+
116
+ .jsoneditor-poweredBy {
117
+ display: none;
118
+ }
119
+
120
+ .jsoneditor {
121
+ border: none !important;
122
+ }
123
+
124
+ .jsoneditor-menu {
125
+ background-color: #1976d2 !important;
126
+ border: none !important;
127
+ }
128
+
129
+ /* jconfirm */
130
+ @media only screen and (min-width: 600px) {
131
+ .jconfirm .jconfirm-box {
132
+ min-width: 460px;
133
+ max-width: 500px;
134
+ }
135
+ }
136
+
137
+ .jconfirm .jconfirm-box {
138
+ font-family: Roboto, sans-serif !important;
139
+ border-top: 0 !important;
140
+ }
141
+
142
+ .jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button,
143
+ .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button {
144
+ font-weight: 400 !important;
145
+ font-size: .9rem !important;
146
+ }
147
+
148
+ .jconfirm .jconfirm-box-container {
149
+ margin: auto;
150
+ max-width: none;
151
+ }
152
+
153
+ .jconfirm .jconfirm-box .jconfirm-buttons>button {
154
+ margin-left: 10px !important;
155
+ margin-right: 10px !important;
156
+
157
+ }
158
+
159
+ .jconfirm.jconfirm-white .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,
160
+ .jconfirm.jconfirm-light .jconfirm-box .jconfirm-title-c .jconfirm-icon-c {
161
+ font-size: 2.9em !important;
162
+ margin: 0 0 15px 0 !important;
163
+ }
164
+
165
+ .jconfirm .jconfirm-box div.jconfirm-title-c {
166
+ display: grid;
167
+ line-height: inherit;
168
+ text-align: center;
169
+ font-size: 1.1rem !important;
170
+ }
171
+
172
+ .jconfirm .jconfirm-box .jconfirm-content-pane .jconfirm-content,
173
+ .jconfirm .jconfirm-box .jconfirm-buttons{
174
+ text-align: center;
175
+ float: inherit;
176
+ }
177
+
178
+
179
+ /* ============================================================== */
180
+
181
+ .ck.ck-editor {
182
+ overflow-x: hidden;
183
+ font-size: initial;
184
+ }
185
+
186
+
187
+ /* =========== menu for mobile =================================================== */
188
+ @media only screen and (max-width: 959px) {
189
+ .v-application .hidden-sm-and-down {
190
+ display: none !important;
191
+ }
192
+ }
193
+
194
+
195
+ /*================== Custom style ===================================================*/
196
+ .v-text-field--filled.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
197
+ .v-text-field--filled.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
198
+ .v-text-field--filled.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
199
+ .v-text-field--full-width.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
200
+ .v-text-field--full-width.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
201
+ .v-text-field--full-width.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
202
+ .v-text-field--outlined.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
203
+ .v-text-field--outlined.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
204
+ .v-text-field--outlined.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot {
205
+ min-height: 36px;
206
+ }
207
+
208
+ .v-select.v-text-field--outlined:not(.v-text-field--single-line).v-input--dense .v-select__selections {
209
+ padding: 0px 0;
210
+ }
211
+
212
+ .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,
213
+ .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,
214
+ .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,
215
+ .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer,
216
+ .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-inner,
217
+ .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__append-outer,
218
+ .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-inner,
219
+ .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--outlined .v-input__prepend-outer {
220
+ margin-top: 6px;
221
+ }
222
+ .v-text-field--outlined.v-input--dense .v-label {
223
+ top: 8px;
224
+ }
225
+
226
+ .v-text-field input {
227
+ padding: 9px 0 7px 0;
228
+ }
229
+
230
+ .v-btn {
231
+ font-weight: 400;
232
+ }
233
+
234
+ .v-textarea textarea {
235
+ line-height: 1.5;
236
+ }
237
+
238
+ /*=================== v-data-table ======================================================= */
239
+ .v-data-table>.v-data-table__wrapper>table>tbody>tr>td,
240
+ .v-data-table>.v-data-table__wrapper>table>tbody>tr>th,
241
+ .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td,
242
+ .v-data-table>.v-data-table__wrapper>table>tfoot>tr>th,
243
+ .v-data-table>.v-data-table__wrapper>table>thead>tr>td,
244
+ .v-data-table>.v-data-table__wrapper>table>thead>tr>th {
245
+ padding: 0 12px;
246
+ }
247
+
248
+ .v-select__selection--comma,
249
+ .theme--light.v-data-table thead tr th,
250
+ .theme--light.v-data-table,
251
+ .theme--light.v-input input {
252
+ /* color: #000 !important; */
253
+ font-weight: 400;
254
+ }
255
+
256
+ .theme--light.v-data-table thead tr th {
257
+ font-size: .85rem !important;
258
+ font-weight: 500;
259
+ color: #505050 !important;
260
+ height: 36px !important;
261
+ }
262
+
263
+ .v-data-table .v-text-field>.v-input__control>.v-input__slot:before {
264
+ border-width: 0 0 0 0 !important;
265
+ }
266
+
267
+ .v-data-table .v-data-table__wrapper .v-input {
268
+ font-size: inherit !important;
269
+ }
270
+
271
+ .tTable {
272
+ border-top: thin solid rgba(0, 0, 0, .08) !important;
273
+ }
274
+
275
+ .tTable table th {
276
+ white-space: nowrap !important;
277
+ background-color: #f9f9f9 !important;
278
+ border-bottom: thin solid rgba(0, 0, 0, .08) !important;
279
+ }
280
+
281
+ .tTable table td {
282
+ border-bottom: thin solid rgba(0, 0, 0, .08) !important;
283
+ }
284
+
285
+ .theme--light.v-data-table .v-data-footer {
286
+ border-top: none !important;
287
+ }
288
+
289
+ .theme--light.v-data-table .v-data-table__divider {
290
+ border-right: thin solid rgba(0, 0, 0, .08) !important;
291
+ }
292
+
293
+ .tTable table th .v-icon.v-data-table-header__icon {
294
+ display: none;
295
+ }
296
+
297
+ .tTable table th.sortable.active .v-icon.v-data-table-header__icon {
298
+ display: inline-flex;
299
+ }
300
+
301
+ .tTable tbody tr:hover {
302
+ background-color: #f5f5f5 !important;
303
+ }
304
+
305
+ .tTableNoHover tbody tr:hover {
306
+ background: transparent !important;
307
+ }
308
+
309
+ .v-data-table .v-data-table-header-mobile {
310
+ display: none !important;
311
+ }
312
+
313
+ .v-data-table .v-data-table__mobile-row {
314
+ min-height: 34px;
315
+ height: 34px !important;
316
+ }
317
+
318
+ /* ===================================================================================================
319
+ =============== scrollbar Style ============================================================================
320
+ =================================================================================================== */
321
+ /* Thanh cuộn mảnh, ẩn khi không hover, hiện dần khi rê chuột vào (giống #content-left-box của ME).
322
+ Màu thumb đi qua biến --fp-scrollbar; phải đăng ký @property thì biến mới transition được
323
+ (biến chưa đăng ký chỉ nhảy giá trị, không có hiệu ứng mờ dần). */
324
+ @property --fp-scrollbar {
325
+ syntax: '<color>';
326
+ inherits: false;
327
+ initial-value: transparent;
328
+ }
329
+
330
+ .fpScrollbar, .v-navigation-drawer__content {
331
+ overflow-y: auto;
332
+ --fp-scrollbar: transparent;
333
+ /* Firefox */
334
+ scrollbar-width: thin;
335
+ scrollbar-color: var(--fp-scrollbar) transparent;
336
+ /* CHỈ transition biến. Thêm "scrollbar-color" vào đây thì mỗi khung hình biến đổi màu lại khởi động lại
337
+ transition của scrollbar-color từ đầu ⇒ màu đổi từng nấc, chậm gấp 2–3 lần (đo trên lhu-docs). */
338
+ transition: --fp-scrollbar 600ms ease;
339
+ }
340
+
341
+ .fpScrollbar:hover, .v-navigation-drawer__content:hover {
342
+ --fp-scrollbar: rgba(0, 0, 0, 0.25);
343
+ transition: --fp-scrollbar 300ms ease;
344
+ }
345
+
346
+ /* Chrome/Edge/Safari cũ. Từ Chrome 121, đã khai scrollbar-color thì Chrome BỎ QUA ::-webkit-scrollbar
347
+ ⇒ thanh thực tế rộng ~10px (mức "thin" của trình duyệt), không phải 5px. */
348
+ .fpScrollbar::-webkit-scrollbar, .v-navigation-drawer__content::-webkit-scrollbar {
349
+ width: 5px;
350
+ height: 5px;
351
+ }
352
+
353
+ .fpScrollbar::-webkit-scrollbar-track, .v-navigation-drawer__content::-webkit-scrollbar-track {
354
+ background: transparent;
355
+ }
356
+
357
+ .fpScrollbar::-webkit-scrollbar-thumb, .v-navigation-drawer__content::-webkit-scrollbar-thumb {
358
+ background-color: var(--fp-scrollbar);
359
+ border-radius: 4px;
360
+ }
361
+
362
+ /* ===================================================================================================
363
+ =============== Loader ============================================================================
364
+ =================================================================================================== */
365
+
366
+ .loader-wrapper {
367
+ position: fixed;
368
+ top: 0;
369
+ left: 0;
370
+ width: 100%;
371
+ height: 100%;
372
+ z-index: 100000;
373
+ }
374
+
375
+ .loader-wrapper .loader {
376
+ display: block;
377
+ position: relative;
378
+ left: 50%;
379
+ top: 50%;
380
+ width: 111px;
381
+ height: 111px;
382
+ margin: -59px 0 0 -59px;
383
+ border-radius: 50%;
384
+ border: 3px solid transparent;
385
+ border-top-color: #3498db;
386
+ -webkit-animation: fui-loader-spin 2s linear infinite;
387
+ /* Chrome, Opera 15+, Safari 5+ */
388
+ animation: fui-loader-spin 2s linear infinite;
389
+ /* Chrome, Firefox 16+, IE 10+, Opera */
390
+ z-index: 1001;
391
+ }
392
+
393
+ .loader-wrapper .loader:before {
394
+ content: "";
395
+ position: absolute;
396
+ top: 5px;
397
+ left: 5px;
398
+ right: 5px;
399
+ bottom: 5px;
400
+ border-radius: 50%;
401
+ border: 3px solid transparent;
402
+ border-top-color: #e74c3c;
403
+ -webkit-animation: fui-loader-spin 3s linear infinite;
404
+ /* Chrome, Opera 15+, Safari 5+ */
405
+ animation: fui-loader-spin 3s linear infinite;
406
+ /* Chrome, Firefox 16+, IE 10+, Opera */
407
+ }
408
+
409
+ .loader-wrapper .loader:after {
410
+ content: "";
411
+ position: absolute;
412
+ top: 15px;
413
+ left: 15px;
414
+ right: 15px;
415
+ bottom: 15px;
416
+ border-radius: 50%;
417
+ border: 3px solid transparent;
418
+ border-top-color: #f9c922;
419
+ -webkit-animation: fui-loader-spin 1.5s linear infinite;
420
+ /* Chrome, Opera 15+, Safari 5+ */
421
+ animation: fui-loader-spin 1.5s linear infinite;
422
+ /* Chrome, Firefox 16+, IE 10+, Opera */
423
+ }
424
+
425
+ @-webkit-keyframes fui-loader-spin {
426
+ 0% {
427
+ -webkit-transform: rotate(0deg);
428
+ /* Chrome, Opera 15+, Safari 3.1+ */
429
+ -ms-transform: rotate(0deg);
430
+ /* IE 9 */
431
+ transform: rotate(0deg);
432
+ /* Firefox 16+, IE 10+, Opera */
433
+ }
434
+
435
+ 100% {
436
+ -webkit-transform: rotate(360deg);
437
+ /* Chrome, Opera 15+, Safari 3.1+ */
438
+ -ms-transform: rotate(360deg);
439
+ /* IE 9 */
440
+ transform: rotate(360deg);
441
+ /* Firefox 16+, IE 10+, Opera */
442
+ }
443
+ }
444
+
445
+ @keyframes fui-loader-spin {
446
+ 0% {
447
+ -webkit-transform: rotate(0deg);
448
+ /* Chrome, Opera 15+, Safari 3.1+ */
449
+ -ms-transform: rotate(0deg);
450
+ /* IE 9 */
451
+ transform: rotate(0deg);
452
+ /* Firefox 16+, IE 10+, Opera */
453
+ }
454
+
455
+ 100% {
456
+ -webkit-transform: rotate(360deg);
457
+ /* Chrome, Opera 15+, Safari 3.1+ */
458
+ -ms-transform: rotate(360deg);
459
+ /* IE 9 */
460
+ transform: rotate(360deg);
461
+ /* Firefox 16+, IE 10+, Opera */
462
+ }
463
+ }
464
+ /* ==============================================================================*/
465
+ .fui-loading {
466
+ --color-1: #1867c0;
467
+ --size: 0.8px;
468
+
469
+ width: calc(48 * var(--size));
470
+ height: calc(48 * var(--size));
471
+ border: calc(5 * var(--size)) dotted var(--color-1);
472
+ border-radius: 50%;
473
+ display: inline-block;
474
+ position: relative;
475
+ box-sizing: border-box;
476
+ animation: rotation 4s linear infinite;
477
+ }
478
+
479
+ @keyframes rotation {
480
+ 0% {
481
+ transform: rotate(0deg);
482
+ }
483
+ 100% {
484
+ transform: rotate(360deg);
485
+ }
486
+ }
487
+
488
+ /* ===================================================================================================
489
+ =============== Loader ============================================================================
490
490
  =================================================================================================== */