@opendesign-plus/components 0.0.1-rc.90 → 0.0.1-rc.91

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 (58) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +41 -25
  3. package/dist/components/logo-swiper/types.d.ts +1 -0
  4. package/dist/components/search-doc-result/OSearchDocResult.vue.d.ts +56 -0
  5. package/dist/components/search-doc-result/index.d.ts +113 -0
  6. package/dist/components/search-result/OSearchResult.vue.d.ts +11 -0
  7. package/dist/components/search-result/OSearchResultHeader.vue.d.ts +9 -1
  8. package/dist/components/search-result/components/OSearchResultRelative.vue.d.ts +5 -1
  9. package/dist/components/search-result/index.d.ts +56 -3
  10. package/dist/components.cjs.js +40 -40
  11. package/dist/components.css +1 -1
  12. package/dist/components.es.js +10867 -10651
  13. package/dist/index.d.ts +1 -0
  14. package/dist/treeshaking/components/header/components/HeaderContent.css +184 -184
  15. package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
  16. package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +2 -1
  17. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.css +19 -19
  18. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue.mjs +1 -1
  19. package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue2.mjs +4 -2
  20. package/dist/treeshaking/components/logo-swiper/types.d.ts +1 -0
  21. package/dist/treeshaking/components/markdown/OMarkdown.css +7 -0
  22. package/dist/treeshaking/components/search/OSearchInput.css +37 -34
  23. package/dist/treeshaking/components/search/OSearchInput.vue.mjs +1 -1
  24. package/dist/treeshaking/components/search/internal/SearchImageInput.css +49 -47
  25. package/dist/treeshaking/components/search/internal/SearchImageInput.vue.mjs +1 -1
  26. package/dist/treeshaking/components/search/internal/SearchPanel.css +117 -117
  27. package/dist/treeshaking/components/search/internal/SearchPanel.vue.mjs +1 -1
  28. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.css +156 -0
  29. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue.d.ts +56 -0
  30. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue.mjs +7 -0
  31. package/dist/treeshaking/components/search-doc-result/OSearchDocResult.vue2.mjs +214 -0
  32. package/dist/treeshaking/components/search-doc-result/index.d.ts +113 -0
  33. package/dist/treeshaking/components/search-doc-result/index.mjs +9 -0
  34. package/dist/treeshaking/components/search-result/OSearchResult.css +97 -33
  35. package/dist/treeshaking/components/search-result/OSearchResult.vue.d.ts +11 -0
  36. package/dist/treeshaking/components/search-result/OSearchResult.vue.mjs +1 -1
  37. package/dist/treeshaking/components/search-result/OSearchResult.vue2.mjs +90 -21
  38. package/dist/treeshaking/components/search-result/OSearchResultHeader.css +78 -41
  39. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue.d.ts +9 -1
  40. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue.mjs +1 -1
  41. package/dist/treeshaking/components/search-result/OSearchResultHeader.vue2.mjs +26 -18
  42. package/dist/treeshaking/components/search-result/OSearchResultItem.css +42 -54
  43. package/dist/treeshaking/components/search-result/OSearchResultItem.vue.mjs +1 -1
  44. package/dist/treeshaking/components/search-result/OSearchResultItem.vue2.mjs +2 -1
  45. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.css +34 -36
  46. package/dist/treeshaking/components/search-result/components/OSearchResultFeedback.vue.mjs +1 -1
  47. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.css +41 -37
  48. package/dist/treeshaking/components/search-result/components/OSearchResultFeedbackBanner.vue.mjs +1 -1
  49. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.css +19 -19
  50. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue.d.ts +5 -1
  51. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue.mjs +1 -1
  52. package/dist/treeshaking/components/search-result/components/OSearchResultRelative.vue2.mjs +6 -3
  53. package/dist/treeshaking/components/search-result/index.d.ts +56 -3
  54. package/dist/treeshaking/i18n/en.mjs +9 -1
  55. package/dist/treeshaking/i18n/zh.mjs +8 -0
  56. package/dist/treeshaking/index.d.ts +1 -0
  57. package/dist/treeshaking/index.mjs +2 -0
  58. package/package.json +5 -5
