@opendesign-plus/components 0.0.1-rc.82 → 0.0.1-rc.83

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 (29) hide show
  1. package/dist/components/header/utils.d.ts +3 -0
  2. package/dist/components/meeting/OMeetingMinutes.vue.d.ts +1 -0
  3. package/dist/components/meeting/index.d.ts +1 -0
  4. package/dist/components/meeting/types.d.ts +2 -0
  5. package/dist/components.cjs.js +40 -40
  6. package/dist/components.css +1 -1
  7. package/dist/components.es.js +9368 -9321
  8. package/dist/treeshaking/components/brand/OBrandLogo.css +27 -21
  9. package/dist/treeshaking/components/brand/OBrandLogo.vue.mjs +1 -1
  10. package/dist/treeshaking/components/brand/OBrandLogo.vue2.mjs +1 -1
  11. package/dist/treeshaking/components/header/components/HeaderContent.css +189 -187
  12. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
  13. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +5 -11
  14. package/dist/treeshaking/components/header/components/HeaderNav.css +49 -49
  15. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +1 -1
  16. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +1 -0
  17. package/dist/treeshaking/components/header/components/HeaderNavMobile.css +80 -80
  18. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +1 -1
  19. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +8 -14
  20. package/dist/treeshaking/components/header/utils.d.ts +3 -0
  21. package/dist/treeshaking/components/header/utils.mjs +13 -2
  22. package/dist/treeshaking/components/meeting/OMeetingMinutes.css +33 -42
  23. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue.d.ts +1 -0
  24. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue.mjs +113 -71
  25. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.css +5 -28
  26. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue.mjs +11 -4
  27. package/dist/treeshaking/components/meeting/index.d.ts +1 -0
  28. package/dist/treeshaking/components/meeting/types.d.ts +2 -0
  29. package/package.json +2 -2
@@ -42,44 +42,28 @@
42
42
  min-height: auto;
43
43
  }
44
44
  }
