@blocklet/payment-react 1.14.21 → 1.14.22

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.
Files changed (136) hide show
  1. package/es/checkout/donate.d.ts +2 -1
  2. package/es/checkout/donate.js +9 -10
  3. package/es/checkout/form.d.ts +1 -1
  4. package/es/checkout/form.js +23 -1
  5. package/es/checkout/table.d.ts +1 -1
  6. package/es/checkout/table.js +8 -1
  7. package/es/components/blockchain/tx.js +2 -1
  8. package/es/components/country-select.d.ts +16 -0
  9. package/es/components/country-select.js +82 -0
  10. package/es/components/input.d.ts +21 -21
  11. package/es/components/input.js +43 -42
  12. package/es/components/livemode.js +1 -0
  13. package/es/components/pricing-table.js +0 -2
  14. package/es/components/status.js +2 -3
  15. package/es/components/table.d.ts +2 -0
  16. package/es/components/table.js +186 -0
  17. package/es/contexts/payment.d.ts +2 -0
  18. package/es/contexts/payment.js +5 -2
  19. package/es/history/invoice/list.d.ts +3 -1
  20. package/es/history/invoice/list.js +215 -48
  21. package/es/hooks/mobile.d.ts +4 -0
  22. package/es/hooks/mobile.js +10 -0
  23. package/es/index.d.ts +5 -1
  24. package/es/index.js +7 -1
  25. package/es/libs/util.d.ts +15 -2
  26. package/es/libs/util.js +92 -28
  27. package/es/locales/en.js +22 -7
  28. package/es/locales/index.d.ts +0 -1
  29. package/es/locales/index.js +10 -1
  30. package/es/locales/zh.js +21 -6
  31. package/es/payment/error.js +2 -2
  32. package/es/payment/footer.js +1 -1
  33. package/es/payment/form/address.d.ts +9 -2
  34. package/es/payment/form/address.js +69 -69
  35. package/es/payment/form/currency.js +39 -25
  36. package/es/payment/form/index.d.ts +1 -1
  37. package/es/payment/form/index.js +83 -81
  38. package/es/payment/form/phone.js +15 -51
  39. package/es/payment/index.d.ts +1 -10
  40. package/es/payment/index.js +274 -219
  41. package/es/payment/product-card.js +4 -4
  42. package/es/payment/product-donation.js +7 -2
  43. package/es/payment/product-item.d.ts +2 -2
  44. package/es/payment/product-item.js +120 -81
  45. package/es/payment/summary.js +188 -118
  46. package/es/theme/index.css +240 -0
  47. package/es/theme/index.d.ts +9 -0
  48. package/es/theme/index.js +243 -0
  49. package/es/theme/typography.d.ts +2 -0
  50. package/es/theme/typography.js +53 -0
  51. package/es/types/index.d.ts +11 -0
  52. package/lib/checkout/donate.d.ts +2 -1
  53. package/lib/checkout/donate.js +14 -2
  54. package/lib/checkout/form.d.ts +1 -1
  55. package/lib/checkout/form.js +22 -1
  56. package/lib/checkout/table.d.ts +1 -1
  57. package/lib/checkout/table.js +14 -1
  58. package/lib/components/blockchain/tx.js +4 -1
  59. package/lib/components/country-select.d.ts +16 -0
  60. package/lib/components/country-select.js +115 -0
  61. package/lib/components/input.d.ts +21 -21
  62. package/lib/components/input.js +21 -12
  63. package/lib/components/livemode.js +1 -0
  64. package/lib/components/pricing-table.js +0 -2
  65. package/lib/components/status.js +2 -3
  66. package/lib/components/table.d.ts +2 -0
  67. package/lib/components/table.js +220 -0
  68. package/lib/contexts/payment.d.ts +2 -0
  69. package/lib/contexts/payment.js +4 -1
  70. package/lib/history/invoice/list.d.ts +3 -1
  71. package/lib/history/invoice/list.js +290 -62
  72. package/lib/hooks/mobile.d.ts +4 -0
  73. package/lib/hooks/mobile.js +17 -0
  74. package/lib/index.d.ts +5 -1
  75. package/lib/index.js +36 -0
  76. package/lib/libs/util.d.ts +15 -2
  77. package/lib/libs/util.js +115 -37
  78. package/lib/locales/en.js +22 -7
  79. package/lib/locales/index.d.ts +0 -1
  80. package/lib/locales/index.js +14 -3
  81. package/lib/locales/zh.js +21 -6
  82. package/lib/payment/error.js +5 -1
  83. package/lib/payment/footer.js +1 -1
  84. package/lib/payment/form/address.d.ts +9 -2
  85. package/lib/payment/form/address.js +67 -59
  86. package/lib/payment/form/currency.js +31 -24
  87. package/lib/payment/form/index.d.ts +1 -1
  88. package/lib/payment/form/index.js +92 -93
  89. package/lib/payment/form/phone.js +11 -59
  90. package/lib/payment/index.d.ts +1 -10
  91. package/lib/payment/index.js +291 -219
  92. package/lib/payment/product-card.js +5 -4
  93. package/lib/payment/product-donation.js +9 -2
  94. package/lib/payment/product-item.d.ts +2 -2
  95. package/lib/payment/product-item.js +38 -19
  96. package/lib/payment/summary.js +219 -127
  97. package/lib/theme/index.css +240 -0
  98. package/lib/theme/index.d.ts +9 -0
  99. package/lib/theme/index.js +259 -0
  100. package/lib/theme/typography.d.ts +2 -0
  101. package/lib/theme/typography.js +59 -0
  102. package/lib/types/index.d.ts +11 -0
  103. package/package.json +14 -11
  104. package/src/checkout/donate.tsx +16 -10
  105. package/src/checkout/form.tsx +23 -0
  106. package/src/checkout/table.tsx +13 -1
  107. package/src/components/blockchain/tx.tsx +2 -1
  108. package/src/components/country-select.tsx +93 -0
  109. package/src/components/input.tsx +49 -46
  110. package/src/components/livemode.tsx +1 -0
  111. package/src/components/pricing-table.tsx +0 -2
  112. package/src/components/status.tsx +1 -2
  113. package/src/components/table.tsx +200 -0
  114. package/src/contexts/payment.tsx +6 -1
  115. package/src/history/invoice/list.tsx +254 -49
  116. package/src/hooks/mobile.ts +13 -0
  117. package/src/index.ts +7 -0
  118. package/src/libs/util.ts +120 -31
  119. package/src/locales/en.tsx +18 -4
  120. package/src/locales/index.tsx +10 -3
  121. package/src/locales/zh.tsx +17 -3
  122. package/src/payment/error.tsx +2 -2
  123. package/src/payment/footer.tsx +1 -1
  124. package/src/payment/form/address.tsx +56 -47
  125. package/src/payment/form/currency.tsx +29 -23
  126. package/src/payment/form/index.tsx +89 -76
  127. package/src/payment/form/phone.tsx +14 -51
  128. package/src/payment/index.tsx +294 -242
  129. package/src/payment/product-card.tsx +4 -4
  130. package/src/payment/product-donation.tsx +7 -3
  131. package/src/payment/product-item.tsx +49 -20
  132. package/src/payment/summary.tsx +191 -108
  133. package/src/theme/index.css +240 -0
  134. package/src/theme/index.tsx +250 -0
  135. package/src/theme/typography.ts +56 -0
  136. package/src/types/index.ts +12 -0
