@appquality/unguess-design-system 2.8.26 → 2.8.27

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.md CHANGED
@@ -1,3 +1,15 @@
1
+ # v2.8.27 (Fri Apr 15 2022)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - Cup 604 skeleton [#40](https://github.com/AppQuality/unguess-design-system/pull/40) ([@cannarocks](https://github.com/cannarocks))
6
+
7
+ #### Authors: 1
8
+
9
+ - Luca Cannarozzo ([@cannarocks](https://github.com/cannarocks))
10
+
11
+ ---
12
+
1
13
  # v2.8.26 (Fri Apr 15 2022)
2
14
 
3
15
  #### ⚠️ Pushed to `master`
package/build/index.d.ts CHANGED
@@ -31,6 +31,7 @@ export * from "./stories/label";
31
31
  export * from "./stories/loaders/progress";
32
32
  export * from "./stories/loaders/skeleton";
33
33
  export * from "./stories/loaders/spinner";
34
+ export * from "./stories/page/pageLoader";
34
35
  export * from "./stories/login-form";
35
36
  export * from "./stories/logo";
36
37
  export * from "./stories/modals";
package/build/index.js CHANGED
@@ -13,13 +13,13 @@ var reactNotifications = require('@zendeskgarden/react-notifications');
13
13
  var reactTags = require('@zendeskgarden/react-tags');
14
14
  var reactForms = require('@zendeskgarden/react-forms');
15
15
  var React = require('react');
16
+ var reactLoaders = require('@zendeskgarden/react-loaders');
16
17
  var reactDropdowns = require('@zendeskgarden/react-dropdowns');
17
18
  var reactGrid = require('@zendeskgarden/react-grid');
18
- var reactLoaders = require('@zendeskgarden/react-loaders');
19
- var formik = require('formik');
19
+ var reactChrome = require('@zendeskgarden/react-chrome');
20
20
  var reactTypography = require('@zendeskgarden/react-typography');
21
+ var formik = require('formik');
21
22
  var reactModals = require('@zendeskgarden/react-modals');
22
- var reactChrome = require('@zendeskgarden/react-chrome');
23
23
  var reactPagination = require('@zendeskgarden/react-pagination');
24
24
  var reactTables = require('@zendeskgarden/react-tables');
25
25
  var reactSpring = require('react-spring');
@@ -230,10 +230,10 @@ var gradients = {
230
230
  dark: "linear-gradient(90.81deg, ".concat(hex2rgba(palette.blue[800]), " 0%, ").concat(hex2rgba(palette.blue[600]), " 100%);"),
231
231
  };
232
232
 
233
- var theme = __assign(__assign({}, reactTheming.DEFAULT_THEME), { palette: palette, fonts: __assign(__assign({}, reactTheming.DEFAULT_THEME.fonts), { system: '"Poppins",sans-serif,Helvetica,Arial,sans-serif' }), gradients: gradients, borderRadii: __assign(__assign({}, reactTheming.DEFAULT_THEME.borderRadii), { lg: "8px" }), components: __assign(__assign({}, reactTheming.DEFAULT_THEME.components), { Headers: __assign(__assign({}, reactTheming.DEFAULT_THEME.components.Headers), { height: "64px" }) }), shadows: __assign(__assign({}, reactTheming.DEFAULT_THEME.shadows), { boxShadow: boxShadow }) });
233
+ var theme = __assign(__assign({}, reactTheming.DEFAULT_THEME), { palette: palette, fonts: __assign(__assign({}, reactTheming.DEFAULT_THEME.fonts), { system: '"Poppins",sans-serif,Helvetica,Arial,sans-serif' }), gradients: gradients, borderRadii: __assign(__assign({}, reactTheming.DEFAULT_THEME.borderRadii), { lg: "8px", xl: "16px", xxl: "32px" }), components: __assign(__assign({}, reactTheming.DEFAULT_THEME.components), { Headers: __assign(__assign({}, reactTheming.DEFAULT_THEME.components.Headers), { height: "64px" }) }), shadows: __assign(__assign({}, reactTheming.DEFAULT_THEME.shadows), { boxShadow: boxShadow }) });
234
234
 
235
- var GlobalStyle = styled.createGlobalStyle(templateObject_1$O || (templateObject_1$O = __makeTemplateObject(["\n body {\n font-family: ", ";\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n svg {\n max-height: 100%;\n }\n \n "], ["\n body {\n font-family: ", ";\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n svg {\n max-height: 100%;\n }\n \n "])), theme.fonts.system);
236
- var templateObject_1$O;
235
+ var GlobalStyle = styled.createGlobalStyle(templateObject_1$P || (templateObject_1$P = __makeTemplateObject(["\n body {\n font-family: ", ";\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n svg {\n max-height: 100%;\n }\n \n "], ["\n body {\n font-family: ", ";\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n svg {\n max-height: 100%;\n }\n \n "])), theme.fonts.system);
236
+ var templateObject_1$P;
237
237
 
238
238
  /**
239
239
  * Accordions are headers that can be expanded to reveal content or collapsed to hide it.
@@ -249,7 +249,7 @@ Accordion.Label = reactAccordions.Accordion.Label;
249
249
  Accordion.Panel = reactAccordions.Accordion.Panel;
250
250
 
251
251
  // import useWindowSize from "../../hooks/useWindowSize";
252
- var UgAvatar = styled__default["default"](reactAvatars.Avatar)(templateObject_1$N || (templateObject_1$N = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
252
+ var UgAvatar = styled__default["default"](reactAvatars.Avatar)(templateObject_1$O || (templateObject_1$O = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
253
253
  return "\n background: ".concat(props.backgroundColor || theme.gradients.dark, ";\n ");
254
254
  });
255
255
  /**
@@ -272,7 +272,7 @@ var Avatar = function (props) {
272
272
  return (jsxRuntime.jsx(UgAvatar, __assign({}, props, { badge: fixedBadge, children: wrapChildren(props.avatarType || "text"), size: props.size || "small" })));
273
273
  };
274
274
  Avatar.Text = UgAvatar.Text;
275
- var templateObject_1$N;
275
+ var templateObject_1$O;
276
276
 
277
277
  /**
278
278
  * Breadcrumbs mark and communicate a user’s location in the product.
@@ -293,7 +293,7 @@ var Breadcrumb = function (props) { return jsxRuntime.jsx(reactBreadcrumbs.Bread
293
293
  */
294
294
  var Anchor = function (props) { return jsxRuntime.jsx(reactButtons.Anchor, __assign({}, props)); };
295
295
 
296
- var UgButton = styled__default["default"](reactButtons.Button)(templateObject_1$M || (templateObject_1$M = __makeTemplateObject([""], [""])));
296
+ var UgButton = styled__default["default"](reactButtons.Button)(templateObject_1$N || (templateObject_1$N = __makeTemplateObject([""], [""])));
297
297
  /**
298
298
  * Buttons let users take action quickly.
299
299
  * Use a Button to enable actions or decisions that are important to a user’s workflow.
@@ -305,7 +305,7 @@ var UgButton = styled__default["default"](reactButtons.Button)(templateObject_1$
305
305
  var Button = function (props) { return jsxRuntime.jsx(UgButton, __assign({}, props)); };
306
306
  Button.StartIcon = UgButton.StartIcon;
307
307
  Button.EndIcon = UgButton.EndIcon;
308
- var templateObject_1$M;
308
+ var templateObject_1$N;
309
309
 
310
310
  /**
311
311
  A Button group lets users make a selection from a set of options.
@@ -358,13 +358,13 @@ var Tag = function (props) { return jsxRuntime.jsx(reactTags.Tag, __assign({}, p
358
358
  Tag.Avatar = reactTags.Tag.Avatar;
359
359
  Tag.Close = reactTags.Tag.Close;
360
360
 
361
- var UgLabel = styled__default["default"](reactForms.Label)(templateObject_1$L || (templateObject_1$L = __makeTemplateObject([""], [""])));
361
+ var UgLabel = styled__default["default"](reactForms.Label)(templateObject_1$M || (templateObject_1$M = __makeTemplateObject([""], [""])));
362
362
  /**
363
363
  * A Label is used to specify a title for an input.
364
364
  * <hr>
365
365
  **/
366
366
  var Label = function (props) { return jsxRuntime.jsx(UgLabel, __assign({}, props)); };
367
- var templateObject_1$L;
367
+ var templateObject_1$M;
368
368
 
369
369
  var _g$4, _path$p, _path2$7, _path3$6, _path4$4, _path5$3, _path6$3, _path7$3, _path8$3, _path9$3, _path10$3, _path11$2;
370
370
 
@@ -571,6 +571,27 @@ var SvgArrivalStatusRoundIcon = function SvgArrivalStatusRoundIcon(props) {
571
571
  })));
572
572
  };
573
573
 
