@stn-uiux/pub-ui-react 0.1.76 → 0.1.78

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
@@ -997,23 +997,24 @@ var StnModal = forwardRef6(function StnModal2({
997
997
  ...rest,
998
998
  children: /* @__PURE__ */ jsx9("div", { className: "stn-pop__cont", children: /* @__PURE__ */ jsxs5("div", { className: "stn-pop__panel", children: [
999
999
  /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head", id: titleId, children: [
1000
- /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-row", children: [
1001
- /* @__PURE__ */ jsx9("h4", { children: title }),
1002
- headerExtra ? /* @__PURE__ */ jsx9("div", { className: "stn-pop__head-extra", children: headerExtra }) : null
1000
+ /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-start", children: [
1001
+ /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-row", children: [
1002
+ /* @__PURE__ */ jsx9("h4", { children: title }),
1003
+ headerExtra ? /* @__PURE__ */ jsx9("div", { className: "stn-pop__head-extra", children: headerExtra }) : null
1004
+ ] }),
1005
+ subtitle ? /* @__PURE__ */ jsx9("p", { className: "stn-pop__subtitle", children: subtitle }) : null
1003
1006
  ] }),
1004
- subtitle ? /* @__PURE__ */ jsx9("p", { className: "stn-pop__subtitle", children: subtitle }) : null
1007
+ onClose ? /* @__PURE__ */ jsx9(
1008
+ StnButton,
1009
+ {
1010
+ icon: "line/x",
1011
+ variant: "ghost",
1012
+ size: "sm",
1013
+ "aria-label": "\uB2EB\uAE30",
1014
+ onClick: onClose
1015
+ }
1016
+ ) : null
1005
1017
  ] }),
1006
- /* @__PURE__ */ jsx9(
1007
- StnButton,
1008
- {
1009
- icon: "line/x",
1010
- variant: "ghost",
1011
- size: "sm",
1012
- className: "stn-pop__close",
1013
- "aria-label": "\uB2EB\uAE30",
1014
- onClick: onClose
1015
- }
1016
- ),
1017
1018
  /* @__PURE__ */ jsx9("div", { className: cn("stn-pop__body", bodyClassName), children }),
