@redneckz/wildless-cms-uni-blocks 0.14.197 → 0.14.199
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/bin/migration-scripts/0.14.189.js +22 -0
- package/bundle/bundle.umd.js +77 -79
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/hooks/useForm.d.ts +8 -7
- package/bundle/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/bundle/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/bundle/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/dist/components/DepositFiltration/DepositFiltration.js +20 -11
- package/dist/components/DepositFiltration/DepositFiltration.js.map +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltration.js +6 -7
- package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/dist/content-page-repository/replaceHeadingTags.js +1 -1
- package/dist/content-page-repository/replaceHeadingTags.js.map +1 -1
- package/dist/hooks/useForm.d.ts +8 -7
- package/dist/hooks/useForm.js.map +1 -1
- package/dist/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/dist/hooks/useJSONRef/resolveBlockProps.js +6 -0
- package/dist/hooks/useJSONRef/resolveBlockProps.js.map +1 -0
- package/dist/hooks/useJSONRef/useJSONRef.js +2 -3
- package/dist/hooks/useJSONRef/useJSONRef.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/dist/ui-kit/BaseFiltration/filterBlocks.js +3 -1
- package/dist/ui-kit/BaseFiltration/filterBlocks.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/dist/ui-kit/BaseFiltration/useFiltrationForm.js +23 -0
- package/dist/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -0
- package/lib/components/DepositFiltration/DepositFiltration.js +20 -11
- package/lib/components/DepositFiltration/DepositFiltration.js.map +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltration.js +6 -7
- package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/lib/content-page-repository/replaceHeadingTags.js +1 -1
- package/lib/content-page-repository/replaceHeadingTags.js.map +1 -1
- package/lib/hooks/useForm.d.ts +8 -7
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/lib/hooks/useJSONRef/resolveBlockProps.js +3 -0
- package/lib/hooks/useJSONRef/resolveBlockProps.js.map +1 -0
- package/lib/hooks/useJSONRef/useJSONRef.js +3 -4
- package/lib/hooks/useJSONRef/useJSONRef.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/lib/ui-kit/BaseFiltration/filterBlocks.js +3 -1
- package/lib/ui-kit/BaseFiltration/filterBlocks.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/lib/ui-kit/BaseFiltration/useFiltrationForm.js +20 -0
- package/lib/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +77 -79
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/hooks/useForm.d.ts +8 -7
- package/mobile/bundle/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/mobile/bundle/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/mobile/bundle/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/mobile/dist/components/DepositFiltration/DepositFiltration.js +20 -11
- package/mobile/dist/components/DepositFiltration/DepositFiltration.js.map +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +6 -7
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/dist/content-page-repository/replaceHeadingTags.js +1 -1
- package/mobile/dist/content-page-repository/replaceHeadingTags.js.map +1 -1
- package/mobile/dist/hooks/useForm.d.ts +8 -7
- package/mobile/dist/hooks/useForm.js.map +1 -1
- package/mobile/dist/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/mobile/dist/hooks/useJSONRef/resolveBlockProps.js +6 -0
- package/mobile/dist/hooks/useJSONRef/resolveBlockProps.js.map +1 -0
- package/mobile/dist/hooks/useJSONRef/useJSONRef.js +2 -3
- package/mobile/dist/hooks/useJSONRef/useJSONRef.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/filterBlocks.js +3 -1
- package/mobile/dist/ui-kit/BaseFiltration/filterBlocks.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.js +23 -0
- package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -0
- package/mobile/lib/components/DepositFiltration/DepositFiltration.js +20 -11
- package/mobile/lib/components/DepositFiltration/DepositFiltration.js.map +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +6 -7
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/lib/content-page-repository/replaceHeadingTags.js +1 -1
- package/mobile/lib/content-page-repository/replaceHeadingTags.js.map +1 -1
- package/mobile/lib/hooks/useForm.d.ts +8 -7
- package/mobile/lib/hooks/useForm.js.map +1 -1
- package/mobile/lib/hooks/useJSONRef/resolveBlockProps.d.ts +1 -0
- package/mobile/lib/hooks/useJSONRef/resolveBlockProps.js +3 -0
- package/mobile/lib/hooks/useJSONRef/resolveBlockProps.js.map +1 -0
- package/mobile/lib/hooks/useJSONRef/useJSONRef.js +3 -4
- package/mobile/lib/hooks/useJSONRef/useJSONRef.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/filterBlocks.d.ts +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/filterBlocks.js +3 -1
- package/mobile/lib/ui-kit/BaseFiltration/filterBlocks.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.d.ts +10 -0
- package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.js +20 -0
- package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -0
- package/mobile/src/components/DepositFiltration/DepositFiltration.tsx +32 -16
- package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +9 -13
- package/mobile/src/content-page-repository/replaceHeadingTags.ts +1 -1
- package/mobile/src/hooks/useForm.ts +9 -10
- package/mobile/src/hooks/useJSONRef/resolveBlockProps.ts +4 -0
- package/mobile/src/hooks/useJSONRef/useJSONRef.ts +3 -4
- package/mobile/src/ui-kit/BaseFiltration/filterBlocks.ts +8 -3
- package/mobile/src/ui-kit/BaseFiltration/useFiltrationForm.ts +52 -0
- package/package.json +1 -1
- package/src/components/DepositFiltration/DepositFiltration.fixture.mobile.tsx +3 -3
- package/src/components/DepositFiltration/DepositFiltration.fixture.tsx +10 -3
- package/src/components/DepositFiltration/DepositFiltration.tsx +32 -16
- package/src/components/MortgageFiltration/MortgageFiltration.tsx +9 -13
- package/src/content-page-repository/replaceHeadingTags.ts +1 -1
- package/src/hooks/useForm.ts +9 -10
- package/src/hooks/useJSONRef/resolveBlockProps.ts +4 -0
- package/src/hooks/useJSONRef/useJSONRef.ts +3 -4
- package/src/ui-kit/BaseFiltration/filterBlocks.ts +8 -3
- package/src/ui-kit/BaseFiltration/useFiltrationForm.ts +52 -0
- package/bundle/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/bundle/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/bundle/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/bundle/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/dist/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/dist/components/DepositFiltration/SourceItem.js +0 -2
- package/dist/components/DepositFiltration/SourceItem.js.map +0 -1
- package/dist/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/dist/components/DepositFiltration/getChildSourceBook.js +0 -6
- package/dist/components/DepositFiltration/getChildSourceBook.js.map +0 -1
- package/dist/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/dist/components/DepositFiltration/getPeriod.js +0 -10
- package/dist/components/DepositFiltration/getPeriod.js.map +0 -1
- package/dist/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/dist/components/DepositFiltration/useDepositsPeriods.js +0 -26
- package/dist/components/DepositFiltration/useDepositsPeriods.js.map +0 -1
- package/lib/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/lib/components/DepositFiltration/SourceItem.js +0 -2
- package/lib/components/DepositFiltration/SourceItem.js.map +0 -1
- package/lib/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/lib/components/DepositFiltration/getChildSourceBook.js +0 -3
- package/lib/components/DepositFiltration/getChildSourceBook.js.map +0 -1
- package/lib/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/lib/components/DepositFiltration/getPeriod.js +0 -7
- package/lib/components/DepositFiltration/getPeriod.js.map +0 -1
- package/lib/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/lib/components/DepositFiltration/useDepositsPeriods.js +0 -23
- package/lib/components/DepositFiltration/useDepositsPeriods.js.map +0 -1
- package/mobile/bundle/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/mobile/bundle/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/mobile/bundle/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/mobile/bundle/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/mobile/dist/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/mobile/dist/components/DepositFiltration/SourceItem.js +0 -2
- package/mobile/dist/components/DepositFiltration/SourceItem.js.map +0 -1
- package/mobile/dist/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/mobile/dist/components/DepositFiltration/getChildSourceBook.js +0 -6
- package/mobile/dist/components/DepositFiltration/getChildSourceBook.js.map +0 -1
- package/mobile/dist/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/mobile/dist/components/DepositFiltration/getPeriod.js +0 -10
- package/mobile/dist/components/DepositFiltration/getPeriod.js.map +0 -1
- package/mobile/dist/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/mobile/dist/components/DepositFiltration/useDepositsPeriods.js +0 -26
- package/mobile/dist/components/DepositFiltration/useDepositsPeriods.js.map +0 -1
- package/mobile/lib/components/DepositFiltration/SourceItem.d.ts +0 -4
- package/mobile/lib/components/DepositFiltration/SourceItem.js +0 -2
- package/mobile/lib/components/DepositFiltration/SourceItem.js.map +0 -1
- package/mobile/lib/components/DepositFiltration/getChildSourceBook.d.ts +0 -2
- package/mobile/lib/components/DepositFiltration/getChildSourceBook.js +0 -3
- package/mobile/lib/components/DepositFiltration/getChildSourceBook.js.map +0 -1
- package/mobile/lib/components/DepositFiltration/getPeriod.d.ts +0 -4
- package/mobile/lib/components/DepositFiltration/getPeriod.js +0 -7
- package/mobile/lib/components/DepositFiltration/getPeriod.js.map +0 -1
- package/mobile/lib/components/DepositFiltration/useDepositsPeriods.d.ts +0 -8
- package/mobile/lib/components/DepositFiltration/useDepositsPeriods.js +0 -23
- package/mobile/lib/components/DepositFiltration/useDepositsPeriods.js.map +0 -1
- package/mobile/src/components/DepositFiltration/SourceItem.ts +0 -5
- package/mobile/src/components/DepositFiltration/getChildSourceBook.ts +0 -7
- package/mobile/src/components/DepositFiltration/getPeriod.ts +0 -13
- package/mobile/src/components/DepositFiltration/useDepositsPeriods.ts +0 -34
- package/src/components/DepositFiltration/SourceItem.ts +0 -5
- package/src/components/DepositFiltration/getChildSourceBook.ts +0 -7
- package/src/components/DepositFiltration/getPeriod.ts +0 -13
- package/src/components/DepositFiltration/useDepositsPeriods.ts +0 -34
|
@@ -8,14 +8,15 @@ declare type Options<In, Out> = {
|
|
|
8
8
|
format?: (_: Out) => In;
|
|
9
9
|
};
|
|
10
10
|
export declare type FormFieldRegisterer<FormState> = <N extends keyof FormState, V = FormState[N]>(fieldName: N, options?: Options<V, FormState[N]>) => FieldProps<V extends undefined ? FormState[N] : V>;
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
onSubmit?: ((_: FormState) => void) | undefined;
|
|
14
|
-
}) => [FormState, {
|
|
15
|
-
isDirty: boolean;
|
|
11
|
+
export interface FormOperatorProps<FormState extends Record<string, any>> {
|
|
12
|
+
isDirty?: boolean;
|
|
16
13
|
field: FormFieldRegisterer<FormState>;
|
|
17
14
|
update: (_: FormState) => void;
|
|
18
15
|
reset: () => void;
|
|
19
|
-
onSubmit
|
|
20
|
-
}
|
|
16
|
+
onSubmit?: (e: PreventableEvent) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const useForm: <FormState extends Record<string, any>>(initialState: FormState, { resetOnSubmit, onSubmit }?: {
|
|
19
|
+
resetOnSubmit?: boolean | undefined;
|
|
20
|
+
onSubmit?: ((_: FormState) => void) | undefined;
|
|
21
|
+
}) => [FormState, FormOperatorProps<FormState>];
|
|
21
22
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resolveBlockProps: <C>(content: C, fallback?: Record<string, unknown>) => C;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type BlockDef } from '../../model/ContentPageDef';
|
|
2
|
-
export declare const filterBlocks: (
|
|
2
|
+
export declare const filterBlocks: (blocksWithProps: [BlockDef, Record<string, any> | undefined][], filtrationState: Record<string, any>) => (normalize?: (content: BlockDef['content']) => BlockDef['content']) => BlockDef[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FormOperatorProps } from '../../hooks/useForm';
|
|
2
|
+
import { type BlockDef, type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
+
export declare const useFiltrationForm: <FormState extends Record<string, any>>(initialFormState: FormState, { block, page, normalize, }: {
|
|
4
|
+
block?: BlockDef | undefined;
|
|
5
|
+
page?: ContentPageDef | undefined;
|
|
6
|
+
normalize?: ((content: BlockDef['content']) => BlockDef['content']) | undefined;
|
|
7
|
+
}) => [FormState, {
|
|
8
|
+
blocksToRender: BlockDef[] | undefined;
|
|
9
|
+
blocksWithProps: [BlockDef, Record<string, any> | undefined][];
|
|
10
|
+
}, FormOperatorProps<FormState>];
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.DepositFiltration = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const useForm_1 = require("../../hooks/useForm");
|
|
5
4
|
const BaseFiltrationInner_1 = require("../../ui-kit/BaseFiltration/BaseFiltrationInner");
|
|
6
|
-
const filterBlocks_1 = require("../../ui-kit/BaseFiltration/filterBlocks");
|
|
7
5
|
const renderFiltrationForm_1 = require("../../ui-kit/BaseFiltration/renderFiltrationForm");
|
|
6
|
+
const useFiltrationForm_1 = require("../../ui-kit/BaseFiltration/useFiltrationForm");
|
|
8
7
|
const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
|
|
9
8
|
const CurrencyInput_1 = require("../../ui-kit/CurrencyInput/CurrencyInput");
|
|
10
9
|
const InputRange_1 = require("../../ui-kit/InputRange/InputRange");
|
|
11
10
|
const UniBlock_1 = require("../../UniBlock/UniBlock");
|
|
12
11
|
const style_1 = require("../../utils/style");
|
|
13
|
-
const
|
|
14
|
-
const
|
|
12
|
+
const unique_1 = require("../../utils/unique");
|
|
13
|
+
const isRateRow_1 = require("./isRateRow");
|
|
14
|
+
const numberRange_1 = require("./numberRange");
|
|
15
15
|
const DEFAULT_MIN_SUM = 500;
|
|
16
16
|
const DEFAULT_MAX_SUM = 1000000000;
|
|
17
17
|
const initialFiltrationState = {
|
|
@@ -22,11 +22,13 @@ const initialFiltrationState = {
|
|
|
22
22
|
period: 3,
|
|
23
23
|
};
|
|
24
24
|
exports.DepositFiltration = (0, UniBlock_1.UniBlock)(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
|
|
25
|
-
const {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
const [, { blocksToRender, blocksWithProps }, { field, reset }] = (0, useFiltrationForm_1.useFiltrationForm)(initialFiltrationState, {
|
|
26
|
+
block: rest.block,
|
|
27
|
+
page: rest.options?.page,
|
|
28
|
+
normalize: (content) => ({ ...content, period: getPeriod(content) }),
|
|
29
|
+
});
|
|
30
|
+
const rateRows = blocksWithProps.map(([, _]) => _?.paramsSource?.rateRows);
|
|
31
|
+
const months = getMonths(rateRows);
|
|
30
32
|
const Inputs = ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(CurrencyInput_1.CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
|
|
31
33
|
parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
|
|
32
34
|
format: ({ min }) => String(min),
|
|
@@ -36,10 +38,17 @@ exports.DepositFiltration = (0, UniBlock_1.UniBlock)(({ className, filtrationSch
|
|
|
36
38
|
childrenTypes: ['ProductBlock'],
|
|
37
39
|
childSchema: (content) => ({
|
|
38
40
|
...(content?.filtrationSchema || {}),
|
|
39
|
-
|
|
40
|
-
type: '
|
|
41
|
+
paramsSource: {
|
|
42
|
+
type: 'object',
|
|
41
43
|
title: 'Адрес справочника',
|
|
42
44
|
},
|
|
43
45
|
}),
|
|
44
46
|
});
|
|
47
|
+
const getPeriod = (content) => (0, unique_1.unique)((content?.paramsSource?.rateRows || [])
|
|
48
|
+
.filter(isRateRow_1.isRateRow)
|
|
49
|
+
.flatMap((_) => (0, numberRange_1.numberRange)(_.minMonths, _.maxMonths)));
|
|
50
|
+
const getMonths = (rateRows) => (0, unique_1.unique)(rateRows
|
|
51
|
+
.flatMap((item) => item || [])
|
|
52
|
+
.filter(isRateRow_1.isRateRow)
|
|
53
|
+
.flatMap((_) => (0, numberRange_1.numberRange)(_.minMonths, _.maxMonths))).sort((a, b) => a - b) || [];
|
|
45
54
|
//# sourceMappingURL=DepositFiltration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositFiltration.js","sourceRoot":"","sources":["../../../src/components/DepositFiltration/DepositFiltration.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DepositFiltration.js","sourceRoot":"","sources":["../../../src/components/DepositFiltration/DepositFiltration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.MortgageFiltration = void 0;
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
5
|
-
const useForm_1 = require("../../hooks/useForm");
|
|
6
5
|
const BaseFiltrationInner_1 = require("../../ui-kit/BaseFiltration/BaseFiltrationInner");
|
|
7
|
-
const filterBlocks_1 = require("../../ui-kit/BaseFiltration/filterBlocks");
|
|
8
6
|
const renderFiltrationForm_1 = require("../../ui-kit/BaseFiltration/renderFiltrationForm");
|
|
7
|
+
const useFiltrationForm_1 = require("../../ui-kit/BaseFiltration/useFiltrationForm");
|
|
9
8
|
const useHotFilters_1 = require("../../ui-kit/BaseFiltration/useHotFilters");
|
|
10
9
|
const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
|
|
11
10
|
const TabsControl_1 = require("../../ui-kit/TabsControl/TabsControl");
|
|
@@ -18,11 +17,11 @@ const initialFiltrationState = {
|
|
|
18
17
|
stage: [],
|
|
19
18
|
};
|
|
20
19
|
exports.MortgageFiltration = (0, UniBlock_1.UniBlock)(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
|
|
21
|
-
const [filtrationState, { field, reset, update
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const handleFiltrationStateChange = (0, hooks_1.useCallback)((_ = initialFiltrationState) =>
|
|
20
|
+
const [filtrationState, { blocksToRender }, { field, reset, update }] = (0, useFiltrationForm_1.useFiltrationForm)(initialFiltrationState, {
|
|
21
|
+
block: rest.block,
|
|
22
|
+
page: rest.options?.page,
|
|
23
|
+
});
|
|
24
|
+
const handleFiltrationStateChange = (0, hooks_1.useCallback)((_ = initialFiltrationState) => update(_), []);
|
|
26
25
|
const tabsControlProps = (0, useHotFilters_1.useHotFilters)({
|
|
27
26
|
hotFilters,
|
|
28
27
|
filtrationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MortgageFiltration.js","sourceRoot":"","sources":["../../../src/components/MortgageFiltration/MortgageFiltration.tsx"],"names":[],"mappings":";;;AAAA,uDAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"MortgageFiltration.js","sourceRoot":"","sources":["../../../src/components/MortgageFiltration/MortgageFiltration.tsx"],"names":[],"mappings":";;;AAAA,uDAA0D;AAC1D,yFAAsF;AACtF,2FAAwF;AACxF,qFAAkF;AAClF,6EAA0E;AAC1E,4DAAyD;AACzD,sEAAmE;AACnE,sDAAmD;AAEnD,6CAA0C;AAQ1C,MAAM,sBAAsB,GAA4B;IACtD,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,EAAE;CACV,CAAC;AAIW,QAAA,kBAAkB,GAAG,IAAA,mBAAQ,EACxC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACzE,MAAM,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,IAAA,qCAAiB,EACvF,sBAAsB,EACtB;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;KACzB,CACF,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAC,GAAG,sBAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/F,MAAM,gBAAgB,GAAG,IAAA,6BAAa,EAAC;QACrC,UAAU;QACV,eAAe;QACf,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;QAC1B,uBAAuB,EAAE,2BAA2B;KACrD,CAAC,CAAC;IAEH,OAAO,CACL,wBAAC,2BAAY,IACX,SAAS,EAAE,IAAA,aAAK,EAAC,aAAa,EAAE,SAAS,CAAC,EAC1C,cAAc,EAAC,KAAK,EACpB,OAAO,EAAC,aAAa,KACjB,IAAI,aAER,uBAAC,yBAAW,OAAK,gBAAgB,GAAI,EACpC,IAAA,2CAAoB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,EACtE,uBAAC,yCAAmB,IAAC,cAAc,EAAE,cAAc,KAAM,IAAI,GAAI,IACpD,CAChB,CAAC;AACJ,CAAC,EACD;IACE,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,WAAW,EAAE,CAAC,OAAmC,EAAE,EAAE,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE;CACtF,CACF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.replaceHeadingTags = void 0;
|
|
3
|
-
const replaceHeadingTags = (html) => html.replaceAll(/<h(\d)>(
|
|
3
|
+
const replaceHeadingTags = (html) => html.replaceAll(/<h(\d)>(.*)<\/h\d>/g, '<p class="h$1">$2</p>');
|
|
4
4
|
exports.replaceHeadingTags = replaceHeadingTags;
|
|
5
5
|
//# sourceMappingURL=replaceHeadingTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceHeadingTags.js","sourceRoot":"","sources":["../../src/content-page-repository/replaceHeadingTags.ts"],"names":[],"mappings":";;AAAO,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"replaceHeadingTags.js","sourceRoot":"","sources":["../../src/content-page-repository/replaceHeadingTags.ts"],"names":[],"mappings":";;AAAO,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;AADrD,QAAA,kBAAkB,sBACmC"}
|
package/dist/hooks/useForm.d.ts
CHANGED
|
@@ -8,14 +8,15 @@ declare type Options<In, Out> = {
|
|
|
8
8
|
format?: (_: Out) => In;
|
|
9
9
|
};
|
|
10
10
|
export declare type FormFieldRegisterer<FormState> = <N extends keyof FormState, V = FormState[N]>(fieldName: N, options?: Options<V, FormState[N]>) => FieldProps<V extends undefined ? FormState[N] : V>;
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
onSubmit?: ((_: FormState) => void) | undefined;
|
|
14
|
-
}) => [FormState, {
|
|
15
|
-
isDirty: boolean;
|
|
11
|
+
export interface FormOperatorProps<FormState extends Record<string, any>> {
|
|
12
|
+
isDirty?: boolean;
|
|
16
13
|
field: FormFieldRegisterer<FormState>;
|
|
17
14
|
update: (_: FormState) => void;
|
|
18
15
|
reset: () => void;
|
|
19
|
-
onSubmit
|
|
20
|
-
}
|
|
16
|
+
onSubmit?: (e: PreventableEvent) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const useForm: <FormState extends Record<string, any>>(initialState: FormState, { resetOnSubmit, onSubmit }?: {
|
|
19
|
+
resetOnSubmit?: boolean | undefined;
|
|
20
|
+
onSubmit?: ((_: FormState) => void) | undefined;
|
|
21
|
+
}) => [FormState, FormOperatorProps<FormState>];
|
|
21
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":";;AAAA,uDAA4E;AAG5E,gDAA6C;
|
|
1
|
+
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":";;AAAA,uDAA4E;AAG5E,gDAA6C;AAwBtC,MAAM,OAAO,GAAG,CACrB,YAAuB,EACvB,EAAE,aAAa,EAAE,QAAQ,KAAqE,EAAE,EACrD,EAAE;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAY,YAAY,CAAC,CAAC;IAEpE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAClD,EAAE,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,cAAM,EAAyD,EAAE,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAmC,IAAA,mBAAW,EACvD,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;QACrB,MAAM,EAAE,KAAK,GAAG,mBAAQ,EAAE,MAAM,GAAG,mBAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAE9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;SAC1B;QAED,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;YAC3C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAQ;YAC1C,OAAO,EAAE,WAAW,IAAI,cAAc,CAAC,SAAS,CAAC;YACjD,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC,EACD,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,CAAC,CAAY,EAAE,EAAE;QAC1C,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,CAAmB,EAAE,EAAE;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7C,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;IAEF,OAAO;QACL,SAAS;QACT;YACE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACnE,KAAK;YACL,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,YAAY;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,OAAO,WAmElB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resolveBlockProps: <C>(content: C, fallback?: Record<string, unknown>) => C;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.resolveBlockProps = void 0;
|
|
3
|
+
const json_ref_1 = require("@redneckz/json-ref");
|
|
4
|
+
const resolveBlockProps = (content, fallback) => (0, json_ref_1.resolveRefSync)(content, (_) => fallback?.[_]);
|
|
5
|
+
exports.resolveBlockProps = resolveBlockProps;
|
|
6
|
+
//# sourceMappingURL=resolveBlockProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBlockProps.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/resolveBlockProps.ts"],"names":[],"mappings":";;AAAA,iDAAmE;AAE5D,MAAM,iBAAiB,GAAG,CAAI,OAAU,EAAE,QAAkC,EAAK,EAAE,CACxF,IAAA,yBAAc,EAAC,OAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAa,CAAM,CAAC;AADhE,QAAA,iBAAiB,qBAC+C"}
|
|
@@ -3,6 +3,7 @@ exports.useJSONRef = void 0;
|
|
|
3
3
|
const json_ref_1 = require("@redneckz/json-ref");
|
|
4
4
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
5
5
|
const fetchRefs_1 = require("./fetchRefs");
|
|
6
|
+
const resolveBlockProps_1 = require("./resolveBlockProps");
|
|
6
7
|
const useJSONRef = (content, fallback) => {
|
|
7
8
|
const refs = (0, json_ref_1.collectRef)(content);
|
|
8
9
|
const [refsMap, setRefsMap] = (0, hooks_1.useState)({});
|
|
@@ -11,9 +12,7 @@ const useJSONRef = (content, fallback) => {
|
|
|
11
12
|
(0, fetchRefs_1.fetchRefs)(refs).then(setRefsMap);
|
|
12
13
|
}
|
|
13
14
|
}, [refs.join()]);
|
|
14
|
-
return refs.length
|
|
15
|
-
? (0, json_ref_1.resolveRefSync)(content, (_) => refsMap[_] || fallback?.[_])
|
|
16
|
-
: content;
|
|
15
|
+
return refs.length ? (0, resolveBlockProps_1.resolveBlockProps)(content, { ...fallback, ...refsMap }) : content;
|
|
17
16
|
};
|
|
18
17
|
exports.useJSONRef = useJSONRef;
|
|
19
18
|
//# sourceMappingURL=useJSONRef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useJSONRef.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/useJSONRef.ts"],"names":[],"mappings":";;AAAA,iDAA+
|
|
1
|
+
{"version":3,"file":"useJSONRef.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/useJSONRef.ts"],"names":[],"mappings":";;AAAA,iDAA+D;AAC/D,uDAAkE;AAClE,2CAAwC;AACxC,2DAAwD;AAEjD,MAAM,UAAU,GAAG,CAAI,OAAU,EAAE,QAAkC,EAAK,EAAE;IACjF,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,OAAmB,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAA2B,EAAE,CAAC,CAAC;IACrE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzF,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type BlockDef } from '../../model/ContentPageDef';
|
|
2
|
-
export declare const filterBlocks: (
|
|
2
|
+
export declare const filterBlocks: (blocksWithProps: [BlockDef, Record<string, any> | undefined][], filtrationState: Record<string, any>) => (normalize?: (content: BlockDef['content']) => BlockDef['content']) => BlockDef[];
|
|
@@ -2,6 +2,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
exports.filterBlocks = void 0;
|
|
3
3
|
const identity_1 = require("../../utils/identity");
|
|
4
4
|
const targetMatchPattern_1 = require("./targetMatchPattern");
|
|
5
|
-
const filterBlocks = (
|
|
5
|
+
const filterBlocks = (blocksWithProps, filtrationState) => (normalize = identity_1.identity) => blocksWithProps
|
|
6
|
+
?.filter(([, content]) => (0, targetMatchPattern_1.targetMatchPattern)(filtrationState, normalize(content) || {}))
|
|
7
|
+
.map(([block]) => block);
|
|
6
8
|
exports.filterBlocks = filterBlocks;
|
|
7
9
|
//# sourceMappingURL=filterBlocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/filterBlocks.ts"],"names":[],"mappings":";;AACA,mDAAgD;AAChD,6DAA0D;AAEnD,MAAM,YAAY,GACvB,
|
|
1
|
+
{"version":3,"file":"filterBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/filterBlocks.ts"],"names":[],"mappings":";;AACA,mDAAgD;AAChD,6DAA0D;AAEnD,MAAM,YAAY,GACvB,CACE,eAA8D,EAC9D,eAAoC,EACpC,EAAE,CACJ,CAAC,YAAmE,mBAAQ,EAAE,EAAE,CAC9E,eAAe;IACb,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAA,uCAAkB,EAAC,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACvF,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AARlB,QAAA,YAAY,gBAQM"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FormOperatorProps } from '../../hooks/useForm';
|
|
2
|
+
import { type BlockDef, type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
+
export declare const useFiltrationForm: <FormState extends Record<string, any>>(initialFormState: FormState, { block, page, normalize, }: {
|
|
4
|
+
block?: BlockDef | undefined;
|
|
5
|
+
page?: ContentPageDef | undefined;
|
|
6
|
+
normalize?: ((content: BlockDef['content']) => BlockDef['content']) | undefined;
|
|
7
|
+
}) => [FormState, {
|
|
8
|
+
blocksToRender: BlockDef[] | undefined;
|
|
9
|
+
blocksWithProps: [BlockDef, Record<string, any> | undefined][];
|
|
10
|
+
}, FormOperatorProps<FormState>];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.useFiltrationForm = void 0;
|
|
3
|
+
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
4
|
+
const useForm_1 = require("../../hooks/useForm");
|
|
5
|
+
const resolveBlockProps_1 = require("../../hooks/useJSONRef/resolveBlockProps");
|
|
6
|
+
const identity_1 = require("../../utils/identity");
|
|
7
|
+
const zip_1 = require("../../utils/zip");
|
|
8
|
+
const filterBlocks_1 = require("./filterBlocks");
|
|
9
|
+
const useFiltrationForm = (initialFormState, { block, page, normalize = identity_1.identity, }) => {
|
|
10
|
+
const blocks = block?.blocks || [];
|
|
11
|
+
const [filtrationState, { field, reset, update: replaceFiltrationState }] = (0, useForm_1.useForm)(initialFormState);
|
|
12
|
+
const blocksWithProps = (0, hooks_1.useMemo)(() => (0, zip_1.zip)(blocks, blocks.map((b) => (0, resolveBlockProps_1.resolveBlockProps)(b.content, page?.fallback))), [blocks, page?.fallback]);
|
|
13
|
+
const blocksToRender = filtrationState === initialFormState
|
|
14
|
+
? blocks
|
|
15
|
+
: (0, filterBlocks_1.filterBlocks)(blocksWithProps, filtrationState)(normalize);
|
|
16
|
+
return [
|
|
17
|
+
filtrationState,
|
|
18
|
+
{ blocksToRender, blocksWithProps },
|
|
19
|
+
{ field, reset, update: replaceFiltrationState },
|
|
20
|
+
];
|
|
21
|
+
};
|
|
22
|
+
exports.useFiltrationForm = useFiltrationForm;
|
|
23
|
+
//# sourceMappingURL=useFiltrationForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiltrationForm.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/useFiltrationForm.ts"],"names":[],"mappings":";;AAAA,uDAAsD;AACtD,iDAAsE;AACtE,gFAA6E;AAE7E,mDAAgD;AAChD,yCAAsC;AACtC,iDAA8C;AAEvC,MAAM,iBAAiB,GAAG,CAC/B,gBAA2B,EAC3B,EACE,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,mBAAQ,GAKrB,EAQD,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,GACvE,IAAA,iBAAO,EAAC,gBAAgB,CAAC,CAAC;IAE5B,MAAM,eAAe,GAAG,IAAA,eAAO,EAC7B,GAAG,EAAE,CACH,IAAA,SAAG,EACD,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qCAAiB,EAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAChE,EACH,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CACzB,CAAC;IAEF,MAAM,cAAc,GAClB,eAAe,KAAK,gBAAgB;QAClC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAA,2BAAY,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhE,OAAO;QACL,eAAe;QACf,EAAE,cAAc,EAAE,eAAe,EAAE;QACnC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE;KACjD,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,iBAAiB,qBA2C5B"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { useForm } from '../../hooks/useForm.js';
|
|
3
2
|
import { BaseFiltrationInner } from '../../ui-kit/BaseFiltration/BaseFiltrationInner.js';
|
|
4
|
-
import { filterBlocks } from '../../ui-kit/BaseFiltration/filterBlocks.js';
|
|
5
3
|
import { renderFiltrationForm } from '../../ui-kit/BaseFiltration/renderFiltrationForm.js';
|
|
4
|
+
import { useFiltrationForm } from '../../ui-kit/BaseFiltration/useFiltrationForm.js';
|
|
6
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
|
|
7
6
|
import { CurrencyInput } from '../../ui-kit/CurrencyInput/CurrencyInput.js';
|
|
8
7
|
import { InputRange } from '../../ui-kit/InputRange/InputRange.js';
|
|
9
8
|
import { UniBlock } from '../../UniBlock/UniBlock.js';
|
|
10
9
|
import { style } from '../../utils/style.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { unique } from '../../utils/unique.js';
|
|
11
|
+
import { isRateRow } from './isRateRow.js';
|
|
12
|
+
import { numberRange } from './numberRange.js';
|
|
13
13
|
const DEFAULT_MIN_SUM = 500;
|
|
14
14
|
const DEFAULT_MAX_SUM = 1000000000;
|
|
15
15
|
const initialFiltrationState = {
|
|
@@ -20,11 +20,13 @@ const initialFiltrationState = {
|
|
|
20
20
|
period: 3,
|
|
21
21
|
};
|
|
22
22
|
export const DepositFiltration = UniBlock(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
|
|
23
|
-
const {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const [, { blocksToRender, blocksWithProps }, { field, reset }] = useFiltrationForm(initialFiltrationState, {
|
|
24
|
+
block: rest.block,
|
|
25
|
+
page: rest.options?.page,
|
|
26
|
+
normalize: (content) => ({ ...content, period: getPeriod(content) }),
|
|
27
|
+
});
|
|
28
|
+
const rateRows = blocksWithProps.map(([, _]) => _?.paramsSource?.rateRows);
|
|
29
|
+
const months = getMonths(rateRows);
|
|
28
30
|
const Inputs = (_jsxs("div", { children: [_jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
|
|
29
31
|
parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
|
|
30
32
|
format: ({ min }) => String(min),
|
|
@@ -34,10 +36,17 @@ export const DepositFiltration = UniBlock(({ className, filtrationSchema = {}, r
|
|
|
34
36
|
childrenTypes: ['ProductBlock'],
|
|
35
37
|
childSchema: (content) => ({
|
|
36
38
|
...(content?.filtrationSchema || {}),
|
|
37
|
-
|
|
38
|
-
type: '
|
|
39
|
+
paramsSource: {
|
|
40
|
+
type: 'object',
|
|
39
41
|
title: 'Адрес справочника',
|
|
40
42
|
},
|
|
41
43
|
}),
|
|
42
44
|
});
|
|
45
|
+
const getPeriod = (content) => unique((content?.paramsSource?.rateRows || [])
|
|
46
|
+
.filter(isRateRow)
|
|
47
|
+
.flatMap((_) => numberRange(_.minMonths, _.maxMonths)));
|
|
48
|
+
const getMonths = (rateRows) => unique(rateRows
|
|
49
|
+
.flatMap((item) => item || [])
|
|
50
|
+
.filter(isRateRow)
|
|
51
|
+
.flatMap((_) => numberRange(_.minMonths, _.maxMonths))).sort((a, b) => a - b) || [];
|
|
43
52
|
//# sourceMappingURL=DepositFiltration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositFiltration.js","sourceRoot":"","sources":["../../../src/components/DepositFiltration/DepositFiltration.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"DepositFiltration.js","sourceRoot":"","sources":["../../../src/components/DepositFiltration/DepositFiltration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import { useForm } from '../../hooks/useForm.js';
|
|
4
3
|
import { BaseFiltrationInner } from '../../ui-kit/BaseFiltration/BaseFiltrationInner.js';
|
|
5
|
-
import { filterBlocks } from '../../ui-kit/BaseFiltration/filterBlocks.js';
|
|
6
4
|
import { renderFiltrationForm } from '../../ui-kit/BaseFiltration/renderFiltrationForm.js';
|
|
5
|
+
import { useFiltrationForm } from '../../ui-kit/BaseFiltration/useFiltrationForm.js';
|
|
7
6
|
import { useHotFilters } from '../../ui-kit/BaseFiltration/useHotFilters.js';
|
|
8
7
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
|
|
9
8
|
import { TabsControl } from '../../ui-kit/TabsControl/TabsControl.js';
|
|
@@ -16,11 +15,11 @@ const initialFiltrationState = {
|
|
|
16
15
|
stage: [],
|
|
17
16
|
};
|
|
18
17
|
export const MortgageFiltration = UniBlock(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
|
|
19
|
-
const [filtrationState, { field, reset, update
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) =>
|
|
18
|
+
const [filtrationState, { blocksToRender }, { field, reset, update }] = useFiltrationForm(initialFiltrationState, {
|
|
19
|
+
block: rest.block,
|
|
20
|
+
page: rest.options?.page,
|
|
21
|
+
});
|
|
22
|
+
const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => update(_), []);
|
|
24
23
|
const tabsControlProps = useHotFilters({
|
|
25
24
|
hotFilters,
|
|
26
25
|
filtrationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MortgageFiltration.js","sourceRoot":"","sources":["../../../src/components/MortgageFiltration/MortgageFiltration.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MortgageFiltration.js","sourceRoot":"","sources":["../../../src/components/MortgageFiltration/MortgageFiltration.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ1C,MAAM,sBAAsB,GAA4B;IACtD,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CACxC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACzE,MAAM,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,iBAAiB,CACvF,sBAAsB,EACtB;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;KACzB,CACF,CAAC;IAEF,MAAM,2BAA2B,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,sBAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/F,MAAM,gBAAgB,GAAG,aAAa,CAAC;QACrC,UAAU;QACV,eAAe;QACf,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;QAC1B,uBAAuB,EAAE,2BAA2B;KACrD,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,YAAY,IACX,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,EAC1C,cAAc,EAAC,KAAK,EACpB,OAAO,EAAC,aAAa,KACjB,IAAI,aAER,KAAC,WAAW,OAAK,gBAAgB,GAAI,EACpC,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,EACtE,KAAC,mBAAmB,IAAC,cAAc,EAAE,cAAc,KAAM,IAAI,GAAI,IACpD,CAChB,CAAC;AACJ,CAAC,EACD;IACE,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,WAAW,EAAE,CAAC,OAAmC,EAAE,EAAE,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE;CACtF,CACF,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const replaceHeadingTags = (html) => html.replaceAll(/<h(\d)>(
|
|
1
|
+
export const replaceHeadingTags = (html) => html.replaceAll(/<h(\d)>(.*)<\/h\d>/g, '<p class="h$1">$2</p>');
|
|
2
2
|
//# sourceMappingURL=replaceHeadingTags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceHeadingTags.js","sourceRoot":"","sources":["../../src/content-page-repository/replaceHeadingTags.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"replaceHeadingTags.js","sourceRoot":"","sources":["../../src/content-page-repository/replaceHeadingTags.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CACjD,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC"}
|
package/lib/hooks/useForm.d.ts
CHANGED
|
@@ -8,14 +8,15 @@ declare type Options<In, Out> = {
|
|
|
8
8
|
format?: (_: Out) => In;
|
|
9
9
|
};
|
|
10
10
|
export declare type FormFieldRegisterer<FormState> = <N extends keyof FormState, V = FormState[N]>(fieldName: N, options?: Options<V, FormState[N]>) => FieldProps<V extends undefined ? FormState[N] : V>;
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
onSubmit?: ((_: FormState) => void) | undefined;
|
|
14
|
-
}) => [FormState, {
|
|
15
|
-
isDirty: boolean;
|
|
11
|
+
export interface FormOperatorProps<FormState extends Record<string, any>> {
|
|
12
|
+
isDirty?: boolean;
|
|
16
13
|
field: FormFieldRegisterer<FormState>;
|
|
17
14
|
update: (_: FormState) => void;
|
|
18
15
|
reset: () => void;
|
|
19
|
-
onSubmit
|
|
20
|
-
}
|
|
16
|
+
onSubmit?: (e: PreventableEvent) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const useForm: <FormState extends Record<string, any>>(initialState: FormState, { resetOnSubmit, onSubmit }?: {
|
|
19
|
+
resetOnSubmit?: boolean | undefined;
|
|
20
|
+
onSubmit?: ((_: FormState) => void) | undefined;
|
|
21
|
+
}) => [FormState, FormOperatorProps<FormState>];
|
|
21
22
|
export {};
|
package/lib/hooks/useForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAwB7C,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,YAAuB,EACvB,EAAE,aAAa,EAAE,QAAQ,KAAqE,EAAE,EACrD,EAAE;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,YAAY,CAAC,CAAC;IAEpE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,EAAE,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAyD,EAAE,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAmC,WAAW,CACvD,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;QACrB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAE9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;SAC1B;QAED,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;YAC3C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAQ;YAC1C,OAAO,EAAE,WAAW,IAAI,cAAc,CAAC,SAAS,CAAC;YACjD,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC,EACD,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CACzC,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAY,EAAE,EAAE;QAC1C,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAmB,EAAE,EAAE;QACtB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7C,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;IAEF,OAAO;QACL,SAAS;QACT;YACE,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACnE,KAAK;YACL,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,YAAY;SACvB;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resolveBlockProps: <C>(content: C, fallback?: Record<string, unknown>) => C;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBlockProps.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/resolveBlockProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAC;AAEnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,OAAU,EAAE,QAAkC,EAAK,EAAE,CACxF,cAAc,CAAC,OAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAa,CAAM,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { collectRef
|
|
1
|
+
import { collectRef } from '@redneckz/json-ref';
|
|
2
2
|
import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { fetchRefs } from './fetchRefs.js';
|
|
4
|
+
import { resolveBlockProps } from './resolveBlockProps.js';
|
|
4
5
|
export const useJSONRef = (content, fallback) => {
|
|
5
6
|
const refs = collectRef(content);
|
|
6
7
|
const [refsMap, setRefsMap] = useState({});
|
|
@@ -9,8 +10,6 @@ export const useJSONRef = (content, fallback) => {
|
|
|
9
10
|
fetchRefs(refs).then(setRefsMap);
|
|
10
11
|
}
|
|
11
12
|
}, [refs.join()]);
|
|
12
|
-
return refs.length
|
|
13
|
-
? resolveRefSync(content, (_) => refsMap[_] || fallback?.[_])
|
|
14
|
-
: content;
|
|
13
|
+
return refs.length ? resolveBlockProps(content, { ...fallback, ...refsMap }) : content;
|
|
15
14
|
};
|
|
16
15
|
//# sourceMappingURL=useJSONRef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useJSONRef.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/useJSONRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"useJSONRef.js","sourceRoot":"","sources":["../../../src/hooks/useJSONRef/useJSONRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,OAAU,EAAE,QAAkC,EAAK,EAAE;IACjF,MAAM,IAAI,GAAG,UAAU,CAAC,OAAmB,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA2B,EAAE,CAAC,CAAC;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACzF,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type BlockDef } from '../../model/ContentPageDef';
|
|
2
|
-
export declare const filterBlocks: (
|
|
2
|
+
export declare const filterBlocks: (blocksWithProps: [BlockDef, Record<string, any> | undefined][], filtrationState: Record<string, any>) => (normalize?: (content: BlockDef['content']) => BlockDef['content']) => BlockDef[];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { identity } from '../../utils/identity.js';
|
|
2
2
|
import { targetMatchPattern } from './targetMatchPattern.js';
|
|
3
|
-
export const filterBlocks = (
|
|
3
|
+
export const filterBlocks = (blocksWithProps, filtrationState) => (normalize = identity) => blocksWithProps
|
|
4
|
+
?.filter(([, content]) => targetMatchPattern(filtrationState, normalize(content) || {}))
|
|
5
|
+
.map(([block]) => block);
|
|
4
6
|
//# sourceMappingURL=filterBlocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/filterBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,MAAM,YAAY,GACvB,
|
|
1
|
+
{"version":3,"file":"filterBlocks.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/filterBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,MAAM,YAAY,GACvB,CACE,eAA8D,EAC9D,eAAoC,EACpC,EAAE,CACJ,CAAC,YAAmE,QAAQ,EAAE,EAAE,CAC9E,eAAe;IACb,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACvF,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FormOperatorProps } from '../../hooks/useForm';
|
|
2
|
+
import { type BlockDef, type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
+
export declare const useFiltrationForm: <FormState extends Record<string, any>>(initialFormState: FormState, { block, page, normalize, }: {
|
|
4
|
+
block?: BlockDef | undefined;
|
|
5
|
+
page?: ContentPageDef | undefined;
|
|
6
|
+
normalize?: ((content: BlockDef['content']) => BlockDef['content']) | undefined;
|
|
7
|
+
}) => [FormState, {
|
|
8
|
+
blocksToRender: BlockDef[] | undefined;
|
|
9
|
+
blocksWithProps: [BlockDef, Record<string, any> | undefined][];
|
|
10
|
+
}, FormOperatorProps<FormState>];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useForm } from '../../hooks/useForm.js';
|
|
3
|
+
import { resolveBlockProps } from '../../hooks/useJSONRef/resolveBlockProps.js';
|
|
4
|
+
import { identity } from '../../utils/identity.js';
|
|
5
|
+
import { zip } from '../../utils/zip.js';
|
|
6
|
+
import { filterBlocks } from './filterBlocks.js';
|
|
7
|
+
export const useFiltrationForm = (initialFormState, { block, page, normalize = identity, }) => {
|
|
8
|
+
const blocks = block?.blocks || [];
|
|
9
|
+
const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFormState);
|
|
10
|
+
const blocksWithProps = useMemo(() => zip(blocks, blocks.map((b) => resolveBlockProps(b.content, page?.fallback))), [blocks, page?.fallback]);
|
|
11
|
+
const blocksToRender = filtrationState === initialFormState
|
|
12
|
+
? blocks
|
|
13
|
+
: filterBlocks(blocksWithProps, filtrationState)(normalize);
|
|
14
|
+
return [
|
|
15
|
+
filtrationState,
|
|
16
|
+
{ blocksToRender, blocksWithProps },
|
|
17
|
+
{ field, reset, update: replaceFiltrationState },
|
|
18
|
+
];
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useFiltrationForm.js.map
|