@webiny/app-headless-cms 5.42.2-beta.0 → 5.42.2-beta.2
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/ContentEntryEditorConfig.d.ts +38 -14
- package/ContentEntryEditorConfig.js +14 -7
- package/ContentEntryEditorConfig.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +8 -7
- package/admin/components/ContentEntryForm/ContentEntryForm.js +4 -2
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.d.ts +3 -2
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js +2 -0
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js.map +1 -1
- package/admin/components/ContentEntryForm/FieldElement.js +1 -2
- package/admin/components/ContentEntryForm/FieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/Header.js +9 -3
- package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
- package/admin/components/ContentEntryForm/createValidationScope.d.ts +18 -0
- package/admin/components/ContentEntryForm/createValidationScope.js +31 -0
- package/admin/components/ContentEntryForm/createValidationScope.js.map +1 -0
- package/admin/components/ContentEntryForm/useBind.d.ts +2 -3
- package/admin/components/ContentEntryForm/useBind.js +15 -7
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/config/contentEntries/editor/ContentEntryEditorConfig.d.ts +1 -0
- package/admin/config/contentEntries/editor/ContentEntryEditorConfig.js +3 -1
- package/admin/config/contentEntries/editor/ContentEntryEditorConfig.js.map +1 -1
- package/admin/config/contentEntries/editor/ValidationIndicators.d.ts +5 -0
- package/admin/config/contentEntries/editor/ValidationIndicators.js +22 -0
- package/admin/config/contentEntries/editor/ValidationIndicators.js.map +1 -0
- package/admin/plugins/fieldRenderers/Accordion.d.ts +2 -1
- package/admin/plugins/fieldRenderers/Accordion.js +28 -28
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +21 -9
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/MultiValueRendererSettings.d.ts +8 -0
- package/admin/plugins/fieldRenderers/MultiValueRendererSettings.js +33 -0
- package/admin/plugins/fieldRenderers/MultiValueRendererSettings.js.map +1 -0
- package/admin/plugins/fieldRenderers/checkboxes.js +17 -15
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +14 -18
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +6 -2
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +23 -21
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +2 -2
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +7 -3
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +2 -2
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js +6 -2
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +2 -2
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js +6 -2
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.d.ts +10 -0
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js +118 -0
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.d.ts +33 -0
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js +54 -0
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js.map +1 -0
- package/admin/plugins/fieldRenderers/object/index.d.ts +22 -0
- package/admin/plugins/fieldRenderers/object/index.js +5 -1
- package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +15 -104
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +15 -108
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +2 -2
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectInline.js +25 -14
- package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +18 -16
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js +6 -3
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +6 -6
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +2 -2
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js +2 -2
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js +2 -2
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js +2 -2
- package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js +2 -2
- package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +10 -8
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +7 -3
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +9 -7
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/tags.js +7 -5
- package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +2 -2
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js +6 -2
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js +5 -5
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.d.ts +9 -9
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js +25 -25
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +17 -5
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ValidationIndicators.d.ts +25 -0
- package/admin/views/contentEntries/ValidationIndicators.js +45 -0
- package/admin/views/contentEntries/ValidationIndicators.js.map +1 -0
- package/allPlugins.d.ts +2 -2
- package/package.json +29 -30
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ModelFieldProvider","validationScopeStyles","display","createValidationScope","exports","path","ValidationScope","_ref","children","_useModelField","useModelField","field","multipleValues","undefined","default","createElement","style","type","String","renderer","name"],"sources":["createValidationScope.tsx"],"sourcesContent":["import React from \"react\";\nimport { useModelField } from \"~/admin/components/ModelFieldProvider\";\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"hcms-field-validation-scope\": {\n \"data-path\": string;\n \"data-field-type\": string;\n \"data-field-multiple-values\": string;\n \"data-field-renderer\": string;\n style: React.CSSProperties;\n children: React.ReactNode;\n };\n }\n }\n}\n\nconst validationScopeStyles = { display: \"inherit\" };\n\nexport const createValidationScope = (path: string) => {\n return function ValidationScope({ children }: { children: React.ReactNode }) {\n const { field } = useModelField();\n\n if (field.multipleValues === undefined) {\n field.multipleValues = false;\n }\n\n return (\n <hcms-field-validation-scope\n style={validationScopeStyles}\n data-path={path}\n data-field-type={field.type}\n data-field-multiple-values={String(field.multipleValues)}\n data-field-renderer={String(field.renderer.name)}\n >\n {children}\n </hcms-field-validation-scope>\n );\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAkBA,IAAME,qBAAqB,GAAG;EAAEC,OAAO,EAAE;AAAU,CAAC;AAE7C,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,IAAY,EAAK;EACnD,OAAO,SAASC,eAAeA,CAAAC,IAAA,EAA8C;IAAA,IAA3CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACtC,IAAAC,cAAA,GAAkB,IAAAC,iCAAa,EAAC,CAAC;MAAzBC,KAAK,GAAAF,cAAA,CAALE,KAAK;IAEb,IAAIA,KAAK,CAACC,cAAc,KAAKC,SAAS,EAAE;MACpCF,KAAK,CAACC,cAAc,GAAG,KAAK;IAChC;IAEA,oBACIf,MAAA,CAAAiB,OAAA,CAAAC,aAAA;MACIC,KAAK,EAAEf,qBAAsB;MAC7B,aAAWI,IAAK;MAChB,mBAAiBM,KAAK,CAACM,IAAK;MAC5B,8BAA4BC,MAAM,CAACP,KAAK,CAACC,cAAc,CAAE;MACzD,uBAAqBM,MAAM,CAACP,KAAK,CAACQ,QAAQ,CAACC,IAAI;IAAE,GAEhDZ,QACwB,CAAC;EAEtC,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { BindComponent
|
|
1
|
+
import { BindComponent } from "../../../types";
|
|
2
2
|
interface UseBindProps {
|
|
3
|
-
field: CmsModelField;
|
|
4
3
|
Bind: BindComponent;
|
|
5
4
|
}
|
|
6
5
|
export interface GetBindCallable {
|
|
7
6
|
(index?: number): BindComponent;
|
|
8
7
|
}
|
|
9
|
-
export declare function useBind({ Bind
|
|
8
|
+
export declare function useBind({ Bind }: UseBindProps): (index?: number) => BindComponent<any>;
|
|
10
9
|
export {};
|
|
@@ -11,17 +11,20 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _form = require("@webiny/form");
|
|
13
13
|
var _createValidators = require("../../../utils/createValidators");
|
|
14
|
+
var _ModelFieldProvider = require("../ModelFieldProvider");
|
|
15
|
+
var _createValidationScope = require("./createValidationScope");
|
|
14
16
|
var createFieldCacheKey = function createFieldCacheKey(field) {
|
|
15
17
|
return [field.id, field.fieldId, JSON.stringify(field.validation), JSON.stringify(field.listValidation)].join(";");
|
|
16
18
|
};
|
|
17
19
|
var emptyValidators = [];
|
|
18
20
|
function useBind(_ref) {
|
|
19
|
-
var Bind = _ref.Bind
|
|
20
|
-
|
|
21
|
+
var Bind = _ref.Bind;
|
|
22
|
+
var _useModelField = (0, _ModelFieldProvider.useModelField)(),
|
|
23
|
+
field = _useModelField.field;
|
|
21
24
|
var memoizedBindComponents = (0, _react.useRef)({});
|
|
22
25
|
var cacheKey = createFieldCacheKey(field);
|
|
23
26
|
var form = (0, _form.useForm)();
|
|
24
|
-
return
|
|
27
|
+
return function () {
|
|
25
28
|
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
|
26
29
|
var parentName = Bind.parentName;
|
|
27
30
|
|
|
@@ -47,10 +50,15 @@ function useBind(_ref) {
|
|
|
47
50
|
children = params.children,
|
|
48
51
|
_params$defaultValue = params.defaultValue,
|
|
49
52
|
defaultValue = _params$defaultValue === void 0 ? defaultValueFromSettings : _params$defaultValue;
|
|
53
|
+
var _useModelField2 = (0, _ModelFieldProvider.useModelField)(),
|
|
54
|
+
field = _useModelField2.field;
|
|
50
55
|
return /*#__PURE__*/_react.default.createElement(Bind, {
|
|
51
56
|
name: childName || name,
|
|
52
57
|
validators: childValidators || inputValidators,
|
|
53
|
-
defaultValue: defaultValue ?? null
|
|
58
|
+
defaultValue: defaultValue ?? null,
|
|
59
|
+
context: {
|
|
60
|
+
field: field
|
|
61
|
+
}
|
|
54
62
|
}, function (bind) {
|
|
55
63
|
// Multiple-values functions below.
|
|
56
64
|
var props = (0, _objectSpread2.default)({}, bind);
|
|
@@ -95,16 +103,16 @@ function useBind(_ref) {
|
|
|
95
103
|
bind.onChange(value);
|
|
96
104
|
};
|
|
97
105
|
}
|
|
98
|
-
|
|
99
|
-
return element;
|
|
106
|
+
return typeof children === "function" ? children(props) : /*#__PURE__*/(0, _react.cloneElement)(children, props);
|
|
100
107
|
});
|
|
101
108
|
};
|
|
102
109
|
|
|
103
110
|
// We need to keep track of current field name, to support nested fields.
|
|
104
111
|
memoizedBindComponents.current[componentId].parentName = name;
|
|
105
112
|
memoizedBindComponents.current[componentId].displayName = "Bind<".concat(name, ">");
|
|
113
|
+
memoizedBindComponents.current[componentId].ValidationScope = (0, _createValidationScope.createValidationScope)(name);
|
|
106
114
|
return memoizedBindComponents.current[componentId];
|
|
107
|
-
}
|
|
115
|
+
};
|
|
108
116
|
}
|
|
109
117
|
|
|
110
118
|
//# sourceMappingURL=useBind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_form","_createValidators","createFieldCacheKey","field","id","fieldId","JSON","stringify","validation","listValidation","join","emptyValidators","useBind","_ref","Bind","memoizedBindComponents","useRef","cacheKey","form","useForm","useCallback","index","arguments","length","undefined","parentName","name","filter","v","componentId","concat","current","validators","createValidators","listValidators","isMultipleValues","multipleValues","inputValidators","defaultValueFromSettings","settings","defaultValue","UseBind","params","childName","childValidators","children","_params$defaultValue","default","createElement","bind","props","_objectSpread2","appendValue","newValue","currentValue","value","newIndex","onChange","_toConsumableArray2","slice","prependValue","appendValues","newValues","removeValue","validateInput","moveValueUp","splice","moveValueDown","element","cloneElement","displayName"],"sources":["useBind.tsx"],"sourcesContent":["import React, { useRef, useCallback, cloneElement } from \"react\";\nimport { Validator } from \"@webiny/validation/types\";\nimport { useForm } from \"@webiny/form\";\nimport { createValidators } from \"~/utils/createValidators\";\nimport { BindComponent, CmsModelField } from \"~/types\";\n\ninterface UseBindProps {\n field: CmsModelField;\n Bind: BindComponent;\n}\n\ninterface UseBindParams {\n name?: string;\n validators?: Validator | Validator[];\n children?: any;\n defaultValue?: any;\n}\n\nconst createFieldCacheKey = (field: CmsModelField) => {\n return [\n field.id,\n field.fieldId,\n JSON.stringify(field.validation),\n JSON.stringify(field.listValidation)\n ].join(\";\");\n};\n\nexport interface GetBindCallable {\n (index?: number): BindComponent;\n}\n\nconst emptyValidators: Validator[] = [];\n\nexport function useBind({ Bind, field }: UseBindProps) {\n const memoizedBindComponents = useRef<Record<string, BindComponent>>({});\n const cacheKey = createFieldCacheKey(field);\n const form = useForm();\n\n return useCallback(\n (index = -1) => {\n const { parentName } = Bind;\n\n // If there's a parent name assigned to the given Bind component, we need to include it in the new field \"name\".\n // This allows us to have nested fields (like \"object\" field with nested properties)\n const name = [parentName, field.fieldId, index >= 0 ? index : undefined]\n .filter(v => v !== undefined)\n .join(\".\");\n\n const componentId = `${name};${cacheKey}`;\n\n if (memoizedBindComponents.current[componentId]) {\n return memoizedBindComponents.current[componentId];\n }\n\n const validators = createValidators(field, field.validation || emptyValidators);\n const listValidators = createValidators(field, field.listValidation || emptyValidators);\n const isMultipleValues = index === -1 && field.multipleValues;\n const inputValidators = isMultipleValues ? listValidators : validators;\n\n // We only use default values for single-value fields.\n const defaultValueFromSettings = !isMultipleValues\n ? field.settings?.defaultValue\n : null;\n\n memoizedBindComponents.current[componentId] = function UseBind(params: UseBindParams) {\n const {\n name: childName,\n validators: childValidators,\n children,\n defaultValue = defaultValueFromSettings\n } = params;\n\n return (\n <Bind\n name={childName || name}\n validators={childValidators || inputValidators}\n defaultValue={defaultValue ?? null}\n >\n {bind => {\n // Multiple-values functions below.\n const props = { ...bind };\n if (field.multipleValues && index === -1) {\n props.appendValue = (newValue: any, index?: number) => {\n const currentValue = bind.value || [];\n const newIndex = index ?? currentValue.length;\n\n bind.onChange([\n ...currentValue.slice(0, newIndex),\n newValue,\n ...currentValue.slice(newIndex)\n ]);\n };\n props.prependValue = (newValue: any) => {\n bind.onChange([newValue, ...(bind.value || [])]);\n };\n props.appendValues = (newValues: any[]) => {\n bind.onChange([...(bind.value || []), ...newValues]);\n };\n\n props.removeValue = (index: number) => {\n if (index < 0) {\n return;\n }\n\n const value = [\n ...bind.value.slice(0, index),\n ...bind.value.slice(index + 1)\n ];\n\n bind.onChange(value.length === 0 ? null : value);\n\n // To make sure the field is still valid, we must trigger validation.\n form.validateInput(field.fieldId);\n };\n\n props.moveValueUp = (index: number) => {\n if (index <= 0) {\n return;\n }\n\n const value = [...bind.value];\n value.splice(index, 1);\n value.splice(index - 1, 0, bind.value[index]);\n\n bind.onChange(value);\n };\n\n props.moveValueDown = (index: number) => {\n if (index >= bind.value.length) {\n return;\n }\n\n const value = [...bind.value];\n value.splice(index, 1);\n value.splice(index + 1, 0, bind.value[index]);\n\n bind.onChange(value);\n };\n }\n\n const element =\n typeof children === \"function\"\n ? children(props)\n : cloneElement(children, props);\n\n return element;\n }}\n </Bind>\n );\n } as BindComponent;\n\n // We need to keep track of current field name, to support nested fields.\n memoizedBindComponents.current[componentId].parentName = name;\n memoizedBindComponents.current[componentId].displayName = `Bind<${name}>`;\n\n return memoizedBindComponents.current[componentId];\n },\n [field.fieldId, cacheKey]\n );\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAeA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAoB,EAAK;EAClD,OAAO,CACHA,KAAK,CAACC,EAAE,EACRD,KAAK,CAACE,OAAO,EACbC,IAAI,CAACC,SAAS,CAACJ,KAAK,CAACK,UAAU,CAAC,EAChCF,IAAI,CAACC,SAAS,CAACJ,KAAK,CAACM,cAAc,CAAC,CACvC,CAACC,IAAI,CAAC,GAAG,CAAC;AACf,CAAC;AAMD,IAAMC,eAA4B,GAAG,EAAE;AAEhC,SAASC,OAAOA,CAAAC,IAAA,EAAgC;EAAA,IAA7BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEX,KAAK,GAAAU,IAAA,CAALV,KAAK;EACjC,IAAMY,sBAAsB,GAAG,IAAAC,aAAM,EAAgC,CAAC,CAAC,CAAC;EACxE,IAAMC,QAAQ,GAAGf,mBAAmB,CAACC,KAAK,CAAC;EAC3C,IAAMe,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EAEtB,OAAO,IAAAC,kBAAW,EACd,YAAgB;IAAA,IAAfC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACP,IAAQG,UAAU,GAAKX,IAAI,CAAnBW,UAAU;;IAElB;IACA;IACA,IAAMC,IAAI,GAAG,CAACD,UAAU,EAAEtB,KAAK,CAACE,OAAO,EAAEgB,KAAK,IAAI,CAAC,GAAGA,KAAK,GAAGG,SAAS,CAAC,CACnEG,MAAM,CAAC,UAAAC,CAAC;MAAA,OAAIA,CAAC,KAAKJ,SAAS;IAAA,EAAC,CAC5Bd,IAAI,CAAC,GAAG,CAAC;IAEd,IAAMmB,WAAW,MAAAC,MAAA,CAAMJ,IAAI,OAAAI,MAAA,CAAIb,QAAQ,CAAE;IAEzC,IAAIF,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC,EAAE;MAC7C,OAAOd,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC;IACtD;IAEA,IAAMG,UAAU,GAAG,IAAAC,kCAAgB,EAAC9B,KAAK,EAAEA,KAAK,CAACK,UAAU,IAAIG,eAAe,CAAC;IAC/E,IAAMuB,cAAc,GAAG,IAAAD,kCAAgB,EAAC9B,KAAK,EAAEA,KAAK,CAACM,cAAc,IAAIE,eAAe,CAAC;IACvF,IAAMwB,gBAAgB,GAAGd,KAAK,KAAK,CAAC,CAAC,IAAIlB,KAAK,CAACiC,cAAc;IAC7D,IAAMC,eAAe,GAAGF,gBAAgB,GAAGD,cAAc,GAAGF,UAAU;;IAEtE;IACA,IAAMM,wBAAwB,GAAG,CAACH,gBAAgB,GAC5ChC,KAAK,CAACoC,QAAQ,EAAEC,YAAY,GAC5B,IAAI;IAEVzB,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC,GAAG,SAASY,OAAOA,CAACC,MAAqB,EAAE;MAClF,IACUC,SAAS,GAIfD,MAAM,CAJNhB,IAAI;QACQkB,eAAe,GAG3BF,MAAM,CAHNV,UAAU;QACVa,QAAQ,GAERH,MAAM,CAFNG,QAAQ;QAAAC,oBAAA,GAERJ,MAAM,CADNF,YAAY;QAAZA,YAAY,GAAAM,oBAAA,cAAGR,wBAAwB,GAAAQ,oBAAA;MAG3C,oBACIjD,MAAA,CAAAkD,OAAA,CAAAC,aAAA,CAAClC,IAAI;QACDY,IAAI,EAAEiB,SAAS,IAAIjB,IAAK;QACxBM,UAAU,EAAEY,eAAe,IAAIP,eAAgB;QAC/CG,YAAY,EAAEA,YAAY,IAAI;MAAK,GAElC,UAAAS,IAAI,EAAI;QACL;QACA,IAAMC,KAAK,OAAAC,cAAA,CAAAJ,OAAA,MAAQE,IAAI,CAAE;QACzB,IAAI9C,KAAK,CAACiC,cAAc,IAAIf,KAAK,KAAK,CAAC,CAAC,EAAE;UACtC6B,KAAK,CAACE,WAAW,GAAG,UAACC,QAAa,EAAEhC,KAAc,EAAK;YACnD,IAAMiC,YAAY,GAAGL,IAAI,CAACM,KAAK,IAAI,EAAE;YACrC,IAAMC,QAAQ,GAAGnC,KAAK,IAAIiC,YAAY,CAAC/B,MAAM;YAE7C0B,IAAI,CAACQ,QAAQ,IAAA3B,MAAA,KAAA4B,mBAAA,CAAAX,OAAA,EACNO,YAAY,CAACK,KAAK,CAAC,CAAC,EAAEH,QAAQ,CAAC,IAClCH,QAAQ,OAAAK,mBAAA,CAAAX,OAAA,EACLO,YAAY,CAACK,KAAK,CAACH,QAAQ,CAAC,EAClC,CAAC;UACN,CAAC;UACDN,KAAK,CAACU,YAAY,GAAG,UAACP,QAAa,EAAK;YACpCJ,IAAI,CAACQ,QAAQ,EAAEJ,QAAQ,EAAAvB,MAAA,KAAA4B,mBAAA,CAAAX,OAAA,EAAME,IAAI,CAACM,KAAK,IAAI,EAAE,EAAE,CAAC;UACpD,CAAC;UACDL,KAAK,CAACW,YAAY,GAAG,UAACC,SAAgB,EAAK;YACvCb,IAAI,CAACQ,QAAQ,IAAA3B,MAAA,KAAA4B,mBAAA,CAAAX,OAAA,EAAME,IAAI,CAACM,KAAK,IAAI,EAAE,OAAAG,mBAAA,CAAAX,OAAA,EAAMe,SAAS,EAAC,CAAC;UACxD,CAAC;UAEDZ,KAAK,CAACa,WAAW,GAAG,UAAC1C,KAAa,EAAK;YACnC,IAAIA,KAAK,GAAG,CAAC,EAAE;cACX;YACJ;YAEA,IAAMkC,KAAK,MAAAzB,MAAA,KAAA4B,mBAAA,CAAAX,OAAA,EACJE,IAAI,CAACM,KAAK,CAACI,KAAK,CAAC,CAAC,EAAEtC,KAAK,CAAC,OAAAqC,mBAAA,CAAAX,OAAA,EAC1BE,IAAI,CAACM,KAAK,CAACI,KAAK,CAACtC,KAAK,GAAG,CAAC,CAAC,EACjC;YAED4B,IAAI,CAACQ,QAAQ,CAACF,KAAK,CAAChC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAGgC,KAAK,CAAC;;YAEhD;YACArC,IAAI,CAAC8C,aAAa,CAAC7D,KAAK,CAACE,OAAO,CAAC;UACrC,CAAC;UAED6C,KAAK,CAACe,WAAW,GAAG,UAAC5C,KAAa,EAAK;YACnC,IAAIA,KAAK,IAAI,CAAC,EAAE;cACZ;YACJ;YAEA,IAAMkC,KAAK,OAAAG,mBAAA,CAAAX,OAAA,EAAOE,IAAI,CAACM,KAAK,CAAC;YAC7BA,KAAK,CAACW,MAAM,CAAC7C,KAAK,EAAE,CAAC,CAAC;YACtBkC,KAAK,CAACW,MAAM,CAAC7C,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE4B,IAAI,CAACM,KAAK,CAAClC,KAAK,CAAC,CAAC;YAE7C4B,IAAI,CAACQ,QAAQ,CAACF,KAAK,CAAC;UACxB,CAAC;UAEDL,KAAK,CAACiB,aAAa,GAAG,UAAC9C,KAAa,EAAK;YACrC,IAAIA,KAAK,IAAI4B,IAAI,CAACM,KAAK,CAAChC,MAAM,EAAE;cAC5B;YACJ;YAEA,IAAMgC,KAAK,OAAAG,mBAAA,CAAAX,OAAA,EAAOE,IAAI,CAACM,KAAK,CAAC;YAC7BA,KAAK,CAACW,MAAM,CAAC7C,KAAK,EAAE,CAAC,CAAC;YACtBkC,KAAK,CAACW,MAAM,CAAC7C,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE4B,IAAI,CAACM,KAAK,CAAClC,KAAK,CAAC,CAAC;YAE7C4B,IAAI,CAACQ,QAAQ,CAACF,KAAK,CAAC;UACxB,CAAC;QACL;QAEA,IAAMa,OAAO,GACT,OAAOvB,QAAQ,KAAK,UAAU,GACxBA,QAAQ,CAACK,KAAK,CAAC,gBACf,IAAAmB,mBAAY,EAACxB,QAAQ,EAAEK,KAAK,CAAC;QAEvC,OAAOkB,OAAO;MAClB,CACE,CAAC;IAEf,CAAkB;;IAElB;IACArD,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC,CAACJ,UAAU,GAAGC,IAAI;IAC7DX,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC,CAACyC,WAAW,WAAAxC,MAAA,CAAWJ,IAAI,MAAG;IAEzE,OAAOX,sBAAsB,CAACgB,OAAO,CAACF,WAAW,CAAC;EACtD,CAAC,EACD,CAAC1B,KAAK,CAACE,OAAO,EAAEY,QAAQ,CAC5B,CAAC;AACL","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_form","_createValidators","_ModelFieldProvider","_createValidationScope","createFieldCacheKey","field","id","fieldId","JSON","stringify","validation","listValidation","join","emptyValidators","useBind","_ref","Bind","_useModelField","useModelField","memoizedBindComponents","useRef","cacheKey","form","useForm","index","arguments","length","undefined","parentName","name","filter","v","componentId","concat","current","validators","createValidators","listValidators","isMultipleValues","multipleValues","inputValidators","defaultValueFromSettings","settings","defaultValue","UseBind","params","childName","childValidators","children","_params$defaultValue","_useModelField2","default","createElement","context","bind","props","_objectSpread2","appendValue","newValue","currentValue","value","newIndex","onChange","_toConsumableArray2","slice","prependValue","appendValues","newValues","removeValue","validateInput","moveValueUp","splice","moveValueDown","cloneElement","displayName","ValidationScope","createValidationScope"],"sources":["useBind.tsx"],"sourcesContent":["import React, { useRef, cloneElement } from \"react\";\nimport { Validator } from \"@webiny/validation/types\";\nimport { useForm } from \"@webiny/form\";\nimport { createValidators } from \"~/utils/createValidators\";\nimport { BindComponent, CmsModelField } from \"~/types\";\nimport { useModelField } from \"~/admin/components/ModelFieldProvider\";\nimport { createValidationScope } from \"~/admin/components/ContentEntryForm/createValidationScope\";\n\ninterface UseBindProps {\n Bind: BindComponent;\n}\n\ninterface UseBindParams {\n name?: string;\n validators?: Validator | Validator[];\n children?: any;\n defaultValue?: any;\n}\n\nconst createFieldCacheKey = (field: CmsModelField) => {\n return [\n field.id,\n field.fieldId,\n JSON.stringify(field.validation),\n JSON.stringify(field.listValidation)\n ].join(\";\");\n};\n\nexport interface GetBindCallable {\n (index?: number): BindComponent;\n}\n\nconst emptyValidators: Validator[] = [];\n\nexport function useBind({ Bind }: UseBindProps) {\n const { field } = useModelField();\n const memoizedBindComponents = useRef<Record<string, BindComponent>>({});\n const cacheKey = createFieldCacheKey(field);\n const form = useForm();\n\n return (index = -1) => {\n const { parentName } = Bind;\n\n // If there's a parent name assigned to the given Bind component, we need to include it in the new field \"name\".\n // This allows us to have nested fields (like \"object\" field with nested properties)\n const name = [parentName, field.fieldId, index >= 0 ? index : undefined]\n .filter(v => v !== undefined)\n .join(\".\");\n\n const componentId = `${name};${cacheKey}`;\n\n if (memoizedBindComponents.current[componentId]) {\n return memoizedBindComponents.current[componentId];\n }\n\n const validators = createValidators(field, field.validation || emptyValidators);\n const listValidators = createValidators(field, field.listValidation || emptyValidators);\n const isMultipleValues = index === -1 && field.multipleValues;\n const inputValidators = isMultipleValues ? listValidators : validators;\n\n // We only use default values for single-value fields.\n const defaultValueFromSettings = !isMultipleValues ? field.settings?.defaultValue : null;\n\n memoizedBindComponents.current[componentId] = function UseBind(params: UseBindParams) {\n const {\n name: childName,\n validators: childValidators,\n children,\n defaultValue = defaultValueFromSettings\n } = params;\n\n const { field } = useModelField();\n\n return (\n <Bind\n name={childName || name}\n validators={childValidators || inputValidators}\n defaultValue={defaultValue ?? null}\n context={{ field }}\n >\n {bind => {\n // Multiple-values functions below.\n const props = { ...bind };\n if (field.multipleValues && index === -1) {\n props.appendValue = (newValue: any, index?: number) => {\n const currentValue = bind.value || [];\n const newIndex = index ?? currentValue.length;\n\n bind.onChange([\n ...currentValue.slice(0, newIndex),\n newValue,\n ...currentValue.slice(newIndex)\n ]);\n };\n props.prependValue = (newValue: any) => {\n bind.onChange([newValue, ...(bind.value || [])]);\n };\n props.appendValues = (newValues: any[]) => {\n bind.onChange([...(bind.value || []), ...newValues]);\n };\n\n props.removeValue = (index: number) => {\n if (index < 0) {\n return;\n }\n\n const value = [\n ...bind.value.slice(0, index),\n ...bind.value.slice(index + 1)\n ];\n\n bind.onChange(value.length === 0 ? null : value);\n\n // To make sure the field is still valid, we must trigger validation.\n form.validateInput(field.fieldId);\n };\n\n props.moveValueUp = (index: number) => {\n if (index <= 0) {\n return;\n }\n\n const value = [...bind.value];\n value.splice(index, 1);\n value.splice(index - 1, 0, bind.value[index]);\n\n bind.onChange(value);\n };\n\n props.moveValueDown = (index: number) => {\n if (index >= bind.value.length) {\n return;\n }\n\n const value = [...bind.value];\n value.splice(index, 1);\n value.splice(index + 1, 0, bind.value[index]);\n\n bind.onChange(value);\n };\n }\n\n return typeof children === \"function\"\n ? children(props)\n : cloneElement(children, props);\n }}\n </Bind>\n );\n } as BindComponent;\n\n // We need to keep track of current field name, to support nested fields.\n memoizedBindComponents.current[componentId].parentName = name;\n memoizedBindComponents.current[componentId].displayName = `Bind<${name}>`;\n memoizedBindComponents.current[componentId].ValidationScope = createValidationScope(name);\n\n return memoizedBindComponents.current[componentId];\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,6 +54,7 @@ export declare const ContentEntryEditorConfig: (({ priority, children }: import(
|
|
|
54
54
|
}) => import("react").JSX.Element;
|
|
55
55
|
};
|
|
56
56
|
Width: ({ value, modelIds }: import("./Width").WidthProps) => import("react").JSX.Element;
|
|
57
|
+
ValidationIndicators: ({ className }: import("./ValidationIndicators").ValidationIndicatorsProps) => import("react").JSX.Element;
|
|
57
58
|
};
|
|
58
59
|
export declare const ContentEntryEditorWithConfig: ({ onProperties, children }: import("@webiny/react-properties").WithConfigProps) => import("react").JSX.Element;
|
|
59
60
|
export declare function useContentEntryEditorConfig(): {
|
|
@@ -12,11 +12,13 @@ var _reactProperties = require("@webiny/react-properties");
|
|
|
12
12
|
var _Actions = require("./Actions");
|
|
13
13
|
var _FieldElement = require("./FieldElement");
|
|
14
14
|
var _Width = require("./Width");
|
|
15
|
+
var _ValidationIndicators = require("./ValidationIndicators");
|
|
15
16
|
var base = (0, _reactProperties.createConfigurableComponent)("ContentEntryEditorConfig");
|
|
16
17
|
var ContentEntryEditorConfig = exports.ContentEntryEditorConfig = Object.assign(base.Config, {
|
|
17
18
|
Actions: _Actions.Actions,
|
|
18
19
|
FieldElement: _FieldElement.FieldElement,
|
|
19
|
-
Width: _Width.Width
|
|
20
|
+
Width: _Width.Width,
|
|
21
|
+
ValidationIndicators: _ValidationIndicators.ValidationIndicatorsConfig
|
|
20
22
|
});
|
|
21
23
|
var ContentEntryEditorWithConfig = exports.ContentEntryEditorWithConfig = base.WithConfig;
|
|
22
24
|
function useContentEntryEditorConfig() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactProperties","_Actions","_FieldElement","_Width","base","createConfigurableComponent","ContentEntryEditorConfig","exports","Object","assign","Config","Actions","FieldElement","Width","ContentEntryEditorWithConfig","WithConfig","useContentEntryEditorConfig","config","useConfig","actions","useMemo","buttonActions","_toConsumableArray2","default","filter","action","$type","menuItemActions","width"],"sources":["ContentEntryEditorConfig.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Actions, ActionsConfig } from \"./Actions\";\nimport { FieldElement } from \"./FieldElement\";\nimport { Width } from \"./Width\";\n\nconst base = createConfigurableComponent<ContentEntryEditorConfig>(\"ContentEntryEditorConfig\");\n\nexport const ContentEntryEditorConfig = Object.assign(base.Config, {\n Actions,\n FieldElement,\n Width\n});\n\nexport const ContentEntryEditorWithConfig = base.WithConfig;\n\ninterface ContentEntryEditorConfig {\n actions: ActionsConfig;\n width: string;\n}\n\nexport function useContentEntryEditorConfig() {\n const config = base.useConfig();\n\n const actions = config.actions || [];\n\n return useMemo(\n () => ({\n buttonActions: [...(actions.filter(action => action.$type === \"button-action\") || [])],\n menuItemActions: [\n ...(actions.filter(action => action.$type === \"menu-item-action\") || [])\n ],\n width: config.width || \"1020px\"\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactProperties","_Actions","_FieldElement","_Width","_ValidationIndicators","base","createConfigurableComponent","ContentEntryEditorConfig","exports","Object","assign","Config","Actions","FieldElement","Width","ValidationIndicators","ValidationIndicatorsConfig","ContentEntryEditorWithConfig","WithConfig","useContentEntryEditorConfig","config","useConfig","actions","useMemo","buttonActions","_toConsumableArray2","default","filter","action","$type","menuItemActions","width"],"sources":["ContentEntryEditorConfig.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Actions, ActionsConfig } from \"./Actions\";\nimport { FieldElement } from \"./FieldElement\";\nimport { Width } from \"./Width\";\nimport { ValidationIndicatorsConfig } from \"~/admin/config/contentEntries/editor/ValidationIndicators\";\n\nconst base = createConfigurableComponent<ContentEntryEditorConfig>(\"ContentEntryEditorConfig\");\n\nexport const ContentEntryEditorConfig = Object.assign(base.Config, {\n Actions,\n FieldElement,\n Width,\n ValidationIndicators: ValidationIndicatorsConfig\n});\n\nexport const ContentEntryEditorWithConfig = base.WithConfig;\n\ninterface ContentEntryEditorConfig {\n actions: ActionsConfig;\n width: string;\n}\n\nexport function useContentEntryEditorConfig() {\n const config = base.useConfig();\n\n const actions = config.actions || [];\n\n return useMemo(\n () => ({\n buttonActions: [...(actions.filter(action => action.$type === \"button-action\") || [])],\n menuItemActions: [\n ...(actions.filter(action => action.$type === \"menu-item-action\") || [])\n ],\n width: config.width || \"1020px\"\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAEA,IAAMM,IAAI,GAAG,IAAAC,4CAA2B,EAA2B,0BAA0B,CAAC;AAEvF,IAAMC,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAGE,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,MAAM,EAAE;EAC/DC,OAAO,EAAPA,gBAAO;EACPC,YAAY,EAAZA,0BAAY;EACZC,KAAK,EAALA,YAAK;EACLC,oBAAoB,EAAEC;AAC1B,CAAC,CAAC;AAEK,IAAMC,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAGZ,IAAI,CAACa,UAAU;AAOpD,SAASC,2BAA2BA,CAAA,EAAG;EAC1C,IAAMC,MAAM,GAAGf,IAAI,CAACgB,SAAS,CAAC,CAAC;EAE/B,IAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAI,EAAE;EAEpC,OAAO,IAAAC,cAAO,EACV;IAAA,OAAO;MACHC,aAAa,MAAAC,mBAAA,CAAAC,OAAA,EAAOJ,OAAO,CAACK,MAAM,CAAC,UAAAC,MAAM;QAAA,OAAIA,MAAM,CAACC,KAAK,KAAK,eAAe;MAAA,EAAC,IAAI,EAAE,CAAE;MACtFC,eAAe,MAAAL,mBAAA,CAAAC,OAAA,EACPJ,OAAO,CAACK,MAAM,CAAC,UAAAC,MAAM;QAAA,OAAIA,MAAM,CAACC,KAAK,KAAK,kBAAkB;MAAA,EAAC,IAAI,EAAE,CAC1E;MACDE,KAAK,EAAEX,MAAM,CAACW,KAAK,IAAI;IAC3B,CAAC;EAAA,CAAC,EACF,CAACX,MAAM,CACX,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ValidationIndicatorsConfig = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _ValidationIndicators = require("../../../views/contentEntries/ValidationIndicators");
|
|
10
|
+
var ValidationIndicatorsConfig = exports.ValidationIndicatorsConfig = function ValidationIndicatorsConfig(_ref) {
|
|
11
|
+
var className = _ref.className;
|
|
12
|
+
var Decorator = _ValidationIndicators.ValidationIndicators.createDecorator(function (Original) {
|
|
13
|
+
return function ValidationIndicators(props) {
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(Original, Object.assign({}, props, {
|
|
15
|
+
className: className ?? props.className
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(Decorator, null);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=ValidationIndicators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_ValidationIndicators","ValidationIndicatorsConfig","exports","_ref","className","Decorator","ValidationIndicators","createDecorator","Original","props","default","createElement","Object","assign"],"sources":["ValidationIndicators.tsx"],"sourcesContent":["import React from \"react\";\nimport { ValidationIndicators } from \"~/admin/views/contentEntries/ValidationIndicators\";\n\nexport interface ValidationIndicatorsProps {\n className?: string;\n}\n\nexport const ValidationIndicatorsConfig = ({ className }: ValidationIndicatorsProps) => {\n const Decorator = ValidationIndicators.createDecorator(Original => {\n return function ValidationIndicators(props) {\n return <Original {...props} className={className ?? props.className} />;\n };\n });\n\n return <Decorator />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAMO,IAAME,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAG,SAA7BA,0BAA0BA,CAAAE,IAAA,EAAiD;EAAA,IAA3CC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAClD,IAAMC,SAAS,GAAGC,0CAAoB,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;IAC/D,OAAO,SAASF,oBAAoBA,CAACG,KAAK,EAAE;MACxC,oBAAOZ,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACH,QAAQ,EAAAI,MAAA,CAAAC,MAAA,KAAKJ,KAAK;QAAEL,SAAS,EAAEA,SAAS,IAAIK,KAAK,CAACL;MAAU,EAAE,CAAC;IAC3E,CAAC;EACL,CAAC,CAAC;EAEF,oBAAOP,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACN,SAAS,MAAE,CAAC;AACxB,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React, { ReactElement } from "react";
|
|
2
2
|
interface AccordionProps {
|
|
3
3
|
title: string;
|
|
4
|
+
isExpanded: boolean;
|
|
5
|
+
toggleExpanded: () => void;
|
|
4
6
|
action?: ReactElement | null;
|
|
5
7
|
icon?: ReactElement;
|
|
6
|
-
defaultValue?: boolean;
|
|
7
8
|
children: React.ReactNode;
|
|
8
9
|
}
|
|
9
10
|
declare const MemoizedAccordion: React.ComponentType<AccordionProps>;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
9
|
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
11
|
var _emotion = require("emotion");
|
|
@@ -82,15 +81,13 @@ var AccordionItem = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV
|
|
|
82
81
|
} : {
|
|
83
82
|
target: "e15quhd1",
|
|
84
83
|
label: "AccordionItem"
|
|
85
|
-
})(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
} : {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
93
|
-
});
|
|
84
|
+
})("@keyframes show-overflow{to{overflow:visible;}}overflow:hidden;transition:", function (_ref) {
|
|
85
|
+
var animate = _ref.animate;
|
|
86
|
+
return animate ? "max-height 0.35s cubic-bezier(0, 1, 0, 1)" : "none !important";
|
|
87
|
+
}, ";height:auto;max-height:0;&.expanded{max-height:9999px;transition:", function (_ref2) {
|
|
88
|
+
var animate = _ref2.animate;
|
|
89
|
+
return animate ? "max-height 0.3s cubic-bezier(1, 0, 1, 0)" : "none !important";
|
|
90
|
+
}, ";animation-fill-mode:forwards;animation-name:show-overflow;animation-duration:20ms;animation-delay:0.3s;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjY29yZGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkVzRCIsImZpbGUiOiJBY2NvcmRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlYWN0RWxlbWVudCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJlbW90aW9uXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkB3ZWJpbnkvdWkvVHlwb2dyYXBoeVwiO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIGFjY29yZGlvbldyYXBwZXI6IGNzcyh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXZSdyZSB1c2luZyBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiIGhlcmUgZm9yIFwiUG9wcGluZyBPdXQgb2YgSGlkZGVuIE92ZXJmbG93XCIgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9wb3BwaW5nLWhpZGRlbi1vdmVyZmxvdy9cbiAgICAgICAgICogc28gdGhhdCwgd2UgY2FuIHVzZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnQgaW5zaWRlIHdpdGhvdXQgXCJvdmVyZmxvdzogaGlkZGVuXCIgYmVpbmcgYSBwcm9ibGVtXG4gICAgICAgICAqL1xuICAgICAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIGJvcmRlckJvdHRvbTogYDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtb24tc2Vjb25kYXJ5KWBcbiAgICB9KSxcbiAgICBhY2NvcmRpb25IZWFkZXI6IGNzcyh7XG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kKVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgICBwYWRkaW5nOiBcIjBweFwiLFxuICAgICAgICBtaW5IZWlnaHQ6IDQ4LCAvLyBUbyBoYXZlIHNhbWUgaGVpZ2h0IGFzIHRoZSByZW1vdmUgdmFsdWUgYWN0aW9uIGJ1dHRvbi5cbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIixcblxuICAgICAgICBcIiYgLmFjY29yZGlvbi1oZWFkZXItLWxlZnRcIjoge1xuICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiLFxuICAgICAgICAgICAgXCImIC5hY2NvcmRpb24tdGl0bGVcIjoge1xuICAgICAgICAgICAgICAgIHNwYW46IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogMTZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJiAuYWNjb3JkaW9uLWhlYWRlci0tcmlnaHRcIjoge1xuICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICBcIiYgLmljb24tY29udGFpbmVyXCI6IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXG4gICAgICAgICAgICAgICAgXCImIHNwYW5cIjoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCImIHN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBcIiY6OmJlZm9yZVwiOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgdG9wOiBcImNhbGMoNTAlIC0gNXB4KVwiLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgaGVpZ2h0OiAwLFxuXG4gICAgICAgICAgICAvLyBBcnJvdyByaWdodC5cbiAgICAgICAgICAgIGJvcmRlclRvcDogXCI1cHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogXCI1cHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgIGJvcmRlckxlZnQ6IFwiNXB4IHNvbGlkIGN1cnJlbnRDb2xvclwiXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCImLm9wZW5cIjoge1xuICAgICAgICAgICAgXCImOjpiZWZvcmVcIjoge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDNweCkgcm90YXRlKDkwZGVnKVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KVxufTtcblxuY29uc3QgQWNjb3JkaW9uSXRlbSA9IHN0eWxlZC5kaXY8eyBhbmltYXRlOiBib29sZWFuIH0+YFxuICAgIEBrZXlmcmFtZXMgc2hvdy1vdmVyZmxvdyB7XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogJHsoeyBhbmltYXRlIH0pID0+XG4gICAgICAgIGFuaW1hdGUgPyBcIm1heC1oZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAsIDEpXCIgOiBcIm5vbmUgIWltcG9ydGFudFwifTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMDtcblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA5OTk5cHg7XG4gICAgICAgIHRyYW5zaXRpb246ICR7KHsgYW5pbWF0ZSB9KSA9PlxuICAgICAgICAgICAgYW5pbWF0ZSA/IFwibWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigxLCAwLCAxLCAwKVwiIDogXCJub25lICFpbXBvcnRhbnRcIn07XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvdy1vdmVyZmxvdztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMG1zO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gICAgfVxuYDtcblxuY29uc3QgQWNjb3JkaW9uQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gICAgcGFkZGluZy1ib3R0b206IDEwO1xuYDtcblxuaW50ZXJmYWNlIEFjY29yZGlvblByb3BzIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgdG9nZ2xlRXhwYW5kZWQ6ICgpID0+IHZvaWQ7XG4gICAgYWN0aW9uPzogUmVhY3RFbGVtZW50IHwgbnVsbDtcbiAgICBpY29uPzogUmVhY3RFbGVtZW50O1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmNvbnN0IEFjY29yZGlvbiA9ICh7XG4gICAgdGl0bGUsXG4gICAgY2hpbGRyZW4sXG4gICAgYWN0aW9uLFxuICAgIGljb24sXG4gICAgaXNFeHBhbmRlZCxcbiAgICB0b2dnbGVFeHBhbmRlZFxufTogQWNjb3JkaW9uUHJvcHMpID0+IHtcbiAgICBjb25zdCB1c2VySW50ZXJhY3Rpb25SZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHVzZXJJbnRlcmFjdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICB1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfSwgW2lzRXhwYW5kZWRdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmFjY29yZGlvbldyYXBwZXJ9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmFjY29yZGlvbkhlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICBvcGVuOiBpc0V4cGFuZGVkXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFjY29yZGlvbi1oZWFkZXItLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wiYWNjb3JkaW9uLXRpdGxlXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcInN1YnRpdGxlMVwifSB0YWc9e1wic3BhblwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWNjb3JkaW9uLWhlYWRlci0tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAge2FjdGlvbiAmJiA8ZGl2IGNsYXNzTmFtZT17XCJhY3Rpb24tY29udGFpbmVyXCJ9PnthY3Rpb259PC9kaXY+fVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17XCJpY29uLWNvbnRhaW5lclwifT57aWNvbn08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICAgICAgICBhbmltYXRlPXt1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9PT0gdHJ1ZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgICAgICBleHBhbmRlZDogaXNFeHBhbmRlZFxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25Db250ZW50PntjaGlsZHJlbn08L0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgICAgICA8L0FjY29yZGlvbkl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuY29uc3QgTWVtb2l6ZWRBY2NvcmRpb246IFJlYWN0LkNvbXBvbmVudFR5cGU8QWNjb3JkaW9uUHJvcHM+ID0gUmVhY3QubWVtbyhBY2NvcmRpb24pO1xuZXhwb3J0IGRlZmF1bHQgTWVtb2l6ZWRBY2NvcmRpb247XG4iXX0= */"));
|
|
94
91
|
var AccordionContent = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
95
92
|
target: "e15quhd0"
|
|
96
93
|
} : {
|
|
@@ -102,30 +99,32 @@ var AccordionContent = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_E
|
|
|
102
99
|
} : {
|
|
103
100
|
name: "1adqh5i",
|
|
104
101
|
styles: "padding-bottom:10",
|
|
105
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
102
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjY29yZGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0dtQyIsImZpbGUiOiJBY2NvcmRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlYWN0RWxlbWVudCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJlbW90aW9uXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSBcIkB3ZWJpbnkvdWkvVHlwb2dyYXBoeVwiO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIGFjY29yZGlvbldyYXBwZXI6IGNzcyh7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXZSdyZSB1c2luZyBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiIGhlcmUgZm9yIFwiUG9wcGluZyBPdXQgb2YgSGlkZGVuIE92ZXJmbG93XCIgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9wb3BwaW5nLWhpZGRlbi1vdmVyZmxvdy9cbiAgICAgICAgICogc28gdGhhdCwgd2UgY2FuIHVzZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnQgaW5zaWRlIHdpdGhvdXQgXCJvdmVyZmxvdzogaGlkZGVuXCIgYmVpbmcgYSBwcm9ibGVtXG4gICAgICAgICAqL1xuICAgICAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgIGJvcmRlckJvdHRvbTogYDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtb24tc2Vjb25kYXJ5KWBcbiAgICB9KSxcbiAgICBhY2NvcmRpb25IZWFkZXI6IGNzcyh7XG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIGNvbG9yOiBcInZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kKVwiLFxuICAgICAgICBjdXJzb3I6IFwicG9pbnRlclwiLFxuICAgICAgICBwYWRkaW5nOiBcIjBweFwiLFxuICAgICAgICBtaW5IZWlnaHQ6IDQ4LCAvLyBUbyBoYXZlIHNhbWUgaGVpZ2h0IGFzIHRoZSByZW1vdmUgdmFsdWUgYWN0aW9uIGJ1dHRvbi5cbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcInNwYWNlLWJldHdlZW5cIixcblxuICAgICAgICBcIiYgLmFjY29yZGlvbi1oZWFkZXItLWxlZnRcIjoge1xuICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwic3BhY2UtYmV0d2VlblwiLFxuICAgICAgICAgICAgXCImIC5hY2NvcmRpb24tdGl0bGVcIjoge1xuICAgICAgICAgICAgICAgIHNwYW46IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogMTZcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiJiAuYWNjb3JkaW9uLWhlYWRlci0tcmlnaHRcIjoge1xuICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICBcIiYgLmljb24tY29udGFpbmVyXCI6IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuXG4gICAgICAgICAgICAgICAgXCImIHNwYW5cIjoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCImIHN2Z1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBcIiY6OmJlZm9yZVwiOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgdG9wOiBcImNhbGMoNTAlIC0gNXB4KVwiLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgaGVpZ2h0OiAwLFxuXG4gICAgICAgICAgICAvLyBBcnJvdyByaWdodC5cbiAgICAgICAgICAgIGJvcmRlclRvcDogXCI1cHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogXCI1cHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgIGJvcmRlckxlZnQ6IFwiNXB4IHNvbGlkIGN1cnJlbnRDb2xvclwiXG4gICAgICAgIH0sXG5cbiAgICAgICAgXCImLm9wZW5cIjoge1xuICAgICAgICAgICAgXCImOjpiZWZvcmVcIjoge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDNweCkgcm90YXRlKDkwZGVnKVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KVxufTtcblxuY29uc3QgQWNjb3JkaW9uSXRlbSA9IHN0eWxlZC5kaXY8eyBhbmltYXRlOiBib29sZWFuIH0+YFxuICAgIEBrZXlmcmFtZXMgc2hvdy1vdmVyZmxvdyB7XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogJHsoeyBhbmltYXRlIH0pID0+XG4gICAgICAgIGFuaW1hdGUgPyBcIm1heC1oZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAsIDEpXCIgOiBcIm5vbmUgIWltcG9ydGFudFwifTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMDtcblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA5OTk5cHg7XG4gICAgICAgIHRyYW5zaXRpb246ICR7KHsgYW5pbWF0ZSB9KSA9PlxuICAgICAgICAgICAgYW5pbWF0ZSA/IFwibWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigxLCAwLCAxLCAwKVwiIDogXCJub25lICFpbXBvcnRhbnRcIn07XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2hvdy1vdmVyZmxvdztcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMG1zO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3M7XG4gICAgfVxuYDtcblxuY29uc3QgQWNjb3JkaW9uQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gICAgcGFkZGluZy1ib3R0b206IDEwO1xuYDtcblxuaW50ZXJmYWNlIEFjY29yZGlvblByb3BzIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgdG9nZ2xlRXhwYW5kZWQ6ICgpID0+IHZvaWQ7XG4gICAgYWN0aW9uPzogUmVhY3RFbGVtZW50IHwgbnVsbDtcbiAgICBpY29uPzogUmVhY3RFbGVtZW50O1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmNvbnN0IEFjY29yZGlvbiA9ICh7XG4gICAgdGl0bGUsXG4gICAgY2hpbGRyZW4sXG4gICAgYWN0aW9uLFxuICAgIGljb24sXG4gICAgaXNFeHBhbmRlZCxcbiAgICB0b2dnbGVFeHBhbmRlZFxufTogQWNjb3JkaW9uUHJvcHMpID0+IHtcbiAgICBjb25zdCB1c2VySW50ZXJhY3Rpb25SZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHVzZXJJbnRlcmFjdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICB1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfSwgW2lzRXhwYW5kZWRdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmFjY29yZGlvbldyYXBwZXJ9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmFjY29yZGlvbkhlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICBvcGVuOiBpc0V4cGFuZGVkXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZGVkKCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFjY29yZGlvbi1oZWFkZXItLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wiYWNjb3JkaW9uLXRpdGxlXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcInN1YnRpdGxlMVwifSB0YWc9e1wic3BhblwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWNjb3JkaW9uLWhlYWRlci0tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAge2FjdGlvbiAmJiA8ZGl2IGNsYXNzTmFtZT17XCJhY3Rpb24tY29udGFpbmVyXCJ9PnthY3Rpb259PC9kaXY+fVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17XCJpY29uLWNvbnRhaW5lclwifT57aWNvbn08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPEFjY29yZGlvbkl0ZW1cbiAgICAgICAgICAgICAgICBhbmltYXRlPXt1c2VySW50ZXJhY3Rpb25SZWYuY3VycmVudCA9PT0gdHJ1ZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgICAgICBleHBhbmRlZDogaXNFeHBhbmRlZFxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25Db250ZW50PntjaGlsZHJlbn08L0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgICAgICA8L0FjY29yZGlvbkl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuY29uc3QgTWVtb2l6ZWRBY2NvcmRpb246IFJlYWN0LkNvbXBvbmVudFR5cGU8QWNjb3JkaW9uUHJvcHM+ID0gUmVhY3QubWVtbyhBY2NvcmRpb24pO1xuZXhwb3J0IGRlZmF1bHQgTWVtb2l6ZWRBY2NvcmRpb247XG4iXX0= */",
|
|
106
103
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
107
104
|
});
|
|
108
|
-
var Accordion = function Accordion(
|
|
109
|
-
var title =
|
|
110
|
-
children =
|
|
111
|
-
action =
|
|
112
|
-
icon =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}, [isOpen]);
|
|
105
|
+
var Accordion = function Accordion(_ref3) {
|
|
106
|
+
var title = _ref3.title,
|
|
107
|
+
children = _ref3.children,
|
|
108
|
+
action = _ref3.action,
|
|
109
|
+
icon = _ref3.icon,
|
|
110
|
+
isExpanded = _ref3.isExpanded,
|
|
111
|
+
toggleExpanded = _ref3.toggleExpanded;
|
|
112
|
+
var userInteractionRef = (0, _react.useRef)(false);
|
|
113
|
+
(0, _react.useEffect)(function () {
|
|
114
|
+
if (userInteractionRef.current) {
|
|
115
|
+
userInteractionRef.current = false;
|
|
116
|
+
}
|
|
117
|
+
}, [isExpanded]);
|
|
122
118
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
123
119
|
className: classes.accordionWrapper
|
|
124
120
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
125
121
|
className: (0, _classnames.default)(classes.accordionHeader, {
|
|
126
|
-
open:
|
|
122
|
+
open: isExpanded
|
|
127
123
|
}),
|
|
128
|
-
onClick:
|
|
124
|
+
onClick: function onClick() {
|
|
125
|
+
userInteractionRef.current = true;
|
|
126
|
+
toggleExpanded();
|
|
127
|
+
}
|
|
129
128
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
130
129
|
className: "accordion-header--left"
|
|
131
130
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -140,8 +139,9 @@ var Accordion = function Accordion(_ref) {
|
|
|
140
139
|
}, action), /*#__PURE__*/_react.default.createElement("div", {
|
|
141
140
|
className: "icon-container"
|
|
142
141
|
}, icon))), /*#__PURE__*/_react.default.createElement(AccordionItem, {
|
|
142
|
+
animate: userInteractionRef.current === true,
|
|
143
143
|
className: (0, _classnames.default)({
|
|
144
|
-
expanded:
|
|
144
|
+
expanded: isExpanded
|
|
145
145
|
})
|
|
146
146
|
}, /*#__PURE__*/_react.default.createElement(AccordionContent, null, children)));
|
|
147
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_classnames","_interopRequireDefault","_Typography","_EMOTION_STRINGIFIED_CSS_ERROR__","classes","accordionWrapper","css","position","width","borderBottom","accordionHeader","color","cursor","padding","minHeight","display","alignItems","justifyContent","span","marginLeft","fill","height","top","left","content","borderTop","borderLeft","transform","AccordionItem","_base","default","process","env","NODE_ENV","target","label","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_emotion","_classnames","_interopRequireDefault","_Typography","_EMOTION_STRINGIFIED_CSS_ERROR__","classes","accordionWrapper","css","position","width","borderBottom","accordionHeader","color","cursor","padding","minHeight","display","alignItems","justifyContent","span","marginLeft","fill","height","top","left","content","borderTop","borderLeft","transform","AccordionItem","_base","default","process","env","NODE_ENV","target","label","_ref","animate","_ref2","AccordionContent","name","styles","map","toString","Accordion","_ref3","title","children","action","icon","isExpanded","toggleExpanded","userInteractionRef","useRef","useEffect","current","createElement","className","classNames","open","onClick","Typography","use","tag","expanded","MemoizedAccordion","React","memo","_default","exports"],"sources":["Accordion.tsx"],"sourcesContent":["import React, { ReactElement, useEffect, useRef } from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport classNames from \"classnames\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst classes = {\n accordionWrapper: css({\n /**\n * We're using position: \"relative\" here for \"Popping Out of Hidden Overflow\" https://css-tricks.com/popping-hidden-overflow/\n * so that, we can use absolute positioned element inside without \"overflow: hidden\" being a problem\n */\n position: \"relative\",\n width: \"100%\",\n borderBottom: `1px solid var(--mdc-theme-on-secondary)`\n }),\n accordionHeader: css({\n position: \"relative\",\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n cursor: \"pointer\",\n padding: \"0px\",\n minHeight: 48, // To have same height as the remove value action button.\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n\n \"& .accordion-header--left\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"& .accordion-title\": {\n span: {\n marginLeft: 16\n }\n }\n },\n \"& .accordion-header--right\": {\n display: \"flex\",\n \"& .icon-container\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"& span\": {\n display: \"flex\"\n },\n \"& svg\": {\n fill: \"currentColor\",\n width: 14,\n height: 14\n }\n }\n },\n\n \"&::before\": {\n position: \"absolute\",\n top: \"calc(50% - 5px)\",\n left: 0,\n content: '\"\"',\n width: 0,\n height: 0,\n\n // Arrow right.\n borderTop: \"5px solid transparent\",\n borderBottom: \"5px solid transparent\",\n borderLeft: \"5px solid currentColor\"\n },\n\n \"&.open\": {\n \"&::before\": {\n transform: \"translateY(3px) rotate(90deg)\"\n }\n }\n })\n};\n\nconst AccordionItem = styled.div<{ animate: boolean }>`\n @keyframes show-overflow {\n to {\n overflow: visible;\n }\n }\n overflow: hidden;\n transition: ${({ animate }) =>\n animate ? \"max-height 0.35s cubic-bezier(0, 1, 0, 1)\" : \"none !important\"};\n height: auto;\n max-height: 0;\n\n &.expanded {\n max-height: 9999px;\n transition: ${({ animate }) =>\n animate ? \"max-height 0.3s cubic-bezier(1, 0, 1, 0)\" : \"none !important\"};\n animation-fill-mode: forwards;\n animation-name: show-overflow;\n animation-duration: 20ms;\n animation-delay: 0.3s;\n }\n`;\n\nconst AccordionContent = styled.div`\n padding-bottom: 10;\n`;\n\ninterface AccordionProps {\n title: string;\n isExpanded: boolean;\n toggleExpanded: () => void;\n action?: ReactElement | null;\n icon?: ReactElement;\n children: React.ReactNode;\n}\n\nconst Accordion = ({\n title,\n children,\n action,\n icon,\n isExpanded,\n toggleExpanded\n}: AccordionProps) => {\n const userInteractionRef = useRef(false);\n\n useEffect(() => {\n if (userInteractionRef.current) {\n userInteractionRef.current = false;\n }\n }, [isExpanded]);\n\n return (\n <div className={classes.accordionWrapper}>\n <div\n className={classNames(classes.accordionHeader, {\n open: isExpanded\n })}\n onClick={() => {\n userInteractionRef.current = true;\n toggleExpanded();\n }}\n >\n <div className=\"accordion-header--left\">\n <div className={\"accordion-title\"}>\n <Typography use={\"subtitle1\"} tag={\"span\"}>\n {title}\n </Typography>\n </div>\n </div>\n <div className=\"accordion-header--right\">\n {action && <div className={\"action-container\"}>{action}</div>}\n <div className={\"icon-container\"}>{icon}</div>\n </div>\n </div>\n <AccordionItem\n animate={userInteractionRef.current === true}\n className={classNames({\n expanded: isExpanded\n })}\n >\n <AccordionContent>{children}</AccordionContent>\n </AccordionItem>\n </div>\n );\n};\nconst MemoizedAccordion: React.ComponentType<AccordionProps> = React.memo(Accordion);\nexport default MemoizedAccordion;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAmD,SAAAK,iCAAA;AAEnD,IAAMC,OAAO,GAAG;EACZC,gBAAgB,EAAE,IAAAC,YAAG,EAAC;IAClB;AACR;AACA;AACA;IACQC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,YAAY;EAChB,CAAC,CAAC;EACFC,eAAe,EAAE,IAAAJ,YAAG,EAAC;IACjBC,QAAQ,EAAE,UAAU;IACpBI,KAAK,EAAE,+CAA+C;IACtDC,MAAM,EAAE,SAAS;IACjBC,OAAO,EAAE,KAAK;IACdC,SAAS,EAAE,EAAE;IAAE;IACfC,OAAO,EAAE,MAAM;IACfC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,eAAe;IAE/B,2BAA2B,EAAE;MACzBF,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE,eAAe;MAC/B,oBAAoB,EAAE;QAClBC,IAAI,EAAE;UACFC,UAAU,EAAE;QAChB;MACJ;IACJ,CAAC;IACD,4BAA4B,EAAE;MAC1BJ,OAAO,EAAE,MAAM;MACf,mBAAmB,EAAE;QACjBA,OAAO,EAAE,MAAM;QACfC,UAAU,EAAE,QAAQ;QAEpB,QAAQ,EAAE;UACND,OAAO,EAAE;QACb,CAAC;QACD,OAAO,EAAE;UACLK,IAAI,EAAE,cAAc;UACpBZ,KAAK,EAAE,EAAE;UACTa,MAAM,EAAE;QACZ;MACJ;IACJ,CAAC;IAED,WAAW,EAAE;MACTd,QAAQ,EAAE,UAAU;MACpBe,GAAG,EAAE,iBAAiB;MACtBC,IAAI,EAAE,CAAC;MACPC,OAAO,EAAE,IAAI;MACbhB,KAAK,EAAE,CAAC;MACRa,MAAM,EAAE,CAAC;MAET;MACAI,SAAS,EAAE,uBAAuB;MAClChB,YAAY,EAAE,uBAAuB;MACrCiB,UAAU,EAAE;IAChB,CAAC;IAED,QAAQ,EAAE;MACN,WAAW,EAAE;QACTC,SAAS,EAAE;MACf;IACJ;EACJ,CAAC;AACL,CAAC;AAED,IAAMC,aAAa,oBAAAC,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,iFAOD,UAAAC,IAAA;EAAA,IAAGC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAAA,OACpBA,OAAO,GAAG,2CAA2C,GAAG,iBAAiB;AAAA,yEAM3D,UAAAC,KAAA;EAAA,IAAGD,OAAO,GAAAC,KAAA,CAAPD,OAAO;EAAA,OACpBA,OAAO,GAAG,0CAA0C,GAAG,iBAAiB;AAAA,kHAAAN,OAAA,CAAAC,GAAA,CAAAC,QAAA,g5NAMnF;AAED,IAAMM,gBAAgB,oBAAAV,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAO,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAxC;AAAA,EAErB;AAWD,IAAMyC,SAAS,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAOO;EAAA,IANlBC,KAAK,GAAAD,KAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRC,MAAM,GAAAH,KAAA,CAANG,MAAM;IACNC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;IACJC,UAAU,GAAAL,KAAA,CAAVK,UAAU;IACVC,cAAc,GAAAN,KAAA,CAAdM,cAAc;EAEd,IAAMC,kBAAkB,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAExC,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAIF,kBAAkB,CAACG,OAAO,EAAE;MAC5BH,kBAAkB,CAACG,OAAO,GAAG,KAAK;IACtC;EACJ,CAAC,EAAE,CAACL,UAAU,CAAC,CAAC;EAEhB,oBACItD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAErD,OAAO,CAACC;EAAiB,gBACrCT,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IACIC,SAAS,EAAE,IAAAC,mBAAU,EAACtD,OAAO,CAACM,eAAe,EAAE;MAC3CiD,IAAI,EAAET;IACV,CAAC,CAAE;IACHU,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;MACXR,kBAAkB,CAACG,OAAO,GAAG,IAAI;MACjCJ,cAAc,CAAC,CAAC;IACpB;EAAE,gBAEFvD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACnC7D,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAE;EAAkB,gBAC9B7D,MAAA,CAAAkC,OAAA,CAAA0B,aAAA,CAACtD,WAAA,CAAA2D,UAAU;IAACC,GAAG,EAAE,WAAY;IAACC,GAAG,EAAE;EAAO,GACrCjB,KACO,CACX,CACJ,CAAC,eACNlD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAC;EAAyB,GACnCT,MAAM,iBAAIpD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAE;EAAmB,GAAET,MAAY,CAAC,eAC7DpD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA;IAAKC,SAAS,EAAE;EAAiB,GAAER,IAAU,CAC5C,CACJ,CAAC,eACNrD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA,CAAC5B,aAAa;IACVS,OAAO,EAAEe,kBAAkB,CAACG,OAAO,KAAK,IAAK;IAC7CE,SAAS,EAAE,IAAAC,mBAAU,EAAC;MAClBM,QAAQ,EAAEd;IACd,CAAC;EAAE,gBAEHtD,MAAA,CAAAkC,OAAA,CAAA0B,aAAA,CAACjB,gBAAgB,QAAEQ,QAA2B,CACnC,CACd,CAAC;AAEd,CAAC;AACD,IAAMkB,iBAAsD,gBAAGC,cAAK,CAACC,IAAI,CAACvB,SAAS,CAAC;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAAvC,OAAA,GACtEmC,iBAAiB","ignoreList":[]}
|
|
@@ -17,6 +17,8 @@ export interface DynamicSectionProps {
|
|
|
17
17
|
children: (params: DynamicSectionPropsChildrenParams) => JSX.Element;
|
|
18
18
|
emptyValue?: any;
|
|
19
19
|
gridClassName?: string;
|
|
20
|
+
onAddItem?: (index: number) => void;
|
|
21
|
+
addValueButtonLabel?: string;
|
|
20
22
|
}
|
|
21
|
-
declare const DynamicSection: ({ field, getBind, children, showLabel, emptyValue, gridClassName }: DynamicSectionProps) => React.JSX.Element;
|
|
23
|
+
declare const DynamicSection: ({ field, getBind, children, showLabel, emptyValue, onAddItem, gridClassName, ...props }: DynamicSectionProps) => React.JSX.Element;
|
|
22
24
|
export default DynamicSection;
|