@cgboiler/biz-mobile 1.18.4 → 1.18.5-beta

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 (39) hide show
  1. package/es/index.d.ts +1 -1
  2. package/es/index.js +1 -1
  3. package/es/md-preview/index.less +101 -101
  4. package/es/org-picker/OrgPicker.d.ts +3 -3
  5. package/es/org-picker/OrgPicker.js +5 -19
  6. package/es/org-picker/_atomic.css +0 -1
  7. package/es/org-picker/index.less +181 -181
  8. package/es/org-picker/types.d.ts +2 -2
  9. package/es/org-picker/useApi.d.ts +7 -7
  10. package/es/org-picker/useApi.js +9 -16
  11. package/es/org-picker/useSearch.d.ts +2 -2
  12. package/es/org-picker/useSearch.js +21 -32
  13. package/es/project-select/index.less +45 -45
  14. package/es/rich-text-editor/RichTextEditor.js +61 -6
  15. package/es/rich-text-editor/_atomic.css +2 -0
  16. package/es/rich-text-editor/index.css +1 -0
  17. package/es/rich-text-editor/index.less +191 -0
  18. package/es/vue-sfc-shim.d.ts +8 -8
  19. package/es/vue-tsx-shim.d.ts +24 -24
  20. package/lib/index.d.ts +1 -1
  21. package/lib/index.js +1 -1
  22. package/lib/md-preview/index.less +101 -101
  23. package/lib/org-picker/OrgPicker.d.ts +3 -3
  24. package/lib/org-picker/OrgPicker.js +5 -19
  25. package/lib/org-picker/_atomic.css +0 -1
  26. package/lib/org-picker/index.less +181 -181
  27. package/lib/org-picker/types.d.ts +2 -2
  28. package/lib/org-picker/useApi.d.ts +7 -7
  29. package/lib/org-picker/useApi.js +8 -15
  30. package/lib/org-picker/useSearch.d.ts +2 -2
  31. package/lib/org-picker/useSearch.js +20 -31
  32. package/lib/project-select/index.less +45 -45
  33. package/lib/rich-text-editor/RichTextEditor.js +70 -5
  34. package/lib/rich-text-editor/_atomic.css +2 -0
  35. package/lib/rich-text-editor/index.css +1 -0
  36. package/lib/rich-text-editor/index.less +191 -0
  37. package/lib/vue-sfc-shim.d.ts +8 -8
  38. package/lib/vue-tsx-shim.d.ts +24 -24
  39. package/package.json +68 -68
@@ -1,6 +1,6 @@
1
1
  import { ExtractPropTypes, PropType } from 'vue';
