@tapni/auth 1.0.24 → 1.0.26

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 (42) hide show
  1. package/dist/.vite/manifest.json +12 -12
  2. package/dist/{Apps-DA7onoLT.js → Apps-BoicWNuM.js} +1 -1
  3. package/dist/{Billing-tnByXsfT.js → Billing-DcwH__SB.js} +1 -1
  4. package/dist/{CustomApp-1JkoWwUw.js → CustomApp-CqdT8ror.js} +1 -1
  5. package/dist/{General-jgzTHPN_.js → General-CQN8cTr2.js} +1 -1
  6. package/dist/{QR-DcgFM1Mf.js → QR-CzWOx04Q.js} +1 -1
  7. package/dist/TapniAuth.es.js +1 -1
  8. package/dist/TapniAuth.umd.js +23 -23
  9. package/dist/{install-BkC--Y_4.js → install-oAOCLHy_.js} +3430 -3651
  10. package/dist/style.css +1 -1
  11. package/package.json +2 -2
  12. package/src/App.vue +7 -8
  13. package/src/mixins/global.mixin.js +1 -1
  14. package/src/mixins/microsoft.mixin.js +1 -1
  15. package/src/mixins/okta.mixin.js +1 -1
  16. package/src/mixins/saml.mixin.js +2 -9
  17. package/src/services/UtilService.js +15 -15
  18. package/src/store/auth.js +0 -1
  19. package/src/store/locales/cn.js +33 -1
  20. package/src/store/locales/de.js +39 -1
  21. package/src/store/locales/es.js +34 -1
  22. package/src/store/locales/fr.js +34 -1
  23. package/src/store/locales/it.js +34 -1
  24. package/src/store/locales/kr.js +34 -1
  25. package/src/store/locales/sr.js +37 -1
  26. package/src/store/locales/tr.js +40 -1
  27. package/src/views/Account.vue +1 -3
  28. package/src/views/Login.vue +1 -1
  29. package/src/views/Register.vue +1 -1
  30. package/src/views/Reset.vue +1 -1
  31. package/src/views/Security.vue +0 -1
  32. package/src/views/Verify.vue +1 -1
  33. package/src/views/Welcome.vue +3 -8
  34. package/dist/blank.html +0 -31
  35. package/src/assets/index.css +0 -199
  36. package/src/components/DELETE_Language.vue +0 -168
  37. package/src/components/DELETE_LinkIcon.vue +0 -237
  38. package/src/components/DELETE_ModalOverlay.vue +0 -68
  39. package/src/components/DELETE_OTP.vue +0 -105
  40. package/src/components/DELETE_SSO.vue +0 -120
  41. package/src/components/DELETE_SSOPick.vue +0 -111
  42. package/src/mixins/DELETE_mfa-auth.mixin.js +0 -53
@@ -5,7 +5,7 @@
5
5
  <img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%;"/>
6
6
  </i>
7
7
  </a>
8
- <h1 class="bold no-bottom center-text" style="margin-top: 63px;">{{ssoLang[this.appLanguage].register}}</h1>
8
+ <h1 class="bold no-bottom center-text text-[24px]" style="margin-top: 63px;">{{ssoLang[this.appLanguage].register}}</h1>
9
9
  <p class="half-bottom small-top center-text color-black">
10
10
  <span v-if="usernameRegister">
11
11
  t.link/{{username}} {{ssoLang[this.appLanguage].username_is_free}} ✅
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <form v-if="!passwordChange" class="page-login content-boxed content-boxed-padding" @submit.prevent="resetEmail" autocomplete="on">
3
- <h3 class="bold no-bottom center-text" style="margin-top: 63px">{{ ssoLang[this.appLanguage].reset_password }}</h3>
3
+ <h3 class="bold no-bottom center-text text-[22px]" style="margin-top: 63px">{{ ssoLang[this.appLanguage].reset_password }}</h3>
4
4
  <p class="half-bottom small-top center-text color-black"></p>
5
5
  <div class="page-login-field half-top color-black">
6
6
  <i style="padding-top: 10px; margin-left: 10px">
@@ -235,7 +235,6 @@ export default {
235
235
  }
236
236
  },