@@ -1,11 +1,10 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import "react-international-phone/style.css";
3
3
  import { useLocaleContext } from "@arcblock/ux/lib/Locale/context";
4
- import { useTheme } from "@arcblock/ux/lib/Theme";
5
4
  import Toast from "@arcblock/ux/lib/Toast";
6
5
  import { LoadingButton } from "@mui/lab";
7
- import { Fade, InputAdornment, Stack, Typography } from "@mui/material";
8
- import { useCreation, useMemoizedFn, useSetState, useSize } from "ahooks";
6
+ import { Divider, Fade, FormLabel, Stack, Typography } from "@mui/material";
7
+ import { useMemoizedFn, useSetState } from "ahooks";
9
8
  import { PhoneNumberUtil } from "google-libphonenumber";
10
9
  import pWaitFor from "p-wait-for";
11
10
  import { useEffect, useMemo, useState } from "react";
@@ -26,7 +25,6 @@ import {
26
25
  getQueryParams,
27
26
  getStatementDescriptor
28
27
  } from "../../libs/util.js";
29
- import UserButtons from "./addon.js";
30
28
  import AddressForm from "./address.js";
31
29
  import CurrencySelector from "./currency.js";
32
30
  import PhoneInput from "./phone.js";
@@ -60,12 +58,11 @@ export default function PaymentForm({
60
58
  customer,
61
59
  onPaid,
62
60
  onError,
63
- mode,
61
+ // mode,
64
62
  action
65
63
  }) {
66
- const theme = useTheme();
67
64
  const { t } = useLocaleContext();
68
- const { session, connect } = usePaymentContext();
65
+ const { session, connect, payable } = usePaymentContext();
69
66
  const subscription = useSubscription("events");
70
67
  const { control, getValues, setValue, handleSubmit } = useFormContext();
71
68
  const quantityInventoryStatus = useMemo(() => {
@@ -129,15 +126,6 @@ export default function PaymentForm({
129
126
  setValue("payment_currency", currencies[paymentCurrencyIndex]?.id);
130
127
  }, [paymentCurrencyIndex, currencies, setValue]);
131
128
  const paymentMethod = useWatch({ control, name: "payment_method" });
132
- const domSize = useSize(document.body);
133
- const isColumnLayout = useCreation(() => {
134
- if (domSize) {
135
- if (domSize?.width <= theme.breakpoints.values.md) {
136
- return true;
137
- }
138
- }
139
- return false;
140
- }, [domSize, theme]);
141
129
  const afterUserLoggedIn = useMemoizedFn(() => {
142
130
  if (hasDidWallet(session.user)) {
143
131
  handleSubmit(onFormSubmit, onFormError)();
@@ -308,11 +296,55 @@ export default function PaymentForm({
308
296
  };
309
297
  return /* @__PURE__ */ jsxs(Fragment, { children: [
310
298
  /* @__PURE__ */ jsx(Fade, { in: true, children: /* @__PURE__ */ jsxs(Stack, { className: "cko-payment-contact", children: [
311
- /* @__PURE__ */ jsxs(Stack, { direction: "row", sx: { mb: 1 }, alignItems: "center", justifyContent: "space-between", children: [
312
- /* @__PURE__ */ jsx(Typography, { sx: { color: "text.secondary", fontWeight: 600 }, children: t("payment.checkout.contact") }),
313
- isColumnLayout || mode !== "standalone" ? null : /* @__PURE__ */ jsx(UserButtons, {})
314
- ] }),
315
- /* @__PURE__ */ jsxs(Stack, { direction: "column", className: "cko-payment-form", spacing: 0, children: [
299
+ /* @__PURE__ */ jsx(
300
+ Typography,
301
+ {
302
+ title: t("payment.checkout.paymentDetails"),
303
+ sx: {
304
+ color: "text.primary",
305
+ fontSize: {
306
+ xs: "18px",
307
+ md: "24px"
308
+ },
309
+ fontWeight: "700",
310
+ lineHeight: "32px",
311
+ mb: 2.5
312
+ },
313
+ children: t("payment.checkout.paymentDetails")
314
+ }
315
+ ),
316
+ /* @__PURE__ */ jsx(Fade, { in: true, children: /* @__PURE__ */ jsxs(Stack, { direction: "column", alignItems: "flex-start", className: "cko-payment-methods", children: [
317
+ /* @__PURE__ */ jsx(Stack, { direction: "row", sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
318
+ Controller,
319
+ {
320
+ name: "payment_currency",
321
+ control,
322
+ render: () => /* @__PURE__ */ jsx(
323
+ CurrencySelector,
324
+ {
325
+ value: paymentCurrencyIndex,
326
+ currencies,
327
+ onChange: setPaymentCurrencyIndex
328
+ }
329
+ )
330
+ }
331
+ ) }),
332
+ state.stripePaying && state.stripeContext && /* @__PURE__ */ jsx(
333
+ StripeCheckout,
334
+ {
335
+ clientSecret: state.stripeContext.client_secret,
336
+ intentType: state.stripeContext.intent_type,
337
+ publicKey: method.settings.stripe?.publishable_key,
338
+ customer: state.customer,
339
+ mode: checkoutSession.mode,
340
+ onConfirm: onStripeConfirm,
341
+ onCancel: onStripeCancel
342
+ }
343
+ )
344
+ ] }) }),
345
+ /* @__PURE__ */ jsx(Stack, { direction: "row", sx: { mb: 1 }, alignItems: "center", justifyContent: "space-between" }),
346
+ /* @__PURE__ */ jsxs(Stack, { direction: "column", className: "cko-payment-form", spacing: 0, sx: { flex: 1, overflow: "auto" }, children: [
347
+ /* @__PURE__ */ jsx(FormLabel, { className: "base-label", children: t("payment.checkout.customer.name") }),
316
348
  /* @__PURE__ */ jsx(
317
349
  FormInput,
318
350
  {
@@ -321,12 +353,10 @@ export default function PaymentForm({
321
353
  errorPosition: "right",
322
354
  rules: {
323
355
  required: t("payment.checkout.required")
324
- },
325
- InputProps: {
326
- startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: t("payment.checkout.customer.name") })
327
356
  }
328
357
  }
329
358
  ),
359
+ /* @__PURE__ */ jsx(FormLabel, { className: "base-label", children: t("payment.checkout.customer.email") }),
330
360
  /* @__PURE__ */ jsx(
331
361
  FormInput,
332
362
  {
@@ -336,65 +366,43 @@ export default function PaymentForm({
336
366
  rules: {
337
367
  required: t("payment.checkout.required"),
338
368
  validate: (x) => isEmail(x) ? true : t("payment.checkout.invalid")
339
- },
340
- InputProps: {
341
- startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: t("payment.checkout.customer.email") })
342
369
  }
343
370
  }
344
371
  ),
345
- checkoutSession.phone_number_collection?.enabled && /* @__PURE__ */ jsx(
346
- PhoneInput,
347
- {
348
- name: "customer_phone",
349
- variant: "outlined",
350
- errorPosition: "right",
351
- placeholder: "Phone number",
352
- rules: {
353
- required: t("payment.checkout.required"),
354
- validate: (x) => {
355
- try {
356
- const parsed = phoneUtil.parseAndKeepRawInput(x);
357
- return phoneUtil.isValidNumber(parsed) ? true : t("payment.checkout.invalid");
358
- } catch {
359
- return t("payment.checkout.invalid");
372
+ checkoutSession.phone_number_collection?.enabled && /* @__PURE__ */ jsxs(Fragment, { children: [
373
+ /* @__PURE__ */ jsx(FormLabel, { className: "base-label", children: t("payment.checkout.customer.phone") }),
374
+ /* @__PURE__ */ jsx(
375
+ PhoneInput,
376
+ {
377
+ name: "customer_phone",
378
+ variant: "outlined",
379
+ errorPosition: "right",
380
+ placeholder: "Phone number",
381
+ rules: {
382
+ required: t("payment.checkout.required"),
383
+ validate: (x) => {
384
+ try {
385
+ const parsed = phoneUtil.parseAndKeepRawInput(x);
386
+ return phoneUtil.isValidNumber(parsed) ? true : t("payment.checkout.invalid");
387
+ } catch {
388
+ return t("payment.checkout.invalid");
389
+ }
360
390
  }
361
391
  }
362
392
  }
393
+ )
394
+ ] }),
395
+ /* @__PURE__ */ jsx(
396
+ AddressForm,
397
+ {
398
+ mode: checkoutSession.billing_address_collection,
399
+ stripe: method?.type === "stripe",
400
+ sx: { marginTop: "0 !important" }
363
401
  }
364
402
  )
365
403
  ] })
366
404
  ] }) }),
367
- /* @__PURE__ */ jsx(AddressForm, { mode: checkoutSession.billing_address_collection, stripe: method?.type === "stripe" }),
368
- /* @__PURE__ */ jsx(Fade, { in: true, children: /* @__PURE__ */ jsxs(Stack, { direction: "column", alignItems: "flex-start", className: "cko-payment-methods", children: [
369
- /* @__PURE__ */ jsx(Typography, { sx: { color: "text.secondary", fontWeight: 600 }, children: t("payment.checkout.method") }),
370
- /* @__PURE__ */ jsx(Stack, { direction: "row", sx: { width: "100%" }, children: /* @__PURE__ */ jsx(
371
- Controller,
372
- {
373
- name: "payment_currency",
374
- control,
375
- render: () => /* @__PURE__ */ jsx(
376
- CurrencySelector,
377
- {
378
- value: paymentCurrencyIndex,
379
- currencies,
380
- onChange: setPaymentCurrencyIndex
381
- }
382
- )
383
- }
384
- ) }),
385
- state.stripePaying && state.stripeContext && /* @__PURE__ */ jsx(
386
- StripeCheckout,
387
- {
388
- clientSecret: state.stripeContext.client_secret,
389
- intentType: state.stripeContext.intent_type,
390
- publicKey: method.settings.stripe?.publishable_key,
391
- customer: state.customer,
392
- mode: checkoutSession.mode,
393
- onConfirm: onStripeConfirm,
394
- onCancel: onStripeCancel
395
- }
396
- )
397
- ] }) }),
405
+ /* @__PURE__ */ jsx(Divider, { sx: { mt: 2.5, mb: 2.5 } }),
398
406
  /* @__PURE__ */ jsx(Fade, { in: true, children: /* @__PURE__ */ jsxs(Stack, { className: "cko-payment-submit", children: [
399
407
  /* @__PURE__ */ jsx(
400
408
  LoadingButton,
@@ -405,18 +413,12 @@ export default function PaymentForm({
405
413
  className: "cko-submit-button",
406
414
  onClick: onAction,
407
415
  fullWidth: true,
408
- disabled: state.submitting || state.paying || state.stripePaying || !quantityInventoryStatus,
416
+ disabled: state.submitting || state.paying || state.stripePaying || !quantityInventoryStatus || !payable,
409
417
  loading: state.submitting || state.paying,
410
418
  children: state.submitting || state.paying ? t("payment.checkout.processing") : buttonText
411
419
  }
412
420
  ),
413
- ["subscription", "setup"].includes(checkoutSession.mode) && /* @__PURE__ */ jsx(
414
- Typography,
415
- {
416
- sx: { mt: 1, color: "text.secondary", fontSize: "0.9rem", lineHeight: "1.1rem", textAlign: "center" },
417
- children: t("payment.checkout.confirm", { payee })
418
- }
419
- )
421
+ ["subscription", "setup"].includes(checkoutSession.mode) && /* @__PURE__ */ jsx(Typography, { sx: { mt: 2.5, color: "text.lighter", fontSize: "0.9rem", lineHeight: "1.1rem" }, children: t("payment.checkout.confirm", { payee }) })
420
422
  ] }) }),
421
423
  state.customerLimited && /* @__PURE__ */ jsx(
422
424
  ConfirmDialog,
@@ -1,11 +1,12 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { InputAdornment, MenuItem, Select, Typography } from "@mui/material";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { InputAdornment } from "@mui/material";
3
3
  import omit from "lodash/omit";
4
4
  import { useEffect } from "react";
5
5
  import { useFormContext, useWatch } from "react-hook-form";
6
- import { FlagEmoji, defaultCountries, parseCountry, usePhoneInput } from "react-international-phone";
6
+ import { defaultCountries, usePhoneInput } from "react-international-phone";
7
7
  import FormInput from "../../components/input.js";
8
8
  import { isValidCountry } from "../../libs/util.js";
9
+ import CountrySelect from "../../components/country-select.js";
9
10
  export default function PhoneInput({ ...props }) {
10
11
  const countryFieldName = props.countryFieldName || "billing_address.country";
11
12
  const { control, getValues, setValue } = useFormContext();
@@ -16,6 +17,7 @@ export default function PhoneInput({ ...props }) {
16
17
  countries: defaultCountries,
17
18
  onChange: (data) => {
18
19
  setValue(props.name, data.phone);
20
+ setValue(countryFieldName, data.country);
19
21
  }
20
22
  });
21
23
  const userCountry = useWatch({ control, name: countryFieldName });
@@ -24,9 +26,9 @@ export default function PhoneInput({ ...props }) {
24
26
  setCountry(userCountry);
25
27
  }
26
28
  }, [userCountry]);
27
- const onCountryChange = (e) => {
28
- setCountry(e.target.value);
29
- setValue(countryFieldName, e.target.value);
29
+ const onCountryChange = (v) => {
30
+ setCountry(v);
31
+ setValue(countryFieldName, v);
30
32
  };
31
33
  return (
32
34
  // @ts-ignore
@@ -39,54 +41,16 @@ export default function PhoneInput({ ...props }) {
39
41
  inputRef,
40
42
  InputProps: {
41
43
  startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", style: { marginRight: "2px", marginLeft: "-8px" }, children: /* @__PURE__ */ jsx(
42
- Select,
44
+ CountrySelect,
43
45
  {
44
- MenuProps: {
45
- style: {
46
- height: "300px",
47
- width: "360px",
48
- top: "10px",
49
- left: "-34px"
50
- },
51
- transformOrigin: {
52
- vertical: "top",
53
- horizontal: "left"
54
- }
55
- },
56
- sx: {
57
- width: "max-content",
58
- // Remove default outline (display only on focus)
59
- fieldset: {
60
- display: "none"
61
- },
62
- '&.Mui-focused:has(div[aria-expanded="false"])': {
63
- fieldset: {
64
- display: "block"
65
- }
66
- },
67
- // Update default spacing
68
- ".MuiSelect-select": {
69
- padding: "8px",
70
- paddingRight: "24px !important"
71
- },
72
- svg: {
73
- right: 0
74
- }
75
- },
76
46
  value: country,
77
47
  onChange: onCountryChange,
78
- renderValue: (code) => /* @__PURE__ */ jsx(FlagEmoji, { iso2: code, style: { display: "flex" } }),
79
- children: defaultCountries.map((c) => {
80
- const parsed = parseCountry(c);
81
- return /* @__PURE__ */ jsxs(MenuItem, { value: parsed.iso2, children: [
82
- /* @__PURE__ */ jsx(FlagEmoji, { iso2: parsed.iso2, style: { marginRight: "8px" } }),
83
- /* @__PURE__ */ jsx(Typography, { marginRight: "8px", children: parsed.name }),
84
- /* @__PURE__ */ jsxs(Typography, { color: "gray", children: [
85
- "+",
86
- parsed.dialCode
87
- ] })
88
- ] }, parsed.iso2);
89
- })
48
+ name: countryFieldName,
49
+ sx: {
50
+ "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
51
+ borderColor: "transparent"
52
+ }
53
+ }
90
54
  }
91
55
  ) })
92
56
  },
@@ -5,7 +5,7 @@ type Props = CheckoutContext & CheckoutCallbacks & {
5
5
  completed?: boolean;
6
6
  error?: any;
7
7
  };
8
- declare function Payment({ checkoutSession, paymentMethods, paymentIntent, paymentLink, customer, completed, error, mode, onPaid, onError, onChange, goBack, action, }: Props): import("react").JSX.Element;
8
+ declare function Payment({ checkoutSession, paymentMethods, paymentIntent, paymentLink, customer, completed, mode, onPaid, onError, onChange, goBack, action, }: Props): import("react").JSX.Element;
9
9
  declare namespace Payment {
10
10
  var defaultProps: {
11
11
  completed: boolean;
@@ -13,15 +13,6 @@ declare namespace Payment {
13
13
  };
14
14
  }
15
15
  export default Payment;
16
- type MainProps = CheckoutContext & CheckoutCallbacks & {
17
- completed?: boolean;
18
- };
19
- export declare function PaymentInner({ checkoutSession, paymentMethods, paymentLink, paymentIntent, customer, completed, mode, onPaid, onError, onChange, goBack, action, }: MainProps): import("react").JSX.Element;
20
- export declare namespace PaymentInner {
21
- var defaultProps: {
22
- completed: boolean;
23
- };
24
- }
25
16
  export declare const Root: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
26
17
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
27
18
  }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/system").Theme> & {