@darajs/components 1.10.1 → 1.10.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../js/common/input/input.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,UAAW,SAAQ,kBAAkB;IAC3C,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAE/C,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAQD;;;;GAIG;AACH,iBAAS,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CA+D7C;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../js/common/input/input.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,UAAW,SAAQ,kBAAkB;IAC3C,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAE/C,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAQD;;;;GAIG;AACH,iBAAS,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CA8D7C;AAED,eAAe,KAAK,CAAC"}
@@ -21,9 +21,9 @@ function Input(props) {
21
21
  const [value, setValue] = useVariable(formCtx.resolveInitialValue());
22
22
  const [internalValue, setInternalValue] = useState(value);
23
23
  const onInputAction = useAction(props.onchange);
24
- const debouncedAction = useMemo(() => _debounce(onInputAction, 500), [onInputAction]);
25
- const debouncedSetValue = useMemo(() => _debounce(setValue, 500), [setValue]);
26
- const debouncedUpdateForm = useMemo(() => _debounce(formCtx.updateForm, 500), [formCtx.updateForm]);
24
+ const debouncedAction = useMemo(() => _debounce(onInputAction, 300), [onInputAction]);
25
+ const debouncedSetValue = useMemo(() => _debounce(setValue, 300), [setValue]);
26
+ const debouncedUpdateForm = useMemo(() => _debounce(formCtx.updateForm, 300), [formCtx.updateForm]);
27
27
  function handleChange(val) {
28
28
  let newValue = val;
29
29
  if (props.type === 'number') {
@@ -37,8 +37,7 @@ function Input(props) {
37
37
  debouncedUpdateForm(val);
38
38
  }
39
39
  useEffect(() => {
40
- // cancel in-progress debounced actions to make sure the variable value takes precedence
41
- debouncedAction.cancel();
40
+ // cancel in-progress debounced updates to make sure the variable value takes precedence
42
41
  debouncedSetValue.cancel();
43
42
  debouncedUpdateForm.cancel();
44
43
  // If value has been coerced to string convert it back to number for NumericInput
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../js/common/input/input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../js/common/input/input.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SingleVariable, UrlVariable, Variable } from '@darajs/core';
2
2
  import { Item, ListSection } from '@darajs/ui-components';
3
3
  import { FormComponentProps } from '../types';
4
- export declare function getMultiselectItems(values: Array<any>, items: Array<Item>): Array<Item>;
4
+ export declare function getMultiselectItems(values: Array<unknown>, items: Array<Item>): Array<Item>;
5
5
  interface SelectProps extends FormComponentProps {
6
6
  /** Pass through the className property */
7
7
  className: string;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../js/common/select/select.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,WAAW,EACX,QAAQ,EAKX,MAAM,cAAc,CAAC;AACtB,OAAO,EAEH,IAAI,EAEJ,WAAW,EAId,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAWvF;AAmBD,UAAU,WAAY,SAAQ,kBAAkB;IAC5C,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,mDAAmD;IAEnD,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;CAClD;AAID;;;;;;;GAOG;AACH,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA4J/C;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../js/common/select/select.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,WAAW,EACX,QAAQ,EAKX,MAAM,cAAc,CAAC;AACtB,OAAO,EAEH,IAAI,EAEJ,WAAW,EAId,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAW3F;AAmBD,UAAU,WAAY,SAAQ,kBAAkB;IAC5C,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,mDAAmD;IAEnD,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;CAClD;AAID;;;;;;;GAOG;AACH,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAuJ/C;AAED,eAAe,MAAM,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable react-hooks/exhaustive-deps */
3
- import { isArray, isEmpty } from 'lodash';
4
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { isArray, isEmpty, isEqual } from 'lodash';
4
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
5
5
  import { injectCss, useAction, useComponentStyles, useVariable, } from '@darajs/core';
6
6
  import { ComboBox, MultiSelect, SectionedList, Select as UiSelect, } from '@darajs/ui-components';
7
7
  import { useFormContext } from '../context';
@@ -42,11 +42,16 @@ function isItem(obj) {
42
42
  * @param props the component props
43
43
  */
44
44
  function Select(props) {
45
- var _a;
46
45
  const formCtx = useFormContext(props);
47
46
  const [items] = useVariable(props.items);
48
47
  const [style, css] = useComponentStyles(props);
49
48
  const [value, setValue] = useVariable(formCtx.resolveInitialValue());
49
+ // Some combination of recoil state changes and downshift can cause an infinite loop when selecting a new value
50
+ // This prevents infinite rerenders by always using the latest value
51
+ const valueRef = useRef(value);
52
+ useLayoutEffect(() => {
53
+ valueRef.current = value;
54
+ }, [value]);
50
55
  // In the case of a Variable or DerivedVariable we could end up with an array of strings instead of items, so we need to convert them if that happens
51
56
  const formattedItems = useMemo(() => {
52
57
  if (isStringArray(items)) {
@@ -66,7 +71,7 @@ function Select(props) {
66
71
  return matchingItem;
67
72
  }
68
73
  // Otherwise return the item as an Item type with the value as the label, so that select can still show a value even if not present in the list
69
- return typeof val === 'string' || typeof val === 'number' ? { label: String(val), val } : val;
74
+ return typeof val === 'string' || typeof val === 'number' ? { label: String(val), value } : val;
70
75
  };
71
76
  const onChangeAction = useAction(props.onchange);
72
77
  // if someone were to update the component rule of Hooks could be broken if items switched from having sections to not, so we use a ref for this to be only run once
@@ -81,57 +86,40 @@ function Select(props) {
81
86
  }
82
87
  }, []);
83
88
  if (itemHasListSection.current) {
84
- const [selectedItem, setSelectedItem] = useState({ label: value, value });
85
89
  const onSelect = useCallback((item) => {
86
- setSelectedItem(item);
87
- setValue(item.value);
88
- }, [setValue]);
89
- // Handle this way to prevent an infinite loop in the ui component due to referential comparison of selectedItem
90
- useEffect(() => {
91
- if (value !== selectedItem.value) {
92
- setSelectedItem({ label: value, value });
90
+ if (item && item.value !== valueRef.current) {
91
+ setValue(item.value);
93
92
  }
94
- }, [value]);
93
+ }, [setValue]);
94
+ const selectedItem = useMemo(() => toItem(value), [value]);
95
95
  return (_jsx(StyledSectionedList, { "$rawCss": css, items: formattedItems, onSelect: onSelect, selectedItem: selectedItem, style: style }));
96
96
  }
97
97
  // We need to redefine items as the type is not known at this point
98
98
  const itemArray = formattedItems;
99
99
  if (props.multiselect) {
100
- const explicitValues = useMemo(() => (isArray(value) ? value.map(toItem) : value), [value]);
101
- const foundItems = getMultiselectItems(value, itemArray);
102
- const [selectedItems, setSelectedItems] = useState(isEmpty(foundItems) ? explicitValues : foundItems);
103
100
  const onSelect = useCallback((_items) => {
104
101
  const currentSelection = _items.map((item) => item.value);
105
- setSelectedItems(getMultiselectItems(currentSelection, itemArray));
106
- setValue(currentSelection);
107
- onChangeAction(currentSelection);
108
- formCtx.updateForm(currentSelection);
102
+ if (!isEqual(currentSelection, isArray(valueRef.current) ? valueRef.current : [valueRef.current])) {
103
+ setValue(currentSelection);
104
+ onChangeAction(currentSelection);
105
+ formCtx.updateForm(currentSelection);
106
+ }
109
107
  }, [setValue]);
110
- // The loop up to the value in recoil state is too slow for downshift and leads to a race condition that makes
111
- // it fail to update the value sometimes. By keeping a local copy of the value and updating it like this we fix
112
- // the race condition and respect the main value if it is updated elsewhere.
113
- useEffect(() => {
108
+ const selectedItems = useMemo(() => {
114
109
  const found = getMultiselectItems(value, itemArray);
115
- setSelectedItems(isEmpty(found) ? explicitValues !== null && explicitValues !== void 0 ? explicitValues : null : found);
110
+ const explicitValues = isArray(value) ? value.map(toItem) : value;
111
+ return isEmpty(found) ? explicitValues !== null && explicitValues !== void 0 ? explicitValues : null : found;
116
112
  }, [formattedItems, value]);
117
113
  return (_jsx(StyledMultiSelect, { "$rawCss": css, className: props.className, items: itemArray, maxRows: props.max_rows, onSelect: onSelect, placeholder: props.placeholder, selectedItems: selectedItems, style: style }));
118
114
  }
119
- const explicitValue = toItem(value);
120
- const [selectedItem, setSelectedItem] = useState((_a = itemArray.find((item) => String(item.value) === String(value))) !== null && _a !== void 0 ? _a : explicitValue);
115
+ const selectedItem = useMemo(() => { var _a, _b; return (_b = (_a = itemArray.find((item) => String(item.value) === String(value))) !== null && _a !== void 0 ? _a : toItem(value)) !== null && _b !== void 0 ? _b : null; }, [value]);
121
116
  const onSelect = useCallback((item) => {
122
- if (item) {
123
- setSelectedItem(item);
117
+ if (item && item.value !== valueRef.current) {
124
118
  setValue(item.value);
125
119
  onChangeAction(item.value);
126
120
  formCtx.updateForm(item.value);
127
121
  }
128
122
  }, [setValue, onChangeAction]);
129
- // See explanation above
130
- useEffect(() => {
131
- var _a;
132
- const selected = (_a = itemArray.find((item) => item.value === value)) !== null && _a !== void 0 ? _a : explicitValue;
133
- setSelectedItem(selected !== undefined ? selected : null);
134
- }, [formattedItems, value]);
135
123
  if (props.searchable) {
136
124
  return (_jsx(StyledComboBox, { "$rawCss": css, className: props.className, items: itemArray, onSelect: onSelect, placeholder: props.placeholder, selectedItem: selectedItem, style: style }));
137
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../js/common/select/select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../js/common/select/select.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../js/common/textarea/textarea.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,aAAc,SAAQ,kBAAkB;IAC9C,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1E,uFAAuF;IAEvF,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAID;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAyCnD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../js/common/textarea/textarea.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAyD,MAAM,cAAc,CAAC;AAI/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,UAAU,aAAc,SAAQ,kBAAkB;IAC9C,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1E,uFAAuF;IAEvF,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B;AAID;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAwCnD;AAED,eAAe,QAAQ,CAAC"}
@@ -18,9 +18,9 @@ function Textarea(props) {
18
18
  const [value, setValue] = useVariable(formCtx.resolveInitialValue());
19
19
  const [internalValue, setInternalValue] = useState(value);
20
20
  const onInputAction = useAction(props.onchange);
21
- const debouncedAction = useMemo(() => _debounce(onInputAction, 500), [onInputAction]);
22
- const debouncedSetValue = useMemo(() => _debounce(setValue, 500), [setValue]);
23
- const debouncedUpdateForm = useMemo(() => _debounce(formCtx.updateForm, 500), [formCtx.updateForm]);
21
+ const debouncedAction = useMemo(() => _debounce(onInputAction, 300), [onInputAction]);
22
+ const debouncedSetValue = useMemo(() => _debounce(setValue, 300), [setValue]);
23
+ const debouncedUpdateForm = useMemo(() => _debounce(formCtx.updateForm, 300), [formCtx.updateForm]);
24
24
  function handleChange(val) {
25
25
  // immediately update internal state
26
26
  setInternalValue(val);
@@ -30,8 +30,7 @@ function Textarea(props) {
30
30
  debouncedUpdateForm(val);
31
31
  }
32
32
  useEffect(() => {
33
- // cancel in-progress debounced actions to make sure the variable value takes precedence
34
- debouncedAction.cancel();
33
+ // cancel in-progress debounced updates to make sure the variable value takes precedence
35
34
  debouncedSetValue.cancel();
36
35
  debouncedUpdateForm.cancel();
37
36
  // Sync the internal value with the variable value when the variable value changes
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../js/common/textarea/textarea.tsx"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAY,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa5C,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAoB;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpG,SAAS,YAAY,CAAC,GAAW;QAC7B,oCAAoC;QACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtB,mGAAmG;QACnG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACX,wFAAwF;QACxF,eAAe,CAAC,MAAM,EAAE,CAAC;QACzB,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC3B,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAE7B,kFAAkF;QAClF,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACH,KAAC,cAAc,eACF,GAAG,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GACtB,CACL,CAAC;AACN,CAAC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../js/common/textarea/textarea.tsx"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAY,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa5C,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAoB;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpG,SAAS,YAAY,CAAC,GAAW;QAC7B,oCAAoC;QACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtB,mGAAmG;QACnG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACX,wFAAwF;QACxF,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC3B,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAE7B,kFAAkF;QAClF,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACH,KAAC,cAAc,eACF,GAAG,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GACtB,CACL,CAAC;AACN,CAAC;AAED,eAAe,QAAQ,CAAC"}