574
+ var UgSkeleton = styled__default["default"](reactLoaders.Skeleton)(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n background-color: ", ";\n border-radius: ", ";\n"], ["\n background-color: ", ";\n border-radius: ", ";\n"])), function (props) { return props.theme.palette.grey[500]; }, function (props) { return props.theme.borderRadii.xxl; });
575
+ /**
576
+ * A Skeleton loader shows users a blank version of a page or section of a page into which content is gradually loaded. It provides a visual estimate of the space needed.
577
+ * <hr>
578
+ * Used for this:
579
+ - Skeleton is the default loader, used whenever the system can predict the format of the loading content
580
+ - To progressively load different parts of a page
581
+ - To avoid large layout shifts
582
+
583
+ * Not for this:
584
+ - When the system doesn’t have control over the content that is loading, use a Spinner instead
585
+ - To indicate that a component (like a button or search input) is busy, use Dots instead
586
+ - To communicate a typing status, use Inline instead
587
+ */
588
+ var Skeleton = function (props) { return jsxRuntime.jsx(UgSkeleton, __assign({}, props)); };
589
+ var templateObject_1$L;
590
+
591
+ var CampaignCardSkeleton = function () {
592
+ return (jsxRuntime.jsxs(Wrapper, { children: [jsxRuntime.jsx(CardHeader, { children: jsxRuntime.jsx(Skeleton, { width: "30%" }) }), jsxRuntime.jsxs(CardBody, { children: [jsxRuntime.jsx(Skeleton, { height: "18px", width: "50%" }), jsxRuntime.jsx("br", {}), jsxRuntime.jsx(Skeleton, { height: "26px", style: { backgroundColor: theme.palette.blue[400] } })] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsxs(CardFooter, { children: [jsxRuntime.jsx(Skeleton, { height: "18px", width: "45%" }), " ", jsxRuntime.jsx(Skeleton, { width: "26px", height: "26px", style: { borderRadius: "100%" } })] })] }));
593
+ };
594
+
574
595
  var getStatusIcon = function (status) {
575
596
  switch (status) {
576
597
  case "COMPLETED":
@@ -593,7 +614,7 @@ var getTypeData = function (type) {
593
614
  };
594
615
  }
595
616
  };
596
- var Wrapper = styled__default["default"](Card)(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n\n border-radius: ", ";\n padding: 1rem;\n border: 1px solid ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n\n &:hover {\n box-shadow: ", ";\n }\n\n cursor: pointer;\n"], ["\n\n border-radius: ", ";\n padding: 1rem;\n border: 1px solid ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n\n &:hover {\n box-shadow: ", ";\n }\n\n cursor: pointer;\n"])), theme.borderRadii.lg, theme.palette.grey["200"], theme.shadows.boxShadow(theme));
617
+ var Wrapper = styled__default["default"](Card)(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n border-radius: ", ";\n padding: 1rem;\n border: 1px solid ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n\n &:hover {\n box-shadow: ", ";\n }\n\n cursor: pointer;\n"], ["\n border-radius: ", ";\n padding: 1rem;\n border: 1px solid ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n\n &:hover {\n box-shadow: ", ";\n }\n\n cursor: pointer;\n"])), theme.borderRadii.lg, theme.palette.grey["200"], theme.shadows.boxShadow(theme));
597
618
  var StyledTag$1 = styled__default["default"](Tag)(templateObject_2$c || (templateObject_2$c = __makeTemplateObject(["\n color: ", ";\n max-width: 75%;\n cursor: pointer;\n"], ["\n color: ", ";\n max-width: 75%;\n cursor: pointer;\n"])), theme.palette.grey["700"]);
598
619
  var StyledTagNew = styled__default["default"](Tag)(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n height: ", "px;\n padding: ", "px ", "px;\n color: ", ";\n"], ["\n height: ", "px;\n padding: ", "px ", "px;\n color: ", ";\n"])), function (_a) {
599
620
  var theme = _a.theme;
@@ -621,8 +642,7 @@ var CampaignCard = function (props) {
621
642
  if (campaignTitle.length > 29) {
622
643
  campaignTitleCut = "".concat(campaignTitle.substring(0, 26), "...");
623
644
  }
624
- return jsxRuntime.jsxs(Wrapper, __assign({}, props, { children: [jsxRuntime.jsxs(CardHeader, { children: [jsxRuntime.jsx(StyledLabel, __assign({ isRegular: true }, { children: date })), isNew && (jsxRuntime.jsx(StyledTagNew, __assign({ hue: theme.palette.fuschia["600"], isPill: true, size: "medium", title: labelNew ? labelNew : "New!" }, { children: labelNew ? labelNew : "New!" })))] }), jsxRuntime.jsxs(CardBody, { children: [jsxRuntime.jsx(StyledLabel, __assign({ isRegular: true }, { children: projectTitleCut })), jsxRuntime.jsx(StyledTitleLabel, __assign({ isRegular: true }, { children: campaignTitleCut }))] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsxs(CardFooter, { children: [typeData &&
625
- jsxRuntime.jsxs(StyledTag$1, __assign({ size: "large", isPill: true, isRegular: true, hue: theme.palette.grey[100] }, { children: [jsxRuntime.jsx(Tag.Avatar, { children: jsxRuntime.jsx(PillIcon, {}) }), props.pillText] })), jsxRuntime.jsx(StatusIcon, {})] })] }));
645
+ return props.isLoading ? (jsxRuntime.jsx(CampaignCardSkeleton, {})) : (jsxRuntime.jsxs(Wrapper, __assign({}, props, { children: [jsxRuntime.jsxs(CardHeader, { children: [jsxRuntime.jsx(StyledLabel, __assign({ isRegular: true }, { children: date })), isNew && (jsxRuntime.jsx(StyledTagNew, __assign({ hue: theme.palette.fuschia["600"], isPill: true, size: "medium", title: labelNew ? labelNew : "New!" }, { children: labelNew ? labelNew : "New!" })))] }), jsxRuntime.jsxs(CardBody, { children: [jsxRuntime.jsx(StyledLabel, __assign({ isRegular: true }, { children: projectTitleCut })), jsxRuntime.jsx(StyledTitleLabel, __assign({ isRegular: true }, { children: campaignTitleCut }))] }), jsxRuntime.jsx(Divider, {}), jsxRuntime.jsxs(CardFooter, { children: [typeData && (jsxRuntime.jsxs(StyledTag$1, __assign({ size: "large", isPill: true, isRegular: true, hue: theme.palette.grey[100] }, { children: [jsxRuntime.jsx(Tag.Avatar, { children: jsxRuntime.jsx(PillIcon, {}) }), props.pillText] }))), jsxRuntime.jsx(StatusIcon, {})] })] })));
626
646
  };
627
647
  var templateObject_1$K, templateObject_2$c, templateObject_3$7, templateObject_4$3, templateObject_5$1, templateObject_6$1, templateObject_7, templateObject_8, templateObject_9;
628
648
 
@@ -1104,24 +1124,7 @@ var UgProgress = styled__default["default"](reactLoaders.Progress)(templateObjec
1104
1124
  var Progress = function (props) { return jsxRuntime.jsx(UgProgress, __assign({}, props)); };
1105
1125
  var templateObject_1$w;
1106
1126
 
1107
- var UgSkeleton = styled__default["default"](reactLoaders.Skeleton)(templateObject_1$v || (templateObject_1$v = __makeTemplateObject([""], [""])));
1108
- /**
1109
- * A Skeleton loader shows users a blank version of a page or section of a page into which content is gradually loaded. It provides a visual estimate of the space needed.
1110
- * <hr>
1111
- * Used for this:
1112
- - Skeleton is the default loader, used whenever the system can predict the format of the loading content
1113
- - To progressively load different parts of a page
1114
- - To avoid large layout shifts
1115
-
1116
- * Not for this:
1117
- - When the system doesn’t have control over the content that is loading, use a Spinner instead
1118
- - To indicate that a component (like a button or search input) is busy, use Dots instead
1119
- - To communicate a typing status, use Inline instead
1120
- */
1121
- var Skeleton = function (props) { return jsxRuntime.jsx(UgSkeleton, __assign({}, props)); };
1122
- var templateObject_1$v;
1123
-
1124
- var UgSpinner = styled__default["default"](reactLoaders.Spinner)(templateObject_1$u || (templateObject_1$u = __makeTemplateObject([""], [""])));
1127
+ var UgSpinner = styled__default["default"](reactLoaders.Spinner)(templateObject_1$v || (templateObject_1$v = __makeTemplateObject([""], [""])));
1125
1128
  /**
1126
1129
  * Breadcrumbs mark and communicate a user’s location in the product.
1127
1130
  * <hr>
@@ -1130,28 +1133,28 @@ var UgSpinner = styled__default["default"](reactLoaders.Spinner)(templateObject_
1130
1133
  - To provide a quick way to navigate to ancestor pages
1131
1134
  */
1132
1135
  var Spinner = function (props) { return jsxRuntime.jsx(UgSpinner, __assign({}, props)); };
1133
- var templateObject_1$u;
1136
+ var templateObject_1$v;
1134
1137
 
1138
+ var UgBody = styled__default["default"](reactChrome.Body)(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), function (_a) {
1139
+ var theme = _a.theme;
1140
+ return theme.palette.white;
1141
+ });
1135
1142
  /**
1136
- * Title is a basic component used to display a title. Often used in card headers.
1143
+ * A Body defines the main content of an HTML document which displays on the browser
1137
1144
  */
1138
- var Title = function (props) { return jsxRuntime.jsx(reactNotifications.Title, __assign({}, props)); };
1145
+ var Body$1 = function (props) { return jsxRuntime.jsx(UgBody, __assign({}, props)); };
1146
+ var templateObject_1$u;
1139
1147
 
1140
1148
  /**
1141
- * Type components come in small, medium, large, extra-large, extra-extra-large, and extra-extra-extra-large.
1149
+ * A Content defines the main content of an HTML document which displays on the browser
1142
1150
  */
1143
- var SM = function (props) { return jsxRuntime.jsx(reactTypography.SM, __assign({}, props)); };
1144
- var MD = function (props) { return jsxRuntime.jsx(reactTypography.MD, __assign({}, props)); };
1145
- var LG = function (props) { return jsxRuntime.jsx(reactTypography.LG, __assign({}, props)); };
1146
- var XL = function (props) { return jsxRuntime.jsx(reactTypography.XL, __assign({}, props)); };
1147
- var XXL = function (props) { return jsxRuntime.jsx(reactTypography.XXL, __assign({}, props)); };
1148
- var XXXL = function (props) { return jsxRuntime.jsx(reactTypography.XXXL, __assign({}, props)); };
1151
+ var Content = function (props) { return jsxRuntime.jsx(reactChrome.Content, __assign({}, props)); };
1149
1152
 
1150
1153
  var _path$c;
1151
1154
 
1152
1155
  function _extends$e() { _extends$e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); }
1153
1156
 
1154
- var SvgChevronLeftStroke = function SvgChevronLeftStroke(props) {
1157
+ var SvgChevronDownStroke = function SvgChevronDownStroke(props) {
1155
1158
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
1156
1159
  xmlns: "http://www.w3.org/2000/svg",
1157
1160
  width: 16,
@@ -1160,40 +1163,25 @@ var SvgChevronLeftStroke = function SvgChevronLeftStroke(props) {
1160
1163
  viewBox: "0 0 16 16"
1161
1164
  }, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
1162
1165
  fill: "currentColor",
1163
- d: "M10.39 12.688a.5.5 0 01-.718.69l-.062-.066-4-5a.5.5 0 01-.054-.542l.054-.082 4-5a.5.5 0 01.83.55l-.05.074L6.641 8l3.75 4.688z"
1166
+ d: "M12.688 5.61a.5.5 0 01.69.718l-.066.062-5 4a.5.5 0 01-.542.054l-.082-.054-5-4a.5.5 0 01.55-.83l.074.05L8 9.359l4.688-3.75z"
1164
1167
  })));
1165
1168
  };
1166
1169
 
1167
- /**
1168
- * Login Form
1169
- * <hr>
1170
- * Used for this:
1171
- - Login user to the application
1172
- */
1173
- var LoginForm = function (props) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(Card, __assign({ isFloating: true }, props.card, { children: [jsxRuntime.jsx(Title, __assign({ style: {
1174
- textAlign: "center",
1175
- marginTop: theme.space.sm,
1176
- marginBottom: theme.space.lg,
1177
- } }, { children: jsxRuntime.jsx(XL, __assign({ style: { color: theme.palette.blue[600] } }, { children: props.title })) })), jsxRuntime.jsx(formik.Formik, __assign({}, props, { initialValues: props.initialValues, onSubmit: props.onSubmit, validate: props.validate }, { children: function (_a) {
1178
- var values = _a.values, status = _a.status, errors = _a.errors, touched = _a.touched, handleChange = _a.handleChange, handleSubmit = _a.handleSubmit, isSubmitting = _a.isSubmitting;
1179
- return (jsxRuntime.jsxs(formik.Form, __assign({ onSubmit: handleSubmit }, { children: [jsxRuntime.jsxs(Field, { children: [jsxRuntime.jsx(Input, __assign({ type: "email", name: "email", placeholder: props.placeholderEmail, onChange: handleChange, value: values.email }, (touched && values.email
1180
- ? (touched.email = true)
1181
- : (touched.email = false)), (errors && errors.email
1182
- ? { validation: "error" }
1183
- : touched.email
1184
- ? { validation: "success" }
1185
- : ""))), errors.email ? (jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: errors.email }))) : ("")] }), jsxRuntime.jsxs(Field, __assign({ style: { marginTop: theme.space.md } }, { children: [jsxRuntime.jsx(Input, __assign({ type: "password", name: "password", placeholder: props.placeholderPassword, onChange: handleChange, value: values.password }, (touched && values.password
1186
- ? (touched.password = true)
1187
- : (touched.password = false)), (errors && errors.password
1188
- ? { validation: "error" }
1189
- : touched.password
1190
- ? { validation: "success" }
1191
- : ""))), errors.password && (jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: errors.password }))), props.passwordForgotLink && (jsxRuntime.jsx(reactForms.Hint, __assign({ style: { textAlign: "right" } }, { children: jsxRuntime.jsx(Anchor, __assign({ href: props.passwordForgotLink, style: { color: theme.palette.grey[500] } }, { children: props.passwordForgotLabel || "Forgot Password?" })) })))] })), jsxRuntime.jsx("br", {}), jsxRuntime.jsx(Button, __assign({ type: "submit", isStretched: true, disabled: Object.keys(errors).length
1192
- ? true
1193
- : isSubmitting
1194
- ? true
1195
- : false, isPrimary: true, style: { marginBottom: theme.space.md } }, { children: props.buttonText })), status && (jsxRuntime.jsx("div", __assign({ style: { textAlign: "center" } }, { children: jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: status.message })) })))] })));
1196
- } }))] })), props.onBackClick && (jsxRuntime.jsxs(Button, __assign({ onClick: props.onBackClick, isBasic: true, style: { marginTop: theme.space.md } }, { children: [jsxRuntime.jsx(Button.StartIcon, { children: jsxRuntime.jsx(SvgChevronLeftStroke, {}) }), props.backToLabel || "Back to UNGUESS"] })))] })); };
1170
+ var UgHeaderItem = styled__default["default"](reactChrome.HeaderItem)(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n ", ";\n font-family: ", ";\n"], ["\n ", ";\n font-family: ", ";\n"])), function (props) { return props.hasLogo && "border-right: none"; }, function (_a) {
1171
+ var theme = _a.theme;
1172
+ return theme.fonts.system;
1173
+ });
1174
+ var HeaderItem = function (props) { return jsxRuntime.jsx(UgHeaderItem, __assign({}, props)); };
1175
+ var templateObject_1$t;
1176
+
1177
+ var UgHeaderItemText = styled__default["default"](reactChrome.HeaderItemText)(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n font-family: ", ";\n"], ["\n font-family: ", ";\n"])), function (_a) {
1178
+ var theme = _a.theme;
1179
+ return theme.fonts.system;
1180
+ });
1181
+ var HeaderItemText = function (props) { return jsxRuntime.jsx(UgHeaderItemText, __assign({}, props)); };
1182
+ var templateObject_1$s;
1183
+
1184
+ var HeaderItemIcon = function (props) { return (jsxRuntime.jsx(reactChrome.HeaderItemIcon, __assign({}, props))); };
1197
1185
 
