@expcat/tigercat-core 0.4.0 → 0.4.2

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/dist/index.cjs CHANGED
@@ -255,6 +255,7 @@ __export(index_exports, {
255
255
  clampPercentage: () => clampPercentage,
256
256
  clampScale: () => clampScale,
257
257
  clampSlideIndex: () => clampSlideIndex,
258
+ clampValue: () => clampValue,
258
259
  classNames: () => classNames,
259
260
  clearFieldErrors: () => clearFieldErrors,
260
261
  clipCommentTreeDepth: () => clipCommentTreeDepth,
@@ -357,6 +358,8 @@ __export(index_exports, {
357
358
  dotsVariantConfig: () => dotsVariantConfig,
358
359
  ensureBarMinHeight: () => ensureBarMinHeight,
359
360
  errorCircleSolidIcon20PathD: () => errorCircleSolidIcon20PathD,
361
+ expandIconButtonClasses: () => expandIconButtonClasses,
362
+ expandedRowContentClasses: () => expandedRowContentClasses,
360
363
  fileToUploadFile: () => fileToUploadFile,
361
364
  filterData: () => filterData,
362
365
  filterOptions: () => filterOptions,
@@ -380,6 +383,7 @@ __export(index_exports, {
380
383
  formatMonthYear: () => formatMonthYear,
381
384
  formatPageAriaLabel: () => formatPageAriaLabel,
382
385
  formatPaginationTotal: () => formatPaginationTotal,
386
+ formatPrecision: () => formatPrecision,
383
387
  formatProgressText: () => formatProgressText,
384
388
  formatTime: () => formatTime,
385
389
  formatTimeDisplay: () => formatTimeDisplay,
@@ -474,6 +478,8 @@ __export(index_exports, {
474
478
  getDropdownTriggerClasses: () => getDropdownTriggerClasses,
475
479
  getElementOffsetTop: () => getElementOffsetTop,
476
480
  getErrorFields: () => getErrorFields,
481
+ getExpandCellClasses: () => getExpandCellClasses,
482
+ getExpandIconRotationClasses: () => getExpandIconRotationClasses,
477
483
  getFieldError: () => getFieldError,
478
484
  getFileListItemClasses: () => getFileListItemClasses,
479
485
  getFirstDayOfMonth: () => getFirstDayOfMonth,
@@ -496,6 +502,13 @@ __export(index_exports, {
496
502
  getInputAffixClasses: () => getInputAffixClasses,
497
503
  getInputClasses: () => getInputClasses,
498
504
  getInputErrorClasses: () => getInputErrorClasses,
505
+ getInputNumberFocusRingColor: () => getInputNumberFocusRingColor,
506
+ getInputNumberInputClasses: () => getInputNumberInputClasses,
507
+ getInputNumberSideButtonClasses: () => getInputNumberSideButtonClasses,
508
+ getInputNumberSizeClasses: () => getInputNumberSizeClasses,
509
+ getInputNumberStatusClasses: () => getInputNumberStatusClasses,
510
+ getInputNumberStepButtonClasses: () => getInputNumberStepButtonClasses,
511
+ getInputNumberWrapperClasses: () => getInputNumberWrapperClasses,
499
512
  getInputWrapperClasses: () => getInputWrapperClasses,
500
513
  getJustifyClasses: () => getJustifyClasses,
501
514
  getLeafKeys: () => getLeafKeys,
@@ -589,6 +602,7 @@ __export(index_exports, {
589
602
  getSeparatorContent: () => getSeparatorContent,
590
603
  getShortDayNames: () => getShortDayNames,
591
604
  getShortMonthNames: () => getShortMonthNames,
605
+ getSidebarStyle: () => getSidebarStyle,
592
606
  getSimplePaginationButtonClasses: () => getSimplePaginationButtonClasses,
593
607
  getSimplePaginationButtonsWrapperClasses: () => getSimplePaginationButtonsWrapperClasses,
594
608
  getSimplePaginationContainerClasses: () => getSimplePaginationContainerClasses,
@@ -617,6 +631,7 @@ __export(index_exports, {
617
631
  getStepsContainerClasses: () => getStepsContainerClasses,
618
632
  getSubMenuExpandIconClasses: () => getSubMenuExpandIconClasses,
619
633
  getSubMenuTitleClasses: () => getSubMenuTitleClasses,
634
+ getSubmenuPopupZIndex: () => getSubmenuPopupZIndex,
620
635
  getSvgDefaultAttrs: () => getSvgDefaultAttrs,
621
636
  getSwitchClasses: () => getSwitchClasses,
622
637
  getSwitchThumbClasses: () => getSwitchThumbClasses,
@@ -702,9 +717,16 @@ __export(index_exports, {
702
717
  injectShakeStyle: () => injectShakeStyle,
703
718
  injectSvgAnimationStyles: () => injectSvgAnimationStyles,
704
719
  inputFocusClasses: () => inputFocusClasses,
720
+ inputNumberControlsRightClasses: () => inputNumberControlsRightClasses,
721
+ inputNumberDownIconPathD: () => inputNumberDownIconPathD,
722
+ inputNumberMinusIconPathD: () => inputNumberMinusIconPathD,
723
+ inputNumberPlusIconPathD: () => inputNumberPlusIconPathD,
724
+ inputNumberUpIconPathD: () => inputNumberUpIconPathD,
705
725
  interactiveClasses: () => interactiveClasses,
706
726
  interpolateUploadLabel: () => interpolateUploadLabel,
707
727
  isActivationKey: () => isActivationKey,
728
+ isAtMax: () => isAtMax,
729
+ isAtMin: () => isAtMin,
708
730
  isBrowser: () => isBrowser,
709
731
  isDateInRange: () => isDateInRange,
710
732
  isEnterKey: () => isEnterKey,
@@ -729,6 +751,7 @@ __export(index_exports, {
729
751
  layoutHeaderClasses: () => layoutHeaderClasses,
730
752
  layoutRootClasses: () => layoutRootClasses,
731
753
  layoutSidebarClasses: () => layoutSidebarClasses,
754
+ layoutSidebarCollapsedClasses: () => layoutSidebarCollapsedClasses,
732
755
  linePointTransitionClasses: () => linePointTransitionClasses,
733
756
  linkBaseClasses: () => linkBaseClasses,
734
757
  linkDisabledClasses: () => linkDisabledClasses,
@@ -917,7 +940,9 @@ __export(index_exports, {
917
940
  statusSuccessIconPath: () => statusSuccessIconPath,
918
941
  statusWarningIconPath: () => statusWarningIconPath,
919
942
  stepFinishChar: () => stepFinishChar,
943
+ stepValue: () => stepValue,
920
944
  submenuContentHorizontalClasses: () => submenuContentHorizontalClasses,
945
+ submenuContentHorizontalNestedClasses: () => submenuContentHorizontalNestedClasses,
921
946
  submenuContentInlineClasses: () => submenuContentInlineClasses,
922
947
  submenuContentPopupClasses: () => submenuContentPopupClasses,
923
948
  submenuContentVerticalClasses: () => submenuContentVerticalClasses,
@@ -2055,6 +2080,106 @@ function parseInputValue(target, type) {
2055
2080
  return target.value;
2056
2081
  }
2057
2082
 
2083
+ // src/utils/input-number-utils.ts
2084
+ function getInputNumberWrapperClasses(disabled) {
2085
+ return classNames(
2086
+ "inline-flex items-center relative w-full",
2087
+ "border rounded-md shadow-sm",
2088
+ "bg-[var(--tiger-surface,#ffffff)]",
2089
+ "transition-colors",
2090
+ disabled ? "bg-[var(--tiger-surface-muted,#f3f4f6)] cursor-not-allowed opacity-60" : "hover:border-[var(--tiger-primary,#2563eb)]"
2091
+ );
2092
+ }
2093
+ var WRAPPER_STATUS_CLASSES = {
2094
+ default: "border-[var(--tiger-border,#e5e7eb)]",
2095
+ error: "border-red-500",
2096
+ success: "border-green-500",
2097
+ warning: "border-yellow-500"
2098
+ };
2099
+ var WRAPPER_FOCUS_STATUS_CLASSES = {
2100
+ default: "ring-[var(--tiger-primary,#2563eb)]",
2101
+ error: "ring-red-500",
2102
+ success: "ring-green-500",
2103
+ warning: "ring-yellow-500"
2104
+ };
2105
+ function getInputNumberStatusClasses(status = "default") {
2106
+ return WRAPPER_STATUS_CLASSES[status];
2107
+ }
2108
+ function getInputNumberFocusRingColor(status = "default") {
2109
+ return WRAPPER_FOCUS_STATUS_CLASSES[status];
2110
+ }
2111
+ var WRAPPER_SIZE_CLASSES = {
2112
+ sm: "h-8",
2113
+ md: "h-10",
2114
+ lg: "h-12"
2115
+ };
2116
+ function getInputNumberSizeClasses(size = "md") {
2117
+ return WRAPPER_SIZE_CLASSES[size];
2118
+ }
2119
+ var INPUT_SIZE_CLASSES2 = {
2120
+ sm: "text-sm px-2",
2121
+ md: "text-base px-3",
2122
+ lg: "text-lg px-4"
2123
+ };
2124
+ function getInputNumberInputClasses(size = "md", hasControlsRight, hasControlsBoth) {
2125
+ return classNames(
2126
+ "w-full h-full bg-transparent border-0 outline-none",
2127
+ "text-[var(--tiger-text,#111827)]",
2128
+ "placeholder:text-[var(--tiger-text-muted,#6b7280)]",
2129
+ "disabled:text-[var(--tiger-text-muted,#6b7280)] disabled:cursor-not-allowed",
2130
+ "[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",
2131
+ INPUT_SIZE_CLASSES2[size],
2132
+ hasControlsRight && "pr-8",
2133
+ hasControlsBoth && "px-8 text-center"
2134
+ );
2135
+ }
2136
+ function getInputNumberStepButtonClasses(position, disabled) {
2137
+ return classNames(
2138
+ "flex items-center justify-center",
2139
+ "w-7 h-1/2",
2140
+ "border-l border-[var(--tiger-border,#e5e7eb)]",
2141
+ "text-[var(--tiger-text-muted,#6b7280)]",
2142
+ "transition-colors cursor-pointer select-none",
2143
+ position === "up" ? "border-b border-b-[var(--tiger-border,#e5e7eb)]" : "",
2144
+ disabled ? "opacity-40 cursor-not-allowed" : "hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
2145
+ );
2146
+ }
2147
+ function getInputNumberSideButtonClasses(position, disabled) {
2148
+ return classNames(
2149
+ "flex items-center justify-center",
2150
+ "w-8 h-full",
2151
+ "text-[var(--tiger-text-muted,#6b7280)]",
2152
+ "transition-colors cursor-pointer select-none",
2153
+ position === "left" ? "border-r border-r-[var(--tiger-border,#e5e7eb)] rounded-l-md" : "border-l border-l-[var(--tiger-border,#e5e7eb)] rounded-r-md",
2154
+ disabled ? "opacity-40 cursor-not-allowed" : "hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
2155
+ );
2156
+ }
2157
+ var inputNumberControlsRightClasses = "absolute right-0 top-0 h-full flex flex-col";
2158
+ var inputNumberUpIconPathD = "M7 10l5-5 5 5H7z";
2159
+ var inputNumberDownIconPathD = "M7 7l5 5 5-5H7z";
2160
+ var inputNumberMinusIconPathD = "M5 12h14";
2161
+ var inputNumberPlusIconPathD = "M12 5v14M5 12h14";
2162
+ function clampValue(value, min = -Infinity, max = Infinity) {
2163
+ return Math.min(Math.max(value, min), max);
2164
+ }
2165
+ function stepValue(current, step, direction, min = -Infinity, max = Infinity, precision) {
2166
+ const base = current ?? 0;
2167
+ const raw = direction === "up" ? base + step : base - step;
2168
+ const clamped = clampValue(raw, min, max);
2169
+ return precision !== void 0 ? formatPrecision(clamped, precision) : clamped;
2170
+ }
2171
+ function formatPrecision(value, precision) {
2172
+ return Number(value.toFixed(precision));
2173
+ }
2174
+ function isAtMin(value, min = -Infinity) {
2175
+ if (value === null || value === void 0) return false;
2176
+ return value <= min;
2177
+ }
2178
+ function isAtMax(value, max = Infinity) {
2179
+ if (value === null || value === void 0) return false;
2180
+ return value >= max;
2181
+ }
2182
+
2058
2183
  // src/utils/form-item-styles.ts
2059
2184
  var FORM_ITEM_SPACING = {
2060
2185
  sm: "mb-3 last:mb-0",
@@ -2830,7 +2955,7 @@ function isValidTimeValue(value, min, max) {
2830
2955
  function validateStep(step) {
2831
2956
  return Math.max(1, Math.floor(step));
2832
2957
  }
2833
- function clampValue(value, min, max) {
2958
+ function clampValue2(value, min, max) {
2834
2959
  return Math.max(min, Math.min(max, value));
2835
2960
  }
2836
2961
  function parseTime(timeString) {
@@ -2846,9 +2971,9 @@ function parseTime(timeString) {
2846
2971
  return { hours, minutes, seconds };
2847
2972
  }
2848
2973
  function formatTime(hours, minutes, seconds = 0, showSeconds = false) {
2849
- const h = clampValue(hours, 0, 23).toString().padStart(2, "0");
2850
- const m = clampValue(minutes, 0, 59).toString().padStart(2, "0");
2851
- const s = clampValue(seconds, 0, 59).toString().padStart(2, "0");
2974
+ const h = clampValue2(hours, 0, 23).toString().padStart(2, "0");
2975
+ const m = clampValue2(minutes, 0, 59).toString().padStart(2, "0");
2976
+ const s = clampValue2(seconds, 0, 59).toString().padStart(2, "0");
2852
2977
  return showSeconds ? `${h}:${m}:${s}` : `${h}:${m}`;
2853
2978
  }
2854
2979
  function to12HourFormat(hours) {
@@ -2893,8 +3018,8 @@ function formatTimeDisplayWithLocale(hours, minutes, seconds = 0, format = "24",
2893
3018
  }
2894
3019
  const { hours: hours12, period } = to12HourFormat(hours);
2895
3020
  const h = hours12.toString().padStart(2, "0");
2896
- const m = clampValue(minutes, 0, 59).toString().padStart(2, "0");
2897
- const s = clampValue(seconds, 0, 59).toString().padStart(2, "0");
3021
+ const m = clampValue2(minutes, 0, 59).toString().padStart(2, "0");
3022
+ const s = clampValue2(seconds, 0, 59).toString().padStart(2, "0");
2898
3023
  const timeStr = showSeconds ? `${h}:${m}:${s}` : `${h}:${m}`;
2899
3024
  const labels = getTimePeriodLabels(locale);
2900
3025
  const suffix = period === "AM" ? labels.am : labels.pm;
@@ -3388,6 +3513,11 @@ function getDividerStyle(orientation, color, thickness) {
3388
3513
  var layoutRootClasses = "tiger-layout flex flex-col min-h-screen";
3389
3514
  var layoutHeaderClasses = "tiger-header bg-[var(--tiger-surface,#ffffff)] border-b border-[var(--tiger-border,#e5e7eb)]";
3390
3515
  var layoutSidebarClasses = "tiger-sidebar bg-[var(--tiger-surface,#ffffff)] border-r border-[var(--tiger-border,#e5e7eb)] overflow-hidden transition-all duration-300";
3516
+ var layoutSidebarCollapsedClasses = "tiger-sidebar-collapsed";
3517
+ function getSidebarStyle(collapsed, width = "256px", collapsedWidth = "64px") {
3518
+ const w = collapsed ? collapsedWidth : width;
3519
+ return { width: w, minWidth: w };
3520
+ }
3391
3521
  var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)] p-6";
3392
3522
  var layoutFooterClasses = "tiger-footer bg-[var(--tiger-surface,#ffffff)] border-t border-[var(--tiger-border,#e5e7eb)] p-4";
3393
3523
 
@@ -3561,6 +3691,14 @@ function getCheckboxCellClasses(size) {
3561
3691
  };
3562
3692
  return classNames("text-center", widthClasses[size]);
3563
3693
  }
3694
+ function getExpandCellClasses(size) {
3695
+ return getCheckboxCellClasses(size);
3696
+ }
3697
+ var expandIconButtonClasses = "inline-flex items-center justify-center w-5 h-5 rounded cursor-pointer border-0 bg-transparent transition-transform duration-200 text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-text,#111827)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))]";
3698
+ function getExpandIconRotationClasses(expanded) {
3699
+ return expanded ? "rotate-90" : "rotate-0";
3700
+ }
3701
+ var expandedRowContentClasses = "bg-[var(--tiger-surface-muted,#f9fafb)] border-b border-[var(--tiger-border,#e5e7eb)]";
3564
3702
  function defaultSortFn(a, b) {
3565
3703
  if (a === null || a === void 0) return 1;
3566
3704
  if (b === null || b === void 0) return -1;
@@ -4475,12 +4613,16 @@ var submenuTitleClasses = "flex w-full items-center justify-between px-4 py-2 te
4475
4613
  var submenuExpandIconClasses = "ml-2 transition-transform duration-200";
4476
4614
  var submenuExpandIconExpandedClasses = "transform rotate-180";
4477
4615
  var submenuContentHorizontalClasses = "absolute left-0 top-full mt-0 min-w-[160px] bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border border-[var(--tiger-border,#e5e7eb)] rounded shadow-lg z-50";
4616
+ var submenuContentHorizontalNestedClasses = "absolute left-full top-0 ml-0 min-w-[160px] bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border border-[var(--tiger-border,#e5e7eb)] rounded shadow-lg z-50";
4478
4617
  var submenuContentPopupClasses = "absolute left-full top-0 ml-1 min-w-[180px] bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border border-[var(--tiger-border,#e5e7eb)] rounded shadow-lg z-50";
4479
4618
  var submenuContentVerticalClasses = "overflow-hidden pl-2";
4480
4619
  var submenuContentInlineClasses = "overflow-hidden";
4481
4620
  var menuItemGroupTitleClasses = "px-4 py-2 text-xs font-semibold text-[var(--tiger-text-muted,#6b7280)] uppercase tracking-wider";
4482
4621
  var menuCollapsedClasses = "min-w-[64px]";
4483
4622
  var menuCollapsedItemClasses = "justify-center px-2";
4623
+ function getSubmenuPopupZIndex(level) {
4624
+ return { zIndex: 50 + level * 10 };
4625
+ }
4484
4626
  function getMenuClasses(mode, theme, collapsed) {
4485
4627
  const classes = [menuBaseClasses, menuModeClasses[mode]];
4486
4628
  if (theme === "dark") {
@@ -4552,7 +4694,11 @@ function replaceKeys(key, keys) {
4552
4694
  function getMenuButtons(container) {
4553
4695
  return Array.from(
4554
4696
  container.querySelectorAll('button[data-tiger-menuitem="true"]')
4555
- ).filter((el) => !el.disabled && !el.closest('[data-tiger-menu-hidden="true"]'));
4697
+ ).filter((el) => {
4698
+ if (el.disabled || el.closest('[data-tiger-menu-hidden="true"]')) return false;
4699
+ const nearest = el.closest('ul[role="menu"]');
4700
+ return nearest === container;
4701
+ });
4556
4702
  }
4557
4703
  function moveFocusInMenu(current, delta) {
4558
4704
  const menuEl = current.closest('ul[role="menu"]');
@@ -7922,6 +8068,7 @@ var version = "0.2.0";
7922
8068
  clampPercentage,
7923
8069
  clampScale,
7924
8070
  clampSlideIndex,
8071
+ clampValue,
7925
8072
  classNames,
7926
8073
  clearFieldErrors,
7927
8074
  clipCommentTreeDepth,
@@ -8024,6 +8171,8 @@ var version = "0.2.0";
8024
8171
  dotsVariantConfig,
8025
8172
  ensureBarMinHeight,
8026
8173
  errorCircleSolidIcon20PathD,
8174
+ expandIconButtonClasses,
8175
+ expandedRowContentClasses,
8027
8176
  fileToUploadFile,
8028
8177
  filterData,
8029
8178
  filterOptions,
@@ -8047,6 +8196,7 @@ var version = "0.2.0";
8047
8196
  formatMonthYear,
8048
8197
  formatPageAriaLabel,
8049
8198
  formatPaginationTotal,
8199
+ formatPrecision,
8050
8200
  formatProgressText,
8051
8201
  formatTime,
8052
8202
  formatTimeDisplay,
@@ -8141,6 +8291,8 @@ var version = "0.2.0";
8141
8291
  getDropdownTriggerClasses,
8142
8292
  getElementOffsetTop,
8143
8293
  getErrorFields,
8294
+ getExpandCellClasses,
8295
+ getExpandIconRotationClasses,
8144
8296
  getFieldError,
8145
8297
  getFileListItemClasses,
8146
8298
  getFirstDayOfMonth,
@@ -8163,6 +8315,13 @@ var version = "0.2.0";
8163
8315
  getInputAffixClasses,
8164
8316
  getInputClasses,
8165
8317
  getInputErrorClasses,
8318
+ getInputNumberFocusRingColor,
8319
+ getInputNumberInputClasses,
8320
+ getInputNumberSideButtonClasses,
8321
+ getInputNumberSizeClasses,
8322
+ getInputNumberStatusClasses,
8323
+ getInputNumberStepButtonClasses,
8324
+ getInputNumberWrapperClasses,
8166
8325
  getInputWrapperClasses,
8167
8326
  getJustifyClasses,
8168
8327
  getLeafKeys,
@@ -8256,6 +8415,7 @@ var version = "0.2.0";
8256
8415
  getSeparatorContent,
8257
8416
  getShortDayNames,
8258
8417
  getShortMonthNames,
8418
+ getSidebarStyle,
8259
8419
  getSimplePaginationButtonClasses,
8260
8420
  getSimplePaginationButtonsWrapperClasses,
8261
8421
  getSimplePaginationContainerClasses,
@@ -8284,6 +8444,7 @@ var version = "0.2.0";
8284
8444
  getStepsContainerClasses,
8285
8445
  getSubMenuExpandIconClasses,
8286
8446
  getSubMenuTitleClasses,
8447
+ getSubmenuPopupZIndex,
8287
8448
  getSvgDefaultAttrs,
8288
8449
  getSwitchClasses,
8289
8450
  getSwitchThumbClasses,
@@ -8369,9 +8530,16 @@ var version = "0.2.0";
8369
8530
  injectShakeStyle,
8370
8531
  injectSvgAnimationStyles,
8371
8532
  inputFocusClasses,
8533
+ inputNumberControlsRightClasses,
8534
+ inputNumberDownIconPathD,
8535
+ inputNumberMinusIconPathD,
8536
+ inputNumberPlusIconPathD,
8537
+ inputNumberUpIconPathD,
8372
8538
  interactiveClasses,
8373
8539
  interpolateUploadLabel,
8374
8540
  isActivationKey,
8541
+ isAtMax,
8542
+ isAtMin,
8375
8543
  isBrowser,
8376
8544
  isDateInRange,
8377
8545
  isEnterKey,
@@ -8396,6 +8564,7 @@ var version = "0.2.0";
8396
8564
  layoutHeaderClasses,
8397
8565
  layoutRootClasses,
8398
8566
  layoutSidebarClasses,
8567
+ layoutSidebarCollapsedClasses,
8399
8568
  linePointTransitionClasses,
8400
8569
  linkBaseClasses,
8401
8570
  linkDisabledClasses,
@@ -8584,7 +8753,9 @@ var version = "0.2.0";
8584
8753
  statusSuccessIconPath,
8585
8754
  statusWarningIconPath,
8586
8755
  stepFinishChar,
8756
+ stepValue,
8587
8757
  submenuContentHorizontalClasses,
8758
+ submenuContentHorizontalNestedClasses,
8588
8759
  submenuContentInlineClasses,
8589
8760
  submenuContentPopupClasses,
8590
8761
  submenuContentVerticalClasses,