sellmate-design-system-react 9.0.0-beta.30 → 9.0.0-beta.31

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.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { clsx } from 'clsx';
3
3
  import { extendTailwindMerge } from 'tailwind-merge';
4
- import { forwardRef, useState, useRef, useEffect, createContext, useContext, useCallback, useMemo, useId, Children, cloneElement, useImperativeHandle, useLayoutEffect, Fragment as Fragment$1, isValidElement, useSyncExternalStore, Component } from 'react';
4
+ import { forwardRef, useState, useRef, useEffect, createContext, useContext, useCallback, useMemo, useId, Children, cloneElement, useImperativeHandle, Fragment as Fragment$1, useLayoutEffect, isValidElement, useSyncExternalStore, Component } from 'react';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import { createPortal } from 'react-dom';
7
7
  import * as RCheckbox from '@radix-ui/react-checkbox';
@@ -9285,13 +9285,26 @@ var SGnb = /* @__PURE__ */ forwardRef(function SGnb2({
9285
9285
  "topContent"
9286
9286
  ) : null;
9287
9287
  const systemMenuContext = useMemo(
9288
- () => ({ color, folded: false }),
9288
+ () => ({ color, folded: false, placement: "panel" }),
9289
9289
  [color]
9290
9290
  );
9291
9291
  const systemFoldedContext = useMemo(
9292
- () => ({ color, folded: true }),
9292
+ () => ({ color, folded: true, placement: "panel" }),
9293
9293
  [color]
9294
9294
  );
9295
+ const systemTopContext = useMemo(
9296
+ () => ({ color, folded: false, placement: "top" }),
9297
+ [color]
9298
+ );
9299
+ const systemTopBox = header === "full" && system ? /* @__PURE__ */ jsx(
9300
+ "div",
9301
+ {
9302
+ className: "flex shrink-0 items-center",
9303
+ style: { marginLeft: topContentBox ? H.topGap : "auto" },
9304
+ children: /* @__PURE__ */ jsx(SGnbSystemContext.Provider, { value: systemTopContext, children: system })
9305
+ },
9306
+ "system"
9307
+ ) : null;
9295
9308
  return /* @__PURE__ */ jsxs(
9296
9309
  "div",
9297
9310
  {
@@ -9333,7 +9346,8 @@ var SGnb = /* @__PURE__ */ forwardRef(function SGnb2({
9333
9346
  launcherButton,
9334
9347
  foldButton,
9335
9348
  logoBox,
9336
- topContentBox
9349
+ topContentBox,
9350
+ systemTopBox
9337
9351
  ] })
9338
9352
  }
9339
9353
  ),
@@ -9413,7 +9427,7 @@ var SGnb = /* @__PURE__ */ forwardRef(function SGnb2({
9413
9427
  }
9414
9428
  ),
9415
9429
  menuFooter && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: menuFooter }),
9416
- system && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsx(SGnbSystemContext.Provider, { value: systemMenuContext, children: system }) })
9430
+ !isFull && system && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsx(SGnbSystemContext.Provider, { value: systemMenuContext, children: system }) })
9417
9431
  ]
9418
9432
  }
9419
9433
  )