1198
1186
  var img$2 = "data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' %5b %3c!ENTITY ns_extend 'http://ns.adobe.com/Extensibility/1.0/'%3e %3c!ENTITY ns_ai 'http://ns.adobe.com/AdobeIllustrator/10.0/'%3e %3c!ENTITY ns_graphs 'http://ns.adobe.com/Graphs/1.0/'%3e %3c!ENTITY ns_vars 'http://ns.adobe.com/Variables/1.0/'%3e %3c!ENTITY ns_imrep 'http://ns.adobe.com/ImageReplacement/1.0/'%3e %3c!ENTITY ns_sfw 'http://ns.adobe.com/SaveForWeb/1.0/'%3e %3c!ENTITY ns_custom 'http://ns.adobe.com/GenericCustomNamespace/1.0/'%3e %3c!ENTITY ns_adobe_xpath 'http://ns.adobe.com/XPath/1.0/'%3e%5d%3e%3csvg enable-background='new 0 0 479.42 154.1' version='1.1' viewBox='0 0 479.42 154.1' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3e%3cstyle type='text/css'%3e .st0%7bfill:%23003A57%3b%7d .st1%7bfill:%2354C38A%3b%7d .st2%7bfill:%23B2C4CD%3b%7d .st3%7bfill:%23809CAB%3b%7d .st4%7bfill:%23CCEDDC%3b%7d .st5%7bfill:%23CCD8DD%3b%7d .st6%7bfill:%23E5EBEE%3b%7d .st7%7bfill:%23A9E1C5%3b%7d%3c/style%3e%3cswitch%3e %3cforeignObject width='1' height='1' requiredExtensions='http://ns.adobe.com/AdobeIllustrator/10.0/'%3e %3c/foreignObject%3e %3cg%3e %3cpath class='st0' d='m203.46 43.96c1.66 0 3.06 0.82 3.06 2.56 0 0.83-0.48 1.54-1.36 1.88 1.11 0.31 1.64 1.33 1.64 2.18 0 1.94-1.63 2.52-3.35 2.52h-3.99v-9.13h4zm-2.85 3.93h2.91c1.1 0 1.89-0.4 1.89-1.36 0-1.02-0.82-1.54-1.94-1.54h-2.86v2.9zm0 4.13h2.86c0.95 0 2.22-0.25 2.22-1.49-0.01-1.15-1.17-1.62-2.16-1.62h-2.91v3.11z'/%3e %3cpath class='st0' d='M212.75%2c43.96h6.41V45h-5.29v2.86h5.07v1.06h-5.07v3.09h5.5v1.08h-6.62V43.96z'/%3e %3cpath class='st0' d='m235.85 44.78c-1.16 0-2.4 0.46-2.4 1.56 0 0.99 1.13 1.28 2.48 1.5 1.83 0.29 3.62 0.65 3.62 2.71-0.01 2.05-1.97 2.71-3.72 2.71-1.62 0-3.16-0.59-3.86-2.11l0.94-0.55c0.59 1.08 1.81 1.6 2.93 1.6 1.11 0 2.58-0.35 2.58-1.69 0.01-1.13-1.26-1.46-2.63-1.67-1.76-0.27-3.47-0.68-3.47-2.53-0.03-1.9 1.92-2.55 3.49-2.55 1.36 0 2.65 0.27 3.45 1.66l-0.86 0.53c-0.48-0.79-1.54-1.15-2.55-1.17z'/%3e %3cpath class='st0' d='m250.07 50.22h-0.23l-3.31-4.64v7.51h-1.12v-9.13h1.36l3.21 4.69 3.18-4.69h1.36v9.13h-1.12v-7.49l-3.33 4.62z'/%3e %3cpath class='st0' d='m265.37 43.96 4.09 9.13h-1.23l-0.9-2.01h-5.22l-0.89 2.01h-1.22l4.09-9.13h1.28zm-0.64 1.15-2.16 4.93h4.33l-2.17-4.93z'/%3e %3cpath class='st0' d='m278.31 49.8h-2.22v3.29h-1.13v-9.13h4.15c2.06 0 3.09 1.43 3.09 2.92 0.01 1.38-0.74 2.67-2.62 2.83l3.01 3.38h-1.43l-2.85-3.29zm2.75-2.89c0.01-0.91-0.64-1.93-1.96-1.93h-3.01v3.81h2.96c1.37 0 2.01-0.85 2.01-1.88z'/%3e %3cpath class='st0' d='m287.15 44.98v-1.02h7.35v1.02h-3.12v8.11h-1.12v-8.11h-3.11z'/%3e %3cpath class='st0' d='m313.34 43.96v1.08h-5.2v3.18h4.98v1.06h-4.98v3.82h-1.14v-9.14h6.34z'/%3e %3cpath class='st0' d='m322.57 49.8h-2.22v3.29h-1.13v-9.13h4.15c2.06 0 3.09 1.43 3.09 2.92 0.01 1.38-0.74 2.67-2.62 2.83l3.01 3.38h-1.43l-2.85-3.29zm2.76-2.89c0.01-0.91-0.64-1.93-1.96-1.93h-3.01v3.81h2.96c1.37 0 2.01-0.85 2.01-1.88z'/%3e %3cpath class='st0' d='m341.26 48.55c-0.01 2.39-1.5 4.72-4.63 4.72s-4.64-2.32-4.64-4.72c0-2.65 1.77-4.75 4.65-4.75 3.1 0.02 4.64 2.34 4.62 4.75zm-4.61-3.7c-2.32 0-3.52 1.71-3.52 3.7 0 1.85 1.12 3.65 3.52 3.65s3.48-1.85 3.48-3.65c0.01-1.85-1.1-3.68-3.48-3.7z'/%3e %3cpath class='st0' d='m351.84 50.22h-0.23l-3.31-4.64v7.51h-1.12v-9.13h1.36l3.21 4.69 3.18-4.69h1.36v9.13h-1.12v-7.49l-3.33 4.62z'/%3e %3cpath class='st0' d='m368.77 44.98v-1.02h7.35v1.02h-3.12v8.11h-1.12v-8.11h-3.11z'/%3e %3cpath class='st0' d='m387.97 48.97h-5.22v4.12h-1.13v-9.13h1.13v3.95h5.22v-3.95h1.13v9.13h-1.13v-4.12z'/%3e %3cpath class='st0' d='M395.58%2c43.96H402V45h-5.29v2.86h5.07v1.06h-5.07v3.09h5.5v1.08h-6.62V43.96z'/%3e %3cpath class='st0' d='m418.68 44.78c-1.16 0-2.4 0.46-2.4 1.56 0 0.99 1.13 1.28 2.48 1.5 1.83 0.29 3.62 0.65 3.62 2.71-0.01 2.05-1.97 2.71-3.72 2.71-1.62 0-3.15-0.59-3.86-2.11l0.94-0.55c0.59 1.08 1.81 1.6 2.93 1.6 1.11 0 2.58-0.35 2.58-1.69 0.01-1.13-1.26-1.46-2.63-1.67-1.76-0.27-3.47-0.68-3.47-2.53-0.03-1.9 1.92-2.55 3.49-2.55 1.36 0 2.65 0.27 3.46 1.66l-0.86 0.53c-0.49-0.79-1.54-1.15-2.56-1.17z'/%3e %3cpath class='st0' d='m427.25 44.98v-1.02h7.35v1.02h-3.12v8.11h-1.12v-8.11h-3.11z'/%3e %3cpath class='st0' d='m443.63 43.96 4.09 9.13h-1.23l-0.9-2.01h-5.22l-0.89 2.01h-1.24l4.09-9.13h1.3zm-0.64 1.15-2.16 4.93h4.33l-2.17-4.93z'/%3e %3cpath class='st0' d='m456.57 49.8h-2.22v3.29h-1.13v-9.13h4.15c2.06 0 3.09 1.43 3.09 2.92 0.01 1.38-0.74 2.67-2.62 2.83l3.01 3.38h-1.43l-2.85-3.29zm2.75-2.89c0.01-0.91-0.64-1.93-1.96-1.93h-3.01v3.81h2.96c1.37 0 2.01-0.85 2.01-1.88z'/%3e %3cpath class='st0' d='m465.41 44.98v-1.02h7.35v1.02h-3.12v8.11h-1.12v-8.11h-3.11z'/%3e %3cpath class='st0' d='m157.64 115.24v-24.59c0-6.81-3.65-10.72-10.03-10.72-6 0-9.44 3.91-9.44 10.72v24.59h-8.58v-24.59c0-11.51 6.93-18.66 18.08-18.66 11.26 0 18.54 7.32 18.54 18.66v24.59h-8.57z'/%3e %3cpath class='st0' d='m214.63 116.35c-16.55 0-22.44-11.2-22.44-21.67 0-15.87 11.27-22.98 22.44-22.98 5.93 0 11.53 2.3 15.77 6.49l0.34 0.34-5.54 5.67-0.35-0.33c-2.55-2.44-6.57-4.02-10.23-4.02-8.14 0-13.82 6.1-13.82 14.83 0 6.48 3.63 13.4 13.82 13.4 3.51 0 6.11-0.89 8.89-3.07v-6.64h-10.61v-7.97h19.29v17.55l-0.63 0.76c-4.49 5.14-10.03 7.64-16.93 7.64z'/%3e %3cpath class='st0' d='m277.01 115.24c-11.26 0-18.54-7.32-18.54-18.66v-24.59h8.58v24.59c0 6.81 3.65 10.72 10.02 10.72 6 0 9.44-3.91 9.44-10.72v-24.59h8.58v24.59c0 11.51-6.92 18.66-18.08 18.66z'/%3e %3cpolygon class='st0' points='321.07 115.24 321.07 72.25 354.94 72.25 354.94 80.65 329.64 80.65 329.64 90.13 350.81 90.13 350.81 98.24 329.64 98.24 329.64 106.72 354.94 106.72 354.94 115.24'/%3e %3cpath class='st0' d='m397.19 116.06c-9.41 0-15.35-3.37-18.16-10.29l-0.17-0.41 7.25-3.76 0.2 0.5c1.55 3.85 5.66 6.14 10.99 6.14 2.08 0 8.86-0.4 8.86-5.61 0-3.05-2.94-4.85-8.97-5.5-14.45-1.72-16.4-7.43-16.4-12.79 0-8.43 8.14-12.27 16.22-12.33 8.06 0 13.73 2.88 16.41 8.34l0.21 0.43-6.92 3.56-0.23-0.39c-1.25-2.08-4.91-4.29-9.22-4.29-4.89 0-7.93 1.88-7.93 4.92 0 2.99 3.45 4.01 8.63 4.63 8.73 1.08 16.8 3.45 16.8 13.43-0.02 9.89-9.09 13.42-17.57 13.42z'/%3e %3cpath class='st0' d='m457.03 116.25c-9.4 0-15.33-3.36-18.14-10.28l-0.17-0.41 7.25-3.75 0.2 0.5c1.55 3.84 5.65 6.13 10.98 6.13 2.08 0 8.85-0.4 8.85-5.61 0-3.05-2.93-4.85-8.96-5.49-14.44-1.72-16.38-7.42-16.38-12.78 0-8.42 8.14-12.25 16.2-12.32 8.05 0 13.71 2.88 16.39 8.33l0.21 0.43-6.92 3.56-0.23-0.39c-1.25-2.08-4.9-4.29-9.21-4.29-4.89 0-7.93 1.88-7.93 4.91 0 2.99 3.45 4.01 8.62 4.62 8.72 1.07 16.79 3.44 16.79 13.42-0.01 9.9-9.07 13.42-17.55 13.42z'/%3e %3cpath class='st0' d='m94.63 93.63v4.23h-0.03c-0.36 6.13-3.75 9.62-9.43 9.62-6.03 0-9.62-3.49-10.01-9.62h-0.03v-4.23h-8.58v4.23 0.01 0.05c0.49 10.69 7.66 17.52 18.55 17.52 10.79 0 17.63-6.68 18.09-17.52v-4.29h-8.56z'/%3e %3crect class='st1' x='66.55' y='72.02' width='8.6' height='8.6'/%3e %3crect class='st0' x='94.41' y='72.02' width='8.72' height='8.72'/%3e %3crect class='st2' transform='matrix(-1.837e-16 1 -1 -1.837e-16 103.01 7.8599)' x='43.27' y='51.13' width='8.6' height='8.6'/%3e %3crect class='st3' transform='matrix(-1.837e-16 1 -1 -1.837e-16 126.9 6.4839)' x='55.9' y='62.39' width='8.6' height='8.6'/%3e %3crect class='st4' transform='matrix(-1.837e-16 1 -1 -1.837e-16 94.995 31.397)' x='27.5' y='58.89' width='8.6' height='8.6'/%3e %3crect class='st5' transform='matrix(-1.837e-16 1 -1 -1.837e-16 64.365 27.091)' x='14.34' y='41.43' width='8.6' height='8.6'/%3e %3crect class='st6' transform='matrix(-1.837e-16 1 -1 -1.837e-16 138.08 66.268)' x='31.6' y='97.87' width='8.6' height='8.6'/%3e %3crect class='st7' transform='matrix(-1.837e-16 1 -1 -1.837e-16 137.84 35.856)' x='46.69' y='82.55' width='8.6' height='8.6'/%3e %3c/g%3e%3c/switch%3e%3c/svg%3e";