1018
1019
  actions ? /* @__PURE__ */ jsx9(
1019
1020
  "div",
@@ -3093,15 +3094,57 @@ StnCard.Header = StnCardHeader;
3093
3094
  StnCard.Body = StnCardBody;
3094
3095
  StnCard.Footer = StnCardFooter;
3095
3096
 
3097
+ // src/components/StnText.tsx
3098
+ import { createElement, forwardRef as forwardRef17 } from "react";
3099
+ var DEFAULT_TAG = {
3100
+ "display-1": "h1",
3101
+ "display-2": "h1",
3102
+ "display-3": "h1",
3103
+ "heading-1": "h1",
3104
+ "heading-2": "h2",
3105
+ "heading-3": "h3",
3106
+ "title-1": "h4",
3107
+ "title-2": "h5",
3108
+ "title-3": "h6",
3109
+ "body-1": "p",
3110
+ "body-2": "p",
3111
+ "body-3": "p",
3112
+ "body-small": "p",
3113
+ "label-1": "span",
3114
+ "label-2": "span",
3115
+ "label-3": "span",
3116
+ "label-4": "span",
3117
+ "caption-large": "span",
3118
+ caption: "span"
3119
+ };
3120
+ var StnText = forwardRef17(function StnText2({ variant = "body-3", as, weight, color, truncate, className, children, ...rest }, ref) {
3121
+ const tag = as ?? DEFAULT_TAG[variant];
3122
+ return createElement(
3123
+ tag,
3124
+ {
3125
+ ref,
3126
+ className: cn(
3127
+ `stn-text-${variant}`,
3128
+ "stn-text-reset-margin",
3129
+ weight && `stn-text-weight-${weight}`,
3130
+ color && `stn-text-color-${color}`,
3131
+ truncate && "stn-text-truncate",
3132
+ className
3133
+ ),
3134
+ ...rest
3135
+ },
3136
+ children
3137
+ );
3138
+ });
3139
+
3096
3140
  // src/patterns/sectionSide/StnSectionSide.tsx
3097
- import { forwardRef as forwardRef17 } from "react";
3141
+ import { forwardRef as forwardRef18 } from "react";
3098
3142
  import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
3099
- var StnSectionSide = forwardRef17(function StnSectionSide2({
3143
+ var StnSectionSide = forwardRef18(function StnSectionSide2({
3100
3144
  children,
3101
3145
  header,
3102
3146
  footer,
3103
3147
  className,
3104
- variant = "solid",
3105
3148
  fill = true,
3106
3149
  fullWidth = false,
3107
3150
  collapsed = false,
@@ -3115,7 +3158,6 @@ var StnSectionSide = forwardRef17(function StnSectionSide2({
3115
3158
  ref,
3116
3159
  className: cn(
3117
3160
  "stn-section-side",
3118
- variant === "translucent" && "stn-section-side--translucent",
3119
3161
  fill && "stn-section-side--fill",
3120
3162
  fullWidth && "is-full-width",
3121
3163
  collapsed && "is-collapsed",
@@ -3145,9 +3187,9 @@ function StnSectionSidePreset({ tree, collapsed, ...sideProps }) {
3145
3187
  }
3146
3188
 
3147
3189
  // src/patterns/login/StnLoginCard.tsx
3148
- import { forwardRef as forwardRef18 } from "react";
3190
+ import { forwardRef as forwardRef19 } from "react";
3149
3191
  import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
3150
- var StnLoginCardGlowWrapper = forwardRef18(
3192
+ var StnLoginCardGlowWrapper = forwardRef19(
3151
3193
  function StnLoginCardGlowWrapper2({ children, className, ...rest }, ref) {
3152
3194
  return /* @__PURE__ */ jsx23(
3153
3195
  "div",
@@ -3161,7 +3203,7 @@ var StnLoginCardGlowWrapper = forwardRef18(
3161
3203
  );
3162
3204
  }
3163
3205
  );
3164
- var StnLoginCard = forwardRef18(function StnLoginCard2({
3206
+ var StnLoginCard = forwardRef19(function StnLoginCard2({
3165
3207
  brand,
3166
3208
  children,
3167
3209
  brandPosition = "left",
@@ -3192,12 +3234,12 @@ var StnLoginCard = forwardRef18(function StnLoginCard2({
3192
3234
  }
3193
3235
  return cardElement;
3194
3236
  });
3195
- var StnLoginBrandStack = forwardRef18(
3237
+ var StnLoginBrandStack = forwardRef19(
3196
3238
  function StnLoginBrandStack2({ children, className, ...rest }, ref) {
3197
3239
  return /* @__PURE__ */ jsx23("div", { ref, className: cn("stn-login-brand-stack", className), ...rest, children });
3198
3240
  }
3199
3241
  );
3200
- var StnLoginFormStack = forwardRef18(
3242
+ var StnLoginFormStack = forwardRef19(
3201
3243
  function StnLoginFormStack2({ children, className, ...rest }, ref) {
3202
3244
  return /* @__PURE__ */ jsx23(
3203
3245
  "form",
@@ -3211,7 +3253,7 @@ var StnLoginFormStack = forwardRef18(
3211
3253
  );
3212
3254
  }
3213
3255
  );
3214
- var StnLoginFormFields = forwardRef18(
3256
+ var StnLoginFormFields = forwardRef19(
3215
3257
  function StnLoginFormFields2({ children, className, ...rest }, ref) {
3216
3258
  return /* @__PURE__ */ jsx23(
3217
3259
  "div",
@@ -3225,7 +3267,7 @@ var StnLoginFormFields = forwardRef18(
3225
3267
  );
3226
3268
  }
3227
3269
  );
3228
- var StnLoginFormLinks = forwardRef18(
3270
+ var StnLoginFormLinks = forwardRef19(
3229
3271
  function StnLoginFormLinks2({ children, className, ...rest }, ref) {
3230
3272
  return /* @__PURE__ */ jsx23(
3231
3273
  "nav",
@@ -3240,7 +3282,7 @@ var StnLoginFormLinks = forwardRef18(
3240
3282
  );
3241
3283
  }
3242
3284
  );
3243
- var StnLoginPlaceholder = forwardRef18(
3285
+ var StnLoginPlaceholder = forwardRef19(
3244
3286
  function StnLoginPlaceholder2({ children = "\uC18C\uC15C \uB85C\uADF8\uC778 \uAE30\uB2A5\uC740 \uC900\uBE44 \uC911\uC785\uB2C8\uB2E4.", className, ...rest }, ref) {
3245
3287
  return /* @__PURE__ */ jsx23("p", { ref, className: cn("stn-login__placeholder", className), ...rest, children });
3246
3288
  }
@@ -3249,11 +3291,11 @@ var StnLoginPlaceholder = forwardRef18(
3249
3291
  // src/patterns/login/StnLoginTextField.tsx
3250
3292
  import {
3251
3293
  cloneElement as cloneElement3,
3252
- forwardRef as forwardRef19,
3294
+ forwardRef as forwardRef20,
3253
3295
  isValidElement as isValidElement3
3254
3296
  } from "react";
3255
3297
  import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
3256
- var StnLoginTextField = forwardRef19(
3298
+ var StnLoginTextField = forwardRef20(
3257
3299
  function StnLoginTextField2({
3258
3300
  icon,
3259
3301
  iconColor,
@@ -3313,7 +3355,7 @@ var StnLoginTextField = forwardRef19(
3313
3355
  );
3314
3356
 
3315
3357
  // src/components/StnLogo.tsx
3316
- import { forwardRef as forwardRef20 } from "react";
3358
+ import { forwardRef as forwardRef21 } from "react";
3317
3359
  import { STN_INFOMAP_LOGO } from "@stn-uiux/pub-ui/data/stnBrand";
3318
3360
  import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
3319
3361
  function sources(variant) {
@@ -3328,7 +3370,7 @@ function sources(variant) {
3328
3370
  }
3329
3371
  return { light: STN_INFOMAP_LOGO.full, dark: STN_INFOMAP_LOGO.fullDark };
3330
3372
  }
3331
- var StnLogo = forwardRef20(function StnLogo2({ variant = "horizontal", size = "md", mode, theme, alt = "InfoMap SRM", className, ...rest }, ref) {
3373
+ var StnLogo = forwardRef21(function StnLogo2({ variant = "horizontal", size = "md", mode, theme, alt = "InfoMap SRM", className, ...rest }, ref) {
3332
3374
  const { light, dark } = sources(variant);
3333
3375
  const finalMode = mode ?? theme;
3334
3376
  return /* @__PURE__ */ jsxs19(
@@ -3551,11 +3593,11 @@ function StnChip(props) {
3551
3593
 
3552
3594
  // src/components/StnToggleButton.tsx
3553
3595
  import {
3554
- forwardRef as forwardRef21,
3596
+ forwardRef as forwardRef22,
3555
3597
  useState as useState8
3556
3598
  } from "react";
3557
3599
  import { Fragment as Fragment3, jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
3558
- var StnToggleButton = forwardRef21(
3600
+ var StnToggleButton = forwardRef22(
3559
3601
  function StnToggleButton2({
3560
3602
  pressed: pressedProp,
3561
3603
  defaultPressed = false,
@@ -3654,9 +3696,9 @@ var StnToggleButton = forwardRef21(
3654
3696
  );
3655
3697
 
3656
3698
  // src/components/StnSwitch.tsx
3657
- import { forwardRef as forwardRef22, useId as useId6 } from "react";
3699
+ import { forwardRef as forwardRef23, useId as useId6 } from "react";
3658
3700
  import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
3659
- var StnSwitch = forwardRef22(function StnSwitch2({
3701
+ var StnSwitch = forwardRef23(function StnSwitch2({
3660
3702
  label,
3661
3703
  size = "md",
3662
3704
  color,
@@ -3747,9 +3789,9 @@ var StnSwitch = forwardRef22(function StnSwitch2({
3747
3789
  });
3748
3790
 
3749
3791
  // src/components/StnRadio.tsx
3750
- import { forwardRef as forwardRef23, useId as useId7 } from "react";
3792
+ import { forwardRef as forwardRef24, useId as useId7 } from "react";
3751
3793
  import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
3752
- var StnRadio = forwardRef23(function StnRadio2({
3794
+ var StnRadio = forwardRef24(function StnRadio2({
3753
3795
  label,
3754
3796
  size = "md",
3755
3797
  color,
@@ -3953,7 +3995,7 @@ function StnSegmented(props) {
3953
3995
 
3954
3996
  // src/components/tabs/StnTabs.tsx
3955
3997
  import {
3956
- forwardRef as forwardRef26,
3998
+ forwardRef as forwardRef27,
3957
3999
  useState as useState9,
3958
4000
  useRef as useRef5,
3959
4001
  useEffect as useEffect8,
@@ -3979,9 +4021,9 @@ function StnTabContextProvider({
3979
4021
  }
3980
4022
 
3981
4023
  // src/components/tabs/StnTab.tsx
3982
- import { forwardRef as forwardRef24 } from "react";
4024
+ import { forwardRef as forwardRef25 } from "react";
3983
4025
  import { jsx as jsx34, jsxs as jsxs26 } from "react/jsx-runtime";
3984
- var StnTab = forwardRef24(function StnTab2({
4026
+ var StnTab = forwardRef25(function StnTab2({
3985
4027
  value,
3986
4028
  label,
3987
4029
  icon,
@@ -4053,9 +4095,9 @@ var StnTab = forwardRef24(function StnTab2({
4053
4095
  });
4054
4096
 
4055
4097
  // src/components/tabs/StnTabPanel.tsx
4056
- import { forwardRef as forwardRef25 } from "react";
4098
+ import { forwardRef as forwardRef26 } from "react";
4057
4099
  import { jsx as jsx35 } from "react/jsx-runtime";
4058
- var StnTabPanel = forwardRef25(function StnTabPanel2({
4100
+ var StnTabPanel = forwardRef26(function StnTabPanel2({
4059
4101
  value,
4060
4102
  current,
4061
4103
  padding = "md",
@@ -4092,7 +4134,7 @@ var StnTabPanel = forwardRef25(function StnTabPanel2({
4092
4134
  // src/components/tabs/StnTabs.tsx
4093
4135
  import { jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
4094
4136
  var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect8;
4095
- var StnTabsRoot = forwardRef26(function StnTabs({
4137
+ var StnTabsRoot = forwardRef27(function StnTabs({
4096
4138
  value: controlledValue,
4097
4139
  defaultValue,
4098
4140
  onChange,
@@ -4605,7 +4647,7 @@ function StnDropdownMenu({
4605
4647
  }
4606
4648
 
4607
4649
  // src/components/StnTextField.tsx
4608
- import { forwardRef as forwardRef27, useId as useId11 } from "react";
4650
+ import { forwardRef as forwardRef28, useId as useId11 } from "react";
4609
4651
  import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
4610
4652
  function normalizeSize(size) {
4611
4653
  if (!size) return "md";
@@ -4633,7 +4675,7 @@ function resolveGlyph2(node) {
4633
4675
  if (typeof node === "string") return /* @__PURE__ */ jsx39(StnIcon, { name: node, size: 16, color: "currentColor" });
4634
4676
  return node;
4635
4677
  }
4636
- var StnTextField = forwardRef27(function StnTextField2({
4678
+ var StnTextField = forwardRef28(function StnTextField2({
4637
4679
  size = "M",
4638
4680
  variant = "outlined",
4639
4681
  color,
@@ -4739,7 +4781,7 @@ var StnTextField = forwardRef27(function StnTextField2({
4739
4781
 
4740
4782
  // src/components/StnTextArea.tsx
4741
4783
  import {
4742
- forwardRef as forwardRef28,
4784
+ forwardRef as forwardRef29,
4743
4785
  useId as useId12,
4744
4786
  useState as useState11
4745
4787
  } from "react";
@@ -4767,7 +4809,7 @@ function resolveGlyph3(node) {
4767
4809
  if (typeof node === "string") return /* @__PURE__ */ jsx40(StnIcon, { name: node, size: 16, color: "currentColor" });
4768
4810
  return node;
4769
4811
  }
4770
- var StnTextArea = forwardRef28(function StnTextArea2({
4812
+ var StnTextArea = forwardRef29(function StnTextArea2({
4771
4813
  size = "md",
4772
4814
  variant = "outlined",
4773
4815
  color,
@@ -4891,7 +4933,7 @@ var StnTextArea = forwardRef28(function StnTextArea2({
4891
4933
  StnTextArea.displayName = "StnTextArea";
4892
4934
 
4893
4935
  // src/components/StnDateRangeField.tsx
4894
- import { forwardRef as forwardRef29, useId as useId13 } from "react";
4936
+ import { forwardRef as forwardRef30, useId as useId13 } from "react";
4895
4937
  import {
4896
4938
  formatStnDateRangeFieldValue
4897
4939
  } from "@stn-uiux/pub-ui/data/stnDateRangeField";
@@ -4921,7 +4963,7 @@ function resolveValue(value, format) {
4921
4963
  const trimmed = value.trim();
4922
4964
  return trimmed || null;
4923
4965
  }
4924
- var StnDateRangeField = forwardRef29(function StnDateRangeField2({
4966
+ var StnDateRangeField = forwardRef30(function StnDateRangeField2({
4925
4967
  size = "md",
4926
4968
  variant = "outline",
4927
4969
  start,
@@ -5914,17 +5956,15 @@ function StnHeaderToolbar({ children, className, ...rest }) {
5914
5956
 
5915
5957
  // src/index.ts
5916
5958
  import {
5917
- STN_LAYER0_BACKGROUND_FIGMA,
5918
5959
  STN_LAYER0_BACKGROUND_INTRO,
5919
5960
  STN_LAYER0_BACKGROUND_USAGE,
5920
5961
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
5921
- STN_LAYER0_BACKGROUND_DEMO_IMAGES as STN_LAYER0_BACKGROUND_DEMO_IMAGES2,
5962
+ STN_LAYER0_BACKGROUND_DEMO_IMAGES,
5922
5963
  STN_LAYER0_MAP_LIGHT_OVERLAY as STN_LAYER0_MAP_LIGHT_OVERLAY2
5923
5964
  } from "@stn-uiux/pub-ui/data/stnLayer0Background";
5924
5965
 
5925
5966
  // src/patterns/background/StnLayer0Background.tsx
5926
5967
  import {
5927
- STN_LAYER0_BACKGROUND_DEMO_IMAGES,
5928
5968
  STN_LAYER0_MAP_LIGHT_OVERLAY
5929
5969
  } from "@stn-uiux/pub-ui/data/stnLayer0Background";
5930
5970
  import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
@@ -5933,12 +5973,21 @@ function overlayStyle(overlay) {
5933
5973
  const pct = `${Math.min(100, Math.max(0, overlay * 100))}%`;
5934
5974
  return { "--stn-layer0-overlay-opacity": pct };
5935
5975
  }
5976
+ function handleImageError(e) {
5977
+ const currentSrc = e.currentTarget.src;
5978
+ if (currentSrc && currentSrc.startsWith("http") && currentSrc.includes("/images/layer0/")) {
5979
+ const fallback = currentSrc.substring(currentSrc.indexOf("/images/layer0/"));
5980
+ if (typeof window !== "undefined" && currentSrc !== window.location.origin + fallback) {
5981
+ e.currentTarget.src = fallback;
5982
+ }
5983
+ }
5984
+ }
5936
5985
  function StnLayer0Background({
5937
5986
  variant,
5938
5987
  kind: kindProp,
5939
5988
  color = "default",
5940
- src: srcProp,
5941
- srcDark: srcDarkProp,
5989
+ src,
5990
+ srcDark,
5942
5991
  overlay: overlayProp,
5943
5992
  overlayDarkRadial: overlayDarkRadialProp,
5944
5993
  alt = "",
@@ -5946,92 +5995,23 @@ function StnLayer0Background({
5946
5995
  style,
5947
5996
  ...rest
5948
5997
  }) {
5949
- let src = srcProp;
5950
- let srcDark = srcDarkProp;
5951
5998
  let overlay = overlayProp;
5952
5999
  let overlayDarkRadial = overlayDarkRadialProp;
5953
- let isPresetImage = false;
5954
- if (variant && variant !== "none" && variant !== "color" && variant !== "gradient") {
5955
- isPresetImage = true;
5956
- if (variant === "dashboard") {
5957
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.dashboard;
5958
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.dashboardDark;
5959
- } else if (variant === "infomap") {
5960
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomap;
5961
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapDark;
5962
- } else if (variant === "infomap-none") {
5963
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapNone;
5964
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapNoneDark;
5965
- } else if (variant === "showroom-a") {
5966
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomA;
5967
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomADark;
5968
- } else if (variant === "showroom-b") {
5969
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomB;
5970
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomBDark;
5971
- overlayDarkRadial = overlayDarkRadial ?? true;
5972
- } else if (variant === "login") {
5973
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.login;
5974
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.loginDark;
5975
- } else if (variant === "map-light") {
5976
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.mapLight;
5977
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.mapDark;
5978
- overlay = overlay ?? STN_LAYER0_MAP_LIGHT_OVERLAY;
5979
- }
6000
+ if (variant === "none") {
6001
+ return null;
5980
6002
  }
5981
- const kind = kindProp ?? (isPresetImage ? "image" : void 0);
5982
- const isImage = kind === "image" || Boolean(src || srcDark);
5983
- if (isImage) {
5984
- const paired = Boolean(src && srcDark);
6003
+ if (variant === "color" || kindProp === "color") {
5985
6004
  return /* @__PURE__ */ jsx48(
5986
6005
  "div",
5987
6006
  {
5988
- className: cn("stn-layer0-bg", "image", className),
5989
- "aria-hidden": alt === "" ? true : void 0,
5990
- style: { ...overlayStyle(overlay), ...style },
5991
- ...rest,
5992
- children: /* @__PURE__ */ jsxs37("div", { className: "stn-layer0-bg__media", children: [
5993
- src ? /* @__PURE__ */ jsx48(
5994
- "img",
5995
- {
5996
- className: cn("stn-layer0-bg__img", paired && "light"),
5997
- src,
5998
- alt,
5999
- decoding: "async",
6000
- onError: (e) => {
6001
- if (src && src.startsWith("http") && src.includes("/images/layer0/")) {
6002
- const fallback = src.substring(src.indexOf("/images/layer0/"));
6003
- if (typeof window !== "undefined" && e.currentTarget.src !== window.location.origin + fallback) {
6004
- e.currentTarget.src = fallback;
6005
- }
6006
- }
6007
- }
6008
- }
6009
- ) : null,
6010
- srcDark ? /* @__PURE__ */ jsx48(
6011
- "img",
6012
- {
6013
- className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
6014
- src: srcDark,
6015
- alt,
6016
- decoding: "async",
6017
- onError: (e) => {
6018
- if (srcDark && srcDark.startsWith("http") && srcDark.includes("/images/layer0/")) {
6019
- const fallback = srcDark.substring(srcDark.indexOf("/images/layer0/"));
6020
- if (typeof window !== "undefined" && e.currentTarget.src !== window.location.origin + fallback) {
6021
- e.currentTarget.src = fallback;
6022
- }
6023
- }
6024
- }
6025
- }
6026
- ) : null,
6027
- overlay != null && overlay > 0 ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6028
- overlayDarkRadial ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6029
- ] })
6007
+ className: cn("stn-layer0-bg", "color", color, className),
6008
+ "aria-hidden": "true",
6009
+ style,
6010
+ ...rest
6030
6011
  }
6031
6012
  );
6032
6013
  }
6033
- const isGradient = kind === "gradient" || variant === "gradient";
6034
- if (isGradient) {
6014
+ if (variant === "gradient" || kindProp === "gradient") {
6035
6015
  return /* @__PURE__ */ jsx48(
6036
6016
  "div",
6037
6017
  {
@@ -6042,13 +6022,61 @@ function StnLayer0Background({
6042
6022
  }
6043
6023
  );
6044
6024
  }
6045
- return /* @__PURE__ */ jsx48(
6025
+ if (src || srcDark) {
6026
+ const paired = Boolean(src && srcDark);
6027
+ return /* @__PURE__ */ jsxs37(
6028
+ "div",
6029
+ {
6030
+ className: cn("stn-layer0-bg", "image", className),
6031
+ "aria-hidden": alt === "" ? true : void 0,
6032
+ style: { ...overlayStyle(overlay), ...style },
6033
+ ...rest,
6034
+ children: [
6035
+ /* @__PURE__ */ jsxs37("div", { className: "stn-layer0-bg__media", children: [
6036
+ src ? /* @__PURE__ */ jsx48(
6037
+ "img",
6038
+ {
6039
+ className: cn("stn-layer0-bg__img", paired && "light"),
6040
+ src,
6041
+ alt,
6042
+ decoding: "async",
6043
+ onError: handleImageError
6044
+ }
6045
+ ) : null,
6046
+ srcDark ? /* @__PURE__ */ jsx48(
6047
+ "img",
6048
+ {
6049
+ className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
6050
+ src: srcDark,
6051
+ alt,
6052
+ decoding: "async",
6053
+ onError: handleImageError
6054
+ }
6055
+ ) : null
6056
+ ] }),
6057
+ overlay != null && overlay > 0 ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6058
+ overlayDarkRadial ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6059
+ ]
6060
+ }
6061
+ );
6062
+ }
6063
+ const presetKey = variant ?? "dashboard";
6064
+ if (presetKey === "map-light") {
6065
+ overlay = overlay ?? STN_LAYER0_MAP_LIGHT_OVERLAY;
6066
+ } else if (presetKey === "showroom-b") {
6067
+ overlayDarkRadial = overlayDarkRadial ?? true;
6068
+ }
6069
+ return /* @__PURE__ */ jsxs37(
6046
6070
  "div",
6047
6071
  {
6048
- className: cn("stn-layer0-bg", "color", color, className),
6049
- "aria-hidden": "true",
6050
- style,
6051
- ...rest
6072
+ className: cn("stn-layer0-bg", presetKey, className),
6073
+ "aria-hidden": alt === "" ? true : void 0,
6074
+ style: { ...overlayStyle(overlay), ...style },
6075
+ ...rest,
6076
+ children: [
6077
+ overlay != null && overlay > 0 ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6078
+ overlayDarkRadial ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6079
+ ]
6052
6080
  }
6053
6081
  );
6054
6082
  }
@@ -7522,7 +7550,7 @@ import {
7522
7550
  // src/layouts/StnStack.tsx
7523
7551
  import {
7524
7552
  Children as Children3,
7525
- forwardRef as forwardRef30,
7553
+ forwardRef as forwardRef31,
7526
7554
  Fragment as Fragment6,
7527
7555
  isValidElement as isValidElement6
7528
7556
  } from "react";
@@ -7619,7 +7647,7 @@ function spacingClassesAndStyle(spacing) {
7619
7647
  }
7620
7648
  return { classes, inlineGap };
7621
7649
  }
7622
- var StnStack = forwardRef30(function StnStack2({
7650
+ var StnStack = forwardRef31(function StnStack2({
7623
7651
  component,
7624
7652
  as,
7625
7653
  direction = "column",
@@ -8054,13 +8082,13 @@ var SideNavContext = createContext4({
8054
8082
  var useSideNav = () => useContext4(SideNavContext);
8055
8083
 
8056
8084
  // src/components/sideNav/StnSideNavItem.tsx
8057
- import { forwardRef as forwardRef31 } from "react";
8085
+ import { forwardRef as forwardRef32 } from "react";
8058
8086
  import { STN_NAV_MENU_SUB_ICON } from "@stn-uiux/pub-ui/data/stnSideNavItem";
8059
8087
  import { jsx as jsx60, jsxs as jsxs48 } from "react/jsx-runtime";
8060
8088
  function maskStyle2(src) {
8061
8089
  return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
8062
8090
  }
8063
- var StnSideNavItem = forwardRef31(function StnSideNavItem2({
8091
+ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8064
8092
  label,
8065
8093
  id,
8066
8094
  iconSrc,
@@ -8179,12 +8207,12 @@ var StnSideNavItem = forwardRef31(function StnSideNavItem2({
8179
8207
  });
8180
8208
 
8181
8209
  // src/components/sideNav/StnSideNavHeader.tsx
8182
- import { forwardRef as forwardRef33 } from "react";
8210
+ import { forwardRef as forwardRef34 } from "react";
8183
8211
 
8184
8212
  // src/components/sideNav/StnSideNavLogo.tsx
8185
- import { forwardRef as forwardRef32 } from "react";
8213
+ import { forwardRef as forwardRef33 } from "react";
8186
8214
  import { jsx as jsx61 } from "react/jsx-runtime";
8187
- var StnSideNavLogo = forwardRef32(
8215
+ var StnSideNavLogo = forwardRef33(
8188
8216
  function StnSideNavLogo2({ className, logoProps, ...rest }, ref) {
8189
8217
  const { collapsed } = useSideNav();
8190
8218
  return /* @__PURE__ */ jsx61(
@@ -8213,7 +8241,7 @@ var StnSideNavLogo = forwardRef32(
8213
8241
 
8214
8242
  // src/components/sideNav/StnSideNavHeader.tsx
8215
8243
  import { Fragment as Fragment7, jsx as jsx62, jsxs as jsxs49 } from "react/jsx-runtime";
8216
- var StnSideNavHeader = forwardRef33(function StnSideNavHeader2({
8244
+ var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8217
8245
  children,
8218
8246
  border = false,
8219
8247
  hasBorder = false,
@@ -8269,9 +8297,9 @@ var StnSideNavHeader = forwardRef33(function StnSideNavHeader2({
8269
8297
  });
8270
8298
 
8271
8299
  // src/components/sideNav/StnSideNavMenu.tsx
8272
- import { forwardRef as forwardRef34 } from "react";
8300
+ import { forwardRef as forwardRef35 } from "react";
8273
8301
  import { jsx as jsx63 } from "react/jsx-runtime";
8274
- var StnSideNavMenu = forwardRef34(function StnSideNavMenu2({
8302
+ var StnSideNavMenu = forwardRef35(function StnSideNavMenu2({
8275
8303
  children,
8276
8304
  className,
8277
8305
  scrollSize = "thin",
@@ -8299,13 +8327,13 @@ var StnSideNavMenu = forwardRef34(function StnSideNavMenu2({
8299
8327
 
8300
8328
  // src/components/sideNav/StnSideNavGroup.tsx
8301
8329
  import {
8302
- forwardRef as forwardRef35,
8330
+ forwardRef as forwardRef36,
8303
8331
  useEffect as useEffect12,
8304
8332
  useRef as useRef8,
8305
8333
  useState as useState17
8306
8334
  } from "react";
8307
8335
  import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
8308
- var StnSideNavGroup = forwardRef35(function StnSideNavGroup2({
8336
+ var StnSideNavGroup = forwardRef36(function StnSideNavGroup2({
8309
8337
  label,
8310
8338
  parent,
8311
8339
  direction = "down",
@@ -8395,9 +8423,9 @@ var StnSideNavGroup = forwardRef35(function StnSideNavGroup2({
8395
8423
  });
8396
8424
 
8397
8425
  // src/components/sideNav/StnSideNavSpacer.tsx
8398
- import { forwardRef as forwardRef36 } from "react";
8426
+ import { forwardRef as forwardRef37 } from "react";
8399
8427
  import { jsx as jsx65 } from "react/jsx-runtime";
8400
- var StnSideNavSpacer = forwardRef36(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
8428
+ var StnSideNavSpacer = forwardRef37(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
8401
8429
  return /* @__PURE__ */ jsx65(
8402
8430
  "div",
8403
8431
  {
@@ -8411,9 +8439,9 @@ var StnSideNavSpacer = forwardRef36(function StnSideNavSpacer2({ className, styl
8411
8439
  });
8412
8440
 
8413
8441
  // src/components/sideNav/StnSideNavFooter.tsx
8414
- import { forwardRef as forwardRef37 } from "react";
8442
+ import { forwardRef as forwardRef38 } from "react";
8415
8443
  import { jsx as jsx66 } from "react/jsx-runtime";
8416
- var StnSideNavFooter = forwardRef37(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
8444
+ var StnSideNavFooter = forwardRef38(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
8417
8445
  return /* @__PURE__ */ jsx66(
8418
8446
  "nav",
8419
8447
  {
@@ -8427,9 +8455,9 @@ var StnSideNavFooter = forwardRef37(function StnSideNavFooter2({ curved = false,
8427
8455
  });
8428
8456
 
8429
8457
  // src/components/sideNav/StnSideNavToggle.tsx
8430
- import { forwardRef as forwardRef38 } from "react";
8458
+ import { forwardRef as forwardRef39 } from "react";
8431
8459
  import { jsx as jsx67 } from "react/jsx-runtime";
8432
- var StnSideNavToggle = forwardRef38(
8460
+ var StnSideNavToggle = forwardRef39(
8433
8461
  function StnSideNavToggle2({ className, onClick, ...rest }, ref) {
8434
8462
  const { collapsed, onToggleCollapse } = useSideNav();
8435
8463
  return /* @__PURE__ */ jsx67(
@@ -8465,9 +8493,9 @@ var StnSideNavToggle = forwardRef38(
8465
8493
  );
8466
8494
 
8467
8495
  // src/components/sideNav/StnSideNavWatermark.tsx
8468
- import { forwardRef as forwardRef39 } from "react";
8496
+ import { forwardRef as forwardRef40 } from "react";
8469
8497
  import { jsx as jsx68 } from "react/jsx-runtime";
8470
- var StnSideNavWatermark = forwardRef39(
8498
+ var StnSideNavWatermark = forwardRef40(
8471
8499
  function StnSideNavWatermark2({ size = "xl", mode, theme, className, ...rest }, ref) {
8472
8500
  return /* @__PURE__ */ jsx68(
8473
8501
  "div",
@@ -8483,9 +8511,9 @@ var StnSideNavWatermark = forwardRef39(
8483
8511
  );
8484
8512
 
8485
8513
  // src/components/sideNav/StnSideNavMobileTrigger.tsx
8486
- import { forwardRef as forwardRef40, useEffect as useEffect13, useState as useState18 } from "react";
8514
+ import { forwardRef as forwardRef41, useEffect as useEffect13, useState as useState18 } from "react";
8487
8515
  import { jsx as jsx69, jsxs as jsxs51 } from "react/jsx-runtime";
8488
- var StnSideNavMobileTrigger = forwardRef40(
8516
+ var StnSideNavMobileTrigger = forwardRef41(
8489
8517
  function StnSideNavMobileTrigger2({ floating = false, className, children, onClick, ...rest }, ref) {
8490
8518
  const { onToggleMobileOpen, mobileOpen: contextMobileOpen } = useSideNav();
8491
8519
  const [fallbackMobileOpen, setFallbackMobileOpen] = useState18(false);
@@ -8537,10 +8565,10 @@ var StnSideNavMobileTrigger = forwardRef40(
8537
8565
 
8538
8566
  // src/components/sideNav/StnSideNavSub.tsx
8539
8567
  import {
8540
- forwardRef as forwardRef41
8568
+ forwardRef as forwardRef42
8541
8569
  } from "react";
8542
8570
  import { jsx as jsx70 } from "react/jsx-runtime";
8543
- var StnSideNavSub = forwardRef41(
8571
+ var StnSideNavSub = forwardRef42(
8544
8572
  function StnSideNavSub2({ children, className, ...rest }, ref) {
8545
8573
  return /* @__PURE__ */ jsx70(
8546
8574
  "div",
@@ -8555,7 +8583,7 @@ var StnSideNavSub = forwardRef41(
8555
8583
  );
8556
8584
  }
8557
8585
  );
8558
- var StnSideNavSubItem = forwardRef41(
8586
+ var StnSideNavSubItem = forwardRef42(
8559
8587
  function StnSideNavSubItem2({
8560
8588
  variant = "ghost",
8561
8589
  size = "md",
@@ -8597,9 +8625,9 @@ var StnSideNavSubItem = forwardRef41(
8597
8625
  );
8598
8626
 
8599
8627
  // src/components/sideNav/StnSideNavSubNav.tsx
8600
- import { forwardRef as forwardRef42 } from "react";
8628
+ import { forwardRef as forwardRef43 } from "react";
8601
8629
  import { jsx as jsx71 } from "react/jsx-runtime";
8602
- var StnSideNavSubNav = forwardRef42(
8630
+ var StnSideNavSubNav = forwardRef43(
8603
8631
  function StnSideNavSubNav2({
8604
8632
  dropdown = false,
8605
8633
  direction = "down",
@@ -8634,7 +8662,7 @@ var StnSideNavSubNav = forwardRef42(
8634
8662
 
8635
8663
  // src/patterns/sideNav/StnSideNavigation.tsx
8636
8664
  import {
8637
- forwardRef as forwardRef43,
8665
+ forwardRef as forwardRef44,
8638
8666
  useCallback as useCallback9,
8639
8667
  useEffect as useEffect14,
8640
8668
  useMemo as useMemo4,
@@ -8656,7 +8684,7 @@ function useControllableState(controlledValue, defaultValue, onChange) {
8656
8684
  );
8657
8685
  return [value, setValue];
8658
8686
  }
8659
- var StnSideNavigationRoot = forwardRef43(function StnSideNavigationRoot2({
8687
+ var StnSideNavigationRoot = forwardRef44(function StnSideNavigationRoot2({
8660
8688
  variant: variantProp,
8661
8689
  appearance,
8662
8690
  drawerVariant: drawerVariantProp,
@@ -9361,10 +9389,10 @@ var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
9361
9389
 
9362
9390
  // src/layouts/StnContainer.tsx
9363
9391
  import {
9364
- forwardRef as forwardRef44
9392
+ forwardRef as forwardRef45
9365
9393
  } from "react";
9366
9394
  import { jsx as jsx75 } from "react/jsx-runtime";
9367
- var StnContainer = forwardRef44(function StnContainer2({
9395
+ var StnContainer = forwardRef45(function StnContainer2({
9368
9396
  component,
9369
9397
  as,
9370
9398
  maxWidth = "lg",
@@ -9402,7 +9430,7 @@ var StnContainer = forwardRef44(function StnContainer2({
9402
9430
  });
9403
9431
 
9404
9432
  // src/layouts/StnGrid.tsx
9405
- import { forwardRef as forwardRef45 } from "react";
9433
+ import { forwardRef as forwardRef46 } from "react";
9406
9434
  import { jsx as jsx76 } from "react/jsx-runtime";
9407
9435
  var BREAKPOINTS2 = ["xs", "sm", "md", "lg", "xl"];
9408
9436
  var SPACING_CLASS = {
@@ -9469,7 +9497,7 @@ function sizeClasses(size) {
9469
9497
  }
9470
9498
  return classes;
9471
9499
  }
9472
- var StnGrid = forwardRef45(function StnGrid2({
9500
+ var StnGrid = forwardRef46(function StnGrid2({
9473
9501
  component,
9474
9502
  as,
9475
9503
  container = false,
@@ -9538,7 +9566,6 @@ function StnLayerShell({
9538
9566
  "div",
9539
9567
  {
9540
9568
  id: wrapId,
9541
- "data-stn-layer-mode": "v2",
9542
9569
  "data-stn-gnb-side": gnbSide,
9543
9570
  className: cn("stn-wrap", isGnbRight && "stn-wrap--gnb-right", wrapClassName),
9544
9571
  children: [
@@ -10232,7 +10259,6 @@ function LoginPageScaffold({
10232
10259
  "div",
10233
10260
  {
10234
10261
  className: cn("stn-wrap stn-page--login", wrapClassName),
10235
- "data-stn-layer-mode": "v2",
10236
10262
  ...shellProps,
10237
10263
  children: [
10238
10264
  resolvedLayer0,
@@ -10461,8 +10487,7 @@ export {
10461
10487
  STN_HEADER_PAGE_TITLE_DEMO,
10462
10488
  STN_HEADER_USAGE,
10463
10489
  STN_HEADER_VARIANT_ROWS,
10464
- STN_LAYER0_BACKGROUND_DEMO_IMAGES2 as STN_LAYER0_BACKGROUND_DEMO_IMAGES,
10465
- STN_LAYER0_BACKGROUND_FIGMA,
10490
+ STN_LAYER0_BACKGROUND_DEMO_IMAGES,
10466
10491
  STN_LAYER0_BACKGROUND_INTRO,
10467
10492
  STN_LAYER0_BACKGROUND_USAGE,
10468
10493
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
@@ -10673,6 +10698,7 @@ export {
10673
10698
  StnTableThCheck,
10674
10699
  StnTabs2 as StnTabs,
10675
10700
  StnTabsRoot,
10701
+ StnText,
10676
10702
  StnTextArea,
10677
10703
  StnTextField,
10678
10704
  StnToastCloseButton,