237
237
  generateOTPQrCode() {
238
- console.log('Generating QR code');
239
238
  const user = this.account.email;
240
239
 
241
240
  if (this.account.mfaEnabled) {
@@ -5,7 +5,7 @@
5
5
  <img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%" />
6
6
  </i>
7
7
  </a>
8
- <h1 class="bold no-bottom center-text" style="margin-top: 63px">{{ ssoLang[this.appLanguage].verify_account }}</h1>
8
+ <h1 class="bold no-bottom center-text text-[24px]" style="margin-top: 63px">{{ ssoLang[this.appLanguage].verify_account }}</h1>
9
9
  <p class="half-bottom half-top center-text color-black"></p>
10
10
  <div class="page-login-field half-top">
11
11
  <i style="padding-top: 15px; margin-left: 10px">
@@ -3,7 +3,7 @@
3
3
  <video id="tapniVideo" muted loop playsinline width="350" style="margin: 0 auto; max-width: 100%; margin-top: 63px; overflow: hidden;" :autoplay="isNative">
4
4
  <source src="https://cdn.tapni.co/images/tapni-card-tap-video-white.mp4" type="video/mp4">
5
5
  </video>
6
- <h1 class="bold full-top no-bottom center-text">{{ssoLang[this.appLanguage].welcome}}</h1>
6
+ <h1 class="bold full-top no-bottom center-text text-[24px]">{{ssoLang[this.appLanguage].welcome}}</h1>
7
7
  <p class="full-bottom half-top center-text color-black font-16">{{ssoLang[this.appLanguage].welcome_p1}}</p>
8
8
  <router-link v-if="false" to="/help" class="button-center button button-90 google-button pointer edit-shadow full-top full-bottom">
9
9
  <span> {{ssoLang[this.appLanguage].how_it_works}}? </span>
@@ -12,16 +12,11 @@
12
12
  <router-link to="register" exact class="button-center button button-90 google-button bg-tapni-grey pointer">
13
13
  <span> {{ssoLang[this.appLanguage].create_account}} </span>
14
14
  </router-link>
15
- <!--
16
- <button @click="test" class="button-center button button-90 google-button bg-tapni-grey pointer">
17
- Test
18
- </button>
19
- -->
20
15
  <div class="page-login-links center-text">
21
16
  <router-link to="/login">{{ssoLang[this.appLanguage].already_registered}}? <b>{{ssoLang[this.appLanguage].sign_in}}</b></router-link>
22
17
  <div class="clear"></div>
23
18
  </div>
24
- <a v-if="display === 'redirect'"
19
+ <a v-if="false && display === 'redirect'"
25
20
  @click="toggleSSOLanguageModal"
26
21
  class="font-18 no-border pointer color-black"
27
22
  style="position: absolute; right: 20px; top: -10px; z-index: 1;">
@@ -57,7 +52,7 @@ export default {
57
52
  try {
58
53
  videoElement.play()
59
54
  } catch (error) {
60
- console.log('Play was interrupted:', error);
55
+ console.error('Play was interrupted:', error);
61
56
  }
62
57
  }
63
58
  });
