@greatapps/common 1.1.595 → 1.1.596

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,12 +1,19 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { IconHelp, IconBulb } from "@tabler/icons-react";
3
+ import { IconHelp, IconBulb, IconSparkles } from "@tabler/icons-react";
4
4
  import { useIsDefaultWhitelabel, useWhitelabel } from "../../../providers/whitelabel.provider";
5
5
  function BottomLinks() {
6
6
  const { whitelabel } = useWhitelabel();
7
7
  const isMainWhitelabel = useIsDefaultWhitelabel();
8
8
  const helpUrl = whitelabel?.url_help || "https://ajuda.greatsoftwares.com.br/pt-br/";
9
9
  const links = [
10
+ ...isMainWhitelabel ? [
11
+ {
12
+ label: "Novidades",
13
+ icon: IconSparkles,
14
+ className: "novidades"
15
+ }
16
+ ] : [],
10
17
  {
11
18
  label: "Central de ajuda",
12
19
  icon: IconHelp,
@@ -20,20 +27,34 @@ function BottomLinks() {
20
27
  }
21
28
  ] : []
22
29
  ];
23
- return /* @__PURE__ */ jsx("div", { className: "flex flex-col", children: links.map((link) => /* @__PURE__ */ jsxs(
24
- "a",
25
- {
26
- href: link.href,
27
- target: "_blank",
28
- rel: "noopener noreferrer",
29
- className: "rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50",
30
- children: [
31
- /* @__PURE__ */ jsx(link.icon, { size: 20, className: "text-gray-400" }),
32
- /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-gray-500", children: link.label })
33
- ]
34
- },
35
- link.label
36
- )) });
30
+ const baseClassName = "rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50";
31
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col", children: links.map(
32
+ (link) => link.href ? /* @__PURE__ */ jsxs(
33
+ "a",
34
+ {
35
+ href: link.href,
36
+ target: "_blank",
37
+ rel: "noopener noreferrer",
38
+ className: `${baseClassName}${link.className ? ` ${link.className}` : ""}`,
39
+ children: [
40
+ /* @__PURE__ */ jsx(link.icon, { size: 20, className: "text-gray-400" }),
41
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-gray-500", children: link.label })
42
+ ]
43
+ },
44
+ link.label
45
+ ) : /* @__PURE__ */ jsxs(
46
+ "button",
47
+ {
48
+ type: "button",
49
+ className: `${baseClassName} text-left${link.className ? ` ${link.className}` : ""}`,
50
+ children: [
51
+ /* @__PURE__ */ jsx(link.icon, { size: 20, className: "text-gray-400" }),
52
+ /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-gray-500", children: link.label })
53
+ ]
54
+ },
55
+ link.label
56
+ )
57
+ ) });
37
58
  }
