@darajs/components 1.20.1 → 1.20.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.
@@ -15,6 +15,8 @@ type ButtonProps = OmitFromMappedType<StyledComponentProps, 'children'> & React.
15
15
  onclick: Action;
16
16
  /** If true the button will have the outline look, otherwise by default it takes the filled style */
17
17
  outline?: boolean;
18
+ /** Whether to propagate the click event to the parent element, defaults to true */
19
+ stop_click_propagation: boolean;
18
20
  /** Preset styling property for the button */
19
21
  styling: 'primary' | 'secondary' | 'error' | 'ghost' | 'plain';
20
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../js/common/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACH,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAGd,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAOhB,MAAM,cAAc,CAAC;AAMtB,KAAK,kBAAkB,CAAC,IAAI,EAAE,MAAM,IAAI;KACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CACxE,CAAC;AAEF,KAAK,WAAW,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,UAAU,CAAC,GACnE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACtC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IAC5C,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAClE,CAAC;;AAiEN,wBAAwC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../js/common/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACH,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAGd,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAOhB,MAAM,cAAc,CAAC;AAMtB,KAAK,kBAAkB,CAAC,IAAI,EAAE,MAAM,IAAI;KACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CACxE,CAAC;AAEF,KAAK,WAAW,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,UAAU,CAAC,GACnE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACtC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;IAC5C,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,sBAAsB,EAAE,OAAO,CAAC;IAChC,6CAA6C;IAC7C,OAAO,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAClE,CAAC;;AAsEN,wBAAwC"}
@@ -33,7 +33,12 @@ function Button(_a, ref) {
33
33
  // Extract icon and grab color from first child if it has it
34
34
  const Icon = icon ? getIcon(icon) : null;
35
35
  const iconColor = Array.isArray(children) ? ((_c = (_b = children === null || children === void 0 ? void 0 : children[0]) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.color) || 'inherit' : 'inherit';
36
- return (_jsxs(StyledButton, Object.assign({ "$rawCss": css, className: className, disabled: disabledValue, isSimpleButton: typeof children === 'string' || ((_d = children[0]) === null || _d === void 0 ? void 0 : _d.name) === 'Text', loading: loading, onClick: () => onClick(null), outline: outline, style: Object.assign({ gap: '0.75rem' }, style), styling: styling, ref: ref }, props, { children: [Icon && (_jsx(Icon, { style: {
36
+ return (_jsxs(StyledButton, Object.assign({ "$rawCss": css, className: className, disabled: disabledValue, isSimpleButton: typeof children === 'string' || ((_d = children[0]) === null || _d === void 0 ? void 0 : _d.name) === 'Text', loading: loading, onClick: (e) => {
37
+ if (props.stop_click_propagation !== false) {
38
+ e.stopPropagation();
39
+ }
40
+ onClick(null);
41
+ }, outline: outline, style: Object.assign({ gap: '0.75rem' }, style), styling: styling, ref: ref }, props, { children: [Icon && (_jsx(Icon, { style: {
37
42
  color: iconColor,
38
43
  cursor: 'pointer',
39
44
  } })), _jsx(DisplayCtx.Provider, { value: { component: ComponentType.BUTTON, direction: 'horizontal' }, children: typeof children === 'string' ?
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../js/common/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIH,UAAU,EACV,gBAAgB,EAGhB,OAAO,EACP,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA8B7C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAmB;YACtD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;CACrE,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,MAAM,CACX,EAAyF,EACzF,GAAoC;;QADpC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,OAAyB,EAApB,KAAK,cAA1E,8EAA4E,CAAF;IAG1E,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAsC,CAAC,CAAC,CAAC,sFAAsF;IACvK,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEvD,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,0CAAE,KAAK,0CAAE,KAAK,KAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,OAAO,CACH,MAAC,YAAY,6BACA,GAAG,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,MAAM,EAC5E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,kBACD,GAAG,EAAE,SAAS,IACX,KAAK,GAEZ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,IACJ,KAAK,eAER,IAAI,IAAI,CACL,KAAC,IAAI,IACD,KAAK,EAAE;oBACH,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBACpB,GACH,CACL,EACD,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YACnF,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;oBAC3B,QAAQ;oBACZ,CAAC,CAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,IAAO,UAAU,KAAK,CAAC,GAAG,EAAE,CAAI,CAAC,GAC7E,KACX,CAClB,CAAC;AACN,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../js/common/button/button.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIH,UAAU,EACV,gBAAgB,EAGhB,OAAO,EACP,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgC7C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAmB;YACtD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;CACrE,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,MAAM,CACX,EAAyF,EACzF,GAAoC;;QADpC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,OAAyB,EAApB,KAAK,cAA1E,8EAA4E,CAAF;IAG1E,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAsC,CAAC,CAAC,CAAC,sFAAsF;IACvK,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEvD,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,0CAAE,KAAK,0CAAE,KAAK,KAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,OAAO,CACH,MAAC,YAAY,6BACA,GAAG,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,MAAM,EAC5E,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,CAAsC,EAAE,EAAE;YAChD,IAAI,KAAK,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;gBACzC,CAAC,CAAC,eAAe,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,KAAK,kBACD,GAAG,EAAE,SAAS,IACX,KAAK,GAEZ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,IACJ,KAAK,eAER,IAAI,IAAI,CACL,KAAC,IAAI,IACD,KAAK,EAAE;oBACH,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBACpB,GACH,CACL,EACD,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YACnF,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;oBAC3B,QAAQ;oBACZ,CAAC,CAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,IAAO,UAAU,KAAK,CAAC,GAAG,EAAE,CAAI,CAAC,GAC7E,KACX,CAClB,CAAC;AACN,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../js/common/markdown/markdown.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,QAAQ,EAA8C,MAAM,cAAc,CAAC;AAGpH,UAAU,aAAc,SAAQ,oBAAoB;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CACvC;AAID;;GAEG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAmBnD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../js/common/markdown/markdown.tsx"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAKhB,MAAM,cAAc,CAAC;AAGtB,UAAU,aAAc,SAAQ,oBAAoB;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CACvC;AAyCD;;GAEG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAsBnD;AAED,eAAe,QAAQ,CAAC"}
@@ -1,8 +1,44 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import rehypeRaw from 'rehype-raw';
3
- import { injectCss, useComponentStyles, useVariable } from '@darajs/core';
3
+ import { visit } from 'unist-util-visit';
4
+ import { injectCss, prependBaseUrl, useComponentStyles, useVariable, } from '@darajs/core';
4
5
  import { Markdown as UiMarkdown } from '@darajs/ui-components';
5
6
  const CustomMarkdown = injectCss(UiMarkdown);
7
+ /**
8
+ * Rehype plugin that prepends the window.dara.base_url to all /static url attributes
9
+ */
10
+ function prependBaseUrlToStaticUrls() {
11
+ return (tree) => {
12
+ visit(tree, 'element', (node) => {
13
+ if (!node.properties) {
14
+ return;
15
+ }
16
+ // Attributes that may contain URLs
17
+ const urlAttrs = ['src', 'href', 'data', 'srcset', 'action'];
18
+ for (const attr of urlAttrs) {
19
+ const value = node.properties[attr];
20
+ if (typeof value === 'string') {
21
+ // Special case: srcset can contain multiple URLs
22
+ if (attr === 'srcset') {
23
+ node.properties[attr] = value
24
+ .split(',')
25
+ .map((part) => {
26
+ const [url, size] = part.trim().split(/\s+/, 2);
27
+ if (url) {
28
+ return `${prependBaseUrl(url)}${size ? ` ${size}` : ''}`;
29
+ }
30
+ return part.trim();
31
+ })
32
+ .join(', ');
33
+ }
34
+ else {
35
+ node.properties[attr] = prependBaseUrl(value);
36
+ }
37
+ }
38
+ }
39
+ });
40
+ };
41
+ }
6
42
  /**
7
43
  * A component for rendering markdown
8
44
  */
@@ -10,9 +46,12 @@ function Markdown(props) {
10
46
  const [style, css] = useComponentStyles(props);
11
47
  const [markdown] = useVariable(props.markdown);
12
48
  const rehypePlugins = [];
49
+ // raw must be before prependBaseUrlToStaticUrls, as we want
50
+ // the prepended base url to be applied to the raw html as well
13
51
  if (props.html_raw) {
14
52
  rehypePlugins.push(rehypeRaw);
15
53
  }
54
+ rehypePlugins.push(prependBaseUrlToStaticUrls);
16
55
  return (_jsx(CustomMarkdown, { "$rawCss": css, className: props.className, style: style, markdown: markdown, rehypePlugins: rehypePlugins }));
17
56
  }
18
57
  export default Markdown;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../js/common/markdown/markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAA4C,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAa/D,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7C;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAoB;IAClC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CACH,KAAC,cAAc,eACF,GAAG,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../js/common/markdown/markdown.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAGH,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,WAAW,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAa/D,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7C;;GAEG;AACH,SAAS,0BAA0B;IAC/B,OAAO,CAAC,IAAU,EAAE,EAAE;QAClB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YAED,mCAAmC;YACnC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,iDAAiD;oBACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK;6BACxB,KAAK,CAAC,GAAG,CAAC;6BACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4BACV,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;4BAChD,IAAI,GAAG,EAAE,CAAC;gCACN,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BAC7D,CAAC;4BACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;wBACvB,CAAC,CAAC;6BACD,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBAClD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAoB;IAClC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAkB,EAAE,CAAC;IAExC,4DAA4D;IAC5D,+DAA+D;IAC/D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAE/C,OAAO,CACH,KAAC,cAAc,eACF,GAAG,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC;AAED,eAAe,QAAQ,CAAC"}