@opendesign-plus/components 0.0.1-rc.94 → 0.0.1-rc.96

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 (64) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +4 -2
  3. package/dist/components/article/OArticle.vue.d.ts +196 -14
  4. package/dist/components/article/components/ArticleTitle.vue.d.ts +22 -0
  5. package/dist/components/{markdown/components/MarkdownPageTitle.vue.d.ts → article/components/DocTitle.vue.d.ts} +6 -5
  6. package/dist/components/article/index.d.ts +126 -25
  7. package/dist/components/doc-layout/ODocLayout.vue.d.ts +38 -0
  8. package/dist/components/doc-layout/index.d.ts +59 -0
  9. package/dist/components/markdown/OMarkdown.vue.d.ts +7 -16
  10. package/dist/components/markdown/index.d.ts +13 -45
  11. package/dist/components.cjs.js +44 -44
  12. package/dist/components.css +1 -1
  13. package/dist/components.es.js +10081 -9852
  14. package/dist/index.d.ts +1 -0
  15. package/dist/treeshaking/_virtual/icon-menu-fold.mjs +20 -0
  16. package/dist/treeshaking/_virtual/icon-menu-unfold.mjs +20 -0
  17. package/dist/treeshaking/_virtual/icon-tips.mjs +13 -2
  18. package/dist/treeshaking/_virtual/icon-tips2.mjs +2 -13
  19. package/dist/treeshaking/components/article/OArticle.css +18 -124
  20. package/dist/treeshaking/components/article/OArticle.vue.d.ts +196 -14
  21. package/dist/treeshaking/components/article/OArticle.vue.mjs +1 -1
  22. package/dist/treeshaking/components/article/OArticle.vue2.mjs +48 -82
  23. package/dist/treeshaking/components/article/components/ArticleTitle.css +123 -0
  24. package/dist/treeshaking/components/article/components/ArticleTitle.vue.d.ts +22 -0
  25. package/dist/treeshaking/components/article/components/ArticleTitle.vue.mjs +7 -0
  26. package/dist/treeshaking/components/article/components/ArticleTitle.vue2.mjs +97 -0
  27. package/dist/treeshaking/components/article/components/DocTitle.css +246 -0
  28. package/dist/treeshaking/components/{markdown/components/MarkdownPageTitle.vue.d.ts → article/components/DocTitle.vue.d.ts} +6 -5
  29. package/dist/treeshaking/components/article/components/DocTitle.vue.mjs +7 -0
  30. package/dist/treeshaking/components/{markdown/components/MarkdownPageTitle.vue2.mjs → article/components/DocTitle.vue2.mjs} +131 -80
  31. package/dist/treeshaking/components/article/index.d.ts +126 -25
  32. package/dist/treeshaking/components/article-anchor/OArticleAnchor.css +4 -4
  33. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue.mjs +1 -1
  34. package/dist/treeshaking/components/article-anchor/OArticleAnchor.vue2.mjs +4 -5
  35. package/dist/treeshaking/components/doc-layout/ODocLayout.css +271 -0
  36. package/dist/treeshaking/components/doc-layout/ODocLayout.vue.d.ts +38 -0
  37. package/dist/treeshaking/components/doc-layout/ODocLayout.vue.mjs +7 -0
  38. package/dist/treeshaking/components/doc-layout/ODocLayout.vue2.mjs +165 -0
  39. package/dist/treeshaking/components/doc-layout/index.d.ts +59 -0
  40. package/dist/treeshaking/components/doc-layout/index.mjs +9 -0
  41. package/dist/treeshaking/components/markdown/OMarkdown.vue.d.ts +7 -16
  42. package/dist/treeshaking/components/markdown/OMarkdown.vue.mjs +1 -1
  43. package/dist/treeshaking/components/markdown/OMarkdown.vue2.mjs +47 -36
  44. package/dist/treeshaking/components/markdown/OMarkdown2.css +3 -3
  45. package/dist/treeshaking/components/markdown/components/MarkdownTitle.css +22 -22
  46. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue.mjs +1 -1
  47. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue2.mjs +11 -5
  48. package/dist/treeshaking/components/markdown/index.d.ts +13 -45
  49. package/dist/treeshaking/components/meeting/OMeetingMyCalendar.vue.mjs +5 -1
  50. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.vue.mjs +1 -1
  51. package/dist/treeshaking/components/meeting/components/OMeetingCalendarList.vue.mjs +5 -1
  52. package/dist/treeshaking/components/recursion-menu/ORecursionMenu.vue.mjs +1 -1
  53. package/dist/treeshaking/components/user-center/OUserInfo.vue2.mjs +1 -1
  54. package/dist/treeshaking/components/user-center/index.mjs +0 -2
  55. package/dist/treeshaking/i18n/en.mjs +2 -1
  56. package/dist/treeshaking/i18n/zh.mjs +2 -1
  57. package/dist/treeshaking/index.d.ts +1 -0
  58. package/dist/treeshaking/index.mjs +2 -0
  59. package/package.json +2 -2
  60. package/dist/components/markdown/replacer/h1.d.ts +0 -11
  61. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.css +0 -261
  62. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue.mjs +0 -7
  63. package/dist/treeshaking/components/markdown/replacer/h1.d.ts +0 -11
  64. package/dist/treeshaking/components/markdown/replacer/h1.mjs +0 -29
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, createBlock, withCtx, createElementVNode, createCommentVNode, withDirectives, createVNode, vShow, Teleport, unref } from "vue";
1
+ import { defineComponent, ref, computed, watch, onMounted, onBeforeUnmount, openBlock, createElementBlock, createBlock, withCtx, createElementVNode, createCommentVNode, Teleport, createVNode, unref } from "vue";
2
2
  import { OAnchor } from "@opensig/opendesign";
