@thewrong/ui 0.1.0
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 +65 -0
- package/dist/index.cjs.js +40 -0
- package/dist/index.es.js +8066 -0
- package/dist/src/components/_shared/form-size-tokens.d.ts +16 -0
- package/dist/src/components/action-toast/ActionToast.d.ts +56 -0
- package/dist/src/components/action-toast/index.d.ts +2 -0
- package/dist/src/components/animated-height/AnimatedHeight.d.ts +30 -0
- package/dist/src/components/animated-height/index.d.ts +2 -0
- package/dist/src/components/badge/Badge.d.ts +2 -0
- package/dist/src/components/badge/index.d.ts +2 -0
- package/dist/src/components/badge/types.d.ts +56 -0
- package/dist/src/components/badge/utils.d.ts +13 -0
- package/dist/src/components/button/Button.d.ts +2 -0
- package/dist/src/components/button/index.d.ts +2 -0
- package/dist/src/components/button/types.d.ts +22 -0
- package/dist/src/components/button/utils.d.ts +6 -0
- package/dist/src/components/checkbox/Checkbox.d.ts +33 -0
- package/dist/src/components/checkbox/index.d.ts +2 -0
- package/dist/src/components/checkbox/types.d.ts +33 -0
- package/dist/src/components/checkbox/utils.d.ts +33 -0
- package/dist/src/components/collapsible/Collapsible.d.ts +36 -0
- package/dist/src/components/collapsible/index.d.ts +2 -0
- package/dist/src/components/date-input/DateInput.d.ts +27 -0
- package/dist/src/components/date-input/index.d.ts +1 -0
- package/dist/src/components/date-picker/date-picker.d.ts +34 -0
- package/dist/src/components/date-picker/date-range-picker.d.ts +21 -0
- package/dist/src/components/date-picker/index.d.ts +5 -0
- package/dist/src/components/date-picker/month-picker.d.ts +25 -0
- package/dist/src/components/drawer/Drawer.d.ts +18 -0
- package/dist/src/components/drawer/index.d.ts +2 -0
- package/dist/src/components/info-tooltip/InfoTooltip.d.ts +11 -0
- package/dist/src/components/info-tooltip/index.d.ts +2 -0
- package/dist/src/components/input/Input.d.ts +10 -0
- package/dist/src/components/input/PasswordInput.d.ts +8 -0
- package/dist/src/components/input/format.d.ts +38 -0
- package/dist/src/components/input/index.d.ts +4 -0
- package/dist/src/components/input/types.d.ts +131 -0
- package/dist/src/components/input/utils.d.ts +17 -0
- package/dist/src/components/loading-spinner/LoadingSpinner.d.ts +16 -0
- package/dist/src/components/loading-spinner/index.d.ts +2 -0
- package/dist/src/components/modal/Modal.d.ts +51 -0
- package/dist/src/components/modal/ModalSubView.d.ts +61 -0
- package/dist/src/components/modal/StandardModal.d.ts +59 -0
- package/dist/src/components/modal/index.d.ts +6 -0
- package/dist/src/components/page-title/PageTitle.d.ts +17 -0
- package/dist/src/components/page-title/index.d.ts +1 -0
- package/dist/src/components/popover/Popover.d.ts +28 -0
- package/dist/src/components/popover/index.d.ts +2 -0
- package/dist/src/components/search-box/ExactMatchToggle.d.ts +14 -0
- package/dist/src/components/search-box/SearchBox.d.ts +35 -0
- package/dist/src/components/search-box/SearchBoxChips.d.ts +12 -0
- package/dist/src/components/search-box/SearchBoxDateRange.d.ts +20 -0
- package/dist/src/components/search-box/SearchBoxDateSingle.d.ts +17 -0
- package/dist/src/components/search-box/SearchBoxField.d.ts +11 -0
- package/dist/src/components/search-box/SearchBoxFloatingInput.d.ts +24 -0
- package/dist/src/components/search-box/SearchBoxFloatingSelect.d.ts +19 -0
- package/dist/src/components/search-box/SearchBoxMonth.d.ts +14 -0
- package/dist/src/components/search-box/SearchBoxMultiSelect.d.ts +25 -0
- package/dist/src/components/search-box/SearchBoxSheetContext.d.ts +8 -0
- package/dist/src/components/search-box/dateRangePresets.d.ts +10 -0
- package/dist/src/components/search-box/index.d.ts +5 -0
- package/dist/src/components/search-box/parseDateRange.d.ts +15 -0
- package/dist/src/components/search-box/parseSearchValues.d.ts +38 -0
- package/dist/src/components/search-box/types.d.ts +67 -0
- package/dist/src/components/search-box/useSearchBoxState.d.ts +30 -0
- package/dist/src/components/select/MultiSelect.d.ts +69 -0
- package/dist/src/components/select/Select.d.ts +81 -0
- package/dist/src/components/select/index.d.ts +4 -0
- package/dist/src/components/select/loading-dots.d.ts +9 -0
- package/dist/src/components/select/types.d.ts +141 -0
- package/dist/src/components/select/utils.d.ts +16 -0
- package/dist/src/components/switch/Switch.d.ts +17 -0
- package/dist/src/components/switch/index.d.ts +2 -0
- package/dist/src/components/switch/types.d.ts +10 -0
- package/dist/src/components/switch/utils.d.ts +14 -0
- package/dist/src/components/table/accordion-table.d.ts +31 -0
- package/dist/src/components/table/column-group-utils.d.ts +49 -0
- package/dist/src/components/table/components/ColumnPresetSelector.d.ts +36 -0
- package/dist/src/components/table/components/ColumnSettingsTable.d.ts +25 -0
- package/dist/src/components/table/components/KeyboardNavButton.d.ts +12 -0
- package/dist/src/components/table/components/PageJumpInput.d.ts +16 -0
- package/dist/src/components/table/components/Pagination.d.ts +38 -0
- package/dist/src/components/table/components/PaginationFooter.d.ts +28 -0
- package/dist/src/components/table/components/SortableHeaderCell.d.ts +27 -0
- package/dist/src/components/table/hooks/useColumnPresets.d.ts +48 -0
- package/dist/src/components/table/hooks/useColumnResize.d.ts +99 -0
- package/dist/src/components/table/hooks/useFillEmptyRows.d.ts +51 -0
- package/dist/src/components/table/hooks/useInfiniteScroll.d.ts +58 -0
- package/dist/src/components/table/hooks/useTableColumnState.d.ts +30 -0
- package/dist/src/components/table/hooks/useTableDragSelection.d.ts +35 -0
- package/dist/src/components/table/hooks/useTableSort.d.ts +47 -0
- package/dist/src/components/table/hooks/useVirtualTable.d.ts +49 -0
- package/dist/src/components/table/index.d.ts +27 -0
- package/dist/src/components/table/mini-table.d.ts +44 -0
- package/dist/src/components/table/paginated-mini-table.d.ts +28 -0
- package/dist/src/components/table/paginated-table.d.ts +8 -0
- package/dist/src/components/table/table.d.ts +10 -0
- package/dist/src/components/table/types.d.ts +409 -0
- package/dist/src/components/table/utils.d.ts +47 -0
- package/dist/src/components/table-checkbox/TableCheckbox.d.ts +16 -0
- package/dist/src/components/table-checkbox/index.d.ts +1 -0
- package/dist/src/components/table-page-layout/TablePageLayout.d.ts +22 -0
- package/dist/src/components/table-page-layout/index.d.ts +1 -0
- package/dist/src/components/textarea/Textarea.d.ts +10 -0
- package/dist/src/components/textarea/index.d.ts +2 -0
- package/dist/src/components/textarea/types.d.ts +38 -0
- package/dist/src/components/toast/ToastProvider.d.ts +26 -0
- package/dist/src/components/toast/index.d.ts +3 -0
- package/dist/src/components/toolbar/Toolbar.d.ts +114 -0
- package/dist/src/components/toolbar/index.d.ts +2 -0
- package/dist/src/components/tooltip/Tooltip.d.ts +18 -0
- package/dist/src/components/tooltip/index.d.ts +2 -0
- package/dist/src/hooks/index.d.ts +4 -0
- package/dist/src/hooks/useBottomSheetDrag.d.ts +41 -0
- package/dist/src/hooks/useClickOutside.d.ts +16 -0
- package/dist/src/hooks/useMediaQuery.d.ts +15 -0
- package/dist/src/hooks/useScrollLock.d.ts +8 -0
- package/dist/src/index.d.ts +27 -0
- package/dist/src/lib/Portal.d.ts +12 -0
- package/dist/src/lib/column-preset-storage.d.ts +54 -0
- package/dist/src/lib/index.d.ts +6 -0
- package/dist/src/lib/overlay-stack.d.ts +13 -0
- package/dist/src/lib/utils.d.ts +11 -0
- package/dist/ui.css +3 -0
- package/package.json +128 -0
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/thewronghand/thewrong-ui/main/logo.png" alt="thewrong-ui" height="72" />
|
|
3
|
+
<h1>thewrong-ui</h1>
|
|
4
|
+
<p><a href="https://github.com/thewronghand">@thewronghand</a>의 개인 프로젝트용 React UI 컴포넌트 라이브러리</p>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 설치
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @thewrong/ui
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
// 1. 스타일 한 줄 (Tailwind 설치 불필요 — CSS가 번들에 자체포함)
|
|
17
|
+
import "@thewrong/ui/styles.css";
|
|
18
|
+
|
|
19
|
+
// 2. 컴포넌트 import
|
|
20
|
+
import { Button, Modal, PaginatedTable, SearchBox } from "@thewrong/ui";
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 특징
|
|
24
|
+
|
|
25
|
+
- **CSS 자체포함** — `styles.css` 한 줄이면 끝. Tailwind 설정 불필요.
|
|
26
|
+
- **테마 오버라이드** — oklch 기반 2계층 토큰. `:root`에서 CSS Variable만 덮어쓰면 전체 테마가 바뀐다.
|
|
27
|
+
- **가벼운 코어** — 무거운 의존(motion, floating-ui, dnd-kit, react-virtual, date-fns, react-hot-toast)은 **optional peerDependency**. 해당 기능을 쓰는 컴포넌트만 그 패키지를 함께 설치하면 된다.
|
|
28
|
+
- **React 19**, TypeScript, Vite(lib mode).
|
|
29
|
+
|
|
30
|
+
## 구성
|
|
31
|
+
|
|
32
|
+
| 분류 | 컴포넌트 |
|
|
33
|
+
|------|----------|
|
|
34
|
+
| 폼 | Button · Input(+PasswordInput) · Textarea · Select · MultiSelect · Switch · Checkbox · Badge |
|
|
35
|
+
| 오버레이 | Modal(+SubView/Standard) · Drawer · Popover · Tooltip · InfoTooltip · Toast · ActionToast |
|
|
36
|
+
| 날짜 | DatePicker · DateRangePicker · MonthPicker · DateInput |
|
|
37
|
+
| 데이터 | Table · PaginatedTable · AccordionTable · MiniTable · Pagination · SearchBox |
|
|
38
|
+
| 레이아웃 | TablePageLayout · TableCard · Toolbar · PageTitle |
|
|
39
|
+
| 모션/유틸 | AnimatedHeight · Collapsible · LoadingSpinner · cn |
|
|
40
|
+
|
|
41
|
+
## 테마 오버라이드
|
|
42
|
+
|
|
43
|
+
```css
|
|
44
|
+
:root {
|
|
45
|
+
--color-primary-500: oklch(0.6 0.2 260); /* 브랜드 색 교체 */
|
|
46
|
+
}
|
|
47
|
+
.dark {
|
|
48
|
+
/* 다크 토큰도 같은 방식으로 */
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 개발
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm run dev # Storybook (:6006) — 컴포넌트 문서·예시
|
|
56
|
+
npm run build # 라이브러리 빌드 (dist/)
|
|
57
|
+
npm run typecheck # tsc --noEmit
|
|
58
|
+
npm run lint # eslint
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
각 컴포넌트의 사용법·정책·안티패턴은 Storybook 문서에서 확인할 수 있다.
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
MIT
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react"),l=require("react/jsx-runtime"),u=require("motion/react"),d=require("@floating-ui/react"),f=require("@dnd-kit/core"),p=require("@dnd-kit/sortable"),m=require("@dnd-kit/utilities"),h=require("@tanstack/react-virtual"),g=require("react-hot-toast");g=s(g,1);let _=require("react-dom"),v=require("date-fns"),y=require("date-fns/locale");var b=(e=`primary`,t=`filled`)=>({primary:{filled:`border-transparent bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700 disabled:bg-secondary-200 disabled:text-secondary-300 dark:disabled:bg-secondary-700 dark:disabled:text-secondary-500`,outlined:`bg-white dark:bg-transparent text-secondary-800 dark:text-secondary-100 border-secondary-400 dark:border-secondary-500 hover:bg-secondary-50 dark:hover:bg-secondary-800 active:bg-secondary-100 dark:active:bg-secondary-700 disabled:text-secondary-300 disabled:border-secondary-200 disabled:bg-transparent`,transparent:`border-transparent bg-transparent text-secondary-800 dark:text-secondary-100 hover:bg-secondary-50 dark:hover:bg-secondary-800 active:bg-secondary-100 dark:active:bg-secondary-700 disabled:text-secondary-300`},secondary:{filled:`border-transparent bg-primary-300 text-white hover:bg-primary-500 active:bg-primary-600 disabled:bg-secondary-200 disabled:text-secondary-300 dark:disabled:bg-secondary-700 dark:disabled:text-secondary-500`,outlined:`bg-white dark:bg-transparent text-secondary-500 dark:text-secondary-400 border-secondary-200 dark:border-secondary-700 hover:bg-secondary-50 dark:hover:bg-secondary-800 active:bg-secondary-100 dark:active:bg-secondary-700 disabled:text-secondary-300 disabled:border-secondary-100 disabled:bg-transparent`,transparent:`border-transparent bg-transparent text-secondary-500 dark:text-secondary-400 hover:bg-secondary-50 dark:hover:bg-secondary-800 active:bg-secondary-100 dark:active:bg-secondary-700 disabled:text-secondary-300`},tertiary:{filled:`border-transparent bg-secondary-100 dark:bg-secondary-700 text-secondary-500 dark:text-secondary-300 hover:bg-secondary-200 dark:hover:bg-secondary-600 active:bg-secondary-300 dark:active:bg-secondary-500 disabled:bg-secondary-50 dark:disabled:bg-secondary-900 disabled:text-secondary-300`,outlined:`bg-white dark:bg-transparent text-secondary-400 dark:text-secondary-500 border-secondary-200 dark:border-secondary-600 hover:bg-secondary-50 dark:hover:bg-secondary-900 active:bg-secondary-100 dark:active:bg-secondary-800 disabled:text-secondary-300 disabled:border-secondary-100 disabled:bg-transparent`,transparent:`border-transparent bg-transparent text-secondary-400 dark:text-secondary-500 hover:bg-secondary-50 dark:hover:bg-secondary-900 active:bg-secondary-100 dark:active:bg-secondary-800 disabled:text-secondary-300`},danger:{filled:`border-transparent bg-error-500 text-white hover:bg-error-600 active:bg-error-700 disabled:bg-secondary-200 disabled:text-secondary-300 dark:disabled:bg-secondary-700 dark:disabled:text-secondary-500`,outlined:`bg-white dark:bg-transparent text-error-600 dark:text-error-400 border-error-500 dark:border-error-400 hover:bg-error-50 dark:hover:bg-error-950 active:bg-error-100 dark:active:bg-error-900 disabled:text-error-300 disabled:border-error-200 disabled:bg-transparent`,transparent:`border-transparent bg-transparent text-error-600 dark:text-error-400 hover:bg-error-50 dark:hover:bg-error-950 active:bg-error-100 dark:active:bg-error-900 disabled:text-error-300`}})[e][t],x=(e=`medium`)=>({mini:`h-7 px-2 text-xs gap-1 rounded-md`,small:`h-9 px-3 text-sm gap-1.5 rounded-lg`,medium:`h-11 px-3.5 text-sm gap-2 rounded-xl`,large:`h-12 px-5 text-base gap-2 rounded-xl`})[e],S=(e=`inline`)=>({inline:`inline-flex`,block:`flex w-full`})[e],C=()=>`items-center justify-center font-medium border-[1.5px] transition-colors duration-200 ease-out outline-none focus:ring-2 focus:ring-inset disabled:cursor-not-allowed disabled:pointer-events-none`,w=(e=`primary`)=>({primary:`focus:ring-primary-300`,secondary:`focus:ring-primary-300`,tertiary:`focus:ring-secondary-400`,danger:`focus:ring-error-300`})[e],T=()=>(0,l.jsxs)(`svg`,{className:`animate-spin h-4 w-4`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,l.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,l.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]}),E=(0,c.forwardRef)((e,t)=>{let{variant:n=`primary`,appearance:r=`filled`,size:i=`medium`,display:a=`inline`,loading:o=!1,clickThrottleMs:s=0,leadingIcon:u,trailingIcon:d,className:f=``,children:p,...m}=e,[h,g]=(0,c.useState)(!1),_=(0,c.useRef)(null),v=()=>{s&&(g(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{g(!1),_.current=null},s))};(0,c.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]);let y=[C(),b(n,r),x(i),S(a),w(n),o?`opacity-70 cursor-wait`:``,f].filter(Boolean).join(` `),E=`as`in e&&e.as===`a`,D=(`disabled`in e?e.disabled:!1)||o||h;if(E){let e=m,n=t=>{if(D){t.preventDefault();return}v(),e.onClick?.(t)};return(0,l.jsxs)(`a`,{ref:t,className:`${y} ${D?`pointer-events-none opacity-60`:``}`.trim(),"aria-disabled":D,tabIndex:D?-1:e.tabIndex,...e,onClick:n,children:[o?(0,l.jsx)(T,{}):u,p,!o&&d]})}let O=m,k=e=>{if(D){e.preventDefault();return}v(),O.onClick?.(e)};return(0,l.jsxs)(`button`,{ref:t,className:y,disabled:D,...O,onClick:k,children:[o?(0,l.jsx)(T,{}):u,p,!o&&d]})});E.displayName=`Button`;var D=(e=`neutral`,t=`fill`)=>({primary:{fill:`bg-primary-500 text-white`,weak:`bg-primary-50 text-primary-600 border border-primary-300`},secondary:{fill:`bg-secondary-500 text-white`,weak:`bg-secondary-50 text-secondary-600 border border-secondary-300`},success:{fill:`bg-success-500 text-white`,weak:`bg-success-50 text-success-600 border border-success-300`},error:{fill:`bg-error-500 text-white`,weak:`bg-error-50 text-error-600 border border-error-300`},warning:{fill:`bg-warning-500 text-white`,weak:`bg-warning-50 text-warning-600 border border-warning-300`},info:{fill:`bg-info-500 text-white`,weak:`bg-info-50 text-info-600 border border-info-300`},neutral:{fill:`bg-neutral-500 text-white`,weak:`bg-neutral-50 text-neutral-600 border border-neutral-300`}})[e][t],O=(e=`medium`)=>({xsmall:`px-1.5 py-0.5 text-xs`,small:`px-2 py-1 text-xs`,medium:`px-2.5 py-1 text-sm`,large:`px-3 py-1.5 text-base`})[e],k=()=>`inline-flex items-center justify-center font-medium rounded-md whitespace-nowrap`,A=(0,c.forwardRef)((e,t)=>{let{size:n=`medium`,variant:r=`fill`,color:i=`neutral`,className:a=``,children:o,...s}=e,c=[k(),D(i,r),O(n),a].filter(Boolean).join(` `);if(`as`in e&&e.as===`div`){let{as:e,...n}=s;return(0,l.jsx)(`div`,{ref:t,className:c,...n,children:o})}return(0,l.jsx)(`span`,{ref:t,className:c,...s,children:o})});A.displayName=`Badge`;var j={small:{track:`h-5 w-9`,thumb:`h-3.5 w-3.5`,translate:`peer-checked:translate-x-4`},medium:{track:`h-6 w-11`,thumb:`h-4.5 w-4.5`,translate:`peer-checked:translate-x-5`}};function M(e,t){let{track:n}=j[e];return t?[`relative inline-flex shrink-0 items-center rounded-full`,n,`bg-bg-disabled cursor-not-allowed`].join(` `):[`relative inline-flex shrink-0 items-center rounded-full cursor-pointer`,n,`bg-neutral-200 dark:bg-neutral-700`,`peer-checked:bg-primary-500`,`peer-focus-visible:ring-2 peer-focus-visible:ring-primary-300 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-bg-card`,`transition-colors duration-200 ease-out`].join(` `)}function N(e){let{thumb:t,translate:n}=j[e];return[`pointer-events-none absolute left-[3px] top-[3px] inline-block rounded-full bg-white shadow-sm`,t,n,`transition-transform duration-200 ease-out`].join(` `)}var P=(0,c.forwardRef)(({size:e=`medium`,label:t,className:n=``,disabled:r=!1,onCheckedChange:i,onChange:a,...o},s)=>(0,l.jsxs)(`label`,{className:`inline-flex items-center gap-2 ${r?`cursor-not-allowed`:`cursor-pointer`} ${n}`,children:[(0,l.jsxs)(`span`,{className:`relative inline-flex items-center`,children:[(0,l.jsx)(`input`,{ref:s,type:`checkbox`,className:`peer sr-only`,disabled:r,onChange:e=>{a?.(e),i?.(e.target.checked)},...o}),(0,l.jsx)(`span`,{"aria-hidden":!0,className:M(e,r)}),(0,l.jsx)(`span`,{"aria-hidden":!0,className:N(e)})]}),t&&(0,l.jsx)(`span`,{className:r?`text-sm text-text-disabled`:`text-sm text-text-primary`,children:t})]}));P.displayName=`Switch`;function F(){return`appearance-none cursor-pointer transition-all duration-200 focus:outline-hidden`}function I(e=`primary`){return`${F()} rounded-full border-2 ${{primary:`border-neutral-300 peer-checked:bg-primary-500 peer-checked:border-primary-500 text-white`,secondary:`border-neutral-300 peer-checked:bg-secondary-500 peer-checked:border-secondary-500 text-white`,neutral:`border-neutral-300 peer-checked:bg-neutral-600 peer-checked:border-neutral-600 text-white`}[e]} relative flex items-center justify-center transition-all duration-200`}function L(e=`primary`){return`${F()} rounded-sm border-2 ${{primary:`border-neutral-300 peer-checked:bg-primary-500 peer-checked:border-primary-500 text-white`,secondary:`border-neutral-300 peer-checked:bg-secondary-500 peer-checked:border-secondary-500 text-white`,neutral:`border-neutral-300 peer-checked:bg-neutral-600 peer-checked:border-neutral-600 text-white`}[e]} relative flex items-center justify-center transition-all duration-200`}function ee(e=`primary`){return`${F()} rounded-sm border-2 bg-transparent ${{primary:`border-neutral-200 peer-checked:border-primary-500 text-primary-500`,secondary:`border-neutral-200 peer-checked:border-secondary-500 text-secondary-500`,neutral:`border-neutral-200 peer-checked:border-neutral-600 text-neutral-600`}[e]} relative flex items-center justify-center transition-all duration-200`}function R(e,t=`primary`){switch(e){case`circle`:return I(t);case`line`:return L(t);case`lineTransparent`:return ee(t);default:return L(t)}}function te(e=24){return{width:`${e}px`,height:`${e}px`}}function z(){return`inline-flex items-center gap-2 cursor-pointer select-none`}var B=(0,c.forwardRef)(({variant:e,inputType:t=`checkbox`,size:n=24,baseColor:r=`primary`,label:i,onCheckedChange:a,onChange:o,className:s=``,...c},u)=>{let d=e=>{o?.(e),a?.(e.target.checked)},f=R(e,r),p=te(n),m=(0,l.jsxs)(`div`,{className:`inline-flex items-center relative`,children:[(0,l.jsx)(`input`,{ref:u,type:t,className:`sr-only peer`,onChange:d,...c}),(0,l.jsx)(`div`,{className:`${f} ${s} peer-checked:[&_path]:scale-100`,style:p,children:(0,l.jsx)(`svg`,{className:`absolute inset-0 w-full h-full pointer-events-none`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,l.jsx)(`path`,{d:`M5 12l5 5L20 7`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`origin-center scale-0 transition-transform duration-200 ease-out`})})})]});return i?(0,l.jsxs)(`label`,{className:z(),children:[m,(0,l.jsx)(`span`,{className:`text-base text-neutral-900 dark:text-neutral-100`,children:i})]}):m});B.displayName=`CheckboxInternal`;var V=(0,c.forwardRef)((e,t)=>(0,l.jsx)(B,{ref:t,variant:`circle`,...e}));V.displayName=`Checkbox.Circle`;var H=(0,c.forwardRef)((e,t)=>(0,l.jsx)(B,{ref:t,variant:`line`,...e}));H.displayName=`Checkbox.Line`;var U=(0,c.forwardRef)((e,t)=>(0,l.jsx)(B,{ref:t,variant:`lineTransparent`,...e}));U.displayName=`Checkbox.LineTransparent`;var ne={Circle:V,Line:H,LineTransparent:U},W=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),G=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),re=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),ie=e=>{let t=re(e);return t.charAt(0).toUpperCase()+t.slice(1)},ae={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},K=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},oe=(0,c.createContext)({}),se=()=>(0,c.useContext)(oe),ce=(0,c.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=se()??{},h=r??f?Number(n??d)*24/Number(t??u):n??d;return(0,c.createElement)(`svg`,{ref:l,...ae,width:t??u??ae.width,height:t??u??ae.height,stroke:e??p,strokeWidth:h,className:W(`lucide`,m,i),...!a&&!K(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,c.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),q=(e,t)=>{let n=(0,c.forwardRef)(({className:n,...r},i)=>(0,c.createElement)(ce,{ref:i,iconNode:t,className:W(`lucide-${G(ie(e))}`,`lucide-${e}`,n),...r}));return n.displayName=ie(e),n},le=q(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),ue=q(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),de=q(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),fe=q(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),pe=q(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),me=q(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),he=q(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),ge=q(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),_e=q(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ve=q(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ye=q(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),be=q(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),xe=q(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),J=q(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Se=q(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Ce=q(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),we=q(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Te=q(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),Ee=q(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),De=q(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Oe=q(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),ke=q(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ae=q(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),je=q(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),Me=q(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Ne={mini:`h-3.5 w-3.5`,small:`h-4 w-4`,medium:`h-4.5 w-4.5`,large:`h-5 w-5`},Pe={mini:`h-3.5 w-3.5`,small:`h-4 w-4`,medium:`h-4.5 w-4.5`,large:`h-5 w-5`},Fe={mini:`[&>svg]:h-3.5 [&>svg]:w-3.5`,small:`[&>svg]:h-4 [&>svg]:w-4`,medium:`[&>svg]:h-4.5 [&>svg]:w-4.5`,large:`[&>svg]:h-5 [&>svg]:w-5`},Ie={mini:`text-[10px]`,small:`text-xs`,medium:`text-xs`,large:`text-sm`},Le={mini:`gap-1.5`,small:`gap-2`,medium:`gap-3`,large:`gap-3.5`},Re={large:`h-12 rounded-xl border px-5 transition-colors focus-within:outline-hidden`,medium:`h-11 rounded-xl border px-3.5 transition-colors focus-within:outline-hidden`,small:`h-9 rounded-lg border px-3 transition-colors focus-within:outline-hidden`,mini:`h-7 rounded-md border px-2 transition-colors focus-within:outline-hidden`},ze=(e,t,n,r=`medium`)=>{if(e===`box`){let e=Re[r];return n?[e,`bg-bg-disabled border-border-tertiary dark:border-border-secondary`].join(` `):t?[e,`bg-bg-white border-border-danger`].join(` `):[e,`bg-bg-white border-border-tertiary dark:border-border-secondary focus-within:border-border-primary`].join(` `)}return{box:``,line:`border-b-2 border-neutral-300 dark:border-neutral-600 px-0 py-2 focus:border-primary-500 dark:focus:border-primary-400 focus:ring-0`,big:`border-2 border-neutral-300 dark:border-neutral-600 rounded px-5 py-4 text-lg focus:border-primary-500 dark:focus:border-primary-400 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 focus:ring-offset-0 h-[52px]`,hero:`border-2 border-neutral-300 dark:border-neutral-600 rounded px-6 py-5 text-xl font-semibold focus:border-primary-500 dark:focus:border-primary-400 focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 focus:ring-offset-0 h-[64px]`}[e]},Be=(e,t,n,r,i=`medium`)=>{let a=`w-full bg-transparent ${i===`mini`?`text-xs`:i===`large`?`text-base`:`text-sm`} focus:outline-hidden disabled:cursor-not-allowed`;return e===`box`?n?[a,`text-text-disabled placeholder:text-text-disabled`].join(` `):t?[a,`text-text-danger placeholder:text-text-danger`].join(` `):r?[a,`text-text-primary placeholder:text-text-tertiary`].join(` `):[a,`text-text-tertiary placeholder:text-text-tertiary`].join(` `):[`w-full bg-white dark:bg-neutral-800 text-sm text-neutral-900 dark:text-white placeholder:text-neutral-400 transition-all duration-200 ease-out focus:outline-hidden disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed disabled:border-neutral-200`].join(` `)},Ve=(e,t,n)=>t?`text-icon-disabled`:e?`text-icon-danger`:n?`text-icon-secondary`:`text-icon-tertiary`,He=()=>`w-full`,Ue=(e,t)=>[`block text-xs font-medium mb-2`,t?`text-text-danger`:`text-text-secondary`].join(` `),We=e=>[`mt-2 text-sm`,e?`text-text-danger`:`text-text-secondary`].join(` `),Ge=(0,c.forwardRef)(({variant:e,inputSize:t=`medium`,label:n,labelOption:r=`appear`,help:i,hasError:a=!1,disabled:o=!1,prefix:s,suffix:u,trailingIcon:d,clearable:f=!1,badge:p,placeholder:m,format:h,containerProps:g,containerRef:_,value:v,defaultValue:y,onChange:b,onFocus:x,onBlur:S,className:C=``,...w},T)=>{let[E,D]=(0,c.useState)(!1),[O,k]=(0,c.useState)(()=>{let e=v??y??``;return h?h.transform(e).toString():e.toString()}),A=(0,c.useRef)(null),j=v!==void 0,M=j?v.toString():O,N=h?h.transform(M).toString():M,P=e=>{let t=e.target.value;if(h){let n=h.transform(t).toString(),r=h.reset?h.reset(n).toString():n;j||k(n),b?.({...e,target:{...e.target,value:r}})}else j||k(t),b?.(e)},F=e=>{D(!0),x?.(e)},I=e=>{D(!1),S?.(e)},L=w.ref,ee=e=>{A.current=e,typeof T==`function`?T(e):T&&(T.current=e),typeof L==`function`?L(e):L&&`current`in L&&(L.current=e)},R=()=>{let e=A.current;e&&((Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.focus())},te=N.length>0,z=He(),B=ze(e,a,o,t),V=Be(e,a,o,te,t),H=Ve(a,o,te||E),U=r===`sustain`||r===`appear`&&!!N,ne=e===`box`,W=Le[t],G=Fe[t],re=Ie[t],ie=Ne[t],ae=(0,l.jsxs)(`div`,{className:ne?`${B} flex items-center ${W} ${C}`.trim().replace(/\s+/g,` `):`relative flex items-center text-sm`,children:[s&&(0,l.jsx)(`span`,{className:`whitespace-nowrap text-sm ${H}`,children:s}),(0,l.jsx)(`input`,{...w,ref:ee,className:ne?V:`${V} ${B} ${a?`border-error-500 focus:border-error-500 focus:ring-error-500`:``} ${o?`opacity-50`:``} ${C}`.trim().replace(/\s+/g,` `),value:N,onChange:P,onFocus:F,onBlur:I,disabled:o,placeholder:m}),u&&(0,l.jsx)(`span`,{className:`whitespace-nowrap text-sm ${H}`,children:u}),d&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${H} ${G}`,children:d}),f&&!o&&te&&(0,l.jsx)(`button`,{type:`button`,onClick:R,"aria-label":`입력 지우기`,className:`flex shrink-0 cursor-pointer items-center rounded ${H} hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-500/40`,children:(0,l.jsx)(ve,{className:ie,strokeWidth:1.5,"aria-hidden":`true`})}),p&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${G} ${re}`,children:p})]});return(0,l.jsxs)(`div`,{ref:_,className:z,...g,children:[U&&n&&(0,l.jsx)(`label`,{className:Ue(e,a),htmlFor:w.id,children:n}),ae,i&&(0,l.jsx)(`div`,{className:We(a),children:i})]})});Ge.displayName=`Input`;var Ke=(0,c.forwardRef)(({disabled:e,...t},n)=>{let[r,i]=(0,c.useState)(!1);return(0,l.jsx)(Ge,{...t,ref:n,disabled:e,type:r?`text`:`password`,trailingIcon:(0,l.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),disabled:e,"aria-label":r?`비밀번호 숨기기`:`비밀번호 표시`,className:`flex items-center justify-center text-text-tertiary transition-colors hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-50`,children:r?(0,l.jsx)(ye,{className:`h-4 w-4`,strokeWidth:1.5}):(0,l.jsx)(be,{className:`h-4 w-4`,strokeWidth:1.5})})})});Ke.displayName=`PasswordInput`;function qe(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function Je(e){return e.replace(/,/g,``)}function Ye(e){let t=e.toString().replace(/[^\d]/g,``);return t.length<=3?t:t.length<=7?`${t.slice(0,3)}-${t.slice(3)}`:t.length<=10?`${t.slice(0,3)}-${t.slice(3,7)}-${t.slice(7)}`:`${t.slice(0,3)}-${t.slice(3,7)}-${t.slice(7,11)}`}function Xe(e){return e.toString().replace(/-/g,``)}function Ze(e){let t=e.toString().replace(/[^\d]/g,``);return t?qe(t):``}function Qe(e){return Je(e.toString())}var $e={phoneNumber:{transform:Ye,reset:Xe},price:{transform:Ze,reset:Qe}},et={large:`rounded-xl border px-5 py-3.5 transition-colors focus-within:outline-hidden`,medium:`rounded-xl border px-3.5 py-3 transition-colors focus-within:outline-hidden`,small:`rounded-lg border px-3 py-2 transition-colors focus-within:outline-hidden`,mini:`rounded-md border px-2 py-1.5 transition-colors focus-within:outline-hidden`},tt=(e,t,n)=>{let r=et[n];return t?[r,`bg-bg-disabled border-border-tertiary dark:border-border-secondary`].join(` `):e?[r,`bg-bg-white border-border-danger`].join(` `):[r,`bg-bg-white border-border-tertiary dark:border-border-secondary focus-within:border-border-primary`].join(` `)},nt=(e,t,n,r,i)=>{let a=`w-full bg-transparent ${i===`mini`?`text-xs`:i===`large`?`text-base`:`text-sm`} focus:outline-hidden disabled:cursor-not-allowed ${r?`resize-y`:`resize-none`}`;return t?[a,`text-text-disabled placeholder:text-text-disabled`].join(` `):e?[a,`text-text-danger placeholder:text-text-danger`].join(` `):n?[a,`text-text-primary placeholder:text-text-tertiary`].join(` `):[a,`text-text-tertiary placeholder:text-text-tertiary`].join(` `)},rt=e=>[`block text-xs font-medium mb-2`,e?`text-text-danger`:`text-text-secondary`].join(` `),it=e=>[`mt-2 text-sm`,e?`text-text-danger`:`text-text-secondary`].join(` `),at=(0,c.forwardRef)(({textareaSize:e=`medium`,label:t,help:n,hasError:r=!1,disabled:i=!1,showCount:a=!1,resize:o=!1,maxLength:s,rows:u=4,className:d=``,containerClassName:f=``,value:p,defaultValue:m,onChange:h,placeholder:g,id:_,...v},y)=>{let[b,x]=(0,c.useState)(m?.toString()??``),S=p!==void 0,C=S?p?.toString()??``:b,w=C.length>0,T=e=>{S||x(e.target.value),h?.(e)},E=tt(r,i,e),D=nt(r,i,w,o,e),O=a&&s!=null&&(0,l.jsxs)(`span`,{className:[`text-xs`,r?`text-text-danger`:`text-text-tertiary`].join(` `),children:[C.length,` / `,s]});return(0,l.jsxs)(`div`,{className:`w-full ${f}`.trim(),children:[t&&(0,l.jsx)(`label`,{className:rt(r),htmlFor:_,children:t}),(0,l.jsxs)(`div`,{className:E,children:[(0,l.jsx)(`textarea`,{...v,ref:y,id:_,rows:u,value:S?C:void 0,defaultValue:S?void 0:m,onChange:T,placeholder:g,disabled:i,maxLength:s,className:`${D} ${d}`.trim()}),O&&(0,l.jsx)(`div`,{className:`mt-1 flex justify-end`,children:O})]}),n&&(0,l.jsx)(`div`,{className:it(r),children:n})]})});at.displayName=`Textarea`;function ot({open:e,durationMs:t=200,ease:n=`cubic-bezier(0.16, 1, 0.3, 1)`,unmountWhenClosed:r=!1,fade:i=!0,className:a=``,children:o}){return r&&!e?null:(0,l.jsx)(`div`,{className:`grid ${a}`,style:{gridTemplateRows:e?`1fr`:`0fr`,opacity:i?+!!e:void 0,transition:[`grid-template-rows ${t}ms ${n}`,i?`opacity ${t}ms ${n}`:null].filter(Boolean).join(`, `)},"aria-hidden":!e,children:(0,l.jsx)(`div`,{className:`overflow-hidden`,children:o})})}function st({children:e,durationMs:t=220,ease:n=[.16,1,.3,1],className:r=``}){let i=(0,c.useRef)(null),[a,o]=(0,c.useState)(`auto`),s=(0,c.useRef)(!0),[d,f]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(([e])=>{if(!e)return;let t=e.contentRect.height;o(t),s.current&&(s.current=!1,requestAnimationFrame(()=>f(!0)))});return t.observe(e),()=>t.disconnect()},[]),(0,l.jsx)(u.motion.div,{animate:{height:a},transition:d?{duration:t/1e3,ease:n}:{duration:0},style:{overflow:`hidden`},className:r,children:(0,l.jsx)(`div`,{ref:i,children:e})})}function ct({children:e,content:t,position:n=`top`,delayMs:r=100}){let[i,a]=(0,c.useState)(!1),{refs:o,floatingStyles:s,context:u}=(0,d.useFloating)({open:i,onOpenChange:a,placement:n,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(6),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:f,getFloatingProps:p}=(0,d.useInteractions)([(0,d.useHover)(u,{delay:{open:r,close:0}}),(0,d.useFocus)(u),(0,d.useDismiss)(u),(0,d.useRole)(u,{role:`tooltip`})]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:o.setReference,...f(),className:`inline-flex`,children:e}),i&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsx)(`div`,{ref:o.setFloating,style:s,...p(),className:`z-9999 pointer-events-none rounded bg-neutral-800 px-2 py-1 text-xs whitespace-nowrap text-white dark:bg-neutral-700`,children:t})})]})}function lt({content:e,position:t=`top`}){return(0,l.jsxs)(`div`,{className:`relative inline-flex items-center group`,children:[(0,l.jsx)(`div`,{className:`w-3.5 h-3.5 rounded-full bg-primary-500 dark:bg-primary-600 flex items-center justify-center cursor-help hover:bg-primary-600 dark:hover:bg-primary-500 transition-colors`,children:(0,l.jsx)(`span`,{className:`text-[9px] font-bold text-white`,children:`?`})}),(0,l.jsxs)(`div`,{className:`absolute ${{top:`bottom-full left-1/2 -translate-x-1/2 mb-2`,bottom:`top-full left-1/2 -translate-x-1/2 mt-2`,left:`right-full top-1/2 -translate-y-1/2 mr-2`,right:`left-full top-1/2 -translate-y-1/2 ml-2`}[t]} z-50 px-3 py-2 bg-neutral-900 dark:bg-neutral-700 text-white text-xs rounded shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 pointer-events-none w-64 whitespace-normal`,children:[e,(0,l.jsx)(`div`,{className:`absolute w-2 h-2 bg-neutral-900 dark:bg-neutral-700 transform rotate-45 ${t===`top`?`bottom-[-4px] left-1/2 -translate-x-1/2`:t===`bottom`?`top-[-4px] left-1/2 -translate-x-1/2`:t===`left`?`right-[-4px] top-1/2 -translate-y-1/2`:`left-[-4px] top-1/2 -translate-y-1/2`}`})]})]})}function ut({trigger:e,content:t,placement:n=`bottom`,onOpenChange:r}){let[i,a]=(0,c.useState)(!1),o=e=>{a(e),r?.(e)},{refs:s,floatingStyles:f,context:p}=(0,d.useFloating)({open:i,onOpenChange:o,placement:n,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(8),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:m,getFloatingProps:h}=(0,d.useInteractions)([(0,d.useClick)(p),(0,d.useDismiss)(p),(0,d.useRole)(p,{role:`dialog`})]),g=()=>o(!1);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:s.setReference,tabIndex:0,role:`button`,...m(),className:`inline-flex cursor-pointer select-none`,children:e}),(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsx)(u.AnimatePresence,{children:i&&(0,l.jsx)(`div`,{ref:s.setFloating,style:f,...h(),className:`z-9999`,children:(0,l.jsx)(u.motion.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.15},className:`bg-white dark:bg-neutral-800 rounded-lg shadow-md border border-border-tertiary dark:border-border-secondary p-4 min-w-60 max-w-[320px]`,children:typeof t==`function`?t(g):t})})})})]})}var dt={sm:`h-4 w-4`,md:`h-6 w-6`,lg:`h-8 w-8`};function ft({size:e=`md`}){return(0,l.jsxs)(`svg`,{className:`animate-spin ${dt[e]} text-primary-500 dark:text-primary-400`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,l.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,l.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}function pt({message:e=`데이터를 불러오는 중이에요...`,size:t=`md`,className:n=``}){return(0,l.jsx)(`div`,{className:`flex items-center justify-center h-full min-h-[200px] ${n}`,children:(0,l.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,l.jsx)(ft,{size:t}),e&&(0,l.jsx)(`span`,{className:`text-sm text-neutral-500 dark:text-neutral-400`,children:e})]})})}function mt({size:e=`sm`}){return(0,l.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,l.jsx)(ft,{size:e})})}function ht(e,t,n,r){var i=this,a=(0,c.useRef)(null),o=(0,c.useRef)(0),s=(0,c.useRef)(0),l=(0,c.useRef)(null),u=(0,c.useRef)([]),d=(0,c.useRef)(),f=(0,c.useRef)(),p=(0,c.useRef)(e),m=(0,c.useRef)(!0),h=(0,c.useRef)(),g=(0,c.useRef)();p.current=e;var _=typeof window<`u`,v=!t&&t!==0&&_;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=+t||0;var y=!!(n||={}).leading,b=!(`trailing`in n)||!!n.trailing,x=!!n.flushOnExit&&b,S=`maxWait`in n,C=`debounceOnServer`in n&&!!n.debounceOnServer,w=S?Math.max(+n.maxWait||0,t):null,T=(0,c.useMemo)(function(){var e=function(e){var t=u.current,n=d.current;return u.current=d.current=null,o.current=e,s.current=s.current||e,f.current=p.current.apply(n,t)},n=function(e,t){v&&cancelAnimationFrame(l.current),l.current=v?requestAnimationFrame(e):setTimeout(e,t)},c=function(e){if(!m.current)return!1;var n=e-a.current;return!a.current||n>=t||n<0||S&&e-o.current>=w},T=function(t){return l.current=null,b&&u.current?e(t):(u.current=d.current=null,f.current)},E=function e(){var r=Date.now();if(y&&s.current===o.current&&D(),c(r))return T(r);if(m.current){var i=t-(r-a.current);n(e,S?Math.min(i,w-(r-o.current)):i)}},D=function(){r&&r({})},O=function(){if(_||C){var r,s=Date.now(),p=c(s);if(u.current=[].slice.call(arguments),d.current=i,a.current=s,x&&!h.current&&(h.current=function(){globalThis.document?.visibilityState===`hidden`&&g.current.flush()},(r=globalThis.document)==null||r.addEventListener==null||r.addEventListener(`visibilitychange`,h.current)),p){if(!l.current&&m.current)return o.current=a.current,n(E,t),y?e(a.current):f.current;if(S)return n(E,t),e(a.current)}return l.current||n(E,t),f.current}};return O.cancel=function(){var e=l.current;e&&(v?cancelAnimationFrame(l.current):clearTimeout(l.current)),o.current=0,u.current=a.current=d.current=l.current=null,e&&r&&r({})},O.isPending=function(){return!!l.current},O.flush=function(){return l.current?T(Date.now()):f.current},O},[y,S,t,w,b,x,v,_,C,r]);return g.current=T,(0,c.useEffect)(function(){return m.current=!0,function(){var e;x&&g.current.flush(),h.current&&=((e=globalThis.document)==null||e.removeEventListener==null||e.removeEventListener(`visibilitychange`,h.current),null),m.current=!1}},[x]),T}var gt=({className:e=``})=>(0,l.jsxs)(`span`,{className:`inline-flex items-end gap-0.5 ${e}`,"aria-label":`로딩 중`,role:`status`,children:[(0,l.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`0ms`}}),(0,l.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`200ms`}}),(0,l.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`400ms`}})]}),_t=(0,c.forwardRef)(function({options:e,value:t,onChange:n,variant:r,selectSize:i=`medium`,label:a,labelOption:o=`appear`,help:s,placeholder:u=`선택해주세요`,hasError:f=!1,disabled:p=!1,suffix:m,trailingIcon:h,clearable:g=!1,badge:_,searchable:v=!1,searchPlaceholder:y=`검색...`,onSearchChange:b,isSearchLoading:x=!1,containerProps:S,containerRef:C,className:w=``,panelClassName:T=``,id:E,name:D,onLoadMore:O,hasMore:k=!1,searchDebounceMs:A=300,"data-testid":j},M){let[N,P]=(0,c.useState)(!1),[F,I]=(0,c.useState)(null),[L,ee]=(0,c.useState)(``),R=(0,c.useRef)([]),te=(0,c.useRef)(null),[z,B]=(0,c.useState)(null),[V,H]=(0,c.useState)(null),U=(0,c.useId)(),ne=e=>`${U}-opt-${e}`,W=F===null?void 0:ne(F),G=typeof b==`function`,re=A===!1||A<=0?0:A,ie=ht(e=>{b?.(e)},re),ae=(e,t)=>{G&&(t||re===0?(ie.cancel(),b(e)):ie(e))},K=e.find(e=>String(e.value)===t),oe=v&&(K!==void 0&&L===K.label||K===void 0&&t!==``&&L!==``),se=(0,c.useMemo)(()=>{if(!v||G||L.length===0||oe)return e;let t=L.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(t))},[e,v,G,L,oe]),{refs:ce,floatingStyles:q,context:le}=(0,d.useFloating)({open:N,onOpenChange:P,placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(4),(0,d.flip)({padding:8}),(0,d.shift)({padding:8}),(0,d.size)({apply({rects:e,elements:t,availableHeight:n}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`,maxHeight:`${Math.min(n,320)}px`})},padding:8})]}),{getReferenceProps:ue,getFloatingProps:de,getItemProps:pe}=(0,d.useInteractions)([(0,d.useClick)(le,{enabled:!p&&!v}),(0,d.useDismiss)(le),(0,d.useRole)(le,{role:`listbox`}),(0,d.useListNavigation)(le,{listRef:R,activeIndex:F,onNavigate:I,virtual:v,loop:!0}),(0,d.useTypeahead)(le,{listRef:{current:se.map(e=>e.label)},activeIndex:F,onMatch:I,enabled:!v})]),me=(0,c.useRef)(!1);(0,c.useEffect)(()=>{if(N){if(me.current=!0,v){let e=K?.label??``;ee(e),e!==``&&requestAnimationFrame(()=>{te.current?.select()})}}else ee(``),I(null),me.current&&ae(``,!0)},[N,v,G,b]),(0,c.useEffect)(()=>{if(!N||!O||!k||!z||!V)return;let e=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&!x&&O()},{root:V,rootMargin:`0px 0px 80px 0px`});return e.observe(z),()=>e.disconnect()},[N,O,k,x,z,V]);let he=e=>{n(e),P(!1)},ge=e=>{e.stopPropagation(),n(``),ee(``)},_e=e=>{v||!g||p||!J||N||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),n(``))},ye=e=>{let t=e.target.value;ee(t),ae(t,!1),N||P(!0)},be=e=>{if(!e.nativeEvent.isComposing){if(e.key===`Enter`&&F!==null){e.preventDefault();let t=se[F];t&&!t.disabled&&he(String(t.value));return}(e.key===`Backspace`||e.key===`Delete`)&&K&&(!N||L===``)&&(e.preventDefault(),n(``))}},xe=o===`sustain`||o===`appear`&&!!K,J=!!K,Se=K?K.label:u,Ce=N?L:K?.label??``,we=Le[i],Te=Fe[i],Ee=Ie[i],De=Ne[i],Oe=Pe[i],ke=ze(r,f,p,i),Ae=Ve(f,p,J||N),je=i===`mini`?`text-xs`:i===`large`?`text-base`:`text-sm`,Me=p?`text-text-disabled`:f?`text-text-danger`:J?`text-text-primary`:`text-text-tertiary`;return(0,l.jsxs)(`div`,{ref:C,className:He(),...S,children:[xe&&a&&(0,l.jsx)(`label`,{className:Ue(r,f),htmlFor:E,children:a}),v?(0,l.jsxs)(`div`,{ref:e=>{ce.setReference(e)},...ue(),className:`${ke} flex w-full items-center ${we} ${p?`cursor-not-allowed`:`cursor-text`} ${w}`.trim().replace(/\s+/g,` `),children:[(0,l.jsx)(`input`,{ref:e=>{te.current=e,typeof M==`function`?M(e):M&&(M.current=e)},id:E,type:`text`,role:`combobox`,readOnly:!N,disabled:p,"aria-haspopup":`listbox`,"aria-expanded":N,"aria-controls":N?U:void 0,"aria-activedescendant":W,"aria-autocomplete":`list`,"data-testid":j,value:Ce,placeholder:K?y:u,onChange:ye,onKeyDown:be,onClick:()=>{p||N||P(!0)},className:`flex-1 bg-transparent text-left outline-hidden ${je} ${Me} ${p?`cursor-not-allowed`:``} placeholder:text-text-tertiary`}),m&&(0,l.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${je} ${Ae}`,children:m}),h&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${Ae} ${Te}`,children:h}),x&&(0,l.jsx)(gt,{className:`shrink-0 text-icon-tertiary ${De}`}),g&&!p&&J&&(0,l.jsx)(`button`,{type:`button`,tabIndex:-1,onClick:ge,"aria-label":`선택 지우기`,className:`flex shrink-0 cursor-pointer items-center rounded ${Ae} hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-500/40`,children:(0,l.jsx)(ve,{className:De,strokeWidth:1.5,"aria-hidden":!0})}),_&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${Te} ${Ee}`,children:_}),(0,l.jsx)(fe,{className:`shrink-0 transition-transform ${Oe} ${Ae} ${N?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}):(0,l.jsxs)(`button`,{ref:e=>{ce.setReference(e),typeof M==`function`?M(e):M&&(M.current=e)},id:E,type:`button`,disabled:p,"aria-haspopup":`listbox`,"aria-expanded":N,"aria-controls":N?U:void 0,"aria-activedescendant":W,"data-testid":j,...ue({onKeyDown:_e}),className:`${ke} flex w-full items-center ${we} ${p?`cursor-not-allowed`:`cursor-pointer`} ${w}`.trim().replace(/\s+/g,` `),children:[(0,l.jsx)(`span`,{className:`flex-1 truncate text-left ${je} ${Me}`,children:Se}),m&&(0,l.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${je} ${Ae}`,children:m}),h&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${Ae} ${Te}`,children:h}),g&&!p&&J&&(0,l.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:ge,"aria-label":`선택 지우기`,className:`flex shrink-0 cursor-pointer items-center ${Ae} hover:text-text-primary`,children:(0,l.jsx)(ve,{className:De,strokeWidth:1.5,"aria-hidden":!0})}),_&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${Te} ${Ee}`,children:_}),(0,l.jsx)(fe,{className:`shrink-0 transition-transform ${Oe} ${Ae} ${N?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}),D&&(0,l.jsx)(`input`,{type:`hidden`,name:D,value:t}),N&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsx)(d.FloatingFocusManager,{context:le,modal:!1,initialFocus:v?-1:0,children:(0,l.jsx)(`div`,{ref:ce.setFloating,id:U,style:q,...de(),className:`z-9999 overflow-hidden rounded-lg border border-border-tertiary bg-bg-white shadow-lg dark:border-border-secondary dark:bg-neutral-800 ${T}`,children:(0,l.jsxs)(`div`,{ref:H,className:`max-h-72 overflow-y-auto py-1`,children:[se.length===0?(0,l.jsx)(`div`,{className:`px-3 py-4 text-center text-sm text-text-tertiary`,children:x?`검색 중...`:`옵션이 없어요`}):se.map((e,n)=>{let r=String(e.value)===t,i=F===n;return(0,l.jsxs)(`div`,{id:ne(n),ref:e=>{R.current[n]=e},role:`option`,"aria-selected":r,"aria-disabled":e.disabled||void 0,tabIndex:i?0:-1,...pe({onClick:()=>{e.disabled||he(String(e.value))},onKeyDown:t=>{e.disabled||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),he(String(e.value)))}}),className:`flex cursor-pointer items-start gap-3 px-3 py-2 text-sm transition-colors ${e.disabled?`cursor-not-allowed text-text-disabled`:r?`font-medium text-primary-600 dark:text-primary-400 ${i?`bg-primary-50 dark:bg-primary-900/30`:`hover:bg-primary-50/60 dark:hover:bg-primary-900/20`}`:i?`bg-neutral-100 text-text-primary dark:bg-neutral-700`:`text-text-primary hover:bg-neutral-50 dark:hover:bg-neutral-700`}`,children:[(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,l.jsx)(`div`,{className:`mt-0.5 truncate text-xs text-text-tertiary`,children:e.description})]}),e.trailing&&(0,l.jsx)(`span`,{className:`shrink-0 text-xs text-text-tertiary`,children:e.trailing})]},String(e.value))}),O&&k&&(0,l.jsx)(`div`,{ref:B,"aria-hidden":!0,className:`flex items-center justify-center px-3 py-3 text-text-tertiary`,children:x&&(0,l.jsx)(gt,{})})]})})})}),s&&(0,l.jsx)(`div`,{className:We(f),children:s})]})}),vt=e=>e.length===0?``:e.map(e=>e.label).join(`, `),yt=e=>e.length===0?``:`${e.length}개 선택`,bt=(0,c.forwardRef)(function({options:e,value:t,onChange:n,variant:r,selectSize:i=`medium`,label:a,labelOption:o=`appear`,help:s,placeholder:u=`선택해주세요`,hasError:f=!1,disabled:p=!1,suffix:m,trailingIcon:h,clearable:g=!1,badge:_,searchable:v=!1,searchPlaceholder:y=`검색...`,onSearchChange:b,isSearchLoading:x=!1,containerProps:S,containerRef:C,className:w=``,panelClassName:T=``,formatTrigger:E=vt,formatCollapsed:D=yt,disableAutoCollapse:O=!1,showSelectAll:k=!1,id:A,name:j,"data-testid":M},N){let[P,F]=(0,c.useState)(!1),[I,L]=(0,c.useState)(null),[ee,R]=(0,c.useState)(``),[te,z]=(0,c.useState)(!1),B=(0,c.useRef)([]),V=(0,c.useRef)(null),H=(0,c.useRef)(null),U=(0,c.useRef)(null),ne=(0,c.useId)(),W=e=>`${ne}-opt-${e}`,G=I===null?void 0:W(I),re=typeof b==`function`,ie=(0,c.useMemo)(()=>{if(!v||re||ee.length===0)return e;let t=ee.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(t))},[e,v,re,ee]),ae=(0,c.useMemo)(()=>new Set(t),[t]),K=(0,c.useMemo)(()=>e.filter(e=>ae.has(String(e.value))),[e,ae]),{refs:oe,floatingStyles:se,context:ce}=(0,d.useFloating)({open:P,onOpenChange:F,placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(4),(0,d.flip)({padding:8}),(0,d.shift)({padding:8}),(0,d.size)({apply({rects:e,elements:t,availableHeight:n}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`,maxHeight:`${Math.min(n,320)}px`})},padding:8})]}),{getReferenceProps:q,getFloatingProps:le,getItemProps:ue}=(0,d.useInteractions)([(0,d.useClick)(ce,{enabled:!p}),(0,d.useDismiss)(ce),(0,d.useRole)(ce,{role:`listbox`}),(0,d.useListNavigation)(ce,{listRef:B,activeIndex:I,onNavigate:L,virtual:v,loop:!0})]);(0,c.useEffect)(()=>{P||(R(``),L(null),re&&b(``))},[P,re,b]),(0,c.useEffect)(()=>{P&&v&&V.current&&V.current.focus()},[P,v]),(0,c.useLayoutEffect)(()=>{if(O){z(!1);return}let e=H.current,t=U.current;if(!e||!t)return;let n=()=>{let n=t.scrollWidth,r=e.clientWidth;z(n>r-1)};n();let r=new ResizeObserver(()=>{requestAnimationFrame(n)});return r.observe(e),()=>r.disconnect()},[O,t.join(`,`)]);let pe=t=>{let r=new Set(ae);r.has(t)?r.delete(t):r.add(t),n(e.filter(e=>r.has(String(e.value))).map(e=>String(e.value)))},me=e=>{e.stopPropagation(),n([])},he=ie.filter(e=>!e.disabled).map(e=>String(e.value)),ge=he.length>0&&he.every(e=>ae.has(e)),_e=()=>{if(ge){let e=new Set(he);n(t.filter(t=>!e.has(t)))}else{let r=new Set([...t,...he]);n(e.filter(e=>r.has(String(e.value))).map(e=>String(e.value)))}},ye=e=>{!g||p||t.length===0||P||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),n([]))},be=e=>{let t=e.target.value;R(t),re&&b(t)},xe=e=>{if(!e.nativeEvent.isComposing&&e.key===`Enter`&&I!==null){e.preventDefault();let t=ie[I];t&&!t.disabled&&pe(String(t.value))}},J=K.length>0,Se=o===`sustain`||o===`appear`&&J,Ce=J?E(K):``,we=J?D(K):``,Te=J?te?we:Ce:u,Ee=Le[i],De=Fe[i],ke=Ie[i],Ae=Ne[i],je=Pe[i],Me=ze(r,f,p,i),Re=Ve(f,p,J||P),Be=i===`mini`?`text-xs`:i===`large`?`text-base`:`text-sm`,Ge=p?`text-text-disabled`:f?`text-text-danger`:J?`text-text-primary`:`text-text-tertiary`;return(0,l.jsxs)(`div`,{ref:C,className:He(),...S,children:[!O&&J&&(0,l.jsx)(`span`,{ref:U,"aria-hidden":!0,className:`pointer-events-none fixed left-0 -top-[9999px] whitespace-nowrap ${Be}`,children:Ce}),Se&&a&&(0,l.jsx)(`label`,{className:Ue(r,f),htmlFor:A,children:a}),(0,l.jsxs)(`button`,{ref:e=>{oe.setReference(e),typeof N==`function`?N(e):N&&(N.current=e)},id:A,type:`button`,disabled:p,"aria-haspopup":`listbox`,"aria-expanded":P,"aria-controls":P?ne:void 0,"aria-activedescendant":G,"data-testid":M,...q({onKeyDown:ye}),className:`${Me} flex w-full items-center ${Ee} ${p?`cursor-not-allowed`:`cursor-pointer`} ${w}`.trim().replace(/\s+/g,` `),children:[(0,l.jsx)(`span`,{ref:H,className:`flex-1 truncate text-left ${Be} ${Ge}`,children:Te}),m&&(0,l.jsx)(`span`,{className:`shrink-0 whitespace-nowrap ${Be} ${Re}`,children:m}),h&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${Re} ${De}`,children:h}),g&&!p&&J&&(0,l.jsx)(`span`,{role:`button`,tabIndex:-1,onClick:me,"aria-label":`선택 모두 지우기`,className:`flex shrink-0 cursor-pointer items-center ${Re} hover:text-text-primary`,children:(0,l.jsx)(ve,{className:Ae,strokeWidth:1.5,"aria-hidden":!0})}),_&&(0,l.jsx)(`span`,{className:`flex shrink-0 items-center ${De} ${ke}`,children:_}),(0,l.jsx)(fe,{className:`shrink-0 transition-transform ${je} ${Re} ${P?`rotate-180`:``}`,strokeWidth:1.5,"aria-hidden":!0})]}),j&&(0,l.jsx)(`input`,{type:`hidden`,name:j,value:t.join(`,`)}),P&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsx)(d.FloatingFocusManager,{context:ce,modal:!1,initialFocus:v?-1:0,children:(0,l.jsxs)(`div`,{ref:oe.setFloating,id:ne,style:se,...le(),className:`z-9999 overflow-hidden rounded-lg border border-border-tertiary bg-bg-white shadow-lg dark:border-border-secondary dark:bg-neutral-800 ${T}`,children:[v&&(0,l.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border-tertiary px-3 py-2 dark:border-border-secondary`,children:[(0,l.jsx)(Oe,{className:`h-4 w-4 shrink-0 text-icon-tertiary`,"aria-hidden":!0}),(0,l.jsx)(`input`,{ref:V,type:`text`,value:ee,onChange:be,onKeyDown:xe,placeholder:y,className:`flex-1 bg-transparent text-sm outline-hidden placeholder:text-text-tertiary`}),x&&(0,l.jsx)(gt,{className:`h-4 w-4 shrink-0 text-icon-tertiary`})]}),k&&ie.length>0&&(0,l.jsxs)(`button`,{type:`button`,onClick:_e,className:`flex w-full items-center justify-between border-b border-border-tertiary px-3 py-2 text-xs text-text-secondary transition-colors hover:bg-neutral-50 dark:border-border-secondary dark:hover:bg-neutral-700`,children:[(0,l.jsx)(`span`,{children:ge?`전체 해제`:`전체 선택`}),(0,l.jsxs)(`span`,{className:`text-text-tertiary`,children:[he.length,`개`]})]}),(0,l.jsx)(`div`,{className:`max-h-72 overflow-y-auto py-1`,children:ie.length===0?(0,l.jsx)(`div`,{className:`px-3 py-4 text-center text-sm text-text-tertiary`,children:x?`검색 중...`:`옵션이 없어요`}):ie.map((e,t)=>{let n=String(e.value),r=ae.has(n),i=I===t;return(0,l.jsxs)(`div`,{id:W(t),ref:e=>{B.current[t]=e},role:`option`,"aria-selected":r,"aria-disabled":e.disabled||void 0,tabIndex:i?0:-1,...ue({onClick:()=>{e.disabled||pe(n)},onKeyDown:t=>{e.disabled||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),pe(n))}}),className:`flex cursor-pointer items-start gap-3 px-3 py-2 text-sm transition-colors ${e.disabled?`cursor-not-allowed text-text-disabled`:i?`bg-neutral-100 text-text-primary dark:bg-neutral-700`:`text-text-primary hover:bg-neutral-50 dark:hover:bg-neutral-700`}`,children:[(0,l.jsx)(`span`,{className:`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border ${r?`border-primary-500 bg-primary-500 text-white`:`border-border-tertiary dark:border-border-secondary`}`,"aria-hidden":!0,children:r&&(0,l.jsx)(de,{className:`h-3 w-3`,strokeWidth:3})}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsx)(`div`,{className:`truncate ${r?`font-medium`:``}`,children:e.label}),e.description&&(0,l.jsx)(`div`,{className:`mt-0.5 truncate text-xs text-text-tertiary`,children:e.description})]}),e.trailing&&(0,l.jsx)(`span`,{className:`shrink-0 text-xs text-text-tertiary`,children:e.trailing})]},n)})})]})})}),s&&(0,l.jsx)(`div`,{className:We(f),children:s})]})}),xt=(0,c.forwardRef)(function({checked:e,indeterminate:t=!1,disabled:n=!1,onChange:r,pointerEventsNone:i=!1,ariaLabel:a},o){let s=(0,c.useRef)(null);(0,c.useEffect)(()=>{let n=s.current;n&&(n.indeterminate=t&&!e)},[t,e]);let u=t&&!e;return(0,l.jsxs)(`label`,{className:`relative inline-flex h-[18px] w-[18px] shrink-0 items-center justify-center ${n?`cursor-not-allowed`:`cursor-pointer`} ${i?`pointer-events-none`:``}`,style:{flex:`0 0 18px`},"aria-label":a,children:[(0,l.jsx)(`input`,{ref:e=>{s.current=e,typeof o==`function`?o(e):o&&(o.current=e)},type:`checkbox`,className:`peer sr-only`,checked:e,disabled:n,onChange:e=>r?.(e.target.checked)}),(0,l.jsx)(`span`,{className:`flex h-full w-full items-center justify-center rounded-md border-[1.5px] transition-colors ${e||u?`border-primary-500 bg-primary-500`:`border-neutral-300 bg-white dark:border-neutral-600 dark:bg-neutral-800`} ${n?`opacity-40`:``}`,children:u?(0,l.jsx)(Te,{className:`h-3 w-3 text-white`,strokeWidth:3}):e?(0,l.jsx)(de,{className:`h-3 w-3 text-white`,strokeWidth:3}):null})]})});function St(e,t=[]){if(t.length===0)return e.map(e=>({kind:`column`,key:e.key,header:e.header,leafColumns:[e],hideOnMobile:e.hideOnMobile}));let n=new Map(e.map(e=>[e.key,e])),r=new Map;for(let e of t)for(let t of e.columnKeys)r.set(t,e.key);let i=[],a=new Set;for(let o of e){let e=r.get(o.key);if(e){if(a.has(e))continue;a.add(e);let r=t.find(t=>t.key===e);if(!r)continue;let o=r.columnKeys.map(e=>n.get(e)).filter(e=>!!e);i.push({kind:`group`,key:r.key,header:r.header,leafColumns:o,hideOnMobile:r.hideOnMobile,group:r})}else i.push({kind:`column`,key:o.key,header:o.header,leafColumns:[o],hideOnMobile:o.hideOnMobile})}return i}function Ct(e){return e.map(e=>e.key)}function wt(e,t,n){let r=new Map(e.map(e=>[e.key,e])),i=new Set(t),a=t.map(e=>r.get(e)).filter(e=>!!e),o=e.filter(e=>!i.has(e.key));return[...a,...o].filter(e=>!(n.has(e.key)||e.kind===`column`&&e.leafColumns[0].hidden))}function Tt(e){return e.flatMap(e=>e.leafColumns)}function Et(e){return e.some(e=>e.kind===`group`)}function Dt({id:e,disabled:t=!1,as:n=`div`,colSpan:r,rowSpan:i,className:a,style:o,children:s}){let{setNodeRef:c,attributes:u,listeners:d,transform:f,transition:h,isDragging:g}=(0,p.useSortable)({id:e,disabled:t});return(0,l.jsx)(n,{ref:c,className:a,style:{...o,transform:m.CSS.Translate.toString(f),transition:h,opacity:g?.5:1,cursor:t?void 0:`grab`},...n===`th`?{...r===void 0?{}:{colSpan:r},...i===void 0?{}:{rowSpan:i}}:{},...t?{}:u,...t?{}:d,children:s})}function Ot({columns:e,defaultWidth:t=150,minWidth:n=50,maxWidth:r,tableRef:i,storageKey:a,controlledWidths:o,onColumnWidthsChange:s}){let l=o!==void 0,u=(0,c.useCallback)(()=>{if(l||!a)return{};try{let e=localStorage.getItem(a);if(e){let t=JSON.parse(e),r={};return Object.entries(t).forEach(([e,t])=>{typeof t==`number`&&t>=n&&(r[e]=t)}),r}}catch(e){console.warn(`[ColumnResize] Failed to load saved widths:`,e)}return{}},[l,a,n]),[d,f]=(0,c.useState)(()=>u()),p=l?o:d,m=(0,c.useCallback)(e=>{if(l){let t=typeof e==`function`?e(p):e;s?.(t);return}f(e)},[p,l,s]);(0,c.useEffect)(()=>{if(!l&&!(!a||Object.keys(d).length===0))try{localStorage.setItem(a,JSON.stringify(d))}catch(e){console.warn(`[ColumnResize] Failed to save widths:`,e)}},[d,l,a]);let h=(0,c.useRef)(null),g=(0,c.useRef)(null),_=(0,c.useCallback)(e=>{if(typeof e==`string`)return e;if(typeof e==`number`)return String(e);if(e==null)return``;if(Array.isArray(e))return e.map(e=>_(e)).join(``);if(typeof e==`object`&&`props`in e){let t=e.props;if(t?.children)return _(t.children)}return``},[]),v=(0,c.useCallback)(r=>{if(!g.current)return t;let i=e.find(e=>e.key===r)?.header,a=typeof i==`string`?i:_(i);g.current.textContent=a||r,g.current.style.fontSize=`14px`,g.current.style.fontWeight=`600`,g.current.style.padding=`0 24px`;let o=g.current.offsetWidth;return Math.max(n,o+20)},[e,_,t,n]);return{columnWidths:p,handleMouseDown:(0,c.useCallback)((e,a)=>{a.preventDefault(),a.stopPropagation();let o=p[e]||t;h.current={key:e,startX:a.clientX,startWidth:o};let s=i?.current?.querySelector(`colgroup col[data-col-key="${CSS.escape(e)}"]`)??null,c=i?.current??null,l=(c?parseFloat(c.style.width)||c.offsetWidth:0)-o,u=c?.parentElement?.clientWidth||1/0,d=Math.min(r??1/0,u),f=o,g=null,_=e=>{if(!h.current)return;let t=e.clientX-h.current.startX,r=Math.max(n,h.current.startWidth+t);f=Math.max(n,Math.min(r,d)),g===null&&(g=requestAnimationFrame(()=>{g=null,s&&(s.style.width=`${f}px`),c&&(c.style.width=`${l+f}px`)}))},v=()=>{g!==null&&cancelAnimationFrame(g);let e=h.current?.key;h.current=null,document.removeEventListener(`mousemove`,_),document.removeEventListener(`mouseup`,v),e&&m(t=>({...t,[e]:f}))};document.addEventListener(`mousemove`,_),document.addEventListener(`mouseup`,v)},[p,t,n,r,i,m]),handleDoubleClick:(0,c.useCallback)(()=>{},[]),getColumnWidth:(0,c.useCallback)((e,t)=>p[e]?`${p[e]}px`:t?typeof t==`number`?`${t}px`:t:`${v(e)}px`,[p,v]),measureRef:g}}function kt({enabled:e,containerRef:t,theadRef:n,tbodyRef:r,excludeRowsSelector:i,remainingMode:a,observeTbody:o=!1,deps:s=[]}){let[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(null);return(0,c.useLayoutEffect)(()=>{if(!e){u(e=>e===0?e:0);return}let s=t.current,c=n.current,l=r.current;if(!s||!c||!l)return;let d=()=>{let e=s.clientHeight,t=c.offsetHeight,n=l.querySelectorAll(i);if(n.length===0){u(0),f(null);return}let r=0;n.forEach(e=>{r+=e.offsetHeight});let o=r/n.length;if(o<=0)return;f(e=>e===o?e:o);let d=a===`tbody-height`?l.offsetHeight:r,p=e-t-d,m=p>0?Math.floor(p/o):0;u(e=>e===m?e:m)};d();let p=null,m=new ResizeObserver(()=>{p===null&&(p=requestAnimationFrame(()=>{p=null,d()}))});return m.observe(s),o&&m.observe(l),()=>{m.disconnect(),p!==null&&cancelAnimationFrame(p)}},[e,i,a,o,...s]),{emptyRowCount:l,measuredRowHeight:d}}function At({rows:e,getRowId:t,isSelected:n,setSelected:r,enabled:i=!0,scrollContainerRef:a,edgeSize:o=60,maxSpeed:s=14}){let l=(0,c.useRef)(!1),u=(0,c.useRef)(!0),d=(0,c.useRef)(null),f=(0,c.useRef)(null),p=(0,c.useRef)(null),m=(0,c.useRef)(e);m.current=e;let h=(0,c.useRef)(t);h.current=t;let g=(0,c.useRef)(n);g.current=n;let _=(0,c.useRef)(r);_.current=r;let v=(0,c.useMemo)(()=>{let n=new Map;for(let r=0;r<e.length;r++)n.set(t(e[r]),r);return n},[e]),y=(0,c.useRef)(v);y.current=v;let b=(0,c.useCallback)(()=>{p.current!=null&&(cancelAnimationFrame(p.current),p.current=null),f.current=null},[]),x=(0,c.useCallback)(()=>{if(p.current=null,!l.current)return;let e=a?.current,t=f.current;if(!e||t==null)return;let n=e.getBoundingClientRect(),r=0;if(t<n.top+o){let e=(n.top+o-t)/o;r=-Math.ceil(s*Math.min(1,Math.max(0,e)))}else if(t>n.bottom-o){let e=(t-(n.bottom-o))/o;r=Math.ceil(s*Math.min(1,Math.max(0,e)))}r!==0&&(e.scrollTop+=r),p.current=requestAnimationFrame(x)},[o,s,a]);(0,c.useEffect)(()=>{if(!i)return;let e=()=>{l.current=!1,d.current=null,b()},t=e=>{l.current&&(f.current=e.clientY,p.current??=requestAnimationFrame(x))};return window.addEventListener(`mouseup`,e),window.addEventListener(`mousemove`,t),()=>{window.removeEventListener(`mouseup`,e),window.removeEventListener(`mousemove`,t),b()}},[i,b,x]);let S=e=>e==null?-1:y.current.get(e)??-1;return{onRowMouseDown:(0,c.useCallback)(e=>{if(!i)return;let t=m.current[e];t&&(l.current=!0,d.current=h.current(t),u.current=!g.current(t),_.current(t,u.current))},[i]),onRowMouseEnter:(0,c.useCallback)(e=>{if(!i||!l.current)return;let t=m.current,n=t[e];if(!n)return;let r=h.current(n);if(r===d.current)return;let a=S(d.current),o=a===-1?e:a,s=Math.min(o,e),c=Math.max(o,e);for(let e=s;e<=c;e++){let n=t[e];n&&g.current(n)!==u.current&&_.current(n,u.current)}d.current=r},[i])}}function jt({initialSort:e,serverSide:t=!1,onSort:n}={}){let[r,i]=(0,c.useState)(e||null);return{sort:r,handleSort:(0,c.useCallback)(e=>{let a={key:e,direction:r?.key===e?r.direction===`asc`?`desc`:r.direction===`desc`?null:`asc`:`asc`},o=a.direction===null?null:a;i(o),t&&n&&o&&n(o)},[r,t,n]),sortedData:(0,c.useCallback)((e,n)=>!r||!r.direction||t?e:[...e].sort((e,t)=>{let i=n(e,r.key),a=n(t,r.key);if(i==null&&a==null)return 0;if(i==null)return 1;if(a==null)return-1;if(typeof i==`number`&&typeof a==`number`)return r.direction===`asc`?i-a:a-i;let o=String(i),s=String(a),c=o.localeCompare(s,`ko`,{numeric:!0});return r.direction===`asc`?c:-c}),[r,t])}}var Mt=()=>`w-full
|
|
2
|
+
border-collapse
|
|
3
|
+
text-left
|
|
4
|
+
table-fixed`.replace(/\s+/g,` `),Nt=(e=`default`)=>({default:``,bordered:`border border-neutral-200 dark:border-neutral-700`,striped:``})[e],Pt=(e=`medium`)=>({small:`text-sm`,medium:`text-base`,large:`text-lg`})[e],Ft=(e=`left`)=>({left:`text-left justify-start`,center:`text-center justify-center`,right:`text-right justify-end`})[e],It=()=>`font-medium
|
|
5
|
+
text-text-secondary
|
|
6
|
+
text-sm
|
|
7
|
+
uppercase
|
|
8
|
+
tracking-wider
|
|
9
|
+
bg-bg-base-secondary
|
|
10
|
+
leading-tight`.replace(/\s+/g,` `),Lt=()=>`px-6
|
|
11
|
+
py-1.5
|
|
12
|
+
text-text-secondary
|
|
13
|
+
text-sm
|
|
14
|
+
font-medium
|
|
15
|
+
leading-tight
|
|
16
|
+
border-b border-r border-border-secondary dark:border-border-tertiary
|
|
17
|
+
whitespace-nowrap
|
|
18
|
+
bg-bg-base-secondary`.replace(/\s+/g,` `),Rt=()=>`px-3
|
|
19
|
+
py-0.5
|
|
20
|
+
text-neutral-900 dark:text-white
|
|
21
|
+
text-xs
|
|
22
|
+
leading-tight
|
|
23
|
+
border-b border-r border-[#f2f3f5] dark:border-neutral-700
|
|
24
|
+
whitespace-nowrap
|
|
25
|
+
overflow-hidden
|
|
26
|
+
text-ellipsis`.replace(/\s+/g,` `),zt=()=>`px-3
|
|
27
|
+
py-0.5
|
|
28
|
+
text-neutral-900 dark:text-white
|
|
29
|
+
text-xs
|
|
30
|
+
leading-tight
|
|
31
|
+
border-b border-r border-[#f2f3f5] dark:border-neutral-700
|
|
32
|
+
whitespace-nowrap`.replace(/\s+/g,` `),Bt=e=>e%2==0?`bg-[#f9fafb] dark:bg-slate-900/50 hover:bg-[#f3f4f6] dark:hover:bg-slate-800`:`bg-white dark:bg-slate-950 hover:bg-slate-50 dark:hover:bg-slate-900`,Vt=()=>`bg-blue-50 dark:bg-blue-950/50
|
|
33
|
+
hover:bg-blue-100 dark:hover:bg-blue-950/70
|
|
34
|
+
shadow-[inset_4px_0_0_0_var(--color-primary-500)]
|
|
35
|
+
dark:shadow-[inset_4px_0_0_0_var(--color-primary-400)]`.replace(/\s+/g,` `),Ht=()=>`hover:bg-[#f9fafb]
|
|
36
|
+
transition-colors duration-200
|
|
37
|
+
cursor-pointer`.replace(/\s+/g,` `),Ut=({transform:e,draggingNodeRect:t,containerNodeRect:n})=>{let r={...e,y:0};if(!t||!n)return r;let i=n.left-t.left,a=n.right-t.right;return r.x=Math.min(Math.max(r.x,i),a),r},Wt=(0,c.forwardRef)((e,t)=>{let{data:n,columns:r,columnGroups:i,rowHeight:a,loading:o=!1,isFetching:s=!1,emptyMessage:u=`데이터가 없어요`,onRowClick:d,selectedRows:m=[],onRowSelect:h,enableRowSelection:g=!1,enableSelectAll:_=!1,rowCompare:v,getRowId:y,enableSorting:b=!1,serverSideSorting:x=!1,onSortChange:S,initialSort:C,variant:w=`default`,size:T=`medium`,stickyHeader:E=!0,height:D,maxHeight:O,storageKey:k,columnState:A,fillEmptyRows:j=!0,totalElements:M,footerSlot:N,className:P=``,"data-testid":F,...I}=e,{sort:L,sortedData:ee}=jt({initialSort:C,serverSide:x,onSort:S||void 0}),R=(0,c.useMemo)(()=>!b||x?n:ee(n,(e,t)=>{let n=r.find(e=>e.key===t);if(n?.accessor){let r=n.accessor(e);return typeof r==`string`||typeof r==`number`?r:e[t]}return e[t]}),[n,b,x,L,ee,r]),te=(0,c.useRef)(null),z=(0,c.useRef)(null),B=(0,c.useRef)(null),V=(0,c.useRef)(null),H=!!A,U=(0,f.useSensors)((0,f.useSensor)(f.PointerSensor,{activationConstraint:{distance:5}}),(0,f.useSensor)(f.KeyboardSensor,{coordinateGetter:p.sortableKeyboardCoordinates})),ne=(0,c.useMemo)(()=>St(r,i),[r,i]),W=(0,c.useMemo)(()=>{if(!A)return ne.filter(e=>!(e.kind===`column`&&e.leafColumns[0].hidden));let e=new Set(A.hiddenColumns);return wt(ne,A.columnOrder,e)},[ne,A]),G=(0,c.useMemo)(()=>Tt(W),[W]),re=(0,c.useMemo)(()=>Et(W),[W]),ie=(0,c.useMemo)(()=>new Map(ne.map(e=>[e.key,e])),[ne]),ae=e=>{let{active:t,over:n}=e;if(!A||!n||t.id===n.id)return;let r=ie.get(String(n.id));if(r?.kind===`column`&&r.leafColumns[0].excludeFromPreset)return;let i=A.columnOrder,a=i.indexOf(String(t.id)),o=i.indexOf(String(n.id));a===-1||o===-1||A.onColumnOrderChange((0,p.arrayMove)(i,a,o))},{handleMouseDown:K,handleDoubleClick:oe,getColumnWidth:se,measureRef:ce}=Ot({columns:G,data:R,getCellContent:(e,t)=>{let n=G.find(e=>e.key===t);return n?.accessor?n.accessor(e):e[t]},tableRef:te,...A?{controlledWidths:A.columnWidths,onColumnWidthsChange:A.onColumnWidthsChange}:{storageKey:k}}),q=Mt(),le=Nt(w),ue=Pt(T),de=g&&_?48:0,fe=(0,c.useMemo)(()=>G.reduce((e,t)=>{let n=se(t.key,t.width),r=parseFloat(n);return e+(Number.isFinite(r)?r:0)},0)+de,[G,se,de]),pe=(0,c.useMemo)(()=>{let e={};return D&&(e.height=typeof D==`number`?`${D}px`:D),O&&(e.maxHeight=typeof O==`number`?`${O}px`:O),e},[D,O]),{emptyRowCount:me,measuredRowHeight:he}=kt({enabled:j,containerRef:z,theadRef:B,tbodyRef:V,excludeRowsSelector:`tr:not([data-empty-row])`,remainingMode:`sum-real-rows`,deps:[R,G]}),ge=e=>!g||m.length===0?!1:v?m.some(t=>v(t,e)):m.some(t=>t===e),_e=(0,c.useMemo)(()=>!g||!_||R.length===0?!1:R.every(e=>ge(e)),[g,_,R,ge]),ve=()=>{!g||!h||(_e?R.forEach(e=>{ge(e)&&h(e,!1)}):R.forEach(e=>{ge(e)||h(e,!0)}))},ye=g&&!!h&&!!y,be=At({rows:R,getRowId:y??(()=>-1),isSelected:e=>ge(e),setSelected:(e,t)=>h?.(e,t),enabled:ye,scrollContainerRef:z}),J=(e,t)=>{let n=[Bt(t)];return ge(e)&&n.push(Vt()),d&&n.push(Ht()),n.join(` `)};return o?(0,l.jsx)(`div`,{ref:t,className:`flex items-center justify-center p-8 flex-1 ${P}`,style:pe,"data-testid":F,...I,children:(0,l.jsx)(pt,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,l.jsxs)(`div`,{ref:t,className:`relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6 ${P}`,style:pe,"data-testid":F,...I,children:[(0,l.jsx)(`div`,{ref:ce,className:`absolute invisible whitespace-nowrap`,style:{top:`-9999px`,left:`-9999px`}}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,children:[(0,l.jsxs)(`div`,{className:`relative flex flex-1 flex-col min-h-0`,children:[(0,l.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-white/50 backdrop-blur-[2px] transition-opacity duration-150 dark:bg-neutral-900/50 ${s?`opacity-100`:`opacity-0`}`,...s?{role:`status`,"aria-live":`polite`}:{"aria-hidden":!0},children:(0,l.jsx)(pt,{message:``,className:`min-h-0`})}),(0,l.jsx)(`div`,{ref:z,className:`scrollbar-table overflow-auto flex-1 bg-[#f9fafb] dark:bg-slate-900/50`,children:R.length===0?(0,l.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,l.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:u})}):(0,l.jsx)(f.DndContext,{sensors:U,collisionDetection:f.closestCenter,onDragEnd:ae,modifiers:[Ut],children:(0,l.jsxs)(`table`,{ref:te,className:`${q} ${le} ${ue}`,style:{tableLayout:`fixed`,minWidth:`100%`,width:`${fe}px`},children:[(0,l.jsxs)(`colgroup`,{children:[g&&_&&(0,l.jsx)(`col`,{style:{width:`48px`}}),G.map(e=>(0,l.jsx)(`col`,{"data-col-key":e.key,style:{width:se(e.key,e.width)}},e.key))]}),(0,l.jsxs)(`thead`,{ref:B,className:It(),style:{position:E?`sticky`:`relative`,top:E?0:void 0,zIndex:E?10:void 0},children:[(0,l.jsxs)(`tr`,{children:[g&&_&&(0,l.jsx)(`th`,{rowSpan:re?2:1,className:`${Lt()} ${Ft(`center`)} w-12 px-0`,children:(0,l.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,l.jsx)(xt,{checked:_e,onChange:()=>ve(),ariaLabel:`전체 선택`})})}),(0,l.jsx)(p.SortableContext,{items:W.map(e=>e.key),strategy:p.horizontalListSortingStrategy,children:W.map(e=>{if(e.kind===`group`)return(0,l.jsxs)(Dt,{id:e.key,disabled:!H,as:`th`,colSpan:e.leafColumns.length,className:`${Lt()} ${Ft(`center`)} group/header-cell ${e.hideOnMobile?`hidden md:table-cell`:``} relative`,children:[H&&(0,l.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-text-tertiary opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,l.jsx)(xe,{className:`h-3.5 w-3.5`})}),(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:e.header})})]},e.key);let t=e.leafColumns[0],n=!H||t.excludeFromPreset===!0;return(0,l.jsxs)(Dt,{id:t.key,disabled:n,as:`th`,rowSpan:re?2:1,className:`${Lt()} ${Ft(`center`)} group/header-cell ${t.sticky?`sticky left-0 z-20 bg-bg-base-secondary`:``} ${t.hideOnMobile?`hidden md:table-cell`:``} relative`,style:{width:se(t.key,t.width),minWidth:t.minWidth||50},children:[!n&&(0,l.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-text-tertiary opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,l.jsx)(xe,{className:`h-3.5 w-3.5`})}),(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:t.header})}),t.excludeFromPreset!==!0&&(0,l.jsx)(`div`,{className:`group/resize absolute right-0 top-0 h-full w-3 cursor-col-resize z-50 flex items-center justify-center`,onPointerDown:e=>e.stopPropagation(),onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),K(t.key,e)},onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),oe(t.key,e)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{touchAction:`none`},title:`드래그하여 너비 조절, 더블 클릭하여 자동 조절`,children:(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`h-1/2 w-0.5 rounded-full bg-transparent transition-colors group-hover/header-cell:bg-text-tertiary group-hover/resize:!bg-primary-500 group-active/resize:!bg-primary-600`})})]},t.key)})})]}),re&&(0,l.jsx)(`tr`,{children:W.filter(e=>e.kind===`group`).flatMap(e=>e.leafColumns).map(e=>(0,l.jsx)(`th`,{className:`${Lt()} ${Ft(e.align??`center`)} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:se(e.key,e.width),minWidth:e.minWidth||50},children:(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,l.jsx)(`span`,{children:e.header})})},e.key))})]}),(0,l.jsxs)(`tbody`,{ref:V,children:[R.map((e,t)=>{let n=ge(e);return(0,l.jsxs)(`tr`,{className:J(e,t),onClick:()=>d?.(e,t),style:a?{height:`${a}px`}:void 0,children:[g&&_&&(0,l.jsx)(`td`,{className:`${Rt()} ${Ft(`center`)} w-12 select-none`,onClick:e=>e.stopPropagation(),onMouseDown:ye?e=>{e.preventDefault(),be.onRowMouseDown(t)}:void 0,onMouseEnter:ye?()=>be.onRowMouseEnter(t):void 0,children:(0,l.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,l.jsx)(xt,{checked:n,onChange:t=>h?.(e,t),pointerEventsNone:ye,ariaLabel:`행 선택`})})}),G.map(t=>{let n=t.accessor?t.accessor(e):e[t.key];return(0,l.jsx)(`td`,{className:`${Rt()} ${Ft(t.align)} ${t.sticky?`sticky left-0 z-10 bg-inherit`:``} ${t.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:se(t.key,t.width),minWidth:t.minWidth||50,...a?{height:`${a}px`,maxHeight:`${a}px`,overflow:`hidden`}:{}},children:n},t.key)})]},t)}),j&&Array.from({length:me}).map((e,t)=>{let n=R.length+t,r=a??he??void 0;return(0,l.jsxs)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:Bt(n),style:r?{height:`${r}px`}:void 0,children:[g&&_&&(0,l.jsx)(`td`,{className:`${Rt()} w-12`,style:r?{height:`${r}px`}:void 0}),G.map(e=>(0,l.jsx)(`td`,{className:`${Rt()} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:se(e.key,e.width),minWidth:e.minWidth||50,...r?{height:`${r}px`}:{}}},e.key))]},`empty-${t}`)})]})]})})})]}),N??(M===void 0?null:(0,l.jsx)(`div`,{className:`flex justify-end shrink-0 text-sm text-neutral-600 dark:text-neutral-300`,children:(0,l.jsxs)(`span`,{children:[`총 `,M.toLocaleString(),`건`]})}))]})]})});Wt.displayName=`Table`;function Gt({onKeyDown:e}){return(0,l.jsxs)(`button`,{type:`button`,onKeyDown:e,title:`키보드로 페이지 이동 (포커스 후 ← / → 키)`,"aria-label":`키보드로 페이지 이동 활성화`,className:`group/kbd inline-flex items-center gap-0 rounded border border-neutral-300 bg-white px-1.5 py-1 text-neutral-500 transition-[color,background-color,border-color,gap] duration-200 hover:border-primary-300 hover:text-primary-600 focus:gap-1.5 focus:border-primary-500 focus:bg-primary-50 focus:text-primary-700 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-800 dark:text-neutral-400 dark:hover:border-primary-400 dark:focus:bg-primary-950/40 dark:focus:text-primary-300 pointer-coarse:hidden`,children:[(0,l.jsx)(Se,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),(0,l.jsx)(`span`,{className:`grid grid-cols-[0fr] overflow-hidden text-xs tabular-nums opacity-0 transition-[grid-template-columns,opacity] duration-200 group-focus/kbd:grid-cols-[1fr] group-focus/kbd:opacity-100`,children:(0,l.jsx)(`span`,{className:`min-w-0 whitespace-nowrap`,children:`← / → 키로 이동 중`})})]})}function Kt({currentPage:e,totalPages:t,onPageChange:n,className:r=``,"data-testid":i}){let[a,o]=(0,c.useState)(``),s=e=>{let n=e.replace(/[^0-9]/g,``);if(n===``){o(``);return}let r=Number(n);if(r<=0){o(``);return}o(String(Math.min(t,r)))},u=()=>{if(a===``)return;let r=Number(a),i=Math.max(1,Math.min(t,Math.floor(r)));i!==e&&n(i),o(``)},d=e=>{e.key===`Enter`?(e.preventDefault(),u()):e.key===`Escape`&&(o(``),e.target.blur())},f=String(t).length,p=f<=2?`w-12`:f===3?`w-14`:`w-16`;return(0,l.jsxs)(`label`,{className:`flex items-center gap-1 text-sm text-neutral-600 dark:text-neutral-300 ${r}`,children:[(0,l.jsx)(`span`,{className:`text-neutral-500`,children:`이동`}),(0,l.jsx)(`input`,{type:`text`,inputMode:`numeric`,pattern:`[0-9]*`,maxLength:f,value:a,placeholder:String(e),onChange:e=>s(e.target.value),onKeyDown:d,onBlur:u,"aria-label":`페이지 번호 입력 (1-${t})`,"data-testid":i,className:`${p} rounded border border-neutral-300 bg-white px-2 py-0.5 text-center tabular-nums text-neutral-700 transition-colors hover:border-primary-300 focus:border-primary-500 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-800 dark:text-neutral-200 dark:hover:border-primary-400`}),(0,l.jsxs)(`span`,{className:`text-neutral-500 tabular-nums`,children:[`/ `,t.toLocaleString()]})]})}var qt=[9,7,5,3,1],Jt=16,Yt=`px-0.5 text-xs text-text-tertiary font-mono @min-[640px]/pagebar:px-1 @min-[640px]/pagebar:text-sm`,Xt=`inline-flex h-7 min-w-6 items-center justify-center rounded-md px-1.5 font-mono text-xs tabular-nums transition-colors @min-[640px]/pagebar:h-8 @min-[640px]/pagebar:min-w-7 @min-[640px]/pagebar:px-2 @min-[640px]/pagebar:text-sm`,Zt=`text-text-disabled hover:bg-bg-base-secondary hover:text-text-secondary`,Qt=`font-bold text-text-secondary`,$t=`outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500`,en=`disabled:cursor-not-allowed disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-text-tertiary`;function tn({active:e=!1,className:t=``,children:n,...r}){return(0,l.jsx)(`button`,{type:`button`,"aria-current":e?`page`:void 0,className:`${Xt} ${e?Qt:Zt} ${$t} ${en} ${t}`,...r,children:n})}function nn(e,t,n){let r=Math.floor(n/2),i=Math.max(1,e-r),a=Math.min(t,i+n-1);a-i<n-1&&(i=Math.max(1,a-n+1));let o=[];for(let e=i;e<=a;e++)o.push(e);return o}function rn(e,t){let n=t<=28?4:8,r=t<=28,i=r?24:28,a=r?7:8;return e.reduce((e,t)=>{let n=String(t).length;return e+Math.max(i,i+(n-1)*a)},0)+n*Math.max(0,e.length-1)+Jt*2+24}function an(e,t,n,r,i,a){let o=e-r,s=qt.filter(e=>e<=a);for(let e of s)if(rn(nn(t,n,e),i)<=o)return e;return 1}function on({currentPage:e,totalPages:t,pages:n,onPageChange:r,testId:i}){if(n.length===0)return null;let a=n[0]>1,o=n[n.length-1]<t;return(0,l.jsxs)(l.Fragment,{children:[a&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(tn,{active:e===1,onClick:()=>r(1),"data-testid":i?`${i}-page-1`:void 0,children:`1`}),n[0]>2&&(0,l.jsx)(`span`,{className:Yt,children:`…`})]}),n.map(t=>(0,l.jsx)(tn,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t},t)),o&&(0,l.jsxs)(l.Fragment,{children:[n[n.length-1]<t-1&&(0,l.jsx)(`span`,{className:Yt,children:`…`}),(0,l.jsx)(tn,{active:e===t,onClick:()=>r(t),"data-testid":i?`${i}-page-${t}`:void 0,children:t})]})]})}function sn({currentPage:e,totalPages:t,onPageChange:n,hasPreviousPage:r,hasNextPage:i,maxPageButtons:a=9,className:o=``,"data-testid":s,...u}){let d=(0,c.useRef)(null),[f,p]=(0,c.useState)(a);if((0,c.useLayoutEffect)(()=>{let n=d.current;if(!n)return;let r=n.parentElement;if(!r)return;let i=()=>{let n=r.offsetWidth,i=n<640,o=i?28:32,s=i?4:8,c=an(n,e,t,o*4+s*5,o,a);p(e=>e===c?e:c)};i();let o=new ResizeObserver(i);return o.observe(r),()=>o.disconnect()},[e,t,a]),t<1)return null;if(t===1)return(0,l.jsx)(`div`,{ref:d,className:`flex items-center justify-center gap-1 sm:gap-2 ${o}`,"data-testid":s,...u,children:(0,l.jsx)(tn,{active:!0,disabled:!0,"data-testid":s?`${s}-page-1`:void 0,children:`1`})});let m=nn(e,t,f);return(0,l.jsxs)(`div`,{ref:d,className:`flex items-center justify-center gap-1 sm:gap-2 ${o}`,"data-testid":s,...u,children:[(0,l.jsx)(tn,{disabled:e===1,onClick:()=>n(1),"data-testid":s?`${s}-first`:void 0,"aria-label":`첫 페이지`,children:(0,l.jsx)(he,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,l.jsx)(tn,{disabled:r===!1||e===1,onClick:()=>n(e-1),"data-testid":s?`${s}-prev`:void 0,"aria-label":`이전 페이지`,children:(0,l.jsx)(pe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,l.jsx)(on,{currentPage:e,totalPages:t,pages:m,onPageChange:n,testId:s}),(0,l.jsx)(tn,{disabled:i===!1||e===t,onClick:()=>n(e+1),"data-testid":s?`${s}-next`:void 0,"aria-label":`다음 페이지`,children:(0,l.jsx)(me,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,l.jsx)(tn,{disabled:e===t,onClick:()=>n(t),"data-testid":s?`${s}-last`:void 0,"aria-label":`마지막 페이지`,children:(0,l.jsx)(ge,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]})}var cn=[30,50,100];function ln({currentPage:e,totalPages:t,onPageChange:n,pageSize:r,pageSizeOptions:i=cn,onPageSizeChange:a,hasPreviousPage:o,hasNextPage:s,totalElements:c,showTotalCount:u=!0,enablePageJump:d=!0,enableKeyboardPagination:f=!0,"data-testid":p}){let m=o??e>1,h=s??e<t,g=t=>{f&&(t.altKey||t.metaKey||t.ctrlKey||t.shiftKey||(t.key===`ArrowLeft`&&m?(t.preventDefault(),n(e-1)):t.key===`ArrowRight`&&h&&(t.preventDefault(),n(e+1))))};return(0,l.jsxs)(`nav`,{"aria-label":`페이지 네비게이션`,className:`@container/pagebar group/footer flex flex-wrap items-center justify-between gap-x-3 gap-y-2 shrink-0`,children:[(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-neutral-600 dark:text-neutral-300`,children:[u&&c!==void 0&&(0,l.jsxs)(`span`,{children:[`총 `,c.toLocaleString(),`건`]}),a&&r!==void 0&&(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsx)(`span`,{className:`text-neutral-500`,children:`페이지당`}),(0,l.jsx)(`div`,{className:`w-20`,children:(0,l.jsx)(_t,{variant:`box`,selectSize:`mini`,value:String(r),onChange:e=>a(Number(e)),options:i.map(e=>({value:String(e),label:String(e)})),placeholder:`선택`,"data-testid":p?`${p}-page-size`:void 0})})]}),(0,l.jsx)(`div`,{className:`contents @min-[640px]/pagebar:hidden`,children:d&&t>1&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Kt,{currentPage:e,totalPages:t,onPageChange:n,"data-testid":p?`${p}-page-jump`:void 0}),f&&(0,l.jsx)(Gt,{onKeyDown:g})]})})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-3 @min-[640px]/pagebar:flex-1 @min-[640px]/pagebar:justify-end @max-[639px]/pagebar:w-full @max-[639px]/pagebar:justify-center`,children:[(0,l.jsx)(`div`,{className:`hidden @min-[640px]/pagebar:contents`,children:d&&t>1&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Kt,{currentPage:e,totalPages:t,onPageChange:n,"data-testid":p?`${p}-page-jump`:void 0}),f&&(0,l.jsx)(Gt,{onKeyDown:g})]})}),(0,l.jsx)(sn,{currentPage:e,totalPages:t,onPageChange:n,hasPreviousPage:m,hasNextPage:h,"data-testid":p?`${p}-pagination`:void 0})]})]})}var un=(0,c.forwardRef)((e,t)=>{let{currentPage:n,totalPages:r,onPageChange:i,pageSize:a,pageSizeOptions:o,onPageSizeChange:s,totalElements:c,hasPreviousPage:u,hasNextPage:d,enableKeyboardPagination:f=!0,showTotalCount:p=!0,enablePageJump:m=!0,"data-testid":h,...g}=e;return(0,l.jsx)(Wt,{ref:t,"data-testid":h,footerSlot:(0,l.jsx)(ln,{currentPage:n,totalPages:r,onPageChange:i,pageSize:a,pageSizeOptions:o,onPageSizeChange:s,hasPreviousPage:u,hasNextPage:d,totalElements:c,showTotalCount:p,enablePageJump:m,enableKeyboardPagination:f,"data-testid":h}),...g})});un.displayName=`PaginatedTable`;var dn=(0,c.forwardRef)((e,t)=>{let{data:n,columns:r,loading:i=!1,isFetching:a=!1,emptyMessage:o=`데이터가 없어요`,rowHeight:s,height:u,variant:d=`default`,size:f=`medium`,fillEmptyRows:p=!0,onRowClick:m,footerSlot:h,getRowKey:g,className:_=``,"data-testid":v,...y}=e,b=(0,c.useRef)(null),x=(0,c.useRef)(null),S=(0,c.useRef)(null),C=(0,c.useRef)(null),w=(0,c.useMemo)(()=>r.filter(e=>!e.hidden),[r]),T=Mt(),E=Nt(d),D=Pt(f),O=(0,c.useMemo)(()=>{let e={};return u&&(e.height=typeof u==`number`?`${u}px`:u),e},[u]),{emptyRowCount:k,measuredRowHeight:A}=kt({enabled:p,containerRef:x,theadRef:S,tbodyRef:C,excludeRowsSelector:`tr:not([data-empty-row])`,remainingMode:`sum-real-rows`,deps:[n,w]}),j=(e,t)=>{let n=[Bt(t)];return m&&n.push(Ht()),n.join(` `)};return i?(0,l.jsx)(`div`,{ref:t,className:`flex items-center justify-center p-8 flex-1 ${_}`,style:O,"data-testid":v,...y,children:(0,l.jsx)(pt,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,l.jsx)(`div`,{ref:t,className:`relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6 ${_}`,style:O,"data-testid":v,...y,children:(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,children:[(0,l.jsxs)(`div`,{className:`relative flex flex-1 flex-col min-h-0`,children:[(0,l.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-white/50 backdrop-blur-[2px] transition-opacity duration-150 dark:bg-neutral-900/50 ${a?`opacity-100`:`opacity-0`}`,...a?{role:`status`,"aria-live":`polite`}:{"aria-hidden":!0},children:(0,l.jsx)(pt,{message:``,className:`min-h-0`})}),(0,l.jsx)(`div`,{ref:x,className:`scrollbar-table overflow-x-auto overflow-y-hidden flex-1 bg-bg-gray-primary dark:bg-slate-900/50`,children:n.length===0?(0,l.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,l.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:o})}):(0,l.jsxs)(`table`,{ref:b,className:`${T} ${E} ${D} !table-auto`,style:{minWidth:`100%`},children:[(0,l.jsx)(`colgroup`,{children:w.map((e,t)=>{let n=t===w.length-1;return(0,l.jsx)(`col`,{"data-col-key":e.key,style:n?void 0:e.width?{width:typeof e.width==`number`?`${e.width}px`:e.width}:void 0},e.key)})}),(0,l.jsx)(`thead`,{ref:S,className:It(),children:(0,l.jsx)(`tr`,{children:w.map(e=>(0,l.jsx)(`th`,{className:`${Lt()} ${Ft(e.align??`center`)} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{...e.minWidth?{minWidth:`${e.minWidth}px`}:{minWidth:50}},children:(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full px-1 select-none`,children:(0,l.jsx)(`span`,{children:e.header})})},e.key))})}),(0,l.jsxs)(`tbody`,{ref:C,children:[n.map((e,t)=>(0,l.jsx)(`tr`,{className:j(e,t),onClick:()=>m?.(e,t),style:s?{height:`${s}px`}:void 0,children:w.map(t=>{let n=t.accessor?t.accessor(e):e[t.key];return(0,l.jsx)(`td`,{className:`${zt()} ${Ft(t.align??`left`)} ${t.hideOnMobile?`hidden md:table-cell`:``}`,style:s?{height:`${s}px`,maxHeight:`${s}px`}:void 0,children:n},t.key)})},g?g(e,t):t)),p&&Array.from({length:k}).map((e,t)=>{let r=n.length+t,i=s??A??void 0;return(0,l.jsx)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:Bt(r),style:i?{height:`${i}px`}:void 0,children:w.map(e=>(0,l.jsx)(`td`,{className:`${zt()} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:i?{height:`${i}px`}:void 0},e.key))},`empty-${t}`)})]})]})})]}),h]})})});dn.displayName=`MiniTable`;var fn=(0,c.forwardRef)((e,t)=>{let{currentPage:n,totalPages:r,onPageChange:i,pageSize:a,pageSizeOptions:o,onPageSizeChange:s,totalElements:c,hasPreviousPage:u,hasNextPage:d,showTotalCount:f=!1,enablePageJump:p=!1,enableKeyboardPagination:m=!1,"data-testid":h,...g}=e;return(0,l.jsx)(dn,{ref:t,"data-testid":h,footerSlot:(0,l.jsx)(ln,{currentPage:n,totalPages:r,onPageChange:i,pageSize:a,pageSizeOptions:o,onPageSizeChange:s,hasPreviousPage:u,hasNextPage:d,totalElements:c,showTotalCount:f,enablePageJump:p,enableKeyboardPagination:m,"data-testid":h}),...g})});fn.displayName=`PaginatedMiniTable`;var pn=[30,50,100],mn=36,hn=(0,c.forwardRef)((e,t)=>{let{data:n,columns:r,rowHeight:i,loading:a=!1,emptyMessage:o=`데이터가 없어요`,onRowClick:s,selectedRows:u=[],onRowSelect:d,enableRowSelection:m=!1,enableSelectAll:h=!1,rowCompare:g,enableSorting:_=!1,serverSideSorting:v=!1,onSortChange:y,initialSort:b,variant:x=`default`,size:S=`medium`,stickyHeader:C=!0,height:w,maxHeight:T,currentPage:E,totalPages:D,onPageChange:O,pageSize:k,pageSizeOptions:A=pn,onPageSizeChange:j,totalElements:M,storageKey:N,columnState:P,fillEmptyRows:F=!0,enableKeyboardPagination:I=!0,expandable:L,className:ee=``,"data-testid":R,...te}=e,z=!!L,B=L?.stickyDetail??!0,{sort:V,sortedData:H}=jt({initialSort:b,serverSide:v,onSort:y||void 0}),U=(0,c.useMemo)(()=>!_||v?n:H(n,(e,t)=>{let n=r.find(e=>e.key===t);if(n?.accessor){let r=n.accessor(e);return typeof r==`string`||typeof r==`number`?r:e[t]}return e[t]}),[n,_,v,V,H,r]),W=(0,c.useRef)(null),G=(0,c.useRef)(null),re=(0,c.useRef)(null),ie=(0,c.useRef)(null),[ae,K]=(0,c.useState)(0),oe=!!P,se=(0,f.useSensors)((0,f.useSensor)(f.PointerSensor,{activationConstraint:{distance:5}}),(0,f.useSensor)(f.KeyboardSensor,{coordinateGetter:p.sortableKeyboardCoordinates})),ce=e=>{let{active:t,over:n}=e;if(!P||!n||t.id===n.id||r.find(e=>e.key===n.id)?.excludeFromPreset)return;let i=P.columnOrder,a=i.indexOf(String(t.id)),o=i.indexOf(String(n.id));a===-1||o===-1||P.onColumnOrderChange((0,p.arrayMove)(i,a,o))},q=(0,c.useMemo)(()=>{if(!P)return r.filter(e=>!e.hidden);let e=new Map(r.map(e=>[e.key,e])),t=new Set(P.hiddenColumns);return P.columnOrder.map(t=>e.get(t)).filter(e=>!!e).filter(e=>!e.hidden&&!t.has(e.key))},[r,P]),{handleMouseDown:le,handleDoubleClick:ue,getColumnWidth:de,measureRef:fe}=Ot({columns:q,data:U,getCellContent:(e,t)=>{let n=q.find(e=>e.key===t);return n?.accessor?n.accessor(e):e[t]},tableRef:W,...P?{controlledWidths:P.columnWidths,onColumnWidthsChange:P.onColumnWidthsChange}:{storageKey:N}}),pe=Mt(),he=Nt(x),ge=Pt(S),_e=(0,c.useMemo)(()=>{let e={};return w&&(e.height=typeof w==`number`?`${w}px`:w),T&&(e.maxHeight=typeof T==`number`?`${T}px`:T),e},[w,T]),{emptyRowCount:ve,measuredRowHeight:ye}=kt({enabled:F,containerRef:G,theadRef:re,tbodyRef:ie,excludeRowsSelector:`tr:not([data-empty-row]):not([data-expanded-row])`,remainingMode:`tbody-height`,observeTbody:!0,deps:[U,q]});(0,c.useLayoutEffect)(()=>{if(!B||!z)return;let e=G.current;if(!e)return;let t=()=>{K(t=>t===e.clientWidth?t:e.clientWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[B,z]);let be=e=>{e.altKey||e.metaKey||e.ctrlKey||e.shiftKey||(e.key===`ArrowLeft`&&E>1?(e.preventDefault(),O(E-1)):e.key===`ArrowRight`&&E<D&&(e.preventDefault(),O(E+1)))},xe=e=>!m||u.length===0?!1:g?u.some(t=>g(t,e)):u.some(t=>t===e),J=(0,c.useMemo)(()=>!m||!h||U.length===0?!1:U.every(e=>xe(e)),[m,h,U,xe]),Se=()=>{!m||!d||(J?U.forEach(e=>{xe(e)&&d(e,!1)}):U.forEach(e=>{xe(e)||d(e,!0)}))},Ce=(e,t)=>{let n=[Bt(t)];return xe(e)&&n.push(Vt()),(s||z)&&n.push(Ht()),n.join(` `)},we=!!j||M!==void 0||typeof D==`number`&&D>0,Te=e=>{L&&L.onToggle(L.getRowId(e))},Ee=(e,t)=>{z&&(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),Te(t))},De=(m&&h?1:0)+ +!!z+q.length+1;return a?(0,l.jsx)(`div`,{ref:t,className:`flex items-center justify-center p-8 flex-1 ${ee}`,style:_e,"data-testid":R,...te,children:(0,l.jsx)(pt,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,l.jsxs)(`div`,{ref:t,className:`relative flex flex-col min-h-0 ${ee}`,style:_e,"data-testid":R,...te,children:[(0,l.jsx)(`div`,{ref:fe,className:`absolute invisible whitespace-nowrap`,style:{top:`-9999px`,left:`-9999px`}}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:[(0,l.jsx)(`div`,{ref:G,className:`overflow-auto flex-1 bg-[#f9fafb] dark:bg-slate-900/50`,children:U.length===0?(0,l.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,l.jsx)(`p`,{className:`text-neutral-600 dark:text-neutral-400`,children:o})}):(0,l.jsx)(f.DndContext,{sensors:se,collisionDetection:f.closestCenter,onDragEnd:ce,children:(0,l.jsxs)(`table`,{ref:W,className:`${pe} ${he} ${ge}`,style:{tableLayout:`fixed`,minWidth:`100%`,width:`100%`},children:[(0,l.jsxs)(`colgroup`,{children:[m&&h&&(0,l.jsx)(`col`,{style:{width:`48px`}}),z&&(0,l.jsx)(`col`,{style:{width:`${mn}px`}}),q.map(e=>(0,l.jsx)(`col`,{"data-col-key":e.key,style:{width:de(e.key,e.width)}},e.key)),(0,l.jsx)(`col`,{style:{width:`100%`}})]}),(0,l.jsx)(`thead`,{ref:re,className:It(),style:{position:C?`sticky`:`relative`,top:C?0:void 0,zIndex:C?10:void 0,backgroundColor:C?`white`:void 0},children:(0,l.jsxs)(`tr`,{children:[m&&h&&(0,l.jsx)(`th`,{className:`${Lt()} ${Ft(`center`)} border-r-0 w-12`,children:(0,l.jsx)(ne.Circle,{id:`accordion-table-select-all`,size:20,checked:J,onCheckedChange:Se})}),z&&(0,l.jsx)(`th`,{"aria-hidden":`true`,className:`${Lt()} border-r-0`,style:{width:`${mn}px`}}),(0,l.jsx)(p.SortableContext,{items:q.map(e=>e.key),strategy:p.horizontalListSortingStrategy,children:q.map(e=>{let t=!oe||e.excludeFromPreset===!0;return(0,l.jsxs)(Dt,{id:e.key,disabled:t,as:`th`,className:`${Lt()} ${Ft(`center`)} bg-white ${e.sticky?`sticky left-0 z-20 bg-white dark:bg-neutral-800`:``} ${e.hideOnMobile?`hidden md:table-cell`:``} relative`,style:{width:de(e.key,e.width),minWidth:e.minWidth||50},children:[(0,l.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 select-none`,children:(0,l.jsx)(`span`,{children:e.header})}),e.excludeFromPreset!==!0&&(0,l.jsx)(`div`,{className:`absolute right-0 top-0 h-full w-4 cursor-col-resize hover:bg-primary-500/30 active:bg-primary-500/50 z-50`,onPointerDown:e=>e.stopPropagation(),onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),le(e.key,t)},onDoubleClick:t=>{t.preventDefault(),t.stopPropagation(),ue(e.key,t)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{touchAction:`none`},title:`드래그하여 너비 조절, 더블 클릭하여 자동 조절`})]},e.key)})}),(0,l.jsx)(`th`,{"aria-hidden":`true`,className:`bg-white border-b border-l border-[#f2f3f5] dark:border-neutral-700 dark:bg-neutral-800`})]})}),(0,l.jsxs)(`tbody`,{ref:ie,children:[U.map((e,t)=>{let n=xe(e),r=L?L.getRowId(e):void 0,a=L?L.expandedIds.has(r):!1;return(0,l.jsxs)(c.Fragment,{children:[(0,l.jsxs)(`tr`,{className:Ce(e,t),onClick:n=>{let r=n.target;if(r!==n.currentTarget){let e=r.closest(`button, a, input, select, textarea, label`);if(e&&n.currentTarget.contains(e))return}s?.(e,t),z&&Te(e)},onKeyDown:t=>Ee(t,e),tabIndex:z?0:void 0,role:z?`button`:void 0,"aria-expanded":z?a:void 0,style:i?{height:`${i}px`}:void 0,children:[m&&h&&(0,l.jsx)(`td`,{className:`${Rt()} ${Ft(`center`)} border-r-0 w-12`,onClick:e=>e.stopPropagation(),children:(0,l.jsx)(ne.Circle,{size:20,checked:n,onCheckedChange:t=>d?.(e,t)})}),z&&(0,l.jsx)(`td`,{className:`${Rt()} ${Ft(`center`)} border-r-0`,style:{width:`${mn}px`},children:(0,l.jsx)(me,{"aria-hidden":`true`,className:`mx-auto h-4 w-4 text-neutral-500 transition-transform duration-200 ${a?`rotate-90`:``}`})}),q.map((t,n)=>{let r=t.accessor?t.accessor(e):e[t.key],a=n===q.length-1&&!m;return(0,l.jsx)(`td`,{className:`${Rt()} ${Ft(t.align)} ${a?`border-r-0`:``} ${t.sticky?`sticky left-0 z-10 bg-inherit`:``} ${t.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:de(t.key,t.width),minWidth:t.minWidth||50,...i?{height:`${i}px`,maxHeight:`${i}px`,overflow:`hidden`}:{}},children:r},t.key)}),(0,l.jsx)(`td`,{"aria-hidden":`true`,className:`border-b border-l border-[#f2f3f5] dark:border-neutral-700 bg-transparent`})]}),z&&(0,l.jsx)(`tr`,{"data-expanded-row":!0,className:`bg-[#f9fafb] dark:bg-slate-900/50`,children:(0,l.jsx)(`td`,{colSpan:De,className:`p-0 border-b border-[#f2f3f5] dark:border-neutral-700`,children:(0,l.jsx)(`div`,{className:B?`sticky left-0`:void 0,style:B&&ae>0?{width:`${ae}px`}:void 0,children:(0,l.jsx)(`div`,{className:`grid transition-[grid-template-rows,opacity] duration-200 ease-out`,style:{gridTemplateRows:a?`1fr`:`0fr`,opacity:+!!a},"aria-hidden":!a,children:(0,l.jsx)(`div`,{className:`overflow-hidden`,children:L.renderRow(e)})})})})})]},t)}),F&&Array.from({length:ve}).map((e,t)=>{let n=U.length+t,r=i??ye??void 0;return(0,l.jsxs)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:Bt(n),style:r?{height:`${r}px`}:void 0,children:[m&&h&&(0,l.jsx)(`td`,{className:`${Rt()} border-r-0 w-12`,style:r?{height:`${r}px`}:void 0}),z&&(0,l.jsx)(`td`,{className:`${Rt()} border-r-0`,style:{width:`${mn}px`,...r?{height:`${r}px`}:{}}}),q.map((e,t)=>{let n=t===q.length-1&&!m;return(0,l.jsx)(`td`,{className:`${Rt()} ${n?`border-r-0`:``} ${e.hideOnMobile?`hidden md:table-cell`:``}`,style:{width:de(e.key,e.width),minWidth:e.minWidth||50,...r?{height:`${r}px`}:{}}},e.key)}),(0,l.jsx)(`td`,{"aria-hidden":`true`,className:`border-b border-l border-[#f2f3f5] dark:border-neutral-700 bg-transparent`,style:r?{height:`${r}px`}:void 0})]},`empty-${t}`)})]})]})})}),we&&(0,l.jsxs)(`nav`,{"aria-label":`페이지 네비게이션`,className:`@container/pagebar group/footer flex flex-wrap items-center justify-between gap-x-3 gap-y-2 border-t border-neutral-200 px-4 py-2 shrink-0 dark:border-neutral-700`,children:[(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2 text-sm text-neutral-600 dark:text-neutral-300`,children:[M!==void 0&&(0,l.jsxs)(`span`,{children:[`총 `,M.toLocaleString(),`건`]}),j&&k!==void 0&&(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsx)(`span`,{className:`text-neutral-500`,children:`페이지당`}),(0,l.jsx)(`div`,{className:`w-20`,children:(0,l.jsx)(_t,{variant:`box`,selectSize:`mini`,value:String(k),onChange:e=>j(Number(e)),options:A.map(e=>({value:String(e),label:String(e)})),"data-testid":R?`${R}-page-size`:void 0})})]}),(0,l.jsx)(`div`,{className:`contents @min-[640px]/pagebar:hidden`,children:D!==void 0&&E!==void 0&&O&&D>1&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Kt,{currentPage:E,totalPages:D,onPageChange:O,"data-testid":R?`${R}-page-jump`:void 0}),I&&(0,l.jsx)(Gt,{onKeyDown:be})]})})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,l.jsx)(`div`,{className:`hidden @min-[640px]/pagebar:contents`,children:D!==void 0&&E!==void 0&&O&&D>1&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Kt,{currentPage:E,totalPages:D,onPageChange:O,"data-testid":R?`${R}-page-jump`:void 0}),I&&(0,l.jsx)(Gt,{onKeyDown:be})]})}),D!==void 0&&E!==void 0&&O&&(0,l.jsx)(sn,{currentPage:E,totalPages:D,onPageChange:O,hasPreviousPage:E>1,hasNextPage:E<D,"data-testid":R?`${R}-pagination`:void 0})]})]})]})]})});hn.displayName=`AccordionTable`;function gn({count:e,estimateSize:t=50,overscan:n=5,scrollElement:r}){let i=(0,c.useRef)(null),a=(0,h.useVirtualizer)({count:e,getScrollElement:()=>r||i.current,estimateSize:()=>t,overscan:n,enabled:e>0});return(0,c.useMemo)(()=>({virtualizer:a,parentRef:i}),[a])}function _n({fetchNextPage:e,hasNextPage:t,isFetchingNextPage:n,scrollElement:r,threshold:i=80,enabled:a=!0}){let o=(0,c.useRef)(null),s=(0,c.useRef)(null),l=(0,c.useCallback)(r=>{let[i]=r;i.isIntersecting&&t&&!n&&a&&e()},[t,n,e,a]);return(0,c.useEffect)(()=>{if(!a)return;o.current=new IntersectionObserver(l,{root:r||null,rootMargin:`100px`,threshold:0});let e=s.current;return e&&o.current&&o.current.observe(e),()=>{o.current&&e&&o.current.unobserve(e)}},[l,r,i,a]),{sentinelRef:s}}function vn(e,t,n=!0){(0,c.useEffect)(()=>{if(!n)return;let r=n=>{let r=n.target;!e.current||e.current.contains(r)||t(n)};return document.addEventListener(`mousedown`,r),document.addEventListener(`touchstart`,r),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`touchstart`,r)}},[e,t,n])}function yn(e){let[t,n]=(0,c.useState)(()=>typeof window>`u`?!1:window.matchMedia(e).matches);return(0,c.useEffect)(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return n(t.matches),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}var bn=`(max-width: 639px)`;function xn(){return yn(bn)}var Sn=100,Cn=500;function wn({onDismiss:e}){let t=(0,u.useDragControls)();return{dragControls:t,handleDragEnd:(t,n)=>{(n.offset.y>Sn||n.velocity.y>Cn)&&e()},startDrag:e=>{t.start(e)}}}var Tn=0,En=``;function Dn(){Tn===0&&(En=document.body.style.overflow,document.body.style.overflow=`hidden`),Tn+=1}function On(){Tn!==0&&(--Tn,Tn===0&&(document.body.style.overflow=En,En=``))}function kn(e){(0,c.useEffect)(()=>{if(e)return Dn(),On},[e])}var An=[];function jn(){if(An.length===0)return;let e=An[0];for(let t of An)t.priority>=e.priority&&(e=t);return e}var Y={push(e,t=0){An.some(t=>t.id===e)||An.push({id:e,priority:t})},pop(e){let t=An.map(e=>e.id).lastIndexOf(e);t>=0&&An.splice(t,1)},isTop(e){return jn()?.id===e},isEmpty(){return An.length===0}},Mn=`action-toast-overlay`,Nn=1e3;function Pn({children:e,containerId:t}){let[n,r]=(0,c.useState)(!1);if((0,c.useEffect)(()=>(r(!0),()=>r(!1)),[]),!n)return null;let i=t?document.getElementById(t):document.body;return i?(0,_.createPortal)(e,i):null}function Fn({isOpen:e,onClose:t,title:n,widthPx:r,footer:i,bodyPadded:a=!1,subView:o,children:s}){let d=xn(),f=(0,c.useId)(),p=(0,u.useDragControls)();return(0,c.useEffect)(()=>{if(e)return Y.push(f),document.body.style.overflow=`hidden`,()=>{Y.pop(f),Y.isEmpty()&&(document.body.style.overflow=``)}},[e,f]),(0,c.useEffect)(()=>{let n=e=>{e.key===`Escape`&&Y.isTop(f)&&t()};return e&&window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t,f]),(0,l.jsxs)(Pn,{children:[(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:()=>{Y.isTop(f)&&t()},className:`fixed inset-0 z-50 bg-black/50`},`modal-backdrop`)}),(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsxs)(u.motion.div,{initial:d?{y:`100%`}:{opacity:0,y:24,scale:.96},animate:d?{y:0}:{opacity:1,y:0,scale:1},exit:d?{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}}:{opacity:0,y:24,scale:.96},transition:d?{type:`spring`,damping:38,stiffness:320}:{duration:.25,ease:[.32,.72,0,1]},drag:d?`y`:!1,dragListener:!1,dragControls:p,dragConstraints:{top:0,bottom:0},dragElastic:{top:0,bottom:.4},onDragEnd:(e,n)=>{(n.offset.y>100||n.velocity.y>500)&&t()},className:`fixed -bottom-8 left-0 right-0 z-50 mx-auto flex max-h-[88vh] w-full flex-col overflow-hidden rounded-t-2xl bg-white pb-8 shadow-xl sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:max-h-[90vh] sm:w-auto sm:min-w-[320px] sm:max-w-[90vw] sm:rounded-lg sm:pb-0 dark:bg-neutral-800`,style:d?void 0:{translateX:`-50%`,translateY:`-50%`,...r?{width:r}:{}},children:[(0,l.jsx)(`div`,{className:`flex justify-center pt-2 pb-1 cursor-grab touch-none active:cursor-grabbing sm:hidden`,onPointerDown:e=>p.start(e),children:(0,l.jsx)(`div`,{className:`h-1 w-10 rounded-full bg-neutral-300 dark:bg-neutral-600`})}),n&&(0,l.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,l.jsx)(`h3`,{className:`text-base font-semibold text-neutral-900 sm:text-lg dark:text-white`,children:n}),(0,l.jsx)(`button`,{onClick:t,className:`rounded p-1 text-neutral-500 hover:text-neutral-700 dark:hover:text-neutral-300`,"aria-label":`닫기`,children:(0,l.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,l.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,l.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden`,children:[(0,l.jsx)(`div`,{className:`flex-1 overflow-y-auto overflow-x-hidden${a?` mx-1 sm:mx-4`:``}`,children:s}),o]}),i&&(0,l.jsx)(`div`,{className:`shrink-0`,children:i})]},`modal-sheet`)})]})}function In({open:e,onBack:t,title:n,headerRight:r,bodyPadded:i=!0,contentPadded:a=!0,variant:o=`full`,children:s}){let d=(0,c.useId)();(0,c.useEffect)(()=>{if(e)return Y.push(d),()=>{Y.pop(d)}},[e,d]),(0,c.useEffect)(()=>{let n=e=>{e.key===`Escape`&&Y.isTop(d)&&t()};return e&&window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t,d]);let f=(0,l.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border-tertiary px-4 py-3 dark:border-neutral-700`,children:[(0,l.jsx)(`button`,{type:`button`,onClick:t,className:`rounded p-1 text-text-tertiary transition-colors hover:bg-bg-base-secondary hover:text-text-secondary dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-200`,"aria-label":`뒤로 가기`,children:(0,l.jsx)(le,{className:`h-4 w-4`})}),n&&(0,l.jsx)(`div`,{className:`flex-1 text-sm font-semibold text-text-primary dark:text-white`,children:n}),r]}),p=(0,l.jsx)(`div`,{className:`flex-1 overflow-y-auto overflow-x-hidden${i?` mx-1 sm:mx-4`:``}`,children:a?(0,l.jsx)(`div`,{className:`px-2 py-3 sm:px-4 sm:py-5`,children:s}):s});return o===`drawer`?(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsxs)(`div`,{className:`absolute inset-0 z-10`,children:[(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:t,className:`absolute inset-0 bg-black/40`},`subview-drawer-backdrop`),(0,l.jsxs)(u.motion.div,{initial:{x:`100%`},animate:{x:0},exit:{x:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},className:`absolute right-0 top-0 bottom-0 flex w-[85%] max-w-md flex-col bg-bg-white shadow-xl dark:bg-neutral-800`,children:[f,p]},`subview-drawer-sheet`)]})}):(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsxs)(u.motion.div,{initial:{x:`100%`},animate:{x:0},exit:{x:`100%`},transition:{duration:.25,ease:`easeOut`},className:`absolute inset-0 z-10 flex flex-col bg-bg-white dark:bg-neutral-800`,children:[f,p]})})}function Ln({isOpen:e,onClose:t,title:n,widthPx:r,subView:i,primaryAction:a,secondaryAction:o,leftAction:s,bodyNoPadding:c,children:u}){let d=xn(),f=a||o||s,p=d?`mini`:`small`,m=(e,t)=>(0,l.jsx)(E,{variant:e.variant??t.variant,appearance:e.appearance??t.appearance,size:p,display:`block`,leadingIcon:e.leadingIcon,onClick:e.onClick,loading:e.loading,disabled:e.disabled,children:e.label});return(0,l.jsx)(Fn,{isOpen:e,onClose:t,title:n,widthPx:r,bodyPadded:!0,subView:i,footer:f?(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-t border-neutral-200 px-4 py-3 sm:px-5 sm:py-4 dark:border-neutral-700`,children:[(0,l.jsx)(`div`,{children:s&&(0,l.jsx)(`div`,{className:`w-[88px] sm:w-28`,children:m(s,{variant:`tertiary`,appearance:`outlined`})})}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[o&&(0,l.jsx)(`div`,{className:`w-16 sm:w-24`,children:m(o,{variant:`secondary`,appearance:`outlined`})}),a&&(0,l.jsx)(`div`,{className:`w-16 sm:w-24`,children:m(a,{variant:`primary`})})]})]}):void 0,children:c?u:(0,l.jsx)(`div`,{className:`px-2 py-3 sm:px-4 sm:py-5`,children:u})})}function Rn({slot:e,index:t,isHidden:n,width:r,onHiddenChange:i,onSetColumnWidth:a}){let{attributes:o,listeners:s,setNodeRef:c,transform:u,transition:d,isDragging:f}=(0,p.useSortable)({id:e.key}),h={transform:m.CSS.Transform.toString(u),transition:d,opacity:f?.5:1},g=typeof e.header==`string`?e.header:e.key,_=e.kind===`group`;return(0,l.jsxs)(`tr`,{ref:c,style:h,className:`
|
|
38
|
+
border-b border-neutral-200 dark:border-neutral-700 transition-colors
|
|
39
|
+
${n?`bg-neutral-100 text-neutral-400 dark:bg-neutral-800 dark:text-neutral-500`:`bg-white text-neutral-900 hover:bg-neutral-50 dark:bg-neutral-800 dark:text-neutral-100 dark:hover:bg-neutral-700`}
|
|
40
|
+
`,children:[(0,l.jsx)(`td`,{className:`w-10 px-2 py-2 text-center cursor-grab active:cursor-grabbing`,...o,...s,children:(0,l.jsx)(xe,{size:16,className:`text-neutral-400 dark:text-neutral-500 mx-auto`})}),(0,l.jsxs)(`td`,{className:`px-2 py-2 text-sm whitespace-nowrap`,children:[g,_&&(0,l.jsxs)(`span`,{className:`ml-1.5 text-xs text-neutral-500 dark:text-neutral-400`,children:[`(그룹 · `,e.leafColumns.length,`개)`]})]}),(0,l.jsx)(`td`,{className:`w-14 px-2 py-2 text-center text-sm`,children:t+1}),(0,l.jsx)(`td`,{className:`w-20 px-2 py-2 text-center text-sm tabular-nums`,children:_?(0,l.jsx)(`span`,{className:`text-neutral-400 dark:text-neutral-500`,children:`—`}):a?(0,l.jsx)(zn,{columnKey:e.key,width:r,onSetColumnWidth:a}):(0,l.jsx)(`span`,{className:`text-neutral-500 dark:text-neutral-400`,children:r?`${r}px`:`—`})}),(0,l.jsx)(`td`,{className:`w-14 px-2 py-2 text-center`,children:(0,l.jsx)(`div`,{className:`flex justify-center`,children:(0,l.jsx)(xt,{checked:n,onChange:t=>i(e.key,!t),ariaLabel:`${g} 숨김`})})})]})}function zn({columnKey:e,width:t,onSetColumnWidth:n}){let[r,i]=(0,c.useState)(t?String(t):``);return(0,c.useEffect)(()=>{i(t?String(t):``)},[t]),(0,l.jsx)(`input`,{type:`text`,inputMode:`numeric`,pattern:`[0-9]*`,value:r,placeholder:`auto`,onChange:e=>i(e.target.value.replace(/[^0-9]/g,``)),onBlur:()=>{if(r===``){n(e,0);return}let t=Number(r);if(!Number.isFinite(t)||t<=0){n(e,0),i(``);return}n(e,Math.max(20,Math.floor(t)))},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.target.blur()):e.key===`Escape`&&(i(t?String(t):``),e.target.blur())},"aria-label":`${e} 컬럼 너비 (px)`,className:`w-16 rounded border border-neutral-300 bg-white px-1.5 py-0.5 text-center text-xs tabular-nums text-neutral-700 transition-colors hover:border-primary-300 focus:border-primary-500 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary-200 dark:border-neutral-600 dark:bg-neutral-700 dark:text-neutral-100`})}function Bn({columns:e,columnGroups:t,columnOrder:n,hiddenColumns:r,columnWidths:i,num:a,onOrderChange:o,onHiddenChange:s,onSetColumnWidth:c,onSave:u,onReset:d}){let m=(0,f.useSensors)((0,f.useSensor)(f.PointerSensor,{activationConstraint:{distance:5}}),(0,f.useSensor)(f.KeyboardSensor,{coordinateGetter:p.sortableKeyboardCoordinates})),h=St(e,t),g=new Map(h.map(e=>[e.key,e])),_=n.map(e=>g.get(e)).filter(e=>!!e);return(0,l.jsxs)(`div`,{className:`w-full overflow-y-auto bg-white dark:bg-neutral-800 text-neutral-900 dark:text-neutral-100`,style:{maxHeight:500},children:[(0,l.jsxs)(`div`,{className:`sticky top-0 bg-neutral-50 dark:bg-neutral-900 px-4 py-3 font-semibold z-10 border-b border-neutral-200 dark:border-neutral-700`,children:[(0,l.jsx)(`span`,{className:`text-base`,children:`컬럼 설정`}),(0,l.jsxs)(`span`,{className:`ml-2 text-sm text-neutral-500 dark:text-neutral-400`,children:[`프리셋 `,a]})]}),(0,l.jsx)(f.DndContext,{sensors:m,collisionDetection:f.closestCenter,onDragEnd:e=>{let{active:t,over:r}=e;if(!r||t.id===r.id)return;let i=n.indexOf(String(t.id)),a=n.indexOf(String(r.id));i===-1||a===-1||o((0,p.arrayMove)(n,i,a))},children:(0,l.jsxs)(`table`,{className:`w-full`,children:[(0,l.jsx)(`thead`,{className:`bg-neutral-50 dark:bg-neutral-900 sticky top-12 z-10`,children:(0,l.jsxs)(`tr`,{className:`border-y border-neutral-200 dark:border-neutral-700 font-bold`,children:[(0,l.jsx)(`th`,{className:`w-10 px-2 py-2`}),(0,l.jsx)(`th`,{className:`px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200 whitespace-nowrap`,children:`컬럼명`}),(0,l.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`순서`}),(0,l.jsx)(`th`,{className:`w-20 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`너비`}),(0,l.jsx)(`th`,{className:`w-14 px-2 py-2 text-center text-sm font-medium text-neutral-700 dark:text-neutral-200`,children:`숨김`})]})}),(0,l.jsx)(`tbody`,{children:(0,l.jsx)(p.SortableContext,{items:n,strategy:p.verticalListSortingStrategy,children:_.map((e,t)=>(0,l.jsx)(Rn,{slot:e,index:t,isHidden:r.includes(e.key),width:i[e.key],onHiddenChange:s,onSetColumnWidth:c},e.key))})})]})}),(0,l.jsxs)(`div`,{className:`sticky bottom-0 bg-white dark:bg-neutral-800 border-t border-neutral-200 dark:border-neutral-700 px-4 py-3 flex justify-end gap-2 z-10`,children:[(0,l.jsxs)(`button`,{type:`button`,onClick:d,className:`px-3 py-1 border border-neutral-300 dark:border-neutral-600 text-neutral-700 dark:text-neutral-200 rounded text-sm hover:bg-neutral-50 dark:hover:bg-neutral-700 transition-colors flex items-center gap-1`,children:[(0,l.jsx)(Ee,{size:12}),(0,l.jsx)(`span`,{className:`text-xs`,children:`초기화`})]}),(0,l.jsxs)(`button`,{type:`button`,onClick:u,className:`px-3 py-1 bg-primary-500 text-white rounded transition-colors flex items-center gap-1 hover:bg-primary-600`,children:[(0,l.jsx)(De,{size:12}),(0,l.jsx)(`span`,{className:`text-xs`,children:`저장`})]})]})]})}var Vn=500,Hn=12,Un=5,Wn=[1,2,3];function Gn({columns:e,columnGroups:t,activePreset:n,columnOrder:r,hiddenColumns:i,columnWidths:a,isDirty:o,hasPreset:s,onApplyPreset:f,onSaveActivePreset:p,onResetActivePreset:m,onColumnOrderChange:h,onHiddenColumnsChange:_,onSetColumnWidth:v,className:y=``}){let b=e.filter(e=>!e.excludeFromPreset),x=new Set(e.filter(e=>e.excludeFromPreset).map(e=>e.key)),[S,C]=(0,c.useState)(!1),w=xn(),T=(0,c.useId)(),{refs:E,floatingStyles:D,context:O}=(0,d.useFloating)({open:!w&&S,onOpenChange:C,placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(Un),(0,d.flip)(),(0,d.shift)({padding:Hn}),(0,d.size)({apply({availableWidth:e,elements:t}){let n=Math.min(Vn,e);Object.assign(t.floating.style,{width:`${n}px`,maxWidth:`${Vn}px`})}})]}),{getReferenceProps:k,getFloatingProps:A}=(0,d.useInteractions)([(0,d.useClick)(O),(0,d.useDismiss)(O),(0,d.useRole)(O,{role:`dialog`})]),j=e=>{n!==e&&(f(e),C(!1),g.default.success(`프리셋 ${e}을(를) 적용했어요.`))},M=e=>{let t=r.map((e,t)=>({key:e,index:t})).filter(({key:e})=>x.has(e)),n=[...e];t.sort((e,t)=>e.index-t.index).forEach(({key:e,index:t})=>{let r=Math.min(t,n.length);n.splice(r,0,e)}),h(n)},N=(e,t)=>{if(t)_(i.filter(t=>t!==e));else{if(r.length-x.size-i.filter(e=>!x.has(e)).length<=1){g.default.error(`최소 1개 이상의 컬럼은 표시되어야 해요.`);return}_([...i,e])}},P=()=>{if(!p()){g.default.error(`저장할 수 없는 상태예요.`);return}C(!1),g.default.success(`프리셋 ${n}에 저장했어요.`)},F=()=>{m(),C(!1),g.default.success(`프리셋 ${n}을(를) 초기화했어요.`)},I=r.filter(e=>!x.has(e)),L=i.filter(e=>!x.has(e));return(0,l.jsxs)(`div`,{className:`inline-flex ${y}`,children:[(0,l.jsxs)(`div`,{className:`inline-flex h-7.5 items-center gap-0 rounded-full bg-bg-base-secondary p-0.75 sm:h-8.5`,role:`group`,"aria-label":`컬럼 프리셋 선택`,children:[(0,l.jsxs)(`button`,{ref:E.setReference,...w?{type:`button`,onClick:()=>C(e=>!e),"aria-label":`테이블 프리셋 설정`,title:o?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-text-secondary transition-colors hover:text-text-primary sm:h-7 sm:w-7`}:k({type:`button`,"aria-label":`테이블 프리셋 설정`,title:o?`저장하지 않은 변경이 있어요`:`테이블 프리셋 설정`,className:`relative ml-1 flex h-6 w-6 items-center justify-center rounded-full text-text-secondary transition-colors hover:text-text-primary sm:h-7 sm:w-7`}),children:[(0,l.jsx)(ke,{className:`h-3 w-3 sm:h-3.5 sm:w-3.5`}),o&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-0.5 right-0.5 h-1.5 w-1.5 rounded-full bg-brand-blue-secondary`})]}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 mr-1.5 h-4 w-px bg-bg-base-tertiary sm:h-4.5`}),Wn.map(e=>{let t=n===e;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>j(e),"aria-pressed":t,title:t?`현재 활성화된 프리셋이에요`:s(e)?`프리셋 ${e} 적용`:`프리셋 ${e} 기본값으로 초기화`,className:`relative inline-flex h-6 w-8 items-center justify-center rounded-full px-2.5 py-1 text-sm font-medium transition-colors sm:h-7 sm:w-20 ${t?`text-text-primary`:`text-text-secondary`}`,children:[t&&(0,l.jsx)(u.motion.span,{layoutId:`preset-active-${T}`,className:`absolute inset-0 rounded-full bg-white shadow-sm dark:bg-bg-base-tertiary`,transition:{type:`spring`,stiffness:500,damping:38}}),(0,l.jsxs)(`span`,{className:`relative`,children:[(0,l.jsx)(`span`,{className:`hidden sm:inline`,children:`프리셋`}),e]})]},e)})]}),!w&&S&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsx)(`div`,{ref:E.setFloating,style:D,...A(),className:`z-50 overflow-hidden rounded-lg border-2 border-neutral-200 shadow-lg dark:border-neutral-700`,children:(0,l.jsx)(Bn,{num:String(n),columns:b,columnGroups:t,columnOrder:I,hiddenColumns:L,columnWidths:a,onOrderChange:M,onHiddenChange:N,onSetColumnWidth:v,onSave:P,onReset:F})})}),w&&(0,l.jsx)(Fn,{isOpen:S,onClose:()=>C(!1),title:`프리셋 ${n} 설정`,children:(0,l.jsx)(Bn,{num:String(n),columns:b,columnOrder:I,hiddenColumns:L,columnWidths:a,onOrderChange:M,onHiddenChange:N,onSetColumnWidth:v,onSave:P,onReset:F})})]})}var Kn=class{static{this.STORAGE_KEY=`thewrong.table_column_presets`}static isStorageAvailable(){try{let e=`__thewrong_storage_test__`;return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}}static getAllPresets(){if(!this.isStorageAvailable())return{};try{let e=localStorage.getItem(this.STORAGE_KEY);if(!e)return{};let t=JSON.parse(e);return typeof t==`object`&&t?t:{}}catch(e){return console.error(`Failed to load presets:`,e),{}}}static saveAllPresets(e){if(!this.isStorageAvailable()){console.warn(`localStorage is not available`);return}try{localStorage.setItem(this.STORAGE_KEY,JSON.stringify(e))}catch(e){e.name===`QuotaExceededError`?console.error(`localStorage quota exceeded`):console.error(`Failed to save presets:`,e)}}static getPagePresets(e){return this.getAllPresets()[e]||null}static initializePagePresets(e){let t={activePreset:1,presets:{1:null,2:null,3:null}},n=this.getAllPresets();return n[e]||(n[e]=t,this.saveAllPresets(n)),n[e]}static getActivePreset(e){return this.getPagePresets(e)?.activePreset||1}static getPresetColumns(e,t){let n=this.getPagePresets(e);if(!n)return null;let r=n.presets[t];return Array.isArray(r)?{columnOrder:r,hiddenColumns:[]}:r?{columnOrder:r.columnOrder,hiddenColumns:r.hiddenColumns??[],columnWidths:r.columnWidths}:null}static getActivePresetColumns(e){let t=this.getActivePreset(e);return this.getPresetColumns(e,t)}static savePreset(e,t,n){let r=Array.isArray(n)?{columnOrder:n,hiddenColumns:[]}:n;if(!Array.isArray(r.columnOrder)||r.columnOrder.length===0){console.warn(`Invalid column order:`,r);return}let i=this.getAllPresets();i[e]||this.initializePagePresets(e),i[e]||(i[e]={activePreset:1,presets:{1:null,2:null,3:null}}),i[e].presets[t]={columnOrder:[...r.columnOrder],hiddenColumns:[...r.hiddenColumns||[]],...r.columnWidths?{columnWidths:{...r.columnWidths}}:{}},this.saveAllPresets(i)}static setActivePreset(e,t){let n=this.getAllPresets();n[e]||this.initializePagePresets(e),n[e]&&(n[e].activePreset=t,this.saveAllPresets(n))}static clearPreset(e,t){let n=this.getAllPresets();n[e]&&(n[e].presets[t]=null,this.saveAllPresets(n))}static clearPagePresets(e){let t=this.getAllPresets();t[e]&&(delete t[e],this.saveAllPresets(t))}static migrateFromLegacyStorage(e,t){if(!this.isStorageAvailable())return!1;try{if(this.getPagePresets(e))return!1;let n=localStorage.getItem(t);if(!n)return!1;let r=JSON.parse(n);return!Array.isArray(r)||r.length===0?!1:(this.savePreset(e,1,r),this.setActivePreset(e,1),localStorage.removeItem(t),!0)}catch(e){return console.error(`Migration failed:`,e),!1}}static hasPreset(e,t){let n=this.getPresetColumns(e,t);return n!==null&&n.columnOrder.length>0}};function qn(e,t){let n=new Set(t),r=new Set(e),i=e.filter(e=>n.has(e)),a=t.filter(e=>!r.has(e)),o=[...i,...a];if(o.length===e.length){let t=!0;for(let n=0;n<o.length;n++)if(o[n]!==e[n]){t=!1;break}if(t)return e}return o}function Jn(e,t){return!e||e.columnOrder.length===0?{columnOrder:t,hiddenColumns:[],columnWidths:e?.columnWidths??{}}:{columnOrder:qn(e.columnOrder,t),hiddenColumns:e.hiddenColumns??[],columnWidths:e.columnWidths??{}}}function Yn(e,t){if(e.columnOrder.length!==t.columnOrder.length)return!1;for(let n=0;n<e.columnOrder.length;n++)if(e.columnOrder[n]!==t.columnOrder[n])return!1;if(e.hiddenColumns.length!==t.hiddenColumns.length)return!1;let n=new Set(t.hiddenColumns);for(let t of e.hiddenColumns)if(!n.has(t))return!1;let r=Object.keys(e.columnWidths),i=Object.keys(t.columnWidths);if(r.length!==i.length)return!1;for(let n of r)if(e.columnWidths[n]!==t.columnWidths[n])return!1;return!0}function Xn({pageKey:e,columns:t,columnGroups:n,legacyStorageKey:r}){let i=(0,c.useMemo)(()=>Ct(St(t,n)),[t,n]),[a,o]=(0,c.useState)(1),[s,l]=(0,c.useState)(i),[u,d]=(0,c.useState)([]),[f,p]=(0,c.useState)({}),[m,h]=(0,c.useState)({columnOrder:i,hiddenColumns:[],columnWidths:{}}),g=(0,c.useCallback)(e=>{h(e),l(e.columnOrder),d(e.hiddenColumns),p(e.columnWidths)},[]),_=(0,c.useRef)(void 0),v=(0,c.useRef)(r);return v.current=r,(0,c.useEffect)(()=>{if(!e){_.current=e,o(1),g({columnOrder:i,hiddenColumns:[],columnWidths:{}});return}let t=_.current!==e;if(_.current=e,t){let t=v.current;t&&Kn.migrateFromLegacyStorage(e,t);let n=Kn.getActivePreset(e),r=Jn(Kn.getPresetColumns(e,n),i);o(n),g(r);return}l(e=>qn(e,i)),h(e=>{let t=qn(e.columnOrder,i);return t===e.columnOrder?e:{...e,columnOrder:t}})},[g,i,e]),{activePreset:a,columnOrder:s,hiddenColumns:u,columnWidths:f,isDirty:(0,c.useMemo)(()=>!Yn({columnOrder:s,hiddenColumns:u,columnWidths:f},m),[s,u,f,m]),hasPreset:(0,c.useCallback)(t=>e?Kn.hasPreset(e,t):!1,[e]),applyPreset:(0,c.useCallback)(t=>{if(o(t),!e){g({columnOrder:i,hiddenColumns:[],columnWidths:{}});return}Kn.setActivePreset(e,t),g(Jn(Kn.getPresetColumns(e,t),i))},[g,i,e]),saveActivePreset:(0,c.useCallback)(()=>!e||s.length===0?!1:(Kn.savePreset(e,a,{columnOrder:s,hiddenColumns:u,columnWidths:f}),h({columnOrder:s,hiddenColumns:u,columnWidths:f}),!0),[a,s,f,u,e]),saveAsPreset:(0,c.useCallback)(t=>e?s.length===0?!1:(Kn.savePreset(e,t,{columnOrder:s,hiddenColumns:u,columnWidths:f}),Kn.setActivePreset(e,t),o(t),h({columnOrder:s,hiddenColumns:u,columnWidths:f}),!0):(o(t),!1),[s,f,u,e]),resetActivePreset:(0,c.useCallback)(()=>{e&&Kn.clearPreset(e,a),g({columnOrder:i,hiddenColumns:[],columnWidths:{}})},[a,g,i,e]),setColumnOrder:(0,c.useCallback)(e=>{l(e)},[]),setHiddenColumns:(0,c.useCallback)(e=>{d(e)},[]),setColumnWidths:(0,c.useCallback)(e=>{p(e)},[]),setColumnWidth:(0,c.useCallback)((e,t)=>{p(n=>{let r={...n};return t>0?r[e]=t:delete r[e],r})},[])}}function Zn({pageKey:e,columns:t,columnGroups:n,showSelector:r=!0,selectorClassName:i}){let a=Xn({pageKey:e,columns:t,columnGroups:n});return{columnState:(0,c.useMemo)(()=>({columnOrder:a.columnOrder,hiddenColumns:a.hiddenColumns,columnWidths:a.columnWidths,onColumnOrderChange:a.setColumnOrder,onColumnWidthsChange:a.setColumnWidths}),[a.columnOrder,a.hiddenColumns,a.columnWidths,a.setColumnOrder,a.setColumnWidths]),selector:r&&e?(0,l.jsx)(Gn,{columns:t,columnGroups:n,activePreset:a.activePreset,columnOrder:a.columnOrder,hiddenColumns:a.hiddenColumns,columnWidths:a.columnWidths,isDirty:a.isDirty,hasPreset:a.hasPreset,onApplyPreset:a.applyPreset,onSaveActivePreset:a.saveActivePreset,onResetActivePreset:a.resetActivePreset,onColumnOrderChange:a.setColumnOrder,onHiddenColumnsChange:a.setHiddenColumns,onSetColumnWidth:a.setColumnWidth,className:i}):null}}function Qn({title:e,subtitle:t,className:n=``}){return(0,l.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-x-3 ${n}`,children:[(0,l.jsx)(`h1`,{className:`min-w-0 shrink truncate text-base font-semibold text-text-secondary sm:text-lg`,children:e}),t&&(0,l.jsx)(`p`,{className:`min-w-0 shrink-3 truncate text-xs text-text-tertiary sm:text-sm`,children:t})]})}var $n=Symbol.for(`thewrong.toolbar.slot`);function er(e,t){return e[$n]=t,e}function tr(e){if(!(typeof e!=`function`&&typeof e!=`object`))return e[$n]}function nr({children:e,className:t=``}){let n=c.Children.toArray(e),r=null,i=null,a=null,o=null;for(let e of n)if((0,c.isValidElement)(e))switch(tr(e.type)){case`title`:r=e;break;case`summary`:i=e;break;case`left`:a=e;break;case`right`:o=e;break}let s=a||o;return(0,l.jsxs)(`div`,{className:`flex flex-col ${t}`,children:[r?(0,l.jsx)(`div`,{className:i||s?`mb-3.5 md:mb-6`:``,children:r}):null,i,s&&(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${i?`mt-2.5 md:mt-4.5`:``}`,children:[a,o?(0,l.jsx)(`div`,{className:`ml-auto`,children:o}):null]})]})}function rr({children:e,className:t=``}){return(0,l.jsx)(`h2`,{className:`text-sm font-medium text-text-tertiary md:text-base ${t}`,children:e})}function ir({children:e,className:t=``,totalElements:n,totalUnit:r=`건`,totalPrefix:i=``,collapsible:a=!1,defaultCollapsed:o=!0}){let[s,u]=(0,c.useState)(o),d=xn(),f=c.Children.toArray(e),p=n!=null;if(!p&&f.length===0)return null;let m=`총 ${i?`${i} `:``}${n?.toLocaleString()??0}${r}`,h=a&&f.length>0&&d,g=`inline-flex items-center gap-1 rounded-full border border-border-secondary px-2.5 py-1 text-sm font-medium text-text-secondary`,_=p?h?(0,l.jsxs)(`button`,{type:`button`,onClick:()=>u(e=>!e),"aria-expanded":!s,"aria-label":s?`요약 펼치기`:`요약 접기`,className:g,children:[(0,l.jsx)(`span`,{children:m}),(0,l.jsx)(fe,{"aria-hidden":`true`,className:`h-3.5 w-3.5 transition-transform ${s?``:`rotate-180`}`})]}):(0,l.jsx)(`span`,{className:g,children:m}):null;return a?(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1.5 ${t}`,children:[_,f.map((e,t)=>{let n=(0,c.isValidElement)(e)?e.key??t:t;return(0,l.jsx)(`div`,{className:`grid transition-[grid-template-rows,opacity,margin] duration-200 ease-out sm:grid-rows-[1fr]! sm:opacity-100! ${s?`grid-rows-[0fr] opacity-0 -my-1`:`grid-rows-[1fr] opacity-100`}`,children:(0,l.jsx)(`div`,{className:`overflow-hidden min-h-0`,children:e})},n)})]}):(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1.5 ${t}`,children:[_,f]})}function ar({children:e,className:t=``}){return(0,l.jsx)(`div`,{className:`flex items-center gap-2 ${t}`,children:e})}function or({children:e,className:t=``,collapseOnMobile:n=!1,collapseTriggerLabel:r=`작업`,collapseTriggerIcon:i}){let a=xn(),o=c.Children.toArray(e);if(!(n&&a&&o.length>=2))return(0,l.jsx)(`div`,{className:`flex items-center gap-2 ${t}`,children:e});let s=(0,l.jsx)(E,{variant:`primary`,size:`mini`,leadingIcon:i??(0,l.jsx)(je,{className:`h-3.5 w-3.5`}),trailingIcon:(0,l.jsx)(fe,{className:`h-3.5 w-3.5`}),children:r});return(0,l.jsx)(`div`,{className:`flex items-center ${t}`,children:(0,l.jsx)(ut,{trigger:s,content:(0,l.jsx)(`div`,{className:`flex flex-col gap-2 [&>*]:w-full`,children:o})})})}var sr={neutral:`border border-border-secondary text-text-secondary dark:border-border-secondary`,info:`bg-info-50 text-info-600 dark:bg-info-900/40 dark:text-info-200`,success:`bg-success-50 text-success-600 dark:bg-success-900/40 dark:text-success-200`,warning:`bg-warning-50 text-warning-600 dark:bg-warning-900/40 dark:text-warning-200`,error:`bg-error-50 text-error-600 dark:bg-error-900/40 dark:text-error-200`};function cr({variant:e=`neutral`,children:t,className:n=``}){return(0,l.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-sm font-medium ${sr[e===`danger`?`error`:e]} ${n}`,children:t})}function lr({icon:e,children:t,onClick:n,disabled:r,className:i=``}){return(0,l.jsxs)(`button`,{type:`button`,onClick:n,disabled:r,className:`flex items-center gap-2 rounded px-3 py-2 text-sm text-neutral-700 transition-colors hover:bg-neutral-100 disabled:opacity-50 dark:text-neutral-200 dark:hover:bg-neutral-700 ${i}`,children:[e?(0,l.jsx)(`span`,{className:`shrink-0 [&>svg]:h-4 [&>svg]:w-4`,children:e}):null,(0,l.jsx)(`span`,{children:t})]})}nr.Title=er(rr,`title`),nr.Summary=Object.assign(er(ir,`summary`),{Item:cr}),nr.Left=er(ar,`left`),nr.Right=er(or,`right`),nr.MenuItem=lr;function ur(){return xn()?`mini`:`small`}function dr({children:e}){let t=c.Children.toArray(e),n=t[0],r=(0,c.isValidElement)(n)&&n.type===fr;return(0,l.jsxs)(`div`,{className:`flex h-[calc(100dvh-64px)] flex-col`,children:[r?n:null,(0,l.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 px-3 pt-2 pb-3 sm:gap-3 sm:px-4 sm:pt-3 sm:pb-4 [&>*:last-child]:min-h-0 [&>*:last-child]:flex-1`,children:r?t.slice(1):t})]})}function fr({title:e,children:t}){return(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b border-neutral-200 px-4 py-2 dark:border-neutral-700 sm:px-6 sm:py-3`,children:[(0,l.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold text-neutral-900 dark:text-white sm:text-lg`,children:e}),t?(0,l.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:t}):null]})}function pr({children:e}){return(0,l.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-white p-4 gap-2 md:p-5 md:gap-4 xl:p-6 xl:gap-4 dark:bg-neutral-800 [&>*:last-child]:min-h-0 [&>*:last-child]:flex-1`,children:e})}function mr(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=mr(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function hr(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=mr(e))&&(r&&(r+=` `),r+=t);return r}var gr=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},_r=(e,t)=>({classGroupId:e,validator:t}),vr=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),yr=`-`,br=[],xr=`arbitrary..`,Sr=e=>{let t=Tr(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return wr(e);let n=e.split(yr);return Cr(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?gr(i,t):t:i||br}return n[e]||br}}},Cr=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Cr(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(yr):e.slice(t).join(yr),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},wr=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?xr+r:void 0})(),Tr=e=>{let{theme:t,classGroups:n}=e;return Er(n,t)},Er=(e,t)=>{let n=vr();for(let r in e){let i=e[r];Dr(i,n,r,t)}return n},Dr=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Or(i,t,n,r)}},Or=(e,t,n,r)=>{if(typeof e==`string`){kr(e,t,n);return}if(typeof e==`function`){Ar(e,t,n,r);return}jr(e,t,n,r)},kr=(e,t,n)=>{let r=e===``?t:Mr(t,e);r.classGroupId=n},Ar=(e,t,n,r)=>{if(Nr(e)){Dr(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(_r(n,e))},jr=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Dr(o,Mr(t,a),n,r)}},Mr=(e,t)=>{let n=e,r=t.split(yr),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=vr(),n.nextPart.set(t,i)),n=i}return n},Nr=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Pr=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Fr=`!`,Ir=`:`,Lr=[],Rr=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),zr=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ir){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Fr)?(c=s.slice(0,-1),l=!0):s.startsWith(Fr)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Rr(t,l,c,u)};if(t){let e=t+Ir,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Rr(Lr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Br=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Vr=e=>({cache:Pr(e.cacheSize),parseClassName:zr(e),sortModifiers:Br(e),postfixLookupClassGroupIds:Hr(e),...Sr(e)}),Hr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Ur=/\s+/,Wr=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Ur),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+Fr:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Gr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Kr(n))&&(i&&(i+=` `),i+=r);return i},Kr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Kr(e[r]))&&(n&&(n+=` `),n+=t);return n},qr=(e,...t)=>{let n,r,i,a,o=o=>(n=Vr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Wr(e,n);return i(e,a),a};return a=o,(...e)=>a(Gr(...e))},Jr=[],X=e=>{let t=t=>t[e]||Jr;return t.isThemeGetter=!0,t},Yr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Xr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Zr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Qr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,$r=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ei=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ti=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ni=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ri=e=>Zr.test(e),Z=e=>!!e&&!Number.isNaN(Number(e)),ii=e=>!!e&&Number.isInteger(Number(e)),ai=e=>e.endsWith(`%`)&&Z(e.slice(0,-1)),oi=e=>Qr.test(e),si=()=>!0,ci=e=>$r.test(e)&&!ei.test(e),li=()=>!1,ui=e=>ti.test(e),di=e=>ni.test(e),fi=e=>!Q(e)&&!$(e),pi=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),mi=e=>ki(e,Ni,li),Q=e=>Yr.test(e),hi=e=>ki(e,Pi,ci),gi=e=>ki(e,Fi,Z),_i=e=>ki(e,Li,si),vi=e=>ki(e,Ii,li),yi=e=>ki(e,ji,li),bi=e=>ki(e,Mi,di),xi=e=>ki(e,Ri,ui),$=e=>Xr.test(e),Si=e=>Ai(e,Pi),Ci=e=>Ai(e,Ii),wi=e=>Ai(e,ji),Ti=e=>Ai(e,Ni),Ei=e=>Ai(e,Mi),Di=e=>Ai(e,Ri,!0),Oi=e=>Ai(e,Li,!0),ki=(e,t,n)=>{let r=Yr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Ai=(e,t,n=!1)=>{let r=Xr.exec(e);return r?r[1]?t(r[1]):n:!1},ji=e=>e===`position`||e===`percentage`,Mi=e=>e===`image`||e===`url`,Ni=e=>e===`length`||e===`size`||e===`bg-size`,Pi=e=>e===`length`,Fi=e=>e===`number`,Ii=e=>e===`family-name`,Li=e=>e===`number`||e===`weight`,Ri=e=>e===`shadow`,zi=qr(()=>{let e=X(`color`),t=X(`font`),n=X(`text`),r=X(`font-weight`),i=X(`tracking`),a=X(`leading`),o=X(`breakpoint`),s=X(`container`),c=X(`spacing`),l=X(`radius`),u=X(`shadow`),d=X(`inset-shadow`),f=X(`text-shadow`),p=X(`drop-shadow`),m=X(`blur`),h=X(`perspective`),g=X(`aspect`),_=X(`ease`),v=X(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),$,Q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[$,Q,c],T=()=>[ri,`full`,`auto`,...w()],E=()=>[ii,`none`,`subgrid`,$,Q],D=()=>[`auto`,{span:[`full`,ii,$,Q]},ii,$,Q],O=()=>[ii,`auto`,$,Q],k=()=>[`auto`,`min`,`max`,`fr`,$,Q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[ri,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[ri,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],F=()=>[ri,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],I=()=>[e,$,Q],L=()=>[...b(),wi,yi,{position:[$,Q]}],ee=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],R=()=>[`auto`,`cover`,`contain`,Ti,mi,{size:[$,Q]}],te=()=>[ai,Si,hi],z=()=>[``,`none`,`full`,l,$,Q],B=()=>[``,Z,Si,hi],V=()=>[`solid`,`dashed`,`dotted`,`double`],H=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],U=()=>[Z,ai,wi,yi],ne=()=>[``,`none`,m,$,Q],W=()=>[`none`,Z,$,Q],G=()=>[`none`,Z,$,Q],re=()=>[Z,$,Q],ie=()=>[ri,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[oi],breakpoint:[oi],color:[si],container:[oi],"drop-shadow":[oi],ease:[`in`,`out`,`in-out`],font:[fi],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[oi],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[oi],shadow:[oi],spacing:[`px`,Z],text:[oi],"text-shadow":[oi],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,ri,Q,$,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,$,Q]}],"container-named":[pi],columns:[{columns:[Z,Q,$,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[ii,`auto`,$,Q]}],basis:[{basis:[ri,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Z,ri,`auto`,`initial`,`none`,Q]}],grow:[{grow:[``,Z,$,Q]}],shrink:[{shrink:[``,Z,$,Q]}],order:[{order:[ii,`first`,`last`,`none`,$,Q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...P()]}],"min-inline-size":[{"min-inline":[`auto`,...P()]}],"max-inline-size":[{"max-inline":[`none`,...P()]}],"block-size":[{block:[`auto`,...F()]}],"min-block-size":[{"min-block":[`auto`,...F()]}],"max-block-size":[{"max-block":[`none`,...F()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,Si,hi]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Oi,_i]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ai,Q]}],"font-family":[{font:[Ci,vi,t]}],"font-features":[{"font-features":[Q]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,$,Q]}],"line-clamp":[{"line-clamp":[Z,`none`,$,gi]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,$,Q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,$,Q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:I()}],"text-color":[{text:I()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...V(),`wavy`]}],"text-decoration-thickness":[{decoration:[Z,`from-font`,`auto`,$,hi]}],"text-decoration-color":[{decoration:I()}],"underline-offset":[{"underline-offset":[Z,`auto`,$,Q]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[ii,$,Q]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,$,Q]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,$,Q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:ee()}],"bg-size":[{bg:R()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},ii,$,Q],radial:[``,$,Q],conic:[ii,$,Q]},Ei,bi]}],"bg-color":[{bg:I()}],"gradient-from-pos":[{from:te()}],"gradient-via-pos":[{via:te()}],"gradient-to-pos":[{to:te()}],"gradient-from":[{from:I()}],"gradient-via":[{via:I()}],"gradient-to":[{to:I()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:B()}],"border-w-x":[{"border-x":B()}],"border-w-y":[{"border-y":B()}],"border-w-s":[{"border-s":B()}],"border-w-e":[{"border-e":B()}],"border-w-bs":[{"border-bs":B()}],"border-w-be":[{"border-be":B()}],"border-w-t":[{"border-t":B()}],"border-w-r":[{"border-r":B()}],"border-w-b":[{"border-b":B()}],"border-w-l":[{"border-l":B()}],"divide-x":[{"divide-x":B()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":B()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...V(),`hidden`,`none`]}],"divide-style":[{divide:[...V(),`hidden`,`none`]}],"border-color":[{border:I()}],"border-color-x":[{"border-x":I()}],"border-color-y":[{"border-y":I()}],"border-color-s":[{"border-s":I()}],"border-color-e":[{"border-e":I()}],"border-color-bs":[{"border-bs":I()}],"border-color-be":[{"border-be":I()}],"border-color-t":[{"border-t":I()}],"border-color-r":[{"border-r":I()}],"border-color-b":[{"border-b":I()}],"border-color-l":[{"border-l":I()}],"divide-color":[{divide:I()}],"outline-style":[{outline:[...V(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Z,$,Q]}],"outline-w":[{outline:[``,Z,Si,hi]}],"outline-color":[{outline:I()}],shadow:[{shadow:[``,`none`,u,Di,xi]}],"shadow-color":[{shadow:I()}],"inset-shadow":[{"inset-shadow":[`none`,d,Di,xi]}],"inset-shadow-color":[{"inset-shadow":I()}],"ring-w":[{ring:B()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:I()}],"ring-offset-w":[{"ring-offset":[Z,hi]}],"ring-offset-color":[{"ring-offset":I()}],"inset-ring-w":[{"inset-ring":B()}],"inset-ring-color":[{"inset-ring":I()}],"text-shadow":[{"text-shadow":[`none`,f,Di,xi]}],"text-shadow-color":[{"text-shadow":I()}],opacity:[{opacity:[Z,$,Q]}],"mix-blend":[{"mix-blend":[...H(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":H()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Z]}],"mask-image-linear-from-pos":[{"mask-linear-from":U()}],"mask-image-linear-to-pos":[{"mask-linear-to":U()}],"mask-image-linear-from-color":[{"mask-linear-from":I()}],"mask-image-linear-to-color":[{"mask-linear-to":I()}],"mask-image-t-from-pos":[{"mask-t-from":U()}],"mask-image-t-to-pos":[{"mask-t-to":U()}],"mask-image-t-from-color":[{"mask-t-from":I()}],"mask-image-t-to-color":[{"mask-t-to":I()}],"mask-image-r-from-pos":[{"mask-r-from":U()}],"mask-image-r-to-pos":[{"mask-r-to":U()}],"mask-image-r-from-color":[{"mask-r-from":I()}],"mask-image-r-to-color":[{"mask-r-to":I()}],"mask-image-b-from-pos":[{"mask-b-from":U()}],"mask-image-b-to-pos":[{"mask-b-to":U()}],"mask-image-b-from-color":[{"mask-b-from":I()}],"mask-image-b-to-color":[{"mask-b-to":I()}],"mask-image-l-from-pos":[{"mask-l-from":U()}],"mask-image-l-to-pos":[{"mask-l-to":U()}],"mask-image-l-from-color":[{"mask-l-from":I()}],"mask-image-l-to-color":[{"mask-l-to":I()}],"mask-image-x-from-pos":[{"mask-x-from":U()}],"mask-image-x-to-pos":[{"mask-x-to":U()}],"mask-image-x-from-color":[{"mask-x-from":I()}],"mask-image-x-to-color":[{"mask-x-to":I()}],"mask-image-y-from-pos":[{"mask-y-from":U()}],"mask-image-y-to-pos":[{"mask-y-to":U()}],"mask-image-y-from-color":[{"mask-y-from":I()}],"mask-image-y-to-color":[{"mask-y-to":I()}],"mask-image-radial":[{"mask-radial":[$,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":U()}],"mask-image-radial-to-pos":[{"mask-radial-to":U()}],"mask-image-radial-from-color":[{"mask-radial-from":I()}],"mask-image-radial-to-color":[{"mask-radial-to":I()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Z]}],"mask-image-conic-from-pos":[{"mask-conic-from":U()}],"mask-image-conic-to-pos":[{"mask-conic-to":U()}],"mask-image-conic-from-color":[{"mask-conic-from":I()}],"mask-image-conic-to-color":[{"mask-conic-to":I()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:ee()}],"mask-size":[{mask:R()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,$,Q]}],filter:[{filter:[``,`none`,$,Q]}],blur:[{blur:ne()}],brightness:[{brightness:[Z,$,Q]}],contrast:[{contrast:[Z,$,Q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Di,xi]}],"drop-shadow-color":[{"drop-shadow":I()}],grayscale:[{grayscale:[``,Z,$,Q]}],"hue-rotate":[{"hue-rotate":[Z,$,Q]}],invert:[{invert:[``,Z,$,Q]}],saturate:[{saturate:[Z,$,Q]}],sepia:[{sepia:[``,Z,$,Q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,$,Q]}],"backdrop-blur":[{"backdrop-blur":ne()}],"backdrop-brightness":[{"backdrop-brightness":[Z,$,Q]}],"backdrop-contrast":[{"backdrop-contrast":[Z,$,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Z,$,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Z,$,Q]}],"backdrop-invert":[{"backdrop-invert":[``,Z,$,Q]}],"backdrop-opacity":[{"backdrop-opacity":[Z,$,Q]}],"backdrop-saturate":[{"backdrop-saturate":[Z,$,Q]}],"backdrop-sepia":[{"backdrop-sepia":[``,Z,$,Q]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,$,Q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Z,`initial`,$,Q]}],ease:[{ease:[`linear`,`initial`,_,$,Q]}],delay:[{delay:[Z,$,Q]}],animate:[{animate:[`none`,v,$,Q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,$,Q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:W()}],"rotate-x":[{"rotate-x":W()}],"rotate-y":[{"rotate-y":W()}],"rotate-z":[{"rotate-z":W()}],scale:[{scale:G()}],"scale-x":[{"scale-x":G()}],"scale-y":[{"scale-y":G()}],"scale-z":[{"scale-z":G()}],"scale-3d":[`scale-3d`],skew:[{skew:re()}],"skew-x":[{"skew-x":re()}],"skew-y":[{"skew-y":re()}],transform:[{transform:[$,Q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ie()}],"translate-x":[{"translate-x":ie()}],"translate-y":[{"translate-y":ie()}],"translate-z":[{"translate-z":ie()}],"translate-none":[`translate-none`],zoom:[{zoom:[ii,$,Q]}],accent:[{accent:I()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:I()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,$,Q]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":I()}],"scrollbar-track-color":[{"scrollbar-track":I()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,$,Q]}],fill:[{fill:[`none`,...I()]}],"stroke-w":[{stroke:[Z,Si,hi,gi]}],stroke:[{stroke:[`none`,...I()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Bi(...e){return zi(hr(e))}function Vi(e,t){return`${e}. ${String(t).padStart(2,`0`)}.`}var Hi=24;function Ui({children:e,value:t,onApply:n,disabled:r}){let[i,a]=(0,c.useState)(!1),o=xn(),{refs:s,floatingStyles:f,context:p}=(0,d.useFloating)({open:i,onOpenChange:e=>{r||a(e)},placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(8),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:m,getFloatingProps:h}=(0,d.useInteractions)([(0,d.useClick)(p,{enabled:!r}),(0,d.useDismiss)(p),(0,d.useRole)(p,{role:`dialog`})]);kn(i&&o);let{dragControls:g,handleDragEnd:_,startDrag:v}=wn({onDismiss:()=>a(!1)}),y=e=>{n(e),a(!1)};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:s.setReference,...m(),className:`inline-flex`,children:e}),(0,l.jsx)(d.FloatingPortal,{children:o?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.AnimatePresence,{children:i&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>a(!1)},`date-range-picker-dimmer`)}),(0,l.jsx)(u.AnimatePresence,{children:i&&(0,l.jsxs)(u.motion.div,{ref:s.setFloating,...h(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:g,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:_,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,l.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:v}),(0,l.jsx)(Wi,{value:t,isMobile:!0,onApply:y,onClose:()=>a(!1)})]},`date-range-picker-sheet`)})]}):i&&(0,l.jsx)(`div`,{ref:s.setFloating,style:f,...h(),className:`z-9999 rounded-2xl border border-border-tertiary bg-bg-card p-6 shadow-md`,children:(0,l.jsx)(Wi,{value:t,isMobile:!1,onApply:y,onClose:()=>a(!1)})})})]})}function Wi({value:e,isMobile:t,onApply:n,onClose:r}){let i=qi(e?.from),a=qi(e?.to),[o,s]=(0,c.useState)(i),[u,d]=(0,c.useState)(a),[f,p]=(0,c.useState)(i??new Date),m=(0,v.addMonths)(f,1),h=e=>{if(!o||o&&u){s(e),d(null);return}if((0,v.isBefore)(e,o)){s(e),d(null);return}d(e)},g=(0,l.jsxs)(`div`,{className:`mt-6 flex items-center justify-end gap-2`,children:[(0,l.jsx)(`button`,{type:`button`,onClick:r,className:`cursor-pointer rounded-full bg-bg-base-primary px-5 py-2 text-sm font-semibold text-text-secondary transition-colors hover:bg-bg-base-secondary`,children:`닫기`}),(0,l.jsx)(`button`,{type:`button`,onClick:()=>{if(!o){r();return}n({from:(0,v.format)(o,`yyyy-MM-dd`),to:(0,v.format)(u??o,`yyyy-MM-dd`)})},className:`cursor-pointer rounded-full bg-primary-500 px-5 py-2 text-sm font-semibold text-white transition-opacity hover:opacity-90`,children:`적용`})]});return t?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{className:`flex justify-center`,children:(0,l.jsx)(Gi,{month:f,onMonthChange:p,onPrev:()=>p((0,v.subMonths)(f,1)),onNext:()=>p((0,v.addMonths)(f,1)),showPrev:!0,showNext:!0,rangeFrom:o,rangeTo:u,onDayClick:h})}),g]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`flex items-stretch gap-8`,children:[(0,l.jsx)(Gi,{month:f,onMonthChange:p,onPrev:()=>p((0,v.subMonths)(f,1)),showPrev:!0,rangeFrom:o,rangeTo:u,onDayClick:h}),(0,l.jsx)(`div`,{className:`w-px bg-border-tertiary`}),(0,l.jsx)(Gi,{month:m,onMonthChange:e=>p((0,v.subMonths)(e,1)),onNext:()=>p((0,v.addMonths)(f,1)),showNext:!0,rangeFrom:o,rangeTo:u,onDayClick:h})]}),g]})}function Gi({month:e,onMonthChange:t,onPrev:n,onNext:r,showPrev:i,showNext:a,rangeFrom:o,rangeTo:s,onDayClick:u}){let[d,f]=(0,c.useState)(!1),p=(0,c.useMemo)(()=>(0,v.eachDayOfInterval)({start:(0,v.startOfWeek)((0,v.startOfMonth)(e),{weekStartsOn:0}),end:(0,v.endOfWeek)((0,v.endOfMonth)(e),{weekStartsOn:0})}),[e]),m=(0,c.useMemo)(()=>{let e=[];for(let t=-24;t<=Hi;t++)e.push((0,v.addMonths)((0,v.startOfMonth)(new Date),t));return e},[]);return(0,l.jsxs)(`div`,{className:`flex w-full max-w-[300px] flex-col sm:w-[260px]`,children:[(0,l.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,l.jsx)(Ki,{direction:`left`,onClick:n,visible:!!i}),(0,l.jsxs)(`div`,{className:`relative flex flex-1 justify-center`,children:[(0,l.jsxs)(`button`,{type:`button`,onClick:()=>f(e=>!e),className:`flex cursor-pointer items-center gap-1 rounded px-3 py-1.5 text-sm font-semibold text-text-primary transition-colors hover:bg-bg-base-primary`,children:[(0,v.format)(e,`yyyy. MM.`),(0,l.jsx)(fe,{className:`h-3.5 w-3.5 text-text-tertiary`})]}),d&&(0,l.jsx)(`div`,{className:`scrollbar-brand absolute top-full z-20 mt-1 max-h-[240px] w-[140px] overflow-y-auto rounded-lg border border-border-tertiary bg-bg-card py-1 shadow-lg`,children:m.map(n=>(0,l.jsx)(`button`,{type:`button`,onClick:()=>{t(n),f(!1)},className:Bi(`w-full cursor-pointer bg-bg-card px-4 py-2 text-left text-sm transition-colors`,(0,v.isSameMonth)(n,e)?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-secondary hover:bg-bg-base-primary`),children:(0,v.format)(n,`yyyy. MM.`)},n.toISOString()))})]}),(0,l.jsx)(Ki,{direction:`right`,onClick:r,visible:!!a})]}),(0,l.jsx)(`div`,{className:`mb-2 grid grid-cols-7`,children:[`일`,`월`,`화`,`수`,`목`,`금`,`토`].map(e=>(0,l.jsx)(`div`,{className:`py-1 text-center text-xs font-medium text-text-tertiary`,children:e},e))}),(0,l.jsx)(`div`,{className:`grid grid-cols-7 gap-y-1`,children:p.map(n=>{let r=(0,v.isSameMonth)(n,e),i=!!(o&&(0,v.isSameDay)(n,o)),a=!!(s&&(0,v.isSameDay)(n,s)),c=!!o&&!!s&&(0,v.isAfter)(n,o)&&(0,v.isBefore)(n,s),d=i||a,f=c||a&&!!o,p=c||i&&!!s;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{r||t(n),u(n)},className:`group relative flex h-9 cursor-pointer items-center justify-center text-sm`,"aria-label":(0,v.format)(n,`yyyy년 M월 d일`,{locale:y.ko}),children:[f&&(0,l.jsx)(`span`,{className:`absolute inset-y-0 left-0 right-1/2 bg-bg-base-secondary`,"aria-hidden":!0}),p&&(0,l.jsx)(`span`,{className:`absolute inset-y-0 left-1/2 right-0 bg-bg-base-secondary`,"aria-hidden":!0}),d&&(0,l.jsx)(`span`,{className:`absolute left-1/2 top-1/2 h-9 w-9 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-500`,"aria-hidden":!0}),(0,l.jsx)(`span`,{className:Bi(`relative z-10`,!r&&`text-text-disabled`,r&&!d&&`text-text-primary`,d&&`font-bold text-white`),children:(0,v.format)(n,`d`)})]},n.toISOString())})})]})}function Ki({direction:e,onClick:t,visible:n}){let r=e===`left`?pe:me;return n?(0,l.jsx)(`button`,{type:`button`,onClick:t,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":e===`left`?`이전 달`:`다음 달`,children:(0,l.jsx)(r,{className:`h-4 w-4`})}):(0,l.jsx)(`div`,{className:`w-8`})}function qi(e){if(!e)return null;let t=(0,v.parseISO)(e);return(0,v.isValid)(t)?t:null}var Ji=24;function Yi({children:e,value:t,onApply:n,disabled:r,disableMobileSheet:i=!1}){let[a,o]=(0,c.useState)(!1),s=xn()&&!i,{refs:f,floatingStyles:p,context:m}=(0,d.useFloating)({open:a,onOpenChange:e=>{r||o(e)},placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(8),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:h,getFloatingProps:g}=(0,d.useInteractions)([(0,d.useClick)(m,{enabled:!r}),(0,d.useDismiss)(m),(0,d.useRole)(m,{role:`dialog`})]);kn(a&&s);let _=e=>{n(e),o(!1)},{dragControls:v,handleDragEnd:y,startDrag:b}=wn({onDismiss:()=>o(!1)});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:f.setReference,...h(),className:`inline-flex`,children:e}),(0,l.jsx)(d.FloatingPortal,{children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.AnimatePresence,{children:a&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>o(!1)},`date-picker-dimmer`)}),(0,l.jsx)(u.AnimatePresence,{children:a&&(0,l.jsxs)(u.motion.div,{ref:f.setFloating,...g(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:v,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:y,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,l.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:b}),(0,l.jsx)(Xi,{initialValue:t,onApply:_,onClose:()=>o(!1)})]},`date-picker-sheet`)})]}):a&&(0,l.jsx)(`div`,{ref:f.setFloating,style:p,...g(),className:`z-9999 w-80 rounded-2xl border border-border-tertiary bg-bg-card p-6 shadow-md`,children:(0,l.jsx)(Xi,{initialValue:t,onApply:_,onClose:()=>o(!1)})})})]})}function Xi({initialValue:e,onApply:t,onClose:n}){let r=$i(e),[i,a]=(0,c.useState)(r),[o,s]=(0,c.useState)(r??new Date);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Zi,{month:o,onMonthChange:s,onPrev:()=>s((0,v.subMonths)(o,1)),onNext:()=>s((0,v.addMonths)(o,1)),selected:i,onDayClick:e=>a(e)}),(0,l.jsxs)(`div`,{className:`mt-6 flex items-center justify-end gap-2`,children:[(0,l.jsx)(`button`,{type:`button`,onClick:n,className:`cursor-pointer rounded-full bg-bg-base-primary px-5 py-2 text-sm font-semibold text-text-secondary transition-colors hover:bg-bg-base-secondary`,children:`닫기`}),(0,l.jsx)(`button`,{type:`button`,onClick:()=>{if(!i){n();return}t((0,v.format)(i,`yyyy-MM-dd`))},className:`cursor-pointer rounded-full bg-primary-500 px-5 py-2 text-sm font-semibold text-white transition-opacity hover:opacity-90`,children:`적용`})]})]})}function Zi({month:e,onMonthChange:t,onPrev:n,onNext:r,selected:i,onDayClick:a}){let[o,s]=(0,c.useState)(!1),u=(0,c.useMemo)(()=>(0,v.eachDayOfInterval)({start:(0,v.startOfWeek)((0,v.startOfMonth)(e),{weekStartsOn:0}),end:(0,v.endOfWeek)((0,v.endOfMonth)(e),{weekStartsOn:0})}),[e]),d=(0,c.useMemo)(()=>{let e=[];for(let t=-24;t<=Ji;t++)e.push((0,v.addMonths)((0,v.startOfMonth)(new Date),t));return e},[]);return(0,l.jsxs)(`div`,{className:`mx-auto flex w-full max-w-75 flex-col sm:w-65`,children:[(0,l.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,l.jsx)(Qi,{direction:`left`,onClick:n}),(0,l.jsxs)(`div`,{className:`relative flex flex-1 justify-center`,children:[(0,l.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`flex cursor-pointer items-center gap-1 rounded px-3 py-1.5 text-sm font-semibold text-text-primary transition-colors hover:bg-bg-base-primary`,children:[(0,v.format)(e,`yyyy. MM.`),(0,l.jsx)(fe,{className:`h-3.5 w-3.5 text-text-tertiary`})]}),o&&(0,l.jsx)(`div`,{className:`scrollbar-brand absolute top-full z-20 mt-1 max-h-60 w-35 overflow-y-auto rounded-lg border border-border-tertiary bg-bg-card py-1 shadow-lg`,children:d.map(n=>(0,l.jsx)(`button`,{type:`button`,onClick:()=>{t(n),s(!1)},className:Bi(`w-full cursor-pointer bg-bg-card px-4 py-2 text-left text-sm transition-colors`,(0,v.isSameMonth)(n,e)?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-secondary hover:bg-bg-base-primary`),children:(0,v.format)(n,`yyyy. MM.`)},n.toISOString()))})]}),(0,l.jsx)(Qi,{direction:`right`,onClick:r})]}),(0,l.jsx)(`div`,{className:`mb-2 grid grid-cols-7`,children:[`일`,`월`,`화`,`수`,`목`,`금`,`토`].map(e=>(0,l.jsx)(`div`,{className:`py-1 text-center text-xs font-medium text-text-tertiary`,children:e},e))}),(0,l.jsx)(st,{children:(0,l.jsx)(`div`,{className:`grid grid-cols-7 gap-y-1`,children:u.map(n=>{let r=(0,v.isSameMonth)(n,e),o=!!(i&&(0,v.isSameDay)(n,i));return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{r||t(n),a(n)},className:`group relative flex h-9 cursor-pointer items-center justify-center text-sm`,"aria-label":(0,v.format)(n,`yyyy년 M월 d일`,{locale:y.ko}),children:[o&&(0,l.jsx)(`span`,{className:`absolute left-1/2 top-1/2 h-9 w-9 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-500`,"aria-hidden":!0}),(0,l.jsx)(`span`,{className:Bi(`relative z-10`,!r&&`text-text-disabled`,r&&!o&&`text-text-primary`,o&&`font-bold text-white`),children:(0,v.format)(n,`d`)})]},n.toISOString())})})})]})}function Qi({direction:e,onClick:t}){return(0,l.jsx)(`button`,{type:`button`,onClick:t,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":e===`left`?`이전 달`:`다음 달`,children:(0,l.jsx)(e===`left`?pe:me,{className:`h-4 w-4`})})}function $i(e){if(!e)return null;let t=(0,v.parseISO)(e);return(0,v.isValid)(t)?t:null}function ea({children:e,value:t,onChange:n,disabled:r,disableMobileSheet:i=!1}){let[a,o]=(0,c.useState)(!1),s=xn()&&!i,{refs:f,floatingStyles:p,context:m}=(0,d.useFloating)({open:a,onOpenChange:e=>{r||o(e)},placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(8),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8})]}),{getReferenceProps:h,getFloatingProps:g}=(0,d.useInteractions)([(0,d.useClick)(m,{enabled:!r}),(0,d.useDismiss)(m),(0,d.useRole)(m,{role:`dialog`})]);kn(a&&s);let{dragControls:_,handleDragEnd:v,startDrag:y}=wn({onDismiss:()=>o(!1)}),b=e=>{n(e),o(!1)},x=new Date,[S,C]=(0,c.useState)(t?.year??x.getFullYear()),w=(0,l.jsx)(ta,{year:S,onYearChange:C,selectedYear:t?.year,selectedMonth:t?.month,currentYear:x.getFullYear(),currentMonth:x.getMonth()+1,onSelect:e=>b({year:S,month:e})});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{ref:f.setReference,...h(),className:`inline-flex`,children:e}),(0,l.jsx)(d.FloatingPortal,{children:s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.AnimatePresence,{children:a&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:`fixed inset-0 z-50 bg-black/40`,onClick:()=>o(!1)},`month-picker-dimmer`)}),(0,l.jsx)(u.AnimatePresence,{children:a&&(0,l.jsxs)(u.motion.div,{ref:f.setFloating,...g(),initial:{y:`100%`},animate:{y:0},exit:{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}},transition:{type:`spring`,damping:30,stiffness:320},drag:`y`,dragListener:!1,dragControls:_,dragConstraints:{top:0},dragElastic:{top:0,bottom:.4},onDragEnd:v,className:`fixed inset-x-0 bottom-0 z-50 flex flex-col gap-5 rounded-t-2xl bg-bg-card p-5 pb-[max(20px,env(safe-area-inset-bottom))] shadow-2xl`,children:[(0,l.jsx)(`div`,{className:`self-center h-1 w-10 rounded-full bg-bg-base-tertiary cursor-grab touch-none active:cursor-grabbing`,onPointerDown:y}),w]},`month-picker-sheet`)})]}):a&&(0,l.jsx)(`div`,{ref:f.setFloating,style:p,...g(),className:`z-9999 w-70 rounded-2xl border border-border-tertiary bg-bg-card p-5 shadow-md`,children:w})})]})}function ta({year:e,onYearChange:t,selectedYear:n,selectedMonth:r,currentYear:i,currentMonth:a,onSelect:o}){let s=Array.from({length:12},(e,t)=>t+1);return(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsxs)(`div`,{className:`mb-4 flex items-center justify-between`,children:[(0,l.jsx)(na,{direction:`left`,onClick:()=>t(e-1)}),(0,l.jsxs)(`div`,{className:`flex-1 text-center text-sm font-semibold text-text-primary`,children:[e,`년`]}),(0,l.jsx)(na,{direction:`right`,onClick:()=>t(e+1)})]}),(0,l.jsx)(`div`,{className:`grid grid-cols-4 gap-2`,children:s.map(t=>{let s=n===e&&r===t;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>o(t),className:Bi(`h-10 cursor-pointer rounded-lg text-sm transition-colors`,s?`bg-primary-500 font-bold text-white`:e===i&&t===a?`bg-bg-base-secondary font-semibold text-text-primary`:`text-text-primary hover:bg-bg-base-primary`),"aria-label":`${e}년 ${t}월`,"aria-pressed":s,children:[t,`월`]},t)})})]})}function na({direction:e,onClick:t}){return(0,l.jsx)(`button`,{type:`button`,onClick:t,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border-tertiary text-text-secondary transition-colors hover:bg-bg-base-primary`,"aria-label":e===`left`?`이전 해`:`다음 해`,children:(0,l.jsx)(e===`left`?pe:me,{className:`h-4 w-4`})})}function ra({value:e,onChange:t,size:n=`small`,ariaLabel:r,label:i,className:a=``,disableMobileSheet:o=!1}){let s=n===`mini`,c=s?`h-8`:`h-10`,u=s?`w-30`:`w-36`,d=s?`pl-2 pr-0.5`:`pl-2.5 pr-1`,f=s?`text-xs`:`text-sm`,p=s?`h-5 w-5`:`h-6 w-6`,m=s?`h-3 w-3`:`h-3.5 w-3.5`,h=`group relative ${c} ${u} ${d} flex items-center gap-1 rounded-lg border border-border-tertiary dark:border-border-secondary bg-bg-white transition-colors focus-within:border-primary-500 ${a}`,g=e?`text-text-primary`:`text-text-tertiary`,_=!!i;return(0,l.jsxs)(`div`,{className:h,children:[(0,l.jsx)(`input`,{type:`date`,value:e,onChange:e=>t(e.target.value),min:`1900-01-01`,max:`9999-12-31`,"aria-label":r??i,className:`search-box-date-input flex-1 bg-transparent ${f} outline-none ${g}`}),(0,l.jsx)(Yi,{value:e||null,onApply:e=>t(e),disableMobileSheet:o,children:(0,l.jsx)(`button`,{type:`button`,"aria-label":`달력에서 날짜 선택`,className:`flex ${p} items-center justify-center rounded text-neutral-400 transition-colors hover:bg-neutral-100 hover:text-neutral-600 dark:hover:bg-neutral-800 dark:hover:text-neutral-200`,children:(0,l.jsx)(ue,{className:m})})}),_&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute -top-2 left-2 bg-bg-white px-1 text-text-secondary group-focus-within:text-primary-500 ${s?`text-[10px]`:`text-xs`}`,children:i})]})}function ia({value:e,onChange:t,size:n}){let r=n===`mini`;return(0,l.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-1 select-none`,children:[(0,l.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>t(e.target.checked),className:`peer sr-only`}),(0,l.jsx)(de,{className:`${r?`h-3.5 w-3.5`:`h-4 w-4`} stroke-3 transition-colors peer-focus-visible:outline-2 peer-focus-visible:outline-primary-500 peer-focus-visible:outline-offset-1 ${e?`text-primary-500`:`text-icon-tertiary`}`,"aria-hidden":`true`}),(0,l.jsx)(`span`,{className:`${r?`text-xs`:`text-sm`} font-medium transition-colors ${e?`text-primary-500`:`text-text-tertiary`}`,children:`완전일치`})]})}function aa({chips:e,onRemove:t}){return e.length===0?null:(0,l.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:e.map(e=>(0,l.jsx)(ct,{content:`${e.label} | ${e.valueLabel}`,position:`top`,children:(0,l.jsxs)(`button`,{type:`button`,onClick:()=>t(e.key),className:`inline-flex max-w-65 items-center gap-1.5 rounded-full border border-primary-200 bg-primary-50 px-2 py-0.5 text-xs text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-300 dark:hover:bg-primary-900/50`,"aria-label":`${e.label} 필터 제거`,children:[(0,l.jsx)(`span`,{className:`shrink-0 text-text-tertiary`,children:e.label}),(0,l.jsx)(`span`,{className:`text-primary-300 dark:text-primary-700`,children:`|`}),(0,l.jsx)(`span`,{className:`truncate font-medium`,children:e.valueLabel}),(0,l.jsx)(Me,{className:`h-3 w-3 shrink-0`})]})},e.key))})}var oa=`~`;function sa(e){if(!e)return{from:``,to:``};let t=e.indexOf(oa);return t===-1?{from:e,to:``}:{from:e.slice(0,t),to:e.slice(t+1)}}function ca(e,t){return!e&&!t?``:`${e}${oa}${t}`}var la=(0,c.createContext)(!1);function ua({value:e,onChange:t,presets:n,size:r}){let{from:i,to:a}=sa(e),o=(0,c.useContext)(la),s=(0,c.useMemo)(()=>n?.map(e=>({preset:e,range:e.range()}))??[],[n]),u=e=>{let n=e.range();t(ca(n.from,n.to))};return(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,l.jsx)(ra,{value:i,onChange:e=>t(ca(e,a)),size:r,ariaLabel:`시작일`,disableMobileSheet:o}),(0,l.jsx)(`span`,{className:`text-neutral-400`,children:`~`}),(0,l.jsx)(ra,{value:a,onChange:e=>t(ca(i,e)),size:r,ariaLabel:`종료일`,disableMobileSheet:o})]}),s.length>0&&(0,l.jsx)(`div`,{className:`flex items-center gap-1`,children:s.map(({preset:e,range:t})=>{let n=i===t.from&&a===t.to;return(0,l.jsx)(E,{variant:n?`primary`:`tertiary`,appearance:n?`filled`:`outlined`,size:r,onClick:()=>u(e),className:`whitespace-nowrap ${r===`small`?`h-10`:``} ${n?``:`border-border-tertiary! dark:border-border-secondary!`}`,children:e.label},e.label)})})]})}function da({value:e,onChange:t,ariaLabel:n,presets:r,size:i}){let a=(0,c.useContext)(la),o=(0,c.useMemo)(()=>r?.map(e=>({preset:e,date:e.date()}))??[],[r]);return(0,l.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,children:[(0,l.jsx)(ra,{value:e,onChange:t,size:i,ariaLabel:n,disableMobileSheet:a}),o.length>0&&(0,l.jsx)(`div`,{className:`flex items-center gap-1`,children:o.map(({preset:n,date:r})=>{let a=e===r;return(0,l.jsx)(E,{variant:a?`primary`:`tertiary`,appearance:a?`filled`:`outlined`,size:i,onClick:()=>t(r),className:`whitespace-nowrap ${i===`small`?`h-10`:``} ${a?``:`border-border-tertiary! dark:border-border-secondary!`}`,children:n.label},n.label)})})]})}function fa({label:e,value:t,onChange:n,onEnter:r,size:i,inputMode:a,trailing:o}){let[s,u]=(0,c.useState)(!1),d=(0,c.useRef)(null),f=t.length>0,p=s||f,m=i===`mini`?`h-8`:`h-10`,h=i===`mini`?`text-xs`:`text-sm`,g=i===`mini`?`px-2.5`:`px-3`;return(0,l.jsxs)(`div`,{className:`relative ${m} w-full cursor-text rounded-lg border bg-bg-white transition-colors ${s?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,onClick:()=>d.current?.focus(),children:[(0,l.jsx)(`input`,{ref:d,type:`text`,value:t,onChange:e=>n(e.target.value),onFocus:()=>u(!0),onBlur:()=>u(!1),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),r?.())},inputMode:a,"aria-label":e,className:`peer h-full w-full bg-transparent ${g} ${h} text-text-primary placeholder-transparent focus:outline-hidden`,placeholder:e}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${p?`-top-2 ${i===`mini`?`text-[10px]`:`text-xs`} ${s?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${h} text-text-tertiary`}`,children:e}),o&&(0,l.jsx)(`div`,{className:`absolute inset-y-0 right-2 flex items-center`,children:o})]})}function pa({label:e,options:t,value:n,onChange:r,size:i}){let[a,o]=(0,c.useState)(!1),{refs:s,floatingStyles:u,context:f}=(0,d.useFloating)({open:a,onOpenChange:o,placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(4),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8}),(0,d.size)({apply({rects:e,elements:t}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`})}})]}),{getReferenceProps:p,getFloatingProps:m}=(0,d.useInteractions)([(0,d.useClick)(f),(0,d.useDismiss)(f),(0,d.useRole)(f,{role:`listbox`})]),h=t.find(e=>String(e.value)===n),g=!!h,_=a||g,v=i===`mini`?`h-8`:`h-10`,y=i===`mini`?`text-xs`:`text-sm`,b=i===`mini`?`px-2.5`:`px-3`;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`button`,{ref:s.setReference,type:`button`,...p(),"aria-expanded":a,"aria-haspopup":`listbox`,className:`relative ${v} w-full rounded-lg border bg-bg-white ${b} text-left transition-colors focus-visible:border-primary-500 focus-visible:outline-hidden ${a?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,children:[(0,l.jsxs)(`div`,{className:`flex h-full w-full items-center justify-between gap-2`,children:[(0,l.jsx)(`span`,{className:`truncate ${y} ${g?`text-text-primary`:`text-text-tertiary`}`,children:g?h.label:``}),(0,l.jsx)(fe,{className:`h-3.5 w-3.5 shrink-0 text-icon-tertiary transition-transform ${a?`rotate-180`:``}`})]}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${_?`-top-2 ${i===`mini`?`text-[10px]`:`text-xs`} ${a?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${y} text-text-tertiary`}`,children:e})]}),a&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsxs)(`div`,{ref:s.setFloating,style:u,...m(),className:`z-9999 max-h-60 overflow-y-auto rounded-lg border border-neutral-200 bg-white py-1 shadow-lg dark:border-neutral-700 dark:bg-neutral-800`,children:[t.map(e=>{let t=String(e.value),i=t===n;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{r(t),o(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-neutral-50 dark:hover:bg-neutral-700 ${y} ${i?`text-text-primary`:`text-text-secondary`}`,role:`option`,"aria-selected":i,children:[(0,l.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),i&&(0,l.jsx)(de,{className:`h-3 w-3 text-primary-500`,strokeWidth:3})]},t)}),t.length===0&&(0,l.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-tertiary`,children:`옵션이 없어요`})]})})]})}function ma(e){let[t,n]=e.split(`-`),r=Number(t),i=Number(n);if(!(!r||!i))return{year:r,month:i}}function ha({year:e,month:t}){return`${e}-${String(t).padStart(2,`0`)}`}function ga({value:e,onChange:t,ariaLabel:n,size:r}){let i=(0,c.useContext)(la),a=ma(e),o=a?`${a.year}년 ${a.month}월`:`년월 선택`;return(0,l.jsx)(ea,{value:a,onChange:e=>t(ha(e)),disableMobileSheet:i,children:(0,l.jsxs)(`button`,{type:`button`,"aria-label":n,className:`inline-flex w-full items-center gap-2 rounded-lg border border-border-tertiary bg-bg-card px-3 text-sm text-text-primary transition-colors hover:bg-bg-base-primary dark:border-border-secondary ${r===`small`?`h-10 py-2`:`h-9 py-1.5`}`,children:[(0,l.jsx)(ue,{className:`h-4 w-4 shrink-0 text-text-secondary`}),(0,l.jsx)(`span`,{className:a?``:`text-text-tertiary`,children:o})]})})}function _a({label:e,options:t,value:n,onChange:r,size:i}){let[a,o]=(0,c.useState)(!1),{refs:s,floatingStyles:u,context:f}=(0,d.useFloating)({open:a,onOpenChange:o,placement:`bottom-start`,whileElementsMounted:d.autoUpdate,middleware:[(0,d.offset)(4),(0,d.flip)({fallbackAxisSideDirection:`start`}),(0,d.shift)({padding:8}),(0,d.size)({apply({rects:e,elements:t}){Object.assign(t.floating.style,{minWidth:`${e.reference.width}px`})}})]}),{getReferenceProps:p,getFloatingProps:m}=(0,d.useInteractions)([(0,d.useClick)(f),(0,d.useDismiss)(f),(0,d.useRole)(f,{role:`listbox`})]),h=n?n.split(`,`).filter(Boolean):[],g=new Set(h),_=h.length>0,v=a||_,y=e=>{let n=new Set(g);n.has(e)?n.delete(e):n.add(e),r(t.filter(e=>n.has(String(e.value))).map(e=>String(e.value)).join(`,`))},b=i===`mini`?`h-8`:`h-10`,x=i===`mini`?`text-xs`:`text-sm`,S=i===`mini`?`px-2.5`:`px-3`,C=_?t.filter(e=>g.has(String(e.value))).map(e=>e.label).join(`, `):``;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`button`,{ref:s.setReference,type:`button`,...p(),"aria-expanded":a,"aria-haspopup":`listbox`,className:`relative ${b} w-full rounded-lg border bg-bg-white ${S} text-left transition-colors focus-visible:border-primary-500 focus-visible:outline-hidden ${a?`border-primary-500`:`border-border-tertiary dark:border-border-secondary`}`,children:[(0,l.jsxs)(`div`,{className:`flex h-full w-full items-center justify-between gap-2`,children:[(0,l.jsx)(`span`,{className:`truncate ${x} ${_?`text-text-primary`:`text-text-tertiary`}`,children:C}),(0,l.jsx)(fe,{className:`h-3.5 w-3.5 shrink-0 text-icon-tertiary transition-transform ${a?`rotate-180`:``}`})]}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2 px-1 transition-all bg-bg-white ${v?`-top-2 ${i===`mini`?`text-[10px]`:`text-xs`} ${a?`text-primary-500`:`text-text-secondary`}`:`top-1/2 -translate-y-1/2 ${x} text-text-tertiary`}`,children:e})]}),a&&(0,l.jsx)(d.FloatingPortal,{children:(0,l.jsxs)(`div`,{ref:s.setFloating,style:u,...m(),className:`z-9999 max-h-60 overflow-y-auto rounded-lg border border-neutral-200 bg-white py-1 shadow-lg dark:border-neutral-700 dark:bg-neutral-800`,children:[t.map(e=>{let t=String(e.value),n=g.has(t);return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>y(t),className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-neutral-50 dark:hover:bg-neutral-700 ${x} ${n?`text-text-primary`:`text-text-secondary`}`,role:`option`,"aria-selected":n,children:[(0,l.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center rounded border ${n?`border-primary-500 bg-primary-500 text-white`:`border-neutral-300 dark:border-neutral-600`}`,children:n&&(0,l.jsx)(de,{className:`h-3 w-3`,strokeWidth:3})}),(0,l.jsx)(`span`,{className:`flex-1 truncate`,children:e.label})]},t)}),t.length===0&&(0,l.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-tertiary`,children:`옵션이 없어요`})]})})]})}function va({field:e,value:t,onChange:n,onEnter:r,size:i}){return e.type===`text`?(0,l.jsx)(fa,{label:e.label,value:t,onChange:n,onEnter:r,size:i,inputMode:e.inputMode}):e.type===`multiSelect`?(0,l.jsx)(_a,{label:e.label,options:e.options,value:t,onChange:n,size:i}):e.type===`dateRange`?(0,l.jsx)(ua,{value:t,onChange:n,presets:e.presets,size:i}):e.type===`dateSingle`?(0,l.jsx)(da,{value:t,onChange:n,ariaLabel:e.label,presets:e.presets,size:i}):e.type===`month`?(0,l.jsx)(ga,{value:t,onChange:n,ariaLabel:e.label,size:i}):(0,l.jsx)(pa,{label:e.label,options:e.options,value:t,onChange:n,size:i})}function ya({fields:e,values:t,onSearch:n,onClear:r}){let[i,a]=(0,c.useState)(()=>ba(e,t)),o=(0,c.useRef)(t);return(0,c.useEffect)(()=>{let n=o.current;Ca(t,n,e)||(a(r=>{let i={...r};for(let a of e)(r[a.key]??``)===(n[a.key]??``)&&(i[a.key]=t[a.key]??``);return i}),o.current=t)},[t]),{draft:i,setFieldValue:(e,t)=>{a(n=>({...n,[e]:t}))},submit:()=>{for(let t of e){if(t.hidden||t.type!==`dateRange`)continue;let{from:e,to:n}=sa(i[t.key]??``);if(e&&n&&e>n)return g.default.error(`${t.label} 종료일이 시작일보다 빠를 수 없어요`),!1}return n(Sa(e,i)),!0},clear:()=>{let t=xa(e);a(t),r?r():n(t)},chips:e.map(e=>{if(e.hidden)return null;let n=t[e.key]??``;if(n===``)return null;if(e.type===`select`){let t=e.options.find(e=>String(e.value)===n);return{key:e.key,label:e.label,valueLabel:t?.label??n}}if(e.type===`multiSelect`){let t=n.split(`,`).filter(Boolean);if(t.length===0)return null;let r=new Map(e.options.map(e=>[String(e.value),e.label])),i=t.map(e=>r.get(e)??e);return{key:e.key,label:e.label,valueLabel:i.join(`, `)}}return null}).filter(e=>e!==null),removeChip:e=>{let r={...t,[e]:``};a(r),n(r)}}}function ba(e,t){let n={};for(let r of e)n[r.key]=t[r.key]??``;return n}function xa(e){let t={};for(let n of e)t[n.key]=``;return t}function Sa(e,t){let n={...t};for(let t of e)t.hidden&&(n[t.key]=``);return n}function Ca(e,t,n){for(let r of n)if((e[r.key]??``)!==(t[r.key]??``))return!1;return!0}function wa({fields:e,values:t,onSearch:n,onClear:r,isSubmitting:i=!1,exactMatch:a,className:o=``}){let s=xn(),u=s?`mini`:`small`,[d,f]=(0,c.useState)(!1),{draft:p,setFieldValue:m,submit:h,clear:g,chips:_,removeChip:v}=ya({fields:e,values:t,onSearch:n,onClear:r}),y=()=>i?!1:h(),b=()=>{y()&&f(!1)};return s?(0,l.jsxs)(`div`,{className:`w-full ${o}`,children:[(0,l.jsxs)(`div`,{className:`flex w-full items-center justify-end gap-1`,children:[(0,l.jsx)(Ta,{label:`초기화`,onClick:g,variant:`ghost`,icon:(0,l.jsx)(Ee,{className:`h-4 w-4`})}),(0,l.jsx)(Ta,{label:`검색`,onClick:y,disabled:i,variant:`primary`,icon:(0,l.jsx)(Oe,{className:`h-4 w-4`})}),(0,l.jsx)(Ta,{label:`필터`,onClick:()=>f(!0),variant:`ghost`,icon:(0,l.jsx)(Ce,{className:`h-4 w-4`}),activeDot:_.length>0})]}),_.length>0&&(0,l.jsx)(`div`,{className:`mt-2`,children:(0,l.jsx)(aa,{chips:_,onRemove:v})}),(0,l.jsx)(Ln,{isOpen:d,onClose:()=>f(!1),title:`필터`,primaryAction:{label:`적용`,onClick:b,loading:i},secondaryAction:{label:`닫기`,onClick:()=>f(!1)},children:(0,l.jsx)(la.Provider,{value:!0,children:(0,l.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.filter(e=>!e.hidden).map(e=>(0,l.jsx)(va,{field:e,value:p[e.key]??``,onChange:t=>m(e.key,t),onEnter:b,size:`small`},e.key)),a&&(0,l.jsx)(`div`,{className:`flex justify-end`,children:(0,l.jsx)(ia,{value:a.value,onChange:a.onChange,size:`small`})})]})})})]}):(0,l.jsxs)(`div`,{className:`w-full ${o}`,children:[(0,l.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-x-3 gap-y-2`,children:[e.filter(e=>!e.hidden).map(e=>(0,l.jsx)(`div`,{className:e.className??`w-44`,children:(0,l.jsx)(va,{field:e,value:p[e.key]??``,onChange:t=>m(e.key,t),onEnter:y,size:u})},e.key)),(0,l.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[a&&(0,l.jsx)(ia,{value:a.value,onChange:a.onChange,size:u}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(E,{variant:`tertiary`,appearance:`outlined`,size:u,onClick:g,leadingIcon:(0,l.jsx)(Ee,{className:`h-3.5 w-3.5`}),className:`h-10 border-border-tertiary! dark:border-border-secondary!`,children:`초기화`}),(0,l.jsx)(E,{variant:`primary`,size:u,onClick:y,loading:i,leadingIcon:(0,l.jsx)(Oe,{className:`h-3.5 w-3.5`}),className:`h-10`,children:`검색`})]})]})]}),_.length>0&&(0,l.jsx)(`div`,{className:`mt-2`,children:(0,l.jsx)(aa,{chips:_,onRemove:v})})]})}function Ta({label:e,onClick:t,icon:n,variant:r,disabled:i,activeDot:a}){return(0,l.jsxs)(`button`,{type:`button`,"aria-label":e,onClick:t,disabled:i,className:`relative inline-flex h-9 w-9 items-center justify-center rounded-lg transition-colors disabled:opacity-50 ${r===`primary`?`bg-primary-500 text-white hover:bg-primary-600`:`text-icon-secondary hover:bg-bg-base-secondary`}`,children:[n,a&&(0,l.jsx)(`span`,{className:`absolute top-1.5 right-1.5 h-1.5 w-1.5 rounded-full bg-primary-500`})]})}function Ea(e){return e?e.split(`,`).filter(Boolean):[]}function Da(e,t){let n={};for(let r of e){let e=r.hidden?``:t[r.key]??``;r.type===`multiSelect`?n[r.key]=Ea(e):r.type===`dateRange`?n[r.key]=sa(e):n[r.key]=e}return n}var Oa=`yyyy-MM-dd`;function ka(){let e=(0,v.format)(new Date,Oa);return{from:e,to:e}}function Aa(){let{from:e,to:t}=ka();return ca(e,t)}var ja=[{label:`전일`,range:()=>{let e=(0,v.format)((0,v.subDays)(new Date,1),Oa);return{from:e,to:e}}},{label:`당일`,range:()=>{let e=(0,v.format)(new Date,Oa);return{from:e,to:e}}},{label:`당월`,range:()=>{let e=new Date;return{from:(0,v.format)((0,v.startOfMonth)(e),Oa),to:(0,v.format)((0,v.endOfMonth)(e),Oa)}}},{label:`전월`,range:()=>{let e=(0,v.subMonths)(new Date,1);return{from:(0,v.format)((0,v.startOfMonth)(e),Oa),to:(0,v.format)((0,v.endOfMonth)(e),Oa)}}}],Ma=`action-toast-singleton`;function Na(e){Pa=e,e?Y.push(Mn,Nn):Y.pop(Mn)}var Pa=!1;function Fa({message:e,actions:t,tone:n=`warning`,icon:r,input:i,widthPx:a,backdrop:o=!0}){return Na(!0),g.default.custom(s=>(0,l.jsx)(Va,{toastInstance:s,message:e,actions:t,tone:n,icon:r,input:i,widthPx:a,backdrop:o}),{id:Ma,duration:1/0})}function Ia(){g.default.dismiss(Ma),Na(!1)}function La(){return Pa}function Ra(e){if(e===`tertiary`)return`dark:bg-white/10 dark:hover:bg-white/15 dark:active:bg-white/20 dark:text-white`}var za={warning:`text-amber-400`,info:`text-blue-400`,danger:`text-rose-400`};function Ba(e,t){let n=`${t} shrink-0 ${za[e]}`;return e===`info`?(0,l.jsx)(J,{className:n,strokeWidth:2,"aria-hidden":!0}):(0,l.jsx)(Ae,{className:n,strokeWidth:2,"aria-hidden":!0})}function Va({toastInstance:e,message:t,actions:n,tone:r,icon:i,input:a,widthPx:o=680,backdrop:s}){let d=xn(),f=d?`h-4 w-4`:`h-4.5 w-4.5`,p=d?`text-xs`:`text-sm`,m=d?`mini`:`small`,h=d?`px-3 py-2.5`:`px-4 py-3`,v=d?`px-3 py-3`:`px-4 py-3.5`,y=d?`gap-2`:`gap-3`,b=i===void 0?Ba(r,f):i,[x,S]=(0,c.useState)(a?.defaultValue??``);(0,c.useEffect)(()=>{let t=t=>{t.key===`Escape`&&Y.isTop(`action-toast-overlay`)&&(g.default.dismiss(e.id),Na(!1))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e.id]);let C=(0,c.useRef)(null),[w,T]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let e=C.current;if(!e)return;let t=()=>{let t=window.getComputedStyle(e),n=parseFloat(t.lineHeight);!Number.isFinite(n)||n<=0||T(e.scrollHeight>n+1.5)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[t]);let D=d&&w&&!a;(0,c.useEffect)(()=>{S(a?.defaultValue??``)},[a?.defaultValue,a?.type]);let O=t=>{(t.closeOnClick??!0)&&(g.default.dismiss(e.id),Na(!1)),t.onClick(x)},k=s?null:(0,l.jsx)(`button`,{type:`button`,onClick:()=>{g.default.dismiss(e.id),Na(!1)},className:`ml-1 shrink-0 text-white/70 hover:text-white transition-colors cursor-pointer`,"aria-label":`닫기`,children:(0,l.jsx)(ve,{className:f,fill:`currentColor`,stroke:`var(--color-secondary-700)`,strokeWidth:2})}),A=(e,t=!1)=>n.length>0&&(0,l.jsx)(`div`,{className:e,children:n.map((e,n)=>(0,l.jsx)(E,{variant:e.variant,appearance:e.appearance,size:e.size??m,leadingIcon:e.leadingIcon,trailingIcon:e.trailingIcon,disabled:t?void 0:e.disabled,onClick:t?void 0:()=>O(e),tabIndex:t?-1:void 0,className:t?void 0:Ra(e.variant),children:e.label},n))});return(0,l.jsxs)(l.Fragment,{children:[s&&(0,_.createPortal)((0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:+!!e.visible},transition:{duration:.18},onClick:()=>{g.default.dismiss(e.id),Na(!1)},className:`fixed inset-0 z-9998 bg-black/15 ${e.visible?``:`pointer-events-none`}`,"aria-hidden":!0}),document.body),(0,l.jsx)(u.motion.div,{initial:{opacity:0,scale:.98},animate:e.visible?{opacity:1,scale:1}:{opacity:0,scale:.98},transition:{duration:.22,ease:[.16,1,.3,1]},className:`dark relative rounded-2xl bg-secondary-700 text-white shadow-lg ${e.visible?``:`pointer-events-none`}`,style:{width:`min(${o}px, calc(100vw - 32px))`},role:`alertdialog`,"aria-modal":s?`true`:void 0,"aria-label":`확인이 필요한 알림`,children:a?(0,l.jsxs)(`div`,{className:`flex flex-col gap-2.5 ${v}`,children:[(0,l.jsxs)(`div`,{className:`flex items-start ${y}`,children:[b,(0,l.jsx)(`div`,{className:`min-w-0 flex-1 ${p} leading-relaxed whitespace-pre-line break-keep wrap-break-word`,children:t}),k]}),a.type===`text`?(0,l.jsx)(Ge,{variant:`box`,inputSize:d?`mini`:`small`,autoFocus:!0,value:x,onChange:e=>S(e.target.value),onKeyDown:e=>{if(e.key!==`Enter`||e.nativeEvent.isComposing)return;let t=n[n.length-1];!t||t.disabled||(e.preventDefault(),O(t))},placeholder:a.placeholder}):(0,l.jsx)(at,{textareaSize:d?`mini`:`small`,rows:a.rows??3,autoFocus:!0,value:x,onChange:e=>S(e.target.value),placeholder:a.placeholder}),A(`flex justify-end gap-1.5`)]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{"aria-hidden":!0,className:`invisible pointer-events-none absolute inset-0 flex items-center ${y} ${h}`,children:[(0,l.jsx)(`span`,{className:`${f} shrink-0`}),(0,l.jsx)(`div`,{ref:C,className:`min-w-0 flex-1 ${p} leading-relaxed whitespace-pre-line break-keep wrap-break-word`,children:t}),A(`flex shrink-0 gap-1.5`,!0)]}),D?(0,l.jsxs)(`div`,{className:`relative flex flex-col ${y} ${v}`,children:[k&&(0,l.jsx)(`div`,{className:`absolute right-3 top-3`,children:k}),(0,l.jsx)(`div`,{className:`flex justify-center`,children:b}),(0,l.jsx)(`div`,{className:`${p} leading-relaxed text-center whitespace-pre-line break-keep wrap-break-word`,children:t}),A(`flex justify-end gap-1.5`)]}):(0,l.jsxs)(`div`,{className:`flex items-center ${y} ${h}`,children:[b,(0,l.jsx)(`div`,{className:`min-w-0 flex-1 ${p} leading-relaxed whitespace-pre-line break-keep wrap-break-word`,children:t}),A(`flex shrink-0 gap-1.5`),k]})]})})]})}function Ha({children:e}){let t=xn();return(0,l.jsxs)(l.Fragment,{children:[e,(0,l.jsx)(g.Toaster,{position:t?`top-center`:`bottom-center`,containerStyle:t?{top:`calc(16px + env(safe-area-inset-top))`}:void 0,toastOptions:{duration:3e3,style:{background:`var(--color-secondary-700)`,color:`#FFFFFF`,borderRadius:`16px`,padding:0,fontSize:t?`12px`:`14px`,fontWeight:500,width:`min(680px, calc(100vw - 32px))`,maxWidth:`none`}},children:e=>(0,l.jsx)(g.ToastBar,{toast:e,style:{...e.style,padding:0,width:`100%`},children:({message:n})=>{let r=t?`w-4 h-4`:`w-4.5 h-4.5`,i=t?`px-3 py-3`:`px-3 py-3.5`,a=t?`text-xs`:`text-sm`;return(0,l.jsxs)(`div`,{className:`flex items-center ${i} w-full`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-center gap-2 flex-1 min-w-0`,children:[(0,l.jsxs)(`span`,{className:`shrink-0 flex items-center`,children:[e.type===`success`&&(0,l.jsx)(_e,{className:`${r} text-green-400`,strokeWidth:2}),e.type===`error`&&(0,l.jsx)(ve,{className:`${r} text-rose-400`,strokeWidth:2}),e.type===`loading`&&(0,l.jsx)(we,{className:`${r} animate-spin text-white`,strokeWidth:2}),e.type===`blank`&&(0,l.jsx)(J,{className:`${r} text-blue-400`,strokeWidth:2})]}),(0,l.jsx)(`span`,{className:`${a} text-white whitespace-pre-line min-w-0 break-keep wrap-break-word`,children:n})]}),e.type!==`loading`&&(0,l.jsx)(`button`,{type:`button`,onClick:()=>g.toast.dismiss(e.id),className:`ml-2 shrink-0 text-white/70 hover:text-white transition-colors cursor-pointer`,"aria-label":`닫기`,children:(0,l.jsx)(ve,{className:r,fill:`currentColor`,stroke:`var(--color-secondary-700)`,strokeWidth:2})})]})}})})]})}function Ua({open:e,onClose:t,title:n,widthPx:r=480,children:i}){let a=xn(),o={width:r,maxWidth:`100vw`},s=(0,c.useId)(),d=(0,u.useDragControls)();return(0,c.useEffect)(()=>{if(e)return Y.push(s),document.body.style.overflow=`hidden`,()=>{Y.pop(s),Y.isEmpty()&&(document.body.style.overflow=``)}},[e,s]),(0,c.useEffect)(()=>{let n=e=>{e.key===`Escape`&&Y.isTop(s)&&t()};return e&&window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t,s]),(0,l.jsxs)(Pn,{children:[(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsx)(u.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},onClick:()=>{Y.isTop(s)&&t()},className:`fixed inset-0 z-50 bg-black/50`},`drawer-backdrop`)}),(0,l.jsx)(u.AnimatePresence,{children:e&&(0,l.jsxs)(u.motion.div,{initial:a?{y:`100%`}:{x:`100%`},animate:a?{y:0}:{x:0},exit:a?{y:`100%`,transition:{duration:.2,ease:[.4,0,1,1]}}:{x:`100%`},transition:a?{type:`spring`,damping:38,stiffness:320}:{type:`spring`,damping:30,stiffness:280},drag:a?`y`:!1,dragListener:!1,dragControls:d,dragConstraints:{top:0,bottom:0},dragElastic:{top:0,bottom:.4},onDragEnd:(e,n)=>{(n.offset.y>100||n.velocity.y>500)&&t()},className:`fixed z-50 flex flex-col overflow-x-hidden bg-bg-white dark:bg-neutral-800 -bottom-8 left-0 right-0 max-h-[88vh] w-full rounded-t-2xl pb-8 sm:bottom-0 sm:left-auto sm:right-0 sm:top-0 sm:max-h-none sm:h-full sm:w-auto sm:rounded-none sm:pb-0`,style:a?void 0:o,children:[(0,l.jsx)(`div`,{className:`flex justify-center pt-2 pb-1 cursor-grab touch-none active:cursor-grabbing sm:hidden`,onPointerDown:e=>d.start(e),children:(0,l.jsx)(`div`,{className:`h-1 w-10 rounded-full bg-neutral-300 dark:bg-neutral-600`})}),n&&(0,l.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border-tertiary px-4 py-3 dark:border-neutral-700`,children:[(0,l.jsx)(`h3`,{className:`text-base font-semibold text-text-primary sm:text-lg dark:text-white`,children:n}),(0,l.jsx)(`button`,{onClick:t,className:`rounded p-1 text-text-tertiary hover:text-text-secondary dark:hover:text-neutral-300`,"aria-label":`닫기`,children:(0,l.jsx)(`svg`,{className:`h-5 w-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,l.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,l.jsx)(`div`,{className:`flex-1 overflow-auto`,children:i})]},`drawer-sheet`)})]})}exports.AccordionTable=hn,exports.AnimatedHeight=st,exports.Badge=A,exports.Button=E,exports.Checkbox=ne,exports.CheckboxCircle=V,exports.CheckboxLine=H,exports.CheckboxLineTransparent=U,exports.Collapsible=ot,exports.ColumnPresetSelector=Gn,exports.ColumnPresetStorage=Kn,exports.ColumnSettingsTable=Bn,exports.DEFAULT_DATE_RANGE_PRESETS=ja,exports.DateInput=ra,exports.DatePicker=Yi,exports.DatePickerBody=Xi,exports.DateRangePicker=Ui,exports.Drawer=Ua,exports.InfoTooltip=lt,exports.InlineSpinner=mt,exports.Input=Ge,exports.LoadingSpinner=pt,exports.MOBILE_MEDIA_QUERY=bn,exports.MiniTable=dn,exports.Modal=Fn,exports.ModalSubView=In,exports.MonthPicker=ea,exports.MultiSelect=bt,exports.PageHeader=fr,exports.PageTitle=Qn,exports.PaginatedMiniTable=fn,exports.PaginatedTable=un,exports.Pagination=sn,exports.PasswordInput=Ke,exports.Popover=ut,exports.Portal=Pn,exports.SearchBox=wa,exports.Select=_t,exports.Spinner=ft,exports.StandardModal=Ln,exports.Switch=P,exports.Table=Wt,exports.TableCard=pr,exports.TableCheckbox=xt,exports.TablePageLayout=dr,exports.Textarea=at,exports.ToastProvider=Ha,exports.Toolbar=nr,exports.Tooltip=ct,exports.cn=Bi,exports.dismissActionToast=Ia,exports.formatYearMonth=Vi,exports.getTodayDateRange=ka,exports.getTodayDateRangeValue=Aa,exports.inputFormats=$e,exports.isActionToastActive=La,exports.overlayStack=Y,exports.parseDateRangeValue=sa,exports.parseMultiSelectValue=Ea,exports.parseSearchValues=Da,exports.serializeDateRangeValue=ca,exports.showActionToast=Fa,Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return g.default}}),exports.useBottomSheetDrag=wn,exports.useClickOutside=vn,exports.useColumnPresets=Xn,exports.useHeaderButtonSize=ur,exports.useInfiniteScroll=_n,exports.useIsMobile=xn,exports.useMediaQuery=yn,exports.useScrollLock=kn,exports.useTableColumnState=Zn,exports.useTableSort=jt,exports.useVirtualTable=gn;
|