1199
1187
 
@@ -1221,48 +1209,6 @@ var Logo = function (props) {
1221
1209
  }[props.type] })));
1222
1210
  };
1223
1211
 
1224
- var ugModalBody = styled__default["default"](reactModals.Body)(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), function (_a) {
1225
- var theme = _a.theme;
1226
- return theme.palette.grey["800"];
1227
- });
1228
- var Modal = function (props) { return jsxRuntime.jsx(reactModals.Modal, __assign({}, props)); };
1229
- var FooterItem = reactModals.FooterItem;
1230
- Modal.Header = reactModals.Header;
1231
- Modal.Body = ugModalBody;
1232
- Modal.Footer = reactModals.Footer;
1233
- var templateObject_1$t;
1234
-
1235
- var UgBody = styled__default["default"](reactChrome.Body)(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), function (_a) {
1236
- var theme = _a.theme;
1237
- return theme.palette.white;
1238
- });
1239
- /**
1240
- * A Body defines the main content of an HTML document which displays on the browser
1241
- */
1242
- var Body$1 = function (props) { return jsxRuntime.jsx(UgBody, __assign({}, props)); };
1243
- var templateObject_1$s;
1244
-
1245
- /**
1246
- * A Content defines the main content of an HTML document which displays on the browser
1247
- */
1248
- var Content = function (props) { return jsxRuntime.jsx(reactChrome.Content, __assign({}, props)); };
1249
-
1250
- var UgHeaderItem = styled__default["default"](reactChrome.HeaderItem)(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n ", ";\n font-family: ", ";\n"], ["\n ", ";\n font-family: ", ";\n"])), function (props) { return props.hasLogo && "border-right: none"; }, function (_a) {
1251
- var theme = _a.theme;
1252
- return theme.fonts.system;
1253
- });
1254
- var HeaderItem = function (props) { return jsxRuntime.jsx(UgHeaderItem, __assign({}, props)); };
1255
- var templateObject_1$r;
1256
-
1257
- var UgHeaderItemText = styled__default["default"](reactChrome.HeaderItemText)(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n font-family: ", ";\n"], ["\n font-family: ", ";\n"])), function (_a) {
1258
- var theme = _a.theme;
1259
- return theme.fonts.system;
1260
- });
1261
- var HeaderItemText = function (props) { return jsxRuntime.jsx(UgHeaderItemText, __assign({}, props)); };
1262
- var templateObject_1$q;
1263
-
1264
- var HeaderItemIcon = function (props) { return (jsxRuntime.jsx(reactChrome.HeaderItemIcon, __assign({}, props))); };
1265
-
1266
1212
  var _path$b;
1267
1213
 
1268
1214
  function _extends$d() { _extends$d = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); }
@@ -1282,7 +1228,7 @@ var SvgMenuStroke = function SvgMenuStroke(props) {
1282
1228
  })));
1283
1229
  };
1284
1230
 
