@nation-a/ui 0.16.4 → 0.16.6
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/README.md +28 -0
- package/dist/index.cjs +163 -67
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +163 -67
- package/dist/index.js.map +1 -1
- package/dist/styled-system/css/conditions.mjs +1 -1
- package/dist/styled-system/css/css.mjs +1 -1
- package/dist/styled-system/styles.css +2 -0
- package/dist/styled-system/tokens/index.mjs +8 -0
- package/dist/styled-system/tokens/tokens.d.ts +3 -3
- package/dist/styled-system/types/conditions.d.ts +16 -0
- package/dist/types/components/Button/Button.test.d.ts +1 -0
- package/dist/types/components/Button/index.d.ts +1 -1
- package/dist/types/components/Text/Text.test.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/test/setup.d.ts +0 -0
- package/dist/types/theme/breakpoints.d.ts +1 -0
- package/package.json +19 -6
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ Nation-A 디자인 시스템의 UI 컴포넌트 라이브러리입니다. 모던
|
|
|
8
8
|
- **접근성 중심**: Ark UI를 활용한 접근성 준수 컴포넌트
|
|
9
9
|
- **테마 지원**: 다크모드와 라이트모드를 포함한 테마 지원
|
|
10
10
|
- **Storybook 문서화**: 모든 컴포넌트에 대한 사용 예시와 문서
|
|
11
|
+
- **테스트**: 컴포넌트 테스트를 통한 품질 보장
|
|
11
12
|
|
|
12
13
|
## 설치
|
|
13
14
|
|
|
@@ -42,6 +43,33 @@ pnpm panda
|
|
|
42
43
|
pnpm build
|
|
43
44
|
```
|
|
44
45
|
|
|
46
|
+
## 테스트
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 모든 테스트 실행
|
|
50
|
+
pnpm test
|
|
51
|
+
|
|
52
|
+
# 감시 모드로 테스트 실행
|
|
53
|
+
pnpm test:watch
|
|
54
|
+
|
|
55
|
+
# 테스트 커버리지 확인
|
|
56
|
+
pnpm test:coverage
|
|
57
|
+
|
|
58
|
+
# 새 컴포넌트를 위한 테스트 파일 생성
|
|
59
|
+
pnpm generate-tests
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 테스트 환경
|
|
63
|
+
|
|
64
|
+
테스트 환경은 다음 도구를 사용합니다:
|
|
65
|
+
|
|
66
|
+
- Vitest - 테스트 실행기
|
|
67
|
+
- React Testing Library - React 컴포넌트 테스트
|
|
68
|
+
- Happy DOM - DOM 시뮬레이션
|
|
69
|
+
- Jest DOM - DOM 매처 확장
|
|
70
|
+
|
|
71
|
+
자세한 내용은 `src/test/README.md`를 참조하세요.
|
|
72
|
+
|
|
45
73
|
## 의존성
|
|
46
74
|
|
|
47
75
|
- React 18.x
|
package/dist/index.cjs
CHANGED
|
@@ -298,7 +298,7 @@ function normalizeHTMLProps(props) {
|
|
|
298
298
|
return Object.fromEntries(Object.entries(props).map(([key, value]) => [convert(key), value]));
|
|
299
299
|
}
|
|
300
300
|
normalizeHTMLProps.keys = htmlProps;
|
|
301
|
-
const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_collapsed,_off,_on,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,base";
|
|
301
|
+
const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_collapsed,_off,_on,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,xsToSm,xsToMd,xsToLg,xsToXl,xsTo2xl,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,base";
|
|
302
302
|
const conditions$1 = new Set(conditionsStr.split(","));
|
|
303
303
|
const conditionRegex = /^@|&|&$/;
|
|
304
304
|
function isCondition(value) {
|
|
@@ -344,7 +344,7 @@ const context = {
|
|
|
344
344
|
conditions: {
|
|
345
345
|
shift: sortConditions,
|
|
346
346
|
finalize: finalizeConditions,
|
|
347
|
-
breakpoints: { keys: ["base", "sm", "md", "lg", "xl", "2xl"] }
|
|
347
|
+
breakpoints: { keys: ["base", "xs", "sm", "md", "lg", "xl", "2xl"] }
|
|
348
348
|
},
|
|
349
349
|
utility: {
|
|
350
350
|
transform: (prop, value) => {
|
|
@@ -802,7 +802,7 @@ const Spinner = React.forwardRef(({ className, size: size2, color: color2, ...pr
|
|
|
802
802
|
setLottieComponent(() => mod.default);
|
|
803
803
|
});
|
|
804
804
|
}, []);
|
|
805
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Box2, { ref, ...props, className: cx(spinnerRecipe({ size: size2 }), css$1({ color: color2 }), className), children: LottieComponent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
805
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box2, { ref, id: "spinner", ...props, className: cx(spinnerRecipe({ size: size2 }), css$1({ color: color2 }), className), children: LottieComponent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
806
806
|
LottieComponent,
|
|
807
807
|
{
|
|
808
808
|
options: {
|
|
@@ -9952,7 +9952,18 @@ const TabsRoot = React.forwardRef((props, ref) => {
|
|
|
9952
9952
|
return /* @__PURE__ */ jsxRuntime.jsx(TabsProvider, { value: tabs, children: /* @__PURE__ */ jsxRuntime.jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsxRuntime.jsx(ark.div, { ...mergedProps, ref }) }) });
|
|
9953
9953
|
});
|
|
9954
9954
|
TabsRoot.displayName = "TabsRoot";
|
|
9955
|
-
const Button = ({
|
|
9955
|
+
const Button = ({
|
|
9956
|
+
loading,
|
|
9957
|
+
disabled,
|
|
9958
|
+
loadingText,
|
|
9959
|
+
children,
|
|
9960
|
+
color: color2,
|
|
9961
|
+
variant,
|
|
9962
|
+
size: size2,
|
|
9963
|
+
radius,
|
|
9964
|
+
onClick,
|
|
9965
|
+
...rest
|
|
9966
|
+
}) => {
|
|
9956
9967
|
const StyledButton = styled(ark.button, buttonRecipe);
|
|
9957
9968
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9958
9969
|
StyledButton,
|
|
@@ -9963,6 +9974,7 @@ const Button = ({ loading, disabled, loadingText, children, color: color2, varia
|
|
|
9963
9974
|
size: size2,
|
|
9964
9975
|
radius,
|
|
9965
9976
|
css: { pointerEvents: loading ? "none" : "auto" },
|
|
9977
|
+
onClick: disabled || loading ? void 0 : onClick,
|
|
9966
9978
|
...rest,
|
|
9967
9979
|
children: loading ? loadingText || /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9968
9980
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -10196,16 +10208,16 @@ const dialogRecipe = sva({
|
|
|
10196
10208
|
}
|
|
10197
10209
|
}
|
|
10198
10210
|
});
|
|
10199
|
-
const { withRootProvider: withRootProvider$
|
|
10200
|
-
const Root$
|
|
10201
|
-
const Backdrop$1 = withContext$
|
|
10202
|
-
const Trigger$3 = withContext$
|
|
10203
|
-
const Content$4 = withContext$
|
|
10204
|
-
const Title = withContext$
|
|
10205
|
-
const Description$2 = withContext$
|
|
10206
|
-
const Positioner = withContext$
|
|
10207
|
-
const Header$1 = withContext$
|
|
10208
|
-
const Footer = withContext$
|
|
10211
|
+
const { withRootProvider: withRootProvider$4, withContext: withContext$7 } = createStyleContext(dialogRecipe);
|
|
10212
|
+
const Root$8 = withRootProvider$4(DialogRoot);
|
|
10213
|
+
const Backdrop$1 = withContext$7(DialogBackdrop, "backdrop");
|
|
10214
|
+
const Trigger$3 = withContext$7(DialogTrigger, "trigger");
|
|
10215
|
+
const Content$4 = withContext$7(DialogContent, "content");
|
|
10216
|
+
const Title = withContext$7(DialogTitle, "title");
|
|
10217
|
+
const Description$2 = withContext$7(DialogDescription, "description");
|
|
10218
|
+
const Positioner = withContext$7(DialogPositioner, "positioner");
|
|
10219
|
+
const Header$1 = withContext$7(ark.header, "header");
|
|
10220
|
+
const Footer = withContext$7(
|
|
10209
10221
|
({ orientation = "horizontal", className, ...props }) => {
|
|
10210
10222
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10211
10223
|
ark.footer,
|
|
@@ -10223,10 +10235,10 @@ const Footer = withContext$6(
|
|
|
10223
10235
|
},
|
|
10224
10236
|
"footer"
|
|
10225
10237
|
);
|
|
10226
|
-
const Body = withContext$
|
|
10227
|
-
const CloseTrigger = withContext$
|
|
10238
|
+
const Body = withContext$7(ark.main, "body");
|
|
10239
|
+
const CloseTrigger = withContext$7(DialogCloseTrigger, "closeTrigger");
|
|
10228
10240
|
const Dialog = {
|
|
10229
|
-
Root: Root$
|
|
10241
|
+
Root: Root$8,
|
|
10230
10242
|
Backdrop: Backdrop$1,
|
|
10231
10243
|
Trigger: Trigger$3,
|
|
10232
10244
|
Content: Content$4,
|
|
@@ -19365,20 +19377,20 @@ const navigationRecipe = sva({
|
|
|
19365
19377
|
}
|
|
19366
19378
|
}
|
|
19367
19379
|
});
|
|
19368
|
-
const { withRootProvider: withRootProvider$
|
|
19369
|
-
const Root$
|
|
19370
|
-
const Trigger$2 = withContext$
|
|
19380
|
+
const { withRootProvider: withRootProvider$3, withContext: withContext$6 } = createStyleContext(navigationRecipe);
|
|
19381
|
+
const Root$7 = withRootProvider$3(TabsRoot);
|
|
19382
|
+
const Trigger$2 = withContext$6(
|
|
19371
19383
|
({ icon, label, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(TabTrigger, { ...props, children: [
|
|
19372
19384
|
icon,
|
|
19373
19385
|
label
|
|
19374
19386
|
] }),
|
|
19375
19387
|
"trigger"
|
|
19376
19388
|
);
|
|
19377
|
-
const List$
|
|
19389
|
+
const List$2 = withContext$6(TabList, "list");
|
|
19378
19390
|
const Navigation = {
|
|
19379
|
-
Root: Root$
|
|
19391
|
+
Root: Root$7,
|
|
19380
19392
|
Item: Trigger$2,
|
|
19381
|
-
List: List$
|
|
19393
|
+
List: List$2
|
|
19382
19394
|
};
|
|
19383
19395
|
const tagRecipe = cva({
|
|
19384
19396
|
base: {
|
|
@@ -20142,15 +20154,15 @@ const tabsRecipe = sva({
|
|
|
20142
20154
|
shadow: false
|
|
20143
20155
|
}
|
|
20144
20156
|
});
|
|
20145
|
-
const { withRootProvider: withRootProvider$
|
|
20146
|
-
const Root$
|
|
20147
|
-
const List = withContext$
|
|
20148
|
-
const Trigger$1 = withContext$
|
|
20149
|
-
const Content$2 = withContext$
|
|
20150
|
-
const Indicator$1 = withContext$
|
|
20151
|
-
const Tabs = Object.assign(Root$
|
|
20152
|
-
Root: Root$
|
|
20153
|
-
List,
|
|
20157
|
+
const { withRootProvider: withRootProvider$2, withContext: withContext$5 } = createStyleContext(tabsRecipe);
|
|
20158
|
+
const Root$6 = withRootProvider$2(TabsRoot);
|
|
20159
|
+
const List$1 = withContext$5(TabList, "list");
|
|
20160
|
+
const Trigger$1 = withContext$5(TabTrigger, "trigger");
|
|
20161
|
+
const Content$2 = withContext$5(TabContent, "content");
|
|
20162
|
+
const Indicator$1 = withContext$5(TabIndicator, "indicator");
|
|
20163
|
+
const Tabs = Object.assign(Root$6, {
|
|
20164
|
+
Root: Root$6,
|
|
20165
|
+
List: List$1,
|
|
20154
20166
|
Trigger: Trigger$1,
|
|
20155
20167
|
Content: Content$2,
|
|
20156
20168
|
Indicator: Indicator$1
|
|
@@ -20635,13 +20647,13 @@ const toastRecipe = sva({
|
|
|
20635
20647
|
}
|
|
20636
20648
|
});
|
|
20637
20649
|
const DEFAULT_DURATION = 3e3;
|
|
20638
|
-
const Root$
|
|
20650
|
+
const Root$5 = React.forwardRef(
|
|
20639
20651
|
({ children, className, width = "fit", ...props }, ref) => {
|
|
20640
20652
|
const styles2 = toastRecipe({ width });
|
|
20641
20653
|
return /* @__PURE__ */ jsxRuntime.jsx(Box$1, { ref, className: cx(styles2.root, className), ...props, children });
|
|
20642
20654
|
}
|
|
20643
20655
|
);
|
|
20644
|
-
Root$
|
|
20656
|
+
Root$5.displayName = "Toast.Root";
|
|
20645
20657
|
const Content$1 = React.forwardRef(
|
|
20646
20658
|
({ children, className }, ref) => {
|
|
20647
20659
|
const styles2 = toastRecipe();
|
|
@@ -20687,7 +20699,7 @@ Toaster.displayName = "Toast.Toaster";
|
|
|
20687
20699
|
const Toast = React.forwardRef((props, ref) => {
|
|
20688
20700
|
return /* @__PURE__ */ jsxRuntime.jsx(Box$1, { ref, ...props });
|
|
20689
20701
|
});
|
|
20690
|
-
Toast.Root = Root$
|
|
20702
|
+
Toast.Root = Root$5;
|
|
20691
20703
|
Toast.Content = Content$1;
|
|
20692
20704
|
Toast.Description = Description$1;
|
|
20693
20705
|
Toast.Icon = Icon;
|
|
@@ -20879,27 +20891,27 @@ const selectRecipe = sva({
|
|
|
20879
20891
|
disabled: false
|
|
20880
20892
|
}
|
|
20881
20893
|
});
|
|
20882
|
-
const { withRootProvider, withContext: withContext$
|
|
20883
|
-
const Root$
|
|
20884
|
-
const Label$2 = withContext$
|
|
20885
|
-
const Trigger = withContext$
|
|
20894
|
+
const { withRootProvider: withRootProvider$1, withContext: withContext$4 } = createStyleContext(selectRecipe);
|
|
20895
|
+
const Root$4 = withRootProvider$1(withContext$4(SelectRoot, "root"));
|
|
20896
|
+
const Label$2 = withContext$4(SelectLabel, "label");
|
|
20897
|
+
const Trigger = withContext$4(({ description, ...props }) => {
|
|
20886
20898
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
20887
20899
|
/* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { ...props }),
|
|
20888
20900
|
description && /* @__PURE__ */ jsxRuntime.jsx(Description, { text: description })
|
|
20889
20901
|
] });
|
|
20890
20902
|
}, "trigger");
|
|
20891
|
-
const ValueText = withContext$
|
|
20892
|
-
const Description = withContext$
|
|
20903
|
+
const ValueText = withContext$4(SelectValueText, "valueText");
|
|
20904
|
+
const Description = withContext$4(({ className, text, ...props }) => {
|
|
20893
20905
|
return /* @__PURE__ */ jsxRuntime.jsx(Text, { className, ...props, children: text });
|
|
20894
20906
|
}, "description");
|
|
20895
|
-
const Content = withContext$
|
|
20896
|
-
const Item$
|
|
20907
|
+
const Content = withContext$4(SelectContent, "content");
|
|
20908
|
+
const Item$2 = withContext$4(SelectItem, "item");
|
|
20897
20909
|
const Select = {
|
|
20898
|
-
Root: Root$
|
|
20910
|
+
Root: Root$4,
|
|
20899
20911
|
Label: Label$2,
|
|
20900
20912
|
Trigger,
|
|
20901
20913
|
Content,
|
|
20902
|
-
Item: Item$
|
|
20914
|
+
Item: Item$2,
|
|
20903
20915
|
ValueText,
|
|
20904
20916
|
Description
|
|
20905
20917
|
};
|
|
@@ -20970,27 +20982,27 @@ const radioGroupRecipe = sva({
|
|
|
20970
20982
|
}
|
|
20971
20983
|
}
|
|
20972
20984
|
});
|
|
20973
|
-
const { withProvider: withProvider$2, withContext: withContext$
|
|
20985
|
+
const { withProvider: withProvider$2, withContext: withContext$3 } = createStyleContext(radioGroupRecipe);
|
|
20974
20986
|
withProvider$2(RadioGroupRootProvider, "root");
|
|
20975
|
-
const Root$
|
|
20976
|
-
const ItemControl = withContext$
|
|
20987
|
+
const Root$3 = withProvider$2(RadioGroupRoot, "root");
|
|
20988
|
+
const ItemControl = withContext$3(
|
|
20977
20989
|
RadioGroupItemControl,
|
|
20978
20990
|
"itemControl"
|
|
20979
20991
|
);
|
|
20980
|
-
const Item = withContext$
|
|
20992
|
+
const Item$1 = withContext$3(
|
|
20981
20993
|
RadioGroupItem$1,
|
|
20982
20994
|
"item"
|
|
20983
20995
|
);
|
|
20984
|
-
const ItemText = withContext$
|
|
20996
|
+
const ItemText = withContext$3(
|
|
20985
20997
|
RadioGroupItemText,
|
|
20986
20998
|
"itemText"
|
|
20987
20999
|
);
|
|
20988
|
-
const Label$1 = withContext$
|
|
21000
|
+
const Label$1 = withContext$3(
|
|
20989
21001
|
RadioGroupLabel,
|
|
20990
21002
|
"label"
|
|
20991
21003
|
);
|
|
20992
|
-
const RadioGroupItem = withContext$
|
|
20993
|
-
({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(Item, { ...props, children: [
|
|
21004
|
+
const RadioGroupItem = withContext$3(
|
|
21005
|
+
({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(Item$1, { ...props, children: [
|
|
20994
21006
|
/* @__PURE__ */ jsxRuntime.jsx(ItemControl, {}),
|
|
20995
21007
|
children && /* @__PURE__ */ jsxRuntime.jsx(ItemText, { children }),
|
|
20996
21008
|
/* @__PURE__ */ jsxRuntime.jsx(RadioGroupItemHiddenInput, {})
|
|
@@ -20998,7 +21010,7 @@ const RadioGroupItem = withContext$2(
|
|
|
20998
21010
|
"item"
|
|
20999
21011
|
);
|
|
21000
21012
|
const RadioGroup = {
|
|
21001
|
-
Root: Root$
|
|
21013
|
+
Root: Root$3,
|
|
21002
21014
|
Item: RadioGroupItem,
|
|
21003
21015
|
Label: Label$1,
|
|
21004
21016
|
Context: RadioGroupContext
|
|
@@ -21092,28 +21104,28 @@ const checkboxRecipe = sva({
|
|
|
21092
21104
|
variant: "square"
|
|
21093
21105
|
}
|
|
21094
21106
|
});
|
|
21095
|
-
const { withProvider: withProvider$1, withContext: withContext$
|
|
21107
|
+
const { withProvider: withProvider$1, withContext: withContext$2 } = createStyleContext(checkboxRecipe);
|
|
21096
21108
|
withProvider$1(CheckboxRootProvider, "root");
|
|
21097
|
-
const Root$
|
|
21098
|
-
const Control$1 = withContext$
|
|
21109
|
+
const Root$2 = withProvider$1(CheckboxRoot, "root");
|
|
21110
|
+
const Control$1 = withContext$2(
|
|
21099
21111
|
CheckboxControl,
|
|
21100
21112
|
"control"
|
|
21101
21113
|
);
|
|
21102
|
-
withContext$
|
|
21114
|
+
withContext$2(
|
|
21103
21115
|
CheckboxGroup,
|
|
21104
21116
|
"group"
|
|
21105
21117
|
);
|
|
21106
|
-
const Indicator = withContext$
|
|
21118
|
+
const Indicator = withContext$2(
|
|
21107
21119
|
CheckboxIndicator,
|
|
21108
21120
|
"indicator"
|
|
21109
21121
|
);
|
|
21110
|
-
const Label = withContext$
|
|
21122
|
+
const Label = withContext$2(
|
|
21111
21123
|
CheckboxLabel,
|
|
21112
21124
|
"label"
|
|
21113
21125
|
);
|
|
21114
21126
|
const Checkbox = React.forwardRef((props, ref) => {
|
|
21115
21127
|
const { children, ...rootProps } = props;
|
|
21116
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Root$
|
|
21128
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Root$2, { ref, ...rootProps, children: [
|
|
21117
21129
|
/* @__PURE__ */ jsxRuntime.jsxs(Control$1, { children: [
|
|
21118
21130
|
/* @__PURE__ */ jsxRuntime.jsx(Indicator, { children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, {}) }),
|
|
21119
21131
|
/* @__PURE__ */ jsxRuntime.jsx(Indicator, { indeterminate: true, children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {}) })
|
|
@@ -21275,23 +21287,23 @@ const switchRecipe = sva({
|
|
|
21275
21287
|
}
|
|
21276
21288
|
}
|
|
21277
21289
|
});
|
|
21278
|
-
const { withProvider, withContext } = createStyleContext(switchRecipe);
|
|
21290
|
+
const { withProvider, withContext: withContext$1 } = createStyleContext(switchRecipe);
|
|
21279
21291
|
withProvider(SwitchRootProvider, "root");
|
|
21280
|
-
const Root = withProvider(SwitchRoot, "root");
|
|
21281
|
-
const Control = withContext(
|
|
21292
|
+
const Root$1 = withProvider(SwitchRoot, "root");
|
|
21293
|
+
const Control = withContext$1(
|
|
21282
21294
|
SwitchControl,
|
|
21283
21295
|
"control"
|
|
21284
21296
|
);
|
|
21285
|
-
withContext(
|
|
21297
|
+
withContext$1(
|
|
21286
21298
|
SwitchLabel,
|
|
21287
21299
|
"label"
|
|
21288
21300
|
);
|
|
21289
|
-
const Thumb = withContext(
|
|
21301
|
+
const Thumb = withContext$1(
|
|
21290
21302
|
SwitchThumb,
|
|
21291
21303
|
"thumb"
|
|
21292
21304
|
);
|
|
21293
21305
|
const Switch = React.forwardRef((props, ref) => {
|
|
21294
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Root, { ref, ...props, children: [
|
|
21306
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Root$1, { ref, ...props, children: [
|
|
21295
21307
|
/* @__PURE__ */ jsxRuntime.jsx(Control, { children: /* @__PURE__ */ jsxRuntime.jsx(Thumb, {}) }),
|
|
21296
21308
|
/* @__PURE__ */ jsxRuntime.jsx(SwitchHiddenInput, {})
|
|
21297
21309
|
] });
|
|
@@ -21406,6 +21418,88 @@ const Fab = React.forwardRef(({ loading, disabled, children, color: color2, ...r
|
|
|
21406
21418
|
});
|
|
21407
21419
|
Fab.displayName = "Fab";
|
|
21408
21420
|
const index = React.memo(withPolymorphicComponent(Fab));
|
|
21421
|
+
const listRecipe = sva({
|
|
21422
|
+
className: "list",
|
|
21423
|
+
slots: ["item", "root"],
|
|
21424
|
+
base: {
|
|
21425
|
+
root: {
|
|
21426
|
+
display: "flex",
|
|
21427
|
+
flexDir: "column",
|
|
21428
|
+
w: "full"
|
|
21429
|
+
},
|
|
21430
|
+
item: {
|
|
21431
|
+
gap: 2,
|
|
21432
|
+
py: 2,
|
|
21433
|
+
w: "full",
|
|
21434
|
+
rounded: "sm",
|
|
21435
|
+
transition: "background-color 0.1s ease-in-out",
|
|
21436
|
+
cursor: "pointer",
|
|
21437
|
+
"& .label": {
|
|
21438
|
+
color: "content.neutral.default"
|
|
21439
|
+
},
|
|
21440
|
+
"& .sub-label": {
|
|
21441
|
+
color: "content.neutral.subtlest"
|
|
21442
|
+
},
|
|
21443
|
+
_hover: {
|
|
21444
|
+
bg: "background.neutral.selected"
|
|
21445
|
+
},
|
|
21446
|
+
_disabled: {
|
|
21447
|
+
_hover: {
|
|
21448
|
+
bg: "transparent"
|
|
21449
|
+
},
|
|
21450
|
+
"& .label": {
|
|
21451
|
+
color: "content.neutral.disabled"
|
|
21452
|
+
},
|
|
21453
|
+
"& .sub-label": {
|
|
21454
|
+
color: "content.neutral.disabled"
|
|
21455
|
+
},
|
|
21456
|
+
cursor: "not-allowed"
|
|
21457
|
+
}
|
|
21458
|
+
}
|
|
21459
|
+
},
|
|
21460
|
+
variants: {
|
|
21461
|
+
size: {
|
|
21462
|
+
sm: {
|
|
21463
|
+
item: {
|
|
21464
|
+
h: "52px"
|
|
21465
|
+
}
|
|
21466
|
+
},
|
|
21467
|
+
lg: {
|
|
21468
|
+
item: { h: "68px" }
|
|
21469
|
+
}
|
|
21470
|
+
},
|
|
21471
|
+
density: {
|
|
21472
|
+
1: { item: { px: 2 } },
|
|
21473
|
+
2: { item: { pl: 12, pr: 2 } }
|
|
21474
|
+
}
|
|
21475
|
+
},
|
|
21476
|
+
defaultVariants: {
|
|
21477
|
+
size: "sm",
|
|
21478
|
+
density: 1
|
|
21479
|
+
}
|
|
21480
|
+
});
|
|
21481
|
+
const { withRootProvider, withContext } = createStyleContext(listRecipe);
|
|
21482
|
+
const Root = withRootProvider(withContext(styled.ul, "root"));
|
|
21483
|
+
const Item = withContext(
|
|
21484
|
+
({ startAdornment, endAdornment, label, subLabel, disabled, ...rest }) => {
|
|
21485
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(HStack2, { gap: 2, justify: "space-between", as: "li", ...rest, disabled, children: [
|
|
21486
|
+
/* @__PURE__ */ jsxRuntime.jsxs(HStack2, { children: [
|
|
21487
|
+
startAdornment,
|
|
21488
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Stack2, { gap: 0, children: [
|
|
21489
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label.md", className: "label", children: label }),
|
|
21490
|
+
subLabel && /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label.sm", className: "sub-label", children: subLabel })
|
|
21491
|
+
] })
|
|
21492
|
+
] }),
|
|
21493
|
+
/* @__PURE__ */ jsxRuntime.jsx(HStack2, { children: endAdornment })
|
|
21494
|
+
] });
|
|
21495
|
+
},
|
|
21496
|
+
"item"
|
|
21497
|
+
);
|
|
21498
|
+
Item.displayName = "Item";
|
|
21499
|
+
const List = Object.assign(Root, {
|
|
21500
|
+
Root,
|
|
21501
|
+
Item
|
|
21502
|
+
});
|
|
21409
21503
|
function definePreset(preset2) {
|
|
21410
21504
|
return preset2;
|
|
21411
21505
|
}
|
|
@@ -21508,6 +21602,7 @@ const conditions = {
|
|
|
21508
21602
|
}
|
|
21509
21603
|
};
|
|
21510
21604
|
const breakpoints = {
|
|
21605
|
+
xs: "480px",
|
|
21511
21606
|
sm: "640px",
|
|
21512
21607
|
md: "768px",
|
|
21513
21608
|
lg: "1024px",
|
|
@@ -21729,6 +21824,7 @@ exports.GridItem = GridItem2;
|
|
|
21729
21824
|
exports.HStack = HStack2;
|
|
21730
21825
|
exports.IconButton = index$4;
|
|
21731
21826
|
exports.Input = index$2;
|
|
21827
|
+
exports.List = List;
|
|
21732
21828
|
exports.Navigation = Navigation;
|
|
21733
21829
|
exports.Portal = Portal;
|
|
21734
21830
|
exports.RadioGroup = RadioGroup;
|