@redneckz/wildless-cms-uni-blocks 0.14.1064 → 0.14.1066

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 (105) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +58 -32
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/RatesTable/RatesTable.d.ts +3 -0
  5. package/bundle/components/RatesTable/RatesTableContent.d.ts +13 -3
  6. package/bundle/components/RatesTable/RatesTableItem.d.ts +2 -2
  7. package/bundle/hooks/useRates.d.ts +11 -2
  8. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  9. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  10. package/dist/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  11. package/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  12. package/dist/components/RatesTable/RatesTable.d.ts +3 -0
  13. package/dist/components/RatesTable/RatesTable.js +23 -5
  14. package/dist/components/RatesTable/RatesTable.js.map +1 -1
  15. package/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  16. package/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  17. package/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  18. package/dist/hooks/useRates.d.ts +11 -2
  19. package/dist/hooks/useRates.js +28 -20
  20. package/dist/hooks/useRates.js.map +1 -1
  21. package/dist/retail/components/Fields/DeliveryDateField.js +1 -5
  22. package/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  23. package/dist/retail/components/Fields/DeliveryTimeField.js +1 -0
  24. package/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  25. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  26. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  27. package/lib/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  28. package/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  29. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  30. package/lib/components/RatesTable/RatesTable.d.ts +3 -0
  31. package/lib/components/RatesTable/RatesTable.fixture.d.ts +1 -1
  32. package/lib/components/RatesTable/RatesTable.fixture.mobile.d.ts +1 -1
  33. package/lib/components/RatesTable/RatesTable.js +23 -5
  34. package/lib/components/RatesTable/RatesTable.js.map +1 -1
  35. package/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  36. package/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  37. package/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  38. package/lib/hooks/useRates.d.ts +11 -2
  39. package/lib/hooks/useRates.js +28 -20
  40. package/lib/hooks/useRates.js.map +1 -1
  41. package/lib/retail/components/Fields/DeliveryDateField.js +1 -5
  42. package/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  43. package/lib/retail/components/Fields/DeliveryTimeField.js +1 -0
  44. package/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  45. package/mobile/bundle/bundle.umd.js +58 -32
  46. package/mobile/bundle/bundle.umd.min.js +1 -1
  47. package/mobile/bundle/components/RatesTable/RatesTable.d.ts +3 -0
  48. package/mobile/bundle/components/RatesTable/RatesTableContent.d.ts +13 -3
  49. package/mobile/bundle/components/RatesTable/RatesTableItem.d.ts +2 -2
  50. package/mobile/bundle/hooks/useRates.d.ts +11 -2
  51. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  52. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  53. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  54. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  55. package/mobile/dist/components/RatesTable/RatesTable.d.ts +3 -0
  56. package/mobile/dist/components/RatesTable/RatesTable.js +23 -5
  57. package/mobile/dist/components/RatesTable/RatesTable.js.map +1 -1
  58. package/mobile/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  59. package/mobile/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  60. package/mobile/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  61. package/mobile/dist/hooks/useRates.d.ts +11 -2
  62. package/mobile/dist/hooks/useRates.js +28 -20
  63. package/mobile/dist/hooks/useRates.js.map +1 -1
  64. package/mobile/dist/retail/components/Fields/DeliveryDateField.js +1 -5
  65. package/mobile/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  66. package/mobile/dist/retail/components/Fields/DeliveryTimeField.js +1 -0
  67. package/mobile/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  68. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  69. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  70. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  71. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  72. package/mobile/lib/components/RatesTable/RatesTable.d.ts +3 -0
  73. package/mobile/lib/components/RatesTable/RatesTable.js +23 -5
  74. package/mobile/lib/components/RatesTable/RatesTable.js.map +1 -1
  75. package/mobile/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  76. package/mobile/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  77. package/mobile/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  78. package/mobile/lib/hooks/useRates.d.ts +11 -2
  79. package/mobile/lib/hooks/useRates.js +28 -20
  80. package/mobile/lib/hooks/useRates.js.map +1 -1
  81. package/mobile/lib/retail/components/Fields/DeliveryDateField.js +1 -5
  82. package/mobile/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  83. package/mobile/lib/retail/components/Fields/DeliveryTimeField.js +1 -0
  84. package/mobile/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  85. package/mobile/src/components/CreditCardForm/getDeliveryCreditCardData.ts +6 -0
  86. package/mobile/src/components/CreditCardForm/useCreditCardFormAPI.tsx +2 -1
  87. package/mobile/src/components/RatesTable/RatesTable.example.json +5 -3
  88. package/mobile/src/components/RatesTable/RatesTable.tsx +71 -16
  89. package/mobile/src/components/RatesTable/RatesTableContent.ts +14 -3
  90. package/mobile/src/components/RatesTable/RatesTableItem.tsx +2 -1
  91. package/mobile/src/hooks/useRates.ts +46 -23
  92. package/mobile/src/retail/components/Fields/DeliveryDateField.tsx +2 -6
  93. package/mobile/src/retail/components/Fields/DeliveryTimeField.tsx +1 -0
  94. package/package.json +1 -1
  95. package/src/components/CreditCardForm/getDeliveryCreditCardData.ts +6 -0
  96. package/src/components/CreditCardForm/useCreditCardFormAPI.tsx +2 -1
  97. package/src/components/RatesTable/RatesTable.example.json +5 -3
  98. package/src/components/RatesTable/RatesTable.fixture.mobile.tsx +10 -5
  99. package/src/components/RatesTable/RatesTable.fixture.tsx +10 -5
  100. package/src/components/RatesTable/RatesTable.tsx +71 -16
  101. package/src/components/RatesTable/RatesTableContent.ts +14 -3
  102. package/src/components/RatesTable/RatesTableItem.tsx +2 -1
  103. package/src/hooks/useRates.ts +46 -23
  104. package/src/retail/components/Fields/DeliveryDateField.tsx +2 -6
  105. package/src/retail/components/Fields/DeliveryTimeField.tsx +1 -0
