dashboard-shell-shell 3.0.5-test.5 → 3.0.5-test.6

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 (212) hide show
  1. package/assets/brand/harvester/favicon.png +0 -0
  2. package/assets/brand/suse/favicon.png +0 -0
  3. package/assets/images/pl/half-logo.svg +23 -2
  4. package/assets/images/pl/harvester.png +0 -0
  5. package/assets/styles/app.scss +0 -4
  6. package/assets/styles/base/_basic.scss +2 -2
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -2
  9. package/assets/styles/base/_variables.scss +4 -11
  10. package/assets/styles/global/_button.scss +25 -43
  11. package/assets/styles/global/_columns.scss +1 -3
  12. package/assets/styles/global/_form.scss +13 -45
  13. package/assets/styles/global/_labeled-input.scss +26 -54
  14. package/assets/styles/global/_layout.scss +3 -8
  15. package/assets/styles/global/_select.scss +17 -25
  16. package/assets/styles/global/_table.scss +1 -7
  17. package/assets/styles/global/_tooltip.scss +8 -56
  18. package/assets/styles/themes/_dark.scss +0 -3
  19. package/assets/styles/themes/_light.scss +43 -66
  20. package/assets/styles/vendor/vue-select.scss +9 -22
  21. package/assets/translations/en-us.yaml +4 -28
  22. package/assets/translations/zh-hans.yaml +189 -452
  23. package/components/ActionDropdown.vue +1 -2
  24. package/components/ActionMenu.vue +2 -2
  25. package/components/ActionMenuShell.vue +0 -2
  26. package/components/AppModal.vue +5 -46
  27. package/components/BrandImage.vue +0 -1
  28. package/components/ButtonDropdown.vue +4 -26
  29. package/components/ButtonMultiAction.vue +0 -1
  30. package/components/ClusterIconMenu.vue +1 -1
  31. package/components/CodeMirror.vue +6 -20
  32. package/components/ConsumptionGauge.vue +5 -24
  33. package/components/CopyToClipboard.vue +0 -15
  34. package/components/CruResource.vue +8 -9
  35. package/components/CruResourceFooter.vue +2 -2
  36. package/components/DashboardOptions.vue +17 -29
  37. package/components/Drawer/Chrome.vue +2 -2
  38. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +23 -23
  39. package/components/Drawer/ResourceDetailDrawer/index.vue +2 -2
  40. package/components/ExplorerMembers.vue +3 -18
  41. package/components/ExplorerProjectsNamespaces.vue +5 -19
  42. package/components/GlobalRoleBindings.vue +48 -112
  43. package/components/GrafanaDashboard.vue +4 -4
  44. package/components/GrowlManager.vue +1 -3
  45. package/components/HardwareResourceGauge.vue +3 -39
  46. package/components/IndentedPanel.vue +10 -4
  47. package/components/InfoBox.vue +3 -3
  48. package/components/InputOrDisplay.vue +2 -28
  49. package/components/LabelValue.vue +1 -20
  50. package/components/ModalWithCard.vue +3 -12
  51. package/components/PodSecurityAdmission.vue +1 -1
  52. package/components/PromptModal.vue +1 -1
  53. package/components/PromptRemove.vue +11 -30
  54. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +3 -1
  55. package/components/Resource/Detail/Metadata/KeyValue.vue +4 -8
  56. package/components/Resource/Detail/Metadata/index.vue +1 -2
  57. package/components/Resource/Detail/TitleBar/Title.vue +3 -4
  58. package/components/Resource/Detail/TitleBar/index.vue +24 -103
  59. package/components/ResourceDetail/Masthead/legacy.vue +38 -181
  60. package/components/ResourceDetail/legacy.vue +14 -32
  61. package/components/ResourceList/Masthead.vue +54 -226
  62. package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
  63. package/components/ResourceTable.vue +2 -24
  64. package/components/SideNav.vue +20 -74
  65. package/components/SortableTable/THead.vue +3 -33
  66. package/components/SortableTable/index.vue +464 -1017
  67. package/components/SortableTable/paging.js +16 -26
  68. package/components/SortableTable/selection.js +2 -2
  69. package/components/Tabbed/Tab.vue +3 -3
  70. package/components/Tabbed/index.vue +30 -48
  71. package/components/YamlEditor.vue +1 -0
  72. package/components/auth/Principal.vue +13 -37
  73. package/components/auth/RoleDetailEdit.vue +7 -58
  74. package/components/auth/SelectPrincipal.vue +0 -1
  75. package/components/form/ArrayList.vue +33 -41
  76. package/components/form/ArrayListGrouped.vue +2 -10
  77. package/components/form/ArrayListSelect.vue +1 -1
  78. package/components/form/BannerSettings.vue +59 -64
  79. package/components/form/ChangePassword.vue +4 -4
  80. package/components/form/ColorInput.vue +8 -32
  81. package/components/form/Footer.vue +8 -11
  82. package/components/form/InputWithSelect.vue +5 -8
  83. package/components/form/KeyValue.vue +7 -47
  84. package/components/form/LabeledSelect.vue +242 -214
  85. package/components/form/Labels.vue +3 -3
  86. package/components/form/MatchExpressions.vue +7 -24
  87. package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
  88. package/components/form/Members/MembershipEditor.vue +1 -1
  89. package/components/form/NameNsDescription.vue +20 -59
  90. package/components/form/Password.vue +7 -16
  91. package/components/form/PodAffinity.vue +5 -4
  92. package/components/form/ResourceQuota/Namespace.vue +4 -4
  93. package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
  94. package/components/form/ResourceQuota/Project.vue +4 -4
  95. package/components/form/ResourceQuota/ProjectRow.vue +6 -3
  96. package/components/form/Select.vue +2 -5
  97. package/components/form/SimpleSecretSelector.vue +9 -29
  98. package/components/form/Taints.vue +1 -2
  99. package/components/form/UnitInput.vue +3 -8
  100. package/components/form/WorkloadPorts.vue +123 -143
  101. package/components/formatter/BadgeStateFormatter.vue +5 -8
  102. package/components/formatter/LiveDate.vue +3 -3
  103. package/components/nav/Favorite.vue +1 -5
  104. package/components/nav/Group.vue +99 -132
  105. package/components/nav/Header.vue +27 -124
  106. package/components/nav/HeaderPageActionMenu.vue +0 -1
  107. package/components/nav/NamespaceFilter.vue +15 -19
  108. package/components/nav/TopLevelMenu.vue +119 -182
  109. package/components/nav/Type.vue +41 -63
  110. package/composables/useClickOutside.ts +1 -1
  111. package/config/private-label.js +11 -15
  112. package/config/product/auth.js +7 -17
  113. package/config/product/settings.js +9 -19
  114. package/config/settings.ts +0 -28
  115. package/config/table-headers.js +2 -3
  116. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  117. package/dialog/ScalePoolDownDialog.vue +2 -2
  118. package/edit/management.cattle.io.user.vue +4 -17
  119. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  120. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
  121. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
  122. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  123. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  124. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  125. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  126. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  127. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  128. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  129. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  130. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  131. package/edit/namespace.vue +2 -1
  132. package/edit/token.vue +12 -31
  133. package/edit/workload/index.vue +4 -4
  134. package/list/management.cattle.io.setting.vue +13 -22
  135. package/list/management.cattle.io.user.vue +3 -7
  136. package/list/namespace.vue +0 -3
  137. package/list/provisioning.cattle.io.cluster.vue +7 -6
  138. package/mixins/brand.js +0 -17
  139. package/package.json +1 -1
  140. package/pages/account/index.vue +25 -79
  141. package/pages/auth/login.vue +52 -220
  142. package/pages/auth/setup.vue +19 -142
  143. package/pages/c/_cluster/_product/namespaces.vue +5 -5
  144. package/pages/c/_cluster/auth/roles/index.vue +1 -19
  145. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  146. package/pages/c/_cluster/settings/banners.vue +102 -174
  147. package/pages/c/_cluster/settings/brand.vue +302 -350
  148. package/pages/c/_cluster/settings/performance.vue +38 -61
  149. package/pages/home.vue +30 -70
  150. package/pages/prefs.vue +25 -27
  151. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  152. package/public/index.html +4 -4
  153. package/rancher-components/BadgeState/BadgeState.vue +55 -38
  154. package/rancher-components/Banner/Banner.vue +8 -12
  155. package/rancher-components/Card/Card.vue +8 -7
  156. package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
  157. package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
  158. package/rancher-components/Form/Radio/RadioButton.vue +11 -35
  159. package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
  160. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  161. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
  162. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
  163. package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
  164. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  165. package/rancher-components/RcDropdown/RcDropdownMenu.vue +6 -12
  166. package/rancher-components/RcDropdown/types.ts +0 -1
  167. package/rancher-components/StringList/StringList.vue +1 -1
  168. package/static/favicon.ico +0 -0
  169. package/static/favicon.png +0 -0
  170. package/static/loading-indicator.html +3 -3
  171. package/store/i18n.js +2 -5
  172. package/store/modal.ts +3 -3
  173. package/store/prefs.js +4 -11
  174. package/store/type-map.js +2 -32
  175. package/types/shell/index.d.ts +67 -74
  176. package/utils/error.js +8 -87
  177. package/utils/router.js +0 -21
  178. package/utils/select.js +3 -26
  179. package/utils/string.js +5 -8
  180. package/utils/title.ts +1 -1
  181. package/assets/icons/demo.css +0 -539
  182. package/assets/icons/demo.css:Zone.Identifier +0 -0
  183. package/assets/icons/demo_index.html +0 -1131
  184. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  185. package/assets/icons/iconfont.css +0 -216
  186. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  187. package/assets/icons/iconfont.js +0 -1
  188. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  189. package/assets/icons/iconfont.json +0 -324
  190. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  191. package/assets/icons/iconfont.ttf +0 -0
  192. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  193. package/assets/icons/iconfont.woff +0 -0
  194. package/assets/icons/iconfont.woff2 +0 -0
  195. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  196. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  197. package/assets/images/API.svg +0 -3
  198. package/assets/images/action.svg +0 -6
  199. package/assets/images/login/password.svg +0 -20
  200. package/assets/images/login/user.svg +0 -6
  201. package/assets/images/login-bg.png +0 -0
  202. package/assets/images/login-left.png +0 -0
  203. package/assets/images/login-logo.svg +0 -19
  204. package/assets/images/logo.png +0 -0
  205. package/assets/images/pl/logo.png +0 -0
  206. package/assets/images/promp-yellow.svg +0 -5
  207. package/assets/images/user.png +0 -0
  208. package/assets/styles/all.scss +0 -63
  209. package/components/DotState.vue +0 -84
  210. package/components/breadcrumb/index.vue +0 -340
  211. package/pages/account/pri.vue +0 -229
  212. package/utils/errorTranslate.json +0 -1336
