@fishawack/lab-velocity 1.11.1 → 2.0.0-beta.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 (95) hide show
  1. package/README.md +13 -7
  2. package/_base.scss +1 -1
  3. package/_defaults.scss +2 -3
  4. package/_variables.scss +16 -18
  5. package/components/_alert.scss +2 -2
  6. package/components/_basic.scss +5 -4
  7. package/components/_breadcrumbs.scss +7 -8
  8. package/components/_button.scss +11 -12
  9. package/components/_cascader.scss +1 -1
  10. package/components/_checkbox.scss +27 -26
  11. package/components/_chip.scss +24 -0
  12. package/components/_collapse.scss +2 -3
  13. package/components/_datepicker.scss +7 -6
  14. package/components/_footer.scss +1 -1
  15. package/components/_form.scss +6 -4
  16. package/components/_header.scss +4 -5
  17. package/components/_icon.scss +4 -3
  18. package/components/_inputNumber.scss +4 -3
  19. package/components/_link.scss +7 -7
  20. package/components/_loader.scss +3 -4
  21. package/components/_menu.scss +22 -22
  22. package/components/_pageTitle.scss +3 -3
  23. package/components/_permissionLegend.scss +18 -0
  24. package/components/_select.scss +3 -2
  25. package/components/_sidebar.scss +5 -6
  26. package/components/_switch.scss +2 -2
  27. package/components/_table.scss +3 -3
  28. package/components/_tooltip.scss +2 -2
  29. package/components/_typography.scss +71 -62
  30. package/components/_upload.scss +1 -1
  31. package/components/_wysiwyg.scss +3 -2
  32. package/components/_wysiwyg2.scss +37 -31
  33. package/general.scss +1 -2
  34. package/index.js +38 -30
  35. package/modules/_AuthModule.scss +32 -29
  36. package/modules/_AuthVariables.scss +3 -3
  37. package/modules/_modal.scss +3 -3
  38. package/package.json +109 -102
  39. package/vendor.scss +2 -2
  40. package/AuthModule/components/AuthModal.vue +0 -110
  41. package/AuthModule/components/VPasswordValidation.vue +0 -66
  42. package/AuthModule/js/AuthAxios.js +0 -59
  43. package/AuthModule/js/AuthRoutes.js +0 -186
  44. package/AuthModule/js/AuthStore.js +0 -99
  45. package/AuthModule/js/FakeAPI.js +0 -84
  46. package/AuthModule/routes/account-exists.vue +0 -35
  47. package/AuthModule/routes/change-password.vue +0 -162
  48. package/AuthModule/routes/container.vue +0 -38
  49. package/AuthModule/routes/expired-reset.vue +0 -76
  50. package/AuthModule/routes/expired-verification.vue +0 -100
  51. package/AuthModule/routes/force-reset.vue +0 -142
  52. package/AuthModule/routes/forgot.vue +0 -87
  53. package/AuthModule/routes/login.vue +0 -138
  54. package/AuthModule/routes/logincallback.vue +0 -46
  55. package/AuthModule/routes/loginheadless.vue +0 -16
  56. package/AuthModule/routes/loginsso.vue +0 -127
  57. package/AuthModule/routes/logout.vue +0 -21
  58. package/AuthModule/routes/register.vue +0 -156
  59. package/AuthModule/routes/reset.vue +0 -123
  60. package/AuthModule/routes/success-forgot.vue +0 -117
  61. package/AuthModule/routes/success-reset.vue +0 -35
  62. package/AuthModule/routes/success-verify.vue +0 -29
  63. package/AuthModule/routes/verify.vue +0 -110
  64. package/Icon.vue +0 -33
  65. package/Svg.vue +0 -40
  66. package/basic/Button.vue +0 -111
  67. package/basic/link.vue +0 -63
  68. package/form/Cascader.vue +0 -85
  69. package/form/Checkbox.vue +0 -39
  70. package/form/CheckboxGroup.vue +0 -69
  71. package/form/DatePicker.vue +0 -100
  72. package/form/InputNumber.vue +0 -90
  73. package/form/Select.vue +0 -110
  74. package/form/Switch.vue +0 -63
  75. package/form/Upload.vue +0 -103
  76. package/form/Wysiwyg.vue +0 -127
  77. package/form/Wysiwyg2.vue +0 -278
  78. package/form/basic.vue +0 -88
  79. package/form/color.vue +0 -22
  80. package/form/file.vue +0 -89
  81. package/form/input.js +0 -79
  82. package/form/input.vue +0 -85
  83. package/layout/Alert.vue +0 -38
  84. package/layout/Footer.vue +0 -35
  85. package/layout/Header.vue +0 -15
  86. package/layout/Loader.vue +0 -39
  87. package/layout/Tooltip.vue +0 -46
  88. package/layout/pageTitle.vue +0 -18
  89. package/layout/sideBar.vue +0 -27
  90. package/navigation/Breadcrumbs.vue +0 -32
  91. package/navigation/BreadcrumbsItem.vue +0 -19
  92. package/navigation/Menu.vue +0 -16
  93. package/navigation/MenuItem.vue +0 -20
  94. package/navigation/MenuItemGroup.vue +0 -20
  95. package/navigation/SubMenu.vue +0 -20