3
3
  import { useI18n } from "../../i18n/index.mjs";
4
4
  import ArticleAnchorItems from "./components/ArticleAnchorItems.vue.mjs";
@@ -192,7 +192,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
192
192
  ]),
193
193
  _: 1
194
194
  }, 8, ["show-title", "title", "radius", "expanded"])) : createCommentVNode("", true),
195
- withDirectives(createVNode(ArticleAnchorMobile, {
195
+ __props.size === "mobile" ? (openBlock(), createBlock(ArticleAnchorMobile, {
196
+ key: 2,
196
197
  title: titleText.value,
197
198
  radius: __props.radius,
198
199
  expanded: expanded.value,
@@ -201,9 +202,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
201
202
  "target-offset": __props.targetOffset,
202
203
  onToggle: _cache[2] || (_cache[2] = ($event) => expanded.value = true),
203
204
  onClose: _cache[3] || (_cache[3] = ($event) => expanded.value = false)
204
- }, null, 8, ["title", "radius", "expanded", "items", "container", "target-offset"]), [
205
- [vShow, __props.size === "mobile"]
206
- ]),
205
+ }, null, 8, ["title", "radius", "expanded", "items", "container", "target-offset"])) : createCommentVNode("", true),
207
206
  createElementVNode("div", {
208
207
  ref_key: "hiddenSlotRef",
209
208
  ref: hiddenSlotRef,
@@ -0,0 +1,271 @@
1
+ .hover-icon-rotate .o-icon[data-v-6510bed3] {
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-6510bed3] {
6
+ transform: rotate(-180deg);
7
+ }
8
+ }
9
+ .o-doc-layout[data-v-6510bed3] {
10
+ --o-doc-layout-screen-width: 100vw;
11
+ --o-doc-layout-page-header-height: var(--layout-header-height);
12
+ --o-doc-layout-height: calc(100vh - var(--o-doc-layout-page-header-height));
13
+ --o-doc-layout-min-padding: 64px;
14
+ --o-doc-layout-padding: max(calc(var(--o-doc-layout-min-padding) + (var(--o-doc-layout-screen-width) - 1920px) / 2), var(--o-doc-layout-min-padding));
15
+ --o-doc-layout-gap: 40px;
16
+ --o-doc-layout-header-height: 0px;
17
+ --o-doc-layout-header-top: var(--o-doc-layout-page-header-height);
18
+ --o-doc-layout-sider-content-width-default: 256px;
19
+ --o-doc-layout-sider-content-width: var(--o-doc-layout-sider-content-width-default);
20
+ --o-doc-layout-sider-padding-left: var(--o-doc-layout-padding);
21
+ --o-doc-layout-sider-padding-right: 16px;
22
+ --o-doc-layout-sider-padding-top: 16px;
23
+ --o-doc-layout-sider-padding-bottom: 16px;
24
+ --o-doc-layout-sider-width: calc(var(--o-doc-layout-padding) + var(--o-doc-layout-sider-content-width) + var(--o-doc-layout-sider-padding-right));
25
+ --o-doc-layout-anchor-content-width: 272px;
26
+ --o-doc-layout-anchor-padding-top: 52px;
27
+ --o-doc-layout-anchor-top: calc(var(--o-doc-layout-page-header-height) + var(--o-doc-layout-anchor-padding-top));
28
+ --o-doc-layout-anchor-right: var(--o-doc-layout-padding);
29
+ --o-doc-layout-float-z-index: 36;
30
+ --o-doc-layout-float-bottom: 220px;
31
+ --o-doc-layout-float-content-width: 48px;
32
+ --o-doc-layout-float-right: calc(
33
+ var(--o-doc-layout-padding) +
34
+ max(var(--o-doc-layout-anchor-content-width), var(--o-doc-layout-float-content-width)) - var(--o-doc-layout-float-content-width)
35
+ );
36
+ --o-doc-layout-content-padding-top: var(--o-doc-layout-header-height);
37
+ --o-doc-layout-content-padding-left: calc(var(--o-doc-layout-sider-width) + var(--o-doc-layout-gap));
38
+ --o-doc-layout-content-padding-right: calc(
39
+ max(var(--o-doc-layout-anchor-content-width), var(--o-doc-layout-float-content-width)) + var(--o-doc-layout-gap) + var(--o-doc-layout-padding)
40
+ );
41
+ --o-doc-layout-opener-width: 9px;
42
+ --o-doc-layout-opener-height: 60px;
43
+ --o-doc-layout-opener-radius: 0 8px 8px 0;
44
+ --o-doc-layout-opener-left: var(--o-doc-layout-sider-width);
45
+ }
46
+ @media (max-width: 1680px) {
47
+ .o-doc-layout[data-v-6510bed3] {
48
+ --o-doc-layout-min-padding: 40px;
49
+ --o-doc-layout-gap: 24px;
50
+ --o-doc-layout-sider-content-width-default: 196px;
51
+ --o-doc-layout-sider-padding-right: 12px;
52
+ --o-doc-layout-anchor-content-width: 208px;
53
+ --o-doc-layout-anchor-padding-top: 48px;
54
+ }
55
+ }
56
+ @media (max-width: 1200px) {
57
+ .o-doc-layout[data-v-6510bed3] {
58
+ --o-doc-layout-min-padding: 32px;
59
+ --o-doc-layout-gap: 16px;
60
+ --o-doc-layout-sider-content-width-default: 222px;
61
+ --o-doc-layout-anchor-content-width: 40px;
62
+ --o-doc-layout-anchor-padding-top: 42px;
63
+ --o-doc-layout-content-padding-left: var(--o-doc-layout-padding);
64
+ --o-doc-layout-float-right: 32px;
65
+ }
66
+ }
67
+ @media (max-width: 840px) {
68
+ .o-doc-layout[data-v-6510bed3] {
69
+ --o-doc-layout-gap: 16px;
70
+ --o-doc-layout-header-height: 48px;
71
+ --o-doc-layout-sider-content-width-default: 222px;
72
+ --o-doc-layout-anchor-content-width: 0px;
73
+ --o-doc-layout-content-padding-right: var(--o-doc-layout-padding);
74
+ }
75
+ }
76
+ @media (max-width: 600px) {
77
+ .o-doc-layout[data-v-6510bed3] {
78
+ --o-doc-layout-min-padding: 24px;
79
+ --o-doc-layout-sider-padding-top: 12px;
80
+ --o-doc-layout-sider-padding-right: 8px;
81
+ --o-doc-layout-float-right: 24px;
82
+ }
83
+ }
84
+ .o-doc-layout[data-v-6510bed3]:not(.has-right) {
85
+ --o-doc-layout-anchor-content-width: 0px;
86
+ }
87
+ .o-doc-layout .o-doc-layout-container[data-v-6510bed3] {
88
+ height: var(--o-doc-layout-height);
89
+ }
90
+ .o-doc-layout .o-doc-layout-header[data-v-6510bed3] {
91
+ position: fixed;
92
+ top: var(--o-doc-layout-header-top);
93
+ left: 0;
94
+ right: 0;
95
+ height: var(--o-doc-layout-header-height);
96
+ z-index: 36;
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: space-between;
100
+ padding: 0 var(--o-doc-layout-padding);
101
+ background-color: var(--o-color-fill2);
102
+ box-shadow: var(--o-shadow-1);
103
+ }
104
+ .o-doc-layout .o-doc-layout-header-toggle[data-v-6510bed3] {
105
+ display: inline-flex;
106
+ align-items: center;
107
+ justify-content: center;
108
+ width: 32px;
109
+ height: 32px;
110
+ padding: 0;
111
+ border: none;
112
+ background: none;
113
+ color: var(--o-color-info1);
114
+ cursor: pointer;
115
+ }
116
+ .o-doc-layout .o-doc-layout-header-toggle svg[data-v-6510bed3] {
117
+ width: 24px;
118
+ height: 24px;
119
+ }
120
+ .o-doc-layout .o-doc-layout-content[data-v-6510bed3] {
121
+ padding-top: var(--o-doc-layout-content-padding-top);
122
+ padding-left: var(--o-doc-layout-content-padding-left);
123
+ padding-right: var(--o-doc-layout-content-padding-right);
124
+ transition: padding-left 0.3s;
125
+ }
126
+ .o-doc-layout .o-doc-layout-left[data-v-6510bed3] {
127
+ box-sizing: content-box;
128
+ position: fixed;
129
+ top: var(--o-doc-layout-page-header-height);
130
+ left: 0;
131
+ bottom: 0;
132
+ width: var(--o-doc-layout-sider-content-width);
133
+ padding-left: var(--o-doc-layout-sider-padding-left);
134
+ padding-right: var(--o-doc-layout-sider-padding-right);
135
+ padding-top: var(--o-doc-layout-sider-padding-top);
136
+ padding-bottom: var(--o-doc-layout-sider-padding-bottom);
137
+ background-color: rgba(var(--o-brand-6), 0.03);
138
+ z-index: 35;
139
+ transition: transform 0.3s;
140
+ }
141
+ .o-doc-layout .o-doc-layout-right[data-v-6510bed3] {
142
+ position: fixed;
143
+ top: var(--o-doc-layout-anchor-top);
144
+ right: var(--o-doc-layout-anchor-right);
145
+ width: var(--o-doc-layout-anchor-content-width);
146
+ }
147
+ .o-doc-layout .o-doc-layout-float[data-v-6510bed3] {
148
+ position: fixed;
149
+ right: var(--o-doc-layout-float-right);
150
+ bottom: var(--o-doc-layout-float-bottom);
151
+ z-index: var(--o-doc-layout-float-z-index);
152
+ }
153
+ .o-doc-layout .o-doc-layout-mask[data-v-6510bed3] {
154
+ position: fixed;
155
+ inset: 0;
156
+ z-index: 34;
157
+ background-color: var(--o-color-mask1);
158
+ opacity: 0;
159
+ pointer-events: none;
160
+ transition: opacity 0.3s;
161
+ }
162
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3] {
163
+ position: fixed;
164
+ top: 50%;
165
+ left: var(--o-doc-layout-opener-left);
166
+ transform: translateY(-50%);
167
+ z-index: 36;
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ box-sizing: border-box;
172
+ width: var(--o-doc-layout-opener-width);
173
+ height: var(--o-doc-layout-opener-height);
174
+ background-color: rgba(var(--o-brand-6), 0.03);
175
+ border-top: 1px solid var(--o-color-control4);
176
+ border-right: 1px solid var(--o-color-control4);
177
+ border-bottom: 1px solid var(--o-color-control4);
178
+ border-left: none;
179
+ border-radius: var(--o-doc-layout-opener-radius);
180
+ cursor: pointer;
181
+ transition: transform 0.3s, box-shadow 0.3s;
182
+ }
183
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3]::before, .o-doc-layout .o-doc-layout-opener[data-v-6510bed3]::after {
184
+ content: "";
185
+ position: absolute;
186
+ left: 0;
187
+ width: 1px;
188
+ background-color: var(--o-color-control4);
189
+ pointer-events: none;
190
+ transition: opacity 0.3s;
191
+ }
192
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3]::before {
193
+ bottom: 100%;
194
+ height: 100vh;
195
+ }
196
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3]::after {
197
+ top: 100%;
198
+ height: 100vh;
199
+ }
200
+ .o-doc-layout .o-doc-layout-opener .o-doc-layout-opener-thumb[data-v-6510bed3] {
201
+ width: 2px;
202
+ height: 24px;
203
+ border-radius: 2px;
204
+ background-color: var(--o-color-info4);
205
+ transition: background-color 0.3s;
206
+ }
207
+ .o-doc-layout .o-doc-layout-opener:hover .o-doc-layout-opener-thumb[data-v-6510bed3] {
208
+ background-color: var(--o-color-primary1);
209
+ }
210
+ .o-doc-layout .o-doc-layout-resizer[data-v-6510bed3] {
211
+ position: fixed;
212
+ top: var(--o-doc-layout-page-header-height);
213
+ bottom: 0;
214
+ left: calc(var(--o-doc-layout-opener-left) - 4px);
215
+ width: 8px;
216
+ z-index: 35;
217
+ cursor: ew-resize;
218
+ touch-action: none;
219
+ user-select: none;
220
+ -webkit-user-select: none;
221
+ transition: transform 0.3s;
222
+ }
223
+ .o-doc-layout.is-collapsed .o-doc-layout-left[data-v-6510bed3] {
224
+ transform: translateX(-100%);
225
+ }
226
+ .o-doc-layout.is-collapsed .o-doc-layout-content[data-v-6510bed3] {
227
+ padding-left: var(--o-doc-layout-padding);
228
+ }
229
+ .o-doc-layout.is-collapsed .o-doc-layout-mask[data-v-6510bed3] {
230
+ opacity: 0;
231
+ pointer-events: none;
232
+ }
233
+ .o-doc-layout.is-collapsed .o-doc-layout-opener[data-v-6510bed3] {
234
+ transform: translateY(-50%) translateX(calc(-1 * var(--o-doc-layout-opener-left)));
235
+ box-shadow: var(--o-shadow-2);
236
+ }
237
+ .o-doc-layout.is-collapsed .o-doc-layout-opener[data-v-6510bed3]::before, .o-doc-layout.is-collapsed .o-doc-layout-opener[data-v-6510bed3]::after {
238
+ opacity: 0;
239
+ }
240
+ .o-doc-layout.is-collapsed .o-doc-layout-resizer[data-v-6510bed3] {
241
+ transform: translateX(calc(4px - var(--o-doc-layout-opener-left)));
242
+ }
243
+ .o-doc-layout.is-resizing .o-doc-layout-left[data-v-6510bed3],
244
+ .o-doc-layout.is-resizing .o-doc-layout-content[data-v-6510bed3],
245
+ .o-doc-layout.is-resizing .o-doc-layout-opener[data-v-6510bed3],
246
+ .o-doc-layout.is-resizing .o-doc-layout-resizer[data-v-6510bed3] {
247
+ transition: none;
248
+ }
249
+ @media (max-width: 1200px) {
250
+ .o-doc-layout .o-doc-layout-left[data-v-6510bed3] {
251
+ background-color: var(--o-color-fill2);
252
+ background-image: linear-gradient(rgba(var(--o-brand-6), 0.03), rgba(var(--o-brand-6), 0.03));
253
+ }
254
+ .o-doc-layout .o-doc-layout-mask[data-v-6510bed3] {
255
+ opacity: 1;
256
+ pointer-events: auto;
257
+ }
258
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3] {
259
+ background-color: var(--o-color-fill2);
260
+ background-image: linear-gradient(rgba(var(--o-brand-6), 0.03), rgba(var(--o-brand-6), 0.03));
261
+ }
262
+ }
263
+ @media (max-width: 840px) {
264
+ .o-doc-layout .o-doc-layout-left[data-v-6510bed3] {
265
+ top: calc(var(--o-doc-layout-page-header-height) + var(--o-doc-layout-header-height));
266
+ }
267
+ .o-doc-layout .o-doc-layout-opener[data-v-6510bed3],
268
+ .o-doc-layout .o-doc-layout-resizer[data-v-6510bed3] {
269
+ display: none;
270
+ }
271
+ }
@@ -0,0 +1,38 @@
1
+ type __VLS_Props = {
2
+ collapsed?: boolean;
3
+ hasRight?: boolean;
4
+ hasFloat?: boolean;
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ 'header-title'?(_: {}): any;
10
+ 'header-right'?(_: {}): any;
11
+ left?(_: {}): any;
12
+ content?(_: {}): any;
13
+ right?(_: {}): any;
14
+ float?(_: {}): any;
15
+ };
16
+ refs: {
17
+ containerRef: HTMLDivElement;
18
+ };
19
+ rootEl: HTMLDivElement;
20
+ };
21
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ "update:collapsed": (value: boolean) => any;
24
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
26
+ }>, {
27
+ hasRight: boolean;
28
+ hasFloat: boolean;
29
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
30
+ containerRef: HTMLDivElement;
31
+ }, HTMLDivElement>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./ODocLayout.vue2.mjs";
2
+ import './ODocLayout.css';
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const _ODocLayout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6510bed3"]]);
5
+ export {
6
+ _ODocLayout as default
7
+ };
@@ -0,0 +1,165 @@
1
+ import { defineComponent, computed, ref, onMounted, onUnmounted, openBlock, createBlock, unref, normalizeClass, withCtx, createElementVNode, createElementBlock, createVNode, renderSlot, createCommentVNode } from "vue";
2
+ import { OScroller, OIcon } from "@opensig/opendesign";
3
+ import { useScreen } from "@opendesign-plus/composables";
4
+ import IconMenuFold from "../../_virtual/icon-menu-fold.mjs";
5
+ import IconMenuUnfold from "../../_virtual/icon-menu-unfold.mjs";
6
+ const _hoisted_1 = {
7
+ key: 0,
8
+ class: "o-doc-layout-header"
9
+ };
10
+ const _hoisted_2 = { class: "o-doc-layout-header-title" };
11
+ const _hoisted_3 = { class: "o-doc-layout-header-right" };
12
+ const _hoisted_4 = { class: "o-doc-layout-left" };
13
+ const _hoisted_5 = { class: "o-doc-layout-content" };
14
+ const _hoisted_6 = {
15
+ key: 1,
16
+ class: "o-doc-layout-right"
17
+ };
18
+ const _hoisted_7 = {
19
+ key: 2,
20
+ class: "o-doc-layout-float"
21
+ };
22
+ const DRAG_THRESHOLD = 4;
23
+ const _sfc_main = /* @__PURE__ */ defineComponent({
24
+ __name: "ODocLayout",
25
+ props: {
26
+ collapsed: { type: Boolean },
27
+ hasRight: { type: Boolean, default: true },
28
+ hasFloat: { type: Boolean, default: true }
29
+ },
30
+ emits: ["update:collapsed"],
31
+ setup(__props, { emit: __emit }) {
32
+ const { lePad, lePadV } = useScreen();
33
+ const props = __props;
34
+ const emit = __emit;
35
+ const collapsed = computed({
36
+ get: () => props.collapsed ?? lePad.value,
37
+ set: (value) => emit("update:collapsed", value)
38
+ });
39
+ const containerRef = ref();
40
+ const isResizing = ref(false);
41
+ let resizeTimer;
42
+ const getRoot = () => {
43
+ var _a;
44
+ return (_a = containerRef.value) == null ? void 0 : _a.closest(".o-doc-layout");
45
+ };
46
+ const onWindowResize = () => {
47
+ const root = getRoot();
48
+ if (!root) return;
49
+ root.classList.add("is-resizing");
50
+ window.clearTimeout(resizeTimer);
51
+ resizeTimer = window.setTimeout(() => root.classList.remove("is-resizing"), 300);
52
+ };
53
+ onMounted(() => {
54
+ window.addEventListener("resize", onWindowResize);
55
+ });
56
+ onUnmounted(() => {
57
+ window.removeEventListener("resize", onWindowResize);
58
+ window.clearTimeout(resizeTimer);
59
+ });
60
+ const onResizePointerDown = (event) => {
61
+ if (event.button !== 0) return;
62
+ const resizer = event.currentTarget;
63
+ const root = resizer.closest(".o-doc-layout");
64
+ const left = root == null ? void 0 : root.querySelector(".o-doc-layout-left");
65
+ if (!root || !left) return;
66
+ const style = getComputedStyle(root);
67
+ const paddingRight = Number.parseFloat(style.getPropertyValue("--o-doc-layout-sider-padding-right")) || 0;
68
+ const initContent = Number.parseFloat(style.getPropertyValue("--o-doc-layout-sider-content-width")) || 0;
69
+ const defaultContent = Number.parseFloat(style.getPropertyValue("--o-doc-layout-sider-content-width-default")) || initContent;
70
+ const initLeftWidth = left.getBoundingClientRect().width;
71
+ const padding = initLeftWidth - initContent - paddingRight;
72
+ const startX = event.clientX;
73
+ const minContent = Math.min(defaultContent, initContent);
74
+ const maxContent = Math.max(initContent, window.innerWidth * 0.5 - padding - paddingRight);
75
+ let dragged = false;
76
+ const onMove = (moveEvent) => {
77
+ const delta = moveEvent.clientX - startX;
78
+ if (!dragged && Math.abs(delta) < DRAG_THRESHOLD) return;
79
+ if (!dragged) {
80
+ dragged = true;
81
+ isResizing.value = true;
82
+ root.classList.add("is-resizing");
83
+ }
84
+ const nextContent = Math.min(Math.max(initContent + delta, minContent), maxContent);
85
+ root.style.setProperty("--o-doc-layout-sider-content-width", `${nextContent}px`);
86
+ };
87
+ const onUp = () => {
88
+ window.removeEventListener("pointermove", onMove);
89
+ window.removeEventListener("pointerup", onUp);
90
+ if (dragged) {
91
+ isResizing.value = false;
92
+ root.classList.remove("is-resizing");
93
+ }
94
+ };
95
+ window.addEventListener("pointermove", onMove);
96
+ window.addEventListener("pointerup", onUp);
97
+ };
98
+ return (_ctx, _cache) => {
99
+ return openBlock(), createBlock(unref(OScroller), {
100
+ class: normalizeClass(["o-doc-layout", {
101
+ "is-collapsed": collapsed.value,
102
+ "is-resizing": isResizing.value,
103
+ "has-right": __props.hasRight
104
+ }])
105
+ }, {
106
+ default: withCtx(() => [
107
+ createElementVNode("div", {
108
+ ref_key: "containerRef",
109
+ ref: containerRef,
110
+ class: "o-doc-layout-container"
111
+ }, [
112
+ unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_1, [
113
+ createVNode(unref(OIcon), {
114
+ class: "o-doc-layout-header-toggle",
115
+ onClick: _cache[0] || (_cache[0] = ($event) => collapsed.value = !collapsed.value)
116
+ }, {
117
+ default: withCtx(() => [
118
+ collapsed.value ? (openBlock(), createBlock(unref(IconMenuUnfold), { key: 0 })) : (openBlock(), createBlock(unref(IconMenuFold), { key: 1 }))
119
+ ]),
120
+ _: 1
121
+ }),
122
+ createElementVNode("div", _hoisted_2, [
123
+ renderSlot(_ctx.$slots, "header-title", {}, void 0, true)
124
+ ]),
125
+ createElementVNode("div", _hoisted_3, [
126
+ renderSlot(_ctx.$slots, "header-right", {}, void 0, true)
127
+ ])
128
+ ])) : createCommentVNode("", true),
129
+ createElementVNode("div", _hoisted_4, [
130
+ renderSlot(_ctx.$slots, "left", {}, void 0, true)
131
+ ]),
132
+ createElementVNode("div", _hoisted_5, [
133
+ renderSlot(_ctx.$slots, "content", {}, void 0, true)
134
+ ]),
135
+ __props.hasRight ? (openBlock(), createElementBlock("div", _hoisted_6, [
136
+ renderSlot(_ctx.$slots, "right", {}, void 0, true)
137
+ ])) : createCommentVNode("", true),
138
+ __props.hasFloat ? (openBlock(), createElementBlock("div", _hoisted_7, [
139
+ renderSlot(_ctx.$slots, "float", {}, void 0, true)
140
+ ])) : createCommentVNode("", true),
141
+ unref(lePad) ? (openBlock(), createElementBlock("div", {
142
+ key: 3,
143
+ class: "o-doc-layout-mask",
144
+ onClick: _cache[1] || (_cache[1] = ($event) => collapsed.value = true)
145
+ })) : createCommentVNode("", true),
146
+ createElementVNode("div", {
147
+ class: "o-doc-layout-opener",
148
+ onClick: _cache[2] || (_cache[2] = ($event) => collapsed.value = !collapsed.value)
149
+ }, [..._cache[3] || (_cache[3] = [
150
+ createElementVNode("div", { class: "o-doc-layout-opener-thumb" }, null, -1)
151
+ ])]),
152
+ createElementVNode("div", {
153
+ class: "o-doc-layout-resizer",
154
+ onPointerdown: onResizePointerDown
155
+ }, null, 32)
156
+ ], 512)
157
+ ]),
158
+ _: 3
159
+ }, 8, ["class"]);
160
+ };
161
+ }
162
+ });
163
+ export {
164
+ _sfc_main as default
165
+ };
@@ -0,0 +1,59 @@
1
+ import { App } from 'vue';
2
+ declare const ODocLayout: {
3
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
4
+ collapsed?: boolean;
5
+ hasRight?: boolean;
6
+ hasFloat?: boolean;
7
+ }> & Readonly<{
8
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
9
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:collapsed": (value: boolean) => any;
11
+ }, import('vue').PublicProps, {
12
+ hasRight: boolean;
13
+ hasFloat: boolean;
14
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
15
+ containerRef: HTMLDivElement;
16
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
17
+ P: {};
18
+ B: {};
19
+ D: {};
20
+ C: {};
21
+ M: {};
22
+ Defaults: {};
23
+ }, Readonly<{
24
+ collapsed?: boolean;
25
+ hasRight?: boolean;
26
+ hasFloat?: boolean;
27
+ }> & Readonly<{
28
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
29
+ }>, {}, {}, {}, {}, {
30
+ hasRight: boolean;
31
+ hasFloat: boolean;
32
+ }>;
33
+ __isFragment?: never;
34
+ __isTeleport?: never;
35
+ __isSuspense?: never;
36
+ } & import('vue').ComponentOptionsBase<Readonly<{
37
+ collapsed?: boolean;
38
+ hasRight?: boolean;
39
+ hasFloat?: boolean;
40
+ }> & Readonly<{
41
+ "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
42
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
43
+ "update:collapsed": (value: boolean) => any;
44
+ }, string, {
45
+ hasRight: boolean;
46
+ hasFloat: boolean;
47
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
48
+ $slots: {
49
+ 'header-title'?(_: {}): any;
50
+ 'header-right'?(_: {}): any;
51
+ left?(_: {}): any;
52
+ content?(_: {}): any;
53
+ right?(_: {}): any;
54
+ float?(_: {}): any;
55
+ };
56
+ }) & {
57
+ install(app: App): void;
58
+ };
59
+ export { ODocLayout };
@@ -0,0 +1,9 @@
1
+ import _ODocLayout from "./ODocLayout.vue.mjs";
2
+ const ODocLayout = Object.assign(_ODocLayout, {
3
+ install(app) {
4
+ app.component("ODocLayout", _ODocLayout);
5
+ }
6
+ });
7
+ export {
8
+ ODocLayout
9
+ };
@@ -1,21 +1,20 @@
1
1
  type __VLS_Props = {
2
- disableH1?: boolean;
3
2
  disableH2?: boolean;
4
3
  disableTable?: boolean;
5
4
  disableImg?: boolean;
6
5
  disableCode?: boolean;
7
6
  disableChangeCodeTheme?: boolean;
8
- sourceUrl?: string;
9
- updateTime?: string;
10
- titleBg?: string;
11
- enableDownload?: boolean;
12
- enableStar?: boolean;
13
7
  markdownBodyClass?: string;
8
+ hideFirstH1?: boolean;
14
9
  };