package/dist/blank.html DELETED
@@ -1,31 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>Blank</title>
6
- </head>
7
- <body>
8
- <script>
9
- (function() {
10
- try {
11
- // Read the auth payload from window.name.
12
- var payload = window.name;
13
- if (payload) {
14
- var authData = JSON.parse(payload);
15
- console.log('blank.html read authData:', authData);
16
- // Instead of BroadcastChannel, we simply keep this page static.
17
- // (The iframe is polling the popup window, which now shows blank.html.)
18
- // Optionally, we could auto-close this page if needed.
19
- setTimeout(function() {
20
- // Do nothing here; the parent iframe is polling the popup.
21
- window.close()
22
- }, 3000);
23
- }
24
- } catch (e) {
25
- console.error('Error in blank.html script:', e);
26
- }
27
- })();
28
- </script>
29
- <!-- This page intentionally left blank -->
30
- </body>
31
- </html>
@@ -1,199 +0,0 @@
1
- #ssoapp .container {
2
- padding: 10px 0 !important;
3
- display: flex;
4
- flex-direction: column;
5
- gap: 10px;
6
- padding-bottom: 100px !important;
7
- }
8
-
9
- #ssoapp .settingsCard {
10
- background-color: white;
11
- padding: 20px;
12
- border-radius: 26px;
13
- align-items: center;
14
- }
15
-
16
- #ssoapp .device {
17
- display: flex;
18
- align-items: center;
19
- }
20
-
21
- #ssoapp h4 {
22
- margin-left: 20px;
23
- font-weight: bold;
24
- }
25
-
26
- #ssoapp .middle {
27
- flex: 1;
28
- }
29
-
30
- #ssoapp .left img {
31
- background-color: #f7f8f9;
32
- border-radius: 20px;
33
- padding: 10px;
34
- }
35
-
36
- #ssoapp .divider {
37
- height: 1px;
38
- background-color: #f0f0f0;
39
- margin: 20px 0;
40
- }
41
-
42
- #ssoapp .moreFooter {
43
- display: flex;
44
- align-items: center;
45
- justify-content: space-between;
46
- padding: 0 10px;
47
- }
48
-
49
- #ssoapp .settingRow {
50
- background-color: #F4F4F4;
51
- padding: 10px 9px;
52
- border-radius: 15px;
53
- cursor: pointer;
54
- }
55
-
56
- #ssoapp .settingRow .firstRow,
57
- #ssoapp .settingRow .secondRow {
58
- display: flex;
59
- align-items: center;
60
- min-height: 35px;
61
- }
62
-
63
- #ssoapp .settingRow .firstRow h4 {
64
- text-align: left;
65
- flex: 1;
66
- margin-left: 20px;
67
- font-weight: 600;
68
- margin-bottom: 0;
69
- }
70
-
71
- #ssoapp .settingRow .secondRow {
72
- font-size: 8px;
73
- margin-top: 20px;
74
- }
75
-
76
- #ssoapp .settingRow .secondRow p {
77
- flex: 1;
78
- color: #999999;
79
- }
80
-
81
- #ssoapp .withBackground {
82
- background-color: #ffffff;
83
- border-radius: 10px;
84
- padding: 10px;
85
- width: 50px;
86
- }
87
-
88
-
89
- #ssoapp .ios-switch {
90
- position: relative;
91
- width: 60px;
92
- padding-top: 4px;
93
- padding-right: 4px;
94
- margin-left: 4px;
95
- -webkit-user-select: none;
96
- -moz-user-select: none;
97
- -ms-user-select: none;
98
- }
99
-
100
- #ssoapp .ios-switch-checkbox {
101
- display: none;
102
- }
103
-
104
- #ssoapp .ios-switch-label {
105
- background-color: #e3e3e3;
106
- display: block;
107
- overflow: initial;
108
- cursor: pointer;
109
- height: 30px;
110
- padding: 0;
111
- line-height: 20px;
112
- border: 1px solid #e3e3e3;
113
- border-radius: 25px;
114
- transition: all 250ms ease;
115
- }
116
-
117
- #ssoapp .ios-switch-label:before {
118
- content: "";
119
- display: block;
120
- width: 30px;
121
- margin: 0px;
122
- position: absolute;
123
- top: 0;
124
- bottom: 0;
125
- right: 24px;
126
- background-size: 15px;
127
- background-repeat: no-repeat;
128
- background-position: center;
129
- border: 2px solid #e3e3e3;
130
- border-radius: 25px;
131
- transition: all 250ms ease;
132
- }
133
-
134
- #ssoapp .ios-switch-checkbox:checked+.ios-switch-label {
135
- background-color: #151515;
136
- }
137
-
138
- #ssoapp .ios-switch-checkbox:checked+.ios-switch-label,
139
- #ssoapp .ios-switch-checkbox:checked+.ios-switch-label:before {
140
- border-color: #151515;
141
- }
142
-
143
- #ssoapp .ios-switch-checkbox:checked+.ios-switch-label:before {
144
- right: -1px;
145
- }
146
-
147
-
148
- #ssoapp .subheaderContainer {
149
- display: flex;
150
- align-items: center;
151
- position: relative;
152
- padding: 15px 25px;
153
- }
154
-
155
- #ssoapp .subheaderContainer .left-button {
156
- width: 40px !important;
157
- height: 40px !important;
158
- margin: 0;
159
- border-radius: 50%;
160
- background: #f4f4f4;
161
- display: flex;
162
- align-items: center;
163
- justify-content: center;
164
- position: absolute;
165
- left: 20px;
166
- }
167
-
168
- #ssoapp .subheaderContainer .button {
169
- width: 40px !important;
170
- height: 40px !important;
171
- margin: 0;
172
- border-radius: 50%;
173
- background: #f4f4f4;
174
- display: flex;
175
- align-items: center;
176
- justify-content: center;
177
- position: absolute;
178
- }
179
-
180
- #ssoapp .subheaderContainer .button img {
181
- top: 0 !important;
182
- margin-right: 3px !important;
183
- }
184
-
185
- #ssoapp .subheaderContainer .left-button {
186
- left: 20px;
187
- }
188
-
189
- #ssoapp .subheaderContainer .right-button {
190
- right: 20px;
191
- }
192
-
193
- #ssoapp .transition-icon {
194
- transition: 0.5s;
195
- }
196
-
197
- #ssoapp .rotate-icon {
198
- transform: translate(-50%, -50%) rotate(180deg) !important;
199
- }
@@ -1,168 +0,0 @@
1
- <template>
2
- <div
3
- class="menu-wrapper menu-light menu-white menu-modal center-text activate-page"
4
- :class="{ 'active-menu': toggle }"
5
- style="height: auto; max-height: 92vh; margin-top: -172.5px"
6
- >
7
- <a
8
- @click="close"
9
- class="color-black pull-right pointer"
10
- style="margin-top: 5px; position: absolute; right: 5px"
11
- >
12
- <i class="font-17 fa color-black">
13
- <img
14
- src="https://cdn.tapni.co/icons/down-arrow.png"
15
- class="fa responsive-image"
16
- style="width: 45%"
17
- />
18
- </i>
19
- </a>
20
- <h3 class="bold center-text color-black small-bottom">
21
- {{ ssoLang[appLanguage].app_language }}
22
- </h3>
23
-
24
- <LinkIcon
25
- @click.native="updateLanguage('en')"
26
- :link-style="'link-list'"
27
- :data="{ type: 'lang/en', text: ssoLang[this.appLanguage].english }"
28
- :editing="false"
29
- :class="{ 'add-button': true }"
30
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
31
- />
32
-
33
- <LinkIcon
34
- @click.native="updateLanguage('es')"
35
- :link-style="'link-list'"
36
- :data="{ type: 'lang/es', text: ssoLang[this.appLanguage].spanish }"
37
- :editing="false"
38
- :class="{ 'add-button': true }"
39
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
40
- />
41
-
42
- <LinkIcon
43
- @click.native="updateLanguage('de')"
44
- :link-style="'link-list'"
45
- :data="{ type: 'lang/de', text: ssoLang[this.appLanguage].german }"
46
- :editing="false"
47
- :class="{ 'add-button': true }"
48
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
49
- />
50
-
51
- <LinkIcon
52
- @click.native="updateLanguage('it')"
53
- :link-style="'link-list'"
54
- :data="{ type: 'lang/it', text: ssoLang[this.appLanguage].italian }"
55
- :editing="false"
56
- :class="{ 'add-button': true }"
57
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
58
- />
59
-
60
- <LinkIcon
61
- @click.native="updateLanguage('fr')"
62
- :link-style="'link-list'"
63
- :data="{ type: 'lang/fr', text: ssoLang[this.appLanguage].french }"
64
- :editing="false"
65
- :class="{ 'add-button': true }"
66
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
67
- />
68
-
69
- <LinkIcon
70
- @click.native="updateLanguage('kr')"
71
- :link-style="'link-list'"
72
- :data="{ type: 'lang/kr', text: ssoLang[this.appLanguage].korean }"
73
- :editing="false"
74
- :class="{ 'add-button': true }"
75
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
76
- />
77
-
78
- <LinkIcon
79
- @click.native="updateLanguage('sr')"
80
- :link-style="'link-list'"
81
- :data="{ type: 'lang/sr', text: ssoLang[this.appLanguage].serbian }"
82
- :editing="false"
83
- :class="{ 'add-button': true }"
84
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
85
- />
86
-
87
- <LinkIcon
88
- @click.native="updateLanguage('tr')"
89
- :link-style="'link-list'"
90
- :data="{ type: 'lang/tr', text: ssoLang[this.appLanguage].turkish }"
91
- :editing="false"
92
- :class="{ 'add-button': true }"
93
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
94
- />
95
-
96
- <LinkIcon
97
- @click.native="updateLanguage('cn')"
98
- :link-style="'link-list'"
99
- :data="{ type: 'lang/cn', text: ssoLang[this.appLanguage].chinese }"
100
- :editing="false"
101
- :class="{ 'add-button': true }"
102
- :customLinkStyle="{ linkIcon: { display: 'none' }}"
103
- />
104
- </div>
105
- </template>
106
-
107
- <script>
108
- import { EventBus } from "../store/event-bus.js";
109
- import LinkIcon from "./DELETE_LinkIcon.vue";
110
- import UtilService from "../services/UtilService.js";
111
- import CONSTANTS from "../store/constants.js";
112
- import { Device } from "@capacitor/device";
113
- import AuthMixin from "../mixins/auth.mixin.js";
114
-
115
- export default {
116
- name: "Language",
117
- mixins: [AuthMixin],
118
- components: { LinkIcon },
119
- data() {
120
- return {
121
- toggle: false,
122
- };
123
- },
124
- async mounted() {
125
- EventBus.$on("toggleSSOLanguageModal", this.toggleModal);
126
- EventBus.$on("closeModal", () => {
127
- this.toggle = false;
128
- });
129
-
130
- let lang = this.isNative
131
- ? await Device.getLanguageCode()
132
- : UtilService.getFirstBrowserLanguage();
133
- if (lang && CONSTANTS.SUPPORTED_LANGUAGES.includes(lang)) {
134
- this.updateLanguage(lang);
135
- }
136
- },
137
- beforeDestroy() {
138
- EventBus["_events"]["toggleSSOLanguageModal"].pop();
139
- },
140
- methods: {
141
- forceClose() {
142
- EventBus.$emit("closeModal");
143
- },
144
- close() {
145
- this.forceClose();
146
- },
147
- async updateLanguage(lang) {
148
- this.updateLang(lang);
149
- EventBus.$emit("closeModal");
150
- },
151
- toggleModal() {
152
- this.toggle = !this.toggle;
153
- },
154
- },
155
- };
156
- </script>
157
-
158
- <style scoped>
159
- .user-img {
160
- margin: 0 auto;
161
- margin-top: 2px;
162
- width: 65px;
163
- }
164
- input {
165
- margin: 0 auto;
166
- height: 25px;
167
- }
168
- </style>
@@ -1,237 +0,0 @@
1
- <template>
2
- <a class="disable-select" :class="linkStyle + (disabled ? ' opacity-50' : '')" :style="(editing ? 'cursor: move' : 'cursor: pointer') + '!important; overflow: visible; margin-top: 5px;'">
3
- <span
4
- :class="{
5
- 'user-link-img': true,
6
- 'pulse pulse-border': pulse,
7
- 'link-drag': editing
8
- }"
9
- :style="{ ...customLinkStyle?.linkIcon }"
10
- >
11
- <img v-if="!data.custom_icon && data.type !== 'customlink'" :src="'https://cdn.tapni.co/icons/' + data.type + '.png'" class="responsive-image" :alt="data.text" @load="$emit('loaded')" @error="$emit('loaded')" />
12
- <img v-else-if="!data.custom_icon && data.type === 'customlink' && linkAdding" :src="'https://cdn.tapni.co/icons/custom-icon-128.gif'" class="responsive-image" :alt="data.text" @load="$emit('loaded')" @error="$emit('loaded')" />
13
- <img v-else-if="!data.custom_icon && data.type === 'customlink' && !linkAdding" :src="'https://cdn.tapni.co/icons/customlink.png'" class="responsive-image" :alt="data.text" @load="$emit('loaded')" @error="$emit('loaded')" />
14
- <img v-else :src="data.style.custom_icon" style="border-radius: 22.46%" class="responsive-image" :alt="data.text" @load="$emit('loaded')" @error="$emit('loaded')" />
15
- </span>
16
-
17
- <span class="link-text link-drag color-black" :style="{ color: customLinkStyle?.color }">
18
- {{ linkText }}
19
- </span>
20
- </a>
21
- </template>
22
-
23
- <script>
24
- import AuthMixin from '../mixins/auth.mixin';
25
-
26
- export default {
27
- name: 'LinkIcon',
28
- mixins: [AuthMixin],
29
- props: {
30
- linkAdding: {
31
- type: Boolean,
32
- required: false,
33
- default: false
34
- },
35
- hideExternalIcon: {
36
- type: Boolean,
37
- required: false,
38
- default: false
39
- },
40
- switching: {
41
- type: Boolean,
42
- required: false,
43
- default: false
44
- },
45
- pulse: {
46
- type: Boolean,
47
- required: false,
48
- default: false
49
- },
50
- editing: {
51
- type: Boolean,
52
- required: false,
53
- default: true
54
- },
55
- directPick: {
56
- type: Boolean,
57
- required: false,
58
- default: false
59
- },
60
- disabled: {
61
- type: Boolean,
62
- required: false,
63
- default: false
64
- },
65
- to: {
66
- type: String,
67
- required: false,
68
- default: ''
69
- },
70
- linkStyle: {
71
- type: String,
72
- required: false,
73
- default: 'link-grid'
74
- },
75
- data: {
76
- type: Object,
77
- required: true
78
- },
79
- customLinkStyle: {
80
- type: Object,
81
- required: false,
82
- default: () => {}
83
- },
84
- shareIconStyle: {
85
- type: Object,
86
- required: false,
87
- default: () => {}
88
- }
89
- },
90
- computed: {
91
- linkText() {
92
- if (this.appLanguage !== 'en' && this.data.text) {
93
- return this.ssoLang[this.appLanguage]['link_text_' + this.data.text.toLowerCase().trim().replace(/ /g, '_')] || this.data.text;
94
- }
95
- return this.data.text;
96
- }
97
- },
98
- methods: {}
99
- };
100
- </script>
101
-
102
- <style>
103
- /* ********* */
104
- /* Link Grid */
105
- /* ********* */
106
- .link-grid,
107
- .user-link-img {
108
- width: 100%;
109
- display: inline-table;
110
- position: relative;
111
- }
112
-
113
- .link-grid {
114
- width: 30%;
115
- margin: 1.6%;
116
- padding: 1.6%;
117
- }
118
-
119
- .link-grid .user-link-img img {
120
- /* box-shadow: 0px 2px 10px rgba(200,200,200,0.8); */
121
- /* border: 1px solid #e8e8e8; */
122
- border-radius: 25% !important;
123
- }
124
-
125
- .link-grid .edit-icon {
126
- border-radius: 20px;
127
- right: -3%;
128
- top: -3%;
129
- position: absolute;
130
- z-index: 3;
131
- max-width: 23%;
132
- overflow: hidden;
133
- min-width: 30px;
134
- }
135
-
136
- .link-grid .direct-icon {
137
- border-radius: 20px;
138
- left: -3%;
139
- top: -3%;
140
- position: absolute;
141
- z-index: 555;
142
- max-width: 23%;
143
- overflow: hidden;
144
- min-width: 30px;
145
- }
146
-
147
- .link-grid .link-text {
148
- min-height: 20px;
149
- margin-top: 3px !important;
150
- display: block;
151
- text-align: center;
152
- line-height: normal;
153
- overflow-wrap: anywhere;
154
- }
155
-
156
- /* ********* */
157
- /* Link List */
158
- /* ********* */
159
- .link-list {
160
- width: 93%;
161
- max-height: 67px !important;
162
- margin: 0px auto;
163
- display: flex;
164
- border-radius: 15px !important;
165
- background-color: #ffffff;
166
- /* box-shadow: 0px 2px 5px rgba(0,0,0,0.15); */
167
- border: solid 1px #e8e8e8;
168
- position: relative;
169
- align-items: center;
170
- }
171
-
172
- .link-list .user-link-img {
173
- display: inline-block;
174
- width: 65px;
175
- /* box-shadow: 0px 3px 6px rgba(0,0,0,0.16); */
176
- border-radius: 25% !important;
177
- }
178
-
179
- .link-list .link-text {
180
- display: inline-block;
181
- padding: 18px 0% 17px 10%;
182
- font-size: 15px;
183
- font-weight: 500;
184
- white-space: nowrap;
185
- text-overflow: ellipsis;
186
- overflow: hidden;
187
- flex: 1;
188
- text-align: left;
189
- border-radius: 15px !important;
190
- }
191
-
192
- .link-list .edit-icon {
193
- border-radius: 20px;
194
- right: 7%;
195
- top: 30%;
196
- position: absolute;
197
- z-index: 3;
198
- width: 26px;
199
- overflow: hidden;
200
- }
201
-
202
- .link-list .switching {
203
- width: 45px;
204
- }
205
-
206
- .link-list .direct-icon {
207
- border-radius: 20px;
208
- left: -2%;
209
- top: -13%;
210
- position: absolute;
211
- z-index: 555;
212
- width: 26px;
213
- overflow: hidden;
214
- }
215
- /* ********* */
216
-
217
- .small {
218
- width: 22% !important;
219
- margin: 2% 4% 0%;
220
- padding: 0%;
221
- }
222
- .small .link-text {
223
- margin-top: 0px !important;
224
- font-size: 13px;
225
- }
226
-
227
- .linkExternal {
228
- margin-right: 20px;
229
- width: 20px;
230
- display: inline-block !important;
231
- height: 20px;
232
- background: black;
233
- -webkit-mask: url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;
234
- mask: url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;
235
- transform: scale(1.5);
236
- }
237
- </style>