sellmate-design-system-react 9.0.0-beta.80 → 9.0.0-beta.85
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 +39 -14
- package/dist/components/SGhostButton/README.md +2 -1
- package/dist/components/SGhostButton/SGhostButton.d.ts +1 -1
- package/dist/components/SRadioButton/README.md +1 -0
- package/dist/components/SRadioButton/SRadioButton.d.ts +8 -2
- package/dist/components/SSkeleton/README.md +13 -1
- package/dist/components/SSkeleton/SSkeleton.d.ts +7 -3
- package/dist/components/SSkeleton/index.d.ts +1 -1
- package/dist/components/SSkeleton/skeleton.config.d.ts +8 -6
- package/dist/components/STimeline/README.md +41 -0
- package/dist/components/STimeline/STimeline.d.ts +27 -0
- package/dist/components/STimeline/index.d.ts +1 -0
- package/dist/index.cjs +176 -47
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +175 -48
- package/dist/index.js.map +1 -1
- package/dist/llms-full.txt +101 -18
- package/dist/llms.txt +44 -18
- package/dist/styles.css +106 -4
- package/dist/theme.css +25 -2
- package/eslint/scale.gen.mjs +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -67,6 +67,7 @@ export * from './components/SPieChart';
|
|
|
67
67
|
export * from './components/SDonutChart';
|
|
68
68
|
export * from './components/SToast';
|
|
69
69
|
export * from './components/SSkeleton';
|
|
70
|
+
export * from './components/STimeline';
|
|
70
71
|
export * from './components/SForm';
|
|
71
72
|
export * from './components/SField';
|
|
72
73
|
export * from './components/SCheckbox';
|
package/dist/index.js
CHANGED
|
@@ -4847,8 +4847,22 @@ function useFormField(field) {
|
|
|
4847
4847
|
}, [ctx, name]);
|
|
4848
4848
|
}
|
|
4849
4849
|
var FIELD_SIZE = {
|
|
4850
|
-
sm: {
|
|
4851
|
-
|
|
4850
|
+
sm: {
|
|
4851
|
+
height: 28,
|
|
4852
|
+
radius: 4,
|
|
4853
|
+
fieldGap: 12,
|
|
4854
|
+
labelGap: 6,
|
|
4855
|
+
labelTypo: "typo-field-sm-bold",
|
|
4856
|
+
icon: 16
|
|
4857
|
+
},
|
|
4858
|
+
md: {
|
|
4859
|
+
height: 36,
|
|
4860
|
+
radius: 6,
|
|
4861
|
+
fieldGap: 16,
|
|
4862
|
+
labelGap: 8,
|
|
4863
|
+
labelTypo: "typo-field-md-bold",
|
|
4864
|
+
icon: 16
|
|
4865
|
+
}
|
|
4852
4866
|
};
|
|
4853
4867
|
var ALIGN = {
|
|
4854
4868
|
start: "flex-start",
|
|
@@ -4958,7 +4972,10 @@ var SField = /* @__PURE__ */ forwardRef(function SField2({
|
|
|
4958
4972
|
label !== "" && /* @__PURE__ */ jsxs(
|
|
4959
4973
|
"div",
|
|
4960
4974
|
{
|
|
4961
|
-
className:
|
|
4975
|
+
className: cn(
|
|
4976
|
+
"flex shrink-0 items-center text-(--sys-color-field-text-default)",
|
|
4977
|
+
s.labelTypo
|
|
4978
|
+
),
|
|
4962
4979
|
style: {
|
|
4963
4980
|
// 위에 선 라벨은 제 글줄 높이만 차지한다 — 컨트롤 높이에 맞춰 늘리면
|
|
4964
4981
|
// 라벨과 컨트롤 사이가 간격 토큰보다 넓어진다. 줄 세우기용 labelWidth 도
|
|
@@ -4967,9 +4984,7 @@ var SField = /* @__PURE__ */ forwardRef(function SField2({
|
|
|
4967
4984
|
height: cssLen(labelHeight) ?? s.height,
|
|
4968
4985
|
marginRight: s.fieldGap,
|
|
4969
4986
|
width: cssLen(labelWidth)
|
|
4970
|
-
}
|
|
4971
|
-
fontSize: s.fontSize,
|
|
4972
|
-
lineHeight: `${s.lineHeight}px`
|
|
4987
|
+
}
|
|
4973
4988
|
},
|
|
4974
4989
|
children: [
|
|
4975
4990
|
icon && /* @__PURE__ */ jsx(
|
|
@@ -5142,16 +5157,22 @@ var STextarea = /* @__PURE__ */ forwardRef(function STextarea2({
|
|
|
5142
5157
|
},
|
|
5143
5158
|
[ref]
|
|
5144
5159
|
);
|
|
5160
|
+
const autoSizedRef = useRef(false);
|
|
5161
|
+
const styleHeight = textareaStyle?.height;
|
|
5145
5162
|
useLayoutEffect(() => {
|
|
5146
5163
|
const el = innerRef.current;
|
|
5147
5164
|
if (el == null) return;
|
|
5148
5165
|
if (!autogrow) {
|
|
5149
|
-
|
|
5166
|
+
if (autoSizedRef.current) {
|
|
5167
|
+
el.style.height = typeof styleHeight === "number" ? `${styleHeight}px` : styleHeight ?? "";
|
|
5168
|
+
autoSizedRef.current = false;
|
|
5169
|
+
}
|
|
5150
5170
|
return;
|
|
5151
5171
|
}
|
|
5152
5172
|
el.style.height = "auto";
|
|
5153
5173
|
el.style.height = `${el.scrollHeight}px`;
|
|
5154
|
-
|
|
5174
|
+
autoSizedRef.current = true;
|
|
5175
|
+
}, [autogrow, maxHeight, minHeight, rows, styleHeight, value]);
|
|
5155
5176
|
useFormField({
|
|
5156
5177
|
name: rest.name,
|
|
5157
5178
|
validate: () => {
|
|
@@ -18766,7 +18787,8 @@ function SCalendar({
|
|
|
18766
18787
|
className: cn(
|
|
18767
18788
|
"flex h-[var(--cmp-datepicker-calendar-day-circle-size)] w-[var(--cmp-datepicker-calendar-day-circle-size)] items-center justify-center rounded-[var(--cmp-datepicker-calendar-day-circle-radius)] border border-solid border-transparent text-[14px] leading-[var(--cmp-datepicker-calendar-day-circle-size)]",
|
|
18768
18789
|
selected ? "bg-[var(--cmp-datepicker-calendar-day-select-bg)] text-[color:var(--cmp-datepicker-calendar-day-select-text)]" : disabled ? "text-[color:var(--cmp-datepicker-calendar-day-disabled-text)]" : "text-[color:var(--cmp-datepicker-calendar-day-default-text)] hover:border-[color:var(--cmp-datepicker-calendar-day-hover-border)] hover:text-[color:var(--cmp-datepicker-calendar-day-hover-text)]",
|
|
18769
|
-
|
|
18790
|
+
// 오늘: datepicker.calendar.day.typography.bold (→ typography.field.md.bold) 의 굵기
|
|
18791
|
+
isToday && !disabled && "font-semibold"
|
|
18770
18792
|
),
|
|
18771
18793
|
children: cell.inCurrentMonth ? cell.day : ""
|
|
18772
18794
|
}
|
|
@@ -19494,7 +19516,8 @@ function RangeCalendar({
|
|
|
19494
19516
|
"relative z-[1] flex h-[var(--cmp-datepicker-calendar-day-circle-size)] w-[var(--cmp-datepicker-calendar-day-circle-size)] items-center justify-center rounded-[var(--cmp-datepicker-calendar-day-circle-radius)] border border-solid border-transparent bg-transparent text-[14px]",
|
|
19495
19517
|
!cell.inCurrentMonth ? "invisible pointer-events-none" : disabled ? "cursor-not-allowed" : "cursor-pointer",
|
|
19496
19518
|
isEdge ? "bg-[var(--cmp-datepicker-calendar-day-select-bg)] text-[color:var(--cmp-datepicker-calendar-day-select-text)]" : disabled ? "text-[color:var(--cmp-datepicker-calendar-day-disabled-text)]" : "text-[color:var(--cmp-datepicker-calendar-day-default-text)] hover:border-[color:var(--cmp-datepicker-calendar-day-hover-border)] hover:text-[color:var(--cmp-datepicker-calendar-day-hover-text)]",
|
|
19497
|
-
|
|
19519
|
+
// 오늘: datepicker.calendar.day.typography.bold (→ typography.field.md.bold) 의 굵기
|
|
19520
|
+
isToday && !disabled && "font-semibold"
|
|
19498
19521
|
),
|
|
19499
19522
|
children: cell.inCurrentMonth ? cell.day : ""
|
|
19500
19523
|
}
|
|
@@ -21726,32 +21749,57 @@ var SLineChart = /* @__PURE__ */ forwardRef(function SLineChart2({
|
|
|
21726
21749
|
`area-gradient-${seriesIndex}`
|
|
21727
21750
|
)) });
|
|
21728
21751
|
}, [area, plotted, colorAt, gradientId]);
|
|
21729
|
-
const
|
|
21752
|
+
const linePaths = useMemo(
|
|
21730
21753
|
() => plotted.flatMap(
|
|
21731
|
-
(row, seriesIndex) => runsOf(row).
|
|
21754
|
+
(row, seriesIndex) => runsOf(row).flatMap((run, runIndex) => {
|
|
21732
21755
|
const d = linePath(run, smooth);
|
|
21733
|
-
|
|
21734
|
-
|
|
21756
|
+
return d ? [{ key: `${seriesIndex}-${runIndex}`, seriesIndex, d }] : [];
|
|
21757
|
+
})
|
|
21758
|
+
),
|
|
21759
|
+
[plotted, smooth]
|
|
21760
|
+
);
|
|
21761
|
+
const strokeShape = {
|
|
21762
|
+
strokeWidth: LINE_WIDTH,
|
|
21763
|
+
strokeDasharray: lineStyle === "dashed" ? LINE_DASH : void 0
|
|
21764
|
+
};
|
|
21765
|
+
const lines = linePaths.map(({ key, seriesIndex, d }) => /* @__PURE__ */ jsx(
|
|
21766
|
+
"path",
|
|
21767
|
+
{
|
|
21768
|
+
"aria-hidden": true,
|
|
21769
|
+
d,
|
|
21770
|
+
fill: "none",
|
|
21771
|
+
strokeLinecap: "round",
|
|
21772
|
+
strokeLinejoin: "round",
|
|
21773
|
+
style: { ...strokeShape, stroke: colorAt(seriesIndex), strokeOpacity: LINE_OPACITY }
|
|
21774
|
+
},
|
|
21775
|
+
`line-${key}`
|
|
21776
|
+
));
|
|
21777
|
+
const areaMaskId = `${gradientId}-area-mask`;
|
|
21778
|
+
const areaMask = area ? /* @__PURE__ */ jsxs(
|
|
21779
|
+
"mask",
|
|
21780
|
+
{
|
|
21781
|
+
id: areaMaskId,
|
|
21782
|
+
maskUnits: "userSpaceOnUse",
|
|
21783
|
+
x: 0,
|
|
21784
|
+
y: 0,
|
|
21785
|
+
width: size.width,
|
|
21786
|
+
height: size.height,
|
|
21787
|
+
children: [
|
|
21788
|
+
/* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: size.width, height: size.height, style: { fill: "white" } }),
|
|
21789
|
+
linePaths.map(({ key, d }) => /* @__PURE__ */ jsx(
|
|
21735
21790
|
"path",
|
|
21736
21791
|
{
|
|
21737
|
-
"aria-hidden": true,
|
|
21738
21792
|
d,
|
|
21739
21793
|
fill: "none",
|
|
21740
21794
|
strokeLinecap: "round",
|
|
21741
21795
|
strokeLinejoin: "round",
|
|
21742
|
-
style: {
|
|
21743
|
-
stroke: colorAt(seriesIndex),
|
|
21744
|
-
strokeWidth: LINE_WIDTH,
|
|
21745
|
-
strokeOpacity: LINE_OPACITY,
|
|
21746
|
-
strokeDasharray: lineStyle === "dashed" ? LINE_DASH : void 0
|
|
21747
|
-
}
|
|
21796
|
+
style: { ...strokeShape, stroke: "black" }
|
|
21748
21797
|
},
|
|
21749
|
-
`
|
|
21750
|
-
)
|
|
21751
|
-
|
|
21752
|
-
|
|
21753
|
-
|
|
21754
|
-
);
|
|
21798
|
+
`mask-${key}`
|
|
21799
|
+
))
|
|
21800
|
+
]
|
|
21801
|
+
}
|
|
21802
|
+
) : null;
|
|
21755
21803
|
const { pointHalos, pointDots } = useMemo(() => {
|
|
21756
21804
|
const halos = [];
|
|
21757
21805
|
const dots = [];
|
|
@@ -21925,7 +21973,8 @@ var SLineChart = /* @__PURE__ */ forwardRef(function SLineChart2({
|
|
|
21925
21973
|
}
|
|
21926
21974
|
),
|
|
21927
21975
|
areaGradients,
|
|
21928
|
-
|
|
21976
|
+
areaMask,
|
|
21977
|
+
area && /* @__PURE__ */ jsx("g", { mask: `url(#${areaMaskId})`, children: areas }),
|
|
21929
21978
|
lines,
|
|
21930
21979
|
pointHalos,
|
|
21931
21980
|
pointDots,
|
|
@@ -22621,10 +22670,13 @@ var SKELETON_TYPES = [
|
|
|
22621
22670
|
"switch"
|
|
22622
22671
|
];
|
|
22623
22672
|
var SKELETON_ANIMATIONS = ["wave", "pulse", "fade", "none"];
|
|
22673
|
+
var SKELETON_MODES = ["light", "dark"];
|
|
22624
22674
|
var SKELETON_TYPE_CONFIG = {
|
|
22625
|
-
rect: { radius: "var(--
|
|
22675
|
+
rect: { radius: "var(--cmp-skeleton-radius)" },
|
|
22626
22676
|
circle: { width: "48px", height: "48px", radius: "50%" },
|
|
22627
|
-
|
|
22677
|
+
// 세로를 절반(scale-y-50)으로 줄여 그리므로 세로 반지름을 두 배로 줘야 모서리가 둥글게 남는다.
|
|
22678
|
+
// 칠하는 높이가 한 줄의 절반이라 스켈레톤 radius 는 알약처럼 보여 한 단계 작은 값을 쓴다
|
|
22679
|
+
text: { radius: "var(--radius-2) / calc(var(--radius-2) * 2)" },
|
|
22628
22680
|
button: {
|
|
22629
22681
|
width: "90px",
|
|
22630
22682
|
height: "var(--cmp-button-sm-height)",
|
|
@@ -22648,13 +22700,18 @@ var SKELETON_TYPE_CONFIG = {
|
|
|
22648
22700
|
radius: "var(--cmp-switch-radius)"
|
|
22649
22701
|
}
|
|
22650
22702
|
};
|
|
22703
|
+
var wave = (alpha) => `linear-gradient(90deg, transparent, color-mix(in srgb, var(--cmp-skeleton-highlight) ${alpha}, transparent), transparent)`;
|
|
22651
22704
|
var SKELETON_COLORS = {
|
|
22652
|
-
|
|
22653
|
-
|
|
22654
|
-
|
|
22655
|
-
|
|
22656
|
-
|
|
22657
|
-
|
|
22705
|
+
light: {
|
|
22706
|
+
bg: "color-mix(in srgb, var(--cmp-skeleton-bg-dark) var(--cmp-skeleton-opacity), transparent)",
|
|
22707
|
+
/** Quasar rgba(255,255,255,.5) 하이라이트 띠 */
|
|
22708
|
+
wave: wave("50%")
|
|
22709
|
+
},
|
|
22710
|
+
dark: {
|
|
22711
|
+
bg: "color-mix(in srgb, var(--cmp-skeleton-bg-light) var(--cmp-skeleton-opacity), transparent)",
|
|
22712
|
+
/** 어두운 면에서 50% 흰 띠는 너무 튀어 바탕과 같은 투명도로 낮춘다 (Quasar dark 도 .1) */
|
|
22713
|
+
wave: wave("var(--cmp-skeleton-opacity)")
|
|
22714
|
+
}
|
|
22658
22715
|
};
|
|
22659
22716
|
var ANIMATION_CLASS = {
|
|
22660
22717
|
pulse: "animate-skeleton-pulse",
|
|
@@ -22663,10 +22720,10 @@ var ANIMATION_CLASS = {
|
|
|
22663
22720
|
var toCss = (v) => typeof v === "number" ? `${v}px` : v;
|
|
22664
22721
|
var SSkeleton = /* @__PURE__ */ forwardRef(function SSkeleton2({
|
|
22665
22722
|
type = "rect",
|
|
22723
|
+
mode = "light",
|
|
22666
22724
|
animation = "wave",
|
|
22667
22725
|
animationSpeed = 1500,
|
|
22668
22726
|
square = false,
|
|
22669
|
-
bordered = false,
|
|
22670
22727
|
size,
|
|
22671
22728
|
width,
|
|
22672
22729
|
height,
|
|
@@ -22675,6 +22732,7 @@ var SSkeleton = /* @__PURE__ */ forwardRef(function SSkeleton2({
|
|
|
22675
22732
|
...props
|
|
22676
22733
|
}, ref) {
|
|
22677
22734
|
const t = SKELETON_TYPE_CONFIG[type];
|
|
22735
|
+
const colors = SKELETON_COLORS[mode];
|
|
22678
22736
|
const duration = `${animationSpeed}ms`;
|
|
22679
22737
|
return /* @__PURE__ */ jsxs(
|
|
22680
22738
|
"div",
|
|
@@ -22686,7 +22744,6 @@ var SSkeleton = /* @__PURE__ */ forwardRef(function SSkeleton2({
|
|
|
22686
22744
|
"box-border cursor-wait select-none",
|
|
22687
22745
|
// text 는 transform 이 아니라 scale 속성으로 줄여서 pulse 의 transform 애니메이션과 겹치지 않는다
|
|
22688
22746
|
type === "text" && "scale-y-50",
|
|
22689
|
-
bordered && "border border-solid",
|
|
22690
22747
|
animation === "wave" && "relative overflow-hidden",
|
|
22691
22748
|
animation !== "wave" && animation !== "none" && ANIMATION_CLASS[animation],
|
|
22692
22749
|
"motion-reduce:animate-none",
|
|
@@ -22696,8 +22753,7 @@ var SSkeleton = /* @__PURE__ */ forwardRef(function SSkeleton2({
|
|
|
22696
22753
|
width: toCss(width ?? size) ?? t.width,
|
|
22697
22754
|
height: toCss(height ?? size) ?? t.height,
|
|
22698
22755
|
borderRadius: square ? 0 : t.radius,
|
|
22699
|
-
background:
|
|
22700
|
-
borderColor: bordered ? SKELETON_COLORS.border : void 0,
|
|
22756
|
+
background: colors.bg,
|
|
22701
22757
|
animationDuration: animation === "pulse" || animation === "fade" ? duration : void 0,
|
|
22702
22758
|
...style
|
|
22703
22759
|
},
|
|
@@ -22707,13 +22763,81 @@ var SSkeleton = /* @__PURE__ */ forwardRef(function SSkeleton2({
|
|
|
22707
22763
|
"span",
|
|
22708
22764
|
{
|
|
22709
22765
|
className: "absolute inset-0 animate-skeleton-wave motion-reduce:hidden",
|
|
22710
|
-
style: {
|
|
22766
|
+
style: {
|
|
22767
|
+
background: colors.wave,
|
|
22768
|
+
animationDuration: duration,
|
|
22769
|
+
transform: "translateX(-100%)"
|
|
22770
|
+
}
|
|
22711
22771
|
}
|
|
22712
22772
|
)
|
|
22713
22773
|
]
|
|
22714
22774
|
}
|
|
22715
22775
|
);
|
|
22716
22776
|
});
|
|
22777
|
+
var STimelineImpl = /* @__PURE__ */ forwardRef(function STimeline({ groups, emptyText = "\uB0B4\uC5ED\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.", className, ...rest }, ref) {
|
|
22778
|
+
const filled = groups.filter((group) => group.entries.length > 0);
|
|
22779
|
+
if (filled.length === 0) {
|
|
22780
|
+
return /* @__PURE__ */ jsx(
|
|
22781
|
+
"div",
|
|
22782
|
+
{
|
|
22783
|
+
ref,
|
|
22784
|
+
className: cn(
|
|
22785
|
+
"typo-body-sm-default flex h-full items-center justify-center text-[color:var(--cmp-timeline-empty-color)]",
|
|
22786
|
+
className
|
|
22787
|
+
),
|
|
22788
|
+
...rest,
|
|
22789
|
+
children: emptyText
|
|
22790
|
+
}
|
|
22791
|
+
);
|
|
22792
|
+
}
|
|
22793
|
+
return /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col", className), ...rest, children: filled.map((group, groupIndex) => {
|
|
22794
|
+
const isLastGroup = groupIndex === filled.length - 1;
|
|
22795
|
+
return /* @__PURE__ */ jsxs("section", { children: [
|
|
22796
|
+
/* @__PURE__ */ jsx("div", { className: "typo-body-sm-bold py-[var(--cmp-timeline-heading-paddingY)] text-[color:var(--cmp-timeline-heading-color)]", children: group.heading }),
|
|
22797
|
+
/* @__PURE__ */ jsx("ol", { className: "m-0 flex list-none flex-col p-0", children: group.entries.map((entry, entryIndex) => {
|
|
22798
|
+
const isFirstEntry = entryIndex === 0;
|
|
22799
|
+
const isLastEntry = entryIndex === group.entries.length - 1;
|
|
22800
|
+
return (
|
|
22801
|
+
// 시각 열 너비는 토큰이 없다 — 줄마다 grid 가 따로라 auto 로 두면 열이 어긋나므로 고정한다.
|
|
22802
|
+
/* @__PURE__ */ jsxs(
|
|
22803
|
+
"li",
|
|
22804
|
+
{
|
|
22805
|
+
className: "grid grid-cols-[52px_var(--cmp-timeline-rail-dot-size)_minmax(0,1fr)]",
|
|
22806
|
+
children: [
|
|
22807
|
+
/* @__PURE__ */ jsx("div", { className: "typo-body-sm-medium whitespace-nowrap pr-[var(--cmp-timeline-entry-horizontalGap)] text-right text-[color:var(--cmp-timeline-time-color)]", children: entry.time }),
|
|
22808
|
+
/* @__PURE__ */ jsxs("div", { "aria-hidden": true, className: "relative", children: [
|
|
22809
|
+
!(isLastGroup && isLastEntry) && /* @__PURE__ */ jsx(
|
|
22810
|
+
"span",
|
|
22811
|
+
{
|
|
22812
|
+
className: cn(
|
|
22813
|
+
"absolute left-1/2 w-[var(--cmp-timeline-rail-line-width)] -translate-x-1/2 bg-[var(--cmp-timeline-rail-line-color)]",
|
|
22814
|
+
isFirstEntry && groupIndex > 0 ? "top-0" : "top-[14px]",
|
|
22815
|
+
isLastEntry ? "bottom-0" : "bottom-[-8px]"
|
|
22816
|
+
)
|
|
22817
|
+
}
|
|
22818
|
+
),
|
|
22819
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-0 top-[6px] size-[var(--cmp-timeline-rail-dot-size)] rounded-[var(--cmp-timeline-rail-dot-radius)] bg-[var(--cmp-timeline-rail-dot-bg)]" })
|
|
22820
|
+
] }),
|
|
22821
|
+
/* @__PURE__ */ jsx(
|
|
22822
|
+
"div",
|
|
22823
|
+
{
|
|
22824
|
+
className: cn(
|
|
22825
|
+
"min-w-0 pl-[var(--cmp-timeline-entry-horizontalGap)]",
|
|
22826
|
+
!isLastEntry && "pb-[var(--cmp-timeline-entry-gap)]"
|
|
22827
|
+
),
|
|
22828
|
+
children: entry.content
|
|
22829
|
+
}
|
|
22830
|
+
)
|
|
22831
|
+
]
|
|
22832
|
+
},
|
|
22833
|
+
entry.key
|
|
22834
|
+
)
|
|
22835
|
+
);
|
|
22836
|
+
}) })
|
|
22837
|
+
] }, group.key ?? groupIndex);
|
|
22838
|
+
}) });
|
|
22839
|
+
});
|
|
22840
|
+
var STimeline2 = /* @__PURE__ */ withDisplayName(STimelineImpl, "STimeline");
|
|
22717
22841
|
var SForm = /* @__PURE__ */ forwardRef(function SForm2({ formClassName, onSubmit, onValidationError, children, className, style }, ref) {
|
|
22718
22842
|
const formRef = useRef(null);
|
|
22719
22843
|
const fieldsRef = useRef(/* @__PURE__ */ new Set());
|
|
@@ -22799,6 +22923,7 @@ function SRadioButton({
|
|
|
22799
22923
|
value,
|
|
22800
22924
|
size = "sm",
|
|
22801
22925
|
disabled = false,
|
|
22926
|
+
readOnly = false,
|
|
22802
22927
|
name,
|
|
22803
22928
|
showTooltip = false,
|
|
22804
22929
|
onValueChange,
|
|
@@ -22816,11 +22941,13 @@ function SRadioButton({
|
|
|
22816
22941
|
{
|
|
22817
22942
|
role: "radiogroup",
|
|
22818
22943
|
"aria-disabled": disabled,
|
|
22944
|
+
"aria-readonly": readOnly || void 0,
|
|
22819
22945
|
className: cn("inline-flex isolate", className),
|
|
22820
22946
|
style,
|
|
22821
22947
|
children: options.map((o, i) => {
|
|
22822
22948
|
const selected = o.value === value;
|
|
22823
22949
|
const od = disabled || o.disabled;
|
|
22950
|
+
const ro = readOnly && !od;
|
|
22824
22951
|
const first = i === 0;
|
|
22825
22952
|
const last = i === options.length - 1;
|
|
22826
22953
|
const tooltip = showTooltip && o.tooltip ? o.tooltip : void 0;
|
|
@@ -22832,7 +22959,7 @@ function SRadioButton({
|
|
|
22832
22959
|
name,
|
|
22833
22960
|
"aria-checked": selected,
|
|
22834
22961
|
disabled: od,
|
|
22835
|
-
onClick: () => !od && !selected && onValueChange?.(o.value),
|
|
22962
|
+
onClick: () => !od && !ro && !selected && onValueChange?.(o.value),
|
|
22836
22963
|
onMouseEnter: tooltip ? () => setHoveredValue(o.value) : void 0,
|
|
22837
22964
|
onMouseLeave: tooltip ? () => setHoveredValue(null) : void 0,
|
|
22838
22965
|
onFocus: tooltip ? () => setHoveredValue(o.value) : void 0,
|
|
@@ -22841,8 +22968,8 @@ function SRadioButton({
|
|
|
22841
22968
|
"relative box-border grow inline-flex items-center justify-center whitespace-nowrap border border-solid font-medium transition-colors",
|
|
22842
22969
|
first ? "" : "-ml-px",
|
|
22843
22970
|
selected ? "z-10" : "",
|
|
22844
|
-
!od && !selected && "hover:!bg-[var(--cmp-radioButton-bg-hover)] hover:!text-[color:var(--cmp-radioButton-content-hover)] hover:!border-[color:var(--cmp-radioButton-bg-hover)] hover:z-10",
|
|
22845
|
-
od ? "cursor-not-allowed" : "cursor-pointer"
|
|
22971
|
+
!od && !ro && !selected && "hover:!bg-[var(--cmp-radioButton-bg-hover)] hover:!text-[color:var(--cmp-radioButton-content-hover)] hover:!border-[color:var(--cmp-radioButton-bg-hover)] hover:z-10",
|
|
22972
|
+
od ? "cursor-not-allowed" : ro ? "cursor-default" : "cursor-pointer"
|
|
22846
22973
|
),
|
|
22847
22974
|
style: {
|
|
22848
22975
|
height: `var(--cmp-radioButton-${size}-height)`,
|
|
@@ -22855,9 +22982,9 @@ function SRadioButton({
|
|
|
22855
22982
|
last ? s.radius : "0",
|
|
22856
22983
|
first ? s.radius : "0"
|
|
22857
22984
|
].join(" "),
|
|
22858
|
-
background: od ? "var(--cmp-radioButton-bg-disabled)" : "var(--cmp-radioButton-bg-default)",
|
|
22859
|
-
borderColor: od ? "var(--cmp-radioButton-border-disabled)" : selected ? "var(--cmp-radioButton-border-select)" : "var(--cmp-radioButton-border-default)",
|
|
22860
|
-
color: od ? "var(--cmp-radioButton-content-disabled)" : selected ? "var(--cmp-radioButton-content-select)" : "var(--cmp-radioButton-content-default)"
|
|
22985
|
+
background: od ? "var(--cmp-radioButton-bg-disabled)" : ro ? "var(--cmp-radioButton-bg-readOnly)" : "var(--cmp-radioButton-bg-default)",
|
|
22986
|
+
borderColor: od ? "var(--cmp-radioButton-border-disabled)" : selected ? ro ? "var(--cmp-radioButton-border-readOnly)" : "var(--cmp-radioButton-border-select)" : "var(--cmp-radioButton-border-default)",
|
|
22987
|
+
color: od ? "var(--cmp-radioButton-content-disabled)" : selected && !ro ? "var(--cmp-radioButton-content-select)" : "var(--cmp-radioButton-content-default)"
|
|
22861
22988
|
},
|
|
22862
22989
|
children: o.label
|
|
22863
22990
|
},
|
|
@@ -28455,6 +28582,6 @@ function STimeRangePicker({
|
|
|
28455
28582
|
);
|
|
28456
28583
|
}
|
|
28457
28584
|
|
|
28458
|
-
export { ACCOUNT_LIST_BOX_ICONS, ACCOUNT_LIST_BOX_ITEM_TONES, ACCOUNT_LIST_BOX_LABELS, ACCOUNT_LIST_BOX_LAYOUT, ACCOUNT_LIST_BOX_TONE_CONFIG, BADGE_COLORS, BAR_GAP, BAR_SIZE_MAX, BAR_SIZE_MIN, BUTTON_COLORS, BUTTON_SIZES, CALENDAR_BOARD_DAY_BG, CALENDAR_BOARD_DAY_COLORS, CALENDAR_BOARD_EVENT_COLORS, CALENDAR_BOARD_EVENT_PRESETS, CALENDAR_BOARD_MAX_VISIBLE_EVENTS, CHAT_ATTACHED_FILE_CONFIG, CHAT_FILE_CONFIG, CHAT_MESSAGE_DIRECTIONS, CHAT_MESSAGE_READ_STATUSES, CHAT_MESSAGE_VARIANTS, CHIP_COLORS, COLOR_KEYS, CONTEXT_ALERT_ICON_COLOR, CONTEXT_ALERT_INTENTS, CONTEXT_ALERT_SURFACE, 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, LAUNCHER_LIST_BOX_CONSOLE_HEIGHT, LAUNCHER_LIST_BOX_CONSOLE_ICON, LAUNCHER_LIST_BOX_CONSOLE_LABEL, LAUNCHER_LIST_BOX_LAYOUT, LAUNCHER_LIST_BOX_LOGO_HEIGHT, LAUNCHER_LIST_BOX_TRAILING_ICON, LAUNCHER_LIST_BOX_WIDTH, LAUNCHER_SERVICES, LAUNCHER_SERVICE_CATALOG, LOGO_DEFAULT_SIZE, LOGO_DIRECTIONS, LOGO_MODES, LOGO_NAMES, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, PAGE_CONTENT_WIDTHS, PAGE_HEADER_VARIANTS, PAGE_PADDINGS, RangeCalendar, SAccountListBox, SActionModal, SBadge, SBarChart, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCalendarBoard, SCallout, SCard, SChatAttachedFile2 as SChatAttachedFile, SChatFile2 as SChatFile, SChatInput2 as SChatInput, SChatMessage2 as SChatMessage, SChatSystemMessage2 as SChatSystemMessage, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SContextAlert, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDonutChart, 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, SKELETON_ANIMATIONS, SKELETON_TYPES, SKELETON_TYPE_CONFIG, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLauncherListBox, SLayout, SLayoutContext, SLineChart, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoginCard2 as SLoginCard, SLogo, SMeatballButton2 as SMeatballButton, SModal, SModalOutlet, SNumberInput, SPage, SPageHeader, SPagination, SPieChart, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSkeleton, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable2 as 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, fileExtension, findGnbAncestors, findGnbRailValue, formatFileSize, isColorKey, isFieldWidthGrade, loading, normalizeExtension, resolveColor, useSLayout };
|
|
28585
|
+
export { ACCOUNT_LIST_BOX_ICONS, ACCOUNT_LIST_BOX_ITEM_TONES, ACCOUNT_LIST_BOX_LABELS, ACCOUNT_LIST_BOX_LAYOUT, ACCOUNT_LIST_BOX_TONE_CONFIG, BADGE_COLORS, BAR_GAP, BAR_SIZE_MAX, BAR_SIZE_MIN, BUTTON_COLORS, BUTTON_SIZES, CALENDAR_BOARD_DAY_BG, CALENDAR_BOARD_DAY_COLORS, CALENDAR_BOARD_EVENT_COLORS, CALENDAR_BOARD_EVENT_PRESETS, CALENDAR_BOARD_MAX_VISIBLE_EVENTS, CHAT_ATTACHED_FILE_CONFIG, CHAT_FILE_CONFIG, CHAT_MESSAGE_DIRECTIONS, CHAT_MESSAGE_READ_STATUSES, CHAT_MESSAGE_VARIANTS, CHIP_COLORS, COLOR_KEYS, CONTEXT_ALERT_ICON_COLOR, CONTEXT_ALERT_INTENTS, CONTEXT_ALERT_SURFACE, 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, LAUNCHER_LIST_BOX_CONSOLE_HEIGHT, LAUNCHER_LIST_BOX_CONSOLE_ICON, LAUNCHER_LIST_BOX_CONSOLE_LABEL, LAUNCHER_LIST_BOX_LAYOUT, LAUNCHER_LIST_BOX_LOGO_HEIGHT, LAUNCHER_LIST_BOX_TRAILING_ICON, LAUNCHER_LIST_BOX_WIDTH, LAUNCHER_SERVICES, LAUNCHER_SERVICE_CATALOG, LOGO_DEFAULT_SIZE, LOGO_DIRECTIONS, LOGO_MODES, LOGO_NAMES, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, PAGE_CONTENT_WIDTHS, PAGE_HEADER_VARIANTS, PAGE_PADDINGS, RangeCalendar, SAccountListBox, SActionModal, SBadge, SBarChart, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCalendarBoard, SCallout, SCard, SChatAttachedFile2 as SChatAttachedFile, SChatFile2 as SChatFile, SChatInput2 as SChatInput, SChatMessage2 as SChatMessage, SChatSystemMessage2 as SChatSystemMessage, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SContextAlert, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDonutChart, 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, SKELETON_ANIMATIONS, SKELETON_MODES, SKELETON_TYPES, SKELETON_TYPE_CONFIG, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLauncherListBox, SLayout, SLayoutContext, SLineChart, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoginCard2 as SLoginCard, SLogo, SMeatballButton2 as SMeatballButton, SModal, SModalOutlet, SNumberInput, SPage, SPageHeader, SPagination, SPieChart, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSkeleton, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable2 as STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, STimeline2 as STimeline, 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, fileExtension, findGnbAncestors, findGnbRailValue, formatFileSize, isColorKey, isFieldWidthGrade, loading, normalizeExtension, resolveColor, useSLayout };
|
|
28459
28586
|
//# sourceMappingURL=index.js.map
|
|
28460
28587
|
//# sourceMappingURL=index.js.map
|