@webiny/app-headless-cms 5.42.2-beta.2 → 5.42.2-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/admin/components/ContentEntryForm/{createValidationScope.d.ts → createValidationContainer.d.ts} +2 -2
  2. package/admin/components/ContentEntryForm/{createValidationScope.js → createValidationContainer.js} +7 -7
  3. package/admin/components/ContentEntryForm/createValidationContainer.js.map +1 -0
  4. package/admin/components/ContentEntryForm/useBind.js +2 -2
  5. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  6. package/admin/plugins/fieldRenderers/DynamicSection.js +4 -4
  7. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  8. package/admin/plugins/fieldRenderers/checkboxes.js +1 -1
  9. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  10. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +1 -1
  11. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
  12. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +2 -2
  13. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  14. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +1 -1
  15. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  16. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +1 -1
  17. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
  18. package/admin/plugins/fieldRenderers/longText/longText.js +1 -1
  19. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  20. package/admin/plugins/fieldRenderers/number/numberInput.js +1 -1
  21. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  22. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +1 -1
  23. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
  24. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +1 -1
  25. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
  26. package/admin/plugins/fieldRenderers/object/singleObjectInline.js +3 -3
  27. package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
  28. package/admin/plugins/fieldRenderers/radioButtons.js +1 -1
  29. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  30. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +1 -1
  31. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -1
  32. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +1 -1
  33. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -1
  34. package/admin/plugins/fieldRenderers/ref/refInput.js +1 -1
  35. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  36. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -1
  37. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  38. package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js +1 -1
  39. package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js.map +1 -1
  40. package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js +1 -1
  41. package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js.map +1 -1
  42. package/admin/plugins/fieldRenderers/richText/richTextInput.js +1 -1
  43. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  44. package/admin/plugins/fieldRenderers/select.js +1 -1
  45. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  46. package/admin/plugins/fieldRenderers/text/tags.js +1 -1
  47. package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
  48. package/admin/plugins/fieldRenderers/text/textInput.js +1 -1
  49. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  50. package/admin/views/contentEntries/ContentEntriesModule.js +1 -1
  51. package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
  52. package/admin/views/contentEntries/ValidationIndicators.js +11 -4
  53. package/admin/views/contentEntries/ValidationIndicators.js.map +1 -1
  54. package/package.json +27 -27
  55. package/admin/components/ContentEntryForm/createValidationScope.js.map +0 -1
