sellmate-design-system-react 9.0.0-beta.64 → 9.0.0-beta.66
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/AGENTS.md +28 -3
- package/dist/components/SBarChart/README.md +2 -0
- package/dist/components/SBarChart/SBarChart.d.ts +4 -0
- package/dist/components/SBarChart/barChart.config.d.ts +12 -5
- package/dist/components/SBarcodeInput/README.md +1 -0
- package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +8 -1
- package/dist/components/SChipInput/README.md +1 -0
- package/dist/components/SChipInput/SChipInput.d.ts +8 -1
- package/dist/components/SContextAlert/README.md +51 -0
- package/dist/components/SContextAlert/SContextAlert.d.ts +38 -0
- package/dist/components/SContextAlert/contextAlert.config.d.ts +29 -0
- package/dist/components/SContextAlert/index.d.ts +2 -0
- package/dist/components/SDatePicker/README.md +1 -0
- package/dist/components/SDatePicker/SDatePicker.d.ts +9 -2
- package/dist/components/SDateRangePicker/README.md +1 -0
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +9 -2
- package/dist/components/SDonutChart/README.md +14 -0
- package/dist/components/SDonutChart/SDonutChart.d.ts +12 -0
- package/dist/components/SEditor/README.md +1 -0
- package/dist/components/SEditor/SEditor.d.ts +8 -1
- package/dist/components/SField/README.md +7 -0
- package/dist/components/SField/SField.d.ts +13 -0
- package/dist/components/SField/index.d.ts +1 -1
- package/dist/components/SFilePicker/README.md +1 -0
- package/dist/components/SFilePicker/SFilePicker.d.ts +9 -2
- package/dist/components/SIcon/README.md +2 -0
- package/dist/components/SInput/README.md +1 -0
- package/dist/components/SInput/SInput.d.ts +3 -1
- package/dist/components/SLineChart/README.md +10 -0
- package/dist/components/SLineChart/SLineChart.d.ts +8 -0
- package/dist/components/SLineChart/lineChart.config.d.ts +49 -33
- package/dist/components/SNumberInput/README.md +1 -0
- package/dist/components/SNumberInput/SNumberInput.d.ts +8 -1
- package/dist/components/SPieChart/README.md +2 -0
- package/dist/components/SPieChart/SPieChart.d.ts +4 -0
- package/dist/components/SSelect/README.md +1 -0
- package/dist/components/SSelect/SSelect.d.ts +8 -1
- package/dist/components/STextarea/README.md +1 -0
- package/dist/components/STextarea/STextarea.d.ts +8 -1
- package/dist/components/STimePicker/README.md +1 -0
- package/dist/components/STimePicker/STimePicker.d.ts +9 -2
- package/dist/components/STimeRangePicker/README.md +1 -0
- package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +9 -2
- package/dist/index.cjs +451 -175
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +447 -176
- package/dist/index.js.map +1 -1
- package/dist/lib/chart/frame.d.ts +5 -1
- package/dist/lib/chart/legend.d.ts +8 -2
- package/dist/lib/chart/palette.d.ts +15 -13
- package/dist/lib/chart/radial.d.ts +20 -10
- package/dist/llms-full.txt +126 -4
- package/dist/llms.txt +32 -6
- package/dist/styles.css +162 -15
- package/dist/theme.css +104 -6
- package/eslint/scale.gen.mjs +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4150,7 +4150,7 @@ function SFooter({
|
|
|
4150
4150
|
{
|
|
4151
4151
|
className: cn(
|
|
4152
4152
|
"relative flex w-full flex-shrink-0 items-center justify-end gap-[var(--cmp-overlay-footer-gap)] overflow-hidden px-[var(--cmp-overlay-footer-paddingX)] py-[var(--cmp-overlay-footer-paddingY)]",
|
|
4153
|
-
isGrey ? "bg-[var(--cmp-overlay-footer-bg-neutral)] border-t border-solid border-[color:var(--sys-color-border-default)]" : "bg-[var(--cmp-overlay-footer-bg-default)] shadow-[var(--
|
|
4153
|
+
isGrey ? "bg-[var(--cmp-overlay-footer-bg-neutral)] border-t border-solid border-[color:var(--sys-color-border-default)]" : "bg-[var(--cmp-overlay-footer-bg-default)] shadow-[var(--cmp-overlay-footer-shadow)]",
|
|
4154
4154
|
className
|
|
4155
4155
|
),
|
|
4156
4156
|
style,
|
|
@@ -4739,6 +4739,7 @@ var SField = /* @__PURE__ */ react.forwardRef(function SField2({
|
|
|
4739
4739
|
iconColor,
|
|
4740
4740
|
labelTooltip = "",
|
|
4741
4741
|
labelTooltipProps,
|
|
4742
|
+
labelPosition = "left",
|
|
4742
4743
|
labelWidth,
|
|
4743
4744
|
labelHeight,
|
|
4744
4745
|
size = "sm",
|
|
@@ -4781,6 +4782,7 @@ var SField = /* @__PURE__ */ react.forwardRef(function SField2({
|
|
|
4781
4782
|
[]
|
|
4782
4783
|
);
|
|
4783
4784
|
const s = FIELD_SIZE[size];
|
|
4785
|
+
const labelOnTop = labelPosition === "top";
|
|
4784
4786
|
if (label !== "" && addonLabel !== "" && typeof console !== "undefined") {
|
|
4785
4787
|
console.warn(
|
|
4786
4788
|
"[SField] label \uACFC addonLabel \uC740 \uD568\uAED8 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. addonLabel \uC744 \uBB34\uC2DC\uD569\uB2C8\uB2E4."
|
|
@@ -4819,103 +4821,120 @@ var SField = /* @__PURE__ */ react.forwardRef(function SField2({
|
|
|
4819
4821
|
style,
|
|
4820
4822
|
onMouseEnter,
|
|
4821
4823
|
onMouseLeave,
|
|
4822
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
}
|
|
4843
|
-
),
|
|
4844
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap", children: label }),
|
|
4845
|
-
(labelTooltip !== "" || labelTooltipProps) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 flex items-center", style: { marginLeft: s.labelGap }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4846
|
-
STooltip2,
|
|
4847
|
-
{
|
|
4848
|
-
message: labelTooltip !== "" ? [labelTooltip] : void 0,
|
|
4849
|
-
iconSize: s.icon,
|
|
4850
|
-
...labelTooltipProps
|
|
4851
|
-
}
|
|
4852
|
-
) })
|
|
4853
|
-
]
|
|
4854
|
-
}
|
|
4855
|
-
),
|
|
4856
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4857
|
-
"div",
|
|
4858
|
-
{
|
|
4859
|
-
className: cn("flex min-w-0 flex-col", !hug && !isPercentWidth && "flex-1"),
|
|
4860
|
-
style: {
|
|
4861
|
-
width: resolvedWidth,
|
|
4862
|
-
minWidth: fieldWidthValue(minWidth),
|
|
4863
|
-
maxWidth: resolvedMaxWidth
|
|
4864
|
-
},
|
|
4865
|
-
children: [
|
|
4866
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4867
|
-
"div",
|
|
4868
|
-
{
|
|
4869
|
-
className: cn(
|
|
4870
|
-
"relative box-border flex min-w-0 items-stretch border border-solid border-(--field-bc)",
|
|
4871
|
-
// 둘 다 넘친 것을 잘라 내지만 clip 은 스크롤 상자를 만들지 않는다. hidden 이면
|
|
4872
|
-
// 이 상자가 스크롤포트가 되어 안쪽의 position:sticky 가 페이지 스크롤을 따라가지
|
|
4873
|
-
// 못한다 (SEditor 의 고정 툴바). 여러 줄 필드에서만 바꿔 파급을 좁힌다.
|
|
4874
|
-
multiline ? "overflow-clip" : "overflow-hidden",
|
|
4875
|
-
interactive && !borderless && "hover:border-(--sys-color-field-border-focus) hover:shadow-[0px_0px_4px_0px_#0071ff66] focus-within:border-(--sys-color-field-border-focus) focus-within:shadow-[0px_0px_4px_0px_#0071ff66]",
|
|
4876
|
-
disabled && "cursor-not-allowed"
|
|
4877
|
-
),
|
|
4878
|
-
style: {
|
|
4879
|
-
// @ts-expect-error CSS 변수
|
|
4880
|
-
"--field-bc": borderColor,
|
|
4881
|
-
// focused/hovered prop이 명시된 경우 강조를 즉시 반영
|
|
4882
|
-
...interactive && !borderless && (focused || hovered) ? { boxShadow: FOCUS_RING_SHADOW } : {},
|
|
4883
|
-
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
4884
|
-
"borderRadius": s.radius,
|
|
4885
|
-
"background": bgColor,
|
|
4886
|
-
"color": textColor
|
|
4824
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4825
|
+
"div",
|
|
4826
|
+
{
|
|
4827
|
+
className: cn(
|
|
4828
|
+
"flex w-full",
|
|
4829
|
+
labelOnTop ? "flex-col gap-(--sys-space-field-vertical-gap)" : "items-start"
|
|
4830
|
+
),
|
|
4831
|
+
children: [
|
|
4832
|
+
label !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4833
|
+
"div",
|
|
4834
|
+
{
|
|
4835
|
+
className: "flex shrink-0 items-center font-bold text-(--sys-color-field-text-default)",
|
|
4836
|
+
style: {
|
|
4837
|
+
// 위에 선 라벨은 제 글줄 높이만 차지한다 — 컨트롤 높이에 맞춰 늘리면
|
|
4838
|
+
// 라벨과 컨트롤 사이가 간격 토큰보다 넓어진다. 줄 세우기용 labelWidth 도
|
|
4839
|
+
// 뜻이 없다(아래에 컨트롤이 제 폭으로 선다).
|
|
4840
|
+
...labelOnTop ? {} : {
|
|
4841
|
+
height: cssLen(labelHeight) ?? s.height,
|
|
4842
|
+
marginRight: s.fieldGap,
|
|
4843
|
+
width: cssLen(labelWidth)
|
|
4887
4844
|
},
|
|
4888
|
-
|
|
4889
|
-
|
|
4890
|
-
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
|
|
4894
|
-
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
|
|
4902
|
-
|
|
4903
|
-
|
|
4904
|
-
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4845
|
+
fontSize: s.fontSize,
|
|
4846
|
+
lineHeight: `${s.lineHeight}px`
|
|
4847
|
+
},
|
|
4848
|
+
children: [
|
|
4849
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4850
|
+
SIcon,
|
|
4851
|
+
{
|
|
4852
|
+
name: icon,
|
|
4853
|
+
size: s.icon,
|
|
4854
|
+
color: iconColor,
|
|
4855
|
+
style: { marginRight: s.labelGap }
|
|
4856
|
+
}
|
|
4857
|
+
),
|
|
4858
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap", children: label }),
|
|
4859
|
+
(labelTooltip !== "" || labelTooltipProps) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 flex items-center", style: { marginLeft: s.labelGap }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4860
|
+
STooltip2,
|
|
4861
|
+
{
|
|
4862
|
+
message: labelTooltip !== "" ? [labelTooltip] : void 0,
|
|
4863
|
+
iconSize: s.icon,
|
|
4864
|
+
...labelTooltipProps
|
|
4865
|
+
}
|
|
4866
|
+
) })
|
|
4867
|
+
]
|
|
4868
|
+
}
|
|
4869
|
+
),
|
|
4870
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4871
|
+
"div",
|
|
4872
|
+
{
|
|
4873
|
+
className: cn(
|
|
4874
|
+
"flex min-w-0 flex-col",
|
|
4875
|
+
!labelOnTop && !hug && !isPercentWidth && "flex-1"
|
|
4876
|
+
),
|
|
4877
|
+
style: {
|
|
4878
|
+
width: resolvedWidth,
|
|
4879
|
+
minWidth: fieldWidthValue(minWidth),
|
|
4880
|
+
maxWidth: resolvedMaxWidth
|
|
4881
|
+
},
|
|
4882
|
+
children: [
|
|
4883
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4884
|
+
"div",
|
|
4885
|
+
{
|
|
4886
|
+
className: cn(
|
|
4887
|
+
"relative box-border flex min-w-0 items-stretch border border-solid border-(--field-bc)",
|
|
4888
|
+
// 둘 다 넘친 것을 잘라 내지만 clip 은 스크롤 상자를 만들지 않는다. hidden 이면
|
|
4889
|
+
// 이 상자가 스크롤포트가 되어 안쪽의 position:sticky 가 페이지 스크롤을 따라가지
|
|
4890
|
+
// 못한다 (SEditor 의 고정 툴바). 여러 줄 필드에서만 바꿔 파급을 좁힌다.
|
|
4891
|
+
multiline ? "overflow-clip" : "overflow-hidden",
|
|
4892
|
+
interactive && !borderless && "hover:border-(--sys-color-field-border-focus) hover:shadow-[0px_0px_4px_0px_#0071ff66] focus-within:border-(--sys-color-field-border-focus) focus-within:shadow-[0px_0px_4px_0px_#0071ff66]",
|
|
4893
|
+
disabled && "cursor-not-allowed"
|
|
4894
|
+
),
|
|
4895
|
+
style: {
|
|
4896
|
+
// @ts-expect-error CSS 변수
|
|
4897
|
+
"--field-bc": borderColor,
|
|
4898
|
+
// focused/hovered prop이 명시된 경우 강조를 즉시 반영
|
|
4899
|
+
...interactive && !borderless && (focused || hovered) ? { boxShadow: FOCUS_RING_SHADOW } : {},
|
|
4900
|
+
...multiline ? { minHeight: s.height } : { height: s.height },
|
|
4901
|
+
"borderRadius": s.radius,
|
|
4902
|
+
"background": bgColor,
|
|
4903
|
+
"color": textColor
|
|
4904
|
+
},
|
|
4905
|
+
"data-focused": focused || void 0,
|
|
4906
|
+
"data-hovered": hovered || void 0,
|
|
4907
|
+
children: [
|
|
4908
|
+
effectiveAddonLabel !== "" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4909
|
+
"div",
|
|
4910
|
+
{
|
|
4911
|
+
className: "flex shrink-0 items-center gap-(--cmp-field-addonLabel-gap) whitespace-nowrap border-r border-solid px-(--cmp-field-addonLabel-paddingX) text-12 font-medium leading-sd-20",
|
|
4912
|
+
style: {
|
|
4913
|
+
// 원본 sd-field: labelWidth가 addon 폭(--sd-field-addon-width)에도 적용됨
|
|
4914
|
+
width: cssLen(labelWidth),
|
|
4915
|
+
justifyContent: ALIGN[addonAlign],
|
|
4916
|
+
background: "var(--cmp-field-addonLabel-bg)",
|
|
4917
|
+
borderRightColor: disabled ? "var(--cmp-field-addonLabel-border-disabled)" : "var(--cmp-field-addonLabel-border-default)",
|
|
4918
|
+
borderTopLeftRadius: s.radius - 1,
|
|
4919
|
+
borderBottomLeftRadius: s.radius - 1
|
|
4920
|
+
},
|
|
4921
|
+
children: [
|
|
4922
|
+
icon && !label && /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: icon, size: s.icon, color: iconColor }),
|
|
4923
|
+
effectiveAddonLabel
|
|
4924
|
+
]
|
|
4925
|
+
}
|
|
4926
|
+
),
|
|
4927
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex min-w-0 flex-1", multiline && "bg-inherit"), children })
|
|
4928
|
+
]
|
|
4929
|
+
}
|
|
4930
|
+
),
|
|
4931
|
+
showError ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) px-(--cmp-field-message-paddingX) text-12 font-normal leading-sd-20 text-(--cmp-field-errorMessage-color)", children: errorMessage }) : hint !== "" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-(--cmp-field-contents-gap) px-(--cmp-field-message-paddingX) text-12 font-normal leading-sd-20 text-(--cmp-field-hint-color)", children: hint }) : null
|
|
4932
|
+
]
|
|
4933
|
+
}
|
|
4934
|
+
)
|
|
4935
|
+
]
|
|
4936
|
+
}
|
|
4937
|
+
)
|
|
4919
4938
|
}
|
|
4920
4939
|
);
|
|
4921
4940
|
});
|
|
@@ -4952,6 +4971,7 @@ var STextarea = /* @__PURE__ */ react.forwardRef(function STextarea2({
|
|
|
4952
4971
|
textareaClassName,
|
|
4953
4972
|
textareaStyle,
|
|
4954
4973
|
label,
|
|
4974
|
+
labelPosition,
|
|
4955
4975
|
labelWidth,
|
|
4956
4976
|
icon,
|
|
4957
4977
|
iconColor,
|
|
@@ -5011,6 +5031,7 @@ var STextarea = /* @__PURE__ */ react.forwardRef(function STextarea2({
|
|
|
5011
5031
|
SField,
|
|
5012
5032
|
{
|
|
5013
5033
|
label,
|
|
5034
|
+
labelPosition,
|
|
5014
5035
|
labelWidth,
|
|
5015
5036
|
icon,
|
|
5016
5037
|
iconColor,
|
|
@@ -6978,7 +6999,7 @@ function TreeConnector({
|
|
|
6978
6999
|
className: cn(
|
|
6979
7000
|
"absolute left-[6px] h-px bg-(--cmp-tree-connector-line-color)",
|
|
6980
7001
|
branchTop,
|
|
6981
|
-
hasChildren ? "w-[14px]" : "w-[calc(14px+var(--cmp-
|
|
7002
|
+
hasChildren ? "w-[14px]" : "w-[calc(14px+var(--cmp-ghostButton-xxs-size))]"
|
|
6982
7003
|
)
|
|
6983
7004
|
}
|
|
6984
7005
|
)
|
|
@@ -7131,7 +7152,12 @@ var STreeItemImpl = /* @__PURE__ */ react.forwardRef(function STreeItem({
|
|
|
7131
7152
|
onToggle?.(node, event);
|
|
7132
7153
|
}
|
|
7133
7154
|
}
|
|
7134
|
-
) :
|
|
7155
|
+
) : (
|
|
7156
|
+
// 자식이 없는 줄은 펼침 버튼 자리를 빈 칸으로 남겨 라벨의 시작점을 맞춘다.
|
|
7157
|
+
// 크기는 자리를 대신하는 그 버튼(`SGhostButton size="xxs"`)의 토큰을 그대로 쓴다 —
|
|
7158
|
+
// 버튼 크기가 바뀌면 빈 칸도 같이 따라가야 줄이 어긋나지 않는다.
|
|
7159
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "size-(--cmp-ghostButton-xxs-size) shrink-0", "aria-hidden": "true" })
|
|
7160
|
+
),
|
|
7135
7161
|
leadingNode,
|
|
7136
7162
|
selectable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7137
7163
|
"span",
|
|
@@ -8074,6 +8100,96 @@ var SCallout = /* @__PURE__ */ react.forwardRef(function SCallout2({ type = "def
|
|
|
8074
8100
|
}
|
|
8075
8101
|
);
|
|
8076
8102
|
});
|
|
8103
|
+
|
|
8104
|
+
// src/components/SContextAlert/contextAlert.config.ts
|
|
8105
|
+
var CONTEXT_ALERT_INTENTS = [
|
|
8106
|
+
"default",
|
|
8107
|
+
"danger",
|
|
8108
|
+
"warning",
|
|
8109
|
+
"success",
|
|
8110
|
+
"accent",
|
|
8111
|
+
"discovery"
|
|
8112
|
+
];
|
|
8113
|
+
var CONTEXT_ALERT_SURFACE = {
|
|
8114
|
+
default: {
|
|
8115
|
+
bg: "var(--cmp-contextAlert-default-bg)",
|
|
8116
|
+
border: "var(--cmp-contextAlert-default-border)"
|
|
8117
|
+
},
|
|
8118
|
+
danger: {
|
|
8119
|
+
bg: "var(--cmp-contextAlert-danger-bg)",
|
|
8120
|
+
border: "var(--cmp-contextAlert-danger-border)"
|
|
8121
|
+
},
|
|
8122
|
+
warning: {
|
|
8123
|
+
bg: "var(--cmp-contextAlert-warning-bg)",
|
|
8124
|
+
border: "var(--cmp-contextAlert-warning-border)"
|
|
8125
|
+
},
|
|
8126
|
+
success: {
|
|
8127
|
+
bg: "var(--cmp-contextAlert-success-bg)",
|
|
8128
|
+
border: "var(--cmp-contextAlert-success-border)"
|
|
8129
|
+
},
|
|
8130
|
+
accent: {
|
|
8131
|
+
bg: "var(--cmp-contextAlert-accent-bg)",
|
|
8132
|
+
border: "var(--cmp-contextAlert-accent-border)"
|
|
8133
|
+
},
|
|
8134
|
+
discovery: {
|
|
8135
|
+
bg: "var(--cmp-contextAlert-discovery-bg)",
|
|
8136
|
+
border: "var(--cmp-contextAlert-discovery-border)"
|
|
8137
|
+
}
|
|
8138
|
+
};
|
|
8139
|
+
var CONTEXT_ALERT_DEFAULT_ICON = "notificationOutline";
|
|
8140
|
+
var CONTEXT_ALERT_ICON_COLOR = "var(--sys-color-fg-tertiary)";
|
|
8141
|
+
var SContextAlert = /* @__PURE__ */ react.forwardRef(function SContextAlert2({
|
|
8142
|
+
intent = "default",
|
|
8143
|
+
messages = [],
|
|
8144
|
+
icon = CONTEXT_ALERT_DEFAULT_ICON,
|
|
8145
|
+
action: action2,
|
|
8146
|
+
className,
|
|
8147
|
+
style
|
|
8148
|
+
}, ref) {
|
|
8149
|
+
const surface = CONTEXT_ALERT_SURFACE[intent];
|
|
8150
|
+
const vars = {
|
|
8151
|
+
"--ca-bg": surface.bg,
|
|
8152
|
+
"--ca-border": surface.border
|
|
8153
|
+
};
|
|
8154
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8155
|
+
"div",
|
|
8156
|
+
{
|
|
8157
|
+
ref,
|
|
8158
|
+
role: "note",
|
|
8159
|
+
className: cn(
|
|
8160
|
+
"flex w-full items-center gap-[var(--cmp-contextAlert-gap)]",
|
|
8161
|
+
"rounded-[var(--cmp-contextAlert-radius)] border-[length:var(--cmp-contextAlert-border-width)] border-solid",
|
|
8162
|
+
"px-[var(--cmp-contextAlert-paddingX)] py-[var(--cmp-contextAlert-paddingY)]",
|
|
8163
|
+
"border-[color:var(--ca-border)] bg-[var(--ca-bg)]",
|
|
8164
|
+
className
|
|
8165
|
+
),
|
|
8166
|
+
style: { ...vars, ...style },
|
|
8167
|
+
children: [
|
|
8168
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8169
|
+
SIcon,
|
|
8170
|
+
{
|
|
8171
|
+
name: icon,
|
|
8172
|
+
size: "var(--cmp-contextAlert-icon)",
|
|
8173
|
+
color: CONTEXT_ALERT_ICON_COLOR,
|
|
8174
|
+
className: "shrink-0"
|
|
8175
|
+
}
|
|
8176
|
+
),
|
|
8177
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1 flex-col text-[12px] font-normal leading-[20px] text-[color:var(--cmp-contextAlert-content)]", children: messages.map((m, i) => (
|
|
8178
|
+
// 메시지는 HTML 문자열을 허용하되, sanitizeInlineHtml 로 살균 후 innerHTML 렌더 (XSS 방어)
|
|
8179
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8180
|
+
"p",
|
|
8181
|
+
{
|
|
8182
|
+
className: "m-0 break-keep break-words text-pretty",
|
|
8183
|
+
dangerouslySetInnerHTML: { __html: sanitizeInlineHtml(m) }
|
|
8184
|
+
},
|
|
8185
|
+
`${i}-${m}`
|
|
8186
|
+
)
|
|
8187
|
+
)) }),
|
|
8188
|
+
action2 != null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center", children: action2 })
|
|
8189
|
+
]
|
|
8190
|
+
}
|
|
8191
|
+
);
|
|
8192
|
+
});
|
|
8077
8193
|
var FILL_COLOR = {
|
|
8078
8194
|
primary: "var(--cmp-progress-color-active)",
|
|
8079
8195
|
error: "var(--cmp-progress-color-error)",
|
|
@@ -10072,7 +10188,7 @@ function SConfirmModal({
|
|
|
10072
10188
|
}
|
|
10073
10189
|
)
|
|
10074
10190
|
] }),
|
|
10075
|
-
hasBody && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-[20px] text-center text-[
|
|
10191
|
+
hasBody && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "typo-feedback-md-regular flex w-full flex-col items-center gap-[20px] text-center text-[color:var(--cmp-modal-confirm-message-color)]", children: [
|
|
10076
10192
|
topMessage.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-[2px]", children: topMessage.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
10077
10193
|
"p",
|
|
10078
10194
|
{
|
|
@@ -10258,7 +10374,7 @@ function SLoadingModal({
|
|
|
10258
10374
|
lines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-[2px]", children: lines.map((m, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
10259
10375
|
"p",
|
|
10260
10376
|
{
|
|
10261
|
-
className: "m-0 max-w-[400px] break-keep text-center text-[
|
|
10377
|
+
className: "typo-feedback-md-regular m-0 max-w-[400px] break-keep text-center text-[color:var(--cmp-modal-loading-message-color)]",
|
|
10262
10378
|
children: m
|
|
10263
10379
|
},
|
|
10264
10380
|
i
|
|
@@ -12013,7 +12129,7 @@ var SGnb = /* @__PURE__ */ react.forwardRef(function SGnb2({
|
|
|
12013
12129
|
viewportPadding: 8,
|
|
12014
12130
|
ariaLabel: GNB_LAUNCHER_LABEL,
|
|
12015
12131
|
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
12016
|
-
className: "w-auto rounded-(--cmp-gnb-launcher-listBox-radius) bg-(--cmp-gnb-launcher-listBox-bg) shadow-
|
|
12132
|
+
className: "w-auto rounded-(--cmp-gnb-launcher-listBox-radius) bg-(--cmp-gnb-launcher-listBox-bg) shadow-(--cmp-gnb-launcher-listBox-shadow)",
|
|
12017
12133
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12018
12134
|
SLauncherListBox,
|
|
12019
12135
|
{
|
|
@@ -14761,6 +14877,7 @@ var SSelectImpl = /* @__PURE__ */ react.forwardRef(function SSelect({
|
|
|
14761
14877
|
onSearchChange,
|
|
14762
14878
|
searchDebounce = DEFAULT_SEARCH_DEBOUNCE,
|
|
14763
14879
|
label,
|
|
14880
|
+
labelPosition,
|
|
14764
14881
|
labelWidth,
|
|
14765
14882
|
icon,
|
|
14766
14883
|
iconColor,
|
|
@@ -15193,6 +15310,7 @@ var SSelectImpl = /* @__PURE__ */ react.forwardRef(function SSelect({
|
|
|
15193
15310
|
SField,
|
|
15194
15311
|
{
|
|
15195
15312
|
label,
|
|
15313
|
+
labelPosition,
|
|
15196
15314
|
labelWidth,
|
|
15197
15315
|
icon,
|
|
15198
15316
|
iconColor,
|
|
@@ -16923,6 +17041,7 @@ var SInput = /* @__PURE__ */ react.forwardRef(function SInput2({
|
|
|
16923
17041
|
inputClassName,
|
|
16924
17042
|
inputStyle,
|
|
16925
17043
|
label,
|
|
17044
|
+
labelPosition,
|
|
16926
17045
|
labelWidth,
|
|
16927
17046
|
labelTooltip,
|
|
16928
17047
|
labelTooltipProps,
|
|
@@ -16966,6 +17085,7 @@ var SInput = /* @__PURE__ */ react.forwardRef(function SInput2({
|
|
|
16966
17085
|
SField,
|
|
16967
17086
|
{
|
|
16968
17087
|
label,
|
|
17088
|
+
labelPosition,
|
|
16969
17089
|
labelWidth,
|
|
16970
17090
|
labelTooltip,
|
|
16971
17091
|
labelTooltipProps,
|
|
@@ -17156,6 +17276,7 @@ var SNumberInput = /* @__PURE__ */ react.forwardRef(function SNumberInput2({
|
|
|
17156
17276
|
focused,
|
|
17157
17277
|
hovered,
|
|
17158
17278
|
label,
|
|
17279
|
+
labelPosition,
|
|
17159
17280
|
labelWidth,
|
|
17160
17281
|
icon,
|
|
17161
17282
|
iconColor,
|
|
@@ -17325,6 +17446,7 @@ var SNumberInput = /* @__PURE__ */ react.forwardRef(function SNumberInput2({
|
|
|
17325
17446
|
SField,
|
|
17326
17447
|
{
|
|
17327
17448
|
label,
|
|
17449
|
+
labelPosition,
|
|
17328
17450
|
labelWidth,
|
|
17329
17451
|
icon,
|
|
17330
17452
|
iconColor,
|
|
@@ -17612,7 +17734,7 @@ function SCalendar({
|
|
|
17612
17734
|
if (e !== "" && date > e) return true;
|
|
17613
17735
|
return false;
|
|
17614
17736
|
};
|
|
17615
|
-
const
|
|
17737
|
+
const pick2 = (date) => {
|
|
17616
17738
|
if (!isDisabled(date)) onValueChange?.(date);
|
|
17617
17739
|
};
|
|
17618
17740
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -17697,7 +17819,7 @@ function SCalendar({
|
|
|
17697
17819
|
{
|
|
17698
17820
|
type: "button",
|
|
17699
17821
|
disabled: !cell.inCurrentMonth || disabled,
|
|
17700
|
-
onClick: () => cell.inCurrentMonth &&
|
|
17822
|
+
onClick: () => cell.inCurrentMonth && pick2(cell.date),
|
|
17701
17823
|
className: cn(
|
|
17702
17824
|
"flex min-h-[var(--cmp-datepicker-calendar-day-circle-size)] w-[var(--cmp-datepicker-calendar-day-width)] flex-col items-center justify-start border-none bg-transparent p-0",
|
|
17703
17825
|
!cell.inCurrentMonth ? "invisible pointer-events-none" : disabled ? "cursor-not-allowed" : "cursor-pointer"
|
|
@@ -18043,6 +18165,7 @@ function SDatePicker({
|
|
|
18043
18165
|
rules,
|
|
18044
18166
|
status,
|
|
18045
18167
|
label,
|
|
18168
|
+
labelPosition,
|
|
18046
18169
|
labelWidth,
|
|
18047
18170
|
icon,
|
|
18048
18171
|
iconColor,
|
|
@@ -18115,6 +18238,7 @@ function SDatePicker({
|
|
|
18115
18238
|
SField,
|
|
18116
18239
|
{
|
|
18117
18240
|
label,
|
|
18241
|
+
labelPosition,
|
|
18118
18242
|
labelWidth,
|
|
18119
18243
|
icon,
|
|
18120
18244
|
iconColor,
|
|
@@ -18577,6 +18701,7 @@ function SDateRangePicker({
|
|
|
18577
18701
|
rules,
|
|
18578
18702
|
status,
|
|
18579
18703
|
label,
|
|
18704
|
+
labelPosition,
|
|
18580
18705
|
labelWidth,
|
|
18581
18706
|
icon,
|
|
18582
18707
|
iconColor,
|
|
@@ -18649,6 +18774,7 @@ function SDateRangePicker({
|
|
|
18649
18774
|
SField,
|
|
18650
18775
|
{
|
|
18651
18776
|
label,
|
|
18777
|
+
labelPosition,
|
|
18652
18778
|
labelWidth,
|
|
18653
18779
|
icon,
|
|
18654
18780
|
iconColor,
|
|
@@ -18953,6 +19079,7 @@ function SFilePicker({
|
|
|
18953
19079
|
status,
|
|
18954
19080
|
size = "sm",
|
|
18955
19081
|
label,
|
|
19082
|
+
labelPosition,
|
|
18956
19083
|
labelWidth,
|
|
18957
19084
|
icon,
|
|
18958
19085
|
iconColor,
|
|
@@ -19137,6 +19264,7 @@ function SFilePicker({
|
|
|
19137
19264
|
{
|
|
19138
19265
|
borderless: inline,
|
|
19139
19266
|
label,
|
|
19267
|
+
labelPosition,
|
|
19140
19268
|
labelWidth,
|
|
19141
19269
|
icon,
|
|
19142
19270
|
iconColor,
|
|
@@ -19402,7 +19530,7 @@ function ChartGrid({ scale, direction, width, height }) {
|
|
|
19402
19530
|
return /* @__PURE__ */ jsxRuntime.jsx("g", { "aria-hidden": true, children: scale.ticks.map((tick) => {
|
|
19403
19531
|
const ratio = ratioOf(tick, scale);
|
|
19404
19532
|
const isBaseline = tick === 0;
|
|
19405
|
-
const color = isBaseline ? "var(--cmp-chart-baseline-color)" : "var(--cmp-chart-
|
|
19533
|
+
const color = isBaseline ? "var(--cmp-chart-baseline-color)" : "var(--cmp-chart-gridline-color)";
|
|
19406
19534
|
const position = vertical ? height - ratio * height : ratio * width;
|
|
19407
19535
|
const extent = vertical ? height : width;
|
|
19408
19536
|
const snapped = Math.min(Math.max(Math.round(position), 0), Math.max(0, extent - 1)) + 0.5;
|
|
@@ -19480,7 +19608,7 @@ function ChartAxisLabels({
|
|
|
19480
19608
|
}
|
|
19481
19609
|
);
|
|
19482
19610
|
}
|
|
19483
|
-
var ChartFrame = /* @__PURE__ */ react.forwardRef(function ChartFrame2({ legend, legendPosition = "top", children, className, style, ...props }, ref) {
|
|
19611
|
+
var ChartFrame = /* @__PURE__ */ react.forwardRef(function ChartFrame2({ title, unit, legend, legendPosition = "top", children, className, style, ...props }, ref) {
|
|
19484
19612
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19485
19613
|
"div",
|
|
19486
19614
|
{
|
|
@@ -19493,6 +19621,14 @@ var ChartFrame = /* @__PURE__ */ react.forwardRef(function ChartFrame2({ legend,
|
|
|
19493
19621
|
style,
|
|
19494
19622
|
...props,
|
|
19495
19623
|
children: [
|
|
19624
|
+
(title || unit) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-(--cmp-chart-gap)", children: [
|
|
19625
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-body-md-medium text-(--cmp-chart-title-color)", children: title }),
|
|
19626
|
+
unit && // ml-auto — title 유무와 관계없이 항상 오른쪽 끝에 붙는다.
|
|
19627
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-auto whitespace-nowrap typo-body-sm-default text-(--cmp-chart-unit-color)", children: [
|
|
19628
|
+
"\uB2E8\uC704 : ",
|
|
19629
|
+
unit
|
|
19630
|
+
] })
|
|
19631
|
+
] }),
|
|
19496
19632
|
legend && legendPosition === "top" && legend,
|
|
19497
19633
|
children,
|
|
19498
19634
|
legend && legendPosition === "bottom" && legend
|
|
@@ -19501,8 +19637,51 @@ var ChartFrame = /* @__PURE__ */ react.forwardRef(function ChartFrame2({ legend,
|
|
|
19501
19637
|
);
|
|
19502
19638
|
});
|
|
19503
19639
|
var DOT_SIZE = 6;
|
|
19504
|
-
function ChartLegend({
|
|
19640
|
+
function ChartLegend({
|
|
19641
|
+
items,
|
|
19642
|
+
align = "center",
|
|
19643
|
+
activeIndex,
|
|
19644
|
+
className,
|
|
19645
|
+
variant = "simple"
|
|
19646
|
+
}) {
|
|
19505
19647
|
if (items.length === 0) return null;
|
|
19648
|
+
const dot = (color) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19649
|
+
"span",
|
|
19650
|
+
{
|
|
19651
|
+
"aria-hidden": true,
|
|
19652
|
+
className: "shrink-0 rounded-full",
|
|
19653
|
+
style: { width: DOT_SIZE, height: DOT_SIZE, background: color }
|
|
19654
|
+
}
|
|
19655
|
+
);
|
|
19656
|
+
if (variant === "default") {
|
|
19657
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19658
|
+
"ul",
|
|
19659
|
+
{
|
|
19660
|
+
className: cn(
|
|
19661
|
+
"flex list-none flex-col gap-(--cmp-chart-doughnut-legend-data-default-gap) p-0",
|
|
19662
|
+
className
|
|
19663
|
+
),
|
|
19664
|
+
children: items.map((item4, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19665
|
+
"li",
|
|
19666
|
+
{
|
|
19667
|
+
className: cn(
|
|
19668
|
+
"flex items-center gap-(--cmp-chart-legendItem-gap)",
|
|
19669
|
+
"py-(--cmp-chart-legendItem-paddingY)",
|
|
19670
|
+
"typo-body-sm-medium text-(--cmp-chart-legendItem-color)",
|
|
19671
|
+
"transition-opacity duration-200 ease-out motion-reduce:transition-none",
|
|
19672
|
+
activeIndex != null && activeIndex !== index && "opacity-(--opacity-060)"
|
|
19673
|
+
),
|
|
19674
|
+
children: [
|
|
19675
|
+
dot(item4.color),
|
|
19676
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item4.name }),
|
|
19677
|
+
item4.value != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto typo-body-sm-bold", style: { color: item4.valueColor }, children: item4.value })
|
|
19678
|
+
]
|
|
19679
|
+
},
|
|
19680
|
+
`${item4.name}-${index}`
|
|
19681
|
+
))
|
|
19682
|
+
}
|
|
19683
|
+
);
|
|
19684
|
+
}
|
|
19506
19685
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19507
19686
|
"ul",
|
|
19508
19687
|
{
|
|
@@ -19524,14 +19703,7 @@ function ChartLegend({ items, align = "center", activeIndex, className }) {
|
|
|
19524
19703
|
activeIndex != null && activeIndex !== index && "opacity-(--opacity-060)"
|
|
19525
19704
|
),
|
|
19526
19705
|
children: [
|
|
19527
|
-
|
|
19528
|
-
"span",
|
|
19529
|
-
{
|
|
19530
|
-
"aria-hidden": true,
|
|
19531
|
-
className: "shrink-0 rounded-full",
|
|
19532
|
-
style: { width: DOT_SIZE, height: DOT_SIZE, background: item4.color }
|
|
19533
|
-
}
|
|
19534
|
-
),
|
|
19706
|
+
dot(item4.color),
|
|
19535
19707
|
item4.name
|
|
19536
19708
|
]
|
|
19537
19709
|
},
|
|
@@ -19543,28 +19715,59 @@ function ChartLegend({ items, align = "center", activeIndex, className }) {
|
|
|
19543
19715
|
|
|
19544
19716
|
// src/lib/chart/palette.ts
|
|
19545
19717
|
var V3 = (path) => `var(--cmp-chart-palette-${path})`;
|
|
19546
|
-
var
|
|
19547
|
-
|
|
19548
|
-
|
|
19549
|
-
|
|
19550
|
-
|
|
19551
|
-
|
|
19552
|
-
|
|
19553
|
-
|
|
19554
|
-
|
|
19555
|
-
|
|
19718
|
+
var DIMMED = (path) => `var(--cmp-chart-line-point-dimmed-palette-${path})`;
|
|
19719
|
+
var VALUE = (path) => `var(--cmp-chart-dataValue-palette-${path})`;
|
|
19720
|
+
var colorsOf = (v) => ({
|
|
19721
|
+
positivePrimary: v("variation-positivePrimary"),
|
|
19722
|
+
positiveSecondary: v("variation-positiveSecondary"),
|
|
19723
|
+
negativePrimary: v("variation-negativePrimary"),
|
|
19724
|
+
negativeSecondary: v("variation-negativeSecondary"),
|
|
19725
|
+
neutralPrimary: v("variation-neutralPrimary"),
|
|
19726
|
+
neutralSecondary: v("variation-neutralSecondary")
|
|
19727
|
+
});
|
|
19728
|
+
var palettesOf = (v) => ({
|
|
19729
|
+
default: [v("single")],
|
|
19556
19730
|
multi: [
|
|
19557
|
-
|
|
19558
|
-
|
|
19559
|
-
|
|
19560
|
-
|
|
19561
|
-
|
|
19562
|
-
|
|
19563
|
-
|
|
19564
|
-
|
|
19565
|
-
|
|
19566
|
-
|
|
19567
|
-
|
|
19731
|
+
v("multi-blue"),
|
|
19732
|
+
v("multi-skyblue"),
|
|
19733
|
+
v("multi-yellow"),
|
|
19734
|
+
v("multi-olive"),
|
|
19735
|
+
v("multi-lightRed"),
|
|
19736
|
+
v("multi-warmBlue"),
|
|
19737
|
+
v("multi-orange"),
|
|
19738
|
+
v("multi-green"),
|
|
19739
|
+
v("multi-navy"),
|
|
19740
|
+
v("multi-grey"),
|
|
19741
|
+
v("multi-red")
|
|
19742
|
+
],
|
|
19743
|
+
gradation: [
|
|
19744
|
+
v("gradation-1"),
|
|
19745
|
+
v("gradation-2"),
|
|
19746
|
+
v("gradation-3"),
|
|
19747
|
+
v("gradation-4"),
|
|
19748
|
+
v("gradation-5"),
|
|
19749
|
+
v("gradation-6")
|
|
19750
|
+
]
|
|
19751
|
+
});
|
|
19752
|
+
var CHART_COLORS = colorsOf(V3);
|
|
19753
|
+
var CHART_PALETTES = palettesOf(V3);
|
|
19754
|
+
var DIMMED_COLORS = colorsOf(DIMMED);
|
|
19755
|
+
var DIMMED_PALETTES = palettesOf(DIMMED);
|
|
19756
|
+
var DATA_VALUE_COLORS = colorsOf(VALUE);
|
|
19757
|
+
var DATA_VALUE_PALETTES = {
|
|
19758
|
+
default: [DATA_VALUE_COLORS.positivePrimary],
|
|
19759
|
+
multi: [
|
|
19760
|
+
VALUE("multi-blue"),
|
|
19761
|
+
VALUE("multi-skyblue"),
|
|
19762
|
+
VALUE("multi-yellow"),
|
|
19763
|
+
VALUE("multi-olive"),
|
|
19764
|
+
VALUE("multi-lightRed"),
|
|
19765
|
+
VALUE("multi-warmBlue"),
|
|
19766
|
+
VALUE("multi-orange"),
|
|
19767
|
+
VALUE("multi-green"),
|
|
19768
|
+
VALUE("multi-navy"),
|
|
19769
|
+
VALUE("multi-grey"),
|
|
19770
|
+
VALUE("multi-red")
|
|
19568
19771
|
],
|
|
19569
19772
|
gradation: [
|
|
19570
19773
|
V3("gradation-1"),
|
|
@@ -19572,17 +19775,26 @@ var CHART_PALETTES = {
|
|
|
19572
19775
|
V3("gradation-3"),
|
|
19573
19776
|
V3("gradation-4"),
|
|
19574
19777
|
V3("gradation-5"),
|
|
19575
|
-
|
|
19778
|
+
VALUE("gradation-6")
|
|
19576
19779
|
]
|
|
19577
19780
|
};
|
|
19578
|
-
function
|
|
19781
|
+
function pick(names, palettes, palette, index, colors) {
|
|
19579
19782
|
if (palette === "custom") {
|
|
19580
|
-
if (!colors?.length) return
|
|
19581
|
-
return
|
|
19783
|
+
if (!colors?.length) return palettes.default[0];
|
|
19784
|
+
return names[colors[index % colors.length]];
|
|
19582
19785
|
}
|
|
19583
|
-
const list =
|
|
19786
|
+
const list = palettes[palette] ?? palettes.default;
|
|
19584
19787
|
return list[index % list.length];
|
|
19585
19788
|
}
|
|
19789
|
+
function paletteColor(palette, index, colors) {
|
|
19790
|
+
return pick(CHART_COLORS, CHART_PALETTES, palette, index, colors);
|
|
19791
|
+
}
|
|
19792
|
+
function linePointDimmedColor(palette, index, colors) {
|
|
19793
|
+
return pick(DIMMED_COLORS, DIMMED_PALETTES, palette, index, colors);
|
|
19794
|
+
}
|
|
19795
|
+
function dataValueColor(palette, index, colors) {
|
|
19796
|
+
return pick(DATA_VALUE_COLORS, DATA_VALUE_PALETTES, palette, index, colors);
|
|
19797
|
+
}
|
|
19586
19798
|
function useElementSize() {
|
|
19587
19799
|
const ref = react.useRef(null);
|
|
19588
19800
|
const [size, setSize] = react.useState({ width: 0, height: 0 });
|
|
@@ -19660,7 +19872,8 @@ function ChartTooltip({
|
|
|
19660
19872
|
"pointer-events-none absolute top-0 left-0 z-10 w-max",
|
|
19661
19873
|
"flex flex-col gap-(--cmp-chart-chartTooltip-gap)",
|
|
19662
19874
|
"px-(--cmp-chart-chartTooltip-paddingX) py-(--cmp-chart-chartTooltip-paddingY)",
|
|
19663
|
-
"rounded-(--cmp-chart-chartTooltip-radius) bg-(--cmp-chart-chartTooltip-bg)
|
|
19875
|
+
"rounded-(--cmp-chart-chartTooltip-radius) bg-(--cmp-chart-chartTooltip-bg)",
|
|
19876
|
+
"shadow-(--cmp-chart-chartTooltip-shadow)",
|
|
19664
19877
|
className
|
|
19665
19878
|
),
|
|
19666
19879
|
style: {
|
|
@@ -19707,12 +19920,12 @@ var BAR_SIZE_MAX = 80;
|
|
|
19707
19920
|
var BAR_GAP = 6;
|
|
19708
19921
|
var GROUP_PADDING_MIN = 8;
|
|
19709
19922
|
var GROUP_PADDING_MAX = 24;
|
|
19710
|
-
var VALUE_LABEL_GAP =
|
|
19923
|
+
var VALUE_LABEL_GAP = 4;
|
|
19711
19924
|
var BAR_RADIUS = 8;
|
|
19712
|
-
var BAR_OPACITY_DEFAULT = "var(--cmp-chart-
|
|
19925
|
+
var BAR_OPACITY_DEFAULT = "var(--cmp-chart-opacity-default)";
|
|
19713
19926
|
var BAR_OPACITY_DIMMED = "var(--cmp-chart-bar-opacity-dimmed)";
|
|
19714
19927
|
var BAR_OPACITY_HOVER = 1;
|
|
19715
|
-
var BAR_DATA_LABEL_COLOR = "var(--cmp-chart-
|
|
19928
|
+
var BAR_DATA_LABEL_COLOR = "var(--cmp-chart-dataLabel-color-default)";
|
|
19716
19929
|
var BAR_DATA_LABEL_TYPO = "typo-body-sm-medium";
|
|
19717
19930
|
var BAR_DATA_LABEL_TYPO_HOVER = "typo-body-md-bold";
|
|
19718
19931
|
var BAR_HOVER_TRANSITION = "transition-opacity duration-200 ease-out motion-reduce:transition-none";
|
|
@@ -19772,6 +19985,8 @@ function barPath(x, y, width, height, direction, negative) {
|
|
|
19772
19985
|
var SBarChart = /* @__PURE__ */ react.forwardRef(function SBarChart2({
|
|
19773
19986
|
categories,
|
|
19774
19987
|
series,
|
|
19988
|
+
title,
|
|
19989
|
+
unit,
|
|
19775
19990
|
direction = "vertical",
|
|
19776
19991
|
stacked = false,
|
|
19777
19992
|
palette = "default",
|
|
@@ -20237,6 +20452,8 @@ var SBarChart = /* @__PURE__ */ react.forwardRef(function SBarChart2({
|
|
|
20237
20452
|
ChartFrame,
|
|
20238
20453
|
{
|
|
20239
20454
|
ref,
|
|
20455
|
+
title,
|
|
20456
|
+
unit,
|
|
20240
20457
|
legend,
|
|
20241
20458
|
legendPosition,
|
|
20242
20459
|
className,
|
|
@@ -20277,18 +20494,19 @@ var SBarChart = /* @__PURE__ */ react.forwardRef(function SBarChart2({
|
|
|
20277
20494
|
});
|
|
20278
20495
|
|
|
20279
20496
|
// src/components/SLineChart/lineChart.config.ts
|
|
20280
|
-
var LINE_WIDTH =
|
|
20281
|
-
var
|
|
20282
|
-
var
|
|
20283
|
-
var
|
|
20284
|
-
var
|
|
20285
|
-
var
|
|
20286
|
-
var
|
|
20497
|
+
var LINE_WIDTH = "var(--cmp-chart-line-width)";
|
|
20498
|
+
var LINE_OPACITY = "var(--cmp-chart-line-opacity)";
|
|
20499
|
+
var LINE_DASH = "11 11";
|
|
20500
|
+
var POINT_RADIUS = 5;
|
|
20501
|
+
var POINT_HOVER_RADIUS = 6;
|
|
20502
|
+
var POINT_HALO_RADIUS = 12;
|
|
20503
|
+
var POINT_HALO_OPACITY = "var(--cmp-chart-line-point-opacity-bg)";
|
|
20504
|
+
var POINT_HOVER_EXTENT = POINT_HALO_RADIUS;
|
|
20287
20505
|
var BAND_MIN = 40;
|
|
20288
|
-
var VALUE_LABEL_GAP2 =
|
|
20289
|
-
var AREA_OPACITY_TOP = "
|
|
20290
|
-
var AREA_OPACITY_BOTTOM = "var(--
|
|
20291
|
-
var LINE_DATA_LABEL_COLOR = "var(--cmp-chart-
|
|
20506
|
+
var VALUE_LABEL_GAP2 = 4;
|
|
20507
|
+
var AREA_OPACITY_TOP = "var(--cmp-chart-line-area-gradation-start)";
|
|
20508
|
+
var AREA_OPACITY_BOTTOM = "var(--cmp-chart-line-area-gradation-end)";
|
|
20509
|
+
var LINE_DATA_LABEL_COLOR = "var(--cmp-chart-dataLabel-color-default)";
|
|
20292
20510
|
var LINE_DATA_LABEL_TYPO = "typo-body-sm-medium";
|
|
20293
20511
|
var LINE_DATA_LABEL_TYPO_HOVER = "typo-body-md-bold";
|
|
20294
20512
|
var r = (value) => Math.round(value * 100) / 100;
|
|
@@ -20368,7 +20586,10 @@ function runsOf(row) {
|
|
|
20368
20586
|
var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
20369
20587
|
categories,
|
|
20370
20588
|
series,
|
|
20589
|
+
title,
|
|
20590
|
+
unit,
|
|
20371
20591
|
curve = "linear",
|
|
20592
|
+
lineStyle = "solid",
|
|
20372
20593
|
area = false,
|
|
20373
20594
|
stacked = false,
|
|
20374
20595
|
palette = "default",
|
|
@@ -20397,6 +20618,10 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20397
20618
|
(seriesIndex) => paletteColor(palette, seriesIndex, customColors),
|
|
20398
20619
|
[palette, customColors]
|
|
20399
20620
|
);
|
|
20621
|
+
const dimmedColorAt = react.useCallback(
|
|
20622
|
+
(seriesIndex) => linePointDimmedColor(palette, seriesIndex, customColors),
|
|
20623
|
+
[palette, customColors]
|
|
20624
|
+
);
|
|
20400
20625
|
const rows = react.useMemo(() => {
|
|
20401
20626
|
const running = categories.map(() => 0);
|
|
20402
20627
|
return series.map(
|
|
@@ -20568,16 +20793,20 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20568
20793
|
"aria-hidden": true,
|
|
20569
20794
|
d,
|
|
20570
20795
|
fill: "none",
|
|
20571
|
-
strokeWidth: LINE_WIDTH,
|
|
20572
20796
|
strokeLinecap: "round",
|
|
20573
20797
|
strokeLinejoin: "round",
|
|
20574
|
-
style: {
|
|
20798
|
+
style: {
|
|
20799
|
+
stroke: colorAt(seriesIndex),
|
|
20800
|
+
strokeWidth: LINE_WIDTH,
|
|
20801
|
+
strokeOpacity: LINE_OPACITY,
|
|
20802
|
+
strokeDasharray: lineStyle === "dashed" ? LINE_DASH : void 0
|
|
20803
|
+
}
|
|
20575
20804
|
},
|
|
20576
20805
|
`line-${seriesIndex}-${runIndex}`
|
|
20577
20806
|
);
|
|
20578
20807
|
})
|
|
20579
20808
|
),
|
|
20580
|
-
[plotted, smooth, colorAt]
|
|
20809
|
+
[plotted, smooth, colorAt, lineStyle]
|
|
20581
20810
|
);
|
|
20582
20811
|
const { pointHalos, pointDots } = react.useMemo(() => {
|
|
20583
20812
|
const halos = [];
|
|
@@ -20588,6 +20817,7 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20588
20817
|
const hovered = hoveredCategory === categoryIndex;
|
|
20589
20818
|
if (!showPoint && !hovered) return;
|
|
20590
20819
|
const color = colorAt(seriesIndex);
|
|
20820
|
+
const dimmed = hoveredCategory != null && !hovered;
|
|
20591
20821
|
const key = `${seriesIndex}-${categoryIndex}`;
|
|
20592
20822
|
if (hovered) {
|
|
20593
20823
|
halos.push(
|
|
@@ -20597,12 +20827,8 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20597
20827
|
"aria-hidden": true,
|
|
20598
20828
|
cx: point.x,
|
|
20599
20829
|
cy: point.y,
|
|
20600
|
-
r:
|
|
20601
|
-
style: {
|
|
20602
|
-
fill: POINT_HOVER_BG,
|
|
20603
|
-
stroke: color,
|
|
20604
|
-
strokeWidth: POINT_HOVER_BORDER_WIDTH
|
|
20605
|
-
}
|
|
20830
|
+
r: POINT_HALO_RADIUS,
|
|
20831
|
+
style: { fill: color, fillOpacity: POINT_HALO_OPACITY }
|
|
20606
20832
|
},
|
|
20607
20833
|
`halo-${key}`
|
|
20608
20834
|
)
|
|
@@ -20614,8 +20840,11 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20614
20840
|
{
|
|
20615
20841
|
cx: point.x,
|
|
20616
20842
|
cy: point.y,
|
|
20617
|
-
r: hovered ?
|
|
20618
|
-
style: {
|
|
20843
|
+
r: hovered ? POINT_HOVER_RADIUS : POINT_RADIUS,
|
|
20844
|
+
style: {
|
|
20845
|
+
fill: dimmed ? dimmedColorAt(seriesIndex) : color,
|
|
20846
|
+
cursor: onPointClick ? "pointer" : void 0
|
|
20847
|
+
},
|
|
20619
20848
|
onClick: onPointClick ? () => onPointClick({ seriesIndex, categoryIndex, value: point.own }) : void 0,
|
|
20620
20849
|
children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: `${categories[categoryIndex]} ${series[seriesIndex]?.name ?? ""} ${formatValue(point.own)}` })
|
|
20621
20850
|
},
|
|
@@ -20625,7 +20854,17 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20625
20854
|
});
|
|
20626
20855
|
});
|
|
20627
20856
|
return { pointHalos: halos, pointDots: dots };
|
|
20628
|
-
}, [
|
|
20857
|
+
}, [
|
|
20858
|
+
plotted,
|
|
20859
|
+
showPoint,
|
|
20860
|
+
hoveredCategory,
|
|
20861
|
+
colorAt,
|
|
20862
|
+
dimmedColorAt,
|
|
20863
|
+
onPointClick,
|
|
20864
|
+
categories,
|
|
20865
|
+
series,
|
|
20866
|
+
formatValue
|
|
20867
|
+
]);
|
|
20629
20868
|
const valueLabels = react.useMemo(
|
|
20630
20869
|
() => showValueLabel ? plotted.flatMap(
|
|
20631
20870
|
(row, seriesIndex) => row.map(
|
|
@@ -20651,6 +20890,8 @@ var SLineChart = /* @__PURE__ */ react.forwardRef(function SLineChart2({
|
|
|
20651
20890
|
ChartFrame,
|
|
20652
20891
|
{
|
|
20653
20892
|
ref,
|
|
20893
|
+
title,
|
|
20894
|
+
unit,
|
|
20654
20895
|
legend,
|
|
20655
20896
|
legendPosition,
|
|
20656
20897
|
className,
|
|
@@ -20786,8 +21027,9 @@ var LABEL_MIN_RATIO = 0.05;
|
|
|
20786
21027
|
var PIE_LABEL_RADIUS_RATIO = 0.65;
|
|
20787
21028
|
var HOVER_GROW = 4;
|
|
20788
21029
|
var HOVER_CORNER = 2;
|
|
20789
|
-
var OPACITY_DEFAULT = "var(--cmp-chart-
|
|
20790
|
-
var OPACITY_DIMMED = "var(--cmp-chart-
|
|
21030
|
+
var OPACITY_DEFAULT = "var(--cmp-chart-opacity-default)";
|
|
21031
|
+
var OPACITY_DIMMED = "var(--cmp-chart-doughnut-opacity-dimmed)";
|
|
21032
|
+
var SLICE_HOVER_SHADOW = "var(--cmp-chart-doughnut-shadow-hover-filter)";
|
|
20791
21033
|
var OPACITY_HOVER = 1;
|
|
20792
21034
|
var defaultFormat3 = (value) => value.toLocaleString();
|
|
20793
21035
|
function formatRatio(ratio) {
|
|
@@ -20837,11 +21079,14 @@ function slicePath(center, outer, inner, start, end, corner = 0) {
|
|
|
20837
21079
|
}
|
|
20838
21080
|
var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
20839
21081
|
data,
|
|
21082
|
+
title,
|
|
21083
|
+
unit,
|
|
20840
21084
|
palette = "multi",
|
|
20841
21085
|
colors,
|
|
20842
21086
|
showValueLabel = false,
|
|
20843
21087
|
showLegend = true,
|
|
20844
21088
|
legendPosition = "top",
|
|
21089
|
+
legendVariant = "simple",
|
|
20845
21090
|
showTooltip = true,
|
|
20846
21091
|
formatValue = defaultFormat3,
|
|
20847
21092
|
onSliceClick,
|
|
@@ -20869,7 +21114,8 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20869
21114
|
ratio,
|
|
20870
21115
|
start,
|
|
20871
21116
|
end: angle,
|
|
20872
|
-
color: paletteColor(effective, slice2.index, colors)
|
|
21117
|
+
color: paletteColor(effective, slice2.index, colors),
|
|
21118
|
+
valueColor: dataValueColor(effective, slice2.index, colors)
|
|
20873
21119
|
};
|
|
20874
21120
|
});
|
|
20875
21121
|
return list;
|
|
@@ -20882,8 +21128,14 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20882
21128
|
const legend = showLegend ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20883
21129
|
ChartLegend,
|
|
20884
21130
|
{
|
|
20885
|
-
items: arcs.map((arc2) => ({
|
|
20886
|
-
|
|
21131
|
+
items: arcs.map((arc2) => ({
|
|
21132
|
+
name: arc2.name,
|
|
21133
|
+
color: arc2.color,
|
|
21134
|
+
value: legendVariant === "default" ? formatValue(arc2.value) : void 0,
|
|
21135
|
+
valueColor: arc2.valueColor
|
|
21136
|
+
})),
|
|
21137
|
+
activeIndex: hoveredArc ? arcs.indexOf(hoveredArc) : null,
|
|
21138
|
+
variant: legendVariant
|
|
20887
21139
|
}
|
|
20888
21140
|
) : null;
|
|
20889
21141
|
const tooltipAnchor = react.useMemo(() => {
|
|
@@ -20908,6 +21160,8 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20908
21160
|
ChartFrame,
|
|
20909
21161
|
{
|
|
20910
21162
|
ref,
|
|
21163
|
+
title,
|
|
21164
|
+
unit,
|
|
20911
21165
|
legend,
|
|
20912
21166
|
legendPosition,
|
|
20913
21167
|
className,
|
|
@@ -20918,6 +21172,7 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20918
21172
|
{
|
|
20919
21173
|
width: diameter,
|
|
20920
21174
|
height: diameter,
|
|
21175
|
+
overflow: "visible",
|
|
20921
21176
|
role: "img",
|
|
20922
21177
|
"aria-label": `${arcs.length}\uAC1C \uD56D\uBAA9 ${kind}`,
|
|
20923
21178
|
onMouseLeave: () => setHovered(null),
|
|
@@ -20930,7 +21185,7 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20930
21185
|
"aria-hidden": true,
|
|
20931
21186
|
d: slicePath(center, outer, inner, 0, Math.PI * 2),
|
|
20932
21187
|
fillRule: "evenodd",
|
|
20933
|
-
style: { fill: "var(--cmp-chart-
|
|
21188
|
+
style: { fill: "var(--cmp-chart-gridline-color)" }
|
|
20934
21189
|
}
|
|
20935
21190
|
)
|
|
20936
21191
|
) : arcs.map((arc2) => {
|
|
@@ -20944,6 +21199,10 @@ var RadialChart = /* @__PURE__ */ react.forwardRef(function RadialChart2({
|
|
|
20944
21199
|
style: {
|
|
20945
21200
|
fill: arc2.color,
|
|
20946
21201
|
opacity,
|
|
21202
|
+
// 짚은 조각만 떠오른다. SVG 도형에는 box-shadow 가 걸리지 않아
|
|
21203
|
+
// 같은 토큰의 filter 형태를 쓴다 (drop-shadow 에는 spread 가 없다 —
|
|
21204
|
+
// 토큰의 음수 spread 만큼 설계보다 조금 넓게 깔린다).
|
|
21205
|
+
filter: hovered === arc2.index ? SLICE_HOVER_SHADOW : void 0,
|
|
20947
21206
|
cursor: onSliceClick ? "pointer" : void 0
|
|
20948
21207
|
},
|
|
20949
21208
|
onMouseEnter: () => setHovered(arc2.index),
|
|
@@ -21035,6 +21294,7 @@ var SDonutChart = /* @__PURE__ */ react.forwardRef(function SDonutChart2({
|
|
|
21035
21294
|
showValueLabel = false,
|
|
21036
21295
|
showLegend = true,
|
|
21037
21296
|
legendPosition = "top",
|
|
21297
|
+
legendVariant = "simple",
|
|
21038
21298
|
showTooltip = true,
|
|
21039
21299
|
...props
|
|
21040
21300
|
}, ref) {
|
|
@@ -21047,6 +21307,7 @@ var SDonutChart = /* @__PURE__ */ react.forwardRef(function SDonutChart2({
|
|
|
21047
21307
|
showValueLabel,
|
|
21048
21308
|
showLegend,
|
|
21049
21309
|
legendPosition,
|
|
21310
|
+
legendVariant,
|
|
21050
21311
|
showTooltip,
|
|
21051
21312
|
innerRatio: DONUT_INNER_RATIO,
|
|
21052
21313
|
kind: "\uB3C4\uB11B \uADF8\uB798\uD504"
|
|
@@ -23514,6 +23775,7 @@ var SEditor = /* @__PURE__ */ react.forwardRef(function SEditor2({
|
|
|
23514
23775
|
onFocus,
|
|
23515
23776
|
onBlur,
|
|
23516
23777
|
label,
|
|
23778
|
+
labelPosition,
|
|
23517
23779
|
labelWidth,
|
|
23518
23780
|
icon,
|
|
23519
23781
|
iconColor,
|
|
@@ -23602,6 +23864,7 @@ var SEditor = /* @__PURE__ */ react.forwardRef(function SEditor2({
|
|
|
23602
23864
|
{
|
|
23603
23865
|
name,
|
|
23604
23866
|
label,
|
|
23867
|
+
labelPosition,
|
|
23605
23868
|
labelWidth,
|
|
23606
23869
|
icon,
|
|
23607
23870
|
iconColor,
|
|
@@ -25489,7 +25752,7 @@ function ListBox({
|
|
|
25489
25752
|
"div",
|
|
25490
25753
|
{
|
|
25491
25754
|
className: cn(
|
|
25492
|
-
"overflow-hidden border border-solid shadow-[var(--shadow
|
|
25755
|
+
"overflow-hidden border border-solid shadow-[var(--cmp-chipFilter-listbox-shadow)]",
|
|
25493
25756
|
maxHeight && "flex flex-col"
|
|
25494
25757
|
),
|
|
25495
25758
|
style: {
|
|
@@ -25574,6 +25837,7 @@ var SChipInput = /* @__PURE__ */ react.forwardRef(function SChipInput2({
|
|
|
25574
25837
|
loadingRecommendedItems = false,
|
|
25575
25838
|
dropdownMinWidth = 200,
|
|
25576
25839
|
label,
|
|
25840
|
+
labelPosition,
|
|
25577
25841
|
labelWidth,
|
|
25578
25842
|
hint,
|
|
25579
25843
|
errorMessage,
|
|
@@ -25714,6 +25978,7 @@ var SChipInput = /* @__PURE__ */ react.forwardRef(function SChipInput2({
|
|
|
25714
25978
|
SField,
|
|
25715
25979
|
{
|
|
25716
25980
|
label,
|
|
25981
|
+
labelPosition,
|
|
25717
25982
|
labelWidth,
|
|
25718
25983
|
labelHeight: `calc(var(--cmp-chipInput-${size}-minHeight) + 2px)`,
|
|
25719
25984
|
icon,
|
|
@@ -26032,6 +26297,7 @@ var SBarcodeInput = /* @__PURE__ */ react.forwardRef(
|
|
|
26032
26297
|
inputClassName,
|
|
26033
26298
|
inputStyle,
|
|
26034
26299
|
label,
|
|
26300
|
+
labelPosition,
|
|
26035
26301
|
labelWidth,
|
|
26036
26302
|
icon,
|
|
26037
26303
|
iconColor,
|
|
@@ -26068,6 +26334,7 @@ var SBarcodeInput = /* @__PURE__ */ react.forwardRef(
|
|
|
26068
26334
|
SField,
|
|
26069
26335
|
{
|
|
26070
26336
|
label,
|
|
26337
|
+
labelPosition,
|
|
26071
26338
|
labelWidth,
|
|
26072
26339
|
icon,
|
|
26073
26340
|
iconColor,
|
|
@@ -26437,6 +26704,7 @@ function STimePicker({
|
|
|
26437
26704
|
rules,
|
|
26438
26705
|
status,
|
|
26439
26706
|
label,
|
|
26707
|
+
labelPosition,
|
|
26440
26708
|
labelWidth,
|
|
26441
26709
|
icon,
|
|
26442
26710
|
iconColor,
|
|
@@ -26491,6 +26759,7 @@ function STimePicker({
|
|
|
26491
26759
|
SField,
|
|
26492
26760
|
{
|
|
26493
26761
|
label,
|
|
26762
|
+
labelPosition,
|
|
26494
26763
|
labelWidth,
|
|
26495
26764
|
icon,
|
|
26496
26765
|
iconColor,
|
|
@@ -26903,6 +27172,7 @@ function STimeRangePicker({
|
|
|
26903
27172
|
rules,
|
|
26904
27173
|
status,
|
|
26905
27174
|
label,
|
|
27175
|
+
labelPosition,
|
|
26906
27176
|
labelWidth,
|
|
26907
27177
|
icon,
|
|
26908
27178
|
iconColor,
|
|
@@ -26959,6 +27229,7 @@ function STimeRangePicker({
|
|
|
26959
27229
|
SField,
|
|
26960
27230
|
{
|
|
26961
27231
|
label,
|
|
27232
|
+
labelPosition,
|
|
26962
27233
|
labelWidth,
|
|
26963
27234
|
icon,
|
|
26964
27235
|
iconColor,
|
|
@@ -27090,6 +27361,10 @@ exports.CHAT_MESSAGE_READ_STATUSES = CHAT_MESSAGE_READ_STATUSES;
|
|
|
27090
27361
|
exports.CHAT_MESSAGE_VARIANTS = CHAT_MESSAGE_VARIANTS;
|
|
27091
27362
|
exports.CHIP_COLORS = CHIP_COLORS;
|
|
27092
27363
|
exports.COLOR_KEYS = COLOR_KEYS;
|
|
27364
|
+
exports.CONTEXT_ALERT_DEFAULT_ICON = CONTEXT_ALERT_DEFAULT_ICON;
|
|
27365
|
+
exports.CONTEXT_ALERT_ICON_COLOR = CONTEXT_ALERT_ICON_COLOR;
|
|
27366
|
+
exports.CONTEXT_ALERT_INTENTS = CONTEXT_ALERT_INTENTS;
|
|
27367
|
+
exports.CONTEXT_ALERT_SURFACE = CONTEXT_ALERT_SURFACE;
|
|
27093
27368
|
exports.FIELD_WIDTH_GRADES = FIELD_WIDTH_GRADES;
|
|
27094
27369
|
exports.GNB_COLORS = GNB_COLORS;
|
|
27095
27370
|
exports.GNB_COMMON = GNB_COMMON;
|
|
@@ -27144,6 +27419,7 @@ exports.SChipFilter = SChipFilter;
|
|
|
27144
27419
|
exports.SChipInput = SChipInput;
|
|
27145
27420
|
exports.SCircleProgress = SCircleProgress;
|
|
27146
27421
|
exports.SConfirmModal = SConfirmModal;
|
|
27422
|
+
exports.SContextAlert = SContextAlert;
|
|
27147
27423
|
exports.SDatePicker = SDatePicker;
|
|
27148
27424
|
exports.SDatePickerMonthListbox = SDatePickerMonthListbox;
|
|
27149
27425
|
exports.SDatePickerYearListbox = SDatePickerYearListbox;
|