xmlui 0.9.8 → 0.9.10

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.
@@ -12,7 +12,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
12
12
  var _executor, _DeferredPromise_instances, decorate_fn, _a2;
13
13
  import { delay as delay$1, HttpResponse, http } from "msw";
14
14
  import { isArray, isObject as isObject$1, mapValues } from "lodash-es";
15
- import { r as runEventHandlerCode, g as getDate, d as delay, m as miscellaneousUtils, a as dateFunctions, o as orderBy, T as ThrowStatementError } from "./index-CUYSE1U7.mjs";
15
+ import { r as runEventHandlerCode, g as getDate, d as delay, m as miscellaneousUtils, a as dateFunctions, o as orderBy, T as ThrowStatementError } from "./index-6PAZN2xn.mjs";
16
16
  import Dexie from "dexie";
17
17
  var POSITIONALS_EXP = /(%?)(%([sdijo]))/g;
18
18
  function serializePositional(positional, flag) {
@@ -7,7 +7,7 @@ import { useQuery, useInfiniteQuery, QueryClientProvider, QueryClient } from "@t
7
7
  import produce, { createDraft, finishDraft, enableMapSet } from "immer";
8
8
  import { throttle, get, isNil, omitBy, isUndefined, noop as noop$2, isPlainObject, isEqual, union, uniq, orderBy as orderBy$1, isEmpty, isObject, isArray, groupBy, sortBy, omit, isNumber, isString, cloneDeep, merge, defaultTo, capitalize, unset, setWith, keyBy, pick } from "lodash-es";
9
9
  import { formatDistanceToNow, parse, format, parseISO, isValid, isTomorrow, isYesterday, isToday, isThisWeek, formatRelative, isThisYear, isSameDay, differenceInMinutes } from "date-fns";
10
- import { v as validationStatusMd, l as labelPositionMd, o as orientationOptionMd, a as alignmentOptionValues, L as LinkTargetMd, b as alignmentOptionMd, i as iconPositionMd, c as buttonTypesMd, s as sizeMd, d as buttonThemeMd, e as buttonVariantMd, P as Parser, T as T_CALCULATED_MEMBER_ACCESS_EXPRESSION, f as T_MEMBER_ACCESS_EXPRESSION, g as T_IDENTIFIER, h as T_PREFIX_OP_EXPRESSION, j as T_FUNCTION_DECLARATION, k as T_ARROW_EXPRESSION, m as createXmlUiTreeNodeId, n as T_EMPTY_STATEMENT, p as T_SWITCH_STATEMENT, q as T_TRY_STATEMENT, r as T_THROW_STATEMENT, t as T_FOR_OF_STATEMENT, u as T_FOR_IN_STATEMENT, w as T_FOR_STATEMENT, x as T_EXPRESSION_STATEMENT, y as T_BREAK_STATEMENT, z as T_CONTINUE_STATEMENT, A as T_DO_WHILE_STATEMENT, B as T_WHILE_STATEMENT, C as T_RETURN_STATEMENT, D as T_IF_STATEMENT, E as T_CONST_STATEMENT, F as T_LET_STATEMENT, G as T_ARROW_EXPRESSION_STATEMENT, H as T_BLOCK_STATEMENT, I as T_VAR_STATEMENT, J as T_ASSIGNMENT_EXPRESSION, K as T_LITERAL, M as T_SPREAD_EXPRESSION, N as T_FUNCTION_INVOCATION_EXPRESSION, O as T_POSTFIX_OP_EXPRESSION, Q as T_CONDITIONAL_EXPRESSION, R as T_BINARY_EXPRESSION, S as T_UNARY_EXPRESSION, U as T_OBJECT_LITERAL, V as T_ARRAY_LITERAL, W as T_SEQUENCE_EXPRESSION, X as T_TEMPLATE_LITERAL_EXPRESSION, Y as T_VAR_DECLARATION, Z as T_DESTRUCTURE, _ as TextVariantElement, $ as VariantPropsKeys, a0 as variantOptionsMd, a1 as scrollAnchoringValues, a2 as buttonThemeNames, a3 as iconPositionNames, a4 as buttonVariantNames, a5 as nodeToComponentDef, a6 as triggerPositionNames, a7 as statusColorMd, a8 as placementMd, a9 as httpMethodNames, aa as PARSED_MARK_PROP, ab as layoutOptionKeys, ac as viewportSizeNames, ad as componentFileExtension, ae as codeBehindFileExtension, af as getLintSeverity, ag as LintSeverity, ah as lintApp, ai as printComponentLints, aj as lintErrorsComponent, ak as collectCodeBehindFromSource, al as removeCodeBehindTokensFromTree } from "./lint-B9tKGcOX.mjs";
10
+ import { v as validationStatusMd, l as labelPositionMd, o as orientationOptionMd, a as alignmentOptionValues, L as LinkTargetMd, b as alignmentOptionMd, i as iconPositionMd, c as buttonTypesMd, s as sizeMd, d as buttonThemeMd, e as buttonVariantMd, P as Parser, T as T_CALCULATED_MEMBER_ACCESS_EXPRESSION, f as T_MEMBER_ACCESS_EXPRESSION, g as T_IDENTIFIER, h as T_PREFIX_OP_EXPRESSION, j as T_FUNCTION_DECLARATION, k as T_ARROW_EXPRESSION, m as createXmlUiTreeNodeId, n as T_EMPTY_STATEMENT, p as T_SWITCH_STATEMENT, q as T_TRY_STATEMENT, r as T_THROW_STATEMENT, t as T_FOR_OF_STATEMENT, u as T_FOR_IN_STATEMENT, w as T_FOR_STATEMENT, x as T_EXPRESSION_STATEMENT, y as T_BREAK_STATEMENT, z as T_CONTINUE_STATEMENT, A as T_DO_WHILE_STATEMENT, B as T_WHILE_STATEMENT, C as T_RETURN_STATEMENT, D as T_IF_STATEMENT, E as T_CONST_STATEMENT, F as T_LET_STATEMENT, G as T_ARROW_EXPRESSION_STATEMENT, H as T_BLOCK_STATEMENT, I as T_VAR_STATEMENT, J as T_ASSIGNMENT_EXPRESSION, K as T_LITERAL, M as T_SPREAD_EXPRESSION, N as T_FUNCTION_INVOCATION_EXPRESSION, O as T_POSTFIX_OP_EXPRESSION, Q as T_CONDITIONAL_EXPRESSION, R as T_BINARY_EXPRESSION, S as T_UNARY_EXPRESSION, U as T_OBJECT_LITERAL, V as T_ARRAY_LITERAL, W as T_SEQUENCE_EXPRESSION, X as T_TEMPLATE_LITERAL_EXPRESSION, Y as T_VAR_DECLARATION, Z as T_DESTRUCTURE, _ as TextVariantElement, $ as VariantPropsKeys, a0 as variantOptionsMd, a1 as scrollAnchoringValues, a2 as buttonThemeNames, a3 as iconPositionNames, a4 as buttonVariantNames, a5 as nodeToComponentDef, a6 as triggerPositionNames, a7 as statusColorMd, a8 as placementMd, a9 as httpMethodNames, aa as PARSED_MARK_PROP, ab as layoutOptionKeys, ac as viewportSizeNames, ad as componentFileExtension, ae as codeBehindFileExtension, af as getLintSeverity, ag as LintSeverity, ah as lintApp, ai as printComponentLints, aj as lintErrorsComponent, ak as collectCodeBehindFromSource, al as removeCodeBehindTokensFromTree } from "./lint-DmJOJSJa.mjs";
11
11
  import classnames from "classnames";
12
12
  import Color from "color";
13
13
  import TextareaAutosize from "react-textarea-autosize";
@@ -3423,21 +3423,21 @@ function createUrlWithQueryParams(to2) {
3423
3423
  }
3424
3424
  return to2;
3425
3425
  }
