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

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 (152) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +81 -55
  3. package/dist/components/activity/OActivityApproval.vue.d.ts +169 -19
  4. package/dist/components/activity/OActivityForm.vue.d.ts +169 -19
  5. package/dist/components/activity/OActivityMyCalendar.vue.d.ts +18 -10
  6. package/dist/components/activity/index.d.ts +347 -43
  7. package/dist/components/header/utils.d.ts +3 -0
  8. package/dist/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +1 -1
  9. package/dist/components/header-language-switcher/index.d.ts +3 -3
  10. package/dist/components/header-search/OHeaderSearch.vue.d.ts +43 -35
  11. package/dist/components/header-search/index.d.ts +24 -20
  12. package/dist/components/markdown/OMarkdown.vue.d.ts +49 -0
  13. package/dist/components/markdown/OMarkdownPagination.vue.d.ts +25 -0
  14. package/dist/components/markdown/components/MarkdownCode.vue.d.ts +8 -0
  15. package/dist/components/markdown/components/MarkdownImage.vue.d.ts +8 -0
  16. package/dist/components/markdown/components/MarkdownPageTitle.vue.d.ts +23 -0
  17. package/dist/components/markdown/components/MarkdownTable.vue.d.ts +5 -0
  18. package/dist/components/markdown/components/MarkdownTableData.vue.d.ts +11 -0
  19. package/dist/components/markdown/components/MarkdownTableExpand.vue.d.ts +12 -0
  20. package/dist/components/markdown/components/MarkdownTitle.vue.d.ts +6 -0
  21. package/dist/components/markdown/replacer/code.d.ts +2 -0
  22. package/dist/components/markdown/replacer/h1.d.ts +11 -0
  23. package/dist/components/markdown/replacer/h2.d.ts +2 -0
  24. package/dist/components/markdown/replacer/img.d.ts +2 -0
  25. package/dist/components/markdown/replacer/table.d.ts +2 -0
  26. package/dist/components/meeting/OMeetingForm.vue.d.ts +169 -19
  27. package/dist/components/meeting/OMeetingMinutes.vue.d.ts +19 -10
  28. package/dist/components/meeting/OMeetingMyCalendar.vue.d.ts +18 -10
  29. package/dist/components/meeting/OMeetingSendMinutesForm.vue.d.ts +169 -19
  30. package/dist/components/meeting/components/OMeetingSendMinutesDialog.vue.d.ts +169 -19
  31. package/dist/components/meeting/components/OMeetingSigAside.vue.d.ts +9 -5
  32. package/dist/components/meeting/index.d.ts +357 -48
  33. package/dist/components/meeting/types.d.ts +2 -0
  34. package/dist/components/search/OSearchInput.vue.d.ts +43 -35
  35. package/dist/components/search/index.d.ts +24 -20
  36. package/dist/components/search/internal/SearchImageInput.vue.d.ts +37 -29
  37. package/dist/components/sig/OSigDetail.vue.d.ts +1 -0
  38. package/dist/components/sig/components/OSigRepo.vue.d.ts +1 -0
  39. package/dist/components.cjs.js +43 -43
  40. package/dist/components.css +1 -1
  41. package/dist/components.es.js +13871 -12794
  42. package/dist/index.d.ts +1 -0
  43. package/dist/treeshaking/_virtual/icon-copy2.mjs +20 -0
  44. package/dist/treeshaking/_virtual/icon-download.mjs +17 -0
  45. package/dist/treeshaking/_virtual/icon-expand.mjs +21 -0
  46. package/dist/treeshaking/_virtual/icon-link.mjs +31 -0
  47. package/dist/treeshaking/_virtual/icon-more.mjs +19 -0
  48. package/dist/treeshaking/_virtual/icon-next.mjs +23 -0
  49. package/dist/treeshaking/_virtual/icon-star.mjs +20 -0
  50. package/dist/treeshaking/_virtual/icon-unexpand.mjs +22 -0
  51. package/dist/treeshaking/assets/markdown/md-title-bg.png.mjs +4 -0
  52. package/dist/treeshaking/assets/svg-icons/icon-zoom.svg.mjs +4 -0
  53. package/dist/treeshaking/components/activity/OActivityApproval.vue.d.ts +169 -19
  54. package/dist/treeshaking/components/activity/OActivityForm.vue.d.ts +169 -19
  55. package/dist/treeshaking/components/activity/OActivityMyCalendar.vue.d.ts +18 -10
  56. package/dist/treeshaking/components/activity/index.d.ts +347 -43
  57. package/dist/treeshaking/components/brand/OBrandLogo.css +27 -21
  58. package/dist/treeshaking/components/brand/OBrandLogo.vue.mjs +1 -1
  59. package/dist/treeshaking/components/brand/OBrandLogo.vue2.mjs +1 -1
  60. package/dist/treeshaking/components/config-provider/OPlusConfigProvider.vue.mjs +5 -5
  61. package/dist/treeshaking/components/header/components/HeaderContent.css +189 -187
  62. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
  63. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +5 -11
  64. package/dist/treeshaking/components/header/components/HeaderNav.css +49 -49
  65. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +1 -1
  66. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +1 -0
  67. package/dist/treeshaking/components/header/components/HeaderNavMobile.css +80 -80
  68. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +1 -1
  69. package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +8 -14
  70. package/dist/treeshaking/components/header/utils.d.ts +3 -0
  71. package/dist/treeshaking/components/header/utils.mjs +13 -2
  72. package/dist/treeshaking/components/header-language-switcher/OHeaderLanguageSwitcher.vue.d.ts +1 -1
  73. package/dist/treeshaking/components/header-language-switcher/index.d.ts +3 -3
  74. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.d.ts +43 -35
  75. package/dist/treeshaking/components/header-search/index.d.ts +24 -20
  76. package/dist/treeshaking/components/markdown/OMarkdown.css +1153 -0
  77. package/dist/treeshaking/components/markdown/OMarkdown.vue.d.ts +49 -0
  78. package/dist/treeshaking/components/markdown/OMarkdown.vue.mjs +8 -0
  79. package/dist/treeshaking/components/markdown/OMarkdown.vue2.mjs +158 -0
  80. package/dist/treeshaking/components/markdown/OMarkdown2.css +14 -0
  81. package/dist/treeshaking/components/markdown/OMarkdownPagination.css +218 -0
  82. package/dist/treeshaking/components/markdown/OMarkdownPagination.vue.d.ts +25 -0
  83. package/dist/treeshaking/components/markdown/OMarkdownPagination.vue.mjs +7 -0
  84. package/dist/treeshaking/components/markdown/OMarkdownPagination.vue2.mjs +101 -0
  85. package/dist/treeshaking/components/markdown/components/MarkdownCode.css +12 -0
  86. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue.d.ts +8 -0
  87. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue.mjs +8 -0
  88. package/dist/treeshaking/components/markdown/components/MarkdownCode.vue2.mjs +125 -0
  89. package/dist/treeshaking/components/markdown/components/MarkdownCode2.css +130 -0
  90. package/dist/treeshaking/components/markdown/components/MarkdownImage.css +73 -0
  91. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue.d.ts +8 -0
  92. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue.mjs +7 -0
  93. package/dist/treeshaking/components/markdown/components/MarkdownImage.vue2.mjs +76 -0
  94. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.css +288 -0
  95. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue.d.ts +23 -0
  96. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue.mjs +7 -0
  97. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue2.mjs +253 -0
  98. package/dist/treeshaking/components/markdown/components/MarkdownTable.css +61 -0
  99. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue.d.ts +5 -0
  100. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue.mjs +7 -0
  101. package/dist/treeshaking/components/markdown/components/MarkdownTable.vue2.mjs +59 -0
  102. package/dist/treeshaking/components/markdown/components/MarkdownTableData.css +111 -0
  103. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue.d.ts +11 -0
  104. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue.mjs +7 -0
  105. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue2.mjs +181 -0
  106. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.css +66 -0
  107. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue.d.ts +12 -0
  108. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue.mjs +7 -0
  109. package/dist/treeshaking/components/markdown/components/MarkdownTableExpand.vue2.mjs +57 -0
  110. package/dist/treeshaking/components/markdown/components/MarkdownTitle.css +173 -0
  111. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue.d.ts +6 -0
  112. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue.mjs +7 -0
  113. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue2.mjs +69 -0
  114. package/dist/treeshaking/components/markdown/index.mjs +16 -0
  115. package/dist/treeshaking/components/markdown/replacer/code.d.ts +2 -0
  116. package/dist/treeshaking/components/markdown/replacer/code.mjs +22 -0
  117. package/dist/treeshaking/components/markdown/replacer/h1.d.ts +11 -0
  118. package/dist/treeshaking/components/markdown/replacer/h1.mjs +29 -0
  119. package/dist/treeshaking/components/markdown/replacer/h2.d.ts +2 -0
  120. package/dist/treeshaking/components/markdown/replacer/h2.mjs +22 -0
  121. package/dist/treeshaking/components/markdown/replacer/img.d.ts +2 -0
  122. package/dist/treeshaking/components/markdown/replacer/img.mjs +22 -0
  123. package/dist/treeshaking/components/markdown/replacer/table.d.ts +2 -0
  124. package/dist/treeshaking/components/markdown/replacer/table.mjs +22 -0
  125. package/dist/treeshaking/components/meeting/OMeetingForm.vue.d.ts +169 -19
  126. package/dist/treeshaking/components/meeting/OMeetingMinutes.css +33 -42
  127. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue.d.ts +19 -10
  128. package/dist/treeshaking/components/meeting/OMeetingMinutes.vue.mjs +113 -71
  129. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.d.ts +18 -10
  130. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.css +5 -28
  131. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue.d.ts +169 -19
  132. package/dist/treeshaking/components/meeting/OMeetingSendMinutesForm.vue.mjs +11 -4
  133. package/dist/treeshaking/components/meeting/components/OMeetingSendMinutesDialog.vue.d.ts +169 -19
  134. package/dist/treeshaking/components/meeting/components/OMeetingSigAside.vue.d.ts +9 -5
  135. package/dist/treeshaking/components/meeting/index.d.ts +357 -48
  136. package/dist/treeshaking/components/meeting/types.d.ts +2 -0
  137. package/dist/treeshaking/components/search/OSearchInput.vue.d.ts +43 -35
  138. package/dist/treeshaking/components/search/index.d.ts +24 -20
  139. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.d.ts +37 -29
  140. package/dist/treeshaking/components/sig/OSigDetail.vue.d.ts +1 -0
  141. package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +7 -4
  142. package/dist/treeshaking/components/sig/components/OSigRepo.css +3 -0
  143. package/dist/treeshaking/components/sig/components/OSigRepo.vue.d.ts +1 -0
  144. package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +6 -2
  145. package/dist/treeshaking/components/sig/components/OSigUserContribute.css +3 -0
  146. package/dist/treeshaking/i18n/en.mjs +13 -0
  147. package/dist/treeshaking/i18n/index.mjs +1 -1
  148. package/dist/treeshaking/i18n/zh.mjs +13 -0
  149. package/dist/treeshaking/index.d.ts +1 -0
  150. package/dist/treeshaking/index.mjs +3 -0
  151. package/dist/treeshaking/shared/theme.mjs +15 -3
  152. package/package.json +3 -3
