@hb-hellotech/hb-ui 2.9.0-beta.1 → 2.9.0-beta.2
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/func_comp/hb_func_comp_tree/src/tree.d.ts +51 -24
- package/dist/components/func_comp/hb_ui_config/src/hbUiConfig.d.ts.map +1 -1
- package/dist/hb_component_lib.js +25 -25
- package/dist/hb_component_lib.umd.cjs +39 -39
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
label?: Key;
|
|
5
|
-
key?: Key;
|
|
6
|
-
children?: TreeOptions[];
|
|
7
|
-
[key: string]: unknown;
|
|
8
|
-
}
|
|
9
|
-
export interface TreeNodes extends Required<TreeOptions> {
|
|
10
|
-
expanded?: boolean;
|
|
11
|
-
checked?: boolean;
|
|
12
|
-
indeterminate?: boolean;
|
|
13
|
-
disabled?: boolean;
|
|
14
|
-
loading?: boolean;
|
|
15
|
-
selected?: boolean;
|
|
16
|
-
leaf?: boolean;
|
|
17
|
-
parentKey?: Key | null;
|
|
18
|
-
level?: number;
|
|
19
|
-
originData?: TreeOptions;
|
|
20
|
-
}
|
|
21
|
-
export declare const btreeProps: {
|
|
1
|
+
import { Key, TreeOptions } from './tree';
|
|
2
|
+
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
declare const _default: DefineComponent<ExtractPropTypes<{
|
|
22
4
|
readonly data: {
|
|
23
5
|
readonly type: PropType<TreeOptions[]>;
|
|
24
6
|
readonly required: true;
|
|
@@ -54,6 +36,51 @@ export declare const btreeProps: {
|
|
|
54
36
|
readonly clickToSelect: {
|
|
55
37
|
readonly type: BooleanConstructor;
|
|
56
38
|
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
39
|
+
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
|
|
40
|
+
readonly data: {
|
|
41
|
+
readonly type: PropType<TreeOptions[]>;
|
|
42
|
+
readonly required: true;
|
|
43
|
+
};
|
|
44
|
+
readonly modelValue: {
|
|
45
|
+
readonly type: ArrayConstructor;
|
|
46
|
+
readonly default: () => never[];
|
|
47
|
+
};
|
|
48
|
+
readonly labelKey: {
|
|
49
|
+
readonly type: StringConstructor;
|
|
50
|
+
readonly default: "label";
|
|
51
|
+
};
|
|
52
|
+
readonly keyKey: {
|
|
53
|
+
readonly type: StringConstructor;
|
|
54
|
+
readonly default: "key";
|
|
55
|
+
};
|
|
56
|
+
readonly childrenKey: {
|
|
57
|
+
readonly type: StringConstructor;
|
|
58
|
+
readonly default: "children";
|
|
59
|
+
};
|
|
60
|
+
readonly defaultExpandKeys: {
|
|
61
|
+
readonly type: PropType<Key[]>;
|
|
62
|
+
readonly default: () => never[];
|
|
63
|
+
};
|
|
64
|
+
readonly multiple: {
|
|
65
|
+
readonly type: BooleanConstructor;
|
|
66
|
+
readonly default: false;
|
|
67
|
+
};
|
|
68
|
+
readonly remote: {
|
|
69
|
+
readonly type: BooleanConstructor;
|
|
70
|
+
readonly default: false;
|
|
71
|
+
};
|
|
72
|
+
readonly clickToSelect: {
|
|
73
|
+
readonly type: BooleanConstructor;
|
|
74
|
+
};
|
|
75
|
+
}>> & Readonly<{}>, {
|
|
76
|
+
readonly multiple: boolean;
|
|
77
|
+
readonly modelValue: unknown[];
|
|
78
|
+
readonly labelKey: string;
|
|
79
|
+
readonly keyKey: string;
|
|
80
|
+
readonly childrenKey: string;
|
|
81
|
+
readonly defaultExpandKeys: Key[];
|
|
82
|
+
readonly remote: boolean;
|
|
83
|
+
readonly clickToSelect: boolean;
|
|
84
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
85
|
+
export default _default;
|
|
86
|
+
//# sourceMappingURL=tree.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hbUiConfig.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/func_comp/hb_ui_config/src/hbUiConfig.vue"],"names":[],"mappings":";AAiBA;AAAA,
|
|
1
|
+
{"version":3,"file":"hbUiConfig.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/func_comp/hb_ui_config/src/hbUiConfig.vue"],"names":[],"mappings":";AAiBA;AAAA,OAiDsB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAO7D,KAAK,WAAW,GAAG;IACf,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAoBF,iBAAS,cAAc;WA6BT,OAAO,IAA6B;;yBAVrB,GAAG;;;;EAe/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,6SAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
package/dist/hb_component_lib.js
CHANGED
|
@@ -3,7 +3,7 @@ import { defineComponent as ae, inject as be, computed as x, reactive as Ve, ref
|
|
|
3
3
|
import Qe from "vuedraggable";
|
|
4
4
|
import { Modal as ut, Button as ft, message as De, Tooltip as Ze, Switch as _t, Radio as Ct, RadioGroup as wt, InputNumber as kt, DatePicker as St, Checkbox as et, CheckboxGroup as xt, Select as bt, Input as Ht, Col as yo, Row as Lo, FormItem as It, Form as Tt, SelectOption as ht, Popconfirm as st, MenuItem as Ft, Menu as $t, Dropdown as Pt, Popover as _o, BackTop as Gt, Spin as Co } from "ant-design-vue";
|
|
5
5
|
import { useRoute as gt } from "vue-router";
|
|
6
|
-
import { useI18n as
|
|
6
|
+
import { useI18n as ye } from "vue-i18n";
|
|
7
7
|
import xe from "lodash";
|
|
8
8
|
import { CloseOutlined as wo, QuestionCircleOutlined as ko, SearchOutlined as tt, ReloadOutlined as Bt, UnorderedListOutlined as So, DownOutlined as pt, LoadingOutlined as Dt, PlusCircleOutlined as xo, ToTopOutlined as Jt } from "@ant-design/icons-vue";
|
|
9
9
|
import { useFullscreen as Xt, useDebounceFn as Ho, useElementBounding as Io, useScroll as To, useDraggable as Fo, isClient as $o } from "@vueuse/core";
|
|
@@ -26,7 +26,7 @@ const Po = "hb-", yt = (e = "") => {
|
|
|
26
26
|
bem: (o, t, n) => Oe(e, o, t, n),
|
|
27
27
|
// is-disabled
|
|
28
28
|
is: (o, t) => t ? `is-${o}` : ""
|
|
29
|
-
}),
|
|
29
|
+
}), ge = Symbol("GLOBAL_CONFIG_KEY"), Do = ["onMouseenter", "onMouseleave"], Ao = ["onClick"], Mo = /* @__PURE__ */ ae({
|
|
30
30
|
name: "HbLibFormItemFilterModal",
|
|
31
31
|
__name: "HbFormItemFilterModal",
|
|
32
32
|
props: {
|
|
@@ -39,7 +39,7 @@ const Po = "hb-", yt = (e = "") => {
|
|
|
39
39
|
},
|
|
40
40
|
emits: ["confirm"],
|
|
41
41
|
setup(e, { expose: o, emit: t }) {
|
|
42
|
-
const n = be(
|
|
42
|
+
const n = be(ge, {}), a = ye().t, i = ye().messages.value.en_US, s = ye().messages.value.ja_JP, r = ye().messages.value.zh_CN, u = e, d = x(() => u.showNumber || n.HbLibFormItemFilterModal?.defaultShowCount || 40), f = x(() => u.title || a("hbLibComp.hbFormItemFilterModal.title")), v = t, p = yt("sfcm"), $ = gt(), L = Ve({
|
|
43
43
|
lan: window.localStorage.getItem("lan")
|
|
44
44
|
}), E = M(!1), U = M(600);
|
|
45
45
|
let D = [];
|
|
@@ -411,7 +411,7 @@ const Uo = se(Oo), Ro = {
|
|
|
411
411
|
"handleMenuClick"
|
|
412
412
|
],
|
|
413
413
|
setup(e, { expose: o, emit: t }) {
|
|
414
|
-
const n = be(
|
|
414
|
+
const n = be(ge, {}), a = t, i = be("HB_LIST_PAGE_CONTAINER"), s = x(() => u.searchList || []), r = yt("form"), u = e, d = x(() => u.showNumber || n.HbLibFormItemFilterModal?.defaultShowCount || 10), f = M("show"), v = x(() => u.needFooter || n.HbLibListForm?.needFooter), p = x(() => {
|
|
415
415
|
const m = u.items.filter((H) => E(H));
|
|
416
416
|
return xe.cloneDeep(m);
|
|
417
417
|
}), $ = (m) => m !== void 0, L = (m) => typeof m == "function", E = (m) => $(m.condition) ? L(m.condition) ? m.condition() : m.condition : !0, U = x(() => [...u.items].map((m) => ({
|
|
@@ -897,7 +897,7 @@ const Uo = se(Oo), Ro = {
|
|
|
897
897
|
a.value = !a.value, n("handleOpenOrClose", a.value);
|
|
898
898
|
}, s = () => {
|
|
899
899
|
n("handleReload");
|
|
900
|
-
}, r = be(
|
|
900
|
+
}, r = be(ge, {}), { isFullscreen: u, toggle: d } = Xt(document.body);
|
|
901
901
|
ue(
|
|
902
902
|
() => u.value,
|
|
903
903
|
($) => {
|
|
@@ -1072,7 +1072,7 @@ const Uo = se(Oo), Ro = {
|
|
|
1072
1072
|
},
|
|
1073
1073
|
emits: ["handleOpenOrClose", "handleReload"],
|
|
1074
1074
|
setup(e, { emit: o }) {
|
|
1075
|
-
const t = be(
|
|
1075
|
+
const t = be(ge, {}), n = o, a = M(!0), i = () => {
|
|
1076
1076
|
a.value = !a.value, n("handleOpenOrClose", a.value);
|
|
1077
1077
|
}, s = () => {
|
|
1078
1078
|
n("handleReload");
|
|
@@ -1236,7 +1236,7 @@ const Uo = se(Oo), Ro = {
|
|
|
1236
1236
|
isUnFixTbHeight: { type: Boolean }
|
|
1237
1237
|
},
|
|
1238
1238
|
setup(e) {
|
|
1239
|
-
const o = be(
|
|
1239
|
+
const o = be(ge, {}), { isFullscreen: t } = Xt(document.body), n = e, a = fo("PageContainerRef"), i = x(
|
|
1240
1240
|
() => n.offsetHeight || o.HbLibListPageContainer?.offsetHeight || 110
|
|
1241
1241
|
), s = x(
|
|
1242
1242
|
() => n.offsetBottom || o.HbLibListPageContainer?.offsetBottom || 20
|
|
@@ -2064,7 +2064,7 @@ const Uo = se(Oo), Ro = {
|
|
|
2064
2064
|
setup(e) {
|
|
2065
2065
|
const o = e;
|
|
2066
2066
|
let t = null;
|
|
2067
|
-
const n = be(
|
|
2067
|
+
const n = be(ge, {});
|
|
2068
2068
|
return ue(
|
|
2069
2069
|
() => o.config,
|
|
2070
2070
|
(a) => {
|
|
@@ -2074,7 +2074,7 @@ const Uo = se(Oo), Ro = {
|
|
|
2074
2074
|
);
|
|
2075
2075
|
},
|
|
2076
2076
|
{ deep: !0, immediate: !0 }
|
|
2077
|
-
), Ue(
|
|
2077
|
+
), Ue(ge, t), (a, i) => (c(), _("div", {
|
|
2078
2078
|
class: "hb_ui_config",
|
|
2079
2079
|
style: de({
|
|
2080
2080
|
"--hb-theme-color": e.config?.color?.themeColor || "#ff7333"
|
|
@@ -2093,7 +2093,7 @@ const Uo = se(Oo), Ro = {
|
|
|
2093
2093
|
}
|
|
2094
2094
|
},
|
|
2095
2095
|
setup(e) {
|
|
2096
|
-
const { t: o } =
|
|
2096
|
+
const { t: o } = ye(), t = e, n = x(() => t.loadTips || o("hbLibComp.HbLibLoading.loadingTips"));
|
|
2097
2097
|
return (a, i) => (c(), _("div", qn, [
|
|
2098
2098
|
g("div", Yn, [
|
|
2099
2099
|
i[0] || (i[0] = ho('<div class="cube" data-v-22f438b9><div class="side front" data-v-22f438b9></div><div class="side back" data-v-22f438b9></div><div class="side right" data-v-22f438b9></div><div class="side left" data-v-22f438b9></div><div class="side top" data-v-22f438b9></div><div class="side bottom" data-v-22f438b9></div></div>', 1)),
|
|
@@ -2138,7 +2138,7 @@ const Uo = se(Oo), Ro = {
|
|
|
2138
2138
|
},
|
|
2139
2139
|
emits: ["rendered", "error", "update:visible", "update:fileIndex", "fileChange", "beforeDownload", "downloaded", "cancel"],
|
|
2140
2140
|
setup(e, { expose: o, emit: t }) {
|
|
2141
|
-
const n = e, a = t, { t: i } =
|
|
2141
|
+
const n = e, a = t, { t: i } = ye();
|
|
2142
2142
|
function s(A) {
|
|
2143
2143
|
a("update:visible", A);
|
|
2144
2144
|
}
|
|
@@ -2763,7 +2763,7 @@ const Il = ["href"], Tl = /* @__PURE__ */ ae({
|
|
|
2763
2763
|
() => o.iPrefix && M(o.iPrefix) || be("iconPrefix") || M("")
|
|
2764
2764
|
), a = x(
|
|
2765
2765
|
() => o.iMode && M(o.iMode) || be("iconMode") || M("")
|
|
2766
|
-
), i = be(
|
|
2766
|
+
), i = be(ge, null), s = x(() => {
|
|
2767
2767
|
const D = i?.HbLibIcon, S = o.width ?? D?.width ?? 27, N = o.height ?? D?.height ?? 27;
|
|
2768
2768
|
let R = {
|
|
2769
2769
|
display: "flex",
|
|
@@ -2845,7 +2845,7 @@ const $l = /* @__PURE__ */ ae({
|
|
|
2845
2845
|
hoverBgColor: {}
|
|
2846
2846
|
},
|
|
2847
2847
|
setup(e) {
|
|
2848
|
-
const o = be(
|
|
2848
|
+
const o = be(ge), t = e, { iconClasses: n, iconPrefix: a, iconMode: i, iconBaseClass: s } = Lt(
|
|
2849
2849
|
t.url,
|
|
2850
2850
|
t.mode ?? "symbol",
|
|
2851
2851
|
{
|
|
@@ -2854,7 +2854,7 @@ const $l = /* @__PURE__ */ ae({
|
|
|
2854
2854
|
);
|
|
2855
2855
|
Ue("iconPrefix", a), Ue("iconMode", i), Ue("iconClasses", n), Ue("iconBaseClass", s);
|
|
2856
2856
|
const r = {};
|
|
2857
|
-
return t.width !== void 0 && (r.width = t.width), t.height !== void 0 && (r.height = t.height), t.initFillColor !== void 0 && (r.initFillColor = t.initFillColor), t.hover !== void 0 && (r.hover = t.hover), t.hoverBgColor !== void 0 && (r.hoverBgColor = t.hoverBgColor), Ue(
|
|
2857
|
+
return t.width !== void 0 && (r.width = t.width), t.height !== void 0 && (r.height = t.height), t.initFillColor !== void 0 && (r.initFillColor = t.initFillColor), t.hover !== void 0 && (r.hover = t.hover), t.hoverBgColor !== void 0 && (r.hoverBgColor = t.hoverBgColor), Ue(ge, {
|
|
2858
2858
|
...o,
|
|
2859
2859
|
HbLibIcon: {
|
|
2860
2860
|
...o?.HbLibIcon,
|
|
@@ -2879,7 +2879,7 @@ const $l = /* @__PURE__ */ ae({
|
|
|
2879
2879
|
buttonDisplaysQuantity: {}
|
|
2880
2880
|
},
|
|
2881
2881
|
setup(e, { expose: o }) {
|
|
2882
|
-
const t = e, { t: n } =
|
|
2882
|
+
const t = e, { t: n } = ye(), a = M(!1), i = M(!1), s = M(null), r = M({}), u = (R) => !!R && (typeof R == "object" || typeof R == "function") && typeof R.then == "function", d = (R) => !!r.value[R.key], f = (R, C) => {
|
|
2883
2883
|
r.value = {
|
|
2884
2884
|
...r.value,
|
|
2885
2885
|
[R.key]: C
|
|
@@ -3267,7 +3267,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
3267
3267
|
},
|
|
3268
3268
|
emits: ["on-get-columns"],
|
|
3269
3269
|
setup(e, { emit: o }) {
|
|
3270
|
-
const t = o, { t: n } =
|
|
3270
|
+
const t = o, { t: n } = ye(), a = e, i = be(ge, {}), s = M([]), r = x(() => d.value.filter((I) => I.checked));
|
|
3271
3271
|
M([]);
|
|
3272
3272
|
const u = M(!1), d = M([]), f = M(null), v = x(() => r.value.length > 0 && r.value.length === s.value.length), p = x(() => r.value.length > 0 && r.value.length < s.value.length), $ = (I) => {
|
|
3273
3273
|
f.value = I.oldIndex;
|
|
@@ -3540,7 +3540,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
3540
3540
|
},
|
|
3541
3541
|
emits: ["change", "resizeCol", "on-get-columns", "refresh"],
|
|
3542
3542
|
setup(e, { emit: o }) {
|
|
3543
|
-
const t = be(
|
|
3543
|
+
const t = be(ge, {}), n = o, { t: a } = ye(), i = e, s = M([]), r = be(
|
|
3544
3544
|
"HB_LIST_PAGE_CONTAINER"
|
|
3545
3545
|
), u = x(() => s.value), { tableWidth: d } = Vl(u), f = M(d.value), v = M(i.columns), p = x(() => {
|
|
3546
3546
|
const b = i.columnSetLocalColumns?.length ? i.columnSetLocalColumns : i.columns;
|
|
@@ -3896,7 +3896,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
3896
3896
|
beforeSubmit: {}
|
|
3897
3897
|
},
|
|
3898
3898
|
setup(e, { expose: o }) {
|
|
3899
|
-
const { t } =
|
|
3899
|
+
const { t } = ye(), n = M(), a = e, i = M(!1), s = Ve({
|
|
3900
3900
|
fileList: [],
|
|
3901
3901
|
visible: !1
|
|
3902
3902
|
}), r = (p) => {
|
|
@@ -4022,7 +4022,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
4022
4022
|
},
|
|
4023
4023
|
emits: ["update:visible"],
|
|
4024
4024
|
setup(e, { expose: o, emit: t }) {
|
|
4025
|
-
const { t: n } =
|
|
4025
|
+
const { t: n } = ye(), a = vo(), i = e, s = [
|
|
4026
4026
|
{
|
|
4027
4027
|
title: n("hbLibComp.HbLogModal.operator"),
|
|
4028
4028
|
dataIndex: "userName",
|
|
@@ -4214,7 +4214,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
4214
4214
|
}
|
|
4215
4215
|
},
|
|
4216
4216
|
setup(e) {
|
|
4217
|
-
const o = be(
|
|
4217
|
+
const o = be(ge), t = e, n = x(() => {
|
|
4218
4218
|
let a = t.formItemMb || o?.HbLibCard?.formItemMb;
|
|
4219
4219
|
return a ? { "--hb-card-form-item-mb": a + "px" } : {};
|
|
4220
4220
|
});
|
|
@@ -4389,7 +4389,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
4389
4389
|
}
|
|
4390
4390
|
},
|
|
4391
4391
|
setup(e) {
|
|
4392
|
-
const { t: o } =
|
|
4392
|
+
const { t: o } = ye(), t = e, n = be(ge), a = () => {
|
|
4393
4393
|
t.backFn ? t.backFn() : window.history.back();
|
|
4394
4394
|
}, i = n?.HbLibDetailBox?.hbTopActionsTop || 112, s = n?.HbLibDetailBox?.hbTopActionsLeft || 160, r = (H) => H.trim().replace(/^(['"])(.*)\1$/, "$2"), u = (H) => typeof H == "string" && (H.includes("#") || H.includes(".")), d = (H) => {
|
|
4395
4395
|
try {
|
|
@@ -4907,7 +4907,7 @@ const va = { class: "hb-lib-table-setting-box" }, ga = {
|
|
|
4907
4907
|
}
|
|
4908
4908
|
},
|
|
4909
4909
|
setup(e) {
|
|
4910
|
-
const { t: o } =
|
|
4910
|
+
const { t: o } = ye(), t = e, n = gt(), a = M(0), i = x(() => n?.meta?.title || "");
|
|
4911
4911
|
function s(p, $ = "offsetHeight") {
|
|
4912
4912
|
let L = 0;
|
|
4913
4913
|
return (Array.isArray(p) ? p : [p]).forEach((U) => {
|
|
@@ -5187,7 +5187,7 @@ function Ge(e) {
|
|
|
5187
5187
|
return e.attachmentDesc?.trim() || e.fileName?.trim() || "download";
|
|
5188
5188
|
}
|
|
5189
5189
|
function Cs(e) {
|
|
5190
|
-
const { t: o } =
|
|
5190
|
+
const { t: o } = ye(), t = M(!1), n = M(""), a = M(""), i = M(-1), s = M(-1), r = x(() => e.value.attachmentInfos ?? []), u = x(
|
|
5191
5191
|
() => r.value.reduce((y, b, O) => {
|
|
5192
5192
|
const m = Wt(b);
|
|
5193
5193
|
if (!m) return y;
|
|
@@ -5378,8 +5378,8 @@ const Ss = {
|
|
|
5378
5378
|
ja_JP: is,
|
|
5379
5379
|
zh_CN: rs,
|
|
5380
5380
|
de_DE: ds
|
|
5381
|
-
}, xs = function(e, o
|
|
5382
|
-
e.provide(
|
|
5381
|
+
}, xs = function(e, o) {
|
|
5382
|
+
e.provide(ge, o || {}), Object.values(Yi).forEach((t) => {
|
|
5383
5383
|
t && typeof t.install == "function" && e.use(t);
|
|
5384
5384
|
}), Object.entries(Xi).forEach(([t, n]) => {
|
|
5385
5385
|
e.directive(t, n);
|