38
59
  export {
39
60
  BottomLinks
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/navigation/subcomponents/BottomLinks.tsx"],"sourcesContent":["'use client';\n\nimport { IconHelp, IconBulb } from '@tabler/icons-react';\nimport { useIsDefaultWhitelabel, useWhitelabel } from '../../../providers/whitelabel.provider';\n\nexport function BottomLinks() {\n const { whitelabel } = useWhitelabel();\n const isMainWhitelabel = useIsDefaultWhitelabel();\n\n const helpUrl = whitelabel?.url_help || 'https://ajuda.greatsoftwares.com.br/pt-br/';\n\n const links = [\n {\n label: 'Central de ajuda',\n icon: IconHelp,\n href: helpUrl,\n },\n ...(isMainWhitelabel\n ? [\n {\n label: 'Enviar sugestões',\n icon: IconBulb,\n href: 'https://ideias.greatpages.com.br/b/y0geg1ve/feature-ideas',\n },\n ]\n : []),\n ];\n\n return (\n <div className=\"flex flex-col\">\n {links.map((link) => (\n <a\n key={link.label}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50\"\n >\n <link.icon size={20} className=\"text-gray-400\" />\n <span className=\"paragraph-small-medium text-gray-500\">\n {link.label}\n </span>\n </a>\n ))}\n </div>\n );\n}\n"],"mappings":";AA+BQ,SAOE,KAPF;AA7BR,SAAS,UAAU,gBAAgB;AACnC,SAAS,wBAAwB,qBAAqB;AAE/C,SAAS,cAAc;AAC5B,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,mBAAmB,uBAAuB;AAEhD,QAAM,UAAU,YAAY,YAAY;AAExC,QAAM,QAAQ;AAAA,IACZ;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,GAAI,mBACA;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF,IACA,CAAC;AAAA,EACP;AAEA,SACE,oBAAC,SAAI,WAAU,iBACZ,gBAAM,IAAI,CAAC,SACV;AAAA,IAAC;AAAA;AAAA,MAEC,MAAM,KAAK;AAAA,MACX,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,WAAU;AAAA,MAEV;AAAA,4BAAC,KAAK,MAAL,EAAU,MAAM,IAAI,WAAU,iBAAgB;AAAA,QAC/C,oBAAC,UAAK,WAAU,wCACb,eAAK,OACR;AAAA;AAAA;AAAA,IATK,KAAK;AAAA,EAUZ,CACD,GACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/navigation/subcomponents/BottomLinks.tsx"],"sourcesContent":["'use client';\n\nimport { IconHelp, IconBulb, IconSparkles, type TablerIcon } from '@tabler/icons-react';\nimport { useIsDefaultWhitelabel, useWhitelabel } from '../../../providers/whitelabel.provider';\n\ninterface BottomLink {\n label: string;\n icon: TablerIcon;\n href?: string;\n className?: string;\n}\n\nexport function BottomLinks() {\n const { whitelabel } = useWhitelabel();\n const isMainWhitelabel = useIsDefaultWhitelabel();\n\n const helpUrl = whitelabel?.url_help || 'https://ajuda.greatsoftwares.com.br/pt-br/';\n\n const links: BottomLink[] = [\n ...(isMainWhitelabel\n ? [\n {\n label: 'Novidades',\n icon: IconSparkles,\n className: 'novidades',\n },\n ]\n : []),\n {\n label: 'Central de ajuda',\n icon: IconHelp,\n href: helpUrl,\n },\n ...(isMainWhitelabel\n ? [\n {\n label: 'Enviar sugestões',\n icon: IconBulb,\n href: 'https://ideias.greatpages.com.br/b/y0geg1ve/feature-ideas',\n },\n ]\n : []),\n ];\n\n const baseClassName =\n 'rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50';\n\n return (\n <div className=\"flex flex-col\">\n {links.map((link) =>\n link.href ? (\n <a\n key={link.label}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`${baseClassName}${link.className ? ` ${link.className}` : ''}`}\n >\n <link.icon size={20} className=\"text-gray-400\" />\n <span className=\"paragraph-small-medium text-gray-500\">{link.label}</span>\n </a>\n ) : (\n <button\n key={link.label}\n type=\"button\"\n className={`${baseClassName} text-left${link.className ? ` ${link.className}` : ''}`}\n >\n <link.icon size={20} className=\"text-gray-400\" />\n <span className=\"paragraph-small-medium text-gray-500\">{link.label}</span>\n </button>\n )\n )}\n </div>\n );\n}\n"],"mappings":";AAmDU,SAOE,KAPF;AAjDV,SAAS,UAAU,UAAU,oBAAqC;AAClE,SAAS,wBAAwB,qBAAqB;AAS/C,SAAS,cAAc;AAC5B,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,mBAAmB,uBAAuB;AAEhD,QAAM,UAAU,YAAY,YAAY;AAExC,QAAM,QAAsB;AAAA,IAC1B,GAAI,mBACA;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF,IACA,CAAC;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,GAAI,mBACA;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF,IACA,CAAC;AAAA,EACP;AAEA,QAAM,gBACJ;AAEF,SACE,oBAAC,SAAI,WAAU,iBACZ,gBAAM;AAAA,IAAI,CAAC,SACV,KAAK,OACH;AAAA,MAAC;AAAA;AAAA,QAEC,MAAM,KAAK;AAAA,QACX,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,WAAW,GAAG,aAAa,GAAG,KAAK,YAAY,IAAI,KAAK,SAAS,KAAK,EAAE;AAAA,QAExE;AAAA,8BAAC,KAAK,MAAL,EAAU,MAAM,IAAI,WAAU,iBAAgB;AAAA,UAC/C,oBAAC,UAAK,WAAU,wCAAwC,eAAK,OAAM;AAAA;AAAA;AAAA,MAP9D,KAAK;AAAA,IAQZ,IAEA;AAAA,MAAC;AAAA;AAAA,QAEC,MAAK;AAAA,QACL,WAAW,GAAG,aAAa,aAAa,KAAK,YAAY,IAAI,KAAK,SAAS,KAAK,EAAE;AAAA,QAElF;AAAA,8BAAC,KAAK,MAAL,EAAU,MAAM,IAAI,WAAU,iBAAgB;AAAA,UAC/C,oBAAC,UAAK,WAAU,wCAAwC,eAAK,OAAM;AAAA;AAAA;AAAA,MAL9D,KAAK;AAAA,IAMZ;AAAA,EAEJ,GACF;AAEJ;","names":[]}
@@ -15,12 +15,12 @@ const ChargeSchema = z.object({
15
15
  title: z.string().nullable().optional(),
16
16
  id_subscription: z.union([z.number(), z.string()]).nullable().optional(),
17
17
  id_account: z.coerce.number(),
18
- status: z.number().nullable().optional().default(0),
18
+ status: z.coerce.number().nullable().optional().transform((val) => val ?? 0),
19
19
  description: z.string().nullable().optional(),
20
20
  date_due: z.coerce.date().nullable().optional(),
21
21
  date_payment: z.coerce.date().nullable().optional(),
22
22
  payment_method: z.number().nullable().optional(),
23
- value: z.number().nullable().optional().default(0),
23
+ value: z.coerce.number().nullable().optional().transform((val) => val ?? 0),
24
24
  type: z.number().nullable().optional(),
25
25
  periodicity: z.number().nullable().optional(),
26
26
  id_gateway: z.number().nullable().optional(),
@@ -31,11 +31,11 @@ const ChargeSchema = z.object({
31
31
  invoice_url: z.string().nullable().optional(),
32
32
  invoice_pdf: z.string().nullable().optional(),
33
33
  date_created: z.coerce.date().nullable().optional(),
34
- deleted: z.number().transform((val) => val === 1).nullable().optional().default(false),
34
+ deleted: z.coerce.number().nullable().optional().transform((val) => val === 1),
35
35
  datetime_alt: z.coerce.date().nullable().optional(),
36
36
  datetime_del: z.coerce.date().nullable().optional(),
37
37
  datetime_add: z.coerce.date().nullable().optional(),
38
- line_descriptions: z.array(z.string()).nullable().optional().default([]),
38
+ line_descriptions: z.array(z.string()).nullable().optional().transform((val) => val ?? []),
39
39
  payment_details: PaymentDetailsSchema
40
40
  });
41
41
  const FindChargesParamsSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/modules/charges/types/charge.type.ts"],"sourcesContent":["import { PaginationParamsSchema, SearchParamsSchema, SortParamsSchema } from '../../../infra/api/types';\nimport z from 'zod';\n\nconst BoletoPaymentDetailsSchema = z.object({\n type: z.literal('boleto'),\n barcode: z.string().nullable().optional(),\n expiration_date: z.number().nullable().optional(),\n hosted_voucher_url: z.string().nullable().optional(),\n pdf: z.string().nullable().optional(),\n});\n\nconst PaymentDetailsSchema = z.union([BoletoPaymentDetailsSchema, z.record(z.string(), z.unknown())]).nullable().optional();\n\nexport const ChargeSchema = z.object({\n id: z.coerce.number(),\n id_wl: z.number(),\n id_product: z.number().nullable().optional(),\n title: z.string().nullable().optional(),\n id_subscription: z.union([z.number(), z.string()]).nullable().optional(),\n id_account: z.coerce.number(),\n status: z.number().nullable().optional().default(0),\n description: z.string().nullable().optional(),\n date_due: z.coerce.date().nullable().optional(),\n date_payment: z.coerce.date().nullable().optional(),\n payment_method: z.number().nullable().optional(),\n value: z.number().nullable().optional().default(0),\n type: z.number().nullable().optional(),\n periodicity: z.number().nullable().optional(),\n id_gateway: z.number().nullable().optional(),\n gateway_invoice: z.string().nullable().optional(),\n gateway_billet: z.string().nullable().optional(),\n invoice_id: z.string().nullable().optional(),\n invoice_service: z.string().nullable().optional(),\n invoice_url: z.string().nullable().optional(),\n invoice_pdf: z.string().nullable().optional(),\n date_created: z.coerce.date().nullable().optional(),\n deleted: z.number().transform((val) => val === 1).nullable().optional().default(false),\n datetime_alt: z.coerce.date().nullable().optional(),\n datetime_del: z.coerce.date().nullable().optional(),\n datetime_add: z.coerce.date().nullable().optional(),\n line_descriptions: z.array(z.string()).nullable().optional().default([]),\n payment_details: PaymentDetailsSchema,\n});\n\nexport type Charge = z.infer<typeof ChargeSchema>;\n\nexport const FindChargesParamsSchema = z\n .object({\n date_start: z.date(),\n date_end: z.date(),\n date_payment_start: z.date(),\n date_payment_end: z.date(),\n status: z.array(z.number()).optional(),\n })\n .extend(PaginationParamsSchema.shape)\n .extend(SortParamsSchema.shape)\n .extend(SearchParamsSchema.shape);\n\nexport const PayChargeInputSchema = z.object({\n chargeId: z.union([z.number(), z.string()]),\n paymentMethod: z.number(),\n paymentMethodId: z.string().optional(),\n});\n\nexport type PayChargeInput = z.infer<typeof PayChargeInputSchema>;\n\nexport type FindChargesParams = z.infer<typeof FindChargesParamsSchema>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/modules/charges/types/charge.type.ts"],"sourcesContent":["import { PaginationParamsSchema, SearchParamsSchema, SortParamsSchema } from '../../../infra/api/types';\nimport z from 'zod';\n\nconst BoletoPaymentDetailsSchema = z.object({\n type: z.literal('boleto'),\n barcode: z.string().nullable().optional(),\n expiration_date: z.number().nullable().optional(),\n hosted_voucher_url: z.string().nullable().optional(),\n pdf: z.string().nullable().optional(),\n});\n\nconst PaymentDetailsSchema = z.union([BoletoPaymentDetailsSchema, z.record(z.string(), z.unknown())]).nullable().optional();\n\nexport const ChargeSchema = z.object({\n id: z.coerce.number(),\n id_wl: z.number(),\n id_product: z.number().nullable().optional(),\n title: z.string().nullable().optional(),\n id_subscription: z.union([z.number(), z.string()]).nullable().optional(),\n id_account: z.coerce.number(),\n status: z.coerce.number().nullable().optional().transform((val) => val ?? 0),\n description: z.string().nullable().optional(),\n date_due: z.coerce.date().nullable().optional(),\n date_payment: z.coerce.date().nullable().optional(),\n payment_method: z.number().nullable().optional(),\n value: z.coerce.number().nullable().optional().transform((val) => val ?? 0),\n type: z.number().nullable().optional(),\n periodicity: z.number().nullable().optional(),\n id_gateway: z.number().nullable().optional(),\n gateway_invoice: z.string().nullable().optional(),\n gateway_billet: z.string().nullable().optional(),\n invoice_id: z.string().nullable().optional(),\n invoice_service: z.string().nullable().optional(),\n invoice_url: z.string().nullable().optional(),\n invoice_pdf: z.string().nullable().optional(),\n date_created: z.coerce.date().nullable().optional(),\n deleted: z.coerce.number().nullable().optional().transform((val) => val === 1),\n datetime_alt: z.coerce.date().nullable().optional(),\n datetime_del: z.coerce.date().nullable().optional(),\n datetime_add: z.coerce.date().nullable().optional(),\n line_descriptions: z.array(z.string()).nullable().optional().transform((val) => val ?? []),\n payment_details: PaymentDetailsSchema,\n});\n\nexport type Charge = z.infer<typeof ChargeSchema>;\n\nexport const FindChargesParamsSchema = z\n .object({\n date_start: z.date(),\n date_end: z.date(),\n date_payment_start: z.date(),\n date_payment_end: z.date(),\n status: z.array(z.number()).optional(),\n })\n .extend(PaginationParamsSchema.shape)\n .extend(SortParamsSchema.shape)\n .extend(SearchParamsSchema.shape);\n\nexport const PayChargeInputSchema = z.object({\n chargeId: z.union([z.number(), z.string()]),\n paymentMethod: z.number(),\n paymentMethodId: z.string().optional(),\n});\n\nexport type PayChargeInput = z.infer<typeof PayChargeInputSchema>;\n\nexport type FindChargesParams = z.infer<typeof FindChargesParamsSchema>;\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@greatapps/common",
3
- "version": "1.1.595",
3
+ "version": "1.1.596",
4
4
  "description": "Shared library for GreatApps frontend applications",
5
5
  "main": "./dist/index.mjs",
6
6
  "types": "./src/index.ts",
@@ -1,15 +1,31 @@
1
1
  'use client';
2
2
 
3
- import { IconHelp, IconBulb } from '@tabler/icons-react';
3
+ import { IconHelp, IconBulb, IconSparkles, type TablerIcon } from '@tabler/icons-react';
4
4
  import { useIsDefaultWhitelabel, useWhitelabel } from '../../../providers/whitelabel.provider';
5
5
 
6
+ interface BottomLink {
7
+ label: string;
8
+ icon: TablerIcon;
9
+ href?: string;
10
+ className?: string;
11
+ }
12
+
6
13
  export function BottomLinks() {
7
14
  const { whitelabel } = useWhitelabel();
8
15
  const isMainWhitelabel = useIsDefaultWhitelabel();
9
16
 
10
17
  const helpUrl = whitelabel?.url_help || 'https://ajuda.greatsoftwares.com.br/pt-br/';
11
18
 
12
- const links = [
19
+ const links: BottomLink[] = [
20
+ ...(isMainWhitelabel
21
+ ? [
22
+ {
23
+ label: 'Novidades',
24
+ icon: IconSparkles,
25
+ className: 'novidades',
26
+ },
27
+ ]
28
+ : []),
13
29
  {
14
30
  label: 'Central de ajuda',
15
31
  icon: IconHelp,
@@ -26,22 +42,34 @@ export function BottomLinks() {
26
42
  : []),
27
43
  ];
28
44
 
45
+ const baseClassName =
46
+ 'rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50';
47
+
29
48
  return (
30
49
  <div className="flex flex-col">
31
- {links.map((link) => (
32
- <a
33
- key={link.label}
34
- href={link.href}
35
- target="_blank"
36
- rel="noopener noreferrer"
37
- className="rounded-md flex items-center gap-2 p-3 cursor-pointer transition-colors no-underline bg-white hover:bg-gray-100 active:bg-gray-50"
38
- >
39
- <link.icon size={20} className="text-gray-400" />
40
- <span className="paragraph-small-medium text-gray-500">
41
- {link.label}
42
- </span>
43
- </a>
44
- ))}
50
+ {links.map((link) =>
51
+ link.href ? (
52
+ <a
53
+ key={link.label}
54
+ href={link.href}
55
+ target="_blank"
56
+ rel="noopener noreferrer"
57
+ className={`${baseClassName}${link.className ? ` ${link.className}` : ''}`}
58
+ >
59
+ <link.icon size={20} className="text-gray-400" />
60
+ <span className="paragraph-small-medium text-gray-500">{link.label}</span>
61
+ </a>
62
+ ) : (
63
+ <button
64
+ key={link.label}
65
+ type="button"
66
+ className={`${baseClassName} text-left${link.className ? ` ${link.className}` : ''}`}
67
+ >
68
+ <link.icon size={20} className="text-gray-400" />
69
+ <span className="paragraph-small-medium text-gray-500">{link.label}</span>
70
+ </button>
71
+ )
72
+ )}
45
73
  </div>
46
74
  );
47
75
  }
@@ -18,12 +18,12 @@ export const ChargeSchema = z.object({
18
18
  title: z.string().nullable().optional(),
19
19
  id_subscription: z.union([z.number(), z.string()]).nullable().optional(),
20
20
  id_account: z.coerce.number(),
21
- status: z.number().nullable().optional().default(0),
21
+ status: z.coerce.number().nullable().optional().transform((val) => val ?? 0),
22
22
  description: z.string().nullable().optional(),
23
23
  date_due: z.coerce.date().nullable().optional(),
24
24
  date_payment: z.coerce.date().nullable().optional(),
25
25
  payment_method: z.number().nullable().optional(),
26
- value: z.number().nullable().optional().default(0),
26
+ value: z.coerce.number().nullable().optional().transform((val) => val ?? 0),
27
27
  type: z.number().nullable().optional(),
28
28
  periodicity: z.number().nullable().optional(),
29
29
  id_gateway: z.number().nullable().optional(),
@@ -34,11 +34,11 @@ export const ChargeSchema = z.object({
34
34
  invoice_url: z.string().nullable().optional(),
35
35
  invoice_pdf: z.string().nullable().optional(),
36
36
  date_created: z.coerce.date().nullable().optional(),
37
- deleted: z.number().transform((val) => val === 1).nullable().optional().default(false),
37
+ deleted: z.coerce.number().nullable().optional().transform((val) => val === 1),
38
38
  datetime_alt: z.coerce.date().nullable().optional(),
39
39
  datetime_del: z.coerce.date().nullable().optional(),
40
40
  datetime_add: z.coerce.date().nullable().optional(),
41
- line_descriptions: z.array(z.string()).nullable().optional().default([]),
41
+ line_descriptions: z.array(z.string()).nullable().optional().transform((val) => val ?? []),
42
42
  payment_details: PaymentDetailsSchema,
43
43
  });
44
44