@@ -6243,9 +6243,6 @@
6243
6243
 
6244
6244
  const MIN_DATE = new Date(Date.now() + 1 * 24 * 60 * 60 * 1000);
6245
6245
  const DeliveryDateField = JSX(({ field, input }) => {
6246
- const { productType } = useRetailFormStore();
6247
- const isDebit = productType === 'debitCard';
6248
- const minDate = isDebit ? MIN_DATE : new Date();
6249
6246
  const { data } = useLeadFormData('DAYS_DELIVERY_SETTINGS');
6250
6247
  const weekends = useMemo(() => {
6251
6248
  const weekendItem = data?.find((item) => item.key === 'WEEKEND');
@@ -6254,7 +6251,7 @@
6254
6251
  }
6255
6252
  return [];
6256
6253
  }, [data]);
6257
- return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: minDate, weekends: isDebit ? weekends : [] }));
6254
+ return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: MIN_DATE, weekends: weekends }));
6258
6255
  });
6259
6256
 
6260
6257
  const DeliveryTimeField = JSX(({ field, input }) => {
@@ -6267,6 +6264,7 @@
6267
6264
  const allowedTimes = isDebit ? debitDeliveryTime : creditDeliveryTime;
6268
6265
  return (data || [])
6269
6266
  .filter((item) => item.key && allowedTimes.includes(item.key))
6267
+ .sort((a, b) => (a.displayOrder || 0) - (b.displayOrder || 0))
6270
6268
  .map((item) => ({
6271
6269
  id: item.key,
6272
6270
  text: item.value,
@@ -10828,12 +10826,17 @@
10828
10826
 
10829
10827
  const getDeliveryData$1 = (formData) => {
10830
10828
  const { methodObtain, deliveryDate = '', deliveryTime } = formData;
10829
+ const isNewMicroservice = checkNewMicroservice();
10830
+ //TODO временный хардкод для тестирования, требуется чтобы отработал ЕФР
10831
+ const oficeId = isNewMicroservice ? { id: '92fc8b67-2648-43ad-a441-5ca827021186' } : { id: '3' };
10831
10832
  const isCourierDelivery = methodObtain === 'courier';
10832
10833
  const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
10833
10834
  return isCourierDelivery
10834
10835
  ? {
10835
10836
  courierDeliveryFlg: isCourierDelivery,
10836
10837
  deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
10838
+ //TODO временный хардкод для тестирования, не забыть удалить
10839
+ office: oficeId,
10837
10840
  ...deliveryTimeCd,
10838
10841
  }
10839
10842
  : {};
@@ -10929,7 +10932,8 @@
10929
10932
  cardCategory: leadForm?.cardCategory?.text,
10930
10933
  deliveryDate: leadForm?.deliveryDate,
10931
10934
  };
10932
- retailFormStore.leadForm = initialState;
10935
+ const resetState = { ...initialState, methodObtain: undefined };
10936
+ retailFormStore.leadForm = resetState;
10933
10937
  }
10934
10938
  }, [isFinalStep, initialState]);
10935
10939
  const handleSubmit = useCallback(async (formData) => {
@@ -14080,40 +14084,48 @@
14080
14084
  return (jsx(BlockWrapper, { version: "transparent", className: style(className), defaultPadding: "p-0", ...rest, children: dataType === 'offices' ? jsx(OfficesMap, {}) : jsx(AtmsMap, { descriptionData: data }) }));
14081
14085
  });
14082
14086
 
14083
- const RATES_URL = `${API_BASE_URI}/rates`;
14084
- const ARCHIVE_RATES_URL = `${API_BASE_URI}/historyrates`;
14085
- const EMPTY_RATES = [
14086
- [
14087
- {
14088
- currencyPair: 'Валютная пара',
14089
- buyRate: 0,
14090
- sellRate: 0,
14091
- },
14092
- ],
14093
- ];
14094
- function useRates(isArchive) {
14095
- const url = isArchive ? ARCHIVE_RATES_URL : RATES_URL;
14096
- const rateKey = isArchive ? 'archiveRates' : 'rates';
14087
+ const EMPTY_RATES = [];
14088
+ const RATES_URL = {
14089
+ natural: `${API_BASE_URI}/rates`,
14090
+ cards: `${API_BASE_URI}/ratescards`,
14091
+ //archive: `${API_BASE_URI}/historyrates`,
14092
+ };
14093
+ const RATES_KEY = {
14094
+ natural: 'rates',
14095
+ cards: 'ratescards',
14096
+ //archive: 'historyrates',
14097
+ };
14098
+ // TODO: для архива прокинуть date
14099
+ function useRates({ ratesType = 'natural', fetchArchive = true }) {
14100
+ //const url = ratesType === 'archive' ? getArchiveRatesURL(date) : RATES_URL[ratesType];
14101
+ const url = RATES_URL[ratesType];
14102
+ const rateKey = RATES_KEY[ratesType];
14097
14103
  const ratesStore = useLocalStore();
14098
14104
  // проверяем, надо ли обновлять значения ставок
14099
- const shouldUpdate = getShouldUpdate(isArchive, ratesStore);
14105
+ const shouldUpdate = getShouldUpdate(rateKey, ratesStore, fetchArchive);
14100
14106
  // костыль, не отправлять запрос на бэк, если уже был запрос менее 15 мин назад
14101
14107
  const { data } = useAsyncData(shouldUpdate ? url : '', fetchJSONUnsafe);
14102
14108
  // если есть data и значение надо обновить, то обновляем локалсторадж
14103
14109
  if (shouldUpdate && data) {
14104
14110
  const nextUpdate = getTimeAfter15Minutes();
14105
- ratesStore[rateKey] = { rate: data, nextUpdate };
14111
+ ratesStore[rateKey] = { rate: data ?? [], nextUpdate };
14106
14112
  }
14107
14113
  // берем данные из локалсторадж
14108
14114
  const rates = ratesStore[rateKey]?.rate;
14115
+ const isLoad = Array.isArray(rates);
14109
14116
  // возвращаем данные из локалсторадж или заглушку
14110
- return Array.isArray(rates) ? rates : EMPTY_RATES;
14117
+ return { ratesList: rates ?? EMPTY_RATES, isLoad };
14111
14118
  }
14112
14119
  // Отсчитываем 15 минут с текущего момента
14113
14120
  const getTimeAfter15Minutes = () => Date.now() + 15 * 60 * 1000;
14114
- const getShouldUpdate = (isArchive, ratesStore) => isArchive
14115
- ? !ratesStore?.archiveRates || ratesStore?.archiveRates.nextUpdate <= Date.now()
14116
- : !ratesStore?.rates || ratesStore?.rates.nextUpdate <= Date.now();
14121
+ const getShouldUpdate = (rateKey, ratesStore, fetchArchive) => rateKey === 'archive'
14122
+ ? (!ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now()) && fetchArchive
14123
+ : !ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now();
14124
+ /*const getArchiveRatesURL = (date?: Date) => {
14125
+ const formattedDate = date && formatDate(date, true);
14126
+
14127
+ return formattedDate ? `${RATES_URL['archive']}?date=${formattedDate}` : RATES_URL['archive'];
14128
+ };*/
14117
14129
 
14118
14130
  const useCarouselControls = (props, initialIndex = 0) => {
14119
14131
  const { itemCount, visibleItemCount } = props;
@@ -14223,15 +14235,29 @@
14223
14235
  return (jsxs("div", { className: "space-y-xl mb-3xl", children: [maxDate && renderDate({ dateString: maxDate, isArchive }), jsxs("div", { className: style(RATES_COLUMN_STYLE), children: [jsx(Text, { font: "font-medium", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx(Text, { font: "font-medium", children: "\u041F\u043E\u043A\u0443\u043F\u043A\u0430" }), jsx(Text, { font: "font-medium", children: "\u041F\u0440\u043E\u0434\u0430\u0436\u0430" })] }), list.length > 0 ? (list.map((rate, i) => jsx(Rate, { ...rate }, String(i)))) : (jsx(Paragraph, { children: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0434\u0430\u043D\u043D\u044B\u0445" })), jsx(Paragraph, { color: "text-secondary-text", children: infoMessage })] }));
14224
14236
  });
14225
14237
 
14226
- const renderDataPickForm = () => (jsxs("div", { className: "flex justify-start items-end space-x-xl", children: [jsx(DatePicker, { label: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u043D\u044C", maxDate: new Date() }), jsx(SubmitButton$1, { className: "h-fit", children: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C" })] }));
14227
-
14228
14238
  const renderLink = (href) => (jsxs(Paragraph, { children: ["\u041F\u043E\u043B\u043D\u044B\u0439 \u0430\u0440\u0445\u0438\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C ", jsx(Link, { href: href, children: "\u0437\u0434\u0435\u0441\u044C" })] }));
14229
14239
 
14230
- const RatesTable = JSX(({ href, className = '', infoMessage, title, isArchive = false, ...rest }) => {
14231
- const ratesList = useRates(isArchive);
14232
- const isRatesValid = ratesList[0].length > 0;
14233
- return (jsxs(BlockWrapper, { className: style('p-6xl space-y-xl', className), defaultPadding: "p-0", ...rest, children: [jsx(Heading, { className: "mb-xl", children: title }), isArchive ? renderDataPickForm() : null, ratesList.map((list, i) => (jsx(RatesTableItem, { list: list, isRatesValid: isRatesValid, isArchive: isArchive, infoMessage: infoMessage }, String(i)))), href ? renderLink(href) : null] }));
14240
+ const RatesTable = JSX(({ href, ratesType = 'natural', className = '', infoMessage, notFoundMessage, title, ...rest }) => {
14241
+ // const [date, setDate] = useState<Date>();
14242
+ const [fetchArchive, setFetchArchive] = useState(true);
14243
+ //const isArchive = ratesType === 'archive';
14244
+ const { ratesList, isLoad } = useRates({
14245
+ ratesType,
14246
+ fetchArchive,
14247
+ });
14248
+ useEffect(() => {
14249
+ setFetchArchive(false);
14250
+ }, []);
14251
+ const isRatesValid = ratesList?.length > 0;
14252
+ return (jsxs(BlockWrapper, { className: style('p-6xl space-y-xl', className), defaultPadding: "p-0", ...rest, children: [jsx(Heading, { className: "mb-xl", children: title }), isLoad ? (renderRatesContent({
14253
+ ratesList,
14254
+ isArchive: false,
14255
+ infoMessage,
14256
+ isRatesValid,
14257
+ notFoundMessage,
14258
+ })) : (jsx(Loader, { position: "static" })), href ? renderLink(href) : null] }));
14234
14259
  });
14260
+ const renderRatesContent = ({ ratesList = [], isArchive = false, infoMessage, isRatesValid, notFoundMessage, }) => ratesList.length > 0 ? (ratesList.map((list, i) => (jsx(RatesTableItem, { list: list, isRatesValid: isRatesValid, isArchive: isArchive, infoMessage: infoMessage }, String(i))))) : (jsx(NotFound, { description: notFoundMessage }));
14235
14261
 
14236
14262
  const inputs = [
14237
14263
  {
@@ -14823,7 +14849,7 @@
14823
14849
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
14824
14850
  });
14825
14851
 
14826
- const packageVersion = "0.14.1063";
14852
+ const packageVersion = "0.14.1065";
14827
14853
 
14828
14854
  exports.Blocks = Blocks;
14829
14855
  exports.ContentPage = ContentPage;