@@ -0,0 +1,125 @@
1
+ import { defineComponent, computed, ref, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, createElementVNode, toDisplayString, createBlock, createCommentVNode, withDirectives } from "vue";
2
+ import { useMessage, useToast, OPopover, OIcon, OScroller } from "@opensig/opendesign";
3
+ import { buildVueDompurifyHTMLDirective } from "vue-dompurify-html";
4
+ import { useScreen, useClipboard } from "@opendesign-plus/composables";
5
+ import { useI18n } from "../../../i18n/index.mjs";
6
+ import { useTheme } from "../../../shared/theme.mjs";
7
+ import IconCopy from "../../../_virtual/icon-copy2.mjs";
8
+ import IconMoon from "../../../_virtual/icon-moon.mjs";
9
+ import IconSun from "../../../_virtual/icon-sun.mjs";
10
+ const _hoisted_1 = {
11
+ key: 0,
12
+ class: "o-md-code-tools"
13
+ };
14
+ const _sfc_main = /* @__PURE__ */ defineComponent({
15
+ __name: "MarkdownCode",
16
+ props: {
17
+ el: {}
18
+ },
19
+ setup(__props) {
20
+ const vDompurifyHtml = buildVueDompurifyHTMLDirective();
21
+ const message = useMessage();
22
+ const toast = useToast();
23
+ const { t } = useI18n();
24
+ const { lePadV } = useScreen();
25
+ const { theme, codeTheme, toggleCodeTheme } = useTheme();
26
+ const isDark = computed(() => codeTheme.value === "dark");
27
+ const isHover = ref(false);
28
+ const mdCodeRef = ref();
29
+ const onClickCopy = async () => {
30
+ var _a;
31
+ const codeEl = (_a = mdCodeRef.value) == null ? void 0 : _a.querySelector("code");
32
+ const text = (codeEl == null ? void 0 : codeEl.textContent) || "";
33
+ if (await useClipboard(text)) {
34
+ if (lePadV.value) {
35
+ toast.show(t("common.copySuccess"));
36
+ } else {
37
+ message.success(t("common.copySuccess"));
38
+ }
39
+ }
40
+ };
41
+ const onClickChangeTheme = () => {
42
+ toggleCodeTheme();
43
+ };
44
+ return (_ctx, _cache) => {
45
+ return openBlock(), createElementBlock("div", {
46
+ ref_key: "mdCodeRef",
47
+ ref: mdCodeRef,
48
+ class: normalizeClass(["o-md-code", {
49
+ "is-dark": isDark.value && unref(codeTheme) != unref(theme),
50
+ "is-light": !isDark.value && unref(codeTheme) != unref(theme)
51
+ }]),
52
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => isHover.value = true),
53
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => isHover.value = false)
54
+ }, [
55
+ unref(lePadV) || isHover.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
56
+ createVNode(unref(OPopover), {
57
+ position: "top",
58
+ trigger: "hover",
59
+ offset: 12
60
+ }, {
61
+ target: withCtx(() => [
62
+ createVNode(unref(OIcon), {
63
+ class: "o-md-code-icon-theme",
64
+ onClick: onClickChangeTheme
65
+ }, {
66
+ default: withCtx(() => [
67
+ isDark.value ? (openBlock(), createBlock(unref(IconSun), { key: 0 })) : (openBlock(), createBlock(unref(IconMoon), { key: 1 }))
68
+ ]),
69
+ _: 1
70
+ })
71
+ ]),
72
+ default: withCtx(() => [
73
+ createElementVNode("span", null, toDisplayString(unref(codeTheme) === "light" ? unref(t)("md.darkTheme") : unref(t)("md.lightTheme")), 1)
74
+ ]),
75
+ _: 1
76
+ }),
77
+ createVNode(unref(OPopover), {
78
+ position: "top",
79
+ trigger: "hover",
80
+ offset: 12
81
+ }, {
82
+ target: withCtx(() => [
83
+ createVNode(unref(OIcon), {
84
+ class: "o-md-code-icon-copy",
85
+ onClick: onClickCopy
86
+ }, {
87
+ default: withCtx(() => [
88
+ createVNode(unref(IconCopy))
89
+ ]),
90
+ _: 1
91
+ })
92
+ ]),
93
+ default: withCtx(() => [
94
+ createElementVNode("span", null, toDisplayString(unref(t)("common.copy")), 1)
95
+ ]),
96
+ _: 1
97
+ })
98
+ ])) : createCommentVNode("", true),
99
+ createVNode(unref(OScroller), {
100
+ size: "small",
101
+ "show-type": "always",
102
+ "disabled-y": ""
103
+ }, {
104
+ default: withCtx(() => {
105
+ var _a;
106
+ return [
107
+ withDirectives(createElementVNode("div", {
108
+ class: normalizeClass(["o-markdown-body __mounted", {
109
+ "is-dark": isDark.value && unref(codeTheme) != unref(theme),
110
+ "is-light": !isDark.value && unref(codeTheme) != unref(theme)
111
+ }])
112
+ }, null, 2), [
113
+ [unref(vDompurifyHtml), (_a = __props.el) == null ? void 0 : _a.outerHTML]
114
+ ])
115
+ ];
116
+ }),
117
+ _: 1
118
+ })
119
+ ], 34);
120
+ };
121
+ }
122
+ });
123
+ export {
124
+ _sfc_main as default
125
+ };
@@ -0,0 +1,130 @@
1
+ .hover-icon-rotate .o-icon[data-v-ff874a1f] {
2
+ transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
+ }
4
+ @media (hover: hover) {
5
+ .hover-icon-rotate:hover .o-icon[data-v-ff874a1f] {
6
+ transform: rotate(-180deg);
7
+ }
8
+ }
9
+ .o-md-code[data-v-ff874a1f] {
10
+ position: relative;
11
+ margin-bottom: var(--o-gap-2, 8px);
12
+ }
13
+ .o-md-code[data-v-ff874a1f] .o-scroller,
14
+ .o-md-code[data-v-ff874a1f] .o-scroller-container,
15
+ .o-md-code[data-v-ff874a1f] .o-scrollbar,
16
+ .o-md-code[data-v-ff874a1f] .o-scrollbar-rail,
17
+ .o-md-code[data-v-ff874a1f] .o-scrollbar-thumb,
18
+ .o-md-code[data-v-ff874a1f] .o-scrollbar-track {
19
+ margin-bottom: 0;
20
+ }
21
+ .o-md-code[data-v-ff874a1f] .o-scrollbar-x {
22
+ --scrollbar-height: 97%;
23
+ }
24
+ .o-md-code[data-v-ff874a1f] .o-scroller-container * {
25
+ margin-bottom: 0;
26
+ }
27
+ .o-md-code[data-v-ff874a1f] .o-scrollbar-thumb .o-scrollbar-x-thumb-bar {
28
+ margin-top: auto !important;
29
+ }
30
+ .o-md-code .o-md-code-tools[data-v-ff874a1f] {
31
+ z-index: 3;
32
+ position: absolute;
33
+ display: flex;
34
+ justify-content: right;
35
+ align-self: center;
36
+ gap: 12px;
37
+ top: 0;
38
+ right: 0;
39
+ padding: calc(var(--o-gap-3) + 2px) var(--o-gap-4) var(--o-gap-3) var(--o-gap-2);
40
+ color: var(--o-color-info2);
41
+ font-size: 16px;
42
+ background-color: #f6f7f8;
43
+ border-radius: var(--o-radius-xs);
44
+ }
45
+ @media (max-width: 840px) {
46
+ .o-md-code .o-md-code-tools[data-v-ff874a1f] {
47
+ top: var(--o-gap-2);
48
+ padding: 0 var(--o-gap-2) 0 0;
49
+ }
50
+ }
51
+ .o-md-code .o-md-code-icon-theme[data-v-ff874a1f],
52
+ .o-md-code .o-md-code-icon-copy[data-v-ff874a1f] {
53
+ cursor: pointer;
54
+ }
55
+ @media (hover: hover) {
56
+ .o-md-code .o-md-code-icon-theme[data-v-ff874a1f]:hover,
57
+ .o-md-code .o-md-code-icon-copy[data-v-ff874a1f]:hover {
58
+ color: var(--o-color-info1);
59
+ }
60
+ }
61
+ .o-md-code .o-markdown-body[data-v-ff874a1f] {
62
+ background-color: transparent !important;
63
+ }
64
+ .o-md-code .o-markdown-body.is-light[data-v-ff874a1f] {
65
+ --o-md-code-bg-color: #f6f7f8 !important;
66
+ }
67
+ .o-md-code .o-markdown-body.is-light[data-v-ff874a1f] code span {
68
+ color: var(--shiki-light, inherit) !important;
69
+ }
70
+ .o-md-code .o-markdown-body.is-dark[data-v-ff874a1f] {
71
+ --o-md-code-bg-color: #282a2f !important;
72
+ }
73
+ .o-md-code .o-markdown-body.is-dark[data-v-ff874a1f] code span {
74
+ color: var(--shiki-dark, inherit) !important;
75
+ }
76
+ .o-md-code .o-markdown-body[data-v-ff874a1f] .copy {
77
+ display: none;
78
+ }
79
+ .o-md-code .o-markdown-body[data-v-ff874a1f] pre {
80
+ overflow: visible !important;
81
+ overflow-x: visible !important;
82
+ background-color: transparent !important;
83
+ }
84
+ .o-md-code .o-markdown-body[data-v-ff874a1f] pre code {
85
+ background-color: var(--o-md-code-bg-color);
86
+ }
87
+ @media (max-width: 840px) {
88
+ .o-md-code .o-markdown-body[data-v-ff874a1f] pre code {
89
+ padding-top: 28px;
90
+ }
91
+ }
92
+ .o-md-code.is-light .o-md-code-tools[data-v-ff874a1f] {
93
+ background-color: #f6f7f8 !important;
94
+ }
95
+ .o-md-code.is-light .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f],
96
+ .o-md-code.is-light .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f] {
97
+ color: rgba(0, 0, 0, 0.8) !important;
98
+ }
99
+ @media (hover: hover) {
100
+ .o-md-code.is-light .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f]:hover,
101
+ .o-md-code.is-light .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f]:hover {
102
+ color: rgb(0, 0, 0) !important;
103
+ }
104
+ }
105
+ .o-md-code.is-dark .o-md-code-tools[data-v-ff874a1f] {
106
+ background-color: #282a2f !important;
107
+ }
108
+ .o-md-code.is-dark .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f],
109
+ .o-md-code.is-dark .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f] {
110
+ color: rgba(255, 255, 255, 0.8) !important;
111
+ }
112
+ @media (hover: hover) {
113
+ .o-md-code.is-dark .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f]:hover,
114
+ .o-md-code.is-dark .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f]:hover {
115
+ color: rgb(255, 255, 255) !important;
116
+ }
117
+ }
118
+ [data-o-theme*=dark] .o-md-code .o-md-code-tools[data-v-ff874a1f] {
119
+ background-color: #282a2f;
120
+ }
121
+ [data-o-theme*=dark] .o-md-code .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f],
122
+ [data-o-theme*=dark] .o-md-code .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f] {
123
+ color: rgba(255, 255, 255, 0.8);
124
+ }
125
+ @media (hover: hover) {
126
+ [data-o-theme*=dark] .o-md-code .o-md-code-tools .o-md-code-icon-copy[data-v-ff874a1f]:hover,
127
+ [data-o-theme*=dark] .o-md-code .o-md-code-tools .o-md-code-icon-theme[data-v-ff874a1f]:hover {
128
+ color: rgb(255, 255, 255);
129
+ }
130
+ }
@@ -0,0 +1,73 @@
1
+ .hover-icon-rotate .o-icon[data-v-af8b0296] {
2
+ transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
+ }
4
+ @media (hover: hover) {
5
+ .hover-icon-rotate:hover .o-icon[data-v-af8b0296] {
6
+ transform: rotate(-180deg);
7
+ }
8
+ }
9
+ .o-md-img[data-v-af8b0296] {
10
+ width: auto;
11
+ max-width: 100%;
12
+ position: relative;
13
+ display: inline-block;
14
+ padding: var(--o-gap-2);
15
+ margin-bottom: var(--o-gap-2, 8px);
16
+ border: 1px solid var(--o-color-control4);
17
+ border-radius: var(--o-radius-xs);
18
+ cursor: zoom-in;
19
+ }
20
+ .o-md-img[data-v-af8b0296] img {
21
+ max-width: 100%;
22
+ padding: 0 !important;
23
+ border: none !important;
24
+ border-radius: unset !important;
25
+ box-shadow: none !important;
26
+ }
27
+ .o-md-img .o-md-img-icon-zoom[data-v-af8b0296] {
28
+ position: absolute;
29
+ z-index: 10;
30
+ top: 50%;
31
+ left: 50%;
32
+ transform: translate(-50%, -50%);
33
+ font-size: 32px;
34
+ }
35
+ @media (hover: hover) {
36
+ .o-md-img[data-v-af8b0296]:not(.unexpand):hover {
37
+ box-shadow: var(--o-shadow-1);
38
+ }
39
+ }
40
+ .o-md-img.unexpand[data-v-af8b0296] {
41
+ padding: 0 var(--o-gap-2);
42
+ border: none;
43
+ border-radius: unset;
44
+ cursor: default;
45
+ }
46
+ .o-md-img.in-paragraph[data-v-af8b0296] {
47
+ margin-bottom: 0;
48
+ }
49
+ .o-md-img.previous-is-br[data-v-af8b0296] {
50
+ margin-top: var(--o-gap-2, 8px);
51
+ }
52
+ [data-o-theme*=dark] .o-md-img[data-v-af8b0296] {
53
+ --o-md-img-mask-display: none;
54
+ }
55
+ @media (hover: hover) {
56
+ [data-o-theme*=dark] .o-md-img[data-v-af8b0296]:hover {
57
+ --o-md-img-mask-display: block;
58
+ }
59
+ }
60
+ [data-o-theme*=dark] .o-md-img[data-v-af8b0296]::after {
61
+ content: "";
62
+ display: var(--o-md-img-mask-display);
63
+ position: absolute;
64
+ left: 0;
65
+ top: 0;
66
+ right: 0;
67
+ bottom: 0;
68
+ border-radius: var(--o-radius-xs);
69
+ background-color: rgba(var(--o-black), 0.1);
70
+ }
71
+ [data-o-theme*=dark] .o-md-img-content[data-v-af8b0296] {
72
+ filter: brightness(80%) grayscale(20%) contrast(1.2);
73
+ }
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ el: HTMLImageElement;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
5
+ containerRef: HTMLSpanElement;
6
+ imgRef: HTMLImageElement;
7
+ }, HTMLSpanElement>;
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./MarkdownImage.vue2.mjs";
2
+ import './MarkdownImage.css';
3
+ import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const MarkdownImage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-af8b0296"]]);
5
+ export {
6
+ MarkdownImage as default
7
+ };
@@ -0,0 +1,76 @@
1
+ import { defineComponent, ref, onMounted, nextTick, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, unref, createCommentVNode, createElementVNode } from "vue";
2
+ import { useImageViewer } from "@opensig/opendesign";
3
+ import { useScreen } from "@opendesign-plus/composables";
4
+ import IconZoom from "../../../assets/svg-icons/icon-zoom.svg.mjs";
5
+ const _hoisted_1 = ["src"];
6
+ const _hoisted_2 = ["src", "alt"];
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "MarkdownImage",
9
+ props: {
10
+ el: {}
11
+ },
12
+ setup(__props) {
13
+ const props = __props;
14
+ const { lePadV } = useScreen();
15
+ const containerRef = ref();
16
+ const imgRef = ref();
17
+ const zoomEnabled = ref(false);
18
+ const zoomImgUrl = ref(props.el.src);
19
+ const isHover = ref(false);
20
+ const inParagraph = ref(false);
21
+ const previousIsBr = ref(false);
22
+ onMounted(async () => {
23
+ var _a, _b, _c, _d;
24
+ await nextTick();
25
+ inParagraph.value = ((_b = (_a = containerRef.value) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.tagName) === "P";
26
+ previousIsBr.value = ((_d = (_c = containerRef.value) == null ? void 0 : _c.previousElementSibling) == null ? void 0 : _d.tagName) === "BR";
27
+ });
28
+ const onImgLoad = () => {
29
+ var _a;
30
+ zoomEnabled.value = (((_a = imgRef.value) == null ? void 0 : _a.width) || 0) >= 216;
31
+ };
32
+ const { open, unmount } = useImageViewer({
33
+ previewList: () => [zoomImgUrl.value],
34
+ currentIndex: 0,
35
+ layerOptions: {
36
+ maskClose: true
37
+ }
38
+ });
39
+ const onClickContainer = () => {
40
+ if (zoomEnabled.value && zoomImgUrl.value) {
41
+ open();
42
+ }
43
+ };
44
+ onBeforeUnmount(() => {
45
+ unmount();
46
+ });
47
+ return (_ctx, _cache) => {
48
+ var _a;
49
+ return openBlock(), createElementBlock("span", {
50
+ ref_key: "containerRef",
51
+ ref: containerRef,
52
+ class: normalizeClass(["o-md-img", { unexpand: !zoomEnabled.value, "in-paragraph": inParagraph.value, "previous-is-br": previousIsBr.value }]),
53
+ onClick: onClickContainer,
54
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => isHover.value = true),
55
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => isHover.value = false)
56
+ }, [
57
+ !unref(lePadV) && zoomEnabled.value && isHover.value ? (openBlock(), createElementBlock("img", {
58
+ key: 0,
59
+ class: "o-md-img-icon-zoom",
60
+ src: unref(IconZoom)
61
+ }, null, 8, _hoisted_1)) : createCommentVNode("", true),
62
+ createElementVNode("img", {
63
+ ref_key: "imgRef",
64
+ ref: imgRef,
65
+ class: "o-md-img-content",
66
+ src: zoomImgUrl.value,
67
+ alt: (_a = __props.el) == null ? void 0 : _a.alt,
68
+ onLoad: onImgLoad
69
+ }, null, 40, _hoisted_2)
70
+ ], 34);
71
+ };
72
+ }
73
+ });
74
+ export {
75
+ _sfc_main as default
76
+ };