45
- .o-meeting-minutes .o-meeting-minutes-loading {
46
- display: flex;
47
- flex-direction: column;
48
- gap: var(--o-gap-3);
49
- }
50
- @media (max-width: 1200px) {
51
- .o-meeting-minutes .o-meeting-minutes-loading {
52
- gap: var(--o-gap-2);
53
- }
54
- }
55
- .o-meeting-minutes .o-meeting-minutes-loading .loading-tip {
56
- color: var(--o-color-info3);
57
- font-size: 14px;
58
- line-height: 22px;
59
- }
60
- @media (min-width: 1201px) and (max-width: 1680px) {
61
- .o-meeting-minutes .o-meeting-minutes-loading .loading-tip {
62
- font-size: 14px;
63
- line-height: 18px;
64
- }
65
- }
66
- @media (min-width: 841px) and (max-width: 1200px) {
67
- .o-meeting-minutes .o-meeting-minutes-loading .loading-tip {
68
- font-size: 12px;
69
- line-height: 18px;
45
+ .o-meeting-minutes .o-meeting-minutes-main-loading .o-meeting-minutes-title-wrap,
46
+ .o-meeting-minutes .o-meeting-minutes-main-loading .minutes-meta,
47
+ .o-meeting-minutes .o-meeting-minutes-main-loading .o-meeting-minutes-body-wrap .o-meeting-minutes-body-header {
48
+ display: block;
70
49
  }
50
+ .o-meeting-minutes .minutes-skeleton.minutes-skeleton-title {
51
+ --skeleton-height: var(--o-r-font_size-h2);
71
52
  }
72
- @media (min-width: 601px) and (max-width: 840px) {
73
- .o-meeting-minutes .o-meeting-minutes-loading .loading-tip {
74
- font-size: 12px;
75
- line-height: 18px;
53
+ .o-meeting-minutes .minutes-skeleton.minutes-skeleton-title .o-skeleton-item {
54
+ --skeleton-width: 50%;
76
55
  }
56
+ .o-meeting-minutes .minutes-skeleton.minutes-skeleton-btn {
57
+ --skeleton-width: 112px;
58
+ --skeleton-height: 40px;
59
+ --skeleton-radius: 20px;
77
60
  }
78
- @media (max-width: 600px) {
79
- .o-meeting-minutes .o-meeting-minutes-loading .loading-tip {
80
- font-size: 12px;
81
- line-height: 18px;
61
+ .o-meeting-minutes .minutes-skeleton.minutes-skeleton-body-title {
62
+ --skeleton-width: 96px;
63
+ --skeleton-height: var(--o-r-font_size-h4);
82
64
  }
65
+ .o-meeting-minutes .minutes-skeleton.minutes-skeleton-body {
66
+ --skeleton-width: 100%;
83
67
  }
84
68
  .o-meeting-minutes .o-meeting-minutes-head {
85
69
  display: flex;
@@ -213,13 +197,18 @@
213
197
  }
214
198
  .o-meeting-minutes .o-meeting-minutes-body-wrap .o-meeting-minutes-body-content {
215
199
  margin-top: var(--o-r-gap-5);
200
+ }
201
+ .o-meeting-minutes .o-meeting-minutes-body-wrap .o-meeting-minutes-body-content.is-empty {
202
+ min-height: 360px;
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: center;
206
+ }
207
+ .o-meeting-minutes .o-meeting-minutes-body-wrap .o-meeting-minutes-body-content .minutes-preview {
216
208
  padding: var(--o-r-gap-3) var(--o-r-gap-4);
217
209
  border-radius: var(--minutes-card-radius);
218
210
  background-color: color-mix(in srgb, var(--o-color-control2-light) 40%, transparent);
219
211
  }
220
- .o-meeting-minutes .o-meeting-minutes-body-wrap .o-meeting-minutes-body-content.o-meeting-minutes-body-content_edit {
221
- padding: 0;
222
- }
223
212
  .o-meeting-minutes .o-meeting-minutes-body-wrap .o-meeting-minutes-body-footer {
224
213
  margin-top: var(--o-r-gap-5);
225
214
  color: var(--o-color-info3);
@@ -485,11 +474,13 @@
485
474
  line-height: 18px;
486
475
  }
487
476
  }
477
+ @media (min-width: 841px) {
488
478
  .o-meeting-minutes-log-detail .o-dlg-main {
489
- position: absolute;
490
- top: 0;
491
- left: 0;
492
- bottom: 0;
493
- right: 0;
494
- max-height: 100%;
479
+ position: absolute;
480
+ top: 0;
481
+ left: 0;
482
+ bottom: 0;
483
+ right: 0;
484
+ max-height: 100%;
485
+ }
495
486
  }
@@ -3,6 +3,7 @@ declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
5
5
  empty?(_: {}): any;
6
+ empty?(_: {}): any;
6
7
  };
7
8
  refs: {
8
9
  rootRef: ({
@@ -1,51 +1,59 @@
1
- import { defineComponent, ref, computed, watch, onMounted, openBlock, createBlock, unref, withCtx, createElementBlock, createElementVNode, createVNode, toDisplayString, createTextVNode, Fragment, normalizeClass, withDirectives, renderList, vShow, renderSlot } from "vue";
2
- import { useMessage, OScroller, OTextarea, OTag, ODivider, OButton, OLink, OIcon, OIconChevronDown, ODialog } from "@opensig/opendesign";
1
+ import { defineComponent, ref, computed, watch, onMounted, openBlock, createBlock, unref, withCtx, createElementBlock, createElementVNode, createVNode, toDisplayString, createTextVNode, Fragment, normalizeClass, renderSlot, createCommentVNode, withDirectives, renderList, vShow } from "vue";
2
+ import { useMessage, OScroller, OSkeleton, ODivider, OTag, OButton, OLink, OTextarea, OIcon, OIconChevronDown, ODialog } from "@opensig/opendesign";
3
3
  import { useMeetingConfig } from "./composables/useMeetingConfig.mjs";
4
4
  import OMeetingSendMinutesDialog from "./components/OMeetingSendMinutesDialog.vue.mjs";
5
5
  import _OMeetingMinutesCopyDetail from "./OMeetingMinutesCopyDetail.vue.mjs";
6
6
  import { formatDate } from "./utils.mjs";
7
7
  const _hoisted_1 = {
8
8
  key: 0,
9
- class: "o-meeting-minutes-main o-meeting-minutes-card"
9
+ class: "o-meeting-minutes-main o-meeting-minutes-main-loading o-meeting-minutes-card"
10
10
  };
11
- const _hoisted_2 = { class: "o-meeting-minutes-loading" };
12
- const _hoisted_3 = { class: "loading-tip" };
13
- const _hoisted_4 = {
11
+ const _hoisted_2 = { class: "o-meeting-minutes-head" };
12
+ const _hoisted_3 = { class: "o-meeting-minutes-head-left" };
13
+ const _hoisted_4 = { class: "o-meeting-minutes-title-wrap" };
14
+ const _hoisted_5 = { class: "minutes-meta" };
15
+ const _hoisted_6 = { class: "o-meeting-minutes-body-wrap" };
16
+ const _hoisted_7 = { class: "o-meeting-minutes-body-header" };
17
+ const _hoisted_8 = { class: "o-meeting-minutes-body-content" };
18
+ const _hoisted_9 = {
14
19
  key: 1,
15
20
  class: "o-meeting-minutes-main o-meeting-minutes-card"
16
21
  };
17
- const _hoisted_5 = { class: "o-meeting-minutes-head" };
18
- const _hoisted_6 = { class: "o-meeting-minutes-head-left" };
19
- const _hoisted_7 = { class: "o-meeting-minutes-title-wrap" };
20
- const _hoisted_8 = { class: "minutes-title" };
21
- const _hoisted_9 = { class: "minutes-meta" };
22
- const _hoisted_10 = { class: "o-meeting-minutes-head-right" };
23
- const _hoisted_11 = { class: "o-meeting-minutes-body-wrap" };
24
- const _hoisted_12 = { class: "o-meeting-minutes-body-header" };
25
- const _hoisted_13 = { class: "o-meeting-minutes-body-header-text" };
26
- const _hoisted_14 = { class: "o-meeting-minutes-body-header-btns" };
27
- const _hoisted_15 = {
28
- key: 0,
22
+ const _hoisted_10 = { class: "o-meeting-minutes-head" };
23
+ const _hoisted_11 = { class: "o-meeting-minutes-head-left" };
24
+ const _hoisted_12 = { class: "o-meeting-minutes-title-wrap" };
25
+ const _hoisted_13 = { class: "minutes-title" };
26
+ const _hoisted_14 = { class: "minutes-meta" };
27
+ const _hoisted_15 = { class: "o-meeting-minutes-head-right" };
28
+ const _hoisted_16 = { class: "o-meeting-minutes-body-wrap" };
29
+ const _hoisted_17 = { class: "o-meeting-minutes-body-header" };
30
+ const _hoisted_18 = { class: "o-meeting-minutes-body-header-text" };
31
+ const _hoisted_19 = { class: "o-meeting-minutes-body-header-btns" };
32
+ const _hoisted_20 = {
33
+ key: 1,
29
34
  class: "minutes-preview"
30
35
  };
31
- const _hoisted_16 = { class: "o-meeting-minutes-body-footer" };
32
- const _hoisted_17 = { class: "o-meeting-minutes-last-modified" };
33
- const _hoisted_18 = { class: "o-meeting-minutes-origin" };
34
- const _hoisted_19 = { class: "o-meeting-minutes-log-card o-meeting-minutes-card" };
35
- const _hoisted_20 = { class: "o-meeting-minutes-log-block" };
36
- const _hoisted_21 = { class: "o-meeting-minutes-log-head-left" };
37
- const _hoisted_22 = { class: "block-title" };
38
- const _hoisted_23 = { class: "block-count" };
39
- const _hoisted_24 = { class: "o-meeting-minutes-log-body" };
40
- const _hoisted_25 = {
36
+ const _hoisted_21 = {
41
37
  key: 0,
42
- class: "o-meeting-minutes-timeline"
38
+ class: "o-meeting-minutes-body-footer"
43
39
  };
44
- const _hoisted_26 = { class: "o-meeting-minutes-timeline-content" };
45
- const _hoisted_27 = { class: "o-meeting-minutes-timeline-summary" };
46
- const _hoisted_28 = { class: "timeline-time" };
47
- const _hoisted_29 = { class: "timeline-desc" };
40
+ const _hoisted_22 = { class: "o-meeting-minutes-last-modified" };
41
+ const _hoisted_23 = { class: "o-meeting-minutes-origin" };
42
+ const _hoisted_24 = { class: "o-meeting-minutes-log-card o-meeting-minutes-card" };
43
+ const _hoisted_25 = { class: "o-meeting-minutes-log-block" };
44
+ const _hoisted_26 = { class: "o-meeting-minutes-log-head-left" };
45
+ const _hoisted_27 = { class: "block-title" };
46
+ const _hoisted_28 = { class: "block-count" };
47
+ const _hoisted_29 = { class: "o-meeting-minutes-log-body" };
48
48
  const _hoisted_30 = {
49
+ key: 0,
50
+ class: "o-meeting-minutes-timeline"
51
+ };
52
+ const _hoisted_31 = { class: "o-meeting-minutes-timeline-content" };
53
+ const _hoisted_32 = { class: "o-meeting-minutes-timeline-summary" };
54
+ const _hoisted_33 = { class: "timeline-time" };
55
+ const _hoisted_34 = { class: "timeline-desc" };
56
+ const _hoisted_35 = {
49
57
  key: 1,
50
58
  class: "log-empty"
51
59
  };
@@ -125,10 +133,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
125
133
  if (saving.value) return;
126
134
  try {
127
135
  saving.value = true;
128
- await props.saveMinutesRequest(meeting.value.id, draft.value);
136
+ const resData = await props.saveMinutesRequest(meeting.value.id, draft.value);
129
137
  if (meeting.value) meeting.value.minutes = draft.value;
130
138
  mode.value = "preview";
131
139
  message.success({ content: t("meeting.minutesSaved") });
140
+ if ((resData == null ? void 0 : resData.updated_at) && meeting.value) {
141
+ meeting.value.updated_at = resData.updated_at;
142
+ }
132
143
  } finally {
133
144
  saving.value = false;
134
145
  }
@@ -173,18 +184,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
173
184
  default: withCtx(() => [
174
185
  loading.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
175
186
  createElementVNode("div", _hoisted_2, [
176
- createVNode(unref(OTextarea), {
177
- "model-value": "",
178
- readonly: "",
179
- rows: 3
180
- }),
181
- createElementVNode("span", _hoisted_3, toDisplayString(unref(t)("meeting.minutesLoading")), 1)
187
+ createElementVNode("div", _hoisted_3, [
188
+ createElementVNode("div", _hoisted_4, [
189
+ createVNode(unref(OSkeleton), {
190
+ loading: "",
191
+ rows: 1,
192
+ class: "minutes-skeleton minutes-skeleton-title"
193
+ })
194
+ ]),
195
+ createElementVNode("div", _hoisted_5, [
196
+ createVNode(unref(OSkeleton), {
197
+ loading: "",
198
+ rows: 1,
199
+ class: "minutes-skeleton minutes-skeleton-meta"
200
+ })
201
+ ])
202
+ ])
203
+ ]),
204
+ createVNode(unref(ODivider), { style: { "--o-divider-gap": "var(--o-r-gap-5)" } }),
205
+ createElementVNode("div", _hoisted_6, [
206
+ createElementVNode("div", _hoisted_7, [
207
+ createVNode(unref(OSkeleton), {
208
+ loading: "",
209
+ rows: 1,
210
+ class: "minutes-skeleton minutes-skeleton-body-title"
211
+ })
212
+ ]),
213
+ createElementVNode("div", _hoisted_8, [
214
+ createVNode(unref(OSkeleton), {
215
+ loading: "",
216
+ rows: 5,
217
+ class: "minutes-skeleton minutes-skeleton-body"
218
+ })
219
+ ])
182
220
  ])
183
- ])) : meeting.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
184
- createElementVNode("div", _hoisted_5, [
185
- createElementVNode("div", _hoisted_6, [
186
- createElementVNode("div", _hoisted_7, [
187
- createElementVNode("span", _hoisted_8, toDisplayString(meeting.value.topic), 1),
221
+ ])) : meeting.value ? (openBlock(), createElementBlock("div", _hoisted_9, [
222
+ createElementVNode("div", _hoisted_10, [
223
+ createElementVNode("div", _hoisted_11, [
224
+ createElementVNode("div", _hoisted_12, [
225
+ createElementVNode("span", _hoisted_13, toDisplayString(meeting.value.topic), 1),
188
226
  createVNode(unref(OTag), {
189
227
  variant: "outline",
190
228
  color: "primary"
@@ -195,13 +233,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
195
233
  _: 1
196
234
  })
197
235
  ]),
198
- createElementVNode("div", _hoisted_9, [
236
+ createElementVNode("div", _hoisted_14, [
199
237
  createElementVNode("span", null, toDisplayString(unref(t)("meeting.minutesSigGroup")) + toDisplayString(meeting.value.group_name), 1),
200
238
  createVNode(unref(ODivider), { direction: "v" }),
201
239
  createElementVNode("span", null, toDisplayString(meeting.value.date) + " " + toDisplayString(meeting.value.time), 1)
202
240
  ])
203
241
  ]),
204
- createElementVNode("div", _hoisted_10, [
242
+ createElementVNode("div", _hoisted_15, [
205
243
  createVNode(unref(OButton), {
206
244
  color: "primary",
207
245
  size: "large",
@@ -217,10 +255,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
217
255
  ])
218
256
  ]),
219
257
  createVNode(unref(ODivider), { style: { "--o-divider-gap": "var(--o-r-gap-5)" } }),
220
- createElementVNode("div", _hoisted_11, [
221
- createElementVNode("div", _hoisted_12, [
222
- createElementVNode("span", _hoisted_13, toDisplayString(unref(t)("meeting.minutesBodyTitle")), 1),
223
- createElementVNode("div", _hoisted_14, [
258
+ createElementVNode("div", _hoisted_16, [
259
+ createElementVNode("div", _hoisted_17, [
260
+ createElementVNode("span", _hoisted_18, toDisplayString(unref(t)("meeting.minutesBodyTitle")), 1),
261
+ createElementVNode("div", _hoisted_19, [
224
262
  mode.value === "preview" ? (openBlock(), createBlock(unref(OLink), {
225
263
  key: 0,
226
264
  color: "primary",
@@ -256,9 +294,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
256
294
  ])
257
295
  ]),
258
296
  createElementVNode("div", {
259
- class: normalizeClass(`o-meeting-minutes-body-content o-meeting-minutes-body-content_${mode.value}`)
297
+ class: normalizeClass(`o-meeting-minutes-body-content o-meeting-minutes-body-content_${mode.value} ${!meeting.value.minutes ? "is-empty" : ""}`)
260
298
  }, [
261
- mode.value === "preview" ? (openBlock(), createElementBlock("div", _hoisted_15, toDisplayString(meeting.value.minutes), 1)) : (openBlock(), createBlock(unref(OTextarea), {
299
+ mode.value === "preview" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
300
+ !meeting.value.minutes ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
301
+ _cache[3] || (_cache[3] = createTextVNode("空状态占位,传入empty slot", -1))
302
+ ]) : (openBlock(), createElementBlock("div", _hoisted_20, toDisplayString(meeting.value.minutes), 1))
303
+ ], 64)) : (openBlock(), createBlock(unref(OTextarea), {
262
304
  key: 1,
263
305
  modelValue: draft.value,
264
306
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => draft.value = $event),
@@ -266,12 +308,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
266
308
  class: "minutes-editor"
267
309
  }, null, 8, ["modelValue"]))
268
310
  ], 2),
269
- createElementVNode("div", _hoisted_16, [
270
- createElementVNode("div", _hoisted_17, [
311
+ meeting.value.minutes ? (openBlock(), createElementBlock("div", _hoisted_21, [
312
+ createElementVNode("div", _hoisted_22, [
271
313
  createElementVNode("span", null, toDisplayString(unref(t)("meeting.minutesLastModified")), 1),
272
- createElementVNode("span", null, toDisplayString(unref(formatDate)(meeting.value.update_time, "YYYY/MM/DD HH:mm:ss")), 1)
314
+ createElementVNode("span", null, toDisplayString(unref(formatDate)(meeting.value.updated_at || meeting.value.update_time, "YYYY/MM/DD HH:mm:ss")), 1)
273
315
  ]),
274
- createElementVNode("div", _hoisted_18, [
316
+ createElementVNode("div", _hoisted_23, [
275
317
  createElementVNode("span", null, toDisplayString(unref(t)("meeting.minutesOrigin")), 1),
276
318
  createVNode(unref(OLink), null, {
277
319
  default: withCtx(() => [
@@ -280,17 +322,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
280
322
  _: 1
281
323
  })
282
324
  ])
283
- ]),
325
+ ])) : createCommentVNode("", true),
284
326
  createVNode(unref(ODivider), { style: { "--o-divider-gap": "var(--o-r-gap-5)" } }),
285
- createElementVNode("div", _hoisted_19, [
286
- createElementVNode("div", _hoisted_20, [
327
+ createElementVNode("div", _hoisted_24, [
328
+ createElementVNode("div", _hoisted_25, [
287
329
  createElementVNode("div", {
288
330
  class: "o-meeting-minutes-log-head",
289
331
  onClick: toggleLogExpanded
290
332
  }, [
291
- createElementVNode("div", _hoisted_21, [
292
- createElementVNode("span", _hoisted_22, toDisplayString(unref(t)("meeting.minutesSendLogs")), 1),
293
- createElementVNode("span", _hoisted_23, toDisplayString(logs.value.length), 1)
333
+ createElementVNode("div", _hoisted_26, [
334
+ createElementVNode("span", _hoisted_27, toDisplayString(unref(t)("meeting.minutesSendLogs")), 1),
335
+ createElementVNode("span", _hoisted_28, toDisplayString(logs.value.length), 1)
294
336
  ]),
295
337
  createVNode(unref(OIcon), {
296
338
  class: normalizeClass(["expand-icon", { "is-expanded": logExpanded.value }])
@@ -301,20 +343,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
301
343
  _: 1
302
344
  }, 8, ["class"])
303
345
  ]),
304
- withDirectives(createElementVNode("div", _hoisted_24, [
305
- logs.value.length ? (openBlock(), createElementBlock("ul", _hoisted_25, [
346
+ withDirectives(createElementVNode("div", _hoisted_29, [
347
+ logs.value.length ? (openBlock(), createElementBlock("ul", _hoisted_30, [
306
348
  (openBlock(true), createElementBlock(Fragment, null, renderList(logs.value, (log) => {
307
349
  return openBlock(), createElementBlock("li", {
308
350
  key: log.id,
309
351
  class: "o-meeting-minutes-timeline-item"
310
352
  }, [
311
- _cache[3] || (_cache[3] = createElementVNode("span", { class: "timeline-dot" }, [
353
+ _cache[4] || (_cache[4] = createElementVNode("span", { class: "timeline-dot" }, [
312
354
  createElementVNode("span", { class: "timeline-dot-core" })
313
355
  ], -1)),
314
- createElementVNode("div", _hoisted_26, [
315
- createElementVNode("div", _hoisted_27, [
316
- createElementVNode("span", _hoisted_28, toDisplayString(log.send_time), 1),
317
- createElementVNode("span", _hoisted_29, toDisplayString(unref(t)("meeting.minutesSendLogsDesc")), 1),
356
+ createElementVNode("div", _hoisted_31, [
357
+ createElementVNode("div", _hoisted_32, [
358
+ createElementVNode("span", _hoisted_33, toDisplayString(log.send_time), 1),
359
+ createElementVNode("span", _hoisted_34, toDisplayString(unref(t)("meeting.minutesSendLogsDesc")), 1),
318
360
  createVNode(unref(OLink), {
319
361
  color: "primary",
320
362
  "hover-underline": false,
@@ -329,7 +371,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
329
371
  ])
330
372
  ]);
331
373
  }), 128))
332
- ])) : (openBlock(), createElementBlock("div", _hoisted_30, toDisplayString(unref(t)("meeting.minutesNoLogs")), 1))
374
+ ])) : (openBlock(), createElementBlock("div", _hoisted_35, toDisplayString(unref(t)("meeting.minutesNoLogs")), 1))
333
375
  ], 512), [
334
376
  [vShow, logExpanded.value]
335
377
  ])
@@ -56,34 +56,6 @@
56
56
  height: var(--item-height);
57
57
  align-items: center;
58
58
  }
59
- .o-meeting-send-minutes .o-form-item:first-child .o-form-item-label, .o-meeting-send-minutes .o-form-item:last-child .o-form-item-label {
60
- font-size: 16px;
61
- line-height: 24px;
62
- }
63
- @media (min-width: 1201px) and (max-width: 1680px) {
64
- .o-meeting-send-minutes .o-form-item:first-child .o-form-item-label, .o-meeting-send-minutes .o-form-item:last-child .o-form-item-label {
65
- font-size: 14px;
66
- line-height: 22px;
67
- }
68
- }
69
- @media (min-width: 841px) and (max-width: 1200px) {
70
- .o-meeting-send-minutes .o-form-item:first-child .o-form-item-label, .o-meeting-send-minutes .o-form-item:last-child .o-form-item-label {
71
- font-size: 14px;
72
- line-height: 22px;
73
- }
74
- }
75
- @media (min-width: 601px) and (max-width: 840px) {
76
- .o-meeting-send-minutes .o-form-item:first-child .o-form-item-label, .o-meeting-send-minutes .o-form-item:last-child .o-form-item-label {
77
- font-size: 14px;
78
- line-height: 22px;
79
- }
80
- }
81
- @media (max-width: 600px) {
82
- .o-meeting-send-minutes .o-form-item:first-child .o-form-item-label, .o-meeting-send-minutes .o-form-item:last-child .o-form-item-label {
83
- font-size: 12px;
84
- line-height: 18px;
85
- }
86
- }
87
59
  .o-meeting-send-minutes .sender-text {
88
60
  color: var(--o-color-info1);
89
61
  line-height: var(--o-control_size-m);
@@ -123,6 +95,7 @@
123
95
  border: 1px solid var(--o-color-control1);
124
96
  border-radius: var(--minutes-input-radius);
125
97
  min-height: var(--item-height);
98
+ width: 100%;
126
99
  cursor: text;
127
100
  transition: border-color var(--o-duration-s) var(--o-easing-standard);
128
101
  color: var(--o-color-info1);
@@ -223,6 +196,7 @@
223
196
  .o-meeting-send-minutes .email-body-content {
224
197
  color: var(--o-color-info1);
225
198
  white-space: pre-wrap;
199
+ min-width: 480px;
226
200
  font-size: 16px;
227
201
  line-height: 24px;
228
202
  }
@@ -249,4 +223,7 @@
249
223
  font-size: 12px;
250
224
  line-height: 18px;
251
225
  }
226
+ }
227
+ .o-meeting-send-minutes .text-item .o-form-item-label {
228
+ height: 32px;
252
229
  }
@@ -46,17 +46,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  };
47
47
  const sender = computed(() => {
48
48
  var _a;
49
- return ((_a = props.meeting) == null ? void 0 : _a.email_list) || "";
49
+ return ((_a = props.meeting) == null ? void 0 : _a.sender) || "";
50
50
  });
51
51
  const defaultSubject = () => {
52
52
  if (!props.meeting) return "";
53
53
  const { topic, date } = props.meeting;
54
54
  return t("meeting.sendMinutesSubjectDefault", [topic, date || ""]);
55
55
  };
56
+ const normalizeRecipients = (source) => [...new Set(source.map((item) => item.trim()).filter(Boolean))];
56
57
  const reset = () => {
57
58
  var _a;
58
59
  if (!props.meeting) return;
59
- formModel.value.recipients = props.prefill && props.prefill.length ? [...props.prefill] : [props.meeting.email_list];
60
+ if (props.prefill && props.prefill.length) {
61
+ formModel.value.recipients = normalizeRecipients(props.prefill);
62
+ } else {
63
+ formModel.value.recipients = normalizeRecipients((props.meeting.email_list || "").split(/[,;,;]/));
64
+ }
60
65
  formModel.value.subject = defaultSubject();
61
66
  extraInput.value = "";
62
67
  (_a = formRef.value) == null ? void 0 : _a.clearValidate();
@@ -117,7 +122,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
122
  }, {
118
123
  default: withCtx(() => [
119
124
  createVNode(unref(OFormItem), {
120
- label: unref(t)("meeting.sendMinutesSender")
125
+ label: unref(t)("meeting.sendMinutesSender"),
126
+ class: "text-item"
121
127
  }, {
122
128
  default: withCtx(() => [
123
129
  createElementVNode("span", _hoisted_1, toDisplayString(sender.value), 1)
@@ -184,7 +190,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
184
190
  _: 1
185
191
  }, 8, ["label", "rules"]),
186
192
  createVNode(unref(OFormItem), {
187
- label: unref(t)("meeting.sendMinutesBody")
193
+ label: unref(t)("meeting.sendMinutesBody"),
194
+ class: "text-item"
188
195
  }, {
189
196
  default: withCtx(() => [
190
197
  createVNode(unref(OScroller), {
@@ -1064,6 +1064,7 @@ declare const OMeetingMinutes: {
1064
1064
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1065
1065
  $slots: {
1066
1066
  empty?(_: {}): any;
1067
+ empty?(_: {}): any;
1067
1068
  };
1068
1069
  }) & {
1069
1070
  install(app: App): void;
@@ -137,6 +137,8 @@ export interface MeetingItemT extends MeetingPostT {
137
137
  hasObsData?: boolean;
138
138
  minutes?: string;
139
139
  send_logs?: SendLogT[];
140
+ sender?: string;
141
+ updated_at?: string;
140
142
  }
141
143
  export interface SendLogT {
142
144
  id: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendesign-plus/components",
3
- "version": "0.0.1-rc.82",
3
+ "version": "0.0.1-rc.83",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -36,7 +36,7 @@
36
36
  "dist"
37
37
  ],
38
38
  "peerDependencies": {
39
- "@opensig/opendesign": "1.2.5",
39
+ "@opensig/opendesign": "1.2.5-sp3",
40
40
  "@vueuse/core": "^14.0.0",
41
41
  "@vueuse/shared": "^14.0.0",
42
42
  "aos": "^2.3.4",