2
2
  export interface OrgItem {
3
- id: string;
3
+ id: string | number;
4
4
  name: string;
5
5
  type: string;
6
6
  avatar?: string;
@@ -8,7 +8,7 @@ export interface OrgItem {
8
8
  }
9
9
  export declare const orgPickerProps: {
10
10
  modelValue: {
11
- type: PropType<(string)[] | null>;
11
+ type: PropType<(string | number)[] | null>;
12
12
  default: () => null;
13
13
  };
14
14
  show: {
@@ -2,39 +2,39 @@ import { type OrgItem, RecentSelection } from './types';
2
2
  export declare const useApi: () => {
3
3
  userList: import("vue").Ref<{
4
4
  [x: string]: any;
5
- id: string;
5
+ id: string | number;
6
6
  name: string;
7
7
  type: string;
8
8
  avatar?: string | undefined;
9
9
  }[], OrgItem[] | {
10
10
  [x: string]: any;
11
- id: string;
11
+ id: string | number;
12
12
  name: string;
13
13
  type: string;
14
14
  avatar?: string | undefined;
15
15
  }[]>;
16
16
  orgList: import("vue").Ref<{
17
17
  [x: string]: any;
18
- id: string;
18
+ id: string | number;
19
19
  name: string;
20
20
  type: string;
21
21
  avatar?: string | undefined;
22
22
  }[], OrgItem[] | {
23
23
  [x: string]: any;
24
- id: string;
24
+ id: string | number;
25
25
  name: string;
26
26
  type: string;
27
27
  avatar?: string | undefined;
28
28
  }[]>;
29
29
  orgSearchList: import("vue").Ref<{
30
30
  [x: string]: any;
31
- id: string;
31
+ id: string | number;
32
32
  name: string;
33
33
  type: string;
34
34
  avatar?: string | undefined;
35
35
  }[], OrgItem[] | {
36
36
  [x: string]: any;
37
- id: string;
37
+ id: string | number;
38
38
  name: string;
39
39
  type: string;
40
40
  avatar?: string | undefined;
@@ -55,5 +55,5 @@ export declare const useApi: () => {
55
55
  searchOrgList: import("lodash-es").DebouncedFunc<(userName: string) => Promise<void>>;
56
56
  getRecentSelectedUsers: () => Promise<RecentSelection[]>;
57
57
  setRecentSelectedUsers: (users: OrgItem[]) => Promise<void>;
58
- getUserInfoById: (id: string | number) => OrgItem | undefined;
58
+ getUserInfoById: (id: string | number) => string;
59
59
  };
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { computed, ref } from "vue";
21
+ import { ref } from "vue";
22
22
  import { useFetch, getUserList, getStorage, getUserInfo, removeStorage } from "@cgboiler/core";
23
23
  import { debounce } from "lodash-es";
24
24
  const orgListCache = /* @__PURE__ */ new Map();
@@ -37,13 +37,6 @@ const fetchOrgList = (deptId) => __async(void 0, null, function* () {
37
37
  return fetchData(url, deptId || "");
38
38
  });
39
39
  const userList = ref([]);
40
- const userMap = computed(() => {
41
- const map = /* @__PURE__ */ new Map();
42
- userList.value.forEach((item) => {
43
- map.set(item.id, item);
44
- });
45
- return map;
46
- });
47
40
  function initUserList() {
48
41
  return __async(this, null, function* () {
49
42
  userList.value = yield getUserList();
@@ -71,13 +64,7 @@ const useApi = () => {
71
64
  }
72
65
  }
73
66
  const list = yield fetchOrgList(currentDeptId.value);
74
- orgList.value = list.filter((item) => {
75
- var _a;
76
- if (item.type === "user") {
77
- return ((_a = userMap.value.get(item.id)) == null ? void 0 : _a.status) !== 5;
78
- }
79
- return true;
80
- }) || [];
67
+ orgList.value = list || [];
81
68
  });
82
69
  const searchOrgList = debounce((userName) => __async(void 0, null, function* () {
83
70
  if (!userName) {
@@ -239,7 +226,13 @@ const useApi = () => {
239
226
  }
240
227
  });
241
228
  const getUserInfoById = (id) => {
242
- return userList.value.find((item) => item.id === id);
229
+ let name = "";
230
+ userList.value.forEach((item) => {
231
+ if (item.id === id) {
232
+ name = item.name;
233
+ }
234
+ });
235
+ return name;
243
236
  };
244
237
  return {
245
238
  userList,
@@ -1,4 +1,4 @@
1
- export declare function useSearch({ props, api, isSearchFocus }: any): {
1
+ export declare function useSearch(props: any, api: any): {
2
2
  keyword: import("vue").Ref<string, string>;
3
3
  searchRef: import("vue").Ref<any, any>;
4
4
  setRecentUsers: (users: any[]) => Promise<void>;
@@ -7,5 +7,5 @@ export declare function useSearch({ props, api, isSearchFocus }: any): {
7
7
  filteredOrgList: import("vue").ComputedRef<any>;
8
8
  recentSelectedHistory: import("vue").Ref<any[], any[]>;
9
9
  filterRecentSelectedHistory: import("vue").Ref<any[], any[]>;
10
- highlightText: (text: any, keyword: string) => any;
10
+ highlightText: (text: string | number, keyword: string) => string | number | (string | import("vue/jsx-runtime").JSX.Element)[];
11
11
  };
@@ -21,13 +21,8 @@ var __async = (__this, __arguments, generator) => {
21
21
  import { createVNode as _createVNode, Fragment as _Fragment, createTextVNode as _createTextVNode } from "vue";
22
22
  import "./_atomic.css";
23
23
  import { ref, computed, watch, watchEffect, nextTick } from "vue";
24
- import { Empty, Image } from "vant";
25
- const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
26
- function useSearch({
27
- props,
28
- api,
29
- isSearchFocus
30
- }) {
24
+ import { Empty, List, Image } from "vant";
25
+ function useSearch(props, api) {
31
26
  const {
32
27
  orgSearchList,
33
28
  getOrgList,
@@ -55,10 +50,7 @@ function useSearch({
55
50
  });
56
51
  watchEffect(() => {
57
52
  if (keyword.value) {
58
- filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) => {
59
- var _a;
60
- return (_a = getUserInfoById(user.id)) == null ? void 0 : _a.name.includes(char);
61
- })));
53
+ filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) => getUserInfoById(user.id).includes(char))));
62
54
  } else {
63
55
  filterRecentSelectedHistory.value = recentSelectedHistory.value;
64
56
  }
@@ -100,37 +92,34 @@ function useSearch({
100
92
  handleSelect
101
93
  }) => {
102
94
  return _createVNode("div", {
103
- "class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1 overflow-auto"
104
- }, [filterRecentSelectedHistory.value.length && props.multiple ? _createVNode(_Fragment, null, [_createVNode("p", {
95
+ "class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1"
96
+ }, [filterRecentSelectedHistory.value.length ? _createVNode(_Fragment, null, [_createVNode("p", {
105
97
  "class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
106
98
  }, [_createTextVNode("\u6700\u8FD1\u9009\u62E9")]), _createVNode("div", {
107
- "class": "recent-list-wrap flex-1 py-[8px]"
99
+ "class": "recent-list-wrap flex-1 overflow-auto py-[8px]"
108
100
  }, [filterRecentSelectedHistory.value.map((historyItem) => _createVNode("div", {
109
101
  "key": historyItem.id,
110
102
  "onClick": () => handleHistorySelect(historyItem),
111
103
  "class": "px-16px py-8px border-b border-[#eee]"
112
- }, [_createVNode("span", null, [historyItem.selectedUsers.map((user) => {
113
- var _a;
114
- return highlightText((_a = getUserInfoById(user.id)) == null ? void 0 : _a.name, keyword.value);
115
- }).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))])]) : "", filteredOrgList.value.length ? _createVNode(_Fragment, null, [" ", _createVNode("p", {
104
+ }, [_createVNode("span", null, [historyItem.selectedUsers.map((user) => highlightText(getUserInfoById(user.id), keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))])]) : "", filteredOrgList.value.length ? _createVNode(_Fragment, null, [" ", _createVNode("p", {
116
105
  "class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
117
106
  }, [_createTextVNode("\u901A\u8BAF\u5F55")]), _createVNode("div", {
118
- "class": "px-16px"
107
+ "class": "feed-list-wrap"
119
108
  }, [filteredOrgList.value.length === 0 ? _createVNode(Empty, {
120
109
  "description": "\u672A\u627E\u5230\u76F8\u5173\u4EBA\u5458"
121
- }, null) : _createVNode(_Fragment, null, [filteredOrgList.value.map((item) => _createVNode("div", {
122
- "class": ["org-item", isSelected(item) ? "selected" : ""],
123
- "onClick": () => handleSelect(item)
124
- }, [_createVNode(Image, {
125
- "class": "org-avatar",
126
- "src": item.avatar
127
- }, null), _createVNode("div", {
128
- "class": "org-name"
129
- }, [item.name, _createVNode("span", {
130
- "class": "org-item-select-icon"
131
- }, [_createTextVNode("\u2713")])])]))])])]) : "", isSearchFocus.value && isMobile ? _createVNode("div", {
132
- "class": "h-[300px]"
133
- }, null) : ""]);
110
+ }, null) : _createVNode(List, null, {
111
+ default: () => [filteredOrgList.value.map((item) => _createVNode("div", {
112
+ "class": ["org-item", isSelected(item) ? "selected" : ""],
113
+ "onClick": () => handleSelect(item)
114
+ }, [_createVNode(Image, {
115
+ "class": "org-avatar",
116
+ "src": item.avatar
117
+ }, null), _createVNode("div", {
118
+ "class": "org-name"
119
+ }, [item.name, _createVNode("span", {
120
+ "class": "org-item-select-icon"
121
+ }, [_createTextVNode("\u2713")])])]))]
122
+ })])]) : ""]);
134
123
  };
135
124
  return {
136
125
  keyword,
@@ -1,45 +1,45 @@
1
- :root:root {
2
- --van-action-sheet-max-height: 100%;
3
- }
4
- .project-list {
5
- height: 85vh;
6
- display: flex;
7
- flex-direction: column;
8
-
9
- .search-bar {
10
- position: sticky;
11
- top: 0;
12
- z-index: 1;
13
- }
14
-
15
- .van-list {
16
- flex: 1;
17
- overflow-y: auto;
18
- padding: 0 16px;
19
- }
20
-
21
- .project-item {
22
- padding: 12px 0;
23
- border-bottom: 1px solid #eee;
24
- cursor: pointer;
25
-
26
- &.selected {
27
- color: var(--van-primary-color);
28
- }
29
-
30
- .project-name {
31
- font-size: 14px;
32
-
33
- .highlight {
34
- color: var(--van-primary-color);
35
- font-weight: bold;
36
- padding: 0 2px;
37
- border-radius: 2px;
38
- }
39
- }
40
-
41
- &:last-child {
42
- border-bottom: none;
43
- }
44
- }
45
- }
1
+ :root:root {
2
+ --van-action-sheet-max-height: 100%;
3
+ }
4
+ .project-list {
5
+ height: 85vh;
6
+ display: flex;
7
+ flex-direction: column;
8
+
9
+ .search-bar {
10
+ position: sticky;
11
+ top: 0;
12
+ z-index: 1;
13
+ }
14
+
15
+ .van-list {
16
+ flex: 1;
17
+ overflow-y: auto;
18
+ padding: 0 16px;
19
+ }
20
+
21
+ .project-item {
22
+ padding: 12px 0;
23
+ border-bottom: 1px solid #eee;
24
+ cursor: pointer;
25
+
26
+ &.selected {
27
+ color: var(--van-primary-color);
28
+ }
29
+
30
+ .project-name {
31
+ font-size: 14px;
32
+
33
+ .highlight {
34
+ color: var(--van-primary-color);
35
+ font-weight: bold;
36
+ padding: 0 2px;
37
+ border-radius: 2px;
38
+ }
39
+ }
40
+
41
+ &:last-child {
42
+ border-bottom: none;
43
+ }
44
+ }
45
+ }
@@ -1,9 +1,12 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import "./_atomic.css";
3
- import { defineComponent } from "vue";
3
+ import { defineComponent, onMounted, onBeforeUnmount, ref, watch } from "vue";
4
+ import StarterKit from "@tiptap/starter-kit";
5
+ import { Editor, EditorContent } from "@tiptap/vue-3";
6
+ import { TableKit } from "@tiptap/extension-table";
7
+ import { Placeholder } from "@tiptap/extensions";
4
8
  import { richTextEditorProps } from "./types";
5
9
  import "./index.css";
6
- import { RichTextEditor } from "@cgboiler/biz-basic";
7
10
  var stdin_default = defineComponent({
8
11
  name: "RichTextEditor",
9
12
  props: richTextEditorProps,
@@ -11,10 +14,62 @@ var stdin_default = defineComponent({
11
14
  setup(props, {
12
15
  emit
13
16
  }) {
14
- return () => _createVNode(RichTextEditor, {
15
- "modelValue": props.modelValue,
16
- "onUpdate:modelValue": (val) => emit("update:modelValue", val),
17
- "placeholder": props.placeholder
17
+ const editor = ref();
18
+ const addTableRow = () => {
19
+ var _a;
20
+ (_a = editor.value) == null ? void 0 : _a.chain().focus().addRowAfter().run();
21
+ };
22
+ const deleteTableRow = () => {
23
+ var _a;
24
+ (_a = editor.value) == null ? void 0 : _a.chain().focus().deleteRow().run();
25
+ };
26
+ const setTextFormat = (level) => {
27
+ var _a, _b;
28
+ if (level === 0) {
29
+ (_a = editor.value) == null ? void 0 : _a.chain().focus().setParagraph().run();
30
+ } else {
31
+ (_b = editor.value) == null ? void 0 : _b.chain().focus().toggleHeading({
32
+ level
33
+ }).run();
34
+ }
35
+ };
36
+ const showTableButtons = ref(false);
37
+ onMounted(() => {
38
+ editor.value = new Editor({
39
+ extensions: [StarterKit, TableKit.configure({
40
+ table: {
41
+ resizable: true
42
+ }
43
+ }), Placeholder.configure({
44
+ placeholder: props.placeholder
45
+ })],
46
+ content: props.modelValue,
47
+ onUpdate: ({
48
+ editor: editor2
49
+ }) => {
50
+ const html = editor2.getHTML();
51
+ emit("update:modelValue", html);
52
+ },
53
+ onSelectionUpdate: ({
54
+ editor: editor2
55
+ }) => {
56
+ showTableButtons.value = editor2.isActive("table");
57
+ }
58
+ });
59
+ });
60
+ watch(() => props.modelValue, (newValue) => {
61
+ var _a, _b;
62
+ if (((_a = editor.value) == null ? void 0 : _a.getHTML()) !== newValue) {
63
+ (_b = editor.value) == null ? void 0 : _b.commands.setContent(newValue || "");
64
+ }
65
+ });
66
+ onBeforeUnmount(() => {
67
+ var _a;
68
+ (_a = editor.value) == null ? void 0 : _a.destroy();
69
+ });
70
+ return () => _createVNode(EditorContent, {
71
+ "class": "ProseMirror",
72
+ "editor": editor.value
18
73
  }, null);
19
74
  }
20
75
  });
@@ -30,3 +30,5 @@
30
30
  flex-wrap: wrap;
31
31
  }
32
32
 
33
+ /* layer: default */
34
+ .cgx-atm .table{display:table;}
@@ -0,0 +1 @@
1
+ .ProseMirror{flex:1;overflow:auto;outline:none;line-height:1.6;font-size:var(--font-base);--white: #fff;--black: #2e2b29;--black-contrast: #110f0e;--gray-1: rgba(61, 37, 20, .05);--gray-2: rgba(61, 37, 20, .08);--gray-3: rgba(61, 37, 20, .12);--gray-4: rgba(53, 38, 28, .3);--gray-5: rgba(28, 25, 23, .6);--green: #22c55e;--purple: #6a00f5;--purple-contrast: #5800cc;--purple-light: rgba(88, 5, 255, .05);--yellow-contrast: #facc15;--yellow: rgba(250, 204, 21, .4);--yellow-light: #fffae5;--red: #ff5c33;--red-light: #ffebe5;--shadow: 0px 12px 33px 0px rgba(0, 0, 0, .06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)}.ProseMirror :first-child{margin-top:0}.ProseMirror ul,.ProseMirror ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem}.ProseMirror ul li p,.ProseMirror ol li p{margin-top:.25em;margin-bottom:.25em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}.ProseMirror h1,.ProseMirror h2{margin-top:3.5rem;margin-bottom:1.5rem}.ProseMirror h1{font-size:1.4rem}.ProseMirror h2{font-size:1.2rem}.ProseMirror h3{font-size:1.1rem}.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{font-size:1rem}.ProseMirror code{background-color:var(--purple-light);border-radius:.4rem;color:var(--black);font-size:.85rem;padding:.25em .3em}.ProseMirror pre{background:var(--black);border-radius:.5rem;color:var(--white);font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem}.ProseMirror pre code{background:none;color:inherit;font-size:.8rem;padding:0}.ProseMirror blockquote{border-left:3px solid var(--gray-3);margin:1.5rem 0;padding-left:1rem}.ProseMirror hr{border:none;border-top:1px solid var(--gray-2);margin:2rem 0}.ProseMirror p.is-editor-empty:first-child:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror .is-empty:before{color:var(--gray-4);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror table{border-collapse:collapse;margin:0;overflow:hidden;table-layout:fixed;width:100%}.ProseMirror table td,.ProseMirror table th{border:1px solid var(--gray-3);box-sizing:border-box;min-width:1em;padding:6px 8px;position:relative;vertical-align:top}.ProseMirror table td>*,.ProseMirror table th>*{margin-bottom:0}.ProseMirror table th{background-color:var(--gray-1);font-weight:700;text-align:left}.ProseMirror table .selectedCell:after{background:var(--gray-2);content:"";left:0;right:0;top:0;bottom:0;pointer-events:none;position:absolute;z-index:2}.ProseMirror table .column-resize-handle{background-color:var(--purple);bottom:-2px;pointer-events:none;position:absolute;right:-2px;top:0;width:4px}.ProseMirror .tableWrapper{margin:1.5rem 0;overflow-x:auto}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}
@@ -0,0 +1,191 @@
1
+ .ProseMirror {
2
+ flex: 1;
3
+ overflow: auto;
4
+ outline: none;
5
+
6
+ line-height: 1.6;
7
+ font-size: var(--font-base);
8
+ --white: #fff;
9
+ --black: #2e2b29;
10
+ --black-contrast: #110f0e;
11
+ --gray-1: rgba(61, 37, 20, 0.05);
12
+ --gray-2: rgba(61, 37, 20, 0.08);
13
+ --gray-3: rgba(61, 37, 20, 0.12);
14
+ --gray-4: rgba(53, 38, 28, 0.3);
15
+ --gray-5: rgba(28, 25, 23, 0.6);
16
+ --green: #22c55e;
17
+ --purple: #6a00f5;
18
+ --purple-contrast: #5800cc;
19
+ --purple-light: rgba(88, 5, 255, 0.05);
20
+ --yellow-contrast: #facc15;
21
+ --yellow: rgba(250, 204, 21, 0.4);
22
+ --yellow-light: #fffae5;
23
+ --red: #ff5c33;
24
+ --red-light: #ffebe5;
25
+ --shadow: 0px 12px 33px 0px rgba(0, 0, 0, 0.06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, 0.04);
26
+ :first-child {
27
+ margin-top: 0;
28
+ }
29
+
30
+ /* List styles */
31
+ ul,
32
+ ol {
33
+ padding: 0 1rem;
34
+ margin: 1.25rem 1rem 1.25rem 0.4rem;
35
+
36
+ li p {
37
+ margin-top: 0.25em;
38
+ margin-bottom: 0.25em;
39
+ }
40
+ }
41
+
42
+ /* Heading styles */
43
+ h1,
44
+ h2,
45
+ h3,
46
+ h4,
47
+ h5,
48
+ h6 {
49
+ line-height: 1.1;
50
+ margin-top: 2.5rem;
51
+ text-wrap: pretty;
52
+ }
53
+
54
+ h1,
55
+ h2 {
56
+ margin-top: 3.5rem;
57
+ margin-bottom: 1.5rem;
58
+ }
59
+
60
+ h1 {
61
+ font-size: 1.4rem;
62
+ }
63
+
64
+ h2 {
65
+ font-size: 1.2rem;
66
+ }
67
+
68
+ h3 {
69
+ font-size: 1.1rem;
70
+ }
71
+
72
+ h4,
73
+ h5,
74
+ h6 {
75
+ font-size: 1rem;
76
+ }
77
+
78
+ /* Code and preformatted text styles */
79
+ code {
80
+ background-color: var(--purple-light);
81
+ border-radius: 0.4rem;
82
+ color: var(--black);
83
+ font-size: 0.85rem;
84
+ padding: 0.25em 0.3em;
85
+ }
86
+
87
+ pre {
88
+ background: var(--black);
89
+ border-radius: 0.5rem;
90
+ color: var(--white);
91
+ font-family: 'JetBrainsMono', monospace;
92
+ margin: 1.5rem 0;
93
+ padding: 0.75rem 1rem;
94
+
95
+ code {
96
+ background: none;
97
+ color: inherit;
98
+ font-size: 0.8rem;
99
+ padding: 0;
100
+ }
101
+ }
102
+
103
+ blockquote {
104
+ border-left: 3px solid var(--gray-3);
105
+ margin: 1.5rem 0;
106
+ padding-left: 1rem;
107
+ }
108
+
109
+ hr {
110
+ border: none;
111
+ border-top: 1px solid var(--gray-2);
112
+ margin: 2rem 0;
113
+ }
114
+
115
+ /* Placeholder (at the top) */
116
+ p.is-editor-empty:first-child::before {
117
+ color: var(--gray-4);
118
+ content: attr(data-placeholder);
119
+ float: left;
120
+ height: 0;
121
+ pointer-events: none;
122
+ }
123
+
124
+ .is-empty::before {
125
+ color: var(--gray-4);
126
+ content: attr(data-placeholder);
127
+ float: left;
128
+ height: 0;
129
+ pointer-events: none;
130
+ }
131
+ /* Table-specific styling */
132
+ table {
133
+ border-collapse: collapse;
134
+ margin: 0;
135
+ overflow: hidden;
136
+ table-layout: fixed;
137
+ width: 100%;
138
+
139
+ td,
140
+ th {
141
+ border: 1px solid var(--gray-3);
142
+ box-sizing: border-box;
143
+ min-width: 1em;
144
+ padding: 6px 8px;
145
+ position: relative;
146
+ vertical-align: top;
147
+
148
+ > * {
149
+ margin-bottom: 0;
150
+ }
151
+ }
152
+
153
+ th {
154
+ background-color: var(--gray-1);
155
+ font-weight: bold;
156
+ text-align: left;
157
+ }
158
+
159
+ .selectedCell:after {
160
+ background: var(--gray-2);
161
+ content: '';
162
+ left: 0;
163
+ right: 0;
164
+ top: 0;
165
+ bottom: 0;
166
+ pointer-events: none;
167
+ position: absolute;
168
+ z-index: 2;
169
+ }
170
+
171
+ .column-resize-handle {
172
+ background-color: var(--purple);
173
+ bottom: -2px;
174
+ pointer-events: none;
175
+ position: absolute;
176
+ right: -2px;
177
+ top: 0;
178
+ width: 4px;
179
+ }
180
+ }
181
+
182
+ .tableWrapper {
183
+ margin: 1.5rem 0;
184
+ overflow-x: auto;
185
+ }
186
+
187
+ &.resize-cursor {
188
+ cursor: ew-resize;
189
+ cursor: col-resize;
190
+ }
191
+ }
@@ -1,9 +1,9 @@
1
- declare module '*.vue' {
2
- // eslint-disable-next-line
3
- import { DefineComponent } from 'vue'
4
- const Component: DefineComponent
5
- export default Component
6
- }
7
- declare module "marked";
8
- declare module "katex";
1
+ declare module '*.vue' {
2
+ // eslint-disable-next-line
3
+ import { DefineComponent } from 'vue'
4
+ const Component: DefineComponent
5
+ export default Component
6
+ }
7
+ declare module "marked";
8
+ declare module "katex";
9
9
  declare module "diff-match-patch";
@@ -1,24 +1,24 @@
1
- import 'vue';
2
-
3
- type EventHandler = (...args: any[]) => void;
4
-
5
- declare module 'vue' {
6
- interface ComponentCustomProps {
7
- id?: string;
8
- role?: string;
9
- tabindex?: number;
10
- onClick?: EventHandler;
11
- onTouchend?: EventHandler;
12
- onTouchmove?: EventHandler;
13
- onTouchstart?: EventHandler;
14
- onTouchcancel?: EventHandler;
15
- onTouchmovePassive?: EventHandler;
16
- onTouchstartPassive?: EventHandler;
17
- }
18
-
19
- interface HTMLAttributes {
20
- onTouchmovePassive?: EventHandler;
21
- onTouchstartPassive?: EventHandler;
22
- onClickCapture?: EventHandler;
23
- }
24
- }
1
+ import 'vue';
2
+
3
+ type EventHandler = (...args: any[]) => void;
4
+
5
+ declare module 'vue' {
6
+ interface ComponentCustomProps {
7
+ id?: string;
8
+ role?: string;
9
+ tabindex?: number;
10
+ onClick?: EventHandler;
11
+ onTouchend?: EventHandler;
12
+ onTouchmove?: EventHandler;
13
+ onTouchstart?: EventHandler;
14
+ onTouchcancel?: EventHandler;
15
+ onTouchmovePassive?: EventHandler;
16
+ onTouchstartPassive?: EventHandler;
17
+ }
18
+
19
+ interface HTMLAttributes {
20
+ onTouchmovePassive?: EventHandler;
21
+ onTouchstartPassive?: EventHandler;
22
+ onClickCapture?: EventHandler;
23
+ }
24
+ }
package/lib/index.d.ts CHANGED
@@ -8,7 +8,7 @@ declare namespace _default {
8
8
  }
9
9
  export default _default;
10
10
  export function install(app: any): void;
11
- export const version: "1.18.3";
11
+ export const version: "1.17.15";
12
12
  import MdPreview from './md-preview';
13
13
  import OrgPicker from './org-picker';
14
14
  import ProjectSelect from './project-select';