@ironsource/shared-ui 2.2.0-rc.22 → 2.2.0-rc.23
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/TagsFieldChip.vue_vue_type_style_index_0_scoped_cbb21c6a_lang.css +1 -0
- package/components/dropdown/v3/SearchInput.vue2.js +1 -82
- package/components/dropdown/v4/AppDropdownTrigger.vue2.js +1 -185
- package/components/dropdown/v4/ButtonDropdownTrigger.vue2.js +1 -70
- package/components/dropdown/v4/ButtonFilterDropdownTrigger.vue2.js +1 -54
- package/components/dropdown/v4/ChipDropdownTrigger.vue2.js +1 -126
- package/components/dropdown/v4/ConditionalDropdown.vue2.js +1 -275
- package/components/dropdown/v4/DefaultDropdownTrigger.vue2.js +1 -156
- package/components/dropdown/v4/DropdownV4.vue2.js +1 -583
- package/components/dropdown/v4/GroupOption.vue2.js +1 -29
- package/components/dropdown/v4/IconButtonDropdownTrigger.vue2.js +1 -23
- package/components/dropdown/v4/OptionV4.vue2.js +1 -300
- package/components/dropdown/v4/TreeDropdown.vue2.js +1 -272
- package/components/emptyState/v3/EmptyState.vue2.js +1 -91
- package/components/emptyState/v4/EmptyStateV4.vue2.js +1 -86
- package/components/table-cells/v3/Editable.vue.js +0 -7
- package/components/table-cells/v3/Editable.vue2.js +10 -1
- package/components/tagsField/TagsFieldChip.vue.js +3 -3
- package/components/tagsField/TagsFieldChip.vue2.js +34 -32
- package/index.js +1 -1
- package/package.json +1 -1
- package/TagsFieldChip.vue_vue_type_style_index_0_scoped_bdbc1b68_lang.css +0 -1
|
@@ -1,86 +1 @@
|
|
|
1
|
-
import "../../../EmptyStateV4.vue_vue_type_style_index_0_scoped_76757f22_lang.css";
|
|
2
|
-
import { defineComponent as T, computed as N, defineAsyncComponent as b, openBlock as o, createElementBlock as k, mergeProps as s, unref as e, createBlock as n, createCommentVNode as a, createElementVNode as C, renderSlot as p, withCtx as m, createTextVNode as l, toDisplayString as u } from "vue";
|
|
3
|
-
import E from "../../button/v4/ButtonV4.vue.js";
|
|
4
|
-
import "../../button/v4/IconButtonV4.vue.js";
|
|
5
|
-
import "../../button/v4/ButtonGroup.vue.js";
|
|
6
|
-
import "../../button/v4/ToggleButtonGroupAB.vue.js";
|
|
7
|
-
import y from "../../typography/v4/Typography.vue.js";
|
|
8
|
-
import { capitalizeFirstLetter as S, snakeCaseToCamelCase as g } from "../../../utils/string.js";
|
|
9
|
-
import x from "../../icon/v4/IconV4.vue.js";
|
|
10
|
-
import "../../icon/v4/IconFlag.vue.js";
|
|
11
|
-
import { useTestIdAttrs as z } from "../../../utils/testIds.js";
|
|
12
|
-
import { EmptyStateTestIdModifiers as r } from "../../../testids/index.js";
|
|
13
|
-
const A = { class: "title-wrapper" }, P = /* @__PURE__ */ T({
|
|
14
|
-
__name: "EmptyStateV4",
|
|
15
|
-
props: {
|
|
16
|
-
title: { default: "No data to display" },
|
|
17
|
-
subtitle: { default: void 0 },
|
|
18
|
-
variant: { default: "no-data" },
|
|
19
|
-
buttonText: { default: void 0 },
|
|
20
|
-
iconName: { default: null },
|
|
21
|
-
iconType: { default: "regular" },
|
|
22
|
-
iconSize: { default: "48px" },
|
|
23
|
-
testId: { default: "" }
|
|
24
|
-
},
|
|
25
|
-
emits: ["click"],
|
|
26
|
-
setup(t) {
|
|
27
|
-
const d = t, v = N(() => {
|
|
28
|
-
const i = S(g(d.variant));
|
|
29
|
-
return b(() => I(/* @__PURE__ */ Object.assign({ "./icons/IconError.vue": () => import("./icons/IconError.vue.js"), "./icons/IconFiles.vue": () => import("./icons/IconFiles.vue.js"), "./icons/IconNoAccess.vue": () => import("./icons/IconNoAccess.vue.js"), "./icons/IconNoData.vue": () => import("./icons/IconNoData.vue.js"), "./icons/IconNoResults.vue": () => import("./icons/IconNoResults.vue.js"), "./icons/IconSettings.vue": () => import("./icons/IconSettings.vue.js") }), `./icons/Icon${i}.vue`));
|
|
30
|
-
}), c = z(d.testId, r);
|
|
31
|
-
return (i, f) => (o(), k("div", s({ class: "empty-state" }, e(c)[e(r).CONTAINER]), [
|
|
32
|
-
t.variant && !t.iconName ? (o(), n(e(v), {
|
|
33
|
-
key: 0,
|
|
34
|
-
class: "empty-variant-icon"
|
|
35
|
-
})) : a("", !0),
|
|
36
|
-
t.iconName ? (o(), n(e(x), {
|
|
37
|
-
key: 1,
|
|
38
|
-
class: "custom-empty-icon",
|
|
39
|
-
name: t.iconName,
|
|
40
|
-
size: t.iconSize,
|
|
41
|
-
type: t.iconType
|
|
42
|
-
}, null, 8, ["name", "size", "type"])) : a("", !0),
|
|
43
|
-
C("div", A, [
|
|
44
|
-
p(i.$slots, "content", {}, () => [
|
|
45
|
-
t.title ? (o(), n(e(y), s({
|
|
46
|
-
key: 0,
|
|
47
|
-
variant: "h4",
|
|
48
|
-
class: "title"
|
|
49
|
-
}, e(c)[e(r).TITLE]), {
|
|
50
|
-
default: m(() => [
|
|
51
|
-
l(u(t.title), 1)
|
|
52
|
-
]),
|
|
53
|
-
_: 1
|
|
54
|
-
}, 16)) : a("", !0),
|
|
55
|
-
t.subtitle ? (o(), n(e(y), s({
|
|
56
|
-
key: 1,
|
|
57
|
-
variant: "body1",
|
|
58
|
-
class: "subtitle"
|
|
59
|
-
}, e(c)[e(r).SUBTITLE]), {
|
|
60
|
-
default: m(() => [
|
|
61
|
-
l(u(t.subtitle), 1)
|
|
62
|
-
]),
|
|
63
|
-
_: 1
|
|
64
|
-
}, 16)) : a("", !0)
|
|
65
|
-
], !0)
|
|
66
|
-
]),
|
|
67
|
-
p(i.$slots, "button", {}, () => [
|
|
68
|
-
t.buttonText ? (o(), n(e(E), {
|
|
69
|
-
key: 0,
|
|
70
|
-
variant: "outlined",
|
|
71
|
-
color: "default",
|
|
72
|
-
class: "button",
|
|
73
|
-
onClick: f[0] || (f[0] = (B) => i.$emit("click"))
|
|
74
|
-
}, {
|
|
75
|
-
default: m(() => [
|
|
76
|
-
l(u(t.buttonText), 1)
|
|
77
|
-
]),
|
|
78
|
-
_: 1
|
|
79
|
-
})) : a("", !0)
|
|
80
|
-
], !0)
|
|
81
|
-
], 16));
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
export {
|
|
85
|
-
P as default
|
|
86
|
-
};
|
|
1
|
+
import "../../../EmptyStateV4.vue_vue_type_style_index_0_scoped_76757f22_lang.css";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import e from "./Editable.vue2.js";
|
|
2
|
-
/* empty css */import o from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
-
// import "../../../Editable.vue_vue_type_style_index_0_scoped_2561e913_lang.css"; //*');
|
|
4
|
-
const p = /* @__PURE__ */ o(e, [["__scopeId", "data-v-2561e913"]]);
|
|
5
|
-
export {
|
|
6
|
-
p as default
|
|
7
|
-
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { defineComponent as u, openBlock as i, createElementBlock as a, unref as e, createElementVNode as m, renderSlot as s, createVNode as p, withCtx as y, createTextVNode as g, toDisplayString as k } from "vue";
|
|
2
2
|
import E from "../../typography/Text.vue.js";
|
|
3
3
|
import { editableCommon as _ } from "../common/Editable.common.js";
|
|
4
4
|
const v = { class: "editable-container" }, x = {
|
|
@@ -38,6 +38,15 @@ const v = { class: "editable-container" }, x = {
|
|
|
38
38
|
], 512));
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
+
export {
|
|
42
|
+
N as default
|
|
43
|
+
};
|
|
44
|
+
], !0)
|
|
45
|
+
]))
|
|
46
|
+
])
|
|
47
|
+
], 512));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
41
50
|
export {
|
|
42
51
|
N as default
|
|
43
52
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./TagsFieldChip.vue2.js";
|
|
2
2
|
/* empty css */import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
-
// import "../../TagsFieldChip.
|
|
4
|
-
const
|
|
3
|
+
// import "../../TagsFieldChip.vue_vue_type_style_index_0_scoped_cbb21c6a_lang.css"; //*');
|
|
4
|
+
const p = /* @__PURE__ */ e(o, [["__scopeId", "data-v-cbb21c6a"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
p as default
|
|
7
7
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "../../TagsFieldChip.
|
|
1
|
+
import "../../TagsFieldChip.vue_vue_type_style_index_0_scoped_cbb21c6a_lang.css"; import { defineComponent as V, ref as d, computed as b, watch as N, nextTick as k, openBlock as u, createBlock as g, unref as t, normalizeClass as s, normalizeStyle as w, withModifiers as n, withCtx as C, createElementVNode as S, createTextVNode as K, toDisplayString as z, withDirectives as x, createElementBlock as I, isRef as D, withKeys as B, vModelText as F, createCommentVNode as O, createVNode as W, vShow as L } from "vue";
|
|
2
2
|
import U from "../typography/v4/Typography.vue.js";
|
|
3
3
|
import $ from "../icon/v4/IconV4.vue.js";
|
|
4
4
|
import "../icon/v4/IconFlag.vue.js";
|
|
5
5
|
import j from "../chip/v4/ChipV4.vue.js";
|
|
6
|
-
const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__PURE__ */
|
|
6
|
+
const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__PURE__ */ V({
|
|
7
7
|
__name: "TagsFieldChip",
|
|
8
8
|
props: {
|
|
9
9
|
label: { default: "" },
|
|
@@ -19,19 +19,19 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
19
19
|
placeholder: { default: "" }
|
|
20
20
|
},
|
|
21
21
|
emits: ["update:label", "remove", "stopEditing"],
|
|
22
|
-
setup(e, { emit:
|
|
23
|
-
const i = e, a =
|
|
22
|
+
setup(e, { emit: r }) {
|
|
23
|
+
const i = e, a = d(!1), l = b({
|
|
24
24
|
get: () => i.label,
|
|
25
25
|
set: (h) => {
|
|
26
|
-
|
|
26
|
+
r("update:label", h);
|
|
27
27
|
}
|
|
28
|
-
}),
|
|
28
|
+
}), p = d(null), E = () => p.value?.focus(), M = async () => {
|
|
29
29
|
i.disabled || (a.value = !0, await k(), E());
|
|
30
|
-
},
|
|
31
|
-
|
|
30
|
+
}, R = () => {
|
|
31
|
+
r("stopEditing"), c();
|
|
32
32
|
}, c = () => {
|
|
33
|
-
a.value = !1, !l.value && !i.placeholder &&
|
|
34
|
-
}, v =
|
|
33
|
+
a.value = !1, !l.value && !i.placeholder && r("remove");
|
|
34
|
+
}, v = d(null), f = d(void 0);
|
|
35
35
|
N(
|
|
36
36
|
() => [l.value, i.placeholder, a.value],
|
|
37
37
|
async () => {
|
|
@@ -39,7 +39,7 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
39
39
|
},
|
|
40
40
|
{ immediate: !0 }
|
|
41
41
|
);
|
|
42
|
-
const
|
|
42
|
+
const m = {
|
|
43
43
|
default: "var(--default-outlined-border)",
|
|
44
44
|
primary: "var(--primary-main)",
|
|
45
45
|
info: "var(--info-dark)",
|
|
@@ -47,11 +47,11 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
47
47
|
warning: "var(--warning-main)",
|
|
48
48
|
success: "var(--success-main)",
|
|
49
49
|
dark: "var(--common-divider)"
|
|
50
|
-
},
|
|
51
|
-
"--outline-color": i.isInvalid ?
|
|
50
|
+
}, T = b(() => a.value && i.variant !== "outlined" ? {
|
|
51
|
+
"--outline-color": i.isInvalid ? m.error : m[i.color] || "var(--default-outlined-border)"
|
|
52
52
|
} : {});
|
|
53
|
-
return (h,
|
|
54
|
-
class:
|
|
53
|
+
return (h, o) => (u(), g(t(j), {
|
|
54
|
+
class: s({
|
|
55
55
|
"rounded-chip": e.rounded,
|
|
56
56
|
"tags-field-chip--editing": a.value && e.variant !== "outlined"
|
|
57
57
|
// outlined chips have an outline
|
|
@@ -62,24 +62,24 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
62
62
|
size: e.size,
|
|
63
63
|
variant: e.variant,
|
|
64
64
|
disabled: e.disabled,
|
|
65
|
-
style:
|
|
66
|
-
onClick:
|
|
65
|
+
style: w(t(T)),
|
|
66
|
+
onClick: n(M, ["stop"])
|
|
67
67
|
}, {
|
|
68
|
-
default:
|
|
68
|
+
default: C(() => [
|
|
69
69
|
S("div", q, [
|
|
70
|
-
a.value ? x((
|
|
70
|
+
a.value ? x((u(), I("input", {
|
|
71
71
|
key: 1,
|
|
72
72
|
ref_key: "inputRef",
|
|
73
|
-
ref:
|
|
74
|
-
"onUpdate:modelValue":
|
|
73
|
+
ref: p,
|
|
74
|
+
"onUpdate:modelValue": o[0] || (o[0] = (y) => D(l) ? l.value = y : null),
|
|
75
75
|
placeholder: e.placeholder,
|
|
76
|
-
class:
|
|
76
|
+
class: s(["chip-input", { "chip-input-outline": e.variant === "outlined" }]),
|
|
77
77
|
spellcheck: "false",
|
|
78
|
-
style:
|
|
79
|
-
onBlur:
|
|
78
|
+
style: w({ width: f.value }),
|
|
79
|
+
onBlur: R,
|
|
80
80
|
onKeyup: [
|
|
81
|
-
B(
|
|
82
|
-
B(
|
|
81
|
+
B(n(c, ["prevent"]), ["enter"]),
|
|
82
|
+
B(n(c, ["prevent"]), ["esc"])
|
|
83
83
|
]
|
|
84
84
|
}, null, 46, A)), [
|
|
85
85
|
[
|
|
@@ -88,17 +88,17 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
88
88
|
void 0,
|
|
89
89
|
{ trim: !0 }
|
|
90
90
|
]
|
|
91
|
-
]) : (
|
|
91
|
+
]) : (u(), g(t(U), {
|
|
92
92
|
key: 0,
|
|
93
93
|
variant: "chipLabel",
|
|
94
|
-
class:
|
|
94
|
+
class: s(["chip-label", { "chip-label--placeholder": !t(l) && e.placeholder }])
|
|
95
95
|
}, {
|
|
96
|
-
default:
|
|
96
|
+
default: C(() => [
|
|
97
97
|
K(z(t(l) || e.placeholder), 1)
|
|
98
98
|
]),
|
|
99
99
|
_: 1
|
|
100
100
|
}, 8, ["class"])),
|
|
101
|
-
a.value ? (
|
|
101
|
+
a.value ? (u(), I("span", {
|
|
102
102
|
key: 2,
|
|
103
103
|
ref_key: "sizerRef",
|
|
104
104
|
ref: v,
|
|
@@ -106,12 +106,14 @@ const q = { class: "chip-content" }, A = ["placeholder", "onKeyup"], X = /* @__P
|
|
|
106
106
|
}, z(t(l) || e.placeholder || ""), 513)) : O("", !0)
|
|
107
107
|
]),
|
|
108
108
|
x(W(t($), {
|
|
109
|
-
class:
|
|
109
|
+
class: s(["clear-button", { "clear-button--invalid": e.isInvalid }]),
|
|
110
110
|
name: "x-circle",
|
|
111
111
|
size: "16px",
|
|
112
112
|
type: "fill",
|
|
113
113
|
color: e.isInvalid ? "var(--error-dark)" : e.iconColor,
|
|
114
|
-
|
|
114
|
+
onMousedown: o[1] || (o[1] = n(() => {
|
|
115
|
+
}, ["prevent"])),
|
|
116
|
+
onClick: o[2] || (o[2] = n((y) => r("remove"), ["stop"]))
|
|
115
117
|
}, null, 8, ["class", "color"]), [
|
|
116
118
|
[L, e.removable]
|
|
117
119
|
])
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './MenuItem.vue_vue_type_style_index_0_scoped_67e53b85_lang.css';
|
|
2
2
|
import { AppTriggerTypes as eo } from "./components/appTrigger/index.js";
|
|
3
3
|
import { AutocompleteDropdownTypes as mo } from "./components/autocompleteDropdown/index.js";
|
|
4
4
|
import { MenuItemTypes as ao } from "./components/menuItem/index.js";
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.font-tab-label2[data-v-bdbc1b68],.font-chart-2[data-v-bdbc1b68],.font-chart-1[data-v-bdbc1b68]{font-family:Inter,sans-serif;font-weight:700}.chip-input-sizer[data-v-bdbc1b68],.chip-input[data-v-bdbc1b68],.font-chip-label[data-v-bdbc1b68],.font-table-label[data-v-bdbc1b68],.font-button[data-v-bdbc1b68],.font-heading-6[data-v-bdbc1b68],.font-heading-5[data-v-bdbc1b68],.font-heading-4[data-v-bdbc1b68],.font-heading-3[data-v-bdbc1b68],.font-heading-2[data-v-bdbc1b68],.font-heading-1[data-v-bdbc1b68],.font-title[data-v-bdbc1b68]{font-family:Inter,sans-serif;font-weight:600}.font-tab-label1[data-v-bdbc1b68],.font-input-label[data-v-bdbc1b68],.font-overline[data-v-bdbc1b68],.font-subtitle-2[data-v-bdbc1b68],.font-subtitle-1[data-v-bdbc1b68]{font-family:Inter,sans-serif;font-weight:500}.font-caption[data-v-bdbc1b68],.font-body-2[data-v-bdbc1b68],.font-body-1[data-v-bdbc1b68]{font-family:Inter,sans-serif;font-weight:400}.font-title[data-v-bdbc1b68]{font-size:2.5rem;line-height:3rem;letter-spacing:-.055rem}.font-heading-1[data-v-bdbc1b68]{font-size:1.5rem;line-height:1.75rem;letter-spacing:-.0285rem}.font-heading-2[data-v-bdbc1b68]{font-size:1.125rem;line-height:1.75rem;letter-spacing:-.01575rem}.font-heading-3[data-v-bdbc1b68]{font-size:1rem;line-height:1.5rem;letter-spacing:-.011rem}.font-heading-4[data-v-bdbc1b68]{font-size:.875rem;line-height:1rem;letter-spacing:unset}.font-heading-5[data-v-bdbc1b68]{font-size:.8125rem;line-height:16px;letter-spacing:unset}.font-heading-6[data-v-bdbc1b68]{font-size:.75rem;line-height:.75rem;letter-spacing:0}.font-body-1[data-v-bdbc1b68]{font-size:.875rem;line-height:1.25rem;letter-spacing:-.00525rem}.font-body-2[data-v-bdbc1b68]{font-size:.8125rem;line-height:1.25rem;letter-spacing:-.00244rem}.font-subtitle-1[data-v-bdbc1b68]{font-size:.875rem;line-height:1.25rem;letter-spacing:-.00525rem}.font-subtitle-2[data-v-bdbc1b68]{font-size:.8125rem;line-height:1.25rem;letter-spacing:-.00244rem}.font-chart-1[data-v-bdbc1b68]{font-size:1.5rem;line-height:1.5rem;letter-spacing:-.015rem}.font-chart-2[data-v-bdbc1b68]{font-size:1.25rem;line-height:1.25rem;letter-spacing:-.0125rem}.font-button[data-v-bdbc1b68]{font-size:.875rem;line-height:1.25rem;letter-spacing:.00875rem}.font-overline[data-v-bdbc1b68]{font-size:.75rem;line-height:1rem;letter-spacing:.045rem;text-transform:uppercase}.font-caption[data-v-bdbc1b68]{font-size:.75rem;line-height:1rem}.font-table-label[data-v-bdbc1b68]{font-size:.8125rem;line-height:1.25rem;letter-spacing:.00813rem}.font-input-label[data-v-bdbc1b68]{font-size:.8125rem;line-height:1rem;letter-spacing:.00813rem}.font-tab-label1[data-v-bdbc1b68],.font-tab-label2[data-v-bdbc1b68]{font-size:.875rem;line-height:1rem}.chip-input-sizer[data-v-bdbc1b68],.chip-input[data-v-bdbc1b68],.font-chip-label[data-v-bdbc1b68]{font-size:.75rem;line-height:1rem}h1[data-v-bdbc1b68],h2[data-v-bdbc1b68],h3[data-v-bdbc1b68],h4[data-v-bdbc1b68],h5[data-v-bdbc1b68],h6[data-v-bdbc1b68]{margin:0}.rounded-chip[data-v-bdbc1b68]{border-radius:100px}.tags-field-chip--editing[data-v-bdbc1b68]{outline:1px solid var(--outline-color)}.chip-content[data-v-bdbc1b68]{display:flex;align-items:center;position:relative;min-width:.625rem;max-width:31.25rem}.chip-label[data-v-bdbc1b68]{min-width:.5rem}.chip-label--hidden[data-v-bdbc1b68]{visibility:hidden}.chip-input[data-v-bdbc1b68]{position:static;width:auto;background:transparent;min-width:.6rem;padding:0;border:none;max-width:100%;overflow-x:auto;white-space:nowrap}.chip-input[data-v-bdbc1b68]:focus{outline:none}.chip-input-outline[data-v-bdbc1b68]::placeholder{color:var(--action-disabled)}.clear-button[data-v-bdbc1b68]{margin-left:.25rem;color:var(--action-active);cursor:pointer}.clear-button[data-v-bdbc1b68]:hover{color:var(--text-primary)}.clear-button--invalid[data-v-bdbc1b68]{color:var(--error-dark)}.clear-button--invalid[data-v-bdbc1b68]:hover{color:var(--error-darker)}.chip-input-sizer[data-v-bdbc1b68]{position:absolute;visibility:hidden;height:0;white-space:pre;pointer-events:none;padding:0}
|