@nebulars/primary 0.3.105

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 (53) hide show
  1. package/.prettierignore +0 -0
  2. package/.prettierrc.cjs +8 -0
  3. package/components/fqa/index.vue +128 -0
  4. package/components/fqa/markdown-notes.less +34 -0
  5. package/components/fqa-amixer/index.vue +105 -0
  6. package/components/fqa-aovery/index.vue +46 -0
  7. package/components/fqa-aovery/modify.less +3 -0
  8. package/components/fqa-arrow/index.vue +51 -0
  9. package/components/fqa-assist/index.vue +104 -0
  10. package/components/fqa-assist/menus-modify.less +38 -0
  11. package/components/fqa-assist/start-modify.less +3 -0
  12. package/components/fqa-attach/index.vue +51 -0
  13. package/components/fqa-attach/modify.less +3 -0
  14. package/components/fqa-boxer/index.vue +130 -0
  15. package/components/fqa-button/index.vue +105 -0
  16. package/components/fqa-control/index.vue +47 -0
  17. package/components/fqa-debug/index.vue +49 -0
  18. package/components/fqa-download/index.vue +65 -0
  19. package/components/fqa-footer/index.vue +25 -0
  20. package/components/fqa-fullscreen/index.vue +60 -0
  21. package/components/fqa-gap/index.vue +10 -0
  22. package/components/fqa-header/index.vue +105 -0
  23. package/components/fqa-header/poping-modify.less +48 -0
  24. package/components/fqa-icon/index.vue +36 -0
  25. package/components/fqa-input/index.vue +47 -0
  26. package/components/fqa-link/index.vue +184 -0
  27. package/components/fqa-lister/index.vue +61 -0
  28. package/components/fqa-logo/index.vue +34 -0
  29. package/components/fqa-markdown/index.vue +109 -0
  30. package/components/fqa-markdown/katex-modify.less +0 -0
  31. package/components/fqa-markdown/table-modify.less +5 -0
  32. package/components/fqa-markdown/table-ops.less +76 -0
  33. package/components/fqa-mask/index.vue +42 -0
  34. package/components/fqa-pagination/index.vue +44 -0
  35. package/components/fqa-pagination/modify.less +66 -0
  36. package/components/fqa-preloading/index.vue +70 -0
  37. package/components/fqa-profile/index.vue +141 -0
  38. package/components/fqa-reissue/index.vue +19 -0
  39. package/components/fqa-selection/index.vue +95 -0
  40. package/components/fqa-selection/modify.less +10 -0
  41. package/components/fqa-sider/index.vue +16 -0
  42. package/components/fqa-snapshot/index.vue +107 -0
  43. package/components/fqa-start/index.vue +321 -0
  44. package/components/fqa-start/modify.less +11 -0
  45. package/components/fqa-switcher/index.vue +94 -0
  46. package/components/fqa-table/index.vue +42 -0
  47. package/components/fqa-table/modify.less +56 -0
  48. package/components/fqa-text/index.vue +58 -0
  49. package/components/fqa-welcome/index.vue +29 -0
  50. package/components/fqa-worcha/index.vue +107 -0
  51. package/components/fqa-worry/index.vue +148 -0
  52. package/index.js +20 -0
  53. package/package.json +9 -0