@@ -32,7 +32,6 @@ import loadPlugins from '@shell/plugins/plugin';
32
32
  import Loading from '@shell/components/Loading';
33
33
  import { HARVESTER_NAME as HARVESTER } from '@shell/config/features';
34
34
  import TabTitle from '@shell/components/TabTitle.vue';
35
- import { AFTER_LOGIN_ROUTE } from '@shell/store/prefs';
36
35
 
37
36
  export default {
38
37
  name: 'Login',
@@ -59,15 +58,10 @@ export default {
59
58
  providerComponents: [],
60
59
  customLoginError: {},
61
60
  firstLogin: false,
62
- vendor: getVendor(),
63
- imgLeft: require('~shell/assets/images/login-left.png')
61
+ vendor: getVendor()
64
62
  };
65
63
  },
66
64
 
67
- created () {
68
- // this.$store.dispatch('i18n/switchTo', 'zh-hans');
69
- },
70
-
71
65
  computed: {
72
66
  ...mapGetters(['isSingleProduct']),
73
67
  ...mapGetters({ t: 'i18n/t', hasMultipleLocales: 'i18n/hasMultipleLocales' }),
@@ -173,7 +167,7 @@ export default {
173
167
  this.focusSomething();
174
168
  });
175
169
  },
176
-
170
+
177
171
  methods: {
178
172
  async loadInitialSettings() {
179
173
  let firstLoginSetting, plSetting, brand;
@@ -260,13 +254,6 @@ export default {
260
254
 
261
255
  async loginLocal(buttonCb) {
262
256
  try {
263
- // 临时 superadmin 处理
264
- if (this.username === 'super#Admin') {
265
- sessionStorage.setItem('TOPLEVELPERMISSIONS', 'superadmin')
266
- this.username = 'admin'
267
- }
268
-
269
- // 登录
270
257
  await this.$store.dispatch('auth/login', {
271
258
  provider: 'local',
272
259
  body: {
@@ -275,7 +262,6 @@ export default {
275
262
  }
276
263
  });
277
264
 
278
- // 获取当前用户信息
279
265
  const user = await this.$store.dispatch('rancher/findAll', {
280
266
  type: NORMAN.USER,
281
267
  opt: { url: '/v3/users?me=true', load: _MULTI }
@@ -306,17 +292,13 @@ export default {
306
292
  $plugin: this.$store.$plugin
307
293
  });
308
294
 
309
-
310
- // 登录跳转
311
295
  if (this.firstLogin || user[0]?.mustChangePassword) {
312
296
  this.$store.dispatch('auth/setInitialPass', this.password);
313
297
  this.$router.push({ name: 'auth-setup' });
314
298
  } else {
315
299
  this.$router.push({ name: 'index' });
316
300
  }
317
-
318
301
  } catch (err) {
319
- // 登录失败处理
320
302
  this.err = err;
321
303
  this.timedOut = null;
322
304
  this.loggedOut = null;
@@ -337,22 +319,20 @@ export default {
337
319
  v-else
338
320
  class="main-layout login"
339
321
  >
340
- <!-- <TabTitle
322
+ <TabTitle
341
323
  :show-child="false"
342
324
  :breadcrumb="false"
343
325
  >
344
326
  {{ `${vendor} - ${t('login.login')}` }}
345
- </TabTitle> -->
327
+ </TabTitle>
346
328
  <div class="row gutless mb-20">
347
- <div class="col span-7 img-left"></div>
348
- <div class="col span-5 p-20">
349
-
350
- <div class="logo-login" :style="{ 'marginBottom': errorToDisplay? '0px': '30px'}">
351
- <img
352
- src="../../assets/images/login-logo.svg"
353
- alt=""
354
- />
355
- </div>
329
+ <div class="col span-6 p-20">
330
+ <p class="text-center">
331
+ {{ t('login.howdy') }}
332
+ </p>
333
+ <h1 class="text-center login-welcome">
334
+ {{ t('login.welcome', {vendor}) }}
335
+ </h1>
356
336
  <div
357
337
  class="login-messages"
358
338
  data-testid="login__messages"
@@ -363,10 +343,23 @@ export default {
363
343
  :label="errorToDisplay"
364
344
  color="error"
365
345
  />
346
+ <h4
347
+ v-else-if="loggedOut"
348
+ class="text-success text-center"
349
+ >
350
+ {{ loggedOutSuccessMsg }}
351
+ </h4>
352
+ <h4
353
+ v-else-if="timedOut"
354
+ class="text-error text-center"
355
+ >
356
+ {{ t('login.loginAgain') }}
357
+ </h4>
366
358
  </div>
367
359
  <div
368
360
  v-if="firstLogin"
369
361
  class="first-login-message pl-10 pr-10"
362
+ :class="{'mt-30': !hasLoginMessage}"
370
363
  data-testid="first-login-message"
371
364
  >
372
365
  <t
@@ -388,7 +381,7 @@ export default {
388
381
  />
389
382
  </li>
390
383
  <li>
391
- <CopyCode style="background-color: #68686850;border: none;">
384
+ <CopyCode>
392
385
  docker logs <u>container-id</u> 2&gt;&amp;1 | grep "Bootstrap Password:"
393
386
  </CopyCode>
394
387
  </li>
@@ -408,7 +401,7 @@ export default {
408
401
  />
409
402
  </div>
410
403
  <br>
411
- <CopyCode style="background-color: #68686850;border: none;">
404
+ <CopyCode>
412
405
  {{ kubectlCmd }}
413
406
  </CopyCode>
414
407
  <br>
@@ -422,6 +415,7 @@ export default {
422
415
 
423
416
  <div
424
417
  v-if="(!hasLocal || (hasLocal && !showLocal)) && providers.length"
418
+ :class="{'mt-30': !hasLoginMessage}"
425
419
  >
426
420
  <component
427
421
  :is="providerComponents[idx]"
@@ -438,35 +432,23 @@ export default {
438
432
  <template v-if="hasLocal">
439
433
  <form
440
434
  v-if="showLocal"
435
+ :class="{'mt-30': !hasLoginMessage}"
441
436
  @submit.prevent
442
437
  >
443
- <div class="login-form-display-label">
444
- <div class="mb-20 login-input-all-svg">
445
- <img
446
- class="login-svg"
447
- v-if="!firstLogin"
448
- src="../../assets/images/login/user.svg"
449
- alt=""
450
- >
438
+ <div class="span-6 offset-3">
439
+ <div class="mb-20">
451
440
  <LabeledInput
452
441
  v-if="!firstLogin"
453
442
  ref="username"
454
- :placeholder="'请输入用户名'"
455
443
  v-model:value.trim="username"
456
444
  data-testid="local-login-username"
457
445
  :label="t('login.username')"
458
446
  autocomplete="username"
459
447
  />
460
448
  </div>
461
- <div class="login-input-all-svg">
462
- <img
463
- class="login-svg"
464
- src="../../assets/images/login/password.svg"
465
- alt=""
466
- >
449
+ <div class="">
467
450
  <Password
468
451
  ref="password"
469
- :placeholder="'请输入密码'"
470
452
  v-model:value="password"
471
453
  data-testid="local-login-password"
472
454
  :label="t('login.password')"
@@ -474,21 +456,8 @@ export default {
474
456
  />
475
457
  </div>
476
458
  </div>
477
- <div
478
- v-if="!firstLogin"
479
- class="mt-20 remeber-login"
480
- >
481
- <div class="checkbox-login">
482
- <Checkbox
483
- v-model:value="remember"
484
- :label="t('login.remember.label')"
485
- type="checkbox"
486
- />
487
- </div>
488
- </div>
489
459
  <div class="mt-20">
490
460
  <div class="col span-12 text-center">
491
-
492
461
  <AsyncButton
493
462
  id="submit"
494
463
  data-testid="login-submit"
@@ -499,7 +468,16 @@ export default {
499
468
  :error-label="t('asyncButton.default.error')"
500
469
  @click="loginLocal"
501
470
  />
502
-
471
+ <div
472
+ v-if="!firstLogin"
473
+ class="mt-20"
474
+ >
475
+ <Checkbox
476
+ v-model:value="remember"
477
+ :label="t('login.remember.label')"
478
+ type="checkbox"
479
+ />
480
+ </div>
503
481
  </div>
504
482
  </div>
505
483
  </form>
@@ -532,23 +510,24 @@ export default {
532
510
  v-if="showLocaleSelector && hasMultipleLocales && !isHarvester"
533
511
  class="locale-selector"
534
512
  >
535
- <!-- <LocaleSelector
513
+ <LocaleSelector
536
514
  mode="login"
537
- /> -->
515
+ />
538
516
  </div>
539
- <div class="copyright">Copyright 2019-2025 HCI</div>
540
517
  </div>
518
+ <BrandImage
519
+ class="col span-6 landscape"
520
+ data-testid="login-landscape__img"
521
+ file-name="login-landscape.svg"
522
+ :alt="t('login.landscapeAlt')"
523
+ />
541
524
  </div>
542
525
  </div>
543
526
  </template>
544
527
 
545
528
  <style lang="scss" scoped>
546
- .login-username {
547
-
548
- }
549
529
  .login {
550
530
  overflow: hidden;
551
- padding: 0px 10%;
552
531
  position: relative; // Used to keep the locale selector positioned correctly
553
532
 
554
533
  .row {
@@ -571,33 +550,21 @@ export default {
571
550
  align-items: center;
572
551
 
573
552
  .banner {
574
- /* margin: 5px; */
575
-
553
+ margin: 5px;
576
554
  }
577
555
  h4 {
578
556
  margin: 0;
579
557
  }
580
558
  &--hasContent {
581
- /* min-height: 70px; */
582
- /* margin-left: 20px; */
559
+ min-height: 70px;
583
560
  }
584
561
 
585
562
  .text-error, .banner {
586
- max-width: 400px;
587
- justify-content: center;
563
+ max-width: 80%;
588
564
  }
589
565
  }
590
566
 
591
567
  .first-login-message {
592
- background-color: rgba(160, 160, 160, 0.17);
593
- color: #fff;
594
- box-sizing: border-box;
595
- padding: 10px 0;
596
- margin: 0 auto;
597
- margin-top: -20px;
598
- width: 400px;
599
- height: 40%;
600
- overflow-y: scroll;
601
568
  .banner {
602
569
  margin-bottom: 0;
603
570
  border-left: 0;
@@ -607,12 +574,6 @@ export default {
607
574
  padding: 0;
608
575
  }
609
576
  }
610
- ul {
611
- list-style: none;
612
- li{
613
- margin-bottom: 10px;
614
- }
615
- }
616
577
  }
617
578
  }
618
579
 
@@ -625,138 +586,9 @@ export default {
625
586
  height: 100%;
626
587
  place-content: center;
627
588
  }
628
- &>.span-5{
629
- height: 53%;
630
- background-color: rgba(68, 68, 68, 0.17);
631
- position: relative;
632
- }
633
589
  }
634
590
  .locale-selector {
635
591
  position: absolute;
636
592
  bottom: 30px;
637
593
  }
638
-
639
- .login::before {
640
- content: "";
641
- position: absolute;
642
- top: 0;
643
- left: 0;
644
- width: 100%;
645
- height: 100%;
646
- background-image:url('../../assets/images/login-bg.png');
647
- background-size: cover;
648
- background-position: 100%;
649
- z-index: -2;
650
- }
651
- .img-left{
652
- height: 53%;
653
- position: relative;
654
- }
655
- .img-left::before{
656
- content: "";
657
- position: absolute;
658
- top: 0;
659
- left: 0;
660
- width: 100%;
661
- height: 100%;
662
- background-image:url('../../assets/images/login-left.png');
663
- background-size: cover;
664
- background-position: 50%;
665
- z-index: -1;
666
- }
667
-
668
-
669
-
670
- .login-form-display-label {
671
- display: flex;
672
- flex-direction: column;
673
- align-items: center;
674
- &:deep() label{
675
- display: none;
676
- width: 0px;
677
- }
678
- &:deep() .addon{
679
- position: absolute;
680
- top: 16px !important;
681
- right: 24px;
682
- }
683
- }
684
-
685
-
686
- .login-input-all {
687
- &:deep() .labeled-input{
688
- background-color: #fff;
689
- }
690
- }
691
-
692
- .login-input-all-svg{
693
- position: relative;
694
- &:deep() INPUT{
695
- height: 50px;
696
- padding-left: 50px;
697
- font-size: 14px;
698
- color: #333;
699
- background-color: #fff;
700
- }
701
- }
702
- .login-input-all-svg{
703
- &:deep() .addon {
704
- top: 15px !important;
705
- right: 12px !important;
706
- }
707
- }
708
- .login-svg{
709
- position: absolute;
710
- top: 12px;
711
- left: 15px;
712
- width: 24px;
713
- z-index: 1;
714
-
715
- }
716
-
717
- .remeber-login{
718
- display: flex;
719
- justify-content: center
720
-
721
- }
722
- .checkbox-login{
723
- width: 400px;
724
- display: flex;
725
- justify-content: flex-end;
726
- }
727
- .gutless {
728
- &:deep() button{
729
- width: 400px;
730
- height: 50px !important;
731
- border-radius: 4px;
732
- font-size: 14px;
733
- }
734
- }
735
- :deep() .checkbox-label{
736
- color: #fff;
737
- }
738
- .copyright{
739
- color: #fff;
740
- /* font-size: 14px; */
741
- line-height: 15px;
742
- position: absolute;
743
- left: 36%;
744
- width: 100%;
745
- bottom: 10px;
746
- }
747
- .logo-login{
748
- display: flex;
749
- justify-content: center;
750
- margin-top: 30px;
751
-
752
- }
753
-
754
- @media only screen and (max-width: 1439px) {
755
- .logo-login{
756
- display: flex;
757
- justify-content: center;
758
- margin-top: 0px;
759
-
760
- }
761
- }
762
594
  </style>