@redneckz/wildless-cms-uni-blocks 0.14.934 → 0.14.936
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +171 -2
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/bundle/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Blocks.mobile.js +2 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
- package/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/dist/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/dist/ui-kit/InfoCard/InfoCard.js +2 -1
- package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Blocks.mobile.js +2 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.fixture.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.fixture.mobile.d.ts +5 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
- package/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/lib/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/lib/ui-kit/InfoCard/InfoCard.js +2 -1
- package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +171 -2
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/bundle/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/mobile/dist/components/Blocks.js +2 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/mobile/dist/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/mobile/dist/ui-kit/InfoCard/InfoCard.js +2 -1
- package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/Blocks.js +2 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/mobile/lib/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/mobile/lib/ui-kit/InfoCard/InfoCard.js +2 -1
- package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/mobile/src/components/Blocks.ts +2 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
- package/mobile/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
- package/mobile/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
- package/mobile/src/ui-kit/InfoCard/InfoCard.tsx +9 -2
- package/package.json +1 -1
- package/src/components/Blocks.mobile.ts +2 -0
- package/src/components/Blocks.ts +2 -0
- package/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.mobile.tsx +45 -0
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.tsx +54 -0
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
- package/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
- package/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
- package/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
- package/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
- package/src/ui-kit/InfoCard/InfoCard.tsx +9 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
+
import { type CashbackCalculatorContent } from './CashbackCalculatorContent';
|
|
3
|
+
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {
|
|
4
|
+
}
|
|
5
|
+
export declare const CashbackCalculator: import("@redneckz/uni-jsx").UNIComponent<CashbackCalculatorProps, any, any>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
|
+
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
|
+
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
|
+
export declare type Cashback = {
|
|
6
|
+
id: number;
|
|
7
|
+
percent: Option;
|
|
8
|
+
sum: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @title Блок калькулятора кэшбека
|
|
12
|
+
*/
|
|
13
|
+
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
14
|
+
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
|
+
maxInputRange?: number;
|
|
16
|
+
/** @title Изображение */
|
|
17
|
+
image?: Picture;
|
|
18
|
+
/** @title Иконка кнопки удаления категории */
|
|
19
|
+
deleteImage?: Picture;
|
|
20
|
+
/** @title Иконка информационного блока */
|
|
21
|
+
infoImage?: Picture;
|
|
22
|
+
/** @title Предзаполнение дефолтного значения несколькими категориями */
|
|
23
|
+
isMultiple?: boolean;
|
|
24
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
3
|
+
export declare type CashbackCalculatorResultProps = UniBlockProps & {
|
|
4
|
+
cashbacks: Cashback[];
|
|
5
|
+
};
|
|
6
|
+
export declare const CashbackCalculatorResult: import("@redneckz/uni-jsx").UNIComponent<CashbackCalculatorResultProps, any, any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Picture } from '../../model/Picture';
|
|
2
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
3
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
4
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
5
|
+
export interface CashbackCategoryProps extends UniBlockProps {
|
|
6
|
+
categories?: Option[];
|
|
7
|
+
cashback: Cashback;
|
|
8
|
+
showIncreasedPercents: boolean;
|
|
9
|
+
maxInputRange: number;
|
|
10
|
+
deleteImage?: Picture;
|
|
11
|
+
onDelete: (id: number) => void;
|
|
12
|
+
onChange: (item: Cashback) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const CashbackCategory: import("@redneckz/uni-jsx").UNIComponent<CashbackCategoryProps, any, any>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
3
|
+
export declare const useCashbackCalculator: (isMultiple: boolean) => {
|
|
4
|
+
cashbacks: Cashback[];
|
|
5
|
+
categories: Option[];
|
|
6
|
+
onAddNewCashback: () => void;
|
|
7
|
+
onChangeCashback: (item: Cashback) => void;
|
|
8
|
+
onDeleteCashback: (id: number) => void;
|
|
9
|
+
onResetCashback: () => void;
|
|
10
|
+
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type IconVersion } from '../../model/IconVersion';
|
|
2
|
+
import { type Picture } from '../../model/Picture';
|
|
2
3
|
import { type IconName } from '../Icon/IconProps';
|
|
3
4
|
export interface InfoCardProps {
|
|
4
5
|
__html?: string;
|
|
5
6
|
icon?: IconName;
|
|
6
7
|
iconVersion?: IconVersion;
|
|
8
|
+
image?: Picture;
|
|
7
9
|
}
|
|
8
10
|
export declare const InfoCard: import("@redneckz/uni-jsx").UNIComponent<InfoCardProps, any, any>;
|
|
@@ -17,6 +17,7 @@ const Carousel_1 = require("./Carousel/Carousel");
|
|
|
17
17
|
const CarouselCatalogCard_1 = require("./CarouselCatalogCard/CarouselCatalogCard");
|
|
18
18
|
const CarouselRecommendationCard_1 = require("./CarouselRecommendationCard/CarouselRecommendationCard");
|
|
19
19
|
const CarouselTariffsCard_1 = require("./CarouselTariffsCard/CarouselTariffsCard");
|
|
20
|
+
const CashbackCalculator_1 = require("./CashbackCalculator/CashbackCalculator");
|
|
20
21
|
const CreditCardForm_1 = require("./CreditCardForm/CreditCardForm");
|
|
21
22
|
const CreditForm_1 = require("./CreditForm/CreditForm");
|
|
22
23
|
const DebitForm_1 = require("./DebitForm/DebitForm");
|
|
@@ -85,5 +86,6 @@ exports.Blocks = {
|
|
|
85
86
|
CreditCardForm: CreditCardForm_1.CreditCardForm,
|
|
86
87
|
CreditForm: CreditForm_1.CreditForm,
|
|
87
88
|
DebitForm: DebitForm_1.DebitForm,
|
|
89
|
+
CashbackCalculator: CashbackCalculator_1.CashbackCalculator,
|
|
88
90
|
};
|
|
89
91
|
//# sourceMappingURL=Blocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":";;AAEA,4CAAyC;AACzC,uEAAoE;AACpE,mFAAgF;AAChF,yFAAsF;AACtF,iEAA8D;AAC9D,gFAA6E;AAC7E,8DAA2D;AAC3D,uEAAoE;AACpE,qGAAkG;AAClG,0EAAuE;AACvE,6EAA0E;AAC1E,yFAAsF;AACtF,8DAA2D;AAC3D,kDAA+C;AAC/C,mFAAgF;AAChF,wGAAqG;AACrG,mFAAgF;AAChF,oEAAiE;AACjE,wDAAqD;AACrD,qDAAkD;AAClD,6EAA0E;AAC1E,wDAAqD;AACrD,0EAAuE;AACvE,4CAAyC;AACzC,iEAA8D;AAC9D,8DAA2D;AAC3D,4CAAyC;AACzC,kDAA+C;AAC/C,0EAAuE;AACvE,kDAA+C;AAC/C,kDAA+C;AAC/C,iEAA8D;AAC9D,oEAAiE;AACjE,8DAA2D;AAC3D,iEAA8D;AAC9D,wDAAqD;AACrD,wDAAqD;AACrD,0EAAuE;AACvE,wDAAqD;AACrD,8DAA2D;AAC3D,qDAAkD;AAClD,oEAAiE;AAEpD,QAAA,MAAM,GAAmB;IACpC,MAAM,EAAN,eAAM;IACN,eAAe,EAAf,iCAAe;IACf,qBAAqB,EAArB,6CAAqB;IACrB,aAAa,EAAb,6BAAa;IACb,kBAAkB,EAAlB,uCAAkB;IAClB,YAAY,EAAZ,2BAAY;IACZ,eAAe,EAAf,iCAAe;IACf,yBAAyB,EAAzB,qDAAyB;IACzB,gBAAgB,EAAhB,mCAAgB;IAChB,iBAAiB,EAAjB,qCAAiB;IACjB,qBAAqB,EAArB,6CAAqB;IACrB,YAAY,EAAZ,2BAAY;IACZ,QAAQ,EAAR,mBAAQ;IACR,mBAAmB,EAAnB,yCAAmB;IACnB,0BAA0B,EAA1B,uDAA0B;IAC1B,mBAAmB,EAAnB,yCAAmB;IACnB,iBAAiB,EAAjB,qCAAiB;IACjB,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,MAAM,EAAN,eAAM;IACN,aAAa,EAAb,6BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,MAAM,EAAN,eAAM;IACN,QAAQ,EAAR,mBAAQ;IACR,gBAAgB,EAAhB,mCAAgB;IAChB,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;IACR,aAAa,EAAb,6BAAa;IACb,cAAc,EAAd,+BAAc;IACd,YAAY,EAAZ,2BAAY;IACZ,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,UAAU,EAAV,uBAAU;IACV,YAAY,EAAZ,2BAAY;IACZ,SAAS,EAAT,qBAAS;IACT,cAAc,EAAd,+BAAc;IACd,mBAAmB,EAAnB,yCAAmB;IACnB,cAAc,EAAd,+BAAc;IACd,UAAU,EAAV,uBAAU;IACV,SAAS,EAAT,qBAAS;
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":";;AAEA,4CAAyC;AACzC,uEAAoE;AACpE,mFAAgF;AAChF,yFAAsF;AACtF,iEAA8D;AAC9D,gFAA6E;AAC7E,8DAA2D;AAC3D,uEAAoE;AACpE,qGAAkG;AAClG,0EAAuE;AACvE,6EAA0E;AAC1E,yFAAsF;AACtF,8DAA2D;AAC3D,kDAA+C;AAC/C,mFAAgF;AAChF,wGAAqG;AACrG,mFAAgF;AAChF,gFAA6E;AAC7E,oEAAiE;AACjE,wDAAqD;AACrD,qDAAkD;AAClD,6EAA0E;AAC1E,wDAAqD;AACrD,0EAAuE;AACvE,4CAAyC;AACzC,iEAA8D;AAC9D,8DAA2D;AAC3D,4CAAyC;AACzC,kDAA+C;AAC/C,0EAAuE;AACvE,kDAA+C;AAC/C,kDAA+C;AAC/C,iEAA8D;AAC9D,oEAAiE;AACjE,8DAA2D;AAC3D,iEAA8D;AAC9D,wDAAqD;AACrD,wDAAqD;AACrD,0EAAuE;AACvE,wDAAqD;AACrD,8DAA2D;AAC3D,qDAAkD;AAClD,oEAAiE;AAEpD,QAAA,MAAM,GAAmB;IACpC,MAAM,EAAN,eAAM;IACN,eAAe,EAAf,iCAAe;IACf,qBAAqB,EAArB,6CAAqB;IACrB,aAAa,EAAb,6BAAa;IACb,kBAAkB,EAAlB,uCAAkB;IAClB,YAAY,EAAZ,2BAAY;IACZ,eAAe,EAAf,iCAAe;IACf,yBAAyB,EAAzB,qDAAyB;IACzB,gBAAgB,EAAhB,mCAAgB;IAChB,iBAAiB,EAAjB,qCAAiB;IACjB,qBAAqB,EAArB,6CAAqB;IACrB,YAAY,EAAZ,2BAAY;IACZ,QAAQ,EAAR,mBAAQ;IACR,mBAAmB,EAAnB,yCAAmB;IACnB,0BAA0B,EAA1B,uDAA0B;IAC1B,mBAAmB,EAAnB,yCAAmB;IACnB,iBAAiB,EAAjB,qCAAiB;IACjB,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,MAAM,EAAN,eAAM;IACN,aAAa,EAAb,6BAAa;IACb,YAAY,EAAZ,2BAAY;IACZ,MAAM,EAAN,eAAM;IACN,QAAQ,EAAR,mBAAQ;IACR,gBAAgB,EAAhB,mCAAgB;IAChB,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;IACR,aAAa,EAAb,6BAAa;IACb,cAAc,EAAd,+BAAc;IACd,YAAY,EAAZ,2BAAY;IACZ,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,UAAU,EAAV,uBAAU;IACV,YAAY,EAAZ,2BAAY;IACZ,SAAS,EAAT,qBAAS;IACT,cAAc,EAAd,+BAAc;IACd,mBAAmB,EAAnB,yCAAmB;IACnB,cAAc,EAAd,+BAAc;IACd,UAAU,EAAV,uBAAU;IACV,SAAS,EAAT,qBAAS;IACT,kBAAkB,EAAlB,uCAAkB;CACnB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
+
import { type CashbackCalculatorContent } from './CashbackCalculatorContent';
|
|
3
|
+
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {
|
|
4
|
+
}
|
|
5
|
+
export declare const CashbackCalculator: import("@redneckz/uni-jsx").UNIComponent<CashbackCalculatorProps, any, any>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.CashbackCalculator = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
|
|
6
|
+
const Button_1 = require("../../ui-kit/Button/Button");
|
|
7
|
+
const Img_1 = require("../../ui-kit/Img/Img");
|
|
8
|
+
const InfoCard_1 = require("../../ui-kit/InfoCard/InfoCard");
|
|
9
|
+
const LinkButton_1 = require("../../ui-kit/LinkButton/LinkButton");
|
|
10
|
+
const style_1 = require("../../utils/style");
|
|
11
|
+
const Headline_1 = require("../Headline/Headline");
|
|
12
|
+
const CashbackCalculatorResult_1 = require("./CashbackCalculatorResult");
|
|
13
|
+
const CashbackCategory_1 = require("./CashbackCategory");
|
|
14
|
+
const useCashbackCalculator_1 = require("./useCashbackCalculator");
|
|
15
|
+
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
|
+
const MAX_CATEGORIES = 5;
|
|
17
|
+
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
18
|
+
exports.CashbackCalculator = (0, uni_jsx_1.JSX)(({ maxInputRange = 300000, image, deleteImage, infoImage, isMultiple = false, className = '', ...rest }) => {
|
|
19
|
+
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = (0, useCashbackCalculator_1.useCashbackCalculator)(isMultiple);
|
|
20
|
+
const img = image?.src ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
21
|
+
return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('flex flex-col justify-center items-center gap-lg', className), defaultPadding: (0, style_1.style)('p-6xl'), ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u043A\u0435\u0448\u0431\u044D\u043A\u0430", description: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439 \u043A\u0435\u0448\u0431\u044D\u043A\u0430, \u0438 \u0432\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043E\u0431\u0449\u0438\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0430\u0435\u043C\u043E\u0433\u043E \u043A\u0435\u0448\u0431\u044D\u043A\u0430", headlineVersion: "XL", isEmbedded: true }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-start gap-lg", children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => ((0, jsx_runtime_1.jsx)(CashbackCategory_1.CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), (0, jsx_runtime_1.jsx)(CashbackCalculatorResult_1.CashbackCalculatorResult, { cashbacks: cashbacks }), (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "w-full @lg:w-auto self-start", href: "#zayavka", text: "\u041E\u0444\u043E\u0440\u043C\u0438\u0442\u044C \u043A\u0430\u0440\u0442\u0443", version: "primary" })] }), img] })] }));
|
|
22
|
+
});
|
|
23
|
+
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
24
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < MAX_CATEGORIES ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start text-primary-main", embedded: true, version: "secondary", onClick: onAddNewCashback, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0435\u0449\u0435" })) : null, cashbacksLength > 2 ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { className: "self-start", version: "secondary", onClick: onResetCashback, children: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438" })) : null] }));
|
|
25
|
+
};
|
|
26
|
+
const showIncreasedPercents = (currentCashback, cashback) => INCREASED_PERCENTS.includes(currentCashback.percent.key) ||
|
|
27
|
+
!cashback.some((_) => INCREASED_PERCENTS.includes(_.percent.key));
|
|
28
|
+
//# sourceMappingURL=CashbackCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
|
+
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
|
+
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
|
+
export declare type Cashback = {
|
|
6
|
+
id: number;
|
|
7
|
+
percent: Option;
|
|
8
|
+
sum: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @title Блок калькулятора кэшбека
|
|
12
|
+
*/
|
|
13
|
+
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
14
|
+
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
|
+
maxInputRange?: number;
|
|
16
|
+
/** @title Изображение */
|
|
17
|
+
image?: Picture;
|
|
18
|
+
/** @title Иконка кнопки удаления категории */
|
|
19
|
+
deleteImage?: Picture;
|
|
20
|
+
/** @title Иконка информационного блока */
|
|
21
|
+
infoImage?: Picture;
|
|
22
|
+
/** @title Предзаполнение дефолтного значения несколькими категориями */
|
|
23
|
+
isMultiple?: boolean;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CashbackCalculatorContent.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculatorContent.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
3
|
+
export declare type CashbackCalculatorResultProps = UniBlockProps & {
|
|
4
|
+
cashbacks: Cashback[];
|
|
5
|
+
};
|
|
6
|
+
export declare const CashbackCalculatorResult: import("@redneckz/uni-jsx").UNIComponent<CashbackCalculatorResultProps, any, any>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.CashbackCalculatorResult = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const Text_1 = require("../../ui-kit/Text/Text");
|
|
6
|
+
const toLocalNumberFormat_1 = require("../../utils/toLocalNumberFormat");
|
|
7
|
+
const Headline_1 = require("../Headline/Headline");
|
|
8
|
+
const MAX_MONTH_CASHBACK = 5000;
|
|
9
|
+
const MAX_YEAR_CASHBACK = 60000;
|
|
10
|
+
const ResultText = (0, uni_jsx_1.JSX)(({ text, value }) => ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-xs w-full", children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: text }), (0, jsx_runtime_1.jsx)("div", { className: "w-full text-2xl bg-main-gray px-4 py-3 rounded-md", children: `${(0, toLocalNumberFormat_1.toLocalNumberFormat)()(value)} ₽` })] })));
|
|
11
|
+
exports.CashbackCalculatorResult = (0, uni_jsx_1.JSX)(({ cashbacks }) => {
|
|
12
|
+
const { mounth, year } = getResult(cashbacks);
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col gap-lg", children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0440\u0430\u0441\u0447\u0435\u0442\u0430", description: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438 \u043A\u0435\u0448\u0431\u044D\u043A\u0430 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E", headlineVersion: "XS", isEmbedded: true, align: "text-left" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col @xs:flex-row gap-lg", children: [(0, jsx_runtime_1.jsx)(ResultText, { text: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0432 \u043C\u0435\u0441\u044F\u0446", value: mounth }), (0, jsx_runtime_1.jsx)(ResultText, { text: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0432 \u0433\u043E\u0434", value: year })] })] }));
|
|
14
|
+
});
|
|
15
|
+
const getResult = (cashbacks) => {
|
|
16
|
+
return cashbacks.reduce((acc, val) => {
|
|
17
|
+
const mounthSum = (Number(val.percent.key) / 100) * val.sum;
|
|
18
|
+
return {
|
|
19
|
+
mounth: Math.min(acc.mounth + mounthSum, MAX_MONTH_CASHBACK),
|
|
20
|
+
year: Math.min(acc.year + mounthSum * 12, MAX_YEAR_CASHBACK),
|
|
21
|
+
};
|
|
22
|
+
}, {
|
|
23
|
+
mounth: 0,
|
|
24
|
+
year: 0,
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=CashbackCalculatorResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CashbackCalculatorResult.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculatorResult.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAE9C,yEAAsE;AACtE,mDAAgD;AAGhD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAWhC,MAAM,UAAU,GAAG,IAAA,aAAG,EAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC3D,iCAAK,SAAS,EAAC,mBAAmB,aAChC,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,YAAY,YAC5D,IAAI,GACA,EACP,gCAAK,SAAS,EAAC,mDAAmD,YAAE,GAAG,IAAA,yCAAmB,GAAE,CAC1F,KAAK,CACN,IAAI,GAAO,IACR,CACP,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,IAAA,aAAG,EAAgC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO,CACL,iCAAK,SAAS,EAAC,6BAA6B,aAC1C,uBAAC,mBAAQ,IACP,KAAK,EAAC,mGAAmB,EACzB,WAAW,EAAC,wLAAkC,EAC9C,eAAe,EAAC,IAAI,EACpB,UAAU,EAAE,IAAI,EAChB,KAAK,EAAC,WAAW,GACjB,EACF,iCAAK,SAAS,EAAC,mCAAmC,aAChD,uBAAC,UAAU,IAAC,IAAI,EAAC,4EAAgB,EAAC,KAAK,EAAE,MAAM,GAAI,EACnD,uBAAC,UAAU,IAAC,IAAI,EAAC,gEAAc,EAAC,KAAK,EAAE,IAAI,GAAI,IAC3C,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC1C,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QAE5D,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,kBAAkB,CAAC;YAC5D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,EAAE,iBAAiB,CAAC;SAC7D,CAAC;IACJ,CAAC,EACD;QACE,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Picture } from '../../model/Picture';
|
|
2
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
3
|
+
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
4
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
5
|
+
export interface CashbackCategoryProps extends UniBlockProps {
|
|
6
|
+
categories?: Option[];
|
|
7
|
+
cashback: Cashback;
|
|
8
|
+
showIncreasedPercents: boolean;
|
|
9
|
+
maxInputRange: number;
|
|
10
|
+
deleteImage?: Picture;
|
|
11
|
+
onDelete: (id: number) => void;
|
|
12
|
+
onChange: (item: Cashback) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const CashbackCategory: import("@redneckz/uni-jsx").UNIComponent<CashbackCategoryProps, any, any>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.CashbackCategory = void 0;
|
|
3
|
+
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
+
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
+
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
6
|
+
const Button_1 = require("../../ui-kit/Button/Button");
|
|
7
|
+
const Img_1 = require("../../ui-kit/Img/Img");
|
|
8
|
+
const InputRange_1 = require("../../ui-kit/InputRange/InputRange");
|
|
9
|
+
const Select_1 = require("../../ui-kit/Select/Select");
|
|
10
|
+
const Text_1 = require("../../ui-kit/Text/Text");
|
|
11
|
+
const AllPercentCategories = [
|
|
12
|
+
{
|
|
13
|
+
text: 'Категория на кешбэк 1,5%',
|
|
14
|
+
key: '1.5',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
text: 'Категория на кешбэк 3%',
|
|
18
|
+
key: '3',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
text: 'Категория на кешбэк 5%',
|
|
22
|
+
key: '5',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
text: 'Категория на кешбэк 10%',
|
|
26
|
+
key: '10',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
text: 'Категория на кешбэк 15%',
|
|
30
|
+
key: '15',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
const PercentCategoriesWithoutIncreased = [
|
|
34
|
+
{
|
|
35
|
+
text: 'Категория на кешбэк 1,5%',
|
|
36
|
+
key: '1.5',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
text: 'Категория на кешбэк 3%',
|
|
40
|
+
key: '3',
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
exports.CashbackCategory = (0, uni_jsx_1.JSX)(({ categories, cashback, showIncreasedPercents, maxInputRange, deleteImage, onDelete, onChange, }) => {
|
|
44
|
+
const [currentCategory, setCurrentCategory] = (0, hooks_1.useState)(getRandomElement(categories));
|
|
45
|
+
const isMainCashback = cashback.id === 0;
|
|
46
|
+
const onChangePercent = (value) => {
|
|
47
|
+
onChange({
|
|
48
|
+
...cashback,
|
|
49
|
+
percent: value,
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const onChangeSum = (value) => {
|
|
53
|
+
onChange({
|
|
54
|
+
...cashback,
|
|
55
|
+
sum: value,
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full space-y-m", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-xs", children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u043A\u0435\u0448\u0431\u044D\u043A\u0430" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-m", children: [(0, jsx_runtime_1.jsx)(Select_1.Select, { className: "w-full", isManualInput: isMainCashback, placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u044D\u0448\u0431\u044D\u043A", options: getPercentCategories(isMainCashback, showIncreasedPercents), value: cashback.percent, onChange: onChangePercent }), !isMainCashback ? ((0, jsx_runtime_1.jsx)(Button_1.Button, { version: "secondary", onClick: () => onDelete(cashback.id), shape: "round", className: "px-4 rounded-md", children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: deleteImage }) })) : null] })] }), categories?.length && !isMainCashback ? ((0, jsx_runtime_1.jsx)(Select_1.Select, { label: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u043E\u0440\u0438\u044E", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u043E\u0440\u0438\u044E", options: categories, value: currentCategory, onChange: setCurrentCategory })) : null, (0, jsx_runtime_1.jsx)(InputRange_1.InputRange, { step: 500, title: "\u0421\u0443\u043C\u043C\u0430 \u043F\u043E\u043A\u0443\u043F\u043E\u043A \u0432 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", min: 0, max: maxInputRange, value: cashback.sum, onChange: onChangeSum })] }));
|
|
59
|
+
});
|
|
60
|
+
const getRandomElement = (arr) => arr?.[new Date().getTime().toString().slice(-1)];
|
|
61
|
+
const getPercentCategories = (isMainCashback, showIncreasedPercents) => {
|
|
62
|
+
if (isMainCashback) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
else if (showIncreasedPercents) {
|
|
66
|
+
return AllPercentCategories;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return PercentCategoriesWithoutIncreased;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=CashbackCategory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CashbackCategory.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCategory.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAuD;AAEvD,uDAAoD;AACpD,8CAA2C;AAC3C,mEAAgE;AAEhE,uDAAoD;AACpD,iDAA8C;AAI9C,MAAM,oBAAoB,GAAa;IACrC;QACE,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE,KAAK;KACX;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,GAAG;KACT;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,IAAI;KACV;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEF,MAAM,iCAAiC,GAAa;IAClD;QACE,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE,KAAK;KACX;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,GAAG;KACT;CACF,CAAC;AAYW,QAAA,gBAAgB,GAAG,IAAA,aAAG,EACjC,CAAC,EACC,UAAU,EACV,QAAQ,EACR,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,QAAQ,CAAC;YACP,GAAG,QAAQ;YACX,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,QAAQ,CAAC;YACP,GAAG,QAAQ;YACX,GAAG,EAAE,KAAK;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,iCAAK,SAAS,EAAC,kBAAkB,aAC/B,iCAAK,SAAS,EAAC,YAAY,aACzB,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,YAAY,mKAExD,EACP,iCAAK,SAAS,EAAC,YAAY,aACzB,uBAAC,eAAM,IACL,SAAS,EAAC,QAAQ,EAClB,aAAa,EAAE,cAAc,EAC7B,WAAW,EAAC,uFAAiB,EAC7B,OAAO,EAAE,oBAAoB,CAAC,cAAc,EAAE,qBAAqB,CAAC,EACpE,KAAK,EAAE,QAAQ,CAAC,OAAO,EACvB,QAAQ,EAAE,eAAe,GACzB,EACD,CAAC,cAAc,CAAC,CAAC,CAAC,CACjB,uBAAC,eAAM,IACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EACpC,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,iBAAiB,YAE3B,uBAAC,SAAG,IAAC,KAAK,EAAE,WAAW,GAAI,GACpB,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,EACL,UAAU,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACvC,uBAAC,eAAM,IACL,KAAK,EAAC,mGAAmB,EACzB,WAAW,EAAC,mGAAmB,EAC/B,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,kBAAkB,GAC5B,CACH,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,uBAAU,IACT,IAAI,EAAE,GAAG,EACT,KAAK,EAAC,yIAA2B,EACjC,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,QAAQ,CAAC,GAAG,EACnB,QAAQ,EAAE,WAAW,GACrB,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAK,GAAS,EAAiB,EAAE,CACxD,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,oBAAoB,GAAG,CAAC,cAAuB,EAAE,qBAA8B,EAAE,EAAE;IACvF,IAAI,cAAc,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,qBAAqB,EAAE;QAChC,OAAO,oBAAoB,CAAC;KAC7B;SAAM;QACL,OAAO,iCAAiC,CAAC;KAC1C;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Option } from '../../ui-kit/Select/Option';
|
|
2
|
+
import { type Cashback } from './CashbackCalculatorContent';
|
|
3
|
+
export declare const useCashbackCalculator: (isMultiple: boolean) => {
|
|
4
|
+
cashbacks: Cashback[];
|
|
5
|
+
categories: Option[];
|
|
6
|
+
onAddNewCashback: () => void;
|
|
7
|
+
onChangeCashback: (item: Cashback) => void;
|
|
8
|
+
onDeleteCashback: (id: number) => void;
|
|
9
|
+
onResetCashback: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.useCashbackCalculator = void 0;
|
|
3
|
+
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
4
|
+
const useLeadFormData_1 = require("../../retail/hooks/useLeadFormData");
|
|
5
|
+
const DEFAULT_MULTIPLE_CASHBACK = [
|
|
6
|
+
{
|
|
7
|
+
id: 0,
|
|
8
|
+
percent: {
|
|
9
|
+
text: 'Категория на кешбэк 1%',
|
|
10
|
+
key: '1',
|
|
11
|
+
},
|
|
12
|
+
sum: 5000,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 1,
|
|
16
|
+
percent: {
|
|
17
|
+
text: 'Категория на кешбэк 1,5%',
|
|
18
|
+
key: '1.5',
|
|
19
|
+
},
|
|
20
|
+
sum: 5000,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 2,
|
|
24
|
+
percent: {
|
|
25
|
+
text: 'Категория на кешбэк 1,5%',
|
|
26
|
+
key: '1.5',
|
|
27
|
+
},
|
|
28
|
+
sum: 5000,
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
const DEFAULT_CASHBACK = [
|
|
32
|
+
{
|
|
33
|
+
id: 0,
|
|
34
|
+
percent: {
|
|
35
|
+
text: 'Категория на кешбэк 1%',
|
|
36
|
+
key: '1',
|
|
37
|
+
},
|
|
38
|
+
sum: 5000,
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
const useCashbackCalculator = (isMultiple) => {
|
|
42
|
+
const { data } = (0, useLeadFormData_1.useLeadFormData)('CASHBACK_CATEGORY');
|
|
43
|
+
const [cashbacks, setCashbacks] = (0, hooks_1.useState)(isMultiple ? DEFAULT_MULTIPLE_CASHBACK : DEFAULT_CASHBACK);
|
|
44
|
+
const categories = data?.map((_) => ({
|
|
45
|
+
key: _.key || '',
|
|
46
|
+
text: _.value,
|
|
47
|
+
})) || [];
|
|
48
|
+
const onAddNewCashback = () => setCashbacks((_) => [
|
|
49
|
+
..._,
|
|
50
|
+
{
|
|
51
|
+
id: _[_.length - 1].id + 1,
|
|
52
|
+
percent: {
|
|
53
|
+
text: 'Категория на кешбэк 1,5%',
|
|
54
|
+
key: '1.5',
|
|
55
|
+
},
|
|
56
|
+
sum: 5000,
|
|
57
|
+
},
|
|
58
|
+
]);
|
|
59
|
+
const onChangeCashback = (item) => setCashbacks((prev) => prev.map((_) => {
|
|
60
|
+
if (_.id === item.id) {
|
|
61
|
+
return item;
|
|
62
|
+
}
|
|
63
|
+
return _;
|
|
64
|
+
}));
|
|
65
|
+
const onDeleteCashback = (id) => setCashbacks((prev) => prev.filter((_) => _.id !== id));
|
|
66
|
+
const onResetCashback = () => setCashbacks(DEFAULT_CASHBACK);
|
|
67
|
+
return {
|
|
68
|
+
cashbacks,
|
|
69
|
+
categories,
|
|
70
|
+
onAddNewCashback,
|
|
71
|
+
onChangeCashback,
|
|
72
|
+
onDeleteCashback,
|
|
73
|
+
onResetCashback,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
exports.useCashbackCalculator = useCashbackCalculator;
|
|
77
|
+
//# sourceMappingURL=useCashbackCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/useCashbackCalculator.ts"],"names":[],"mappings":";;AAAA,uDAAuD;AACvD,wEAAqE;AAKrE,MAAM,yBAAyB,GAAe;IAC5C;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,GAAG;SACT;QACD,GAAG,EAAE,IAAI;KACV;IACD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,KAAK;SACX;QACD,GAAG,EAAE,IAAI;KACV;IACD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,KAAK;SACX;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACnC;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,GAAG;SACT;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,UAAmB,EAAE,EAAE;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iCAAe,EAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EACxC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAC1D,CAAC;IAEF,MAAM,UAAU,GACd,IAAI,EAAE,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAC,IAAI,EAAE,CAAC;IAEZ,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC;QACJ;YACE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,0BAA0B;gBAChC,GAAG,EAAE,KAAK;aACX;YACD,GAAG,EAAE,IAAI;SACV;KACF,CAAC,CAAC;IAEL,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,EAAE,CAC1C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjG,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAE7D,OAAO;QACL,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,qBAAqB,yBAgDhC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type IconVersion } from '../../model/IconVersion';
|
|
2
|
+
import { type Picture } from '../../model/Picture';
|
|
2
3
|
import { type IconName } from '../Icon/IconProps';
|
|
3
4
|
export interface InfoCardProps {
|
|
4
5
|
__html?: string;
|
|
5
6
|
icon?: IconName;
|
|
6
7
|
iconVersion?: IconVersion;
|
|
8
|
+
image?: Picture;
|
|
7
9
|
}
|
|
8
10
|
export declare const InfoCard: import("@redneckz/uni-jsx").UNIComponent<InfoCardProps, any, any>;
|
|
@@ -3,6 +3,7 @@ exports.InfoCard = void 0;
|
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const Icon_1 = require("../Icon/Icon");
|
|
6
|
+
const Img_1 = require("../Img/Img");
|
|
6
7
|
const RichText_1 = require("../RichText/RichText");
|
|
7
|
-
exports.InfoCard = (0, uni_jsx_1.JSX)(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black' }) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [(0, jsx_runtime_1.jsx)("div", { className: "rounded-full bg-white p-xs", children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), (0, jsx_runtime_1.jsx)("div", { className: "", children: (0, jsx_runtime_1.jsx)(RichText_1.RichText, { __html: __html }) })] })));
|
|
8
|
+
exports.InfoCard = (0, uni_jsx_1.JSX)(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', image }) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [(0, jsx_runtime_1.jsx)("div", { className: "rounded-full bg-white p-xs", children: image ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "block w-max" })) : ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion })) }), (0, jsx_runtime_1.jsx)("div", { className: "", children: (0, jsx_runtime_1.jsx)(RichText_1.RichText, { __html: __html }) })] })));
|
|
8
9
|
//# sourceMappingURL=InfoCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoCard.js","sourceRoot":"","sources":["../../../src/ui-kit/InfoCard/InfoCard.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;
|
|
1
|
+
{"version":3,"file":"InfoCard.js","sourceRoot":"","sources":["../../../src/ui-kit/InfoCard/InfoCard.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAGxC,uCAAoC;AAEpC,oCAAiC;AACjC,mDAAgD;AASnC,QAAA,QAAQ,GAAG,IAAA,aAAG,EACzB,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,gBAAgB,EAAE,WAAW,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrE,iCAAK,SAAS,EAAC,8EAA8E,aAC3F,gCAAK,SAAS,EAAC,4BAA4B,YACxC,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,SAAG,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,aAAa,GAAG,CAC9C,CAAC,CAAC,CAAC,CACF,uBAAC,WAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,WAAW,EAAE,WAAW,GAAI,CACtE,GACG,EACN,gCAAK,SAAS,EAAC,EAAE,YACf,uBAAC,mBAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACxB,IACF,CACP,CACF,CAAC"}
|