jobsys-explore 4.7.11 → 4.7.13
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.
- package/.changeset/config.json +11 -11
- package/.eslintignore +3 -3
- package/.eslintrc.cjs +37 -37
- package/.prettierrc.cjs +38 -38
- package/CHANGELOG.md +542 -542
- package/README.md +41 -41
- package/TODOs.md +8 -8
- package/business-components/index.js +1 -1
- package/business-components/survey/ExSurvey.jsx +193 -193
- package/business-components/survey/index.js +5 -5
- package/business-components/survey/index.less +36 -36
- package/components/button/ExButton.jsx +120 -120
- package/components/button/index.js +4 -4
- package/components/button/index.less +7 -7
- package/components/decorator/ExDecorator.jsx +31 -31
- package/components/decorator/index.js +5 -5
- package/components/decorator/index.less +76 -76
- package/components/form/ExAddress.jsx +195 -195
- package/components/form/ExCascader.jsx +171 -171
- package/components/form/ExCheckbox.jsx +59 -59
- package/components/form/ExDate.jsx +143 -143
- package/components/form/ExDatetime.jsx +166 -166
- package/components/form/ExField.jsx +138 -138
- package/components/form/ExFieldUploader.jsx +50 -50
- package/components/form/ExForm.jsx +549 -549
- package/components/form/ExMatrixCheckbox.jsx +99 -99
- package/components/form/ExMatrixRadio.jsx +86 -86
- package/components/form/ExMatrixScale.jsx +97 -97
- package/components/form/ExNumber.jsx +51 -51
- package/components/form/ExRadio.jsx +58 -58
- package/components/form/ExRate.jsx +51 -51
- package/components/form/ExSelect.jsx +251 -251
- package/components/form/ExSlider.jsx +55 -55
- package/components/form/ExSwitch.jsx +51 -51
- package/components/form/ExTime.jsx +99 -99
- package/components/form/FormItem.jsx +307 -307
- package/components/form/PickerWrapper.jsx +120 -120
- package/components/form/index.js +46 -46
- package/components/form/index.less +178 -178
- package/components/form/utils.js +62 -63
- package/components/grid/ExGrid.jsx +53 -53
- package/components/grid/index.js +4 -4
- package/components/grid/index.less +2 -2
- package/components/index.js +12 -12
- package/components/pagination/ExPagination.jsx +459 -457
- package/components/pagination/index.js +5 -5
- package/components/pagination/index.less +3 -3
- package/components/provider/ExProvider.jsx +173 -173
- package/components/provider/index.js +4 -4
- package/components/qrcode/ExQrcode.jsx +86 -86
- package/components/qrcode/index.js +5 -5
- package/components/qrcode/index.less +8 -8
- package/components/result/ExResult.jsx +122 -122
- package/components/result/index.js +5 -5
- package/components/result/index.less +59 -59
- package/components/search/ExSearch.jsx +375 -375
- package/components/search/components/Expand.jsx +77 -77
- package/components/search/components/Field.jsx +27 -27
- package/components/search/components/Quick.jsx +57 -57
- package/components/search/components/index.js +5 -5
- package/components/search/index.js +5 -5
- package/components/search/index.less +118 -118
- package/components/search/utils.js +30 -30
- package/components/sector/ExSector.jsx +52 -52
- package/components/sector/README.md +26 -26
- package/components/sector/index.js +5 -5
- package/components/sector/index.less +122 -122
- package/components/theme/ExTheme.jsx +10 -10
- package/components/theme/index.js +4 -4
- package/components/theme/index.less +98 -98
- package/components/uploader/ExUploader.jsx +303 -303
- package/components/uploader/index.js +5 -5
- package/components/utils.js +187 -187
- package/directives/auth.js +113 -113
- package/directives/index.js +4 -4
- package/dist/cipher-98df1050.cjs.map +1 -1
- package/dist/cipher-f2ed5ee6.js.map +1 -1
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js.map +1 -1
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/jobsys-explore.cjs +5 -5
- package/dist/jobsys-explore.cjs.map +1 -1
- package/dist/jobsys-explore.js +10 -3
- package/dist/jobsys-explore.js.map +1 -1
- package/docgen.config.js +15 -15
- package/docs/.vuepress/.cache/deps/@vue_devtools-api.js +11 -11
- package/docs/.vuepress/.cache/deps/@vue_devtools-api.js.map +7 -7
- package/docs/.vuepress/.cache/deps/@vuepress_shared.js +110 -110
- package/docs/.vuepress/.cache/deps/@vuepress_shared.js.map +7 -7
- package/docs/.vuepress/.cache/deps/@vueuse_core.js +8758 -8758
- package/docs/.vuepress/.cache/deps/@vueuse_core.js.map +7 -7
- package/docs/.vuepress/.cache/deps/_metadata.json +52 -52
- package/docs/.vuepress/.cache/deps/chunk-37RBVGNF.js +10577 -10577
- package/docs/.vuepress/.cache/deps/chunk-37RBVGNF.js.map +7 -7
- package/docs/.vuepress/.cache/deps/chunk-H2FJVFR5.js +163 -163
- package/docs/.vuepress/.cache/deps/chunk-H2FJVFR5.js.map +7 -7
- package/docs/.vuepress/.cache/deps/chunk-L7E56NPU.js +306 -306
- package/docs/.vuepress/.cache/deps/chunk-L7E56NPU.js.map +7 -7
- package/docs/.vuepress/.cache/deps/lodash-es.js +8442 -8442
- package/docs/.vuepress/.cache/deps/lodash-es.js.map +7 -7
- package/docs/.vuepress/.cache/deps/package.json +3 -3
- package/docs/.vuepress/.cache/deps/vue-router.js +2667 -2667
- package/docs/.vuepress/.cache/deps/vue-router.js.map +7 -7
- package/docs/.vuepress/.cache/deps/vue.js +315 -315
- package/docs/.vuepress/.cache/deps/vue.js.map +7 -7
- package/docs/.vuepress/.temp/internal/clientConfigs.js +17 -17
- package/docs/.vuepress/.temp/internal/pagesComponents.js +24 -24
- package/docs/.vuepress/.temp/internal/pagesData.js +22 -22
- package/docs/.vuepress/.temp/internal/pagesRoutes.js +12 -12
- package/docs/.vuepress/.temp/internal/siteData.js +1 -1
- package/docs/.vuepress/.temp/internal/themeData.js +1 -1
- package/docs/.vuepress/.temp/pages/404.html.js +1 -1
- package/docs/.vuepress/.temp/pages/404.html.vue +3 -3
- package/docs/.vuepress/.temp/pages/components/button/ExButton.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/button/ExButton.html.vue +111 -111
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/decorator/ExDecorator.html.vue +37 -37
- package/docs/.vuepress/.temp/pages/components/form/ExForm.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/form/ExForm.html.vue +187 -187
- package/docs/.vuepress/.temp/pages/components/provider/ExProvider.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/provider/ExProvider.html.vue +51 -51
- package/docs/.vuepress/.temp/pages/components/search/ExSearch.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/search/ExSearch.html.vue +108 -108
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/sector/ExSector.html.vue +71 -71
- package/docs/.vuepress/.temp/pages/components/uploader/ExUploader.html.js +1 -1
- package/docs/.vuepress/.temp/pages/components/uploader/ExUploader.html.vue +162 -162
- package/docs/.vuepress/.temp/pages/hooks.html.js +1 -1
- package/docs/.vuepress/.temp/pages/hooks.html.vue +697 -697
- package/docs/.vuepress/.temp/pages/index.html.js +1 -1
- package/docs/.vuepress/.temp/pages/index.html.vue +56 -56
- package/docs/.vuepress/.temp/styles/index.scss +1 -1
- package/docs/.vuepress/.temp/vite-root/index.html +13 -13
- package/docs/.vuepress/config.js +61 -61
- package/docs/.vuepress/dist/404.html +33 -33
- package/docs/.vuepress/dist/assets/404.html-a0ce2184.js +1 -1
- package/docs/.vuepress/dist/assets/404.html-f9875e7b.js +1 -1
- package/docs/.vuepress/dist/assets/ExButton.html-ad283101.js +1 -1
- package/docs/.vuepress/dist/assets/ExButton.html-b975c5b2.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-42d09114.js +1 -1
- package/docs/.vuepress/dist/assets/ExDecorator.html-c82c5fe8.js +1 -1
- package/docs/.vuepress/dist/assets/ExForm.html-24f42bf7.js +1 -1
- package/docs/.vuepress/dist/assets/ExForm.html-9e3f8000.js +1 -1
- package/docs/.vuepress/dist/assets/ExProvider.html-50d01930.js +1 -1
- package/docs/.vuepress/dist/assets/ExProvider.html-78fdc6cd.js +1 -1
- package/docs/.vuepress/dist/assets/ExSearch.html-103f6f34.js +1 -1
- package/docs/.vuepress/dist/assets/ExSearch.html-635a618b.js +1 -1
- package/docs/.vuepress/dist/assets/ExSector.html-a1e24c3a.js +7 -7
- package/docs/.vuepress/dist/assets/ExSector.html-cff3fefd.js +1 -1
- package/docs/.vuepress/dist/assets/ExUploader.html-8310e424.js +1 -1
- package/docs/.vuepress/dist/assets/ExUploader.html-f059c617.js +1 -1
- package/docs/.vuepress/dist/assets/app-29fe8d1e.js +10 -10
- package/docs/.vuepress/dist/assets/hooks.html-90ccbc1a.js +1 -1
- package/docs/.vuepress/dist/assets/hooks.html-ddb4f378.js +1 -1
- package/docs/.vuepress/dist/assets/index.html-85b79c97.js +43 -43
- package/docs/.vuepress/dist/assets/index.html-e18a38b1.js +1 -1
- package/docs/.vuepress/dist/assets/style-46d7e227.css +1 -1
- package/docs/.vuepress/dist/components/button/ExButton.html +33 -33
- package/docs/.vuepress/dist/components/decorator/ExDecorator.html +33 -33
- package/docs/.vuepress/dist/components/form/ExForm.html +33 -33
- package/docs/.vuepress/dist/components/provider/ExProvider.html +33 -33
- package/docs/.vuepress/dist/components/search/ExSearch.html +33 -33
- package/docs/.vuepress/dist/components/sector/ExSector.html +39 -39
- package/docs/.vuepress/dist/components/uploader/ExUploader.html +33 -33
- package/docs/.vuepress/dist/hooks.html +33 -33
- package/docs/.vuepress/dist/index.html +75 -75
- package/docs/.vuepress/styles/index.scss +7 -7
- package/docs/components/button/ExButton.md +30 -30
- package/docs/components/decorator/ExDecorator.md +14 -14
- package/docs/components/form/ExForm.md +39 -39
- package/docs/components/provider/ExProvider.md +16 -16
- package/docs/components/search/ExSearch.md +28 -28
- package/docs/components/sector/ExSector.md +43 -43
- package/docs/components/uploader/ExUploader.md +36 -36
- package/docs/index.md +82 -82
- package/hooks/cipher.js +44 -44
- package/hooks/datetime.js +69 -69
- package/hooks/form.js +188 -188
- package/hooks/index.js +5 -5
- package/hooks/network.js +122 -122
- package/hooks/utils.js +282 -282
- package/index.html +17 -17
- package/index.js +31 -31
- package/package.json +5 -5
- package/playground/App.vue +191 -192
- package/playground/TestButton.vue +61 -61
- package/playground/TestCascader.vue +2442 -2442
- package/playground/TestDecorator.vue +14 -14
- package/playground/TestForm.vue +429 -466
- package/playground/TestFormItem.vue +110 -110
- package/playground/TestGrid.vue +22 -22
- package/playground/TestPagination.vue +1250 -1250
- package/playground/TestQrcode.vue +7 -7
- package/playground/TestResult.vue +12 -12
- package/playground/TestSearch.vue +115 -115
- package/playground/TestSector.vue +15 -15
- package/playground/TestSurvey.vue +27 -27
- package/playground/TestUploader.vue +14 -14
- package/playground/http.js +23 -23
- package/playground/main.js +22 -22
- package/postcss.config.cjs +8 -8
- package/utils/style.js +13 -13
- package/utils/withInstall.js +7 -7
- package/vite.config.js +54 -54
- package/.changeset/twelve-fans-fix.md +0 -5
package/docgen.config.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
components: [
|
|
3
|
-
"./components/button/ExButton.jsx",
|
|
4
|
-
"./components/form/ExForm.jsx",
|
|
5
|
-
"./components/provider/ExProvider.jsx",
|
|
6
|
-
"./components/search/ExSearch.jsx",
|
|
7
|
-
"./components/uploader/ExUploader.jsx",
|
|
8
|
-
"./components/sector/ExSector.jsx",
|
|
9
|
-
"./components/decorator/ExDecorator.jsx",
|
|
10
|
-
],
|
|
11
|
-
outDir: "docs", // folder to save components docs in (relative to the current working directry)
|
|
12
|
-
apiOptions: {
|
|
13
|
-
jsx: true, // tell vue-docgen-api that your components are using JSX to avoid conflicts with TypeScript <type> syntax
|
|
14
|
-
},
|
|
15
|
-
}
|
|
1
|
+
export default {
|
|
2
|
+
components: [
|
|
3
|
+
"./components/button/ExButton.jsx",
|
|
4
|
+
"./components/form/ExForm.jsx",
|
|
5
|
+
"./components/provider/ExProvider.jsx",
|
|
6
|
+
"./components/search/ExSearch.jsx",
|
|
7
|
+
"./components/uploader/ExUploader.jsx",
|
|
8
|
+
"./components/sector/ExSector.jsx",
|
|
9
|
+
"./components/decorator/ExDecorator.jsx",
|
|
10
|
+
],
|
|
11
|
+
outDir: "docs", // folder to save components docs in (relative to the current working directry)
|
|
12
|
+
apiOptions: {
|
|
13
|
+
jsx: true, // tell vue-docgen-api that your components are using JSX to avoid conflicts with TypeScript <type> syntax
|
|
14
|
+
},
|
|
15
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isPerformanceSupported,
|
|
3
|
-
now,
|
|
4
|
-
setupDevtoolsPlugin
|
|
5
|
-
} from "./chunk-H2FJVFR5.js";
|
|
6
|
-
export {
|
|
7
|
-
isPerformanceSupported,
|
|
8
|
-
now,
|
|
9
|
-
setupDevtoolsPlugin
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=@vue_devtools-api.js.map
|
|
1
|
+
import {
|
|
2
|
+
isPerformanceSupported,
|
|
3
|
+
now,
|
|
4
|
+
setupDevtoolsPlugin
|
|
5
|
+
} from "./chunk-H2FJVFR5.js";
|
|
6
|
+
export {
|
|
7
|
+
isPerformanceSupported,
|
|
8
|
+
now,
|
|
9
|
+
setupDevtoolsPlugin
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=@vue_devtools-api.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": [],
|
|
4
|
-
"sourcesContent": [],
|
|
5
|
-
"mappings": "",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": [],
|
|
4
|
+
"sourcesContent": [],
|
|
5
|
+
"mappings": "",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isArray,
|
|
3
|
-
isFunction,
|
|
4
|
-
isString
|
|
5
|
-
} from "./chunk-L7E56NPU.js";
|
|
6
|
-
|
|
7
|
-
// ../../node_modules/.pnpm/@vuepress+shared@2.0.0-beta.67/node_modules/@vuepress/shared/dist/index.js
|
|
8
|
-
var resolveHeadIdentifier = ([
|
|
9
|
-
tag,
|
|
10
|
-
attrs,
|
|
11
|
-
content
|
|
12
|
-
]) => {
|
|
13
|
-
if (tag === "meta" && attrs.name) {
|
|
14
|
-
return `${tag}.${attrs.name}`;
|
|
15
|
-
}
|
|
16
|
-
if (["title", "base"].includes(tag)) {
|
|
17
|
-
return tag;
|
|
18
|
-
}
|
|
19
|
-
if (tag === "template" && attrs.id) {
|
|
20
|
-
return `${tag}.${attrs.id}`;
|
|
21
|
-
}
|
|
22
|
-
return JSON.stringify([tag, attrs, content]);
|
|
23
|
-
};
|
|
24
|
-
var dedupeHead = (head) => {
|
|
25
|
-
const identifierSet = /* @__PURE__ */ new Set();
|
|
26
|
-
const result = [];
|
|
27
|
-
head.forEach((item) => {
|
|
28
|
-
const identifier = resolveHeadIdentifier(item);
|
|
29
|
-
if (!identifierSet.has(identifier)) {
|
|
30
|
-
identifierSet.add(identifier);
|
|
31
|
-
result.push(item);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var ensureLeadingSlash = (str) => str[0] === "/" ? str : `/${str}`;
|
|
37
|
-
var ensureEndingSlash = (str) => str[str.length - 1] === "/" || str.endsWith(".html") ? str : `${str}/`;
|
|
38
|
-
var formatDateString = (str, defaultDateString = "") => {
|
|
39
|
-
const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/);
|
|
40
|
-
if (dateMatch === null) {
|
|
41
|
-
return defaultDateString;
|
|
42
|
-
}
|
|
43
|
-
const [, yearStr, monthStr, dayStr] = dateMatch;
|
|
44
|
-
return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-");
|
|
45
|
-
};
|
|
46
|
-
var isLinkFtp = (link) => link.startsWith("ftp://");
|
|
47
|
-
var isLinkHttp = (link) => /^(https?:)?\/\//.test(link);
|
|
48
|
-
var markdownLinkRegexp = /.md((\?|#).*)?$/;
|
|
49
|
-
var isLinkExternal = (link, base = "/") => {
|
|
50
|
-
if (isLinkHttp(link) || isLinkFtp(link)) {
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
if (link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
};
|
|
58
|
-
var isLinkMailto = (link) => /^mailto:/.test(link);
|
|
59
|
-
var isLinkTel = (link) => /^tel:/.test(link);
|
|
60
|
-
var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]";
|
|
61
|
-
var omit = (obj, ...keys) => {
|
|
62
|
-
const result = { ...obj };
|
|
63
|
-
for (const key of keys) {
|
|
64
|
-
delete result[key];
|
|
65
|
-
}
|
|
66
|
-
return result;
|
|
67
|
-
};
|
|
68
|
-
var removeEndingSlash = (str) => str[str.length - 1] === "/" ? str.slice(0, -1) : str;
|
|
69
|
-
var removeLeadingSlash = (str) => str[0] === "/" ? str.slice(1) : str;
|
|
70
|
-
var resolveLocalePath = (locales, routePath) => {
|
|
71
|
-
const localePaths = Object.keys(locales).sort((a, b) => {
|
|
72
|
-
const levelDelta = b.split("/").length - a.split("/").length;
|
|
73
|
-
if (levelDelta !== 0) {
|
|
74
|
-
return levelDelta;
|
|
75
|
-
}
|
|
76
|
-
return b.length - a.length;
|
|
77
|
-
});
|
|
78
|
-
for (const localePath of localePaths) {
|
|
79
|
-
if (routePath.startsWith(localePath)) {
|
|
80
|
-
return localePath;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return "/";
|
|
84
|
-
};
|
|
85
|
-
var resolveRoutePathFromUrl = (url, base = "/") => {
|
|
86
|
-
const pathname = url.replace(/^(https?:)?\/\/[^/]*/, "");
|
|
87
|
-
return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;
|
|
88
|
-
};
|
|
89
|
-
export {
|
|
90
|
-
dedupeHead,
|
|
91
|
-
ensureEndingSlash,
|
|
92
|
-
ensureLeadingSlash,
|
|
93
|
-
formatDateString,
|
|
94
|
-
isArray,
|
|
95
|
-
isFunction,
|
|
96
|
-
isLinkExternal,
|
|
97
|
-
isLinkFtp,
|
|
98
|
-
isLinkHttp,
|
|
99
|
-
isLinkMailto,
|
|
100
|
-
isLinkTel,
|
|
101
|
-
isPlainObject,
|
|
102
|
-
isString,
|
|
103
|
-
omit,
|
|
104
|
-
removeEndingSlash,
|
|
105
|
-
removeLeadingSlash,
|
|
106
|
-
resolveHeadIdentifier,
|
|
107
|
-
resolveLocalePath,
|
|
108
|
-
resolveRoutePathFromUrl
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=@vuepress_shared.js.map
|
|
1
|
+
import {
|
|
2
|
+
isArray,
|
|
3
|
+
isFunction,
|
|
4
|
+
isString
|
|
5
|
+
} from "./chunk-L7E56NPU.js";
|
|
6
|
+
|
|
7
|
+
// ../../node_modules/.pnpm/@vuepress+shared@2.0.0-beta.67/node_modules/@vuepress/shared/dist/index.js
|
|
8
|
+
var resolveHeadIdentifier = ([
|
|
9
|
+
tag,
|
|
10
|
+
attrs,
|
|
11
|
+
content
|
|
12
|
+
]) => {
|
|
13
|
+
if (tag === "meta" && attrs.name) {
|
|
14
|
+
return `${tag}.${attrs.name}`;
|
|
15
|
+
}
|
|
16
|
+
if (["title", "base"].includes(tag)) {
|
|
17
|
+
return tag;
|
|
18
|
+
}
|
|
19
|
+
if (tag === "template" && attrs.id) {
|
|
20
|
+
return `${tag}.${attrs.id}`;
|
|
21
|
+
}
|
|
22
|
+
return JSON.stringify([tag, attrs, content]);
|
|
23
|
+
};
|
|
24
|
+
var dedupeHead = (head) => {
|
|
25
|
+
const identifierSet = /* @__PURE__ */ new Set();
|
|
26
|
+
const result = [];
|
|
27
|
+
head.forEach((item) => {
|
|
28
|
+
const identifier = resolveHeadIdentifier(item);
|
|
29
|
+
if (!identifierSet.has(identifier)) {
|
|
30
|
+
identifierSet.add(identifier);
|
|
31
|
+
result.push(item);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var ensureLeadingSlash = (str) => str[0] === "/" ? str : `/${str}`;
|
|
37
|
+
var ensureEndingSlash = (str) => str[str.length - 1] === "/" || str.endsWith(".html") ? str : `${str}/`;
|
|
38
|
+
var formatDateString = (str, defaultDateString = "") => {
|
|
39
|
+
const dateMatch = str.match(/\b(\d{4})-(\d{1,2})-(\d{1,2})\b/);
|
|
40
|
+
if (dateMatch === null) {
|
|
41
|
+
return defaultDateString;
|
|
42
|
+
}
|
|
43
|
+
const [, yearStr, monthStr, dayStr] = dateMatch;
|
|
44
|
+
return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-");
|
|
45
|
+
};
|
|
46
|
+
var isLinkFtp = (link) => link.startsWith("ftp://");
|
|
47
|
+
var isLinkHttp = (link) => /^(https?:)?\/\//.test(link);
|
|
48
|
+
var markdownLinkRegexp = /.md((\?|#).*)?$/;
|
|
49
|
+
var isLinkExternal = (link, base = "/") => {
|
|
50
|
+
if (isLinkHttp(link) || isLinkFtp(link)) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
if (link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
58
|
+
var isLinkMailto = (link) => /^mailto:/.test(link);
|
|
59
|
+
var isLinkTel = (link) => /^tel:/.test(link);
|
|
60
|
+
var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]";
|
|
61
|
+
var omit = (obj, ...keys) => {
|
|
62
|
+
const result = { ...obj };
|
|
63
|
+
for (const key of keys) {
|
|
64
|
+
delete result[key];
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
};
|
|
68
|
+
var removeEndingSlash = (str) => str[str.length - 1] === "/" ? str.slice(0, -1) : str;
|
|
69
|
+
var removeLeadingSlash = (str) => str[0] === "/" ? str.slice(1) : str;
|
|
70
|
+
var resolveLocalePath = (locales, routePath) => {
|
|
71
|
+
const localePaths = Object.keys(locales).sort((a, b) => {
|
|
72
|
+
const levelDelta = b.split("/").length - a.split("/").length;
|
|
73
|
+
if (levelDelta !== 0) {
|
|
74
|
+
return levelDelta;
|
|
75
|
+
}
|
|
76
|
+
return b.length - a.length;
|
|
77
|
+
});
|
|
78
|
+
for (const localePath of localePaths) {
|
|
79
|
+
if (routePath.startsWith(localePath)) {
|
|
80
|
+
return localePath;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return "/";
|
|
84
|
+
};
|
|
85
|
+
var resolveRoutePathFromUrl = (url, base = "/") => {
|
|
86
|
+
const pathname = url.replace(/^(https?:)?\/\/[^/]*/, "");
|
|
87
|
+
return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;
|
|
88
|
+
};
|
|
89
|
+
export {
|
|
90
|
+
dedupeHead,
|
|
91
|
+
ensureEndingSlash,
|
|
92
|
+
ensureLeadingSlash,
|
|
93
|
+
formatDateString,
|
|
94
|
+
isArray,
|
|
95
|
+
isFunction,
|
|
96
|
+
isLinkExternal,
|
|
97
|
+
isLinkFtp,
|
|
98
|
+
isLinkHttp,
|
|
99
|
+
isLinkMailto,
|
|
100
|
+
isLinkTel,
|
|
101
|
+
isPlainObject,
|
|
102
|
+
isString,
|
|
103
|
+
omit,
|
|
104
|
+
removeEndingSlash,
|
|
105
|
+
removeLeadingSlash,
|
|
106
|
+
resolveHeadIdentifier,
|
|
107
|
+
resolveLocalePath,
|
|
108
|
+
resolveRoutePathFromUrl
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=@vuepress_shared.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../node_modules/.pnpm/@vuepress+shared@2.0.0-beta.67/node_modules/@vuepress/shared/dist/index.js"],
|
|
4
|
-
"sourcesContent": ["// src/utils/index.ts\nimport { isArray, isFunction, isString } from \"@vue/shared\";\n\n// src/utils/resolveHeadIdentifier.ts\nvar resolveHeadIdentifier = ([\n tag,\n attrs,\n content\n]) => {\n if (tag === \"meta\" && attrs.name) {\n return `${tag}.${attrs.name}`;\n }\n if ([\"title\", \"base\"].includes(tag)) {\n return tag;\n }\n if (tag === \"template\" && attrs.id) {\n return `${tag}.${attrs.id}`;\n }\n return JSON.stringify([tag, attrs, content]);\n};\n\n// src/utils/dedupeHead.ts\nvar dedupeHead = (head) => {\n const identifierSet = /* @__PURE__ */ new Set();\n const result = [];\n head.forEach((item) => {\n const identifier = resolveHeadIdentifier(item);\n if (!identifierSet.has(identifier)) {\n identifierSet.add(identifier);\n result.push(item);\n }\n });\n return result;\n};\n\n// src/utils/ensureLeadingSlash.ts\nvar ensureLeadingSlash = (str) => str[0] === \"/\" ? str : `/${str}`;\n\n// src/utils/ensureEndingSlash.ts\nvar ensureEndingSlash = (str) => str[str.length - 1] === \"/\" || str.endsWith(\".html\") ? str : `${str}/`;\n\n// src/utils/formatDateString.ts\nvar formatDateString = (str, defaultDateString = \"\") => {\n const dateMatch = str.match(/\\b(\\d{4})-(\\d{1,2})-(\\d{1,2})\\b/);\n if (dateMatch === null) {\n return defaultDateString;\n }\n const [, yearStr, monthStr, dayStr] = dateMatch;\n return [yearStr, monthStr.padStart(2, \"0\"), dayStr.padStart(2, \"0\")].join(\"-\");\n};\n\n// src/utils/isLinkFtp.ts\nvar isLinkFtp = (link) => link.startsWith(\"ftp://\");\n\n// src/utils/isLinkHttp.ts\nvar isLinkHttp = (link) => /^(https?:)?\\/\\//.test(link);\n\n// src/utils/isLinkExternal.ts\nvar markdownLinkRegexp = /.md((\\?|#).*)?$/;\nvar isLinkExternal = (link, base = \"/\") => {\n if (isLinkHttp(link) || isLinkFtp(link)) {\n return true;\n }\n if (link.startsWith(\"/\") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {\n return true;\n }\n return false;\n};\n\n// src/utils/isLinkMailto.ts\nvar isLinkMailto = (link) => /^mailto:/.test(link);\n\n// src/utils/isLinkTel.ts\nvar isLinkTel = (link) => /^tel:/.test(link);\n\n// src/utils/isPlainObject.ts\nvar isPlainObject = (val) => Object.prototype.toString.call(val) === \"[object Object]\";\n\n// src/utils/omit.ts\nvar omit = (obj, ...keys) => {\n const result = { ...obj };\n for (const key of keys) {\n delete result[key];\n }\n return result;\n};\n\n// src/utils/removeEndingSlash.ts\nvar removeEndingSlash = (str) => str[str.length - 1] === \"/\" ? str.slice(0, -1) : str;\n\n// src/utils/removeLeadingSlash.ts\nvar removeLeadingSlash = (str) => str[0] === \"/\" ? str.slice(1) : str;\n\n// src/utils/resolveLocalePath.ts\nvar resolveLocalePath = (locales, routePath) => {\n const localePaths = Object.keys(locales).sort((a, b) => {\n const levelDelta = b.split(\"/\").length - a.split(\"/\").length;\n if (levelDelta !== 0) {\n return levelDelta;\n }\n return b.length - a.length;\n });\n for (const localePath of localePaths) {\n if (routePath.startsWith(localePath)) {\n return localePath;\n }\n }\n return \"/\";\n};\n\n// src/utils/resolveRoutePathFromUrl.ts\nvar resolveRoutePathFromUrl = (url, base = \"/\") => {\n const pathname = url.replace(/^(https?:)?\\/\\/[^/]*/, \"\");\n return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;\n};\nexport {\n dedupeHead,\n ensureEndingSlash,\n ensureLeadingSlash,\n formatDateString,\n isArray,\n isFunction,\n isLinkExternal,\n isLinkFtp,\n isLinkHttp,\n isLinkMailto,\n isLinkTel,\n isPlainObject,\n isString,\n omit,\n removeEndingSlash,\n removeLeadingSlash,\n resolveHeadIdentifier,\n resolveLocalePath,\n resolveRoutePathFromUrl\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../node_modules/.pnpm/@vuepress+shared@2.0.0-beta.67/node_modules/@vuepress/shared/dist/index.js"],
|
|
4
|
+
"sourcesContent": ["// src/utils/index.ts\nimport { isArray, isFunction, isString } from \"@vue/shared\";\n\n// src/utils/resolveHeadIdentifier.ts\nvar resolveHeadIdentifier = ([\n tag,\n attrs,\n content\n]) => {\n if (tag === \"meta\" && attrs.name) {\n return `${tag}.${attrs.name}`;\n }\n if ([\"title\", \"base\"].includes(tag)) {\n return tag;\n }\n if (tag === \"template\" && attrs.id) {\n return `${tag}.${attrs.id}`;\n }\n return JSON.stringify([tag, attrs, content]);\n};\n\n// src/utils/dedupeHead.ts\nvar dedupeHead = (head) => {\n const identifierSet = /* @__PURE__ */ new Set();\n const result = [];\n head.forEach((item) => {\n const identifier = resolveHeadIdentifier(item);\n if (!identifierSet.has(identifier)) {\n identifierSet.add(identifier);\n result.push(item);\n }\n });\n return result;\n};\n\n// src/utils/ensureLeadingSlash.ts\nvar ensureLeadingSlash = (str) => str[0] === \"/\" ? str : `/${str}`;\n\n// src/utils/ensureEndingSlash.ts\nvar ensureEndingSlash = (str) => str[str.length - 1] === \"/\" || str.endsWith(\".html\") ? str : `${str}/`;\n\n// src/utils/formatDateString.ts\nvar formatDateString = (str, defaultDateString = \"\") => {\n const dateMatch = str.match(/\\b(\\d{4})-(\\d{1,2})-(\\d{1,2})\\b/);\n if (dateMatch === null) {\n return defaultDateString;\n }\n const [, yearStr, monthStr, dayStr] = dateMatch;\n return [yearStr, monthStr.padStart(2, \"0\"), dayStr.padStart(2, \"0\")].join(\"-\");\n};\n\n// src/utils/isLinkFtp.ts\nvar isLinkFtp = (link) => link.startsWith(\"ftp://\");\n\n// src/utils/isLinkHttp.ts\nvar isLinkHttp = (link) => /^(https?:)?\\/\\//.test(link);\n\n// src/utils/isLinkExternal.ts\nvar markdownLinkRegexp = /.md((\\?|#).*)?$/;\nvar isLinkExternal = (link, base = \"/\") => {\n if (isLinkHttp(link) || isLinkFtp(link)) {\n return true;\n }\n if (link.startsWith(\"/\") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {\n return true;\n }\n return false;\n};\n\n// src/utils/isLinkMailto.ts\nvar isLinkMailto = (link) => /^mailto:/.test(link);\n\n// src/utils/isLinkTel.ts\nvar isLinkTel = (link) => /^tel:/.test(link);\n\n// src/utils/isPlainObject.ts\nvar isPlainObject = (val) => Object.prototype.toString.call(val) === \"[object Object]\";\n\n// src/utils/omit.ts\nvar omit = (obj, ...keys) => {\n const result = { ...obj };\n for (const key of keys) {\n delete result[key];\n }\n return result;\n};\n\n// src/utils/removeEndingSlash.ts\nvar removeEndingSlash = (str) => str[str.length - 1] === \"/\" ? str.slice(0, -1) : str;\n\n// src/utils/removeLeadingSlash.ts\nvar removeLeadingSlash = (str) => str[0] === \"/\" ? str.slice(1) : str;\n\n// src/utils/resolveLocalePath.ts\nvar resolveLocalePath = (locales, routePath) => {\n const localePaths = Object.keys(locales).sort((a, b) => {\n const levelDelta = b.split(\"/\").length - a.split(\"/\").length;\n if (levelDelta !== 0) {\n return levelDelta;\n }\n return b.length - a.length;\n });\n for (const localePath of localePaths) {\n if (routePath.startsWith(localePath)) {\n return localePath;\n }\n }\n return \"/\";\n};\n\n// src/utils/resolveRoutePathFromUrl.ts\nvar resolveRoutePathFromUrl = (url, base = \"/\") => {\n const pathname = url.replace(/^(https?:)?\\/\\/[^/]*/, \"\");\n return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;\n};\nexport {\n dedupeHead,\n ensureEndingSlash,\n ensureLeadingSlash,\n formatDateString,\n isArray,\n isFunction,\n isLinkExternal,\n isLinkFtp,\n isLinkHttp,\n isLinkMailto,\n isLinkTel,\n isPlainObject,\n isString,\n omit,\n removeEndingSlash,\n removeLeadingSlash,\n resolveHeadIdentifier,\n resolveLocalePath,\n resolveRoutePathFromUrl\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|