1285
- var LogoIconContainer = styled__default["default"](reactChrome.HeaderItem)(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n margin-right: 2px;\n border-right: none;\n @media (max-width: ", ") {\n right: 0;\n left: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n }\n"], ["\n margin-right: 2px;\n border-right: none;\n @media (max-width: ", ") {\n right: 0;\n left: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n }\n"])), function (_a) {
1231
+ var LogoIconContainer = styled__default["default"](reactChrome.HeaderItem)(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n margin-right: 2px;\n border-right: none;\n @media (max-width: ", ") {\n right: 0;\n left: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n }\n"], ["\n margin-right: 2px;\n border-right: none;\n @media (max-width: ", ") {\n right: 0;\n left: 0;\n margin-right: auto;\n margin-left: auto;\n position: absolute;\n }\n"])), function (_a) {
1286
1232
  var theme = _a.theme;
1287
1233
  return theme.breakpoints.sm;
1288
1234
  });
@@ -1306,9 +1252,9 @@ var MenuItem$1 = styled__default["default"](reactChrome.HeaderItem)(templateObje
1306
1252
  var BrandItem = function (props) {
1307
1253
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(MenuItem$1, __assign({}, props, { onClick: props.toggleMenu }, { children: [jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsx(SvgMenuStroke, {}) }), props.menuLabel && jsxRuntime.jsx(HeaderItemText, { children: props.menuLabel })] })), jsxRuntime.jsx(LogoIconContainer, __assign({}, props, { hasLogo: true }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsx(Logo, { type: "icon", size: 150 }) }) })), props.brandName && (jsxRuntime.jsx(BrandName, __assign({}, props, { children: jsxRuntime.jsx(HeaderItemText, { children: props.brandName }) })))] }));
1308
1254
  };
1309
- var templateObject_1$p, templateObject_2$b, templateObject_3$6;
1255
+ var templateObject_1$r, templateObject_2$b, templateObject_3$6;
1310
1256
 
1311
- var UgHeader = styled__default["default"](reactChrome.Header)(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n height: ", ";\n"], ["\n height: ", ";\n"])), theme.components.Headers.height);
1257
+ var UgHeader = styled__default["default"](reactChrome.Header)(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n height: ", ";\n"], ["\n height: ", ";\n"])), theme.components.Headers.height);
1312
1258
  /**
1313
1259
  * An Header is a visual way to display general information.
1314
1260
  * This can include navList Items, modal, profile settings.
@@ -1317,26 +1263,13 @@ var Header = function (props) { return jsxRuntime.jsx(UgHeader, __assign({}, pro
1317
1263
  Header.HeaderItem = HeaderItem;
1318
1264
  Header.HeaderItemText = HeaderItemText;
1319
1265
  Header.HeaderItemIcon = HeaderItemIcon;
1320
- var templateObject_1$o;
1321
-
1322
- var _path$a;
1323
-
1324
- function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); }
1266
+ var templateObject_1$q;
1325
1267
 
1326
- var SvgChevronDownStroke = function SvgChevronDownStroke(props) {
1327
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
1328
- xmlns: "http://www.w3.org/2000/svg",
1329
- width: 16,
1330
- height: 16,
1331
- focusable: "false",
1332
- viewBox: "0 0 16 16"
1333
- }, props), _path$a || (_path$a = /*#__PURE__*/React__namespace.createElement("path", {
1334
- fill: "currentColor",
1335
- d: "M12.688 5.61a.5.5 0 01.69.718l-.066.062-5 4a.5.5 0 01-.542.054l-.082-.054-5-4a.5.5 0 01.55-.83l.074.05L8 9.359l4.688-3.75z"
1336
- })));
1268
+ var HeaderSkeleton = function () {
1269
+ return (jsxRuntime.jsxs(Header, __assign({ isStandalone: true }, { children: [jsxRuntime.jsx(LogoIconContainer, __assign({ hasLogo: true }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsx(Logo, { type: "icon", size: 150 }) }) })), jsxRuntime.jsx(HeaderItem, __assign({ style: { marginRight: "auto", marginLeft: "-4px" } }, { children: jsxRuntime.jsx(Skeleton, { width: "200px", height: theme.space.sm }) })), jsxRuntime.jsx(HeaderItem, __assign({ isRound: true }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(Skeleton, { width: "32px", height: "32px", style: { borderRadius: "100%" } }) }) }) }))] })));
1337
1270
  };
1338
1271
 
1339
- var ChevronButton = styled__default["default"](IconButton)(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n @media (max-width: ", ") {\n display: none;\n }\n"], ["\n @media (max-width: ", ") {\n display: none;\n }\n"])), function (_a) {
1272
+ var ChevronButton = styled__default["default"](IconButton)(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n @media (max-width: ", ") {\n display: none;\n }\n"], ["\n @media (max-width: ", ") {\n display: none;\n }\n"])), function (_a) {
1340
1273
  var theme = _a.theme;
1341
1274
  return theme.breakpoints.sm;
1342
1275
  });
@@ -1345,25 +1278,12 @@ var ChevronButton = styled__default["default"](IconButton)(templateObject_1$n ||
1345
1278
  * This can include navList Items, modal, profile settings.
1346
1279
  */
1347
1280
  var AppHeader = function (_a) {
1348
- var brand = _a.brand, avatar = _a.avatar, args = __rest(_a, ["brand", "avatar"]);
1349
- return (jsxRuntime.jsxs(Header, __assign({}, args, { children: [jsxRuntime.jsx(BrandItem, __assign({}, brand, { toggleMenu: args.onSidebarMenuToggle })), args.hasChangelog && args.changelogItem && (jsxRuntime.jsx(HeaderItem, __assign({ style: { marginRight: "-" + theme.space.sm } }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: args.changelogItem }) }))), jsxRuntime.jsx(HeaderItem, __assign({ isRound: true, onClick: args.onProfileModalToggle }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Avatar, __assign({}, avatar)), jsxRuntime.jsx(ChevronButton, __assign({ size: "small", isRotated: args.isProfileModalOpen }, { children: jsxRuntime.jsx(SvgChevronDownStroke, {}) }))] }) }) }))] })));
1281
+ var brand = _a.brand, avatar = _a.avatar, isLoading = _a.isLoading, args = __rest(_a, ["brand", "avatar", "isLoading"]);
1282
+ return isLoading ? jsxRuntime.jsx(HeaderSkeleton, {}) : (jsxRuntime.jsxs(Header, __assign({}, args, { children: [jsxRuntime.jsx(BrandItem, __assign({}, brand, { toggleMenu: args.onSidebarMenuToggle })), args.hasChangelog && args.changelogItem && (jsxRuntime.jsx(HeaderItem, __assign({ style: { marginRight: "-" + theme.space.xs } }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: args.changelogItem }) }))), jsxRuntime.jsx(HeaderItem, __assign({ isRound: true, onClick: args.onProfileModalToggle }, { children: jsxRuntime.jsx(HeaderItemIcon, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Avatar, __assign({}, avatar)), jsxRuntime.jsx(ChevronButton, __assign({ size: "small", isRotated: args.isProfileModalOpen }, { children: jsxRuntime.jsx(SvgChevronDownStroke, {}) }))] }) }) }))] })));
1350
1283
  };
1351
- var templateObject_1$n;
1284
+ var templateObject_1$p;
1352
1285
 
1353
- var UgMain = styled__default["default"](reactChrome.Main)(templateObject_1$m || (templateObject_1$m = __makeTemplateObject(["\n @media (min-width: ", ") {\n margin: ", "\n }\n \n /* hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n \n"], ["\n @media (min-width: ", ") {\n margin: ", "\n }\n \n /* hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n \n"])), function (_a) {
1354
- var theme = _a.theme;
1355
- return theme.breakpoints.sm;
1356
- }, function (_a) {
1357
- var theme = _a.theme;
1358
- return theme.space.xxl;
1359
- });
1360
- /**
1361
- * A Main defines the main content of an HTML document which displays on the browser
1362
- */
1363
- var Main = function (props) { return jsxRuntime.jsx(UgMain, __assign({}, props)); };
1364
- var templateObject_1$m;
1365
-
1366
- var UgNav = styled__default["default"](reactChrome.Nav)(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n border-right: ", ";\n border-color: ", ";\n ", "\n transition: width 0.25s ease-in-out;\n padding-top: ", ";\n padding-left: ", ";\n"], ["\n border-right: ", ";\n border-color: ", ";\n ", "\n transition: width 0.25s ease-in-out;\n padding-top: ", ";\n padding-left: ", ";\n"])), function (_a) {
1286
+ var UgNav = styled__default["default"](reactChrome.Nav)(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n border-right: ", ";\n border-color: ", ";\n ", "\n transition: width 0.25s ease-in-out;\n padding-top: ", ";\n padding-left: ", ";\n"], ["\n border-right: ", ";\n border-color: ", ";\n ", "\n transition: width 0.25s ease-in-out;\n padding-top: ", ";\n padding-left: ", ";\n"])), function (_a) {
1367
1287
  var theme = _a.theme;
1368
1288
  return theme.borders.sm;
1369
1289
  }, function (_a) {
@@ -1385,9 +1305,9 @@ var UgNav = styled__default["default"](reactChrome.Nav)(templateObject_1$l || (t
1385
1305
  - To give a consistent dashboard and navigation experience
1386
1306
  */
1387
1307
  var Nav = function (props) { return jsxRuntime.jsx(UgNav, __assign({}, props)); };
1388
- var templateObject_1$l;
1308
+ var templateObject_1$o;
1389
1309
 
1390
- var SelectedItemStyle = styled.css(templateObject_1$k || (templateObject_1$k = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), function (props) { return props.theme.palette.kale["100"]; });
1310
+ var SelectedItemStyle = styled.css(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), function (props) { return props.theme.palette.kale["100"]; });
1391
1311
  var UgNavItem$2 = styled__default["default"](reactChrome.NavItem)(templateObject_2$a || (templateObject_2$a = __makeTemplateObject(["\n border-top-left-radius: ", "px;\n border-bottom-left-radius: ", "px;\n font-family: ", ";\n ", "\n ", "\n &:hover, &:focus {\n ", "\n }\n opacity: 1;\n color: ", ";\n font-weight: ", ";\n ", "\n"], ["\n border-top-left-radius: ", "px;\n border-bottom-left-radius: ", "px;\n font-family: ", ";\n ", "\n ", "\n &:hover, &:focus {\n ", "\n }\n opacity: 1;\n color: ", ";\n font-weight: ", ";\n ", "\n"])), function (props) { return props.theme.space.base * 6; }, function (props) { return props.theme.space.base * 6; }, function (_a) {
1392
1312
  var theme = _a.theme;
1393
1313
  return theme.fonts.system;
@@ -1399,11 +1319,11 @@ var NavItem = function (props) {
1399
1319
  // const { isExpanded } = props;
1400
1320
  return jsxRuntime.jsx(UgNavItem$2, __assign({}, props));
1401
1321
  };
1402
- var templateObject_1$k, templateObject_2$a;
1322
+ var templateObject_1$n, templateObject_2$a;
1403
1323
 
1404
- var UgNavIcon = styled__default["default"](reactChrome.NavItemIcon)(templateObject_1$j || (templateObject_1$j = __makeTemplateObject([""], [""])));
1324
+ var UgNavIcon = styled__default["default"](reactChrome.NavItemIcon)(templateObject_1$m || (templateObject_1$m = __makeTemplateObject([""], [""])));
1405
1325
  var NavItemIcon = function (props) { return jsxRuntime.jsx(UgNavIcon, __assign({}, props)); };
1406
- var templateObject_1$j;
1326
+ var templateObject_1$m;
1407
1327
 
1408
1328
  /**
1409
1329
  * Use Ellipsis to automatically provide text content with a native title attribute and text-overflow styling.
@@ -1412,11 +1332,28 @@ var Ellipsis = function (props) { return jsxRuntime.jsx(reactTypography.Ellipsis
1412
1332
 
1413
1333
  var NavItemText = function (props) { return (jsxRuntime.jsx(reactChrome.NavItemText, __assign({}, props, { children: jsxRuntime.jsx(Ellipsis, __assign({ style: { width: "200px" } }, { children: props.children })) }))); };
1414
1334
 
1335
+ var _path$a;
1336
+
1337
+ function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); }
1338
+
1339
+ var SvgChevronRightStroke = function SvgChevronRightStroke(props) {
1340
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
1341
+ xmlns: "http://www.w3.org/2000/svg",
1342
+ width: 16,
1343
+ height: 16,
1344
+ focusable: "false",
1345
+ viewBox: "0 0 16 16"
1346
+ }, props), _path$a || (_path$a = /*#__PURE__*/React__namespace.createElement("path", {
1347
+ fill: "currentColor",
1348
+ d: "M5.61 3.312a.5.5 0 01.718-.69l.062.066 4 5a.5.5 0 01.054.542l-.054.082-4 5a.5.5 0 01-.83-.55l.05-.074L9.359 8l-3.75-4.688z"
1349
+ })));
1350
+ };
1351
+
1415
1352
  var _path$9;
1416
1353
 
1417
1354
  function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); }