@@ -1,101 +1,165 @@
1
- .hover-icon-rotate .o-icon[data-v-1452b538] {
1
+ .hover-icon-rotate .o-icon[data-v-9d8dd556] {
2
2
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
3
  }
4
4
  @media (hover: hover) {
5
- .hover-icon-rotate:hover .o-icon[data-v-1452b538] {
5
+ .hover-icon-rotate:hover .o-icon[data-v-9d8dd556] {
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
- .o-search-result[data-v-1452b538] {
9
+ .o-search-result[data-v-9d8dd556] {
10
+ --o-search-result-page-header-hight: 0px;
11
+ --o-search-result-page-footer-hight: 0px;
10
12
  --o-search-result-radius: var(--o-radius-xs);
11
- }
12
- .o-search-result .o-search-result-content-wrap[data-v-1452b538] {
13
- display: flex;
14
- max-width: var(--grid-20);
15
- padding: 40px 0 72px;
16
- margin: 0 auto;
13
+ --o-search-result-header-height: 280px;
14
+ --o-search-content-padding-top: 40px;
15
+ --o-search-content-padding-bottom: 72px;
16
+ --o-search-content-padding-left: 0px;
17
+ --o-search-content-padding-right: 0px;
18
+ --o-search-content-min-height: calc(
19
+ 100vh - var(--o-search-result-page-header-hight) - var(--o-search-result-page-footer-hight) - var(--o-search-result-header-height) - var(
20
+ --o-search-content-padding-top
21
+ ) - var(--o-search-content-padding-bottom)
22
+ );
23
+ background-color: var(--o-color-fill2);
17
24
  }
18
25
  @media (max-width: 1680px) {
19
- .o-search-result .o-search-result-content-wrap[data-v-1452b538] {
20
- padding: 24px 0 56px;
26
+ .o-search-result[data-v-9d8dd556] {
27
+ --o-search-result-header-height: 220px;
28
+ --o-search-content-padding-top: 24px;
29
+ --o-search-content-padding-bottom: 56px;
21
30
  }
22
31
  }
23
32
  @media (max-width: 1200px) {
24
- .o-search-result .o-search-result-content-wrap[data-v-1452b538] {
25
- padding: 16px 32px 40px;
33
+ .o-search-result[data-v-9d8dd556] {
34
+ --o-search-result-header-height: 180px;
35
+ --o-search-content-padding-top: 16px;
36
+ --o-search-content-padding-bottom: 40px;
37
+ --o-search-content-padding-left: 32px;
38
+ --o-search-content-padding-right: 32px;
26
39
  }
27
40
  }
28
41
  @media (max-width: 840px) {
29
- .o-search-result .o-search-result-content-wrap[data-v-1452b538] {
30
- padding: 24px 32px 40px;
42
+ .o-search-result[data-v-9d8dd556] {
43
+ --o-search-result-header-height: 90px;
44
+ --o-search-content-padding-top: 24px;
45
+ --o-search-content-padding-bottom: 40px;
31
46
  }
32
47
  }
33
48
  @media (max-width: 600px) {
34
- .o-search-result .o-search-result-content-wrap[data-v-1452b538] {
35
- padding: 24px;
36
- padding-bottom: 32px;
49
+ .o-search-result[data-v-9d8dd556] {
50
+ --o-search-content-padding-top: 24px;
51
+ --o-search-content-padding-bottom: 32px;
52
+ --o-search-content-padding-left: 24px;
53
+ --o-search-content-padding-right: 24px;
54
+ }
55
+ }
56
+ @media (max-width: 840px) {
57
+ .o-search-result.is-hide-tab-mobile[data-v-9d8dd556] {
58
+ --o-search-result-header-height: 56px;
59
+ }
37
60
  }
61
+ .o-search-result .o-search-result-content-wrap[data-v-9d8dd556] {
62
+ display: flex;
63
+ max-width: var(--grid-20);
64
+ min-height: var(--o-search-content-min-height);
65
+ padding: var(--o-search-content-padding-top) var(--o-search-content-padding-right) var(--o-search-content-padding-bottom) var(--o-search-content-padding-left);
66
+ margin: 0 auto;
38
67
  }
39
- .o-search-result .o-search-result-content-wrap .o-search-result-left-content[data-v-1452b538] {
68
+ .o-search-result .o-search-result-content-wrap .o-search-result-left-content[data-v-9d8dd556] {
40
69
  flex: 1;
70
+ display: flex;
71
+ flex-direction: column;
72
+ min-width: 0;
73
+ min-height: var(--o-search-content-min-height);
41
74
  padding-right: var(--grid-column-gutter);
42
75
  border-right: 1px solid var(--o-color-control4);
43
76
  }
44
77
  @media (max-width: 1200px) {
45
- .o-search-result .o-search-result-content-wrap .o-search-result-left-content[data-v-1452b538] {
78
+ .o-search-result .o-search-result-content-wrap .o-search-result-left-content[data-v-9d8dd556] {
46
79
  border-right: none;
80
+ padding-right: 0;
47
81
  }
48
82
  }
49
- .o-search-result .o-search-result-content-wrap .o-search-result-right-content[data-v-1452b538] {
83
+ .o-search-result .o-search-result-content-wrap .o-search-result-right-content[data-v-9d8dd556] {
50
84
  width: var(--grid-5);
51
85
  padding-left: var(--grid-column-gutter);
52
86
  }
53
87
  @media (max-width: 1680px) {
54
- .o-search-result .o-search-result-content-wrap .o-search-result-right-content[data-v-1452b538] {
88
+ .o-search-result .o-search-result-content-wrap .o-search-result-right-content[data-v-9d8dd556] {
55
89
  width: var(--grid-6);
56
90
  }
57
91
  }
58
- .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-1452b538] {
92
+ .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-9d8dd556] {
59
93
  margin-top: 24px;
60
94
  margin-bottom: 32px;
61
95
  }
62
- .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-1452b538] .o-skeleton-item .o-skeleton-line:nth-child(1) {
96
+ .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-9d8dd556] .o-skeleton-item .o-skeleton-line:nth-child(1) {
63
97
  width: 52%;
64
98
  height: 28px;
65
99
  }
66
- .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-1452b538] .o-skeleton-item .o-skeleton-line:nth-child(2) {
100
+ .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-9d8dd556] .o-skeleton-item .o-skeleton-line:nth-child(2) {
67
101
  height: 48px;
68
102
  }
69
- .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-1452b538] .o-skeleton-item .o-skeleton-line:nth-child(3) {
103
+ .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-loading[data-v-9d8dd556] .o-skeleton-item .o-skeleton-line:nth-child(3) {
70
104
  width: 38%;
71
105
  height: 18px;
72
106
  }
73
- .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-divider[data-v-1452b538] {
107
+ .o-search-result .o-search-result-content-wrap .o-search-result-content-skeleton-divider[data-v-9d8dd556] {
74
108
  margin: 16px 0;
75
109
  }
76
- .o-search-result .o-search-result-content-wrap .o-search-result-version-select[data-v-1452b538] {
110
+ .o-search-result .o-search-result-content-wrap .o-search-result-version-select[data-v-9d8dd556] {
77
111
  width: 320px;
78
112
  }
79
- .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-1452b538] {
113
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] {
114
+ flex: 1;
80
115
  padding: 24px 0;
81
116
  }
82
117
  @media (max-width: 1680px) {
83
- .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-1452b538] {
118
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] {
84
119
  padding: 16px 0;
85
120
  }
86
121
  }
87
- .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-1452b538] {
122
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] > *:not(:first-child) {
123
+ padding-top: 16px;
124
+ border-top: 1px solid var(--o-color-control4);
125
+ }
126
+ @media (max-width: 1680px) {
127
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] > *:not(:first-child) {
128
+ padding-top: 12px;
129
+ }
130
+ }
131
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] > *:not(:last-child) {
132
+ padding-bottom: 16px;
133
+ }
134
+ @media (max-width: 1680px) {
135
+ .o-search-result .o-search-result-content-wrap .o-search-result-content[data-v-9d8dd556] > *:not(:last-child) {
136
+ padding-bottom: 12px;
137
+ }
138
+ }
139
+ .o-search-result .o-search-result-content-wrap .o-search-result-content.is-empty[data-v-9d8dd556] {
140
+ display: flex;
141
+ justify-content: center;
142
+ align-items: center;
143
+ }
144
+ .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-9d8dd556] {
88
145
  display: flex;
89
146
  justify-content: flex-end;
90
147
  margin-top: 32px;
91
148
  }
92
149
  @media (max-width: 1680px) {
93
- .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-1452b538] {
150
+ .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-9d8dd556] {
94
151
  margin-top: 24px;
95
152
  }
96
153
  }
97
154
  @media (max-width: 1200px) {
98
- .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-1452b538] {
155
+ .o-search-result .o-search-result-content-wrap .o-search-result-pagination[data-v-9d8dd556] {
99
156
  margin-top: 16px;
100
157
  }
158
+ }
159
+ .o-search-result .o-search-result-content-wrap .o-search-result-mb-bottom-text[data-v-9d8dd556] {
160
+ margin-top: 16px;
161
+ color: var(--o-color-info3);
162
+ text-align: center;
163
+ font-size: 14px;
164
+ line-height: 22px;
101
165
  }
@@ -11,6 +11,10 @@ type __VLS_Props = {
11
11
  searchFlag: boolean;
12
12
  feedbackText: string;
13
13
  }) => Promise<boolean>;
14
+ noMore: boolean;
15
+ scrollContainer?: string | HTMLElement;
16
+ bottomOffset?: number;
17
+ hideTabOnMobile?: boolean;
14
18
  };
15
19
  type __VLS_PublicProps = {
16
20
  'version'?: SelectValueT;
@@ -35,13 +39,20 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
35
39
  "update:pageSize": (value: number) => any;
36
40
  "update:page": (value: number) => any;
37
41
  "update:version": (value: SelectValueT) => any;
42
+ } & {
43
+ "reach-bottom": () => any;
44
+ "click-relative-search-item": (item: OSearchRelativeItemT) => any;
38
45
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
39
46
  "onUpdate:pageSize"?: ((value: number) => any) | undefined;
40
47
  "onUpdate:page"?: ((value: number) => any) | undefined;
48
+ "onReach-bottom"?: (() => any) | undefined;
49
+ "onClick-relative-search-item"?: ((item: OSearchRelativeItemT) => any) | undefined;
41
50
  "onUpdate:version"?: ((value: SelectValueT) => any) | undefined;
42
51
  }>, {
43
52
  total: number;
44
53
  pageSizes: number[];
54
+ bottomOffset: number;
55
+ hideTabOnMobile: boolean;
45
56
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
46
57
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
47
58
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./OSearchResult.vue2.mjs";
2
2
  import './OSearchResult.css';
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const _OSearchResult = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1452b538"]]);
4
+ const _OSearchResult = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9d8dd556"]]);
5
5
  export {
6
6
  _OSearchResult as default
7
7
  };
@@ -1,16 +1,20 @@
1
- import { defineComponent, useModel, openBlock, createElementBlock, createElementVNode, renderSlot, unref, createBlock, withCtx, Fragment, renderList, createCommentVNode, createVNode, mergeModels } from "vue";
1
+ import { defineComponent, useModel, watch, onMounted, onUnmounted, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, unref, createBlock, withCtx, Fragment, renderList, createCommentVNode, createVNode, createTextVNode, toDisplayString, mergeModels } from "vue";
2
+ import { useThrottleFn } from "@vueuse/core";
2
3
  import { isArray, OSelect, OOption, OSkeleton, OSkeletonText, ODivider, OPagination } from "@opensig/opendesign";
3
4
  import { useScreen } from "@opendesign-plus/composables";
5
+ import { useI18n } from "../../i18n/index.mjs";
4
6
  import OSearchResultEmpty from "./components/OSearchResultEmpty.vue.mjs";
5
7
  import OSearchResultFeedback from "./components/OSearchResultFeedback.vue.mjs";
6
8
  import OSearchResultFeedbackBanner from "./components/OSearchResultFeedbackBanner.vue.mjs";
7
9
  import OSearchResultRelative from "./components/OSearchResultRelative.vue.mjs";
8
- const _hoisted_1 = { class: "o-search-result" };
9
- const _hoisted_2 = { class: "o-search-result-content-wrap" };
10
- const _hoisted_3 = { class: "o-search-result-left-content" };
11
- const _hoisted_4 = { class: "o-search-result-content-skeleton-loading" };
12
- const _hoisted_5 = { class: "o-search-result-content" };
13
- const _hoisted_6 = { class: "o-search-result-right-content" };
10
+ const _hoisted_1 = { class: "o-search-result-content-wrap" };
11
+ const _hoisted_2 = { class: "o-search-result-left-content" };
12
+ const _hoisted_3 = { class: "o-search-result-content-skeleton-loading" };
13
+ const _hoisted_4 = {
14
+ key: 1,
15
+ class: "o-search-result-mb-bottom-text"
16
+ };
17
+ const _hoisted_5 = { class: "o-search-result-right-content" };
14
18
  const _sfc_main = /* @__PURE__ */ defineComponent({
15
19
  __name: "OSearchResult",
16
20
  props: /* @__PURE__ */ mergeModels({
@@ -20,7 +24,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
24
  relativeItems: {},
21
25
  total: { default: 0 },
22
26
  pageSizes: { default: () => [10, 20, 50] },
23
- submitFeedback: {}
27
+ submitFeedback: {},
28
+ noMore: { type: Boolean },
29
+ scrollContainer: {},
30
+ bottomOffset: { default: 30 },
31
+ hideTabOnMobile: { type: Boolean, default: false }
24
32
  }, {
25
33
  "version": {},
26
34
  "versionModifiers": {},
@@ -29,16 +37,62 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
37
  "pageSize": { default: 10 },
30
38
  "pageSizeModifiers": {}
31
39
  }),
32
- emits: ["update:version", "update:page", "update:pageSize"],
33
- setup(__props) {
40
+ emits: /* @__PURE__ */ mergeModels(["click-relative-search-item", "reach-bottom"], ["update:version", "update:page", "update:pageSize"]),
41
+ setup(__props, { emit: __emit }) {
42
+ const props = __props;
34
43
  const versionVal = useModel(__props, "version");
35
44
  const page = useModel(__props, "page");
36
45
  const pageSize = useModel(__props, "pageSize");
46
+ const emit = __emit;
37
47
  const { lePad, lePadV } = useScreen();
48
+ const { t } = useI18n();
49
+ let scrollEl = null;
50
+ const getScrollEl = () => {
51
+ if (!props.scrollContainer) {
52
+ return window;
53
+ }
54
+ if (typeof props.scrollContainer === "string") {
55
+ return document.querySelector(props.scrollContainer) ?? window;
56
+ }
57
+ return props.scrollContainer;
58
+ };
59
+ const onScroll = useThrottleFn(() => {
60
+ if (!lePadV.value || props.loading || props.noMore) {
61
+ return;
62
+ }
63
+ const el = scrollEl;
64
+ if (!el) {
65
+ return;
66
+ }
67
+ const isWin = el === window;
68
+ const scrollTop = isWin ? window.scrollY : el.scrollTop;
69
+ const clientHeight = isWin ? window.innerHeight : el.clientHeight;
70
+ const scrollHeight = isWin ? document.documentElement.scrollHeight : el.scrollHeight;
71
+ if (scrollTop + clientHeight >= scrollHeight - props.bottomOffset) {
72
+ emit("reach-bottom");
73
+ }
74
+ }, 200);
75
+ const bindScroll = () => {
76
+ unbindScroll();
77
+ if (!props.scrollContainer) {
78
+ return;
79
+ }
80
+ scrollEl = getScrollEl();
81
+ scrollEl.addEventListener("scroll", onScroll, { passive: true });
82
+ };
83
+ const unbindScroll = () => {
84
+ scrollEl == null ? void 0 : scrollEl.removeEventListener("scroll", onScroll);
85
+ scrollEl = null;
86
+ };
87
+ watch(() => props.scrollContainer, bindScroll);
88
+ onMounted(bindScroll);
89
+ onUnmounted(unbindScroll);
38
90
  return (_ctx, _cache) => {
39
- return openBlock(), createElementBlock("div", _hoisted_1, [
40
- createElementVNode("div", _hoisted_2, [
41
- createElementVNode("div", _hoisted_3, [
91
+ return openBlock(), createElementBlock("div", {
92
+ class: normalizeClass(["o-search-result", { "is-hide-tab-mobile": __props.hideTabOnMobile }])
93
+ }, [
94
+ createElementVNode("div", _hoisted_1, [
95
+ createElementVNode("div", _hoisted_2, [
42
96
  renderSlot(_ctx.$slots, "content-header", {}, () => [
43
97
  unref(isArray)(__props.versions) && __props.versions.length ? (openBlock(), createBlock(unref(OSelect), {
44
98
  key: 0,
@@ -61,10 +115,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
61
115
  ], true),
62
116
  createVNode(unref(OSkeleton), {
63
117
  animation: "",
64
- loading: __props.loading
118
+ loading: __props.loading && (!unref(lePadV) || page.value === 1)
65
119
  }, {
66
120
  template: withCtx(() => [
67
- createElementVNode("div", _hoisted_4, [
121
+ createElementVNode("div", _hoisted_3, [
68
122
  (openBlock(), createElementBlock(Fragment, null, renderList(7, (_, i) => {
69
123
  return openBlock(), createElementBlock(Fragment, { key: i }, [
70
124
  createVNode(unref(OSkeletonText), { rows: 3 }),
@@ -77,14 +131,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
77
131
  ])
78
132
  ]),
79
133
  default: withCtx(() => [
80
- createElementVNode("div", _hoisted_5, [
134
+ createElementVNode("div", {
135
+ class: normalizeClass(["o-search-result-content", { "is-empty": !unref(isArray)(__props.items) || __props.items.length === 0 }])
136
+ }, [
81
137
  !unref(isArray)(__props.items) || __props.items.length === 0 ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
82
138
  createVNode(OSearchResultEmpty)
83
139
  ], true) : renderSlot(_ctx.$slots, "list", {
84
140
  key: 1,
85
141
  items: __props.items
86
142
  }, void 0, true)
87
- ])
143
+ ], 2)
88
144
  ]),
89
145
  _: 3
90
146
  }, 8, ["loading"]),
@@ -97,17 +153,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
97
153
  "onUpdate:pageSize": _cache[2] || (_cache[2] = ($event) => pageSize.value = $event),
98
154
  total: __props.total,
99
155
  "page-sizes": __props.pageSizes,
156
+ layout: ["total", "pagesize", "pager", "jumper"],
100
157
  class: "o-search-result-pagination"
101
- }, null, 8, ["page", "page-size", "total", "page-sizes"])) : createCommentVNode("", true)
158
+ }, null, 8, ["page", "page-size", "total", "page-sizes"])) : createCommentVNode("", true),
159
+ unref(lePadV) ? (openBlock(), createElementBlock("div", _hoisted_4, [
160
+ __props.noMore ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
161
+ createTextVNode(toDisplayString(unref(t)("search.reachBottom")), 1)
162
+ ], 64)) : !__props.loading && page.value >= 1 && __props.items.length ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
163
+ createTextVNode(toDisplayString(unref(t)("search.loadMore")), 1)
164
+ ], 64)) : __props.loading && page.value > 1 && __props.items.length ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
165
+ createTextVNode(toDisplayString(unref(t)("search.loading")), 1)
166
+ ], 64)) : createCommentVNode("", true)
167
+ ])) : createCommentVNode("", true)
102
168
  ]),
103
169
  !unref(lePad) ? renderSlot(_ctx.$slots, "right", { key: 0 }, () => [
104
- createElementVNode("div", _hoisted_6, [
105
- createVNode(OSearchResultRelative, { "relative-items": __props.relativeItems }, null, 8, ["relative-items"]),
170
+ createElementVNode("div", _hoisted_5, [
171
+ createVNode(OSearchResultRelative, {
172
+ "relative-items": __props.relativeItems,
173
+ onClickRelativeSearchItem: _cache[3] || (_cache[3] = ($event) => emit("click-relative-search-item", $event))
174
+ }, null, 8, ["relative-items"]),
106
175
  createVNode(OSearchResultFeedback, { submit: __props.submitFeedback }, null, 8, ["submit"])
107
176
  ])
108
177
  ], true) : createCommentVNode("", true)
109
178
  ])
110
- ]);
179
+ ], 2);
111
180
  };
112
181
  }
113
182
  });
@@ -1,24 +1,24 @@
1
- .hover-icon-rotate .o-icon[data-v-0faab97b] {
1
+ .hover-icon-rotate .o-icon[data-v-018008e1] {
2
2
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
3
  }
4
4
  @media (hover: hover) {
5
- .hover-icon-rotate:hover .o-icon[data-v-0faab97b] {
5
+ .hover-icon-rotate:hover .o-icon[data-v-018008e1] {
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
- .o-search-result-header[data-v-0faab97b] {
10
- background-image: var(--v5b9f5904);
9
+ .o-search-result-header[data-v-018008e1] {
10
+ background-image: var(--v1c86e469);
11
11
  background-position: 100% 100%;
12
12
  background-repeat: no-repeat;
13
13
  background-size: cover;
14
14
  }
15
15
  @media (max-width: 840px) {
16
- .o-search-result-header[data-v-0faab97b] {
16
+ .o-search-result-header[data-v-018008e1] {
17
17
  background-image: none;
18
18
  background-color: var(--o-color-fill2);
19
19
  }
20
20
  }
21
- .o-search-result-header .o-search-result-header-content[data-v-0faab97b] {
21
+ .o-search-result-header .o-search-result-header-content[data-v-018008e1] {
22
22
  position: relative;
23
23
  height: 280px;
24
24
  padding-top: 80px;
@@ -26,13 +26,13 @@
26
26
  margin: 0 auto;
27
27
  }
28
28
  @media (max-width: 1680px) {
29
- .o-search-result-header .o-search-result-header-content[data-v-0faab97b] {
29
+ .o-search-result-header .o-search-result-header-content[data-v-018008e1] {
30
30
  height: 220px;
31
31
  padding-top: 52px;
32
32
  }
33
33
  }
34
34
  @media (max-width: 1200px) {
35
- .o-search-result-header .o-search-result-header-content[data-v-0faab97b] {
35
+ .o-search-result-header .o-search-result-header-content[data-v-018008e1] {
36
36
  height: 180px;
37
37
  padding-top: 34px;
38
38
  padding-left: 32px;
@@ -40,36 +40,79 @@
40
40
  }
41
41
  }
42
42
  @media (max-width: 840px) {
43
- .o-search-result-header .o-search-result-header-content[data-v-0faab97b] {
44
- display: flex;
45
- flex-direction: column;
46
- height: auto;
43
+ .o-search-result-header .o-search-result-header-content[data-v-018008e1] {
44
+ height: 90px;
47
45
  padding: 0;
48
- max-width: none;
46
+ box-shadow: var(--o-shadow-2);
49
47
  }
50
48
  }
51
- .o-search-result-header .o-search-result-header-back[data-v-0faab97b] {
49
+ .o-search-result-header .o-search-result-header-back[data-v-018008e1] {
52
50
  display: none;
53
51
  }
54
- .o-search-result-header .o-search-result-header-search-btn[data-v-0faab97b] {
52
+ .o-search-result-header .o-search-result-header-search-btn[data-v-018008e1] {
55
53
  display: none;
56
54
  }
57
- .o-search-result-header .o-search-result-header-input[data-v-0faab97b] {
55
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] {
58
56
  max-width: var(--grid-15);
57
+ background-color: transparent;
58
+ }
59
+ .o-search-result-header .o-search-result-header-input.is-focus[data-v-018008e1] {
60
+ z-index: 100;
59
61
  }
60
62
  @media (min-width: ) {
61
- .o-search-result-header .o-search-result-header-input[data-v-0faab97b] {
63
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] {
62
64
  max-width: var(--grid-10);
63
65
  }
64
66
  }
67
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] .o-input.o_box-large {
68
+ --_box-height: 40px;
69
+ }
70
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] .o-search-image-input-icon {
71
+ font-size: 24px;
72
+ }
73
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] .o-search-image-input.is-expanded {
74
+ background-color: var(--o-color-fill2);
75
+ }
76
+ .o-search-result-header .o-search-result-header-tab-wrap[data-v-018008e1] {
77
+ position: absolute;
78
+ bottom: 0;
79
+ width: 100%;
80
+ }
81
+ @media (max-width: 1200px) {
82
+ .o-search-result-header .o-search-result-header-tab-wrap[data-v-018008e1] {
83
+ width: calc(100% - 64px);
84
+ }
85
+ }
86
+ @media (max-width: 840px) {
87
+ .o-search-result-header .o-search-result-header-tab-wrap[data-v-018008e1] {
88
+ width: 100%;
89
+ padding: 0 32px;
90
+ }
91
+ }
92
+ @media (max-width: 600px) {
93
+ .o-search-result-header .o-search-result-header-tab-wrap[data-v-018008e1] {
94
+ padding: 0 24px;
95
+ }
96
+ }
97
+ .o-search-result-header .o-search-result-header-tab-wrap .o-search-result-header-tab[data-v-018008e1] {
98
+ --tab-nav-justify: start;
99
+ }
100
+ .o-search-result-header .o-search-result-header-tab-wrap .o-search-result-header-tab[data-v-018008e1] .o-tab-nav-list {
101
+ --tab-nav-gap: 40px;
102
+ }
103
+ @media (max-width: 1680px) {
104
+ .o-search-result-header .o-search-result-header-tab-wrap .o-search-result-header-tab[data-v-018008e1] .o-tab-nav-list {
105
+ --tab-nav-gap: 16px;
106
+ }
107
+ }
65
108
  @media (max-width: 840px) {
66
- .o-search-result-header .o-search-result-header-input-row[data-v-0faab97b] {
109
+ .o-search-result-header .o-search-result-header-input-row[data-v-018008e1] {
67
110
  display: flex;
68
111
  align-items: center;
69
- gap: 24px;
112
+ gap: 16px;
70
113
  padding: 8px 32px;
71
114
  }
72
- .o-search-result-header .o-search-result-header-back[data-v-0faab97b] {
115
+ .o-search-result-header .o-search-result-header-back[data-v-018008e1] {
73
116
  display: flex;
74
117
  align-items: center;
75
118
  flex-shrink: 0;
@@ -78,15 +121,15 @@
78
121
  background: none;
79
122
  cursor: pointer;
80
123
  }
81
- .o-search-result-header .o-search-result-header-back .o-icon[data-v-0faab97b] {
124
+ .o-search-result-header .o-search-result-header-back .o-icon[data-v-018008e1] {
82
125
  font-size: 24px;
83
126
  }
84
- .o-search-result-header .o-search-result-header-input[data-v-0faab97b] {
127
+ .o-search-result-header .o-search-result-header-input[data-v-018008e1] {
85
128
  flex: 1;
86
129
  max-width: none;
87
130
  margin: 0;
88
131
  }
89
- .o-search-result-header .o-search-result-header-search-btn[data-v-0faab97b] {
132
+ .o-search-result-header .o-search-result-header-search-btn[data-v-018008e1] {
90
133
  display: block;
91
134
  flex-shrink: 0;
92
135
  font-size: 16px;
@@ -96,30 +139,24 @@
96
139
  }
97
140
  }
98
141
  @media (max-width: 600px) {
99
- .o-search-result-header .o-search-result-header-input-row[data-v-0faab97b] {
142
+ .o-search-result-header .o-search-result-header-input-row[data-v-018008e1] {
100
143
  padding: 8px 24px;
101
144
  }
102
145
  }
103
- .o-search-result-header .o-search-result-header-tab-wrap[data-v-0faab97b] {
104
- position: absolute;
105
- bottom: 0;
106
- }
107
146
  @media (max-width: 840px) {
108
- .o-search-result-header .o-search-result-header-tab-wrap[data-v-0faab97b] {
109
- position: static;
110
- padding: 8px 32px 0;
111
- overflow-x: auto;
112
- z-index: 0;
113
- }
114
- .o-search-result-header .o-search-result-header-tab-wrap[data-v-0faab97b] .o-tab-navs {
115
- flex-wrap: nowrap;
147
+ .o-search-result-header.is-responsive[data-v-018008e1] {
148
+ position: fixed;
149
+ left: 0;
150
+ top: 0;
151
+ right: 0;
152
+ z-index: 999;
116
153
  }
117
154
  }
118
- @media (max-width: 600px) {
119
- .o-search-result-header .o-search-result-header-tab-wrap[data-v-0faab97b] {
120
- padding: 8px 24px;
155
+ @media (max-width: 840px) {
156
+ .o-search-result-header.is-hide-tab-mobile .o-search-result-header-content[data-v-018008e1] {
157
+ height: 56px;
121
158
  }
159
+ .o-search-result-header.is-hide-tab-mobile .o-search-result-header-tab-wrap[data-v-018008e1] {
160
+ display: none;
122
161
  }
123
- .o-search-result-header .o-search-result-header-tab-wrap .o-search-result-header-tab[data-v-0faab97b] {
124
- --tab-nav-justify: start;
125
162
  }
@@ -5,9 +5,12 @@ type __VLS_Props = {
5
5
  bg?: string;
6
6
  tabs?: OSearchItemT[];
7
7
  inputProps?: OSearchInputPropsT;
8
+ responsive?: boolean;
9
+ hideTabOnMobile?: boolean;
8
10
  };
9
11
  type __VLS_PublicProps = {
10
12
  'searchInput'?: string;
13
+ 'imageUrl'?: string;
11
14
  'tab'?: string | number;
12
15
  } & __VLS_Props;
13
16
  declare function __VLS_template(): {
@@ -650,15 +653,20 @@ declare function __VLS_template(): {
650
653
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
651
654
  declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
652
655
  search: (payload: OSearchPayload) => any;
656
+ "update:imageUrl": (value: string) => any;
653
657
  back: () => any;
654
658
  "update:searchInput": (value: string) => any;
655
659
  "update:tab": (value: string | number) => any;
656
660
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
657
661
  onSearch?: ((payload: OSearchPayload) => any) | undefined;
662
+ "onUpdate:imageUrl"?: ((value: string) => any) | undefined;
658
663
  onBack?: (() => any) | undefined;
659
664
  "onUpdate:searchInput"?: ((value: string) => any) | undefined;
660
665
  "onUpdate:tab"?: ((value: string | number) => any) | undefined;
661
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
666
+ }>, {
667
+ responsive: boolean;
668
+ hideTabOnMobile: boolean;
669
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
662
670
  searchInputRef: ({
663
671
  $: import('vue').ComponentInternalInstance;
664
672
  $data: {};
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./OSearchResultHeader.vue2.mjs";
2
2
  import './OSearchResultHeader.css';
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const _OSearchResultHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0faab97b"]]);
4
+ const _OSearchResultHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-018008e1"]]);
5
5
  export {
6
6
  _OSearchResultHeader as default
7
7
  };