@g1cloud/bluesea 5.0.0-beta.26 → 5.0.0-beta.28
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/README.md +21 -0
- package/bin/install-claude-skill.mjs +74 -0
- package/css/bluesea.css +61 -7
- package/dist/{BSAlertModal-CCdaoT-g.js → BSAlertModal-BpbJuAe1.js} +1 -1
- package/dist/{BSGridColumnSettingModal-CMJqpWzY.js → BSGridColumnSettingModal-8MqhRWkU.js} +1 -1
- package/dist/{BSRichTextMaximizedModal-Byrr_L8I.js → BSRichTextMaximizedModal-C86Skc5v.js} +1 -1
- package/dist/{BSYesNoModal-BljzNd5_.js → BSYesNoModal-CHbktVAj.js} +1 -1
- package/dist/{BSYoutubeInputModal-BZR0jJvt.js → BSYoutubeInputModal-JKnr4hGE.js} +1 -1
- package/dist/{ImageInsertModal-wdRGMEHH.js → ImageInsertModal-DQwkQJ8b.js} +2 -2
- package/dist/{ImageProperties.vue_vue_type_script_setup_true_lang-DNqql2HK.js → ImageProperties.vue_vue_type_script_setup_true_lang-BsMcsXdh.js} +1 -1
- package/dist/{ImagePropertiesModal-BumfiYFu.js → ImagePropertiesModal-X7blKqTy.js} +2 -2
- package/dist/{LinkPropertiesModal-C-cq00aG.js → LinkPropertiesModal-DGiiTivW.js} +1 -1
- package/dist/{TableInsertModal-DWy7cSQz.js → TableInsertModal-CupFfnOG.js} +1 -1
- package/dist/{TablePropertiesModal-BDir2XM5.js → TablePropertiesModal-CfK9i7Q5.js} +1 -1
- package/dist/{VideoInsertModal-s4eT3Ofx.js → VideoInsertModal-BwRRgibx.js} +2 -2
- package/dist/{VideoProperties.vue_vue_type_script_setup_true_lang-B2SQASHh.js → VideoProperties.vue_vue_type_script_setup_true_lang-zEMpmzTZ.js} +1 -1
- package/dist/{VideoPropertiesModal-zHc0vcQs.js → VideoPropertiesModal-Dn6AzhPy.js} +2 -2
- package/dist/{YoutubeInsertModal-CdcIzmFl.js → YoutubeInsertModal-DCn5bhN5.js} +2 -2
- package/dist/{YoutubeProperties.vue_vue_type_script_setup_true_lang-CWqGTFe5.js → YoutubeProperties.vue_vue_type_script_setup_true_lang-B-YVlp4Y.js} +1 -1
- package/dist/{YoutubePropertiesModal-CAd6dZ6E.js → YoutubePropertiesModal-Dg-n8cTv.js} +2 -2
- package/dist/bluesea.css +53 -7
- package/dist/bluesea.js +1 -1
- package/dist/bluesea.umd.cjs +623 -454
- package/dist/component/input/BSImageUpload.vue.d.ts +4 -0
- package/dist/component/input/BSMediaPreview.vue.d.ts +2 -0
- package/dist/component/input/BSMediaPreviewOverlay.vue.d.ts +44 -0
- package/dist/component/input/BSMultiImageUpload.vue.d.ts +2 -0
- package/dist/component/input/BSPositionedImageUpload.vue.d.ts +2 -0
- package/dist/{index-pO-xtezx.js → index-e3O4IL4V.js} +557 -388
- package/dist/text/i18n.d.ts +2 -1
- package/package.json +6 -1
- package/skills/bluesea-ui/SKILL.md +312 -0
- package/skills/bluesea-ui/references/components.md +189 -0
- package/skills/bluesea-ui/references/grid.md +159 -0
- package/skills/bluesea-ui/references/i18n.md +126 -0
- package/skills/bluesea-ui/references/validation.md +176 -0
- package/text/bluesea_text_en.json +248 -964
- package/text/bluesea_text_fr.json +248 -964
- package/text/bluesea_text_ja.json +248 -964
- package/text/bluesea_text_ko.json +248 -964
- package/text/bluesea_text_zh.json +248 -964
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# @g1cloud/bluesea
|
|
2
|
+
|
|
3
|
+
Vue 3 UI library for g1cloud BackOffice applications. See the root
|
|
4
|
+
[README](../../README.md) and the demo app at `packages/bluesea-demo/` for a
|
|
5
|
+
guided tour of the components.
|
|
6
|
+
|
|
7
|
+
## Claude Code skill (optional)
|
|
8
|
+
|
|
9
|
+
This package ships a `bluesea-ui` skill that teaches Claude Code how to use
|
|
10
|
+
its components, validation system, and i18n conventions. Install it into
|
|
11
|
+
your project with:
|
|
12
|
+
|
|
13
|
+
npx -p @g1cloud/bluesea bluesea-install-skill
|
|
14
|
+
|
|
15
|
+
This writes `.claude/skills/bluesea-ui/` in the current working directory.
|
|
16
|
+
Re-run after upgrading `@g1cloud/bluesea` to pick up skill updates.
|
|
17
|
+
|
|
18
|
+
Supported flags:
|
|
19
|
+
|
|
20
|
+
- `--path <dir>` — install into `<dir>/.claude/skills/` instead of `cwd`.
|
|
21
|
+
- `--help` — usage.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { cp, readFile, rm, stat, writeFile, mkdir } from 'node:fs/promises'
|
|
3
|
+
import { dirname, resolve } from 'node:path'
|
|
4
|
+
import { fileURLToPath } from 'node:url'
|
|
5
|
+
|
|
6
|
+
const SKILL_NAME = 'bluesea-ui'
|
|
7
|
+
|
|
8
|
+
const here = dirname(fileURLToPath(import.meta.url))
|
|
9
|
+
const packageRoot = resolve(here, '..')
|
|
10
|
+
const skillSource = resolve(packageRoot, 'skills', SKILL_NAME)
|
|
11
|
+
const packageJsonPath = resolve(packageRoot, 'package.json')
|
|
12
|
+
|
|
13
|
+
function parseArgs(argv) {
|
|
14
|
+
const out = { path: null }
|
|
15
|
+
for (let i = 0; i < argv.length; i++) {
|
|
16
|
+
const a = argv[i]
|
|
17
|
+
if (a === '--path' || a === '-p') {
|
|
18
|
+
out.path = argv[++i]
|
|
19
|
+
} else if (a === '--help' || a === '-h') {
|
|
20
|
+
out.help = true
|
|
21
|
+
} else {
|
|
22
|
+
console.error(`Unknown argument: ${a}`)
|
|
23
|
+
process.exit(2)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return out
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function printHelp() {
|
|
30
|
+
console.log(`Usage: bluesea-install-skill [--path <dir>]
|
|
31
|
+
|
|
32
|
+
Installs the @g1cloud/bluesea Claude Code skill into <dir>/.claude/skills/${SKILL_NAME}/.
|
|
33
|
+
Defaults to the current working directory. Re-running overwrites the existing copy.`)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function exists(p) {
|
|
37
|
+
try { await stat(p); return true } catch { return false }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function main() {
|
|
41
|
+
const args = parseArgs(process.argv.slice(2))
|
|
42
|
+
if (args.help) { printHelp(); return }
|
|
43
|
+
|
|
44
|
+
if (!(await exists(skillSource))) {
|
|
45
|
+
console.error(`Skill source not found at ${skillSource}. This package appears to be incomplete.`)
|
|
46
|
+
process.exit(1)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const targetRoot = resolve(args.path ?? process.cwd())
|
|
50
|
+
if (!(await exists(resolve(targetRoot, 'package.json')))) {
|
|
51
|
+
console.warn(`Note: no package.json at ${targetRoot} — installing anyway.`)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const targetSkillDir = resolve(targetRoot, '.claude', 'skills', SKILL_NAME)
|
|
55
|
+
|
|
56
|
+
if (await exists(targetSkillDir)) {
|
|
57
|
+
await rm(targetSkillDir, { recursive: true, force: true })
|
|
58
|
+
}
|
|
59
|
+
await mkdir(dirname(targetSkillDir), { recursive: true })
|
|
60
|
+
await cp(skillSource, targetSkillDir, { recursive: true })
|
|
61
|
+
|
|
62
|
+
let version = 'unknown'
|
|
63
|
+
try {
|
|
64
|
+
version = JSON.parse(await readFile(packageJsonPath, 'utf8')).version ?? 'unknown'
|
|
65
|
+
} catch { /* fall through with 'unknown' */ }
|
|
66
|
+
await writeFile(resolve(targetSkillDir, '.installed-version'), `${version}\n`, 'utf8')
|
|
67
|
+
|
|
68
|
+
console.log(`Installed @g1cloud/bluesea skill v${version} → ${targetSkillDir.replace(targetRoot + '/', '')}/`)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
main().catch((err) => {
|
|
72
|
+
console.error(err.message ?? err)
|
|
73
|
+
process.exit(1)
|
|
74
|
+
})
|
package/css/bluesea.css
CHANGED
|
@@ -27762,6 +27762,60 @@ div[data-v-c1655c12] {
|
|
|
27762
27762
|
display: block;
|
|
27763
27763
|
}
|
|
27764
27764
|
|
|
27765
|
+
.bs-media-overlay {
|
|
27766
|
+
position: fixed;
|
|
27767
|
+
inset: 0;
|
|
27768
|
+
z-index: 250;
|
|
27769
|
+
background-color: rgba(0, 0, 0, 0.9);
|
|
27770
|
+
display: flex;
|
|
27771
|
+
align-items: center;
|
|
27772
|
+
justify-content: center;
|
|
27773
|
+
}
|
|
27774
|
+
|
|
27775
|
+
.bs-media-overlay .bs-media-overlay-media {
|
|
27776
|
+
max-width: 95vw;
|
|
27777
|
+
max-height: 95vh;
|
|
27778
|
+
object-fit: contain;
|
|
27779
|
+
}
|
|
27780
|
+
|
|
27781
|
+
.bs-media-overlay .bs-media-overlay-close {
|
|
27782
|
+
position: absolute;
|
|
27783
|
+
top: 12px;
|
|
27784
|
+
right: 12px;
|
|
27785
|
+
color: var(--white);
|
|
27786
|
+
font-size: 1.8em;
|
|
27787
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
27788
|
+
border-radius: 4px;
|
|
27789
|
+
padding: 4px;
|
|
27790
|
+
line-height: 1;
|
|
27791
|
+
}
|
|
27792
|
+
|
|
27793
|
+
.bs-media-overlay .bs-media-overlay-nav {
|
|
27794
|
+
position: absolute;
|
|
27795
|
+
top: 50%;
|
|
27796
|
+
transform: translateY(-50%);
|
|
27797
|
+
color: var(--white);
|
|
27798
|
+
font-size: 3em;
|
|
27799
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
27800
|
+
border-radius: 4px;
|
|
27801
|
+
padding: 8px 4px;
|
|
27802
|
+
line-height: 1;
|
|
27803
|
+
user-select: none;
|
|
27804
|
+
}
|
|
27805
|
+
|
|
27806
|
+
.bs-media-overlay .bs-media-overlay-prev {
|
|
27807
|
+
left: 12px;
|
|
27808
|
+
}
|
|
27809
|
+
|
|
27810
|
+
.bs-media-overlay .bs-media-overlay-next {
|
|
27811
|
+
right: 12px;
|
|
27812
|
+
}
|
|
27813
|
+
|
|
27814
|
+
.bs-media-overlay .bs-media-overlay-nav-disabled {
|
|
27815
|
+
opacity: 0.25;
|
|
27816
|
+
cursor: default;
|
|
27817
|
+
}
|
|
27818
|
+
|
|
27765
27819
|
.bs-image-upload {
|
|
27766
27820
|
display: inline-block;
|
|
27767
27821
|
}
|
|
@@ -27829,22 +27883,22 @@ div[data-v-c1655c12] {
|
|
|
27829
27883
|
border-color: var(--border) !important;
|
|
27830
27884
|
}
|
|
27831
27885
|
|
|
27832
|
-
.image-upload-move[data-v-
|
|
27833
|
-
.image-upload-enter-active[data-v-
|
|
27834
|
-
.image-upload-leave-active[data-v-
|
|
27886
|
+
.image-upload-move[data-v-e57e268c],
|
|
27887
|
+
.image-upload-enter-active[data-v-e57e268c],
|
|
27888
|
+
.image-upload-leave-active[data-v-e57e268c] {
|
|
27835
27889
|
transition: all 0.3s ease;
|
|
27836
27890
|
}
|
|
27837
27891
|
|
|
27838
|
-
.image-upload-leave-from[data-v-
|
|
27839
|
-
.image-upload-leave-to[data-v-
|
|
27892
|
+
.image-upload-leave-from[data-v-e57e268c],
|
|
27893
|
+
.image-upload-leave-to[data-v-e57e268c] {
|
|
27840
27894
|
display: none;
|
|
27841
27895
|
}
|
|
27842
27896
|
|
|
27843
|
-
.image-upload-enter-from[data-v-
|
|
27897
|
+
.image-upload-enter-from[data-v-e57e268c] {
|
|
27844
27898
|
opacity: 0;
|
|
27845
27899
|
}
|
|
27846
27900
|
|
|
27847
|
-
.image-upload-leave-active[data-v-
|
|
27901
|
+
.image-upload-leave-active[data-v-e57e268c] {
|
|
27848
27902
|
position: absolute;
|
|
27849
27903
|
}
|
|
27850
27904
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createBlock, openBlock, withCtx, withDirectives, createElementVNode, unref, createVNode } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, l as vFocusOnLoad } from "./index-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton, l as vFocusOnLoad } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "text-right" };
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "BSAlertModal",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, mergeProps, unref, toHandlers, nextTick } from "vue";
|
|
2
|
-
import { g as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, h as _sfc_main$2, j as _sfc_main$3, k as _sfc_main$4, n as notNull } from "./index-
|
|
2
|
+
import { g as createInputGridHandler, u as useModalHandle, _ as _sfc_main$1, B as BSButton, h as _sfc_main$2, j as _sfc_main$3, k as _sfc_main$4, n as notNull } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "text-center" };
|
|
4
4
|
const _hoisted_2 = { class: "text-center" };
|
|
5
5
|
const _hoisted_3 = { class: "bs-layout-horizontal" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, useModel, useTemplateRef, createBlock, openBlock } from "vue";
|
|
2
|
-
import { u as useModalHandle, d as _sfc_main$1 } from "./index-
|
|
2
|
+
import { u as useModalHandle, d as _sfc_main$1 } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
4
4
|
__name: "BSRichTextMaximizedModal",
|
|
5
5
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createBlock, openBlock, withCtx, withDirectives, createElementVNode, unref, createVNode } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, v as vT, B as BSButton } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "text-right" };
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "BSYesNoModal",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, useModel, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, createCommentVNode, unref } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, e as extractYoutubeVideoId, i as isYoutubeNocookieUrl, f as buildYoutubeUrl } from "./index-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, e as extractYoutubeVideoId, i as isYoutubeNocookieUrl, f as buildYoutubeUrl } from "./index-e3O4IL4V.js";
|
|
3
3
|
import YouTube from "vue3-youtube";
|
|
4
4
|
const _hoisted_1 = { class: "bs-layout-vertical gap-16" };
|
|
5
5
|
const _hoisted_2 = { class: "bs-layout-horizontal align-items-center" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, withDirectives, vShow } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-
|
|
3
|
-
import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$5 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-BsMcsXdh.js";
|
|
4
4
|
const _hoisted_1 = { class: "bs-layout-form title-w-8" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
|
|
2
|
-
import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-
|
|
2
|
+
import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "title" };
|
|
4
4
|
const _hoisted_2 = { class: "title" };
|
|
5
5
|
const _hoisted_3 = { class: "title" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
|
|
2
|
-
import { q as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, r as imageInfoNumberToPixel } from "./index-
|
|
3
|
-
import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { q as findImageNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, r as imageInfoNumberToPixel } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$4 } from "./ImageProperties.vue_vue_type_script_setup_true_lang-BsMcsXdh.js";
|
|
4
4
|
const _hoisted_1 = { class: "title" };
|
|
5
5
|
const _hoisted_2 = { class: "bs-layout-horizontal justify-content-end gap-8" };
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createTextVNode, withModifiers } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3 } from "./index-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3 } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "bs-layout-form title-w-8" };
|
|
4
4
|
const _hoisted_2 = { class: "title" };
|
|
5
5
|
const _hoisted_3 = { class: "title" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, j as _sfc_main$3 } from "./index-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, j as _sfc_main$3 } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "bs-layout-form" };
|
|
4
4
|
const _hoisted_2 = { class: "bs-form-label" };
|
|
5
5
|
const _hoisted_3 = { class: "bs-form-label" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode, withDirectives, createTextVNode, unref, Fragment, renderList, toDisplayString } from "vue";
|
|
2
|
-
import { m as componentUtil, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, v as vT, o as _sfc_main$4, p as formValidator } from "./index-
|
|
2
|
+
import { m as componentUtil, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, v as vT, o as _sfc_main$4, p as formValidator } from "./index-e3O4IL4V.js";
|
|
3
3
|
const findTableNode = (selection, type) => {
|
|
4
4
|
const head = selection.$head;
|
|
5
5
|
let depth = head.depth;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode, withDirectives, vShow } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-
|
|
3
|
-
import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, a as _sfc_main$2, b as _sfc_main$3, c as _sfc_main$4 } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$5 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-zEMpmzTZ.js";
|
|
4
4
|
const _hoisted_1 = { class: "bs-layout-form title-w-8" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
|
|
2
|
-
import { k as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-
|
|
2
|
+
import { k as _sfc_main$1, b as _sfc_main$2, c as _sfc_main$3, v as vT } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "bs-layout-horizontal gap-8" };
|
|
4
4
|
const _hoisted_2 = { class: "title" };
|
|
5
5
|
const _hoisted_3 = { class: "title" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, onMounted, useTemplateRef, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
|
|
2
|
-
import { w as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, x as videoInfoNumberToPixel } from "./index-
|
|
3
|
-
import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { w as findVideoNode, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, p as formValidator, x as videoInfoNumberToPixel } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$4 } from "./VideoProperties.vue_vue_type_script_setup_true_lang-zEMpmzTZ.js";
|
|
4
4
|
const _hoisted_1 = { class: "title" };
|
|
5
5
|
const _hoisted_2 = { class: "bs-layout-horizontal justify-content-end gap-8" };
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, createBlock, openBlock, withCtx, createElementVNode, createVNode } from "vue";
|
|
2
|
-
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-
|
|
3
|
-
import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-B-YVlp4Y.js";
|
|
4
4
|
const _hoisted_1 = { class: "bs-layout-form" };
|
|
5
5
|
const _hoisted_2 = { class: "title" };
|
|
6
6
|
const _hoisted_3 = { class: "bs-layout-horizontal justify-content-end gap-8" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createElementBlock, openBlock, Fragment, createElementVNode, createVNode, withDirectives, createTextVNode, unref } from "vue";
|
|
2
|
-
import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-
|
|
2
|
+
import { b as _sfc_main$1, c as _sfc_main$2, v as vT } from "./index-e3O4IL4V.js";
|
|
3
3
|
const _hoisted_1 = { class: "title" };
|
|
4
4
|
const _hoisted_2 = { class: "title" };
|
|
5
5
|
const _hoisted_3 = { class: "title" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, ref, onMounted, createBlock, openBlock, withCtx, createElementVNode, createVNode, createElementBlock, createCommentVNode } from "vue";
|
|
2
|
-
import { s as findYoutubeNode, t as normalizeYoutubeInfoData, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-
|
|
3
|
-
import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { s as findYoutubeNode, t as normalizeYoutubeInfoData, u as useModalHandle, _ as _sfc_main$1, B as BSButton, b as _sfc_main$2, c as _sfc_main$3, y as youtubeInfoNumberToPixel } from "./index-e3O4IL4V.js";
|
|
3
|
+
import { _ as _sfc_main$4 } from "./YoutubeProperties.vue_vue_type_script_setup_true_lang-B-YVlp4Y.js";
|
|
4
4
|
const _hoisted_1 = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "bs-layout-form"
|
package/dist/bluesea.css
CHANGED
|
@@ -9085,6 +9085,52 @@ span.table-property[data-v-537f70be]:after {
|
|
|
9085
9085
|
}
|
|
9086
9086
|
.bs-media-preview:hover .show-on-hover {
|
|
9087
9087
|
display: block;
|
|
9088
|
+
}.bs-media-overlay {
|
|
9089
|
+
position: fixed;
|
|
9090
|
+
inset: 0;
|
|
9091
|
+
z-index: 250;
|
|
9092
|
+
background-color: rgba(0, 0, 0, 0.9);
|
|
9093
|
+
display: flex;
|
|
9094
|
+
align-items: center;
|
|
9095
|
+
justify-content: center;
|
|
9096
|
+
}
|
|
9097
|
+
.bs-media-overlay .bs-media-overlay-media {
|
|
9098
|
+
max-width: 95vw;
|
|
9099
|
+
max-height: 95vh;
|
|
9100
|
+
object-fit: contain;
|
|
9101
|
+
}
|
|
9102
|
+
.bs-media-overlay .bs-media-overlay-close {
|
|
9103
|
+
position: absolute;
|
|
9104
|
+
top: 12px;
|
|
9105
|
+
right: 12px;
|
|
9106
|
+
color: var(--white);
|
|
9107
|
+
font-size: 1.8em;
|
|
9108
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
9109
|
+
border-radius: 4px;
|
|
9110
|
+
padding: 4px;
|
|
9111
|
+
line-height: 1;
|
|
9112
|
+
}
|
|
9113
|
+
.bs-media-overlay .bs-media-overlay-nav {
|
|
9114
|
+
position: absolute;
|
|
9115
|
+
top: 50%;
|
|
9116
|
+
transform: translateY(-50%);
|
|
9117
|
+
color: var(--white);
|
|
9118
|
+
font-size: 3em;
|
|
9119
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
9120
|
+
border-radius: 4px;
|
|
9121
|
+
padding: 8px 4px;
|
|
9122
|
+
line-height: 1;
|
|
9123
|
+
user-select: none;
|
|
9124
|
+
}
|
|
9125
|
+
.bs-media-overlay .bs-media-overlay-prev {
|
|
9126
|
+
left: 12px;
|
|
9127
|
+
}
|
|
9128
|
+
.bs-media-overlay .bs-media-overlay-next {
|
|
9129
|
+
right: 12px;
|
|
9130
|
+
}
|
|
9131
|
+
.bs-media-overlay .bs-media-overlay-nav-disabled {
|
|
9132
|
+
opacity: 0.25;
|
|
9133
|
+
cursor: default;
|
|
9088
9134
|
}.bs-image-upload {
|
|
9089
9135
|
display: inline-block;
|
|
9090
9136
|
}
|
|
@@ -9137,19 +9183,19 @@ span.table-property[data-v-537f70be]:after {
|
|
|
9137
9183
|
}
|
|
9138
9184
|
.bs-image-upload .disabled .image-box {
|
|
9139
9185
|
border-color: var(--border) !important;
|
|
9140
|
-
}.image-upload-move[data-v-
|
|
9141
|
-
.image-upload-enter-active[data-v-
|
|
9142
|
-
.image-upload-leave-active[data-v-
|
|
9186
|
+
}.image-upload-move[data-v-e57e268c],
|
|
9187
|
+
.image-upload-enter-active[data-v-e57e268c],
|
|
9188
|
+
.image-upload-leave-active[data-v-e57e268c] {
|
|
9143
9189
|
transition: all 0.3s ease;
|
|
9144
9190
|
}
|
|
9145
|
-
.image-upload-leave-from[data-v-
|
|
9146
|
-
.image-upload-leave-to[data-v-
|
|
9191
|
+
.image-upload-leave-from[data-v-e57e268c],
|
|
9192
|
+
.image-upload-leave-to[data-v-e57e268c] {
|
|
9147
9193
|
display: none;
|
|
9148
9194
|
}
|
|
9149
|
-
.image-upload-enter-from[data-v-
|
|
9195
|
+
.image-upload-enter-from[data-v-e57e268c] {
|
|
9150
9196
|
opacity: 0;
|
|
9151
9197
|
}
|
|
9152
|
-
.image-upload-leave-active[data-v-
|
|
9198
|
+
.image-upload-leave-active[data-v-e57e268c] {
|
|
9153
9199
|
position: absolute;
|
|
9154
9200
|
}.bs-positioned-image-upload .image-box {
|
|
9155
9201
|
border: 1px solid var(--border);
|
package/dist/bluesea.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aN, aO, bL, bM, z, ap, az, B, J, K, a9, k, R, ar, N, F, aA, ct, H, O, av, P, a7, a8, aw, Q, a3, b, h, a5, a4, ac, as, aq, a0, D, ab, aa, G, am, cb, ax, _, a1, aj, al, ak, ai, ah, ag, V, an, ay, j, I, M, at, C, Y, a2, L, E, S, o, d, U, au, a, ao, Z, a6, c, ae, af, X, W, ad, T, A, bT, bb, bS, aX, aC, cy, aB, b2, b0, aZ, $, bR, b4, b3, cD, bJ, bP, b1, bV, bU, bQ, cx, b5, aW, aK, aL, aJ, aM, bO, bN, a$, bK, bA, c5, cC, bf, bm, c4, cM, ch, bW, c1, c0, aT, f, bD, cj, aU, cs, ba, cw, cz, g, ce, a_, bi, cQ, aP, b7, bj, aQ, aS, aR, b9, b$, bx, by, bz, bu, bw, bv, e, bt, bq, p, cF, aV, b8, cq, cm, cE, bZ, aF, cN, cK, cO, bE, cL, bF, c3, c2, cn, bn, i, b_, bp, bl, cP, b6, ca, c9, aY, bY, n, cf, bX, cJ, cA, c6, cd, bB, bc, bg, bI, c8, bG, bH, ci, cp, co, cg, cl, bo, aE, bk, ck, cI, cu, cv, cB, c7, cc, u, bC, bd, be, bh, aD, aH, aI, l, v, aG, br, bs, cH, cG, cr } from "./index-
|
|
1
|
+
import { aN, aO, bL, bM, z, ap, az, B, J, K, a9, k, R, ar, N, F, aA, ct, H, O, av, P, a7, a8, aw, Q, a3, b, h, a5, a4, ac, as, aq, a0, D, ab, aa, G, am, cb, ax, _, a1, aj, al, ak, ai, ah, ag, V, an, ay, j, I, M, at, C, Y, a2, L, E, S, o, d, U, au, a, ao, Z, a6, c, ae, af, X, W, ad, T, A, bT, bb, bS, aX, aC, cy, aB, b2, b0, aZ, $, bR, b4, b3, cD, bJ, bP, b1, bV, bU, bQ, cx, b5, aW, aK, aL, aJ, aM, bO, bN, a$, bK, bA, c5, cC, bf, bm, c4, cM, ch, bW, c1, c0, aT, f, bD, cj, aU, cs, ba, cw, cz, g, ce, a_, bi, cQ, aP, b7, bj, aQ, aS, aR, b9, b$, bx, by, bz, bu, bw, bv, e, bt, bq, p, cF, aV, b8, cq, cm, cE, bZ, aF, cN, cK, cO, bE, cL, bF, c3, c2, cn, bn, i, b_, bp, bl, cP, b6, ca, c9, aY, bY, n, cf, bX, cJ, cA, c6, cd, bB, bc, bg, bI, c8, bG, bH, ci, cp, co, cg, cl, bo, aE, bk, ck, cI, cu, cv, cB, c7, cc, u, bC, bd, be, bh, aD, aH, aI, l, v, aG, br, bs, cH, cG, cr } from "./index-e3O4IL4V.js";
|
|
2
2
|
export {
|
|
3
3
|
aN as ADDRESS_COUNTRY_CONFIGS,
|
|
4
4
|
aO as ADDRESS_COUNTRY_CONFIG_DEFAULT,
|