File without changes
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ arrowParens: 'avoid',
3
+ trailingComma: 'all',
4
+ tabWidth: 2,
5
+ semi: true,
6
+ singleQuote: true,
7
+ printWidth: 360,
8
+ };
@@ -0,0 +1,128 @@
1
+ <style lang="less" scoped>
2
+ /**
3
+ * For Coding Pretty
4
+ * ======== ======== ========
5
+ */
6
+ .FinQA {
7
+ /**
8
+ * Layout
9
+ * ======== ======== ========
10
+ */
11
+ & {
12
+ width: 100%;
13
+ height: 100%;
14
+ }
15
+
16
+ &,
17
+ &--Container {
18
+ display: flex;
19
+ }
20
+
21
+ & {
22
+ flex-direction: row;
23
+ }
24
+
25
+ &--Container {
26
+ flex-direction: column;
27
+ }
28
+
29
+ &--Container {
30
+ flex: 1;
31
+ }
32
+
33
+ &--Container {
34
+ align-items: center;
35
+ }
36
+
37
+ &--Container,
38
+ &--Assist,
39
+ &--Sider {
40
+ transition: all @fast;
41
+ }
42
+
43
+ /**
44
+ * Interface
45
+ * ======== ======== ========
46
+ */
47
+ &--Container {
48
+ max-width: 100%;
49
+ }
50
+
51
+ &--Assist {
52
+ width: @size-assist;
53
+ }
54
+
55
+ &--Sider {
56
+ width: @size-sider;
57
+ }
58
+
59
+ /**
60
+ * Colour
61
+ * ======== ======== ========
62
+ */
63
+ &--Container {
64
+ background-color: transparent;
65
+ }
66
+ &--Assist {
67
+ background-color: @color-assist;
68
+ }
69
+
70
+ &--Sider {
71
+ background-color: @color-sider;
72
+ }
73
+
74
+ /**
75
+ * Modify
76
+ * ======== ======== ========
77
+ */
78
+ &--Sider {
79
+ border-left: 1px solid @color-line;
80
+ }
81
+ }
82
+ </style>
83
+
84
+ <template>
85
+ <div class="FinQA" :class="{ FinQA: true, mobile: app.mobile, [`FinQA-${$route.name}`]: true }">
86
+ <!-- Control -->
87
+ <fqa-control />
88
+
89
+ <!-- Mask -->
90
+ <fqa-mask />
91
+
92
+ <!-- Transition Preloading -->
93
+ <transition name="preloading">
94
+ <!-- Preloading -->
95
+ <slot name="preloading" />
96
+ </transition>
97
+
98
+ <!-- Transition Assist -->
99
+ <transition name="assist">
100
+ <div class="FinQA--Assist" v-if="adapter.assist.type">
101
+ <slot name="assist" />
102
+ </div>
103
+ </transition>
104
+
105
+ <!-- Transition Container -->
106
+ <transition name="container">
107
+ <!-- Container -->
108
+ <slot class="FinQA--Container" name="container" />
109
+ </transition>
110
+
111
+ <!-- Sider -->
112
+ <transition name="sider">
113
+ <div class="FinQA--Sider" v-if="adapter.sider.type">
114
+ <slot name="sider" />
115
+ </div>
116
+ </transition>
117
+
118
+ <!-- Attach -->
119
+ <fqa-attach class="FinQA--Attach" :space="app.mobile ? '82vw' : 640" />
120
+
121
+ <!-- Aovery -->
122
+ <fqa-aovery class="FinQA--Aovery" :space="app.mobile ? '82vw' : '50vw'" />
123
+ </div>
124
+ </template>
125
+
126
+ <script>
127
+ export default {};
128
+ </script>
@@ -0,0 +1,34 @@
1
+ .markdown-notes-sup {
2
+ & {
3
+ margin-inline: 0.24rem;
4
+ padding: 0.24rem 0.48rem;
5
+ border-radius: @radiu;
6
+ line-height: @gap;
7
+ font-size: @unit;
8
+
9
+ color: @color-retext;
10
+ background-color: lighten(@color-text, 40%);
11
+ }
12
+
13
+ &:hover {
14
+ // color: @color-retext;
15
+ background-color: darken(@color-subtext, 10%);
16
+ }
17
+
18
+ &:focus,
19
+ &.active {
20
+ color: @color-retext;
21
+ background-color: @color-professor;
22
+ }
23
+ }
24
+
25
+ .markdown-notes {
26
+ & {
27
+ position: fixed;
28
+ top: 0;
29
+ left: 0;
30
+ right: 0;
31
+ bottom: 0;
32
+ z-index: 1;
33
+ }
34
+ }
@@ -0,0 +1,105 @@
1
+ <style lang="less">
2
+ .fqa-amixer {
3
+ overflow: unset !important;
4
+ height: 100%;
5
+ position: relative;
6
+
7
+ background-color: @color-attach !important;
8
+
9
+ &-menus {
10
+ top: 30px; // calc(@space - 2px);
11
+ right: 100%;
12
+ position: absolute;
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: @unit;
16
+ }
17
+
18
+ &-menu {
19
+ cursor: pointer;
20
+ padding: @gap @unit;
21
+ background-color: @color-app;
22
+ border-radius: @atom 0 0 @atom;
23
+
24
+ &.active {
25
+ background-color: darken(@color-app, 5%);
26
+ }
27
+ }
28
+
29
+ .ant-drawer-body {
30
+ padding: 0;
31
+ }
32
+ }
33
+ </style>
34
+
35
+ <template>
36
+ <a-drawer class="fqa-amixer" :width="space" placement="right" :closable="false" v-model:open="adapter.amixer.type" @close="closeHandler" :get-container="container">
37
+ <div class="fqa-amixer-menus">
38
+ <template v-for="[key, options] in menus">
39
+ <div class="fqa-amixer-menu" :class="{ active: active === key }" @click="menuHandler(options, key)">
40
+ <slot name="menu" :options="options" :key="key" />
41
+ </div>
42
+ </template>
43
+ </div>
44
+
45
+ <slot name="container" :active="active" :link="chat.launch.url" />
46
+ </a-drawer>
47
+ </template>
48
+
49
+ <script>
50
+ export default {
51
+ props: {
52
+ space: {
53
+ type: [Number, String],
54
+ default: '50vw',
55
+ },
56
+ /* !!
57
+ * Json Member
58
+ * @param url { string }
59
+ * @param query { json }
60
+ * @param mode { string }
61
+ * ======== ======== ========
62
+ */
63
+ menus: {
64
+ type: [Array],
65
+ default: [],
66
+ },
67
+ },
68
+
69
+ data() {
70
+ return {
71
+ active: null,
72
+ };
73
+ },
74
+
75
+ watch: {
76
+ menus: {
77
+ async handler(value) {
78
+ if (!value.length) {
79
+ return;
80
+ }
81
+
82
+ if (!this.active) {
83
+ const [key, options] = value[0];
84
+ await this.menuHandler(options, key);
85
+ }
86
+ },
87
+
88
+ immediate: true,
89
+ deep: true,
90
+ },
91
+ },
92
+
93
+ methods: {
94
+ async menuHandler(options, key) {
95
+ this.active = key;
96
+
97
+ console.log('Amixer 参数:', options);
98
+ const { launch_key } = await this.$store.dispatch('chat/LAUNCH_TOKEN', options);
99
+
100
+ console.log('Amixer 秘钥:', launch_key);
101
+ await this.$store.dispatch('chat/LAUNCH_UPDATE', { ...options, launch_key });
102
+ },
103
+ },
104
+ };
105
+ </script>
@@ -0,0 +1,46 @@
1
+ <style lang="less">
2
+ .fqa-aovery {
3
+ overflow: hidden;
4
+ height: 100%;
5
+
6
+ background-color: @color-attach !important;
7
+
8
+ .ant-drawer-body {
9
+ padding: 0;
10
+ }
11
+ }
12
+ </style>
13
+
14
+ <template>
15
+ <a-drawer class="fqa-aovery" root-class-name="fqa-aovery-container" :width="space" placement="right" :closable="false" v-model:open="adapter.aovery.type" @close="closeHandler" :get-container="container">
16
+ <launch :src="chat.launch.url" />
17
+ </a-drawer>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ props: {
23
+ space: {
24
+ type: [Number, String],
25
+ default: '50vw',
26
+ },
27
+ },
28
+
29
+ data() {
30
+ return {
31
+ container: null,
32
+ };
33
+ },
34
+
35
+ methods: {
36
+ closeHandler(e) {
37
+ console.log(e);
38
+ },
39
+ },
40
+
41
+ mounted() {
42
+ // 勿删,该配置作用于容器推出
43
+ // this.container = document.querySelector('.FinQA--Container');
44
+ },
45
+ };
46
+ </script>
@@ -0,0 +1,3 @@
1
+ .fqa-aovery-container {
2
+ position: absolute;
3
+ }
@@ -0,0 +1,51 @@
1
+ <style lang="less" scoped>
2
+ .fqa-arrow {
3
+ & {
4
+ width: 10px;
5
+ position: relative;
6
+ }
7
+
8
+ &::before,
9
+ &::after {
10
+ content: '';
11
+ position: absolute;
12
+ width: 6px;
13
+ height: 2px;
14
+ background-color: @color-text;
15
+ transition: transform 0.3s ease;
16
+ }
17
+
18
+ &::before {
19
+ left: 0;
20
+ transform: rotate(45deg);
21
+ }
22
+ &::after {
23
+ right: 0;
24
+ transform: rotate(-45deg);
25
+ }
26
+
27
+ &.open {
28
+ &::before {
29
+ transform: rotate(-45deg);
30
+ }
31
+ &::after {
32
+ transform: rotate(45deg);
33
+ }
34
+ }
35
+ }
36
+ </style>
37
+
38
+ <template>
39
+ <div class="fqa-arrow" :class="{ open }"></div>
40
+ </template>
41
+
42
+ <script>
43
+ export default {
44
+ props: {
45
+ open: {
46
+ type: [Boolean],
47
+ default: false,
48
+ },
49
+ },
50
+ };
51
+ </script>
@@ -0,0 +1,104 @@
1
+ <style lang="less" scoped>
2
+ .fqa-assist {
3
+ & {
4
+ position: relative;
5
+ border-right: 1px solid white;
6
+ }
7
+
8
+ &-mask {
9
+ top: 0;
10
+ left: 0;
11
+ right: 0;
12
+ bottom: 0;
13
+ z-index: 9999;
14
+ position: absolute;
15
+ background: transparent;
16
+ }
17
+
18
+ &-toper,
19
+ &-boxer {
20
+ padding: @unit;
21
+ }
22
+
23
+ &-toper {
24
+ height: @size-header;
25
+ cursor: pointer;
26
+
27
+ &-logo {
28
+ position: relative;
29
+ }
30
+ }
31
+
32
+ &-boxer {
33
+ height: @size-header;
34
+ }
35
+
36
+ &-menus {
37
+ height: calc(100vh - @size-profile - @size-provert);
38
+ background-color: transparent;
39
+ }
40
+
41
+ .fantasy {
42
+ width: 84px;
43
+ height: 28px;
44
+ display: inline-block;
45
+ background: url(@/assets/name.png) center/cover no-repeat;
46
+ }
47
+ }
48
+ </style>
49
+
50
+ <template>
51
+ <!-- Assist -->
52
+ <div class="fqa-assist">
53
+ <!-- Profile -->
54
+ <fqa-profile />
55
+
56
+ <!-- Toper -->
57
+ <a-space class="fqa-assist-toper" v-if="false">
58
+ <a-avatar class="fqa-assist-toper-logo logo" :src="$util.uri(`logo.png`)" />
59
+ <fqa-animation animation="jello">
60
+ <div class="fantasy" />
61
+ </fqa-animation>
62
+ </a-space>
63
+
64
+ <!-- Menu -->
65
+ <div class="fqa-assist-menus scroll">
66
+ <!-- Menu Mask -->
67
+ <!-- <div class="fqa-assist-mask" v-if="sseengine.produce"></div> -->
68
+
69
+ <!-- Menu Uper -->
70
+ <fqa-start class="start-modify" />
71
+
72
+ <!-- Menu List -->
73
+ <sse-menus :menus="menus" class="menus-modify" />
74
+ </div>
75
+
76
+ <!-- Box -->
77
+ <div class="fqa-assist-boxer" v-if="app.user">
78
+ <fqa-boxer />
79
+ </div>
80
+ </div>
81
+ </template>
82
+
83
+ <script>
84
+ export default {
85
+ computed: {
86
+ menus() {
87
+ return this.$util.time.Ago(this.sseengine.list, { 1: '今天', 2: '昨天', 7: '前 7 天', 30: '前 30 天', more: '更久以前' });
88
+ },
89
+ },
90
+
91
+ watch: {
92
+ 'app.token': {
93
+ handler(value) {
94
+ if (value) {
95
+ // this.$store.dispatch('sseengine/MENUS_GET');
96
+ }
97
+ },
98
+
99
+ deep: true,
100
+ immediate: true,
101
+ },
102
+ },
103
+ };
104
+ </script>
@@ -0,0 +1,38 @@
1
+ .menus-modify {
2
+ & {
3
+ padding-inline: @size-assispant !important;
4
+ background-color: transparent;
5
+ border-inline-end: none !important;
6
+ }
7
+
8
+ .ant-menu-item-group {
9
+ margin-top: @gap;
10
+
11
+ &-title {
12
+ padding-inline: calc(@unit + @atom);
13
+ }
14
+ }
15
+
16
+ .ant-menu-item {
17
+ padding-inline: @gap !important;
18
+ border-radius: @radiu * 2 !important;
19
+
20
+ &.remove {
21
+ transition: all @effect;
22
+ height: 0 !important;
23
+ overflow: hidden;
24
+ }
25
+
26
+ &:active {
27
+ background-color: darken(@color-assist, 1%) !important;
28
+ }
29
+ }
30
+
31
+ .ant-menu-item-active {
32
+ background-color: darken(@color-assist, 5%);
33
+ }
34
+
35
+ .ant-menu-item-selected {
36
+ background-color: darken(@color-assist, 5%);
37
+ }
38
+ }
@@ -0,0 +1,3 @@
1
+ .start-modify {
2
+ padding-inline: @size-assispant !important;
3
+ }
@@ -0,0 +1,51 @@
1
+ <style lang="less">
2
+ .fqa-attach {
3
+ background-color: @color-attach !important;
4
+
5
+ .ant-drawer-body {
6
+ padding: 0;
7
+ overflow: hidden;
8
+ }
9
+ }
10
+ </style>
11
+
12
+ <template>
13
+ <a-drawer class="fqa-attach" root-class-name="fqa-attach-container" :width="space" placement="right" :closable="false" v-model:open="adapter.attach.type" @close="closeHandler" :get-container="container">
14
+ <sse-drawer :thinks="attach.thinks" :references="attach.references" :workflows="attach.workflows" />
15
+ </a-drawer>
16
+ </template>
17
+
18
+ <script>
19
+ export default {
20
+ props: {
21
+ space: {
22
+ type: [Number, String],
23
+ default: '50vw',
24
+ },
25
+ },
26
+
27
+ data() {
28
+ return {
29
+ container: null,
30
+ };
31
+ },
32
+
33
+ computed: {
34
+ attach() {
35
+ return this.sseengine.attach;
36
+ },
37
+ },
38
+
39
+ methods: {
40
+ closeHandler(e) {
41
+ this.$util.sup.clean();
42
+ console.log(e);
43
+ },
44
+ },
45
+
46
+ mounted() {
47
+ // 暂隐勿删,该配置作用于容器推出
48
+ // this.container = document.querySelector('.FinQA--Container');
49
+ },
50
+ };
51
+ </script>
@@ -0,0 +1,3 @@
1
+ .fqa-attach-container {
2
+ position: absolute;
3
+ }