@cocso-ui/react 0.2.10 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dropdown/Dropdown.module.css.js +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/modal/Modal.module.css.js +1 -1
- package/dist/cjs/month-picker/MonthPicker.d.ts +13 -0
- package/dist/cjs/month-picker/MonthPicker.js +104 -0
- package/dist/cjs/month-picker/MonthPicker.module.css.js +9 -0
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.d.mts +1 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/month-picker/MonthPicker.d.mts +13 -0
- package/dist/esm/month-picker/MonthPicker.mjs +102 -0
- package/dist/esm/month-picker/MonthPicker.module.css.mjs +3 -0
- package/package.json +3 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = "@keyframes Dropdown-module_dropdown-slide-up__2uVH3{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Dropdown-module_dropdown-slide-down__T5LLc{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.Dropdown-module_content__S3TRi{background-color:var(--color-
|
|
5
|
+
var css_248z = "@keyframes Dropdown-module_dropdown-slide-up__2uVH3{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Dropdown-module_dropdown-slide-down__T5LLc{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.Dropdown-module_content__S3TRi{background-color:var(--ds-color-white);border-radius:var(--ds-spacing-3);box-shadow:var(--ds-shadow-2);display:flex;flex-direction:column;will-change:transform,opacity;z-index:var(--ds-z-index-overlay)}.Dropdown-module_content__S3TRi[data-side=top]{animation:Dropdown-module_dropdown-slide-up__2uVH3 .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_content__S3TRi[data-side=bottom]{animation:Dropdown-module_dropdown-slide-down__T5LLc .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_item__MIltz{display:flex;flex-direction:column}";
|
|
6
6
|
var styles = {"content":"Dropdown-module_content__S3TRi","item":"Dropdown-module_item__MIltz"};
|
|
7
7
|
styleInject_es(css_248z);
|
|
8
8
|
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { Checkbox, CheckboxProps, CheckboxSize, CheckboxStatus } from './checkbo
|
|
|
5
5
|
export { Dropdown } from './dropdown/Dropdown.js';
|
|
6
6
|
export { Link, LinkProps, LinkSize } from './link/Link.js';
|
|
7
7
|
export { Modal } from './modal/Modal.js';
|
|
8
|
+
export { MonthPicker, MonthPickerProps } from './month-picker/MonthPicker.js';
|
|
8
9
|
export { OneTimePasswordField } from './one-time-password-field/OneTimePasswordField.js';
|
|
9
10
|
export { Pagination, PaginationProps } from './pagination/Pagination.js';
|
|
10
11
|
export { Popover } from './popover/Popover.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -7,6 +7,7 @@ var Checkbox = require('./checkbox/Checkbox.js');
|
|
|
7
7
|
var Dropdown = require('./dropdown/Dropdown.js');
|
|
8
8
|
var Link = require('./link/Link.js');
|
|
9
9
|
var Modal = require('./modal/Modal.js');
|
|
10
|
+
var MonthPicker = require('./month-picker/MonthPicker.js');
|
|
10
11
|
var OneTimePasswordField = require('./one-time-password-field/OneTimePasswordField.js');
|
|
11
12
|
var Pagination = require('./pagination/Pagination.js');
|
|
12
13
|
var Popover = require('./popover/Popover.js');
|
|
@@ -30,6 +31,7 @@ exports.Checkbox = Checkbox.Checkbox;
|
|
|
30
31
|
exports.Dropdown = Dropdown.Dropdown;
|
|
31
32
|
exports.Link = Link.Link;
|
|
32
33
|
exports.Modal = Modal.Modal;
|
|
34
|
+
exports.MonthPicker = MonthPicker.MonthPicker;
|
|
33
35
|
exports.OneTimePasswordField = OneTimePasswordField.OneTimePasswordField;
|
|
34
36
|
exports.Pagination = Pagination.Pagination;
|
|
35
37
|
exports.Popover = Popover.Popover;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = "@keyframes Modal-module_overlay-show__zyvAx{0%{opacity:0}to{opacity:1}}.Modal-module_overlay__7ZBDB{animation:Modal-module_overlay-show__zyvAx .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-black-alpha-30);inset:0;position:fixed;z-index:var(--z-index-overlay)}@keyframes Modal-module_content-show__anq3d{0%{opacity:0;transform:translate(-50%,-48%) scale(.997)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.Modal-module_content__M1b6Q{animation:Modal-module_content-show__anq3d .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border-radius:8px;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:380px;padding:var(--ds-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--z-index-modal)}.Modal-module_close__UbAF7{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--ds-spacing-10);justify-content:center;width:var(--ds-spacing-10)}.Modal-module_title__oTluo{word-break:keep-all}.Modal-module_description__RgMC5{margin-top:var(--ds-spacing-5)}";
|
|
5
|
+
var css_248z = "@keyframes Modal-module_overlay-show__zyvAx{0%{opacity:0}to{opacity:1}}.Modal-module_overlay__7ZBDB{animation:Modal-module_overlay-show__zyvAx .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-black-alpha-30);inset:0;position:fixed;z-index:var(--ds-z-index-overlay)}@keyframes Modal-module_content-show__anq3d{0%{opacity:0;transform:translate(-50%,-48%) scale(.997)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.Modal-module_content__M1b6Q{animation:Modal-module_content-show__anq3d .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border-radius:8px;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:380px;padding:var(--ds-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--ds-z-index-modal)}.Modal-module_close__UbAF7{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--ds-spacing-10);justify-content:center;width:var(--ds-spacing-10)}.Modal-module_title__oTluo{word-break:keep-all}.Modal-module_description__RgMC5{margin-top:var(--ds-spacing-5)}";
|
|
6
6
|
var styles = {"overlay":"Modal-module_overlay__7ZBDB","content":"Modal-module_content__M1b6Q","close":"Modal-module_close__UbAF7","title":"Modal-module_title__oTluo","description":"Modal-module_description__RgMC5"};
|
|
7
7
|
styleInject_es(css_248z);
|
|
8
8
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
3
|
+
|
|
4
|
+
interface MonthPickerProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
value?: Date;
|
|
6
|
+
onValueChange?: (value: Date | undefined) => void;
|
|
7
|
+
minYear?: number;
|
|
8
|
+
maxYear?: number;
|
|
9
|
+
}
|
|
10
|
+
declare const MonthPicker: react.ForwardRefExoticComponent<MonthPickerProps & react.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
|
|
12
|
+
export { MonthPicker };
|
|
13
|
+
export type { MonthPickerProps };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var reactIcons = require('@cocso-ui/react-icons');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var MonthPicker_module = require('./MonthPicker.module.css.js');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var Dropdown = require('../dropdown/Dropdown.js');
|
|
10
|
+
var Button = require('../button/Button.js');
|
|
11
|
+
var Typography = require('../typography/Typography.js');
|
|
12
|
+
|
|
13
|
+
const MONTHS = ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'];
|
|
14
|
+
const MonthPicker = /*#__PURE__*/react.forwardRef(({
|
|
15
|
+
className,
|
|
16
|
+
value,
|
|
17
|
+
onValueChange,
|
|
18
|
+
minYear = 1900,
|
|
19
|
+
maxYear = 2100,
|
|
20
|
+
children,
|
|
21
|
+
...props
|
|
22
|
+
}, ref) => {
|
|
23
|
+
const [open, setOpen] = react.useState(false);
|
|
24
|
+
const [displayYear, setDisplayYear] = react.useState(value?.getFullYear() ?? new Date().getFullYear());
|
|
25
|
+
const handleMonthSelect = month => {
|
|
26
|
+
const newValue = new Date(displayYear, month - 1, 1);
|
|
27
|
+
onValueChange?.(newValue);
|
|
28
|
+
setOpen(false);
|
|
29
|
+
};
|
|
30
|
+
const handleYearChange = year => {
|
|
31
|
+
const clampedYear = Math.max(minYear, Math.min(maxYear, year));
|
|
32
|
+
setDisplayYear(clampedYear);
|
|
33
|
+
};
|
|
34
|
+
const handleOpenChange = isOpen => {
|
|
35
|
+
if (isOpen) {
|
|
36
|
+
setDisplayYear(value?.getFullYear() ?? new Date().getFullYear());
|
|
37
|
+
}
|
|
38
|
+
setOpen(isOpen);
|
|
39
|
+
};
|
|
40
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
41
|
+
ref: ref,
|
|
42
|
+
className: clsx.clsx(MonthPicker_module.root, className),
|
|
43
|
+
...props,
|
|
44
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(Dropdown.Dropdown, {
|
|
45
|
+
open: open,
|
|
46
|
+
onOpenChange: handleOpenChange,
|
|
47
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Dropdown.Dropdown.Trigger, {
|
|
48
|
+
asChild: true,
|
|
49
|
+
children: children
|
|
50
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Dropdown.Dropdown.Portal, {
|
|
51
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(Dropdown.Dropdown.Content, {
|
|
52
|
+
className: MonthPicker_module.content,
|
|
53
|
+
role: "listbox",
|
|
54
|
+
"aria-label": "\uC6D4 \uC120\uD0DD",
|
|
55
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
56
|
+
className: MonthPicker_module.header,
|
|
57
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Button.Button, {
|
|
58
|
+
type: "button",
|
|
59
|
+
size: "xs",
|
|
60
|
+
variant: "secondary",
|
|
61
|
+
onClick: () => handleYearChange(displayYear - 1),
|
|
62
|
+
disabled: displayYear <= minYear,
|
|
63
|
+
svgOnly: true,
|
|
64
|
+
"aria-label": "\uC774\uC804 \uB144\uB3C4",
|
|
65
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactIcons.ArrowIOSForwardIcon, {
|
|
66
|
+
className: MonthPicker_module.rotate
|
|
67
|
+
})
|
|
68
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Typography.Typography, {
|
|
69
|
+
type: "body",
|
|
70
|
+
weight: "semibold",
|
|
71
|
+
children: [displayYear, "\uB144"]
|
|
72
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
|
|
73
|
+
type: "button",
|
|
74
|
+
size: "xs",
|
|
75
|
+
variant: "secondary",
|
|
76
|
+
onClick: () => handleYearChange(displayYear + 1),
|
|
77
|
+
disabled: displayYear >= maxYear,
|
|
78
|
+
"aria-label": "\uB2E4\uC74C \uB144\uB3C4",
|
|
79
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactIcons.ArrowIOSForwardIcon, {})
|
|
80
|
+
})]
|
|
81
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
82
|
+
className: MonthPicker_module.grid,
|
|
83
|
+
children: MONTHS.map((month, index) => {
|
|
84
|
+
const monthNumber = index + 1;
|
|
85
|
+
const isSelected = value?.getFullYear() === displayYear && value?.getMonth() === monthNumber - 1;
|
|
86
|
+
return /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
|
|
87
|
+
type: "button",
|
|
88
|
+
variant: isSelected ? 'tertiary' : 'secondary',
|
|
89
|
+
onClick: () => handleMonthSelect(monthNumber),
|
|
90
|
+
role: "option",
|
|
91
|
+
"aria-selected": isSelected,
|
|
92
|
+
"aria-label": `${month} 선택`,
|
|
93
|
+
children: month
|
|
94
|
+
}, month);
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
})]
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
MonthPicker.displayName = 'MonthPicker';
|
|
103
|
+
|
|
104
|
+
exports.MonthPicker = MonthPicker;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styleInject_es = require('../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
|
|
4
|
+
|
|
5
|
+
var css_248z = ".MonthPicker-module_root__my2Kl{display:inline-block;transform:translateZ(0)}.MonthPicker-module_content__6glhz{gap:var(--ds-spacing-8);min-width:280px;padding:var(--ds-spacing-8)}.MonthPicker-module_header__7QguI{align-items:center;display:flex;justify-content:space-between}.MonthPicker-module_rotate__Y0yed{transform:rotate(180deg)}.MonthPicker-module_grid__kkn0v{border:none;display:grid;gap:var(--ds-spacing-5);grid-template-columns:repeat(3,1fr)}";
|
|
6
|
+
var styles = {"root":"MonthPicker-module_root__my2Kl","content":"MonthPicker-module_content__6glhz","header":"MonthPicker-module_header__7QguI","rotate":"MonthPicker-module_rotate__Y0yed","grid":"MonthPicker-module_grid__kkn0v"};
|
|
7
|
+
styleInject_es(css_248z);
|
|
8
|
+
|
|
9
|
+
module.exports = styles;
|
package/dist/esm/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.Accordion-module_content__V9Ftc,.Accordion-module_item__iE3dq{overflow:hidden}.Accordion-module_content__V9Ftc[data-state=open]{animation:Accordion-module_slide-down__88c3a .3s cubic-bezier(.87,0,.13,1)}.Accordion-module_content__V9Ftc[data-state=closed]{animation:Accordion-module_slide-up__hbYw7 .3s cubic-bezier(.87,0,.13,1)}.Accordion-module_trigger__6nu7o{cursor:pointer;display:flex;justify-content:space-between;width:100%}.Accordion-module_chevron__oFGVg{display:inline-block;height:var(--ds-spacing-10);transition:transform .2s ease-in-out;width:var(--ds-spacing-10)}.Accordion-module_trigger__6nu7o[data-state=closed]>.Accordion-module_chevron__oFGVg{transform:rotate(0deg)}.Accordion-module_trigger__6nu7o[data-state=open]>.Accordion-module_chevron__oFGVg{transform:rotate(180deg)}@keyframes Accordion-module_slide-up__hbYw7{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes Accordion-module_slide-down__88c3a{0%{height:0}to{height:var(--radix-accordion-content-height)}}.Typography-module_typography__45lnt{--cocso-typography-font-color:inherit;--cocso-typography-font-size:inherit;--cocso-typography-font-weight:inherit;--cocso-typography-line-height:inherit;color:var(--cocso-typography-font-color);font-size:var(--cocso-typography-font-size);font-weight:var(--cocso-typography-font-weight);line-height:var(--cocso-typography-line-height)}.Typography-module_typography__45lnt[aria-disabled=true]{cursor:not-allowed;opacity:.4}@media (min-width:768px){.Typography-module_typography__45lnt{font-size:var(--cocso-tablet-typography-font-size,var(--cocso-typography-font-size))}}@media (min-width:1024px){.Typography-module_typography__45lnt{font-size:var(--cocso-desktop-typography-font-size,var(--cocso-tablet-typography-font-size,var(--cocso-typography-font-size)))}}.Badge-module_badge__ikDSa{--cocso-badge-padding:inherit;--cocso-badge-border-radius:inherit;--cocso-badge-bg-color:inherit;background-color:var(--cocso-badge-bg-color);border-radius:var(--cocso-badge-border-radius);display:inline-flex;padding:var(--cocso-badge-padding);user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}@keyframes Spinner-module_donut-spin__cBa-F{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Spinner-module_spinner__iIx6p{--cocso-spinner-size:inherit;--cocso-spinner-border-width:inherit;--cocso-spinner-border-color:inherit;--cocso-spinner-bg-color:inherit;animation:Spinner-module_donut-spin__cBa-F .5s linear infinite;border:var(--cocso-spinner-border-width) solid var(--cocso-spinner-bg-color);border-radius:50%;border-top-color:var(--cocso-spinner-border-color);display:inline-block;height:var(--cocso-spinner-size);position:relative;transform-origin:center center;width:var(--cocso-spinner-size)}.Button-module_button__eiKKZ{--cocso-button-height:inherit;--cocso-button-padding-inline:inherit;--cocso-button-content-padding:inherit;--cocso-button-font-color:inherit;--cocso-button-font-size:inherit;--cocso-button-font-weight:inherit;--cocso-button-border:inherit;--cocso-button-border-radius:inherit;--cocso-button-bg-color:inherit;align-items:center;background-color:var(--cocso-button-bg-color);border:var(--cocso-button-border);border-radius:var(--cocso-button-border-radius);color:var(--cocso-button-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-button-font-size);font-weight:var(--cocso-button-font-weight);height:var(--cocso-button-height);justify-content:center;opacity:1;padding-inline:var(--cocso-button-padding-inline);position:relative;transform:translateZ(0);transition:background-color .15s ease-in-out}.Button-module_button__eiKKZ:not(.Button-module_disabled__M6r1w):hover{--cocso-button-bg-color-hover:inherit;background-color:var(--cocso-button-bg-color-hover)}.Button-module_button__eiKKZ:not(.Button-module_disabled__M6r1w):active{--cocso-button-bg-color-active:inherit;background-color:var(--cocso-button-bg-color-active)}.Button-module_content__SVjwi{padding:var(--cocso-button-content-padding)}.Button-module_prefix__d7ljt{margin-right:2px}.Button-module_prefix__d7ljt,.Button-module_suffix__9oysT{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.Button-module_suffix__9oysT{margin-left:2px}.Button-module_disabled__M6r1w{cursor:not-allowed;opacity:.4}.Button-module_svgOnly__8RcZ7{aspect-ratio:1/1;padding:0}.Checkbox-module_wrapper__5uqJp{align-items:center;display:flex;gap:var(--ds-spacing-5)}.Checkbox-module_checkbox__05Z5t{--cocso-checkbox-size:inherit;--cocso-checkbox-color:inherit;--cocso-checkbox-border-color:inherit;--cocso-checkbox-bg-color:inherit;align-items:center;background-color:var(--cocso-checkbox-bg-color);border:1px solid var(--cocso-checkbox-border-color);border-radius:4px;color:var(--cocso-checkbox-color);cursor:pointer;display:inline-flex;height:var(--cocso-checkbox-size);justify-content:center;opacity:1;position:relative;transition:color .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out;width:var(--cocso-checkbox-size)}.Checkbox-module_checkbox__05Z5t>svg{stroke:var(--cocso-checkbox-color);display:block;height:auto;max-width:100%;transition:stroke .15s ease-in-out}.Checkbox-module_checkbox__05Z5t input[type=checkbox]{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.Checkbox-module_indicator__MLpNt{bottom:var(--number-1);left:var(--number-1);position:absolute;right:var(--number-1);top:var(--number-1);transition:opacity .15s ease-in-out}.Checkbox-module_label__ubb5U{cursor:pointer;opacity:1}.Checkbox-module_checkbox__05Z5t[disabled],.Checkbox-module_label__ubb5U[aria-disabled=true]{cursor:not-allowed;opacity:.5}@keyframes Dropdown-module_dropdown-slide-up__2uVH3{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Dropdown-module_dropdown-slide-down__T5LLc{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.Dropdown-module_content__S3TRi{background-color:var(--color-background-white);border-radius:var(--ds-spacing-3);box-shadow:var(--shadow-1);display:flex;flex-direction:column;will-change:transform,opacity;z-index:var(--z-index-overlay)}.Dropdown-module_content__S3TRi[data-side=top]{animation:Dropdown-module_dropdown-slide-up__2uVH3 .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_content__S3TRi[data-side=bottom]{animation:Dropdown-module_dropdown-slide-down__T5LLc .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_item__MIltz{display:flex;flex-direction:column}.Link-module_link__J9CFb{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ds-spacing-2);justify-content:center;text-decoration:none;transition:color .15s ease-in-out;width:fit-content}.Link-module_link__J9CFb>svg{flex-shrink:0;height:var(--ds-spacing-8);width:var(--ds-spacing-8)}.Link-module_indicator__DIUaW{text-decoration:underline}@keyframes Modal-module_overlay-show__zyvAx{0%{opacity:0}to{opacity:1}}.Modal-module_overlay__7ZBDB{animation:Modal-module_overlay-show__zyvAx .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-black-alpha-30);inset:0;position:fixed;z-index:var(--z-index-overlay)}@keyframes Modal-module_content-show__anq3d{0%{opacity:0;transform:translate(-50%,-48%) scale(.997)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.Modal-module_content__M1b6Q{animation:Modal-module_content-show__anq3d .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border-radius:8px;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:380px;padding:var(--ds-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--z-index-modal)}.Modal-module_close__UbAF7{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--ds-spacing-10);justify-content:center;width:var(--ds-spacing-10)}.Modal-module_title__oTluo{word-break:keep-all}.Modal-module_description__RgMC5{margin-top:var(--ds-spacing-5)}.OneTimePasswordField-module_otp__zoWO7{align-items:center;display:flex;gap:var(--ds-spacing-5)}.OneTimePasswordField-module_input__owV9H{align-items:center;background-color:var(--ds-color-neutral-50);border:none;border-radius:var(--ds-spacing-2);box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-50);color:var(--ds-color-neutral-950);display:inline-flex;flex:1;font-size:16px;font-weight:500;height:100%;justify-content:center;line-height:1;outline:none;text-align:center;text-transform:uppercase;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.OneTimePasswordField-module_input__owV9H:focus,.OneTimePasswordField-module_input__owV9H:hover{box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-200)}.OneTimePasswordField-module_input__owV9H::selection{background-color:var(--ds-color-neutral-400)}.Pagination-module_pagination__viYLy{align-items:center;display:flex;gap:var(--ds-spacing-2);justify-content:center;margin-inline:auto}.Pagination-module_arrow__YYkob,.Pagination-module_item__uVIra{--cocso-pagination-font-color:var(--ds-color-text-primary);--cocso-pagination-font-weight:inherit;--cocso-pagination-bg-color:inherit;align-items:center;background-color:var(--cocso-pagination-bg-color);border-radius:var(--ds-spacing-5);color:var(--cocso-pagination-font-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--cocso-pagination-font-weight);height:var(--ds-spacing-12);justify-content:center;transition:background-color .15s ease-in-out;width:var(--ds-spacing-12)}.Pagination-module_arrow__YYkob:disabled{cursor:not-allowed;opacity:.4}.Pagination-module_arrow__YYkob:not([disabled]):hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_arrow__YYkob:not([disabled]):active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_arrow__YYkob>svg{flex-shrink:0;height:var(--ds-spacing-8);width:var(--ds-spacing-8)}.Pagination-module_item__uVIra[data-active=true]{--cocso-pagination-font-color:var(--ds-color-white);--cocso-pagination-bg-color:var(--ds-color-primary-500);--cocso-pagination-font-weight:600}.Pagination-module_item__uVIra[data-active=false]:hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_item__uVIra[data-active=false]:active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_trunc__-ZgYQ{align-items:center;color:var(--ds-color-text-primary);display:inline-flex;font-size:16px;height:var(--ds-spacing-13);justify-content:center;width:var(--ds-spacing-13)}@keyframes Popover-module_slide-up-and-fade__adQar{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-right-and-fade__br3DV{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes Popover-module_slide-down-and-fade__Lkl4N{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-left-and-fade__yHinG{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.Popover-module_content__ry9PF{animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border:1px solid var(--ds-color-neutral-100);border-radius:var(--ds-spacing-4);box-shadow:var(--ds-shadow-2);padding-block:var(--ds-spacing-6);padding-inline:var(--ds-spacing-8);will-change:transform,opacity}.Popover-module_content__ry9PF[data-state=open][data-side=top]{animation-name:Popover-module_slide-down-and-fade__Lkl4N}.Popover-module_content__ry9PF[data-state=open][data-side=right]{animation-name:Popover-module_slide-left-and-fade__yHinG}.Popover-module_content__ry9PF[data-state=open][data-side=bottom]{animation-name:Popover-module_slide-up-and-fade__adQar}.Popover-module_content__ry9PF[data-state=open][data-side=left]{animation-name:Popover-module_slide-right-and-fade__br3DV}.Select-module_wrapper__4k8By{cursor:pointer;position:relative;width:fit-content}.Select-module_wrapper__4k8By.Select-module_stretch__2KlaW,.Select-module_wrapper__4k8By.Select-module_stretch__2KlaW .Select-module_select__MUUdH{width:100%}.Select-module_select__MUUdH{--cocso-select-min-width:inherit;--cocso-select-height:inherit;--cocso-select-padding-left:inherit;--cocso-select-padding-right:inherit;--cocso-select-font-size:inherit;--cocso-select-border-radius:inherit;--cocso-select-bg-color:var(--ds-color-white);appearance:none;-o-appearance:none;-moz-appearance:none;-webkit-appearance:none;background-color:var(--cocso-select-bg-color);border:1px solid var(--ds-color-neutral-100);border-radius:var(--cocso-select-border-radius);color:var(--ds-color-neutral-950);font-size:var(--cocso-select-font-size);height:var(--cocso-select-height);min-width:var(--cocso-select-min-width);padding-left:var(--cocso-select-padding-left);padding-right:var(--cocso-select-padding-right)}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG{cursor:not-allowed}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG .Select-module_select__MUUdH{cursor:not-allowed;opacity:.4}.Select-module_icon__EuBJI{color:var(--ds-color-neutral-500);pointer-events:none;position:absolute;right:var(--ds-spacing-5);top:50%;transform:translateY(-50%)}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG .Select-module_icon__EuBJI{cursor:not-allowed;opacity:.4}.StockQuantityStatus-module_stock__mWbqI{--cocso-stock-quantity-status-color:inherit;align-items:center;color:var(--cocso-stock-quantity-status-color);display:inline-flex;gap:var(--ds-spacing-2)}.StockQuantityStatus-module_indicator__inaKv{--cocso-stock-quantity-status-indicator-width:inherit;flex-shrink:0;height:auto;width:var(--cocso-stock-quantity-status-indicator-width)}.StockQuantityStatus-module_indicator__inaKv>svg{height:100%;width:100%}.Switch-module_wrapper__qcI9-{align-items:center;display:flex;gap:var(--ds-spacing-5)}.Switch-module_wrapper__qcI9-[aria-disabled=true]{cursor:not-allowed;opacity:.4}.Switch-module_switch__pwmft{--cocso-switch-width:inherit;--cocso-switch-height:inherit;--cocso-switch-bg-color:inherit;background-color:var(--cocso-switch-bg-color);border-radius:var(--ds-spacing-max);cursor:pointer;height:var(--cocso-switch-height);opacity:1;position:relative;width:var(--cocso-switch-width)}.Switch-module_switch__pwmft[data-disabled=true],.Switch-module_switch__pwmft[disabled]{cursor:not-allowed;opacity:.4}.Switch-module_switch__pwmft[data-state=checked]{--cocso-switch-bg-color:var(--ds-color-primary-500)}.Switch-module_thumb__pQGDy{--cocso-switch-thumb-width:inherit;--cocso-switch-thumb-height:inherit;background-color:var(--ds-color-white);border-radius:var(--ds-spacing-max);display:block;height:var(--cocso-switch-thumb-width);transform:translateX(var(--ds-spacing-2));transition:transform .15s ease;width:var(--cocso-switch-thumb-width);will-change:transform}.Switch-module_thumb__pQGDy[data-state=checked]{transform:translateX(calc(var(--cocso-switch-width) - var(--cocso-switch-thumb-width) - var(--ds-spacing-2)))}
|
|
1
|
+
.Accordion-module_content__V9Ftc,.Accordion-module_item__iE3dq{overflow:hidden}.Accordion-module_content__V9Ftc[data-state=open]{animation:Accordion-module_slide-down__88c3a .3s cubic-bezier(.87,0,.13,1)}.Accordion-module_content__V9Ftc[data-state=closed]{animation:Accordion-module_slide-up__hbYw7 .3s cubic-bezier(.87,0,.13,1)}.Accordion-module_trigger__6nu7o{cursor:pointer;display:flex;justify-content:space-between;width:100%}.Accordion-module_chevron__oFGVg{display:inline-block;height:var(--ds-spacing-10);transition:transform .2s ease-in-out;width:var(--ds-spacing-10)}.Accordion-module_trigger__6nu7o[data-state=closed]>.Accordion-module_chevron__oFGVg{transform:rotate(0deg)}.Accordion-module_trigger__6nu7o[data-state=open]>.Accordion-module_chevron__oFGVg{transform:rotate(180deg)}@keyframes Accordion-module_slide-up__hbYw7{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes Accordion-module_slide-down__88c3a{0%{height:0}to{height:var(--radix-accordion-content-height)}}.Typography-module_typography__45lnt{--cocso-typography-font-color:inherit;--cocso-typography-font-size:inherit;--cocso-typography-font-weight:inherit;--cocso-typography-line-height:inherit;color:var(--cocso-typography-font-color);font-size:var(--cocso-typography-font-size);font-weight:var(--cocso-typography-font-weight);line-height:var(--cocso-typography-line-height)}.Typography-module_typography__45lnt[aria-disabled=true]{cursor:not-allowed;opacity:.4}@media (min-width:768px){.Typography-module_typography__45lnt{font-size:var(--cocso-tablet-typography-font-size,var(--cocso-typography-font-size))}}@media (min-width:1024px){.Typography-module_typography__45lnt{font-size:var(--cocso-desktop-typography-font-size,var(--cocso-tablet-typography-font-size,var(--cocso-typography-font-size)))}}.Badge-module_badge__ikDSa{--cocso-badge-padding:inherit;--cocso-badge-border-radius:inherit;--cocso-badge-bg-color:inherit;background-color:var(--cocso-badge-bg-color);border-radius:var(--cocso-badge-border-radius);display:inline-flex;padding:var(--cocso-badge-padding);user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}@keyframes Spinner-module_donut-spin__cBa-F{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Spinner-module_spinner__iIx6p{--cocso-spinner-size:inherit;--cocso-spinner-border-width:inherit;--cocso-spinner-border-color:inherit;--cocso-spinner-bg-color:inherit;animation:Spinner-module_donut-spin__cBa-F .5s linear infinite;border:var(--cocso-spinner-border-width) solid var(--cocso-spinner-bg-color);border-radius:50%;border-top-color:var(--cocso-spinner-border-color);display:inline-block;height:var(--cocso-spinner-size);position:relative;transform-origin:center center;width:var(--cocso-spinner-size)}.Button-module_button__eiKKZ{--cocso-button-height:inherit;--cocso-button-padding-inline:inherit;--cocso-button-content-padding:inherit;--cocso-button-font-color:inherit;--cocso-button-font-size:inherit;--cocso-button-font-weight:inherit;--cocso-button-border:inherit;--cocso-button-border-radius:inherit;--cocso-button-bg-color:inherit;align-items:center;background-color:var(--cocso-button-bg-color);border:var(--cocso-button-border);border-radius:var(--cocso-button-border-radius);color:var(--cocso-button-font-color);cursor:pointer;display:inline-flex;font-size:var(--cocso-button-font-size);font-weight:var(--cocso-button-font-weight);height:var(--cocso-button-height);justify-content:center;opacity:1;padding-inline:var(--cocso-button-padding-inline);position:relative;transform:translateZ(0);transition:background-color .15s ease-in-out}.Button-module_button__eiKKZ:not(.Button-module_disabled__M6r1w):hover{--cocso-button-bg-color-hover:inherit;background-color:var(--cocso-button-bg-color-hover)}.Button-module_button__eiKKZ:not(.Button-module_disabled__M6r1w):active{--cocso-button-bg-color-active:inherit;background-color:var(--cocso-button-bg-color-active)}.Button-module_content__SVjwi{padding:var(--cocso-button-content-padding)}.Button-module_prefix__d7ljt{margin-right:2px}.Button-module_prefix__d7ljt,.Button-module_suffix__9oysT{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.Button-module_suffix__9oysT{margin-left:2px}.Button-module_disabled__M6r1w{cursor:not-allowed;opacity:.4}.Button-module_svgOnly__8RcZ7{aspect-ratio:1/1;padding:0}.Checkbox-module_wrapper__5uqJp{align-items:center;display:flex;gap:var(--ds-spacing-5)}.Checkbox-module_checkbox__05Z5t{--cocso-checkbox-size:inherit;--cocso-checkbox-color:inherit;--cocso-checkbox-border-color:inherit;--cocso-checkbox-bg-color:inherit;align-items:center;background-color:var(--cocso-checkbox-bg-color);border:1px solid var(--cocso-checkbox-border-color);border-radius:4px;color:var(--cocso-checkbox-color);cursor:pointer;display:inline-flex;height:var(--cocso-checkbox-size);justify-content:center;opacity:1;position:relative;transition:color .15s ease-in-out,border-color .15s ease-in-out,background-color .15s ease-in-out;width:var(--cocso-checkbox-size)}.Checkbox-module_checkbox__05Z5t>svg{stroke:var(--cocso-checkbox-color);display:block;height:auto;max-width:100%;transition:stroke .15s ease-in-out}.Checkbox-module_checkbox__05Z5t input[type=checkbox]{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.Checkbox-module_indicator__MLpNt{bottom:var(--number-1);left:var(--number-1);position:absolute;right:var(--number-1);top:var(--number-1);transition:opacity .15s ease-in-out}.Checkbox-module_label__ubb5U{cursor:pointer;opacity:1}.Checkbox-module_checkbox__05Z5t[disabled],.Checkbox-module_label__ubb5U[aria-disabled=true]{cursor:not-allowed;opacity:.5}@keyframes Dropdown-module_dropdown-slide-up__2uVH3{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Dropdown-module_dropdown-slide-down__T5LLc{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.Dropdown-module_content__S3TRi{background-color:var(--ds-color-white);border-radius:var(--ds-spacing-3);box-shadow:var(--ds-shadow-2);display:flex;flex-direction:column;will-change:transform,opacity;z-index:var(--ds-z-index-overlay)}.Dropdown-module_content__S3TRi[data-side=top]{animation:Dropdown-module_dropdown-slide-up__2uVH3 .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_content__S3TRi[data-side=bottom]{animation:Dropdown-module_dropdown-slide-down__T5LLc .4s cubic-bezier(.16,1,.3,1)}.Dropdown-module_item__MIltz{display:flex;flex-direction:column}.Link-module_link__J9CFb{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ds-spacing-2);justify-content:center;text-decoration:none;transition:color .15s ease-in-out;width:fit-content}.Link-module_link__J9CFb>svg{flex-shrink:0;height:var(--ds-spacing-8);width:var(--ds-spacing-8)}.Link-module_indicator__DIUaW{text-decoration:underline}@keyframes Modal-module_overlay-show__zyvAx{0%{opacity:0}to{opacity:1}}.Modal-module_overlay__7ZBDB{animation:Modal-module_overlay-show__zyvAx .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-black-alpha-30);inset:0;position:fixed;z-index:var(--ds-z-index-overlay)}@keyframes Modal-module_content-show__anq3d{0%{opacity:0;transform:translate(-50%,-48%) scale(.997)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.Modal-module_content__M1b6Q{animation:Modal-module_content-show__anq3d .15s cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border-radius:8px;display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:380px;padding:var(--ds-spacing-9);position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:var(--ds-z-index-modal)}.Modal-module_close__UbAF7{align-items:center;align-self:flex-end;cursor:pointer;display:flex;height:var(--ds-spacing-10);justify-content:center;width:var(--ds-spacing-10)}.Modal-module_title__oTluo{word-break:keep-all}.Modal-module_description__RgMC5{margin-top:var(--ds-spacing-5)}.MonthPicker-module_root__my2Kl{display:inline-block;transform:translateZ(0)}.MonthPicker-module_content__6glhz{gap:var(--ds-spacing-8);min-width:280px;padding:var(--ds-spacing-8)}.MonthPicker-module_header__7QguI{align-items:center;display:flex;justify-content:space-between}.MonthPicker-module_rotate__Y0yed{transform:rotate(180deg)}.MonthPicker-module_grid__kkn0v{border:none;display:grid;gap:var(--ds-spacing-5);grid-template-columns:repeat(3,1fr)}.OneTimePasswordField-module_otp__zoWO7{align-items:center;display:flex;gap:var(--ds-spacing-5)}.OneTimePasswordField-module_input__owV9H{align-items:center;background-color:var(--ds-color-neutral-50);border:none;border-radius:var(--ds-spacing-2);box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-50);color:var(--ds-color-neutral-950);display:inline-flex;flex:1;font-size:16px;font-weight:500;height:100%;justify-content:center;line-height:1;outline:none;text-align:center;text-transform:uppercase;transition:background-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.OneTimePasswordField-module_input__owV9H:focus,.OneTimePasswordField-module_input__owV9H:hover{box-shadow:0 0 0 var(--ds-spacing-1,1px) var(--ds-color-neutral-200)}.OneTimePasswordField-module_input__owV9H::selection{background-color:var(--ds-color-neutral-400)}.Pagination-module_pagination__viYLy{align-items:center;display:flex;gap:var(--ds-spacing-2);justify-content:center;margin-inline:auto}.Pagination-module_arrow__YYkob,.Pagination-module_item__uVIra{--cocso-pagination-font-color:var(--ds-color-text-primary);--cocso-pagination-font-weight:inherit;--cocso-pagination-bg-color:inherit;align-items:center;background-color:var(--cocso-pagination-bg-color);border-radius:var(--ds-spacing-5);color:var(--cocso-pagination-font-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:var(--cocso-pagination-font-weight);height:var(--ds-spacing-12);justify-content:center;transition:background-color .15s ease-in-out;width:var(--ds-spacing-12)}.Pagination-module_arrow__YYkob:disabled{cursor:not-allowed;opacity:.4}.Pagination-module_arrow__YYkob:not([disabled]):hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_arrow__YYkob:not([disabled]):active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_arrow__YYkob>svg{flex-shrink:0;height:var(--ds-spacing-8);width:var(--ds-spacing-8)}.Pagination-module_item__uVIra[data-active=true]{--cocso-pagination-font-color:var(--ds-color-white);--cocso-pagination-bg-color:var(--ds-color-primary-500);--cocso-pagination-font-weight:600}.Pagination-module_item__uVIra[data-active=false]:hover{--cocso-pagination-bg-color:var(--ds-color-neutral-50)}.Pagination-module_item__uVIra[data-active=false]:active{--cocso-pagination-bg-color:var(--ds-color-neutral-100)}.Pagination-module_trunc__-ZgYQ{align-items:center;color:var(--ds-color-text-primary);display:inline-flex;font-size:16px;height:var(--ds-spacing-13);justify-content:center;width:var(--ds-spacing-13)}@keyframes Popover-module_slide-up-and-fade__adQar{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-right-and-fade__br3DV{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes Popover-module_slide-down-and-fade__Lkl4N{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes Popover-module_slide-left-and-fade__yHinG{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.Popover-module_content__ry9PF{animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);background-color:var(--ds-color-white);border:1px solid var(--ds-color-neutral-100);border-radius:var(--ds-spacing-4);box-shadow:var(--ds-shadow-2);padding-block:var(--ds-spacing-6);padding-inline:var(--ds-spacing-8);will-change:transform,opacity}.Popover-module_content__ry9PF[data-state=open][data-side=top]{animation-name:Popover-module_slide-down-and-fade__Lkl4N}.Popover-module_content__ry9PF[data-state=open][data-side=right]{animation-name:Popover-module_slide-left-and-fade__yHinG}.Popover-module_content__ry9PF[data-state=open][data-side=bottom]{animation-name:Popover-module_slide-up-and-fade__adQar}.Popover-module_content__ry9PF[data-state=open][data-side=left]{animation-name:Popover-module_slide-right-and-fade__br3DV}.Select-module_wrapper__4k8By{cursor:pointer;position:relative;width:fit-content}.Select-module_wrapper__4k8By.Select-module_stretch__2KlaW,.Select-module_wrapper__4k8By.Select-module_stretch__2KlaW .Select-module_select__MUUdH{width:100%}.Select-module_select__MUUdH{--cocso-select-min-width:inherit;--cocso-select-height:inherit;--cocso-select-padding-left:inherit;--cocso-select-padding-right:inherit;--cocso-select-font-size:inherit;--cocso-select-border-radius:inherit;--cocso-select-bg-color:var(--ds-color-white);appearance:none;-o-appearance:none;-moz-appearance:none;-webkit-appearance:none;background-color:var(--cocso-select-bg-color);border:1px solid var(--ds-color-neutral-100);border-radius:var(--cocso-select-border-radius);color:var(--ds-color-neutral-950);font-size:var(--cocso-select-font-size);height:var(--cocso-select-height);min-width:var(--cocso-select-min-width);padding-left:var(--cocso-select-padding-left);padding-right:var(--cocso-select-padding-right)}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG{cursor:not-allowed}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG .Select-module_select__MUUdH{cursor:not-allowed;opacity:.4}.Select-module_icon__EuBJI{color:var(--ds-color-neutral-500);pointer-events:none;position:absolute;right:var(--ds-spacing-5);top:50%;transform:translateY(-50%)}.Select-module_wrapper__4k8By.Select-module_disabled__JO7OG .Select-module_icon__EuBJI{cursor:not-allowed;opacity:.4}.StockQuantityStatus-module_stock__mWbqI{--cocso-stock-quantity-status-color:inherit;align-items:center;color:var(--cocso-stock-quantity-status-color);display:inline-flex;gap:var(--ds-spacing-2)}.StockQuantityStatus-module_indicator__inaKv{--cocso-stock-quantity-status-indicator-width:inherit;flex-shrink:0;height:auto;width:var(--cocso-stock-quantity-status-indicator-width)}.StockQuantityStatus-module_indicator__inaKv>svg{height:100%;width:100%}.Switch-module_wrapper__qcI9-{align-items:center;display:flex;gap:var(--ds-spacing-5)}.Switch-module_wrapper__qcI9-[aria-disabled=true]{cursor:not-allowed;opacity:.4}.Switch-module_switch__pwmft{--cocso-switch-width:inherit;--cocso-switch-height:inherit;--cocso-switch-bg-color:inherit;background-color:var(--cocso-switch-bg-color);border-radius:var(--ds-spacing-max);cursor:pointer;height:var(--cocso-switch-height);opacity:1;position:relative;width:var(--cocso-switch-width)}.Switch-module_switch__pwmft[data-disabled=true],.Switch-module_switch__pwmft[disabled]{cursor:not-allowed;opacity:.4}.Switch-module_switch__pwmft[data-state=checked]{--cocso-switch-bg-color:var(--ds-color-primary-500)}.Switch-module_thumb__pQGDy{--cocso-switch-thumb-width:inherit;--cocso-switch-thumb-height:inherit;background-color:var(--ds-color-white);border-radius:var(--ds-spacing-max);display:block;height:var(--cocso-switch-thumb-width);transform:translateX(var(--ds-spacing-2));transition:transform .15s ease;width:var(--cocso-switch-thumb-width);will-change:transform}.Switch-module_thumb__pQGDy[data-state=checked]{transform:translateX(calc(var(--cocso-switch-width) - var(--cocso-switch-thumb-width) - var(--ds-spacing-2)))}
|
package/dist/esm/index.d.mts
CHANGED
|
@@ -5,6 +5,7 @@ export { Checkbox, CheckboxProps, CheckboxSize, CheckboxStatus } from './checkbo
|
|
|
5
5
|
export { Dropdown } from './dropdown/Dropdown.mjs';
|
|
6
6
|
export { Link, LinkProps, LinkSize } from './link/Link.mjs';
|
|
7
7
|
export { Modal } from './modal/Modal.mjs';
|
|
8
|
+
export { MonthPicker, MonthPickerProps } from './month-picker/MonthPicker.mjs';
|
|
8
9
|
export { OneTimePasswordField } from './one-time-password-field/OneTimePasswordField.mjs';
|
|
9
10
|
export { Pagination, PaginationProps } from './pagination/Pagination.mjs';
|
|
10
11
|
export { Popover } from './popover/Popover.mjs';
|
package/dist/esm/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ export { Checkbox } from './checkbox/Checkbox.mjs';
|
|
|
5
5
|
export { Dropdown } from './dropdown/Dropdown.mjs';
|
|
6
6
|
export { Link } from './link/Link.mjs';
|
|
7
7
|
export { Modal } from './modal/Modal.mjs';
|
|
8
|
+
export { MonthPicker } from './month-picker/MonthPicker.mjs';
|
|
8
9
|
export { OneTimePasswordField } from './one-time-password-field/OneTimePasswordField.mjs';
|
|
9
10
|
export { Pagination } from './pagination/Pagination.mjs';
|
|
10
11
|
export { Popover } from './popover/Popover.mjs';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
3
|
+
|
|
4
|
+
interface MonthPickerProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
value?: Date;
|
|
6
|
+
onValueChange?: (value: Date | undefined) => void;
|
|
7
|
+
minYear?: number;
|
|
8
|
+
maxYear?: number;
|
|
9
|
+
}
|
|
10
|
+
declare const MonthPicker: react.ForwardRefExoticComponent<MonthPickerProps & react.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
|
|
12
|
+
export { MonthPicker };
|
|
13
|
+
export type { MonthPickerProps };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ArrowIOSForwardIcon } from '@cocso-ui/react-icons';
|
|
3
|
+
import { clsx } from 'clsx';
|
|
4
|
+
import { forwardRef, useState } from 'react';
|
|
5
|
+
import styles from './MonthPicker.module.css.mjs';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
import { Dropdown } from '../dropdown/Dropdown.mjs';
|
|
8
|
+
import { Button } from '../button/Button.mjs';
|
|
9
|
+
import { Typography } from '../typography/Typography.mjs';
|
|
10
|
+
|
|
11
|
+
const MONTHS = ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'];
|
|
12
|
+
const MonthPicker = /*#__PURE__*/forwardRef(({
|
|
13
|
+
className,
|
|
14
|
+
value,
|
|
15
|
+
onValueChange,
|
|
16
|
+
minYear = 1900,
|
|
17
|
+
maxYear = 2100,
|
|
18
|
+
children,
|
|
19
|
+
...props
|
|
20
|
+
}, ref) => {
|
|
21
|
+
const [open, setOpen] = useState(false);
|
|
22
|
+
const [displayYear, setDisplayYear] = useState(value?.getFullYear() ?? new Date().getFullYear());
|
|
23
|
+
const handleMonthSelect = month => {
|
|
24
|
+
const newValue = new Date(displayYear, month - 1, 1);
|
|
25
|
+
onValueChange?.(newValue);
|
|
26
|
+
setOpen(false);
|
|
27
|
+
};
|
|
28
|
+
const handleYearChange = year => {
|
|
29
|
+
const clampedYear = Math.max(minYear, Math.min(maxYear, year));
|
|
30
|
+
setDisplayYear(clampedYear);
|
|
31
|
+
};
|
|
32
|
+
const handleOpenChange = isOpen => {
|
|
33
|
+
if (isOpen) {
|
|
34
|
+
setDisplayYear(value?.getFullYear() ?? new Date().getFullYear());
|
|
35
|
+
}
|
|
36
|
+
setOpen(isOpen);
|
|
37
|
+
};
|
|
38
|
+
return /*#__PURE__*/jsx("div", {
|
|
39
|
+
ref: ref,
|
|
40
|
+
className: clsx(styles.root, className),
|
|
41
|
+
...props,
|
|
42
|
+
children: /*#__PURE__*/jsxs(Dropdown, {
|
|
43
|
+
open: open,
|
|
44
|
+
onOpenChange: handleOpenChange,
|
|
45
|
+
children: [/*#__PURE__*/jsx(Dropdown.Trigger, {
|
|
46
|
+
asChild: true,
|
|
47
|
+
children: children
|
|
48
|
+
}), /*#__PURE__*/jsx(Dropdown.Portal, {
|
|
49
|
+
children: /*#__PURE__*/jsxs(Dropdown.Content, {
|
|
50
|
+
className: styles.content,
|
|
51
|
+
role: "listbox",
|
|
52
|
+
"aria-label": "\uC6D4 \uC120\uD0DD",
|
|
53
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
54
|
+
className: styles.header,
|
|
55
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
56
|
+
type: "button",
|
|
57
|
+
size: "xs",
|
|
58
|
+
variant: "secondary",
|
|
59
|
+
onClick: () => handleYearChange(displayYear - 1),
|
|
60
|
+
disabled: displayYear <= minYear,
|
|
61
|
+
svgOnly: true,
|
|
62
|
+
"aria-label": "\uC774\uC804 \uB144\uB3C4",
|
|
63
|
+
children: /*#__PURE__*/jsx(ArrowIOSForwardIcon, {
|
|
64
|
+
className: styles.rotate
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/jsxs(Typography, {
|
|
67
|
+
type: "body",
|
|
68
|
+
weight: "semibold",
|
|
69
|
+
children: [displayYear, "\uB144"]
|
|
70
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
71
|
+
type: "button",
|
|
72
|
+
size: "xs",
|
|
73
|
+
variant: "secondary",
|
|
74
|
+
onClick: () => handleYearChange(displayYear + 1),
|
|
75
|
+
disabled: displayYear >= maxYear,
|
|
76
|
+
"aria-label": "\uB2E4\uC74C \uB144\uB3C4",
|
|
77
|
+
children: /*#__PURE__*/jsx(ArrowIOSForwardIcon, {})
|
|
78
|
+
})]
|
|
79
|
+
}), /*#__PURE__*/jsx("div", {
|
|
80
|
+
className: styles.grid,
|
|
81
|
+
children: MONTHS.map((month, index) => {
|
|
82
|
+
const monthNumber = index + 1;
|
|
83
|
+
const isSelected = value?.getFullYear() === displayYear && value?.getMonth() === monthNumber - 1;
|
|
84
|
+
return /*#__PURE__*/jsx(Button, {
|
|
85
|
+
type: "button",
|
|
86
|
+
variant: isSelected ? 'tertiary' : 'secondary',
|
|
87
|
+
onClick: () => handleMonthSelect(monthNumber),
|
|
88
|
+
role: "option",
|
|
89
|
+
"aria-selected": isSelected,
|
|
90
|
+
"aria-label": `${month} 선택`,
|
|
91
|
+
children: month
|
|
92
|
+
}, month);
|
|
93
|
+
})
|
|
94
|
+
})]
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
MonthPicker.displayName = 'MonthPicker';
|
|
101
|
+
|
|
102
|
+
export { MonthPicker };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocso-ui/react",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cocso/cocso-ui.git",
|
|
@@ -37,9 +37,10 @@
|
|
|
37
37
|
"@radix-ui/react-switch": "^1.2.6",
|
|
38
38
|
"@radix-ui/react-tabs": "^1.1.13",
|
|
39
39
|
"clsx": "^2.1.1",
|
|
40
|
+
"rollup-plugin-preserve-directives": "^0.4.0",
|
|
40
41
|
"sonner": "^2.0.7",
|
|
41
42
|
"ts-pattern": "^5.8.0",
|
|
42
|
-
"@cocso-ui/react-icons": "^0.1.
|
|
43
|
+
"@cocso-ui/react-icons": "^0.1.2"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
46
|
"@babel/preset-react": "^7.27.1",
|