1418
1355
 
1419
- var SvgChevronRightStroke = function SvgChevronRightStroke(props) {
1356
+ var SvgChevronLeftStroke = function SvgChevronLeftStroke(props) {
1420
1357
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$b({
1421
1358
  xmlns: "http://www.w3.org/2000/svg",
1422
1359
  width: 16,
@@ -1425,11 +1362,11 @@ var SvgChevronRightStroke = function SvgChevronRightStroke(props) {
1425
1362
  viewBox: "0 0 16 16"
1426
1363
  }, props), _path$9 || (_path$9 = /*#__PURE__*/React__namespace.createElement("path", {
1427
1364
  fill: "currentColor",
1428
- d: "M5.61 3.312a.5.5 0 01.718-.69l.062.066 4 5a.5.5 0 01.054.542l-.054.082-4 5a.5.5 0 01-.83-.55l.05-.074L9.359 8l-3.75-4.688z"
1365
+ d: "M10.39 12.688a.5.5 0 01-.718.69l-.062-.066-4-5a.5.5 0 01-.054-.542l.054-.082 4-5a.5.5 0 01.83.55l-.05.074L6.641 8l3.75 4.688z"
1429
1366
  })));
1430
1367
  };
1431
1368
 
1432
- var StyledToggle = styled__default["default"](IconButton)(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n min-width: ", ";\n position: absolute;\n top: ", "px;\n right: -", "px;\n background: ", "};\n z-index: 1;\n @media (max-width: ", ") {\n display: none;\n }\n"], ["\n width: ", "px;\n height: ", "px;\n min-width: ", ";\n position: absolute;\n top: ", "px;\n right: -", "px;\n background: ", "};\n z-index: 1;\n @media (max-width: ", ") {\n display: none;\n }\n"])), function (_a) {
1369
+ var StyledToggle = styled__default["default"](IconButton)(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n min-width: ", ";\n position: absolute;\n top: ", "px;\n right: -", "px;\n background: ", "};\n z-index: 1;\n @media (max-width: ", ") {\n display: none;\n }\n"], ["\n width: ", "px;\n height: ", "px;\n min-width: ", ";\n position: absolute;\n top: ", "px;\n right: -", "px;\n background: ", "};\n z-index: 1;\n @media (max-width: ", ") {\n display: none;\n }\n"])), function (_a) {
1433
1370
  var theme = _a.theme;
1434
1371
  return theme.space.base * 6;
1435
1372
  }, function (_a) {
@@ -1454,18 +1391,18 @@ var StyledToggle = styled__default["default"](IconButton)(templateObject_1$i ||
1454
1391
  var NavToggle = function (props) {
1455
1392
  return (jsxRuntime.jsx(StyledToggle, __assign({}, props, { isPrimary: true, size: "small" }, { children: props.isExpanded ? (jsxRuntime.jsx(SvgChevronLeftStroke, { style: { width: "100%" } })) : (jsxRuntime.jsx(SvgChevronRightStroke, { style: { width: "100%" } })) })));
1456
1393
  };
1457
- var templateObject_1$i;
1394
+ var templateObject_1$l;
1458
1395
 
1459
- var UgNavItem$1 = styled__default["default"](reactChrome.NavItem)(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n width: 100%;\n min-height: ", ";\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: ", ";\n pointer-events: none;\n\n &:after {\n background: ", ";\n height: 1px;\n flex: 1;\n content: \"\";\n }\n\n span {\n background: #fff;\n margin: 0;\n margin-right: ", ";\n color: ", ";\n font-size: ", ";\n }\n ", "\n"], ["\n width: 100%;\n min-height: ", ";\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: ", ";\n pointer-events: none;\n\n &:after {\n background: ", ";\n height: 1px;\n flex: 1;\n content: \"\";\n }\n\n span {\n background: #fff;\n margin: 0;\n margin-right: ", ";\n color: ", ";\n font-size: ", ";\n }\n ", "\n"])), function (props) { return props.theme.space.lg; }, function (props) { return props.theme.space.sm; }, function (props) { return props.theme.palette.grey["200"]; }, function (props) { return props.theme.space.sm; }, function (props) { return props.theme.palette.grey["500"]; }, function (props) { return props.theme.fontSizes.sm; }, function (props) { return !props.isExpanded && "display: none;"; });
1396
+ var UgNavItem$1 = styled__default["default"](reactChrome.NavItem)(templateObject_1$k || (templateObject_1$k = __makeTemplateObject(["\n width: 100%;\n min-height: ", ";\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: ", ";\n pointer-events: none;\n\n &:after {\n background: ", ";\n height: 1px;\n flex: 1;\n content: \"\";\n }\n\n span {\n background: #fff;\n margin: 0;\n margin-right: ", ";\n color: ", ";\n font-size: ", ";\n }\n ", "\n"], ["\n width: 100%;\n min-height: ", ";\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: ", ";\n pointer-events: none;\n\n &:after {\n background: ", ";\n height: 1px;\n flex: 1;\n content: \"\";\n }\n\n span {\n background: #fff;\n margin: 0;\n margin-right: ", ";\n color: ", ";\n font-size: ", ";\n }\n ", "\n"])), function (props) { return props.theme.space.lg; }, function (props) { return props.theme.space.sm; }, function (props) { return props.theme.palette.grey["200"]; }, function (props) { return props.theme.space.sm; }, function (props) { return props.theme.palette.grey["500"]; }, function (props) { return props.theme.fontSizes.sm; }, function (props) { return !props.isExpanded && "display: none;"; });
1460
1397
  var NavDivider = function (props) { return (jsxRuntime.jsx(UgNavItem$1, __assign({}, props, { children: jsxRuntime.jsx("span", { children: props.children }) }))); };
1461
- var templateObject_1$h;
1398
+ var templateObject_1$k;
1462
1399
 
