@cgboiler/biz-mobile 1.17.16 → 1.17.17

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.
@@ -44,7 +44,12 @@ var import_vue = require("vue");
44
44
  var import_atomic = require("./_atomic.css");
45
45
  var import_vue2 = require("vue");
46
46
  var import_vant = require("vant");
47
- function useSearch(props, api) {
47
+ const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
48
+ function useSearch({
49
+ props,
50
+ api,
51
+ isSearchFocus
52
+ }) {
48
53
  const {
49
54
  orgSearchList,
50
55
  getOrgList,
@@ -114,11 +119,11 @@ function useSearch(props, api) {
114
119
  handleSelect
115
120
  }) => {
116
121
  return (0, import_vue.createVNode)("div", {
117
- "class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1"
122
+ "class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1 overflow-auto"
118
123
  }, [filterRecentSelectedHistory.value.length ? (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("p", {
119
124
  "class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
120
125
  }, [(0, import_vue.createTextVNode)("\u6700\u8FD1\u9009\u62E9")]), (0, import_vue.createVNode)("div", {
121
- "class": "recent-list-wrap flex-1 overflow-auto py-[8px]"
126
+ "class": "recent-list-wrap flex-1 py-[8px]"
122
127
  }, [filterRecentSelectedHistory.value.map((historyItem) => (0, import_vue.createVNode)("div", {
123
128
  "key": historyItem.id,
124
129
  "onClick": () => handleHistorySelect(historyItem),
@@ -126,22 +131,22 @@ function useSearch(props, api) {
126
131
  }, [(0, import_vue.createVNode)("span", null, [historyItem.selectedUsers.map((user) => highlightText(getUserInfoById(user.id), keyword.value)).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))])]) : "", filteredOrgList.value.length ? (0, import_vue.createVNode)(import_vue.Fragment, null, [" ", (0, import_vue.createVNode)("p", {
127
132
  "class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
128
133
  }, [(0, import_vue.createTextVNode)("\u901A\u8BAF\u5F55")]), (0, import_vue.createVNode)("div", {
129
- "class": "feed-list-wrap"
134
+ "class": "px-16px"
130
135
  }, [filteredOrgList.value.length === 0 ? (0, import_vue.createVNode)(import_vant.Empty, {
131
136
  "description": "\u672A\u627E\u5230\u76F8\u5173\u4EBA\u5458"
132
- }, null) : (0, import_vue.createVNode)(import_vant.List, null, {
133
- default: () => [filteredOrgList.value.map((item) => (0, import_vue.createVNode)("div", {
134
- "class": ["org-item", isSelected(item) ? "selected" : ""],
135
- "onClick": () => handleSelect(item)
136
- }, [(0, import_vue.createVNode)(import_vant.Image, {
137
- "class": "org-avatar",
138
- "src": item.avatar
139
- }, null), (0, import_vue.createVNode)("div", {
140
- "class": "org-name"
141
- }, [item.name, (0, import_vue.createVNode)("span", {
142
- "class": "org-item-select-icon"
143
- }, [(0, import_vue.createTextVNode)("\u2713")])])]))]
144
- })])]) : ""]);
137
+ }, null) : (0, import_vue.createVNode)(import_vue.Fragment, null, [filteredOrgList.value.map((item) => (0, import_vue.createVNode)("div", {
138
+ "class": ["org-item", isSelected(item) ? "selected" : ""],
139
+ "onClick": () => handleSelect(item)
140
+ }, [(0, import_vue.createVNode)(import_vant.Image, {
141
+ "class": "org-avatar",
142
+ "src": item.avatar
143
+ }, null), (0, import_vue.createVNode)("div", {
144
+ "class": "org-name"
145
+ }, [item.name, (0, import_vue.createVNode)("span", {
146
+ "class": "org-item-select-icon"
147
+ }, [(0, import_vue.createTextVNode)("\u2713")])])]))])])]) : "", isSearchFocus.value && isMobile ? (0, import_vue.createVNode)("div", {
148
+ "class": "h-[300px]"
149
+ }, null) : ""]);
145
150
  };