@@ -9450,6 +9464,7 @@ var SGnb = /* @__PURE__ */ forwardRef(function SGnb2({
9450
9464
 
9451
9465
  // src/components/SGnbSystem/gnbSystem.config.ts
9452
9466
  var GNB_SYSTEM_COLORS = ["light", "dark"];
9467
+ var GNB_SYSTEM_PLACEMENTS = ["panel", "top"];
9453
9468
  var panel = (p) => `var(--cmp-gnb-system-panel-${p})`;
9454
9469
  var domain = (p) => `var(--cmp-gnb-system-domainTag-${p})`;
9455
9470
  var item2 = (p) => `var(--cmp-gnb-system-item-${p})`;
@@ -9480,6 +9495,27 @@ var GNB_SYSTEM_COLOR_CONFIG = {
9480
9495
  alertHoverBg: void 0
9481
9496
  }
9482
9497
  };
9498
+ var GNB_SYSTEM_TOP_COLOR_CONFIG = {
9499
+ light: {
9500
+ item: "light",
9501
+ divider: panel("divider-color-light"),
9502
+ domainBg: domain("light-bg"),
9503
+ domainText: domain("light-text"),
9504
+ alertIcon: alert("icon-color-notification-light"),
9505
+ alertCount: alert("count-color-light"),
9506
+ alertHoverBg: alert("bg-notificationHover-light")
9507
+ },
9508
+ dark: {
9509
+ item: "darker",
9510
+ divider: panel("divider-color-darker"),
9511
+ domainBg: domain("darker-bg"),
9512
+ domainText: domain("darker-text"),
9513
+ alertIcon: alert("icon-color-notification-dark"),
9514
+ alertCount: alert("count-color-dark"),
9515
+ // darker 면에는 알림 hover 배경 토큰이 없다 → 행 기본 hover 를 그대로 쓴다.
9516
+ alertHoverBg: void 0
9517
+ }
9518
+ };
9483
9519
  var GNB_SYSTEM_LAYOUT = {
9484
9520
  /** 펼친 패널의 안쪽 여백 */
9485
9521
  padding: "var(--cmp-gnb-system-project-padding)",
@@ -9592,6 +9628,7 @@ function SystemButton({
9592
9628
  var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9593
9629
  color: colorProp,
9594
9630
  folded: foldedProp,
9631
+ placement: placementProp,
9595
9632
  actions,
9596
9633
  domain: domain2,
9597
9634
  alert: alert2,
@@ -9603,8 +9640,18 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9603
9640
  }, ref) {
9604
9641
  const gnb2 = useContext(SGnbSystemContext);
9605
9642
  const color = colorProp ?? gnb2?.color ?? "light";
9606
- const folded = foldedProp ?? gnb2?.folded ?? false;
9643
+ const placement = placementProp ?? gnb2?.placement ?? "panel";
9644
+ const isTop = placement === "top";
9645
+ const folded = !isTop && (foldedProp ?? gnb2?.folded ?? false);
9607
9646
  const c = GNB_SYSTEM_COLOR_CONFIG[color];
9647
+ const t = GNB_SYSTEM_TOP_COLOR_CONFIG[color];
9648
+ const itemColor = isTop ? t.item : color;
9649
+ const dividerColor = isTop ? t.divider : c.divider;
9650
+ const domainBg = isTop ? t.domainBg : c.domainBg;
9651
+ const domainText = isTop ? t.domainText : c.domainText;
9652
+ const alertIconColor = isTop ? t.alertIcon : c.alertIcon;
9653
+ const alertCountColor = isTop ? t.alertCount : c.alertCount;
9654
+ const alertHoverBg = isTop ? t.alertHoverBg : c.alertHoverBg;
9608
9655
  const hasActions = (actions?.length ?? 0) > 0;
9609
9656
  const hasDomain = domain2 != null;
9610
9657
  const hasUserBlock = Boolean(alert2 || setting || account);
@@ -9615,20 +9662,109 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9615
9662
  const alertButton = alert2 && /* @__PURE__ */ jsx(
9616
9663
  SystemButton,
9617
9664
  {
9618
- color,
9665
+ color: itemColor,
9619
9666
  icon: notified ? "alert" : "bell",
9620
- label: folded ? void 0 : alertLabel,
9667
+ label: folded || isTop ? void 0 : alertLabel,
9621
9668
  ariaLabel: alertLabel,
9622
9669
  paddingX: GNB_SYSTEM_LAYOUT.alertPaddingX,
9623
- iconColor: notified ? c.alertIcon : void 0,
9624
- hoverBg: notified ? c.alertHoverBg : void 0,
9670
+ iconColor: notified ? alertIconColor : void 0,
9671
+ hoverBg: notified ? alertHoverBg : void 0,
9625
9672
  count: folded ? void 0 : alertCount,
9626
9673
  dot: folded && notified,
9627
- accentColor: c.alertCount,
9628
- stretch: !folded,
9674
+ accentColor: alertCountColor,
9675
+ stretch: !folded && !isTop,
9629
9676
  onClick: alert2.onClick
9630
9677
  }
9631
9678
  );
9679
+ const settingButton = setting && /* @__PURE__ */ jsx(
9680
+ SystemButton,
9681
+ {
9682
+ color: itemColor,
9683
+ icon: "setting",
9684
+ label: isTop ? void 0 : settingLabel,
9685
+ ariaLabel: settingLabel,
9686
+ paddingX: GNB_SYSTEM_LAYOUT.settingPaddingX,
9687
+ stretch: !isTop && !alert2,
9688
+ onClick: setting.onClick
9689
+ }
9690
+ );
9691
+ const accountButton = account && /* @__PURE__ */ jsx(
9692
+ SSystemActionButton,
9693
+ {
9694
+ color: itemColor,
9695
+ type: "account",
9696
+ label: account.label,
9697
+ onClick: account.onClick,
9698
+ className: isTop ? "w-auto shrink-0" : void 0
9699
+ }
9700
+ );
9701
+ const domainTag = hasDomain && /* @__PURE__ */ jsx(
9702
+ "div",
9703
+ {
9704
+ className: cn(
9705
+ "typo-body-sm-medium box-border",
9706
+ isTop ? "shrink-0 whitespace-nowrap" : "w-full truncate text-center"
9707
+ ),
9708
+ style: {
9709
+ paddingInline: GNB_SYSTEM_LAYOUT.domainPaddingX,
9710
+ paddingBlock: GNB_SYSTEM_LAYOUT.domainPaddingY,
9711
+ borderRadius: GNB_SYSTEM_LAYOUT.domainRadius,
9712
+ backgroundColor: domainBg,
9713
+ color: domainText
9714
+ },
9715
+ children: domain2
9716
+ }
9717
+ );
9718
+ if (isTop) {
9719
+ const segments = [];
9720
+ actions?.forEach(
9721
+ ({ value, ...action2 }, index) => segments.push({
9722
+ key: `action-${value ?? index}`,
9723
+ node: /* @__PURE__ */ jsx(
9724
+ SSystemActionButton,
9725
+ {
9726
+ color: itemColor,
9727
+ className: "w-auto shrink-0",
9728
+ ...action2
9729
+ }
9730
+ )
9731
+ })
9732
+ );
9733
+ if (alertButton) segments.push({ key: "alert", node: alertButton });
9734
+ if (settingButton) segments.push({ key: "setting", node: settingButton });
9735
+ if (domainTag || accountButton) {
9736
+ segments.push({
9737
+ key: "user",
9738
+ node: /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center", style: { gap: GNB_SYSTEM_LAYOUT.gap }, children: [
9739
+ domainTag,
9740
+ accountButton
9741
+ ] })
9742
+ });
9743
+ }
9744
+ if (segments.length === 0) return null;
9745
+ return /* @__PURE__ */ jsx(
9746
+ "div",
9747
+ {
9748
+ ref,
9749
+ className: cn("flex items-center", className),
9750
+ style: { gap: GNB_SYSTEM_LAYOUT.gap, ...style },
9751
+ "data-color": color,
9752
+ "data-placement": "top",
9753
+ ...rest,
9754
+ children: segments.map(({ key, node }, index) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
9755
+ index > 0 && /* @__PURE__ */ jsx(
9756
+ "span",
9757
+ {
9758
+ className: "h-sd-16 w-px shrink-0",
9759
+ style: { backgroundColor: dividerColor },
9760
+ "aria-hidden": true
9761
+ }
9762
+ ),
9763
+ node
9764
+ ] }, key))
9765
+ }
9766
+ );
9767
+ }
9632
9768
  const panelStyle = {
9633
9769
  backgroundColor: c.bg,
9634
9770
  // 색에 따라 경계선이 없을 수 있다 — 배경 차이만으로 경계가 읽히는 dark 가 그렇다.
@@ -9645,6 +9781,7 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9645
9781
  className: cn("box-border flex w-full flex-col", className),
9646
9782
  style: panelStyle,
9647
9783
  "data-color": color,
9784
+ "data-placement": "panel",
9648
9785
  "data-folded": "",
9649
9786
  ...rest,
9650
9787
  children: [
@@ -9652,7 +9789,7 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9652
9789
  account && /* @__PURE__ */ jsx(
9653
9790
  SystemButton,
9654
9791
  {
9655
- color,
9792
+ color: itemColor,
9656
9793
  icon: "user",
9657
9794
  ariaLabel: account.label ?? "account",
9658
9795
  paddingX: GNB_SYSTEM_LAYOUT.alertPaddingX,
@@ -9671,31 +9808,19 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9671
9808
  className: cn("box-border flex w-full flex-col", className),
9672
9809
  style: { ...panelStyle, gap: GNB_SYSTEM_LAYOUT.gap },
9673
9810
  "data-color": color,
9811
+ "data-placement": "panel",
9674
9812
  ...rest,
9675
9813
  children: [
9676
9814
  actions?.map(({ value, ...action2 }, index) => /* @__PURE__ */ jsx(
9677
9815
  SSystemActionButton,
9678
9816
  {
9679
- color,
9817
+ color: itemColor,
9680
9818
  ...action2
9681
9819
  },
9682
9820
  value ?? index
9683
9821
  )),
9684
- hasActions && (hasDomain || hasUserBlock) && /* @__PURE__ */ jsx("div", { className: "h-px shrink-0", style: { backgroundColor: c.divider } }),
9685
- domain2 != null && /* @__PURE__ */ jsx(
9686
- "div",
9687
- {
9688
- className: "typo-body-sm-medium box-border w-full truncate text-center",
9689
- style: {
9690
- paddingInline: GNB_SYSTEM_LAYOUT.domainPaddingX,
9691
- paddingBlock: GNB_SYSTEM_LAYOUT.domainPaddingY,
9692
- borderRadius: GNB_SYSTEM_LAYOUT.domainRadius,
9693
- backgroundColor: c.domainBg,
9694
- color: c.domainText
9695
- },
9696
- children: domain2
9697
- }
9698
- ),
9822
+ hasActions && (hasDomain || hasUserBlock) && /* @__PURE__ */ jsx("div", { className: "h-px shrink-0", style: { backgroundColor: dividerColor } }),
9823
+ domainTag,
9699
9824
  hasUserBlock && /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
9700
9825
  (alert2 || setting) && /* @__PURE__ */ jsxs("div", { className: "flex items-center", style: { gap: GNB_SYSTEM_LAYOUT.gap }, children: [
9701
9826
  alertButton,
@@ -9703,32 +9828,13 @@ var SGnbSystem = /* @__PURE__ */ forwardRef(function SGnbSystem2({
9703
9828
  "span",
9704
9829
  {
9705
9830
  className: "h-sd-16 w-px shrink-0",
9706
- style: { backgroundColor: c.divider },
9831
+ style: { backgroundColor: dividerColor },
9707
9832
  "aria-hidden": true
9708
9833
  }
9709
9834
  ),
9710
- setting && /* @__PURE__ */ jsx(
9711
- SystemButton,
9712
- {
9713
- color,
9714
- icon: "setting",
9715
- label: settingLabel,
9716
- ariaLabel: settingLabel,
9717
- paddingX: GNB_SYSTEM_LAYOUT.settingPaddingX,
9718
- stretch: !alert2,
9719
- onClick: setting.onClick
9720
- }
9721
- )
9835
+ settingButton
9722
9836
  ] }),
9723
- account && /* @__PURE__ */ jsx(
9724
- SSystemActionButton,
9725
- {
9726
- color,
9727
- type: "account",
9728
- label: account.label,
9729
- onClick: account.onClick
9730
- }
9731
- )
9837
+ accountButton
9732
9838
  ] })
9733
9839
  ]
9734
9840
  }
@@ -18018,8 +18124,16 @@ var createPeriodValue = (unit, maxRange) => ({
18018
18124
  unit,
18019
18125
  value: getDefaultPeriodInputValue(unit, maxRange)
18020
18126
  });
18127
+ var singleOptionValue = (field) => {
18128
+ if (field.type !== "select" && field.type !== "select-multi") return void 0;
18129
+ const options = field.options ?? [];
18130
+ if (options.length !== 1 || options[0].disabled === true) return void 0;
18131
+ return options[0].value;
18132
+ };
18021
18133
  var resolveFieldDefault = (field) => {
18022
18134
  if (field.defaultValue !== void 0 && isFixedField(field)) return field.defaultValue;
18135
+ const only = singleOptionValue(field);
18136
+ if (only !== void 0) return field.type === "select-multi" ? [only] : only;
18023
18137
  if (field.type === "datepicker-range") {
18024
18138
  if (!isInlineDateField(field) && !field.required) return void 0;
18025
18139
  const today = todayIso();
@@ -18118,7 +18232,7 @@ var displayValue = (field, value) => {
18118
18232
  if (field.type === "select-multi") {
18119
18233
  const values = toArrayValue(value);
18120
18234
  const selectableValues = (field.options ?? []).filter((option) => !option.disabled).map((option) => option.value);
18121
- if (selectableValues.length > 0 && selectableValues.every((selectableValue) => values.includes(selectableValue))) {
18235
+ if (selectableValues.length > 1 && selectableValues.every((selectableValue) => values.includes(selectableValue))) {
18122
18236
  return "\uC804\uCCB4";
18123
18237
  }
18124
18238
  return formatValueList(values.map((v) => optionLabel(field, v)));
@@ -21034,6 +21148,6 @@ function STimeRangePicker({
21034
21148
  );
21035
21149
  }
21036
21150
 
21037
- export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, GNB_SYSTEM_COLORS, GNB_SYSTEM_COLOR_CONFIG, GNB_SYSTEM_LAYOUT, ICONS, IMAGE_FITS, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, RangeCalendar, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGnbSystem, SGnbSystemContext, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLayout, SLayoutContext, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoadingViewport, SModal, SModalOutlet, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, findGnbAncestors, findGnbRailValue, isColorKey, isFieldWidthGrade, loading, resolveColor, useSLayout };
21151
+ export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, GNB_SYSTEM_COLORS, GNB_SYSTEM_COLOR_CONFIG, GNB_SYSTEM_LAYOUT, GNB_SYSTEM_PLACEMENTS, GNB_SYSTEM_TOP_COLOR_CONFIG, ICONS, IMAGE_FITS, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, RangeCalendar, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGnbSystem, SGnbSystemContext, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLayout, SLayoutContext, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoadingViewport, SModal, SModalOutlet, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, findGnbAncestors, findGnbRailValue, isColorKey, isFieldWidthGrade, loading, resolveColor, useSLayout };
21038
21152
  //# sourceMappingURL=index.js.map
21039
21153
  //# sourceMappingURL=index.js.map