1463
- var UgProjectSubtitle = styled__default["default"](NavItemText)(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n color: ", ";\n font-size: ", ";\n"], ["\n color: ", ";\n font-size: ", ";\n"])), function (props) { return props.theme.palette.grey["500"]; }, function (props) { return props.theme.fontSizes.sm; });
1400
+ var UgProjectSubtitle = styled__default["default"](NavItemText)(templateObject_1$j || (templateObject_1$j = __makeTemplateObject(["\n color: ", ";\n font-size: ", ";\n"], ["\n color: ", ";\n font-size: ", ";\n"])), function (props) { return props.theme.palette.grey["500"]; }, function (props) { return props.theme.fontSizes.sm; });
1464
1401
  var UgNavItem = styled__default["default"](NavItem)(templateObject_2$9 || (templateObject_2$9 = __makeTemplateObject(["\n flex-flow: column;\n align-items: flex-start;\n"], ["\n flex-flow: column;\n align-items: flex-start;\n"])));
1465
1402
  var NavItemProject = function (props) { return jsxRuntime.jsx(UgNavItem, __assign({}, props)); };
1466
1403
  NavItemProject.Title = NavItemText;
1467
1404
  NavItemProject.SubTitle = UgProjectSubtitle;
1468
- var templateObject_1$g, templateObject_2$9;
1405
+ var templateObject_1$j, templateObject_2$9;
1469
1406
 
1470
1407
  var _path$8;
1471
1408
 
@@ -1563,7 +1500,12 @@ var SvgToken = function SvgToken(props) {
1563
1500
  */
1564
1501
  var Span = function (props) { return jsxRuntime.jsx(reactTypography.Span, __assign({}, props)); };
1565
1502
 
1566
- var TokenContainer = styled__default["default"].div(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
1503
+ var LoadingSidebar = function () {
1504
+ var isExpanded = true;
1505
+ return (jsxRuntime.jsxs(Nav, __assign({ style: { width: "250px" } }, { children: [jsxRuntime.jsx(NavToggle, { isExpanded: isExpanded }), jsxRuntime.jsxs(NavItem, __assign({ isExpanded: isExpanded, isCurrent: true }, { children: [jsxRuntime.jsx(NavItemIcon, __assign({ isStyled: true }, { children: jsxRuntime.jsx(Skeleton, { width: "32px", height: "32px", style: { borderRadius: "100%" } }) })), jsxRuntime.jsx(Skeleton, { height: "12px", width: "60%" }), jsxRuntime.jsx(NavItemText, {})] })), jsxRuntime.jsx(NavDivider, { isExpanded: isExpanded }), jsxRuntime.jsxs(NavItemProject, __assign({ isExpanded: isExpanded, isCurrent: false }, { children: [jsxRuntime.jsx(Skeleton, { width: "60%", style: { marginBottom: "6px" } }), jsxRuntime.jsx(Skeleton, { height: "12px", width: "80%" })] }), 1), jsxRuntime.jsxs(NavItemProject, __assign({ isExpanded: isExpanded, isCurrent: false }, { children: [jsxRuntime.jsx(Skeleton, { width: "60%", style: { marginBottom: "6px" } }), jsxRuntime.jsx(Skeleton, { height: "12px", width: "80%" })] }), 2), jsxRuntime.jsxs(NavItemProject, __assign({ isExpanded: isExpanded, isCurrent: false }, { children: [jsxRuntime.jsx(Skeleton, { width: "60%", style: { marginBottom: "6px" } }), jsxRuntime.jsx(Skeleton, { height: "12px", width: "80%" })] }), 3), jsxRuntime.jsxs(NavItemProject, __assign({ isExpanded: isExpanded, isCurrent: false }, { children: [jsxRuntime.jsx(Skeleton, { width: "60%", style: { marginBottom: "6px" } }), jsxRuntime.jsx(Skeleton, { height: "12px", width: "80%" })] }), 3), jsxRuntime.jsxs(NavItem, __assign({ isExpanded: isExpanded, hasBrandmark: true, title: "Be smart from the start", style: { pointerEvents: "none" } }, { children: [jsxRuntime.jsx(NavItemIcon, { children: jsxRuntime.jsx(Skeleton, { width: "32px", height: "32px", style: { borderRadius: "100%" } }) }), jsxRuntime.jsx(NavItemText, { children: "UNGUESS" })] }))] })));
1506
+ };
1507
+
1508
+ var TokenContainer = styled__default["default"].div(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
1567
1509
  var ScrollingContainer = styled__default["default"].div(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n order: 1;\n overflow-y: auto;\n height: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n order: 1;\n overflow-y: auto;\n height: 100%;\n"])));
1568
1510
  /**
1569
1511
  * The UNGUESS Sidebar component provides a high-level layout structure and sets a framework for navigating around projects.
@@ -1580,10 +1522,86 @@ var Sidebar = function (props) {
1580
1522
  props.onNavToggle && props.onNavToggle(route);
1581
1523
  setNav(route);
1582
1524
  };
1583
- return (jsxRuntime.jsxs(Nav, __assign({}, props, { children: [jsxRuntime.jsx(NavToggle, { onClick: toggleNav, isExpanded: props.isExpanded }), props.tokens && (jsxRuntime.jsx(NavItem, __assign({ hasLogo: true, isExpanded: props.isExpanded, style: { pointerEvents: "none", paddingTop: 0 } }, { children: jsxRuntime.jsx(Card, __assign({ style: { padding: theme.space.sm, width: "70%" } }, { children: jsxRuntime.jsxs(TokenContainer, { children: [jsxRuntime.jsx(SvgToken, { width: 32 }), jsxRuntime.jsx(Span, __assign({ isBold: true, style: { marginLeft: theme.space.xs } }, { children: props.tokens + " " + (props.tokensLabel || "tokens") }))] }) })) }))), jsxRuntime.jsxs(NavItem, __assign({ isExpanded: props.isExpanded, isCurrent: nav === "home", onClick: function () { return navigate("home"); } }, { children: [jsxRuntime.jsx(NavItemIcon, __assign({ isStyled: true }, { children: nav === "home" ? jsxRuntime.jsx(SvgHomeFillStyled, {}) : jsxRuntime.jsx(SvgHomeFill, {}) })), jsxRuntime.jsx(NavItemText, { children: props.homeItemLabel || "My Campaigns" })] })), jsxRuntime.jsx(NavDivider, __assign({ isExpanded: props.isExpanded }, { children: props.dividerLabel || "" })), jsxRuntime.jsx(ScrollingContainer, { children: props.projects &&
1525
+ return props.isLoading ? jsxRuntime.jsx(LoadingSidebar, {}) : (jsxRuntime.jsxs(Nav, __assign({}, props, { children: [jsxRuntime.jsx(NavToggle, { onClick: toggleNav, isExpanded: props.isExpanded }), props.tokens && (jsxRuntime.jsx(NavItem, __assign({ hasLogo: true, isExpanded: props.isExpanded, style: { pointerEvents: "none", paddingTop: 0 } }, { children: jsxRuntime.jsx(Card, __assign({ style: { padding: theme.space.sm, width: "70%" } }, { children: jsxRuntime.jsxs(TokenContainer, { children: [jsxRuntime.jsx(SvgToken, { width: 32 }), jsxRuntime.jsx(Span, __assign({ isBold: true, style: { marginLeft: theme.space.xs } }, { children: props.tokens + " " + (props.tokensLabel || "tokens") }))] }) })) }))), jsxRuntime.jsxs(NavItem, __assign({ isExpanded: props.isExpanded, isCurrent: nav === "home", onClick: function () { return navigate("home"); } }, { children: [jsxRuntime.jsx(NavItemIcon, __assign({ isStyled: true }, { children: nav === "home" ? jsxRuntime.jsx(SvgHomeFillStyled, {}) : jsxRuntime.jsx(SvgHomeFill, {}) })), jsxRuntime.jsx(NavItemText, { children: props.homeItemLabel || "My Campaigns" })] })), jsxRuntime.jsx(NavDivider, __assign({ isExpanded: props.isExpanded }, { children: props.dividerLabel || "" })), jsxRuntime.jsx(ScrollingContainer, { children: props.projects &&
1584
1526
  props.projects.map(function (project) { return (jsxRuntime.jsxs(NavItemProject, __assign({ isExpanded: props.isExpanded, isCurrent: nav === project.id, onClick: function () { return navigate(project.id); } }, { children: [jsxRuntime.jsx(NavItemProject.Title, { title: project.title, children: project.title }), jsxRuntime.jsx(NavItemProject.SubTitle, { children: project.campaigns })] }), project.id)); }) }), jsxRuntime.jsxs(NavItem, __assign({ isExpanded: props.isExpanded, hasBrandmark: true, title: "Be smart from the start", style: { pointerEvents: "none" } }, { children: [jsxRuntime.jsx(NavItemIcon, { children: jsxRuntime.jsx(Logo, { type: "icon", size: 150 }) }), jsxRuntime.jsx(NavItemText, { children: "UNGUESS" })] }))] })));
1585
1527
  };
1586
- var templateObject_1$f, templateObject_2$8;
1528
+ var templateObject_1$i, templateObject_2$8;
1529
+
1530
+ var UgMain = styled__default["default"](reactChrome.Main)(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n @media (min-width: ", ") {\n margin: ", "\n }\n \n /* hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n \n"], ["\n @media (min-width: ", ") {\n margin: ", "\n }\n \n /* hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n \n"])), function (_a) {
1531
+ var theme = _a.theme;
1532
+ return theme.breakpoints.sm;
1533
+ }, function (_a) {
1534
+ var theme = _a.theme;
1535
+ return theme.space.xxl;
1536
+ });
1537
+ /**
1538
+ * A Main defines the main content of an HTML document which displays on the browser
1539
+ */
1540
+ var Main = function (props) { return jsxRuntime.jsx(UgMain, __assign({}, props)); };
1541
+ var templateObject_1$h;
1542
+
1543
+ var StyledHr = styled__default["default"].hr(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n margin: ", "px 0 ", "px 0;\n border: none;\n border-top: 1px solid ", ";\n"], ["\n margin: ", "px 0 ", "px 0;\n border: none;\n border-top: 1px solid ", ";\n"])), theme.space.base * 6, theme.space.base * 8, theme.palette.grey[300]);
1544
+ var PageLoader = function () {
1545
+ return (jsxRuntime.jsx(reactChrome.Chrome, __assign({ isFluid: true, hue: theme.palette.white }, { children: jsxRuntime.jsxs(Body$1, { children: [jsxRuntime.jsx(AppHeader, { isLoading: true }), jsxRuntime.jsxs(Content, { children: [jsxRuntime.jsx(Sidebar, { isLoading: true }), jsxRuntime.jsxs(Main, { children: [jsxRuntime.jsx(Skeleton, { width: "30%", height: "32px" }), jsxRuntime.jsx(StyledHr, { style: { margin: "24px 0" } }), jsxRuntime.jsxs(Row$1, { children: [jsxRuntime.jsx(Col, __assign({ size: 3 }, { children: jsxRuntime.jsx(CampaignCard, { isLoading: true, projectTitle: "", campaignTitle: "", date: "" }) })), jsxRuntime.jsx(Col, __assign({ size: 3 }, { children: jsxRuntime.jsx(CampaignCard, { isLoading: true, projectTitle: "", campaignTitle: "", date: "" }) })), jsxRuntime.jsx(Col, __assign({ size: 3 }, { children: jsxRuntime.jsx(CampaignCard, { isLoading: true, projectTitle: "", campaignTitle: "", date: "" }) })), jsxRuntime.jsx(Col, __assign({ size: 3 }, { children: jsxRuntime.jsx(CampaignCard, { isLoading: true, projectTitle: "", campaignTitle: "", date: "" }) }))] })] })] })] }) })));
1546
+ };
1547
+ var templateObject_1$g;
1548
+
1549
+ /**
1550
+ * Title is a basic component used to display a title. Often used in card headers.
1551
+ */
1552
+ var Title = function (props) { return jsxRuntime.jsx(reactNotifications.Title, __assign({}, props)); };
1553
+
1554
+ /**
1555
+ * Type components come in small, medium, large, extra-large, extra-extra-large, and extra-extra-extra-large.
1556
+ */
1557
+ var SM = function (props) { return jsxRuntime.jsx(reactTypography.SM, __assign({}, props)); };
1558
+ var MD = function (props) { return jsxRuntime.jsx(reactTypography.MD, __assign({}, props)); };
1559
+ var LG = function (props) { return jsxRuntime.jsx(reactTypography.LG, __assign({}, props)); };
1560
+ var XL = function (props) { return jsxRuntime.jsx(reactTypography.XL, __assign({}, props)); };
1561
+ var XXL = function (props) { return jsxRuntime.jsx(reactTypography.XXL, __assign({}, props)); };
1562
+ var XXXL = function (props) { return jsxRuntime.jsx(reactTypography.XXXL, __assign({}, props)); };
1563
+
1564
+ /**
1565
+ * Login Form
1566
+ * <hr>
1567
+ * Used for this:
1568
+ - Login user to the application
1569
+ */
1570
+ var LoginForm = function (props) { return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(Card, __assign({ isFloating: true }, props.card, { children: [jsxRuntime.jsx(Title, __assign({ style: {
1571
+ textAlign: "center",
1572
+ marginTop: theme.space.sm,
1573
+ marginBottom: theme.space.lg,
1574
+ } }, { children: jsxRuntime.jsx(XL, __assign({ style: { color: theme.palette.blue[600] } }, { children: props.title })) })), jsxRuntime.jsx(formik.Formik, __assign({}, props, { initialValues: props.initialValues, onSubmit: props.onSubmit, validate: props.validate }, { children: function (_a) {
1575
+ var values = _a.values, status = _a.status, errors = _a.errors, touched = _a.touched, handleChange = _a.handleChange, handleSubmit = _a.handleSubmit, isSubmitting = _a.isSubmitting;
1576
+ return (jsxRuntime.jsxs(formik.Form, __assign({ onSubmit: handleSubmit }, { children: [jsxRuntime.jsxs(Field, { children: [jsxRuntime.jsx(Input, __assign({ type: "email", name: "email", placeholder: props.placeholderEmail, onChange: handleChange, value: values.email }, (touched && values.email
1577
+ ? (touched.email = true)
1578
+ : (touched.email = false)), (errors && errors.email
1579
+ ? { validation: "error" }
1580
+ : touched.email
1581
+ ? { validation: "success" }
1582
+ : ""))), errors.email ? (jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: errors.email }))) : ("")] }), jsxRuntime.jsxs(Field, __assign({ style: { marginTop: theme.space.md } }, { children: [jsxRuntime.jsx(Input, __assign({ type: "password", name: "password", placeholder: props.placeholderPassword, onChange: handleChange, value: values.password }, (touched && values.password
1583
+ ? (touched.password = true)
1584
+ : (touched.password = false)), (errors && errors.password
1585
+ ? { validation: "error" }
1586
+ : touched.password
1587
+ ? { validation: "success" }
1588
+ : ""))), errors.password && (jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: errors.password }))), props.passwordForgotLink && (jsxRuntime.jsx(reactForms.Hint, __assign({ style: { textAlign: "right" } }, { children: jsxRuntime.jsx(Anchor, __assign({ href: props.passwordForgotLink, style: { color: theme.palette.grey[500] } }, { children: props.passwordForgotLabel || "Forgot Password?" })) })))] })), jsxRuntime.jsx("br", {}), jsxRuntime.jsx(Button, __assign({ type: "submit", isStretched: true, disabled: Object.keys(errors).length
1589
+ ? true
1590
+ : isSubmitting
1591
+ ? true
1592
+ : false, isPrimary: true, style: { marginBottom: theme.space.md } }, { children: props.buttonText })), status && (jsxRuntime.jsx("div", __assign({ style: { textAlign: "center" } }, { children: jsxRuntime.jsx(Message, __assign({ validation: "error" }, { children: status.message })) })))] })));
1593
+ } }))] })), props.onBackClick && (jsxRuntime.jsxs(Button, __assign({ onClick: props.onBackClick, isBasic: true, style: { marginTop: theme.space.md } }, { children: [jsxRuntime.jsx(Button.StartIcon, { children: jsxRuntime.jsx(SvgChevronLeftStroke, {}) }), props.backToLabel || "Back to UNGUESS"] })))] })); };
1594
+
1595
+ var ugModalBody = styled__default["default"](reactModals.Body)(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), function (_a) {
1596
+ var theme = _a.theme;
1597
+ return theme.palette.grey["800"];
1598
+ });
1599
+ var Modal = function (props) { return jsxRuntime.jsx(reactModals.Modal, __assign({}, props)); };
1600
+ var FooterItem = reactModals.FooterItem;
1601
+ Modal.Header = reactModals.Header;
1602
+ Modal.Body = ugModalBody;
1603
+ Modal.Footer = reactModals.Footer;
1604
+ var templateObject_1$f;
1587
1605
 
