@piveau/dpi 0.2.0-alpha.58 → 0.2.0-alpha.59

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.
@@ -1,7 +1,7 @@
1
1
  import o from "./Autocomplete.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a3b0d43e"]]);
4
+ const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6b1b51e7"]]);
5
5
  export {
6
6
  r as default
7
7
  };
@@ -1,18 +1,18 @@
1
- import { defineComponent as x, mergeModels as I, useModel as k, computed as L, createElementBlock as u, openBlock as n, createVNode as i, unref as r, withCtx as c, createElementVNode as d, createBlock as _, createCommentVNode as p, renderSlot as g, createTextVNode as N, toDisplayString as y, normalizeClass as m, resolveDynamicComponent as P, Fragment as M, renderList as z } from "vue";
2
- import { Combobox as E, ComboboxLabel as F, ComboboxButton as S, ComboboxInput as $, ComboboxOptions as A, ComboboxOption as O } from "@headlessui/vue";
3
- import { PhMagnifyingGlass as U, PhCaretUp as G, PhCaretDown as K, PhCircleNotch as T } from "@phosphor-icons/vue";
4
- const j = { class: "autocomplete" }, H = { class: "autocomplete__wrapper" }, J = {
1
+ import { defineComponent as L, mergeModels as N, useModel as M, computed as P, createElementBlock as r, openBlock as l, createVNode as d, unref as a, withCtx as i, createElementVNode as _, createBlock as c, createCommentVNode as p, renderSlot as y, createTextVNode as z, toDisplayString as g, normalizeClass as m, resolveDynamicComponent as b, Fragment as D, renderList as E } from "vue";
2
+ import { Combobox as F, ComboboxLabel as S, ComboboxButton as q, ComboboxInput as $, ComboboxOptions as O, ComboboxOption as U } from "@headlessui/vue";
3
+ import { PhMagnifyingGlass as G, PhCaretUp as K, PhCaretDown as T, PhCircleNotch as j } from "@phosphor-icons/vue";
4
+ const H = { class: "autocomplete" }, J = { class: "autocomplete__wrapper" }, Q = {
5
5
  key: 0,
6
6
  class: "autocomplete__input-icon autocomplete__input-icon--left"
7
- }, Q = { class: "autocomplete__input-icon" }, R = {
7
+ }, R = {
8
8
  key: 0,
9
9
  class: "autocomplete__loading"
10
10
  }, W = {
11
11
  key: 0,
12
12
  class: "autocomplete__no-results"
13
- }, ee = /* @__PURE__ */ x({
13
+ }, ee = /* @__PURE__ */ L({
14
14
  __name: "Autocomplete",
15
- props: /* @__PURE__ */ I({
15
+ props: /* @__PURE__ */ N({
16
16
  options: {},
17
17
  label: { default: "" },
18
18
  errorMessage: { default: "" },
@@ -20,8 +20,9 @@ const j = { class: "autocomplete" }, H = { class: "autocomplete__wrapper" }, J =
20
20
  name: { default: "" },
21
21
  loading: { type: Boolean, default: !1 },
22
22
  searchIcon: { type: Boolean, default: !1 },
23
- optionLabel: { type: Function, default: (s) => s },
24
- optionValue: { type: Function, default: (s) => s },
23
+ inputAsButton: { type: Boolean, default: !0 },
24
+ optionLabel: { type: Function, default: (u) => u },
25
+ optionValue: { type: Function, default: (u) => u },
25
26
  optionDisabled: { type: Function, default: () => !1 }
26
27
  }, {
27
28
  modelValue: { required: !0 },
@@ -30,124 +31,130 @@ const j = { class: "autocomplete" }, H = { class: "autocomplete__wrapper" }, J =
30
31
  queryModifiers: {}
31
32
  }),
32
33
  emits: ["update:modelValue", "update:query"],
33
- setup(s) {
34
- const o = s, f = k(s, "modelValue"), b = k(s, "query"), v = L(() => !!o.errorMessage);
35
- function B(e) {
34
+ setup(u) {
35
+ const t = u, f = M(u, "modelValue"), v = M(u, "query"), h = P(() => !!t.errorMessage);
36
+ function w(e) {
36
37
  e.open && e.event.stopPropagation();
37
38
  }
38
- function D(e) {
39
- return typeof e == "string" ? o.optionLabel(e) : e.name || String(e.id);
40
- }
41
- function h(e) {
42
- return typeof e == "string" ? o.optionValue(e) : String(e.id);
39
+ function x(e) {
40
+ return typeof e == "string" ? t.optionLabel(e) : e.name || String(e.id);
43
41
  }
44
42
  function C(e) {
45
- return typeof e == "string" ? o.optionDisabled(e) : !!e.unavailable;
43
+ return typeof e == "string" ? t.optionValue(e) : String(e.id);
46
44
  }
47
- function q(e, l) {
48
- if (!e || !l)
45
+ function V(e) {
46
+ return typeof e == "string" ? t.optionDisabled(e) : !!e.unavailable;
47
+ }
48
+ function A(e, n) {
49
+ if (!e || !n)
49
50
  return !1;
50
- if (e === l)
51
+ if (e === n)
51
52
  return !0;
52
- if (typeof e == "string" && typeof l == "string")
53
- return e === l;
54
- const t = h(e), a = h(l);
55
- return t === a;
53
+ if (typeof e == "string" && typeof n == "string")
54
+ return e === n;
55
+ const s = C(e), o = C(n);
56
+ return s === o;
56
57
  }
57
- function w(e) {
58
+ function I(e) {
58
59
  return !e || typeof e == "string" ? "" : e.name || "";
59
60
  }
60
- return (e, l) => (n(), u("div", j, [
61
- i(r(E), {
61
+ return (e, n) => (l(), r("div", H, [
62
+ d(a(F), {
62
63
  modelValue: f.value,
63
- "onUpdate:modelValue": l[1] || (l[1] = (t) => f.value = t),
64
- name: o.name,
65
- by: q,
64
+ "onUpdate:modelValue": n[1] || (n[1] = (s) => f.value = s),
65
+ name: t.name,
66
+ by: A,
66
67
  nullable: ""
67
68
  }, {
68
- default: c(() => [
69
- d("div", H, [
70
- o.label ? (n(), _(r(F), {
69
+ default: i(({ open: s }) => [
70
+ _("div", J, [
71
+ t.label ? (l(), c(a(S), {
71
72
  key: 0,
72
73
  class: "autocomplete__label",
73
74
  as: "div"
74
75
  }, {
75
- default: c(() => [
76
- g(e.$slots, "label", {
77
- label: o.label,
76
+ default: i(() => [
77
+ y(e.$slots, "label", {
78
+ label: t.label,
78
79
  selected: f.value
79
80
  }, () => [
80
- N(y(o.label), 1)
81
+ z(g(t.label), 1)
81
82
  ], !0)
82
83
  ]),
83
84
  _: 3
84
85
  })) : p("", !0),
85
- d("div", {
86
- class: m(["autocomplete__input-container", { "autocomplete__input-container--error": v.value }])
86
+ _("div", {
87
+ class: m(["autocomplete__input-container", { "autocomplete__input-container--error": h.value }])
87
88
  }, [
88
- i(r(S), {
89
+ (l(), c(b(t.inputAsButton ? a(q) : "div"), {
89
90
  as: "div",
90
91
  class: "autocomplete__input-wrapper"
91
92
  }, {
92
- default: c(({ open: t }) => [
93
- o.searchIcon ? (n(), u("div", J, [
94
- i(r(U), { size: "1.5rem" })
93
+ default: i(() => [
94
+ t.searchIcon ? (l(), r("div", Q, [
95
+ d(a(G), { size: "1.5rem" })
95
96
  ])) : p("", !0),
96
- i(r($), {
97
- class: m(["autocomplete__input", { "autocomplete__input--with-left-icon": o.searchIcon }]),
98
- "display-value": (a) => w(a),
99
- placeholder: o.placeholder,
100
- onChange: l[0] || (l[0] = (a) => b.value = a.target.value),
101
- onClick: (a) => B({ event: a, open: t })
97
+ d(a($), {
98
+ class: m(["autocomplete__input", { "autocomplete__input--with-left-icon": t.searchIcon }]),
99
+ "display-value": (o) => I(o),
100
+ placeholder: t.placeholder,
101
+ onChange: n[0] || (n[0] = (o) => v.value = o.target.value),
102
+ onClick: (o) => w({ event: o, open: s })
102
103
  }, null, 8, ["class", "display-value", "placeholder", "onClick"]),
103
- d("div", Q, [
104
- (n(), _(P(t ? r(G) : r(K)), { size: "1.5rem" }))
105
- ])
104
+ (l(), c(b(t.inputAsButton ? "div" : a(q)), {
105
+ as: "div",
106
+ class: "autocomplete__input-icon"
107
+ }, {
108
+ default: i(() => [
109
+ (l(), c(b(s ? a(K) : a(T)), { size: "1.5rem" }))
110
+ ]),
111
+ _: 2
112
+ }, 1024))
106
113
  ]),
107
- _: 1
108
- })
114
+ _: 2
115
+ }, 1024))
109
116
  ], 2),
110
- e.errorMessage ? (n(), u("div", {
117
+ e.errorMessage ? (l(), r("div", {
111
118
  key: 1,
112
- class: m(["autocomplete__message", { "autocomplete__message--error": v.value }])
113
- }, y(e.errorMessage), 3)) : p("", !0)
119
+ class: m(["autocomplete__message", { "autocomplete__message--error": h.value }])
120
+ }, g(e.errorMessage), 3)) : p("", !0)
114
121
  ]),
115
- i(r(A), {
122
+ d(a(O), {
116
123
  class: "autocomplete__options",
117
124
  as: "ul"
118
125
  }, {
119
- default: c(() => [
120
- o.loading ? (n(), u("div", R, [
121
- g(e.$slots, "loading", {}, () => [
122
- i(r(T), {
126
+ default: i(() => [
127
+ t.loading ? (l(), r("div", R, [
128
+ y(e.$slots, "loading", {}, () => [
129
+ d(a(j), {
123
130
  size: "24px",
124
131
  color: "#0172AD",
125
132
  weight: "bold",
126
133
  class: "autocomplete__loading-spinner"
127
134
  })
128
135
  ], !0)
129
- ])) : (n(), u(M, { key: 1 }, [
130
- (n(!0), u(M, null, z(o.options, (t) => (n(), _(r(O), {
131
- key: typeof t == "string" ? t : t.id,
136
+ ])) : (l(), r(D, { key: 1 }, [
137
+ (l(!0), r(D, null, E(t.options, (o) => (l(), c(a(U), {
138
+ key: typeof o == "string" ? o : o.id,
132
139
  as: "template",
133
- value: t,
134
- disabled: C(t)
140
+ value: o,
141
+ disabled: V(o)
135
142
  }, {
136
- default: c(({ active: a, selected: V }) => [
137
- g(e.$slots, "option", {
138
- option: t,
139
- active: a,
140
- selected: V,
141
- disabled: C(t)
143
+ default: i(({ active: k, selected: B }) => [
144
+ y(e.$slots, "option", {
145
+ option: o,
146
+ active: k,
147
+ selected: B,
148
+ disabled: V(o)
142
149
  }, () => [
143
- d("li", {
144
- class: m(["autocomplete__option", { "autocomplete__option--active": a, "autocomplete__option--selected": V }])
145
- }, y(D(t)), 3)
150
+ _("li", {
151
+ class: m(["autocomplete__option", { "autocomplete__option--active": k, "autocomplete__option--selected": B }])
152
+ }, g(x(o)), 3)
146
153
  ], !0)
147
154
  ]),
148
155
  _: 2
149
156
  }, 1032, ["value", "disabled"]))), 128)),
150
- o.options.length === 0 && b.value !== "" ? (n(), u("div", W, " Keine Ergebnisse gefunden. ")) : p("", !0)
157
+ t.options.length === 0 && v.value !== "" ? (l(), r("div", W, " Keine Ergebnisse gefunden. ")) : p("", !0)
151
158
  ], 64))
152
159
  ]),
153
160
  _: 3
@@ -1,7 +1,7 @@
1
1
  import o from "./AutocompleteVocab.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-578a7a31"]]);
4
+ const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d0a4941f"]]);
5
5
  export {
6
6
  r as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as X, mergeModels as B, computed as t, ref as F, toRef as P, useModel as Y, watch as R, createBlock as k, openBlock as I, unref as m, createSlots as Z, withCtx as M, createElementVNode as w, createTextVNode as ee, createCommentVNode as re, toDisplayString as oe, renderSlot as te } from "vue";
1
+ import { defineComponent as X, mergeModels as _, computed as o, ref as A, toRef as F, useModel as Y, watch as P, createBlock as R, openBlock as k, unref as m, createSlots as Z, withCtx as I, createElementVNode as w, createTextVNode as ee, createCommentVNode as te, toDisplayString as re, renderSlot as oe } from "vue";
2
2
  import { PhSpinner as ae } from "@phosphor-icons/vue";
3
3
  import { defineHubSearch as le } from "@piveau/sdk-vue";
4
4
  import { useDebounce as p } from "@vueuse/core";
@@ -6,7 +6,7 @@ import se from "zod";
6
6
  import ue from "./Autocomplete.vue.js";
7
7
  const ne = { class: "autocomplete-vocab__label" }, be = /* @__PURE__ */ X({
8
8
  __name: "AutocompleteVocab",
9
- props: /* @__PURE__ */ B({
9
+ props: /* @__PURE__ */ _({
10
10
  by: { default: "" },
11
11
  baseUrl: { default: "https://twin.bydata.de/api/hub/search" },
12
12
  vocabulary: {},
@@ -22,57 +22,58 @@ const ne = { class: "autocomplete-vocab__label" }, be = /* @__PURE__ */ X({
22
22
  sort: { default: "title.de+asc,name.de+asc,pref_label.de+asc,pref_label.en+asc,alt_label.de+asc,alt_label.en+asc" },
23
23
  authToken: { default: "" },
24
24
  searchIcon: { type: Boolean, default: !1 },
25
- limit: { default: 24 }
25
+ limit: { default: 24 },
26
+ inputAsButton: { type: Boolean, default: !0 }
26
27
  }, {
27
28
  modelValue: { default: "" },
28
29
  modelModifiers: {}
29
30
  }),
30
- emits: /* @__PURE__ */ B(["select"], ["update:modelValue"]),
31
- setup(b, { emit: A }) {
32
- const r = b, D = A, u = t(() => !!r.vocabulary), v = t(() => r.by || u.value ? "vocabulary" : "resource"), T = t(() => r.resource === "dataset" ? "dataset" : u.value ? "vocabulary" : v.value), U = t(() => r.resource === "dataset" ? "datasets" : u.value ? "vocabularies" : v.value === "resource" ? `resources/${r.resource}` : "vocabularies"), $ = t(() => !r.isAutocompleteDisabled && !!(r.resource || r.vocabulary)), { useSearch: E, useResource: L } = le({
33
- baseUrl: r.baseUrl,
31
+ emits: /* @__PURE__ */ _(["select"], ["update:modelValue"]),
32
+ setup(b, { emit: M }) {
33
+ const t = b, D = M, u = o(() => !!t.vocabulary), v = o(() => t.by || u.value ? "vocabulary" : "resource"), T = o(() => t.resource === "dataset" ? "dataset" : u.value ? "vocabulary" : v.value), U = o(() => t.resource === "dataset" ? "datasets" : u.value ? "vocabularies" : v.value === "resource" ? `resources/${t.resource}` : "vocabularies"), $ = o(() => !t.isAutocompleteDisabled && !!(t.resource || t.vocabulary)), { useSearch: E, useResource: L } = le({
34
+ baseUrl: t.baseUrl,
34
35
  index: T.value,
35
36
  indexDetails: U.value,
36
37
  schema: se.any()
37
38
  }, (e) => {
38
- var d, V, _;
39
- const o = (d = r.setupFn) == null ? void 0 : d.call(r, e), l = String((o == null ? void 0 : o.id) || (e == null ? void 0 : e.resource) || ""), n = String((o == null ? void 0 : o.name) || ((V = e == null ? void 0 : e.pref_label) == null ? void 0 : V.de) || ((_ = e == null ? void 0 : e.pref_label) == null ? void 0 : _.en) || "");
39
+ var d, q, V;
40
+ const r = (d = t.setupFn) == null ? void 0 : d.call(t, e), l = String((r == null ? void 0 : r.id) || (e == null ? void 0 : e.resource) || ""), n = String((r == null ? void 0 : r.name) || ((q = e == null ? void 0 : e.pref_label) == null ? void 0 : q.de) || ((V = e == null ? void 0 : e.pref_label) == null ? void 0 : V.en) || "");
40
41
  return {
41
- ...o,
42
+ ...r,
42
43
  id: l,
43
44
  name: n
44
45
  };
45
- }), f = F(""), z = p(f, 300), C = t(() => r.vocabulary), N = t(() => ({
46
- ...r.authToken && { Authorization: `Bearer ${r.authToken}` }
46
+ }), f = A(""), z = p(f, 300), C = o(() => t.vocabulary), N = o(() => ({
47
+ ...t.authToken && { Authorization: `Bearer ${t.authToken}` }
47
48
  })), { getSearchResultsEnhanced: O, isFetching: x } = E({
48
49
  queryOptions: {
49
50
  enabled: $
50
51
  },
51
52
  queryParams: {
52
53
  q: z,
53
- limit: P(r.limit),
54
+ limit: F(t.limit),
54
55
  // ...vocabularyRef.value
55
56
  // ? { vocabulary: vocabularyRef }
56
57
  // : { resource: props.resource },
57
- vocabulary: t(() => u.value ? C.value : ""),
58
+ vocabulary: o(() => u.value ? C.value : ""),
58
59
  // resource: computed(() => props.resource || ''),
59
- sort: P(r.sort)
60
+ sort: F(t.sort)
60
61
  },
61
- additionalParams: t(() => ({
62
- resource: v.value === "resource" ? r.resource : ""
62
+ additionalParams: o(() => ({
63
+ resource: v.value === "resource" ? t.resource : ""
63
64
  })),
64
65
  headers: N
65
- }), j = t(() => {
66
+ }), j = o(() => {
66
67
  let e = O.value || [];
67
- return r.postProcessFn && (e = r.postProcessFn(e)), e;
68
- }), a = Y(b, "modelValue"), y = t(() => !(!a.value || typeof a.value == "string")), H = t(() => typeof a.value == "string");
68
+ return t.postProcessFn && (e = t.postProcessFn(e)), e;
69
+ }), a = Y(b, "modelValue"), y = o(() => !(!a.value || typeof a.value == "string")), H = o(() => typeof a.value == "string");
69
70
  function i(e) {
70
71
  return String(e ?? "").trim();
71
72
  }
72
- const c = t(() => {
73
+ const c = o(() => {
73
74
  var e;
74
75
  return typeof a.value == "string" ? i(a.value) : i((e = a.value) == null ? void 0 : e.id);
75
- }), h = t(() => H.value && !!c.value), Q = t(() => h.value ? u.value ? `${r.vocabulary}/vocable` : c.value : ""), G = t(() => u.value ? { resource: c.value } : {}), {
76
+ }), h = o(() => H.value && !!c.value), Q = o(() => h.value ? u.value ? `${t.vocabulary}/vocable` : c.value : ""), G = o(() => u.value ? { resource: c.value } : {}), {
76
77
  resultEnhanced: J,
77
78
  isSuccess: ie,
78
79
  isFetching: K
@@ -81,14 +82,14 @@ const ne = { class: "autocomplete-vocab__label" }, be = /* @__PURE__ */ X({
81
82
  queryOptions: {
82
83
  enabled: h
83
84
  }
84
- }), g = p(K, 350), W = p(x, 350), s = F(), S = t({
85
+ }), g = p(K, 350), W = p(x, 350), s = A(), S = o({
85
86
  get: () => {
86
87
  var l, n;
87
88
  const e = c.value;
88
89
  if (!e)
89
90
  return { id: "", name: "" };
90
- const o = typeof a.value == "object" && a.value !== null ? a.value.name : i((l = s.value) == null ? void 0 : l.id) === e ? ((n = s.value) == null ? void 0 : n.name) ?? "" : "";
91
- return { id: e, name: o };
91
+ const r = typeof a.value == "object" && a.value !== null ? a.value.name : i((l = s.value) == null ? void 0 : l.id) === e ? ((n = s.value) == null ? void 0 : n.name) ?? "" : "";
92
+ return { id: e, name: r };
92
93
  },
93
94
  set: (e) => {
94
95
  if (!e) {
@@ -102,48 +103,49 @@ const ne = { class: "autocomplete-vocab__label" }, be = /* @__PURE__ */ X({
102
103
  s.value = e, a.value = i(e.id);
103
104
  }
104
105
  });
105
- return R(J, (e, o) => {
106
- e && (o && o.id === e.id || (s.value = e, y.value && (a.value = e), y.value || (a.value = i(e.id))));
107
- }, { immediate: !0 }), R(s, (e) => {
106
+ return P(J, (e, r) => {
107
+ e && (r && r.id === e.id || (s.value = e, y.value && (a.value = e), y.value || (a.value = i(e.id))));
108
+ }, { immediate: !0 }), P(s, (e) => {
108
109
  e && D("select", e);
109
- }, { immediate: !0 }), (e, o) => (I(), k(ue, {
110
+ }, { immediate: !0 }), (e, r) => (k(), R(ue, {
110
111
  modelValue: S.value,
111
- "onUpdate:modelValue": o[0] || (o[0] = (l) => S.value = l),
112
+ "onUpdate:modelValue": r[0] || (r[0] = (l) => S.value = l),
112
113
  query: f.value,
113
- "onUpdate:query": o[1] || (o[1] = (l) => f.value = l),
114
+ "onUpdate:query": r[1] || (r[1] = (l) => f.value = l),
114
115
  options: j.value || [],
115
116
  label: e.label,
116
117
  "error-message": e.errorMessage,
117
118
  placeholder: e.placeholder,
118
119
  name: e.name,
119
- disabled: m(g) || r.disabled,
120
+ disabled: m(g) || t.disabled,
120
121
  loading: m(W),
121
- "search-icon": r.searchIcon
122
+ "search-icon": t.searchIcon,
123
+ "input-as-button": t.inputAsButton
122
124
  }, Z({
123
- label: M(() => [
125
+ label: I(() => [
124
126
  w("div", ne, [
125
- ee(oe(e.label) + " ", 1),
126
- m(g) ? (I(), k(m(ae), {
127
+ ee(re(e.label) + " ", 1),
128
+ m(g) ? (k(), R(m(ae), {
127
129
  key: 0,
128
130
  class: "animate-spin"
129
- })) : re("", !0)
131
+ })) : te("", !0)
130
132
  ])
131
133
  ]),
132
134
  _: 2
133
135
  }, [
134
136
  e.$slots.option ? {
135
137
  name: "option",
136
- fn: M(({ option: l, active: n, selected: q, disabled: d }) => [
137
- te(e.$slots, "option", {
138
+ fn: I(({ option: l, active: n, selected: B, disabled: d }) => [
139
+ oe(e.$slots, "option", {
138
140
  option: l,
139
141
  active: n,
140
- selected: q,
142
+ selected: B,
141
143
  disabled: d
142
144
  }, void 0, !0)
143
145
  ]),
144
146
  key: "0"
145
147
  } : void 0
146
- ]), 1032, ["modelValue", "query", "options", "label", "error-message", "placeholder", "name", "disabled", "loading", "search-icon"]));
148
+ ]), 1032, ["modelValue", "query", "options", "label", "error-message", "placeholder", "name", "disabled", "loading", "search-icon", "input-as-button"]));
147
149
  }
148
150
  });
149
151
  export {
@@ -1,7 +1,7 @@
1
1
  import o from "./Spatial.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-82ead6bb"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-335925e7"]]);
5
5
  export {
6
6
  m as default
7
7
  };