15
10
  declare function __VLS_template(): {
16
11
  attrs: Partial<{}>;
17
12
  slots: {
13
+ header?(_: {
14
+ h1: HTMLElement | undefined;
15
+ }): any;
18
16
  default?(_: {}): any;
17
+ footer?(_: {}): any;
19
18
  };
20
19
  refs: {
21
20
  markdownBodyRef: HTMLDivElement;
@@ -23,22 +22,14 @@ declare function __VLS_template(): {
23
22
  rootEl: HTMLDivElement;
24
23
  };
25
24
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
26
- declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
- download: () => any;
28
- collect: () => any;
29
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
30
- onDownload?: (() => any) | undefined;
31
- onCollect?: (() => any) | undefined;
32
- }>, {
33
- enableDownload: boolean;
34
- enableStar: boolean;
25
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
26
  disableChangeCodeTheme: boolean;
36
- disableH1: boolean;
37
27
  disableH2: boolean;
38
28
  disableTable: boolean;
39
29
  disableImg: boolean;
40
30
  disableCode: boolean;
41
31
  markdownBodyClass: string;
32
+ hideFirstH1: boolean;
42
33
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
43
34
  markdownBodyRef: HTMLDivElement;
44
35
  }, HTMLDivElement>;
@@ -2,7 +2,7 @@ import _sfc_main from "./OMarkdown.vue2.mjs";
2
2
  import './OMarkdown.css';
3
3
  import './OMarkdown2.css';
4
4
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const _OMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-31e0d0d3"]]);
5
+ const _OMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b845f428"]]);
6
6
  export {
7
7
  _OMarkdown as default
8
8
  };