@@ -2,7 +2,7 @@ import React from "react";
2
2
  declare global {
3
3
  namespace JSX {
4
4
  interface IntrinsicElements {
5
- "hcms-field-validation-scope": {
5
+ "hcms-field-validation": {
6
6
  "data-path": string;
7
7
  "data-field-type": string;
8
8
  "data-field-multiple-values": string;
@@ -13,6 +13,6 @@ declare global {
13
13
  }
14
14
  }
15
15
  }
16
- export declare const createValidationScope: (path: string) => ({ children }: {
16
+ export declare const createValidationContainer: (path: string) => ({ children }: {
17
17
  children: React.ReactNode;
18
18
  }) => React.JSX.Element;
@@ -4,22 +4,22 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.createValidationScope = void 0;
7
+ exports.createValidationContainer = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _ModelFieldProvider = require("../ModelFieldProvider");
10
- var validationScopeStyles = {
10
+ var ValidationContainerStyles = {
11
11
  display: "inherit"
12
12
  };
13
- var createValidationScope = exports.createValidationScope = function createValidationScope(path) {
14
- return function ValidationScope(_ref) {
13
+ var createValidationContainer = exports.createValidationContainer = function createValidationContainer(path) {
14
+ return function ValidationContainer(_ref) {
15
15
  var children = _ref.children;
16
16
  var _useModelField = (0, _ModelFieldProvider.useModelField)(),
17
17
  field = _useModelField.field;
18
18
  if (field.multipleValues === undefined) {
19
19
  field.multipleValues = false;
20
20
  }
21
- return /*#__PURE__*/_react.default.createElement("hcms-field-validation-scope", {
22
- style: validationScopeStyles,
21
+ return /*#__PURE__*/_react.default.createElement("hcms-field-validation", {
22
+ style: ValidationContainerStyles,
23
23
  "data-path": path,
24
24
  "data-field-type": field.type,
25
25
  "data-field-multiple-values": String(field.multipleValues),
@@ -28,4 +28,4 @@ var createValidationScope = exports.createValidationScope = function createValid
28
28
  };
29
29
  };
30
30
 
31
- //# sourceMappingURL=createValidationScope.js.map
31
+ //# sourceMappingURL=createValidationContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_ModelFieldProvider","ValidationContainerStyles","display","createValidationContainer","exports","path","ValidationContainer","_ref","children","_useModelField","useModelField","field","multipleValues","undefined","default","createElement","style","type","String","renderer","name"],"sources":["createValidationContainer.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\": {\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 ValidationContainerStyles = { display: \"inherit\" };\n\nexport const createValidationContainer = (path: string) => {\n return function ValidationContainer({ 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\n style={ValidationContainerStyles}\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>\n );\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAkBA,IAAME,yBAAyB,GAAG;EAAEC,OAAO,EAAE;AAAU,CAAC;AAEjD,IAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAIE,IAAY,EAAK;EACvD,OAAO,SAASC,mBAAmBA,CAAAC,IAAA,EAA8C;IAAA,IAA3CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAC1C,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,yBAA0B;MACjC,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,QACkB,CAAC;EAEhC,CAAC;AACL,CAAC","ignoreList":[]}
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _form = require("@webiny/form");
13
13
  var _createValidators = require("../../../utils/createValidators");
14
14
  var _ModelFieldProvider = require("../ModelFieldProvider");
15
- var _createValidationScope = require("./createValidationScope");
15
+ var _createValidationContainer = require("./createValidationContainer");
16
16
  var createFieldCacheKey = function createFieldCacheKey(field) {
17
17
  return [field.id, field.fieldId, JSON.stringify(field.validation), JSON.stringify(field.listValidation)].join(";");
18
18
  };
@@ -110,7 +110,7 @@ function useBind(_ref) {
110
110
  // We need to keep track of current field name, to support nested fields.
111
111
  memoizedBindComponents.current[componentId].parentName = name;
112
112
  memoizedBindComponents.current[componentId].displayName = "Bind<".concat(name, ">");
113
- memoizedBindComponents.current[componentId].ValidationScope = (0, _createValidationScope.createValidationScope)(name);
113
+ memoizedBindComponents.current[componentId].ValidationContainer = (0, _createValidationContainer.createValidationContainer)(name);
114
114
  return memoizedBindComponents.current[componentId];
115
115
  };
116
116
  }
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_form","_createValidators","_ModelFieldProvider","_createValidationContainer","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","ValidationContainer","createValidationContainer"],"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 { createValidationContainer } from \"~/admin/components/ContentEntryForm/createValidationContainer\";\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].ValidationContainer =\n createValidationContainer(name);\n\n return memoizedBindComponents.current[componentId];\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,7 @@ var FieldLabel = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV ===
38
38
  } : {
39
39
  name: "1ua069u",
40
40
  styles: "font-size:24px;font-weight:normal;border-bottom:1px solid var(--mdc-theme-background);margin-bottom:20px;padding-bottom:5px",
41
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNTZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QzZCIiwiZmlsZSI6IkR5bmFtaWNTZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc1NldCBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gXCJAd2ViaW55L2FwcC9pMThuXCI7XG5pbXBvcnQgeyBDZWxsLCBHcmlkIH0gZnJvbSBcIkB3ZWJpbnkvdWkvR3JpZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IEJ1dHRvbkRlZmF1bHQsIEJ1dHRvbkljb24gfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcbmltcG9ydCB7IEZvcm1FbGVtZW50TWVzc2FnZSB9IGZyb20gXCJAd2ViaW55L3VpL0Zvcm1FbGVtZW50TWVzc2FnZVwiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWRkSWNvbiB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9hc3NldHMvaWNvbnMvYWRkLTE4cHguc3ZnXCI7XG5pbXBvcnQgeyBHZXRCaW5kQ2FsbGFibGUgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vdXNlQmluZFwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgQmluZENvbXBvbmVudCwgQmluZENvbXBvbmVudFJlbmRlclByb3AsIENtc01vZGVsRmllbGQgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MgfSBmcm9tIFwifi9hZG1pbi9wbHVnaW5zL2ZpZWxkUmVuZGVyZXJzL011bHRpVmFsdWVSZW5kZXJlclNldHRpbmdzXCI7XG5cbmNvbnN0IHQgPSBpMThuLm5zKFwiYXBwLWhlYWRsZXNzLWNtcy9hZG1pbi9maWVsZHMvdGV4dFwiKTtcblxuY29uc3Qgc3R5bGUgPSB7XG4gICAgZ3JpZENvbnRhaW5lcjogY3NzYFxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljU2VjdGlvblByb3BzQ2hpbGRyZW5QYXJhbXMge1xuICAgIEJpbmQ6IEJpbmRDb21wb25lbnQ7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgYmluZDoge1xuICAgICAgICBpbmRleDogQmluZENvbXBvbmVudFJlbmRlclByb3A7XG4gICAgICAgIGZpZWxkOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICB9O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1NlY3Rpb25Qcm9wcyB7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgZ2V0QmluZDogR2V0QmluZENhbGxhYmxlO1xuICAgIHNob3dMYWJlbD86IGJvb2xlYW47XG4gICAgY2hpbGRyZW46IChwYXJhbXM6IER5bmFtaWNTZWN0aW9uUHJvcHNDaGlsZHJlblBhcmFtcykgPT4gSlNYLkVsZW1lbnQ7XG4gICAgZW1wdHlWYWx1ZT86IGFueTtcbiAgICBncmlkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG9uQWRkSXRlbT86IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGFkZFZhbHVlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEZpZWxkTGFiZWwgPSBzdHlsZWQuZGl2YFxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuYDtcblxuY29uc3QgQWRkQnV0dG9uQ2VsbCA9IHN0eWxlZChDZWxsKTx7IGl0ZW1zOiBudW1iZXIgfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiOHB4XCIgOiBcIjBcIil9O1xuICAgIGJvcmRlci10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1iYWNrZ3JvdW5kKVwiIDogXCJub25lXCIpfTtcbmA7XG5cbmNvbnN0IGRlZmF1bHRBZGRJdGVtID0gKCkgPT4ge1xuICAgIC8vIE5vIG9wLlxufTtcblxuY29uc3QgRHluYW1pY1NlY3Rpb24gPSAoe1xuICAgIGZpZWxkLFxuICAgIGdldEJpbmQsXG4gICAgY2hpbGRyZW4sXG4gICAgc2hvd0xhYmVsID0gdHJ1ZSxcbiAgICBlbXB0eVZhbHVlID0gXCJcIixcbiAgICBvbkFkZEl0ZW0gPSBkZWZhdWx0QWRkSXRlbSxcbiAgICBncmlkQ2xhc3NOYW1lLFxuICAgIC4uLnByb3BzXG59OiBEeW5hbWljU2VjdGlvblByb3BzKSA9PiB7XG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MoZmllbGQpO1xuICAgIGNvbnN0IGFkZFZhbHVlQnV0dG9uTGFiZWwgPVxuICAgICAgICBwcm9wcy5hZGRWYWx1ZUJ1dHRvbkxhYmVsID8/IHNldHRpbmdzLmFkZFZhbHVlQnV0dG9uTGFiZWwgPz8gXCJBZGQgVmFsdWVcIjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIC8qIEZpcnN0IHdlIG1vdW50IHRoZSB0b3AgbGV2ZWwgZmllbGQsIGZvciBleGFtcGxlOiBcIml0ZW1zXCIgKi9cbiAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICB7YmluZEZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBcInZhbHVlXCIgLT4gYW4gYXJyYXkgb2YgaXRlbXNcbiAgICAgICAgICAgICAgICAgKiBcImFwcGVuZFZhbHVlXCIgLT4gYSBjYWxsYmFjayB0byBhZGQgYSBuZXcgdmFsdWUgdG8gdGhlIHRvcCBsZXZlbCBcIml0ZW1zXCIgYXJyYXlcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBhcHBlbmRWYWx1ZSB9ID0gYmluZEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZEZpZWxkVmFsdWU6IHN0cmluZ1tdID0gdmFsdWUgfHwgW107XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8QmluZC5WYWxpZGF0aW9uU2NvcGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGFyZW50RmllbGRQcm92aWRlciB2YWx1ZT17dmFsdWV9IHBhdGg9e0JpbmQucGFyZW50TmFtZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dMYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9e1wiaGVhZGxpbmU1XCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtmaWVsZC5sYWJlbH0gJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZEZpZWxkVmFsdWUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAoJHtiaW5kRmllbGRWYWx1ZS5sZW5ndGh9KWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZpZWxkLmhlbHBUZXh0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUVsZW1lbnRNZXNzYWdlPntmaWVsZC5oZWxwVGV4dH08L0Zvcm1FbGVtZW50TWVzc2FnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmllbGRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBjbGFzc05hbWU9e2NsYXNzU2V0KGdyaWRDbGFzc05hbWUsIHN0eWxlLmdyaWRDb250YWluZXIpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZFZhbHVlLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJpbmRGaWVsZCA9IGdldEJpbmQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0ga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kRmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YmluZFByb3BzID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmluZEZpZWxkLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudFZhbHVlSW5kZXhQcm92aWRlciBpbmRleD17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaW5kOiBCaW5kRmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogYmluZFByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogYmluZEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50VmFsdWVJbmRleFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGQudmFsaWRhdGlvbi5pc1ZhbGlkID09PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZC52YWxpZGF0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZGRCdXR0b25DZWxsIHNwYW49ezEyfSBpdGVtcz17YmluZEZpZWxkVmFsdWUubGVuZ3RofT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25EZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRWYWx1ZShlbXB0eVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGRJdGVtKGJpbmRGaWVsZFZhbHVlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXs8QWRkSWNvbiAvPn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dChhZGRWYWx1ZUJ1dHRvbkxhYmVsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BZGRCdXR0b25DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50RmllbGRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9CaW5kPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEeW5hbWljU2VjdGlvbjtcbiJdfQ== */",
41
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNTZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QzZCIiwiZmlsZSI6IkR5bmFtaWNTZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc1NldCBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gXCJAd2ViaW55L2FwcC9pMThuXCI7XG5pbXBvcnQgeyBDZWxsLCBHcmlkIH0gZnJvbSBcIkB3ZWJpbnkvdWkvR3JpZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IEJ1dHRvbkRlZmF1bHQsIEJ1dHRvbkljb24gfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcbmltcG9ydCB7IEZvcm1FbGVtZW50TWVzc2FnZSB9IGZyb20gXCJAd2ViaW55L3VpL0Zvcm1FbGVtZW50TWVzc2FnZVwiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWRkSWNvbiB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9hc3NldHMvaWNvbnMvYWRkLTE4cHguc3ZnXCI7XG5pbXBvcnQgeyBHZXRCaW5kQ2FsbGFibGUgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vdXNlQmluZFwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgQmluZENvbXBvbmVudCwgQmluZENvbXBvbmVudFJlbmRlclByb3AsIENtc01vZGVsRmllbGQgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MgfSBmcm9tIFwifi9hZG1pbi9wbHVnaW5zL2ZpZWxkUmVuZGVyZXJzL011bHRpVmFsdWVSZW5kZXJlclNldHRpbmdzXCI7XG5cbmNvbnN0IHQgPSBpMThuLm5zKFwiYXBwLWhlYWRsZXNzLWNtcy9hZG1pbi9maWVsZHMvdGV4dFwiKTtcblxuY29uc3Qgc3R5bGUgPSB7XG4gICAgZ3JpZENvbnRhaW5lcjogY3NzYFxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljU2VjdGlvblByb3BzQ2hpbGRyZW5QYXJhbXMge1xuICAgIEJpbmQ6IEJpbmRDb21wb25lbnQ7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgYmluZDoge1xuICAgICAgICBpbmRleDogQmluZENvbXBvbmVudFJlbmRlclByb3A7XG4gICAgICAgIGZpZWxkOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICB9O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1NlY3Rpb25Qcm9wcyB7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgZ2V0QmluZDogR2V0QmluZENhbGxhYmxlO1xuICAgIHNob3dMYWJlbD86IGJvb2xlYW47XG4gICAgY2hpbGRyZW46IChwYXJhbXM6IER5bmFtaWNTZWN0aW9uUHJvcHNDaGlsZHJlblBhcmFtcykgPT4gSlNYLkVsZW1lbnQ7XG4gICAgZW1wdHlWYWx1ZT86IGFueTtcbiAgICBncmlkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG9uQWRkSXRlbT86IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGFkZFZhbHVlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEZpZWxkTGFiZWwgPSBzdHlsZWQuZGl2YFxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuYDtcblxuY29uc3QgQWRkQnV0dG9uQ2VsbCA9IHN0eWxlZChDZWxsKTx7IGl0ZW1zOiBudW1iZXIgfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiOHB4XCIgOiBcIjBcIil9O1xuICAgIGJvcmRlci10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1iYWNrZ3JvdW5kKVwiIDogXCJub25lXCIpfTtcbmA7XG5cbmNvbnN0IGRlZmF1bHRBZGRJdGVtID0gKCkgPT4ge1xuICAgIC8vIE5vIG9wLlxufTtcblxuY29uc3QgRHluYW1pY1NlY3Rpb24gPSAoe1xuICAgIGZpZWxkLFxuICAgIGdldEJpbmQsXG4gICAgY2hpbGRyZW4sXG4gICAgc2hvd0xhYmVsID0gdHJ1ZSxcbiAgICBlbXB0eVZhbHVlID0gXCJcIixcbiAgICBvbkFkZEl0ZW0gPSBkZWZhdWx0QWRkSXRlbSxcbiAgICBncmlkQ2xhc3NOYW1lLFxuICAgIC4uLnByb3BzXG59OiBEeW5hbWljU2VjdGlvblByb3BzKSA9PiB7XG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MoZmllbGQpO1xuICAgIGNvbnN0IGFkZFZhbHVlQnV0dG9uTGFiZWwgPVxuICAgICAgICBwcm9wcy5hZGRWYWx1ZUJ1dHRvbkxhYmVsID8/IHNldHRpbmdzLmFkZFZhbHVlQnV0dG9uTGFiZWwgPz8gXCJBZGQgVmFsdWVcIjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIC8qIEZpcnN0IHdlIG1vdW50IHRoZSB0b3AgbGV2ZWwgZmllbGQsIGZvciBleGFtcGxlOiBcIml0ZW1zXCIgKi9cbiAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICB7YmluZEZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBcInZhbHVlXCIgLT4gYW4gYXJyYXkgb2YgaXRlbXNcbiAgICAgICAgICAgICAgICAgKiBcImFwcGVuZFZhbHVlXCIgLT4gYSBjYWxsYmFjayB0byBhZGQgYSBuZXcgdmFsdWUgdG8gdGhlIHRvcCBsZXZlbCBcIml0ZW1zXCIgYXJyYXlcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBhcHBlbmRWYWx1ZSB9ID0gYmluZEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZEZpZWxkVmFsdWU6IHN0cmluZ1tdID0gdmFsdWUgfHwgW107XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8QmluZC5WYWxpZGF0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudEZpZWxkUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfSBwYXRoPXtCaW5kLnBhcmVudE5hbWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93TGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcImhlYWRsaW5lNVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YCR7ZmllbGQubGFiZWx9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRGaWVsZFZhbHVlLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgKCR7YmluZEZpZWxkVmFsdWUubGVuZ3RofSlgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmaWVsZC5oZWxwVGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZT57ZmllbGQuaGVscFRleHR9PC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZpZWxkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgY2xhc3NOYW1lPXtjbGFzc1NldChncmlkQ2xhc3NOYW1lLCBzdHlsZS5ncmlkQ29udGFpbmVyKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGRWYWx1ZS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCaW5kRmllbGQgPSBnZXRCaW5kKGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENlbGwgc3Bhbj17MTJ9IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRQcm9wcyA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmRGaWVsZC5WYWxpZGF0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGFyZW50VmFsdWVJbmRleFByb3ZpZGVyIGluZGV4PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbmQ6IEJpbmRGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBiaW5kUHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBiaW5kRmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9QYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kRmllbGQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGQudmFsaWRhdGlvbi5pc1ZhbGlkID09PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZC52YWxpZGF0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZGRCdXR0b25DZWxsIHNwYW49ezEyfSBpdGVtcz17YmluZEZpZWxkVmFsdWUubGVuZ3RofT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25EZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRWYWx1ZShlbXB0eVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGRJdGVtKGJpbmRGaWVsZFZhbHVlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXs8QWRkSWNvbiAvPn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dChhZGRWYWx1ZUJ1dHRvbkxhYmVsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BZGRCdXR0b25DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50RmllbGRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvQmluZD5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHluYW1pY1NlY3Rpb247XG4iXX0= */",
42
42
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
43
43
  });
44
44
  var AddButtonCell = /*#__PURE__*/(0, _base.default)(_Grid.Cell, process.env.NODE_ENV === "production" ? {
@@ -52,7 +52,7 @@ var AddButtonCell = /*#__PURE__*/(0, _base.default)(_Grid.Cell, process.env.NODE
52
52
  }, ";border-top:", function (_ref2) {
53
53
  var items = _ref2.items;
54
54
  return items > 0 ? "1px solid var(--mdc-theme-background)" : "none";
55
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNTZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRHFEIiwiZmlsZSI6IkR5bmFtaWNTZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc1NldCBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gXCJAd2ViaW55L2FwcC9pMThuXCI7XG5pbXBvcnQgeyBDZWxsLCBHcmlkIH0gZnJvbSBcIkB3ZWJpbnkvdWkvR3JpZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IEJ1dHRvbkRlZmF1bHQsIEJ1dHRvbkljb24gfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcbmltcG9ydCB7IEZvcm1FbGVtZW50TWVzc2FnZSB9IGZyb20gXCJAd2ViaW55L3VpL0Zvcm1FbGVtZW50TWVzc2FnZVwiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWRkSWNvbiB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9hc3NldHMvaWNvbnMvYWRkLTE4cHguc3ZnXCI7XG5pbXBvcnQgeyBHZXRCaW5kQ2FsbGFibGUgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vdXNlQmluZFwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgQmluZENvbXBvbmVudCwgQmluZENvbXBvbmVudFJlbmRlclByb3AsIENtc01vZGVsRmllbGQgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MgfSBmcm9tIFwifi9hZG1pbi9wbHVnaW5zL2ZpZWxkUmVuZGVyZXJzL011bHRpVmFsdWVSZW5kZXJlclNldHRpbmdzXCI7XG5cbmNvbnN0IHQgPSBpMThuLm5zKFwiYXBwLWhlYWRsZXNzLWNtcy9hZG1pbi9maWVsZHMvdGV4dFwiKTtcblxuY29uc3Qgc3R5bGUgPSB7XG4gICAgZ3JpZENvbnRhaW5lcjogY3NzYFxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljU2VjdGlvblByb3BzQ2hpbGRyZW5QYXJhbXMge1xuICAgIEJpbmQ6IEJpbmRDb21wb25lbnQ7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgYmluZDoge1xuICAgICAgICBpbmRleDogQmluZENvbXBvbmVudFJlbmRlclByb3A7XG4gICAgICAgIGZpZWxkOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICB9O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1NlY3Rpb25Qcm9wcyB7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgZ2V0QmluZDogR2V0QmluZENhbGxhYmxlO1xuICAgIHNob3dMYWJlbD86IGJvb2xlYW47XG4gICAgY2hpbGRyZW46IChwYXJhbXM6IER5bmFtaWNTZWN0aW9uUHJvcHNDaGlsZHJlblBhcmFtcykgPT4gSlNYLkVsZW1lbnQ7XG4gICAgZW1wdHlWYWx1ZT86IGFueTtcbiAgICBncmlkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG9uQWRkSXRlbT86IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGFkZFZhbHVlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEZpZWxkTGFiZWwgPSBzdHlsZWQuZGl2YFxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuYDtcblxuY29uc3QgQWRkQnV0dG9uQ2VsbCA9IHN0eWxlZChDZWxsKTx7IGl0ZW1zOiBudW1iZXIgfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiOHB4XCIgOiBcIjBcIil9O1xuICAgIGJvcmRlci10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1iYWNrZ3JvdW5kKVwiIDogXCJub25lXCIpfTtcbmA7XG5cbmNvbnN0IGRlZmF1bHRBZGRJdGVtID0gKCkgPT4ge1xuICAgIC8vIE5vIG9wLlxufTtcblxuY29uc3QgRHluYW1pY1NlY3Rpb24gPSAoe1xuICAgIGZpZWxkLFxuICAgIGdldEJpbmQsXG4gICAgY2hpbGRyZW4sXG4gICAgc2hvd0xhYmVsID0gdHJ1ZSxcbiAgICBlbXB0eVZhbHVlID0gXCJcIixcbiAgICBvbkFkZEl0ZW0gPSBkZWZhdWx0QWRkSXRlbSxcbiAgICBncmlkQ2xhc3NOYW1lLFxuICAgIC4uLnByb3BzXG59OiBEeW5hbWljU2VjdGlvblByb3BzKSA9PiB7XG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MoZmllbGQpO1xuICAgIGNvbnN0IGFkZFZhbHVlQnV0dG9uTGFiZWwgPVxuICAgICAgICBwcm9wcy5hZGRWYWx1ZUJ1dHRvbkxhYmVsID8/IHNldHRpbmdzLmFkZFZhbHVlQnV0dG9uTGFiZWwgPz8gXCJBZGQgVmFsdWVcIjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIC8qIEZpcnN0IHdlIG1vdW50IHRoZSB0b3AgbGV2ZWwgZmllbGQsIGZvciBleGFtcGxlOiBcIml0ZW1zXCIgKi9cbiAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICB7YmluZEZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBcInZhbHVlXCIgLT4gYW4gYXJyYXkgb2YgaXRlbXNcbiAgICAgICAgICAgICAgICAgKiBcImFwcGVuZFZhbHVlXCIgLT4gYSBjYWxsYmFjayB0byBhZGQgYSBuZXcgdmFsdWUgdG8gdGhlIHRvcCBsZXZlbCBcIml0ZW1zXCIgYXJyYXlcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBhcHBlbmRWYWx1ZSB9ID0gYmluZEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZEZpZWxkVmFsdWU6IHN0cmluZ1tdID0gdmFsdWUgfHwgW107XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8QmluZC5WYWxpZGF0aW9uU2NvcGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGFyZW50RmllbGRQcm92aWRlciB2YWx1ZT17dmFsdWV9IHBhdGg9e0JpbmQucGFyZW50TmFtZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Nob3dMYWJlbCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpZWxkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB1c2U9e1wiaGVhZGxpbmU1XCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtgJHtmaWVsZC5sYWJlbH0gJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZEZpZWxkVmFsdWUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAoJHtiaW5kRmllbGRWYWx1ZS5sZW5ndGh9KWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZpZWxkLmhlbHBUZXh0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUVsZW1lbnRNZXNzYWdlPntmaWVsZC5oZWxwVGV4dH08L0Zvcm1FbGVtZW50TWVzc2FnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmllbGRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBjbGFzc05hbWU9e2NsYXNzU2V0KGdyaWRDbGFzc05hbWUsIHN0eWxlLmdyaWRDb250YWluZXIpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZFZhbHVlLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJpbmRGaWVsZCA9IGdldEJpbmQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0ga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kRmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YmluZFByb3BzID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmluZEZpZWxkLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudFZhbHVlSW5kZXhQcm92aWRlciBpbmRleD17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaW5kOiBCaW5kRmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogYmluZFByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogYmluZEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50VmFsdWVJbmRleFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGQudmFsaWRhdGlvbi5pc1ZhbGlkID09PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZC52YWxpZGF0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZGRCdXR0b25DZWxsIHNwYW49ezEyfSBpdGVtcz17YmluZEZpZWxkVmFsdWUubGVuZ3RofT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25EZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRWYWx1ZShlbXB0eVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGRJdGVtKGJpbmRGaWVsZFZhbHVlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXs8QWRkSWNvbiAvPn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dChhZGRWYWx1ZUJ1dHRvbkxhYmVsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BZGRCdXR0b25DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50RmllbGRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25TY29wZT5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9CaW5kPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEeW5hbWljU2VjdGlvbjtcbiJdfQ== */"));
55
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR5bmFtaWNTZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRHFEIiwiZmlsZSI6IkR5bmFtaWNTZWN0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc1NldCBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gXCJAd2ViaW55L2FwcC9pMThuXCI7XG5pbXBvcnQgeyBDZWxsLCBHcmlkIH0gZnJvbSBcIkB3ZWJpbnkvdWkvR3JpZFwiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gXCJAd2ViaW55L3VpL1R5cG9ncmFwaHlcIjtcbmltcG9ydCB7IEJ1dHRvbkRlZmF1bHQsIEJ1dHRvbkljb24gfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcbmltcG9ydCB7IEZvcm1FbGVtZW50TWVzc2FnZSB9IGZyb20gXCJAd2ViaW55L3VpL0Zvcm1FbGVtZW50TWVzc2FnZVwiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWRkSWNvbiB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9hc3NldHMvaWNvbnMvYWRkLTE4cHguc3ZnXCI7XG5pbXBvcnQgeyBHZXRCaW5kQ2FsbGFibGUgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vdXNlQmluZFwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgQmluZENvbXBvbmVudCwgQmluZENvbXBvbmVudFJlbmRlclByb3AsIENtc01vZGVsRmllbGQgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MgfSBmcm9tIFwifi9hZG1pbi9wbHVnaW5zL2ZpZWxkUmVuZGVyZXJzL011bHRpVmFsdWVSZW5kZXJlclNldHRpbmdzXCI7XG5cbmNvbnN0IHQgPSBpMThuLm5zKFwiYXBwLWhlYWRsZXNzLWNtcy9hZG1pbi9maWVsZHMvdGV4dFwiKTtcblxuY29uc3Qgc3R5bGUgPSB7XG4gICAgZ3JpZENvbnRhaW5lcjogY3NzYFxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljU2VjdGlvblByb3BzQ2hpbGRyZW5QYXJhbXMge1xuICAgIEJpbmQ6IEJpbmRDb21wb25lbnQ7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgYmluZDoge1xuICAgICAgICBpbmRleDogQmluZENvbXBvbmVudFJlbmRlclByb3A7XG4gICAgICAgIGZpZWxkOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICB9O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY1NlY3Rpb25Qcm9wcyB7XG4gICAgZmllbGQ6IENtc01vZGVsRmllbGQ7XG4gICAgZ2V0QmluZDogR2V0QmluZENhbGxhYmxlO1xuICAgIHNob3dMYWJlbD86IGJvb2xlYW47XG4gICAgY2hpbGRyZW46IChwYXJhbXM6IER5bmFtaWNTZWN0aW9uUHJvcHNDaGlsZHJlblBhcmFtcykgPT4gSlNYLkVsZW1lbnQ7XG4gICAgZW1wdHlWYWx1ZT86IGFueTtcbiAgICBncmlkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG9uQWRkSXRlbT86IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICAgIGFkZFZhbHVlQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IEZpZWxkTGFiZWwgPSBzdHlsZWQuZGl2YFxuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuYDtcblxuY29uc3QgQWRkQnV0dG9uQ2VsbCA9IHN0eWxlZChDZWxsKTx7IGl0ZW1zOiBudW1iZXIgfT5gXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiOHB4XCIgOiBcIjBcIil9O1xuICAgIGJvcmRlci10b3A6ICR7KHsgaXRlbXMgfSkgPT4gKGl0ZW1zID4gMCA/IFwiMXB4IHNvbGlkIHZhcigtLW1kYy10aGVtZS1iYWNrZ3JvdW5kKVwiIDogXCJub25lXCIpfTtcbmA7XG5cbmNvbnN0IGRlZmF1bHRBZGRJdGVtID0gKCkgPT4ge1xuICAgIC8vIE5vIG9wLlxufTtcblxuY29uc3QgRHluYW1pY1NlY3Rpb24gPSAoe1xuICAgIGZpZWxkLFxuICAgIGdldEJpbmQsXG4gICAgY2hpbGRyZW4sXG4gICAgc2hvd0xhYmVsID0gdHJ1ZSxcbiAgICBlbXB0eVZhbHVlID0gXCJcIixcbiAgICBvbkFkZEl0ZW0gPSBkZWZhdWx0QWRkSXRlbSxcbiAgICBncmlkQ2xhc3NOYW1lLFxuICAgIC4uLnByb3BzXG59OiBEeW5hbWljU2VjdGlvblByb3BzKSA9PiB7XG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0TXVsdGlWYWx1ZVJlbmRlcmVyU2V0dGluZ3MoZmllbGQpO1xuICAgIGNvbnN0IGFkZFZhbHVlQnV0dG9uTGFiZWwgPVxuICAgICAgICBwcm9wcy5hZGRWYWx1ZUJ1dHRvbkxhYmVsID8/IHNldHRpbmdzLmFkZFZhbHVlQnV0dG9uTGFiZWwgPz8gXCJBZGQgVmFsdWVcIjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIC8qIEZpcnN0IHdlIG1vdW50IHRoZSB0b3AgbGV2ZWwgZmllbGQsIGZvciBleGFtcGxlOiBcIml0ZW1zXCIgKi9cbiAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICB7YmluZEZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBcInZhbHVlXCIgLT4gYW4gYXJyYXkgb2YgaXRlbXNcbiAgICAgICAgICAgICAgICAgKiBcImFwcGVuZFZhbHVlXCIgLT4gYSBjYWxsYmFjayB0byBhZGQgYSBuZXcgdmFsdWUgdG8gdGhlIHRvcCBsZXZlbCBcIml0ZW1zXCIgYXJyYXlcbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBhcHBlbmRWYWx1ZSB9ID0gYmluZEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYmluZEZpZWxkVmFsdWU6IHN0cmluZ1tdID0gdmFsdWUgfHwgW107XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8QmluZC5WYWxpZGF0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudEZpZWxkUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfSBwYXRoPXtCaW5kLnBhcmVudE5hbWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93TGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgdXNlPXtcImhlYWRsaW5lNVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YCR7ZmllbGQubGFiZWx9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRGaWVsZFZhbHVlLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgKCR7YmluZEZpZWxkVmFsdWUubGVuZ3RofSlgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmaWVsZC5oZWxwVGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZT57ZmllbGQuaGVscFRleHR9PC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZpZWxkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQgY2xhc3NOYW1lPXtjbGFzc1NldChncmlkQ2xhc3NOYW1lLCBzdHlsZS5ncmlkQ29udGFpbmVyKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGRWYWx1ZS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCaW5kRmllbGQgPSBnZXRCaW5kKGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENlbGwgc3Bhbj17MTJ9IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRQcm9wcyA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmRGaWVsZC5WYWxpZGF0aW9uQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGFyZW50VmFsdWVJbmRleFByb3ZpZGVyIGluZGV4PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbmQ6IEJpbmRGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBiaW5kUHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkOiBiaW5kRmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9QYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kRmllbGQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZEZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiaW5kRmllbGQudmFsaWRhdGlvbi5pc1ZhbGlkID09PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2JpbmRGaWVsZC52YWxpZGF0aW9uLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZGRCdXR0b25DZWxsIHNwYW49ezEyfSBpdGVtcz17YmluZEZpZWxkVmFsdWUubGVuZ3RofT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25EZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRWYWx1ZShlbXB0eVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGRJdGVtKGJpbmRGaWVsZFZhbHVlLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXs8QWRkSWNvbiAvPn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dChhZGRWYWx1ZUJ1dHRvbkxhYmVsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BZGRCdXR0b25DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGFyZW50RmllbGRQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9CaW5kLlZhbGlkYXRpb25Db250YWluZXI+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvQmluZD5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRHluYW1pY1NlY3Rpb247XG4iXX0= */"));
56
56
  var defaultAddItem = function defaultAddItem() {
57
57
  // No op.
58
58
  };
@@ -79,7 +79,7 @@ var DynamicSection = function DynamicSection(_ref3) {
79
79
  var value = bindField.value,
80
80
  appendValue = bindField.appendValue;
81
81
  var bindFieldValue = value || [];
82
- return /*#__PURE__*/_react.default.createElement(Bind.ValidationScope, null, /*#__PURE__*/_react.default.createElement(_hooks.ParentFieldProvider, {
82
+ return /*#__PURE__*/_react.default.createElement(Bind.ValidationContainer, null, /*#__PURE__*/_react.default.createElement(_hooks.ParentFieldProvider, {
83
83
  value: value,
84
84
  path: Bind.parentName
85
85
  }, showLabel ? /*#__PURE__*/_react.default.createElement(FieldLabel, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
@@ -92,7 +92,7 @@ var DynamicSection = function DynamicSection(_ref3) {
92
92
  span: 12,
93
93
  key: index
94
94
  }, /*#__PURE__*/_react.default.createElement(BindField, null, function (bindProps) {
95
- return /*#__PURE__*/_react.default.createElement(BindField.ValidationScope, null, /*#__PURE__*/_react.default.createElement(_ModelFieldProvider.ParentValueIndexProvider, {
95
+ return /*#__PURE__*/_react.default.createElement(BindField.ValidationContainer, null, /*#__PURE__*/_react.default.createElement(_ModelFieldProvider.ParentValueIndexProvider, {
96
96
  index: index
97
97
  }, children({
98
98
  Bind: BindField,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_classnames","_emotion","_i18n","_Grid","_Typography","_Button","_FormElementMessage","_add18px","_hooks","_ModelFieldProvider","_MultiValueRendererSettings","_excluded","_templateObject","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","style","gridContainer","css","_taggedTemplateLiteral2","default","FieldLabel","_base","process","env","NODE_ENV","target","label","name","styles","map","toString","AddButtonCell","Cell","_ref","items","_ref2","defaultAddItem","DynamicSection","_ref3","field","getBind","children","_ref3$showLabel","showLabel","_ref3$emptyValue","emptyValue","_ref3$onAddItem","onAddItem","gridClassName","props","_objectWithoutProperties2","Bind","settings","getMultiValueRendererSettings","addValueButtonLabel","createElement","bindField","value","appendValue","bindFieldValue","ValidationScope","ParentFieldProvider","path","parentName","Typography","use","concat","length","helpText","FormElementMessage","Grid","className","classSet","_","index","BindField","span","key","bindProps","ParentValueIndexProvider","bind","validation","isValid","error","message","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","_default","exports"],"sources":["DynamicSection.tsx"],"sourcesContent":["import React from \"react\";\nimport classSet from \"classnames\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GetBindCallable } from \"~/admin/components/ContentEntryForm/useBind\";\nimport { ParentFieldProvider } from \"~/admin/hooks\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { BindComponent, BindComponentRenderProp, CmsModelField } from \"~/types\";\nimport { getMultiValueRendererSettings } from \"~/admin/plugins/fieldRenderers/MultiValueRendererSettings\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst style = {\n gridContainer: css`\n padding: 0 !important;\n `\n};\n\nexport interface DynamicSectionPropsChildrenParams {\n Bind: BindComponent;\n field: CmsModelField;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n index: number;\n}\n\nexport interface DynamicSectionProps {\n field: CmsModelField;\n getBind: GetBindCallable;\n showLabel?: boolean;\n children: (params: DynamicSectionPropsChildrenParams) => JSX.Element;\n emptyValue?: any;\n gridClassName?: string;\n onAddItem?: (index: number) => void;\n addValueButtonLabel?: string;\n}\n\nconst FieldLabel = styled.div`\n font-size: 24px;\n font-weight: normal;\n border-bottom: 1px solid var(--mdc-theme-background);\n margin-bottom: 20px;\n padding-bottom: 5px;\n`;\n\nconst AddButtonCell = styled(Cell)<{ items: number }>`\n width: 100%;\n padding-top: ${({ items }) => (items > 0 ? \"8px\" : \"0\")};\n border-top: ${({ items }) => (items > 0 ? \"1px solid var(--mdc-theme-background)\" : \"none\")};\n`;\n\nconst defaultAddItem = () => {\n // No op.\n};\n\nconst DynamicSection = ({\n field,\n getBind,\n children,\n showLabel = true,\n emptyValue = \"\",\n onAddItem = defaultAddItem,\n gridClassName,\n ...props\n}: DynamicSectionProps) => {\n const Bind = getBind();\n\n const settings = getMultiValueRendererSettings(field);\n const addValueButtonLabel =\n props.addValueButtonLabel ?? settings.addValueButtonLabel ?? \"Add Value\";\n\n return (\n /* First we mount the top level field, for example: \"items\" */\n <Bind>\n {bindField => {\n /**\n * \"value\" -> an array of items\n * \"appendValue\" -> a callback to add a new value to the top level \"items\" array\n */\n const { value, appendValue } = bindField;\n\n const bindFieldValue: string[] = value || [];\n\n return (\n <Bind.ValidationScope>\n <ParentFieldProvider value={value} path={Bind.parentName}>\n {showLabel ? (\n <FieldLabel>\n <Typography use={\"headline5\"}>\n {`${field.label} ${\n bindFieldValue.length\n ? `(${bindFieldValue.length})`\n : \"\"\n }`}\n </Typography>\n {field.helpText && (\n <FormElementMessage>{field.helpText}</FormElementMessage>\n )}\n </FieldLabel>\n ) : null}\n <Grid className={classSet(gridClassName, style.gridContainer)}>\n {bindFieldValue.map((_, index) => {\n const BindField = getBind(index);\n return (\n <Cell span={12} key={index}>\n <BindField>\n {bindProps => (\n <BindField.ValidationScope>\n <ParentValueIndexProvider index={index}>\n {children({\n Bind: BindField,\n field,\n bind: {\n index: bindProps,\n field: bindField\n },\n index\n })}\n </ParentValueIndexProvider>\n </BindField.ValidationScope>\n )}\n </BindField>\n </Cell>\n );\n })}\n\n {bindField.validation.isValid === false && (\n <Cell span={12}>\n <FormElementMessage error>\n {bindField.validation.message}\n </FormElementMessage>\n </Cell>\n )}\n <AddButtonCell span={12} items={bindFieldValue.length}>\n <ButtonDefault\n onClick={() => {\n appendValue(emptyValue);\n onAddItem(bindFieldValue.length);\n }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t(addValueButtonLabel)}\n </ButtonDefault>\n </AddButtonCell>\n </Grid>\n </ParentFieldProvider>\n </Bind.ValidationScope>\n );\n }}\n </Bind>\n );\n};\n\nexport default DynamicSection;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_classnames","_emotion","_i18n","_Grid","_Typography","_Button","_FormElementMessage","_add18px","_hooks","_ModelFieldProvider","_MultiValueRendererSettings","_excluded","_templateObject","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","style","gridContainer","css","_taggedTemplateLiteral2","default","FieldLabel","_base","process","env","NODE_ENV","target","label","name","styles","map","toString","AddButtonCell","Cell","_ref","items","_ref2","defaultAddItem","DynamicSection","_ref3","field","getBind","children","_ref3$showLabel","showLabel","_ref3$emptyValue","emptyValue","_ref3$onAddItem","onAddItem","gridClassName","props","_objectWithoutProperties2","Bind","settings","getMultiValueRendererSettings","addValueButtonLabel","createElement","bindField","value","appendValue","bindFieldValue","ValidationContainer","ParentFieldProvider","path","parentName","Typography","use","concat","length","helpText","FormElementMessage","Grid","className","classSet","_","index","BindField","span","key","bindProps","ParentValueIndexProvider","bind","validation","isValid","error","message","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","_default","exports"],"sources":["DynamicSection.tsx"],"sourcesContent":["import React from \"react\";\nimport classSet from \"classnames\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GetBindCallable } from \"~/admin/components/ContentEntryForm/useBind\";\nimport { ParentFieldProvider } from \"~/admin/hooks\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { BindComponent, BindComponentRenderProp, CmsModelField } from \"~/types\";\nimport { getMultiValueRendererSettings } from \"~/admin/plugins/fieldRenderers/MultiValueRendererSettings\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst style = {\n gridContainer: css`\n padding: 0 !important;\n `\n};\n\nexport interface DynamicSectionPropsChildrenParams {\n Bind: BindComponent;\n field: CmsModelField;\n bind: {\n index: BindComponentRenderProp;\n field: BindComponentRenderProp;\n };\n index: number;\n}\n\nexport interface DynamicSectionProps {\n field: CmsModelField;\n getBind: GetBindCallable;\n showLabel?: boolean;\n children: (params: DynamicSectionPropsChildrenParams) => JSX.Element;\n emptyValue?: any;\n gridClassName?: string;\n onAddItem?: (index: number) => void;\n addValueButtonLabel?: string;\n}\n\nconst FieldLabel = styled.div`\n font-size: 24px;\n font-weight: normal;\n border-bottom: 1px solid var(--mdc-theme-background);\n margin-bottom: 20px;\n padding-bottom: 5px;\n`;\n\nconst AddButtonCell = styled(Cell)<{ items: number }>`\n width: 100%;\n padding-top: ${({ items }) => (items > 0 ? \"8px\" : \"0\")};\n border-top: ${({ items }) => (items > 0 ? \"1px solid var(--mdc-theme-background)\" : \"none\")};\n`;\n\nconst defaultAddItem = () => {\n // No op.\n};\n\nconst DynamicSection = ({\n field,\n getBind,\n children,\n showLabel = true,\n emptyValue = \"\",\n onAddItem = defaultAddItem,\n gridClassName,\n ...props\n}: DynamicSectionProps) => {\n const Bind = getBind();\n\n const settings = getMultiValueRendererSettings(field);\n const addValueButtonLabel =\n props.addValueButtonLabel ?? settings.addValueButtonLabel ?? \"Add Value\";\n\n return (\n /* First we mount the top level field, for example: \"items\" */\n <Bind>\n {bindField => {\n /**\n * \"value\" -> an array of items\n * \"appendValue\" -> a callback to add a new value to the top level \"items\" array\n */\n const { value, appendValue } = bindField;\n\n const bindFieldValue: string[] = value || [];\n\n return (\n <Bind.ValidationContainer>\n <ParentFieldProvider value={value} path={Bind.parentName}>\n {showLabel ? (\n <FieldLabel>\n <Typography use={\"headline5\"}>\n {`${field.label} ${\n bindFieldValue.length\n ? `(${bindFieldValue.length})`\n : \"\"\n }`}\n </Typography>\n {field.helpText && (\n <FormElementMessage>{field.helpText}</FormElementMessage>\n )}\n </FieldLabel>\n ) : null}\n <Grid className={classSet(gridClassName, style.gridContainer)}>\n {bindFieldValue.map((_, index) => {\n const BindField = getBind(index);\n return (\n <Cell span={12} key={index}>\n <BindField>\n {bindProps => (\n <BindField.ValidationContainer>\n <ParentValueIndexProvider index={index}>\n {children({\n Bind: BindField,\n field,\n bind: {\n index: bindProps,\n field: bindField\n },\n index\n })}\n </ParentValueIndexProvider>\n </BindField.ValidationContainer>\n )}\n </BindField>\n </Cell>\n );\n })}\n\n {bindField.validation.isValid === false && (\n <Cell span={12}>\n <FormElementMessage error>\n {bindField.validation.message}\n </FormElementMessage>\n </Cell>\n )}\n <AddButtonCell span={12} items={bindFieldValue.length}>\n <ButtonDefault\n onClick={() => {\n appendValue(emptyValue);\n onAddItem(bindFieldValue.length);\n }}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t(addValueButtonLabel)}\n </ButtonDefault>\n </AddButtonCell>\n </Grid>\n </ParentFieldProvider>\n </Bind.ValidationContainer>\n );\n }}\n </Bind>\n );\n};\n\nexport default DynamicSection;\n"],"mappings":"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","ignoreList":[]}
@@ -52,7 +52,7 @@ var plugin = {
52
52
  return /*#__PURE__*/_react.default.createElement(Bind, {
53
53
  defaultValue: defaultValue
54
54
  }, function (bind) {
55
- return /*#__PURE__*/_react.default.createElement(Bind.ValidationScope, null, /*#__PURE__*/_react.default.createElement(_Checkbox.CheckboxGroup, Object.assign({}, bind, {
55
+ return /*#__PURE__*/_react.default.createElement(Bind.ValidationContainer, null, /*#__PURE__*/_react.default.createElement(_Checkbox.CheckboxGroup, Object.assign({}, bind, {
56
56
  label: field.label,
57
57
  description: field.helpText
58
58
  }), function (_ref4) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_get","_i18n","_Checkbox","_templateObject","_templateObject2","t","i18n","ns","adaptToField","field","value","type","Number","plugin","name","renderer","rendererName","_taggedTemplateLiteral2","default","description","canUse","_ref","multipleValues","get","render","_ref2","getBind","Bind","_ref3","predefinedValues","values","_ref3$values","predefinedOptions","options","map","opt","_objectSpread2","defaults","filter","option","selected","defaultValue","length","undefined","createElement","bind","ValidationScope","CheckboxGroup","Object","assign","label","helpText","_ref4","onChange","getValue","Fragment","index","key","String","Checkbox","concat","_default","exports"],"sources":["checkboxes.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsModelField, CmsModelFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst adaptToField = (field: CmsModelField, value: string) => {\n return field.type === \"number\" ? Number(value) : value;\n};\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-checkboxes-buttons\",\n renderer: {\n rendererName: \"checkboxes\",\n name: t`Checkboxes`,\n description: t`Renders checkboxes, allowing selection of multiple values.`,\n canUse({ field }) {\n return !!field.multipleValues && !!get(field, \"predefinedValues.enabled\");\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const { values: predefinedOptions = [] } = field.predefinedValues || {\n values: []\n };\n\n // For `number` field, we want to convert the value to actual Number.\n const options = predefinedOptions.map(opt => ({\n ...opt,\n value: adaptToField(field, opt.value)\n }));\n\n const defaults = options.filter(option => option.selected);\n const defaultValue = defaults.length > 0 ? defaults.map(opt => opt.value) : undefined;\n\n return (\n <Bind defaultValue={defaultValue}>\n {bind => (\n <Bind.ValidationScope>\n <CheckboxGroup\n {...bind}\n label={field.label}\n description={field.helpText}\n >\n {({ onChange, getValue }) => (\n <React.Fragment>\n {options.map((option, index) => {\n return (\n <div key={String(option.value) + index}>\n <Checkbox\n label={option.label}\n value={getValue(option.value)}\n onChange={onChange(option.value)}\n data-testid={`fr.input.${field.label}`}\n />\n </div>\n );\n })}\n </React.Fragment>\n )}\n </CheckboxGroup>\n </Bind.ValidationScope>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_get","_i18n","_Checkbox","_templateObject","_templateObject2","t","i18n","ns","adaptToField","field","value","type","Number","plugin","name","renderer","rendererName","_taggedTemplateLiteral2","default","description","canUse","_ref","multipleValues","get","render","_ref2","getBind","Bind","_ref3","predefinedValues","values","_ref3$values","predefinedOptions","options","map","opt","_objectSpread2","defaults","filter","option","selected","defaultValue","length","undefined","createElement","bind","ValidationContainer","CheckboxGroup","Object","assign","label","helpText","_ref4","onChange","getValue","Fragment","index","key","String","Checkbox","concat","_default","exports"],"sources":["checkboxes.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsModelField, CmsModelFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/text\");\n\nconst adaptToField = (field: CmsModelField, value: string) => {\n return field.type === \"number\" ? Number(value) : value;\n};\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-checkboxes-buttons\",\n renderer: {\n rendererName: \"checkboxes\",\n name: t`Checkboxes`,\n description: t`Renders checkboxes, allowing selection of multiple values.`,\n canUse({ field }) {\n return !!field.multipleValues && !!get(field, \"predefinedValues.enabled\");\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const { values: predefinedOptions = [] } = field.predefinedValues || {\n values: []\n };\n\n // For `number` field, we want to convert the value to actual Number.\n const options = predefinedOptions.map(opt => ({\n ...opt,\n value: adaptToField(field, opt.value)\n }));\n\n const defaults = options.filter(option => option.selected);\n const defaultValue = defaults.length > 0 ? defaults.map(opt => opt.value) : undefined;\n\n return (\n <Bind defaultValue={defaultValue}>\n {bind => (\n <Bind.ValidationContainer>\n <CheckboxGroup\n {...bind}\n label={field.label}\n description={field.helpText}\n >\n {({ onChange, getValue }) => (\n <React.Fragment>\n {options.map((option, index) => {\n return (\n <div key={String(option.value) + index}>\n <Checkbox\n label={option.label}\n value={getValue(option.value)}\n onChange={onChange(option.value)}\n data-testid={`fr.input.${field.label}`}\n />\n </div>\n );\n })}\n </React.Fragment>\n )}\n </CheckboxGroup>\n </Bind.ValidationContainer>\n )}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":"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","ignoreList":[]}
@@ -44,7 +44,7 @@ var plugin = {
44
44
  break;
45
45
  }
46
46
  return /*#__PURE__*/_react.default.createElement(Bind, null, function (bind) {
47
- return /*#__PURE__*/_react.default.createElement(Bind.ValidationScope, null, /*#__PURE__*/_react.default.createElement(Component, {
47
+ return /*#__PURE__*/_react.default.createElement(Bind.ValidationContainer, null, /*#__PURE__*/_react.default.createElement(Component, {
48
48
  bind: bind,
49
49
  field: field
50
50
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_get","_i18n","_DateOnly","_DateTimeWithoutTimezone","_DateTimeWithTimezone","_Time","_templateObject","_templateObject2","t","i18n","ns","plugin","type","name","renderer","rendererName","_taggedTemplateLiteral2","default","description","canUse","_ref","field","multipleValues","get","render","_ref2","getBind","Bind","fieldSettingsType","settings","Component","DateOnly","DateTimeWithoutTimezone","DateTimeWithTimezone","Time","createElement","bind","ValidationScope","_default","exports"],"sources":["dateTimeField.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsModelFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { DateOnly } from \"./DateOnly\";\nimport { DateTimeWithoutTimezone } from \"./DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"./DateTimeWithTimezone\";\nimport { Time } from \"./Time\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/date-time\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-date-time\",\n renderer: {\n rendererName: \"date-time-input\",\n name: t`Date/Time Input`,\n description: t`Renders input for various formats of date and time.`,\n canUse({ field }) {\n return (\n field.type === \"datetime\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const fieldSettingsType = field.settings ? field.settings.type : null;\n\n let Component = DateOnly;\n switch (fieldSettingsType) {\n case \"dateTimeWithoutTimezone\":\n Component = DateTimeWithoutTimezone;\n break;\n case \"dateTimeWithTimezone\":\n Component = DateTimeWithTimezone;\n break;\n case \"time\":\n Component = Time;\n break;\n }\n\n return (\n <Bind>\n {bind => {\n return (\n <Bind.ValidationScope>\n <Component bind={bind} field={field} />\n </Bind.ValidationScope>\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAA8B,IAAAO,eAAA,EAAAC,gBAAA;AAE9B,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,yCAAyC,CAAC;AAE5D,IAAMC,MAAmC,GAAG;EACxCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,qCAAqC;EAC3CC,QAAQ,EAAE;IACNC,YAAY,EAAE,iBAAiB;IAC/BF,IAAI,EAAEL,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAU,uBAAA,CAAAC,OAAA,wBAAiB;IACxBC,WAAW,EAAEV,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAS,uBAAA,CAAAC,OAAA,4DAAqD;IACnEE,MAAM,WAANA,MAAMA,CAAAC,IAAA,EAAY;MAAA,IAATC,KAAK,GAAAD,IAAA,CAALC,KAAK;MACV,OACIA,KAAK,CAACT,IAAI,KAAK,UAAU,IACzB,CAACS,KAAK,CAACC,cAAc,IACrB,CAAC,IAAAC,YAAG,EAACF,KAAK,EAAE,0BAA0B,CAAC;IAE/C,CAAC;IACDG,MAAM,WAANA,MAAMA,CAAAC,KAAA,EAAqB;MAAA,IAAlBJ,KAAK,GAAAI,KAAA,CAALJ,KAAK;QAAEK,OAAO,GAAAD,KAAA,CAAPC,OAAO;MACnB,IAAMC,IAAI,GAAGD,OAAO,CAAC,CAAC;MAEtB,IAAME,iBAAiB,GAAGP,KAAK,CAACQ,QAAQ,GAAGR,KAAK,CAACQ,QAAQ,CAACjB,IAAI,GAAG,IAAI;MAErE,IAAIkB,SAAS,GAAGC,kBAAQ;MACxB,QAAQH,iBAAiB;QACrB,KAAK,yBAAyB;UAC1BE,SAAS,GAAGE,gDAAuB;UACnC;QACJ,KAAK,sBAAsB;UACvBF,SAAS,GAAGG,0CAAoB;UAChC;QACJ,KAAK,MAAM;UACPH,SAAS,GAAGI,UAAI;UAChB;MACR;MAEA,oBACIrC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACR,IAAI,QACA,UAAAS,IAAI,EAAI;QACL,oBACIvC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACR,IAAI,CAACU,eAAe,qBACjBxC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACL,SAAS;UAACM,IAAI,EAAEA,IAAK;UAACf,KAAK,EAAEA;QAAM,CAAE,CACpB,CAAC;MAE/B,CACE,CAAC;IAEf;EACJ;AACJ,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEaN,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_get","_i18n","_DateOnly","_DateTimeWithoutTimezone","_DateTimeWithTimezone","_Time","_templateObject","_templateObject2","t","i18n","ns","plugin","type","name","renderer","rendererName","_taggedTemplateLiteral2","default","description","canUse","_ref","field","multipleValues","get","render","_ref2","getBind","Bind","fieldSettingsType","settings","Component","DateOnly","DateTimeWithoutTimezone","DateTimeWithTimezone","Time","createElement","bind","ValidationContainer","_default","exports"],"sources":["dateTimeField.tsx"],"sourcesContent":["import React from \"react\";\nimport get from \"lodash/get\";\nimport { CmsModelFieldRendererPlugin } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { DateOnly } from \"./DateOnly\";\nimport { DateTimeWithoutTimezone } from \"./DateTimeWithoutTimezone\";\nimport { DateTimeWithTimezone } from \"./DateTimeWithTimezone\";\nimport { Time } from \"./Time\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields/date-time\");\n\nconst plugin: CmsModelFieldRendererPlugin = {\n type: \"cms-editor-field-renderer\",\n name: \"cms-editor-field-renderer-date-time\",\n renderer: {\n rendererName: \"date-time-input\",\n name: t`Date/Time Input`,\n description: t`Renders input for various formats of date and time.`,\n canUse({ field }) {\n return (\n field.type === \"datetime\" &&\n !field.multipleValues &&\n !get(field, \"predefinedValues.enabled\")\n );\n },\n render({ field, getBind }) {\n const Bind = getBind();\n\n const fieldSettingsType = field.settings ? field.settings.type : null;\n\n let Component = DateOnly;\n switch (fieldSettingsType) {\n case \"dateTimeWithoutTimezone\":\n Component = DateTimeWithoutTimezone;\n break;\n case \"dateTimeWithTimezone\":\n Component = DateTimeWithTimezone;\n break;\n case \"time\":\n Component = Time;\n break;\n }\n\n return (\n <Bind>\n {bind => {\n return (\n <Bind.ValidationContainer>\n <Component bind={bind} field={field} />\n </Bind.ValidationContainer>\n );\n }}\n </Bind>\n );\n }\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAA8B,IAAAO,eAAA,EAAAC,gBAAA;AAE9B,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,yCAAyC,CAAC;AAE5D,IAAMC,MAAmC,GAAG;EACxCC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,qCAAqC;EAC3CC,QAAQ,EAAE;IACNC,YAAY,EAAE,iBAAiB;IAC/BF,IAAI,EAAEL,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAU,uBAAA,CAAAC,OAAA,wBAAiB;IACxBC,WAAW,EAAEV,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAS,uBAAA,CAAAC,OAAA,4DAAqD;IACnEE,MAAM,WAANA,MAAMA,CAAAC,IAAA,EAAY;MAAA,IAATC,KAAK,GAAAD,IAAA,CAALC,KAAK;MACV,OACIA,KAAK,CAACT,IAAI,KAAK,UAAU,IACzB,CAACS,KAAK,CAACC,cAAc,IACrB,CAAC,IAAAC,YAAG,EAACF,KAAK,EAAE,0BAA0B,CAAC;IAE/C,CAAC;IACDG,MAAM,WAANA,MAAMA,CAAAC,KAAA,EAAqB;MAAA,IAAlBJ,KAAK,GAAAI,KAAA,CAALJ,KAAK;QAAEK,OAAO,GAAAD,KAAA,CAAPC,OAAO;MACnB,IAAMC,IAAI,GAAGD,OAAO,CAAC,CAAC;MAEtB,IAAME,iBAAiB,GAAGP,KAAK,CAACQ,QAAQ,GAAGR,KAAK,CAACQ,QAAQ,CAACjB,IAAI,GAAG,IAAI;MAErE,IAAIkB,SAAS,GAAGC,kBAAQ;MACxB,QAAQH,iBAAiB;QACrB,KAAK,yBAAyB;UAC1BE,SAAS,GAAGE,gDAAuB;UACnC;QACJ,KAAK,sBAAsB;UACvBF,SAAS,GAAGG,0CAAoB;UAChC;QACJ,KAAK,MAAM;UACPH,SAAS,GAAGI,UAAI;UAChB;MACR;MAEA,oBACIrC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACR,IAAI,QACA,UAAAS,IAAI,EAAI;QACL,oBACIvC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACR,IAAI,CAACU,mBAAmB,qBACrBxC,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAACL,SAAS;UAACM,IAAI,EAAEA,IAAK;UAACf,KAAK,EAAEA;QAAM,CAAE,CAChB,CAAC;MAEnC,CACE,CAAC;IAEf;EACJ;AACJ,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEaN,MAAM","ignoreList":[]}
@@ -35,7 +35,7 @@ var BottomMargin = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV =
35
35
  } : {
36
36
  name: "1azpx8r",
37
37
  styles: "margin-bottom:20px",
38
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVEeW5hbWljWm9uZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEIrQiIsImZpbGUiOiJNdWx0aVZhbHVlRHluYW1pY1pvbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gXCJsb2Rhc2gvY2xvbmVEZWVwXCI7XG5pbXBvcnQgeyBBY2NvcmRpb24sIEFjY29yZGlvbkl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9BY2NvcmRpb25cIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERlbGV0ZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvZGVsZXRlX291dGxpbmUuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9uZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvbGlicmFyeV9hZGQuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBcnJvd1VwSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX3VwLnN2Z1wiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQXJyb3dEb3duSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX2Rvd24uc3ZnXCI7XG5pbXBvcnQgeyBBZGRUZW1wbGF0ZUJ1dHRvbiwgQWRkVGVtcGxhdGVJY29uIH0gZnJvbSBcIi4vQWRkVGVtcGxhdGVcIjtcbmltcG9ydCB7IFRlbXBsYXRlSWNvbiB9IGZyb20gXCIuL1RlbXBsYXRlSWNvblwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciwgdXNlTW9kZWxGaWVsZCB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZHMgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vRmllbGRzXCI7XG5pbXBvcnQge1xuICAgIEJpbmRDb21wb25lbnQsXG4gICAgQmluZENvbXBvbmVudFJlbmRlclByb3AsXG4gICAgQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSxcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcyxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc0R5bmFtaWNab25lVGVtcGxhdGVXaXRoVHlwZW5hbWVcbn0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB7IG1ha2VEZWNvcmF0YWJsZSB9IGZyb20gXCJAd2ViaW55L3JlYWN0LWNvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVByb3ZpZGVyIH0gZnJvbSBcIn4vYWRtaW4vcGx1Z2lucy9maWVsZFJlbmRlcmVycy9keW5hbWljWm9uZS9UZW1wbGF0ZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5cbmNvbnN0IEJvdHRvbU1hcmdpbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbmA7XG5cbnR5cGUgR2V0QmluZCA9IENtc01vZGVsRmllbGRSZW5kZXJlclByb3BzW1wiZ2V0QmluZFwiXTtcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzIHtcbiAgICB2YWx1ZTogVGVtcGxhdGVWYWx1ZTtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpY29uOiBKU1guRWxlbWVudDtcbiAgICB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZTtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgTXVsdGlWYWx1ZUl0ZW1Db250YWluZXIgPSBtYWtlRGVjb3JhdGFibGUoXG4gICAgXCJNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuLCAuLi5wcm9wcyB9OiBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSAoXG4gICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dVcEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTW92ZVVwfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNGaXJzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25Nb3ZlRG93bn1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzTGFzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkRpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj17PENsb25lSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMub25DbG9uZShwcm9wcy52YWx1ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb24gaWNvbj17PERlbGV0ZUljb24gLz59IG9uQ2xpY2s9e3Byb3BzLm9uRGVsZXRlfSAvPlxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtLkFjdGlvbnM+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtXG4gICAgICAgICAgICAgICAgdGl0bGU9e3Byb3BzLnRpdGxlfVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXtwcm9wcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5pY29ufVxuICAgICAgICAgICAgICAgIGFjdGlvbnM9e2FjdGlvbnN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUl0ZW1JdGVtUHJvcHMge1xuICAgIHRlbXBsYXRlOiBDbXNEeW5hbWljWm9uZVRlbXBsYXRlO1xuICAgIGNvbnRlbnRNb2RlbDogQ21zTW9kZWw7XG4gICAgQmluZDogQmluZENvbXBvbmVudDtcbn1cblxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVJdGVtID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUl0ZW1cIixcbiAgICAocHJvcHM6IE11bHRpVmFsdWVJdGVtSXRlbVByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdGVtcGxhdGUsIEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUZW1wbGF0ZVByb3ZpZGVyIHRlbXBsYXRlPXt0ZW1wbGF0ZX0+XG4gICAgICAgICAgICAgICAgPEZpZWxkc1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3RlbXBsYXRlLmZpZWxkc31cbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0PXt0ZW1wbGF0ZS5sYXlvdXQgfHwgW119XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICBCaW5kPXtCaW5kfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1RlbXBsYXRlUHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuaW50ZXJmYWNlIFRlbXBsYXRlVmFsdWUge1xuICAgIF90ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVWYWx1ZUZvcm1Qcm9wcyB7XG4gICAgdmFsdWU6IFRlbXBsYXRlVmFsdWU7XG4gICAgY29udGVudE1vZGVsOiBDbXNNb2RlbDtcbiAgICBCaW5kOiBCaW5kQ29tcG9uZW50O1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xufVxuXG5jb25zdCBUZW1wbGF0ZVZhbHVlRm9ybSA9ICh7XG4gICAgdmFsdWUsXG4gICAgY29udGVudE1vZGVsLFxuICAgIEJpbmQsXG4gICAgaXNMYXN0LFxuICAgIGlzRmlyc3QsXG4gICAgb25Nb3ZlVXAsXG4gICAgb25Nb3ZlRG93bixcbiAgICBvbkRlbGV0ZSxcbiAgICBvbkNsb25lXG59OiBUZW1wbGF0ZVZhbHVlRm9ybVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZCB9ID0gdXNlTW9kZWxGaWVsZCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGZpZWxkLnNldHRpbmdzPy50ZW1wbGF0ZXMgfHwgW107XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSB8IHVuZGVmaW5lZCA9IHRlbXBsYXRlcy5maW5kKFxuICAgICAgICB0cGwgPT4gdHBsLmlkID09PSB2YWx1ZS5fdGVtcGxhdGVJZFxuICAgICk7XG5cbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9XG4gICAgICAgICAgICBpc0ZpcnN0PXtpc0ZpcnN0fVxuICAgICAgICAgICAgaXNMYXN0PXtpc0xhc3R9XG4gICAgICAgICAgICBvbkNsb25lPXtvbkNsb25lfVxuICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgb25Nb3ZlVXA9e29uTW92ZVVwfVxuICAgICAgICAgICAgb25Nb3ZlRG93bj17b25Nb3ZlRG93bn1cbiAgICAgICAgICAgIHRpdGxlPXt0ZW1wbGF0ZS5uYW1lfVxuICAgICAgICAgICAgZGVzY3JpcHRpb249e3RlbXBsYXRlLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgaWNvbj17PFRlbXBsYXRlSWNvbiBpY29uPXt0ZW1wbGF0ZS5pY29ufSAvPn1cbiAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPE11bHRpVmFsdWVJdGVtIHRlbXBsYXRlPXt0ZW1wbGF0ZX0gY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9IEJpbmQ9e0JpbmR9IC8+XG4gICAgICAgIDwvTXVsdGlWYWx1ZUl0ZW1Db250YWluZXI+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUNvbnRhaW5lclByb3BzIGV4dGVuZHMgTXVsdGlWYWx1ZUR5bmFtaWNab25lUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuIH06IE11bHRpVmFsdWVDb250YWluZXJQcm9wcykgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEFjY29yZGlvbj5cbiAgICAgICAgICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgICAgICAgIDwvQWNjb3JkaW9uPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmludGVyZmFjZSBNdWx0aVZhbHVlRHluYW1pY1pvbmVQcm9wcyB7XG4gICAgLy8gVE9ETzogdGhpcyBwcm9wIG1pZ2h0IGJlIHVzZWxlc3MsIGJlY2F1c2Ugd2Ugbm93IGhhdmUgYSBgdXNlTW9kZWxGaWVsZGAgaG9vay5cbiAgICBmaWVsZDogQ21zTW9kZWxGaWVsZDtcbiAgICBiaW5kOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGdldEJpbmQ6IEdldEJpbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlRHluYW1pY1pvbmUgPSAocHJvcHM6IE11bHRpVmFsdWVEeW5hbWljWm9uZVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBzaG93Q29uZmlybWF0aW9uIH0gPSB1c2VDb25maXJtYXRpb25EaWFsb2coe1xuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/IFRoaXMgYWN0aW9uIGlzIG5vdCByZXZlcnNpYmxlLmAsXG4gICAgICAgIGFjY2VwdExhYmVsOiBgWWVzLCBJJ20gc3VyZSFgLFxuICAgICAgICBjYW5jZWxMYWJlbDogYE5vLCBsZWF2ZSBpdC5gXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGJpbmQsIGdldEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG4gICAgY29uc3Qgb25UZW1wbGF0ZSA9ICh0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZVdpdGhUeXBlbmFtZSkgPT4ge1xuICAgICAgICBiaW5kLmFwcGVuZFZhbHVlKHsgX3RlbXBsYXRlSWQ6IHRlbXBsYXRlLmlkLCBfX3R5cGVuYW1lOiB0ZW1wbGF0ZS5fX3R5cGVuYW1lIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9uZVZhbHVlID0gKHZhbHVlOiBUZW1wbGF0ZVZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGJpbmQuYXBwZW5kVmFsdWUoY2xvbmVEZWVwKHZhbHVlKSwgaW5kZXggKyAxKTtcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWVzOiBUZW1wbGF0ZVZhbHVlW10gPSBiaW5kLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IGhhc1ZhbHVlcyA9IHZhbHVlcy5sZW5ndGggPiAwO1xuXG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7aGFzVmFsdWVzID8gKFxuICAgICAgICAgICAgICAgIDxQYXJlbnRGaWVsZFByb3ZpZGVyIHZhbHVlPXtiaW5kLnZhbHVlfSBwYXRoPXtCaW5kLnBhcmVudE5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8TXVsdGlWYWx1ZUNvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9uRGVsZXRlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29uZmlybWF0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmQucmVtb3ZlVmFsdWUoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudFZhbHVlSW5kZXhQcm92aWRlciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQuVmFsaWRhdGlvblNjb3BlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlbXBsYXRlVmFsdWVGb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbmQ9e0JpbmR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGaXJzdD17aW5kZXggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0PXtpbmRleCA9PT0gdmFsdWVzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3ZlVXA9eygpID0+IGJpbmQubW92ZVZhbHVlVXAoaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW92ZURvd249eygpID0+IGJpbmQubW92ZVZhbHVlRG93bihpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvbmU9e3ZhbHVlID0+IGNsb25lVmFsdWUodmFsdWUsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZC5WYWxpZGF0aW9uU2NvcGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9QYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8L011bHRpVmFsdWVDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9QYXJlbnRGaWVsZFByb3ZpZGVyPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7aGFzVmFsdWVzID8gKFxuICAgICAgICAgICAgICAgIDxBZGRUZW1wbGF0ZUljb24gb25UZW1wbGF0ZT17b25UZW1wbGF0ZX0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPEJvdHRvbU1hcmdpbj5cbiAgICAgICAgICAgICAgICAgICAgPEFkZFRlbXBsYXRlQnV0dG9uIG9uVGVtcGxhdGU9e29uVGVtcGxhdGV9IC8+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21NYXJnaW4+XG4gICAgICAgICAgICApfVxuICAgICAgICA8Lz5cbiAgICApO1xufTtcbiJdfQ== */",
38
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk11bHRpVmFsdWVEeW5hbWljWm9uZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEIrQiIsImZpbGUiOiJNdWx0aVZhbHVlRHluYW1pY1pvbmUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gXCJsb2Rhc2gvY2xvbmVEZWVwXCI7XG5pbXBvcnQgeyBBY2NvcmRpb24sIEFjY29yZGlvbkl0ZW0gfSBmcm9tIFwiQHdlYmlueS91aS9BY2NvcmRpb25cIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERlbGV0ZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvZGVsZXRlX291dGxpbmUuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9uZUljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvb3V0bGluZWQvbGlicmFyeV9hZGQuc3ZnXCI7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBcnJvd1VwSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX3VwLnN2Z1wiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQXJyb3dEb3duSWNvbiB9IGZyb20gXCJAbWF0ZXJpYWwtZGVzaWduLWljb25zL3N2Zy9vdXRsaW5lZC9hcnJvd19kcm9wX2Rvd24uc3ZnXCI7XG5pbXBvcnQgeyBBZGRUZW1wbGF0ZUJ1dHRvbiwgQWRkVGVtcGxhdGVJY29uIH0gZnJvbSBcIi4vQWRkVGVtcGxhdGVcIjtcbmltcG9ydCB7IFRlbXBsYXRlSWNvbiB9IGZyb20gXCIuL1RlbXBsYXRlSWNvblwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRQcm92aWRlciwgdXNlTW9kZWxGaWVsZCB9IGZyb20gXCJ+L2FkbWluL2hvb2tzXCI7XG5pbXBvcnQgeyBGaWVsZHMgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL0NvbnRlbnRFbnRyeUZvcm0vRmllbGRzXCI7XG5pbXBvcnQge1xuICAgIEJpbmRDb21wb25lbnQsXG4gICAgQmluZENvbXBvbmVudFJlbmRlclByb3AsXG4gICAgQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSxcbiAgICBDbXNNb2RlbEZpZWxkUmVuZGVyZXJQcm9wcyxcbiAgICBDbXNNb2RlbCxcbiAgICBDbXNNb2RlbEZpZWxkLFxuICAgIENtc0R5bmFtaWNab25lVGVtcGxhdGVXaXRoVHlwZW5hbWVcbn0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB7IG1ha2VEZWNvcmF0YWJsZSB9IGZyb20gXCJAd2ViaW55L3JlYWN0LWNvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVByb3ZpZGVyIH0gZnJvbSBcIn4vYWRtaW4vcGx1Z2lucy9maWVsZFJlbmRlcmVycy9keW5hbWljWm9uZS9UZW1wbGF0ZVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQYXJlbnRWYWx1ZUluZGV4UHJvdmlkZXIgfSBmcm9tIFwifi9hZG1pbi9jb21wb25lbnRzL01vZGVsRmllbGRQcm92aWRlclwiO1xuaW1wb3J0IHsgdXNlQ29uZmlybWF0aW9uRGlhbG9nIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluXCI7XG5cbmNvbnN0IEJvdHRvbU1hcmdpbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbmA7XG5cbnR5cGUgR2V0QmluZCA9IENtc01vZGVsRmllbGRSZW5kZXJlclByb3BzW1wiZ2V0QmluZFwiXTtcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzIHtcbiAgICB2YWx1ZTogVGVtcGxhdGVWYWx1ZTtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xuICAgIHRpdGxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBpY29uOiBKU1guRWxlbWVudDtcbiAgICB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZTtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgTXVsdGlWYWx1ZUl0ZW1Db250YWluZXIgPSBtYWtlRGVjb3JhdGFibGUoXG4gICAgXCJNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuLCAuLi5wcm9wcyB9OiBNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSAoXG4gICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25zPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dVcEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTW92ZVVwfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cHJvcHMuaXNGaXJzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpY29uPXs8QXJyb3dEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJvcHMub25Nb3ZlRG93bn1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmlzTGFzdH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtLkRpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj17PENsb25lSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMub25DbG9uZShwcm9wcy52YWx1ZSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8QWNjb3JkaW9uSXRlbS5BY3Rpb24gaWNvbj17PERlbGV0ZUljb24gLz59IG9uQ2xpY2s9e3Byb3BzLm9uRGVsZXRlfSAvPlxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtLkFjdGlvbnM+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBY2NvcmRpb25JdGVtXG4gICAgICAgICAgICAgICAgdGl0bGU9e3Byb3BzLnRpdGxlfVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXtwcm9wcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5pY29ufVxuICAgICAgICAgICAgICAgIGFjdGlvbnM9e2FjdGlvbnN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9BY2NvcmRpb25JdGVtPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUl0ZW1JdGVtUHJvcHMge1xuICAgIHRlbXBsYXRlOiBDbXNEeW5hbWljWm9uZVRlbXBsYXRlO1xuICAgIGNvbnRlbnRNb2RlbDogQ21zTW9kZWw7XG4gICAgQmluZDogQmluZENvbXBvbmVudDtcbn1cblxuZXhwb3J0IGNvbnN0IE11bHRpVmFsdWVJdGVtID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUl0ZW1cIixcbiAgICAocHJvcHM6IE11bHRpVmFsdWVJdGVtSXRlbVByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdGVtcGxhdGUsIEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUZW1wbGF0ZVByb3ZpZGVyIHRlbXBsYXRlPXt0ZW1wbGF0ZX0+XG4gICAgICAgICAgICAgICAgPEZpZWxkc1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3RlbXBsYXRlLmZpZWxkc31cbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0PXt0ZW1wbGF0ZS5sYXlvdXQgfHwgW119XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRNb2RlbD17Y29udGVudE1vZGVsfVxuICAgICAgICAgICAgICAgICAgICBCaW5kPXtCaW5kfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1RlbXBsYXRlUHJvdmlkZXI+XG4gICAgICAgICk7XG4gICAgfVxuKTtcblxuaW50ZXJmYWNlIFRlbXBsYXRlVmFsdWUge1xuICAgIF90ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVWYWx1ZUZvcm1Qcm9wcyB7XG4gICAgdmFsdWU6IFRlbXBsYXRlVmFsdWU7XG4gICAgY29udGVudE1vZGVsOiBDbXNNb2RlbDtcbiAgICBCaW5kOiBCaW5kQ29tcG9uZW50O1xuICAgIGlzRmlyc3Q6IGJvb2xlYW47XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIG9uTW92ZVVwOiAoKSA9PiB2b2lkO1xuICAgIG9uTW92ZURvd246ICgpID0+IHZvaWQ7XG4gICAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG4gICAgb25DbG9uZTogKHZhbHVlOiBUZW1wbGF0ZVZhbHVlKSA9PiB2b2lkO1xufVxuXG5jb25zdCBUZW1wbGF0ZVZhbHVlRm9ybSA9ICh7XG4gICAgdmFsdWUsXG4gICAgY29udGVudE1vZGVsLFxuICAgIEJpbmQsXG4gICAgaXNMYXN0LFxuICAgIGlzRmlyc3QsXG4gICAgb25Nb3ZlVXAsXG4gICAgb25Nb3ZlRG93bixcbiAgICBvbkRlbGV0ZSxcbiAgICBvbkNsb25lXG59OiBUZW1wbGF0ZVZhbHVlRm9ybVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZCB9ID0gdXNlTW9kZWxGaWVsZCgpO1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGZpZWxkLnNldHRpbmdzPy50ZW1wbGF0ZXMgfHwgW107XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZSB8IHVuZGVmaW5lZCA9IHRlbXBsYXRlcy5maW5kKFxuICAgICAgICB0cGwgPT4gdHBsLmlkID09PSB2YWx1ZS5fdGVtcGxhdGVJZFxuICAgICk7XG5cbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxNdWx0aVZhbHVlSXRlbUNvbnRhaW5lclxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9XG4gICAgICAgICAgICBpc0ZpcnN0PXtpc0ZpcnN0fVxuICAgICAgICAgICAgaXNMYXN0PXtpc0xhc3R9XG4gICAgICAgICAgICBvbkNsb25lPXtvbkNsb25lfVxuICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgb25Nb3ZlVXA9e29uTW92ZVVwfVxuICAgICAgICAgICAgb25Nb3ZlRG93bj17b25Nb3ZlRG93bn1cbiAgICAgICAgICAgIHRpdGxlPXt0ZW1wbGF0ZS5uYW1lfVxuICAgICAgICAgICAgZGVzY3JpcHRpb249e3RlbXBsYXRlLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgaWNvbj17PFRlbXBsYXRlSWNvbiBpY29uPXt0ZW1wbGF0ZS5pY29ufSAvPn1cbiAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPE11bHRpVmFsdWVJdGVtIHRlbXBsYXRlPXt0ZW1wbGF0ZX0gY29udGVudE1vZGVsPXtjb250ZW50TW9kZWx9IEJpbmQ9e0JpbmR9IC8+XG4gICAgICAgIDwvTXVsdGlWYWx1ZUl0ZW1Db250YWluZXI+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlWYWx1ZUNvbnRhaW5lclByb3BzIGV4dGVuZHMgTXVsdGlWYWx1ZUR5bmFtaWNab25lUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlQ29udGFpbmVyID0gbWFrZURlY29yYXRhYmxlKFxuICAgIFwiTXVsdGlWYWx1ZUNvbnRhaW5lclwiLFxuICAgICh7IGNoaWxkcmVuIH06IE11bHRpVmFsdWVDb250YWluZXJQcm9wcykgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEFjY29yZGlvbj5cbiAgICAgICAgICAgICAgICA8PntjaGlsZHJlbn08Lz5cbiAgICAgICAgICAgIDwvQWNjb3JkaW9uPlxuICAgICAgICApO1xuICAgIH1cbik7XG5cbmludGVyZmFjZSBNdWx0aVZhbHVlRHluYW1pY1pvbmVQcm9wcyB7XG4gICAgLy8gVE9ETzogdGhpcyBwcm9wIG1pZ2h0IGJlIHVzZWxlc3MsIGJlY2F1c2Ugd2Ugbm93IGhhdmUgYSBgdXNlTW9kZWxGaWVsZGAgaG9vay5cbiAgICBmaWVsZDogQ21zTW9kZWxGaWVsZDtcbiAgICBiaW5kOiBCaW5kQ29tcG9uZW50UmVuZGVyUHJvcDtcbiAgICBjb250ZW50TW9kZWw6IENtc01vZGVsO1xuICAgIGdldEJpbmQ6IEdldEJpbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBNdWx0aVZhbHVlRHluYW1pY1pvbmUgPSAocHJvcHM6IE11bHRpVmFsdWVEeW5hbWljWm9uZVByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBzaG93Q29uZmlybWF0aW9uIH0gPSB1c2VDb25maXJtYXRpb25EaWFsb2coe1xuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/IFRoaXMgYWN0aW9uIGlzIG5vdCByZXZlcnNpYmxlLmAsXG4gICAgICAgIGFjY2VwdExhYmVsOiBgWWVzLCBJJ20gc3VyZSFgLFxuICAgICAgICBjYW5jZWxMYWJlbDogYE5vLCBsZWF2ZSBpdC5gXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGJpbmQsIGdldEJpbmQsIGNvbnRlbnRNb2RlbCB9ID0gcHJvcHM7XG4gICAgY29uc3Qgb25UZW1wbGF0ZSA9ICh0ZW1wbGF0ZTogQ21zRHluYW1pY1pvbmVUZW1wbGF0ZVdpdGhUeXBlbmFtZSkgPT4ge1xuICAgICAgICBiaW5kLmFwcGVuZFZhbHVlKHsgX3RlbXBsYXRlSWQ6IHRlbXBsYXRlLmlkLCBfX3R5cGVuYW1lOiB0ZW1wbGF0ZS5fX3R5cGVuYW1lIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9uZVZhbHVlID0gKHZhbHVlOiBUZW1wbGF0ZVZhbHVlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGJpbmQuYXBwZW5kVmFsdWUoY2xvbmVEZWVwKHZhbHVlKSwgaW5kZXggKyAxKTtcbiAgICB9O1xuXG4gICAgY29uc3QgdmFsdWVzOiBUZW1wbGF0ZVZhbHVlW10gPSBiaW5kLnZhbHVlIHx8IFtdO1xuICAgIGNvbnN0IGhhc1ZhbHVlcyA9IHZhbHVlcy5sZW5ndGggPiAwO1xuXG4gICAgY29uc3QgQmluZCA9IGdldEJpbmQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7aGFzVmFsdWVzID8gKFxuICAgICAgICAgICAgICAgIDxQYXJlbnRGaWVsZFByb3ZpZGVyIHZhbHVlPXtiaW5kLnZhbHVlfSBwYXRoPXtCaW5kLnBhcmVudE5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8TXVsdGlWYWx1ZUNvbnRhaW5lciB7Li4ucHJvcHN9PlxuICAgICAgICAgICAgICAgICAgICAgICAge3ZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJpbmQgPSBnZXRCaW5kKGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9uRGVsZXRlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29uZmlybWF0aW9uKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmQucmVtb3ZlVmFsdWUoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhcmVudFZhbHVlSW5kZXhQcm92aWRlciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeygpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZW1wbGF0ZVZhbHVlRm9ybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50TW9kZWw9e2NvbnRlbnRNb2RlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaW5kPXtCaW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmlyc3Q9e2luZGV4ID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdD17aW5kZXggPT09IHZhbHVlcy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW92ZVVwPXsoKSA9PiBiaW5kLm1vdmVWYWx1ZVVwKGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdmVEb3duPXsoKSA9PiBiaW5kLm1vdmVWYWx1ZURvd24oaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRGVsZXRlPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb25lPXt2YWx1ZSA9PiBjbG9uZVZhbHVlKHZhbHVlLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0JpbmQuVmFsaWRhdGlvbkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1BhcmVudFZhbHVlSW5kZXhQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvTXVsdGlWYWx1ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L1BhcmVudEZpZWxkUHJvdmlkZXI+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNWYWx1ZXMgPyAoXG4gICAgICAgICAgICAgICAgPEFkZFRlbXBsYXRlSWNvbiBvblRlbXBsYXRlPXtvblRlbXBsYXRlfSAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8Qm90dG9tTWFyZ2luPlxuICAgICAgICAgICAgICAgICAgICA8QWRkVGVtcGxhdGVCdXR0b24gb25UZW1wbGF0ZT17b25UZW1wbGF0ZX0gLz5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbU1hcmdpbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuIl19 */",
39
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
40
  });
41
41
  var MultiValueItemContainer = exports.MultiValueItemContainer = (0, _reactComposition.makeDecoratable)("MultiValueItemContainer", function (_ref) {
@@ -158,7 +158,7 @@ var MultiValueDynamicZone = exports.MultiValueDynamicZone = function MultiValueD
158
158
  key: index,
159
159
  index: index
160
160
  }, /*#__PURE__*/_react.default.createElement(Bind, null, function () {
161
- return /*#__PURE__*/_react.default.createElement(Bind.ValidationScope, null, /*#__PURE__*/_react.default.createElement(TemplateValueForm, {
161
+ return /*#__PURE__*/_react.default.createElement(Bind.ValidationContainer, null, /*#__PURE__*/_react.default.createElement(TemplateValueForm, {
162
162
  value: value,
163
163
  contentModel: contentModel,
164
164
  Bind: Bind,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_cloneDeep","_Accordion","_delete_outline","_library_add","_arrow_drop_up","_arrow_drop_down","_AddTemplate","_TemplateIcon","_hooks","_Fields","_reactComposition","_TemplateProvider","_ModelFieldProvider","_appAdmin","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","BottomMargin","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","MultiValueItemContainer","exports","makeDecoratable","_ref","children","props","_objectWithoutProperties2","actions","createElement","AccordionItem","Actions","Action","icon","ReactComponent","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Divider","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","TemplateProvider","Fields","fields","layout","TemplateValueForm","_ref2","_useModelField","useModelField","field","templates","settings","find","tpl","id","_templateId","TemplateIcon","MultiValueContainer","_ref3","Accordion","Fragment","MultiValueDynamicZone","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","cloneDeep","values","hasValues","length","ParentFieldProvider","path","parentName","removeValue","ParentValueIndexProvider","key","ValidationScope","moveValueUp","moveValueDown","AddTemplateIcon","AddTemplateButton"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/outlined/arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n title: React.ReactNode;\n description: string;\n icon: JSX.Element;\n template: CmsDynamicZoneTemplate;\n children: React.ReactNode;\n}\n\nexport const MultiValueItemContainer = makeDecoratable(\n \"MultiValueItemContainer\",\n ({ children, ...props }: MultiValueItemContainerProps) => {\n const actions = (\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action\n icon={<CloneIcon />}\n onClick={() => props.onClone(props.value)}\n />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={props.onDelete} />\n </AccordionItem.Actions>\n );\n\n return (\n <AccordionItem\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={actions}\n >\n {children}\n </AccordionItem>\n );\n }\n);\n\nexport interface MultiValueItemItemProps {\n template: CmsDynamicZoneTemplate;\n contentModel: CmsModel;\n Bind: BindComponent;\n}\n\nexport const MultiValueItem = makeDecoratable(\n \"MultiValueItem\",\n (props: MultiValueItemItemProps) => {\n const { template, Bind, contentModel } = props;\n\n return (\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n );\n }\n);\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <MultiValueItemContainer\n value={value}\n contentModel={contentModel}\n isFirst={isFirst}\n isLast={isLast}\n onClone={onClone}\n onDelete={onDelete}\n onMoveUp={onMoveUp}\n onMoveDown={onMoveDown}\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n template={template}\n >\n <MultiValueItem template={template} contentModel={contentModel} Bind={Bind} />\n </MultiValueItemContainer>\n );\n};\n\nexport interface MultiValueContainerProps extends MultiValueDynamicZoneProps {\n children: React.ReactNode;\n}\n\nexport const MultiValueContainer = makeDecoratable(\n \"MultiValueContainer\",\n ({ children }: MultiValueContainerProps) => {\n return (\n <Accordion>\n <>{children}</>\n </Accordion>\n );\n }\n);\n\ninterface MultiValueDynamicZoneProps {\n // TODO: this prop might be useless, because we now have a `useModelField` hook.\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = (props: MultiValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to delete this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const { bind, getBind, contentModel } = props;\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.appendValue({ _templateId: template.id, __typename: template.__typename });\n };\n\n const cloneValue = (value: TemplateValue, index: number) => {\n bind.appendValue(cloneDeep(value), index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n const Bind = getBind();\n\n return (\n <>\n {hasValues ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <MultiValueContainer {...props}>\n {values.map((value, index) => {\n const Bind = getBind(index);\n\n const onDelete = () => {\n showConfirmation(() => {\n bind.removeValue(index);\n });\n };\n\n return (\n <ParentValueIndexProvider key={index} index={index}>\n <Bind>\n {() => (\n <Bind.ValidationScope>\n <TemplateValueForm\n value={value}\n contentModel={contentModel}\n Bind={Bind}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={onDelete}\n onClone={value => cloneValue(value, index)}\n />\n </Bind.ValidationScope>\n )}\n </Bind>\n </ParentValueIndexProvider>\n );\n })}\n </MultiValueContainer>\n </ParentFieldProvider>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_cloneDeep","_Accordion","_delete_outline","_library_add","_arrow_drop_up","_arrow_drop_down","_AddTemplate","_TemplateIcon","_hooks","_Fields","_reactComposition","_TemplateProvider","_ModelFieldProvider","_appAdmin","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","BottomMargin","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","MultiValueItemContainer","exports","makeDecoratable","_ref","children","props","_objectWithoutProperties2","actions","createElement","AccordionItem","Actions","Action","icon","ReactComponent","onClick","onMoveUp","disabled","isFirst","onMoveDown","isLast","Divider","onClone","value","onDelete","title","description","MultiValueItem","template","Bind","contentModel","TemplateProvider","Fields","fields","layout","TemplateValueForm","_ref2","_useModelField","useModelField","field","templates","settings","find","tpl","id","_templateId","TemplateIcon","MultiValueContainer","_ref3","Accordion","Fragment","MultiValueDynamicZone","_useConfirmationDialo","useConfirmationDialog","message","acceptLabel","cancelLabel","showConfirmation","bind","getBind","onTemplate","appendValue","__typename","cloneValue","index","cloneDeep","values","hasValues","length","ParentFieldProvider","path","parentName","removeValue","ParentValueIndexProvider","key","ValidationContainer","moveValueUp","moveValueDown","AddTemplateIcon","AddTemplateButton"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/outlined/arrow_drop_up.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/outlined/arrow_drop_down.svg\";\nimport { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { ParentFieldProvider, useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsModelFieldRendererProps,\n CmsModel,\n CmsModelField,\n CmsDynamicZoneTemplateWithTypename\n} from \"~/types\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport { TemplateProvider } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider\";\nimport { ParentValueIndexProvider } from \"~/admin/components/ModelFieldProvider\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsModelFieldRendererProps[\"getBind\"];\n\nexport interface MultiValueItemContainerProps {\n value: TemplateValue;\n contentModel: CmsModel;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n title: React.ReactNode;\n description: string;\n icon: JSX.Element;\n template: CmsDynamicZoneTemplate;\n children: React.ReactNode;\n}\n\nexport const MultiValueItemContainer = makeDecoratable(\n \"MultiValueItemContainer\",\n ({ children, ...props }: MultiValueItemContainerProps) => {\n const actions = (\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={props.onMoveUp}\n disabled={props.isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={props.onMoveDown}\n disabled={props.isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action\n icon={<CloneIcon />}\n onClick={() => props.onClone(props.value)}\n />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={props.onDelete} />\n </AccordionItem.Actions>\n );\n\n return (\n <AccordionItem\n title={props.title}\n description={props.description}\n icon={props.icon}\n actions={actions}\n >\n {children}\n </AccordionItem>\n );\n }\n);\n\nexport interface MultiValueItemItemProps {\n template: CmsDynamicZoneTemplate;\n contentModel: CmsModel;\n Bind: BindComponent;\n}\n\nexport const MultiValueItem = makeDecoratable(\n \"MultiValueItem\",\n (props: MultiValueItemItemProps) => {\n const { template, Bind, contentModel } = props;\n\n return (\n <TemplateProvider template={template}>\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </TemplateProvider>\n );\n }\n);\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: (value: TemplateValue) => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <MultiValueItemContainer\n value={value}\n contentModel={contentModel}\n isFirst={isFirst}\n isLast={isLast}\n onClone={onClone}\n onDelete={onDelete}\n onMoveUp={onMoveUp}\n onMoveDown={onMoveDown}\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n template={template}\n >\n <MultiValueItem template={template} contentModel={contentModel} Bind={Bind} />\n </MultiValueItemContainer>\n );\n};\n\nexport interface MultiValueContainerProps extends MultiValueDynamicZoneProps {\n children: React.ReactNode;\n}\n\nexport const MultiValueContainer = makeDecoratable(\n \"MultiValueContainer\",\n ({ children }: MultiValueContainerProps) => {\n return (\n <Accordion>\n <>{children}</>\n </Accordion>\n );\n }\n);\n\ninterface MultiValueDynamicZoneProps {\n // TODO: this prop might be useless, because we now have a `useModelField` hook.\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = (props: MultiValueDynamicZoneProps) => {\n const { showConfirmation } = useConfirmationDialog({\n message: `Are you sure you want to delete this item? This action is not reversible.`,\n acceptLabel: `Yes, I'm sure!`,\n cancelLabel: `No, leave it.`\n });\n\n const { bind, getBind, contentModel } = props;\n const onTemplate = (template: CmsDynamicZoneTemplateWithTypename) => {\n bind.appendValue({ _templateId: template.id, __typename: template.__typename });\n };\n\n const cloneValue = (value: TemplateValue, index: number) => {\n bind.appendValue(cloneDeep(value), index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n const Bind = getBind();\n\n return (\n <>\n {hasValues ? (\n <ParentFieldProvider value={bind.value} path={Bind.parentName}>\n <MultiValueContainer {...props}>\n {values.map((value, index) => {\n const Bind = getBind(index);\n\n const onDelete = () => {\n showConfirmation(() => {\n bind.removeValue(index);\n });\n };\n\n return (\n <ParentValueIndexProvider key={index} index={index}>\n <Bind>\n {() => (\n <Bind.ValidationContainer>\n <TemplateValueForm\n value={value}\n contentModel={contentModel}\n Bind={Bind}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={onDelete}\n onClone={value => cloneValue(value, index)}\n />\n </Bind.ValidationContainer>\n )}\n </Bind>\n </ParentValueIndexProvider>\n );\n })}\n </MultiValueContainer>\n </ParentFieldProvider>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}