146
151
  return {
147
152
  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,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,14 +14,6 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
  var stdin_exports = {};
29
19
  __export(stdin_exports, {
@@ -33,12 +23,9 @@ module.exports = __toCommonJS(stdin_exports);
33
23
  var import_vue = require("vue");
34
24
  var import_atomic = require("./_atomic.css");
35
25
  var import_vue2 = require("vue");
36
- var import_starter_kit = __toESM(require("@tiptap/starter-kit"));
37
- var import_vue_3 = require("@tiptap/vue-3");
38
- var import_extension_table = require("@tiptap/extension-table");
39
- var import_extensions = require("@tiptap/extensions");
40
26
  var import_types = require("./types");
41
27
  var import_index = require("./index.css");
28
+ var import_biz_basic = require("@cgboiler/biz-basic");
42
29
  var stdin_default = (0, import_vue2.defineComponent)({
43
30
  name: "RichTextEditor",
44
31
  props: import_types.richTextEditorProps,
@@ -46,62 +33,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
46
33
  setup(props, {
47
34
  emit
48
35
  }) {
49
- const editor = (0, import_vue2.ref)();
50
- const addTableRow = () => {
51
- var _a;
52
- (_a = editor.value) == null ? void 0 : _a.chain().focus().addRowAfter().run();
53
- };
54
- const deleteTableRow = () => {
55
- var _a;
56
- (_a = editor.value) == null ? void 0 : _a.chain().focus().deleteRow().run();
57
- };
58
- const setTextFormat = (level) => {
59
- var _a, _b;
60
- if (level === 0) {
61
- (_a = editor.value) == null ? void 0 : _a.chain().focus().setParagraph().run();
62
- } else {
63
- (_b = editor.value) == null ? void 0 : _b.chain().focus().toggleHeading({
64
- level
65
- }).run();
66
- }
67
- };
68
- const showTableButtons = (0, import_vue2.ref)(false);
69
- (0, import_vue2.onMounted)(() => {
70
- editor.value = new import_vue_3.Editor({
71
- extensions: [import_starter_kit.default, import_extension_table.TableKit.configure({
72
- table: {
73
- resizable: true
74
- }
75
- }), import_extensions.Placeholder.configure({
76
- placeholder: props.placeholder
77
- })],
78
- content: props.modelValue,
79
- onUpdate: ({
80
- editor: editor2
81
- }) => {
82
- const html = editor2.getHTML();
83
- emit("update:modelValue", html);
84
- },
85
- onSelectionUpdate: ({
86
- editor: editor2
87
- }) => {
88
- showTableButtons.value = editor2.isActive("table");
89
- }
90
- });
91
- });
92
- (0, import_vue2.watch)(() => props.modelValue, (newValue) => {
93
- var _a, _b;
94
- if (((_a = editor.value) == null ? void 0 : _a.getHTML()) !== newValue) {
95
- (_b = editor.value) == null ? void 0 : _b.commands.setContent(newValue || "");
96
- }
97
- });
98
- (0, import_vue2.onBeforeUnmount)(() => {
99
- var _a;
100
- (_a = editor.value) == null ? void 0 : _a.destroy();
101
- });
102
- return () => (0, import_vue.createVNode)(import_vue_3.EditorContent, {
103
- "class": "ProseMirror",
104
- "editor": editor.value
36
+ return () => (0, import_vue.createVNode)(import_biz_basic.RichTextEditor, {
37
+ "modelValue": props.modelValue,
38
+ "onUpdate:modelValue": (val) => emit("update:modelValue", val),
39
+ "placeholder": props.placeholder
105
40
  }, null);
106
41
  }
107
42
  });
@@ -30,5 +30,3 @@
30
30
  flex-wrap: wrap;
31
31
  }
32
32
 
33
- /* layer: default */
34
- .cgx-atm .table{display:table;}
@@ -1,191 +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
+ .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";