@@ -1,156 +0,0 @@
1
- <template>
2
- <h1 class="h2 h2--small">Register</h1>
3
- <p class="AM-mb-3 AM-mt-2">Please enter your personal details to complete your registration.</p>
4
-
5
- <form @submit.prevent="submit" :class="form.errors && form.errors.any() ? 'form error' : 'form'" id="memberLoginForm">
6
- <el-input
7
- class="AM-mb-2"
8
- label="Full name"
9
- placeholder="Enter your full name"
10
- name="name"
11
- required
12
- v-model="form.name"
13
- :error="form.errors"
14
- />
15
-
16
- <el-input
17
- class="AM-mb-2"
18
- label="Email"
19
- placeholder="Enter your email address"
20
- name="email"
21
- type="email"
22
- required
23
- v-model="form.email"
24
- :error="form.errors"
25
- />
26
-
27
- <el-input
28
- class="AM-mb-2"
29
- label="Password"
30
- name="password"
31
- placeholder="Create a unique password"
32
- autocomplete="new-password"
33
- type="password"
34
- required
35
- v-model="form.password"
36
- :error="form.errors"
37
- />
38
-
39
- <VPasswordValidation :password="form.password" @passwordValid="updatePasswordValidity" />
40
-
41
- <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
42
- <div style="position: absolute; left: -5000px" aria-hidden="true">
43
- <input
44
- ref="honeypot"
45
- type="text"
46
- name="b_0e1715593ad9366bc5d3ad8be_7aca058f12"
47
- tabindex="-1"
48
- value=""
49
- />
50
- </div>
51
-
52
- <elButton
53
- type="primary"
54
- :disabled="loading || (form.name?.length < 1 || form.email?.length < 5 || !isPasswordValid)"
55
- @click="onSubmit"
56
- >
57
- Register
58
- </elButton>
59
-
60
- <p class="disclaimer AM-mt-3">
61
- Having trouble registering?
62
- <a :href="contact" class="underline">Contact us</a>
63
- </p>
64
- </form>
65
- </template>
66
-
67
- <script>
68
- import Form from "form-backend-validation";
69
-
70
- export default {
71
- data() {
72
- return {
73
- form: new Form(
74
- {
75
- name: '',
76
- email: '',
77
- password: '',
78
- },
79
- { resetOnSuccess: false }
80
- ),
81
- loading: false,
82
- isPasswordValid: false,
83
- contact: process.env.HYDRATE_CONTACT ?? 'mailto:EP@avalerehealth.com',
84
- };
85
- },
86
-
87
- methods: {
88
- async onSubmit() {
89
- if (this.loading) return;
90
-
91
- this.loading = true;
92
-
93
- try {
94
- const res = await this.form.post("/register");
95
-
96
- if (res["logged-in"]) {
97
- try {
98
- await this.$store.dispatch("logout", {
99
- errors: this.$root.errors,
100
- });
101
- } catch (e) {}
102
-
103
- await this.form.post("/register");
104
-
105
- }
106
- if(res['redirect']) {
107
- // Redirect here
108
- this.$router.push({ name: `${this.$store.state.auth.authBase}.login`, query: {company:res['company']} });
109
- this.$notify.error({
110
- title: "Domain is SSO enabled",
111
- message:"Sign in with your company email address",
112
- duration: 10000,
113
- });
114
- } else {
115
- await this.postLogin();
116
- }
117
-
118
- } catch (e) {
119
- this.$root.errors(e);
120
- } finally {
121
- this.loading = false;
122
- }
123
- },
124
-
125
- async postLogin() {
126
- this.$store.commit("setAuth", true);
127
-
128
- const { data: user } = await this.$store.dispatch("getUser", {
129
- errors: this.$root.errors,
130
- });
131
-
132
- if (window.dataLayer) {
133
- window.dataLayer.push({ event: "login", user });
134
- }
135
-
136
- if (this.$store.state.auth.intended) {
137
- this.$router.push(this.$store.state.auth.intended);
138
- } else {
139
- this.$router.push({ name: `${this.$store.state.auth.authBase}.verify` });
140
- // Problem Here
141
- }
142
-
143
- this.$store.commit("setIntended", null);
144
- },
145
- updatePasswordValidity(isValid) {
146
- this.isPasswordValid = isValid;
147
- },
148
- },
149
-
150
- components: {
151
- VPasswordValidation: require("./../components/VPasswordValidation.vue").default,
152
- elInput: require('../../form/basic.vue').default,
153
- elButton: require('../../basic/Button.vue').default,
154
- },
155
- };
156
- </script>
@@ -1,123 +0,0 @@
1
- <template>
2
- <div class="relative">
3
- <section id="resetPasswordForm">
4
- <h1 class="h2 h2--small">Reset password</h1>
5
- <form class="form" @submit.prevent="submit">
6
- <div v-if="!form.successful">
7
- <p class="AM-mt-2 AM-mb-0 AM-color-highlight">
8
- <strong class="">Email: {{ form?.email }}</strong>
9
- </p>
10
- <p class="AM-mt-0.5">
11
- Please create a new password. Passwords you have used previously aren’t permitted.
12
- </p>
13
- <el-input
14
- v-model="form.password"
15
- class="AM-mt-3"
16
- label="New Password"
17
- placeholder="Enter new password"
18
- name="password"
19
- :error="form.errors"
20
- type="password"
21
- autocomplete="new-password"
22
- required
23
- />
24
-
25
- <VPasswordValidation :password="form.password" @passwordValid="updatePasswordValidity" />
26
-
27
- <el-input
28
- class="hidden"
29
- v-model="form.token"
30
- name="token"
31
- :error="form.errors"
32
- type="hidden"
33
- required
34
- />
35
-
36
- <elButton
37
- type="primary"
38
- :disabled="form.processing || !isPasswordValid"
39
- :loading="form.processing"
40
- @click="onSubmit"
41
-
42
- >
43
- <span v-text="'Reset password'" />
44
- </elButton>
45
- </div>
46
- <div v-else>
47
- <h4 class="mt" v-text="`Success!`" />
48
- <p v-text="`Your password has been reset.`" />
49
- </div>
50
- <p class="disclaimer AM-mt-3">
51
- <router-link
52
- class="color-1 underline"
53
- :to="{ name: `${$store.state.auth.authBase}.login` }"
54
- >
55
- Back to Sign in
56
- </router-link>
57
- </p>
58
- </form>
59
- </section>
60
- </div>
61
- </template>
62
-
63
- <script>
64
- import Form from "form-backend-validation";
65
-
66
- export default {
67
- data() {
68
- return {
69
- form: new Form(
70
- {
71
- email: '',
72
- password: '',
73
- token: '',
74
- },
75
- { resetOnSuccess: false }
76
- ),
77
- isPasswordValid: false,
78
- };
79
- },
80
-
81
- mounted() {
82
- this.form.email = this.$route.query.email;
83
- this.form.token = this.$route.query.token;
84
- },
85
-
86
- methods: {
87
- async onSubmit() {
88
- try {
89
- const res = await this.form.post("/reset-password");
90
-
91
- this.$router.push({
92
- name: `${this.$store.state.auth.authBase}.success-reset`,
93
- query: { email: this.form.email },
94
- });
95
- } catch (e) {
96
- if (e.response && e.response.status === 422 && e.response.data.message === "This password reset token is invalid.") {
97
- this.$router.push({
98
- name: `${this.$store.state.auth.authBase}.expired-reset`,
99
- query: { email: this.form.email },
100
- });
101
- }
102
- this.$root.errors(e);
103
- }
104
- },
105
-
106
- updatePasswordValidity(isValid) {
107
- this.isPasswordValid = isValid;
108
- },
109
- },
110
-
111
- metaInfo() {
112
- return {
113
- title: "Reset Password",
114
- };
115
- },
116
-
117
- components: {
118
- VPasswordValidation: require("./../components/VPasswordValidation.vue").default,
119
- elInput: require('../../form/basic.vue').default,
120
- elButton: require('../../basic/Button.vue').default,
121
- },
122
- };
123
- </script>
@@ -1,117 +0,0 @@
1
- <template>
2
- <div class="relative">
3
- <section id="forgotPasswordForm">
4
- <h1 class="h2 h2--small">Reset password</h1>
5
-
6
- <form class="form" @submit.prevent="submit">
7
- <p class="AM-mt-2 AM-mb-0 AM-color-highlight">
8
- <strong class="">Email: {{ form?.email }}</strong>
9
- </p>
10
- <p class="AM-mt">
11
- If this account exists we have sent an email containing instructions for resetting the password. <strong>Please check your inbox.</strong>
12
- </p>
13
- <p class="AM-mt-3 AM-mb">
14
- Haven’t received the email after 10 minutes?
15
- </p>
16
-
17
- <el-input
18
- class="hidden"
19
- v-model="form.email"
20
- label="Email address"
21
- name="email"
22
- :error="form.errors"
23
- type="email"
24
- placeholder="Email"
25
- required
26
- />
27
-
28
- <elButton
29
- type="primary"
30
- :disabled="form.processing"
31
- :loading="form.processing"
32
- @click="onSubmit"
33
- >
34
- Re-send instructions
35
- </elButton>
36
-
37
- <p class="disclaimer AM-mt-3">
38
- <router-link
39
- class="color-1 underline"
40
- :to="{ name: `${$store.state.auth.authBase}.login` }"
41
- >
42
- Back to Sign in
43
- </router-link>
44
- </p>
45
- </form>
46
- </section>
47
- </div>
48
- </template>
49
-
50
- <script>
51
- import Form from "form-backend-validation";
52
-
53
- export default {
54
- components: {
55
- elInput: require('../../form/basic.vue').default,
56
- elButton: require('../../basic/Button.vue').default,
57
- },
58
- data: () => ({
59
- form: new Form(
60
- {
61
- email: "",
62
- },
63
- { resetOnSuccess: false }
64
- ),
65
- notification: null,
66
- }),
67
-
68
- methods: {
69
- async onSubmit() {
70
- try {
71
- if (this.notification) {
72
- this.notification.close();
73
- this.notification = null;
74
- }
75
-
76
- await this.form.post("/forgot-password");
77
-
78
- this.$notify({
79
- type: "success",
80
- message: "Email has been re-sent",
81
- duration: 10000,
82
- class: 'el-notification--success el-notification--right-override'
83
- });
84
- } catch (e) {
85
- if (e.response && e.response.status === 422) {
86
- this.notification = this.$notify({
87
- type: "warning",
88
- message: 'Please allow 10 minutes before re-requesting',
89
- duration: 0,
90
- class: 'el-notification--warning el-notification--right-override'
91
- });
92
- }
93
- else {
94
- this.$root.errors(e);
95
- }
96
- }
97
- },
98
- },
99
-
100
- mounted() {
101
- this.form.email = this.$route.query.email;
102
-
103
- // If a user has come here directly then send them off to the original forgot screen to enter an email
104
- if (!this.form.email) {
105
- this.$router.push({
106
- name: `${this.$store.state.auth.authBase}.forgot`,
107
- });
108
- }
109
- },
110
-
111
- metaInfo() {
112
- return {
113
- title: "Forgot Password | Success",
114
- };
115
- },
116
- };
117
- </script>
@@ -1,35 +0,0 @@
1
- <template>
2
- <div class="relative">
3
- <section id="resetPasswordForm">
4
- <h1 class="h2 h2--small">Success</h1>
5
-
6
- <p class="AM-mt-2 AM-mb-0 AM-color-highlight">
7
- <strong class="">Email: {{ $route.query.email }}</strong>
8
- </p>
9
- <p class="AM-mt">
10
- Your password has been reset. Please sign in to continue.
11
- </p>
12
-
13
- <elButton
14
- tag="router-link"
15
- type="primary"
16
- :to="{name: `${$store.state.auth.authBase}.login`}"
17
- >
18
- <span v-text="'Sign in'" />
19
- </elButton>
20
- </section>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- metaInfo() {
27
- return {
28
- title: "Reset Password | Success",
29
- };
30
- },
31
- components: {
32
- elButton: require('../../basic/Button.vue').default,
33
- }
34
- };
35
- </script>
@@ -1,29 +0,0 @@
1
- <template>
2
- <h1 class="h2 h2--small">Verification complete</h1>
3
- <p class="mb-0"><strong>Welcome to {{ $store.state?.auth?.platformName }}, {{ $store.state?.auth?.user?.name }}!</strong></p>
4
- <p>Your account has been verified successfully.</p>
5
-
6
- <elButton
7
- tag="router-link"
8
- type="primary"
9
- :to="{name: $store.state.auth.redirect}"
10
- >
11
- <span v-text="'Continue'" />
12
- </elButton>
13
- </template>
14
-
15
- <script>
16
- export default {
17
- mounted(){
18
- this.$store.commit("setAuth", true);
19
-
20
- this.$store.dispatch("getUser", {
21
- errors: this.$root.errors,
22
- });
23
- },
24
- components: {
25
- elButton: require('../../basic/Button.vue').default,
26
- }
27
- // Problem in this file
28
- };
29
- </script>
@@ -1,110 +0,0 @@
1
- <template>
2
- <h1 class="h2 h2--small">Verify your email address</h1>
3
-
4
- <form class="form" @submit.prevent="submit">
5
- <p class="AM-mt-2 AM-mb-0 AM-color-highlight">
6
- <strong class="">Email: {{ user?.email }}</strong>
7
- </p>
8
- <p class="AM-mt-0.5">
9
- <strong>Please check your inbox</strong> for a Verification email from {{ $store.state?.auth?.platformName }}. Click the link in that email to verify your email address and complete your registration.
10
- </p>
11
- <p class="AM-mt-0.5 AM-mb-0">
12
- Haven’t received the email after 10 minutes?
13
- </p>
14
-
15
- <el-input
16
- class="hidden"
17
- v-model="form.email"
18
- label="Email address"
19
- name="email"
20
- :error="form.errors"
21
- type="email"
22
- placeholder="Email "
23
- required
24
- />
25
-
26
- <elButton
27
- class="AM-mt AM-mb-3"
28
- type="primary"
29
- :disabled="form.processing"
30
- :loading="form.processing"
31
- @click="onSubmit"
32
- >
33
- Re-send verification link
34
- </elButton>
35
-
36
- <p class="disclaimer AM-mt-1.5">
37
- Having trouble singing in?
38
- <a :href="contact" class="underline">Contact us</a>
39
- </p>
40
- </form>
41
- </template>
42
-
43
- <script>
44
- import Form from "form-backend-validation";
45
-
46
- export default {
47
- components: {
48
- elInput: require('../../form/basic.vue').default,
49
- elButton: require('../../basic/Button.vue').default,
50
- },
51
- data: () => ({
52
- user: null,
53
- form: new Form(
54
- {
55
- email: "",
56
- },
57
- { resetOnSuccess: false }
58
- ),
59
- notification: null,
60
- contact: process.env.HYDRATE_CONTACT ?? 'mailto:EP@avalerehealth.com',
61
- }),
62
-
63
- methods: {
64
- async onSubmit() {
65
- try {
66
- if (this.notification) {
67
- this.notification.close();
68
- this.notification = null;
69
- }
70
-
71
- await this.form.post("/email/verification-notification");
72
-
73
- this.$notify({
74
- type: "success",
75
- message: "Email has been re-sent",
76
- duration: 10000,
77
- class: 'el-notification--success el-notification--right-override'
78
- });
79
- } catch (e) {
80
- if (e.response && e.response.status === 429) {
81
- this.notification = this.$notify({
82
- type: "warning",
83
- message: 'Please allow 10 minutes before re-requesting',
84
- duration: 0,
85
- class: 'el-notification--warning el-notification--right-override'
86
- });
87
- } else if (e.response && e.response.status === 422) {
88
- this.notification = this.$notify({
89
- type: "error",
90
- message: e.response.data.message,
91
- duration: 0,
92
- class: 'el-notification--error el-notification--right-override'
93
- });
94
- }
95
- else {
96
- this.$root.errors(e);
97
- }
98
- }
99
- },
100
- },
101
-
102
- async mounted() {
103
- this.user = await this.$store.dispatch("getUser", {
104
- errors: this.$root.errors,
105
- });
106
-
107
- this.form.email = this.user.email;
108
- },
109
- };
110
- </script>
package/Icon.vue DELETED
@@ -1,33 +0,0 @@
1
- <template>
2
- <div class="vel-icon">
3
- <VSvg v-bind="$props" />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import VSvg from "./Svg.vue";
9
-
10
- export default {
11
- props: {
12
- name: {
13
- type: String,
14
- required: true,
15
- },
16
- embed: {
17
- type: Boolean,
18
- default: false,
19
- },
20
- asis: {
21
- type: Boolean,
22
- default: false,
23
- },
24
- artboard: {
25
- type: Boolean,
26
- default: false,
27
- },
28
- },
29
- components: {
30
- VSvg
31
- },
32
- }
33
- </script>
package/Svg.vue DELETED
@@ -1,40 +0,0 @@
1
- <template>
2
- <div
3
- v-if="embed">
4
- <component v-if="embed" :is="icon" class="vel-svg"/>
5
- </div>
6
- <svg v-else class="vel-svg">
7
- <use :xlink:href="'#' + name" />
8
- </svg>
9
- </template>
10
-
11
- <script>
12
- import { defineAsyncComponent } from 'vue';
13
- export default {
14
-
15
- props: {
16
- name: {
17
- type: String,
18
- required: true,
19
- },
20
- embed: {
21
- type: Boolean,
22
- default: false,
23
- },
24
- asis: {
25
- type: Boolean,
26
- default: false,
27
- },
28
- },
29
- data() {
30
- return {
31
- icons: import.meta.glob(`../../handlebars/generated/embed/**/*.svg`, { query: '?component' })
32
- }
33
- },
34
- computed: {
35
- icon() {
36
- return defineAsyncComponent(() => this.icons[`../../handlebars/generated/embed/svg${this.asis ? '--asis' : ''}--${this.name}.svg`]())
37
- },
38
- }
39
- }
40
- </script>