@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
package/form/file.vue DELETED
@@ -1,89 +0,0 @@
1
- <template>
2
- <XInput v-bind="$props">
3
- <template #label>
4
- <slot name="label" />
5
- </template>
6
-
7
- <input
8
- ref="input"
9
- type="file"
10
- class="absolute invisible top-0 left-0"
11
- @change="onImageChange"
12
- />
13
- <div class="border-solid border border-color-6">
14
- <el-empty
15
- @click.prevent="$refs.input.click()"
16
- class="p-0 w-100 block mx-auto cursor"
17
- style="max-width: 150px"
18
- :image="hasPreview && imgSrc"
19
- :description="hasPreview ? 'Preview' : 'No preview available'"
20
- />
21
- </div>
22
- <div class="text-center mt-0.5">
23
- <el-button v-if="content" type="danger" @click="cancel"
24
- >Clear</el-button
25
- >
26
- </div>
27
- </XInput>
28
- </template>
29
-
30
- <script>
31
- import input from "./input.js";
32
- import XInput from "./input.vue";
33
-
34
- export default {
35
- mixins: [input],
36
-
37
- components: { XInput },
38
-
39
- props: {
40
- preview: {},
41
- },
42
-
43
- data() {
44
- return {
45
- imgSrc: null,
46
- };
47
- },
48
-
49
- mounted() {
50
- this.imgSrc = this.preview;
51
- },
52
-
53
- computed: {
54
- hasPreview() {
55
- return this.imgSrc &&
56
- [".svg", ".jpg", ".png", "data:image/"].some((d) =>
57
- this.imgSrc.includes(d)
58
- )
59
- ? this.imgSrc
60
- : "";
61
- },
62
- },
63
-
64
- methods: {
65
- onImageChange(e) {
66
- if (!e.target.files.length) return;
67
-
68
- let file = e.target.files[0];
69
- let reader = new FileReader();
70
-
71
- reader.readAsDataURL(file);
72
-
73
- reader.onload = (e) => {
74
- this.imgSrc = reader.result;
75
- };
76
-
77
- this.content = file;
78
-
79
- this.handleInput();
80
- },
81
- cancel() {
82
- this.$refs.input.value = null;
83
- this.content = null;
84
- this.imgSrc = this.preview;
85
- this.handleInput();
86
- },
87
- },
88
- };
89
- </script>
package/form/input.js DELETED
@@ -1,79 +0,0 @@
1
- export default {
2
- props: {
3
- type: {
4
- type: String,
5
- default: "text",
6
- },
7
- placeholder: {
8
- type: String,
9
- default: null,
10
- },
11
- required: {
12
- type: Boolean,
13
- default: false,
14
- },
15
- disabled: {
16
- type: Boolean,
17
- default: false,
18
- },
19
- autofocus: {
20
- type: Boolean,
21
- default: false,
22
- },
23
- modelValue: {
24
- type: [String,Number,Array],
25
- default: null,
26
- },
27
- label: {
28
- type: String,
29
- default: null,
30
- },
31
- name: {
32
- type: String,
33
- default: null,
34
- },
35
- id: {
36
- type: String,
37
- default: null,
38
- },
39
- size: {
40
- type: String,
41
- default: null,
42
- },
43
- error: {
44
- type: [String,Object],
45
- default: null,
46
- },
47
- baseClass: {
48
- type: String,
49
- default: null,
50
- },
51
- classes: {
52
- type: String,
53
- default: null,
54
- },
55
- },
56
-
57
- emits: ["update:modelValue"],
58
-
59
- data() {
60
- return {
61
- content: "",
62
- };
63
- },
64
-
65
- watch: {
66
- modelValue: {
67
- immediate: true,
68
- handler(val) {
69
- this.content = val;
70
- },
71
- },
72
- },
73
-
74
- methods: {
75
- handleInput() {
76
- this.$emit("update:modelValue", this.content);
77
- },
78
- },
79
- };
package/form/input.vue DELETED
@@ -1,85 +0,0 @@
1
- <template>
2
- <div class="form__group" :class="{ [baseClass]: baseClass, 'form__group--error': hasError(name), [classes]: classes }">
3
- <label v-if="(label || $slots.label) && inputType !== 'button'" :class="{ [baseClass + '__label']: baseClass }"
4
- :for="name">
5
- <slot name="label">
6
- <span v-html="label"></span>
7
- </slot>
8
- </label>
9
-
10
- <slot />
11
-
12
- <div v-if="hasError(name)" class="form__error" :class="{ [baseClass + '__error']: baseClass }">
13
- <small v-html="first(name)" />
14
- </div>
15
- </div>
16
- </template>
17
-
18
- <script>
19
- export default {
20
- props: {
21
- label: {
22
- type: String,
23
- default: null,
24
- },
25
- name: {
26
- type: String,
27
- default: null,
28
- },
29
- error: {
30
- type: [String,Object],
31
- default: null,
32
- },
33
- baseClass: {
34
- type: String,
35
- default: null,
36
- },
37
- classes: {
38
- type: String,
39
- default: null,
40
- },
41
- type: {
42
- type: String,
43
- default: null,
44
- },
45
- inputType: {
46
- type: String,
47
- default: "text",
48
- },
49
- size: {
50
- type: String,
51
- default: null,
52
- },
53
- },
54
-
55
- methods: {
56
- hasError(field) {
57
- if(!this.$props?.error?.errors) {
58
- if(typeof this.$props?.error === 'string') {
59
- return true;
60
- }
61
- return false;
62
- }
63
- let hasError = this.$props.error.errors.hasOwnProperty(field);
64
-
65
- if (!hasError) {
66
- const errors = Object.keys(this.$props.error.errors).filter(
67
- e => e.startsWith(`${field}.`) || e.startsWith(`${field}[`)
68
- );
69
-
70
- hasError = errors.length > 0;
71
- }
72
-
73
- return hasError;
74
- },
75
-
76
- first(field) {
77
- return this.get(field)[0];
78
- },
79
-
80
- get(field) {
81
- return this.$props.error?.errors?.[field] || ( typeof this.$props.error === 'string' ? [this.$props.error] : []);
82
- }
83
- }
84
- };
85
- </script>
package/layout/Alert.vue DELETED
@@ -1,38 +0,0 @@
1
- <template>
2
- <el-alert
3
- class="mb-4 vel-alert"
4
- :effect="effect"
5
- :title="title"
6
- :type="type"
7
- :show-icon="showIcon"
8
- />
9
- </template>
10
-
11
- <script>
12
- import { ElAlert } from "element-plus";
13
- export default {
14
- name: "VPageTitle",
15
-
16
- props: {
17
- effect: {
18
- type:String,
19
- default:'dark'
20
- },
21
- title: {
22
- type:String
23
- },
24
- type: {
25
- type:String,
26
- default:'error'
27
- },
28
- showIcon: {
29
- type:Boolean,
30
- default:true,
31
- }
32
- },
33
-
34
- components: {
35
- ElAlert,
36
- },
37
- }
38
- </script>
package/layout/Footer.vue DELETED
@@ -1,35 +0,0 @@
1
- <template>
2
- <footer class="vel-footer">
3
- <div>
4
- <h5 class="color-0">
5
- <slot/>
6
- </h5>
7
- </div>
8
- <div class="vel-footer__bottom">
9
- <div class="vel-footer__bottom__links">
10
- <p class="color-0">&copy;2025 Avalere Health.</p>
11
- <el-link underline class="color-0 ml" href="https://avalerehealth.com/privacy-policy/" target="_blank">Privacy Policy</el-link>
12
- <el-link underline class="color-0 ml" href="https://avalerehealth.com/corporate-policies/" target="_blank">Corporate policies and compliance</el-link>
13
- </div>
14
- <div class="vel-footer__bottom__end">
15
- <p class="color-0">Have a question?</p><el-link underline class="color-0 ml" :href="contact">Contact our Support Team</el-link>
16
- </div>
17
- </div>
18
- </footer>
19
- </template>
20
-
21
- <script>
22
- import elLink from "../basic/link.vue";
23
-
24
- export default {
25
- props: {
26
- contact: {
27
- required:true,
28
- type:String
29
- }
30
- },
31
- components: {
32
- elLink
33
- }
34
- }
35
- </script>
package/layout/Header.vue DELETED
@@ -1,15 +0,0 @@
1
- <template>
2
- <header class="vel-header">
3
- <slot/>
4
-
5
- <div class="vel-header__list">
6
- <slot name="links"/>
7
- </div>
8
- </header>
9
- </template>
10
-
11
- <script>
12
- export default {
13
-
14
- }
15
- </script>
package/layout/Loader.vue DELETED
@@ -1,39 +0,0 @@
1
- <template>
2
- <div class="vel-loader">
3
- <slot>
4
- <svg viewBox="0 0 84 84" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
5
- <defs>
6
- <pattern id="e11rz3cojb" width="100%" height="100%" patternUnits="objectBoundingBox">
7
- <use xlink:href="#w1y9w0pc6a"/>
8
- </pattern>
9
- <image id="w1y9w0pc6a" width="84" height="84" xlink:href="data:image/png;base64,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"/>
10
- <path id="3vizvfpwxc" d="M0 0h39.967v39.966H0z"/>
11
- </defs>
12
- <g fill="none" fill-rule="evenodd">
13
- <path class="circle" d="M42 0C18.804 0 0 18.804 0 42s18.804 42 42 42 42-18.804 42-42S65.196 0 42 0zm0 4c20.987 0 38 17.013 38 38S62.987 80 42 80 4 62.987 4 42 21.013 4 42 4z" fill="url(#e11rz3cojb)" fill-rule="nonzero"/>
14
- <g transform="translate(22 22)">
15
- <mask id="y3cby6hymd" fill="#fff">
16
- <use xlink:href="#3vizvfpwxc"/>
17
- </mask>
18
- <path d="m16.552 21.54 4.036-12.407h.312l4.204 12.946c2.503 1.604 4.81 3.465 6.752 5.604l-.38.486c-3.45-2.688-8.243-5.126-14.924-6.63m23.414 18.425L26.189 0h-10.89L8.295 20.29a82.37 82.37 0 0 0-6.892-.306L0 24.047c2.37.103 4.628.329 6.769.664L1.502 39.966h9.055l4.314-13.26c7.747 2.716 13.03 7.333 15.105 13.26h9.99v-.002" fill="#0D0D0D" mask="url(#y3cby6hymd)"/>
19
- </g>
20
- </g>
21
- </svg>
22
-
23
- </slot>
24
-
25
- </div>
26
- </template>
27
-
28
- <script>
29
- export default {
30
- props: {
31
- reversed: {
32
- type: Boolean,
33
- default: false,
34
- }
35
- },
36
- components: {
37
- }
38
- };
39
- </script>
@@ -1,46 +0,0 @@
1
- <template>
2
- <el-popover
3
- class="vel-tooltip"
4
- :trigger="trigger"
5
- :placement="placement"
6
- :content="content"
7
- :effect="effect"
8
- popper-class="vel-tooltip"
9
- >
10
- <template #reference><slot name="reference"></slot></template>
11
- <slot />
12
- </el-popover>
13
- </template>
14
-
15
- <script>
16
- import { ElPopover } from "element-plus";
17
- export default {
18
- name: "Tooltip",
19
-
20
- props: {
21
- width: {
22
- type:Number,
23
- default:100
24
- },
25
- trigger: {
26
- type:String,
27
- default:'hover'
28
- },
29
- effect: {
30
- type:String,
31
- default:'dark'
32
- },
33
- placement: {
34
- type:String,
35
- default:'top'
36
- },
37
- content: {
38
- type:String
39
- }
40
- },
41
-
42
- components: {
43
- ElPopover,
44
- },
45
- }
46
- </script>
@@ -1,18 +0,0 @@
1
- <template>
2
- <div class="vel-page-title">
3
- <h2 class="h2" v-html="title" />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: "VPageTitle",
10
-
11
- props: {
12
- title: {
13
- type: String,
14
- required: true
15
- }
16
- },
17
- }
18
- </script>
@@ -1,27 +0,0 @@
1
- <template>
2
- <div class="vel-side-bar" :class="{ active: active }">
3
- <div>
4
- <slot name="navigation" />
5
- </div>
6
-
7
- <div class="vel-side-bar__bottom">
8
- <button class="vel-side-bar__button" @click="active = !active">
9
- <slot name="expand">
10
- >
11
- </slot>
12
- </button>
13
- </div>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- name: "SideBar",
20
-
21
- data() {
22
- return {
23
- active: true,
24
- }
25
- },
26
- }
27
- </script>
@@ -1,32 +0,0 @@
1
- <template>
2
- <el-breadcrumb class="vel-breadcrumb" :seperator="''">
3
- <slot name="default">
4
- <template v-for="(crumb,index) in crumbs">
5
- <el-breadcrumb-item :to="crumb.href">{{ crumb.text }} </el-breadcrumb-item>
6
- <template v-if="index !== crumbs.length -1">
7
- <span class="el-breadcrumb__item">
8
- <span class="el-breadcrumb__separator inline-block" role="presentation">
9
- <slot name="seperator">/</slot>
10
- </span>
11
- </span>
12
- </template>
13
- </template>
14
- </slot>
15
- </el-breadcrumb>
16
- </template>
17
-
18
- <script>
19
- import { ElBreadcrumb } from "element-plus";
20
- import ElBreadcrumbItem from "./BreadcrumbsItem.vue";
21
- export default {
22
- props: {
23
- crumbs: {
24
- required: false
25
- }
26
- },
27
- components: {
28
- ElBreadcrumb,
29
- ElBreadcrumbItem
30
- }
31
- }
32
- </script>
@@ -1,19 +0,0 @@
1
- <template>
2
- <el-breadcrumb-item v-bind="$props">
3
- <slot></slot>
4
- </el-breadcrumb-item>
5
- </template>
6
-
7
- <script>
8
- import { ElBreadcrumbItem } from "element-plus";
9
- export default {
10
- props: {
11
- crumbs: {
12
- required: false
13
- }
14
- },
15
- components: {
16
- ElBreadcrumbItem
17
- }
18
- }
19
- </script>
@@ -1,16 +0,0 @@
1
- <template>
2
- <el-menu
3
- class="vel-menu"
4
- >
5
- <slot />
6
- </el-menu>
7
- </template>
8
-
9
- <script>
10
- import { ElMenu } from "element-plus";
11
- export default {
12
- components: {
13
- ElMenu
14
- }
15
- }
16
- </script>
@@ -1,20 +0,0 @@
1
- <template>
2
- <el-menu-item :index="index" class="vel-menu-item" v-bind="$props">
3
- <template #title>
4
- <slot name="title" />
5
- </template>
6
- <template #default>
7
- <slot name="default" />
8
- </template>
9
- </el-menu-item>
10
- </template>
11
-
12
- <script>
13
- import { ElMenuItem } from "element-plus";
14
- export default {
15
- components: {
16
- ElMenuItem
17
- },
18
- props: ['index']
19
- }
20
- </script>
@@ -1,20 +0,0 @@
1
- <template>
2
- <el-sub-menu :index="index" v-bind="$props">
3
- <template #title>
4
- <slot name="title" />
5
- </template>
6
- <template #default>
7
- <slot name="default" />
8
- </template>
9
- </el-sub-menu>
10
- </template>
11
-
12
- <script>
13
- import ElSubMenu from "./SubMenu.vue";
14
- export default {
15
- components: {
16
- ElSubMenu
17
- },
18
- props:['index']
19
- }
20
- </script>
@@ -1,20 +0,0 @@
1
- <template>
2
- <el-sub-menu :index="index" class="vel-sub-menu" >
3
- <template #title>
4
- <slot name="title" />
5
- </template>
6
- <template #default>
7
- <slot name="default" />
8
- </template>
9
- </el-sub-menu>
10
- </template>
11
-
12
- <script>
13
- import { ElSubMenu } from "element-plus";
14
- export default {
15
- components: {
16
- ElSubMenu
17
- },
18
- props: ['index']
19
- }
20
- </script>