@selfcommunity/react-ui 0.7.0-alpha.22 → 0.7.0-alpha.24

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.
@@ -9,12 +9,12 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useMemo } from 'react';
12
+ import React, { useMemo, useState } from 'react';
13
13
  import { styled } from '@mui/material/styles';
14
- import { Box, Grid, Typography } from '@mui/material';
15
- import { defineMessages, useIntl } from 'react-intl';
14
+ import { Box, Link, Grid, Typography } from '@mui/material';
15
+ import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
16
16
  import { camelCase, Logger } from '@selfcommunity/utils';
17
- import { SCPreferences, useSCFetchUser, useSCPreferences } from '@selfcommunity/react-core';
17
+ import { SCPreferences, useSCFetchUser, useSCPreferences, useSCUser } from '@selfcommunity/react-core';
18
18
  import { DEFAULT_FIELDS } from '../../constants/UserProfile';
19
19
  import UserProfileInfoSkeleton from './Skeleton';
20
20
  import classNames from 'classnames';
@@ -22,6 +22,8 @@ import { useThemeProps } from '@mui/system';
22
22
  import { SCUserProfileFields } from '../../types';
23
23
  import { SCOPE_SC_UI } from '../../constants/Errors';
24
24
  import Tags, { TagsComponentType } from '../../shared/Tags';
