@chassis-ui/react 0.0.0-20260831090525

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.
Files changed (275) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/index.d.ts +5909 -0
  4. package/dist/index.js +2 -0
  5. package/dist/style.css +1 -0
  6. package/package.json +114 -0
  7. package/src/components/accordion/Accordion.tsx +190 -0
  8. package/src/components/accordion/AccordionBody.tsx +46 -0
  9. package/src/components/accordion/AccordionHeader.tsx +21 -0
  10. package/src/components/accordion/AccordionItem.tsx +59 -0
  11. package/src/components/accordion/context.ts +8 -0
  12. package/src/components/accordion/index.ts +8 -0
  13. package/src/components/autocomplete/Autocomplete.tsx +464 -0
  14. package/src/components/autocomplete/AutocompleteGroup.tsx +20 -0
  15. package/src/components/autocomplete/AutocompleteItem.tsx +18 -0
  16. package/src/components/autocomplete/index.ts +6 -0
  17. package/src/components/avatar/Avatar.tsx +134 -0
  18. package/src/components/avatar/AvatarImage.tsx +19 -0
  19. package/src/components/avatar/AvatarStack.tsx +98 -0
  20. package/src/components/avatar/index.ts +6 -0
  21. package/src/components/badge/Badge.tsx +94 -0
  22. package/src/components/badge/index.ts +2 -0
  23. package/src/components/breadcrumb/Breadcrumb.tsx +59 -0
  24. package/src/components/breadcrumb/BreadcrumbItem.tsx +38 -0
  25. package/src/components/breadcrumb/index.ts +4 -0
  26. package/src/components/button/Button.tsx +229 -0
  27. package/src/components/button/index.ts +2 -0
  28. package/src/components/button-group/ButtonGroup.tsx +55 -0
  29. package/src/components/button-group/ButtonToolbar.tsx +47 -0
  30. package/src/components/button-group/index.ts +4 -0
  31. package/src/components/calendar/Calendar.scss +57 -0
  32. package/src/components/calendar/Calendar.tsx +324 -0
  33. package/src/components/calendar/CalendarMonthBlock.tsx +57 -0
  34. package/src/components/calendar/CalendarMonthGrid.tsx +92 -0
  35. package/src/components/calendar/CalendarMonthYearPicker.tsx +162 -0
  36. package/src/components/calendar/CalendarNavButton.tsx +24 -0
  37. package/src/components/calendar/CalendarWeekGrid.tsx +58 -0
  38. package/src/components/calendar/CalendarYearGrid.tsx +126 -0
  39. package/src/components/calendar/RangeCalendar.scss +95 -0
  40. package/src/components/calendar/RangeCalendar.tsx +361 -0
  41. package/src/components/calendar/index.ts +5 -0
  42. package/src/components/card/Card.tsx +173 -0
  43. package/src/components/card/CardBody.tsx +75 -0
  44. package/src/components/card/CardFooter.tsx +47 -0
  45. package/src/components/card/CardGroup.tsx +51 -0
  46. package/src/components/card/CardHeader.tsx +47 -0
  47. package/src/components/card/CardImage.tsx +70 -0
  48. package/src/components/card/CardImageOverlay.tsx +47 -0
  49. package/src/components/card/CardLink.tsx +40 -0
  50. package/src/components/card/CardSubtitle.tsx +47 -0
  51. package/src/components/card/CardText.tsx +47 -0
  52. package/src/components/card/CardTitle.tsx +47 -0
  53. package/src/components/card/index.ts +22 -0
  54. package/src/components/carousel/Carousel.tsx +742 -0
  55. package/src/components/carousel/CarouselControlButton.tsx +74 -0
  56. package/src/components/carousel/CarouselControlNext.tsx +22 -0
  57. package/src/components/carousel/CarouselControlPrev.tsx +22 -0
  58. package/src/components/carousel/CarouselIndicators.tsx +44 -0
  59. package/src/components/carousel/CarouselInner.tsx +56 -0
  60. package/src/components/carousel/CarouselItem.tsx +51 -0
  61. package/src/components/carousel/CarouselOverlay.tsx +51 -0
  62. package/src/components/carousel/CarouselPlayPause.tsx +61 -0
  63. package/src/components/carousel/carouselEngine.ts +170 -0
  64. package/src/components/carousel/context.ts +29 -0
  65. package/src/components/carousel/index.ts +21 -0
  66. package/src/components/checkbox/Checkbox.tsx +236 -0
  67. package/src/components/checkbox/CheckboxGroup.tsx +145 -0
  68. package/src/components/checkbox/context.ts +14 -0
  69. package/src/components/checkbox/index.ts +4 -0
  70. package/src/components/chip/Chip.tsx +183 -0
  71. package/src/components/chip/index.ts +2 -0
  72. package/src/components/chip-input/ChipInput.tsx +363 -0
  73. package/src/components/chip-input/ChipList.tsx +95 -0
  74. package/src/components/chip-input/index.ts +2 -0
  75. package/src/components/close-button/CloseButton.tsx +205 -0
  76. package/src/components/close-button/index.ts +2 -0
  77. package/src/components/collapse/Collapse.tsx +128 -0
  78. package/src/components/collapse/index.ts +2 -0
  79. package/src/components/color-input/ColorInput.tsx +106 -0
  80. package/src/components/color-input/index.ts +2 -0
  81. package/src/components/combobox/Combobox.tsx +320 -0
  82. package/src/components/combobox/ComboboxGroup.tsx +27 -0
  83. package/src/components/combobox/ComboboxItem.tsx +44 -0
  84. package/src/components/combobox/ComboboxListBox.tsx +98 -0
  85. package/src/components/combobox/index.ts +6 -0
  86. package/src/components/datepicker/CalendarToggleButton.tsx +58 -0
  87. package/src/components/datepicker/ClearButton.tsx +35 -0
  88. package/src/components/datepicker/DateField.tsx +54 -0
  89. package/src/components/datepicker/DatePicker.scss +51 -0
  90. package/src/components/datepicker/DatePicker.tsx +574 -0
  91. package/src/components/datepicker/DateRangePicker.scss +11 -0
  92. package/src/components/datepicker/DateRangePicker.tsx +343 -0
  93. package/src/components/datepicker/index.ts +4 -0
  94. package/src/components/datepicker/renderDatePickerShell.tsx +104 -0
  95. package/src/components/drawer/Drawer.tsx +211 -0
  96. package/src/components/drawer/DrawerBody.tsx +47 -0
  97. package/src/components/drawer/DrawerFooter.tsx +51 -0
  98. package/src/components/drawer/DrawerHeader.tsx +60 -0
  99. package/src/components/drawer/DrawerTitle.tsx +49 -0
  100. package/src/components/drawer/index.ts +10 -0
  101. package/src/components/file-input/FileInput.tsx +100 -0
  102. package/src/components/file-input/index.ts +2 -0
  103. package/src/components/flex/Flex.tsx +134 -0
  104. package/src/components/flex/index.ts +2 -0
  105. package/src/components/floating-input/FloatingInput.tsx +94 -0
  106. package/src/components/floating-input/index.ts +2 -0
  107. package/src/components/form/Form.tsx +26 -0
  108. package/src/components/form/FormFeedback.tsx +64 -0
  109. package/src/components/form/FormHelp.tsx +46 -0
  110. package/src/components/form/FormLabel.tsx +26 -0
  111. package/src/components/form/index.ts +8 -0
  112. package/src/components/form/renderFormCheck.tsx +86 -0
  113. package/src/components/form-field/FormField.tsx +84 -0
  114. package/src/components/form-field/index.ts +2 -0
  115. package/src/components/form-field/renderFormField.tsx +74 -0
  116. package/src/components/grid/Col.tsx +69 -0
  117. package/src/components/grid/Container.tsx +59 -0
  118. package/src/components/grid/Grid.tsx +86 -0
  119. package/src/components/grid/GridItem.tsx +123 -0
  120. package/src/components/grid/Row.tsx +71 -0
  121. package/src/components/grid/gap.ts +8 -0
  122. package/src/components/grid/index.ts +10 -0
  123. package/src/components/icon/Icon.tsx +74 -0
  124. package/src/components/icon/index.ts +2 -0
  125. package/src/components/input-adorn/InputAdorn.tsx +55 -0
  126. package/src/components/input-adorn/index.ts +2 -0
  127. package/src/components/input-group/InputGroup.tsx +50 -0
  128. package/src/components/input-group/InputGroupAddon.tsx +50 -0
  129. package/src/components/input-group/index.ts +4 -0
  130. package/src/components/link/Link.tsx +148 -0
  131. package/src/components/link/index.ts +2 -0
  132. package/src/components/list/List.tsx +193 -0
  133. package/src/components/list/ListItem.tsx +91 -0
  134. package/src/components/list/index.ts +4 -0
  135. package/src/components/menu/Menu.tsx +398 -0
  136. package/src/components/menu/MenuDivider.tsx +19 -0
  137. package/src/components/menu/MenuHeader.tsx +55 -0
  138. package/src/components/menu/MenuItem.tsx +85 -0
  139. package/src/components/menu/MenuItemDef.ts +83 -0
  140. package/src/components/menu/MenuList.tsx +142 -0
  141. package/src/components/menu/MenuSubmenu.tsx +284 -0
  142. package/src/components/menu/MenuSubmenuBack.tsx +39 -0
  143. package/src/components/menu/MenuText.tsx +47 -0
  144. package/src/components/menu/MenuToggle.tsx +148 -0
  145. package/src/components/menu/index.ts +19 -0
  146. package/src/components/menu/menuNavigation.ts +106 -0
  147. package/src/components/menu/submenuGroup.ts +43 -0
  148. package/src/components/modal/Modal.tsx +162 -0
  149. package/src/components/modal/ModalBody.tsx +47 -0
  150. package/src/components/modal/ModalFooter.tsx +51 -0
  151. package/src/components/modal/ModalHeader.tsx +60 -0
  152. package/src/components/modal/ModalTitle.tsx +49 -0
  153. package/src/components/modal/index.ts +10 -0
  154. package/src/components/nav/Nav.tsx +97 -0
  155. package/src/components/nav/NavItem.tsx +42 -0
  156. package/src/components/nav/NavLink.tsx +48 -0
  157. package/src/components/nav/NavTitle.tsx +22 -0
  158. package/src/components/nav/index.ts +7 -0
  159. package/src/components/navbar/Navbar.tsx +112 -0
  160. package/src/components/navbar/NavbarBrand.tsx +55 -0
  161. package/src/components/navbar/NavbarNav.tsx +47 -0
  162. package/src/components/navbar/NavbarText.tsx +47 -0
  163. package/src/components/navbar/NavbarToggler.tsx +34 -0
  164. package/src/components/navbar/index.ts +10 -0
  165. package/src/components/notification/Notification.scss +15 -0
  166. package/src/components/notification/Notification.tsx +187 -0
  167. package/src/components/notification/NotificationIcon.tsx +21 -0
  168. package/src/components/notification/NotificationStack.tsx +66 -0
  169. package/src/components/notification/NotificationText.tsx +47 -0
  170. package/src/components/notification/NotificationTitle.tsx +47 -0
  171. package/src/components/notification/context.ts +14 -0
  172. package/src/components/notification/index.ts +17 -0
  173. package/src/components/notification/notificationQueue.ts +48 -0
  174. package/src/components/otp-input/OtpBox.tsx +68 -0
  175. package/src/components/otp-input/OtpInput.tsx +341 -0
  176. package/src/components/otp-input/index.ts +2 -0
  177. package/src/components/pagination/Pagination.tsx +199 -0
  178. package/src/components/pagination/PaginationItem.tsx +133 -0
  179. package/src/components/pagination/index.ts +4 -0
  180. package/src/components/password-strength/PasswordStrength.tsx +155 -0
  181. package/src/components/password-strength/index.ts +2 -0
  182. package/src/components/password-strength/strengthScore.ts +79 -0
  183. package/src/components/placeholder/Placeholder.tsx +178 -0
  184. package/src/components/placeholder/index.ts +2 -0
  185. package/src/components/popover/Popover.tsx +243 -0
  186. package/src/components/popover/index.ts +2 -0
  187. package/src/components/progress/Progress.tsx +154 -0
  188. package/src/components/progress/ProgressBar.tsx +88 -0
  189. package/src/components/progress/index.ts +4 -0
  190. package/src/components/radio/Radio.tsx +88 -0
  191. package/src/components/radio/RadioGroup.tsx +142 -0
  192. package/src/components/radio/context.ts +14 -0
  193. package/src/components/radio/index.ts +4 -0
  194. package/src/components/range-input/RangeInput.tsx +109 -0
  195. package/src/components/range-input/index.ts +2 -0
  196. package/src/components/select/Select.tsx +277 -0
  197. package/src/components/select/index.ts +2 -0
  198. package/src/components/skeleton/Skeleton.tsx +89 -0
  199. package/src/components/skeleton/SkeletonLoader.tsx +91 -0
  200. package/src/components/skeleton/index.ts +4 -0
  201. package/src/components/spinner/Spinner.tsx +77 -0
  202. package/src/components/spinner/index.ts +2 -0
  203. package/src/components/stack/Stack.tsx +81 -0
  204. package/src/components/stack/index.ts +2 -0
  205. package/src/components/stepper/Stepper.tsx +172 -0
  206. package/src/components/stepper/StepperItem.tsx +66 -0
  207. package/src/components/stepper/index.ts +4 -0
  208. package/src/components/switch/Switch.tsx +246 -0
  209. package/src/components/switch/index.ts +2 -0
  210. package/src/components/table/Table.css +39 -0
  211. package/src/components/table/Table.tsx +390 -0
  212. package/src/components/table/TableBody.tsx +25 -0
  213. package/src/components/table/TableCell.tsx +27 -0
  214. package/src/components/table/TableColumn.tsx +31 -0
  215. package/src/components/table/TableHeader.tsx +26 -0
  216. package/src/components/table/TableRow.tsx +24 -0
  217. package/src/components/table/index.ts +12 -0
  218. package/src/components/tabs/Tab.tsx +36 -0
  219. package/src/components/tabs/TabList.tsx +76 -0
  220. package/src/components/tabs/TabPanel.tsx +68 -0
  221. package/src/components/tabs/Tabs.tsx +136 -0
  222. package/src/components/tabs/context.ts +24 -0
  223. package/src/components/tabs/index.ts +8 -0
  224. package/src/components/text-input/TextInput.tsx +188 -0
  225. package/src/components/text-input/index.ts +2 -0
  226. package/src/components/textarea/Textarea.tsx +145 -0
  227. package/src/components/textarea/index.ts +2 -0
  228. package/src/components/toast/Toast.tsx +219 -0
  229. package/src/components/toast/ToastBody.tsx +64 -0
  230. package/src/components/toast/ToastFooter.tsx +47 -0
  231. package/src/components/toast/ToastHeader.tsx +104 -0
  232. package/src/components/toast/ToastIcon.tsx +21 -0
  233. package/src/components/toast/Toaster.tsx +87 -0
  234. package/src/components/toast/context.ts +14 -0
  235. package/src/components/toast/index.ts +18 -0
  236. package/src/components/toast/toastQueue.ts +56 -0
  237. package/src/components/tooltip/Tooltip.tsx +155 -0
  238. package/src/components/tooltip/index.ts +2 -0
  239. package/src/global.d.ts +2 -0
  240. package/src/hooks/index.ts +57 -0
  241. package/src/hooks/useAutoDismiss.ts +88 -0
  242. package/src/hooks/useButtonSemantics.ts +33 -0
  243. package/src/hooks/useControllableState.ts +24 -0
  244. package/src/hooks/useDialogElement.ts +216 -0
  245. package/src/hooks/useDisabledAnchorGuard.ts +22 -0
  246. package/src/hooks/useDismissibleTransition.ts +126 -0
  247. package/src/hooks/useDrawer.ts +9 -0
  248. package/src/hooks/useFloatingOverlay.ts +115 -0
  249. package/src/hooks/useForkedRef.ts +50 -0
  250. package/src/hooks/useFormField.ts +89 -0
  251. package/src/hooks/useIsomorphicLayoutEffect.ts +9 -0
  252. package/src/hooks/useModal.ts +9 -0
  253. package/src/hooks/useNotification.ts +10 -0
  254. package/src/hooks/useOverlayPlacement.ts +93 -0
  255. package/src/hooks/usePagination.ts +85 -0
  256. package/src/hooks/useToast.ts +9 -0
  257. package/src/hooks/useToastRegionQueue.ts +27 -0
  258. package/src/index.ts +276 -0
  259. package/src/types.ts +133 -0
  260. package/src/utils/breakpoints.ts +43 -0
  261. package/src/utils/comboboxCollection.tsx +152 -0
  262. package/src/utils/dateRangePresets.ts +6 -0
  263. package/src/utils/dialogTransition.ts +39 -0
  264. package/src/utils/focusRedirect.ts +29 -0
  265. package/src/utils/isWholeUnitDisabled.ts +17 -0
  266. package/src/utils/mergeIsDateUnavailable.ts +15 -0
  267. package/src/utils/overlayPlacement.ts +93 -0
  268. package/src/utils/pointerInteraction.ts +21 -0
  269. package/src/utils/polymorphic.ts +36 -0
  270. package/src/utils/renderMenuItemContent.tsx +62 -0
  271. package/src/utils/setVisibleRangeStart.ts +64 -0
  272. package/src/utils/spacingClassName.ts +14 -0
  273. package/src/utils/suppressFocusRingGlobally.ts +69 -0
  274. package/src/utils/validationClassName.ts +8 -0
  275. package/src/utils/virtualFocusStyle.ts +16 -0
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use client";import e,{Children as t,Fragment as n,createContext as r,forwardRef as i,isValidElement as a,useCallback as o,useContext as s,useEffect as c,useId as l,useLayoutEffect as u,useMemo as d,useRef as f,useState as p}from"react";import m from"classnames";import{createPortal as h,flushSync as g}from"react-dom";import{FocusScope as _,I18nProvider as v,mergeProps as y,useButton as b,useCalendar as x,useCalendarCell as S,useCalendarGrid as C,useCheckbox as w,useCheckboxGroup as T,useCheckboxGroupItem as E,useComboBox as D,useDateField as O,useDateFormatter as k,useDatePicker as A,useDateRangePicker as j,useDateSegment as M,useDialog as N,useFilter as P,useFocusRing as F,useListBox as I,useLocale as L,useMenuTrigger as R,useMeter as z,useObjectRef as B,useOption as V,useOverlay as ee,useOverlayPosition as H,useOverlayTrigger as U,usePreventScroll as W,useRadio as G,useRadioGroup as te,useRangeCalendar as K,useSwitch as q,useTab as J,useTabList as Y,useTabPanel as ne,useTable as re,useTableCell as ie,useTableColumnHeader as ae,useTableHeaderRow as oe,useTableRow as se,useTableRowGroup as ce,useTableSelectAllCheckbox as le,useTableSelectionCheckbox as ue,useTag as de,useTagGroup as fe,useTextField as pe,useToastRegion as me,useTooltip as he,useTooltipTrigger as ge}from"react-aria";import{Cell as _e,Column as ve,Item as ye,Row as be,Section as xe,TableBody as Se,TableHeader as Ce,ToastQueue as we,useCalendarState as Te,useCheckboxGroupState as Ee,useComboBoxState as De,useDateFieldState as Oe,useDatePickerState as ke,useDateRangePickerState as Ae,useListState as je,useMenuTriggerState as Me,useOverlayTriggerState as Ne,useRadioGroupState as Pe,useRangeCalendarState as Fe,useTabListState as Ie,useTableState as Le,useToastQueue as Re,useToggleState as ze,useTooltipTriggerState as Be}from"react-stately";import{CSSTransition as Ve,Transition as He}from"react-transition-group";import{createCalendar as Ue,getLocalTimeZone as We,isSameDay as Ge,isToday as Ke,isWeekend as qe,toCalendarDate as Je,today as Ye}from"@internationalized/date";const Xe=new WeakSet;function Ze(e){if(e.classList.contains(`form-input`)||Xe.has(e))return;Xe.add(e);let t=e.style.outline;e.style.outline=`none`,e.addEventListener(`blur`,()=>{e.style.outline=t,Xe.delete(e)},{once:!0})}function Qe(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`a[href], button, input, select, textarea, [tabindex]`);n&&Ze(n)}let $e=!1;function et(){$e||typeof document>`u`||($e=!0,document.addEventListener(`pointerdown`,Qe,!0))}et();function X(e,t){let n=i(e);return n.displayName=t,n}function tt({children:t,className:n,component:r,...i},a){let o=r??`div`;return e.createElement(o,{className:m(`accordion-body`,n),...i,ref:a},t)}const nt=X(tt,`AccordionBody`),rt=i(({children:t,className:n,...r},i)=>e.createElement(`summary`,{className:m(n)||void 0,...r,ref:i},e.createElement(`span`,{className:`accordion-title`},t)));rt.displayName=`AccordionHeader`;const it=r({}),at=i(({children:t,alwaysOpen:n,className:r,name:i,open:a,itemKey:o,...c},l)=>{o!==void 0&&console.warn(`AccordionItem: the itemKey prop is deprecated and no longer used — the native <details> element manages its own state. It will be removed in a future major version.`);let u=s(it),d=n??u.alwaysOpen,f=i??u.name,p=d?{}:{name:f};return e.createElement(`details`,{className:m(`accordion-item`,r),open:a,...p,...c,ref:l},t)});at.displayName=`AccordionItem`;const ot=i(({children:t,alwaysOpen:n=!1,caretEnd:r,className:i,defaultExpandedKeys:a,expandedKeys:o,flush:s,items:c,name:u,onExpandedChange:d,size:h,...g},_)=>{let v=l(),y=u??v,b=m(`accordion`,{flush:s,"caret-end":r},h,i),x=o!==void 0,S=x||a!==void 0||d!==void 0,[C,w]=p(()=>a??c?.filter(e=>e.open).map((e,t)=>e.id??t)??[]),T=x?o:C,E=f(new Map),D=(e,t)=>n=>{if(t?.(n),!c)return;let r=c.map((e,t)=>e.id??t).filter(e=>E.current.get(e)?.open);x?n.currentTarget.open=o.includes(e):w(r),d?.(r)},O=c?c.map((t,n)=>{let r=t.id??n;return e.createElement(at,{key:r,className:t.className,open:S?T.includes(r):t.open,name:t.name,alwaysOpen:t.alwaysOpen,onToggle:D(r,t.onToggle),ref:e=>{E.current.set(r,e)}},e.createElement(rt,null,t.header),e.createElement(nt,null,t.body))}):t;return e.createElement(`div`,{className:b,...g,ref:_},e.createElement(it.Provider,{value:{alwaysOpen:n,name:y}},O))});ot.displayName=`Accordion`;function st({enabled:e=!1,delay:t=5e3,visible:n,onHide:r}){let i=f(),a=f(!1),s=f(!1),l=o(()=>{clearTimeout(i.current),i.current=void 0},[]),u=o(()=>{l(),!(!e||a.current||s.current)&&(i.current=window.setTimeout(r,t))},[e,t,r,l]);return c(()=>l,[l]),c(()=>{n?u():l()},[n,e,t,u,l]),{onMouseEnter:o(()=>{a.current=!0,l()},[l]),onMouseLeave:o(()=>{a.current=!1,u()},[u]),onFocus:o(()=>{s.current=!0,l()},[l]),onBlur:o(()=>{s.current=!1,u()},[u])}}function Z(...e){return d(()=>e.every(e=>e==null)?null:t=>{e.forEach(e=>{ct(e,t)})},e)}function ct(e,t){if(e!=null){if(lt(e))e(t);else try{e.current=t}catch(n){throw Error(`Cannot assign value "${t}" to ref "${e}"`,{cause:n})}}}function lt(e){return!!(e&&{}.toString.call(e)==`[object Function]`)}const ut=(e,{disabled:t,onClick:n})=>{let r=f(null),i=Z(e,r),{buttonProps:a}=b({elementType:`div`,isDisabled:t,onClick:n},r);return{buttonProps:a,forkedRef:i}};function dt(e,t,n){let r=e!==void 0,[i,a]=p(t);return[r?e:i,e=>{r||a(e),n?.(e)}]}const ft=typeof window>`u`?c:u,pt=e=>{let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e),r=Number.parseFloat(t)||0,i=Number.parseFloat(n)||0;return!r&&!i?0:(r+i)*1e3},mt=(e,t,n)=>{if(!n)return t(),()=>void 0;let r=!1,i=()=>{r||(r=!0,e.removeEventListener(`transitionend`,a),clearTimeout(o),t())},a=t=>{t.target===e&&i()};e.addEventListener(`transitionend`,a);let o=setTimeout(i,pt(e)+50);return()=>{e.removeEventListener(`transitionend`,a),clearTimeout(o)}},ht=({backdrop:e,instant:t,isModal:n,keyboard:r=!0,onBeforeShow:i,onClose:a,onClosePrevented:o,onHidden:s,onShow:l,onShown:u,ref:d,visible:m})=>{let h=f(null),g=Z(d,h),[_,v]=p(m),[y,b]=p(!1),[x,S]=p(!1),[C,w]=p(!1),T=f(!1),E=f(null);W({isDisabled:!C}),c(()=>{v(m)},[m]);let D=()=>{a?.()},O=()=>{o?.();let e=h.current;e&&(S(!0),mt(e,()=>S(!1),!t))},k=f(D);k.current=D;let A=f(O);return A.current=O,ft(()=>{let e=h.current;if(e){if(_){if(e.open)return;i?.(e),E.current=document.activeElement instanceof HTMLElement?document.activeElement:null,T.current=n,n?(e.showModal(),w(!0)):e.show();let r=e.querySelector(`[autofocus]`);return r?r.focus():(e.setAttribute(`tabindex`,`-1`),e.focus()),l?.(),b(!1),mt(e,()=>u?.(),!t)}e.open&&b(!0)}},[_]),c(()=>{let e=h.current;if(!(!y||!e))return mt(e,()=>{e.open&&e.close(),T.current&&w(!1),b(!1),s?.();let t=E.current;t&&document.contains(t)&&t.focus()},!t)},[y]),c(()=>{let e=h.current;if(!e)return;let t=e=>{if(!(e.key!==`Escape`||T.current)){if(e.preventDefault(),!r){A.current();return}k.current()}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[r]),{close:D,dialogRef:h,forkedRef:g,handleBackdropClick:t=>{if(!(t.target!==h.current||!T.current)){if(e===`static`){O();return}D()}},handleCancel:e=>{if(e.preventDefault(),!r){O();return}D()},hiding:y,staticBounce:x}},gt=(e,t,n)=>r=>{if(e&&t){r.preventDefault();return}n?.(r)};function _t({onClose:e,onShow:t,ref:n,visible:r=!1}){let[i,a]=p(r),[s,u]=p(!1),d=f(null),m=Z(n,d),h=l(),g=l();return c(()=>{a(r)},[r]),{close:o(()=>a(!1),[]),entered:s,forkedRef:m,getTransitionClass:e=>e===`entering`||e===`exiting`?`show showing`:e===`entered`?`show`:void 0,textId:g,titleId:h,transitionProps:{appear:!0,in:i,nodeRef:d,onEnter:()=>t?.(),onEntered:()=>u(!0),onExit:()=>u(!1),onExited:()=>e?.(),unmountOnExit:!0},visible:i}}const vt=r({close:()=>{}}),yt=new Set,bt=i(({children:t,backdrop:n=!0,className:r,fitContent:i,fullscreen:a,instant:o,keyboard:s=!0,onClose:u,onClosePrevented:d,onHidden:p,onShow:h,onShown:g,placement:_,responsive:v,scroll:y=!1,sheet:b,translucent:x,visible:S,...C},w)=>{let{close:T,dialogRef:E,forkedRef:D,handleBackdropClick:O,handleCancel:k,hiding:A,staticBounce:j}=ht({backdrop:n,instant:o,isModal:!!n||!y,keyboard:s,onBeforeShow:e=>{for(let t of yt)t.dialog!==e&&t.close()},onClose:u,onClosePrevented:d,onHidden:p,onShow:h,onShown:g,ref:w,visible:S}),M=l(),N=f(T);N.current=T,c(()=>{let e=E.current;if(!e)return;let t={dialog:e,close:()=>N.current()};return yt.add(t),()=>{yt.delete(t)}},[E]);let P=m(v?`max-${v}:drawer`:`drawer`,`drawer-${_}`,{fullscreen:a,sheet:b,translucent:x,instant:o,"drawer-fit-content":i,nonmodal:!(n||!y),static:j,hiding:A},r);return e.createElement(vt.Provider,{value:{close:T,titleId:M}},e.createElement(`dialog`,{"aria-labelledby":M,...C,className:P,onCancel:k,onClick:O,ref:D},t))});bt.displayName=`Drawer`;const xt=()=>s(vt);function St({close:e,isOpen:t,open:n,onHide:r,onShow:i,triggerRef:a,visible:o}){let[s,l]=p(null),u=()=>a.current?.closest(`dialog[open]`)??document.body;c(()=>{o!==void 0&&(l(u()),o?n():e())},[o]),c(()=>{t?(l(u()),i?.()):r?.()},[t]);let d=f(e);return d.current=e,c(()=>{let e=s?.closest(`dialog`);if(!t||!e)return;let n=()=>d.current();return e.addEventListener(`close`,n),()=>e.removeEventListener(`close`,n)},[t,s]),s}function Ct(e){return{position:`absolute`,...e.style,transform:e.style?.top===void 0?`translateX(-50%)`:`translateY(-50%)`}}function wt(e){return e===`entering`?`fade`:e===`entered`?`fade show`:`fade`}const Tt=({ariaDescribedBy:e,ariaLabelledBy:t,help:n,id:r,invalid:i,invalidFeedback:a,label:o,valid:s,validFeedback:c})=>{let u=l(),d=r??u,f=`${u}-label`,p=`${u}-help`,m=`${u}-feedback`;return{describedBy:[n&&p,(i&&a||s&&c)&&m,e].filter(Boolean).join(` `)||void 0,feedbackId:m,helpId:p,inputId:d,labelId:f,labelledBy:[o&&f,t].filter(Boolean).join(` `)||void 0}},Et=r({close:()=>{}}),Dt=i(({children:t,backdrop:n=!0,className:r,fullscreen:i,instant:a,keyboard:o=!0,modal:s=!0,onClose:c,onClosePrevented:u,onHidden:d,onShow:f,onShown:p,scrollable:h,size:g,visible:_,...v},y)=>{let{close:b,forkedRef:x,handleBackdropClick:S,handleCancel:C,hiding:w,staticBounce:T}=ht({backdrop:n,instant:a,isModal:s,keyboard:o,onClose:c,onClosePrevented:u,onHidden:d,onShow:f,onShown:p,ref:y,visible:_}),E=l(),D=m(`modal`,`dialog`,{[typeof i==`boolean`?`fullscreen`:`max-${i}:fullscreen`]:i,[`${g}`]:g,instant:a,nonmodal:!s,scrollable:h,hiding:w,"dialog-static":T},r);return e.createElement(Et.Provider,{value:{close:b,titleId:E}},e.createElement(`dialog`,{"aria-labelledby":E,...v,className:D,onCancel:C,onClick:S,ref:x},t))});Dt.displayName=`Modal`;const Ot=()=>s(Et),kt=r({close:()=>{}}),At=()=>s(kt),jt={top:`top`,"top-start":`top start`,"top-end":`top end`,bottom:`bottom`,"bottom-start":`bottom start`,"bottom-end":`bottom end`,left:`left`,"left-start":`left top`,"left-end":`left bottom`,right:`right`,"right-start":`right top`,"right-end":`right bottom`},Mt=e=>jt[e],Nt=(e,t)=>{if(!t||t===`center`)return e;let n=e.split(`-`)[1];return n?`${t}-${n}`:t},Pt=(e,t,n)=>({menuStyle:{position:e?.position,top:e?.top,left:e?.left},placementAttr:Nt(t,n)}),Ft={"--menu-max-height":`320px`,"--menu-overflow-y":`auto`},It=({overlayRef:e,state:t,triggerRef:n})=>{let{overlayProps:r}=ee({isDismissable:!0,isOpen:t.isOpen,onClose:t.close,shouldCloseOnBlur:!0,shouldCloseOnInteractOutside:e=>!n.current?.contains(e)},e),{overlayProps:i,placement:a}=H({isOpen:t.isOpen,offset:2,onClose:null,overlayRef:e,placement:Mt(`bottom-start`),targetRef:n}),{style:o,...s}=y(r,i);return{overlayStyle:{position:o?.position,top:o?.top,left:o?.left},placementAttr:Nt(`bottom-start`,a),overlayDismissProps:s}};function Lt(e,t,n){if(!e)return;if(!t){e.focus(n);return}let r=e.style.outline,i=e.style.boxShadow;e.style.outline=`none`,e.style.boxShadow=`none`,e.focus(n),e.addEventListener(`blur`,()=>{e.style.outline=r,e.style.boxShadow=i},{once:!0})}function Rt({prevDisabled:e,nextDisabled:t,onPrev:n,onNext:r}){let i=f(null),a=f(null),o=f(null);return c(()=>{let n=o.current;o.current=null,n&&(n.from===`prev`&&e?Lt(a.current,n.viaPointer):n.from===`next`&&t&&Lt(i.current,n.viaPointer))}),{prevRef:i,nextRef:a,handlePrevClick:e=>{o.current={from:`prev`,viaPointer:e.detail!==0},n()},handleNextClick:e=>{o.current={from:`next`,viaPointer:e.detail!==0},r()}}}const zt=r({close:()=>{}}),Bt=()=>s(zt);function Vt(e,t){let n=Re(e),r=f(null),{regionProps:i}=me({},n,r);return{forkedRef:Z(t,r),regionProps:i,state:n}}const Ht=e=>null;Ht.displayName=`ComboboxItem`;const Ut=i(({name:t,className:n,size:r=24,title:i,sprite:a=`/static/icons/chassis-icons.svg`,...o},s)=>{let c=m(`icon`,{[`cx-${t}`]:o.font},n);if(o.font){let{font:t,...n}=o;return e.createElement(`span`,{className:c,role:i?`img`:void 0,"aria-hidden":!i||void 0,"aria-label":i,ref:s,...n})}let{font:l,...u}=o;return e.createElement(`svg`,{className:c,width:r,height:r,role:i?`img`:void 0,"aria-hidden":!i||void 0,ref:s,...u},i&&e.createElement(`title`,null,i),e.createElement(`use`,{href:`${a}#${t}`}))});Ut.displayName=`Icon`;const Wt=({icon:t,label:n,description:r,selected:i,checkIcon:a=`check-solid`})=>t==null&&r==null&&!i?n:e.createElement(e.Fragment,null,t!=null&&e.createElement(`span`,{className:`menu-item-icon`,"aria-hidden":`true`},t),r==null?n:e.createElement(`span`,{className:`menu-item-content`},e.createElement(`span`,null,n),e.createElement(`small`,{className:`menu-item-description`},r)),i&&e.createElement(Ut,{name:a,className:`menu-item-check`})),Gt=e=>e.entryType===`group`,Kt=(t,{Group:n,Item:r})=>{let i=[];return e.Children.forEach(t,(t,a)=>{if(e.isValidElement(t)){if(t.type===n){let n=t.props,o=[];e.Children.forEach(n.children,t=>{e.isValidElement(t)&&t.type===r&&o.push(t)}),i.push({entryType:`group`,key:`group-${a}`,label:n.label,items:o});return}t.type===r&&i.push(t)}}),i},qt=t=>{let n=[],r=null;return t.forEach(t=>{if(t.type===`divider`)return;if(t.type===`header`){r={entryType:`group`,key:t.id,label:t.label,items:[]},n.push(r);return}let i=e.createElement(Ht,{key:t.id,id:t.id,disabled:t.disabled,icon:t.icon,description:t.description,textValue:t.textValue},t.label);r?r.items.push(i):n.push(i)}),n},Jt=e=>e.reduce((e,t)=>{let n=Gt(t)?t.items:[t];return e.concat(n.filter(e=>e.props.disabled).map(e=>e.props.id))},[]),Yt=t=>e.createElement(ye,{key:t.props.id,textValue:t.props.textValue??(typeof t.props.children==`string`?t.props.children:void 0)},Wt({icon:t.props.icon,label:t.props.children,description:t.props.description})),Xt=t=>Gt(t)?e.createElement(xe,{key:t.key,title:t.label,items:t.items},Yt):Yt(t),Zt={"--cx-icon-color":`var(--cx-item-hover-icon-color)`,"--cx-item-fg-color":`var(--cx-item-hover-fg-color)`,"--cx-item-bg-color":`var(--cx-item-hover-bg-color)`},Qt=e=>e?Zt:void 0,$t=({listBoxProps:t,listBoxRef:n,state:r})=>{let{listBoxProps:i}=I(t,r,n);return e.createElement(`div`,{...i,ref:n},[...r.collection].map(t=>t.type===`section`?e.createElement(en,{key:t.key,node:t,state:r}):e.createElement(tn,{key:t.key,item:t,state:r})))},en=({node:t,state:n})=>{let r=[...n.collection.getChildren(t.key)];return r.length===0?null:e.createElement(e.Fragment,null,e.createElement(`div`,{className:`menu-header`,role:`presentation`},t.rendered),r.map(t=>e.createElement(tn,{key:t.key,item:t,state:n})))},tn=({item:t,state:n})=>{let r=f(null),{optionProps:i,isSelected:a,isDisabled:o,isFocused:s}=V({key:t.key},n,r);return e.createElement(`div`,{className:m(`menu-item`,{selected:a,disabled:o}),style:Qt(s),...i,ref:r},t.rendered,a&&e.createElement(Ut,{name:`check-solid`,className:`menu-item-check`}))};function nn({children:t,className:n,component:r,invalid:i,tooltip:a,valid:o,...s},c){let l=r??`div`,u=m({[`invalid-${a?`tooltip`:`feedback`}`]:i,[`valid-${a?`tooltip`:`feedback`}`]:o},n);return e.createElement(l,{className:u,...s,ref:c},t)}const rn=X(nn,`FormFeedback`);function an({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`form-help`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const on=X(an,`FormHelp`),sn=i(({children:t,className:n,customClassName:r,...i},a)=>{let o=r||m(`form-label`,n);return e.createElement(`label`,{className:o,...i,ref:a},t)});sn.displayName=`FormLabel`;const Q=({children:t,className:n,help:r,ids:i={},invalid:a,invalidFeedback:o,label:s,valid:c,validFeedback:l})=>{let u=a&&o,d=c&&l;return!s&&!r&&!u&&!d?t:e.createElement(`div`,{className:m(`form-field`,n)},s&&e.createElement(sn,{htmlFor:i.input,id:i.label},s),t,r&&e.createElement(on,{id:i.help},r),u&&e.createElement(rn,{id:i.feedback,invalid:!0},o),d&&e.createElement(rn,{id:i.feedback,valid:!0},l))},cn=e=>null;cn.displayName=`AutocompleteGroup`;const ln=e=>null;ln.displayName=`AutocompleteItem`;const un=e=>{if(e!==void 0)return e===null?[]:Array.isArray(e)?e:[e]},dn=e=>e==null?[]:Array.isArray(e)?e:[e],fn=({children:t,className:n,defaultValue:r,disabled:i,help:a,id:o,invalid:s,invalidFeedback:l,items:u,label:p,multiple:g=!1,name:_,noResultsText:v=`No results found`,onChange:x,placeholder:S,searchPlaceholder:C,size:w,valid:T,validFeedback:E,value:O,...k})=>{let A=d(()=>u?qt(u):Kt(t,{Group:cn,Item:ln}),[u,t]),j=d(()=>Jt(A),[A]),{contains:M}=P({sensitivity:`base`}),N=De({children:Xt,defaultItems:A,disabledKeys:j,defaultFilter:M,selectionMode:g?`multiple`:`single`,defaultValue:un(r),value:un(O),onChange:e=>{let t=dn(e);x?.(g?t:t[0]??null)},allowsEmptyCollection:!0,menuTrigger:`manual`}),F=f(null),I=f(null),L=f(null),R=f(null),{describedBy:z,feedbackId:B,helpId:V,inputId:ee,labelId:U,labelledBy:W}=Tt({ariaDescribedBy:k[`aria-describedby`],ariaLabelledBy:k[`aria-labelledby`],help:a,id:o,invalid:s,invalidFeedback:l,label:p,valid:T,validFeedback:E}),{buttonProps:G,inputProps:te,listBoxProps:K}=D({"aria-label":k[`aria-label`],"aria-labelledby":W,buttonRef:F,id:ee,inputRef:I,listBoxRef:L,popoverRef:R,isDisabled:i,placeholder:C},N),{buttonProps:q}=b({...G,elementType:`div`,isDisabled:i,excludeFromTabOrder:!1},F),J=f(N.isOpen);c(()=>{N.isOpen&&!J.current?I.current?.focus():!N.isOpen&&J.current&&F.current?.focus(),J.current=N.isOpen},[N.isOpen]),c(()=>{if(!N.isOpen)return;let e=F.current;for(;e&&e!==document.body;)e.removeAttribute(`aria-hidden`),e=e.parentElement},[N.isOpen]);let{overlayProps:Y,placement:ne}=H({targetRef:F,overlayRef:R,placement:Mt(`bottom-start`),offset:2,isOpen:N.isOpen,onClose:null}),re=St({close:N.close,isOpen:N.isOpen,open:N.open,triggerRef:F}),{menuStyle:ie,placementAttr:ae}=Pt(Y.style,`bottom-start`,ne),oe={...Ft,...ie},se=e=>N.selectionManager.toggleSelection(e),ce=y(te,{onKeyDown:e=>{if(!g||e.key!==`Backspace`||e.currentTarget.value!==``)return;let t=N.selectedItems[N.selectedItems.length-1];t&&se(t.key)}}),le=N.selectedItems.length>0,ue=le?N.selectedItems.length===1?N.selectedItems[0]?.textValue??``:`${N.selectedItems.length} selected`:S;return Q({children:e.createElement(e.Fragment,null,e.createElement(`div`,{className:m(`form-input`,`combobox`,{small:w===`small`,large:w===`large`,disabled:i},{"is-invalid":s,"is-valid":T},n),...k,...q,"aria-label":k[`aria-label`],"aria-labelledby":W,"aria-describedby":z,"aria-invalid":s||void 0,ref:F},e.createElement(`span`,{className:m(`combobox-value`,{"combobox-placeholder":!le})},ue)),typeof window<`u`&&h(e.createElement(`div`,{className:m(`menu`,{show:N.isOpen}),"data-cx-placement":ae,style:oe,hidden:!N.isOpen,ref:R},e.createElement(`div`,{className:`combobox-search`},e.createElement(`input`,{autoComplete:`off`,className:`form-input combobox-search-input small`,...ce,ref:I})),e.createElement($t,{state:N,listBoxProps:K,listBoxRef:L}),N.collection.size===0&&e.createElement(`div`,{className:`combobox-no-results`},v)),re??document.body),_&&(g?dn(N.value).map(t=>e.createElement(`input`,{key:t,type:`hidden`,name:_,value:t,disabled:i})):e.createElement(`input`,{type:`hidden`,name:_,value:dn(N.value)[0]??``,disabled:i}))),help:a,ids:{feedback:B,help:V,label:U},invalid:s,invalidFeedback:l,label:p,valid:T,validFeedback:E})};fn.displayName=`Autocomplete`;function pn({children:t,active:n,className:r,color:i,component:a,disabled:o,iconLink:s,onClick:c,reset:l,stretched:u,type:d=`button`,...f},p){let h=a??`a`,g=m(i&&`link-${i}`,{"icon-link":s,"fg-reset":l,"stretched-link":u},{active:n,disabled:o},r),_=h===`a`||h===`button`,v=typeof h!=`string`,b=gt(h===`a`,o,c),x=!_&&!v&&!!c,{buttonProps:S,forkedRef:C}=ut(p,{disabled:o,onClick:c});return e.createElement(h,{...y(f,x?S:{}),className:g,...n&&{"aria-current":`page`},...h===`a`&&o&&{"aria-disabled":!0,tabIndex:-1},...!x&&{onClick:b},...h===`button`&&{disabled:o,type:d},ref:x?C:p},t)}const mn=X(pn,`Link`);function hn({children:t,className:n,color:r,variant:i,component:a,position:o,circle:s,size:c,...l},u){let d=a??`span`,f=m(`badge`,r,c,{outline:i===`outline`,smooth:i===`smooth`,"position-absolute translate-middle":o,"top-0":o?.includes(`top`),"top-100":o?.includes(`bottom`),"start-100":o?.includes(`end`),"start-0":o?.includes(`start`)},{circle:s},n);return e.createElement(d,{className:f,...l,ref:u},t)}const gn=X(hn,`Badge`),_n=i(({className:t,...n},r)=>{let i=m(`avatar-image`,t);return e.createElement(`img`,{className:i,...n,ref:r})});_n.displayName=`AvatarImage`;function vn({children:t,className:n,color:r,disabled:i,smooth:a,size:o,component:s,src:c,alt:l=`Profile picture`,href:u,status:d,statusLabel:f,...p},h){let g=s??(u?`a`:`span`),_=g===`a`||g===`button`,v=m(`avatar`,r,o,{smooth:a},!_&&{disabled:i},n),y=_?mn:g;return e.createElement(y,{className:v,..._&&{component:g},disabled:i,href:u,...g===`button`&&{type:`button`},...p,ref:h},c?e.createElement(_n,{src:c,alt:l}):t,d&&e.createElement(gn,{color:d,circle:!0},e.createElement(`span`,{className:`visually-hidden`},f??d)))}const yn=X(vn,`Avatar`);function bn({children:t,className:n,component:r,items:i,size:a,...o},s){let c=r??`div`,l=m(`avatar-stack`,a,n);return e.createElement(c,{className:l,...o,ref:s},i?.map(({key:t,content:n,...r},i)=>e.createElement(yn,{key:t??i,...r},n)),t)}const xn=X(bn,`AvatarStack`);function Sn({children:t,className:n,color:r,component:i,disabled:a,href:o,label:s,onClick:c,size:l,type:u=`button`,variant:d,...f},p){let h=i??`button`,g=typeof h!=`string`,_=g?n:m(`close-button`,{context:r||d,disabled:h!==`button`&&a},r,d,l,n),v=s??(t==null?`Close`:void 0),b=gt(h===`a`,a,c),{buttonProps:x,forkedRef:S}=ut(p,{disabled:a,onClick:c});if(h===`button`)return e.createElement(`button`,{className:_,"aria-label":v,...f,type:u,disabled:a,onClick:b,ref:p},t);if(h===`a`)return e.createElement(`a`,{className:_,"aria-label":v,...f,href:o,onClick:b,...a&&{"aria-disabled":!0,tabIndex:-1},ref:p},t);let C=h;return e.createElement(C,{className:_,"aria-label":v,...g?{color:r,size:l,variant:d,disabled:a,onClick:c,...f}:y(f,x),ref:g?p:S},t)}const Cn=X(Sn,`CloseButton`),wn=i(({className:t,...n},r)=>{let i=m(`notification-icon`,t);return e.createElement(Ut,{className:i,...n,ref:r})});wn.displayName=`NotificationIcon`;function Tn({children:t,component:n,className:r,...i},a){let o=n??`div`,s=m(`notification-text`,r);return e.createElement(o,{className:s,...i,ref:a},t)}const En=X(Tn,`NotificationText`);function Dn({children:t,className:n,component:r,...i},a){let o=r??`h4`,s=m(`notification-title`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const On=X(Dn,`NotificationTitle`),kn=i(({actions:t,autohide:n=!1,children:r,className:i,closeLabel:a=`Close`,color:o=`primary`,delay:s=5e3,dismissible:c,icon:l,solid:u,text:d,title:f,titleComponent:p=`h4`,role:h=`status`,visible:g=!0,onClose:_,onShow:v,...b},x)=>{let{close:S,entered:C,forkedRef:w,getTransitionClass:T,textId:E,titleId:D,transitionProps:O,visible:k}=_t({onClose:_,onShow:v,ref:x,visible:g}),A=st({enabled:n,delay:s,visible:k&&C,onHide:S}),j=m(`notification`,`fade`,o,{solid:u},i);return e.createElement(He,{...O,mountOnEnter:!0,timeout:150},n=>{let i=T(n);return e.createElement(kt.Provider,{value:{visible:k,close:S}},e.createElement(`div`,{className:m(j,i),role:h,"aria-labelledby":f?D:void 0,"aria-describedby":f&&d?E:void 0,...y(b,A),ref:w},l&&(typeof l==`string`?e.createElement(wn,{name:l,className:f?`align-self-start`:void 0}):l),f&&e.createElement(On,{id:D,component:p},f),d&&e.createElement(En,{id:E},d),r,t,c&&e.createElement(Cn,{label:a,onClick:S})))})});kn.displayName=`Notification`;const An=[`small`,`medium`,`large`,`xlarge`,`2xlarge`];function jn(e,t,n){let r=n?An.filter(e=>n[e]).flatMap(t=>e(n[t],`${t}:`)):[];return[...e(t,``),...r]}const Mn=(e,t)=>[e&&`${t}flex-${e}`],Nn=(e,t,n=``)=>typeof t==`string`||typeof t==`number`?`${n}${e}-${t}`:null,Pn=(e,t)=>[`${t}${e===`vertical`?`vstack`:`hstack`}`];function Fn({children:t,className:n,component:r,direction:i=`horizontal`,gap:a,responsive:o,...s},c){let l=r??`div`,u=m(jn(Pn,i,o),Nn(`gap`,a),n);return e.createElement(l,{className:u,...s,ref:c},t)}const In=X(Fn,`Stack`),Ln=new we;function Rn(e,t={}){return Ln.add({children:e,...t})}function zn(e){Ln.close(e)}const Bn=i(({children:t,className:n,reverse:r,...i},a)=>{let{forkedRef:o,regionProps:s,state:c}=Vt(Ln,a);if(c.visibleToasts.length===0&&!t)return null;let l=r?[...c.visibleToasts].reverse():c.visibleToasts;return e.createElement(In,{direction:`vertical`,gap:`small`,className:n,...s,...i,ref:o},t,l.map(t=>{let{children:n,...r}=t.content;return e.createElement(kn,{key:t.key,...r,onClose:()=>c.close(t.key)},n)}))});Bn.displayName=`NotificationStack`;const Vn=i(({children:t,active:n,className:r,href:i,...a},o)=>{let s=m(`breadcrumb-item`,{active:n},r);return e.createElement(`li`,{className:s,...n&&{"aria-current":`page`},...a,ref:o},i?e.createElement(mn,{href:i},t):t)});Vn.displayName=`BreadcrumbItem`;const Hn=i(({children:t,className:n,items:r,...i},a)=>{let o=m(`breadcrumb`,n),s=r?r.map((t,n)=>{let i=n===r.length-1;return e.createElement(Vn,{key:n,active:i,href:i?void 0:t.href},t.label)}):null;return e.createElement(`nav`,{"aria-label":`breadcrumb`},e.createElement(`ol`,{className:o,...i,ref:a},s??t))});Hn.displayName=`Breadcrumb`;function Un({children:t,className:n,color:r=`primary`,component:i,disabled:a,href:o,onClick:s,pressed:c,shape:l,size:u,type:d=`button`,variant:f,...p},h){let g=i??(o?`a`:`button`),_=g===`a`,v=typeof g!=`string`,b=m(`button`,r,{outline:f===`outline`,smooth:f===`smooth`,link:f===`link`,active:c,disabled:g!==`button`&&a},u,l,n),x=gt(_,a,s),{buttonProps:S,forkedRef:C}=ut(h,{disabled:a,onClick:s}),w={className:b,"aria-pressed":c,onClick:x};return g===`button`?e.createElement(`button`,{...p,...w,type:d,disabled:a,ref:h},t):g===`input`?e.createElement(`input`,{...p,...w,type:d,disabled:a,ref:h}):_?e.createElement(`a`,{...p,...w,href:o,...a&&{"aria-disabled":!0,tabIndex:-1},ref:h},t):e.createElement(g,{...v?{disabled:a,onClick:s,...p}:y(p,S),className:b,"aria-pressed":c,...o&&{href:o},ref:v?h:C},t)}const Wn=X(Un,`Button`);function Gn({children:t,className:n,component:r,size:i,vertical:a,...o},s){let c=r??`div`,l=m(`button-group`,{vertical:a},i,n);return e.createElement(c,{className:l,...o,ref:s},t)}const Kn=X(Gn,`ButtonGroup`);function qn({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`button-toolbar`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Jn=X(qn,`ButtonToolbar`),Yn=(e,t,n)=>!!(e.isDisabled||e.maxValue&&t.compare(Je(e.maxValue))>0||e.minValue&&n.compare(Je(e.minValue))<0),Xn=({announce:t=!0,monthStart:n,onBack:r,onSelect:i,state:a})=>{let o=k({calendar:n.calendar.identifier,month:`short`,timeZone:a.timeZone}),s=k({calendar:n.calendar.identifier,timeZone:a.timeZone,year:`numeric`}),c=n.calendar.getMonthsInYear(n),l=[...Array(c).keys()].map(e=>{let t=n.set({day:1,month:e+1});return{date:t,formatted:o.format(t.toDate(a.timeZone))}});return e.createElement(e.Fragment,null,e.createElement(`div`,{className:`datepicker-header`},e.createElement(`div`,{className:`datepicker-header-content`},e.createElement(`button`,{className:`datepicker-month`,onClick:r,type:`button`},s.format(n.toDate(a.timeZone))))),t&&e.createElement(`span`,{role:`status`,className:`visually-hidden`},`Select month, ${s.format(n.toDate(a.timeZone))}`),e.createElement(`div`,{className:`datepicker-content`},e.createElement(`div`,{"aria-label":s.format(n.toDate(a.timeZone)),className:`datepicker-months`,role:`group`},l.map(t=>{let r=t.date.month===n.month,o=Yn(a,t.date,t.date.add({months:1}).subtract({days:1}));return e.createElement(`button`,{"aria-current":r?`true`:void 0,className:m(`datepicker-months-month`,{selected:r}),disabled:o,key:t.date.month,onClick:()=>i(t.date),type:`button`},t.formatted)}))))},Zn=({announce:t=!0,monthStart:n,onBack:r,onSelect:i,state:a})=>{let o=k({calendar:n.calendar.identifier,timeZone:a.timeZone,year:`numeric`}),[s,c]=p(()=>n.year),l=[...Array(15).keys()].map(e=>{let t=n.set({year:s+e}),r=t.set({day:1,month:1}),i=r.add({years:1}).subtract({days:1});return{date:t,formatted:o.format(t.toDate(a.timeZone)),yearEnd:i,yearStart:r}}),u=l[0],d=l[l.length-1],f=u.yearStart,h=d.yearEnd,g=`${u.formatted} – ${d.formatted}`,_=a.isDisabled||a.minValue!=null&&f.subtract({days:1}).compare(Je(a.minValue))<0,v=a.isDisabled||a.maxValue!=null&&h.add({days:1}).compare(Je(a.maxValue))>0;return e.createElement(e.Fragment,null,e.createElement(`div`,{className:`datepicker-header`},e.createElement(`button`,{"aria-label":`Previous years`,className:`datepicker-arrow datepicker-arrow-prev`,disabled:_,onClick:()=>c(e=>e-15),type:`button`}),e.createElement(`div`,{className:`datepicker-header-content`},e.createElement(`button`,{className:`datepicker-year`,onClick:r,type:`button`},g)),e.createElement(`button`,{"aria-label":`Next years`,className:`datepicker-arrow datepicker-arrow-next`,disabled:v,onClick:()=>c(e=>e+15),type:`button`})),t&&e.createElement(`span`,{role:`status`,className:`visually-hidden`},`Select year, ${g}`),e.createElement(`div`,{className:`datepicker-content`},e.createElement(`div`,{"aria-label":g,className:`datepicker-years`,role:`group`},l.map(t=>{let r=t.date.year===n.year,o=Yn(a,t.yearStart,t.yearEnd);return e.createElement(`button`,{"aria-current":r?`true`:void 0,className:m(`datepicker-years-year`,{selected:r}),disabled:o,key:t.date.year,onClick:()=>i(t.date),type:`button`},t.formatted)}))))},Qn=(e,t)=>{let{start:n,end:r}=e.visibleRange;if(t.compare(n)===0)return;let i=e.visibleDuration.months||1,a=t.compare(n)>0;if(a?t.compare(r)>0:t.add({months:i-1}).compare(n)<0){e.setFocusedDate($n(t,a,i));return}let o=a?t.add({months:i}):t.subtract({months:i});g(()=>{e.setFocusedDate($n(o,a,i))}),e.setFocusedDate($n(t,!a,i))},$n=(e,t,n)=>t?e:e.add({months:n-1}),er=({children:t,monthIndex:n=0,monthStart:r,nextArrow:i,onViewChange:a,prevArrow:o,state:s})=>{let[l,u]=p(`days`),d=f(null),m=f(!0),h=e=>{u(e),a?.(e)};c(()=>{if(m.current){m.current=!1;return}let e=d.current;e&&(l===`days`?e.querySelector(`.datepicker-date-btn[tabindex="0"]`):e.querySelector(`.datepicker-months-month.selected, .datepicker-years-year.selected`)??e.querySelector(`.datepicker-months-month, .datepicker-years-year`))?.focus()},[l]);let g=k({calendar:r.calendar.identifier,month:`long`,timeZone:s.timeZone}),_=k({calendar:r.calendar.identifier,timeZone:s.timeZone,year:`numeric`}),v=e=>{Qn(s,e.subtract({months:n})),h(`days`)};return e.createElement(`div`,{className:`datepicker-column`,ref:d},l===`months`&&e.createElement(Xn,{announce:n===0,monthStart:r,onBack:()=>h(`days`),onSelect:v,state:s}),l===`years`&&e.createElement(Zn,{announce:n===0,monthStart:r,onBack:()=>h(`days`),onSelect:v,state:s}),l===`days`&&e.createElement(e.Fragment,null,e.createElement(`div`,{className:`datepicker-header`},o,e.createElement(`div`,{className:`datepicker-header-content`},e.createElement(`button`,{"aria-label":`Month: ${g.format(r.toDate(s.timeZone))}`,className:`datepicker-month`,disabled:s.isDisabled,onClick:()=>h(`months`),type:`button`},g.format(r.toDate(s.timeZone))),e.createElement(`button`,{"aria-label":`Year: ${_.format(r.toDate(s.timeZone))}`,className:`datepicker-year`,disabled:s.isDisabled,onClick:()=>h(`years`),type:`button`},_.format(r.toDate(s.timeZone)))),i),n===0&&e.createElement(`span`,{role:`status`,className:`visually-hidden`},`${g.format(r.toDate(s.timeZone))} ${_.format(r.toDate(s.timeZone))}`),t))},tr=({firstDayOfWeek:t,renderCell:n,startDate:r,state:i})=>{let{gridProps:a,headerProps:o,weekDays:s,weeksInMonth:c}=C({firstDayOfWeek:t,startDate:r},i);return e.createElement(`div`,{...a,className:`datepicker-content`},e.createElement(`div`,{...o,className:`datepicker-week`,role:`row`},s.map((t,n)=>e.createElement(`span`,{className:`datepicker-week-day`,key:n,role:`columnheader`},t))),e.createElement(`div`,{className:`datepicker-dates`},[...Array(c).keys()].map(t=>{let a=i.getDatesInWeek(t,r);return e.createElement(`div`,{className:`datepicker-dates-row`,key:t,role:`row`},a.map((t,r)=>t?e.createElement(e.Fragment,{key:t.toString()},n(t,r,a)):e.createElement(`div`,{className:`datepicker-date`,key:r,role:`gridcell`})))})))},nr=({arrows:t,firstDayOfWeek:n,monthIndex:r,onViewChange:i,renderCell:a,state:o})=>{let s=o.visibleRange.start.add({months:r});return e.createElement(e.Fragment,null,e.createElement(er,{monthIndex:r,monthStart:s,nextArrow:t?.next,onViewChange:i,prevArrow:t?.prev,state:o},e.createElement(tr,{firstDayOfWeek:n,renderCell:a,startDate:s,state:o})))},rr=({buttonProps:t,direction:n})=>{let r=f(null),{buttonProps:i}=b(t,r);return e.createElement(`button`,{...i,className:`datepicker-arrow datepicker-arrow-${n}`,ref:r,type:`button`})},ir=(e,t)=>{if(!e?.length&&!t)return;let n=e?.length?new Set(e):null;return e=>!!n?.has(e.toString())||!!t?.(e)},ar=i((t,n)=>{let{autoFocus:r,className:i,defaultValue:a,disabled:o,firstDayOfWeek:s=`mon`,isDateUnavailable:c,maxValue:l,minValue:u,onChange:h,selectionMode:g=`single`,unavailableDates:_,value:v,visibleMonths:b=1,...S}=t,{locale:C}=L(),w=Z(f(null),n),T=d(()=>ir(_,c),[_,c]),[E,D]=p({}),O=Object.values(E).some(e=>e!==`days`),k=e=>{h?.(e)},A=v,j=a,M=A===void 0?j:A,N=g===`multiple`&&Array.isArray(M)&&M.length===0?Ye(We()):void 0,P=Te({autoFocus:r,createCalendar:Ue,defaultFocusedValue:N,defaultValue:j,firstDayOfWeek:s,isDateUnavailable:T,isDisabled:o,locale:C,maxValue:l,minValue:u,onChange:k,pageBehavior:`single`,selectionMode:g,value:A,visibleDuration:{months:b}}),F={"aria-label":S[`aria-label`],"aria-labelledby":S[`aria-labelledby`],autoFocus:r,defaultFocusedValue:N,defaultValue:j,isDateUnavailable:T,isDisabled:o,maxValue:l,minValue:u,onChange:k,selectionMode:g,value:A},{calendarProps:I,prevButtonProps:R,nextButtonProps:z}=x(F,P),B=e.createElement(rr,{buttonProps:R,direction:`prev`}),V=e.createElement(rr,{buttonProps:z,direction:`next`});return e.createElement(`div`,{...y(I,S),className:m(`datepicker`,i),"data-cx-inline":`true`,ref:w},b===1?e.createElement(er,{monthStart:P.visibleRange.start,nextArrow:V,prevArrow:B,state:P},e.createElement(tr,{firstDayOfWeek:s,renderCell:t=>e.createElement(or,{date:t,locale:C,state:P}),state:P})):e.createElement(e.Fragment,null,!O&&e.createElement(`div`,{className:`datepicker-controls`},B,V),e.createElement(`div`,{className:`datepicker-grid`},[...Array(b).keys()].map(t=>e.createElement(nr,{firstDayOfWeek:s,key:t,monthIndex:t,onViewChange:e=>D(n=>({...n,[t]:e})),renderCell:t=>e.createElement(or,{date:t,locale:C,state:P}),state:P})))))});ar.displayName=`Calendar`;const or=({date:t,locale:n,state:r})=>{let i=f(null),{cellProps:a,buttonProps:o,isSelected:s,isOutsideVisibleRange:c,isDisabled:l,isUnavailable:u,formattedDate:d}=S({date:t},r,i),p=Ke(t,We());return e.createElement(`div`,{...a,"aria-current":p?`date`:void 0,className:m(`datepicker-date`,{"datepicker-date-selected":s,"datepicker-date-today":p,"datepicker-date-outside":c,"datepicker-date-disabled":l,"datepicker-date-unavailable":u,"datepicker-date-weekend":qe(t,n)})},e.createElement(`button`,{...o,type:`button`,className:`datepicker-date-btn`,ref:i},d))},sr=i(({autoFocus:t,className:n,defaultValue:r,disabled:i,firstDayOfWeek:a=`mon`,isDateUnavailable:o,maxValue:s,minValue:c,onChange:l,presets:u,unavailableDates:h,value:g,visibleMonths:_=1,...v},b)=>{let{locale:x}=L(),S=f(null),C=Z(S,b),w=d(()=>ir(h,o),[h,o]),T=u&&u.length>0?u:null,[E,D]=p({}),O=Object.values(E).some(e=>e!==`days`),k=Fe({autoFocus:t,createCalendar:Ue,defaultValue:r,firstDayOfWeek:a,isDateUnavailable:w,isDisabled:i,locale:x,maxValue:s,minValue:c,onChange:l,pageBehavior:`single`,value:g,visibleDuration:{months:_}}),A={"aria-label":v[`aria-label`],"aria-labelledby":v[`aria-labelledby`],autoFocus:t,defaultValue:r,isDateUnavailable:w,isDisabled:i,maxValue:s,minValue:c,onChange:l,value:g},{calendarProps:j,prevButtonProps:M,nextButtonProps:N}=K(A,k,S),P=e.createElement(rr,{buttonProps:M,direction:`prev`}),F=e.createElement(rr,{buttonProps:N,direction:`next`}),I=_===1?{next:F,prev:P}:null,R=e=>{k.setValue(e)};return e.createElement(`div`,{...y(j,v),className:m(`datepicker`,n),"data-cx-inline":`true`,ref:C},e.createElement(`div`,{className:`datepicker-grid`},T&&e.createElement(ur,{onSelect:R,presets:T,value:k.value}),e.createElement(`div`,{className:`datepicker-body`},_>1&&!O&&e.createElement(`div`,{className:`datepicker-controls`},P,F),e.createElement(`div`,{className:`datepicker-grid`},[...Array(_).keys()].map(t=>e.createElement(nr,{arrows:t===0?I:null,firstDayOfWeek:a,key:t,monthIndex:t,onViewChange:e=>D(n=>({...n,[t]:e})),renderCell:(t,n,r)=>e.createElement(cr,{date:t,isFirstInRow:n===0,isLastInRow:n===r.length-1,locale:x,state:k}),state:k}))))))});sr.displayName=`RangeCalendar`;const cr=({date:t,isFirstInRow:n,isLastInRow:r,locale:i,state:a})=>{let o=f(null),{cellProps:s,buttonProps:c,isSelected:l,isOutsideVisibleRange:u,isDisabled:d,isUnavailable:p,formattedDate:h}=S({date:t},a,o),{highlightedRange:g}=a,_=!!(g&&Ge(t,g.start)),v=!!(g&&Ge(t,g.end)),b=Ke(t,We());return e.createElement(`div`,{...s,"aria-current":b?`date`:void 0,className:m(`datepicker-date`,{"datepicker-date-today":b,"datepicker-date-in-range":l,"datepicker-date-range-start":l&&(_||n),"datepicker-date-range-end":l&&(v||r),"datepicker-date-outside":u,"datepicker-date-disabled":d,"datepicker-date-unavailable":p,"datepicker-date-weekend":qe(t,i)})},e.createElement(`button`,{...y(c,{onPointerEnter:()=>{a.anchorDate&&o.current&&Ze(o.current)}}),type:`button`,className:m(`datepicker-date-btn`,{"datepicker-date-range-start":_,"datepicker-date-range-end":v}),ref:o},h))},lr=(e,t)=>Ge(e.start,t.start)&&Ge(e.end,t.end),ur=({onSelect:t,presets:n,value:r})=>e.createElement(`ul`,{className:`datepicker-presets`},n.map(n=>{let i=!!(r&&lr(r,n.range));return e.createElement(`li`,{key:n.label},e.createElement(`button`,{"aria-current":i?`true`:void 0,className:m(`datepicker-preset`,{selected:i}),onClick:()=>t(n.range),type:`button`},n.label))}));function dr({children:t,className:n,component:r,direction:i,gap:a,responsive:o,...s},c){let l=r??`div`,u=m(`card-body`,jn(Mn,i,o),Nn(`gap`,a),n);return e.createElement(l,{className:u,...s,ref:c},t)}const fr=X(dr,`CardBody`);function pr({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`card-footer`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const mr=X(pr,`CardFooter`),hr=(e,t)=>[e?`${t}card-image-${e}`:t===``?`card-image`:null];function gr({children:t,className:n,component:r,orientation:i,responsive:a,...o},s){let c=r??`img`,l=m(jn(hr,i,a),n);return e.createElement(c,{className:l,...o,ref:s},t)}const _r=X(gr,`CardImage`);function vr({children:t,component:n,className:r,...i},a){let o=n??`h6`,s=m(`card-subtitle`,r);return e.createElement(o,{className:s,...i,ref:a},t)}const yr=X(vr,`CardSubtitle`);function br({children:t,component:n,className:r,...i},a){let o=n??`p`,s=m(`card-text`,r);return e.createElement(o,{className:s,...i,ref:a},t)}const xr=X(br,`CardText`);function Sr({children:t,component:n,className:r,...i},a){let o=n??`h5`,s=m(`card-title`,r);return e.createElement(o,{className:s,...i,ref:a},t)}const Cr=X(Sr,`CardTitle`);function wr({children:t,className:n,color:r,component:i,direction:a,footer:o,image:s,imageAlt:c,imageOrientation:l=`top`,responsive:u,size:d,subtitle:f,text:p,title:h,variant:g,..._},v){let y=i??`div`,b=m(`card`,r,{context:!!r,solid:g===`solid`,smooth:g===`smooth`,outline:g===`outline`,small:d===`small`,large:d===`large`},jn(Mn,a,u),n),x=s!=null||h!=null||f!=null||o!=null||p!=null,S=h!=null||f!=null||p!=null||t!=null,C=typeof s==`string`?e.createElement(_r,{orientation:l,src:s,alt:c??``}):s;return e.createElement(y,{className:b,..._,ref:v},x?e.createElement(e.Fragment,null,s!=null&&l===`top`&&C,S&&e.createElement(fr,null,h!=null&&e.createElement(Cr,null,h),f!=null&&e.createElement(yr,null,f),p!=null&&e.createElement(xr,null,p),t),s!=null&&l===`bottom`&&C,o!=null&&e.createElement(mr,null,o)):t)}const Tr=X(wr,`Card`);function Er({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`card-group`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Dr=X(Er,`CardGroup`);function Or({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`card-header`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const kr=X(Or,`CardHeader`);function Ar({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`card-overlay`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const jr=X(Ar,`CardImageOverlay`);function Mr({children:t,className:n,...r},i){let a=m(`card-link`,n);return e.createElement(mn,{className:a,...r,ref:i},t)}const Nr=X(Mr,`CardLink`),Pr=new WeakSet;function Fr(e){Pr.add(e)}function Ir(e){if(!e)return!1;let t=Pr.has(e);return Pr.delete(e),t}const Lr=r(null),Rr=()=>{let e=s(Lr);if(!e)throw Error(`Carousel sub-components must be rendered inside a Carousel`);return e};function zr(e){return Array.from(e.querySelectorAll(`:scope > .carousel-item:not(.carousel-item-clone)`))}function Br(e){return getComputedStyle(e).direction===`rtl`}function Vr(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function Hr(e){if(!e)return!1;let t=e.getBoundingClientRect();return t.top<(window.innerHeight||document.documentElement.clientHeight)&&t.bottom>0&&t.left<(window.innerWidth||document.documentElement.clientWidth)&&t.right>0}function Ur(e,t,n){let r=e.getBoundingClientRect(),i=t.getBoundingClientRect();if(n)return i.left+i.width/2-(r.left+r.width/2);let a=Number.parseFloat(getComputedStyle(e).scrollPaddingInlineStart)||0;return Br(e)?i.right-(r.right-a):i.left-(r.left+a)}function Wr(e){return e.scrollWidth-e.clientWidth>0}const Gr=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2;function Kr(e,t,n){if(Vr()||typeof requestAnimationFrame>`u`)return e.scrollTo({left:t,behavior:`instant`}),n(),()=>{};let r=e.scrollLeft,i=t-r,a=null,o=null,s=!1,c=()=>{s||(s=!0,o!==null&&cancelAnimationFrame(o),clearTimeout(u),e.scrollTo({left:t,behavior:`instant`}),n())},l=t=>{if(s)return;a===null&&(a=t);let n=Math.min((t-a)/300,1);if(e.scrollTo({left:r+i*Gr(n),behavior:`instant`}),n<1){o=requestAnimationFrame(l);return}c()},u=setTimeout(c,500);return o=requestAnimationFrame(l),()=>{s||(s=!0,o!==null&&cancelAnimationFrame(o),clearTimeout(u))}}function qr(e,t,n){return Number.isNaN(e)||t===0?null:e<0?n?t-1:null:e>t-1?n?0:null:e}function Jr(e,t,n){let r=t>e;return n?r?`right`:`left`:r?`left`:`right`}function Yr(e,t){return t?e?`right`:`left`:e?`left`:`right`}function Xr(e,t,n,r,i){if(n||t<2||r||i)return!1;let a=getComputedStyle(e),o=e=>Number.parseFloat(a.getPropertyValue(e))||0;return(o(`--cx-carousel-items`)||1)===1&&o(`--cx-carousel-items-peek`)===0}const Zr=i(({children:t,activeIndex:n,auto:r,autoplay:i=!1,center:a,className:s,defaultActiveIndex:l=0,ends:u=`loop`,interval:d=5e3,items:h,itemsGap:g,itemsPeek:_,keyboard:v=!0,onSlid:y,onSlide:b,pause:x=`hover`,style:S,transition:C=`scroll`,...w},T)=>{n!==void 0&&!b&&!y&&console.warn("Carousel: `activeIndex` is set (controlled) but neither `onSlide` nor `onSlid` is — nothing feeds the new index back to your state, so the carousel will visually freeze on click/swipe/autoplay. Pass `onSlide` or `onSlid` and update `activeIndex` from it.");let E=f(null),D=Z(T,E),[O,k]=p(null),A=o(e=>k(e),[]),[j,M]=dt(n,l),N=f(j);ft(()=>{N.current=j},[j]);let[P,F]=p(0),I=f(P);ft(()=>{I.current=P},[P]);let[L,R]=p(i),[z,B]=p(!1),[V,ee]=p(!0),[H,U]=p(!1),W=f(!1),G=f(!1),te=f(!1),K=f(null),q=f(null),J=f(new Map),Y=f(null),ne=f(!1),re=f(!1),ie=f(!1),[ae,oe]=p(``),se=f(!1),ce=f({from:j,to:j,direction:`left`}),le=f(new Set),ue=f(new Set),de=C===`fade`,fe=Math.max(1,h??1),pe=u!==`stop`,me=e=>{N.current=e,M(e)};ft(()=>{let e=Math.max(0,P-fe);ee(j<=0),U(j>=e)},[j,P,fe]),c(()=>{if(!O)return;let e=()=>{if(W.current||!Wr(O))return;let e=O.scrollWidth-O.clientWidth,t=O.scrollLeft,n=Br(O)?Math.max(-e,Math.min(0,t)):Math.max(0,Math.min(e,t)),r=Math.abs(n);ee(r<=1),U(r>=e-1)};return O.addEventListener(`scroll`,e,{passive:!0}),()=>O.removeEventListener(`scroll`,e)},[O]),ft(()=>{if(!O)return;let e=()=>{let e=zr(O);if(F(e.length),q.current?.disconnect(),q.current=null,J.current=new Map,!(de||typeof IntersectionObserver>`u`)){q.current=new IntersectionObserver(e=>{for(let t of e)J.current.set(t.target,t.isIntersecting?t.intersectionRatio:0);if(W.current||G.current)return;let t=zr(O).map(e=>J.current.get(e)??0),n=Math.max(0,...t),r=N.current;if(n>0){let e=t.findIndex(e=>e>=n-.05);e!==-1&&(r=e)}if(r!==N.current){let e=N.current,t={from:e,to:r,direction:Jr(e,r,Br(O))};ce.current=t,b?.(t),te.current=!0,me(r)}},{root:O,threshold:[0,.25,.5,.75,1]});for(let t of e)q.current.observe(t)}};e();let t=new MutationObserver(e);return t.observe(O,{childList:!0}),()=>{t.disconnect(),q.current?.disconnect()}},[O,de]),ft(()=>{if(!O)return;let e=zr(O);for(let[t,n]of e.entries())n.classList.toggle(`active`,t===j),n.setAttribute(`aria-roledescription`,`slide`),n.setAttribute(`aria-label`,`${t+1} of ${e.length}`)},[O,j,P]),ft(()=>{if(te.current){te.current=!1;return}if(!O||W.current||de)return;let e=zr(O)[j];if(!e||!Wr(O))return;let t=!ne.current;ne.current=!0;let n=Ur(O,e,!!a);Math.abs(n)<1||(K.current?.(),G.current=!0,O.style.scrollSnapType=`none`,t?(O.scrollTo({left:O.scrollLeft+n,behavior:`instant`}),O.style.scrollSnapType=``,G.current=!1,K.current=null):(se.current=!0,K.current=Kr(O,O.scrollLeft+n,()=>{O.style.scrollSnapType=``,G.current=!1,K.current=null,se.current=!1,y?.(ce.current)})))},[O,j,P,a,de]),c(()=>{if(!re.current){re.current=!0;return}se.current||y?.(ce.current)},[j]),c(()=>{if(!ie.current){ie.current=!0;return}oe(`Slide ${j+1} of ${P}`)},[j]),c(()=>()=>{Y.current&&clearTimeout(Y.current),q.current?.disconnect(),K.current?.()},[]);let he=e=>{let t=O;if(!t)return;K.current?.(),G.current=!1;let n=zr(t),r=n.length-1,i=N.current,o=e?0:r,s=Yr(e,Br(t));b?.({from:i,to:o,direction:s}),W.current=!0;let c=()=>{ce.current={from:i,to:o,direction:s},me(o),W.current=!1},l=e?n[0]:n[r],u=n[i],d=n[o];if(!Wr(t)||!l||!u||!d){c();return}let f=l.cloneNode(!0);f.classList.add(`carousel-item-clone`),f.classList.remove(`active`),f.removeAttribute(`id`);for(let e of Array.from(f.querySelectorAll(`[id]`)))e.removeAttribute(`id`);f.setAttribute(`aria-hidden`,`true`),f.setAttribute(`inert`,``),t.style.scrollSnapType=`none`,e?t.append(f):(t.prepend(f),t.scrollTo({left:t.scrollLeft+Ur(t,u,!!a),behavior:`instant`}));let p=Ur(t,f,!!a);Kr(t,t.scrollLeft+p,()=>{f.remove();let e=Ur(t,d,!!a);t.scrollTo({left:t.scrollLeft+e,behavior:`instant`}),t.style.scrollSnapType=``,c()})},ge=e=>{if(W.current)return;let t=I.current;if(t===0)return;let n=Math.max(0,t-fe);if(u===`loop`&&!de&&!Vr()&&E.current&&Xr(E.current,t,de,!!a,!!r)){if(e>n){he(!0);return}if(e<0){he(!1);return}}let i=qr(e,n+1,pe),o=N.current;if(i===null||i===o)return;let s=Jr(o,e,O?Br(O):!1);b?.({from:o,to:i,direction:s}),ce.current={from:o,to:i,direction:s},me(i)},_e=()=>ge(N.current+1),ve=()=>ge(N.current-1),ye=e=>ge(e),be=()=>{Y.current&&clearTimeout(Y.current),Y.current=null,B(!1)},xe=(e=N.current)=>{Y.current&&clearTimeout(Y.current);let t=(O?zr(O):[])[e]?.dataset.interval,n=t&&!Number.isNaN(Number(t))?Number(t):d;E.current?.style.setProperty(`--cx-carousel-interval`,`${n}ms`),Y.current=setTimeout(()=>{let t=I.current,n=Math.max(0,t-fe),r=qr(N.current+1,n+1,pe);if(!(typeof document>`u`||document.visibilityState===`visible`&&Hr(E.current))){xe(e);return}if(_e(),r===null){be();return}xe(r)},n)},Se=()=>{xe(),B(!0)},Ce=()=>{R(!1),be()},we=()=>{if(L){Ce();return}R(!0),Se()};c(()=>{if(O)return L&&Se(),()=>be()},[O]),c(()=>{if(!O)return;let e=()=>Ce();return O.addEventListener(`pointerdown`,e),()=>O.removeEventListener(`pointerdown`,e)},[O]),c(()=>{if(u!==`stop`)return;let e=document.activeElement,t=V&&!!e&&le.current.has(e),n=H&&!!e&&ue.current.has(e);if(!t&&!n)return;let r=t?ue.current:le.current,i=(t?!H:!V)?Array.from(r)[0]:null,a=Ir(e);if(i){Lt(i,a,{preventScroll:!0});return}O&&(O.hasAttribute(`tabindex`)||O.setAttribute(`tabindex`,`-1`),Lt(O,a,{preventScroll:!0}))},[V,H,u,O]);let Te=o((e,t)=>{let n=e===`prev`?le.current:ue.current;return n.add(t),()=>{n.delete(t)}},[]),Ee=e=>{v&&(e.target.closest(`input, textarea, select, [contenteditable="true"]`)||(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),Ce(),e.key===`ArrowLeft`?ve():_e()))},De=()=>{x===`hover`&&be()},Oe=()=>{x===`hover`&&L&&Se()},ke={activeIndex:j,atEnd:H,atStart:V,ends:u,itemCount:P,itemsVisible:fe,next:()=>{Ce(),_e()},playing:L,prev:()=>{Ce(),ve()},registerControl:Te,registerViewport:A,to:e=>{Ce(),ye(e)},togglePlayPause:we},Ae=m(`carousel`,{"carousel-fade":de,"carousel-center":a,"carousel-auto":r,"carousel-playing":z},s),je={...S,...h!=null&&{"--cx-carousel-items":h},...g!=null&&{"--cx-carousel-items-gap":g},..._!=null&&{"--cx-carousel-items-peek":_}};return e.createElement(`div`,{role:`region`,"aria-roledescription":`carousel`,className:Ae,style:je,onKeyDown:Ee,onMouseEnter:De,onMouseLeave:Oe,...w,ref:D},e.createElement(Lr.Provider,{value:ke},t),e.createElement(`span`,{role:`status`,className:`visually-hidden`},ae))});Zr.displayName=`Carousel`;const Qr=i(({children:t,className:n,direction:r,disabled:i,label:a,onClick:o,...s},l)=>{let{atEnd:u,atStart:d,ends:p,next:h,prev:g,registerControl:_}=Rr(),v=f(null),y=Z(l,v);c(()=>{let e=v.current;if(e)return _(r,e)},[_,r]);let b=r===`next`?u:d,x=r===`next`?h:g,S=i||p===`stop`&&b;return e.createElement(`button`,{type:`button`,className:m(`button small icon-only`,n),disabled:S,onClick:e=>{o?.(e),e.detail!==0&&Fr(e.currentTarget),x()},...s,ref:y},t??e.createElement(e.Fragment,null,e.createElement(Ut,{name:r===`next`?`chevron-right-outline`:`chevron-left-outline`,className:`directional-icon`}),e.createElement(`span`,{className:`visually-hidden`},a)))});Qr.displayName=`CarouselControlButton`;const $r=i(({label:t=`Next slide`,...n},r)=>e.createElement(Qr,{...n,direction:`next`,label:t,ref:r}));$r.displayName=`CarouselControlNext`;const ei=i(({label:t=`Previous slide`,...n},r)=>e.createElement(Qr,{...n,direction:`prev`,label:t,ref:r}));ei.displayName=`CarouselControlPrev`;const ti=i(({className:t,label:n=e=>`Slide ${e}`,...r},i)=>{let{activeIndex:a,itemCount:o,itemsVisible:s,to:c}=Rr(),l=m(`carousel-indicators`,t),u=o===0?0:Math.max(1,o-s+1);return e.createElement(`ol`,{className:l,...r,ref:i},Array.from({length:u},(e,t)=>t).map(t=>e.createElement(`li`,{key:t},e.createElement(`button`,{type:`button`,className:t===a?`active`:void 0,"aria-current":t===a?`true`:void 0,"aria-label":n(t+1),onClick:()=>c(t)}))))});ti.displayName=`CarouselIndicators`;function ni({children:t,className:n,component:r,...i},a){let{registerViewport:o}=Rr(),s=r??`div`,c=Z(a,o),l=m(`carousel-inner`,n);return e.createElement(s,{className:l,...i,ref:c},t)}const ri=X(ni,`CarouselInner`);function ii({children:t,className:n,component:r,interval:i,...a},o){let s=r??`div`,c=m(`carousel-item`,n);return e.createElement(s,{className:c,"data-interval":i,...a,ref:o},t)}const ai=X(ii,`CarouselItem`);function oi({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`carousel-overlay`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const si=X(oi,`CarouselOverlay`),ci=i(({children:t,className:n,onClick:r,pauseLabel:i=`Pause`,playLabel:a=`Play`,...o},s)=>{let{playing:c,togglePlayPause:l}=Rr(),u=m(`carousel-control-play-pause button small icon-only`,{paused:!c},n);return e.createElement(`button`,{type:`button`,className:u,"aria-label":c?i:a,onClick:e=>{r?.(e),l()},...o,ref:s},t??e.createElement(e.Fragment,null,e.createElement(Ut,{name:`pause-solid`,className:`carousel-icon-pause`,"aria-hidden":`true`}),e.createElement(Ut,{name:`play-solid`,className:`carousel-icon-play`,"aria-hidden":`true`})))});ci.displayName=`CarouselPlayPause`;const li=i(({children:t,className:n,horizontal:r,onHide:i,onShow:a,visible:o,...s},c)=>{let[l,u]=p(),[d,h]=p(),g=f(null),_=Z(c,g),v=e=>e===`entering`?`collapsing`:e===`entered`?`collapse show`:e===`exiting`?`collapsing`:`collapse`,y=()=>{if(a&&a(),r){g.current&&h(g.current.scrollWidth);return}g.current&&u(g.current.scrollHeight)},b=()=>{if(r){h(0);return}u(0)},x=()=>{if(r){g.current&&h(g.current.scrollWidth);return}g.current&&u(g.current.scrollHeight)},S=()=>{if(i&&i(),r){h(0);return}u(0)},C=()=>{if(r){h(0);return}u(0)},w=m({"collapse-horizontal":r},n);return e.createElement(Ve,{in:o,nodeRef:g,onEntering:y,onEntered:b,onExit:x,onExiting:S,onExited:C,timeout:350},n=>{let r=v(n),i=l===0?null:{height:l},a=d===0?null:{width:d};return e.createElement(`div`,{className:m(w,r),style:{...i,...a},...s,ref:_},t)})});li.displayName=`Collapse`;const $=(e,t)=>({"is-invalid":e,"is-valid":t});function ui({children:t,className:n,color:r,component:i,disabled:a,href:o,onClick:s,pressed:c,size:l,type:u=`button`,variant:d,...f},p){let h=i??(o?`a`:`span`),g=h===`button`,_=h===`a`,v=m(`chip`,r,l,{outline:d===`outline`,smooth:d===`smooth`,active:c,disabled:!g&&a},n),b=gt(!g,a,s),x=f.role!==void 0,S=!g&&!_&&!!s&&!x,{buttonProps:C,forkedRef:w}=ut(p,{disabled:a,onClick:s});return g?e.createElement(`button`,{...f,"aria-pressed":c,className:v,disabled:a,onClick:b,ref:p,type:u},t):_?e.createElement(`a`,{...f,"aria-pressed":c,className:v,href:o,onClick:b,...a&&{"aria-disabled":!0,tabIndex:-1},ref:p},t):e.createElement(h,{...y(f,S?C:{}),"aria-pressed":c,className:v,...!S&&{onClick:b},...a&&{"aria-disabled":!0},...o&&{href:o},ref:S?w:p},t)}const di=X(ui,`Chip`),fi=({chipVariant:t,disabled:n,groupRef:r,props:i,size:a,state:o})=>{let{gridProps:s}=fe(i,o,r);return e.createElement(`div`,{...s,style:{display:`contents`},ref:r},[...o.collection].map(r=>e.createElement(pi,{chipVariant:t,disabled:n,item:r,key:r.key,size:a,state:o})))},pi=({chipVariant:t,disabled:n,item:r,size:i,state:a})=>{let o=f(null),{rowProps:s,gridCellProps:c,removeButtonProps:l,allowsRemoving:u}=de({item:r},a,o),d=f(null),{buttonProps:p}=b(l,d);return e.createElement(di,{...s,className:m(t,{active:a.selectionManager.isSelected(r.key)}),component:`div`,disabled:n,ref:o,size:i},e.createElement(`div`,{...c,style:{display:`contents`}},r.rendered,u&&e.createElement(Cn,{...p,ref:d})))},mi=e=>{let t=new Map;return e.map(e=>{let n=t.get(e)??0;return t.set(e,n+1),n===0?e:`${e}\u0000${n}`})},hi=i(({allowDuplicates:t=!1,"aria-describedby":n,"aria-label":r,"aria-labelledby":i,chipVariant:a=`default`,className:o,defaultValue:s,disabled:c,help:l,id:u,invalid:h,invalidFeedback:g,label:_,maxChips:v,name:y,onChange:b,placeholder:x,separator:S=`,`,size:C,valid:w,validFeedback:T,value:E,...D},O)=>{let[k,A]=dt(E,s??[],b),j=d(()=>mi(k),[k]),M=(e,n)=>n!==``&&(t||!e.includes(n)),N=e=>{let t=e.trim();M(k,t)&&(v!=null&&k.length>=v||A([...k,t]))},P=e=>{let t=new Set(e);A(k.filter((e,n)=>!t.has(j[n])))},F=d(()=>k.map((e,t)=>({id:j[t],value:e})),[k,j]),I=je({children:t=>e.createElement(ye,{key:t.id,textValue:t.value},t.value),disabledKeys:c?F.map(e=>e.id):void 0,items:F,selectionMode:`multiple`}),L=f(null),R=Z(O,f(null)),z=f(null),[B,V]=p(``),ee=e=>{if(k.length===0)return;let t=j[j.length-1];e?I.selectionManager.extendSelection(t):I.selectionManager.replaceSelection(t);let n=L.current?.querySelectorAll(`[role="row"]`);n?.[n.length-1]?.focus()},H=e=>{if(!c){if(S&&e.key===S){e.preventDefault(),N(B),V(``);return}switch(e.key){case`Enter`:e.preventDefault(),N(B),V(``);break;case`Backspace`:case`Delete`:B===``&&(e.preventDefault(),ee(!1));break;case`ArrowLeft`:{let t=z.current;t&&t.selectionStart===0&&t.selectionEnd===0&&(e.preventDefault(),ee(e.shiftKey));break}case`Escape`:V(``),I.selectionManager.clearSelection(),z.current?.blur()}}},U=e=>{if(c||!S)return;let t=e.clipboardData.getData(`text`);if(!t.includes(S))return;e.preventDefault();let n=t.split(S),r=k,i=0;for(;i<n.length-1&&!(v!=null&&r.length>=v);i++){let e=n[i].trim();M(r,e)&&(r=[...r,e])}r!==k&&A(r),V(n.slice(i).join(S))},{describedBy:W,feedbackId:G,helpId:te,inputId:K,labelId:q,labelledBy:J}=Tt({ariaDescribedBy:n,ariaLabelledBy:i,help:l,id:u,invalid:h,invalidFeedback:g,label:_,valid:w,validFeedback:T}),{inputProps:Y}=pe({"aria-describedby":W,"aria-label":r??(i||_?void 0:`Add value`),"aria-labelledby":J,id:K,isDisabled:c,isInvalid:h,onChange:V,onFocus:()=>I.selectionManager.clearSelection(),onKeyDown:H,placeholder:x,value:B},z);return Q({children:e.createElement(`div`,{className:m(`form-input`,`chip-input`,C,{disabled:c},$(h,w),o),...D,ref:R},e.createElement(fi,{chipVariant:a,disabled:c,groupRef:L,props:{"aria-label":r,"aria-labelledby":J,onRemove:c?void 0:P},size:C,state:I}),e.createElement(`input`,{...Y,className:`ghost-input`,onPaste:U,ref:z}),y&&F.map(t=>e.createElement(`input`,{disabled:c,key:t.id,name:y,type:`hidden`,value:t.value}))),help:l,ids:{feedback:G,help:te,input:K,label:q},invalid:h,invalidFeedback:g,label:_,valid:w,validFeedback:T})});hi.displayName=`ChipInput`;const gi=i(({className:t,help:n,id:r,invalid:i,invalidFeedback:a,label:o,size:s,valid:c,validFeedback:l,...u},d)=>{let{describedBy:f,feedbackId:p,helpId:h,inputId:g}=Tt({ariaDescribedBy:u[`aria-describedby`],help:n,id:r,invalid:i,invalidFeedback:a,valid:c,validFeedback:l}),_=m(`form-input`,s,$(i,c),t);return Q({children:e.createElement(`input`,{...u,"aria-describedby":f,"aria-invalid":i||void 0,className:_,id:g,ref:d,type:`color`}),help:n,ids:{feedback:p,help:h,input:g},invalid:i,invalidFeedback:a,label:o,valid:c,validFeedback:l})});gi.displayName=`ColorInput`;const _i=i(({className:t,help:n,id:r,invalid:i,invalidFeedback:a,label:o,size:s,valid:c,validFeedback:l,...u},d)=>{let{describedBy:f,feedbackId:p,helpId:h,inputId:g}=Tt({ariaDescribedBy:u[`aria-describedby`],help:n,id:r,invalid:i,invalidFeedback:a,valid:c,validFeedback:l}),_=m(`form-input`,s,$(i,c),t);return Q({children:e.createElement(`input`,{...u,"aria-describedby":f,"aria-invalid":i||void 0,className:_,id:g,ref:d,type:`file`}),help:n,ids:{feedback:p,help:h,input:g},invalid:i,invalidFeedback:a,label:o,valid:c,validFeedback:l})});_i.displayName=`FileInput`;const vi=e=>null;vi.displayName=`ComboboxGroup`;const yi=i(({"aria-describedby":t,"aria-label":n,"aria-labelledby":r,children:i,className:a,defaultValue:o,disabled:s,help:c,id:u,invalid:p,invalidFeedback:g,items:_,label:v,name:y,noResultsText:b=`No results found`,onChange:x,placeholder:S,size:C,valid:w,validFeedback:T,value:E,...O},k)=>{let A=d(()=>_?qt(_):Kt(i,{Group:vi,Item:Ht}),[_,i]),j=d(()=>Jt(A),[A]),{contains:M}=P({sensitivity:`base`}),N=De({children:Xt,defaultItems:A,disabledKeys:j,defaultFilter:M,defaultValue:o,value:E,onChange:x,allowsEmptyCollection:!0,menuTrigger:`focus`}),F=f(null),I=Z(k,F),L=f(null),R=f(null),z=f(null),B=l(),{describedBy:V,feedbackId:ee,helpId:U,inputId:W,labelId:G,labelledBy:te}=Tt({ariaDescribedBy:t,ariaLabelledBy:r,help:c,id:u,invalid:p,invalidFeedback:g,label:v,valid:w,validFeedback:T}),{inputProps:K,listBoxProps:q}=D({"aria-label":n,"aria-labelledby":te,id:W,inputRef:L,listBoxRef:R,popoverRef:z,isDisabled:s,placeholder:S},N),{overlayProps:J,placement:Y}=H({targetRef:F,overlayRef:z,placement:Mt(`bottom-start`),offset:2,isOpen:N.isOpen,onClose:null}),ne=St({close:N.close,isOpen:N.isOpen,open:N.open,triggerRef:F}),{menuStyle:re,placementAttr:ie}=Pt(J.style,`bottom-start`,Y),ae={...Ft,...re},oe=K,se=N.collection.size===0,ce=[V,se&&B].filter(Boolean).join(` `)||void 0;return Q({children:e.createElement(e.Fragment,null,e.createElement(`div`,{className:m(`form-input`,`combobox`,C,{disabled:s},$(p,w),a),ref:I,...O},e.createElement(`input`,{autoComplete:`off`,className:`combobox-value`,...oe,"aria-describedby":ce,"aria-invalid":p||void 0,ref:L})),typeof window<`u`&&h(e.createElement(`div`,{className:m(`menu`,{show:N.isOpen}),"data-cx-placement":ie,style:ae,hidden:!N.isOpen,ref:z},e.createElement($t,{state:N,listBoxProps:q,listBoxRef:R}),se&&e.createElement(`div`,{className:`combobox-no-results`,id:B,role:`status`},b)),ne??document.body),y&&e.createElement(`input`,{type:`hidden`,name:y,value:N.value??``,disabled:s})),help:c,ids:{feedback:ee,help:U,input:W,label:G},invalid:p,invalidFeedback:g,label:v,valid:w,validFeedback:T})});yi.displayName=`Combobox`;const bi=i(({buttonProps:t,state:n},r)=>{let i=f(null),a=Z(i,r),{buttonProps:o}=b({...t,onPress:()=>n.toggle()},i);return e.createElement(`button`,{...o,className:`input-adorn`,ref:a,type:`button`},e.createElement(`svg`,{fill:`none`,height:`16`,viewBox:`0 0 16 16`,width:`16`,xmlns:`http://www.w3.org/2000/svg`},e.createElement(`rect`,{height:`12`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1.25`,width:`13`,x:`1.5`,y:`3`}),e.createElement(`path`,{d:`M1.5 6.5h13`,stroke:`currentColor`,strokeWidth:`1.25`}),e.createElement(`path`,{d:`M4.5 1.5v3M11.5 1.5v3`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.25`})))});bi.displayName=`CalendarToggleButton`;const xi=({isDisabled:t,onPress:n})=>{let r=f(null),{buttonProps:i}=b({"aria-label":`Clear`,isDisabled:t,onPress:n},r);return e.createElement(`button`,{...i,className:`input-adorn`,ref:r,type:`button`},e.createElement(`svg`,{fill:`none`,height:`16`,viewBox:`0 0 16 16`,width:`16`,xmlns:`http://www.w3.org/2000/svg`},e.createElement(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.25`})))},Si=({fieldProps:t})=>{let{locale:n}=L(),r=Oe({...t,createCalendar:Ue,locale:n}),i=f(null),{fieldProps:a}=O(t,r,i);return e.createElement(`div`,{...a,className:`datepicker-field`,ref:i},r.segments.map((t,n)=>e.createElement(Ci,{key:n,segment:t,state:r})))},Ci=({segment:t,state:n})=>{let r=f(null),{segmentProps:i}=M(t,n,r);return e.createElement(`span`,{...i,className:m(`datepicker-segment`,{placeholder:t.isPlaceholder}),ref:r},t.text)},wi=({calendar:t,className:n,clearButton:r,disabled:i,field:a,fieldClassName:o,groupProps:s,groupRef:c,invalid:l,isOpen:u,overlayDismissProps:d,overlayRef:f,overlayStyle:p,placementAttr:h,size:g,toggleButton:v,valid:y})=>e.createElement(e.Fragment,null,e.createElement(`div`,{...s,className:m(`form-input`,g,{disabled:i},$(l,y),n),ref:c},e.createElement(`div`,{className:o},a),r,v),e.createElement(`div`,{className:`datepicker`,"data-cx-placement":h,hidden:!u,ref:f,...d,style:p},u&&e.createElement(_,{contain:!0,restoreFocus:!0},t))),Ti=i((t,n)=>t.selectionMode===`multiple`?e.createElement(Di,{...t,ref:n}):e.createElement(Ei,{...t,ref:n}));Ti.displayName=`DatePicker`;const Ei=i(({className:t,defaultOpen:n,defaultValue:r,disabled:i,firstDayOfWeek:a,help:o,id:s,invalid:c,invalidFeedback:l,isDateUnavailable:u,isOpen:p,label:m,maxValue:h,minValue:g,name:_,onChange:v,onOpenChange:b,selectionMode:x,size:S,unavailableDates:C,valid:w,validFeedback:T,value:E,visibleMonths:D,...O},k)=>{let j=d(()=>ir(C,u),[C,u]),M=ke({defaultOpen:n,defaultValue:r,isDateUnavailable:j,isDisabled:i,isOpen:p,maxValue:h,minValue:g,onChange:v,onOpenChange:b,value:E}),P=f(null),F=Z(k,P),I=f(null),L=f(null),R=f(null),{describedBy:z,feedbackId:B,helpId:V,inputId:ee,labelId:H,labelledBy:U}=Tt({ariaDescribedBy:O[`aria-describedby`],ariaLabelledBy:O[`aria-labelledby`],help:o,id:s,invalid:c,invalidFeedback:l,label:m,valid:w,validFeedback:T}),{groupProps:W,fieldProps:G,buttonProps:te,calendarProps:K,dialogProps:q}=A({"aria-label":O[`aria-label`],"aria-labelledby":U,defaultValue:r,id:ee,isDateUnavailable:j,isDisabled:i,isInvalid:c,maxValue:h,minValue:g,onChange:v,value:E},M,P),{overlayStyle:J,placementAttr:Y,overlayDismissProps:ne}=It({overlayRef:L,state:M,triggerRef:P}),{dialogProps:re}=N(q,I);return Q({children:e.createElement(e.Fragment,null,wi({calendar:e.createElement(ar,{...re,autoFocus:!0,disabled:i,firstDayOfWeek:a,isDateUnavailable:j,maxValue:h,minValue:g,onChange:K.onChange,ref:I,value:K.value,visibleMonths:D}),className:t,clearButton:M.value&&!i&&e.createElement(xi,{onPress:()=>{M.setValue(null),R.current?.focus()}}),disabled:i,field:e.createElement(Si,{fieldProps:G}),fieldClassName:`w-100 overflow-x-scroll`,groupProps:{...y(W,O),"aria-describedby":z,"aria-labelledby":U},groupRef:F,invalid:c,isOpen:M.isOpen,overlayDismissProps:ne,overlayRef:L,overlayStyle:J,placementAttr:Y,size:S,toggleButton:e.createElement(bi,{buttonProps:te,ref:R,state:M}),valid:w}),_&&e.createElement(`input`,{disabled:i,name:_,type:`hidden`,value:M.value?M.value.toString():``})),help:o,ids:{feedback:B,help:V,label:H},invalid:c,invalidFeedback:l,label:m,valid:w,validFeedback:T})});Ei.displayName=`DatePickerSingle`;const Di=i(({className:t,defaultOpen:n,defaultValue:r,disabled:i,firstDayOfWeek:a,help:o,id:s,invalid:c,invalidFeedback:l,isDateUnavailable:u,isOpen:m,label:h,maxValue:g,minValue:_,name:v,onChange:b,onOpenChange:x,selectionMode:S,size:C,unavailableDates:w,valid:T,validFeedback:E,value:D,visibleMonths:O,...k},A)=>{let j=d(()=>ir(w,u),[w,u]),M=D!==void 0,[P,F]=p(r??[]),I=M?D??[]:P,L=e=>{M||F(e),b?.(e)},R=Ne({defaultOpen:n,isOpen:m,onOpenChange:x}),z=f(null),B=Z(A,z),V=f(null),ee=f(null),H=f(null),{describedBy:U,feedbackId:W,helpId:G,inputId:te,labelId:K,labelledBy:q}=Tt({ariaDescribedBy:k[`aria-describedby`],ariaLabelledBy:k[`aria-labelledby`],help:o,id:s,invalid:c,invalidFeedback:l,label:h,valid:T,validFeedback:E}),{overlayStyle:J,placementAttr:Y,overlayDismissProps:ne}=It({overlayRef:ee,state:R,triggerRef:z}),{dialogProps:re}=N({"aria-label":k[`aria-label`],"aria-labelledby":q},V),ie={"aria-expanded":R.isOpen,"aria-haspopup":`dialog`,"aria-label":`Calendar`,isDisabled:i};return Q({children:e.createElement(e.Fragment,null,wi({calendar:e.createElement(ar,{...re,autoFocus:!0,disabled:i,firstDayOfWeek:a,isDateUnavailable:j,maxValue:g,minValue:_,onChange:L,ref:V,selectionMode:`multiple`,value:I,visibleMonths:O}),className:t,clearButton:I.length>0&&!i&&e.createElement(xi,{onPress:()=>{L([]),H.current?.focus()}}),disabled:i,field:e.createElement(ki,{values:I}),fieldClassName:`w-100 overflow-x-scroll`,groupProps:{...y(k),"aria-describedby":U,"aria-disabled":i||void 0,"aria-labelledby":q,id:te,role:`group`},groupRef:B,invalid:c,isOpen:R.isOpen,overlayDismissProps:ne,overlayRef:ee,overlayStyle:J,placementAttr:Y,size:C,toggleButton:e.createElement(bi,{buttonProps:ie,ref:H,state:R}),valid:T}),v&&I.map(t=>e.createElement(`input`,{disabled:i,key:t.toString(),name:v,type:`hidden`,value:t.toString()}))),help:o,ids:{feedback:W,help:G,label:K},invalid:c,invalidFeedback:l,label:h,valid:T,validFeedback:E})});Di.displayName=`DatePickerMultiple`;const Oi=e=>`timeZone`in e?e.toDate():e.toDate(We()),ki=({values:t})=>{let n=k({dateStyle:`medium`});return e.createElement(`div`,{className:`datepicker-field`},t.length>0&&e.createElement(e.Fragment,null,t.slice().sort((e,t)=>e.compare(t)).map(e=>n.format(Oi(e))).join(`, `)))},Ai=i(({className:t,defaultOpen:n,defaultValue:r,disabled:i,firstDayOfWeek:a,help:o,id:s,invalid:c,invalidFeedback:l,isDateUnavailable:u,isOpen:p,label:m,maxValue:h,minValue:g,name:_,onChange:v,onOpenChange:b,presets:x,size:S,unavailableDates:C,valid:w,validFeedback:T,value:E,visibleMonths:D,...O},k)=>{let A=d(()=>ir(C,u),[C,u]),M=Ae({defaultOpen:n,defaultValue:r,isDateUnavailable:A,isDisabled:i,isOpen:p,maxValue:h,minValue:g,onChange:v,onOpenChange:b,value:E}),P=f(null),F=Z(k,P),I=f(null),L=f(null),R=f(null),{describedBy:z,feedbackId:B,helpId:V,inputId:ee,labelId:H,labelledBy:U}=Tt({ariaDescribedBy:O[`aria-describedby`],ariaLabelledBy:O[`aria-labelledby`],help:o,id:s,invalid:c,invalidFeedback:l,label:m,valid:w,validFeedback:T}),{groupProps:W,startFieldProps:G,endFieldProps:te,buttonProps:K,calendarProps:q,dialogProps:J}=j({"aria-label":O[`aria-label`],"aria-labelledby":U,defaultValue:r,id:ee,isDateUnavailable:A,isDisabled:i,isInvalid:c,maxValue:h,minValue:g,onChange:v,value:E},M,P),{overlayStyle:Y,placementAttr:ne,overlayDismissProps:re}=It({overlayRef:L,state:M,triggerRef:P}),{dialogProps:ie}=N(J,I);return Q({children:e.createElement(e.Fragment,null,wi({calendar:e.createElement(sr,{...ie,autoFocus:!0,disabled:i,firstDayOfWeek:a,isDateUnavailable:A,maxValue:h,minValue:g,onChange:q.onChange,presets:x,ref:I,value:q.value,visibleMonths:D}),className:t,clearButton:(M.value?.start||M.value?.end)&&!i&&e.createElement(xi,{onPress:()=>{M.setValue(null),R.current?.focus()}}),disabled:i,field:e.createElement(e.Fragment,null,e.createElement(Si,{fieldProps:G}),e.createElement(`span`,{"aria-hidden":`true`,className:`daterangepicker-separator`},`–`),e.createElement(Si,{fieldProps:te})),fieldClassName:`d-flex w-100`,groupProps:{...y(W,O),"aria-describedby":z,"aria-labelledby":U},groupRef:F,invalid:c,isOpen:M.isOpen,overlayDismissProps:re,overlayRef:L,overlayStyle:Y,placementAttr:ne,size:S,toggleButton:e.createElement(bi,{buttonProps:K,ref:R,state:M}),valid:w}),_&&e.createElement(e.Fragment,null,e.createElement(`input`,{disabled:i,name:`${_}Start`,type:`hidden`,value:M.value?.start?M.value.start.toString():``}),e.createElement(`input`,{disabled:i,name:`${_}End`,type:`hidden`,value:M.value?.end?M.value.end.toString():``}))),help:o,ids:{feedback:B,help:V,label:H},invalid:c,invalidFeedback:l,label:m,valid:w,validFeedback:T})});Ai.displayName=`DateRangePicker`;const ji=i(({disabled:t,index:n,invalid:r,mask:i,onChangeValue:a,onKeyDownBox:o,onPasteBox:s,size:c,valid:l,value:u},d)=>{let f=B(d),{focusProps:p,isFocusVisible:h}=F(),{inputProps:g}=pe({"aria-label":`Digit ${n+1}`,autoComplete:n===0?`one-time-code`:`off`,isDisabled:t,isInvalid:r,maxLength:1,onChange:a,onFocus:e=>e.target.select(),onKeyDown:o,type:i?`password`:`text`,value:u},f);return e.createElement(`input`,{...y(g,p),className:m(`form-input`,c,$(r,l)),"data-focus-visible":h||void 0,inputMode:`numeric`,onPaste:s,pattern:`\\d*`,ref:f})});ji.displayName=`OtpBox`;const Mi=e=>e.replace(/\D/g,``),Ni=(e,t)=>{let n=[...Mi(e)].slice(0,t);return Array.from({length:t},(e,t)=>n[t]??``)},Pi=i(({className:t,defaultValue:r,disabled:i,groupSizes:a,help:o,id:s,inputGroup:c,invalid:l,invalidFeedback:u,label:p,length:h=6,mask:g,name:_,onChange:v,onComplete:y,separator:b=`–`,size:x,valid:S,validFeedback:C,value:w,...T},E)=>{let D=a&&a.length>0?a.reduce((e,t)=>e+t,0):h,[O,k]=dt(w,r??``,v),A=d(()=>Ni(O,D),[O,D]),j=f([]),M=e=>j.current[e]?.focus(),N=Z(E,f(null)),P=e=>{let t=e.join(``);k(t),e.length===D&&e.every(e=>e!==``)&&y?.(t)},F=(e,t)=>{let n=Mi(t);if(n.length>1){let t=[...n],r=[...A];for(let n=0;n<t.length&&e+n<D;n++)r[e+n]=t[n];P(r),M(Math.min(e+t.length,D-1));return}let r=[...A];r[e]=n,P(r),n&&e<D-1&&M(e+1)},I=(e,t)=>{if(!i)switch(t.key){case`Backspace`:if(!A[e]&&e>0){t.preventDefault();let n=[...A];n[e-1]=``,P(n),M(e-1)}break;case`Delete`:{t.preventDefault();let n=[...A];for(let t=e;t<D-1;t++)n[t]=n[t+1];n[D-1]=``,P(n);break}case`ArrowLeft`:e>0&&(t.preventDefault(),M(e-1));break;case`ArrowRight`:e<D-1&&(t.preventDefault(),M(e+1))}},L=e=>{if(e.preventDefault(),i)return;let t=Mi(e.clipboardData.getData(`text`)).slice(0,D);t&&(P(Ni(t,D)),M(Math.min(t.length,D)-1))},R=(t,n)=>Array.from({length:n},(e,n)=>t+n).map(t=>e.createElement(ji,{disabled:i,index:t,invalid:l,key:t,mask:g,onChangeValue:e=>F(t,e),onKeyDownBox:e=>I(t,e),onPasteBox:L,ref:e=>{j.current[t]=e},size:x,valid:S,value:A[t]??``})),z;if(a&&a.length>0){let t=0;z=a.map((r,i)=>{let a=t;return t+=r,e.createElement(n,{key:i},i>0&&e.createElement(`span`,{className:`form-otp-separator`},b),c?e.createElement(`div`,{className:`input-group`},R(a,r)):R(a,r))})}else z=R(0,D);let{describedBy:B,feedbackId:V,helpId:ee,inputId:H,labelId:U,labelledBy:W}=Tt({ariaDescribedBy:T[`aria-describedby`],ariaLabelledBy:T[`aria-labelledby`],help:o,id:s,invalid:l,invalidFeedback:u,label:p,valid:S,validFeedback:C});return Q({children:e.createElement(`div`,{...T,"aria-describedby":B,"aria-labelledby":W,className:m(`form-otp`,{"input-group":c&&!(a&&a.length>0)},$(l,S),t),id:H,ref:N,role:`group`},z,_&&e.createElement(`input`,{disabled:i,name:_,type:`hidden`,value:A.join(``)})),help:o,ids:{feedback:V,help:ee,label:U},invalid:l,invalidFeedback:u,label:p,valid:S,validFeedback:C})});Pi.displayName=`OtpInput`;const Fi=[`weak`,`fair`,`good`,`strong`],Ii={extraLength:1,lowercase:1,longPassword:1,minLength:1,multipleSpecial:1,numbers:1,special:1,uppercase:1},Li={fair:`Fair`,good:`Good`,strong:`Strong`,weak:`Weak`},Ri=[2,4,6],zi=/[!"#$%&()*,.:<>?@^{|}]/,Bi=/[!"#$%&()*,.:<>?@^{|}].*[!"#$%&()*,.:<>?@^{|}]/,Vi=(e,{minLength:t,scorer:n,weights:r})=>{if(!e)return 0;if(n)return n(e);let i=0;return e.length>=t&&(i+=r.minLength),e.length>=t+4&&(i+=r.extraLength),/[a-z]/.test(e)&&(i+=r.lowercase),/[A-Z]/.test(e)&&(i+=r.uppercase),/\d/.test(e)&&(i+=r.numbers),zi.test(e)&&(i+=r.special),Bi.test(e)&&(i+=r.multipleSpecial),e.length>=16&&(i+=r.longPassword),i},Hi=(e,t)=>{if(e===0)return null;let[n,r,i]=t;return e<=n?`weak`:e<=r?`fair`:e<=i?`good`:`strong`},Ui=({"aria-label":t=`Password strength`,className:r,id:i,maxScore:a,messages:o,minLength:s=8,onStrengthChange:l,scorer:u,showText:p=!0,thresholds:h=Ri,value:g,variant:_=`segmented`,weights:v,...y})=>{let b=d(()=>({...Ii,...v}),[v]),x=d(()=>({...Li,...o}),[o]),S=d(()=>Vi(g,{minLength:s,scorer:u,weights:b}),[g,s,u,b]),C=d(()=>Hi(S,h),[S,h]),w=d(()=>a??Object.values(b).reduce((e,t)=>e+t,0),[a,b]),T=f(void 0);c(()=>{T.current!==C&&(T.current=C,l?.({score:S,strength:C}))},[C,S,l]);let{meterProps:E}=z({"aria-label":t,maxValue:w,minValue:0,value:S,valueLabel:C?x[C]:void 0}),D=C?Fi.indexOf(C):-1;return e.createElement(n,null,e.createElement(`div`,{...E,className:m(_===`bar`?`strength-bar`:`strength`,r),"data-cx-strength":C??void 0,id:i,...y},_===`segmented`&&Fi.map((t,n)=>e.createElement(`div`,{className:m(`strength-segment`,{active:n<=D}),key:t}))),p&&e.createElement(`span`,{"aria-live":`polite`,className:`strength-text`,"data-cx-strength":C??void 0},C?x[C]:``))};Ui.displayName=`PasswordStrength`;const Wi=()=>void 0,Gi=r({autoClose:!0,close:Wi,focusStrategy:null,hide:Wi,menuId:``,menuStyle:{},menuTriggerProps:{},overlayRef:{current:null},placementAttr:`bottom-start`,reference:`toggle`,registerOverlay:Wi,show:Wi,targetRef:{current:null},toggle:Wi,toggleNodeRef:{current:null},triggerId:``,visible:!1});function Ki({children:t,autoClose:r=!0,className:i,component:a,container:o,offset:s=[0,2],onHide:l,onHidden:u,onShow:p,onShown:h,placement:g=`bottom-start`,reference:_=`toggle`,visible:v,...y},b){let x=a??n,S=f(null),C=Z(b,S),w=f(null),T=f(null),E=f(null),D=f(new Map),O=(e,t)=>{t?D.current.set(e,t):D.current.delete(e)},k=Me({defaultOpen:!!v}),{menuTriggerProps:A,menuProps:j}=R({},k,w);c(()=>{v!==void 0&&(v?k.open():k.close())},[v]),ft(()=>{_===`parent`&&(T.current=S.current)},[_]),c(()=>{let e=E.current;if(k.isOpen){if(p?.(),!e){h?.();return}return mt(e,()=>h?.(),!0)}if(l?.(),!e){u?.();return}return mt(e,()=>u?.(),!0)},[k.isOpen]);let{overlayProps:M,placement:N}=H({targetRef:T,overlayRef:E,placement:Mt(g),offset:s[1],crossOffset:s[0],containerPadding:8,isOpen:k.isOpen,onClose:null}),{menuStyle:P,placementAttr:F}=Pt(M.style,g,N),I=e=>k.open(e),L=()=>k.close(),z=e=>k.toggle(e),B=()=>{k.close(),w.current?.focus()};c(()=>{if(!k.isOpen||r===!1)return;let e=e=>{if(e instanceof KeyboardEvent&&e.key!==`Tab`)return;let t=e.target,n=w.current,i=E.current;if(n?.contains(t))return;let a=!!i?.contains(t)||Array.from(D.current.values()).some(e=>e.contains(t));r===`inside`&&!a||r===`outside`&&a||a&&(e instanceof KeyboardEvent&&e.key===`Tab`||/input|select|option|textarea|form/i.test(t.tagName??``))||L()},t=window.setTimeout(()=>{window.addEventListener(`click`,e),window.addEventListener(`keyup`,e)});return()=>{window.clearTimeout(t),window.removeEventListener(`click`,e),window.removeEventListener(`keyup`,e)}},[k.isOpen,r]),c(()=>{if(!k.isOpen)return;let e=e=>{e.key===`Escape`&&B()};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[k.isOpen]);let V=d(()=>({autoClose:r,close:B,container:o,focusStrategy:k.focusStrategy,hide:L,menuId:j.id??``,menuStyle:P,menuTriggerProps:A,overlayRef:E,placementAttr:F,reference:_,registerOverlay:O,show:I,targetRef:T,toggle:z,toggleNodeRef:w,triggerId:A.id??``,visible:k.isOpen}),[r,o,k.focusStrategy,j.id,P,A,F,_,k.isOpen]);return e.createElement(Gi.Provider,{value:V},x===n?t:e.createElement(x,{className:m(i,{show:k.isOpen}),...y,ref:C},t))}const qi=X(Ki,`Menu`),Ji=i(({className:t,...n},r)=>{let i=m(`menu-divider`,t);return e.createElement(`hr`,{className:i,...n,ref:r})});Ji.displayName=`MenuDivider`;function Yi({children:t,className:n,component:r,role:i=`presentation`,...a},o){let s=r??`h4`,c=m(`menu-header`,n);return e.createElement(s,{className:c,role:i,...a,ref:o},t)}const Xi=X(Yi,`MenuHeader`);function Zi({children:t,className:n,component:r,description:i,href:a,icon:o,onClick:s,selected:c,...l},u){let d=m(`menu-item`,{selected:c},n);return e.createElement(mn,{role:`menuitem`,component:r,href:a,onClick:e=>{a===`#`&&e.preventDefault(),s?.(e)},...l,className:d,ref:u},Wt({icon:o,label:t,description:i}))}const Qi=X(Zi,`MenuItem`),$i=`:is(.menu-item, .submenu-back):not(.disabled):not(:disabled)`,ea=e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length),ta=e=>{if(!e)return[];let t=[];for(let n of Array.from(e.children))if(n.matches($i))t.push(n);else if(n.classList.contains(`submenu`)){let e=Array.from(n.children).find(e=>e.matches($i));e&&t.push(e)}return t.filter(ea)},na=(e,t)=>{e.length&&(t===`first`?e[0]:e[e.length-1]).focus()},ra=(e,{onArrowLeft:t,onArrowRight:n,onEscape:r})=>{let i=e.currentTarget,a=e.target;switch(e.key){case`ArrowDown`:case`ArrowUp`:{e.preventDefault(),e.stopPropagation();let t=ta(i);if(!t.length)return;let n=t.indexOf(a);t[n===-1?e.key===`ArrowDown`?0:t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length].focus();return}case`Home`:case`End`:e.preventDefault(),e.stopPropagation(),na(ta(i),e.key===`Home`?`first`:`last`);return;case`Escape`:if(!r)return;e.preventDefault(),e.stopPropagation(),r();return;case`ArrowLeft`:if(!t)return;e.preventDefault(),e.stopPropagation(),t();return;case`ArrowRight`:if(!n)return;e.preventDefault(),e.stopPropagation(),n();return}},ia=r(null),aa=()=>{let e=f(null);if(!e.current){let t=new Map;e.current={register:(e,n)=>(t.set(e,n),()=>{t.delete(e)}),notifyOpen:e=>{t.forEach((t,n)=>{n!==e&&t()})}}}return e.current},oa=r(null),sa=t=>t.type===`header`?e.createElement(Xi,{key:t.id},t.label):t.type===`divider`?e.createElement(Ji,{key:t.id}):e.createElement(Qi,{key:t.id,component:t.href?`a`:`button`,href:t.href,disabled:t.disabled,selected:t.selected,onClick:t.onClick},Wt({icon:t.icon,label:t.label,description:t.description,selected:t.selected}));function ca({children:t,className:n,component:r,items:i,onKeyDown:a,...o},l){let u=r??`div`,{close:d,container:f,focusStrategy:p,menuId:g,menuStyle:_,overlayRef:v,placementAttr:y,triggerId:b,visible:x}=s(Gi),S=Z(l,v),C=aa();c(()=>{!x||!p||na(ta(v.current),p===`last`?`last`:`first`)},[x,p]);let w=e=>{ra(e,{onEscape:d}),a?.(e)},T=e.createElement(u,{role:`menu`,id:g,"aria-labelledby":b,className:m(`menu`,{show:x},n),style:_,"data-cx-placement":y,"aria-hidden":!x,...o,onKeyDown:w,ref:S},e.createElement(ia.Provider,{value:C},i?i.map(sa):t));return f?typeof window>`u`?null:h(T,f===!0?document.body:f):T}const la=X(ca,`MenuList`);function ua({children:t,className:n,component:r,...i},a){let o=r??`span`,s=m(`menu-text`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const da=X(ua,`MenuText`);function fa({children:t,className:n,component:r,onClick:i,onKeyDown:a,...o},c){let{hide:l,menuTriggerProps:u,reference:d,targetRef:p,toggleNodeRef:h,visible:g}=s(Gi),_=r??Wn,v=f(null),{buttonProps:x}=b({...u,elementType:_===Wn?`button`:`a`},v),S=f(!1),C=Z(c,e=>{v.current=e,h.current=e,d!==`parent`&&(p.current=e)}),w=e=>{S.current=e.pointerType!==`touch`&&g},T=e=>{e.preventDefault(),e.stopPropagation(),S.current&&(S.current=!1,l()),i?.(e)};return e.createElement(_,{..._===Wn?{type:`button`}:{},className:m(`caret`,{show:g},n),...y({onPointerDown:w},o,x,{onClick:T,onKeyDown:a}),ref:C},t)}const pa=X(fa,`MenuToggle`),ma=i(({children:t,activation:n=`both`,className:r,disabled:i,offset:a=[-4,0],placement:u,stacked:d,submenuDelay:g=100,trigger:_,...v},y)=>{let b=l(),x=`${b}-trigger`,S=`${b}-menu`,[C,w]=p(!1),[T,E]=p(!1),D=f(void 0),O=f(void 0),k=f(null),A=f(null),j=s(ia),M=aa(),{registerOverlay:N,visible:P}=s(Gi),{direction:F}=L(),I=F===`rtl`,R=u??(I?`left-start`:`right-start`),{overlayProps:z,placement:B}=H({targetRef:k,overlayRef:A,placement:Mt(R),offset:a[1],crossOffset:a[0],containerPadding:8,isOpen:C,onClose:null}),{menuStyle:V,placementAttr:ee}=Pt(z.style,R,B),U=o(()=>{D.current!==void 0&&(window.clearTimeout(D.current),D.current=void 0)},[]),W=o(()=>{O.current!==void 0&&(cancelAnimationFrame(O.current),O.current=void 0)},[]),G=o(()=>{U(),W(),w(!1)},[U,W]),te=()=>{i||C||(U(),j?.notifyOpen(b),w(!0))},K=()=>{U(),D.current=window.setTimeout(G,g)};c(()=>j?.register(b,G),[j,b,G]),c(()=>U,[U]),c(()=>W,[W]),c(()=>E(!0),[]),c(()=>{P||G()},[P,G]);let q=typeof window<`u`&&!!window.matchMedia&&window.matchMedia(`(hover: hover)`).matches&&(n===`hover`||n===`both`),J=n===`click`||n===`both`,Y=()=>{te(),W(),O.current=requestAnimationFrame(()=>{O.current=void 0,na(ta(A.current),`first`)})},ne=()=>{G(),k.current?.focus()},re=e=>{!J||i||(e.preventDefault(),e.stopPropagation(),C?G():Y())},ie=I?`ArrowLeft`:`ArrowRight`,ae=e=>{i||(e.key===`Enter`||e.key===` `||e.key===ie)&&(e.preventDefault(),e.stopPropagation(),Y())},oe={close:ne};return e.createElement(`div`,{className:m(`submenu`,{show:C},r),...v,ref:y},e.createElement(`button`,{type:`button`,id:x,role:`menuitem`,className:`menu-item`,"aria-expanded":C,"aria-haspopup":`true`,"aria-controls":C?S:void 0,disabled:i,onClick:re,onKeyDown:ae,onMouseEnter:q?te:void 0,onMouseLeave:q?K:void 0,ref:e=>{k.current=e}},_),(()=>{let n=e.createElement(`div`,{role:`menu`,id:S,"aria-labelledby":x,className:m(`menu`,{show:C,"submenu-stacked":d}),style:V,"data-cx-placement":ee,"aria-hidden":!C,onKeyDown:e=>ra(e,{onEscape:ne,...I?{onArrowRight:ne}:{onArrowLeft:ne}}),onMouseEnter:q?U:void 0,onMouseLeave:q?K:void 0,ref:e=>{A.current=e,N(S,e)}},e.createElement(oa.Provider,{value:oe},e.createElement(ia.Provider,{value:M},t)));return T&&!d?h(n,document.body):n})())});ma.displayName=`MenuSubmenu`;const ha=i(({children:t,className:n,onClick:r,type:i=`button`,...a},o)=>{let c=s(oa),l=e=>{r?.(e),c?.close()};return e.createElement(`button`,{type:i,role:`menuitem`,className:m(`submenu-back`,`menu-item`,n),...a,onClick:l,ref:o},t)});ha.displayName=`MenuSubmenuBack`;const ga=({span:e,offset:t,order:n},r)=>[typeof e==`number`||typeof e==`string`?`${r}col-${e}`:null,e===!0?`${r}col`:null,typeof t==`number`||typeof t==`string`?`${r}offset-${t}`:null,typeof n==`number`||typeof n==`string`?`${r}order-${n}`:null],_a=i(({children:t,className:n,span:r,offset:i,order:a,responsive:o,...s},c)=>{let l=jn(ga,{span:r,offset:i,order:a},o),u=m(r===void 0&&`col`,l,n);return e.createElement(`div`,{className:u,...s,ref:c},t)});_a.displayName=`Col`;function va({children:t,className:n,component:r,fluidUntil:i,fluid:a,...o},s){let c=r??`div`,l=m(`container`,a&&`fluid`,i,n);return e.createElement(c,{className:l,...o,ref:s},t)}const ya=X(va,`Container`),ba=new Set([`zero`,`4xsmall`,`3xsmall`,`2xsmall`,`xsmall`,`small`,`medium`,`large`,`xlarge`,`2xlarge`,`3xlarge`,`4xlarge`,`5xlarge`,`6xlarge`]),xa=e=>ba.has(e)?`var(--cx-space-${e})`:e;function Sa({children:t,className:n,component:r,columns:i,rows:a,gap:o,fill:s,style:c,...l},u){let d=r??`div`,f=m(s?`grid-fill`:`grid`,n),p={...c};return s?o!==void 0&&(p[`--cx-gap`]=xa(o)):(i!==void 0&&(p[`--cx-grid-columns`]=i),a!==void 0&&(p[`--cx-grid-rows`]=a),o!==void 0&&(p[`--cx-grid-gap`]=xa(o))),e.createElement(d,{className:f,style:p,...l,ref:u},t)}const Ca=X(Sa,`Grid`),wa=({span:e,start:t},n)=>[typeof e==`number`?`${n}g-col-${e}`:null,typeof t==`number`?`${n}g-start-${t}`:null];function Ta({children:t,className:n,component:r,span:i,start:a,responsive:o,subgrid:s,rows:c,gap:l,style:u,...d},f){let p=r??`div`,h=m(jn(wa,{span:i,start:a},o),s&&`grid grid-cols-subgrid`,n),g={...u};return s&&(c!==void 0&&(g[`--cx-grid-rows`]=c),l!==void 0&&(g[`--cx-grid-gap`]=xa(l))),e.createElement(p,{className:h,style:g,...d,ref:f},t)}const Ea=X(Ta,`GridItem`),Da=({cols:e,gutter:t,gutterX:n,gutterY:r},i)=>[e?`${i}row-cols-${e}`:null,Nn(`g`,t,i),Nn(`gx`,n,i),Nn(`gy`,r,i)],Oa=i(({children:t,className:n,cols:r,gutter:i,gutterX:a,gutterY:o,responsive:s,...c},l)=>{let u=m(`row`,jn(Da,{cols:r,gutter:i,gutterX:a,gutterY:o},s),n);return e.createElement(`div`,{className:u,...c,ref:l},t)});Oa.displayName=`Row`;const ka=r(null),Aa=({button:t,className:n,color:r,input:i,invalid:a,label:o,size:s,valid:c})=>{if(t){let r=m(`button`,`button-check`,t.color,t.variant,t.size,t.shape,$(a,c),n);return e.createElement(sn,{customClassName:r},i,o)}let l=m(`check-input`,r,$(a,c));if(!o)return e.createElement(`span`,{className:l},i);let u=m(`form-check`,s,$(a,c),n);return e.createElement(sn,{customClassName:u},e.createElement(`span`,{className:l},i),o)},ja=i(({button:t,className:n,color:r,defaultSelected:i,disabled:a,id:o,indeterminate:s,invalid:c,isSelected:l,label:u,onChange:d,size:p,valid:h,...g},_)=>{let v=f(null),y=Z(_,v),b=ze({defaultSelected:i,isDisabled:a,isSelected:l,onChange:d}),{inputProps:x}=w({...g,children:u,isDisabled:a,isIndeterminate:s,isInvalid:c,value:g.value},b,v),S=m($(c,h));return Aa({button:t,className:n,color:r,input:e.createElement(`input`,{...x,className:S,id:o,ref:y}),invalid:c,label:u,size:p,valid:h})});ja.displayName=`CheckboxStandalone`;const Ma=i(({button:t,className:n,color:r,defaultSelected:i,disabled:a,groupState:o,groupValid:s,id:l,indeterminate:u,invalid:d,isSelected:p,label:h,onChange:g,size:_,valid:v,...y},b)=>{let x=d??o.isInvalid,S=v??s,C=f(null),w=Z(b,C);c(()=>{y.value||console.error("Checkbox: a `value` prop is required when rendered inside a CheckboxGroup."),(i!==void 0||p!==void 0||g!==void 0)&&console.warn("Checkbox: `defaultSelected`, `isSelected`, and `onChange` are ignored inside a CheckboxGroup — selection is owned by the group's `value`/`defaultValue`/`onChange`.")},[]);let{inputProps:T}=E({...y,children:h,isDisabled:a,isIndeterminate:u,isInvalid:x,value:y.value},o,C),D=m($(x,S));return Aa({button:t,className:n,color:r,input:e.createElement(`input`,{...T,className:D,id:l,ref:w}),invalid:x,label:h,size:_,valid:S})});Ma.displayName=`CheckboxGroupItem`;const Na=i((t,n)=>{let r=s(ka);return r?e.createElement(Ma,{...t,groupState:r.state,groupValid:r.valid,ref:n}):e.createElement(ja,{...t,ref:n})});Na.displayName=`Checkbox`;const Pa=({direction:e,wrap:t,justify:n,align:r,alignContent:i,gap:a,rowGap:o,columnGap:s},c)=>[e&&`${c}flex-${e}`,t&&`${c}flex-${t}`,n&&`${c}justify-content-${n}`,r&&`${c}align-items-${r}`,i&&`${c}align-content-${i}`,Nn(`gap`,a,c),Nn(`row-gap`,o,c),Nn(`column-gap`,s,c)];function Fa({children:t,className:n,component:r,inline:i,direction:a,wrap:o,justify:s,align:c,alignContent:l,gap:u,rowGap:d,columnGap:f,responsive:p,...h},g){let _=r??`div`,v=m(i?`d-inline-flex`:`d-flex`,jn(Pa,{direction:a,wrap:o,justify:s,align:c,alignContent:l,gap:u,rowGap:d,columnGap:f},p),n);return e.createElement(_,{className:v,...h,ref:g},t)}const Ia=X(Fa,`Flex`),La=i(({children:t,className:n,defaultValue:r,description:i,disabled:a,errorMessage:o,invalid:s,label:c,name:l,onChange:u,orientation:d,required:f,valid:p,value:h,...g},_)=>{let v={...g,defaultValue:r,description:i,errorMessage:o,isDisabled:a,isInvalid:s,isRequired:f,label:c,name:l,onChange:u,value:h},y=Ee(v),{groupProps:b,labelProps:x,descriptionProps:S,errorMessageProps:C}=T(v,y),w=m(`form-field`,$(s,p),n),E=e.createElement(ka.Provider,{value:{state:y,valid:p}},t);return e.createElement(`fieldset`,{...g,...b,className:w,ref:_},c&&e.createElement(`legend`,{className:`form-label`,...x},c),d===`horizontal`?e.createElement(Ia,{gap:`medium`},E):E,i&&e.createElement(on,S,i),s&&o&&e.createElement(rn,{invalid:!0,...C},o))});La.displayName=`CheckboxGroup`;const Ra=i(({children:t,className:n,validated:r,...i},a)=>{let o=m({"was-validated":r},n);return e.createElement(`form`,{className:o,...i,ref:a},t)});Ra.displayName=`Form`;const za=i(({children:t,className:n,help:r,ids:i,invalid:a,invalidFeedback:o,label:s,valid:c,validFeedback:l,...u},d)=>(!i?.input&&!i?.label&&console.warn("FloatingInput: `ids.input`/`ids.label` are not set — the rendered label won't be associated with your control (no `htmlFor`, no `aria-labelledby` target). Pass `ids={{ input: yourControlId }}` (or `ids.label` for a group with no single input) so the label has something to point at."),Q({children:e.createElement(`div`,{className:m(`form-floating`,n),...u,ref:d},e.createElement(sn,{htmlFor:i?.input,id:i?.label},s),t),help:r,ids:{feedback:i?.feedback,help:i?.help},invalid:a,invalidFeedback:o,valid:c,validFeedback:l})));za.displayName=`FloatingInput`;const Ba=({children:e,className:t,help:n,ids:r,invalid:i,invalidFeedback:a,label:o,valid:s,validFeedback:c})=>(o&&!r?.input&&!r?.label&&console.warn("FormField: `label` is set but `ids.input`/`ids.label` are not — the rendered label won't be associated with your control (no `htmlFor`, no `aria-labelledby` target). Pass `ids={{ input: yourControlId }}` (or `ids.label` for a group with no single input) so the label has something to point at."),Q({children:e,className:t,help:n,ids:r,invalid:i,invalidFeedback:a,label:o,valid:s,validFeedback:c}));Ba.displayName=`FormField`;function Va({children:t,className:n,component:r,size:i,...a},o){let s=r??`div`,c=m(`input-group`,i,n);return e.createElement(s,{className:c,...a,ref:o},t)}const Ha=X(Va,`InputGroup`);function Ua({children:t,className:n,component:r,...i},a){let o=r??`span`,s=m(`input-addon`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Wa=X(Ua,`InputGroupAddon`);function Ga({children:t,className:n,component:r,onMouseDown:i,...a},o){let s=r??`span`,c=m(`input-adorn`,n);return e.createElement(s,{className:c,onMouseDown:e=>{i?.(e),e.defaultPrevented||e.preventDefault()},...a,ref:o},t)}const Ka=X(Ga,`InputAdorn`),qa=r(null),Ja=i(({button:t,className:n,color:r,disabled:i,id:a,label:o,size:c,...l},u)=>{let d=s(qa);if(!d)throw Error(`Radio must be rendered inside a RadioGroup.`);let{state:p,valid:h}=d,g=p.isInvalid,_=f(null),v=Z(u,_),{inputProps:y}=G({...l,children:o,isDisabled:i},p,_),b=m($(g,h));return Aa({button:t,className:n,color:r,input:e.createElement(`input`,{...y,className:b,id:a,ref:v}),invalid:g,label:o,size:c,valid:h})});Ja.displayName=`Radio`;const Ya=i(({children:t,className:n,defaultValue:r,description:i,disabled:a,errorMessage:o,invalid:s,label:c,name:l,onChange:u,orientation:d,required:f,valid:p,value:h,...g},_)=>{let v={...g,defaultValue:r,description:i,errorMessage:o,isDisabled:a,isInvalid:s,isRequired:f,label:c,name:l,onChange:u,orientation:d,value:h},y=Pe(v),{radioGroupProps:b,labelProps:x,descriptionProps:S,errorMessageProps:C}=te(v,y),w=m(`form-field`,$(s,p),n),T=e.createElement(qa.Provider,{value:{state:y,valid:p}},t);return e.createElement(`fieldset`,{...g,...b,className:w,ref:_},c&&e.createElement(`legend`,{className:`form-label`,...x},c),d===`horizontal`?e.createElement(Ia,{gap:`medium`},T):T,i&&e.createElement(on,S,i),s&&o&&e.createElement(rn,{invalid:!0,...C},o))});Ya.displayName=`RadioGroup`;const Xa=i(({className:t,help:n,id:r,invalid:i,invalidFeedback:a,label:o,valid:s,validFeedback:c,...l},u)=>{let{describedBy:d,feedbackId:f,helpId:p,inputId:h}=Tt({ariaDescribedBy:l[`aria-describedby`],help:n,id:r,invalid:i,invalidFeedback:a,valid:s,validFeedback:c}),g=m(`form-range`,$(i,s),t);return Q({children:e.createElement(`input`,{...l,"aria-describedby":d,"aria-invalid":i||void 0,className:g,id:h,ref:u,type:`range`}),help:n,ids:{feedback:f,help:p,input:h},invalid:i,invalidFeedback:a,label:o,valid:s,validFeedback:c})});Xa.displayName=`RangeInput`;const Za=i(({adornEnd:t,adornStart:n,children:r,className:i,help:a,htmlSize:o,id:s,invalid:c,invalidFeedback:l,label:u,multiple:d,options:p,placeholder:h,size:g,valid:_,validFeedback:v,...y},b)=>{let x=f(null),S=Z(b,x),C=Array.isArray(p)?p.filter(e=>typeof e==`object`&&!!e.selected).map(e=>String(e.value??``)):[];!d&&C.length>1&&console.warn("Select: more than one option has `selected: true` but `multiple` is not set — only the last one will be selected, matching native <select> behavior.");let w=C.length&&y.value===void 0&&y.defaultValue===void 0?d?C:C[C.length-1]:void 0,{describedBy:T,feedbackId:E,helpId:D,inputId:O}=Tt({ariaDescribedBy:y[`aria-describedby`],help:a,id:s,invalid:c,invalidFeedback:l,valid:_,validFeedback:v}),k=n!=null||t!=null,A=!d&&(!o||o<=1),j=m(k?`ghost-input`:`form-input`,!k&&g,$(c,_),!k&&i),M=e=>{let t=x.current,n=e.target;if(!(!t||t.disabled||!A||n===t||n.closest(`button, a`))){t.focus();try{t.showPicker?.()}catch{}}},N=e.createElement(`select`,{...y,"aria-describedby":T,"aria-invalid":c||void 0,className:j,id:O,multiple:d,ref:S,size:o,...w!==void 0&&{defaultValue:w}},h&&e.createElement(`option`,{value:``,disabled:!0},h),p?p.map((t,n)=>e.createElement(`option`,{...typeof t==`object`&&t.disabled&&{disabled:t.disabled},...typeof t==`object`&&t.value!=null&&{value:t.value},key:n},typeof t==`string`?t:t.label??String(t.value??``))):r),P=k?e.createElement(`div`,{className:m(`form-input`,A&&`form-caret`,g,i),onClick:M},n,N,t):N;return Q({children:P,help:a,ids:{feedback:E,help:D,input:O},invalid:c,invalidFeedback:l,label:u,valid:_,validFeedback:v})});Za.displayName=`Select`;const Qa=({checkInputClassName:t,className:n,input:r,label:i})=>i?e.createElement(sn,{customClassName:n},e.createElement(`span`,{className:t},r),i):e.createElement(`span`,{className:t},r),$a=({className:t,color:n,forkedRef:r,id:i,inputProps:a,invalid:o,label:s,size:c,valid:l})=>{let u=m($(o,l)),d=m(`check-input`,n,$(o,l)),f=m(`form-check form-switch`,c,$(o,l),t);return Qa({checkInputClassName:d,className:f,input:e.createElement(`input`,{...a,className:u,id:i,ref:r}),label:s})},eo=i(({className:e,color:t,defaultSelected:n,disabled:r,id:i,invalid:a,isSelected:o,label:s,onChange:c,size:l,valid:u,...d},p)=>{let m=f(null),h=Z(p,m),g=ze({defaultSelected:n,isDisabled:r,isSelected:o,onChange:c}),{inputProps:_}=q({...d,children:s,isDisabled:r,isInvalid:a,value:d.value},g,m);return $a({className:e,color:t,forkedRef:h,id:i,inputProps:_,invalid:a,label:s,size:l,valid:u})});eo.displayName=`SwitchCheckbox`;const to=i(({className:e,color:t,defaultSelected:n,disabled:r,id:i,invalid:a,isSelected:o,label:s,onChange:c,size:l,valid:u,...d},p)=>{let m=Z(p,f(null)),h={...d,"aria-invalid":a,checked:o,defaultChecked:n,disabled:r,onChange:c?e=>c(e.target.checked):void 0,role:`switch`,type:`radio`};return $a({className:e,color:t,forkedRef:m,id:i,inputProps:h,invalid:a,label:s,size:l,valid:u})});to.displayName=`SwitchRadio`;const no=i(({type:t=`checkbox`,...n},r)=>t===`radio`?e.createElement(to,{...n,ref:r}):e.createElement(eo,{...n,ref:r}));no.displayName=`Switch`;const ro=i(({adornEnd:t,adornStart:n,className:r,disabled:i,help:a,id:o,invalid:s,invalidFeedback:c,label:l,plainText:u,readOnly:d,size:p,type:h=`text`,valid:g,validFeedback:_,...v},y)=>{let b=f(null),x=Z(y,b),{describedBy:S,feedbackId:C,helpId:w,inputId:T,labelId:E,labelledBy:D}=Tt({ariaDescribedBy:v[`aria-describedby`],ariaLabelledBy:v[`aria-labelledby`],help:a,id:o,invalid:s,invalidFeedback:c,label:l,valid:g,validFeedback:_}),{inputProps:O}=pe({...v,"aria-describedby":S,"aria-labelledby":D,id:T,isDisabled:i,isInvalid:s,isReadOnly:d,type:h},b),k=n!=null||t!=null,A=m(k?`ghost-input`:`form-input`,!k&&u&&`plaintext`,!k&&p,$(s,g),!k&&r),j=e.createElement(`input`,{...O,className:A,ref:x}),M=k?e.createElement(`div`,{className:m(`form-input`,u&&`plaintext`,p,r)},n,j,t):j;return Q({children:M,help:a,ids:{feedback:C,help:w,input:T,label:E},invalid:s,invalidFeedback:c,label:l,valid:g,validFeedback:_})});ro.displayName=`TextInput`;const io=i(({className:t,disabled:n,help:r,id:i,invalid:a,invalidFeedback:o,label:s,plainText:c,readOnly:l,rows:u,size:d,valid:p,validFeedback:h,...g},_)=>{let v=f(null),y=Z(_,v),{describedBy:b,feedbackId:x,helpId:S,inputId:C,labelId:w,labelledBy:T}=Tt({ariaDescribedBy:g[`aria-describedby`],ariaLabelledBy:g[`aria-labelledby`],help:r,id:i,invalid:a,invalidFeedback:o,label:s,valid:p,validFeedback:h}),{inputProps:E}=pe({...g,"aria-describedby":b,"aria-labelledby":T,id:C,inputElementType:`textarea`,isDisabled:n,isInvalid:a,isReadOnly:l},v),D=m(`form-input`,c&&`plaintext`,d,$(a,p),t);return Q({children:e.createElement(`textarea`,{...E,rows:u,className:D,ref:y}),help:r,ids:{feedback:x,help:S,input:C,label:w},invalid:a,invalidFeedback:o,label:s,valid:p,validFeedback:h})});io.displayName=`Textarea`;const ao=e=>[e===`start`||e===`end`?`float-${e}`:null,e===`center`?`d-block mx-auto`:null];function oo({align:t,alt:n,className:r,color:i,component:a,fluid:o,height:s,rounded:c,src:l,text:u,thumbnail:d,title:f=`Placeholder`,variant:p,width:h,...g},_){let v=f!==!1,y=u===!1?void 0:u??(h!==void 0&&s!==void 0?`${h}x${s}`:void 0),b=y!==void 0,x=[v&&f,b&&y].filter(Boolean).join(`: `)||void 0;if(l){let i=a??`img`,u=m({image:o||d,fluid:o,rounded:c,thumbnail:d},ao(t),r);return e.createElement(i,{src:l,width:h,height:s,alt:n??x??``,className:u,...g,ref:_})}let S=m(`image`,{context:!!(i||p)},i,p||`bg-evident`,`fg-subtle`,r);return e.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:h,height:s,"aria-label":x,"aria-hidden":!x||void 0,className:S,preserveAspectRatio:`xMidYMid slice`,role:x?`img`:void 0,...g,ref:_},v&&e.createElement(`title`,null,f),b&&e.createElement(`text`,{dy:`.3em`,fill:`currentColor`,textAnchor:`middle`,x:`50%`,y:`50%`},y))}const so=X(oo,`Placeholder`);function co({children:t,active:n,className:r,disabled:i,color:a,component:o,...s},c){let l=o??`li`,u=l===`a`||l===`button`,d=m(`list-item`,a&&`context`,a,{"list-action":u,active:n,disabled:i},r),f=u?mn:l,p={...u&&{active:n,disabled:i,component:l},...n&&{"aria-current":`page`},...i&&{"aria-disabled":!0},...s};return e.createElement(f,{className:d,...p,ref:c},t)}const lo=X(co,`ListItem`);function uo({children:n,className:r,component:i,color:o,variant:s,flush:c,items:l,layout:u,numbered:d,plain:f,...p},h){let g=l?l.some(e=>!!e.href):t.toArray(n).some(e=>a(e)&&e.type===lo&&(e.props.component===`a`||e.props.component===`button`)),_=i??(g?`div`:`ul`),v=_===`ul`||_===`ol`,y=m(`list`,o&&`context`,o,s,u,{flush:c,plain:f,numbered:d},r),b=(l?l.map((t,n)=>{let r=m(`list-item`,t.color&&`context`,t.color,{"list-action":!!t.href,active:t.active,disabled:t.disabled}),i=t.href?`a`:v?`li`:`div`;return e.createElement(i,{key:t.id??n,className:r,...t.href?{href:t.href}:{},...t.active?{"aria-current":`page`}:{},...t.disabled?{"aria-disabled":!0}:{}},t.label)}):null)??(v?n:t.map(n,t=>a(t)&&t.type===lo?e.cloneElement(t,{component:t.props.component??`div`}):t));return e.createElement(_,{className:y,...p,ref:h},b)}const fo=X(uo,`List`);function po({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`modal-body`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const mo=X(po,`ModalBody`);function ho({children:t,className:n,component:r,stacked:i,...a},o){let s=r??`div`,c=m(`modal-footer`,{stacked:i},n);return e.createElement(s,{className:c,...a,ref:o},t)}const go=X(ho,`ModalFooter`);function _o({children:t,className:n,closeButton:r=!0,closeLabel:i,component:a,...o},s){let c=a??`div`,{close:l}=Ot(),u=m(`modal-header`,n);return e.createElement(c,{className:u,...o,ref:s},t,r&&e.createElement(Cn,{label:i,onClick:l}))}const vo=X(_o,`ModalHeader`);function yo({children:t,component:n,className:r,id:i,...a},o){let{titleId:s}=Ot(),c=n??`h2`,l=m(`modal-title`,r);return e.createElement(c,{className:l,id:i??s,...a,ref:o},t)}const bo=X(yo,`ModalTitle`);function xo({children:t,className:n,...r},i){let a=m(`nav-link`,n);return e.createElement(mn,{className:a,...r,ref:i},t)}const So=X(xo,`NavLink`);function Co({children:t,className:n,...r},i){let a=m(`nav-item`,n),{href:o}=r;return o?e.createElement(`li`,{className:a,ref:i},e.createElement(So,r,t)):e.createElement(`li`,{className:a,...r,ref:i},t)}const wo=i(Co);wo.displayName=`NavItem`;function To({children:t,className:n,component:r,items:i,layout:a,variant:o,...s},c){let l=r??`ul`,u=m(`nav`,{[`nav-${a}`]:a,[`nav-${o}`]:o},n),d=i?i.map((t,n)=>e.createElement(wo,{key:n,active:t.active,disabled:t.disabled,href:t.href},t.label)):null;return e.createElement(l,{className:u,role:`navigation`,...s,ref:c},d??t)}const Eo=X(To,`Nav`),Do=i(({children:t,className:n,...r},i)=>{let a=m(`nav-title`,n);return e.createElement(`li`,{className:a,...r,ref:i},t)});Do.displayName=`NavTitle`;function Oo({children:t,className:n,color:r,component:i,container:a,expand:o,placement:s,translucent:c,variant:l,...u},d){let f=i??`nav`,p=m(`navbar`,r,{context:!!r,solid:l===`solid`,smooth:l===`smooth`,outline:l===`outline`,translucent:c,[typeof o==`boolean`?`navbar-expand`:`${o}:navbar-expand`]:o},s,n),h;return h=a?e.createElement(`div`,{className:`container${a===!0?``:`-`+a}`},t):t,e.createElement(f,{className:p,...u,ref:d},h)}const ko=X(Oo,`Navbar`);function Ao({children:t,component:n,className:r,href:i,...a},o){let s=n??(i?`a`:`span`),c=m(`navbar-brand`,r);return e.createElement(s,{className:c,href:i,...a,ref:o},t)}const jo=X(Ao,`NavbarBrand`);function Mo({children:t,component:n,className:r,...i},a){let o=n??`ul`,s=m(`navbar-nav`,r);return e.createElement(o,{className:s,...i,ref:a},t)}const No=X(Mo,`NavbarNav`);function Po({children:t,className:n,component:r,...i},a){let o=r??`span`,s=m(`navbar-text`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Fo=X(Po,`NavbarText`),Io=i(({children:t,className:n,label:r=`Toggle navigation`,...i},a)=>{let o=m(`button icon-only navbar-toggler`,n);return e.createElement(`button`,{type:`button`,className:o,...i,ref:a},t??e.createElement(e.Fragment,null,e.createElement(Ut,{name:`bars-outline`,className:`navbar-toggler-icon`}),e.createElement(`span`,{className:`visually-hidden`},r)))});Io.displayName=`NavbarToggler`;function Lo({active:t,children:n,className:r,component:i,disabled:a,href:o,onClick:s,...c},l){let u=m(`pagination-item`,{active:t,disabled:a},r),d=i??(t?`span`:o?`a`:`button`),f=e=>{if(d===`a`&&a){e.preventDefault();return}s?.(e)},p=d!==`button`&&d!==`a`&&!!s,{buttonProps:h,forkedRef:g}=ut(l,{disabled:a,onClick:s});return e.createElement(`li`,{className:u,...t&&{"aria-current":`page`}},d===`button`?e.createElement(`button`,{...c,className:`pagination-link`,type:`button`,disabled:a,onClick:f,ref:l},n):d===`a`?e.createElement(`a`,{...c,className:`pagination-link`,href:o,onClick:f,...a&&{"aria-disabled":!0,tabIndex:-1},ref:l},n):e.createElement(d,{className:`pagination-link`,...y(c,p?h:{}),...!p&&{onClick:f},ref:p?g:l},n))}const Ro=X(Lo,`PaginationItem`);function zo(e,t,n){let r=Math.max(1,n);if(t<=r)return Array.from({length:t},(e,t)=>t+1);let i=Math.floor(r/2),a=Math.max(1,e-i),o=Math.min(t,a+r-1);o-a<r-1&&(a=Math.max(1,o-r+1));let s=[];a>1&&(s.push(1),a>2&&s.push(`...`));for(let e=a;e<=o;e++)s.push(e);return o<t&&(o<t-1&&s.push(`...`),s.push(t)),s}const Bo=i(({activePage:t=1,align:n,"aria-label":r=`Pagination`,children:i,className:a,maxVisiblePages:o=5,nextLabel:s=`Next`,onActivePageChange:c,pages:l,previousLabel:u=`Previous`,showPageNumbers:d=!0,showPrevNext:f=!0,size:p,...h},g)=>{let _=m(`pagination`,p,{[`justify-content-${n}`]:n},a),v=l?Math.min(Math.max(t,1),l):t,y=l?v<=1:!1,b=l?v>=l:!1,{prevRef:x,nextRef:S,handlePrevClick:C,handleNextClick:w}=Rt({prevDisabled:y,nextDisabled:b,onPrev:()=>c&&c(v-1),onNext:()=>c&&c(v+1)}),T=l?e.createElement(e.Fragment,null,f&&e.createElement(Ro,{ref:x,disabled:y,onClick:C,"aria-label":u},e.createElement(Ut,{name:`chevron-left-solid`,className:`directional-icon`})),d&&zo(v,l,o).map((t,n)=>t===`...`?e.createElement(Ro,{key:`ellipsis-${n}`,disabled:!0,component:`span`,"aria-hidden":`true`},`…`):e.createElement(Ro,{key:t,active:t===v,onClick:()=>c&&c(t)},t)),f&&e.createElement(Ro,{ref:S,disabled:b,onClick:w,"aria-label":s},e.createElement(Ut,{name:`chevron-right-solid`,className:`directional-icon`}))):null;return e.createElement(`nav`,{"aria-label":r,ref:g,...h},e.createElement(`ul`,{className:_},T??i))});Bo.displayName=`Pagination`;const Vo=({arrowProps:t,content:n,overlayRef:r,overlayTriggerProps:i,title:a,...o})=>{let{dialogProps:s,titleProps:c}=N({},r);return e.createElement(`div`,{...y(i,s,o),ref:r},e.createElement(`div`,{className:`popover-arrow`,...t,style:Ct(t)}),a&&e.createElement(`div`,{className:`popover-header`,...c},a),e.createElement(`div`,{className:`popover-body`},n))},Ho=({children:t,content:n,placement:r=`right`,offset:i=[0,8],onHide:a,onShow:o,title:s,visible:l,...u})=>{let d=f(null),p=f(null),g=f(null),_=Ne({defaultOpen:!!l}),{triggerProps:{onPress:v,...y},overlayProps:b}=U({type:`dialog`},_,p),x=St({close:_.close,isOpen:_.isOpen,open:_.open,onHide:a,onShow:o,triggerRef:p,visible:l});c(()=>{if(!_.isOpen)return;let e=e=>{e.key===`Escape`&&_.close()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_.isOpen,_.close]),c(()=>{if(!_.isOpen)return;let e=e=>{let t=e.target;p.current?.contains(t)||g.current?.contains(t)||_.close()},t=window.setTimeout(()=>{window.addEventListener(`click`,e)});return()=>{window.clearTimeout(t),window.removeEventListener(`click`,e)}},[_.isOpen,_.close]);let{overlayProps:S,arrowProps:C,placement:w}=H({targetRef:p,overlayRef:g,placement:Mt(r),offset:i[1],crossOffset:i[0],arrowSize:8,arrowRef:d,isOpen:_.isOpen,onClose:null}),T={position:S.style?.position,top:S.style?.top,left:S.style?.left},E=Nt(r,w);return e.createElement(e.Fragment,null,e.cloneElement(t,{ref:e=>{p.current=e},...y,onClick:e=>{t.props.onClick?.(e),_.toggle()}}),typeof window<`u`&&h(e.createElement(He,{in:_.isOpen,mountOnEnter:!0,nodeRef:g,onExited:()=>{let e=p.current;e&&document.contains(e)&&e.focus()},timeout:{enter:0,exit:200},unmountOnExit:!0},t=>{let r=wt(t);return e.createElement(Vo,{className:m(`popover cx-popover-auto`,r),"data-cx-placement":E,style:T,overlayTriggerProps:b,overlayRef:g,arrowProps:C,title:s,content:n,...u})}),x??document.body))};Ho.displayName=`Popover`;function Uo({children:t,animated:n,className:r,color:i,component:a,striped:o,style:s,value:c=0,...l},u){let d=a??`div`,f=Math.min(100,Math.max(0,c)),p=m(`progress-bar`,i&&`bg-${i} fg-contrast`,{striped:o,animated:n},r);return e.createElement(d,{...l,className:p,style:{width:`${f}%`,...s},ref:u},e.createElement(`span`,{className:`mx-2xsmall`},t))}const Wo=X(Uo,`ProgressBar`);function Go({"aria-label":t,animated:n,children:r,className:i,color:a,component:o,height:s,inlineValue:c,label:u,showValue:d,striped:f,style:p,value:h=0,...g},_){let v=o??`div`,y=m(`progress`,i),b=Math.min(100,Math.max(0,h)),x=r===void 0?c?`${b}%`:void 0:r,S=!!(u||d),C=l(),w=u!=null&&typeof u!=`string`,T={...p};s!==void 0&&(T[`--cx-height`]=`${s}px`);let E=e.createElement(v,{...g,className:y,role:`progressbar`,"aria-valuenow":b,"aria-valuemin":0,"aria-valuemax":100,"aria-label":t??(typeof u==`string`?u:void 0),"aria-labelledby":!t&&w?C:void 0,style:T,ref:_},e.createElement(Wo,{animated:n,color:a,striped:f,value:b},x));return S?e.createElement(`div`,{className:`d-flex flex-column gap-xsmall`},e.createElement(`div`,{className:m(`d-flex`,u?`justify-content-between`:`justify-content-end`)},u?e.createElement(`span`,{className:`font-strong`,id:w?C:void 0},u):null,d?e.createElement(`span`,{className:`font-strong`},b,`%`):null),E):E}const Ko=X(Go,`Progress`);function qo({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`drawer-body`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Jo=X(qo,`DrawerBody`);function Yo({children:t,className:n,component:r,stacked:i,...a},o){let s=r??`div`,c=m(`drawer-footer`,{stacked:i},n);return e.createElement(s,{className:c,...a,ref:o},t)}const Xo=X(Yo,`DrawerFooter`);function Zo({children:t,className:n,closeButton:r=!0,closeLabel:i,component:a,...o},s){let c=a??`div`,{close:l}=xt(),u=m(`drawer-header`,n);return e.createElement(c,{className:u,...o,ref:s},t,r&&e.createElement(Cn,{label:i,onClick:l}))}const Qo=X(Zo,`DrawerHeader`);function $o({children:t,component:n,className:r,id:i,...a},o){let{titleId:s}=xt(),c=n??`h2`,l=m(`drawer-title`,r);return e.createElement(c,{className:l,id:i??s,...a,ref:o},t)}const es=X($o,`DrawerTitle`),ts=(e,t)=>[typeof e==`number`||typeof e==`string`?`${t}col-${e}`:null,e===!0?`${t}col`:null];function ns({children:t,animation:n,className:r,color:i,component:a,span:o,responsive:s,...c},l){let u=a??`span`,d=m(`skeleton`,n&&`skeleton-${n}`,{[`bg-${i}`]:i},jn(ts,o,s),r);return e.createElement(u,{className:d,...c,ref:l},t)}const rs=X(ns,`Skeleton`);function is({children:t,color:r,component:i,loading:a,spans:o,...s}){if(!a)return e.createElement(e.Fragment,null,t);let c=o===void 0?[void 0]:Array.isArray(o)?o:[o];return e.createElement(e.Fragment,null,c.map((t,a)=>e.createElement(n,{key:a},a>0&&` `,e.createElement(rs,{component:i,span:t,color:r,...s}))))}const as=is;as.displayName=`SkeletonLoader`;function os({className:t,color:n,component:r,size:i,variant:a=`border`,visuallyHiddenLabel:o=`Loading...`,...s},c){let l=r??`div`,u=m(`spinner-${a}`,n?`fg-${n}`:null,i&&`spinner-${a}-${i}`,t);return e.createElement(l,{className:u,role:`status`,...s,ref:c},e.createElement(`span`,{className:`visually-hidden`},o))}const ss=X(os,`Spinner`);function cs({active:t,children:n,className:r,color:i,component:a,href:o,...s},c){let l=a??`li`,u=m(`stepper-item`,i&&`context`,i,{active:t},r),d={...o?{href:o}:{},...t?{"aria-current":`step`}:{},...s};return e.createElement(l,{className:u,...d,ref:c},n)}const ls=X(cs,`StepperItem`);function us({children:n,className:r,component:i,color:o,icon:s,items:c,layout:l,overflow:u,...d},f){let p=c?c.some(e=>!!e.href):t.toArray(n).some(e=>a(e)&&e.type===ls&&(e.props.component===`a`||e.props.component===`button`)),h=i??(p?`div`:`ol`),g=h===`ol`||h===`ul`,_=m(`stepper`,o&&`context`,o,l,{"icon-stepper":s},r),v=(c?c.map((t,n)=>e.createElement(ls,{key:n,active:t.active,color:t.color,component:t.href?`a`:g?`li`:`div`,href:t.href},t.label)):null)??(g?n:t.map(n,t=>a(t)&&t.type===ls?e.cloneElement(t,{component:t.props.component??`div`}):t)),y=e.createElement(h,{className:_,...d,ref:f},v);return u?e.createElement(`div`,{className:`stepper-overflow`},y):y}const ds=X(us,`Stepper`),fs=i(({align:t,bordered:n,borderless:r,caption:i,children:a,className:o,color:s,disabledKeys:c,footer:l,hover:u,id:d,onSelectionChange:p,onSortChange:h,responsive:g,selectedKeys:_,selectionMode:v=`none`,small:y,sortDescriptor:b,stacked:x,striped:S,...C},w)=>{let T=Le({children:a,disabledKeys:c,onSelectionChange:p,onSortChange:h,selectedKeys:_,selectionMode:v,showSelectionCheckboxes:v===`multiple`,sortDescriptor:b}),E=f(null),D=Z(E,w),{gridProps:O}=re({"aria-label":C[`aria-label`],"aria-labelledby":C[`aria-labelledby`],id:d},T,E),k=m(`table`,s,{[`align-${t}`]:t,bordered:n,borderless:r,hoverable:u,small:y,stacked:x===!0,striped:S},typeof x==`string`?`max-${x}:stacked`:void 0,o),A=e.createElement(`table`,{...O,className:k||void 0,ref:D},i&&e.createElement(`caption`,null,i),e.createElement(ps,{className:a[0].props.className,type:`thead`},T.collection.headerRows.map(t=>e.createElement(ms,{key:t.key,item:t,state:T},[...T.collection.getChildren?.(t.key)??[]].map(t=>t.props?.isSelectionCell?e.createElement(gs,{key:t.key,column:t,state:T}):e.createElement(hs,{key:t.key,column:t,state:T}))))),e.createElement(ps,{className:a[1].props.className,type:`tbody`},[...T.collection.body.childNodes].map(t=>e.createElement(_s,{key:t.key,item:t,state:T},[...T.collection.getChildren?.(t.key)??[]].map(t=>t.props?.isSelectionCell?e.createElement(ys,{key:t.key,cell:t,state:T}):e.createElement(vs,{key:t.key,cell:t,stacked:!!x,state:T}))))),l&&e.createElement(`tfoot`,null,l));if(!g&&!x)return A;let j=g?typeof g==`boolean`?`table-responsive`:`max-${g}:table-responsive`:`table-responsive`;return e.createElement(`div`,{className:j},A)});fs.displayName=`Table`;const ps=({className:t,type:n,children:r})=>{let{rowGroupProps:i}=ce();return e.createElement(n,{...i,className:t||void 0},r)},ms=({children:t,item:n,state:r})=>{let i=f(null),{rowProps:a}=oe({node:n},r,i);return e.createElement(`tr`,{...a,ref:i},t)},hs=({column:t,state:n})=>{let r=f(null),{columnHeaderProps:i}=ae({node:t},n,r),a=n.sortDescriptor?.column===t.key,o=n.sortDescriptor?.direction===`ascending`?`▲`:`▼`;return e.createElement(`th`,{...i,className:t.props?.className||void 0,colSpan:t.colSpan??void 0,ref:r},t.rendered,t.props?.allowsSorting&&e.createElement(`span`,{"aria-hidden":`true`,className:`table-sort-icon`},a?o:`⇅`))},gs=({column:t,state:n})=>{let r=f(null),{columnHeaderProps:i}=ae({node:t},n,r),{checkboxProps:a}=le(n);return e.createElement(`th`,{...i,className:`table-selection-cell`,ref:r},e.createElement(bs,{checkboxProps:a}))},_s=({children:t,item:n,state:r})=>{let i=f(null),{rowProps:a}=se({node:n},r,i),o=r.selectionManager.isSelected(n.key);return e.createElement(`tr`,{...a,className:m({active:o},n.props?.className),ref:i},t)},vs=({cell:t,stacked:n,state:r})=>{let i=f(null),{gridCellProps:a}=ie({node:t},r,i);return e.createElement(`td`,{...a,className:t.props?.className||void 0,"data-cell":n&&t.column?.textValue||void 0,ref:i},t.rendered)},ys=({cell:t,state:n})=>{let r=f(null),{gridCellProps:i}=ie({node:t},n,r),{checkboxProps:a}=ue({key:t.parentKey},n);return e.createElement(`td`,{...i,className:`table-selection-cell`,ref:r},e.createElement(bs,{checkboxProps:a}))},bs=({checkboxProps:t})=>{let n=ze(t),r=f(null),{inputProps:i}=w(t,n,r);return e.createElement(`input`,{...i,className:`check-input`,ref:r})},xs=Se,Ss=_e,Cs=ve,ws=Ce,Ts=be,Es=r(null),Ds=()=>{let e=s(Es);if(!e)throw Error(`TabList and TabPanel must be rendered inside a Tabs`);return e},Os=i(({className:t,variant:n=`tabs`,...r},i)=>{let{keyboardActivation:a,orientation:o,state:s}=Ds(),c=f(null),l=Z(i,c),{tabListProps:u}=Y({keyboardActivation:a,orientation:o,...r},s,c),d=m(`nav`,`nav-${n}`,t);return e.createElement(`ul`,{className:d,...u,ref:l},[...s.collection].map(t=>e.createElement(ks,{key:t.key,item:t})))});Os.displayName=`TabList`;const ks=({item:t})=>{let{state:n}=Ds(),r=f(null),{tabProps:i,isSelected:a,isDisabled:o}=J({key:t.key},n,r);return e.createElement(`li`,{className:`nav-item`,role:`presentation`},e.createElement(`a`,{className:m(`nav-link`,{active:a,disabled:o}),...i,ref:r},t.rendered))};function As({children:t,className:n,component:r,defaultSelectedKey:i,disabledKeys:a,keyboardActivation:o,onSelectionChange:s,orientation:l,selectedKey:u,...d},p){let m=r??`div`,h=e.Children.toArray(t),g=h.find(t=>e.isValidElement(t)&&t.type===Os),_=h.filter(e=>e!==g),v=(g?e.Children.toArray(g.props.children):[]).filter(t=>e.isValidElement(t)),y=v.filter(e=>e.props.disabled).map(e=>e.props.id),b=a?[...a,...y]:y,x=Ie({children:t=>e.createElement(ye,{key:t.props.id,textValue:typeof t.props.children==`string`?t.props.children:void 0},t.props.children),items:v,defaultSelectedKey:i,disabledKeys:b,selectedKey:u,onSelectionChange:s}),S=f(!0);return c(()=>{S.current=!1},[]),e.createElement(Es.Provider,{value:{keyboardActivation:o,orientation:l,state:x,isInitialSelectionRef:S}},e.createElement(m,{className:n,...d,ref:p},g,e.createElement(`div`,{className:`tab-content`},_)))}const js=X(As,`Tabs`),Ms=e=>null;Ms.displayName=`Tab`;const Ns=i(({children:t,className:n,id:r,...i},a)=>{let{state:o,isInitialSelectionRef:s}=Ds(),c=f(null),l=Z(a,c),{tabPanelProps:u}=ne({id:r},o,c);return o.selectedKey===r?e.createElement(He,{in:!0,appear:!s.current,nodeRef:c,timeout:150},r=>e.createElement(`div`,{className:m(`tab-pane`,`fade`,`active`,{show:r===`entered`},n),...u,...i,ref:l},t)):null});Ns.displayName=`TabPanel`;function Ps({children:t,className:n,closeButton:r,closeLabel:i,component:a,...o},s){let{close:c}=Bt(),l=a??`div`,u=m(`toast-body`,{"d-flex align-items-start justify-content-between gap-small":r},n);return e.createElement(l,{className:u,...o,ref:s},r?e.createElement(`div`,null,t):t,r&&e.createElement(Cn,{label:i,onClick:c}))}const Fs=X(Ps,`ToastBody`);function Is({children:t,className:n,component:r,...i},a){let o=r??`div`,s=m(`toast-footer`,n);return e.createElement(o,{className:s,...i,ref:a},t)}const Ls=X(Is,`ToastFooter`),Rs=i(({className:t,...n},r)=>{let i=m(`toast-icon`,t);return e.createElement(Ut,{className:i,...n,ref:r})});Rs.displayName=`ToastIcon`;function zs({children:t,className:n,closeButton:r,closeLabel:i,component:a,icon:o,time:s,titleId:c,...l},u){let{close:d}=Bt(),f=a??`div`,p=m(`toast-header`,n);return e.createElement(f,{className:p,...l,ref:u},o!=null&&(typeof o==`string`?e.createElement(`span`,{"aria-hidden":`true`,className:`me-small`},e.createElement(Rs,{name:o})):e.createElement(`span`,{className:`me-small`},o)),t!=null&&e.createElement(`strong`,{id:c,className:`me-auto`},t),s!=null&&e.createElement(`small`,null,s),r&&e.createElement(Cn,{label:i,onClick:d}))}const Bs=X(zs,`ToastHeader`),Vs=i(({children:t,animation:n=!0,autohide:r=!0,className:i,closeButton:a,closeLabel:o,color:s,delay:c=5e3,footer:l,icon:u,message:d,role:f=`status`,solid:p,time:h,title:g,translucent:_,visible:v=!1,onClose:b,onShow:x,...S},C)=>{let{close:w,entered:T,forkedRef:E,getTransitionClass:D,textId:O,titleId:k,transitionProps:A,visible:j}=_t({onClose:b,onShow:x,ref:C,visible:v}),M=st({enabled:r,delay:c,visible:j&&T,onHide:w}),N={visible:j,close:w},P=m(`toast`,{fade:n,context:!!s,solid:!!(p&&s),translucent:_},s,i),F=u!=null||g!=null||h!=null,I=a&&(F||d==null),L=a&&!F&&d!=null,R=F||I;return e.createElement(He,{...A,timeout:250},n=>{let r=D(n);return e.createElement(zt.Provider,{value:N},e.createElement(`div`,{className:m(P,r),role:f,"aria-labelledby":g==null?void 0:k,"aria-describedby":g!=null&&d!=null?O:void 0,...y(S,M),ref:E},R&&e.createElement(Bs,{icon:u,time:h,titleId:g==null?void 0:k,closeButton:I,closeLabel:o},g),d!=null&&e.createElement(Fs,{id:g!=null&&d!=null?O:void 0,closeButton:L,closeLabel:o},d),t,l!=null&&e.createElement(Ls,null,typeof l==`function`?l(w):l)))})});Vs.displayName=`Toast`;const Hs=new we;function Us(e,t={}){return Hs.add({children:e,...t})}function Ws(e){Hs.close(e)}const Gs=i(({children:t,className:n,placement:r,...i},a)=>{let{forkedRef:o,regionProps:s,state:c}=Vt(Hs,a),l=m(`toaster toast-container p-medium`,{"position-fixed":r,"position-static":!r,"top-0":r&&r.includes(`top`),"top-50 translate-middle-y":r&&r.includes(`middle`),"bottom-0":r&&r.includes(`bottom`),"start-0":r&&r.includes(`start`),"start-50 translate-middle-x":r&&r.includes(`center`),"end-0":r&&r.includes(`end`)},n),u=n=>c.visibleToasts.length>0||t?e.createElement(`div`,{className:l,...s,...i,ref:n},t,c.visibleToasts.map(t=>{let{children:n,...r}=t.content;return e.createElement(Vs,{key:t.key,visible:!0,...r,onClose:()=>c.close(t.key)},n)})):null;return typeof window<`u`&&r?h(u(o),document.body):u(o)});Gs.displayName=`Toaster`;const Ks=({children:t,content:n,placement:r=`top`,offset:i=[0,6],onHide:a,onShow:o,trigger:s,visible:c,...l})=>{let u=f(null),d=f(null),p=f(null),g=Be({trigger:s,delay:0,closeDelay:0}),{triggerProps:_,tooltipProps:v}=ge({trigger:s},g,d),{tooltipProps:b}=he({},g),x=St({close:()=>g.close(!0),isOpen:g.isOpen,open:()=>g.open(!0),onHide:a,onShow:o,triggerRef:d,visible:c}),{overlayProps:S,arrowProps:C,placement:w}=H({targetRef:d,overlayRef:p,placement:Mt(r),offset:i[1],crossOffset:i[0],arrowSize:8,arrowRef:u,isOpen:g.isOpen}),T={position:S.style?.position,top:S.style?.top,left:S.style?.left},E=Nt(r,w);return e.createElement(e.Fragment,null,e.cloneElement(t,{ref:e=>{d.current=e},..._}),typeof window<`u`&&h(e.createElement(He,{in:g.isOpen,mountOnEnter:!0,nodeRef:p,timeout:{enter:0,exit:200},unmountOnExit:!0},t=>{let r=wt(t);return e.createElement(`div`,{className:m(`tooltip cx-tooltip-auto`,r),"data-cx-placement":E,ref:p,style:T,...y(v,b),...l},e.createElement(`div`,{className:`tooltip-arrow`,...C,style:Ct(C)}),e.createElement(`div`,{className:`tooltip-inner`},n))}),x??document.body))};Ks.displayName=`Tooltip`;export{ot as Accordion,nt as AccordionBody,rt as AccordionHeader,at as AccordionItem,fn as Autocomplete,cn as AutocompleteGroup,ln as AutocompleteItem,yn as Avatar,_n as AvatarImage,xn as AvatarStack,gn as Badge,Hn as Breadcrumb,Vn as BreadcrumbItem,Wn as Button,Kn as ButtonGroup,Jn as ButtonToolbar,ar as Calendar,Tr as Card,fr as CardBody,mr as CardFooter,Dr as CardGroup,kr as CardHeader,_r as CardImage,jr as CardImageOverlay,Nr as CardLink,yr as CardSubtitle,xr as CardText,Cr as CardTitle,Zr as Carousel,$r as CarouselControlNext,ei as CarouselControlPrev,ti as CarouselIndicators,ri as CarouselInner,ai as CarouselItem,si as CarouselOverlay,ci as CarouselPlayPause,Na as Checkbox,La as CheckboxGroup,di as Chip,hi as ChipInput,Cn as CloseButton,_a as Col,li as Collapse,gi as ColorInput,yi as Combobox,vi as ComboboxGroup,Ht as ComboboxItem,ya as Container,Ti as DatePicker,Ai as DateRangePicker,bt as Drawer,Jo as DrawerBody,Xo as DrawerFooter,Qo as DrawerHeader,es as DrawerTitle,_i as FileInput,Ia as Flex,za as FloatingInput,Ra as Form,rn as FormFeedback,Ba as FormField,on as FormHelp,sn as FormLabel,Ca as Grid,Ea as GridItem,v as I18nProvider,Ut as Icon,Ka as InputAdorn,Ha as InputGroup,Wa as InputGroupAddon,mn as Link,fo as List,lo as ListItem,qi as Menu,Ji as MenuDivider,Xi as MenuHeader,Qi as MenuItem,la as MenuList,ma as MenuSubmenu,ha as MenuSubmenuBack,da as MenuText,pa as MenuToggle,Dt as Modal,mo as ModalBody,go as ModalFooter,vo as ModalHeader,bo as ModalTitle,Eo as Nav,wo as NavItem,So as NavLink,Do as NavTitle,ko as Navbar,jo as NavbarBrand,No as NavbarNav,Fo as NavbarText,Io as NavbarToggler,kn as Notification,wn as NotificationIcon,Bn as NotificationStack,En as NotificationText,On as NotificationTitle,Pi as OtpInput,Bo as Pagination,Ro as PaginationItem,Ui as PasswordStrength,so as Placeholder,Ho as Popover,Ko as Progress,Wo as ProgressBar,Ja as Radio,Ya as RadioGroup,sr as RangeCalendar,Xa as RangeInput,Oa as Row,Za as Select,rs as Skeleton,as as SkeletonLoader,ss as Spinner,In as Stack,ds as Stepper,ls as StepperItem,no as Switch,Ms as Tab,Os as TabList,Ns as TabPanel,fs as Table,xs as TableBody,Ss as TableCell,Cs as TableColumn,ws as TableHeader,Ts as TableRow,js as Tabs,ro as TextInput,io as Textarea,Vs as Toast,Fs as ToastBody,Ls as ToastFooter,Bs as ToastHeader,Rs as ToastIcon,Gs as Toaster,Ks as Tooltip,Rn as addNotification,Us as addToast,zn as closeNotification,Ws as closeToast,Ln as notificationQueue,Hs as toastQueue,xt as useDrawer,Ot as useModal,At as useNotification,Rt as usePagination,Bt as useToast};
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @layer components{.notification.showing{opacity:0}.datepicker-body{position:relative}.datepicker-months-month.selected,.datepicker-years-year.selected{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.datepicker-months-month.selected:hover,.datepicker-years-year.selected:hover{background-color:var(--cx-primary)}.datepicker-date-outside>.datepicker-date-btn{color:var(--cx-day-disabled-fg-color)}.datepicker-date-weekend:where(:not(.datepicker-date-selected):not(.datepicker-date-unavailable))>.datepicker-date-btn:where(:not([aria-disabled=true])){color:var(--cx-fg-subtle)}.datepicker-date-unavailable:where(:not(.datepicker-date-selected))>.datepicker-date-btn{color:var(--cx-day-disabled-fg-color);text-decoration:line-through}.datepicker-date-selected>.datepicker-date-btn,.datepicker-date-selected.datepicker-date[aria-current=date]>.datepicker-date-btn{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.datepicker-date-in-range{color:var(--cx-day-range-fg-color);background-color:var(--cx-day-range-bg-color)}.datepicker-date-in-range>.datepicker-date-btn:hover{background-color:unset}.datepicker-date-in-range.datepicker-date-range-start{border-start-start-radius:var(--cx-border-radius-medium);border-end-start-radius:var(--cx-border-radius-medium)}.datepicker-date-in-range.datepicker-date-range-end{border-start-end-radius:var(--cx-border-radius-medium);border-end-end-radius:var(--cx-border-radius-medium)}.datepicker-date-btn:is(.datepicker-date-range-start,.datepicker-date-range-end),.datepicker-date-btn:is(.datepicker-date-range-start,.datepicker-date-range-end):hover{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.datepicker-date-btn.datepicker-date-range-start:not(.datepicker-date-range-end){border-start-end-radius:0;border-end-end-radius:0}.datepicker-date-btn.datepicker-date-range-end:not(.datepicker-date-range-start){border-start-start-radius:0;border-end-start-radius:0}.datepicker-date[aria-current=date]>.datepicker-date-btn.datepicker-date-range-start,.datepicker-date[aria-current=date]>.datepicker-date-btn.datepicker-date-range-end{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.datepicker-presets{gap:var(--cx-gap);padding-inline:0 var(--cx-padding-x);border-inline-end:var(--cx-border-width-medium) solid var(--cx-border-subtle);flex-direction:column;margin:0;list-style:none;display:flex}.datepicker-preset{padding:var(--cx-space-2xsmall) var(--cx-space-xsmall);color:var(--cx-fg-main);text-align:start;white-space:nowrap;cursor:pointer;border-radius:var(--cx-border-radius-medium);background-color:#0000;border:0}.datepicker-preset:hover{background-color:var(--cx-bg-hover)}.datepicker-preset:focus-visible{outline:var(--cx-border-width-xlarge) solid var(--cx-primary);outline-offset:-1px}.datepicker-preset.selected{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.datepicker-preset.selected:hover{background-color:var(--cx-primary)}.datepicker[hidden]{display:none}}.datepicker-field{align-items:center;width:fit-content;display:flex}.datepicker-segment{padding-inline:var(--cx-space-3xsmall);border-radius:var(--cx-border-radius-small);outline:0}.datepicker-segment.placeholder{color:var(--cx-form-idle-fg-inactive)}.datepicker-segment:focus{color:var(--cx-primary-contrast);background-color:var(--cx-primary)}.daterangepicker-separator{margin-inline:var(--cx-gap);color:var(--cx-fg-subtle)}.table-sort-icon{opacity:.6;margin-inline-start:var(--cx-space-2xsmall);font-size:.75em;display:inline-block}[aria-sort=ascending] .table-sort-icon,[aria-sort=descending] .table-sort-icon{opacity:1}[role=columnheader][aria-sort]{cursor:pointer;user-select:none}.table-selection-cell{text-align:center;width:1%;padding-inline-end:0}.table [role=row]:focus-visible,.table [role=gridcell]:focus-visible,.table [role=columnheader]:focus-visible,.table [role=rowheader]:focus-visible{outline:var(--cx-border-width-xlarge) solid var(--cx-primary);outline-offset:-2px}
package/package.json ADDED
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "@chassis-ui/react",
3
+ "version": "0.0.0-20260831090525",
4
+ "type": "module",
5
+ "engines": {
6
+ "node": ">=24"
7
+ },
8
+ "description": "Chassis UI Components Library for React.js",
9
+ "keywords": [
10
+ "react",
11
+ "react-component",
12
+ "react component",
13
+ "chassis-ui",
14
+ "chassis react",
15
+ "ui library",
16
+ "ui components",
17
+ "component library",
18
+ "components"
19
+ ],
20
+ "homepage": "https://chassis-ui.com/react/",
21
+ "bugs": {
22
+ "url": "https://github.com/chassis-ui/react/issues"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/chassis-ui/react.git"
27
+ },
28
+ "license": "MIT",
29
+ "author": "Chassis UI Team",
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "exports": {
34
+ ".": "./dist/index.js",
35
+ "./package.json": "./package.json",
36
+ "./style.css": "./dist/style.css"
37
+ },
38
+ "sideEffects": [
39
+ "./src/utils/suppressFocusRingGlobally.ts"
40
+ ],
41
+ "files": [
42
+ "dist/",
43
+ "src/"
44
+ ],
45
+ "scripts": {
46
+ "build": "tsdown",
47
+ "dev": "tsdown --watch",
48
+ "test": "vitest run --coverage",
49
+ "test:update": "vitest run --coverage -u",
50
+ "lint": "pnpm lint:eslint && pnpm lint:stylelint && pnpm lint:prettier",
51
+ "lint:eslint": "eslint --cache --cache-location ../../.cache/react.eslintcache --report-unused-disable-directives .",
52
+ "lint:stylelint": "stylelint --cache --cache-location ../../.cache/react.stylelintcache \"**/*.{css,scss}\"",
53
+ "lint:prettier": "prettier -c --cache --ignore-path ../../.gitignore --ignore-path ../../.prettierignore .",
54
+ "format": "prettier --write --ignore-path ../../.gitignore --ignore-path ../../.prettierignore .",
55
+ "check:bundle": "bundlewatch --config .bundlewatch.config.json",
56
+ "check:package": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./style.css",
57
+ "check:api": "ts-node --project ../../build/tsconfig.json ./scripts/check-api-surface.ts",
58
+ "check:api:update": "ts-node --project ../../build/tsconfig.json ./scripts/check-api-surface.ts --update",
59
+ "storybook": "storybook dev -p 6006",
60
+ "storybook:build": "storybook build -o ../../_storybook",
61
+ "test:visual": "pnpm storybook:build --quiet && playwright test",
62
+ "test:visual:update": "pnpm storybook:build --quiet && playwright test --update-snapshots",
63
+ "test:visual:update:linux": "bash scripts/update-linux-snapshots.sh"
64
+ },
65
+ "dependencies": {
66
+ "@internationalized/date": "^3.12.2",
67
+ "classnames": "^2.3.1",
68
+ "react-aria": "^3.0.0",
69
+ "react-stately": "^3.0.0",
70
+ "react-transition-group": "^4.4.2"
71
+ },
72
+ "devDependencies": {
73
+ "@arethetypeswrong/cli": "^0.18.5",
74
+ "@arethetypeswrong/core": "^0.18.5",
75
+ "@chassis-ui/css": "^0.4.0-0",
76
+ "@chassis-ui/tokens": "^0.4.0",
77
+ "@playwright/test": "1.62.1",
78
+ "@storybook/addon-a11y": "^10.5.6",
79
+ "@storybook/addon-docs": "^10.5.6",
80
+ "@storybook/addon-themes": "^10.5.8",
81
+ "@storybook/addon-vitest": "^10.5.8",
82
+ "@storybook/react-vite": "^10.5.6",
83
+ "@testing-library/jest-dom": "^6.0.0",
84
+ "@testing-library/react": "^16.0.0",
85
+ "@testing-library/user-event": "^14.6.1",
86
+ "@tsdown/css": "^0.22.14",
87
+ "@types/react": "^19.0.0",
88
+ "@types/react-dom": "^19.0.0",
89
+ "@types/react-transition-group": "^4.4.11",
90
+ "@vitejs/plugin-react": "^6.0.4",
91
+ "@vitest/browser-playwright": "4.1.10",
92
+ "@vitest/coverage-istanbul": "^4.1.10",
93
+ "bundlewatch": "^0.4.2",
94
+ "http-server": "^14.1.1",
95
+ "jest-axe": "^11.0.0",
96
+ "jsdom": "^30.0.0",
97
+ "playwright": "^1.62.1",
98
+ "postcss": "^8.5.23",
99
+ "postcss-prefix-custom-properties": "^0.1.0",
100
+ "publint": "^0.3.23",
101
+ "react": "^19.0.0",
102
+ "react-dom": "^19.0.0",
103
+ "sass": "^1.101.0",
104
+ "storybook": "^10.5.10",
105
+ "tsdown": "0.22.14",
106
+ "tslib": "^2.6.0",
107
+ "typescript": "^6.0.3",
108
+ "vitest": "^4.1.10"
109
+ },
110
+ "peerDependencies": {
111
+ "react": ">=18",
112
+ "react-dom": ">=18"
113
+ }
114
+ }
@@ -0,0 +1,190 @@
1
+ import React, { forwardRef, HTMLAttributes, ReactNode, useId, useRef, useState } from 'react'
2
+ import classNames from 'classnames'
3
+
4
+ import { AccordionBody } from './AccordionBody'
5
+ import { AccordionHeader } from './AccordionHeader'
6
+ import { AccordionItem } from './AccordionItem'
7
+ import { AccordionContext } from './context'
8
+
9
+ export interface AccordionItemDef {
10
+ /**
11
+ * Let this item stay open when another item opens, overriding the accordion's `alwaysOpen` setting.
12
+ */
13
+ alwaysOpen?: boolean
14
+ /**
15
+ * Body content, rendered inside a `AccordionBody`.
16
+ */
17
+ body: ReactNode
18
+ /**
19
+ * A string of all className you want applied to this item.
20
+ */
21
+ className?: string
22
+ /**
23
+ * Header content, rendered inside a `AccordionHeader`.
24
+ */
25
+ header: ReactNode
26
+ /**
27
+ * React key for this item. Falls back to its index when omitted.
28
+ */
29
+ id?: number | string
30
+ /**
31
+ * The group this item shares with other items so only one can be open at a time, overriding the
32
+ * accordion's shared `name`.
33
+ */
34
+ name?: string
35
+ /**
36
+ * Callback fired when this item's open state changes. Chained after `Accordion`'s own handling
37
+ * of `expandedKeys`/`onExpandedChange`, so it fires regardless of whether those are used.
38
+ */
39
+ onToggle?: (event: React.SyntheticEvent<HTMLDetailsElement>) => void
40
+ /**
41
+ * Start the item in the open state (uncontrolled). Ignored for items whose key is included in
42
+ * `expandedKeys`/`defaultExpandedKeys` on the parent `Accordion`.
43
+ */
44
+ open?: boolean
45
+ }
46
+
47
+ export interface AccordionProps extends HTMLAttributes<HTMLDivElement> {
48
+ /**
49
+ * Make accordion items stay open when another item is opened.
50
+ */
51
+ alwaysOpen?: boolean
52
+ /**
53
+ * Move the caret icon to the end of the header.
54
+ */
55
+ caretEnd?: boolean
56
+ /**
57
+ * A string of all className you want applied to the base component.
58
+ */
59
+ className?: string
60
+ /**
61
+ * The keys of the initially expanded items (uncontrolled). Only applies to items rendered via
62
+ * the `items` prop — a composed `AccordionItem` already supports native controlled `open`/
63
+ * `onToggle` directly.
64
+ */
65
+ defaultExpandedKeys?: Array<number | string>
66
+ /**
67
+ * The keys of the currently expanded items (controlled). Only applies to items rendered via the
68
+ * `items` prop — a composed `AccordionItem` already supports native controlled `open`/`onToggle`
69
+ * directly.
70
+ */
71
+ expandedKeys?: Array<number | string>
72
+ /**
73
+ * Removes the default background-context, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.
74
+ */
75
+ flush?: boolean
76
+ /**
77
+ * Array of item definitions for data-driven rendering. When provided, children are ignored.
78
+ */
79
+ items?: AccordionItemDef[]
80
+ /**
81
+ * The shared group name used by items that don't set their own `name`. Defaults to an auto-generated id.
82
+ */
83
+ name?: string
84
+ /**
85
+ * Callback fired with the updated set of expanded item keys, reflecting the native `<details>`
86
+ * elements' actual open state (including items the browser closed itself via a shared `name`
87
+ * group). Only fires for items rendered via the `items` prop.
88
+ */
89
+ onExpandedChange?: (keys: Array<number | string>) => void
90
+ /**
91
+ * Size the component small or large.
92
+ */
93
+ size?: 'small' | 'large'
94
+ }
95
+
96
+ export const Accordion = forwardRef<HTMLDivElement, AccordionProps>(
97
+ (
98
+ {
99
+ children,
100
+ alwaysOpen = false,
101
+ caretEnd,
102
+ className,
103
+ defaultExpandedKeys,
104
+ expandedKeys,
105
+ flush,
106
+ items,
107
+ name,
108
+ onExpandedChange,
109
+ size,
110
+ ...rest
111
+ },
112
+ ref
113
+ ) => {
114
+ const generatedName = useId()
115
+ const groupName = name ?? generatedName
116
+ const _className = classNames('accordion', { flush, 'caret-end': caretEnd }, size, className)
117
+
118
+ const isExpandedControlled = expandedKeys !== undefined
119
+ const isTrackingExpanded =
120
+ isExpandedControlled || defaultExpandedKeys !== undefined || onExpandedChange !== undefined
121
+
122
+ const [uncontrolledExpandedKeys, setUncontrolledExpandedKeys] = useState<
123
+ Array<number | string>
124
+ >(
125
+ () =>
126
+ defaultExpandedKeys ??
127
+ items?.filter((item) => item.open).map((item, index) => item.id ?? index) ??
128
+ []
129
+ )
130
+ const currentExpandedKeys = isExpandedControlled ? expandedKeys : uncontrolledExpandedKeys
131
+
132
+ // Keyed by each item's id (or index) so a toggle handler can read every sibling's *actual*
133
+ // DOM open state — the browser settles a whole shared-`name` group's open attributes
134
+ // synchronously before dispatching any `toggle` events, so this is always the true next set,
135
+ // regardless of which affected item's handler happens to run first.
136
+ const itemRefs = useRef(new Map<number | string, HTMLDetailsElement | null>())
137
+
138
+ const handleItemToggle =
139
+ (id: number | string, itemOnToggle?: AccordionItemDef['onToggle']) =>
140
+ (event: React.SyntheticEvent<HTMLDetailsElement>) => {
141
+ itemOnToggle?.(event)
142
+ if (!items) return
143
+ const next = items
144
+ .map((item, index) => item.id ?? index)
145
+ .filter((key) => itemRefs.current.get(key)?.open)
146
+ if (isExpandedControlled) {
147
+ // React doesn't intercept a native <details> click the way it does controlled form
148
+ // inputs, so the DOM has already toggled by the time this fires. Snap this element back
149
+ // to the still-current controlled value — if the consumer's onExpandedChange updates
150
+ // `expandedKeys` in response, the next render sets it back to the new value anyway.
151
+ ;(event.currentTarget as HTMLDetailsElement).open = expandedKeys.includes(id)
152
+ } else {
153
+ setUncontrolledExpandedKeys(next)
154
+ }
155
+ onExpandedChange?.(next)
156
+ }
157
+
158
+ const content = items
159
+ ? items.map((item, index) => {
160
+ const id = item.id ?? index
161
+ return (
162
+ <AccordionItem
163
+ key={id}
164
+ className={item.className}
165
+ open={isTrackingExpanded ? currentExpandedKeys.includes(id) : item.open}
166
+ name={item.name}
167
+ alwaysOpen={item.alwaysOpen}
168
+ onToggle={handleItemToggle(id, item.onToggle)}
169
+ ref={(node) => {
170
+ itemRefs.current.set(id, node)
171
+ }}
172
+ >
173
+ <AccordionHeader>{item.header}</AccordionHeader>
174
+ <AccordionBody>{item.body}</AccordionBody>
175
+ </AccordionItem>
176
+ )
177
+ })
178
+ : children
179
+
180
+ return (
181
+ <div className={_className} {...rest} ref={ref}>
182
+ <AccordionContext.Provider value={{ alwaysOpen, name: groupName }}>
183
+ {content}
184
+ </AccordionContext.Provider>
185
+ </div>
186
+ )
187
+ }
188
+ )
189
+
190
+ Accordion.displayName = 'Accordion'