1588
1606
  /**
1589
1607
  * The Chrome component provides a high-level layout structure and sets a framework for navigating around Zendesk products.
@@ -2083,6 +2101,9 @@ exports.ButtonGroup = ButtonGroup;
2083
2101
  exports.CampaignCard = CampaignCard;
2084
2102
  exports.Caption = Caption;
2085
2103
  exports.Card = Card;
2104
+ exports.CardBody = CardBody;
2105
+ exports.CardFooter = CardFooter;
2106
+ exports.CardHeader = CardHeader;
2086
2107
  exports.Checkbox = Checkbox;
2087
2108
  exports.Chrome = Chrome;
2088
2109
  exports.Close = Close;
@@ -2091,6 +2112,7 @@ exports.Col = Col;
2091
2112
  exports.Content = Content;
2092
2113
  exports.Counter = Counter;
2093
2114
  exports.CursorPagination = CursorPagination;
2115
+ exports.Divider = Divider;
2094
2116
  exports.Dropdown = Dropdown;
2095
2117
  exports.DropdownField = index$1;
2096
2118
  exports.Ellipsis = Ellipsis;
@@ -2135,6 +2157,7 @@ exports.NavToggle = NavToggle;
2135
2157
  exports.NextItem = NextItem;
2136
2158
  exports.Notification = Notification;
2137
2159
  exports.OrderedList = OrderedList;
2160
+ exports.PageLoader = PageLoader;
2138
2161
  exports.Pagination = Pagination;
2139
2162
  exports.Paragraph = Paragraph;
2140
2163
  exports.PreviousItem = PreviousItem;
@@ -2163,6 +2186,7 @@ exports.ToastProvider = ToastProvider;
2163
2186
  exports.Toggle = Toggle;
2164
2187
  exports.Trigger = Trigger;
2165
2188
  exports.UnorderedList = UnorderedList;
2189
+ exports.Wrapper = Wrapper;
2166
2190
  exports.XL = XL;
2167
2191
  exports.XXL = XXL;
2168
2192
  exports.XXXL = XXXL;
@@ -40,4 +40,5 @@ export interface CampaignCardsProps extends CardProps {
40
40
  * this renders the new flag label
41
41
  */
42
42
  labelNew?: string;
43
+ isLoading?: boolean;
43
44
  }
@@ -1,4 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { CampaignCardsProps } from "./_types";
3
+ export declare const Wrapper: import("styled-components").StyledComponent<(props: import("../cards/_types").CardProps) => JSX.Element, any, {}, never>;
4
+ export declare const Divider: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const CardHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const CardBody: import("styled-components").StyledComponent<"div", any, {}, never>;
7
+ export declare const CardFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
3
8
  declare const CampaignCard: (props: CampaignCardsProps) => JSX.Element;
4
9
  export { CampaignCard };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const CampaignCardSkeleton: () => JSX.Element;
@@ -19,4 +19,5 @@ export interface AppHeaderArgs extends HeaderArgs {
19
19
  onSidebarMenuToggle?: () => void;
20
20
  /** Callback when the Logo Item is clicked */
21
21
  onLogoItemClick?: () => void;
22
+ isLoading?: boolean;
22
23
  }
@@ -4,5 +4,5 @@ import { AppHeaderArgs } from "./_types";
4
4
  * An Header is a visual way to display general information.
5
5
  * This can include navList Items, modal, profile settings.
6
6
  */
7
- declare const AppHeader: ({ brand, avatar, ...args }: AppHeaderArgs) => JSX.Element;
7
+ declare const AppHeader: ({ brand, avatar, isLoading, ...args }: AppHeaderArgs) => JSX.Element;
8
8
  export { AppHeader };
@@ -2,5 +2,5 @@
2
2
  import { ComponentMeta, Story } from "@storybook/react";
3
3
  import { AppHeaderArgs } from "./_types";
4
4
  export declare const Default: Story<AppHeaderArgs>;
5
- declare const _default: ComponentMeta<({ brand, avatar, ...args }: AppHeaderArgs) => JSX.Element>;
5
+ declare const _default: ComponentMeta<({ brand, avatar, isLoading, ...args }: AppHeaderArgs) => JSX.Element>;
6
6
  export default _default;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const HeaderSkeleton: () => JSX.Element;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { BrandItemArgs } from "./_types";
3
+ export declare const LogoIconContainer: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@zendeskgarden/react-chrome").IHeaderItemProps & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
3
4
  declare const BrandItem: (props: BrandItemArgs) => JSX.Element;
4
5
  export { BrandItem };
@@ -9,6 +9,7 @@ export interface SidebarArgs extends NavArgs {
9
9
  isExpanded?: boolean;
10
10
  onToggleMenu?: () => void;
11
11
  onNavToggle?: (route: string) => void;
12
+ isLoading?: boolean;
12
13
  }
13
14
  export interface ProjectItem {
14
15
  id: string;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const LoadingSidebar: () => JSX.Element;
@@ -4,5 +4,6 @@ import { AppHeaderArgs } from "../navigation/app-header/_types";
4
4
  export interface PageTemplatesArgs {
5
5
  sidebar?: SidebarArgs;
6
6
  header?: AppHeaderArgs;
7
+ isLoading?: boolean;
7
8
  }
8
9
  export declare const PageTemplate: ({ sidebar, header, ...args }: PageTemplatesArgs) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const PageLoader: () => JSX.Element;
@@ -150,6 +150,8 @@ declare const theme: {
150
150
  };
151
151
  borderRadii: {
152
152
  lg: string;
153
+ xl: string;
154
+ xxl: string;
153
155
  sm: string;
154
156
  md: string;
155
157
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appquality/unguess-design-system",
3
- "version": "2.8.26",
3
+ "version": "2.8.27",
4
4
  "dependencies": {
5
5
  "@zendeskgarden/react-accordions": "^8.49.0",
6
6
  "@zendeskgarden/react-avatars": "^8.49.0",