@bagelink/vue 1.15.641 → 1.15.645
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/dist/components/form/inputs/ColorInput.vue.d.ts.map +1 -1
- package/dist/core.css +1 -1
- package/dist/index.cjs +63 -63
- package/dist/index.css +1 -1
- package/dist/index.mjs +4737 -4703
- package/dist/style.css +1 -1
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/form/inputs/ColorInput.vue +4 -0
- package/src/utils/index.ts +38 -2
package/dist/utils/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ export declare function keyToLabel(key?: string): string | undefined;
|
|
|
5
5
|
/**
|
|
6
6
|
* Convert stored rich-text HTML to compact plain text for tables, labels, and
|
|
7
7
|
* other read-only summaries. Block elements are separated so paragraphs do not
|
|
8
|
-
* run together.
|
|
8
|
+
* run together. HTML entities are decoded so ` `/`&` never leak into
|
|
9
|
+
* plain-text consumers (e.g. meta descriptions) — including in SSR, where no
|
|
10
|
+
* `DOMParser` is available.
|
|
9
11
|
*/
|
|
10
12
|
export declare function richTextToPlainText(value: string): string;
|
|
11
13
|
export declare function containsHtml(value: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAK1E,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -54,6 +54,7 @@ watch(
|
|
|
54
54
|
:id="id" v-model="inputVal" type="color" :placeholder="resolveI18n(placeholder) || resolveI18n(label)"
|
|
55
55
|
:class="{ 'no-edit': !editMode, 'opacity-1': !inputVal }" :required="required"
|
|
56
56
|
v-bind="nativeInputAttrs"
|
|
57
|
+
class="color-outline"
|
|
57
58
|
>
|
|
58
59
|
<input
|
|
59
60
|
v-if="!small" v-model="inputVal" class="flex-grow-1 colorInputPick" type="text"
|
|
@@ -69,6 +70,9 @@ watch(
|
|
|
69
70
|
</template>
|
|
70
71
|
|
|
71
72
|
<style>
|
|
73
|
+
.color-outline{
|
|
74
|
+
box-shadow: 0 0 0 1px var(--bgl-border-color) !important;
|
|
75
|
+
}
|
|
72
76
|
|
|
73
77
|
.colorInputPick {
|
|
74
78
|
--bgl-input-font-size: 12px;
|
package/src/utils/index.ts
CHANGED
|
@@ -32,10 +32,42 @@ export function keyToLabel(key?: string): string | undefined {
|
|
|
32
32
|
|
|
33
33
|
const plainTextCache = new Map<string, string>()
|
|
34
34
|
|
|
35
|
+
const NAMED_ENTITIES: Record<string, string> = {
|
|
36
|
+
' ': ' ',
|
|
37
|
+
'&': '&',
|
|
38
|
+
'"': '"',
|
|
39
|
+
''': "'",
|
|
40
|
+
'<': '<',
|
|
41
|
+
'>': '>',
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Decode common HTML entities in a single pass (never re-decodes `&` output,
|
|
46
|
+
* so `&lt;` stays `<` rather than collapsing to `<`).
|
|
47
|
+
*/
|
|
48
|
+
function decodeHtmlEntities(value: string): string {
|
|
49
|
+
return value.replace(/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g, entity => {
|
|
50
|
+
if (entity in NAMED_ENTITIES) return NAMED_ENTITIES[entity]
|
|
51
|
+
const hex = /^&#x([0-9a-fA-F]+);$/.exec(entity)
|
|
52
|
+
if (hex) {
|
|
53
|
+
const code = Number.parseInt(hex[1], 16)
|
|
54
|
+
try { return String.fromCodePoint(code) } catch { return entity }
|
|
55
|
+
}
|
|
56
|
+
const dec = /^&#([0-9]+);$/.exec(entity)
|
|
57
|
+
if (dec) {
|
|
58
|
+
const code = Number.parseInt(dec[1], 10)
|
|
59
|
+
try { return String.fromCodePoint(code) } catch { return entity }
|
|
60
|
+
}
|
|
61
|
+
return entity
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
35
65
|
/**
|
|
36
66
|
* Convert stored rich-text HTML to compact plain text for tables, labels, and
|
|
37
67
|
* other read-only summaries. Block elements are separated so paragraphs do not
|
|
38
|
-
* run together.
|
|
68
|
+
* run together. HTML entities are decoded so ` `/`&` never leak into
|
|
69
|
+
* plain-text consumers (e.g. meta descriptions) — including in SSR, where no
|
|
70
|
+
* `DOMParser` is available.
|
|
39
71
|
*/
|
|
40
72
|
export function richTextToPlainText(value: string): string {
|
|
41
73
|
if (!value.includes('<') && !value.includes('&')) return value.trim()
|
|
@@ -44,7 +76,11 @@ export function richTextToPlainText(value: string): string {
|
|
|
44
76
|
if (cached !== undefined) return cached
|
|
45
77
|
|
|
46
78
|
if (typeof DOMParser === 'undefined') {
|
|
47
|
-
|
|
79
|
+
const result = decodeHtmlEntities(value.replace(/<[^>]*>/g, ' '))
|
|
80
|
+
.replace(/\s+/g, ' ')
|
|
81
|
+
.trim()
|
|
82
|
+
plainTextCache.set(value, result)
|
|
83
|
+
return result
|
|
48
84
|
}
|
|
49
85
|
|
|
50
86
|
const doc = new DOMParser().parseFromString(value, 'text/html')
|