3426
- const themeVars$J = `'{"width-navPanel-App": "var(--xmlui-width-navPanel-App)", "boxShadow-header-App": "var(--xmlui-boxShadow-header-App)", "boxShadow-navPanel-App": "var(--xmlui-boxShadow-navPanel-App)", "maxWidth-content-App": "var(--xmlui-maxWidth-content-App)", "backgroundColor-AppHeader": "var(--xmlui-backgroundColor-AppHeader)", "borderBottom-AppHeader": "var(--xmlui-borderBottom-AppHeader)", "scroll-padding-block-Pages": "var(--xmlui-scroll-padding-block-Pages)"}'`;
3427
- const wrapper$h = "_wrapper_1larq_13";
3428
- const vertical$4 = "_vertical_1larq_23";
3429
- const contentWrapper$1 = "_contentWrapper_1larq_27";
3430
- const navPanelWrapper = "_navPanelWrapper_1larq_33";
3431
- const PagesWrapper = "_PagesWrapper_1larq_37";
3432
- const footerWrapper = "_footerWrapper_1larq_41";
3433
- const sticky = "_sticky_1larq_44";
3434
- const horizontal$5 = "_horizontal_1larq_51";
3435
- const verticalFullHeader = "_verticalFullHeader_1larq_73";
3436
- const PagesWrapperInner = "_PagesWrapperInner_1larq_90";
3437
- const scrollWholePage = "_scrollWholePage_1larq_102";
3438
- const headerWrapper$1 = "_headerWrapper_1larq_105";
3439
- const content$3 = "_content_1larq_27";
3440
- const noScrollbarGutters = "_noScrollbarGutters_1larq_147";
3426
+ const themeVars$J = `'{"width-navPanel-App": "var(--xmlui-width-navPanel-App)", "boxShadow-header-App": "var(--xmlui-boxShadow-header-App)", "boxShadow-navPanel-App": "var(--xmlui-boxShadow-navPanel-App)", "backgroundColor-content-App": "var(--xmlui-backgroundColor-content-App)", "borderLeft-content-App": "var(--xmlui-borderLeft-content-App)", "maxWidth-content-App": "var(--xmlui-maxWidth-content-App)", "backgroundColor-AppHeader": "var(--xmlui-backgroundColor-AppHeader)", "borderBottom-AppHeader": "var(--xmlui-borderBottom-AppHeader)", "scroll-padding-block-Pages": "var(--xmlui-scroll-padding-block-Pages)"}'`;
3427
+ const wrapper$h = "_wrapper_qcc08_13";
3428
+ const vertical$4 = "_vertical_qcc08_23";
3429
+ const contentWrapper$1 = "_contentWrapper_qcc08_27";
3430
+ const navPanelWrapper = "_navPanelWrapper_qcc08_33";
3431
+ const PagesWrapper = "_PagesWrapper_qcc08_37";
3432
+ const footerWrapper = "_footerWrapper_qcc08_41";
3433
+ const sticky = "_sticky_qcc08_44";
3434
+ const horizontal$5 = "_horizontal_qcc08_51";
3435
+ const verticalFullHeader = "_verticalFullHeader_qcc08_73";
3436
+ const PagesWrapperInner = "_PagesWrapperInner_qcc08_90";
3437
+ const scrollWholePage = "_scrollWholePage_qcc08_102";
3438
+ const headerWrapper$1 = "_headerWrapper_qcc08_105";
3439
+ const content$3 = "_content_qcc08_27";
3440
+ const noScrollbarGutters = "_noScrollbarGutters_qcc08_147";
3441
3441
  const styles$$ = {
3442
3442
  themeVars: themeVars$J,
3443
3443
  wrapper: wrapper$h,
@@ -8207,7 +8207,7 @@ function generateBorderSegments(theme2) {
8207
8207
  }
8208
8208
  const result = { ...theme2 };
8209
8209
  Object.entries(theme2).forEach(([key, value]) => {
8210
- var _a, _b;
8210
+ var _a, _b, _c;
8211
8211
  let match = borderRegEx.exec(key);
8212
8212
  if (match) {
8213
8213
  const remainder = match[1];
@@ -8216,9 +8216,9 @@ function generateBorderSegments(theme2) {
8216
8216
  result[`borderTop-${remainder}`] = value;
8217
8217
  result[`borderBottom-${remainder}`] = value;
8218
8218
  const border = getBorderSegments(value);
8219
- result[`borderWidth-${remainder}`] = border.thickness;
8220
- result[_a = `borderStyle-${remainder}`] ?? (result[_a] = border.style);
8221
- result[_b = `borderColor-${remainder}`] ?? (result[_b] = border.color);
8219
+ result[_a = `borderWidth-${remainder}`] ?? (result[_a] = border.thickness);
8220
+ result[_b = `borderStyle-${remainder}`] ?? (result[_b] = border.style);
8221
+ result[_c = `borderColor-${remainder}`] ?? (result[_c] = border.color);
8222
8222
  }
8223
8223
  match = thicknessBorderRegEx.exec(key);
8224
8224
  if (match) {
@@ -14556,6 +14556,7 @@ const TextBox = forwardRef(function TextBox2({
14556
14556
  labelBreak: labelBreak2,
14557
14557
  required: required2
14558
14558
  }, ref) {
14559
+ id = id || useId();
14559
14560
  const inputRef = useRef(null);
14560
14561
  useEffect(() => {
14561
14562
  if (autoFocus) {
@@ -14608,6 +14609,7 @@ const TextBox = forwardRef(function TextBox2({
14608
14609
  return /* @__PURE__ */ jsx(
14609
14610
  ItemWithLabel,
14610
14611
  {
14612
+ id,
14611
14613
  labelPosition,
14612
14614
  label: label2,
14613
14615
  labelWidth,
@@ -19583,6 +19585,7 @@ const AppMd = createMetadata({
19583
19585
  [`boxShadow-header-${COMP$G}`]: "$boxShadow-spread",
19584
19586
  [`boxShadow-navPanel-${COMP$G}`]: "$boxShadow-spread",
19585
19587
  [`scroll-padding-block-Pages`]: "$space-4",
19588
+ [`backgroundColor-content-App`]: "$backgroundColor",
19586
19589
  light: {
19587
19590
  // --- No light-specific theme vars
19588
19591
  },
@@ -31675,7 +31678,7 @@ function IconProvider({ children }) {
31675
31678
  /* @__PURE__ */ jsx("svg", { style: { display: "none" }, ref: spriteRootRef })
31676
31679
  ] });
31677
31680
  }
31678
- const version = "0.9.8";
31681
+ const version = "0.9.10";
31679
31682
  const ApiInterceptorContext = createContext(null);
31680
31683
  function useApiInterceptorContext() {
31681
31684
  return useContext(ApiInterceptorContext);
@@ -35715,7 +35718,7 @@ function ApiInterceptorProvider({
35715
35718
  let interceptorWorker;
35716
35719
  (async () => {
35717
35720
  if (process.env.VITE_MOCK_ENABLED) {
35718
- const { createApiInterceptorWorker } = await import("./apiInterceptorWorker-DOyaK_s_.mjs");
35721
+ const { createApiInterceptorWorker } = await import("./apiInterceptorWorker-BJYj3y8V.mjs");
35719
35722
  if (interceptor) {
35720
35723
  interceptorWorker = await createApiInterceptorWorker(interceptor, apiWorker);
35721
35724
  if (!apiWorker) {
@@ -36331,6 +36334,7 @@ async function parseCodeBehindResponse(response) {
36331
36334
  try {
36332
36335
  parser.parseStatements();
36333
36336
  } catch (e) {
36337
+ console.error("Error parsing code behind", e);
36334
36338
  if (parser.errors.length > 0) {
36335
36339
  return {
36336
36340
  component: errReportScriptError(parser.errors[0], response.url),
@@ -36339,19 +36343,23 @@ async function parseCodeBehindResponse(response) {
36339
36343
  };
36340
36344
  }
36341
36345
  }
36342
- const codeBehind = collectCodeBehindFromSource("Main", code2);
36343
- if (Object.keys(codeBehind.moduleErrors ?? {}).length > 0) {
36346
+ try {
36347
+ const codeBehind = collectCodeBehindFromSource("Main", code2);
36348
+ if (Object.keys(codeBehind.moduleErrors ?? {}).length > 0) {
36349
+ return {
36350
+ component: errReportModuleErrors(codeBehind.moduleErrors, response.url),
36351
+ file: response.url,
36352
+ hasError: true
36353
+ };
36354
+ }
36355
+ removeCodeBehindTokensFromTree(codeBehind);
36344
36356
  return {
36345
- component: errReportModuleErrors(codeBehind.moduleErrors, response.url),
36346
- file: response.url,
36347
- hasError: true
36357
+ codeBehind,
36358
+ file: response.url
36348
36359
  };
36360
+ } catch (e) {
36361
+ console.error("Error collecting code behind", e);
36349
36362
  }
36350
- removeCodeBehindTokensFromTree(codeBehind);
36351
- return {
36352
- codeBehind,
36353
- file: response.url
36354
- };
36355
36363
  }
36356
36364
  function matchesFileName(path, fileName) {
36357
36365
  return path.endsWith(`/${fileName}.ts`) || path.endsWith(`/${fileName}.js`) || path.endsWith(`/${fileName}.${componentFileExtension}`) || path.endsWith(`/${fileName}.${codeBehindFileExtension}`);
@@ -36643,9 +36651,10 @@ function useStandalone(standaloneAppDef, runtime = EMPTY_OBJECT, extensionManage
36643
36651
  );
36644
36652
  const componentCodeBehindPromise = new Promise(async (resolve) => {
36645
36653
  try {
36646
- const codeBehindWrapper = await parseCodeBehindResponse(
36647
- await fetchWithoutCache(`components/${componentPath}.${codeBehindFileExtension}`)
36654
+ const codeBehind = await fetchWithoutCache(
36655
+ `components/${componentPath}.${codeBehindFileExtension}`
36648
36656
  );
36657
+ const codeBehindWrapper = await parseCodeBehindResponse(codeBehind);
36649
36658
  if (codeBehindWrapper.hasError) {
36650
36659
  errorComponents.push(codeBehindWrapper.component);
36651
36660
  }
package/dist/index.css CHANGED
@@ -976,7 +976,7 @@
976
976
  * This function allows other CSS modules to get the value of the CSS variable specified in $componentVariable.
977
977
  Optionally, you can provide a $fallbackValue to set the variable's value if that is not defined.
978
978
  */
979
- ._wrapper_1larq_13 {
979
+ ._wrapper_qcc08_13 {
980
980
  --footer-height: 0px;
981
981
  --header-height: 0px;
982
982
  width: 100%;
@@ -986,138 +986,138 @@
986
986
  flex-direction: column;
987
987
  isolation: isolate;
988
988
  }
989
- ._wrapper_1larq_13._vertical_1larq_23 {
989
+ ._wrapper_qcc08_13._vertical_qcc08_23 {
990
990
  flex-direction: row;
991
991
  overflow: initial;
992
992
  }
993
- ._wrapper_1larq_13._vertical_1larq_23 ._contentWrapper_1larq_27 {
993
+ ._wrapper_qcc08_13._vertical_qcc08_23 ._contentWrapper_qcc08_27 {
994
994
  overflow: auto;
995
995
  scroll-padding-block: var(--xmlui-scroll-padding-block-Pages);
996
996
  position: relative;
997
997
  scrollbar-gutter: stable both-edges;
998
998
  }
999
- ._wrapper_1larq_13._vertical_1larq_23 ._navPanelWrapper_1larq_33 {
999
+ ._wrapper_qcc08_13._vertical_qcc08_23 ._navPanelWrapper_qcc08_33 {
1000
1000
  width: var(--xmlui-width-navPanel-App);
1001
1001
  flex-shrink: 0;
1002
1002
  }
1003
- ._wrapper_1larq_13._vertical_1larq_23 ._PagesWrapper_1larq_37 {
1003
+ ._wrapper_qcc08_13._vertical_qcc08_23 ._PagesWrapper_qcc08_37 {
1004
1004
  min-height: initial;
1005
1005
  flex: 1;
1006
1006
  }
1007
- ._wrapper_1larq_13._vertical_1larq_23 ._footerWrapper_1larq_41 {
1007
+ ._wrapper_qcc08_13._vertical_qcc08_23 ._footerWrapper_qcc08_41 {
1008
1008
  position: static;
1009
1009
  }
1010
- ._wrapper_1larq_13._vertical_1larq_23._sticky_1larq_44 ._contentWrapper_1larq_27 {
1010
+ ._wrapper_qcc08_13._vertical_qcc08_23._sticky_qcc08_44 ._contentWrapper_qcc08_27 {
1011
1011
  scroll-padding-top: var(--header-height);
1012
1012
  }
1013
- ._wrapper_1larq_13._vertical_1larq_23._sticky_1larq_44 ._footerWrapper_1larq_41 {
1013
+ ._wrapper_qcc08_13._vertical_qcc08_23._sticky_qcc08_44 ._footerWrapper_qcc08_41 {
1014
1014
  position: sticky;
1015
1015
  bottom: 0;
1016
1016
  }
1017
- ._wrapper_1larq_13._horizontal_1larq_51 {
1017
+ ._wrapper_qcc08_13._horizontal_qcc08_51 {
1018
1018
  overflow: auto;
1019
1019
  scroll-padding-block: var(--xmlui-scroll-padding-block-Pages);
1020
1020
  }
1021
- ._wrapper_1larq_13._horizontal_1larq_51 ._PagesWrapper_1larq_37 {
1021
+ ._wrapper_qcc08_13._horizontal_qcc08_51 ._PagesWrapper_qcc08_37 {
1022
1022
  min-height: initial;
1023
1023
  }
1024
- ._wrapper_1larq_13._horizontal_1larq_51 ._footerWrapper_1larq_41 {
1024
+ ._wrapper_qcc08_13._horizontal_qcc08_51 ._footerWrapper_qcc08_41 {
1025
1025
  position: static;
1026
1026
  }
1027
- ._wrapper_1larq_13._horizontal_1larq_51._sticky_1larq_44 {
1027
+ ._wrapper_qcc08_13._horizontal_qcc08_51._sticky_qcc08_44 {
1028
1028
  scroll-padding-top: var(--header-height);
1029
1029
  min-height: 100%;
1030
1030
  }
1031
- ._wrapper_1larq_13._horizontal_1larq_51._sticky_1larq_44 ._footerWrapper_1larq_41 {
1031
+ ._wrapper_qcc08_13._horizontal_qcc08_51._sticky_qcc08_44 ._footerWrapper_qcc08_41 {
1032
1032
  position: sticky;
1033
1033
  bottom: 0;
1034
1034
  }
1035
- ._wrapper_1larq_13._horizontal_1larq_51 ._navPanelWrapper_1larq_33 {
1035
+ ._wrapper_qcc08_13._horizontal_qcc08_51 ._navPanelWrapper_qcc08_33 {
1036
1036
  border-bottom: var(--xmlui-borderBottom-AppHeader);
1037
1037
  justify-content: end;
1038
1038
  }
1039
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 {
1039
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 {
1040
1040
  min-height: 100%;
1041
1041
  height: 100%;
1042
1042
  overflow: auto;
1043
1043
  scroll-padding-block: var(--xmlui-scroll-padding-block-Pages);
1044
1044
  }
1045
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 ._navPanelWrapper_1larq_33 {
1045
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 ._navPanelWrapper_qcc08_33 {
1046
1046
  width: var(--xmlui-width-navPanel-App);
1047
1047
  position: sticky;
1048
1048
  height: calc(var(--containerHeight, 100vh) - var(--footer-height) - var(--header-height));
1049
1049
  top: var(--header-height);
1050
1050
  }
1051
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 ._PagesWrapper_1larq_37 {
1051
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 ._PagesWrapper_qcc08_37 {
1052
1052
  overflow: initial;
1053
1053
  min-height: calc(var(--containerHeight, 100vh) - var(--header-height) - var(--footer-height));
1054
1054
  height: 100%;
1055
1055
  }
1056
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 ._PagesWrapperInner_1larq_90 {
1056
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 ._PagesWrapperInner_qcc08_90 {
1057
1057
  height: 100%;
1058
1058
  }
1059
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 ._PagesWrapperInner_1larq_90 > .xmlui-page-root {
1059
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 ._PagesWrapperInner_qcc08_90 > .xmlui-page-root {
1060
1060
  height: 100%;
1061
1061
  }
1062
- ._wrapper_1larq_13._verticalFullHeader_1larq_73 ._footerWrapper_1larq_41 {
1062
+ ._wrapper_qcc08_13._verticalFullHeader_qcc08_73 ._footerWrapper_qcc08_41 {
1063
1063
  position: sticky;
1064
1064
  left: 0;
1065
1065
  right: 0;
1066
1066
  bottom: 0;
1067
1067
  }
1068
- ._wrapper_1larq_13._scrollWholePage_1larq_102 {
1068
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102 {
1069
1069
  scrollbar-gutter: stable both-edges;
1070
1070
  }
1071
- ._wrapper_1larq_13._scrollWholePage_1larq_102 ._headerWrapper_1larq_105 {
1071
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102 ._headerWrapper_qcc08_105 {
1072
1072
  margin-inline: calc(-1 * var(--scrollbar-width));
1073
1073
  }
1074
- ._wrapper_1larq_13._scrollWholePage_1larq_102 ._headerWrapper_1larq_105 > div {
1074
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102 ._headerWrapper_qcc08_105 > div {
1075
1075
  padding-inline: var(--scrollbar-width);
1076
1076
  }
1077
- ._wrapper_1larq_13._scrollWholePage_1larq_102 ._footerWrapper_1larq_41 {
1077
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102 ._footerWrapper_qcc08_41 {
1078
1078
  margin-inline: calc(-1 * var(--scrollbar-width));
1079
1079
  }
1080
- ._wrapper_1larq_13._scrollWholePage_1larq_102 ._footerWrapper_1larq_41 > div {
1080
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102 ._footerWrapper_qcc08_41 > div {
1081
1081
  padding-inline: var(--scrollbar-width);
1082
1082
  }
1083
- ._wrapper_1larq_13._scrollWholePage_1larq_102._verticalFullHeader_1larq_73 {
1083
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102._verticalFullHeader_qcc08_73 {
1084
1084
  scroll-padding-top: var(--header-height);
1085
1085
  }
1086
- ._wrapper_1larq_13._scrollWholePage_1larq_102._verticalFullHeader_1larq_73 ._content_1larq_27 {
1086
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102._verticalFullHeader_qcc08_73 ._content_qcc08_27 {
1087
1087
  margin-inline: calc(-1 * var(--scrollbar-width));
1088
1088
  }
1089
- ._wrapper_1larq_13._scrollWholePage_1larq_102._verticalFullHeader_1larq_73 ._contentWrapper_1larq_27 {
1089
+ ._wrapper_qcc08_13._scrollWholePage_qcc08_102._verticalFullHeader_qcc08_73 ._contentWrapper_qcc08_27 {
1090
1090
  padding-inline: var(--scrollbar-width);
1091
1091
  }
1092
- ._wrapper_1larq_13:not(._scrollWholePage_1larq_102) {
1092
+ ._wrapper_qcc08_13:not(._scrollWholePage_qcc08_102) {
1093
1093
  overflow: hidden;
1094
1094
  }
1095
- ._wrapper_1larq_13:not(._scrollWholePage_1larq_102) ._content_1larq_27 {
1095
+ ._wrapper_qcc08_13:not(._scrollWholePage_qcc08_102) ._content_qcc08_27 {
1096
1096
  min-height: 0;
1097
1097
  height: 100%;
1098
1098
  }
1099
- ._wrapper_1larq_13:not(._scrollWholePage_1larq_102) ._contentWrapper_1larq_27 {
1099
+ ._wrapper_qcc08_13:not(._scrollWholePage_qcc08_102) ._contentWrapper_qcc08_27 {
1100
1100
  overflow: initial;
1101
1101
  }
1102
- ._wrapper_1larq_13:not(._scrollWholePage_1larq_102) ._PagesWrapper_1larq_37 {
1102
+ ._wrapper_qcc08_13:not(._scrollWholePage_qcc08_102) ._PagesWrapper_qcc08_37 {
1103
1103
  overflow: auto;
1104
1104
  scroll-padding-block: var(--xmlui-scroll-padding-block-Pages);
1105
1105
  min-height: 0;
1106
1106
  height: 100%;
1107
1107
  scrollbar-gutter: stable both-edges;
1108
1108
  }
1109
- ._wrapper_1larq_13:not(._scrollWholePage_1larq_102) ._PagesWrapperInner_1larq_90 {
1109
+ ._wrapper_qcc08_13:not(._scrollWholePage_qcc08_102) ._PagesWrapperInner_qcc08_90 {
1110
1110
  min-height: 100%;
1111
1111
  height: 0;
1112
1112
  }
1113
- ._wrapper_1larq_13._noScrollbarGutters_1larq_147 {
1113
+ ._wrapper_qcc08_13._noScrollbarGutters_qcc08_147 {
1114
1114
  scrollbar-gutter: auto;
1115
1115
  }
1116
- ._wrapper_1larq_13._noScrollbarGutters_1larq_147 ._PagesWrapper_1larq_37 {
1116
+ ._wrapper_qcc08_13._noScrollbarGutters_qcc08_147 ._PagesWrapper_qcc08_37 {
1117
1117
  scrollbar-gutter: auto;
1118
1118
  }
1119
1119
 
1120
- ._headerWrapper_1larq_105 {
1120
+ ._headerWrapper_qcc08_105 {
1121
1121
  z-index: 1;
1122
1122
  min-height: 0;
1123
1123
  flex-shrink: 0;
@@ -1126,40 +1126,42 @@
1126
1126
  box-shadow: var(--xmlui-boxShadow-header-App);
1127
1127
  background-color: var(--xmlui-backgroundColor-AppHeader);
1128
1128
  }
1129
- ._headerWrapper_1larq_105._sticky_1larq_44 {
1129
+ ._headerWrapper_qcc08_105._sticky_qcc08_44 {
1130
1130
  position: sticky;
1131
1131
  }
1132
1132
 
1133
- ._content_1larq_27 {
1133
+ ._content_qcc08_27 {
1134
1134
  display: flex;
1135
1135
  flex-direction: row;
1136
1136
  isolation: isolate;
1137
1137
  }
1138
1138
 
1139
- ._contentWrapper_1larq_27 {
1139
+ ._contentWrapper_qcc08_27 {
1140
1140
  position: relative;
1141
1141
  min-width: 0;
1142
1142
  flex: 1;
1143
1143
  display: flex;
1144
1144
  flex-direction: column;
1145
1145
  box-shadow: var(--xmlui-boxShadow-navPanel-App);
1146
+ background-color: var(--xmlui-backgroundColor-content-App);
1147
+ border-left: var(--xmlui-borderLeft-content-App);
1146
1148
  }
1147
1149
 
1148
- ._navPanelWrapper_1larq_33 {
1150
+ ._navPanelWrapper_qcc08_33 {
1149
1151
  display: flex;
1150
1152
  position: sticky;
1151
1153
  top: 0;
1152
1154
  }
1153
- ._navPanelWrapper_1larq_33:empty {
1155
+ ._navPanelWrapper_qcc08_33:empty {
1154
1156
  display: none;
1155
1157
  }
1156
1158
 
1157
- ._PagesWrapper_1larq_37 {
1159
+ ._PagesWrapper_qcc08_37 {
1158
1160
  flex: 1;
1159
1161
  isolation: isolate;
1160
1162
  }
1161
1163
 
1162
- ._PagesWrapperInner_1larq_90 {
1164
+ ._PagesWrapperInner_qcc08_90 {
1163
1165
  --page-padding-left: var(--xmlui-space-4);
1164
1166
  --page-padding-right: var(--xmlui-space-4);
1165
1167
  --page-padding-top: var(--xmlui-space-5);
@@ -1177,7 +1179,7 @@
1177
1179
  display: flex;
1178
1180
  flex-direction: column;
1179
1181
  }
1180
- ._PagesWrapperInner_1larq_90 > .xmlui-page-root {
1182
+ ._PagesWrapperInner_qcc08_90 > .xmlui-page-root {
1181
1183
  padding-top: var(--page-padding-top-override, var(--page-padding-top));
1182
1184
  padding-bottom: var(--page-padding-bottom-override, var(--page-padding-bottom));
1183
1185
  padding-right: var(--page-padding-right-override, var(--page-padding-right));
@@ -1189,7 +1191,7 @@
1189
1191
  margin-right: calc(-1 * var(--page-padding-right));
1190
1192
  }
1191
1193
 
1192
- ._footerWrapper_1larq_41 {
1194
+ ._footerWrapper_qcc08_41 {
1193
1195
  flex-shrink: 0;
1194
1196
  }/*
1195
1197
  * This file contains all CSS variables AppEngine uses for styling the UI, including individual visual components.