25
+ import PublicInfo from '../UserProfileEdit/Section/PublicInfo';
26
+ import BaseDialog from '../../shared/BaseDialog';
25
27
  const messages = defineMessages({
26
28
  realName: {
27
29
  id: 'ui.userProfileInfo.realName',
@@ -58,12 +60,21 @@ const messages = defineMessages({
58
60
  tags: {
59
61
  id: 'ui.userProfileInfo.website',
60
62
  defaultMessage: 'ui.userProfileInfo.website'
63
+ },
64
+ fieldLink: {
65
+ id: 'ui.userProfileInfo.fieldLink',
66
+ defaultMessage: 'ui.userProfileInfo.fieldLink'
67
+ },
68
+ fieldLinkFemale: {
69
+ id: 'ui.userProfileInfo.fieldLink.female',
70
+ defaultMessage: 'ui.userProfileInfo.fieldLink.female'
61
71
  }
62
72
  });
63
73
  const PREFIX = 'SCUserProfileInfo';
64
74
  const classes = {
65
75
  root: `${PREFIX}-root`,
66
- field: `${PREFIX}-field`
76
+ field: `${PREFIX}-field`,
77
+ fieldLink: `${PREFIX}-field-link`
67
78
  };
68
79
  const Root = styled(Box, {
69
80
  name: PREFIX,
@@ -73,6 +84,9 @@ const Root = styled(Box, {
73
84
  margin: theme.spacing(2),
74
85
  [`& .${classes.field}`]: {
75
86
  fontWeight: 'bold'
87
+ },
88
+ [`& .${classes.fieldLink}`]: {
89
+ textDecoration: 'none'
76
90
  }
77
91
  }));
78
92
  /**
@@ -106,10 +120,29 @@ export default function UserProfileInfo(inProps) {
106
120
  name: PREFIX
107
121
  });
108
122
  const { className = null, userId = null, user = null, fields = [...DEFAULT_FIELDS] } = props, rest = __rest(props, ["className", "userId", "user", "fields"]);
123
+ // CONTEXT
124
+ const scUserContext = useSCUser();
109
125
  // STATE
110
126
  const { scUser, setSCUser } = useSCFetchUser({ id: userId, user });
127
+ const isMe = scUserContext.user && scUserContext.user.id === (scUser === null || scUser === void 0 ? void 0 : scUser.id);
128
+ const [openDialog, setOpenDialog] = useState(false);
129
+ const [editField, setEditField] = useState('');
111
130
  // INTL
112
131
  const intl = useIntl();
132
+ const isIt = intl.locale === 'it';
133
+ const renderFieldTranslation = (field) => {
134
+ if (isIt) {
135
+ switch (field) {
136
+ case SCUserProfileFields.DATE_OF_BIRTH:
137
+ case SCUserProfileFields.DESCRIPTION:
138
+ case SCUserProfileFields.BIO:
139
+ return intl.formatMessage(messages.fieldLinkFemale, { field: intl.formatMessage(messages[camelCase(field)]).toLowerCase() });
140
+ default:
141
+ return intl.formatMessage(messages.fieldLink, { field: intl.formatMessage(messages[camelCase(field)]).toLowerCase() });
142
+ }
143
+ }
144
+ return intl.formatMessage(messages.fieldLink, { field: intl.formatMessage(messages[camelCase(field)]).toLowerCase() });
145
+ };
113
146
  // PREFERENCES
114
147
  const scPreferences = useSCPreferences();
115
148
  const metadataDefinitions = useMemo(() => {
@@ -137,6 +170,16 @@ export default function UserProfileInfo(inProps) {
137
170
  return user[field];
138
171
  }
139
172
  };
173
+ const handleDialogOpening = (field) => {
174
+ setEditField(field);
175
+ setOpenDialog(true);
176
+ };
177
+ const renderFieldLink = (field) => {
178
+ return (React.createElement(Link, { component: "button", variant: "body2", onClick: () => handleDialogOpening(field), className: classes.fieldLink }, renderFieldTranslation(field)));
179
+ };
180
+ const handleFieldUpdate = (f) => {
181
+ setSCUser(Object.assign({}, scUser, f));
182
+ };
140
183
  if (!scUser || !metadataDefinitions) {
141
184
  return React.createElement(UserProfileInfoSkeleton, null);
142
185
  }
@@ -157,7 +200,18 @@ export default function UserProfileInfo(inProps) {
157
200
  ' ',
158
201
  renderField(scUser, field))));
159
202
  }
203
+ else if (isMe) {
204
+ return (React.createElement(Grid, { item: true, xs: 6, key: field },
205
+ React.createElement(Typography, { variant: "body2" },
206
+ React.createElement("span", { className: classes.field },
207
+ metadataDefinitions[field] ? metadataDefinitions[field].label : intl.formatMessage(messages[camelCase(field)]),
208
+ ":"),
209
+ ' ',
210
+ renderFieldLink(field))));
211
+ }
160
212
  return null;
161
- }))));
213
+ })),
214
+ openDialog && (React.createElement(BaseDialog, Object.assign({ title: React.createElement(FormattedMessage, { id: "ui.userProfileInfo.dialog.title", defaultMessage: "ui.userProfileInfo.dialog.title" }), open: openDialog, onClose: () => setOpenDialog(false), className: classNames(classes.root, className) }, rest),
215
+ React.createElement(PublicInfo, { editingField: editField, onEditSuccess: (f) => handleFieldUpdate(f) })))));
162
216
  }
163
217
  //# sourceMappingURL=UserProfileInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfileInfo.js","sourceRoot":"","sources":["../../../../src/components/UserProfileInfo/UserProfileInfo.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,cAAc,EAAE,OAAO,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,aAAa,EAA4B,cAAc,EAAE,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AACpH,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,uBAAuB,MAAM,YAAY,CAAC;AACjD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,IAAI,EAAE,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAE1D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,QAAQ,EAAE;QACR,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,6BAA6B;KAC9C;IACD,UAAU,EAAE;QACV,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,+BAA+B;KAChD;IACD,GAAG,EAAE;QACH,EAAE,EAAE,wBAAwB;QAC5B,cAAc,EAAE,wBAAwB;KACzC;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,6BAA6B;KAC9C;IACD,WAAW,EAAE;QACX,EAAE,EAAE,gCAAgC;QACpC,cAAc,EAAE,gCAAgC;KACjD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,gCAAgC;QACpC,cAAc,EAAE,gCAAgC;KACjD;IACD,MAAM,EAAE;QACN,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,2BAA2B;KAC5C;IACD,OAAO,EAAE;QACP,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,4BAA4B;KAC7C;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,4BAA4B;KAC7C;CACF,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,GAAG,MAAM,OAAO;IACtB,KAAK,EAAE,GAAG,MAAM,QAAQ;CACzB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;IACvB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;CAClD,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;QACvB,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAC,CAAC;AA0BJ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,OAA6B;IACnE,QAAQ;IACR,MAAM,KAAK,GAAyB,aAAa,CAAC;QAChD,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,MAAM,EAAC,SAAS,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,KAAa,KAAK,EAAb,IAAI,UAAI,KAAK,EAA7F,yCAAqF,CAAQ,CAAC;IAEpG,QAAQ;IACR,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,cAAc,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IAE/D,OAAO;IACP,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,cAAc;IACd,MAAM,aAAa,GAA6B,gBAAgB,EAAE,CAAC;IACnE,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,wCAAwC,IAAI,aAAa,CAAC,WAAW,EAAE;YACpH,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5G;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC/F,OAAO,EAAE,CAAC;aACX;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IAEhC,SAAS;IACT,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAClC,QAAQ,KAAK,EAAE;YACb,KAAK,mBAAmB,CAAC,WAAW,CAAC;YACrC,KAAK,mBAAmB,CAAC,aAAa;gBACpC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,EAAE,CAAC;YAChG,KAAK,mBAAmB,CAAC,IAAI;gBAC3B,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAC5B,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,EAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAC,GACnD,CACH,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE;QACnC,OAAO,oBAAC,uBAAuB,OAAG,CAAC;KACpC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,oBAAC,IAAI,kBAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAM,IAAI;QAC5D,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,KAAK,KAAK,mBAAmB,CAAC,IAAI,EAAE;oBACtC,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,IACvB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,IACd,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB,CACR,CACc,CAClB,CAAC;iBACH;gBACD,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;oBAC1B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO;wBACzB,8BAAM,SAAS,EAAE,OAAO,CAAC,KAAK;4BAC3B,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gCAC1G;wBAAC,GAAG;wBACV,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CACR,CACR,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACG,CACF,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"UserProfileInfo.js","sourceRoot":"","sources":["../../../../src/components/UserProfileInfo/UserProfileInfo.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAC,MAAM,YAAY,CAAC;AACrE,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,aAAa,EAA+C,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAClJ,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,uBAAuB,MAAM,YAAY,CAAC;AACjD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,IAAI,EAAE,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,QAAQ,EAAE;QACR,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,6BAA6B;KAC9C;IACD,UAAU,EAAE;QACV,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,+BAA+B;KAChD;IACD,GAAG,EAAE;QACH,EAAE,EAAE,wBAAwB;QAC5B,cAAc,EAAE,wBAAwB;KACzC;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,6BAA6B;KAC9C;IACD,WAAW,EAAE;QACX,EAAE,EAAE,gCAAgC;QACpC,cAAc,EAAE,gCAAgC;KACjD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,gCAAgC;QACpC,cAAc,EAAE,gCAAgC;KACjD;IACD,MAAM,EAAE;QACN,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,2BAA2B;KAC5C;IACD,OAAO,EAAE;QACP,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,4BAA4B;KAC7C;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,4BAA4B;KAC7C;IACD,SAAS,EAAE;QACT,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,8BAA8B;KAC/C;IACD,eAAe,EAAE;QACf,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,qCAAqC;KACtD;CACF,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,GAAG,MAAM,OAAO;IACtB,KAAK,EAAE,GAAG,MAAM,QAAQ;IACxB,SAAS,EAAE,GAAG,MAAM,aAAa;CAClC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;IACvB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;CAClD,CAAC,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;QACvB,UAAU,EAAE,MAAM;KACnB;IACD,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE;QAC3B,cAAc,EAAE,MAAM;KACvB;CACF,CAAC,CAAC,CAAC;AA0BJ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,OAA6B;IACnE,QAAQ;IACR,MAAM,KAAK,GAAyB,aAAa,CAAC;QAChD,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,MAAM,EAAC,SAAS,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,KAAa,KAAK,EAAb,IAAI,UAAI,KAAK,EAA7F,yCAAqF,CAAQ,CAAC;IACpG,UAAU;IACV,MAAM,aAAa,GAAsB,SAAS,EAAE,CAAC;IACrD,QAAQ;IACR,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,cAAc,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,MAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA,CAAC;IACxE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEvD,OAAO;IACP,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAElC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,IAAI,EAAE;YACR,QAAQ,KAAK,EAAE;gBACb,KAAK,mBAAmB,CAAC,aAAa,CAAC;gBACvC,KAAK,mBAAmB,CAAC,WAAW,CAAC;gBACrC,KAAK,mBAAmB,CAAC,GAAG;oBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;gBAC7H;oBACE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;aACxH;SACF;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;IACvH,CAAC,CAAC;IAEF,cAAc;IACd,MAAM,aAAa,GAA6B,gBAAgB,EAAE,CAAC;IACnE,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,wCAAwC,IAAI,aAAa,CAAC,WAAW,EAAE;YACpH,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5G;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC/F,OAAO,EAAE,CAAC;aACX;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IAEhC,SAAS;IACT,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAClC,QAAQ,KAAK,EAAE;YACb,KAAK,mBAAmB,CAAC,WAAW,CAAC;YACrC,KAAK,mBAAmB,CAAC,aAAa;gBACpC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC,EAAE,CAAC;YAChG,KAAK,mBAAmB,CAAC,IAAI;gBAC3B,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EACxC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAC5B,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,EAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAC,GACnD,CACH,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,EAAE;QACpC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAC7G,sBAAsB,CAAC,KAAK,CAAC,CACzB,CACR,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,EAAE;QAC9B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE;QACnC,OAAO,oBAAC,uBAAuB,OAAG,CAAC;KACpC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,oBAAC,IAAI,kBAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAM,IAAI;QAC5D,oBAAC,IAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,IACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACjB,IAAI,KAAK,KAAK,mBAAmB,CAAC,IAAI,EAAE;oBACtC,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,IACvB,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,EAAE,IACd,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB,CACR,CACc,CAClB,CAAC;iBACH;gBACD,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;oBAC1B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO;wBACzB,8BAAM,SAAS,EAAE,OAAO,CAAC,KAAK;4BAC3B,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gCAC1G;wBAAC,GAAG;wBACV,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CACR,CACR,CAAC;aACH;iBAAM,IAAI,IAAI,EAAE;gBACf,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;oBAC1B,oBAAC,UAAU,IAAC,OAAO,EAAC,OAAO;wBACzB,8BAAM,SAAS,EAAE,OAAO,CAAC,KAAK;4BAC3B,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gCAC1G;wBAAC,GAAG;wBACV,eAAe,CAAC,KAAK,CAAC,CACZ,CACR,CACR,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACG;QACN,UAAU,IAAI,CACb,oBAAC,UAAU,kBACT,KAAK,EAAE,oBAAC,gBAAgB,IAAC,EAAE,EAAC,iCAAiC,EAAC,cAAc,EAAC,iCAAiC,GAAG,EACjH,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAC1C,IAAI;YACR,oBAAC,UAAU,IAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAI,CAC5E,CACd,CACI,CACR,CAAC;AACJ,CAAC"}