@base-framework/ui 1.0.58 → 1.0.60

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/atoms.es.js CHANGED
@@ -1,7 +1,7 @@
1
- import { B as e, C as t, a as n, F as o, L as p, P as r, R as u, S as I, b as i, T as l } from "./tooltip-DSfp01wQ.js";
1
+ import { B as e, C as t, a as n, F as o, L as p, P as r, R as u, S as I, b as i, T as l } from "./tooltip-VVq31tKx.js";
2
2
  import { B as m, I as T, L as c } from "./buttons-CVEwmPAi.js";
3
3
  import { C as B, d as C, D as S, c as g, E as b, F as f, H as h, I as F, M as L, N as P, P as R, R as k, S as D, T as V, a as E, b as H, U as M, W as N } from "./inputs-DmJuUwS9.js";
4
- import { V as W, a as w } from "./veil-gN57SpXV.js";
4
+ import { V as W, a as w } from "./veil-u78-Cyrs.js";
5
5
  export {
6
6
  e as Badge,
7
7
  m as Button,
@@ -3,7 +3,7 @@ import { Atom as c, Component as p, Html as L, Dom as Z, base as ee, Data as k,
3
3
  import { P as D, b as te } from "./calendar-BDqm833e.js";
4
4
  import { B as u, I as x } from "./buttons-CVEwmPAi.js";
5
5
  import { Icons as d } from "./icons.es.js";
6
- import { a as w } from "./veil-gN57SpXV.js";
6
+ import { a as w } from "./veil-u78-Cyrs.js";
7
7
  import { Timer as se, List as oe, DynamicTime as ne } from "@base-framework/organisms";
8
8
  const P = {
9
9
  info: {
@@ -34,8 +34,8 @@ const P = {
34
34
  }, re = (e, t) => n({ class: `flex items-center justify-center h-6 w-6 mr-3 ${t}` }, [
35
35
  f({ html: e })
36
36
  ]), le = (e) => _({ class: "font-semibold" }, e), ie = (e) => b({ class: "text-sm text-muted-foreground" }, e), ht = c(({ title: e, description: t, icon: s, type: o = "default" }) => {
37
- const { borderColor: l, bgColor: r, iconColor: i } = P[o] || P.default;
38
- return n({ class: `flex items-start p-4 border rounded-lg ${r} ${l}` }, [
37
+ const { borderColor: r, bgColor: l, iconColor: i } = P[o] || P.default;
38
+ return n({ class: `flex items-start p-4 border rounded-lg ${l} ${r}` }, [
39
39
  // Icon and content
40
40
  s && re(s, i),
41
41
  n({ class: "flex flex-col" }, [
@@ -174,15 +174,15 @@ const pe = c((e, t) => n({ ...e, class: "flex flex-auto flex-col space-y-2" }, t
174
174
  invalid: s,
175
175
  input: t
176
176
  } : o)), Ce = c((e, t) => {
177
- const l = H(t, (r) => {
178
- r.target.checkValidity() && e.setError(null);
179
- }, (r) => {
180
- e.setError(r.target.validationMessage);
177
+ const r = H(t, (l) => {
178
+ l.target.checkValidity() && e.setError(null);
179
+ }, (l) => {
180
+ e.setError(l.target.validationMessage);
181
181
  });
182
182
  return n({
183
183
  ...e,
184
184
  class: "w-full"
185
- }, l);
185
+ }, r);
186
186
  }), ft = w(
187
187
  {
188
188
  /**
@@ -204,8 +204,8 @@ const pe = c((e, t) => n({ ...e, class: "flex flex-auto flex-col space-y-2" }, t
204
204
  * @returns {object}
205
205
  */
206
206
  render() {
207
- const e = this.name, t = this.getId(`${e}`), { label: s, description: o } = this, l = (r) => {
208
- this.state.error = r, this.state.hasError = !!r;
207
+ const e = this.name, t = this.getId(`${e}`), { label: s, description: o } = this, r = (l) => {
208
+ this.state.error = l, this.state.hasError = !!l;
209
209
  };
210
210
  return n({ class: "flex flex-auto space-y-4" }, [
211
211
  pe([
@@ -214,29 +214,29 @@ const pe = c((e, t) => n({ ...e, class: "flex flex-auto flex-col space-y-2" }, t
214
214
  id: t,
215
215
  name: e,
216
216
  value: this.state.value,
217
- setError: l
217
+ setError: r
218
218
  }, this.children),
219
219
  o && we({ id: this.getId("description") }, o),
220
- n({ onState: ["error", (r) => r && ye(r)] })
220
+ n({ onState: ["error", (l) => l && ye(l)] })
221
221
  ])
222
222
  ]);
223
223
  }
224
224
  }
225
- ), ke = (e, t = null) => {
226
- e.target.checkValidity() && (e.preventDefault(), t && t(e));
225
+ ), ke = (e, t, s = null) => {
226
+ e.target.checkValidity() && (e.preventDefault(), s && s(e, t));
227
227
  }, Se = c(
228
- (e, t) => W({ ...e, submit: (s) => ke(s, e.submit), class: `w-full ${e.class ?? ""}` }, t)
228
+ (e, t) => W({ ...e, submit: (s, o) => ke(s, o, e.submit), class: `w-full ${e.class ?? ""}` }, t)
229
229
  ), gt = c((e, t) => n({ ...e, class: `space-y-6 p-4 md:p-6 divide-y ${e.class || ""}` }, t)), bt = c((e, t = []) => n({ class: "space-y-3 py-4" }, [
230
230
  e.title && B({ class: "font-semibold" }, e.title),
231
231
  ...t
232
232
  ])), pt = (e, t) => n({ class: "flex justify-between" }, [
233
233
  a({ class: "text-muted-foreground" }, e),
234
234
  a(t)
235
- ]), De = ({ title: e, description: t, back: s, icon: o, options: l = [] }) => $({ class: "modal-header bg-background/80 backdrop-blur-md sticky flex flex-none items-center py-4 px-6 z-10" }, [
235
+ ]), De = ({ title: e, description: t, back: s, icon: o, options: r = [] }) => $({ class: "modal-header bg-background/80 backdrop-blur-md sticky flex flex-none items-center py-4 px-6 z-10" }, [
236
236
  /**
237
237
  * Back Button
238
238
  */
239
- s && u({ variant: "icon", icon: d.arrows.left, class: "mr-2 p-0 flex sm:hidden", click: (r, i) => i.close() }),
239
+ s && u({ variant: "icon", icon: d.arrows.left, class: "mr-2 p-0 flex sm:hidden", click: (l, i) => i.close() }),
240
240
  /**
241
241
  * Icon
242
242
  */
@@ -249,7 +249,7 @@ const pe = c((e, t) => n({ ...e, class: "flex flex-auto flex-col space-y-2" }, t
249
249
  B({ class: "text-lg font-semibold m-0" }, e),
250
250
  t && n({ class: "text-sm text-muted-foreground" }, t)
251
251
  ]),
252
- ...l
252
+ ...r
253
253
  ])
254
254
  ]), Ie = c((e, t) => n({
255
255
  popover: "manual",
@@ -287,8 +287,8 @@ class xt extends p {
287
287
  description: o,
288
288
  options: this.headerOptions(),
289
289
  buttons: this.getButtons(),
290
- onSubmit: (l) => {
291
- this.onSubmit && this.onSubmit(l), this.destroy();
290
+ onSubmit: (r) => {
291
+ this.onSubmit && this.onSubmit(r), this.destroy();
292
292
  },
293
293
  icon: this.icon,
294
294
  back: this.back ?? !1,
@@ -475,14 +475,14 @@ class Me extends ae {
475
475
  * @returns {object}
476
476
  */
477
477
  render() {
478
- const { bgColor: t, borderColor: s, iconColor: o } = this.getTypeStyles(), l = this.href || null, r = this.getChildren(o);
479
- return l ? Be({
480
- href: l,
478
+ const { bgColor: t, borderColor: s, iconColor: o } = this.getTypeStyles(), r = this.href || null, l = this.getChildren(o);
479
+ return r ? Be({
480
+ href: r,
481
481
  class: `${t} ${s}`
482
- }, r) : $e({
482
+ }, l) : $e({
483
483
  close: this.close.bind(this),
484
484
  class: `${t} ${s}`
485
- }, r);
485
+ }, l);
486
486
  }
487
487
  /**
488
488
  * This will be called after the component is set up.
@@ -591,8 +591,8 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
591
591
  class: 'text-sm gap-1 font-medium leading-none disabled:cursor-not-allowed disabled:opacity-70 flex flex-col items-center justify-between rounded-md border-2 bg-popover p-4 hover:bg-accent hover:text-accent-foreground data-[state="active"]:border-primary [&:has([data-state="active"])]:border-primary',
592
592
  onState: ["method", { active: e }],
593
593
  dataSet: ["method", ["state", e, "active"]],
594
- click: (o, { state: l }) => {
595
- l.method = e, localStorage.setItem("theme", e), e === "system" && localStorage.removeItem("theme"), Pe(e);
594
+ click: (o, { state: r }) => {
595
+ r.method = e, localStorage.setItem("theme", e), e === "system" && localStorage.removeItem("theme"), Pe(e);
596
596
  }
597
597
  }, [
598
598
  x(s),
@@ -775,8 +775,8 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
775
775
  "bg-primary": e,
776
776
  "shadow-md": e
777
777
  }],
778
- click: (s, { data: o, onClick: l }) => {
779
- o.activeIndex = e, l && l(e);
778
+ click: (s, { data: o, onClick: r }) => {
779
+ o.activeIndex = e, r && r(e);
780
780
  }
781
781
  })
782
782
  ]), Ve = (e, t) => Array.from({ length: e }, (s, o) => Oe({
@@ -835,10 +835,10 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
835
835
  ]), Ue = ({ onSelect: e, state: t }) => n({ class: "flex flex-auto flex-col" }, [
836
836
  v(
837
837
  "open",
838
- (s, o, l) => s ? new D({
838
+ (s, o, r) => s ? new D({
839
839
  cache: "dropdown",
840
- parent: l,
841
- button: l.button
840
+ parent: r,
841
+ button: r.button
842
842
  }, [
843
843
  He(e, t)
844
844
  ]) : null
@@ -932,9 +932,9 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
932
932
  }), We = ({ bind: e, min: t, max: s, readonly: o = !1 }) => C({
933
933
  value: "[[count]]",
934
934
  bind: e,
935
- blur: (l, { state: r }) => {
936
- let i = parseInt(l.target.value, 10);
937
- isNaN(i) && (i = t ?? 0), t !== void 0 && (i = Math.max(i, t)), s !== void 0 && (i = Math.min(i, s)), r.count = i;
935
+ blur: (r, { state: l }) => {
936
+ let i = parseInt(r.target.value, 10);
937
+ isNaN(i) && (i = t ?? 0), t !== void 0 && (i = Math.max(i, t)), s !== void 0 && (i = Math.min(i, s)), l.count = i;
938
938
  },
939
939
  class: "flex flex-auto text-lg font-medium bg-transparent text-center border min-w-0",
940
940
  readonly: o,
@@ -993,14 +993,14 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
993
993
  ]), Ke = ({ handleDateSelect: e, blockPriorDates: t }) => n({ class: "absolute mt-1 z-10 bg-background rounded-md shadow-lg" }, [
994
994
  v(
995
995
  "open",
996
- (s, o, l) => s ? new D({
996
+ (s, o, r) => s ? new D({
997
997
  cache: "dropdown",
998
- parent: l,
999
- button: l.panel,
998
+ parent: r,
999
+ button: r.panel,
1000
1000
  size: "fit"
1001
1001
  }, [
1002
1002
  new te({
1003
- selectedDate: l.state.selectedDate,
1003
+ selectedDate: r.state.selectedDate,
1004
1004
  selectedCallBack: e,
1005
1005
  blockPriorDates: t
1006
1006
  })
@@ -1054,8 +1054,8 @@ const N = window.matchMedia, I = c(({ value: e, label: t, icon: s }) => h({
1054
1054
  new ne({
1055
1055
  dateTime: e,
1056
1056
  filter: s || ((o) => {
1057
- const l = A.getLocalTime(o, !0, !1, t);
1058
- return A.getTimeFrame(l);
1057
+ const r = A.getLocalTime(o, !0, !1, t);
1058
+ return A.getTimeFrame(r);
1059
1059
  })
1060
1060
  })
1061
1061
  ]);
@@ -1082,11 +1082,11 @@ function Xe({ bind: e, required: t, toggleOpen: s }) {
1082
1082
  ]
1083
1083
  );
1084
1084
  }
1085
- function T({ items: e, handleTimeSelect: t, state: s, stateValue: o, pad: l = !1 }) {
1085
+ function T({ items: e, handleTimeSelect: t, state: s, stateValue: o, pad: r = !1 }) {
1086
1086
  return n(
1087
1087
  { class: "flex flex-col max-h-[200px] overflow-y-auto" },
1088
- e.map((r) => {
1089
- let i = l ? r.toString().padStart(2, "0") : r.toString();
1088
+ e.map((l) => {
1089
+ let i = r ? l.toString().padStart(2, "0") : l.toString();
1090
1090
  return h({
1091
1091
  text: i,
1092
1092
  class: "hover:bg-muted/50 rounded-md px-2 py-1",
@@ -1118,7 +1118,7 @@ function Ze({ handleTimeSelect: e }) {
1118
1118
  [
1119
1119
  // Hours column
1120
1120
  T({
1121
- items: Array.from({ length: 12 }, (l, r) => r + 1),
1121
+ items: Array.from({ length: 12 }, (r, l) => l + 1),
1122
1122
  handleTimeSelect: e,
1123
1123
  state: o.state,
1124
1124
  stateValue: "hour",
@@ -1126,7 +1126,7 @@ function Ze({ handleTimeSelect: e }) {
1126
1126
  }),
1127
1127
  // Minutes column
1128
1128
  T({
1129
- items: Array.from({ length: 60 }, (l, r) => r),
1129
+ items: Array.from({ length: 60 }, (r, l) => l),
1130
1130
  handleTimeSelect: e,
1131
1131
  state: o.state,
1132
1132
  stateValue: "minute",
@@ -1155,11 +1155,11 @@ function E(e) {
1155
1155
  const t = /^(\d{1,2}):(\d{2})(?::(\d{2}))?\s?(AM|PM)?$/i, s = e.match(t);
1156
1156
  if (!s)
1157
1157
  return { hour: null, minute: null, meridian: null };
1158
- let [, o, l, , r] = s, i = parseInt(o, 10), g = parseInt(l, 10);
1159
- return i < 0 || i > 23 || g < 0 || g > 59 ? { hour: null, minute: null, meridian: null } : (r ? (r = r.toUpperCase(), r === "PM" && i < 12 ? i += 12 : r === "AM" && i === 12 && (i = 12)) : i === 0 ? (r = "AM", i = 12) : i < 12 ? r = "AM" : i === 12 ? r = "PM" : (r = "PM", i -= 12), {
1158
+ let [, o, r, , l] = s, i = parseInt(o, 10), g = parseInt(r, 10);
1159
+ return i < 0 || i > 23 || g < 0 || g > 59 ? { hour: null, minute: null, meridian: null } : (l ? (l = l.toUpperCase(), l === "PM" && i < 12 ? i += 12 : l === "AM" && i === 12 && (i = 12)) : i === 0 ? (l = "AM", i = 12) : i < 12 ? l = "AM" : i === 12 ? l = "PM" : (l = "PM", i -= 12), {
1160
1160
  hour: i.toString().padStart(2, "0"),
1161
1161
  minute: g.toString().padStart(2, "0"),
1162
- meridian: r
1162
+ meridian: l
1163
1163
  });
1164
1164
  }
1165
1165
  const $t = w(
@@ -1201,10 +1201,10 @@ const $t = w(
1201
1201
  * @returns {object}
1202
1202
  */
1203
1203
  render() {
1204
- const e = (s, { state: o }) => o.toggle("open"), t = ({ hour: s, minute: o, meridian: l }) => {
1205
- if (s && (this.state.hour = s), o && (this.state.minute = o), l && (this.state.meridian = l), this.state.hour && this.state.minute && this.state.meridian) {
1206
- const r = `${this.state.hour}:${this.state.minute} ${this.state.meridian}`;
1207
- this.state.selectedTime = r, this.state.open = !1, this.input.value = r, typeof this.change == "function" && this.change(r);
1204
+ const e = (s, { state: o }) => o.toggle("open"), t = ({ hour: s, minute: o, meridian: r }) => {
1205
+ if (s && (this.state.hour = s), o && (this.state.minute = o), r && (this.state.meridian = r), this.state.hour && this.state.minute && this.state.meridian) {
1206
+ const l = `${this.state.hour}:${this.state.minute} ${this.state.meridian}`;
1207
+ this.state.selectedTime = l, this.state.open = !1, this.input.value = l, typeof this.change == "function" && this.change(l);
1208
1208
  }
1209
1209
  };
1210
1210
  return n(
@@ -1292,13 +1292,13 @@ class nt extends p {
1292
1292
  render() {
1293
1293
  const t = (g) => {
1294
1294
  g.target === this.panel && this.close();
1295
- }, { borderColor: s, bgColor: o, iconColor: l } = j[this.type] || j.default, r = `${this.getMainClass()} ${o} ${s}`, i = this.title || "Dialog Title";
1295
+ }, { borderColor: s, bgColor: o, iconColor: r } = j[this.type] || j.default, l = `${this.getMainClass()} ${o} ${s}`, i = this.title || "Dialog Title";
1296
1296
  return st({
1297
- class: r,
1297
+ class: l,
1298
1298
  title: i,
1299
1299
  click: t,
1300
1300
  icon: this.icon,
1301
- iconColor: l,
1301
+ iconColor: r,
1302
1302
  description: this.description,
1303
1303
  buttons: this.getButtons()
1304
1304
  }, this.children);
package/dist/index.es.js CHANGED
@@ -1,9 +1,9 @@
1
- import { B as e, C as o, a as t, F as r, L as n, P as i, R as l, S as p, b as u, T as m } from "./tooltip-DSfp01wQ.js";
1
+ import { B as e, C as o, a as t, F as r, L as n, P as i, R as l, S as p, b as u, T as m } from "./tooltip-VVq31tKx.js";
2
2
  import { B as g, I as C, L as T } from "./buttons-CVEwmPAi.js";
3
3
  import { C as D, d as I, D as S, c as b, E as B, F as P, H as F, I as M, M as k, N, P as v, R as f, S as x, T as h, a as y, b as W, U as L, W as A } from "./inputs-DmJuUwS9.js";
4
- import { V as w, a as U } from "./veil-gN57SpXV.js";
4
+ import { V as w, a as U } from "./veil-u78-Cyrs.js";
5
5
  import { Icons as R } from "./icons.es.js";
6
- import { A as G, B as V, C as j, z as q, u as z, v as J, w as _, D as K, j as Q, k as X, G as Y, E as Z, s as $, c as aa, a as sa, b as ea, i as oa, g as ta, e as ra, h as na, F as ia, d as la, f as pa, t as ua, M as ma, l as da, N as ga, P as Ca, p as Ta, q as ca, S as Da, n as Ia, o as Sa, T as ba, x as Ba, y as Pa, m as Fa, r as Ma } from "./confirmation-Btvthjo6.js";
6
+ import { A as G, B as V, C as j, z as q, u as z, v as J, w as _, D as K, j as Q, k as X, G as Y, E as Z, s as $, c as aa, a as sa, b as ea, i as oa, g as ta, e as ra, h as na, F as ia, d as la, f as pa, t as ua, M as ma, l as da, N as ga, P as Ca, p as Ta, q as ca, S as Da, n as Ia, o as Sa, T as ba, x as Ba, y as Pa, m as Fa, r as Ma } from "./confirmation-BFRBd5Uy.js";
7
7
  import { A as Na, b as va, C as fa, D as xa, a as ha, F as ya, M as Wa, P as La, c as Aa, g as Ha, p as wa } from "./calendar-BDqm833e.js";
8
8
  import { B as Oa, m as Ra, C as Ea, j as Ga, D as Va, l as ja, H as qa, I as za, N as Ja, O as _a, P as Ka, S as Qa, q as Xa, p as Ya, n as Za, o as $a, T as as, k as ss, U as es, W as os, f as ts, h as rs, i as ns, c as is, d as ls, b as ps, e as us, a as ms, g as ds } from "./signature-panel-CN_WhW5E.js";
9
9
  import { B as Cs, I as Ts, M as cs, d as Ds, e as Is, g as Ss, N as bs, b as Bs, a as Ps, f as Fs, P as Ms, c as ks, S as Ns, T as vs } from "./mobile-nav-wrapper-BE_hr65B.js";
@@ -1,4 +1,4 @@
1
- import { A as o, B as t, C as e, z as i, u as r, v as n, w as m, D as l, j as S, k as D, G as c, E as u, s as d, c as g, a as p, b as C, i as F, g as T, e as A, h as P, F as f, d as b, f as w, t as B, M as I, l as M, N as x, P as y, p as k, q as v, S as N, n as h, o as E, T as L, x as U, y as j, m as q, r as z } from "./confirmation-Btvthjo6.js";
1
+ import { A as o, B as t, C as e, z as i, u as r, v as n, w as m, D as l, j as S, k as D, G as c, E as u, s as d, c as g, a as p, b as C, i as F, g as T, e as A, h as P, F as f, d as b, f as w, t as B, M as I, l as M, N as x, P as y, p as k, q as v, S as N, n as h, o as E, T as L, x as U, y as j, m as q, r as z } from "./confirmation-BFRBd5Uy.js";
2
2
  import { A as O, P as R, g as _ } from "./calendar-BDqm833e.js";
3
3
  export {
4
4
  o as Alert,
@@ -1,6 +1,6 @@
1
1
  import { Span as c, Div as l, Legend as b, Fieldset as f, Input as x } from "@base-framework/atoms";
2
2
  import { Atom as s, Html as C } from "@base-framework/base";
3
- import { a as u } from "./veil-gN57SpXV.js";
3
+ import { a as u } from "./veil-u78-Cyrs.js";
4
4
  import { f as p, e as h, g as y } from "./inputs-DmJuUwS9.js";
5
5
  const a = {
6
6
  gray: {
@@ -0,0 +1,22 @@
1
+ import { Jot as l } from "@base-framework/base";
2
+ const r = l(
3
+ {
4
+ /**
5
+ * This will set the component context.
6
+ *
7
+ * @param {object|null} context
8
+ * @returns {object|null}
9
+ */
10
+ setContext(a) {
11
+ var n, o, e, s;
12
+ if (console.log(this.data), this.data)
13
+ return null;
14
+ const t = ((n = this == null ? void 0 : this.parent) == null ? void 0 : n.data) ?? ((e = (o = this == null ? void 0 : this.parent) == null ? void 0 : o.context) == null ? void 0 : e.data) ?? ((s = this == null ? void 0 : this.parent) == null ? void 0 : s.state) ?? null;
15
+ return console.log(t), t ? { data: t } : null;
16
+ }
17
+ }
18
+ ), c = (a) => l(a, r);
19
+ export {
20
+ r as V,
21
+ c as a
22
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base-framework/ui",
3
- "version": "1.0.58",
3
+ "version": "1.0.60",
4
4
  "description": "This is a UI package that adds components and atoms that use Tailwind CSS and a theme based on Shadcn.",
5
5
  "main": "./dist/index.es.js",
6
6
  "scripts": {
@@ -1,22 +0,0 @@
1
- import { Jot as s } from "@base-framework/base";
2
- const i = s(
3
- {
4
- /**
5
- * This will set the component context.
6
- *
7
- * @param {object|null} context
8
- * @returns {object|null}
9
- */
10
- setContext(t) {
11
- var n, e, r, o;
12
- if (this.data)
13
- return null;
14
- const a = ((n = this == null ? void 0 : this.parent) == null ? void 0 : n.data) ?? ((r = (e = this == null ? void 0 : this.parent) == null ? void 0 : e.context) == null ? void 0 : r.data) ?? ((o = this == null ? void 0 : this.parent) == null ? void 0 : o.state) ?? null;
15
- return a ? { data: a } : null;
16
- }
17
- }
18
- ), u = (t) => s(t, i);
19
- export {
20
- i as V,
21
- u as a
22
- };