@pnp/spfx-controls-react 3.17.0-beta.7003036 → 3.17.0-beta.7072516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +4 -2
- package/CHANGELOG.md +2 -1
- package/lib/common/SPEntities.d.ts +5 -0
- package/lib/common/SPEntities.d.ts.map +1 -1
- package/lib/common/telemetry/version.js +1 -1
- package/lib/common/utilities/CustomFormatting.d.ts +31 -0
- package/lib/common/utilities/CustomFormatting.d.ts.map +1 -0
- package/lib/common/utilities/CustomFormatting.js +160 -0
- package/lib/common/utilities/CustomFormatting.js.map +1 -0
- package/lib/common/utilities/FormulaEvaluation.d.ts +21 -0
- package/lib/common/utilities/FormulaEvaluation.d.ts.map +1 -0
- package/lib/common/utilities/FormulaEvaluation.js +612 -0
- package/lib/common/utilities/FormulaEvaluation.js.map +1 -0
- package/lib/common/utilities/FormulaEvaluation.types.d.ts +23 -0
- package/lib/common/utilities/FormulaEvaluation.types.d.ts.map +1 -0
- package/lib/common/utilities/FormulaEvaluation.types.js +80 -0
- package/lib/common/utilities/FormulaEvaluation.types.js.map +1 -0
- package/lib/common/utilities/ICustomFormatting.d.ts +27 -0
- package/lib/common/utilities/ICustomFormatting.d.ts.map +1 -0
- package/lib/common/utilities/ICustomFormatting.js +2 -0
- package/lib/common/utilities/ICustomFormatting.js.map +1 -0
- package/lib/controls/dynamicForm/DynamicForm.d.ts +53 -5
- package/lib/controls/dynamicForm/DynamicForm.d.ts.map +1 -1
- package/lib/controls/dynamicForm/DynamicForm.js +828 -536
- package/lib/controls/dynamicForm/DynamicForm.js.map +1 -1
- package/lib/controls/dynamicForm/DynamicForm.module.css +2 -2
- package/lib/controls/dynamicForm/DynamicForm.module.scss.d.ts +4 -0
- package/lib/controls/dynamicForm/DynamicForm.module.scss.d.ts.map +1 -1
- package/lib/controls/dynamicForm/DynamicForm.module.scss.js +25 -21
- package/lib/controls/dynamicForm/DynamicForm.module.scss.js.map +1 -1
- package/lib/controls/dynamicForm/IDynamicFormProps.d.ts +12 -0
- package/lib/controls/dynamicForm/IDynamicFormProps.d.ts.map +1 -1
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts +25 -0
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/DynamicField.d.ts.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/DynamicField.js +57 -42
- package/lib/controls/dynamicForm/dynamicField/DynamicField.js.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/IDynamicFieldProps.d.ts +32 -11
- package/lib/controls/dynamicForm/dynamicField/IDynamicFieldProps.d.ts.map +1 -1
- package/lib/controls/fieldCollectionData/collectionDataItem/CollectionDataItem.js.map +1 -1
- package/lib/controls/webPartTitle/WebPartTitle.js +1 -1
- package/lib/controls/webPartTitle/WebPartTitle.js.map +1 -1
- package/lib/services/ISPService.d.ts +194 -0
- package/lib/services/ISPService.d.ts.map +1 -1
- package/lib/services/ISPService.js +13 -0
- package/lib/services/ISPService.js.map +1 -1
- package/lib/services/SPService.d.ts +10 -1
- package/lib/services/SPService.d.ts.map +1 -1
- package/lib/services/SPService.js +69 -0
- package/lib/services/SPService.js.map +1 -1
- package/lib/services/SPServiceMock.d.ts +3 -1
- package/lib/services/SPServiceMock.d.ts.map +1 -1
- package/lib/services/SPServiceMock.js +6 -0
- package/lib/services/SPServiceMock.js.map +1 -1
- package/package.json +1 -1
- package/release/manifests/45165954-80f9-44c1-9967-cd38ae92a33b.manifest.json +58 -3
- package/tests/utils/formulaevaluation.test.ts +248 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare type TokenType = "FUNCTION" | "STRING" | "NUMBER" | "UNARY_MINUS" | "BOOLEAN" | "WORD" | "OPERATOR" | "ARRAY" | "VARIABLE";
|
|
2
|
+
export declare class Token {
|
|
3
|
+
type: TokenType;
|
|
4
|
+
value: string | number;
|
|
5
|
+
constructor(tokenType: TokenType, value: string | number);
|
|
6
|
+
toString(): string;
|
|
7
|
+
}
|
|
8
|
+
export declare type ArrayNodeValue = (string | number | ArrayNodeValue)[];
|
|
9
|
+
export declare class ArrayLiteralNode {
|
|
10
|
+
elements: ArrayNodeValue;
|
|
11
|
+
constructor(elements: ArrayNodeValue);
|
|
12
|
+
evaluate(): ArrayNodeValue;
|
|
13
|
+
}
|
|
14
|
+
export declare type ASTNode = {
|
|
15
|
+
type: string;
|
|
16
|
+
value?: string | number;
|
|
17
|
+
operands?: (ASTNode | ArrayLiteralNode)[];
|
|
18
|
+
};
|
|
19
|
+
export declare type Context = {
|
|
20
|
+
[key: string]: boolean | number | object | string | undefined;
|
|
21
|
+
};
|
|
22
|
+
export declare const ValidFuncNames: string[];
|
|
23
|
+
//# sourceMappingURL=FormulaEvaluation.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormulaEvaluation.types.d.ts","sourceRoot":"","sources":["../../../src/common/utilities/FormulaEvaluation.types.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAElI,qBAAa,KAAK;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;gBAEX,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKxD,QAAQ,IAAI,MAAM;CAGrB;AAED,oBAAY,cAAc,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;AAClE,qBAAa,gBAAgB;IACzB,QAAQ,EAAE,cAAc,CAAC;gBAEb,QAAQ,EAAE,cAAc;IAIpC,QAAQ,IAAI,cAAc;CAqB7B;AAED,oBAAY,OAAO,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEF,oBAAY,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAExF,eAAO,MAAM,cAAc,UAyC1B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var Token = /** @class */ (function () {
|
|
2
|
+
function Token(tokenType, value) {
|
|
3
|
+
this.type = tokenType;
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
Token.prototype.toString = function () {
|
|
7
|
+
return "".concat(this.type, ": ").concat(this.value);
|
|
8
|
+
};
|
|
9
|
+
return Token;
|
|
10
|
+
}());
|
|
11
|
+
export { Token };
|
|
12
|
+
var ArrayLiteralNode = /** @class */ (function () {
|
|
13
|
+
function ArrayLiteralNode(elements) {
|
|
14
|
+
this.elements = elements; // Store array elements
|
|
15
|
+
}
|
|
16
|
+
ArrayLiteralNode.prototype.evaluate = function () {
|
|
17
|
+
// Evaluate array elements and return the array
|
|
18
|
+
var evaluatedElements = this.elements.map(function (element) {
|
|
19
|
+
if (element instanceof ArrayLiteralNode) {
|
|
20
|
+
return element.evaluate();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (typeof element === "string" &&
|
|
24
|
+
((element.startsWith("'") && element.endsWith("'")) ||
|
|
25
|
+
(element.startsWith('"') && element.endsWith('"')))) {
|
|
26
|
+
return element.slice(1, -1);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return element;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return evaluatedElements;
|
|
34
|
+
};
|
|
35
|
+
return ArrayLiteralNode;
|
|
36
|
+
}());
|
|
37
|
+
export { ArrayLiteralNode };
|
|
38
|
+
export var ValidFuncNames = [
|
|
39
|
+
"if",
|
|
40
|
+
"ternary",
|
|
41
|
+
"Number",
|
|
42
|
+
"abs",
|
|
43
|
+
"floor",
|
|
44
|
+
"ceiling",
|
|
45
|
+
"pow",
|
|
46
|
+
"cos",
|
|
47
|
+
"sin",
|
|
48
|
+
"indexOf",
|
|
49
|
+
"lastIndexOf",
|
|
50
|
+
"toString",
|
|
51
|
+
"join",
|
|
52
|
+
"substring",
|
|
53
|
+
"toUpperCase",
|
|
54
|
+
"toLowerCase",
|
|
55
|
+
"startsWith",
|
|
56
|
+
"endsWith",
|
|
57
|
+
"replaceAll",
|
|
58
|
+
"replace",
|
|
59
|
+
"padStart",
|
|
60
|
+
"padEnd",
|
|
61
|
+
"split",
|
|
62
|
+
"toDateString",
|
|
63
|
+
"toDate",
|
|
64
|
+
"toLocaleString",
|
|
65
|
+
"toLocaleDateString",
|
|
66
|
+
"toLocaleTimeString",
|
|
67
|
+
"getDate",
|
|
68
|
+
"getMonth",
|
|
69
|
+
"getYear",
|
|
70
|
+
"addDays",
|
|
71
|
+
"addMinutes",
|
|
72
|
+
"getUserImage",
|
|
73
|
+
"getThumbnailImage",
|
|
74
|
+
"indexOf",
|
|
75
|
+
"length",
|
|
76
|
+
"appendTo",
|
|
77
|
+
"removeFrom",
|
|
78
|
+
"loopIndex"
|
|
79
|
+
];
|
|
80
|
+
//# sourceMappingURL=FormulaEvaluation.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormulaEvaluation.types.js","sourceRoot":"","sources":["../../../src/common/utilities/FormulaEvaluation.types.ts"],"names":[],"mappings":"AAEA;IAII,eAAY,SAAoB,EAAE,KAAsB;QACpD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,wBAAQ,GAAR;QACI,OAAO,UAAG,IAAI,CAAC,IAAI,eAAK,IAAI,CAAC,KAAK,CAAE,CAAC;IACzC,CAAC;IACL,YAAC;AAAD,CAAC,AAZD,IAYC;;AAGD;IAGI,0BAAY,QAAwB;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,uBAAuB;IACrD,CAAC;IAED,mCAAQ,GAAR;QACI,+CAA+C;QAC/C,IAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO;YAChD,IAAI,OAAO,YAAY,gBAAgB,EAAE;gBACrC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;aAC7B;iBAAM;gBACH,IACI,OAAO,OAAO,KAAK,QAAQ;oBAC3B,CACI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAClD,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACrD,EACH;oBACE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC/B;qBAAM;oBACH,OAAO,OAAO,CAAC;iBAClB;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACL,uBAAC;AAAD,CAAC,AA5BD,IA4BC;;AAUD,MAAM,CAAC,IAAM,cAAc,GAAG;IAC1B,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,aAAa;IACb,UAAU;IACV,MAAM;IACN,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,cAAc;IACd,QAAQ;IACR,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,SAAS;IACT,UAAU;IACV,SAAS;IACT,SAAS;IACT,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;CACd,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
2
|
+
export interface ICustomFormattingExpressionNode {
|
|
3
|
+
operator: string;
|
|
4
|
+
operands: (string | number | ICustomFormattingExpressionNode)[];
|
|
5
|
+
}
|
|
6
|
+
export interface ICustomFormattingNode {
|
|
7
|
+
elmType: keyof HTMLElementTagNameMap;
|
|
8
|
+
iconName: string;
|
|
9
|
+
style: CSSProperties;
|
|
10
|
+
attributes?: {
|
|
11
|
+
[key: string]: string;
|
|
12
|
+
};
|
|
13
|
+
children?: ICustomFormattingNode[];
|
|
14
|
+
txtContent?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ICustomFormattingBodySection {
|
|
17
|
+
displayname: string;
|
|
18
|
+
fields: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ICustomFormatting {
|
|
21
|
+
headerJSONFormatter: ICustomFormattingNode;
|
|
22
|
+
bodyJSONFormatter: {
|
|
23
|
+
sections: ICustomFormattingBodySection[];
|
|
24
|
+
};
|
|
25
|
+
footerJSONFormatter: ICustomFormattingNode;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ICustomFormatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICustomFormatting.d.ts","sourceRoot":"","sources":["../../../src/common/utilities/ICustomFormatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,+BAA+B,CAAC,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,qBAAqB,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,iBAAiB,EAAE;QACf,QAAQ,EAAE,4BAA4B,EAAE,CAAC;KAC5C,CAAC;IACF,mBAAmB,EAAE,qBAAqB,CAAC;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ICustomFormatting.js","sourceRoot":"","sources":["../../../src/common/utilities/ICustomFormatting.ts"],"names":[],"mappings":""}
|
|
@@ -1,38 +1,86 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { IDynamicFormProps } from "./IDynamicFormProps";
|
|
3
|
-
import { IDynamicFormState } from "./IDynamicFormState";
|
|
4
2
|
import "@pnp/sp/lists";
|
|
5
3
|
import "@pnp/sp/content-types";
|
|
6
4
|
import "@pnp/sp/folders";
|
|
7
5
|
import "@pnp/sp/items";
|
|
6
|
+
import { IDynamicFormProps } from "./IDynamicFormProps";
|
|
7
|
+
import { IDynamicFormState } from "./IDynamicFormState";
|
|
8
8
|
/**
|
|
9
9
|
* DynamicForm Class Control
|
|
10
10
|
*/
|
|
11
11
|
export declare class DynamicForm extends React.Component<IDynamicFormProps, IDynamicFormState> {
|
|
12
12
|
private _spService;
|
|
13
|
+
private _formulaEvaluation;
|
|
14
|
+
private _customFormatter;
|
|
13
15
|
private webURL;
|
|
14
16
|
constructor(props: IDynamicFormProps);
|
|
15
17
|
/**
|
|
16
18
|
* Lifecycle hook when component is mounted
|
|
17
19
|
*/
|
|
18
20
|
componentDidMount(): void;
|
|
21
|
+
componentDidUpdate(prevProps: IDynamicFormProps, prevState: IDynamicFormState): void;
|
|
19
22
|
/**
|
|
20
23
|
* Default React component render method
|
|
21
24
|
*/
|
|
22
25
|
render(): JSX.Element;
|
|
26
|
+
private renderField;
|
|
27
|
+
private updateFormMessages;
|
|
28
|
+
/** Triggered when the user submits the form. */
|
|
23
29
|
private onSubmitClick;
|
|
30
|
+
/**
|
|
31
|
+
* Adds selected file to the library
|
|
32
|
+
*/
|
|
24
33
|
private addFileToLibrary;
|
|
34
|
+
/**
|
|
35
|
+
* Triggered when the user makes any field value change in the form
|
|
36
|
+
*/
|
|
25
37
|
private onChange;
|
|
26
|
-
|
|
38
|
+
/** Validation callback, used when form first loads (getListInformation) and following onChange */
|
|
39
|
+
private performValidation;
|
|
40
|
+
/** Determines visibility of fields that have show/hide formulas set in Edit Form > Edit Columns > Edit Conditional Formula */
|
|
41
|
+
private evaluateColumnVisibilityFormulas;
|
|
42
|
+
/** Evaluates field validation formulas set in column settings and returns a Record of error messages */
|
|
43
|
+
private evaluateFieldValueFormulas;
|
|
44
|
+
/**
|
|
45
|
+
* Evaluates formulas and returns a Record of error messages or an array of column names that have failed validation
|
|
46
|
+
* @param formulas A Record / dictionary-like object, where key is internal column name and value is an object with ValidationFormula and ValidationMessage properties
|
|
47
|
+
* @param returnMessages Determines whether a Record of error messages is returned or an array of column names that have failed validation
|
|
48
|
+
* @param requireValue Set to true if the formula should only be evaluated when the field has a value
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
private evaluateFormulas;
|
|
52
|
+
/**
|
|
53
|
+
* Used for validation. Returns a Record of field values, where key is internal column name and value is the field value.
|
|
54
|
+
* Expands certain properties and stores many of them as primitives (strings, numbers or bools) so the expression evaluator
|
|
55
|
+
* can process them. For example: a User column named Person will have values stored as Person, Person.email, Person.title etc.
|
|
56
|
+
* This is so the expression evaluator can process expressions like '=[$Person.title] == "Contoso Employee 1138"'
|
|
57
|
+
* @param fieldCollection Optional. Could be used to compare field values in state with previous state.
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
private getFormValuesForValidation;
|
|
61
|
+
/**
|
|
62
|
+
* Invoked when component first mounts, loads information about the SharePoint list, fields and list item
|
|
63
|
+
*/
|
|
64
|
+
private getListInformation;
|
|
65
|
+
/**
|
|
66
|
+
* Builds a collection of fields to be rendered in the form
|
|
67
|
+
* @param listInfo Data returned by RenderListDataAsStream with RenderOptions = 64 (ClientFormSchema)
|
|
68
|
+
* @param contentTypeName SharePoint List Content Type
|
|
69
|
+
* @param item SharePoint List Item
|
|
70
|
+
* @param numberFields Additional information about Number fields (min and max values)
|
|
71
|
+
* @param listId SharePoint List ID
|
|
72
|
+
* @param listItemId SharePoint List Item ID
|
|
73
|
+
* @param disabledFields Fields that should be disabled due to configuration
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
private buildFieldCollection;
|
|
27
77
|
private cultureNameLookup;
|
|
28
78
|
private uploadImage;
|
|
29
79
|
private getImageArrayBuffer;
|
|
30
|
-
private getFormFields;
|
|
31
80
|
private closeValidationErrorDialog;
|
|
32
81
|
private getValidationErrorTitle;
|
|
33
82
|
private getValidationErrorMessage;
|
|
34
83
|
private renderFileSelectionControl;
|
|
35
84
|
private getFileIconFromExtension;
|
|
36
|
-
private isEmptyNumOrString;
|
|
37
85
|
}
|
|
38
86
|
//# sourceMappingURL=DynamicForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicForm.d.ts","sourceRoot":"","sources":["../../../src/controls/dynamicForm/DynamicForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DynamicForm.d.ts","sourceRoot":"","sources":["../../../src/controls/dynamicForm/DynamicForm.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6B/B,OAAO,eAAe,CAAC;AACvB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,eAAe,CAAC;AAYvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,SAAS,CAC9C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO,CAAC,MAAM,CAEqC;gBAEvC,KAAK,EAAE,iBAAiB;IA0CpC;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAWzB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAwB3F;;OAEG;IACI,MAAM,IAAI,GAAG,CAAC,OAAO;IAqH5B,OAAO,CAAC,WAAW,CAoClB;IAED,OAAO,CAAC,kBAAkB;IAO1B,gDAAgD;IAChD,OAAO,CAAC,aAAa,CA+TnB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CA2DvB;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ,CAyFd;IAEF,kGAAkG;IAClG,OAAO,CAAC,iBAAiB,CAexB;IAED,8HAA8H;IAC9H,OAAO,CAAC,gCAAgC,CAEvC;IAED,wGAAwG;IACxG,OAAO,CAAC,0BAA0B,CAEjC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB,CA2BvB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B,CAsCjC;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAgHzB;IAED;;;;;;;;;;OAUG;YAEW,oBAAoB;IA0QlC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW,CAqBjB;IAEF,OAAO,CAAC,mBAAmB,CASzB;IAEF,OAAO,CAAC,0BAA0B,CAIhC;IAEF,OAAO,CAAC,uBAAuB,CAS7B;IAEF,OAAO,CAAC,yBAAyB,CAS/B;IAEF,OAAO,CAAC,0BAA0B,CA6CjC;IAED,OAAO,CAAC,wBAAwB,CAsB/B;CAEF"}
|