react-toolkits 2.19.1 → 2.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/index.css.map +1 -0
- package/lib/index.d.ts +338 -60
- package/lib/index.js +1349 -2
- package/lib/index.js.map +1 -0
- package/locale/context.js +9 -1
- package/locale/context.js.map +1 -0
- package/locale/en_GB.js +96 -1
- package/locale/en_GB.js.map +1 -0
- package/locale/hooks.js +15812 -1
- package/locale/hooks.js.map +1 -0
- package/locale/index.js +15812 -1
- package/locale/index.js.map +1 -0
- package/locale/ja_JP.js +96 -1
- package/locale/ja_JP.js.map +1 -0
- package/locale/ko_KR.js +96 -1
- package/locale/ko_KR.js.map +1 -0
- package/locale/zh_CN.js +96 -1
- package/locale/zh_CN.js.map +1 -0
- package/package.json +5 -5
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts","../../../node_modules/.pnpm/@tanstack+query-devtools@5.87.3/node_modules/@tanstack/query-devtools/build/chunk/EIDV623S.js","../../../node_modules/.pnpm/@tanstack+query-devtools@5.87.3/node_modules/@tanstack/query-devtools/build/chunk/ZDWCUMSJ.js","../../../node_modules/.pnpm/@tanstack+query-devtools@5.87.3/node_modules/@tanstack/query-devtools/build/DevtoolsComponent/NCMVHL6D.js","../../../node_modules/.pnpm/@tanstack+query-devtools@5.87.3/node_modules/@tanstack/query-devtools/build/DevtoolsPanelComponent/2AITGKQY.js","../../../node_modules/.pnpm/@tanstack+query-devtools@5.87.3/node_modules/@tanstack/query-devtools/build/index.js","../../../node_modules/.pnpm/@tanstack+react-query-devtools@5.89.0_@tanstack+react-query@5.89.0_react@18.3.1/node_modules/@tanstack/react-query-devtools/src/ReactQueryDevtools.tsx","../../../node_modules/.pnpm/@tanstack+react-query-devtools@5.89.0_@tanstack+react-query@5.89.0_react@18.3.1/node_modules/@tanstack/react-query-devtools/src/ReactQueryDevtoolsPanel.tsx","../../../node_modules/.pnpm/@tanstack+react-query-devtools@5.89.0_@tanstack+react-query@5.89.0_react@18.3.1/node_modules/@tanstack/react-query-devtools/src/index.ts","../src/providers/QueryProvider.tsx","../src/components/locale/en_GB.ts","../src/constants/index.ts","../src/stores/context.ts","../src/stores/game.ts","../src/stores/token.ts","../src/stores/index.ts","../src/components/toolkitsProvider/ToolkitsProvider.tsx","../src/components/toolkitsProvider/index.ts","../src/components/locale/hooks.ts","../src/components/locale/index.ts","../src/components/filterFormWrapper/FilterFormWrapper.tsx","../src/components/filterFormWrapper/index.ts","../src/components/highlight/Highlight.tsx","../src/components/highlight/index.ts","../src/libs/use-ky.ts","../src/libs/index.ts","../src/queryKeys.ts","../src/services/index.ts","../src/components/modal/stores.ts","../src/components/modal/modal.tsx","../src/components/modal/formModal.tsx","../src/components/modal/index.ts","../src/components/permissionButton/PermissionButton.tsx","../src/components/permissionButton/index.ts","../src/components/queryList/stores.ts","../src/components/queryList/QueryList.tsx","../src/components/queryList/index.ts","../src/features/menu/constants/index.ts","../src/features/menu/hooks/index.ts","../src/features/menu/index.ts","../src/pages/menu/menuItemList/index.tsx","../src/pages/menu/createMenuItem/index.tsx","../src/pages/menu/updateMenuItem/index.tsx","../src/features/permission/services/index.ts","../src/features/permission/components/permissionCollapse/index.tsx","../src/features/permission/components/permissionList/PermissionWithGame.tsx","../src/features/permission/components/permissionList/PermissionWithoutGame.tsx","../src/features/permission/components/permissionList/index.tsx","../src/features/permission/components/index.ts","../src/features/permission/hooks/role-hooks.tsx","../src/features/permission/hooks/user-hooks.tsx","../src/features/permission/hooks/index.ts","../src/features/permission/types/index.ts","../src/features/permission/index.ts","../src/pages/permission/userList/index.tsx","../src/pages/permission/userDetail/index.tsx","../src/pages/permission/roleList/index.tsx","../src/pages/permission/roleDetail/index.tsx","../src/components/drawer/drawer.tsx","../src/components/drawer/stores.ts","../src/components/drawer/formDrawer.tsx","../src/components/dynamicTags/DynamicTags.tsx","../src/components/expandableParagraph/ExpandableParagraph.tsx","../src/index.ts","../src/components/infiniteList/InfiniteList.tsx","../src/components/infiniteList/stores.ts","../src/components/navMenu/stores.ts","../src/components/navMenu/utils.tsx","../src/components/navMenu/NavMenu.tsx","../src/components/requireGame/RequireGame.tsx","../src/components/layout/Layout.tsx","../src/components/userWidget/UserWidget.tsx","../src/components/layout/GameSelect.tsx","../src/components/logo/Logo.tsx","../src/components/layout/LayoutHeader.tsx","../src/components/requirePermission/RequirePermission.tsx","../src/pages/menu/index.tsx","../src/pages/notFound/index.tsx","../src/pages/operationLogList/index.tsx","../src/pages/permission/index.tsx","../src/pages/signIn/index.tsx","../src/pages/signIn/hooks.ts"],"names":["counter","s","c","p","e","i","o","l","t","memo2","e2","n","r","i2","a","dispose2","create","template2","handleError","store","copy","dispose","FALLBACK","style","isNumber","isString","walker","locale","last","find","first","theme","__defProp","__export","Button","reset","onlineManager","_client","_onlineManager","_queryFlavor","_version","_isMounted","_styleNonce","_shadowDOMTarget","_buttonPosition","_position","_initialIsOpen","_errorTypes","_hideDisabledQueries","_Component","_dispose","_a","Devtools","devtools","jsx","useQueryClient","React2","ReactQueryDevtools","ReactQueryDevtoolsPanel","children","useState","jsxs","PermissionVersion","get","useContext","createContext","useRef","useMemo","template","Space","Fragment","createRoot","useEffect","useCallback","url","request","options","ky","response","init_stores","hide","Form","init_modal","createStore","subscribeWithSelector","newInstances","isEqual","QueryListAction","data","size","useQuery","cloneElement","useImperativeHandle","Spin","Result","Table","forwardRef","init_constants","init_hooks","App","useNavigate","Card","Input","Switch","InputNumber","Editor","useMutation","init_services","startTransition","useTransition","Text","Option","Typography","Select","Divider","Empty","Skeleton","GameSelect","Row","Col","Link","Tag","useParams","Breadcrumb","Descriptions","persist","createJSONStorage","memo","NavMenu","Menu","Antd","Layout","MenuItemList","lazy","CreateMenuItem","UserList","UserDetail","RoleList","RoleDetail","Routes","Route","Navigate"],"mappings":"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R,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,QAAA;AAAA,MACR,MAAQ,EAAA,QAAA;AAAA,MACR,MAAQ,EAAA,QAAA;AAAA,MACR,MAAQ,EAAA,QAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,YAAc,EAAA,GAAA;AAAA,MACd,YAAc,EAAA,GAAA;AAAA,MACd,YAAc,EAAA,GAAA;AAAA,MACd,YAAc,EAAA,GAAA;AAAA,MACd,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,MAAQ,EAAA,GAAA;AAAA,MACR,OAAS,EAAA,GAAA;AAAA,MACT,OAAS,EAAA,GAAA;AAAA,MAC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","file":"index.js","sourcesContent":["import type { StateStorage } from 'zustand/middleware'\n\n// 通过 SessionStorage 隔离数据,防止多开页面时的数据冲突。\n// 当 SessionStorage 不存在时,使用 LocalStorage。\nexport const mixedStorage: StateStorage = {\n getItem: (name: string): string | null => {\n return sessionStorage.getItem(name) || localStorage.getItem(name)\n },\n setItem: (name: string, value: string) => {\n sessionStorage.setItem(name, value)\n localStorage.setItem(name, value)\n },\n removeItem(name: string) {\n sessionStorage.removeItem(name)\n localStorage.removeItem(name)\n },\n}\n\n/**\n * 生成唯一 ID 的函数\n * 使用时间戳 + 随机数 + 计数器的组合来确保唯一性\n */\nlet globalCounter = 0\nexport const generateId = (): number => {\n const timestamp = Date.now()\n const random = Math.floor(Math.random() * 1000)\n const counter = ++globalCounter % 1000\n\n // 组合:时间戳(毫秒) * 1000000 + 随机数 * 1000 + 计数器\n // 这样可以确保即使在同一毫秒内生成多个ID也不会重复\n return timestamp * 1000000 + random * 1000 + counter\n}\n","// ../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/dist/solid.js\nvar sharedConfig = {\n context: void 0,\n registry: void 0,\n effects: void 0,\n done: false,\n getContextId() {\n return getContextId(this.context.count);\n },\n getNextContextId() {\n return getContextId(this.context.count++);\n }\n};\nfunction getContextId(count) {\n const num = String(count), len = num.length - 1;\n return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: sharedConfig.getNextContextId(),\n count: 0\n };\n}\nvar IS_DEV = false;\nvar equalFn = (a, b) => a === b;\nvar $PROXY = Symbol(\"solid-proxy\");\nvar SUPPORTS_PROXY = typeof Proxy === \"function\";\nvar $TRACK = Symbol(\"solid-track\");\nvar signalOptions = {\n equals: equalFn\n};\nvar ERROR = null;\nvar runEffects = runQueue;\nvar STALE = 1;\nvar PENDING = 2;\nvar UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nvar NO_INIT = {};\nvar Owner = null;\nvar Transition = null;\nvar Scheduler = null;\nvar ExternalSourceConfig = null;\nvar Listener = null;\nvar Updates = null;\nvar Effects = null;\nvar ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener, owner = Owner, unowned = fn.length === 0, current = detachedOwner === void 0 ? owner : detachedOwner, root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n }, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || void 0\n };\n const setter = (value2) => {\n if (typeof value2 === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value2 = value2(s.tValue);\n else value2 = value2(s.value);\n }\n return writeSignal(s, value2);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE), s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || void 0;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n {\n source = true;\n fetcher = pSource;\n options = {};\n }\n let pr = null, initP = NO_INIT, id = null, loadedUnderTransition = false, scheduled = false, resolved = \"initialValue\" in options, dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, {\n equals: false\n }), [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = sharedConfig.getNextContextId();\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;\n else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n }\n function loadEnd(p, v, error2, key) {\n if (pr === p) {\n pr = null;\n key !== void 0 && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error2);\n }, false);\n } else completeLoad(v, error2);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === void 0) setValue(() => v);\n setState(err !== void 0 ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext), v = value(), err = error();\n if (err !== void 0 && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);\n else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n let error2;\n const p = initP !== NO_INIT ? initP : untrack(() => {\n try {\n return fetcher(lookup, {\n value: value(),\n refetching\n });\n } catch (fetcherError) {\n error2 = fetcherError;\n }\n });\n if (error2 !== void 0) {\n loadEnd(pr, void 0, castError(error2), lookup);\n return;\n } else if (!isPromise(p)) {\n loadEnd(pr, p, void 0, lookup);\n return p;\n }\n pr = p;\n if (\"v\" in p) {\n if (p.s === 1) loadEnd(pr, p.v, void 0, lookup);\n else loadEnd(pr, void 0, castError(p.v), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then((v) => loadEnd(p, v, void 0, lookup), (e) => loadEnd(p, void 0, castError(e), lookup));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n let owner = Owner;\n if (dynamic) createComputed(() => (owner = Owner, load(false)));\n else load(false);\n return [read, {\n refetch: (info) => runWithOwner(owner, () => load(info)),\n mutate: setValue\n }];\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray3 = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return (prevValue) => {\n let input;\n if (isArray3) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null) ;\n else if (Owner.cleanups === null) Owner.cleanups = [fn];\n else Owner.cleanups.push(fn);\n return fn;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t = Transition || (Transition = {\n sources: /* @__PURE__ */ new Set(),\n effects: [],\n promises: /* @__PURE__ */ new Set(),\n disposed: /* @__PURE__ */ new Set(),\n queue: /* @__PURE__ */ new Set(),\n running: true\n });\n t.done || (t.done = new Promise((res) => t.resolve = res));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : void 0;\n });\n}\nvar [transPending, setTransPending] = /* @__PURE__ */ createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let value;\n return Owner && Owner.context && (value = Owner.context[context.id]) !== void 0 ? value : context.defaultValue;\n}\nfunction children(fn) {\n const children2 = createMemo(fn);\n const memo2 = createMemo(() => resolveChildren(children2()));\n memo2.toArray = () => {\n const c = memo2();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo2;\n}\nvar SuspenseContext;\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);\n else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;\n else o.tState = STALE;\n }\n if (Updates.length > 1e6) {\n Updates = [];\n if (IS_DEV) ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner, listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = void 0;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null) ;\n else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];\n else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];\n else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const [track, trigger] = createSignal(void 0, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(c.fn, trigger);\n onCleanup(() => ordinary.dispose());\n const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());\n const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);\n c.fn = (x) => {\n track();\n return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node, prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;\n else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);\n else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e2 of Effects) {\n \"tState\" in e2 && (e2.state = e2.tState);\n delete e2.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i, userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);\n else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n }\n setHydrateContext();\n }\n if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;\n else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;\n else o.state = PENDING;\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(), s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n if (Transition && Transition.running && node.pure) {\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;\n else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, owner && owner.owner || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects) Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });\n else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children2) {\n if (typeof children2 === \"function\" && !children2.length) return resolveChildren(children2());\n if (Array.isArray(children2)) {\n const results = [];\n for (let i = 0; i < children2.length; i++) {\n const result = resolveChildren(children2[i]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children2;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n }), void 0);\n return res;\n };\n}\nvar FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [], newLen = newItems.length, i, j;\n newItems[$TRACK];\n return untrack(() => {\n let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot((disposer) => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n } else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++) ;\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = /* @__PURE__ */ new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === void 0 ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== void 0 && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [], mapped = [], disposers = [], signals = [], len = 0, i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [], newLen = newItems.length;\n newItems[$TRACK];\n return untrack(() => {\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot((disposer) => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newLen; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newLen;\n items = newItems.slice(0);\n return mapped = mapped.slice(0, len);\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\nvar hydrationEnabled = false;\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nvar propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== void 0) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || !!s && $PROXY in s;\n sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n }\n if (SUPPORTS_PROXY && proxy) {\n return new Proxy({\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== void 0) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const sourcesMap = {};\n const defined = /* @__PURE__ */ Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i2 = sourceKeys.length - 1; i2 >= 0; i2--) {\n const key = sourceKeys[i2];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n } : desc.value !== void 0 ? desc : void 0;\n } else {\n const sources2 = sourcesMap[key];\n if (sources2) {\n if (desc.get) sources2.push(desc.get.bind(source));\n else if (desc.value !== void 0) sources2.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i], desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);\n else target[key] = desc ? desc.value : void 0;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n if (SUPPORTS_PROXY && $PROXY in props) {\n const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);\n const res = keys.map((k) => {\n return new Proxy({\n get(property) {\n return k.includes(property) ? props[property] : void 0;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter((property) => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.has(property) ? void 0 : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter((k) => !blocked.has(k));\n }\n }, propTraps));\n return res;\n }\n const otherObject = {};\n const objects = keys.map(() => ({}));\n for (const propName of Object.getOwnPropertyNames(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n let blocked = false;\n let objectIndex = 0;\n for (const k of keys) {\n if (k.includes(propName)) {\n blocked = true;\n isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc);\n }\n ++objectIndex;\n }\n if (!blocked) {\n isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc);\n }\n }\n return [...objects, otherObject];\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const wrap = (props) => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n (p || (p = fn())).then((mod) => {\n !sharedConfig.done && setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => (p || (p = fn())).then((mod) => mod.default));\n comp = s;\n }\n let Comp;\n return createMemo(() => (Comp = comp()) ? untrack(() => {\n if (IS_DEV) ;\n if (!ctx || sharedConfig.done) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n }) : \"\");\n };\n wrap.preload = () => p || ((p = fn()).then((mod) => comp = () => mod.default), p);\n return wrap;\n}\nvar counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\nvar narrowedError = (name) => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || void 0));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || void 0));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const conditionValue = createMemo(() => props.when, void 0, void 0);\n const condition = keyed ? conditionValue : createMemo(conditionValue, void 0, {\n equals: (a, b) => !a === !b\n });\n return createMemo(() => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(keyed ? c : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return conditionValue();\n })) : child;\n }\n return props.fallback;\n }, void 0, void 0);\n}\nfunction Switch(props) {\n const chs = children(() => props.children);\n const switchFunc = createMemo(() => {\n const ch = chs();\n const mps = Array.isArray(ch) ? ch : [ch];\n let func = () => void 0;\n for (let i = 0; i < mps.length; i++) {\n const index = i;\n const mp = mps[i];\n const prevFunc = func;\n const conditionValue = createMemo(() => prevFunc() ? void 0 : mp.when, void 0, void 0);\n const condition = mp.keyed ? conditionValue : createMemo(conditionValue, void 0, {\n equals: (a, b) => !a === !b\n });\n func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : void 0);\n }\n return func;\n });\n return createMemo(() => {\n const sel = switchFunc()();\n if (!sel) return props.fallback;\n const [index, conditionValue, mp] = sel;\n const child = mp.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n return conditionValue();\n })) : child;\n }, void 0, void 0);\n}\nfunction Match(props) {\n return props;\n}\nvar DEV = void 0;\n\n// ../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/web/dist/web.js\nvar booleans = [\"allowfullscreen\", \"async\", \"autofocus\", \"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\", \"indeterminate\", \"inert\", \"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\", \"selected\"];\nvar Properties = /* @__PURE__ */ new Set([\"className\", \"value\", \"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", ...booleans]);\nvar ChildProperties = /* @__PURE__ */ new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nvar Aliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nvar PropAliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n class: \"className\",\n novalidate: {\n $: \"noValidate\",\n FORM: 1\n },\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : void 0 : a;\n}\nvar DelegatedEvents = /* @__PURE__ */ new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nvar SVGElements = /* @__PURE__ */ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\nvar SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nvar memo = (fn) => createMemo(() => fn());\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length, aEnd = a.length, bEnd = bLength, aStart = 0, bStart = 0, after = a[aEnd - 1].nextSibling, map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = /* @__PURE__ */ new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart, sequence = 1, t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\nvar $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot((dispose2) => {\n disposer = dispose2;\n element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n let node;\n const create = () => {\n const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n };\n const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document2 = window.document) {\n const e = document2[$$EVENTS] || (document2[$$EVENTS] = /* @__PURE__ */ new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document2.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document2 = window.document) {\n if (document2[$$EVENTS]) {\n for (let name of document2[$$EVENTS].keys()) document2.removeEventListener(name, eventHandler);\n delete document2[$$EVENTS];\n }\n}\nfunction setAttribute(node, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(name);\n else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttributeNS(namespace, name);\n else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n if (isHydrating(node)) return;\n value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n if (isHydrating(node)) return;\n if (value == null) node.removeAttribute(\"class\");\n else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = (e) => handlerFn.call(node, handler[1], e));\n } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}), prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i], classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = void 0);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== void 0 && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n }\n}\nfunction getNextElement(template2) {\n let node, key, hydrating = isHydrating();\n if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template2();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction isHydrating(node) {\n return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (prop.slice(0, 5) === \"bool:\") {\n setBoolAttribute(node, prop.slice(5), value);\n } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (isHydrating(node)) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);\n else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;\n else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);\n else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n if (sharedConfig.registry && sharedConfig.events) {\n if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n }\n let node = e.target;\n const key = `$$${e.type}`;\n const oriTarget = e.target;\n const oriCurrentTarget = e.currentTarget;\n const retarget = (value) => Object.defineProperty(e, \"target\", {\n configurable: true,\n value\n });\n const handleNode = () => {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== void 0 ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n return true;\n };\n const walkUpTree = () => {\n while (handleNode() && (node = node._$host || node.parentNode || node.host)) ;\n };\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n if (e.composedPath) {\n const path = e.composedPath();\n retarget(path[0]);\n for (let i = 0; i < path.length - 2; i++) {\n node = path[i];\n if (!handleNode()) break;\n if (node._$host) {\n node = node._$host;\n walkUpTree();\n break;\n }\n if (node.parentNode === oriCurrentTarget) {\n break;\n }\n }\n } else walkUpTree();\n retarget(oriTarget);\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = isHydrating(parent);\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();\n else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value, multi = marker !== void 0;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === void 0) return current = [...parent.childNodes];\n let node = array[0];\n if (node.parentNode !== parent) return current;\n const nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return current = nodes;\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi) return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i], prev = current && current[normalized.length], t;\n if (item == null || item === true || item === false) ;\n else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);\n else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === void 0) return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction getHydrationKey() {\n return sharedConfig.getNextContextId();\n}\nvar isServer = false;\nvar SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nfunction Portal(props) {\n const {\n useShadow\n } = props, marker = document.createTextNode(\"\"), mount = () => props.mount || document.body, owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(() => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot((dispose2) => insert(el, () => !clean() ? content() : dispose2(), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG), renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.removeChild(container));\n }\n }, void 0, {\n render: !hydrating\n });\n return marker;\n}\nfunction createDynamic(component, props) {\n const cached = createMemo(component);\n return createMemo(() => {\n const component2 = cached();\n switch (typeof component2) {\n case \"function\":\n return untrack(() => component2(props));\n case \"string\":\n const isSvg = SVGElements.has(component2);\n const el = sharedConfig.context ? getNextElement() : createElement(component2, isSvg);\n spread(el, props, isSvg);\n return el;\n }\n });\n}\nfunction Dynamic(props) {\n const [, others] = splitProps(props, [\"component\"]);\n return createDynamic(() => props.component, others);\n}\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js\nvar DoubleIndexedKV = class {\n constructor() {\n this.keyToValue = /* @__PURE__ */ new Map();\n this.valueToKey = /* @__PURE__ */ new Map();\n }\n set(key, value) {\n this.keyToValue.set(key, value);\n this.valueToKey.set(value, key);\n }\n getByKey(key) {\n return this.keyToValue.get(key);\n }\n getByValue(value) {\n return this.valueToKey.get(value);\n }\n clear() {\n this.keyToValue.clear();\n this.valueToKey.clear();\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js\nvar Registry = class {\n constructor(generateIdentifier) {\n this.generateIdentifier = generateIdentifier;\n this.kv = new DoubleIndexedKV();\n }\n register(value, identifier) {\n if (this.kv.getByValue(value)) {\n return;\n }\n if (!identifier) {\n identifier = this.generateIdentifier(value);\n }\n this.kv.set(identifier, value);\n }\n clear() {\n this.kv.clear();\n }\n getIdentifier(value) {\n return this.kv.getByValue(value);\n }\n getValue(identifier) {\n return this.kv.getByKey(identifier);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js\nvar ClassRegistry = class extends Registry {\n constructor() {\n super((c) => c.name);\n this.classToAllowedProps = /* @__PURE__ */ new Map();\n }\n register(value, options) {\n if (typeof options === \"object\") {\n if (options.allowProps) {\n this.classToAllowedProps.set(value, options.allowProps);\n }\n super.register(value, options.identifier);\n } else {\n super.register(value, options);\n }\n }\n getAllowedProps(value) {\n return this.classToAllowedProps.get(value);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js\nfunction valuesOfObj(record) {\n if (\"values\" in Object) {\n return Object.values(record);\n }\n const values = [];\n for (const key in record) {\n if (record.hasOwnProperty(key)) {\n values.push(record[key]);\n }\n }\n return values;\n}\nfunction find(record, predicate) {\n const values = valuesOfObj(record);\n if (\"find\" in values) {\n return values.find(predicate);\n }\n const valuesNotNever = values;\n for (let i = 0; i < valuesNotNever.length; i++) {\n const value = valuesNotNever[i];\n if (predicate(value)) {\n return value;\n }\n }\n return void 0;\n}\nfunction forEach(record, run) {\n Object.entries(record).forEach(([key, value]) => run(value, key));\n}\nfunction includes(arr, value) {\n return arr.indexOf(value) !== -1;\n}\nfunction findArr(record, predicate) {\n for (let i = 0; i < record.length; i++) {\n const value = record[i];\n if (predicate(value)) {\n return value;\n }\n }\n return void 0;\n}\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js\nvar CustomTransformerRegistry = class {\n constructor() {\n this.transfomers = {};\n }\n register(transformer) {\n this.transfomers[transformer.name] = transformer;\n }\n findApplicable(v) {\n return find(this.transfomers, (transformer) => transformer.isApplicable(v));\n }\n findByName(name) {\n return this.transfomers[name];\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js\nvar getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);\nvar isUndefined = (payload) => typeof payload === \"undefined\";\nvar isNull = (payload) => payload === null;\nvar isPlainObject = (payload) => {\n if (typeof payload !== \"object\" || payload === null)\n return false;\n if (payload === Object.prototype)\n return false;\n if (Object.getPrototypeOf(payload) === null)\n return true;\n return Object.getPrototypeOf(payload) === Object.prototype;\n};\nvar isEmptyObject = (payload) => isPlainObject(payload) && Object.keys(payload).length === 0;\nvar isArray = (payload) => Array.isArray(payload);\nvar isString = (payload) => typeof payload === \"string\";\nvar isNumber = (payload) => typeof payload === \"number\" && !isNaN(payload);\nvar isBoolean = (payload) => typeof payload === \"boolean\";\nvar isRegExp = (payload) => payload instanceof RegExp;\nvar isMap = (payload) => payload instanceof Map;\nvar isSet = (payload) => payload instanceof Set;\nvar isSymbol = (payload) => getType(payload) === \"Symbol\";\nvar isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());\nvar isError = (payload) => payload instanceof Error;\nvar isNaNValue = (payload) => typeof payload === \"number\" && isNaN(payload);\nvar isPrimitive = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\nvar isBigint = (payload) => typeof payload === \"bigint\";\nvar isInfinite = (payload) => payload === Infinity || payload === -Infinity;\nvar isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);\nvar isURL = (payload) => payload instanceof URL;\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js\nvar escapeKey = (key) => key.replace(/\\./g, \"\\\\.\");\nvar stringifyPath = (path) => path.map(String).map(escapeKey).join(\".\");\nvar parsePath = (string) => {\n const result = [];\n let segment = \"\";\n for (let i = 0; i < string.length; i++) {\n let char = string.charAt(i);\n const isEscapedDot = char === \"\\\\\" && string.charAt(i + 1) === \".\";\n if (isEscapedDot) {\n segment += \".\";\n i++;\n continue;\n }\n const isEndOfSegment = char === \".\";\n if (isEndOfSegment) {\n result.push(segment);\n segment = \"\";\n continue;\n }\n segment += char;\n }\n const lastSegment = segment;\n result.push(lastSegment);\n return result;\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform\n };\n}\nvar simpleRules = [\n simpleTransformation(isUndefined, \"undefined\", () => null, () => void 0),\n simpleTransformation(isBigint, \"bigint\", (v) => v.toString(), (v) => {\n if (typeof BigInt !== \"undefined\") {\n return BigInt(v);\n }\n return v;\n }),\n simpleTransformation(isDate, \"Date\", (v) => v.toISOString(), (v) => new Date(v)),\n simpleTransformation(isError, \"Error\", (v, superJson) => {\n const baseError = {\n name: v.name,\n message: v.message\n };\n superJson.allowedErrorProps.forEach((prop) => {\n baseError[prop] = v[prop];\n });\n return baseError;\n }, (v, superJson) => {\n const e = new Error(v.message);\n e.name = v.name;\n e.stack = v.stack;\n superJson.allowedErrorProps.forEach((prop) => {\n e[prop] = v[prop];\n });\n return e;\n }),\n simpleTransformation(isRegExp, \"regexp\", (v) => \"\" + v, (regex) => {\n const body = regex.slice(1, regex.lastIndexOf(\"/\"));\n const flags = regex.slice(regex.lastIndexOf(\"/\") + 1);\n return new RegExp(body, flags);\n }),\n simpleTransformation(\n isSet,\n \"set\",\n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n (v) => [...v.values()],\n (v) => new Set(v)\n ),\n simpleTransformation(isMap, \"map\", (v) => [...v.entries()], (v) => new Map(v)),\n simpleTransformation((v) => isNaNValue(v) || isInfinite(v), \"number\", (v) => {\n if (isNaNValue(v)) {\n return \"NaN\";\n }\n if (v > 0) {\n return \"Infinity\";\n } else {\n return \"-Infinity\";\n }\n }, Number),\n simpleTransformation((v) => v === 0 && 1 / v === -Infinity, \"number\", () => {\n return \"-0\";\n }, Number),\n simpleTransformation(isURL, \"URL\", (v) => v.toString(), (v) => new URL(v))\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable,\n annotation,\n transform,\n untransform\n };\n}\nvar symbolRule = compositeTransformation((s, superJson) => {\n if (isSymbol(s)) {\n const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);\n return isRegistered;\n }\n return false;\n}, (s, superJson) => {\n const identifier = superJson.symbolRegistry.getIdentifier(s);\n return [\"symbol\", identifier];\n}, (v) => v.description, (_, a, superJson) => {\n const value = superJson.symbolRegistry.getValue(a[1]);\n if (!value) {\n throw new Error(\"Trying to deserialize unknown symbol\");\n }\n return value;\n});\nvar constructorToName = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray\n].reduce((obj, ctor) => {\n obj[ctor.name] = ctor;\n return obj;\n}, {});\nvar typedArrayRule = compositeTransformation(isTypedArray, (v) => [\"typed-array\", v.constructor.name], (v) => [...v], (v, a) => {\n const ctor = constructorToName[a[1]];\n if (!ctor) {\n throw new Error(\"Trying to deserialize unknown typed array\");\n }\n return new ctor(v);\n});\nfunction isInstanceOfRegisteredClass(potentialClass, superJson) {\n if (potentialClass?.constructor) {\n const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n return isRegistered;\n }\n return false;\n}\nvar classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {\n const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);\n return [\"class\", identifier];\n}, (clazz, superJson) => {\n const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n if (!allowedProps) {\n return { ...clazz };\n }\n const result = {};\n allowedProps.forEach((prop) => {\n result[prop] = clazz[prop];\n });\n return result;\n}, (v, a, superJson) => {\n const clazz = superJson.classRegistry.getValue(a[1]);\n if (!clazz) {\n throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);\n }\n return Object.assign(Object.create(clazz.prototype), v);\n});\nvar customRule = compositeTransformation((value, superJson) => {\n return !!superJson.customTransformerRegistry.findApplicable(value);\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return [\"custom\", transformer.name];\n}, (value, superJson) => {\n const transformer = superJson.customTransformerRegistry.findApplicable(value);\n return transformer.serialize(value);\n}, (v, a, superJson) => {\n const transformer = superJson.customTransformerRegistry.findByName(a[1]);\n if (!transformer) {\n throw new Error(\"Trying to deserialize unknown custom value\");\n }\n return transformer.deserialize(v);\n});\nvar compositeRules = [classRule, symbolRule, customRule, typedArrayRule];\nvar transformValue = (value, superJson) => {\n const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));\n if (applicableCompositeRule) {\n return {\n value: applicableCompositeRule.transform(value, superJson),\n type: applicableCompositeRule.annotation(value, superJson)\n };\n }\n const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));\n if (applicableSimpleRule) {\n return {\n value: applicableSimpleRule.transform(value, superJson),\n type: applicableSimpleRule.annotation\n };\n }\n return void 0;\n};\nvar simpleRulesByAnnotation = {};\nsimpleRules.forEach((rule) => {\n simpleRulesByAnnotation[rule.annotation] = rule;\n});\nvar untransformValue = (json, type, superJson) => {\n if (isArray(type)) {\n switch (type[0]) {\n case \"symbol\":\n return symbolRule.untransform(json, type, superJson);\n case \"class\":\n return classRule.untransform(json, type, superJson);\n case \"custom\":\n return customRule.untransform(json, type, superJson);\n case \"typed-array\":\n return typedArrayRule.untransform(json, type, superJson);\n default:\n throw new Error(\"Unknown transformation: \" + type);\n }\n } else {\n const transformation = simpleRulesByAnnotation[type];\n if (!transformation) {\n throw new Error(\"Unknown transformation: \" + type);\n }\n return transformation.untransform(json, superJson);\n }\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js\nvar getNthKey = (value, n) => {\n if (n > value.size)\n throw new Error(\"index out of bounds\");\n const keys = value.keys();\n while (n > 0) {\n keys.next();\n n--;\n }\n return keys.next().value;\n};\nfunction validatePath(path) {\n if (includes(path, \"__proto__\")) {\n throw new Error(\"__proto__ is not allowed as a property\");\n }\n if (includes(path, \"prototype\")) {\n throw new Error(\"prototype is not allowed as a property\");\n }\n if (includes(path, \"constructor\")) {\n throw new Error(\"constructor is not allowed as a property\");\n }\n}\nvar getDeep = (object, path) => {\n validatePath(path);\n for (let i = 0; i < path.length; i++) {\n const key = path[i];\n if (isSet(object)) {\n object = getNthKey(object, +key);\n } else if (isMap(object)) {\n const row = +key;\n const type = +path[++i] === 0 ? \"key\" : \"value\";\n const keyOfRow = getNthKey(object, row);\n switch (type) {\n case \"key\":\n object = keyOfRow;\n break;\n case \"value\":\n object = object.get(keyOfRow);\n break;\n }\n } else {\n object = object[key];\n }\n }\n return object;\n};\nvar setDeep = (object, path, mapper) => {\n validatePath(path);\n if (path.length === 0) {\n return mapper(object);\n }\n let parent = object;\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n if (isArray(parent)) {\n const index = +key;\n parent = parent[index];\n } else if (isPlainObject(parent)) {\n parent = parent[key];\n } else if (isSet(parent)) {\n const row = +key;\n parent = getNthKey(parent, row);\n } else if (isMap(parent)) {\n const isEnd = i === path.length - 2;\n if (isEnd) {\n break;\n }\n const row = +key;\n const type = +path[++i] === 0 ? \"key\" : \"value\";\n const keyOfRow = getNthKey(parent, row);\n switch (type) {\n case \"key\":\n parent = keyOfRow;\n break;\n case \"value\":\n parent = parent.get(keyOfRow);\n break;\n }\n }\n }\n const lastKey = path[path.length - 1];\n if (isArray(parent)) {\n parent[+lastKey] = mapper(parent[+lastKey]);\n } else if (isPlainObject(parent)) {\n parent[lastKey] = mapper(parent[lastKey]);\n }\n if (isSet(parent)) {\n const oldValue = getNthKey(parent, +lastKey);\n const newValue = mapper(oldValue);\n if (oldValue !== newValue) {\n parent.delete(oldValue);\n parent.add(newValue);\n }\n }\n if (isMap(parent)) {\n const row = +path[path.length - 2];\n const keyToRow = getNthKey(parent, row);\n const type = +lastKey === 0 ? \"key\" : \"value\";\n switch (type) {\n case \"key\": {\n const newKey = mapper(keyToRow);\n parent.set(newKey, parent.get(keyToRow));\n if (newKey !== keyToRow) {\n parent.delete(keyToRow);\n }\n break;\n }\n case \"value\": {\n parent.set(keyToRow, mapper(parent.get(keyToRow)));\n break;\n }\n }\n }\n return object;\n};\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js\nfunction traverse(tree, walker2, origin = []) {\n if (!tree) {\n return;\n }\n if (!isArray(tree)) {\n forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)]));\n return;\n }\n const [nodeValue, children2] = tree;\n if (children2) {\n forEach(children2, (child, key) => {\n traverse(child, walker2, [...origin, ...parsePath(key)]);\n });\n }\n walker2(nodeValue, origin);\n}\nfunction applyValueAnnotations(plain, annotations, superJson) {\n traverse(annotations, (type, path) => {\n plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));\n });\n return plain;\n}\nfunction applyReferentialEqualityAnnotations(plain, annotations) {\n function apply(identicalPaths, path) {\n const object = getDeep(plain, parsePath(path));\n identicalPaths.map(parsePath).forEach((identicalObjectPath) => {\n plain = setDeep(plain, identicalObjectPath, () => object);\n });\n }\n if (isArray(annotations)) {\n const [root, other] = annotations;\n root.forEach((identicalPath) => {\n plain = setDeep(plain, parsePath(identicalPath), () => plain);\n });\n if (other) {\n forEach(other, apply);\n }\n } else {\n forEach(annotations, apply);\n }\n return plain;\n}\nvar isDeep = (object, superJson) => isPlainObject(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);\nfunction addIdentity(object, path, identities) {\n const existingSet = identities.get(object);\n if (existingSet) {\n existingSet.push(path);\n } else {\n identities.set(object, [path]);\n }\n}\nfunction generateReferentialEqualityAnnotations(identitites, dedupe) {\n const result = {};\n let rootEqualityPaths = void 0;\n identitites.forEach((paths) => {\n if (paths.length <= 1) {\n return;\n }\n if (!dedupe) {\n paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);\n }\n const [representativePath, ...identicalPaths] = paths;\n if (representativePath.length === 0) {\n rootEqualityPaths = identicalPaths.map(stringifyPath);\n } else {\n result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n }\n });\n if (rootEqualityPaths) {\n if (isEmptyObject(result)) {\n return [rootEqualityPaths];\n } else {\n return [rootEqualityPaths, result];\n }\n } else {\n return isEmptyObject(result) ? void 0 : result;\n }\n}\nvar walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {\n const primitive = isPrimitive(object);\n if (!primitive) {\n addIdentity(object, path, identities);\n const seen = seenObjects.get(object);\n if (seen) {\n return dedupe ? {\n transformedValue: null\n } : seen;\n }\n }\n if (!isDeep(object, superJson)) {\n const transformed2 = transformValue(object, superJson);\n const result2 = transformed2 ? {\n transformedValue: transformed2.value,\n annotations: [transformed2.type]\n } : {\n transformedValue: object\n };\n if (!primitive) {\n seenObjects.set(object, result2);\n }\n return result2;\n }\n if (includes(objectsInThisPath, object)) {\n return {\n transformedValue: null\n };\n }\n const transformationResult = transformValue(object, superJson);\n const transformed = transformationResult?.value ?? object;\n const transformedValue = isArray(transformed) ? [] : {};\n const innerAnnotations = {};\n forEach(transformed, (value, index) => {\n if (index === \"__proto__\" || index === \"constructor\" || index === \"prototype\") {\n throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);\n }\n const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);\n transformedValue[index] = recursiveResult.transformedValue;\n if (isArray(recursiveResult.annotations)) {\n innerAnnotations[index] = recursiveResult.annotations;\n } else if (isPlainObject(recursiveResult.annotations)) {\n forEach(recursiveResult.annotations, (tree, key) => {\n innerAnnotations[escapeKey(index) + \".\" + key] = tree;\n });\n }\n });\n const result = isEmptyObject(innerAnnotations) ? {\n transformedValue,\n annotations: !!transformationResult ? [transformationResult.type] : void 0\n } : {\n transformedValue,\n annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n};\n\n// ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js\nfunction getType2(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\nfunction isArray2(payload) {\n return getType2(payload) === \"Array\";\n}\nfunction isPlainObject2(payload) {\n if (getType2(payload) !== \"Object\")\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n\n// ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js\nfunction assignProp2(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n if (propType === \"enumerable\")\n carry[key] = newVal;\n if (includeNonenumerable && propType === \"nonenumerable\") {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n}\nfunction copy(target, options = {}) {\n if (isArray2(target)) {\n return target.map((item) => copy(item, options));\n }\n if (!isPlainObject2(target)) {\n return target;\n }\n const props = Object.getOwnPropertyNames(target);\n const symbols = Object.getOwnPropertySymbols(target);\n return [...props, ...symbols].reduce((carry, key) => {\n if (isArray2(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target[key];\n const newVal = copy(val, options);\n assignProp2(carry, key, newVal, target, options.nonenumerable);\n return carry;\n }, {});\n}\n\n// ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js\nvar SuperJSON = class {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n constructor({ dedupe = false } = {}) {\n this.classRegistry = new ClassRegistry();\n this.symbolRegistry = new Registry((s) => s.description ?? \"\");\n this.customTransformerRegistry = new CustomTransformerRegistry();\n this.allowedErrorProps = [];\n this.dedupe = dedupe;\n }\n serialize(object) {\n const identities = /* @__PURE__ */ new Map();\n const output = walker(object, identities, this, this.dedupe);\n const res = {\n json: output.transformedValue\n };\n if (output.annotations) {\n res.meta = {\n ...res.meta,\n values: output.annotations\n };\n }\n const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n if (equalityAnnotations) {\n res.meta = {\n ...res.meta,\n referentialEqualities: equalityAnnotations\n };\n }\n return res;\n }\n deserialize(payload) {\n const { json, meta } = payload;\n let result = copy(json);\n if (meta?.values) {\n result = applyValueAnnotations(result, meta.values, this);\n }\n if (meta?.referentialEqualities) {\n result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);\n }\n return result;\n }\n stringify(object) {\n return JSON.stringify(this.serialize(object));\n }\n parse(string) {\n return this.deserialize(JSON.parse(string));\n }\n registerClass(v, options) {\n this.classRegistry.register(v, options);\n }\n registerSymbol(v, identifier) {\n this.symbolRegistry.register(v, identifier);\n }\n registerCustom(transformer, name) {\n this.customTransformerRegistry.register({\n name,\n ...transformer\n });\n }\n allowErrorProps(...props) {\n this.allowedErrorProps.push(...props);\n }\n};\nSuperJSON.defaultInstance = new SuperJSON();\nSuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\nSuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\nSuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\nSuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\nSuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\nSuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\nSuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\nSuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\nvar serialize = SuperJSON.serialize;\nSuperJSON.deserialize;\nvar stringify = SuperJSON.stringify;\nSuperJSON.parse;\nSuperJSON.registerClass;\nSuperJSON.registerCustom;\nSuperJSON.registerSymbol;\nSuperJSON.allowErrorProps;\n\n// src/utils.tsx\nfunction getQueryStatusLabel(query) {\n return query.state.fetchStatus === \"fetching\" ? \"fetching\" : !query.getObserversCount() ? \"inactive\" : query.state.fetchStatus === \"paused\" ? \"paused\" : query.isStale() ? \"stale\" : \"fresh\";\n}\nfunction getSidedProp(prop, side) {\n return `${prop}${side.charAt(0).toUpperCase() + side.slice(1)}`;\n}\nfunction getQueryStatusColor({\n queryState,\n observerCount,\n isStale\n}) {\n return queryState.fetchStatus === \"fetching\" ? \"blue\" : !observerCount ? \"gray\" : queryState.fetchStatus === \"paused\" ? \"purple\" : isStale ? \"yellow\" : \"green\";\n}\nfunction getMutationStatusColor({\n status,\n isPaused\n}) {\n return isPaused ? \"purple\" : status === \"error\" ? \"red\" : status === \"pending\" ? \"yellow\" : status === \"success\" ? \"green\" : \"gray\";\n}\nfunction getQueryStatusColorByLabel(label) {\n return label === \"fresh\" ? \"green\" : label === \"stale\" ? \"yellow\" : label === \"paused\" ? \"purple\" : label === \"inactive\" ? \"gray\" : \"blue\";\n}\nvar displayValue = (value, beautify = false) => {\n const {\n json\n } = serialize(value);\n return JSON.stringify(json, null, beautify ? 2 : void 0);\n};\nvar getStatusRank = (q) => q.state.fetchStatus !== \"idle\" ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;\nvar queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);\nvar dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;\nvar statusAndDateSort = (a, b) => {\n if (getStatusRank(a) === getStatusRank(b)) {\n return dateSort(a, b);\n }\n return getStatusRank(a) > getStatusRank(b) ? 1 : -1;\n};\nvar sortFns = {\n status: statusAndDateSort,\n \"query hash\": queryHashSort,\n \"last updated\": dateSort\n};\nvar getMutationStatusRank = (m) => m.state.isPaused ? 0 : m.state.status === \"error\" ? 2 : m.state.status === \"pending\" ? 1 : 3;\nvar mutationDateSort = (a, b) => a.state.submittedAt < b.state.submittedAt ? 1 : -1;\nvar mutationStatusSort = (a, b) => {\n if (getMutationStatusRank(a) === getMutationStatusRank(b)) {\n return mutationDateSort(a, b);\n }\n return getMutationStatusRank(a) > getMutationStatusRank(b) ? 1 : -1;\n};\nvar mutationSortFns = {\n status: mutationStatusSort,\n \"last updated\": mutationDateSort\n};\nvar convertRemToPixels = (rem) => {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n};\nvar getPreferredColorScheme = () => {\n const [colorScheme, setColorScheme] = createSignal(\"dark\");\n onMount(() => {\n const query = window.matchMedia(\"(prefers-color-scheme: dark)\");\n setColorScheme(query.matches ? \"dark\" : \"light\");\n const listener = (e) => {\n setColorScheme(e.matches ? \"dark\" : \"light\");\n };\n query.addEventListener(\"change\", listener);\n onCleanup(() => query.removeEventListener(\"change\", listener));\n });\n return colorScheme;\n};\nvar updateNestedDataByPath = (oldData, updatePath, value) => {\n if (updatePath.length === 0) {\n return value;\n }\n if (oldData instanceof Map) {\n const newData = new Map(oldData);\n if (updatePath.length === 1) {\n newData.set(updatePath[0], value);\n return newData;\n }\n const [head, ...tail] = updatePath;\n newData.set(head, updateNestedDataByPath(newData.get(head), tail, value));\n return newData;\n }\n if (oldData instanceof Set) {\n const setAsArray = updateNestedDataByPath(Array.from(oldData), updatePath, value);\n return new Set(setAsArray);\n }\n if (Array.isArray(oldData)) {\n const newData = [...oldData];\n if (updatePath.length === 1) {\n newData[updatePath[0]] = value;\n return newData;\n }\n const [head, ...tail] = updatePath;\n newData[head] = updateNestedDataByPath(newData[head], tail, value);\n return newData;\n }\n if (oldData instanceof Object) {\n const newData = {\n ...oldData\n };\n if (updatePath.length === 1) {\n newData[updatePath[0]] = value;\n return newData;\n }\n const [head, ...tail] = updatePath;\n newData[head] = updateNestedDataByPath(newData[head], tail, value);\n return newData;\n }\n return oldData;\n};\nvar deleteNestedDataByPath = (oldData, deletePath) => {\n if (oldData instanceof Map) {\n const newData = new Map(oldData);\n if (deletePath.length === 1) {\n newData.delete(deletePath[0]);\n return newData;\n }\n const [head, ...tail] = deletePath;\n newData.set(head, deleteNestedDataByPath(newData.get(head), tail));\n return newData;\n }\n if (oldData instanceof Set) {\n const setAsArray = deleteNestedDataByPath(Array.from(oldData), deletePath);\n return new Set(setAsArray);\n }\n if (Array.isArray(oldData)) {\n const newData = [...oldData];\n if (deletePath.length === 1) {\n return newData.filter((_, idx) => idx.toString() !== deletePath[0]);\n }\n const [head, ...tail] = deletePath;\n newData[head] = deleteNestedDataByPath(newData[head], tail);\n return newData;\n }\n if (oldData instanceof Object) {\n const newData = {\n ...oldData\n };\n if (deletePath.length === 1) {\n delete newData[deletePath[0]];\n return newData;\n }\n const [head, ...tail] = deletePath;\n newData[head] = deleteNestedDataByPath(newData[head], tail);\n return newData;\n }\n return oldData;\n};\nvar setupStyleSheet = (nonce, target) => {\n if (!nonce) return;\n const styleExists = document.querySelector(\"#_goober\") || target?.querySelector(\"#_goober\");\n if (styleExists) return;\n const styleTag = document.createElement(\"style\");\n const textNode = document.createTextNode(\"\");\n styleTag.appendChild(textNode);\n styleTag.id = \"_goober\";\n styleTag.setAttribute(\"nonce\", nonce);\n if (target) {\n target.appendChild(styleTag);\n } else {\n document.head.appendChild(styleTag);\n }\n};\n\nexport { $TRACK, DEV, Dynamic, For, Index, Match, Portal, Show, Switch, addEventListener, batch, className, clearDelegatedEvents, convertRemToPixels, createComponent, createComputed, createContext, createEffect, createMemo, createRenderEffect, createRoot, createSignal, createUniqueId, delegateEvents, deleteNestedDataByPath, displayValue, getMutationStatusColor, getOwner, getPreferredColorScheme, getQueryStatusColor, getQueryStatusColorByLabel, getQueryStatusLabel, getSidedProp, insert, isServer, lazy, memo, mergeProps, mutationSortFns, on, onCleanup, onMount, render, serialize, setAttribute, setupStyleSheet, sortFns, splitProps, spread, stringify, template, untrack, updateNestedDataByPath, use, useContext, useTransition };\n","import { sortFns, mutationSortFns, createContext, splitProps, createMemo, createComponent, mergeProps, createUniqueId, createSignal, createEffect, onCleanup, Show, on, delegateEvents, Dynamic, useContext, template, createRenderEffect, setAttribute, memo, Portal, untrack, isServer, onMount, createComputed, getOwner, use, insert, className, getSidedProp, getQueryStatusColor, getMutationStatusColor, getQueryStatusLabel, spread, getQueryStatusColorByLabel, displayValue, For, batch, clearDelegatedEvents, convertRemToPixels, serialize, Index, updateNestedDataByPath, $TRACK, createRoot, DEV, addEventListener, stringify, Switch, Match, deleteNestedDataByPath, useTransition } from './EIDV623S.js';\n\n// ../../node_modules/.pnpm/@solid-primitives+utils@6.2.3_solid-js@1.9.7/node_modules/@solid-primitives/utils/dist/chunk/R5675YMU.js\nvar isClient = !isServer;\nvar isDev = isClient && !!DEV;\nvar noop = () => void 0;\nvar isNonNullable = (i2) => i2 != null;\nvar filterNonNullable = (arr) => arr.filter(isNonNullable);\nfunction chain(callbacks) {\n return (...args) => {\n for (const callback of callbacks)\n callback && callback(...args);\n };\n}\nvar access = (v) => typeof v === \"function\" && !v.length ? v() : v;\nvar asArray = (value) => Array.isArray(value) ? value : value ? [value] : [];\nfunction accessWith(valueOrFn, ...args) {\n return typeof valueOrFn === \"function\" ? valueOrFn(...args) : valueOrFn;\n}\nvar tryOnCleanup = isDev ? (fn) => getOwner() ? onCleanup(fn) : fn : onCleanup;\nfunction handleDiffArray(current, prev, handleAdded, handleRemoved) {\n const currLength = current.length;\n const prevLength = prev.length;\n let i2 = 0;\n if (!prevLength) {\n for (; i2 < currLength; i2++)\n handleAdded(current[i2]);\n return;\n }\n if (!currLength) {\n for (; i2 < prevLength; i2++)\n handleRemoved(prev[i2]);\n return;\n }\n for (; i2 < prevLength; i2++) {\n if (prev[i2] !== current[i2])\n break;\n }\n let prevEl;\n let currEl;\n prev = prev.slice(i2);\n current = current.slice(i2);\n for (prevEl of prev) {\n if (!current.includes(prevEl))\n handleRemoved(prevEl);\n }\n for (currEl of current) {\n if (!prev.includes(currEl))\n handleAdded(currEl);\n }\n}\n\n// ../../node_modules/.pnpm/@solid-primitives+storage@1.3.11_solid-js@1.9.7/node_modules/@solid-primitives/storage/dist/index.js\nfunction createStorage(props) {\n const [error, setError] = createSignal();\n const handleError = props?.throw ? (err, fallback) => {\n setError(err instanceof Error ? err : new Error(fallback));\n throw err;\n } : (err, fallback) => {\n setError(err instanceof Error ? err : new Error(fallback));\n };\n const apis = props?.api ? Array.isArray(props.api) ? props.api : [props.api] : [globalThis.localStorage].filter(Boolean);\n const prefix = props?.prefix ? `${props.prefix}.` : \"\";\n const signals = /* @__PURE__ */ new Map();\n const store = new Proxy(\n {},\n {\n get(_, key) {\n let node = signals.get(key);\n if (!node) {\n node = createSignal(void 0, { equals: false });\n signals.set(key, node);\n }\n node[0]();\n const value = apis.reduce(\n (result, api) => {\n if (result !== null || !api) {\n return result;\n }\n try {\n return api.getItem(`${prefix}${key}`);\n } catch (err) {\n handleError(err, `Error reading ${prefix}${key} from ${api[\"name\"]}`);\n return null;\n }\n },\n null\n );\n if (value !== null && props?.deserializer) {\n return props.deserializer(value, key, props.options);\n }\n return value;\n }\n }\n );\n const setter = (key, value, options) => {\n const filteredValue = props?.serializer ? props.serializer(value, key, options ?? props.options) : value;\n const apiKey = `${prefix}${key}`;\n apis.forEach((api) => {\n try {\n api.getItem(apiKey) !== filteredValue && api.setItem(apiKey, filteredValue);\n } catch (err) {\n handleError(err, `Error setting ${prefix}${key} to ${filteredValue} in ${api.name}`);\n }\n });\n const node = signals.get(key);\n node && node[1]();\n };\n const remove = (key) => apis.forEach((api) => {\n try {\n api.removeItem(`${prefix}${key}`);\n } catch (err) {\n handleError(err, `Error removing ${prefix}${key} from ${api.name}`);\n }\n });\n const clear = () => apis.forEach((api) => {\n try {\n api.clear();\n } catch (err) {\n handleError(err, `Error clearing ${api.name}`);\n }\n });\n const toJSON = () => {\n const result = {};\n const addValue = (key, value) => {\n if (!result.hasOwnProperty(key)) {\n const filteredValue = value && props?.deserializer ? props.deserializer(value, key, props.options) : value;\n if (filteredValue) {\n result[key] = filteredValue;\n }\n }\n };\n apis.forEach((api) => {\n if (typeof api.getAll === \"function\") {\n let values;\n try {\n values = api.getAll();\n } catch (err) {\n handleError(err, `Error getting all values from in ${api.name}`);\n }\n for (const key of values) {\n addValue(key, values[key]);\n }\n } else {\n let index = 0, key;\n try {\n while (key = api.key(index++)) {\n if (!result.hasOwnProperty(key)) {\n addValue(key, api.getItem(key));\n }\n }\n } catch (err) {\n handleError(err, `Error getting all values from ${api.name}`);\n }\n }\n });\n return result;\n };\n props?.sync !== false && onMount(() => {\n const listener = (ev) => {\n let changed = false;\n apis.forEach((api) => {\n try {\n if (api !== ev.storageArea && ev.key && ev.newValue !== api.getItem(ev.key)) {\n ev.newValue ? api.setItem(ev.key, ev.newValue) : api.removeItem(ev.key);\n changed = true;\n }\n } catch (err) {\n handleError(\n err,\n `Error synching api ${api.name} from storage event (${ev.key}=${ev.newValue})`\n );\n }\n });\n changed && ev.key && signals.get(ev.key)?.[1]();\n };\n if (\"addEventListener\" in globalThis) {\n globalThis.addEventListener(\"storage\", listener);\n onCleanup(() => globalThis.removeEventListener(\"storage\", listener));\n } else {\n apis.forEach((api) => api.addEventListener?.(\"storage\", listener));\n onCleanup(() => apis.forEach((api) => api.removeEventListener?.(\"storage\", listener)));\n }\n });\n return [\n store,\n setter,\n {\n clear,\n error,\n remove,\n toJSON\n }\n ];\n}\nvar createLocalStorage = createStorage;\nvar addClearMethod = (storage) => {\n if (typeof storage.clear === \"function\") {\n return storage;\n }\n storage.clear = () => {\n let key;\n while (key = storage.key(0)) {\n storage.removeItem(key);\n }\n };\n return storage;\n};\nvar serializeCookieOptions = (options) => {\n if (!options) {\n return \"\";\n }\n let memo2 = \"\";\n for (const key in options) {\n if (!options.hasOwnProperty(key)) {\n continue;\n }\n const value = options[key];\n memo2 += value instanceof Date ? `; ${key}=${value.toUTCString()}` : typeof value === \"boolean\" ? `; ${key}` : `; ${key}=${value}`;\n }\n return memo2;\n};\nvar cookieStorage = addClearMethod({\n _cookies: [globalThis.document, \"cookie\"],\n getItem: (key) => cookieStorage._cookies[0][cookieStorage._cookies[1]].match(\"(^|;)\\\\s*\" + key + \"\\\\s*=\\\\s*([^;]+)\")?.pop() ?? null,\n setItem: (key, value, options) => {\n const oldValue = cookieStorage.getItem(key);\n cookieStorage._cookies[0][cookieStorage._cookies[1]] = `${key}=${value}${serializeCookieOptions(\n options\n )}`;\n const storageEvent = Object.assign(new Event(\"storage\"), {\n key,\n oldValue,\n newValue: value,\n url: globalThis.document.URL,\n storageArea: cookieStorage\n });\n window.dispatchEvent(storageEvent);\n },\n removeItem: (key) => {\n cookieStorage._cookies[0][cookieStorage._cookies[1]] = `${key}=deleted${serializeCookieOptions({\n expires: /* @__PURE__ */ new Date(0)\n })}`;\n },\n key: (index) => {\n let key = null;\n let count = 0;\n cookieStorage._cookies[0][cookieStorage._cookies[1]].replace(\n /(?:^|;)\\s*(.+?)\\s*=\\s*[^;]+/g,\n (_, found) => {\n if (!key && found && count++ === index) {\n key = found;\n }\n return \"\";\n }\n );\n return key;\n },\n get length() {\n let length = 0;\n cookieStorage._cookies[0][cookieStorage._cookies[1]].replace(\n /(?:^|;)\\s*.+?\\s*=\\s*[^;]+/g,\n (found) => {\n length += found ? 1 : 0;\n return \"\";\n }\n );\n return length;\n }\n});\n\n// src/constants.ts\nvar firstBreakpoint = 1024;\nvar secondBreakpoint = 796;\nvar thirdBreakpoint = 700;\nvar BUTTON_POSITION = \"bottom-right\";\nvar POSITION = \"bottom\";\nvar THEME_PREFERENCE = \"system\";\nvar INITIAL_IS_OPEN = false;\nvar DEFAULT_HEIGHT = 500;\nvar PIP_DEFAULT_HEIGHT = 500;\nvar DEFAULT_WIDTH = 500;\nvar DEFAULT_SORT_FN_NAME = Object.keys(sortFns)[0];\nvar DEFAULT_SORT_ORDER = 1;\nvar DEFAULT_MUTATION_SORT_FN_NAME = Object.keys(mutationSortFns)[0];\n\n// src/contexts/QueryDevtoolsContext.ts\nvar QueryDevtoolsContext = createContext({\n client: void 0,\n onlineManager: void 0,\n queryFlavor: \"\",\n version: \"\",\n shadowDOMTarget: void 0\n});\nfunction useQueryDevtoolsContext() {\n return useContext(QueryDevtoolsContext);\n}\n\n// src/contexts/PiPContext.tsx\nvar PiPContext = createContext(void 0);\nvar PiPProvider = (props) => {\n const [pipWindow, setPipWindow] = createSignal(null);\n const closePipWindow = () => {\n const w = pipWindow();\n if (w != null) {\n w.close();\n setPipWindow(null);\n }\n };\n const requestPipWindow = (width, height) => {\n if (pipWindow() != null) {\n return;\n }\n const pip = window.open(\"\", \"TSQD-Devtools-Panel\", `width=${width},height=${height},popup`);\n if (!pip) {\n throw new Error(\"Failed to open popup. Please allow popups for this site to view the devtools in picture-in-picture mode.\");\n }\n pip.document.head.innerHTML = \"\";\n pip.document.body.innerHTML = \"\";\n clearDelegatedEvents(pip.document);\n pip.document.title = \"TanStack Query Devtools\";\n pip.document.body.style.margin = \"0\";\n pip.addEventListener(\"pagehide\", () => {\n props.setLocalStore(\"pip_open\", \"false\");\n setPipWindow(null);\n });\n [...(useQueryDevtoolsContext().shadowDOMTarget || document).styleSheets].forEach((styleSheet) => {\n try {\n const cssRules = [...styleSheet.cssRules].map((rule) => rule.cssText).join(\"\");\n const style = document.createElement(\"style\");\n const style_node = styleSheet.ownerNode;\n let style_id = \"\";\n if (style_node && \"id\" in style_node) {\n style_id = style_node.id;\n }\n if (style_id) {\n style.setAttribute(\"id\", style_id);\n }\n style.textContent = cssRules;\n pip.document.head.appendChild(style);\n } catch (e2) {\n const link = document.createElement(\"link\");\n if (styleSheet.href == null) {\n return;\n }\n link.rel = \"stylesheet\";\n link.type = styleSheet.type;\n link.media = styleSheet.media.toString();\n link.href = styleSheet.href;\n pip.document.head.appendChild(link);\n }\n });\n delegateEvents([\"focusin\", \"focusout\", \"pointermove\", \"keydown\", \"pointerdown\", \"pointerup\", \"click\", \"mousedown\", \"input\"], pip.document);\n props.setLocalStore(\"pip_open\", \"true\");\n setPipWindow(pip);\n };\n createEffect(() => {\n const pip_open = props.localStore.pip_open ?? \"false\";\n if (pip_open === \"true\" && !props.disabled) {\n requestPipWindow(Number(window.innerWidth), Number(props.localStore.height || PIP_DEFAULT_HEIGHT));\n }\n });\n createEffect(() => {\n const gooberStyles = (useQueryDevtoolsContext().shadowDOMTarget || document).querySelector(\"#_goober\");\n const w = pipWindow();\n if (gooberStyles && w) {\n const observer = new MutationObserver(() => {\n const pip_style = (useQueryDevtoolsContext().shadowDOMTarget || w.document).querySelector(\"#_goober\");\n if (pip_style) {\n pip_style.textContent = gooberStyles.textContent;\n }\n });\n observer.observe(gooberStyles, {\n childList: true,\n // observe direct children\n subtree: true,\n // and lower descendants too\n characterDataOldValue: true\n // pass old data to callback\n });\n onCleanup(() => {\n observer.disconnect();\n });\n }\n });\n const value = createMemo(() => ({\n pipWindow: pipWindow(),\n requestPipWindow,\n closePipWindow,\n disabled: props.disabled ?? false\n }));\n return createComponent(PiPContext.Provider, {\n value,\n get children() {\n return props.children;\n }\n });\n};\nvar usePiPWindow = () => {\n const context = createMemo(() => {\n const ctx = useContext(PiPContext);\n if (!ctx) {\n throw new Error(\"usePiPWindow must be used within a PiPProvider\");\n }\n return ctx();\n });\n return context;\n};\n\n// src/contexts/ThemeContext.ts\nvar ThemeContext = createContext(\n () => \"dark\"\n);\nfunction useTheme() {\n return useContext(ThemeContext);\n}\n\n// ../../node_modules/.pnpm/@tanstack+match-sorter-utils@8.19.4/node_modules/@tanstack/match-sorter-utils/build/lib/index.mjs\nvar characterMap = {\n \\u00C0: \"A\",\n \\u00C1: \"A\",\n \\u00C2: \"A\",\n \\u00C3: \"A\",\n \\u00C4: \"A\",\n \\u00C5: \"A\",\n \\u1EA4: \"A\",\n \\u1EAE: \"A\",\n \\u1EB2: \"A\",\n \\u1EB4: \"A\",\n \\u1EB6: \"A\",\n \\u00C6: \"AE\",\n \\u1EA6: \"A\",\n \\u1EB0: \"A\",\n \\u0202: \"A\",\n \\u00C7: \"C\",\n \\u1E08: \"C\",\n \\u00C8: \"E\",\n \\u00C9: \"E\",\n \\u00CA: \"E\",\n \\u00CB: \"E\",\n \\u1EBE: \"E\",\n \\u1E16: \"E\",\n \\u1EC0: \"E\",\n \\u1E14: \"E\",\n \\u1E1C: \"E\",\n \\u0206: \"E\",\n \\u00CC: \"I\",\n \\u00CD: \"I\",\n \\u00CE: \"I\",\n \\u00CF: \"I\",\n \\u1E2E: \"I\",\n \\u020A: \"I\",\n \\u00D0: \"D\",\n \\u00D1: \"N\",\n \\u00D2: \"O\",\n \\u00D3: \"O\",\n \\u00D4: \"O\",\n \\u00D5: \"O\",\n \\u00D6: \"O\",\n \\u00D8: \"O\",\n \\u1ED0: \"O\",\n \\u1E4C: \"O\",\n \\u1E52: \"O\",\n \\u020E: \"O\",\n \\u00D9: \"U\",\n \\u00DA: \"U\",\n \\u00DB: \"U\",\n \\u00DC: \"U\",\n \\u00DD: \"Y\",\n \\u00E0: \"a\",\n \\u00E1: \"a\",\n \\u00E2: \"a\",\n \\u00E3: \"a\",\n \\u00E4: \"a\",\n \\u00E5: \"a\",\n \\u1EA5: \"a\",\n \\u1EAF: \"a\",\n \\u1EB3: \"a\",\n \\u1EB5: \"a\",\n \\u1EB7: \"a\",\n \\u00E6: \"ae\",\n \\u1EA7: \"a\",\n \\u1EB1: \"a\",\n \\u0203: \"a\",\n \\u00E7: \"c\",\n \\u1E09: \"c\",\n \\u00E8: \"e\",\n \\u00E9: \"e\",\n \\u00EA: \"e\",\n \\u00EB: \"e\",\n \\u1EBF: \"e\",\n \\u1E17: \"e\",\n \\u1EC1: \"e\",\n \\u1E15: \"e\",\n \\u1E1D: \"e\",\n \\u0207: \"e\",\n \\u00EC: \"i\",\n \\u00ED: \"i\",\n \\u00EE: \"i\",\n \\u00EF: \"i\",\n \\u1E2F: \"i\",\n \\u020B: \"i\",\n \\u00F0: \"d\",\n \\u00F1: \"n\",\n \\u00F2: \"o\",\n \\u00F3: \"o\",\n \\u00F4: \"o\",\n \\u00F5: \"o\",\n \\u00F6: \"o\",\n \\u00F8: \"o\",\n \\u1ED1: \"o\",\n \\u1E4D: \"o\",\n \\u1E53: \"o\",\n \\u020F: \"o\",\n \\u00F9: \"u\",\n \\u00FA: \"u\",\n \\u00FB: \"u\",\n \\u00FC: \"u\",\n \\u00FD: \"y\",\n \\u00FF: \"y\",\n \\u0100: \"A\",\n \\u0101: \"a\",\n \\u0102: \"A\",\n \\u0103: \"a\",\n \\u0104: \"A\",\n \\u0105: \"a\",\n \\u0106: \"C\",\n \\u0107: \"c\",\n \\u0108: \"C\",\n \\u0109: \"c\",\n \\u010A: \"C\",\n \\u010B: \"c\",\n \\u010C: \"C\",\n \\u010D: \"c\",\n C\\u0306: \"C\",\n c\\u0306: \"c\",\n \\u010E: \"D\",\n \\u010F: \"d\",\n \\u0110: \"D\",\n \\u0111: \"d\",\n \\u0112: \"E\",\n \\u0113: \"e\",\n \\u0114: \"E\",\n \\u0115: \"e\",\n \\u0116: \"E\",\n \\u0117: \"e\",\n \\u0118: \"E\",\n \\u0119: \"e\",\n \\u011A: \"E\",\n \\u011B: \"e\",\n \\u011C: \"G\",\n \\u01F4: \"G\",\n \\u011D: \"g\",\n \\u01F5: \"g\",\n \\u011E: \"G\",\n \\u011F: \"g\",\n \\u0120: \"G\",\n \\u0121: \"g\",\n \\u0122: \"G\",\n \\u0123: \"g\",\n \\u0124: \"H\",\n \\u0125: \"h\",\n \\u0126: \"H\",\n \\u0127: \"h\",\n \\u1E2A: \"H\",\n \\u1E2B: \"h\",\n \\u0128: \"I\",\n \\u0129: \"i\",\n \\u012A: \"I\",\n \\u012B: \"i\",\n \\u012C: \"I\",\n \\u012D: \"i\",\n \\u012E: \"I\",\n \\u012F: \"i\",\n \\u0130: \"I\",\n \\u0131: \"i\",\n \\u0132: \"IJ\",\n \\u0133: \"ij\",\n \\u0134: \"J\",\n \\u0135: \"j\",\n \\u0136: \"K\",\n \\u0137: \"k\",\n \\u1E30: \"K\",\n \\u1E31: \"k\",\n K\\u0306: \"K\",\n k\\u0306: \"k\",\n \\u0139: \"L\",\n \\u013A: \"l\",\n \\u013B: \"L\",\n \\u013C: \"l\",\n \\u013D: \"L\",\n \\u013E: \"l\",\n \\u013F: \"L\",\n \\u0140: \"l\",\n \\u0141: \"l\",\n \\u0142: \"l\",\n \\u1E3E: \"M\",\n \\u1E3F: \"m\",\n M\\u0306: \"M\",\n m\\u0306: \"m\",\n \\u0143: \"N\",\n \\u0144: \"n\",\n \\u0145: \"N\",\n \\u0146: \"n\",\n \\u0147: \"N\",\n \\u0148: \"n\",\n \\u0149: \"n\",\n N\\u0306: \"N\",\n n\\u0306: \"n\",\n \\u014C: \"O\",\n \\u014D: \"o\",\n \\u014E: \"O\",\n \\u014F: \"o\",\n \\u0150: \"O\",\n \\u0151: \"o\",\n \\u0152: \"OE\",\n \\u0153: \"oe\",\n P\\u0306: \"P\",\n p\\u0306: \"p\",\n \\u0154: \"R\",\n \\u0155: \"r\",\n \\u0156: \"R\",\n \\u0157: \"r\",\n \\u0158: \"R\",\n \\u0159: \"r\",\n R\\u0306: \"R\",\n r\\u0306: \"r\",\n \\u0212: \"R\",\n \\u0213: \"r\",\n \\u015A: \"S\",\n \\u015B: \"s\",\n \\u015C: \"S\",\n \\u015D: \"s\",\n \\u015E: \"S\",\n \\u0218: \"S\",\n \\u0219: \"s\",\n \\u015F: \"s\",\n \\u0160: \"S\",\n \\u0161: \"s\",\n \\u0162: \"T\",\n \\u0163: \"t\",\n \\u021B: \"t\",\n \\u021A: \"T\",\n \\u0164: \"T\",\n \\u0165: \"t\",\n \\u0166: \"T\",\n \\u0167: \"t\",\n T\\u0306: \"T\",\n t\\u0306: \"t\",\n \\u0168: \"U\",\n \\u0169: \"u\",\n \\u016A: \"U\",\n \\u016B: \"u\",\n \\u016C: \"U\",\n \\u016D: \"u\",\n \\u016E: \"U\",\n \\u016F: \"u\",\n \\u0170: \"U\",\n \\u0171: \"u\",\n \\u0172: \"U\",\n \\u0173: \"u\",\n \\u0216: \"U\",\n \\u0217: \"u\",\n V\\u0306: \"V\",\n v\\u0306: \"v\",\n \\u0174: \"W\",\n \\u0175: \"w\",\n \\u1E82: \"W\",\n \\u1E83: \"w\",\n X\\u0306: \"X\",\n x\\u0306: \"x\",\n \\u0176: \"Y\",\n \\u0177: \"y\",\n \\u0178: \"Y\",\n Y\\u0306: \"Y\",\n y\\u0306: \"y\",\n \\u0179: \"Z\",\n \\u017A: \"z\",\n \\u017B: \"Z\",\n \\u017C: \"z\",\n \\u017D: \"Z\",\n \\u017E: \"z\",\n \\u017F: \"s\",\n \\u0192: \"f\",\n \\u01A0: \"O\",\n \\u01A1: \"o\",\n \\u01AF: \"U\",\n \\u01B0: \"u\",\n \\u01CD: \"A\",\n \\u01CE: \"a\",\n \\u01CF: \"I\",\n \\u01D0: \"i\",\n \\u01D1: \"O\",\n \\u01D2: \"o\",\n \\u01D3: \"U\",\n \\u01D4: \"u\",\n \\u01D5: \"U\",\n \\u01D6: \"u\",\n \\u01D7: \"U\",\n \\u01D8: \"u\",\n \\u01D9: \"U\",\n \\u01DA: \"u\",\n \\u01DB: \"U\",\n \\u01DC: \"u\",\n \\u1EE8: \"U\",\n \\u1EE9: \"u\",\n \\u1E78: \"U\",\n \\u1E79: \"u\",\n \\u01FA: \"A\",\n \\u01FB: \"a\",\n \\u01FC: \"AE\",\n \\u01FD: \"ae\",\n \\u01FE: \"O\",\n \\u01FF: \"o\",\n \\u00DE: \"TH\",\n \\u00FE: \"th\",\n \\u1E54: \"P\",\n \\u1E55: \"p\",\n \\u1E64: \"S\",\n \\u1E65: \"s\",\n X\\u0301: \"X\",\n x\\u0301: \"x\",\n \\u0403: \"\\u0413\",\n \\u0453: \"\\u0433\",\n \\u040C: \"\\u041A\",\n \\u045C: \"\\u043A\",\n A\\u030B: \"A\",\n a\\u030B: \"a\",\n E\\u030B: \"E\",\n e\\u030B: \"e\",\n I\\u030B: \"I\",\n i\\u030B: \"i\",\n \\u01F8: \"N\",\n \\u01F9: \"n\",\n \\u1ED2: \"O\",\n \\u1ED3: \"o\",\n \\u1E50: \"O\",\n \\u1E51: \"o\",\n \\u1EEA: \"U\",\n \\u1EEB: \"u\",\n \\u1E80: \"W\",\n \\u1E81: \"w\",\n \\u1EF2: \"Y\",\n \\u1EF3: \"y\",\n \\u0200: \"A\",\n \\u0201: \"a\",\n \\u0204: \"E\",\n \\u0205: \"e\",\n \\u0208: \"I\",\n \\u0209: \"i\",\n \\u020C: \"O\",\n \\u020D: \"o\",\n \\u0210: \"R\",\n \\u0211: \"r\",\n \\u0214: \"U\",\n \\u0215: \"u\",\n B\\u030C: \"B\",\n b\\u030C: \"b\",\n \\u010C\\u0323: \"C\",\n \\u010D\\u0323: \"c\",\n \\u00CA\\u030C: \"E\",\n \\u00EA\\u030C: \"e\",\n F\\u030C: \"F\",\n f\\u030C: \"f\",\n \\u01E6: \"G\",\n \\u01E7: \"g\",\n \\u021E: \"H\",\n \\u021F: \"h\",\n J\\u030C: \"J\",\n \\u01F0: \"j\",\n \\u01E8: \"K\",\n \\u01E9: \"k\",\n M\\u030C: \"M\",\n m\\u030C: \"m\",\n P\\u030C: \"P\",\n p\\u030C: \"p\",\n Q\\u030C: \"Q\",\n q\\u030C: \"q\",\n \\u0158\\u0329: \"R\",\n \\u0159\\u0329: \"r\",\n \\u1E66: \"S\",\n \\u1E67: \"s\",\n V\\u030C: \"V\",\n v\\u030C: \"v\",\n W\\u030C: \"W\",\n w\\u030C: \"w\",\n X\\u030C: \"X\",\n x\\u030C: \"x\",\n Y\\u030C: \"Y\",\n y\\u030C: \"y\",\n A\\u0327: \"A\",\n a\\u0327: \"a\",\n B\\u0327: \"B\",\n b\\u0327: \"b\",\n \\u1E10: \"D\",\n \\u1E11: \"d\",\n \\u0228: \"E\",\n \\u0229: \"e\",\n \\u0190\\u0327: \"E\",\n \\u025B\\u0327: \"e\",\n \\u1E28: \"H\",\n \\u1E29: \"h\",\n I\\u0327: \"I\",\n i\\u0327: \"i\",\n \\u0197\\u0327: \"I\",\n \\u0268\\u0327: \"i\",\n M\\u0327: \"M\",\n m\\u0327: \"m\",\n O\\u0327: \"O\",\n o\\u0327: \"o\",\n Q\\u0327: \"Q\",\n q\\u0327: \"q\",\n U\\u0327: \"U\",\n u\\u0327: \"u\",\n X\\u0327: \"X\",\n x\\u0327: \"x\",\n Z\\u0327: \"Z\",\n z\\u0327: \"z\"\n};\nvar chars = Object.keys(characterMap).join(\"|\");\nvar allAccents = new RegExp(chars, \"g\");\nfunction removeAccents(str) {\n return str.replace(allAccents, (match) => {\n return characterMap[match];\n });\n}\nvar rankings = {\n CASE_SENSITIVE_EQUAL: 7,\n EQUAL: 6,\n STARTS_WITH: 5,\n WORD_STARTS_WITH: 4,\n CONTAINS: 3,\n ACRONYM: 2,\n MATCHES: 1,\n NO_MATCH: 0\n};\nfunction rankItem(item, value, options) {\n var _options$threshold;\n options = options || {};\n options.threshold = (_options$threshold = options.threshold) != null ? _options$threshold : rankings.MATCHES;\n if (!options.accessors) {\n const rank = getMatchRanking(item, value, options);\n return {\n // ends up being duplicate of 'item' in matches but consistent\n rankedValue: item,\n rank,\n accessorIndex: -1,\n accessorThreshold: options.threshold,\n passed: rank >= options.threshold\n };\n }\n const valuesToRank = getAllValuesToRank(item, options.accessors);\n const rankingInfo = {\n rankedValue: item,\n rank: rankings.NO_MATCH,\n accessorIndex: -1,\n accessorThreshold: options.threshold,\n passed: false\n };\n for (let i2 = 0; i2 < valuesToRank.length; i2++) {\n const rankValue = valuesToRank[i2];\n let newRank = getMatchRanking(rankValue.itemValue, value, options);\n const {\n minRanking,\n maxRanking,\n threshold = options.threshold\n } = rankValue.attributes;\n if (newRank < minRanking && newRank >= rankings.MATCHES) {\n newRank = minRanking;\n } else if (newRank > maxRanking) {\n newRank = maxRanking;\n }\n newRank = Math.min(newRank, maxRanking);\n if (newRank >= threshold && newRank > rankingInfo.rank) {\n rankingInfo.rank = newRank;\n rankingInfo.passed = true;\n rankingInfo.accessorIndex = i2;\n rankingInfo.accessorThreshold = threshold;\n rankingInfo.rankedValue = rankValue.itemValue;\n }\n }\n return rankingInfo;\n}\nfunction getMatchRanking(testString, stringToRank, options) {\n testString = prepareValueForComparison(testString, options);\n stringToRank = prepareValueForComparison(stringToRank, options);\n if (stringToRank.length > testString.length) {\n return rankings.NO_MATCH;\n }\n if (testString === stringToRank) {\n return rankings.CASE_SENSITIVE_EQUAL;\n }\n testString = testString.toLowerCase();\n stringToRank = stringToRank.toLowerCase();\n if (testString === stringToRank) {\n return rankings.EQUAL;\n }\n if (testString.startsWith(stringToRank)) {\n return rankings.STARTS_WITH;\n }\n if (testString.includes(` ${stringToRank}`)) {\n return rankings.WORD_STARTS_WITH;\n }\n if (testString.includes(stringToRank)) {\n return rankings.CONTAINS;\n } else if (stringToRank.length === 1) {\n return rankings.NO_MATCH;\n }\n if (getAcronym(testString).includes(stringToRank)) {\n return rankings.ACRONYM;\n }\n return getClosenessRanking(testString, stringToRank);\n}\nfunction getAcronym(string) {\n let acronym = \"\";\n const wordsInString = string.split(\" \");\n wordsInString.forEach((wordInString) => {\n const splitByHyphenWords = wordInString.split(\"-\");\n splitByHyphenWords.forEach((splitByHyphenWord) => {\n acronym += splitByHyphenWord.substr(0, 1);\n });\n });\n return acronym;\n}\nfunction getClosenessRanking(testString, stringToRank) {\n let matchingInOrderCharCount = 0;\n let charNumber = 0;\n function findMatchingCharacter(matchChar, string, index) {\n for (let j = index, J = string.length; j < J; j++) {\n const stringChar = string[j];\n if (stringChar === matchChar) {\n matchingInOrderCharCount += 1;\n return j + 1;\n }\n }\n return -1;\n }\n function getRanking(spread3) {\n const spreadPercentage = 1 / spread3;\n const inOrderPercentage = matchingInOrderCharCount / stringToRank.length;\n const ranking = rankings.MATCHES + inOrderPercentage * spreadPercentage;\n return ranking;\n }\n const firstIndex = findMatchingCharacter(stringToRank[0], testString, 0);\n if (firstIndex < 0) {\n return rankings.NO_MATCH;\n }\n charNumber = firstIndex;\n for (let i2 = 1, I = stringToRank.length; i2 < I; i2++) {\n const matchChar = stringToRank[i2];\n charNumber = findMatchingCharacter(matchChar, testString, charNumber);\n const found = charNumber > -1;\n if (!found) {\n return rankings.NO_MATCH;\n }\n }\n const spread2 = charNumber - firstIndex;\n return getRanking(spread2);\n}\nfunction prepareValueForComparison(value, _ref) {\n let {\n keepDiacritics\n } = _ref;\n value = `${value}`;\n if (!keepDiacritics) {\n value = removeAccents(value);\n }\n return value;\n}\nfunction getItemValues(item, accessor) {\n let accessorFn = accessor;\n if (typeof accessor === \"object\") {\n accessorFn = accessor.accessor;\n }\n const value = accessorFn(item);\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [String(value)];\n}\nfunction getAllValuesToRank(item, accessors) {\n const allValues = [];\n for (let j = 0, J = accessors.length; j < J; j++) {\n const accessor = accessors[j];\n const attributes = getAccessorAttributes(accessor);\n const itemValues = getItemValues(item, accessor);\n for (let i2 = 0, I = itemValues.length; i2 < I; i2++) {\n allValues.push({\n itemValue: itemValues[i2],\n attributes\n });\n }\n }\n return allValues;\n}\nvar defaultKeyAttributes = {\n maxRanking: Infinity,\n minRanking: -Infinity\n};\nfunction getAccessorAttributes(accessor) {\n if (typeof accessor === \"function\") {\n return defaultKeyAttributes;\n }\n return {\n ...defaultKeyAttributes,\n ...accessor\n };\n}\n\n// ../../node_modules/.pnpm/goober@2.1.16_csstype@3.1.3/node_modules/goober/dist/goober.modern.js\nvar e = { data: \"\" };\nvar t = (t2) => \"object\" == typeof window ? ((t2 ? t2.querySelector(\"#_goober\") : window._goober) || Object.assign((t2 || document.head).appendChild(document.createElement(\"style\")), { innerHTML: \" \", id: \"_goober\" })).firstChild : t2 || e;\nvar l = /(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g;\nvar a = /\\/\\*[^]*?\\*\\/| +/g;\nvar n = /\\n+/g;\nvar o = (e2, t2) => {\n let r2 = \"\", l2 = \"\", a2 = \"\";\n for (let n2 in e2) {\n let c2 = e2[n2];\n \"@\" == n2[0] ? \"i\" == n2[1] ? r2 = n2 + \" \" + c2 + \";\" : l2 += \"f\" == n2[1] ? o(c2, n2) : n2 + \"{\" + o(c2, \"k\" == n2[1] ? \"\" : t2) + \"}\" : \"object\" == typeof c2 ? l2 += o(c2, t2 ? t2.replace(/([^,])+/g, (e3) => n2.replace(/([^,]*:\\S+\\([^)]*\\))|([^,])+/g, (t3) => /&/.test(t3) ? t3.replace(/&/g, e3) : e3 ? e3 + \" \" + t3 : t3)) : n2) : null != c2 && (n2 = /^--/.test(n2) ? n2 : n2.replace(/[A-Z]/g, \"-$&\").toLowerCase(), a2 += o.p ? o.p(n2, c2) : n2 + \":\" + c2 + \";\");\n }\n return r2 + (t2 && a2 ? t2 + \"{\" + a2 + \"}\" : a2) + l2;\n};\nvar c = {};\nvar s = (e2) => {\n if (\"object\" == typeof e2) {\n let t2 = \"\";\n for (let r2 in e2) t2 += r2 + s(e2[r2]);\n return t2;\n }\n return e2;\n};\nvar i = (e2, t2, r2, i2, p2) => {\n let u2 = s(e2), d = c[u2] || (c[u2] = ((e3) => {\n let t3 = 0, r3 = 11;\n for (; t3 < e3.length; ) r3 = 101 * r3 + e3.charCodeAt(t3++) >>> 0;\n return \"go\" + r3;\n })(u2));\n if (!c[d]) {\n let t3 = u2 !== e2 ? e2 : ((e3) => {\n let t4, r3, o2 = [{}];\n for (; t4 = l.exec(e3.replace(a, \"\")); ) t4[4] ? o2.shift() : t4[3] ? (r3 = t4[3].replace(n, \" \").trim(), o2.unshift(o2[0][r3] = o2[0][r3] || {})) : o2[0][t4[1]] = t4[2].replace(n, \" \").trim();\n return o2[0];\n })(e2);\n c[d] = o(p2 ? { [\"@keyframes \" + d]: t3 } : t3, r2 ? \"\" : \".\" + d);\n }\n let f = r2 && c.g ? c.g : null;\n return r2 && (c.g = c[d]), ((e3, t3, r3, l2) => {\n l2 ? t3.data = t3.data.replace(l2, e3) : -1 === t3.data.indexOf(e3) && (t3.data = r3 ? e3 + t3.data : t3.data + e3);\n })(c[d], t2, i2, f), d;\n};\nvar p = (e2, t2, r2) => e2.reduce((e3, l2, a2) => {\n let n2 = t2[a2];\n if (n2 && n2.call) {\n let e4 = n2(r2), t3 = e4 && e4.props && e4.props.className || /^go/.test(e4) && e4;\n n2 = t3 ? \".\" + t3 : e4 && \"object\" == typeof e4 ? e4.props ? \"\" : o(e4, \"\") : false === e4 ? \"\" : e4;\n }\n return e3 + l2 + (null == n2 ? \"\" : n2);\n}, \"\");\nfunction u(e2) {\n let r2 = this || {}, l2 = e2.call ? e2(r2.p) : e2;\n return i(l2.unshift ? l2.raw ? p(l2, [].slice.call(arguments, 1), r2.p) : l2.reduce((e3, t2) => Object.assign(e3, t2 && t2.call ? t2(r2.p) : t2), {}) : l2, t(r2.target), r2.g, r2.o, r2.k);\n}\nu.bind({ g: 1 });\nu.bind({ k: 1 });\n\n// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\nfunction r(e2) {\n var t2, f, n2 = \"\";\n if (\"string\" == typeof e2 || \"number\" == typeof e2) n2 += e2;\n else if (\"object\" == typeof e2) if (Array.isArray(e2)) {\n var o2 = e2.length;\n for (t2 = 0; t2 < o2; t2++) e2[t2] && (f = r(e2[t2])) && (n2 && (n2 += \" \"), n2 += f);\n } else for (f in e2) e2[f] && (n2 && (n2 += \" \"), n2 += f);\n return n2;\n}\nfunction clsx() {\n for (var e2, t2, f = 0, n2 = \"\", o2 = arguments.length; f < o2; f++) (e2 = arguments[f]) && (t2 = r(e2)) && (n2 && (n2 += \" \"), n2 += t2);\n return n2;\n}\nfunction createListTransition(source, options) {\n const initSource = untrack(source);\n if (isServer) {\n const copy = initSource.slice();\n return () => copy;\n }\n const { onChange } = options;\n let prevSet = new Set(options.appear ? void 0 : initSource);\n const exiting = /* @__PURE__ */ new WeakSet();\n const [toRemove, setToRemove] = createSignal([], { equals: false });\n const [isTransitionPending] = useTransition();\n const finishRemoved = (els) => {\n setToRemove((p2) => (p2.push.apply(p2, els), p2));\n for (const el of els)\n exiting.delete(el);\n };\n const handleRemoved = (els, el, i2) => els.splice(i2, 0, el) ;\n return createMemo(\n (prev) => {\n const elsToRemove = toRemove();\n const sourceList = source();\n sourceList[$TRACK];\n if (untrack(isTransitionPending)) {\n isTransitionPending();\n return prev;\n }\n if (elsToRemove.length) {\n const next = prev.filter((e2) => !elsToRemove.includes(e2));\n elsToRemove.length = 0;\n onChange({ list: next, added: [], removed: [], unchanged: next, finishRemoved });\n return next;\n }\n return untrack(() => {\n const nextSet = new Set(sourceList);\n const next = sourceList.slice();\n const added = [];\n const removed = [];\n const unchanged = [];\n for (const el of sourceList) {\n (prevSet.has(el) ? unchanged : added).push(el);\n }\n let nothingChanged = !added.length;\n for (let i2 = 0; i2 < prev.length; i2++) {\n const el = prev[i2];\n if (!nextSet.has(el)) {\n if (!exiting.has(el)) {\n removed.push(el);\n exiting.add(el);\n }\n handleRemoved(next, el, i2);\n }\n if (nothingChanged && el !== next[i2])\n nothingChanged = false;\n }\n if (!removed.length && nothingChanged)\n return prev;\n onChange({ list: next, added, removed, unchanged, finishRemoved });\n prevSet = nextSet;\n return next;\n });\n },\n options.appear ? [] : initSource.slice()\n );\n}\n\n// ../../node_modules/.pnpm/@solid-primitives+refs@1.0.8_solid-js@1.9.7/node_modules/@solid-primitives/refs/dist/index.js\nfunction mergeRefs(...refs) {\n return chain(refs);\n}\nvar defaultElementPredicate = isServer ? (item) => item != null && typeof item === \"object\" && \"t\" in item : (item) => item instanceof Element;\nfunction getResolvedElements(value, predicate) {\n if (predicate(value))\n return value;\n if (typeof value === \"function\" && !value.length)\n return getResolvedElements(value(), predicate);\n if (Array.isArray(value)) {\n const results = [];\n for (const item of value) {\n const result = getResolvedElements(item, predicate);\n if (result)\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results.length ? results : null;\n }\n return null;\n}\nfunction resolveElements(fn, predicate = defaultElementPredicate, serverPredicate = defaultElementPredicate) {\n const children2 = createMemo(fn);\n const memo2 = createMemo(\n () => getResolvedElements(children2(), isServer ? serverPredicate : predicate)\n );\n memo2.toArray = () => {\n const value = memo2();\n return Array.isArray(value) ? value : value ? [value] : [];\n };\n return memo2;\n}\n\n// ../../node_modules/.pnpm/solid-transition-group@0.2.3_solid-js@1.9.7/node_modules/solid-transition-group/dist/index.js\nfunction createClassnames(props) {\n return createMemo(() => {\n const name = props.name || \"s\";\n return {\n enterActive: (props.enterActiveClass || name + \"-enter-active\").split(\" \"),\n enter: (props.enterClass || name + \"-enter\").split(\" \"),\n enterTo: (props.enterToClass || name + \"-enter-to\").split(\" \"),\n exitActive: (props.exitActiveClass || name + \"-exit-active\").split(\" \"),\n exit: (props.exitClass || name + \"-exit\").split(\" \"),\n exitTo: (props.exitToClass || name + \"-exit-to\").split(\" \"),\n move: (props.moveClass || name + \"-move\").split(\" \")\n };\n });\n}\nfunction nextFrame(fn) {\n requestAnimationFrame(() => requestAnimationFrame(fn));\n}\nfunction enterTransition(classes, events, el, done) {\n const { onBeforeEnter, onEnter, onAfterEnter } = events;\n onBeforeEnter?.(el);\n el.classList.add(...classes.enter);\n el.classList.add(...classes.enterActive);\n queueMicrotask(() => {\n if (!el.parentNode)\n return done?.();\n onEnter?.(el, () => endTransition());\n });\n nextFrame(() => {\n el.classList.remove(...classes.enter);\n el.classList.add(...classes.enterTo);\n if (!onEnter || onEnter.length < 2) {\n el.addEventListener(\"transitionend\", endTransition);\n el.addEventListener(\"animationend\", endTransition);\n }\n });\n function endTransition(e2) {\n if (!e2 || e2.target === el) {\n el.removeEventListener(\"transitionend\", endTransition);\n el.removeEventListener(\"animationend\", endTransition);\n el.classList.remove(...classes.enterActive);\n el.classList.remove(...classes.enterTo);\n onAfterEnter?.(el);\n }\n }\n}\nfunction exitTransition(classes, events, el, done) {\n const { onBeforeExit, onExit, onAfterExit } = events;\n if (!el.parentNode)\n return done?.();\n onBeforeExit?.(el);\n el.classList.add(...classes.exit);\n el.classList.add(...classes.exitActive);\n onExit?.(el, () => endTransition());\n nextFrame(() => {\n el.classList.remove(...classes.exit);\n el.classList.add(...classes.exitTo);\n if (!onExit || onExit.length < 2) {\n el.addEventListener(\"transitionend\", endTransition);\n el.addEventListener(\"animationend\", endTransition);\n }\n });\n function endTransition(e2) {\n if (!e2 || e2.target === el) {\n done?.();\n el.removeEventListener(\"transitionend\", endTransition);\n el.removeEventListener(\"animationend\", endTransition);\n el.classList.remove(...classes.exitActive);\n el.classList.remove(...classes.exitTo);\n onAfterExit?.(el);\n }\n }\n}\nvar TransitionGroup = (props) => {\n const classnames = createClassnames(props);\n return createListTransition(resolveElements(() => props.children).toArray, {\n appear: props.appear,\n onChange({ added, removed, finishRemoved, list }) {\n const classes = classnames();\n for (const el of added) {\n enterTransition(classes, props, el);\n }\n const toMove = [];\n for (const el of list) {\n if (el.isConnected && (el instanceof HTMLElement || el instanceof SVGElement)) {\n toMove.push({ el, rect: el.getBoundingClientRect() });\n }\n }\n queueMicrotask(() => {\n const moved = [];\n for (const { el, rect } of toMove) {\n if (el.isConnected) {\n const newRect = el.getBoundingClientRect(), dX = rect.left - newRect.left, dY = rect.top - newRect.top;\n if (dX || dY) {\n el.style.transform = `translate(${dX}px, ${dY}px)`;\n el.style.transitionDuration = \"0s\";\n moved.push(el);\n }\n }\n }\n document.body.offsetHeight;\n for (const el of moved) {\n let endTransition2 = function(e2) {\n if (e2.target === el || /transform$/.test(e2.propertyName)) {\n el.removeEventListener(\"transitionend\", endTransition2);\n el.classList.remove(...classes.move);\n }\n };\n el.classList.add(...classes.move);\n el.style.transform = el.style.transitionDuration = \"\";\n el.addEventListener(\"transitionend\", endTransition2);\n }\n });\n for (const el of removed) {\n exitTransition(classes, props, el, () => finishRemoved([el]));\n }\n }\n });\n};\n\n// ../../node_modules/.pnpm/@solid-primitives+keyed@1.2.2_solid-js@1.9.7/node_modules/@solid-primitives/keyed/dist/index.js\nvar FALLBACK = Symbol(\"fallback\");\nfunction dispose(list) {\n for (const o2 of list)\n o2.dispose();\n}\nfunction keyArray(items, keyFn, mapFn, options = {}) {\n if (isServer) {\n const itemsRef = items();\n let s2 = [];\n if (itemsRef && itemsRef.length) {\n for (let i2 = 0, len = itemsRef.length; i2 < len; i2++)\n s2.push(\n mapFn(\n () => itemsRef[i2],\n () => i2\n )\n );\n } else if (options.fallback)\n s2 = [options.fallback()];\n return () => s2;\n }\n const prev = /* @__PURE__ */ new Map();\n onCleanup(() => dispose(prev.values()));\n return () => {\n const list = items() || [];\n list[$TRACK];\n return untrack(() => {\n if (!list.length) {\n dispose(prev.values());\n prev.clear();\n if (!options.fallback)\n return [];\n const fb2 = createRoot((dispose2) => {\n prev.set(FALLBACK, { dispose: dispose2 });\n return options.fallback();\n });\n return [fb2];\n }\n const result = new Array(list.length);\n const fb = prev.get(FALLBACK);\n if (!prev.size || fb) {\n fb?.dispose();\n prev.delete(FALLBACK);\n for (let i2 = 0; i2 < list.length; i2++) {\n const item = list[i2];\n const key = keyFn(item, i2);\n addNewItem(result, item, i2, key);\n }\n return result;\n }\n const prevKeys = new Set(prev.keys());\n for (let i2 = 0; i2 < list.length; i2++) {\n const item = list[i2];\n const key = keyFn(item, i2);\n prevKeys.delete(key);\n const lookup = prev.get(key);\n if (lookup) {\n result[i2] = lookup.mapped;\n lookup.setIndex?.(i2);\n lookup.setItem(() => item);\n } else\n addNewItem(result, item, i2, key);\n }\n for (const key of prevKeys) {\n prev.get(key)?.dispose();\n prev.delete(key);\n }\n return result;\n });\n };\n function addNewItem(list, item, i2, key) {\n createRoot((dispose2) => {\n const [getItem, setItem] = createSignal(item);\n const save = { setItem, dispose: dispose2 };\n if (mapFn.length > 1) {\n const [index, setIndex] = createSignal(i2);\n save.setIndex = setIndex;\n save.mapped = mapFn(getItem, index);\n } else\n save.mapped = mapFn(getItem);\n prev.set(key, save);\n list[i2] = save.mapped;\n });\n }\n}\nfunction Key(props) {\n const { by } = props;\n return createMemo(\n keyArray(\n () => props.each,\n typeof by === \"function\" ? by : (v) => v[by],\n props.children,\n \"fallback\" in props ? { fallback: () => props.fallback } : void 0\n )\n );\n}\n\n// ../../node_modules/.pnpm/@solid-primitives+event-listener@2.3.3_solid-js@1.9.7/node_modules/@solid-primitives/event-listener/dist/index.js\nfunction makeEventListener(target, type, handler, options) {\n target.addEventListener(type, handler, options);\n return tryOnCleanup(target.removeEventListener.bind(target, type, handler, options));\n}\nfunction createEventListener(targets, type, handler, options) {\n if (isServer)\n return;\n const attachListeners = () => {\n asArray(access(targets)).forEach((el) => {\n if (el)\n asArray(access(type)).forEach((type2) => makeEventListener(el, type2, handler, options));\n });\n };\n if (typeof targets === \"function\")\n createEffect(attachListeners);\n else\n createRenderEffect(attachListeners);\n}\n\n// ../../node_modules/.pnpm/@solid-primitives+resize-observer@2.0.26_solid-js@1.9.7/node_modules/@solid-primitives/resize-observer/dist/index.js\nfunction makeResizeObserver(callback, options) {\n if (isServer) {\n return { observe: noop, unobserve: noop };\n }\n const observer = new ResizeObserver(callback);\n onCleanup(observer.disconnect.bind(observer));\n return {\n observe: (ref) => observer.observe(ref, options),\n unobserve: observer.unobserve.bind(observer)\n };\n}\nfunction createResizeObserver(targets, onResize, options) {\n if (isServer)\n return;\n const previousMap = /* @__PURE__ */ new WeakMap(), { observe, unobserve } = makeResizeObserver((entries2) => {\n for (const entry of entries2) {\n const { contentRect, target } = entry, width = Math.round(contentRect.width), height = Math.round(contentRect.height), previous = previousMap.get(target);\n if (!previous || previous.width !== width || previous.height !== height) {\n onResize(contentRect, target, entry);\n previousMap.set(target, { width, height });\n }\n }\n }, options);\n createEffect((prev) => {\n const refs = filterNonNullable(asArray(access(targets)));\n handleDiffArray(refs, prev, observe, unobserve);\n return refs;\n }, []);\n}\n\n// ../../node_modules/.pnpm/@solid-primitives+props@3.1.11_solid-js@1.9.7/node_modules/@solid-primitives/props/dist/index.js\nvar extractCSSregex = /((?:--)?(?:\\w+-?)+)\\s*:\\s*([^;]*)/g;\nfunction stringStyleToObject(style) {\n const object = {};\n let match;\n while (match = extractCSSregex.exec(style)) {\n object[match[1]] = match[2];\n }\n return object;\n}\nfunction combineStyle(a2, b2) {\n if (typeof a2 === \"string\") {\n if (typeof b2 === \"string\")\n return `${a2};${b2}`;\n a2 = stringStyleToObject(a2);\n } else if (typeof b2 === \"string\") {\n b2 = stringStyleToObject(b2);\n }\n return { ...a2, ...b2 };\n}\n\n// ../../node_modules/.pnpm/@kobalte+utils@0.9.0_solid-js@1.9.7/node_modules/@kobalte/utils/dist/index.js\nfunction addItemToArray(array, item, index = -1) {\n if (!(index in array)) {\n return [...array, item];\n }\n return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction removeItemFromArray(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isString(value) {\n return Object.prototype.toString.call(value) === \"[object String]\";\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction createGenerateId(baseId) {\n return (suffix) => `${baseId()}-${suffix}`;\n}\nfunction contains(parent, child) {\n if (!parent) {\n return false;\n }\n return parent === child || parent.contains(child);\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction getWindow(node) {\n return getDocument(node).defaultView || window;\n}\nfunction getDocument(node) {\n return node ? node.ownerDocument || node : document;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nvar EventKey = /* @__PURE__ */ ((EventKey2) => {\n EventKey2[\"Escape\"] = \"Escape\";\n EventKey2[\"Enter\"] = \"Enter\";\n EventKey2[\"Tab\"] = \"Tab\";\n EventKey2[\"Space\"] = \" \";\n EventKey2[\"ArrowDown\"] = \"ArrowDown\";\n EventKey2[\"ArrowLeft\"] = \"ArrowLeft\";\n EventKey2[\"ArrowRight\"] = \"ArrowRight\";\n EventKey2[\"ArrowUp\"] = \"ArrowUp\";\n EventKey2[\"End\"] = \"End\";\n EventKey2[\"Home\"] = \"Home\";\n EventKey2[\"PageDown\"] = \"PageDown\";\n EventKey2[\"PageUp\"] = \"PageUp\";\n return EventKey2;\n})(EventKey || {});\nfunction testPlatform(re) {\n return typeof window !== \"undefined\" && window.navigator != null ? (\n // @ts-ignore\n re.test(window.navigator[\"userAgentData\"]?.platform || window.navigator.platform)\n ) : false;\n}\nfunction isMac() {\n return testPlatform(/^Mac/i);\n}\nfunction isIPhone() {\n return testPlatform(/^iPhone/i);\n}\nfunction isIPad() {\n return testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n isMac() && navigator.maxTouchPoints > 1;\n}\nfunction isIOS() {\n return isIPhone() || isIPad();\n}\nfunction isAppleDevice() {\n return isMac() || isIOS();\n}\nfunction callHandler(event, handler) {\n if (handler) {\n if (isFunction(handler)) {\n handler(event);\n } else {\n handler[0](handler[1], event);\n }\n }\n return event?.defaultPrevented;\n}\nfunction composeEventHandlers(handlers) {\n return (event) => {\n for (const handler of handlers) {\n callHandler(event, handler);\n }\n };\n}\nfunction isCtrlKey(e2) {\n if (isMac()) {\n return e2.metaKey && !e2.ctrlKey;\n }\n return e2.ctrlKey && !e2.metaKey;\n}\nfunction focusWithoutScrolling(element) {\n if (!element) {\n return;\n }\n if (supportsPreventScroll()) {\n element.focus({ preventScroll: true });\n } else {\n const scrollableElements = getScrollableElements(element);\n element.focus();\n restoreScrollPosition(scrollableElements);\n }\n}\nvar supportsPreventScrollCached = null;\nfunction supportsPreventScroll() {\n if (supportsPreventScrollCached == null) {\n supportsPreventScrollCached = false;\n try {\n const focusElem = document.createElement(\"div\");\n focusElem.focus({\n get preventScroll() {\n supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch (e2) {\n }\n }\n return supportsPreventScrollCached;\n}\nfunction getScrollableElements(element) {\n let parent = element.parentNode;\n const scrollableElements = [];\n const rootScrollingElement = document.scrollingElement || document.documentElement;\n while (parent instanceof HTMLElement && parent !== rootScrollingElement) {\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) {\n scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n }\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) {\n scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n }\n return scrollableElements;\n}\nfunction restoreScrollPosition(scrollableElements) {\n for (const { element, scrollTop, scrollLeft } of scrollableElements) {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\nvar focusableElements = [\n \"input:not([type='hidden']):not([disabled])\",\n \"select:not([disabled])\",\n \"textarea:not([disabled])\",\n \"button:not([disabled])\",\n \"a[href]\",\n \"area[href]\",\n \"[tabindex]\",\n \"iframe\",\n \"object\",\n \"embed\",\n \"audio[controls]\",\n \"video[controls]\",\n \"[contenteditable]:not([contenteditable='false'])\"\n];\nvar tabbableElements = [...focusableElements, '[tabindex]:not([tabindex=\"-1\"]):not([disabled])'];\nvar FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(\":not([hidden]),\") + \",[tabindex]:not([disabled]):not([hidden])\";\nvar TABBABLE_ELEMENT_SELECTOR = tabbableElements.join(\n ':not([hidden]):not([tabindex=\"-1\"]),'\n);\nfunction getAllTabbableIn(container, includeContainer) {\n const elements = Array.from(container.querySelectorAll(FOCUSABLE_ELEMENT_SELECTOR));\n const tabbableElements2 = elements.filter(isTabbable);\n if (includeContainer && isTabbable(container)) {\n tabbableElements2.unshift(container);\n }\n tabbableElements2.forEach((element, i2) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getAllTabbableIn(frameBody, false);\n tabbableElements2.splice(i2, 1, ...allFrameTabbable);\n }\n });\n return tabbableElements2;\n}\nfunction isTabbable(element) {\n return isFocusable(element) && !hasNegativeTabIndex(element);\n}\nfunction isFocusable(element) {\n return element.matches(FOCUSABLE_ELEMENT_SELECTOR) && isElementVisible(element);\n}\nfunction hasNegativeTabIndex(element) {\n const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\nfunction isElementVisible(element, childElement) {\n return element.nodeName !== \"#comment\" && isStyleVisible(element) && isAttributeVisible(element, childElement) && (!element.parentElement || isElementVisible(element.parentElement, element));\n}\nfunction isStyleVisible(element) {\n if (!(element instanceof HTMLElement) && !(element instanceof SVGElement)) {\n return false;\n }\n const { display, visibility } = element.style;\n let isVisible = display !== \"none\" && visibility !== \"hidden\" && visibility !== \"collapse\";\n if (isVisible) {\n if (!element.ownerDocument.defaultView) {\n return isVisible;\n }\n const { getComputedStyle: getComputedStyle3 } = element.ownerDocument.defaultView;\n const { display: computedDisplay, visibility: computedVisibility } = getComputedStyle3(element);\n isVisible = computedDisplay !== \"none\" && computedVisibility !== \"hidden\" && computedVisibility !== \"collapse\";\n }\n return isVisible;\n}\nfunction isAttributeVisible(element, childElement) {\n return !element.hasAttribute(\"hidden\") && (element.nodeName === \"DETAILS\" && childElement && childElement.nodeName !== \"SUMMARY\" ? element.hasAttribute(\"open\") : true);\n}\nfunction getFocusableTreeWalker(root, opts, scope) {\n const selector = opts?.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode(node) {\n if (opts?.from?.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n if (node.matches(selector) && isElementVisible(node) && (true) && (!opts?.accept || opts.accept(node))) {\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n }\n });\n if (opts?.from) {\n walker.currentNode = opts.from;\n }\n return walker;\n}\nfunction getScrollParent(node) {\n while (node && !isScrollable(node)) {\n node = node.parentElement;\n }\n return node || document.scrollingElement || document.documentElement;\n}\nfunction isScrollable(node) {\n const style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n}\nfunction noop3() {\n return;\n}\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let inside = false;\n const length = polygon.length;\n for (let l2 = length, i2 = 0, j = l2 - 1; i2 < l2; j = i2++) {\n const [xi, yi] = polygon[i2];\n const [xj, yj] = polygon[j];\n const [, vy] = polygon[j === 0 ? l2 - 1 : j - 1] || [0, 0];\n const where = (yi - yj) * (x - xi) - (xi - xj) * (y - yi);\n if (yj < yi) {\n if (y >= yj && y < yi) {\n if (where === 0)\n return true;\n if (where > 0) {\n if (y === yj) {\n if (y > vy) {\n inside = !inside;\n }\n } else {\n inside = !inside;\n }\n }\n }\n } else if (yi < yj) {\n if (y > yi && y <= yj) {\n if (where === 0)\n return true;\n if (where < 0) {\n if (y === yj) {\n if (y < vy) {\n inside = !inside;\n }\n } else {\n inside = !inside;\n }\n }\n }\n } else if (y == yi && (x >= xj && x <= xi || x >= xi && x <= xj)) {\n return true;\n }\n }\n return inside;\n}\nfunction mergeDefaultProps(defaultProps, props) {\n return mergeProps(defaultProps, props);\n}\nvar transitionsByElement = /* @__PURE__ */ new Map();\nvar transitionCallbacks = /* @__PURE__ */ new Set();\nfunction setupGlobalEvents() {\n if (typeof window === \"undefined\") {\n return;\n }\n const onTransitionStart = (e2) => {\n if (!e2.target) {\n return;\n }\n let transitions = transitionsByElement.get(e2.target);\n if (!transitions) {\n transitions = /* @__PURE__ */ new Set();\n transitionsByElement.set(e2.target, transitions);\n e2.target.addEventListener(\"transitioncancel\", onTransitionEnd);\n }\n transitions.add(e2.propertyName);\n };\n const onTransitionEnd = (e2) => {\n if (!e2.target) {\n return;\n }\n const properties = transitionsByElement.get(e2.target);\n if (!properties) {\n return;\n }\n properties.delete(e2.propertyName);\n if (properties.size === 0) {\n e2.target.removeEventListener(\"transitioncancel\", onTransitionEnd);\n transitionsByElement.delete(e2.target);\n }\n if (transitionsByElement.size === 0) {\n for (const cb of transitionCallbacks) {\n cb();\n }\n transitionCallbacks.clear();\n }\n };\n document.body.addEventListener(\"transitionrun\", onTransitionStart);\n document.body.addEventListener(\"transitionend\", onTransitionEnd);\n}\nif (typeof document !== \"undefined\") {\n if (document.readyState !== \"loading\") {\n setupGlobalEvents();\n } else {\n document.addEventListener(\"DOMContentLoaded\", setupGlobalEvents);\n }\n}\nfunction scrollIntoView(scrollView, element) {\n const offsetX = relativeOffset(scrollView, element, \"left\");\n const offsetY = relativeOffset(scrollView, element, \"top\");\n const width = element.offsetWidth;\n const height = element.offsetHeight;\n let x = scrollView.scrollLeft;\n let y = scrollView.scrollTop;\n const maxX = x + scrollView.offsetWidth;\n const maxY = y + scrollView.offsetHeight;\n if (offsetX <= x) {\n x = offsetX;\n } else if (offsetX + width > maxX) {\n x += offsetX + width - maxX;\n }\n if (offsetY <= y) {\n y = offsetY;\n } else if (offsetY + height > maxY) {\n y += offsetY + height - maxY;\n }\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n}\nfunction relativeOffset(ancestor, child, axis) {\n const prop = axis === \"left\" ? \"offsetLeft\" : \"offsetTop\";\n let sum = 0;\n while (child.offsetParent) {\n sum += child[prop];\n if (child.offsetParent === ancestor) {\n break;\n } else if (child.offsetParent.contains(ancestor)) {\n sum -= ancestor[prop];\n break;\n }\n child = child.offsetParent;\n }\n return sum;\n}\nfunction scrollIntoViewport(targetElement, opts) {\n if (document.contains(targetElement)) {\n const root = document.scrollingElement || document.documentElement;\n const isScrollPrevented = window.getComputedStyle(root).overflow === \"hidden\";\n if (!isScrollPrevented) {\n const { left: originalLeft, top: originalTop } = targetElement.getBoundingClientRect();\n targetElement?.scrollIntoView?.({ block: \"nearest\" });\n const { left: newLeft, top: newTop } = targetElement.getBoundingClientRect();\n if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) {\n targetElement.scrollIntoView?.({ block: \"nearest\" });\n }\n } else {\n let scrollParent = getScrollParent(targetElement);\n while (targetElement && scrollParent && targetElement !== root && scrollParent !== root) {\n scrollIntoView(scrollParent, targetElement);\n targetElement = scrollParent;\n scrollParent = getScrollParent(targetElement);\n }\n }\n }\n}\nvar visuallyHiddenStyles = {\n border: \"0\",\n clip: \"rect(0 0 0 0)\",\n \"clip-path\": \"inset(50%)\",\n height: \"1px\",\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: \"0\",\n position: \"absolute\",\n width: \"1px\",\n \"white-space\": \"nowrap\"\n};\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/E4R2EMM4.js\nfunction createRegisterId(setter) {\n return (id) => {\n setter(id);\n return () => setter(void 0);\n };\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ET5T45DO.js\nfunction createTagName(ref, fallback) {\n const [tagName, setTagName] = createSignal(stringOrUndefined(fallback?.()));\n createEffect(() => {\n setTagName(ref()?.tagName.toLowerCase() || stringOrUndefined(fallback?.()));\n });\n return tagName;\n}\nfunction stringOrUndefined(value) {\n return isString(value) ? value : void 0;\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/6Y7B2NEO.js\nfunction Polymorphic(props) {\n const [local, others] = splitProps(props, [\"as\"]);\n if (!local.as) {\n throw new Error(\"[kobalte]: Polymorphic is missing the required `as` prop.\");\n }\n return (\n // @ts-ignore: Props are valid but not worth calculating\n createComponent(Dynamic, mergeProps(others, {\n get component() {\n return local.as;\n }\n }))\n );\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/Q2DJLZQE.js\nvar FORM_CONTROL_PROP_NAMES = [\"id\", \"name\", \"validationState\", \"required\", \"disabled\", \"readOnly\"];\nfunction createFormControl(props) {\n const defaultId = `form-control-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps({\n id: defaultId\n }, props);\n const [labelId, setLabelId] = createSignal();\n const [fieldId, setFieldId] = createSignal();\n const [descriptionId, setDescriptionId] = createSignal();\n const [errorMessageId, setErrorMessageId] = createSignal();\n const getAriaLabelledBy = (fieldId2, fieldAriaLabel, fieldAriaLabelledBy) => {\n const hasAriaLabelledBy = fieldAriaLabelledBy != null || labelId() != null;\n return [\n fieldAriaLabelledBy,\n labelId(),\n // If there is both an aria-label and aria-labelledby, add the field itself has an aria-labelledby\n hasAriaLabelledBy && fieldAriaLabel != null ? fieldId2 : void 0\n ].filter(Boolean).join(\" \") || void 0;\n };\n const getAriaDescribedBy = (fieldAriaDescribedBy) => {\n return [\n descriptionId(),\n // Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA.\n // See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268\n errorMessageId(),\n fieldAriaDescribedBy\n ].filter(Boolean).join(\" \") || void 0;\n };\n const dataset = createMemo(() => ({\n \"data-valid\": access(mergedProps.validationState) === \"valid\" ? \"\" : void 0,\n \"data-invalid\": access(mergedProps.validationState) === \"invalid\" ? \"\" : void 0,\n \"data-required\": access(mergedProps.required) ? \"\" : void 0,\n \"data-disabled\": access(mergedProps.disabled) ? \"\" : void 0,\n \"data-readonly\": access(mergedProps.readOnly) ? \"\" : void 0\n }));\n const formControlContext = {\n name: () => access(mergedProps.name) ?? access(mergedProps.id),\n dataset,\n validationState: () => access(mergedProps.validationState),\n isRequired: () => access(mergedProps.required),\n isDisabled: () => access(mergedProps.disabled),\n isReadOnly: () => access(mergedProps.readOnly),\n labelId,\n fieldId,\n descriptionId,\n errorMessageId,\n getAriaLabelledBy,\n getAriaDescribedBy,\n generateId: createGenerateId(() => access(mergedProps.id)),\n registerLabel: createRegisterId(setLabelId),\n registerField: createRegisterId(setFieldId),\n registerDescription: createRegisterId(setDescriptionId),\n registerErrorMessage: createRegisterId(setErrorMessageId)\n };\n return {\n formControlContext\n };\n}\nvar FormControlContext = createContext();\nfunction useFormControlContext() {\n const context = useContext(FormControlContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useFormControlContext` must be used within a `FormControlContext.Provider` component\");\n }\n return context;\n}\nfunction FormControlDescription(props) {\n const context = useFormControlContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"description\")\n }, props);\n createEffect(() => onCleanup(context.registerDescription(mergedProps.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"div\"\n }, () => context.dataset(), mergedProps));\n}\nfunction FormControlErrorMessage(props) {\n const context = useFormControlContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"error-message\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"forceMount\"]);\n const isInvalid = () => context.validationState() === \"invalid\";\n createEffect(() => {\n if (!isInvalid()) {\n return;\n }\n onCleanup(context.registerErrorMessage(others.id));\n });\n return createComponent(Show, {\n get when() {\n return local.forceMount || isInvalid();\n },\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\"\n }, () => context.dataset(), others));\n }\n });\n}\nfunction FormControlLabel(props) {\n let ref;\n const context = useFormControlContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"label\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\"]);\n const tagName = createTagName(() => ref, () => \"label\");\n createEffect(() => onCleanup(context.registerLabel(others.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"label\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get [\"for\"]() {\n return memo(() => tagName() === \"label\")() ? context.fieldId() : void 0;\n }\n }, () => context.dataset(), others));\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ANN3A2QM.js\nfunction createFormResetListener(element, handler) {\n createEffect(\n on(element, (element2) => {\n if (element2 == null) {\n return;\n }\n const form = getClosestForm(element2);\n if (form == null) {\n return;\n }\n form.addEventListener(\"reset\", handler, { passive: true });\n onCleanup(() => {\n form.removeEventListener(\"reset\", handler);\n });\n })\n );\n}\nfunction getClosestForm(element) {\n return isFormElement(element) ? element.form : element.closest(\"form\");\n}\nfunction isFormElement(element) {\n return element.matches(\"textarea, input, select, button\");\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/BLN63FDC.js\nfunction createControllableSignal(props) {\n const [_value, _setValue] = createSignal(props.defaultValue?.());\n const isControlled = createMemo(() => props.value?.() !== void 0);\n const value = createMemo(() => isControlled() ? props.value?.() : _value());\n const setValue = (next) => {\n untrack(() => {\n const nextValue = accessWith(next, value());\n if (!Object.is(nextValue, value())) {\n if (!isControlled()) {\n _setValue(nextValue);\n }\n props.onChange?.(nextValue);\n }\n return nextValue;\n });\n };\n return [value, setValue];\n}\nfunction createControllableBooleanSignal(props) {\n const [_value, setValue] = createControllableSignal(props);\n const value = () => _value() ?? false;\n return [value, setValue];\n}\nfunction createControllableArraySignal(props) {\n const [_value, setValue] = createControllableSignal(props);\n const value = () => _value() ?? [];\n return [value, setValue];\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/YGDQXQ2B.js\nfunction createToggleState(props = {}) {\n const [isSelected, _setIsSelected] = createControllableBooleanSignal({\n value: () => access(props.isSelected),\n defaultValue: () => !!access(props.defaultIsSelected),\n onChange: (value) => props.onSelectedChange?.(value)\n });\n const setIsSelected = (value) => {\n if (!access(props.isReadOnly) && !access(props.isDisabled)) {\n _setIsSelected(value);\n }\n };\n const toggle = () => {\n if (!access(props.isReadOnly) && !access(props.isDisabled)) {\n _setIsSelected(!isSelected());\n }\n };\n return {\n isSelected,\n setIsSelected,\n toggle\n };\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/5ZKAE4VZ.js\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7CVNMTYF.js\nvar DomCollectionContext = createContext();\nfunction useOptionalDomCollectionContext() {\n return useContext(DomCollectionContext);\n}\nfunction useDomCollectionContext() {\n const context = useOptionalDomCollectionContext();\n if (context === void 0) {\n throw new Error(\n \"[kobalte]: `useDomCollectionContext` must be used within a `DomCollectionProvider` component\"\n );\n }\n return context;\n}\nfunction isElementPreceding(a2, b2) {\n return Boolean(\n b2.compareDocumentPosition(a2) & Node.DOCUMENT_POSITION_PRECEDING\n );\n}\nfunction findDOMIndex(items, item) {\n const itemEl = item.ref();\n if (!itemEl) {\n return -1;\n }\n let length = items.length;\n if (!length) {\n return -1;\n }\n while (length--) {\n const currentItemEl = items[length]?.ref();\n if (!currentItemEl) {\n continue;\n }\n if (isElementPreceding(currentItemEl, itemEl)) {\n return length + 1;\n }\n }\n return 0;\n}\nfunction sortBasedOnDOMPosition(items) {\n const pairs = items.map((item, index) => [index, item]);\n let isOrderDifferent = false;\n pairs.sort(([indexA, a2], [indexB, b2]) => {\n const elementA = a2.ref();\n const elementB = b2.ref();\n if (elementA === elementB) {\n return 0;\n }\n if (!elementA || !elementB) {\n return 0;\n }\n if (isElementPreceding(elementA, elementB)) {\n if (indexA > indexB) {\n isOrderDifferent = true;\n }\n return -1;\n }\n if (indexA < indexB) {\n isOrderDifferent = true;\n }\n return 1;\n });\n if (isOrderDifferent) {\n return pairs.map(([_, item]) => item);\n }\n return items;\n}\nfunction setItemsBasedOnDOMPosition(items, setItems) {\n const sortedItems = sortBasedOnDOMPosition(items);\n if (items !== sortedItems) {\n setItems(sortedItems);\n }\n}\nfunction getCommonParent(items) {\n const firstItem = items[0];\n const lastItemEl = items[items.length - 1]?.ref();\n let parentEl = firstItem?.ref()?.parentElement;\n while (parentEl) {\n if (lastItemEl && parentEl.contains(lastItemEl)) {\n return parentEl;\n }\n parentEl = parentEl.parentElement;\n }\n return getDocument(parentEl).body;\n}\nfunction createTimeoutObserver(items, setItems) {\n createEffect(() => {\n const timeout = setTimeout(() => {\n setItemsBasedOnDOMPosition(items(), setItems);\n });\n onCleanup(() => clearTimeout(timeout));\n });\n}\nfunction createSortBasedOnDOMPosition(items, setItems) {\n if (typeof IntersectionObserver !== \"function\") {\n createTimeoutObserver(items, setItems);\n return;\n }\n let previousItems = [];\n createEffect(() => {\n const callback = () => {\n const hasPreviousItems = !!previousItems.length;\n previousItems = items();\n if (!hasPreviousItems) {\n return;\n }\n setItemsBasedOnDOMPosition(items(), setItems);\n };\n const root = getCommonParent(items());\n const observer = new IntersectionObserver(callback, { root });\n for (const item of items()) {\n const itemEl = item.ref();\n if (itemEl) {\n observer.observe(itemEl);\n }\n }\n onCleanup(() => observer.disconnect());\n });\n}\nfunction createDomCollection(props = {}) {\n const [items, setItems] = createControllableArraySignal({\n value: () => access(props.items),\n onChange: (value) => props.onItemsChange?.(value)\n });\n createSortBasedOnDOMPosition(items, setItems);\n const registerItem = (item) => {\n setItems((prevItems) => {\n const index = findDOMIndex(prevItems, item);\n return addItemToArray(prevItems, item, index);\n });\n return () => {\n setItems((prevItems) => {\n const nextItems = prevItems.filter(\n (prevItem) => prevItem.ref() !== item.ref()\n );\n if (prevItems.length === nextItems.length) {\n return prevItems;\n }\n return nextItems;\n });\n };\n };\n const DomCollectionProvider = (props2) => {\n return createComponent(DomCollectionContext.Provider, {\n value: { registerItem },\n get children() {\n return props2.children;\n }\n });\n };\n return { DomCollectionProvider };\n}\nfunction createDomCollectionItem(props) {\n const context = useDomCollectionContext();\n const mergedProps = mergeDefaultProps({ shouldRegisterItem: true }, props);\n createEffect(() => {\n if (!mergedProps.shouldRegisterItem) {\n return;\n }\n const unregister = context.registerItem(mergedProps.getItem());\n onCleanup(unregister);\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/JMA2RWU6.js\nfunction buildNodes(params) {\n let index = params.startIndex ?? 0;\n const level = params.startLevel ?? 0;\n const nodes = [];\n const getKey = (data) => {\n if (data == null) {\n return \"\";\n }\n const _getKey = params.getKey ?? \"key\";\n const dataKey = isString(_getKey) ? data[_getKey] : _getKey(data);\n return dataKey != null ? String(dataKey) : \"\";\n };\n const getTextValue = (data) => {\n if (data == null) {\n return \"\";\n }\n const _getTextValue = params.getTextValue ?? \"textValue\";\n const dataTextValue = isString(_getTextValue) ? data[_getTextValue] : _getTextValue(data);\n return dataTextValue != null ? String(dataTextValue) : \"\";\n };\n const getDisabled = (data) => {\n if (data == null) {\n return false;\n }\n const _getDisabled = params.getDisabled ?? \"disabled\";\n return (isString(_getDisabled) ? data[_getDisabled] : _getDisabled(data)) ?? false;\n };\n const getSectionChildren = (data) => {\n if (data == null) {\n return void 0;\n }\n if (isString(params.getSectionChildren)) {\n return data[params.getSectionChildren];\n }\n return params.getSectionChildren?.(data);\n };\n for (const data of params.dataSource) {\n if (isString(data) || isNumber(data)) {\n nodes.push({\n type: \"item\",\n rawValue: data,\n key: String(data),\n textValue: String(data),\n disabled: getDisabled(data),\n level,\n index\n });\n index++;\n continue;\n }\n if (getSectionChildren(data) != null) {\n nodes.push({\n type: \"section\",\n rawValue: data,\n key: \"\",\n // not applicable here\n textValue: \"\",\n // not applicable here\n disabled: false,\n // not applicable here\n level,\n index\n });\n index++;\n const sectionChildren = getSectionChildren(data) ?? [];\n if (sectionChildren.length > 0) {\n const childNodes = buildNodes({\n dataSource: sectionChildren,\n getKey: params.getKey,\n getTextValue: params.getTextValue,\n getDisabled: params.getDisabled,\n getSectionChildren: params.getSectionChildren,\n startIndex: index,\n startLevel: level + 1\n });\n nodes.push(...childNodes);\n index += childNodes.length;\n }\n } else {\n nodes.push({\n type: \"item\",\n rawValue: data,\n key: getKey(data),\n textValue: getTextValue(data),\n disabled: getDisabled(data),\n level,\n index\n });\n index++;\n }\n }\n return nodes;\n}\nfunction createCollection(props, deps = []) {\n return createMemo(() => {\n const nodes = buildNodes({\n dataSource: access(props.dataSource),\n getKey: access(props.getKey),\n getTextValue: access(props.getTextValue),\n getDisabled: access(props.getDisabled),\n getSectionChildren: access(props.getSectionChildren)\n });\n for (let i2 = 0; i2 < deps.length; i2++)\n deps[i2]();\n return props.factory(nodes);\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/XHJPQEZP.js\nvar RTL_SCRIPTS = /* @__PURE__ */ new Set([\n \"Avst\",\n \"Arab\",\n \"Armi\",\n \"Syrc\",\n \"Samr\",\n \"Mand\",\n \"Thaa\",\n \"Mend\",\n \"Nkoo\",\n \"Adlm\",\n \"Rohg\",\n \"Hebr\"\n]);\nvar RTL_LANGS = /* @__PURE__ */ new Set([\n \"ae\",\n \"ar\",\n \"arc\",\n \"bcc\",\n \"bqi\",\n \"ckb\",\n \"dv\",\n \"fa\",\n \"glk\",\n \"he\",\n \"ku\",\n \"mzn\",\n \"nqo\",\n \"pnb\",\n \"ps\",\n \"sd\",\n \"ug\",\n \"ur\",\n \"yi\"\n]);\nfunction isRTL(locale) {\n if (Intl.Locale) {\n const script = new Intl.Locale(locale).maximize().script ?? \"\";\n return RTL_SCRIPTS.has(script);\n }\n const lang = locale.split(\"-\")[0];\n return RTL_LANGS.has(lang);\n}\nfunction getReadingDirection(locale) {\n return isRTL(locale) ? \"rtl\" : \"ltr\";\n}\nfunction getDefaultLocale() {\n let locale = typeof navigator !== \"undefined\" && // @ts-ignore\n (navigator.language || navigator.userLanguage) || \"en-US\";\n return {\n locale,\n direction: getReadingDirection(locale)\n };\n}\nvar currentLocale = getDefaultLocale();\nvar listeners = /* @__PURE__ */ new Set();\nfunction updateLocale() {\n currentLocale = getDefaultLocale();\n for (const listener of listeners) {\n listener(currentLocale);\n }\n}\nfunction createDefaultLocale() {\n const defaultSSRLocale = {\n locale: \"en-US\",\n direction: \"ltr\"\n };\n const [defaultClientLocale, setDefaultClientLocale] = createSignal(currentLocale);\n const defaultLocale = createMemo(\n () => isServer ? defaultSSRLocale : defaultClientLocale()\n );\n onMount(() => {\n if (listeners.size === 0) {\n window.addEventListener(\"languagechange\", updateLocale);\n }\n listeners.add(setDefaultClientLocale);\n onCleanup(() => {\n listeners.delete(setDefaultClientLocale);\n if (listeners.size === 0) {\n window.removeEventListener(\"languagechange\", updateLocale);\n }\n });\n });\n return {\n locale: () => defaultLocale().locale,\n direction: () => defaultLocale().direction\n };\n}\nvar I18nContext = createContext();\nfunction useLocale() {\n const defaultLocale = createDefaultLocale();\n const context = useContext(I18nContext);\n return context || defaultLocale;\n}\nvar cache = /* @__PURE__ */ new Map();\nfunction createCollator(options) {\n const { locale } = useLocale();\n const cacheKey = createMemo(() => {\n return locale() + (options ? Object.entries(options).sort((a2, b2) => a2[0] < b2[0] ? -1 : 1).join() : \"\");\n });\n return createMemo(() => {\n const key = cacheKey();\n let collator;\n if (cache.has(key)) {\n collator = cache.get(key);\n }\n if (!collator) {\n collator = new Intl.Collator(locale(), options);\n cache.set(key, collator);\n }\n return collator;\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/H6DSIDEC.js\nvar Selection = class _Selection extends Set {\n anchorKey;\n currentKey;\n constructor(keys2, anchorKey, currentKey) {\n super(keys2);\n if (keys2 instanceof _Selection) {\n this.anchorKey = anchorKey || keys2.anchorKey;\n this.currentKey = currentKey || keys2.currentKey;\n } else {\n this.anchorKey = anchorKey;\n this.currentKey = currentKey;\n }\n }\n};\nfunction createControllableSelectionSignal(props) {\n const [_value, setValue] = createControllableSignal(props);\n const value = () => _value() ?? new Selection();\n return [value, setValue];\n}\nfunction isNonContiguousSelectionModifier(e2) {\n return isAppleDevice() ? e2.altKey : e2.ctrlKey;\n}\nfunction isCtrlKeyPressed(e2) {\n if (isMac()) {\n return e2.metaKey;\n }\n return e2.ctrlKey;\n}\nfunction convertSelection(selection) {\n return new Selection(selection);\n}\nfunction isSameSelection(setA, setB) {\n if (setA.size !== setB.size) {\n return false;\n }\n for (const item of setA) {\n if (!setB.has(item)) {\n return false;\n }\n }\n return true;\n}\nfunction createMultipleSelectionState(props) {\n const mergedProps = mergeDefaultProps(\n {\n selectionMode: \"none\",\n selectionBehavior: \"toggle\"\n },\n props\n );\n const [isFocused, setFocused] = createSignal(false);\n const [focusedKey, setFocusedKey] = createSignal();\n const selectedKeysProp = createMemo(() => {\n const selection = access(mergedProps.selectedKeys);\n if (selection != null) {\n return convertSelection(selection);\n }\n return selection;\n });\n const defaultSelectedKeys = createMemo(() => {\n const defaultSelection = access(mergedProps.defaultSelectedKeys);\n if (defaultSelection != null) {\n return convertSelection(defaultSelection);\n }\n return new Selection();\n });\n const [selectedKeys, _setSelectedKeys] = createControllableSelectionSignal({\n value: selectedKeysProp,\n defaultValue: defaultSelectedKeys,\n onChange: (value) => mergedProps.onSelectionChange?.(value)\n });\n const [selectionBehavior, setSelectionBehavior] = createSignal(access(mergedProps.selectionBehavior));\n const selectionMode = () => access(mergedProps.selectionMode);\n const disallowEmptySelection = () => access(mergedProps.disallowEmptySelection) ?? false;\n const setSelectedKeys = (keys2) => {\n if (access(mergedProps.allowDuplicateSelectionEvents) || !isSameSelection(keys2, selectedKeys())) {\n _setSelectedKeys(keys2);\n }\n };\n createEffect(() => {\n const selection = selectedKeys();\n if (access(mergedProps.selectionBehavior) === \"replace\" && selectionBehavior() === \"toggle\" && typeof selection === \"object\" && selection.size === 0) {\n setSelectionBehavior(\"replace\");\n }\n });\n createEffect(() => {\n setSelectionBehavior(access(mergedProps.selectionBehavior) ?? \"toggle\");\n });\n return {\n selectionMode,\n disallowEmptySelection,\n selectionBehavior,\n setSelectionBehavior,\n isFocused,\n setFocused,\n focusedKey,\n setFocusedKey,\n selectedKeys,\n setSelectedKeys\n };\n}\nfunction createTypeSelect(props) {\n const [search, setSearch] = createSignal(\"\");\n const [timeoutId, setTimeoutId] = createSignal(-1);\n const onKeyDown = (e2) => {\n if (access(props.isDisabled)) {\n return;\n }\n const delegate = access(props.keyboardDelegate);\n const manager = access(props.selectionManager);\n if (!delegate.getKeyForSearch) {\n return;\n }\n const character = getStringForKey(e2.key);\n if (!character || e2.ctrlKey || e2.metaKey) {\n return;\n }\n if (character === \" \" && search().trim().length > 0) {\n e2.preventDefault();\n e2.stopPropagation();\n }\n let newSearch = setSearch((prev) => prev + character);\n let key = delegate.getKeyForSearch(newSearch, manager.focusedKey()) ?? delegate.getKeyForSearch(newSearch);\n if (key == null && isAllSameLetter(newSearch)) {\n newSearch = newSearch[0];\n key = delegate.getKeyForSearch(newSearch, manager.focusedKey()) ?? delegate.getKeyForSearch(newSearch);\n }\n if (key != null) {\n manager.setFocusedKey(key);\n props.onTypeSelect?.(key);\n }\n clearTimeout(timeoutId());\n setTimeoutId(window.setTimeout(() => setSearch(\"\"), 500));\n };\n return {\n typeSelectHandlers: {\n onKeyDown\n }\n };\n}\nfunction getStringForKey(key) {\n if (key.length === 1 || !/^[A-Z]/i.test(key)) {\n return key;\n }\n return \"\";\n}\nfunction isAllSameLetter(search) {\n return search.split(\"\").every((letter) => letter === search[0]);\n}\nfunction createSelectableCollection(props, ref, scrollRef) {\n const defaultProps = {\n selectOnFocus: () => access(props.selectionManager).selectionBehavior() === \"replace\"\n };\n const mergedProps = mergeProps(defaultProps, props);\n const finalScrollRef = () => ref();\n const { direction } = useLocale();\n let scrollPos = { top: 0, left: 0 };\n createEventListener(\n () => !access(mergedProps.isVirtualized) ? finalScrollRef() : void 0,\n \"scroll\",\n () => {\n const scrollEl = finalScrollRef();\n if (!scrollEl) {\n return;\n }\n scrollPos = {\n top: scrollEl.scrollTop,\n left: scrollEl.scrollLeft\n };\n }\n );\n const { typeSelectHandlers } = createTypeSelect({\n isDisabled: () => access(mergedProps.disallowTypeAhead),\n keyboardDelegate: () => access(mergedProps.keyboardDelegate),\n selectionManager: () => access(mergedProps.selectionManager)\n });\n const orientation = () => access(mergedProps.orientation) ?? \"vertical\";\n const onKeyDown = (e2) => {\n callHandler(e2, typeSelectHandlers.onKeyDown);\n if (e2.altKey && e2.key === \"Tab\") {\n e2.preventDefault();\n }\n const refEl = ref();\n if (!refEl?.contains(e2.target)) {\n return;\n }\n const manager = access(mergedProps.selectionManager);\n const selectOnFocus = access(mergedProps.selectOnFocus);\n const navigateToKey = (key) => {\n if (key != null) {\n manager.setFocusedKey(key);\n if (e2.shiftKey && manager.selectionMode() === \"multiple\") {\n manager.extendSelection(key);\n } else if (selectOnFocus && !isNonContiguousSelectionModifier(e2)) {\n manager.replaceSelection(key);\n }\n }\n };\n const delegate = access(mergedProps.keyboardDelegate);\n const shouldFocusWrap = access(mergedProps.shouldFocusWrap);\n const focusedKey = manager.focusedKey();\n switch (e2.key) {\n case (orientation() === \"vertical\" ? \"ArrowDown\" : \"ArrowRight\"): {\n if (delegate.getKeyBelow) {\n e2.preventDefault();\n let nextKey;\n if (focusedKey != null) {\n nextKey = delegate.getKeyBelow(focusedKey);\n } else {\n nextKey = delegate.getFirstKey?.();\n }\n if (nextKey == null && shouldFocusWrap) {\n nextKey = delegate.getFirstKey?.(focusedKey);\n }\n navigateToKey(nextKey);\n }\n break;\n }\n case (orientation() === \"vertical\" ? \"ArrowUp\" : \"ArrowLeft\"): {\n if (delegate.getKeyAbove) {\n e2.preventDefault();\n let nextKey;\n if (focusedKey != null) {\n nextKey = delegate.getKeyAbove(focusedKey);\n } else {\n nextKey = delegate.getLastKey?.();\n }\n if (nextKey == null && shouldFocusWrap) {\n nextKey = delegate.getLastKey?.(focusedKey);\n }\n navigateToKey(nextKey);\n }\n break;\n }\n case (orientation() === \"vertical\" ? \"ArrowLeft\" : \"ArrowUp\"): {\n if (delegate.getKeyLeftOf) {\n e2.preventDefault();\n const isRTL3 = direction() === \"rtl\";\n let nextKey;\n if (focusedKey != null) {\n nextKey = delegate.getKeyLeftOf(focusedKey);\n } else {\n nextKey = isRTL3 ? delegate.getFirstKey?.() : delegate.getLastKey?.();\n }\n navigateToKey(nextKey);\n }\n break;\n }\n case (orientation() === \"vertical\" ? \"ArrowRight\" : \"ArrowDown\"): {\n if (delegate.getKeyRightOf) {\n e2.preventDefault();\n const isRTL3 = direction() === \"rtl\";\n let nextKey;\n if (focusedKey != null) {\n nextKey = delegate.getKeyRightOf(focusedKey);\n } else {\n nextKey = isRTL3 ? delegate.getLastKey?.() : delegate.getFirstKey?.();\n }\n navigateToKey(nextKey);\n }\n break;\n }\n case \"Home\":\n if (delegate.getFirstKey) {\n e2.preventDefault();\n const firstKey = delegate.getFirstKey(\n focusedKey,\n isCtrlKeyPressed(e2)\n );\n if (firstKey != null) {\n manager.setFocusedKey(firstKey);\n if (isCtrlKeyPressed(e2) && e2.shiftKey && manager.selectionMode() === \"multiple\") {\n manager.extendSelection(firstKey);\n } else if (selectOnFocus) {\n manager.replaceSelection(firstKey);\n }\n }\n }\n break;\n case \"End\":\n if (delegate.getLastKey) {\n e2.preventDefault();\n const lastKey = delegate.getLastKey(focusedKey, isCtrlKeyPressed(e2));\n if (lastKey != null) {\n manager.setFocusedKey(lastKey);\n if (isCtrlKeyPressed(e2) && e2.shiftKey && manager.selectionMode() === \"multiple\") {\n manager.extendSelection(lastKey);\n } else if (selectOnFocus) {\n manager.replaceSelection(lastKey);\n }\n }\n }\n break;\n case \"PageDown\":\n if (delegate.getKeyPageBelow && focusedKey != null) {\n e2.preventDefault();\n const nextKey = delegate.getKeyPageBelow(focusedKey);\n navigateToKey(nextKey);\n }\n break;\n case \"PageUp\":\n if (delegate.getKeyPageAbove && focusedKey != null) {\n e2.preventDefault();\n const nextKey = delegate.getKeyPageAbove(focusedKey);\n navigateToKey(nextKey);\n }\n break;\n case \"a\":\n if (isCtrlKeyPressed(e2) && manager.selectionMode() === \"multiple\" && access(mergedProps.disallowSelectAll) !== true) {\n e2.preventDefault();\n manager.selectAll();\n }\n break;\n case \"Escape\":\n if (!e2.defaultPrevented) {\n e2.preventDefault();\n if (!access(mergedProps.disallowEmptySelection)) {\n manager.clearSelection();\n }\n }\n break;\n case \"Tab\": {\n if (!access(mergedProps.allowsTabNavigation)) {\n if (e2.shiftKey) {\n refEl.focus();\n } else {\n const walker = getFocusableTreeWalker(refEl, { tabbable: true });\n let next;\n let last;\n do {\n last = walker.lastChild();\n if (last) {\n next = last;\n }\n } while (last);\n if (next && !next.contains(document.activeElement)) {\n focusWithoutScrolling(next);\n }\n }\n break;\n }\n }\n }\n };\n const onFocusIn = (e2) => {\n const manager = access(mergedProps.selectionManager);\n const delegate = access(mergedProps.keyboardDelegate);\n const selectOnFocus = access(mergedProps.selectOnFocus);\n if (manager.isFocused()) {\n if (!e2.currentTarget.contains(e2.target)) {\n manager.setFocused(false);\n }\n return;\n }\n if (!e2.currentTarget.contains(e2.target)) {\n return;\n }\n manager.setFocused(true);\n if (manager.focusedKey() == null) {\n const navigateToFirstKey = (key) => {\n if (key == null) {\n return;\n }\n manager.setFocusedKey(key);\n if (selectOnFocus) {\n manager.replaceSelection(key);\n }\n };\n const relatedTarget = e2.relatedTarget;\n if (relatedTarget && e2.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) {\n navigateToFirstKey(\n manager.lastSelectedKey() ?? delegate.getLastKey?.()\n );\n } else {\n navigateToFirstKey(\n manager.firstSelectedKey() ?? delegate.getFirstKey?.()\n );\n }\n } else if (!access(mergedProps.isVirtualized)) {\n const scrollEl = finalScrollRef();\n if (scrollEl) {\n scrollEl.scrollTop = scrollPos.top;\n scrollEl.scrollLeft = scrollPos.left;\n const element = scrollEl.querySelector(\n `[data-key=\"${manager.focusedKey()}\"]`\n );\n if (element) {\n focusWithoutScrolling(element);\n scrollIntoView(scrollEl, element);\n }\n }\n }\n };\n const onFocusOut = (e2) => {\n const manager = access(mergedProps.selectionManager);\n if (!e2.currentTarget.contains(e2.relatedTarget)) {\n manager.setFocused(false);\n }\n };\n const onMouseDown = (e2) => {\n if (finalScrollRef() === e2.target) {\n e2.preventDefault();\n }\n };\n const tryAutoFocus = () => {\n const autoFocus = access(mergedProps.autoFocus);\n if (!autoFocus) {\n return;\n }\n const manager = access(mergedProps.selectionManager);\n const delegate = access(mergedProps.keyboardDelegate);\n let focusedKey;\n if (autoFocus === \"first\") {\n focusedKey = delegate.getFirstKey?.();\n }\n if (autoFocus === \"last\") {\n focusedKey = delegate.getLastKey?.();\n }\n const selectedKeys = manager.selectedKeys();\n if (selectedKeys.size) {\n focusedKey = selectedKeys.values().next().value;\n }\n manager.setFocused(true);\n manager.setFocusedKey(focusedKey);\n const refEl = ref();\n if (refEl && focusedKey == null && !access(mergedProps.shouldUseVirtualFocus)) {\n focusWithoutScrolling(refEl);\n }\n };\n onMount(() => {\n if (mergedProps.deferAutoFocus) {\n setTimeout(tryAutoFocus, 0);\n } else {\n tryAutoFocus();\n }\n });\n createEffect(\n on(\n [\n finalScrollRef,\n () => access(mergedProps.isVirtualized),\n () => access(mergedProps.selectionManager).focusedKey()\n ],\n (newValue) => {\n const [scrollEl, isVirtualized, focusedKey] = newValue;\n if (isVirtualized) {\n focusedKey && mergedProps.scrollToKey?.(focusedKey);\n } else {\n if (focusedKey && scrollEl) {\n const element = scrollEl.querySelector(\n `[data-key=\"${focusedKey}\"]`\n );\n if (element) {\n scrollIntoView(scrollEl, element);\n }\n }\n }\n }\n )\n );\n const tabIndex = createMemo(() => {\n if (access(mergedProps.shouldUseVirtualFocus)) {\n return void 0;\n }\n return access(mergedProps.selectionManager).focusedKey() == null ? 0 : -1;\n });\n return {\n tabIndex,\n onKeyDown,\n onMouseDown,\n onFocusIn,\n onFocusOut\n };\n}\nfunction createSelectableItem(props, ref) {\n const manager = () => access(props.selectionManager);\n const key = () => access(props.key);\n const shouldUseVirtualFocus = () => access(props.shouldUseVirtualFocus);\n const onSelect = (e2) => {\n if (manager().selectionMode() === \"none\") {\n return;\n }\n if (manager().selectionMode() === \"single\") {\n if (manager().isSelected(key()) && !manager().disallowEmptySelection()) {\n manager().toggleSelection(key());\n } else {\n manager().replaceSelection(key());\n }\n } else if (e2?.shiftKey) {\n manager().extendSelection(key());\n } else if (manager().selectionBehavior() === \"toggle\" || isCtrlKeyPressed(e2) || \"pointerType\" in e2 && e2.pointerType === \"touch\") {\n manager().toggleSelection(key());\n } else {\n manager().replaceSelection(key());\n }\n };\n const isSelected = () => manager().isSelected(key());\n const isDisabled = () => access(props.disabled) || manager().isDisabled(key());\n const allowsSelection = () => !isDisabled() && manager().canSelectItem(key());\n let pointerDownType = null;\n const onPointerDown = (e2) => {\n if (!allowsSelection()) {\n return;\n }\n pointerDownType = e2.pointerType;\n if (e2.pointerType === \"mouse\" && e2.button === 0 && !access(props.shouldSelectOnPressUp)) {\n onSelect(e2);\n }\n };\n const onPointerUp = (e2) => {\n if (!allowsSelection()) {\n return;\n }\n if (e2.pointerType === \"mouse\" && e2.button === 0 && access(props.shouldSelectOnPressUp) && access(props.allowsDifferentPressOrigin)) {\n onSelect(e2);\n }\n };\n const onClick = (e2) => {\n if (!allowsSelection()) {\n return;\n }\n if (access(props.shouldSelectOnPressUp) && !access(props.allowsDifferentPressOrigin) || pointerDownType !== \"mouse\") {\n onSelect(e2);\n }\n };\n const onKeyDown = (e2) => {\n if (!allowsSelection() || ![\"Enter\", \" \"].includes(e2.key)) {\n return;\n }\n if (isNonContiguousSelectionModifier(e2)) {\n manager().toggleSelection(key());\n } else {\n onSelect(e2);\n }\n };\n const onMouseDown = (e2) => {\n if (isDisabled()) {\n e2.preventDefault();\n }\n };\n const onFocus = (e2) => {\n const refEl = ref();\n if (shouldUseVirtualFocus() || isDisabled() || !refEl) {\n return;\n }\n if (e2.target === refEl) {\n manager().setFocusedKey(key());\n }\n };\n const tabIndex = createMemo(() => {\n if (shouldUseVirtualFocus() || isDisabled()) {\n return void 0;\n }\n return key() === manager().focusedKey() ? 0 : -1;\n });\n const dataKey = createMemo(() => {\n return access(props.virtualized) ? void 0 : key();\n });\n createEffect(\n on(\n [\n ref,\n key,\n shouldUseVirtualFocus,\n () => manager().focusedKey(),\n () => manager().isFocused()\n ],\n ([refEl, key2, shouldUseVirtualFocus2, focusedKey, isFocused]) => {\n if (refEl && key2 === focusedKey && isFocused && !shouldUseVirtualFocus2 && document.activeElement !== refEl) {\n if (props.focus) {\n props.focus();\n } else {\n focusWithoutScrolling(refEl);\n }\n }\n }\n )\n );\n return {\n isSelected,\n isDisabled,\n allowsSelection,\n tabIndex,\n dataKey,\n onPointerDown,\n onPointerUp,\n onClick,\n onKeyDown,\n onMouseDown,\n onFocus\n };\n}\nvar SelectionManager = class {\n collection;\n state;\n constructor(collection, state) {\n this.collection = collection;\n this.state = state;\n }\n /** The type of selection that is allowed in the collection. */\n selectionMode() {\n return this.state.selectionMode();\n }\n /** Whether the collection allows empty selection. */\n disallowEmptySelection() {\n return this.state.disallowEmptySelection();\n }\n /** The selection behavior for the collection. */\n selectionBehavior() {\n return this.state.selectionBehavior();\n }\n /** Sets the selection behavior for the collection. */\n setSelectionBehavior(selectionBehavior) {\n this.state.setSelectionBehavior(selectionBehavior);\n }\n /** Whether the collection is currently focused. */\n isFocused() {\n return this.state.isFocused();\n }\n /** Sets whether the collection is focused. */\n setFocused(isFocused) {\n this.state.setFocused(isFocused);\n }\n /** The current focused key in the collection. */\n focusedKey() {\n return this.state.focusedKey();\n }\n /** Sets the focused key. */\n setFocusedKey(key) {\n if (key == null || this.collection().getItem(key)) {\n this.state.setFocusedKey(key);\n }\n }\n /** The currently selected keys in the collection. */\n selectedKeys() {\n return this.state.selectedKeys();\n }\n /** Returns whether a key is selected. */\n isSelected(key) {\n if (this.state.selectionMode() === \"none\") {\n return false;\n }\n const retrievedKey = this.getKey(key);\n if (retrievedKey == null) {\n return false;\n }\n return this.state.selectedKeys().has(retrievedKey);\n }\n /** Whether the selection is empty. */\n isEmpty() {\n return this.state.selectedKeys().size === 0;\n }\n /** Whether all items in the collection are selected. */\n isSelectAll() {\n if (this.isEmpty()) {\n return false;\n }\n const selectedKeys = this.state.selectedKeys();\n return this.getAllSelectableKeys().every((k) => selectedKeys.has(k));\n }\n firstSelectedKey() {\n let first;\n for (const key of this.state.selectedKeys()) {\n const item = this.collection().getItem(key);\n const isItemBeforeFirst = item?.index != null && first?.index != null && item.index < first.index;\n if (!first || isItemBeforeFirst) {\n first = item;\n }\n }\n return first?.key;\n }\n lastSelectedKey() {\n let last;\n for (const key of this.state.selectedKeys()) {\n const item = this.collection().getItem(key);\n const isItemAfterLast = item?.index != null && last?.index != null && item.index > last.index;\n if (!last || isItemAfterLast) {\n last = item;\n }\n }\n return last?.key;\n }\n /** Extends the selection to the given key. */\n extendSelection(toKey) {\n if (this.selectionMode() === \"none\") {\n return;\n }\n if (this.selectionMode() === \"single\") {\n this.replaceSelection(toKey);\n return;\n }\n const retrievedToKey = this.getKey(toKey);\n if (retrievedToKey == null) {\n return;\n }\n const selectedKeys = this.state.selectedKeys();\n const anchorKey = selectedKeys.anchorKey || retrievedToKey;\n const selection = new Selection(selectedKeys, anchorKey, retrievedToKey);\n for (const key of this.getKeyRange(\n anchorKey,\n selectedKeys.currentKey || retrievedToKey\n )) {\n selection.delete(key);\n }\n for (const key of this.getKeyRange(retrievedToKey, anchorKey)) {\n if (this.canSelectItem(key)) {\n selection.add(key);\n }\n }\n this.state.setSelectedKeys(selection);\n }\n getKeyRange(from, to) {\n const fromItem = this.collection().getItem(from);\n const toItem = this.collection().getItem(to);\n if (fromItem && toItem) {\n if (fromItem.index != null && toItem.index != null && fromItem.index <= toItem.index) {\n return this.getKeyRangeInternal(from, to);\n }\n return this.getKeyRangeInternal(to, from);\n }\n return [];\n }\n getKeyRangeInternal(from, to) {\n const keys2 = [];\n let key = from;\n while (key != null) {\n const item = this.collection().getItem(key);\n if (item && item.type === \"item\") {\n keys2.push(key);\n }\n if (key === to) {\n return keys2;\n }\n key = this.collection().getKeyAfter(key);\n }\n return [];\n }\n getKey(key) {\n const item = this.collection().getItem(key);\n if (!item) {\n return key;\n }\n if (!item || item.type !== \"item\") {\n return null;\n }\n return item.key;\n }\n /** Toggles whether the given key is selected. */\n toggleSelection(key) {\n if (this.selectionMode() === \"none\") {\n return;\n }\n if (this.selectionMode() === \"single\" && !this.isSelected(key)) {\n this.replaceSelection(key);\n return;\n }\n const retrievedKey = this.getKey(key);\n if (retrievedKey == null) {\n return;\n }\n const keys2 = new Selection(this.state.selectedKeys());\n if (keys2.has(retrievedKey)) {\n keys2.delete(retrievedKey);\n } else if (this.canSelectItem(retrievedKey)) {\n keys2.add(retrievedKey);\n keys2.anchorKey = retrievedKey;\n keys2.currentKey = retrievedKey;\n }\n if (this.disallowEmptySelection() && keys2.size === 0) {\n return;\n }\n this.state.setSelectedKeys(keys2);\n }\n /** Replaces the selection with only the given key. */\n replaceSelection(key) {\n if (this.selectionMode() === \"none\") {\n return;\n }\n const retrievedKey = this.getKey(key);\n if (retrievedKey == null) {\n return;\n }\n const selection = this.canSelectItem(retrievedKey) ? new Selection([retrievedKey], retrievedKey, retrievedKey) : new Selection();\n this.state.setSelectedKeys(selection);\n }\n /** Replaces the selection with the given keys. */\n setSelectedKeys(keys2) {\n if (this.selectionMode() === \"none\") {\n return;\n }\n const selection = new Selection();\n for (const key of keys2) {\n const retrievedKey = this.getKey(key);\n if (retrievedKey != null) {\n selection.add(retrievedKey);\n if (this.selectionMode() === \"single\") {\n break;\n }\n }\n }\n this.state.setSelectedKeys(selection);\n }\n /** Selects all items in the collection. */\n selectAll() {\n if (this.selectionMode() === \"multiple\") {\n this.state.setSelectedKeys(new Set(this.getAllSelectableKeys()));\n }\n }\n /**\n * Removes all keys from the selection.\n */\n clearSelection() {\n const selectedKeys = this.state.selectedKeys();\n if (!this.disallowEmptySelection() && selectedKeys.size > 0) {\n this.state.setSelectedKeys(new Selection());\n }\n }\n /**\n * Toggles between select all and an empty selection.\n */\n toggleSelectAll() {\n if (this.isSelectAll()) {\n this.clearSelection();\n } else {\n this.selectAll();\n }\n }\n select(key, e2) {\n if (this.selectionMode() === \"none\") {\n return;\n }\n if (this.selectionMode() === \"single\") {\n if (this.isSelected(key) && !this.disallowEmptySelection()) {\n this.toggleSelection(key);\n } else {\n this.replaceSelection(key);\n }\n } else if (this.selectionBehavior() === \"toggle\" || e2 && e2.pointerType === \"touch\") {\n this.toggleSelection(key);\n } else {\n this.replaceSelection(key);\n }\n }\n /** Returns whether the current selection is equal to the given selection. */\n isSelectionEqual(selection) {\n if (selection === this.state.selectedKeys()) {\n return true;\n }\n const selectedKeys = this.selectedKeys();\n if (selection.size !== selectedKeys.size) {\n return false;\n }\n for (const key of selection) {\n if (!selectedKeys.has(key)) {\n return false;\n }\n }\n for (const key of selectedKeys) {\n if (!selection.has(key)) {\n return false;\n }\n }\n return true;\n }\n canSelectItem(key) {\n if (this.state.selectionMode() === \"none\") {\n return false;\n }\n const item = this.collection().getItem(key);\n return item != null && !item.disabled;\n }\n isDisabled(key) {\n const item = this.collection().getItem(key);\n return !item || item.disabled;\n }\n getAllSelectableKeys() {\n const keys2 = [];\n const addKeys = (key) => {\n while (key != null) {\n if (this.canSelectItem(key)) {\n const item = this.collection().getItem(key);\n if (!item) {\n continue;\n }\n if (item.type === \"item\") {\n keys2.push(key);\n }\n }\n key = this.collection().getKeyAfter(key);\n }\n };\n addKeys(this.collection().getFirstKey());\n return keys2;\n }\n};\nvar ListCollection = class {\n keyMap = /* @__PURE__ */ new Map();\n iterable;\n firstKey;\n lastKey;\n constructor(nodes) {\n this.iterable = nodes;\n for (const node of nodes) {\n this.keyMap.set(node.key, node);\n }\n if (this.keyMap.size === 0) {\n return;\n }\n let last;\n let index = 0;\n for (const [key, node] of this.keyMap) {\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = void 0;\n }\n if (node.type === \"item\") {\n node.index = index++;\n }\n last = node;\n last.nextKey = void 0;\n }\n this.lastKey = last.key;\n }\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n getSize() {\n return this.keyMap.size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n return this.keyMap.get(key)?.prevKey;\n }\n getKeyAfter(key) {\n return this.keyMap.get(key)?.nextKey;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n return this.keyMap.get(key);\n }\n at(idx) {\n const keys2 = [...this.getKeys()];\n return this.getItem(keys2[idx]);\n }\n};\nfunction createListState(props) {\n const selectionState = createMultipleSelectionState(props);\n const factory = (nodes) => {\n return props.filter ? new ListCollection(props.filter(nodes)) : new ListCollection(nodes);\n };\n const collection = createCollection(\n {\n dataSource: () => access(props.dataSource),\n getKey: () => access(props.getKey),\n getTextValue: () => access(props.getTextValue),\n getDisabled: () => access(props.getDisabled),\n getSectionChildren: () => access(props.getSectionChildren),\n factory\n },\n [() => props.filter]\n );\n const selectionManager = new SelectionManager(collection, selectionState);\n createComputed(() => {\n const focusedKey = selectionState.focusedKey();\n if (focusedKey != null && !collection().getItem(focusedKey)) {\n selectionState.setFocusedKey(void 0);\n }\n });\n return {\n collection,\n selectionManager: () => selectionManager\n };\n}\n\n// ../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/chunk/ZV6G25TT.js\nvar access2 = (v) => typeof v === \"function\" ? v() : v;\n\n// ../../node_modules/.pnpm/solid-presence@0.1.7_solid-js@1.9.7/node_modules/solid-presence/dist/index.js\nvar createPresence = (props) => {\n const refStyles = createMemo(() => {\n const element = access2(props.element);\n if (!element) return;\n return getComputedStyle(element);\n });\n const getAnimationName = () => {\n return refStyles()?.animationName ?? \"none\";\n };\n const [presentState, setPresentState] = createSignal(access2(props.show) ? \"present\" : \"hidden\");\n let animationName = \"none\";\n createEffect((prevShow) => {\n const show = access2(props.show);\n untrack(() => {\n if (prevShow === show) return show;\n const prevAnimationName = animationName;\n const currentAnimationName = getAnimationName();\n if (show) {\n setPresentState(\"present\");\n } else if (currentAnimationName === \"none\" || refStyles()?.display === \"none\") {\n setPresentState(\"hidden\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (prevShow === true && isAnimating) {\n setPresentState(\"hiding\");\n } else {\n setPresentState(\"hidden\");\n }\n }\n });\n return show;\n });\n createEffect(() => {\n const element = access2(props.element);\n if (!element) return;\n const handleAnimationStart = (event) => {\n if (event.target === element) {\n animationName = getAnimationName();\n }\n };\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName();\n const isCurrentAnimation = currentAnimationName.includes(\n event.animationName\n );\n if (event.target === element && isCurrentAnimation && presentState() === \"hiding\") {\n setPresentState(\"hidden\");\n }\n };\n element.addEventListener(\"animationstart\", handleAnimationStart);\n element.addEventListener(\"animationcancel\", handleAnimationEnd);\n element.addEventListener(\"animationend\", handleAnimationEnd);\n onCleanup(() => {\n element.removeEventListener(\"animationstart\", handleAnimationStart);\n element.removeEventListener(\"animationcancel\", handleAnimationEnd);\n element.removeEventListener(\"animationend\", handleAnimationEnd);\n });\n });\n return {\n present: () => presentState() === \"present\" || presentState() === \"hiding\",\n state: presentState\n };\n};\nvar presence_default = createPresence;\nvar src_default = presence_default;\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ZKYDDHM6.js\nvar DATA_TOP_LAYER_ATTR = \"data-kb-top-layer\";\nvar originalBodyPointerEvents;\nvar hasDisabledBodyPointerEvents = false;\nvar layers = [];\nfunction indexOf(node) {\n return layers.findIndex((layer) => layer.node === node);\n}\nfunction find(node) {\n return layers[indexOf(node)];\n}\nfunction isTopMostLayer(node) {\n return layers[layers.length - 1].node === node;\n}\nfunction getPointerBlockingLayers() {\n return layers.filter((layer) => layer.isPointerBlocking);\n}\nfunction getTopMostPointerBlockingLayer() {\n return [...getPointerBlockingLayers()].slice(-1)[0];\n}\nfunction hasPointerBlockingLayer() {\n return getPointerBlockingLayers().length > 0;\n}\nfunction isBelowPointerBlockingLayer(node) {\n const highestBlockingIndex = indexOf(getTopMostPointerBlockingLayer()?.node);\n return indexOf(node) < highestBlockingIndex;\n}\nfunction addLayer(layer) {\n layers.push(layer);\n}\nfunction removeLayer(node) {\n const index = indexOf(node);\n if (index < 0) {\n return;\n }\n layers.splice(index, 1);\n}\nfunction assignPointerEventToLayers() {\n for (const {\n node\n } of layers) {\n node.style.pointerEvents = isBelowPointerBlockingLayer(node) ? \"none\" : \"auto\";\n }\n}\nfunction disableBodyPointerEvents(node) {\n if (hasPointerBlockingLayer() && !hasDisabledBodyPointerEvents) {\n const ownerDocument = getDocument(node);\n originalBodyPointerEvents = document.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n hasDisabledBodyPointerEvents = true;\n }\n}\nfunction restoreBodyPointerEvents(node) {\n if (hasPointerBlockingLayer()) {\n return;\n }\n const ownerDocument = getDocument(node);\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n if (ownerDocument.body.style.length === 0) {\n ownerDocument.body.removeAttribute(\"style\");\n }\n hasDisabledBodyPointerEvents = false;\n}\nvar layerStack = {\n layers,\n isTopMostLayer,\n hasPointerBlockingLayer,\n isBelowPointerBlockingLayer,\n addLayer,\n removeLayer,\n indexOf,\n find,\n assignPointerEventToLayers,\n disableBodyPointerEvents,\n restoreBodyPointerEvents\n};\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7OVKXYPU.js\nvar button_exports = {};\n__export(button_exports, {\n Button: () => Button,\n Root: () => ButtonRoot\n});\nvar BUTTON_INPUT_TYPES = [\n \"button\",\n \"color\",\n \"file\",\n \"image\",\n \"reset\",\n \"submit\"\n];\nfunction isButton(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"button\") {\n return true;\n }\n if (tagName === \"input\" && element.type) {\n return BUTTON_INPUT_TYPES.indexOf(element.type) !== -1;\n }\n return false;\n}\nfunction ButtonRoot(props) {\n let ref;\n const mergedProps = mergeDefaultProps({\n type: \"button\"\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"type\", \"disabled\"]);\n const tagName = createTagName(() => ref, () => \"button\");\n const isNativeButton = createMemo(() => {\n const elementTagName = tagName();\n if (elementTagName == null) {\n return false;\n }\n return isButton({\n tagName: elementTagName,\n type: local.type\n });\n });\n const isNativeInput = createMemo(() => {\n return tagName() === \"input\";\n });\n const isNativeLink = createMemo(() => {\n return tagName() === \"a\" && ref?.getAttribute(\"href\") != null;\n });\n return createComponent(Polymorphic, mergeProps({\n as: \"button\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get type() {\n return isNativeButton() || isNativeInput() ? local.type : void 0;\n },\n get role() {\n return !isNativeButton() && !isNativeLink() ? \"button\" : void 0;\n },\n get tabIndex() {\n return !isNativeButton() && !isNativeLink() && !local.disabled ? 0 : void 0;\n },\n get disabled() {\n return isNativeButton() || isNativeInput() ? local.disabled : void 0;\n },\n get [\"aria-disabled\"]() {\n return !isNativeButton() && !isNativeInput() && local.disabled ? true : void 0;\n },\n get [\"data-disabled\"]() {\n return local.disabled ? \"\" : void 0;\n }\n }, others));\n}\nvar Button = ButtonRoot;\n\n// ../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\nvar sides = [\"top\", \"right\", \"bottom\", \"left\"];\nvar min = Math.min;\nvar max = Math.max;\nvar round = Math.round;\nvar floor = Math.floor;\nvar createCoords = (v) => ({\n x: v,\n y: v\n});\nvar oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nvar oppositeAlignmentMap = {\n start: \"end\",\n end: \"start\"\n};\nfunction clamp2(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nfunction getSideAxis(placement) {\n return [\"top\", \"bottom\"].includes(getSide(placement)) ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = [\"left\", \"right\"];\n const rl = [\"right\", \"left\"];\n const tb = [\"top\", \"bottom\"];\n const bt = [\"bottom\", \"top\"];\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case \"left\":\n case \"right\":\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\n// ../../node_modules/.pnpm/@floating-ui+core@1.6.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nvar computePosition = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i2 = 0; i2 < validMiddleware.length; i2++) {\n const {\n name,\n fn\n } = validMiddleware[i2];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i2 = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\nvar arrow = (options) => ({\n name: \"arrow\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state;\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max2 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset3 = clamp2(min$1, center, max2);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset3 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset3,\n centerOffset: center - offset3 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n});\nvar flip = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"flip\",\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements2 = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements2[nextIndex];\n if (nextPlacement) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a2, b2) => a2.overflows[1] - b2.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a2, b2) => a2[1] - b2[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n}\nvar hide = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"hide\",\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n};\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform: platform2,\n elements\n } = state;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = [\"left\", \"top\"].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\nvar offset = function(options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: \"offset\",\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\nvar shift = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"shift\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref) => {\n let {\n x: x2,\n y: y2\n } = _ref;\n return {\n x: x2,\n y: y2\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = mainAxisCoord + overflow[minSide];\n const max2 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp2(min2, mainAxisCoord, max2);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = crossAxisCoord + overflow[minSide];\n const max2 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp2(min2, crossAxisCoord, max2);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\nvar size = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"size\",\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\n// ../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n}\nfunction getWindow2(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow2(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow2(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow2(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow2(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle2(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && ![\"inline\", \"contents\"].includes(display);\n}\nfunction isTableElement(element) {\n return [\"table\", \"td\", \"th\"].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [\":popover-open\", \":modal\"].some((selector) => {\n try {\n return element.matches(selector);\n } catch (e2) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;\n return css.transform !== \"none\" || css.perspective !== \"none\" || (css.containerType ? css.containerType !== \"normal\" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== \"none\" : false) || !webkit && (css.filter ? css.filter !== \"none\" : false) || [\"transform\", \"perspective\", \"filter\"].some((value) => (css.willChange || \"\").includes(value)) || [\"paint\", \"layout\", \"strict\", \"content\"].some((value) => (css.contain || \"\").includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === \"undefined\" || !CSS.supports) return false;\n return CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nfunction isLastTraversableNode(node) {\n return [\"html\", \"body\", \"#document\"].includes(getNodeName(node));\n}\nfunction getComputedStyle2(element) {\n return getWindow2(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow2(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\n// ../../node_modules/.pnpm/@floating-ui+dom@1.6.8/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\nfunction getCssDimensions(element) {\n const css = getComputedStyle2(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nvar noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow2(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow2(element)) {\n return false;\n }\n return isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow2(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow2(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = currentWin.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle2(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow2(currentIFrame);\n currentIFrame = currentWin.frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\nfunction getWindowScrollBarX(element) {\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle2(body).direction === \"rtl\") {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getViewportRect(element, strategy) {\n const win = getWindow2(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle2(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache2) {\n const cachedResult = cache2.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle2(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle2(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && [\"absolute\", \"fixed\"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache2.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const x = rect.left + scroll.scrollLeft - offsets.x;\n const y = rect.top + scroll.scrollTop - offsets.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction isStaticPositioned(element) {\n return getComputedStyle2(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle2(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow2(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\nvar getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\nfunction isRTL2(element) {\n return getComputedStyle2(element).direction === \"rtl\";\n}\nvar platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL: isRTL2\n};\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries2) {\n const ratio = entries2[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e2) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref) => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nvar offset2 = offset;\nvar shift2 = shift;\nvar flip2 = flip;\nvar size2 = size;\nvar hide2 = hide;\nvar arrow2 = arrow;\nvar computePosition2 = (reference, floating, options) => {\n const cache2 = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache2\n };\n return computePosition(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/4X2EKUJ3.js\nvar PopperContext = createContext();\nfunction usePopperContext() {\n const context = useContext(PopperContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `usePopperContext` must be used within a `Popper` component\");\n }\n return context;\n}\nvar _tmpl$ = /* @__PURE__ */ template(`<svg display=\"block\" viewBox=\"0 0 30 30\" style=\"transform:scale(1.02)\"><g><path fill=\"none\" d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\"></path><path stroke=\"none\" d=\"M23,27.8c1.1,1.2,3.4,2.2,5,2.2h2H0h2c1.7,0,3.9-1,5-2.2l6.6-7.2c0.7-0.8,2-0.8,2.7,0L23,27.8L23,27.8z\">`);\nvar DEFAULT_SIZE = 30;\nvar HALF_DEFAULT_SIZE = DEFAULT_SIZE / 2;\nvar ROTATION_DEG = {\n top: 180,\n right: -90,\n bottom: 0,\n left: 90\n};\nfunction PopperArrow(props) {\n const context = usePopperContext();\n const mergedProps = mergeDefaultProps({\n size: DEFAULT_SIZE\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"style\", \"size\"]);\n const dir = () => context.currentPlacement().split(\"-\")[0];\n const contentStyle = createComputedStyle(context.contentRef);\n const fill = () => contentStyle()?.getPropertyValue(\"background-color\") || \"none\";\n const stroke = () => contentStyle()?.getPropertyValue(`border-${dir()}-color`) || \"none\";\n const borderWidth = () => contentStyle()?.getPropertyValue(`border-${dir()}-width`) || \"0px\";\n const strokeWidth = () => {\n return Number.parseInt(borderWidth()) * 2 * (DEFAULT_SIZE / local.size);\n };\n const rotate = () => {\n return `rotate(${ROTATION_DEG[dir()]} ${HALF_DEFAULT_SIZE} ${HALF_DEFAULT_SIZE}) translate(0 2)`;\n };\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs(context.setArrowRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n \"aria-hidden\": \"true\",\n get style() {\n return combineStyle({\n // server side rendering\n position: \"absolute\",\n \"font-size\": `${local.size}px`,\n width: \"1em\",\n height: \"1em\",\n \"pointer-events\": \"none\",\n fill: fill(),\n stroke: stroke(),\n \"stroke-width\": strokeWidth()\n }, local.style);\n }\n }, others, {\n get children() {\n const _el$ = _tmpl$(), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"transform\", rotate()));\n return _el$;\n }\n }));\n}\nfunction createComputedStyle(element) {\n const [style, setStyle] = createSignal();\n createEffect(() => {\n const el = element();\n el && setStyle(getWindow(el).getComputedStyle(el));\n });\n return style;\n}\nfunction PopperPositioner(props) {\n const context = usePopperContext();\n const [local, others] = splitProps(props, [\"ref\", \"style\"]);\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs(context.setPositionerRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n \"data-popper-positioner\": \"\",\n get style() {\n return combineStyle({\n position: \"absolute\",\n top: 0,\n left: 0,\n \"min-width\": \"max-content\"\n }, local.style);\n }\n }, others));\n}\nfunction createDOMRect(anchorRect) {\n const { x = 0, y = 0, width = 0, height = 0 } = anchorRect ?? {};\n if (typeof DOMRect === \"function\") {\n return new DOMRect(x, y, width, height);\n }\n const rect = {\n x,\n y,\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n return { ...rect, toJSON: () => rect };\n}\nfunction getAnchorElement(anchor, getAnchorRect) {\n const contextElement = anchor;\n return {\n contextElement,\n getBoundingClientRect: () => {\n const anchorRect = getAnchorRect(anchor);\n if (anchorRect) {\n return createDOMRect(anchorRect);\n }\n if (anchor) {\n return anchor.getBoundingClientRect();\n }\n return createDOMRect();\n }\n };\n}\nfunction isValidPlacement(flip22) {\n return /^(?:top|bottom|left|right)(?:-(?:start|end))?$/.test(flip22);\n}\nvar REVERSE_BASE_PLACEMENT = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nfunction getTransformOrigin(placement, readingDirection) {\n const [basePlacement, alignment] = placement.split(\"-\");\n const reversePlacement = REVERSE_BASE_PLACEMENT[basePlacement];\n if (!alignment) {\n return `${reversePlacement} center`;\n }\n if (basePlacement === \"left\" || basePlacement === \"right\") {\n return `${reversePlacement} ${alignment === \"start\" ? \"top\" : \"bottom\"}`;\n }\n if (alignment === \"start\") {\n return `${reversePlacement} ${readingDirection === \"rtl\" ? \"right\" : \"left\"}`;\n }\n return `${reversePlacement} ${readingDirection === \"rtl\" ? \"left\" : \"right\"}`;\n}\nfunction PopperRoot(props) {\n const mergedProps = mergeDefaultProps({\n getAnchorRect: (anchor) => anchor?.getBoundingClientRect(),\n placement: \"bottom\",\n gutter: 0,\n shift: 0,\n flip: true,\n slide: true,\n overlap: false,\n sameWidth: false,\n fitViewport: false,\n hideWhenDetached: false,\n detachedPadding: 0,\n arrowPadding: 4,\n overflowPadding: 8\n }, props);\n const [positionerRef, setPositionerRef] = createSignal();\n const [arrowRef, setArrowRef] = createSignal();\n const [currentPlacement, setCurrentPlacement] = createSignal(mergedProps.placement);\n const anchorRef = () => getAnchorElement(mergedProps.anchorRef?.(), mergedProps.getAnchorRect);\n const {\n direction\n } = useLocale();\n async function updatePosition() {\n const referenceEl = anchorRef();\n const floatingEl = positionerRef();\n const arrowEl = arrowRef();\n if (!referenceEl || !floatingEl) {\n return;\n }\n const arrowOffset = (arrowEl?.clientHeight || 0) / 2;\n const finalGutter = typeof mergedProps.gutter === \"number\" ? mergedProps.gutter + arrowOffset : mergedProps.gutter ?? arrowOffset;\n floatingEl.style.setProperty(\"--kb-popper-content-overflow-padding\", `${mergedProps.overflowPadding}px`);\n referenceEl.getBoundingClientRect();\n const middleware = [\n // https://floating-ui.com/docs/offset\n offset2(({\n placement\n }) => {\n const hasAlignment = !!placement.split(\"-\")[1];\n return {\n mainAxis: finalGutter,\n crossAxis: !hasAlignment ? mergedProps.shift : void 0,\n alignmentAxis: mergedProps.shift\n };\n })\n ];\n if (mergedProps.flip !== false) {\n const fallbackPlacements = typeof mergedProps.flip === \"string\" ? mergedProps.flip.split(\" \") : void 0;\n if (fallbackPlacements !== void 0 && !fallbackPlacements.every(isValidPlacement)) {\n throw new Error(\"`flip` expects a spaced-delimited list of placements\");\n }\n middleware.push(flip2({\n padding: mergedProps.overflowPadding,\n fallbackPlacements\n }));\n }\n if (mergedProps.slide || mergedProps.overlap) {\n middleware.push(shift2({\n mainAxis: mergedProps.slide,\n crossAxis: mergedProps.overlap,\n padding: mergedProps.overflowPadding\n }));\n }\n middleware.push(size2({\n padding: mergedProps.overflowPadding,\n apply({\n availableWidth,\n availableHeight,\n rects\n }) {\n const referenceWidth = Math.round(rects.reference.width);\n availableWidth = Math.floor(availableWidth);\n availableHeight = Math.floor(availableHeight);\n floatingEl.style.setProperty(\"--kb-popper-anchor-width\", `${referenceWidth}px`);\n floatingEl.style.setProperty(\"--kb-popper-content-available-width\", `${availableWidth}px`);\n floatingEl.style.setProperty(\"--kb-popper-content-available-height\", `${availableHeight}px`);\n if (mergedProps.sameWidth) {\n floatingEl.style.width = `${referenceWidth}px`;\n }\n if (mergedProps.fitViewport) {\n floatingEl.style.maxWidth = `${availableWidth}px`;\n floatingEl.style.maxHeight = `${availableHeight}px`;\n }\n }\n }));\n if (mergedProps.hideWhenDetached) {\n middleware.push(hide2({\n padding: mergedProps.detachedPadding\n }));\n }\n if (arrowEl) {\n middleware.push(arrow2({\n element: arrowEl,\n padding: mergedProps.arrowPadding\n }));\n }\n const pos = await computePosition2(referenceEl, floatingEl, {\n placement: mergedProps.placement,\n strategy: \"absolute\",\n middleware,\n platform: {\n ...platform,\n isRTL: () => direction() === \"rtl\"\n }\n });\n setCurrentPlacement(pos.placement);\n mergedProps.onCurrentPlacementChange?.(pos.placement);\n if (!floatingEl) {\n return;\n }\n floatingEl.style.setProperty(\"--kb-popper-content-transform-origin\", getTransformOrigin(pos.placement, direction()));\n const x = Math.round(pos.x);\n const y = Math.round(pos.y);\n let visibility;\n if (mergedProps.hideWhenDetached) {\n visibility = pos.middlewareData.hide?.referenceHidden ? \"hidden\" : \"visible\";\n }\n Object.assign(floatingEl.style, {\n top: \"0\",\n left: \"0\",\n transform: `translate3d(${x}px, ${y}px, 0)`,\n visibility\n });\n if (arrowEl && pos.middlewareData.arrow) {\n const {\n x: arrowX,\n y: arrowY\n } = pos.middlewareData.arrow;\n const dir = pos.placement.split(\"-\")[0];\n Object.assign(arrowEl.style, {\n left: arrowX != null ? `${arrowX}px` : \"\",\n top: arrowY != null ? `${arrowY}px` : \"\",\n [dir]: \"100%\"\n });\n }\n }\n createEffect(() => {\n const referenceEl = anchorRef();\n const floatingEl = positionerRef();\n if (!referenceEl || !floatingEl) {\n return;\n }\n const cleanupAutoUpdate = autoUpdate(referenceEl, floatingEl, updatePosition, {\n // JSDOM doesn't support ResizeObserver\n elementResize: typeof ResizeObserver === \"function\"\n });\n onCleanup(cleanupAutoUpdate);\n });\n createEffect(() => {\n const positioner = positionerRef();\n const content = mergedProps.contentRef?.();\n if (!positioner || !content) {\n return;\n }\n queueMicrotask(() => {\n positioner.style.zIndex = getComputedStyle(content).zIndex;\n });\n });\n const context = {\n currentPlacement,\n contentRef: () => mergedProps.contentRef?.(),\n setPositionerRef,\n setArrowRef\n };\n return createComponent(PopperContext.Provider, {\n value: context,\n get children() {\n return mergedProps.children;\n }\n });\n}\nvar Popper = Object.assign(PopperRoot, {\n Arrow: PopperArrow,\n Context: PopperContext,\n usePopperContext,\n Positioner: PopperPositioner\n});\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/QEMPLYZX.js\nfunction createEscapeKeyDown(props) {\n const handleKeyDown = (event) => {\n if (event.key === EventKey.Escape) {\n props.onEscapeKeyDown?.(event);\n }\n };\n createEffect(() => {\n if (isServer) {\n return;\n }\n if (access(props.isDisabled)) {\n return;\n }\n const document2 = props.ownerDocument?.() ?? getDocument();\n document2.addEventListener(\"keydown\", handleKeyDown);\n onCleanup(() => {\n document2.removeEventListener(\"keydown\", handleKeyDown);\n });\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/QGCMYLTA.js\nvar POINTER_DOWN_OUTSIDE_EVENT = \"interactOutside.pointerDownOutside\";\nvar FOCUS_OUTSIDE_EVENT = \"interactOutside.focusOutside\";\nfunction createInteractOutside(props, ref) {\n let pointerDownTimeoutId;\n let clickHandler = noop3;\n const ownerDocument = () => getDocument(ref());\n const onPointerDownOutside = (e2) => props.onPointerDownOutside?.(e2);\n const onFocusOutside = (e2) => props.onFocusOutside?.(e2);\n const onInteractOutside = (e2) => props.onInteractOutside?.(e2);\n const isEventOutside = (e2) => {\n const target = e2.target;\n if (!(target instanceof HTMLElement)) {\n return false;\n }\n if (target.closest(`[${DATA_TOP_LAYER_ATTR}]`)) {\n return false;\n }\n if (!contains(ownerDocument(), target)) {\n return false;\n }\n if (contains(ref(), target)) {\n return false;\n }\n return !props.shouldExcludeElement?.(target);\n };\n const onPointerDown = (e2) => {\n function handler() {\n const container = ref();\n const target = e2.target;\n if (!container || !target || !isEventOutside(e2)) {\n return;\n }\n const handler2 = composeEventHandlers([\n onPointerDownOutside,\n onInteractOutside\n ]);\n target.addEventListener(POINTER_DOWN_OUTSIDE_EVENT, handler2, {\n once: true\n });\n const pointerDownOutsideEvent = new CustomEvent(\n POINTER_DOWN_OUTSIDE_EVENT,\n {\n bubbles: false,\n cancelable: true,\n detail: {\n originalEvent: e2,\n isContextMenu: e2.button === 2 || isCtrlKey(e2) && e2.button === 0\n }\n }\n );\n target.dispatchEvent(pointerDownOutsideEvent);\n }\n if (e2.pointerType === \"touch\") {\n ownerDocument().removeEventListener(\"click\", handler);\n clickHandler = handler;\n ownerDocument().addEventListener(\"click\", handler, { once: true });\n } else {\n handler();\n }\n };\n const onFocusIn = (e2) => {\n const container = ref();\n const target = e2.target;\n if (!container || !target || !isEventOutside(e2)) {\n return;\n }\n const handler = composeEventHandlers([\n onFocusOutside,\n onInteractOutside\n ]);\n target.addEventListener(FOCUS_OUTSIDE_EVENT, handler, { once: true });\n const focusOutsideEvent = new CustomEvent(FOCUS_OUTSIDE_EVENT, {\n bubbles: false,\n cancelable: true,\n detail: {\n originalEvent: e2,\n isContextMenu: false\n }\n });\n target.dispatchEvent(focusOutsideEvent);\n };\n createEffect(() => {\n if (isServer) {\n return;\n }\n if (access(props.isDisabled)) {\n return;\n }\n pointerDownTimeoutId = window.setTimeout(() => {\n ownerDocument().addEventListener(\"pointerdown\", onPointerDown, true);\n }, 0);\n ownerDocument().addEventListener(\"focusin\", onFocusIn, true);\n onCleanup(() => {\n window.clearTimeout(pointerDownTimeoutId);\n ownerDocument().removeEventListener(\"click\", clickHandler);\n ownerDocument().removeEventListener(\"pointerdown\", onPointerDown, true);\n ownerDocument().removeEventListener(\"focusin\", onFocusIn, true);\n });\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/G7G3PFRJ.js\nvar DismissableLayerContext = createContext();\nfunction useOptionalDismissableLayerContext() {\n return useContext(DismissableLayerContext);\n}\nfunction DismissableLayer(props) {\n let ref;\n const parentContext = useOptionalDismissableLayerContext();\n const [local, others] = splitProps(props, [\"ref\", \"disableOutsidePointerEvents\", \"excludedElements\", \"onEscapeKeyDown\", \"onPointerDownOutside\", \"onFocusOutside\", \"onInteractOutside\", \"onDismiss\", \"bypassTopMostLayerCheck\"]);\n const nestedLayers = /* @__PURE__ */ new Set([]);\n const registerNestedLayer = (element) => {\n nestedLayers.add(element);\n const parentUnregister = parentContext?.registerNestedLayer(element);\n return () => {\n nestedLayers.delete(element);\n parentUnregister?.();\n };\n };\n const shouldExcludeElement = (element) => {\n if (!ref) {\n return false;\n }\n return local.excludedElements?.some((node) => contains(node(), element)) || [...nestedLayers].some((layer) => contains(layer, element));\n };\n const onPointerDownOutside = (e2) => {\n if (!ref || layerStack.isBelowPointerBlockingLayer(ref)) {\n return;\n }\n if (!local.bypassTopMostLayerCheck && !layerStack.isTopMostLayer(ref)) {\n return;\n }\n local.onPointerDownOutside?.(e2);\n local.onInteractOutside?.(e2);\n if (!e2.defaultPrevented) {\n local.onDismiss?.();\n }\n };\n const onFocusOutside = (e2) => {\n local.onFocusOutside?.(e2);\n local.onInteractOutside?.(e2);\n if (!e2.defaultPrevented) {\n local.onDismiss?.();\n }\n };\n createInteractOutside({\n shouldExcludeElement,\n onPointerDownOutside,\n onFocusOutside\n }, () => ref);\n createEscapeKeyDown({\n ownerDocument: () => getDocument(ref),\n onEscapeKeyDown: (e2) => {\n if (!ref || !layerStack.isTopMostLayer(ref)) {\n return;\n }\n local.onEscapeKeyDown?.(e2);\n if (!e2.defaultPrevented && local.onDismiss) {\n e2.preventDefault();\n local.onDismiss();\n }\n }\n });\n onMount(() => {\n if (!ref) {\n return;\n }\n layerStack.addLayer({\n node: ref,\n isPointerBlocking: local.disableOutsidePointerEvents,\n dismiss: local.onDismiss\n });\n const unregisterFromParentLayer = parentContext?.registerNestedLayer(ref);\n layerStack.assignPointerEventToLayers();\n layerStack.disableBodyPointerEvents(ref);\n onCleanup(() => {\n if (!ref) {\n return;\n }\n layerStack.removeLayer(ref);\n unregisterFromParentLayer?.();\n layerStack.assignPointerEventToLayers();\n layerStack.restoreBodyPointerEvents(ref);\n });\n });\n createEffect(on([() => ref, () => local.disableOutsidePointerEvents], ([ref2, disableOutsidePointerEvents]) => {\n if (!ref2) {\n return;\n }\n const layer = layerStack.find(ref2);\n if (layer && layer.isPointerBlocking !== disableOutsidePointerEvents) {\n layer.isPointerBlocking = disableOutsidePointerEvents;\n layerStack.assignPointerEventToLayers();\n }\n if (disableOutsidePointerEvents) {\n layerStack.disableBodyPointerEvents(ref2);\n }\n onCleanup(() => {\n layerStack.restoreBodyPointerEvents(ref2);\n });\n }, {\n defer: true\n }));\n const context = {\n registerNestedLayer\n };\n return createComponent(DismissableLayerContext.Provider, {\n value: context,\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n }\n }, others));\n }\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7LCANGHD.js\nfunction createDisclosureState(props = {}) {\n const [isOpen, setIsOpen] = createControllableBooleanSignal({\n value: () => access(props.open),\n defaultValue: () => !!access(props.defaultOpen),\n onChange: (value) => props.onOpenChange?.(value)\n });\n const open = () => {\n setIsOpen(true);\n };\n const close = () => {\n setIsOpen(false);\n };\n const toggle = () => {\n isOpen() ? close() : open();\n };\n return {\n isOpen,\n setIsOpen,\n open,\n close,\n toggle\n };\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/Q2BOFK7I.js\nvar radio_group_exports = {};\n__export(radio_group_exports, {\n Description: () => FormControlDescription,\n ErrorMessage: () => FormControlErrorMessage,\n Item: () => RadioGroupItem,\n ItemControl: () => RadioGroupItemControl,\n ItemDescription: () => RadioGroupItemDescription,\n ItemIndicator: () => RadioGroupItemIndicator,\n ItemInput: () => RadioGroupItemInput,\n ItemLabel: () => RadioGroupItemLabel,\n Label: () => RadioGroupLabel,\n RadioGroup: () => RadioGroup,\n Root: () => RadioGroupRoot\n});\nvar RadioGroupContext = createContext();\nfunction useRadioGroupContext() {\n const context = useContext(RadioGroupContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useRadioGroupContext` must be used within a `RadioGroup` component\");\n }\n return context;\n}\nvar RadioGroupItemContext = createContext();\nfunction useRadioGroupItemContext() {\n const context = useContext(RadioGroupItemContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useRadioGroupItemContext` must be used within a `RadioGroup.Item` component\");\n }\n return context;\n}\nfunction RadioGroupItem(props) {\n const formControlContext = useFormControlContext();\n const radioGroupContext = useRadioGroupContext();\n const defaultId = `${formControlContext.generateId(\"item\")}-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps({\n id: defaultId\n }, props);\n const [local, others] = splitProps(mergedProps, [\"value\", \"disabled\", \"onPointerDown\"]);\n const [inputId, setInputId] = createSignal();\n const [labelId, setLabelId] = createSignal();\n const [descriptionId, setDescriptionId] = createSignal();\n const [inputRef, setInputRef] = createSignal();\n const [isFocused, setIsFocused] = createSignal(false);\n const isSelected = createMemo(() => {\n return radioGroupContext.isSelectedValue(local.value);\n });\n const isDisabled = createMemo(() => {\n return local.disabled || formControlContext.isDisabled() || false;\n });\n const onPointerDown = (e2) => {\n callHandler(e2, local.onPointerDown);\n if (isFocused()) {\n e2.preventDefault();\n }\n };\n const dataset = createMemo(() => ({\n ...formControlContext.dataset(),\n \"data-disabled\": isDisabled() ? \"\" : void 0,\n \"data-checked\": isSelected() ? \"\" : void 0\n }));\n const context = {\n value: () => local.value,\n dataset,\n isSelected,\n isDisabled,\n inputId,\n labelId,\n descriptionId,\n inputRef,\n select: () => radioGroupContext.setSelectedValue(local.value),\n generateId: createGenerateId(() => others.id),\n registerInput: createRegisterId(setInputId),\n registerLabel: createRegisterId(setLabelId),\n registerDescription: createRegisterId(setDescriptionId),\n setIsFocused,\n setInputRef\n };\n return createComponent(RadioGroupItemContext.Provider, {\n value: context,\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n role: \"group\",\n onPointerDown\n }, dataset, others));\n }\n });\n}\nfunction RadioGroupItemControl(props) {\n const context = useRadioGroupItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"control\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"onClick\", \"onKeyDown\"]);\n const onClick = (e2) => {\n callHandler(e2, local.onClick);\n context.select();\n context.inputRef()?.focus();\n };\n const onKeyDown = (e2) => {\n callHandler(e2, local.onKeyDown);\n if (e2.key === EventKey.Space) {\n context.select();\n context.inputRef()?.focus();\n }\n };\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n onClick,\n onKeyDown\n }, () => context.dataset(), others));\n}\nfunction RadioGroupItemDescription(props) {\n const context = useRadioGroupItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"description\")\n }, props);\n createEffect(() => onCleanup(context.registerDescription(mergedProps.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"div\"\n }, () => context.dataset(), mergedProps));\n}\nfunction RadioGroupItemIndicator(props) {\n const context = useRadioGroupItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"indicator\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"forceMount\"]);\n const [ref, setRef] = createSignal();\n const {\n present\n } = src_default({\n show: () => local.forceMount || context.isSelected(),\n element: () => ref() ?? null\n });\n return createComponent(Show, {\n get when() {\n return present();\n },\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs(setRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n }\n }, () => context.dataset(), others));\n }\n });\n}\nfunction RadioGroupItemInput(props) {\n const formControlContext = useFormControlContext();\n const radioGroupContext = useRadioGroupContext();\n const radioContext = useRadioGroupItemContext();\n const mergedProps = mergeDefaultProps({\n id: radioContext.generateId(\"input\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"style\", \"aria-labelledby\", \"aria-describedby\", \"onChange\", \"onFocus\", \"onBlur\"]);\n const ariaLabelledBy = () => {\n return [\n local[\"aria-labelledby\"],\n radioContext.labelId(),\n // If there is both an aria-label and aria-labelledby, add the input itself has an aria-labelledby\n local[\"aria-labelledby\"] != null && others[\"aria-label\"] != null ? others.id : void 0\n ].filter(Boolean).join(\" \") || void 0;\n };\n const ariaDescribedBy = () => {\n return [local[\"aria-describedby\"], radioContext.descriptionId(), radioGroupContext.ariaDescribedBy()].filter(Boolean).join(\" \") || void 0;\n };\n const [isInternalChangeEvent, setIsInternalChangeEvent] = createSignal(false);\n const onChange = (e2) => {\n callHandler(e2, local.onChange);\n e2.stopPropagation();\n if (!isInternalChangeEvent()) {\n radioGroupContext.setSelectedValue(radioContext.value());\n const target = e2.target;\n target.checked = radioContext.isSelected();\n }\n setIsInternalChangeEvent(false);\n };\n const onFocus = (e2) => {\n callHandler(e2, local.onFocus);\n radioContext.setIsFocused(true);\n };\n const onBlur = (e2) => {\n callHandler(e2, local.onBlur);\n radioContext.setIsFocused(false);\n };\n createEffect(on([() => radioContext.isSelected(), () => radioContext.value()], (c2) => {\n if (!c2[0] && c2[1] === radioContext.value())\n return;\n setIsInternalChangeEvent(true);\n const ref = radioContext.inputRef();\n ref?.dispatchEvent(new Event(\"input\", {\n bubbles: true,\n cancelable: true\n }));\n ref?.dispatchEvent(new Event(\"change\", {\n bubbles: true,\n cancelable: true\n }));\n }, {\n defer: true\n }));\n createEffect(() => onCleanup(radioContext.registerInput(others.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"input\",\n ref(r$) {\n const _ref$ = mergeRefs(radioContext.setInputRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n type: \"radio\",\n get name() {\n return formControlContext.name();\n },\n get value() {\n return radioContext.value();\n },\n get checked() {\n return radioContext.isSelected();\n },\n get required() {\n return formControlContext.isRequired();\n },\n get disabled() {\n return radioContext.isDisabled();\n },\n get readonly() {\n return formControlContext.isReadOnly();\n },\n get style() {\n return combineStyle({\n ...visuallyHiddenStyles\n }, local.style);\n },\n get [\"aria-labelledby\"]() {\n return ariaLabelledBy();\n },\n get [\"aria-describedby\"]() {\n return ariaDescribedBy();\n },\n onChange,\n onFocus,\n onBlur\n }, () => radioContext.dataset(), others));\n}\nfunction RadioGroupItemLabel(props) {\n const context = useRadioGroupItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"label\")\n }, props);\n createEffect(() => onCleanup(context.registerLabel(mergedProps.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"label\",\n get [\"for\"]() {\n return context.inputId();\n }\n }, () => context.dataset(), mergedProps));\n}\nfunction RadioGroupLabel(props) {\n return createComponent(FormControlLabel, mergeProps({\n as: \"span\"\n }, props));\n}\nfunction RadioGroupRoot(props) {\n let ref;\n const defaultId = `radiogroup-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps({\n id: defaultId,\n orientation: \"vertical\"\n }, props);\n const [local, formControlProps, others] = splitProps(mergedProps, [\"ref\", \"value\", \"defaultValue\", \"onChange\", \"orientation\", \"aria-labelledby\", \"aria-describedby\"], FORM_CONTROL_PROP_NAMES);\n const [selected, setSelected] = createControllableSignal({\n value: () => local.value,\n defaultValue: () => local.defaultValue,\n onChange: (value) => local.onChange?.(value)\n });\n const {\n formControlContext\n } = createFormControl(formControlProps);\n createFormResetListener(() => ref, () => setSelected(local.defaultValue ?? \"\"));\n const ariaLabelledBy = () => {\n return formControlContext.getAriaLabelledBy(access(formControlProps.id), others[\"aria-label\"], local[\"aria-labelledby\"]);\n };\n const ariaDescribedBy = () => {\n return formControlContext.getAriaDescribedBy(local[\"aria-describedby\"]);\n };\n const isSelectedValue = (value) => {\n return value === selected();\n };\n const context = {\n ariaDescribedBy,\n isSelectedValue,\n setSelectedValue: (value) => {\n if (formControlContext.isReadOnly() || formControlContext.isDisabled()) {\n return;\n }\n setSelected(value);\n if (ref)\n for (const el of ref.querySelectorAll(\"[type='radio']\")) {\n const radio = el;\n radio.checked = isSelectedValue(radio.value);\n }\n }\n };\n return createComponent(FormControlContext.Provider, {\n value: formControlContext,\n get children() {\n return createComponent(RadioGroupContext.Provider, {\n value: context,\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n role: \"radiogroup\",\n get id() {\n return access(formControlProps.id);\n },\n get [\"aria-invalid\"]() {\n return formControlContext.validationState() === \"invalid\" || void 0;\n },\n get [\"aria-required\"]() {\n return formControlContext.isRequired() || void 0;\n },\n get [\"aria-disabled\"]() {\n return formControlContext.isDisabled() || void 0;\n },\n get [\"aria-readonly\"]() {\n return formControlContext.isReadOnly() || void 0;\n },\n get [\"aria-orientation\"]() {\n return local.orientation;\n },\n get [\"aria-labelledby\"]() {\n return ariaLabelledBy();\n },\n get [\"aria-describedby\"]() {\n return ariaDescribedBy();\n }\n }, () => formControlContext.dataset(), others));\n }\n });\n }\n });\n}\nvar RadioGroup = Object.assign(RadioGroupRoot, {\n Description: FormControlDescription,\n ErrorMessage: FormControlErrorMessage,\n Item: RadioGroupItem,\n ItemControl: RadioGroupItemControl,\n ItemDescription: RadioGroupItemDescription,\n ItemIndicator: RadioGroupItemIndicator,\n ItemInput: RadioGroupItemInput,\n ItemLabel: RadioGroupItemLabel,\n Label: RadioGroupLabel\n});\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/GLKC2QFF.js\nvar ListKeyboardDelegate = class {\n collection;\n ref;\n collator;\n constructor(collection, ref, collator) {\n this.collection = collection;\n this.ref = ref;\n this.collator = collator;\n }\n getKeyBelow(key) {\n let keyAfter = this.collection().getKeyAfter(key);\n while (keyAfter != null) {\n const item = this.collection().getItem(keyAfter);\n if (item && item.type === \"item\" && !item.disabled) {\n return keyAfter;\n }\n keyAfter = this.collection().getKeyAfter(keyAfter);\n }\n }\n getKeyAbove(key) {\n let keyBefore = this.collection().getKeyBefore(key);\n while (keyBefore != null) {\n const item = this.collection().getItem(keyBefore);\n if (item && item.type === \"item\" && !item.disabled) {\n return keyBefore;\n }\n keyBefore = this.collection().getKeyBefore(keyBefore);\n }\n }\n getFirstKey() {\n let key = this.collection().getFirstKey();\n while (key != null) {\n const item = this.collection().getItem(key);\n if (item && item.type === \"item\" && !item.disabled) {\n return key;\n }\n key = this.collection().getKeyAfter(key);\n }\n }\n getLastKey() {\n let key = this.collection().getLastKey();\n while (key != null) {\n const item = this.collection().getItem(key);\n if (item && item.type === \"item\" && !item.disabled) {\n return key;\n }\n key = this.collection().getKeyBefore(key);\n }\n }\n getItem(key) {\n return this.ref?.()?.querySelector(`[data-key=\"${key}\"]`) ?? null;\n }\n // TODO: not working correctly\n getKeyPageAbove(key) {\n const menu = this.ref?.();\n let item = this.getItem(key);\n if (!menu || !item) {\n return;\n }\n const pageY = Math.max(\n 0,\n item.offsetTop + item.offsetHeight - menu.offsetHeight\n );\n let keyAbove = key;\n while (keyAbove && item && item.offsetTop > pageY) {\n keyAbove = this.getKeyAbove(keyAbove);\n item = keyAbove != null ? this.getItem(keyAbove) : null;\n }\n return keyAbove;\n }\n // TODO: not working correctly\n getKeyPageBelow(key) {\n const menu = this.ref?.();\n let item = this.getItem(key);\n if (!menu || !item) {\n return;\n }\n const pageY = Math.min(\n menu.scrollHeight,\n item.offsetTop - item.offsetHeight + menu.offsetHeight\n );\n let keyBelow = key;\n while (keyBelow && item && item.offsetTop < pageY) {\n keyBelow = this.getKeyBelow(keyBelow);\n item = keyBelow != null ? this.getItem(keyBelow) : null;\n }\n return keyBelow;\n }\n getKeyForSearch(search, fromKey) {\n const collator = this.collator?.();\n if (!collator) {\n return;\n }\n let key = fromKey != null ? this.getKeyBelow(fromKey) : this.getFirstKey();\n while (key != null) {\n const item = this.collection().getItem(key);\n if (item) {\n const substring = item.textValue.slice(0, search.length);\n if (item.textValue && collator.compare(substring, search) === 0) {\n return key;\n }\n }\n key = this.getKeyBelow(key);\n }\n }\n};\nfunction createSelectableList(props, ref, scrollRef) {\n const collator = createCollator({ usage: \"search\", sensitivity: \"base\" });\n const delegate = createMemo(() => {\n const keyboardDelegate = access(props.keyboardDelegate);\n if (keyboardDelegate) {\n return keyboardDelegate;\n }\n return new ListKeyboardDelegate(props.collection, ref, collator);\n });\n return createSelectableCollection(\n {\n selectionManager: () => access(props.selectionManager),\n keyboardDelegate: delegate,\n autoFocus: () => access(props.autoFocus),\n deferAutoFocus: () => access(props.deferAutoFocus),\n shouldFocusWrap: () => access(props.shouldFocusWrap),\n disallowEmptySelection: () => access(props.disallowEmptySelection),\n selectOnFocus: () => access(props.selectOnFocus),\n disallowTypeAhead: () => access(props.disallowTypeAhead),\n shouldUseVirtualFocus: () => access(props.shouldUseVirtualFocus),\n allowsTabNavigation: () => access(props.allowsTabNavigation),\n isVirtualized: () => access(props.isVirtualized),\n scrollToKey: (key) => access(props.scrollToKey)?.(key),\n orientation: () => access(props.orientation)\n },\n ref);\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ISKHZMHS.js\nvar AUTOFOCUS_ON_MOUNT_EVENT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT_EVENT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = {\n bubbles: false,\n cancelable: true\n};\nvar focusScopeStack = {\n /** A stack of focus scopes, with the active one at the top */\n stack: [],\n active() {\n return this.stack[0];\n },\n add(scope) {\n if (scope !== this.active()) {\n this.active()?.pause();\n }\n this.stack = removeItemFromArray(this.stack, scope);\n this.stack.unshift(scope);\n },\n remove(scope) {\n this.stack = removeItemFromArray(this.stack, scope);\n this.active()?.resume();\n }\n};\nfunction createFocusScope(props, ref) {\n const [isPaused, setIsPaused] = createSignal(false);\n const focusScope = {\n pause() {\n setIsPaused(true);\n },\n resume() {\n setIsPaused(false);\n }\n };\n let lastFocusedElement = null;\n const onMountAutoFocus = (e2) => props.onMountAutoFocus?.(e2);\n const onUnmountAutoFocus = (e2) => props.onUnmountAutoFocus?.(e2);\n const ownerDocument = () => getDocument(ref());\n const createSentinel = () => {\n const element = ownerDocument().createElement(\"span\");\n element.setAttribute(\"data-focus-trap\", \"\");\n element.tabIndex = 0;\n Object.assign(element.style, visuallyHiddenStyles);\n return element;\n };\n const tabbables = () => {\n const container = ref();\n if (!container) {\n return [];\n }\n return getAllTabbableIn(container, true).filter((el) => !el.hasAttribute(\"data-focus-trap\"));\n };\n const firstTabbable = () => {\n const items = tabbables();\n return items.length > 0 ? items[0] : null;\n };\n const lastTabbable = () => {\n const items = tabbables();\n return items.length > 0 ? items[items.length - 1] : null;\n };\n const shouldPreventUnmountAutoFocus = () => {\n const container = ref();\n if (!container) {\n return false;\n }\n const activeElement = getActiveElement(container);\n if (!activeElement) {\n return false;\n }\n if (contains(container, activeElement)) {\n return false;\n }\n return isFocusable(activeElement);\n };\n createEffect(() => {\n if (isServer) {\n return;\n }\n const container = ref();\n if (!container) {\n return;\n }\n focusScopeStack.add(focusScope);\n const previouslyFocusedElement = getActiveElement(container);\n const hasFocusedCandidate = contains(container, previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT_EVENT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT_EVENT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n setTimeout(() => {\n focusWithoutScrolling(firstTabbable());\n if (getActiveElement(container) === previouslyFocusedElement) {\n focusWithoutScrolling(container);\n }\n }, 0);\n }\n }\n onCleanup(() => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT_EVENT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT_EVENT, EVENT_OPTIONS);\n if (shouldPreventUnmountAutoFocus()) {\n unmountEvent.preventDefault();\n }\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT_EVENT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focusWithoutScrolling(previouslyFocusedElement ?? ownerDocument().body);\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT_EVENT, onUnmountAutoFocus);\n focusScopeStack.remove(focusScope);\n }, 0);\n });\n });\n createEffect(() => {\n if (isServer) {\n return;\n }\n const container = ref();\n if (!container || !access(props.trapFocus) || isPaused()) {\n return;\n }\n const onFocusIn = (event) => {\n const target = event.target;\n if (target?.closest(`[${DATA_TOP_LAYER_ATTR}]`)) {\n return;\n }\n if (contains(container, target)) {\n lastFocusedElement = target;\n } else {\n focusWithoutScrolling(lastFocusedElement);\n }\n };\n const onFocusOut = (event) => {\n const relatedTarget = event.relatedTarget;\n const target = relatedTarget ?? getActiveElement(container);\n if (target?.closest(`[${DATA_TOP_LAYER_ATTR}]`)) {\n return;\n }\n if (!contains(container, target)) {\n focusWithoutScrolling(lastFocusedElement);\n }\n };\n ownerDocument().addEventListener(\"focusin\", onFocusIn);\n ownerDocument().addEventListener(\"focusout\", onFocusOut);\n onCleanup(() => {\n ownerDocument().removeEventListener(\"focusin\", onFocusIn);\n ownerDocument().removeEventListener(\"focusout\", onFocusOut);\n });\n });\n createEffect(() => {\n if (isServer) {\n return;\n }\n const container = ref();\n if (!container || !access(props.trapFocus) || isPaused()) {\n return;\n }\n const startSentinel = createSentinel();\n container.insertAdjacentElement(\"afterbegin\", startSentinel);\n const endSentinel = createSentinel();\n container.insertAdjacentElement(\"beforeend\", endSentinel);\n function onFocus(event) {\n const first = firstTabbable();\n const last = lastTabbable();\n if (event.relatedTarget === first) {\n focusWithoutScrolling(last);\n } else {\n focusWithoutScrolling(first);\n }\n }\n startSentinel.addEventListener(\"focusin\", onFocus);\n endSentinel.addEventListener(\"focusin\", onFocus);\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.previousSibling === endSentinel) {\n endSentinel.remove();\n container.insertAdjacentElement(\"beforeend\", endSentinel);\n }\n if (mutation.nextSibling === startSentinel) {\n startSentinel.remove();\n container.insertAdjacentElement(\"afterbegin\", startSentinel);\n }\n }\n });\n observer.observe(container, {\n childList: true,\n subtree: false\n });\n onCleanup(() => {\n startSentinel.removeEventListener(\"focusin\", onFocus);\n endSentinel.removeEventListener(\"focusin\", onFocus);\n startSentinel.remove();\n endSentinel.remove();\n observer.disconnect();\n });\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/YA7DCYMB.js\nvar DATA_LIVE_ANNOUNCER_ATTR = \"data-live-announcer\";\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/TZGE2AQH.js\nfunction createHideOutside(props) {\n createEffect(() => {\n if (access(props.isDisabled)) {\n return;\n }\n onCleanup(ariaHideOutside(access(props.targets), access(props.root)));\n });\n}\nvar refCountMap = /* @__PURE__ */ new WeakMap();\nvar observerStack = [];\nfunction ariaHideOutside(targets, root = document.body) {\n const visibleNodes = new Set(targets);\n const hiddenNodes = /* @__PURE__ */ new Set();\n const walk = (root2) => {\n for (const element of root2.querySelectorAll(\n `[${DATA_LIVE_ANNOUNCER_ATTR}], [${DATA_TOP_LAYER_ATTR}]`\n )) {\n visibleNodes.add(element);\n }\n const acceptNode = (node) => {\n if (visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute(\"role\") !== \"row\") {\n return NodeFilter.FILTER_REJECT;\n }\n for (const target of visibleNodes) {\n if (node.contains(target)) {\n return NodeFilter.FILTER_SKIP;\n }\n }\n return NodeFilter.FILTER_ACCEPT;\n };\n const walker = document.createTreeWalker(root2, NodeFilter.SHOW_ELEMENT, {\n acceptNode\n });\n const acceptRoot = acceptNode(root2);\n if (acceptRoot === NodeFilter.FILTER_ACCEPT) {\n hide3(root2);\n }\n if (acceptRoot !== NodeFilter.FILTER_REJECT) {\n let node = walker.nextNode();\n while (node != null) {\n hide3(node);\n node = walker.nextNode();\n }\n }\n };\n const hide3 = (node) => {\n const refCount = refCountMap.get(node) ?? 0;\n if (node.getAttribute(\"aria-hidden\") === \"true\" && refCount === 0) {\n return;\n }\n if (refCount === 0) {\n node.setAttribute(\"aria-hidden\", \"true\");\n }\n hiddenNodes.add(node);\n refCountMap.set(node, refCount + 1);\n };\n if (observerStack.length) {\n observerStack[observerStack.length - 1].disconnect();\n }\n walk(root);\n const observer = new MutationObserver((changes) => {\n for (const change of changes) {\n if (change.type !== \"childList\" || change.addedNodes.length === 0) {\n continue;\n }\n if (![...visibleNodes, ...hiddenNodes].some(\n (node) => node.contains(change.target)\n )) {\n for (const node of change.removedNodes) {\n if (node instanceof Element) {\n visibleNodes.delete(node);\n hiddenNodes.delete(node);\n }\n }\n for (const node of change.addedNodes) {\n if ((node instanceof HTMLElement || node instanceof SVGElement) && (node.dataset.liveAnnouncer === \"true\" || node.dataset.reactAriaTopLayer === \"true\")) {\n visibleNodes.add(node);\n } else if (node instanceof Element) {\n walk(node);\n }\n }\n }\n }\n });\n observer.observe(root, { childList: true, subtree: true });\n const observerWrapper = {\n observe() {\n observer.observe(root, { childList: true, subtree: true });\n },\n disconnect() {\n observer.disconnect();\n }\n };\n observerStack.push(observerWrapper);\n return () => {\n observer.disconnect();\n for (const node of hiddenNodes) {\n const count = refCountMap.get(node);\n if (count == null) {\n return;\n }\n if (count === 1) {\n node.removeAttribute(\"aria-hidden\");\n refCountMap.delete(node);\n } else {\n refCountMap.set(node, count - 1);\n }\n }\n if (observerWrapper === observerStack[observerStack.length - 1]) {\n observerStack.pop();\n if (observerStack.length) {\n observerStack[observerStack.length - 1].observe();\n }\n } else {\n observerStack.splice(observerStack.indexOf(observerWrapper), 1);\n }\n };\n}\n\n// ../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/chunk/HD4B7J7A.js\nvar activeStyles = /* @__PURE__ */ new Map();\nvar createStyle = (props) => {\n createEffect(() => {\n const style = access2(props.style) ?? {};\n const properties = access2(props.properties) ?? [];\n const originalStyles = {};\n for (const key in style) {\n originalStyles[key] = props.element.style[key];\n }\n const activeStyle = activeStyles.get(props.key);\n if (activeStyle) {\n activeStyle.activeCount++;\n } else {\n activeStyles.set(props.key, {\n activeCount: 1,\n originalStyles,\n properties: properties.map((property) => property.key)\n });\n }\n Object.assign(props.element.style, props.style);\n for (const property of properties) {\n props.element.style.setProperty(property.key, property.value);\n }\n onCleanup(() => {\n const activeStyle2 = activeStyles.get(props.key);\n if (!activeStyle2) return;\n if (activeStyle2.activeCount !== 1) {\n activeStyle2.activeCount--;\n return;\n }\n activeStyles.delete(props.key);\n for (const [key, value] of Object.entries(activeStyle2.originalStyles)) {\n props.element.style[key] = value;\n }\n for (const property of activeStyle2.properties) {\n props.element.style.removeProperty(property);\n }\n if (props.element.style.length === 0) {\n props.element.removeAttribute(\"style\");\n }\n props.cleanup?.();\n });\n });\n};\nvar style_default = createStyle;\n\n// ../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/scroll/index.js\nvar getScrollDimensions = (element, axis) => {\n switch (axis) {\n case \"x\":\n return [element.clientWidth, element.scrollLeft, element.scrollWidth];\n case \"y\":\n return [element.clientHeight, element.scrollTop, element.scrollHeight];\n }\n};\nvar isScrollContainer = (element, axis) => {\n const styles = getComputedStyle(element);\n const overflow = axis === \"x\" ? styles.overflowX : styles.overflowY;\n return overflow === \"auto\" || overflow === \"scroll\" || // The HTML element is a scroll container if it has overflow visible\n element.tagName === \"HTML\" && overflow === \"visible\";\n};\nvar getScrollAtLocation = (location, axis, stopAt) => {\n const directionFactor = axis === \"x\" && window.getComputedStyle(location).direction === \"rtl\" ? -1 : 1;\n let currentElement = location;\n let availableScroll = 0;\n let availableScrollTop = 0;\n let wrapperReached = false;\n do {\n const [clientSize, scrollOffset, scrollSize] = getScrollDimensions(\n currentElement,\n axis\n );\n const scrolled = scrollSize - clientSize - directionFactor * scrollOffset;\n if ((scrollOffset !== 0 || scrolled !== 0) && isScrollContainer(currentElement, axis)) {\n availableScroll += scrolled;\n availableScrollTop += scrollOffset;\n }\n if (currentElement === (stopAt ?? document.documentElement)) {\n wrapperReached = true;\n } else {\n currentElement = currentElement._$host ?? currentElement.parentElement;\n }\n } while (currentElement && !wrapperReached);\n return [availableScroll, availableScrollTop];\n};\n\n// ../../node_modules/.pnpm/solid-prevent-scroll@0.1.9_solid-js@1.9.7/node_modules/solid-prevent-scroll/dist/index.js\nvar [preventScrollStack, setPreventScrollStack] = createSignal([]);\nvar isActive = (id) => preventScrollStack().indexOf(id) === preventScrollStack().length - 1;\nvar createPreventScroll = (props) => {\n const defaultedProps = mergeProps(\n {\n element: null,\n enabled: true,\n hideScrollbar: true,\n preventScrollbarShift: true,\n preventScrollbarShiftMode: \"padding\",\n restoreScrollPosition: true,\n allowPinchZoom: false\n },\n props\n );\n const preventScrollId = createUniqueId();\n let currentTouchStart = [0, 0];\n let currentTouchStartAxis = null;\n let currentTouchStartDelta = null;\n createEffect(() => {\n if (!access2(defaultedProps.enabled)) return;\n setPreventScrollStack((stack) => [...stack, preventScrollId]);\n onCleanup(() => {\n setPreventScrollStack(\n (stack) => stack.filter((id) => id !== preventScrollId)\n );\n });\n });\n createEffect(() => {\n if (!access2(defaultedProps.enabled) || !access2(defaultedProps.hideScrollbar))\n return;\n const { body } = document;\n const scrollbarWidth = window.innerWidth - body.offsetWidth;\n if (access2(defaultedProps.preventScrollbarShift)) {\n const style = { overflow: \"hidden\" };\n const properties = [];\n if (scrollbarWidth > 0) {\n if (access2(defaultedProps.preventScrollbarShiftMode) === \"padding\") {\n style.paddingRight = `calc(${window.getComputedStyle(body).paddingRight} + ${scrollbarWidth}px)`;\n } else {\n style.marginRight = `calc(${window.getComputedStyle(body).marginRight} + ${scrollbarWidth}px)`;\n }\n properties.push({\n key: \"--scrollbar-width\",\n value: `${scrollbarWidth}px`\n });\n }\n const offsetTop = window.scrollY;\n const offsetLeft = window.scrollX;\n style_default({\n key: \"prevent-scroll\",\n element: body,\n style,\n properties,\n cleanup: () => {\n if (access2(defaultedProps.restoreScrollPosition) && scrollbarWidth > 0) {\n window.scrollTo(offsetLeft, offsetTop);\n }\n }\n });\n } else {\n style_default({\n key: \"prevent-scroll\",\n element: body,\n style: {\n overflow: \"hidden\"\n }\n });\n }\n });\n createEffect(() => {\n if (!isActive(preventScrollId) || !access2(defaultedProps.enabled)) return;\n document.addEventListener(\"wheel\", maybePreventWheel, {\n passive: false\n });\n document.addEventListener(\"touchstart\", logTouchStart, {\n passive: false\n });\n document.addEventListener(\"touchmove\", maybePreventTouch, {\n passive: false\n });\n onCleanup(() => {\n document.removeEventListener(\"wheel\", maybePreventWheel);\n document.removeEventListener(\"touchstart\", logTouchStart);\n document.removeEventListener(\"touchmove\", maybePreventTouch);\n });\n });\n const logTouchStart = (event) => {\n currentTouchStart = getTouchXY(event);\n currentTouchStartAxis = null;\n currentTouchStartDelta = null;\n };\n const maybePreventWheel = (event) => {\n const target = event.target;\n const wrapper = access2(defaultedProps.element);\n const delta = getDeltaXY(event);\n const axis = Math.abs(delta[0]) > Math.abs(delta[1]) ? \"x\" : \"y\";\n const axisDelta = axis === \"x\" ? delta[0] : delta[1];\n const resultsInScroll = wouldScroll(target, axis, axisDelta, wrapper);\n let shouldCancel;\n if (wrapper && contains2(wrapper, target)) {\n shouldCancel = !resultsInScroll;\n } else {\n shouldCancel = true;\n }\n if (shouldCancel && event.cancelable) {\n event.preventDefault();\n }\n };\n const maybePreventTouch = (event) => {\n const wrapper = access2(defaultedProps.element);\n const target = event.target;\n let shouldCancel;\n if (event.touches.length === 2) {\n shouldCancel = !access2(defaultedProps.allowPinchZoom);\n } else {\n if (currentTouchStartAxis == null || currentTouchStartDelta === null) {\n const delta = getTouchXY(event).map(\n (touch, i2) => currentTouchStart[i2] - touch\n );\n const axis = Math.abs(delta[0]) > Math.abs(delta[1]) ? \"x\" : \"y\";\n currentTouchStartAxis = axis;\n currentTouchStartDelta = axis === \"x\" ? delta[0] : delta[1];\n }\n if (target.type === \"range\") {\n shouldCancel = false;\n } else {\n const wouldResultInScroll = wouldScroll(\n target,\n currentTouchStartAxis,\n currentTouchStartDelta,\n wrapper\n );\n if (wrapper && contains2(wrapper, target)) {\n shouldCancel = !wouldResultInScroll;\n } else {\n shouldCancel = true;\n }\n }\n }\n if (shouldCancel && event.cancelable) {\n event.preventDefault();\n }\n };\n};\nvar getDeltaXY = (event) => [\n event.deltaX,\n event.deltaY\n];\nvar getTouchXY = (event) => event.changedTouches[0] ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\nvar wouldScroll = (target, axis, delta, wrapper) => {\n const targetInWrapper = wrapper !== null && contains2(wrapper, target);\n const [availableScroll, availableScrollTop] = getScrollAtLocation(\n target,\n axis,\n targetInWrapper ? wrapper : void 0\n );\n if (delta > 0 && Math.abs(availableScroll) <= 1) {\n return false;\n }\n if (delta < 0 && Math.abs(availableScrollTop) < 1) {\n return false;\n }\n return true;\n};\nvar contains2 = (wrapper, target) => {\n if (wrapper.contains(target)) return true;\n let currentElement = target;\n while (currentElement) {\n if (currentElement === wrapper) return true;\n currentElement = currentElement._$host ?? currentElement.parentElement;\n }\n return false;\n};\nvar preventScroll_default = createPreventScroll;\nvar src_default2 = preventScroll_default;\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/3F4B62RP.js\nvar MenuContext = createContext();\nfunction useOptionalMenuContext() {\n return useContext(MenuContext);\n}\nfunction useMenuContext() {\n const context = useOptionalMenuContext();\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useMenuContext` must be used within a `Menu` component\");\n }\n return context;\n}\nvar MenuItemContext = createContext();\nfunction useMenuItemContext() {\n const context = useContext(MenuItemContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useMenuItemContext` must be used within a `Menu.Item` component\");\n }\n return context;\n}\nvar MenuRootContext = createContext();\nfunction useMenuRootContext() {\n const context = useContext(MenuRootContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useMenuRootContext` must be used within a `MenuRoot` component\");\n }\n return context;\n}\nfunction MenuItemBase(props) {\n let ref;\n const rootContext = useMenuRootContext();\n const menuContext = useMenuContext();\n const mergedProps = mergeDefaultProps({\n id: rootContext.generateId(`item-${createUniqueId()}`)\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"textValue\", \"disabled\", \"closeOnSelect\", \"checked\", \"indeterminate\", \"onSelect\", \"onPointerMove\", \"onPointerLeave\", \"onPointerDown\", \"onPointerUp\", \"onClick\", \"onKeyDown\", \"onMouseDown\", \"onFocus\"]);\n const [labelId, setLabelId] = createSignal();\n const [descriptionId, setDescriptionId] = createSignal();\n const [labelRef, setLabelRef] = createSignal();\n const selectionManager = () => menuContext.listState().selectionManager();\n const key = () => others.id;\n const isHighlighted = () => selectionManager().focusedKey() === key();\n const onSelect = () => {\n local.onSelect?.();\n if (local.closeOnSelect) {\n setTimeout(() => {\n menuContext.close(true);\n });\n }\n };\n createDomCollectionItem({\n getItem: () => ({\n ref: () => ref,\n type: \"item\",\n key: key(),\n textValue: local.textValue ?? labelRef()?.textContent ?? ref?.textContent ?? \"\",\n disabled: local.disabled ?? false\n })\n });\n const selectableItem = createSelectableItem({\n key,\n selectionManager,\n shouldSelectOnPressUp: true,\n allowsDifferentPressOrigin: true,\n disabled: () => local.disabled\n }, () => ref);\n const onPointerMove = (e2) => {\n callHandler(e2, local.onPointerMove);\n if (e2.pointerType !== \"mouse\") {\n return;\n }\n if (local.disabled) {\n menuContext.onItemLeave(e2);\n } else {\n menuContext.onItemEnter(e2);\n if (!e2.defaultPrevented) {\n focusWithoutScrolling(e2.currentTarget);\n menuContext.listState().selectionManager().setFocused(true);\n menuContext.listState().selectionManager().setFocusedKey(key());\n }\n }\n };\n const onPointerLeave = (e2) => {\n callHandler(e2, local.onPointerLeave);\n if (e2.pointerType !== \"mouse\") {\n return;\n }\n menuContext.onItemLeave(e2);\n };\n const onPointerUp = (e2) => {\n callHandler(e2, local.onPointerUp);\n if (!local.disabled && e2.button === 0) {\n onSelect();\n }\n };\n const onKeyDown = (e2) => {\n callHandler(e2, local.onKeyDown);\n if (e2.repeat) {\n return;\n }\n if (local.disabled) {\n return;\n }\n switch (e2.key) {\n case \"Enter\":\n case \" \":\n onSelect();\n break;\n }\n };\n const ariaChecked = createMemo(() => {\n if (local.indeterminate) {\n return \"mixed\";\n }\n if (local.checked == null) {\n return void 0;\n }\n return local.checked;\n });\n const dataset = createMemo(() => ({\n \"data-indeterminate\": local.indeterminate ? \"\" : void 0,\n \"data-checked\": local.checked && !local.indeterminate ? \"\" : void 0,\n \"data-disabled\": local.disabled ? \"\" : void 0,\n \"data-highlighted\": isHighlighted() ? \"\" : void 0\n }));\n const context = {\n isChecked: () => local.checked,\n dataset,\n setLabelRef,\n generateId: createGenerateId(() => others.id),\n registerLabel: createRegisterId(setLabelId),\n registerDescription: createRegisterId(setDescriptionId)\n };\n return createComponent(MenuItemContext.Provider, {\n value: context,\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get tabIndex() {\n return selectableItem.tabIndex();\n },\n get [\"aria-checked\"]() {\n return ariaChecked();\n },\n get [\"aria-disabled\"]() {\n return local.disabled;\n },\n get [\"aria-labelledby\"]() {\n return labelId();\n },\n get [\"aria-describedby\"]() {\n return descriptionId();\n },\n get [\"data-key\"]() {\n return selectableItem.dataKey();\n },\n get onPointerDown() {\n return composeEventHandlers([local.onPointerDown, selectableItem.onPointerDown]);\n },\n get onPointerUp() {\n return composeEventHandlers([onPointerUp, selectableItem.onPointerUp]);\n },\n get onClick() {\n return composeEventHandlers([local.onClick, selectableItem.onClick]);\n },\n get onKeyDown() {\n return composeEventHandlers([onKeyDown, selectableItem.onKeyDown]);\n },\n get onMouseDown() {\n return composeEventHandlers([local.onMouseDown, selectableItem.onMouseDown]);\n },\n get onFocus() {\n return composeEventHandlers([local.onFocus, selectableItem.onFocus]);\n },\n onPointerMove,\n onPointerLeave\n }, dataset, others));\n }\n });\n}\nfunction MenuCheckboxItem(props) {\n const mergedProps = mergeDefaultProps({\n closeOnSelect: false\n }, props);\n const [local, others] = splitProps(mergedProps, [\"checked\", \"defaultChecked\", \"onChange\", \"onSelect\"]);\n const state = createToggleState({\n isSelected: () => local.checked,\n defaultIsSelected: () => local.defaultChecked,\n onSelectedChange: (checked) => local.onChange?.(checked),\n isDisabled: () => others.disabled\n });\n const onSelect = () => {\n local.onSelect?.();\n state.toggle();\n };\n return createComponent(MenuItemBase, mergeProps({\n role: \"menuitemcheckbox\",\n get checked() {\n return state.isSelected();\n },\n onSelect\n }, others));\n}\nvar MenubarContext = createContext();\nfunction useOptionalMenubarContext() {\n return useContext(MenubarContext);\n}\nvar MENUBAR_KEYS = {\n next: (dir, orientation) => dir === \"ltr\" ? orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\" : orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\",\n previous: (dir, orientation) => MENUBAR_KEYS.next(dir === \"ltr\" ? \"rtl\" : \"ltr\", orientation)\n};\nvar MENU_KEYS = {\n first: (orientation) => orientation === \"horizontal\" ? \"ArrowDown\" : \"ArrowRight\",\n last: (orientation) => orientation === \"horizontal\" ? \"ArrowUp\" : \"ArrowLeft\"\n};\nfunction MenuTrigger(props) {\n const rootContext = useMenuRootContext();\n const context = useMenuContext();\n const optionalMenubarContext = useOptionalMenubarContext();\n const {\n direction\n } = useLocale();\n const mergedProps = mergeDefaultProps({\n id: rootContext.generateId(\"trigger\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"id\", \"disabled\", \"onPointerDown\", \"onClick\", \"onKeyDown\", \"onMouseOver\", \"onFocus\"]);\n let key = () => rootContext.value();\n if (optionalMenubarContext !== void 0) {\n key = () => rootContext.value() ?? local.id;\n if (optionalMenubarContext.lastValue() === void 0)\n optionalMenubarContext.setLastValue(key);\n }\n const tagName = createTagName(() => context.triggerRef(), () => \"button\");\n const isNativeLink = createMemo(() => {\n return tagName() === \"a\" && context.triggerRef()?.getAttribute(\"href\") != null;\n });\n createEffect(on(() => optionalMenubarContext?.value(), (value) => {\n if (!isNativeLink())\n return;\n if (value === key())\n context.triggerRef()?.focus();\n }));\n const handleClick = () => {\n if (optionalMenubarContext !== void 0) {\n if (!context.isOpen()) {\n if (!optionalMenubarContext.autoFocusMenu()) {\n optionalMenubarContext.setAutoFocusMenu(true);\n }\n context.open(false);\n } else {\n if (optionalMenubarContext.value() === key())\n optionalMenubarContext.closeMenu();\n }\n } else\n context.toggle(true);\n };\n const onPointerDown = (e2) => {\n callHandler(e2, local.onPointerDown);\n e2.currentTarget.dataset.pointerType = e2.pointerType;\n if (!local.disabled && e2.pointerType !== \"touch\" && e2.button === 0) {\n handleClick();\n }\n };\n const onClick = (e2) => {\n callHandler(e2, local.onClick);\n if (!local.disabled) {\n if (e2.currentTarget.dataset.pointerType === \"touch\")\n handleClick();\n }\n };\n const onKeyDown = (e2) => {\n callHandler(e2, local.onKeyDown);\n if (local.disabled) {\n return;\n }\n if (isNativeLink()) {\n switch (e2.key) {\n case \"Enter\":\n case \" \":\n return;\n }\n }\n switch (e2.key) {\n case \"Enter\":\n case \" \":\n case MENU_KEYS.first(rootContext.orientation()):\n e2.stopPropagation();\n e2.preventDefault();\n scrollIntoViewport(e2.currentTarget);\n context.open(\"first\");\n optionalMenubarContext?.setAutoFocusMenu(true);\n optionalMenubarContext?.setValue(key);\n break;\n case MENU_KEYS.last(rootContext.orientation()):\n e2.stopPropagation();\n e2.preventDefault();\n context.open(\"last\");\n break;\n case MENUBAR_KEYS.next(direction(), rootContext.orientation()):\n if (optionalMenubarContext === void 0)\n break;\n e2.stopPropagation();\n e2.preventDefault();\n optionalMenubarContext.nextMenu();\n break;\n case MENUBAR_KEYS.previous(direction(), rootContext.orientation()):\n if (optionalMenubarContext === void 0)\n break;\n e2.stopPropagation();\n e2.preventDefault();\n optionalMenubarContext.previousMenu();\n break;\n }\n };\n const onMouseOver = (e2) => {\n callHandler(e2, local.onMouseOver);\n if (context.triggerRef()?.dataset.pointerType === \"touch\")\n return;\n if (!local.disabled && optionalMenubarContext !== void 0 && optionalMenubarContext.value() !== void 0) {\n optionalMenubarContext.setValue(key);\n }\n };\n const onFocus = (e2) => {\n callHandler(e2, local.onFocus);\n if (optionalMenubarContext !== void 0 && e2.currentTarget.dataset.pointerType !== \"touch\")\n optionalMenubarContext.setValue(key);\n };\n createEffect(() => onCleanup(context.registerTriggerId(local.id)));\n return createComponent(ButtonRoot, mergeProps({\n ref(r$) {\n const _ref$ = mergeRefs(context.setTriggerRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get [\"data-kb-menu-value-trigger\"]() {\n return rootContext.value();\n },\n get id() {\n return local.id;\n },\n get disabled() {\n return local.disabled;\n },\n \"aria-haspopup\": \"true\",\n get [\"aria-expanded\"]() {\n return context.isOpen();\n },\n get [\"aria-controls\"]() {\n return memo(() => !!context.isOpen())() ? context.contentId() : void 0;\n },\n get [\"data-highlighted\"]() {\n return key() !== void 0 && optionalMenubarContext?.value() === key() ? true : void 0;\n },\n get tabIndex() {\n return optionalMenubarContext !== void 0 ? optionalMenubarContext.value() === key() || optionalMenubarContext.lastValue() === key() ? 0 : -1 : void 0;\n },\n onPointerDown,\n onMouseOver,\n onClick,\n onKeyDown,\n onFocus,\n role: optionalMenubarContext !== void 0 ? \"menuitem\" : void 0\n }, () => context.dataset(), others));\n}\nvar NavigationMenuContext = createContext();\nfunction useOptionalNavigationMenuContext() {\n return useContext(NavigationMenuContext);\n}\nfunction MenuContentBase(props) {\n let ref;\n const rootContext = useMenuRootContext();\n const context = useMenuContext();\n const optionalMenubarContext = useOptionalMenubarContext();\n const optionalNavigationMenuContext = useOptionalNavigationMenuContext();\n const {\n direction\n } = useLocale();\n const mergedProps = mergeDefaultProps({\n id: rootContext.generateId(`content-${createUniqueId()}`)\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"id\", \"style\", \"onOpenAutoFocus\", \"onCloseAutoFocus\", \"onEscapeKeyDown\", \"onFocusOutside\", \"onPointerEnter\", \"onPointerMove\", \"onKeyDown\", \"onMouseDown\", \"onFocusIn\", \"onFocusOut\"]);\n let lastPointerX = 0;\n const isRootModalContent = () => {\n return context.parentMenuContext() == null && optionalMenubarContext === void 0 && rootContext.isModal();\n };\n const selectableList = createSelectableList({\n selectionManager: context.listState().selectionManager,\n collection: context.listState().collection,\n autoFocus: context.autoFocus,\n deferAutoFocus: true,\n // ensure all menu items are mounted and collection is not empty before trying to autofocus.\n shouldFocusWrap: true,\n disallowTypeAhead: () => !context.listState().selectionManager().isFocused(),\n orientation: () => rootContext.orientation() === \"horizontal\" ? \"vertical\" : \"horizontal\"\n }, () => ref);\n createFocusScope({\n trapFocus: () => isRootModalContent() && context.isOpen(),\n onMountAutoFocus: (event) => {\n if (optionalMenubarContext === void 0)\n local.onOpenAutoFocus?.(event);\n },\n onUnmountAutoFocus: local.onCloseAutoFocus\n }, () => ref);\n const onKeyDown = (e2) => {\n if (!contains(e2.currentTarget, e2.target)) {\n return;\n }\n if (e2.key === \"Tab\" && context.isOpen()) {\n e2.preventDefault();\n }\n if (optionalMenubarContext !== void 0) {\n if (e2.currentTarget.getAttribute(\"aria-haspopup\") !== \"true\")\n switch (e2.key) {\n case MENUBAR_KEYS.next(direction(), rootContext.orientation()):\n e2.stopPropagation();\n e2.preventDefault();\n context.close(true);\n optionalMenubarContext.setAutoFocusMenu(true);\n optionalMenubarContext.nextMenu();\n break;\n case MENUBAR_KEYS.previous(direction(), rootContext.orientation()):\n if (e2.currentTarget.hasAttribute(\"data-closed\"))\n break;\n e2.stopPropagation();\n e2.preventDefault();\n context.close(true);\n optionalMenubarContext.setAutoFocusMenu(true);\n optionalMenubarContext.previousMenu();\n break;\n }\n }\n };\n const onEscapeKeyDown = (e2) => {\n local.onEscapeKeyDown?.(e2);\n optionalMenubarContext?.setAutoFocusMenu(false);\n context.close(true);\n };\n const onFocusOutside = (e2) => {\n local.onFocusOutside?.(e2);\n if (rootContext.isModal()) {\n e2.preventDefault();\n }\n };\n const onPointerEnter = (e2) => {\n callHandler(e2, local.onPointerEnter);\n if (!context.isOpen()) {\n return;\n }\n context.parentMenuContext()?.listState().selectionManager().setFocused(false);\n context.parentMenuContext()?.listState().selectionManager().setFocusedKey(void 0);\n };\n const onPointerMove = (e2) => {\n callHandler(e2, local.onPointerMove);\n if (e2.pointerType !== \"mouse\") {\n return;\n }\n const target = e2.target;\n const pointerXHasChanged = lastPointerX !== e2.clientX;\n if (contains(e2.currentTarget, target) && pointerXHasChanged) {\n context.setPointerDir(e2.clientX > lastPointerX ? \"right\" : \"left\");\n lastPointerX = e2.clientX;\n }\n };\n createEffect(() => onCleanup(context.registerContentId(local.id)));\n const commonAttributes = {\n ref: mergeRefs((el) => {\n context.setContentRef(el);\n ref = el;\n }, local.ref),\n role: \"menu\",\n get id() {\n return local.id;\n },\n get tabIndex() {\n return selectableList.tabIndex();\n },\n get \"aria-labelledby\"() {\n return context.triggerId();\n },\n onKeyDown: composeEventHandlers([local.onKeyDown, selectableList.onKeyDown, onKeyDown]),\n onMouseDown: composeEventHandlers([local.onMouseDown, selectableList.onMouseDown]),\n onFocusIn: composeEventHandlers([local.onFocusIn, selectableList.onFocusIn]),\n onFocusOut: composeEventHandlers([local.onFocusOut, selectableList.onFocusOut]),\n onPointerEnter,\n onPointerMove,\n get \"data-orientation\"() {\n return rootContext.orientation();\n }\n };\n return createComponent(Show, {\n get when() {\n return context.contentPresent();\n },\n get children() {\n return createComponent(Show, {\n get when() {\n return optionalNavigationMenuContext === void 0 || context.parentMenuContext() != null;\n },\n get fallback() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\"\n }, () => context.dataset(), commonAttributes, others));\n },\n get children() {\n return createComponent(Popper.Positioner, {\n get children() {\n return createComponent(DismissableLayer, mergeProps({\n get disableOutsidePointerEvents() {\n return memo(() => !!isRootModalContent())() && context.isOpen();\n },\n get excludedElements() {\n return [context.triggerRef];\n },\n bypassTopMostLayerCheck: true,\n get style() {\n return combineStyle({\n \"--kb-menu-content-transform-origin\": \"var(--kb-popper-content-transform-origin)\",\n position: \"relative\"\n }, local.style);\n },\n onEscapeKeyDown,\n onFocusOutside,\n get onDismiss() {\n return context.close;\n }\n }, () => context.dataset(), commonAttributes, others));\n }\n });\n }\n });\n }\n });\n}\nfunction MenuContent(props) {\n let ref;\n const rootContext = useMenuRootContext();\n const context = useMenuContext();\n const [local, others] = splitProps(props, [\"ref\"]);\n src_default2({\n element: () => ref ?? null,\n enabled: () => context.contentPresent() && rootContext.preventScroll()\n });\n return createComponent(MenuContentBase, mergeProps({\n ref(r$) {\n const _ref$ = mergeRefs((el) => {\n ref = el;\n }, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n }\n }, others));\n}\nvar MenuGroupContext = createContext();\nfunction useMenuGroupContext() {\n const context = useContext(MenuGroupContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useMenuGroupContext` must be used within a `Menu.Group` component\");\n }\n return context;\n}\nfunction MenuGroup(props) {\n const rootContext = useMenuRootContext();\n const mergedProps = mergeDefaultProps({\n id: rootContext.generateId(`group-${createUniqueId()}`)\n }, props);\n const [labelId, setLabelId] = createSignal();\n const context = {\n generateId: createGenerateId(() => mergedProps.id),\n registerLabelId: createRegisterId(setLabelId)\n };\n return createComponent(MenuGroupContext.Provider, {\n value: context,\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n role: \"group\",\n get [\"aria-labelledby\"]() {\n return labelId();\n }\n }, mergedProps));\n }\n });\n}\nfunction MenuGroupLabel(props) {\n const context = useMenuGroupContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"label\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"id\"]);\n createEffect(() => onCleanup(context.registerLabelId(local.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"span\",\n get id() {\n return local.id;\n },\n \"aria-hidden\": \"true\"\n }, others));\n}\nfunction MenuIcon(props) {\n const context = useMenuContext();\n const mergedProps = mergeDefaultProps({\n children: \"\\u25BC\"\n }, props);\n return createComponent(Polymorphic, mergeProps({\n as: \"span\",\n \"aria-hidden\": \"true\"\n }, () => context.dataset(), mergedProps));\n}\nfunction MenuItem(props) {\n return createComponent(MenuItemBase, mergeProps({\n role: \"menuitem\",\n closeOnSelect: true\n }, props));\n}\nfunction MenuItemDescription(props) {\n const context = useMenuItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"description\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"id\"]);\n createEffect(() => onCleanup(context.registerDescription(local.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n get id() {\n return local.id;\n }\n }, () => context.dataset(), others));\n}\nfunction MenuItemIndicator(props) {\n const context = useMenuItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"indicator\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"forceMount\"]);\n return createComponent(Show, {\n get when() {\n return local.forceMount || context.isChecked();\n },\n get children() {\n return createComponent(Polymorphic, mergeProps({\n as: \"div\"\n }, () => context.dataset(), others));\n }\n });\n}\nfunction MenuItemLabel(props) {\n const context = useMenuItemContext();\n const mergedProps = mergeDefaultProps({\n id: context.generateId(\"label\")\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"id\"]);\n createEffect(() => onCleanup(context.registerLabel(local.id)));\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs(context.setLabelRef, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get id() {\n return local.id;\n }\n }, () => context.dataset(), others));\n}\nfunction MenuPortal(props) {\n const context = useMenuContext();\n return createComponent(Show, {\n get when() {\n return context.contentPresent();\n },\n get children() {\n return createComponent(Portal, props);\n }\n });\n}\nvar MenuRadioGroupContext = createContext();\nfunction useMenuRadioGroupContext() {\n const context = useContext(MenuRadioGroupContext);\n if (context === void 0) {\n throw new Error(\"[kobalte]: `useMenuRadioGroupContext` must be used within a `Menu.RadioGroup` component\");\n }\n return context;\n}\nfunction MenuRadioGroup(props) {\n const rootContext = useMenuRootContext();\n const defaultId = rootContext.generateId(`radiogroup-${createUniqueId()}`);\n const mergedProps = mergeDefaultProps({\n id: defaultId\n }, props);\n const [local, others] = splitProps(mergedProps, [\"value\", \"defaultValue\", \"onChange\", \"disabled\"]);\n const [selected, setSelected] = createControllableSignal({\n value: () => local.value,\n defaultValue: () => local.defaultValue,\n onChange: (value) => local.onChange?.(value)\n });\n const context = {\n isDisabled: () => local.disabled,\n isSelectedValue: (value) => value === selected(),\n setSelectedValue: setSelected\n };\n return createComponent(MenuRadioGroupContext.Provider, {\n value: context,\n get children() {\n return createComponent(MenuGroup, others);\n }\n });\n}\nfunction MenuRadioItem(props) {\n const context = useMenuRadioGroupContext();\n const mergedProps = mergeDefaultProps({\n closeOnSelect: false\n }, props);\n const [local, others] = splitProps(mergedProps, [\"value\", \"onSelect\"]);\n const onSelect = () => {\n local.onSelect?.();\n context.setSelectedValue(local.value);\n };\n return createComponent(MenuItemBase, mergeProps({\n role: \"menuitemradio\",\n get checked() {\n return context.isSelectedValue(local.value);\n },\n onSelect\n }, others));\n}\nfunction getPointerGraceArea(placement, event, contentEl) {\n const basePlacement = placement.split(\"-\")[0];\n const contentRect = contentEl.getBoundingClientRect();\n const polygon = [];\n const pointerX = event.clientX;\n const pointerY = event.clientY;\n switch (basePlacement) {\n case \"top\":\n polygon.push([pointerX, pointerY + 5]);\n polygon.push([contentRect.left, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.top]);\n polygon.push([contentRect.right, contentRect.top]);\n polygon.push([contentRect.right, contentRect.bottom]);\n break;\n case \"right\":\n polygon.push([pointerX - 5, pointerY]);\n polygon.push([contentRect.left, contentRect.top]);\n polygon.push([contentRect.right, contentRect.top]);\n polygon.push([contentRect.right, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.bottom]);\n break;\n case \"bottom\":\n polygon.push([pointerX, pointerY - 5]);\n polygon.push([contentRect.right, contentRect.top]);\n polygon.push([contentRect.right, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.top]);\n break;\n case \"left\":\n polygon.push([pointerX + 5, pointerY]);\n polygon.push([contentRect.right, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.bottom]);\n polygon.push([contentRect.left, contentRect.top]);\n polygon.push([contentRect.right, contentRect.top]);\n break;\n }\n return polygon;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) {\n return false;\n }\n return isPointInPolygon([event.clientX, event.clientY], area);\n}\nfunction Menu(props) {\n const rootContext = useMenuRootContext();\n const parentDomCollectionContext = useOptionalDomCollectionContext();\n const parentMenuContext = useOptionalMenuContext();\n const optionalMenubarContext = useOptionalMenubarContext();\n const optionalNavigationMenuContext = useOptionalNavigationMenuContext();\n const mergedProps = mergeDefaultProps({\n placement: rootContext.orientation() === \"horizontal\" ? \"bottom-start\" : \"right-start\"\n }, props);\n const [local, others] = splitProps(mergedProps, [\"open\", \"defaultOpen\", \"onOpenChange\"]);\n let pointerGraceTimeoutId = 0;\n let pointerGraceIntent = null;\n let pointerDir = \"right\";\n const [triggerId, setTriggerId] = createSignal();\n const [contentId, setContentId] = createSignal();\n const [triggerRef, setTriggerRef] = createSignal();\n const [contentRef, setContentRef] = createSignal();\n const [focusStrategy, setFocusStrategy] = createSignal(true);\n const [currentPlacement, setCurrentPlacement] = createSignal(others.placement);\n const [nestedMenus, setNestedMenus] = createSignal([]);\n const [items, setItems] = createSignal([]);\n const {\n DomCollectionProvider\n } = createDomCollection({\n items,\n onItemsChange: setItems\n });\n const disclosureState = createDisclosureState({\n open: () => local.open,\n defaultOpen: () => local.defaultOpen,\n onOpenChange: (isOpen) => local.onOpenChange?.(isOpen)\n });\n const {\n present: contentPresent\n } = src_default({\n show: () => rootContext.forceMount() || disclosureState.isOpen(),\n element: () => contentRef() ?? null\n });\n const listState = createListState({\n selectionMode: \"none\",\n dataSource: items\n });\n const open = (focusStrategy2) => {\n setFocusStrategy(focusStrategy2);\n disclosureState.open();\n };\n const close = (recursively = false) => {\n disclosureState.close();\n if (recursively && parentMenuContext) {\n parentMenuContext.close(true);\n }\n };\n const toggle = (focusStrategy2) => {\n setFocusStrategy(focusStrategy2);\n disclosureState.toggle();\n };\n const _focusContent = () => {\n const content = contentRef();\n if (content) {\n focusWithoutScrolling(content);\n listState.selectionManager().setFocused(true);\n listState.selectionManager().setFocusedKey(void 0);\n }\n };\n const focusContent = () => {\n if (optionalNavigationMenuContext != null)\n setTimeout(() => _focusContent());\n else\n _focusContent();\n };\n const registerNestedMenu = (element) => {\n setNestedMenus((prev) => [...prev, element]);\n const parentUnregister = parentMenuContext?.registerNestedMenu(element);\n return () => {\n setNestedMenus((prev) => removeItemFromArray(prev, element));\n parentUnregister?.();\n };\n };\n const isPointerMovingToSubmenu = (e2) => {\n const isMovingTowards = pointerDir === pointerGraceIntent?.side;\n return isMovingTowards && isPointerInGraceArea(e2, pointerGraceIntent?.area);\n };\n const onItemEnter = (e2) => {\n if (isPointerMovingToSubmenu(e2)) {\n e2.preventDefault();\n }\n };\n const onItemLeave = (e2) => {\n if (isPointerMovingToSubmenu(e2)) {\n return;\n }\n focusContent();\n };\n const onTriggerLeave = (e2) => {\n if (isPointerMovingToSubmenu(e2)) {\n e2.preventDefault();\n }\n };\n createHideOutside({\n isDisabled: () => {\n return !(parentMenuContext == null && disclosureState.isOpen() && rootContext.isModal());\n },\n targets: () => [contentRef(), ...nestedMenus()].filter(Boolean)\n });\n createEffect(() => {\n const contentEl = contentRef();\n if (!contentEl || !parentMenuContext) {\n return;\n }\n const parentUnregister = parentMenuContext.registerNestedMenu(contentEl);\n onCleanup(() => {\n parentUnregister();\n });\n });\n createEffect(() => {\n if (parentMenuContext !== void 0)\n return;\n optionalMenubarContext?.registerMenu(rootContext.value(), [contentRef(), ...nestedMenus()]);\n });\n createEffect(() => {\n if (parentMenuContext !== void 0 || optionalMenubarContext === void 0)\n return;\n if (optionalMenubarContext.value() === rootContext.value()) {\n triggerRef()?.focus();\n if (optionalMenubarContext.autoFocusMenu())\n open(true);\n } else\n close();\n });\n createEffect(() => {\n if (parentMenuContext !== void 0 || optionalMenubarContext === void 0)\n return;\n if (disclosureState.isOpen())\n optionalMenubarContext.setValue(rootContext.value());\n });\n onCleanup(() => {\n if (parentMenuContext !== void 0)\n return;\n optionalMenubarContext?.unregisterMenu(rootContext.value());\n });\n const dataset = createMemo(() => ({\n \"data-expanded\": disclosureState.isOpen() ? \"\" : void 0,\n \"data-closed\": !disclosureState.isOpen() ? \"\" : void 0\n }));\n const context = {\n dataset,\n isOpen: disclosureState.isOpen,\n contentPresent,\n nestedMenus,\n currentPlacement,\n pointerGraceTimeoutId: () => pointerGraceTimeoutId,\n autoFocus: focusStrategy,\n listState: () => listState,\n parentMenuContext: () => parentMenuContext,\n triggerRef,\n contentRef,\n triggerId,\n contentId,\n setTriggerRef,\n setContentRef,\n open,\n close,\n toggle,\n focusContent,\n onItemEnter,\n onItemLeave,\n onTriggerLeave,\n setPointerDir: (dir) => pointerDir = dir,\n setPointerGraceTimeoutId: (id) => pointerGraceTimeoutId = id,\n setPointerGraceIntent: (intent) => pointerGraceIntent = intent,\n registerNestedMenu,\n registerItemToParentDomCollection: parentDomCollectionContext?.registerItem,\n registerTriggerId: createRegisterId(setTriggerId),\n registerContentId: createRegisterId(setContentId)\n };\n return createComponent(DomCollectionProvider, {\n get children() {\n return createComponent(MenuContext.Provider, {\n value: context,\n get children() {\n return createComponent(Show, {\n when: optionalNavigationMenuContext === void 0,\n get fallback() {\n return others.children;\n },\n get children() {\n return createComponent(Popper, mergeProps({\n anchorRef: triggerRef,\n contentRef,\n onCurrentPlacementChange: setCurrentPlacement\n }, others));\n }\n });\n }\n });\n }\n });\n}\nfunction MenuSub(props) {\n const {\n direction\n } = useLocale();\n return createComponent(Menu, mergeProps({\n get placement() {\n return direction() === \"rtl\" ? \"left-start\" : \"right-start\";\n },\n flip: true\n }, props));\n}\nvar SUB_CLOSE_KEYS = {\n close: (dir, orientation) => {\n if (dir === \"ltr\") {\n return [orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\"];\n }\n return [orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\"];\n }\n};\nfunction MenuSubContent(props) {\n const context = useMenuContext();\n const rootContext = useMenuRootContext();\n const [local, others] = splitProps(props, [\"onFocusOutside\", \"onKeyDown\"]);\n const {\n direction\n } = useLocale();\n const onOpenAutoFocus = (e2) => {\n e2.preventDefault();\n };\n const onCloseAutoFocus = (e2) => {\n e2.preventDefault();\n };\n const onFocusOutside = (e2) => {\n local.onFocusOutside?.(e2);\n const target = e2.target;\n if (!contains(context.triggerRef(), target)) {\n context.close();\n }\n };\n const onKeyDown = (e2) => {\n callHandler(e2, local.onKeyDown);\n const isKeyDownInside = contains(e2.currentTarget, e2.target);\n const isCloseKey = SUB_CLOSE_KEYS.close(direction(), rootContext.orientation()).includes(e2.key);\n const isSubMenu = context.parentMenuContext() != null;\n if (isKeyDownInside && isCloseKey && isSubMenu) {\n context.close();\n focusWithoutScrolling(context.triggerRef());\n }\n };\n return createComponent(MenuContentBase, mergeProps({\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusOutside,\n onKeyDown\n }, others));\n}\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar SUB_OPEN_KEYS = {\n open: (dir, orientation) => {\n if (dir === \"ltr\") {\n return [...SELECTION_KEYS, orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\"];\n }\n return [...SELECTION_KEYS, orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\"];\n }\n};\nfunction MenuSubTrigger(props) {\n let ref;\n const rootContext = useMenuRootContext();\n const context = useMenuContext();\n const mergedProps = mergeDefaultProps({\n id: rootContext.generateId(`sub-trigger-${createUniqueId()}`)\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"id\", \"textValue\", \"disabled\", \"onPointerMove\", \"onPointerLeave\", \"onPointerDown\", \"onPointerUp\", \"onClick\", \"onKeyDown\", \"onMouseDown\", \"onFocus\"]);\n let openTimeoutId = null;\n const clearOpenTimeout = () => {\n if (isServer) {\n return;\n }\n if (openTimeoutId) {\n window.clearTimeout(openTimeoutId);\n }\n openTimeoutId = null;\n };\n const {\n direction\n } = useLocale();\n const key = () => local.id;\n const parentSelectionManager = () => {\n const parentMenuContext = context.parentMenuContext();\n if (parentMenuContext == null) {\n throw new Error(\"[kobalte]: `Menu.SubTrigger` must be used within a `Menu.Sub` component\");\n }\n return parentMenuContext.listState().selectionManager();\n };\n const collection = () => context.listState().collection();\n const isHighlighted = () => parentSelectionManager().focusedKey() === key();\n const selectableItem = createSelectableItem({\n key,\n selectionManager: parentSelectionManager,\n shouldSelectOnPressUp: true,\n allowsDifferentPressOrigin: true,\n disabled: () => local.disabled\n }, () => ref);\n const onClick = (e2) => {\n callHandler(e2, local.onClick);\n if (!context.isOpen() && !local.disabled) {\n context.open(true);\n }\n };\n const onPointerMove = (e2) => {\n callHandler(e2, local.onPointerMove);\n if (e2.pointerType !== \"mouse\") {\n return;\n }\n const parentMenuContext = context.parentMenuContext();\n parentMenuContext?.onItemEnter(e2);\n if (e2.defaultPrevented) {\n return;\n }\n if (local.disabled) {\n parentMenuContext?.onItemLeave(e2);\n return;\n }\n if (!context.isOpen() && !openTimeoutId) {\n context.parentMenuContext()?.setPointerGraceIntent(null);\n openTimeoutId = window.setTimeout(() => {\n context.open(false);\n clearOpenTimeout();\n }, 100);\n }\n parentMenuContext?.onItemEnter(e2);\n if (!e2.defaultPrevented) {\n if (context.listState().selectionManager().isFocused()) {\n context.listState().selectionManager().setFocused(false);\n context.listState().selectionManager().setFocusedKey(void 0);\n }\n focusWithoutScrolling(e2.currentTarget);\n parentMenuContext?.listState().selectionManager().setFocused(true);\n parentMenuContext?.listState().selectionManager().setFocusedKey(key());\n }\n };\n const onPointerLeave = (e2) => {\n callHandler(e2, local.onPointerLeave);\n if (e2.pointerType !== \"mouse\") {\n return;\n }\n clearOpenTimeout();\n const parentMenuContext = context.parentMenuContext();\n const contentEl = context.contentRef();\n if (contentEl) {\n parentMenuContext?.setPointerGraceIntent({\n area: getPointerGraceArea(context.currentPlacement(), e2, contentEl),\n // Safe because sub menu always open \"left\" or \"right\".\n side: context.currentPlacement().split(\"-\")[0]\n });\n window.clearTimeout(parentMenuContext?.pointerGraceTimeoutId());\n const pointerGraceTimeoutId = window.setTimeout(() => {\n parentMenuContext?.setPointerGraceIntent(null);\n }, 300);\n parentMenuContext?.setPointerGraceTimeoutId(pointerGraceTimeoutId);\n } else {\n parentMenuContext?.onTriggerLeave(e2);\n if (e2.defaultPrevented) {\n return;\n }\n parentMenuContext?.setPointerGraceIntent(null);\n }\n parentMenuContext?.onItemLeave(e2);\n };\n const onKeyDown = (e2) => {\n callHandler(e2, local.onKeyDown);\n if (e2.repeat) {\n return;\n }\n if (local.disabled) {\n return;\n }\n if (SUB_OPEN_KEYS.open(direction(), rootContext.orientation()).includes(e2.key)) {\n e2.stopPropagation();\n e2.preventDefault();\n parentSelectionManager().setFocused(false);\n parentSelectionManager().setFocusedKey(void 0);\n if (!context.isOpen()) {\n context.open(\"first\");\n }\n context.focusContent();\n context.listState().selectionManager().setFocused(true);\n context.listState().selectionManager().setFocusedKey(collection().getFirstKey());\n }\n };\n createEffect(() => {\n if (context.registerItemToParentDomCollection == null) {\n throw new Error(\"[kobalte]: `Menu.SubTrigger` must be used within a `Menu.Sub` component\");\n }\n const unregister = context.registerItemToParentDomCollection({\n ref: () => ref,\n type: \"item\",\n key: key(),\n textValue: local.textValue ?? ref?.textContent ?? \"\",\n disabled: local.disabled ?? false\n });\n onCleanup(unregister);\n });\n createEffect(on(() => context.parentMenuContext()?.pointerGraceTimeoutId(), (pointerGraceTimer) => {\n onCleanup(() => {\n window.clearTimeout(pointerGraceTimer);\n context.parentMenuContext()?.setPointerGraceIntent(null);\n });\n }));\n createEffect(() => onCleanup(context.registerTriggerId(local.id)));\n onCleanup(() => {\n clearOpenTimeout();\n });\n return createComponent(Polymorphic, mergeProps({\n as: \"div\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => {\n context.setTriggerRef(el);\n ref = el;\n }, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get id() {\n return local.id;\n },\n role: \"menuitem\",\n get tabIndex() {\n return selectableItem.tabIndex();\n },\n \"aria-haspopup\": \"true\",\n get [\"aria-expanded\"]() {\n return context.isOpen();\n },\n get [\"aria-controls\"]() {\n return memo(() => !!context.isOpen())() ? context.contentId() : void 0;\n },\n get [\"aria-disabled\"]() {\n return local.disabled;\n },\n get [\"data-key\"]() {\n return selectableItem.dataKey();\n },\n get [\"data-highlighted\"]() {\n return isHighlighted() ? \"\" : void 0;\n },\n get [\"data-disabled\"]() {\n return local.disabled ? \"\" : void 0;\n },\n get onPointerDown() {\n return composeEventHandlers([local.onPointerDown, selectableItem.onPointerDown]);\n },\n get onPointerUp() {\n return composeEventHandlers([local.onPointerUp, selectableItem.onPointerUp]);\n },\n get onClick() {\n return composeEventHandlers([onClick, selectableItem.onClick]);\n },\n get onKeyDown() {\n return composeEventHandlers([onKeyDown, selectableItem.onKeyDown]);\n },\n get onMouseDown() {\n return composeEventHandlers([local.onMouseDown, selectableItem.onMouseDown]);\n },\n get onFocus() {\n return composeEventHandlers([local.onFocus, selectableItem.onFocus]);\n },\n onPointerMove,\n onPointerLeave\n }, () => context.dataset(), others));\n}\nfunction MenuRoot(props) {\n const optionalMenubarContext = useOptionalMenubarContext();\n const defaultId = `menu-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps({\n id: defaultId,\n modal: true\n }, props);\n const [local, others] = splitProps(mergedProps, [\"id\", \"modal\", \"preventScroll\", \"forceMount\", \"open\", \"defaultOpen\", \"onOpenChange\", \"value\", \"orientation\"]);\n const disclosureState = createDisclosureState({\n open: () => local.open,\n defaultOpen: () => local.defaultOpen,\n onOpenChange: (isOpen) => local.onOpenChange?.(isOpen)\n });\n const context = {\n isModal: () => local.modal ?? true,\n preventScroll: () => local.preventScroll ?? context.isModal(),\n forceMount: () => local.forceMount ?? false,\n generateId: createGenerateId(() => local.id),\n value: () => local.value,\n orientation: () => local.orientation ?? optionalMenubarContext?.orientation() ?? \"horizontal\"\n };\n return createComponent(MenuRootContext.Provider, {\n value: context,\n get children() {\n return createComponent(Menu, mergeProps({\n get open() {\n return disclosureState.isOpen();\n },\n get onOpenChange() {\n return disclosureState.setIsOpen;\n }\n }, others));\n }\n });\n}\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/STGRFJHZ.js\nvar separator_exports = {};\n__export(separator_exports, {\n Root: () => SeparatorRoot,\n Separator: () => Separator\n});\nfunction SeparatorRoot(props) {\n let ref;\n const mergedProps = mergeDefaultProps({\n orientation: \"horizontal\"\n }, props);\n const [local, others] = splitProps(mergedProps, [\"ref\", \"orientation\"]);\n const tagName = createTagName(() => ref, () => \"hr\");\n return createComponent(Polymorphic, mergeProps({\n as: \"hr\",\n ref(r$) {\n const _ref$ = mergeRefs((el) => ref = el, local.ref);\n typeof _ref$ === \"function\" && _ref$(r$);\n },\n get role() {\n return tagName() !== \"hr\" ? \"separator\" : void 0;\n },\n get [\"aria-orientation\"]() {\n return local.orientation === \"vertical\" ? \"vertical\" : void 0;\n },\n get [\"data-orientation\"]() {\n return local.orientation;\n }\n }, others));\n}\nvar Separator = SeparatorRoot;\n\n// ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/V2JBZ7BJ.js\nvar dropdown_menu_exports = {};\n__export(dropdown_menu_exports, {\n Arrow: () => PopperArrow,\n CheckboxItem: () => MenuCheckboxItem,\n Content: () => DropdownMenuContent,\n DropdownMenu: () => DropdownMenu,\n Group: () => MenuGroup,\n GroupLabel: () => MenuGroupLabel,\n Icon: () => MenuIcon,\n Item: () => MenuItem,\n ItemDescription: () => MenuItemDescription,\n ItemIndicator: () => MenuItemIndicator,\n ItemLabel: () => MenuItemLabel,\n Portal: () => MenuPortal,\n RadioGroup: () => MenuRadioGroup,\n RadioItem: () => MenuRadioItem,\n Root: () => DropdownMenuRoot,\n Separator: () => SeparatorRoot,\n Sub: () => MenuSub,\n SubContent: () => MenuSubContent,\n SubTrigger: () => MenuSubTrigger,\n Trigger: () => MenuTrigger\n});\nfunction DropdownMenuContent(props) {\n const rootContext = useMenuRootContext();\n const context = useMenuContext();\n const [local, others] = splitProps(props, [\"onCloseAutoFocus\", \"onInteractOutside\"]);\n let hasInteractedOutside = false;\n const onCloseAutoFocus = (e2) => {\n local.onCloseAutoFocus?.(e2);\n if (!hasInteractedOutside) {\n focusWithoutScrolling(context.triggerRef());\n }\n hasInteractedOutside = false;\n e2.preventDefault();\n };\n const onInteractOutside = (e2) => {\n local.onInteractOutside?.(e2);\n if (!rootContext.isModal() || e2.detail.isContextMenu) {\n hasInteractedOutside = true;\n }\n };\n return createComponent(MenuContent, mergeProps({\n onCloseAutoFocus,\n onInteractOutside\n }, others));\n}\nfunction DropdownMenuRoot(props) {\n const defaultId = `dropdownmenu-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps({\n id: defaultId\n }, props);\n return createComponent(MenuRoot, mergedProps);\n}\nvar DropdownMenu = Object.assign(DropdownMenuRoot, {\n Arrow: PopperArrow,\n CheckboxItem: MenuCheckboxItem,\n Content: DropdownMenuContent,\n Group: MenuGroup,\n GroupLabel: MenuGroupLabel,\n Icon: MenuIcon,\n Item: MenuItem,\n ItemDescription: MenuItemDescription,\n ItemIndicator: MenuItemIndicator,\n ItemLabel: MenuItemLabel,\n Portal: MenuPortal,\n RadioGroup: MenuRadioGroup,\n RadioItem: MenuRadioItem,\n Separator: SeparatorRoot,\n Sub: MenuSub,\n SubContent: MenuSubContent,\n SubTrigger: MenuSubTrigger,\n Trigger: MenuTrigger\n});\n\n// src/theme.ts\nvar tokens = {\n colors: {\n inherit: \"inherit\",\n current: \"currentColor\",\n transparent: \"transparent\",\n black: \"#000000\",\n white: \"#ffffff\",\n neutral: {\n 50: \"#f9fafb\",\n 100: \"#f2f4f7\",\n 200: \"#eaecf0\",\n 300: \"#d0d5dd\",\n 400: \"#98a2b3\",\n 500: \"#667085\",\n 600: \"#475467\",\n 700: \"#344054\",\n 800: \"#1d2939\",\n 900: \"#101828\"\n },\n darkGray: {\n 50: \"#525c7a\",\n 100: \"#49536e\",\n 200: \"#414962\",\n 300: \"#394056\",\n 400: \"#313749\",\n 500: \"#292e3d\",\n 600: \"#212530\",\n 700: \"#191c24\",\n 800: \"#111318\",\n 900: \"#0b0d10\"\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f2f4f7\",\n 200: \"#eaecf0\",\n 300: \"#d0d5dd\",\n 400: \"#98a2b3\",\n 500: \"#667085\",\n 600: \"#475467\",\n 700: \"#344054\",\n 800: \"#1d2939\",\n 900: \"#101828\"\n },\n blue: {\n 25: \"#F5FAFF\",\n 50: \"#EFF8FF\",\n 100: \"#D1E9FF\",\n 200: \"#B2DDFF\",\n 300: \"#84CAFF\",\n 400: \"#53B1FD\",\n 500: \"#2E90FA\",\n 600: \"#1570EF\",\n 700: \"#175CD3\",\n 800: \"#1849A9\",\n 900: \"#194185\"\n },\n green: {\n 25: \"#F6FEF9\",\n 50: \"#ECFDF3\",\n 100: \"#D1FADF\",\n 200: \"#A6F4C5\",\n 300: \"#6CE9A6\",\n 400: \"#32D583\",\n 500: \"#12B76A\",\n 600: \"#039855\",\n 700: \"#027A48\",\n 800: \"#05603A\",\n 900: \"#054F31\"\n },\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\"\n },\n yellow: {\n 25: \"#FFFCF5\",\n 50: \"#FFFAEB\",\n 100: \"#FEF0C7\",\n 200: \"#FEDF89\",\n 300: \"#FEC84B\",\n 400: \"#FDB022\",\n 500: \"#F79009\",\n 600: \"#DC6803\",\n 700: \"#B54708\",\n 800: \"#93370D\",\n 900: \"#7A2E0E\"\n },\n purple: {\n 25: \"#FAFAFF\",\n 50: \"#F4F3FF\",\n 100: \"#EBE9FE\",\n 200: \"#D9D6FE\",\n 300: \"#BDB4FE\",\n 400: \"#9B8AFB\",\n 500: \"#7A5AF8\",\n 600: \"#6938EF\",\n 700: \"#5925DC\",\n 800: \"#4A1FB8\",\n 900: \"#3E1C96\"\n },\n teal: {\n 25: \"#F6FEFC\",\n 50: \"#F0FDF9\",\n 100: \"#CCFBEF\",\n 200: \"#99F6E0\",\n 300: \"#5FE9D0\",\n 400: \"#2ED3B7\",\n 500: \"#15B79E\",\n 600: \"#0E9384\",\n 700: \"#107569\",\n 800: \"#125D56\",\n 900: \"#134E48\"\n },\n pink: {\n 25: \"#fdf2f8\",\n 50: \"#fce7f3\",\n 100: \"#fbcfe8\",\n 200: \"#f9a8d4\",\n 300: \"#f472b6\",\n 400: \"#ec4899\",\n 500: \"#db2777\",\n 600: \"#be185d\",\n 700: \"#9d174d\",\n 800: \"#831843\",\n 900: \"#500724\"\n },\n cyan: {\n 25: \"#ecfeff\",\n 50: \"#cffafe\",\n 100: \"#a5f3fc\",\n 200: \"#67e8f9\",\n 300: \"#22d3ee\",\n 400: \"#06b6d4\",\n 500: \"#0891b2\",\n 600: \"#0e7490\",\n 700: \"#155e75\",\n 800: \"#164e63\",\n 900: \"#083344\"\n }\n },\n alpha: {\n 100: \"ff\",\n 90: \"e5\",\n 80: \"cc\",\n 70: \"b3\",\n 60: \"99\",\n 50: \"80\",\n 40: \"66\",\n 30: \"4d\",\n 20: \"33\",\n 10: \"1a\",\n 0: \"00\"\n },\n font: {\n size: {\n \"2xs\": \"calc(var(--tsqd-font-size) * 0.625)\",\n xs: \"calc(var(--tsqd-font-size) * 0.75)\",\n sm: \"calc(var(--tsqd-font-size) * 0.875)\",\n md: \"var(--tsqd-font-size)\",\n lg: \"calc(var(--tsqd-font-size) * 1.125)\",\n xl: \"calc(var(--tsqd-font-size) * 1.25)\",\n \"2xl\": \"calc(var(--tsqd-font-size) * 1.5)\",\n \"3xl\": \"calc(var(--tsqd-font-size) * 1.875)\",\n \"4xl\": \"calc(var(--tsqd-font-size) * 2.25)\",\n \"5xl\": \"calc(var(--tsqd-font-size) * 3)\",\n \"6xl\": \"calc(var(--tsqd-font-size) * 3.75)\",\n \"7xl\": \"calc(var(--tsqd-font-size) * 4.5)\",\n \"8xl\": \"calc(var(--tsqd-font-size) * 6)\",\n \"9xl\": \"calc(var(--tsqd-font-size) * 8)\"\n },\n lineHeight: {\n xs: \"calc(var(--tsqd-font-size) * 1)\",\n sm: \"calc(var(--tsqd-font-size) * 1.25)\",\n md: \"calc(var(--tsqd-font-size) * 1.5)\",\n lg: \"calc(var(--tsqd-font-size) * 1.75)\",\n xl: \"calc(var(--tsqd-font-size) * 2)\",\n \"2xl\": \"calc(var(--tsqd-font-size) * 2.25)\",\n \"3xl\": \"calc(var(--tsqd-font-size) * 2.5)\",\n \"4xl\": \"calc(var(--tsqd-font-size) * 2.75)\",\n \"5xl\": \"calc(var(--tsqd-font-size) * 3)\",\n \"6xl\": \"calc(var(--tsqd-font-size) * 3.25)\",\n \"7xl\": \"calc(var(--tsqd-font-size) * 3.5)\",\n \"8xl\": \"calc(var(--tsqd-font-size) * 3.75)\",\n \"9xl\": \"calc(var(--tsqd-font-size) * 4)\"\n },\n weight: {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\"\n }\n },\n breakpoints: {\n xs: \"320px\",\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\"\n },\n border: {\n radius: {\n none: \"0px\",\n xs: \"calc(var(--tsqd-font-size) * 0.125)\",\n sm: \"calc(var(--tsqd-font-size) * 0.25)\",\n md: \"calc(var(--tsqd-font-size) * 0.375)\",\n lg: \"calc(var(--tsqd-font-size) * 0.5)\",\n xl: \"calc(var(--tsqd-font-size) * 0.75)\",\n \"2xl\": \"calc(var(--tsqd-font-size) * 1)\",\n \"3xl\": \"calc(var(--tsqd-font-size) * 1.5)\",\n full: \"9999px\"\n }\n },\n size: {\n 0: \"0px\",\n 0.25: \"calc(var(--tsqd-font-size) * 0.0625)\",\n 0.5: \"calc(var(--tsqd-font-size) * 0.125)\",\n 1: \"calc(var(--tsqd-font-size) * 0.25)\",\n 1.5: \"calc(var(--tsqd-font-size) * 0.375)\",\n 2: \"calc(var(--tsqd-font-size) * 0.5)\",\n 2.5: \"calc(var(--tsqd-font-size) * 0.625)\",\n 3: \"calc(var(--tsqd-font-size) * 0.75)\",\n 3.5: \"calc(var(--tsqd-font-size) * 0.875)\",\n 4: \"calc(var(--tsqd-font-size) * 1)\",\n 4.5: \"calc(var(--tsqd-font-size) * 1.125)\",\n 5: \"calc(var(--tsqd-font-size) * 1.25)\",\n 5.5: \"calc(var(--tsqd-font-size) * 1.375)\",\n 6: \"calc(var(--tsqd-font-size) * 1.5)\",\n 6.5: \"calc(var(--tsqd-font-size) * 1.625)\",\n 7: \"calc(var(--tsqd-font-size) * 1.75)\",\n 8: \"calc(var(--tsqd-font-size) * 2)\",\n 9: \"calc(var(--tsqd-font-size) * 2.25)\",\n 10: \"calc(var(--tsqd-font-size) * 2.5)\",\n 11: \"calc(var(--tsqd-font-size) * 2.75)\",\n 12: \"calc(var(--tsqd-font-size) * 3)\",\n 14: \"calc(var(--tsqd-font-size) * 3.5)\",\n 16: \"calc(var(--tsqd-font-size) * 4)\",\n 20: \"calc(var(--tsqd-font-size) * 5)\",\n 24: \"calc(var(--tsqd-font-size) * 6)\",\n 28: \"calc(var(--tsqd-font-size) * 7)\",\n 32: \"calc(var(--tsqd-font-size) * 8)\",\n 36: \"calc(var(--tsqd-font-size) * 9)\",\n 40: \"calc(var(--tsqd-font-size) * 10)\",\n 44: \"calc(var(--tsqd-font-size) * 11)\",\n 48: \"calc(var(--tsqd-font-size) * 12)\",\n 52: \"calc(var(--tsqd-font-size) * 13)\",\n 56: \"calc(var(--tsqd-font-size) * 14)\",\n 60: \"calc(var(--tsqd-font-size) * 15)\",\n 64: \"calc(var(--tsqd-font-size) * 16)\",\n 72: \"calc(var(--tsqd-font-size) * 18)\",\n 80: \"calc(var(--tsqd-font-size) * 20)\",\n 96: \"calc(var(--tsqd-font-size) * 24)\"\n },\n shadow: {\n xs: (_ = \"rgb(0 0 0 / 0.1)\") => `0 1px 2px 0 rgb(0 0 0 / 0.05)`,\n sm: (color = \"rgb(0 0 0 / 0.1)\") => `0 1px 3px 0 ${color}, 0 1px 2px -1px ${color}`,\n md: (color = \"rgb(0 0 0 / 0.1)\") => `0 4px 6px -1px ${color}, 0 2px 4px -2px ${color}`,\n lg: (color = \"rgb(0 0 0 / 0.1)\") => `0 10px 15px -3px ${color}, 0 4px 6px -4px ${color}`,\n xl: (color = \"rgb(0 0 0 / 0.1)\") => `0 20px 25px -5px ${color}, 0 8px 10px -6px ${color}`,\n \"2xl\": (color = \"rgb(0 0 0 / 0.25)\") => `0 25px 50px -12px ${color}`,\n inner: (color = \"rgb(0 0 0 / 0.05)\") => `inset 0 2px 4px 0 ${color}`,\n none: () => `none`\n },\n zIndices: {\n hide: -1,\n auto: \"auto\",\n base: 0,\n docked: 10,\n dropdown: 1e3,\n sticky: 1100,\n banner: 1200,\n overlay: 1300,\n modal: 1400,\n popover: 1500,\n skipLink: 1600,\n toast: 1700,\n tooltip: 1800\n }\n};\n\n// src/icons/index.tsx\nvar _tmpl$2 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox=\"0 0 14 14\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M13 13L9.00007 9M10.3333 5.66667C10.3333 8.244 8.244 10.3333 5.66667 10.3333C3.08934 10.3333 1 8.244 1 5.66667C1 3.08934 3.08934 1 5.66667 1C8.244 1 10.3333 3.08934 10.3333 5.66667Z\"stroke=currentColor stroke-width=1.66667 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$22 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M9 3H15M3 6H21M19 6L18.2987 16.5193C18.1935 18.0975 18.1409 18.8867 17.8 19.485C17.4999 20.0118 17.0472 20.4353 16.5017 20.6997C15.882 21 15.0911 21 13.5093 21H10.4907C8.90891 21 8.11803 21 7.49834 20.6997C6.95276 20.4353 6.50009 20.0118 6.19998 19.485C5.85911 18.8867 5.8065 18.0975 5.70129 16.5193L5 6M10 10.5V15.5M14 10.5V15.5\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$3 = /* @__PURE__ */ template(`<svg width=10 height=6 viewBox=\"0 0 10 6\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M1 1L5 5L9 1\"stroke=currentColor stroke-width=1.66667 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$4 = /* @__PURE__ */ template(`<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M8 13.3333V2.66667M8 2.66667L4 6.66667M8 2.66667L12 6.66667\"stroke=currentColor stroke-width=1.66667 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$5 = /* @__PURE__ */ template(`<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M8 2.66667V13.3333M8 13.3333L4 9.33333M8 13.3333L12 9.33333\"stroke=currentColor stroke-width=1.66667 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$6 = /* @__PURE__ */ template(`<svg viewBox=\"0 0 24 24\"height=12 width=12 fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M12 2v2m0 16v2M4 12H2m4.314-5.686L4.9 4.9m12.786 1.414L19.1 4.9M6.314 17.69 4.9 19.104m12.786-1.414 1.414 1.414M22 12h-2m-3 0a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$7 = /* @__PURE__ */ template(`<svg viewBox=\"0 0 24 24\"height=12 width=12 fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M22 15.844a10.424 10.424 0 0 1-4.306.925c-5.779 0-10.463-4.684-10.463-10.462 0-1.536.33-2.994.925-4.307A10.464 10.464 0 0 0 2 11.538C2 17.316 6.684 22 12.462 22c4.243 0 7.896-2.526 9.538-6.156Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$8 = /* @__PURE__ */ template(`<svg viewBox=\"0 0 24 24\"height=12 width=12 fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M8 21h8m-4-4v4m-5.2-4h10.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C22 14.72 22 13.88 22 12.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C19.72 3 18.88 3 17.2 3H6.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C2 5.28 2 6.12 2 7.8v4.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C4.28 17 5.12 17 6.8 17Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$9 = /* @__PURE__ */ template(`<svg stroke=currentColor fill=currentColor stroke-width=0 viewBox=\"0 0 24 24\"height=1em width=1em xmlns=http://www.w3.org/2000/svg><path fill=none d=\"M0 0h24v24H0z\"></path><path d=\"M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3a4.237 4.237 0 00-6 0zm-4-4l2 2a7.074 7.074 0 0110 0l2-2C15.14 9.14 8.87 9.14 5 13z\">`);\nvar _tmpl$0 = /* @__PURE__ */ template(`<svg stroke-width=0 viewBox=\"0 0 24 24\"height=1em width=1em xmlns=http://www.w3.org/2000/svg><path fill=none d=\"M24 .01c0-.01 0-.01 0 0L0 0v24h24V.01zM0 0h24v24H0V0zm0 0h24v24H0V0z\"></path><path d=\"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7l2-2zm-4 4a9.793 9.793 0 00-4.49-2.56l3.53 3.53.96-.97zM2 3.05L5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24A9.684 9.684 0 005 13v.01L6.99 15a7.042 7.042 0 014.92-2.06L18.98 20l1.27-1.26L3.29 1.79 2 3.05zM9 17l3 3 3-3a4.237 4.237 0 00-6 0z\">`);\nvar _tmpl$1 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M9.3951 19.3711L9.97955 20.6856C10.1533 21.0768 10.4368 21.4093 10.7958 21.6426C11.1547 21.8759 11.5737 22.0001 12.0018 22C12.4299 22.0001 12.8488 21.8759 13.2078 21.6426C13.5667 21.4093 13.8503 21.0768 14.024 20.6856L14.6084 19.3711C14.8165 18.9047 15.1664 18.5159 15.6084 18.26C16.0532 18.0034 16.5678 17.8941 17.0784 17.9478L18.5084 18.1C18.9341 18.145 19.3637 18.0656 19.7451 17.8713C20.1265 17.6771 20.4434 17.3763 20.6573 17.0056C20.8715 16.635 20.9735 16.2103 20.9511 15.7829C20.9286 15.3555 20.7825 14.9438 20.5307 14.5978L19.684 13.4344C19.3825 13.0171 19.2214 12.5148 19.224 12C19.2239 11.4866 19.3865 10.9864 19.6884 10.5711L20.5351 9.40778C20.787 9.06175 20.933 8.65007 20.9555 8.22267C20.978 7.79528 20.8759 7.37054 20.6618 7C20.4479 6.62923 20.131 6.32849 19.7496 6.13423C19.3681 5.93997 18.9386 5.86053 18.5129 5.90556L17.0829 6.05778C16.5722 6.11141 16.0577 6.00212 15.6129 5.74556C15.17 5.48825 14.82 5.09736 14.6129 4.62889L14.024 3.31444C13.8503 2.92317 13.5667 2.59072 13.2078 2.3574C12.8488 2.12408 12.4299 1.99993 12.0018 2C11.5737 1.99993 11.1547 2.12408 10.7958 2.3574C10.4368 2.59072 10.1533 2.92317 9.97955 3.31444L9.3951 4.62889C9.18803 5.09736 8.83798 5.48825 8.3951 5.74556C7.95032 6.00212 7.43577 6.11141 6.9251 6.05778L5.49066 5.90556C5.06499 5.86053 4.6354 5.93997 4.25397 6.13423C3.87255 6.32849 3.55567 6.62923 3.34177 7C3.12759 7.37054 3.02555 7.79528 3.04804 8.22267C3.07052 8.65007 3.21656 9.06175 3.46844 9.40778L4.3151 10.5711C4.61704 10.9864 4.77964 11.4866 4.77955 12C4.77964 12.5134 4.61704 13.0137 4.3151 13.4289L3.46844 14.5922C3.21656 14.9382 3.07052 15.3499 3.04804 15.7773C3.02555 16.2047 3.12759 16.6295 3.34177 17C3.55589 17.3706 3.8728 17.6712 4.25417 17.8654C4.63554 18.0596 5.06502 18.1392 5.49066 18.0944L6.92066 17.9422C7.43133 17.8886 7.94587 17.9979 8.39066 18.2544C8.83519 18.511 9.18687 18.902 9.3951 19.3711Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round></path><path d=\"M12 15C13.6568 15 15 13.6569 15 12C15 10.3431 13.6568 9 12 9C10.3431 9 8.99998 10.3431 8.99998 12C8.99998 13.6569 10.3431 15 12 15Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$10 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M16 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V8M11.5 12.5L17 7M17 7H12M17 7V12M6.2 21H8.8C9.9201 21 10.4802 21 10.908 20.782C11.2843 20.5903 11.5903 20.2843 11.782 19.908C12 19.4802 12 18.9201 12 17.8V15.2C12 14.0799 12 13.5198 11.782 13.092C11.5903 12.7157 11.2843 12.4097 10.908 12.218C10.4802 12 9.92011 12 8.8 12H6.2C5.0799 12 4.51984 12 4.09202 12.218C3.71569 12.4097 3.40973 12.7157 3.21799 13.092C3 13.5198 3 14.0799 3 15.2V17.8C3 18.9201 3 19.4802 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$11 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path class=copier d=\"M8 8V5.2C8 4.0799 8 3.51984 8.21799 3.09202C8.40973 2.71569 8.71569 2.40973 9.09202 2.21799C9.51984 2 10.0799 2 11.2 2H18.8C19.9201 2 20.4802 2 20.908 2.21799C21.2843 2.40973 21.5903 2.71569 21.782 3.09202C22 3.51984 22 4.0799 22 5.2V12.8C22 13.9201 22 14.4802 21.782 14.908C21.5903 15.2843 21.2843 15.5903 20.908 15.782C20.4802 16 19.9201 16 18.8 16H16M5.2 22H12.8C13.9201 22 14.4802 22 14.908 21.782C15.2843 21.5903 15.5903 21.2843 15.782 20.908C16 20.4802 16 19.9201 16 18.8V11.2C16 10.0799 16 9.51984 15.782 9.09202C15.5903 8.71569 15.2843 8.40973 14.908 8.21799C14.4802 8 13.9201 8 12.8 8H5.2C4.0799 8 3.51984 8 3.09202 8.21799C2.71569 8.40973 2.40973 8.71569 2.21799 9.09202C2 9.51984 2 10.0799 2 11.2V18.8C2 19.9201 2 20.4802 2.21799 20.908C2.40973 21.2843 2.71569 21.5903 3.09202 21.782C3.51984 22 4.07989 22 5.2 22Z\"stroke-width=2 stroke-linecap=round stroke-linejoin=round stroke=currentColor>`);\nvar _tmpl$12 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M2.5 21.4998L8.04927 19.3655C8.40421 19.229 8.58168 19.1607 8.74772 19.0716C8.8952 18.9924 9.0358 18.901 9.16804 18.7984C9.31692 18.6829 9.45137 18.5484 9.72028 18.2795L21 6.99982C22.1046 5.89525 22.1046 4.10438 21 2.99981C19.8955 1.89525 18.1046 1.89524 17 2.99981L5.72028 14.2795C5.45138 14.5484 5.31692 14.6829 5.20139 14.8318C5.09877 14.964 5.0074 15.1046 4.92823 15.2521C4.83911 15.4181 4.77085 15.5956 4.63433 15.9506L2.5 21.4998ZM2.5 21.4998L4.55812 16.1488C4.7054 15.7659 4.77903 15.5744 4.90534 15.4867C5.01572 15.4101 5.1523 15.3811 5.2843 15.4063C5.43533 15.4351 5.58038 15.5802 5.87048 15.8703L8.12957 18.1294C8.41967 18.4195 8.56472 18.5645 8.59356 18.7155C8.61877 18.8475 8.58979 18.9841 8.51314 19.0945C8.42545 19.2208 8.23399 19.2944 7.85107 19.4417L2.5 21.4998Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$13 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M7.5 12L10.5 15L16.5 9M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z\"stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$14 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M9 9L15 15M15 9L9 15M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z\"stroke=#F04438 stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$15 = /* @__PURE__ */ template(`<svg width=24 height=24 viewBox=\"0 0 24 24\"fill=none stroke=currentColor stroke-width=2 xmlns=http://www.w3.org/2000/svg><rect class=list width=20 height=20 y=2 x=2 rx=2></rect><line class=list-item y1=7 y2=7 x1=6 x2=18></line><line class=list-item y2=12 y1=12 x1=6 x2=18></line><line class=list-item y1=17 y2=17 x1=6 x2=18>`);\nvar _tmpl$16 = /* @__PURE__ */ template(`<svg viewBox=\"0 0 24 24\"height=20 width=20 fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8Z\"stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$17 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$18 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M12 2V6M12 18V22M6 12H2M22 12H18M19.0784 19.0784L16.25 16.25M19.0784 4.99994L16.25 7.82837M4.92157 19.0784L7.75 16.25M4.92157 4.99994L7.75 7.82837\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round></path><animateTransform attributeName=transform attributeType=XML type=rotate from=0 to=360 dur=2s repeatCount=indefinite>`);\nvar _tmpl$19 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M15 9L9 15M9 9L15 15M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$20 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox=\"0 0 24 24\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M9.5 15V9M14.5 15V9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\"stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$21 = /* @__PURE__ */ template(`<svg version=1.0 viewBox=\"0 0 633 633\"><linearGradient x1=-666.45 x2=-666.45 y1=163.28 y2=163.99 gradientTransform=\"matrix(633 0 0 633 422177 -103358)\"gradientUnits=userSpaceOnUse><stop stop-color=#6BDAFF offset=0></stop><stop stop-color=#F9FFB5 offset=.32></stop><stop stop-color=#FFA770 offset=.71></stop><stop stop-color=#FF7373 offset=1></stop></linearGradient><circle cx=316.5 cy=316.5 r=316.5></circle><defs><filter x=-137.5 y=412 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=-137.5 y=412 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=89.5 cy=610.5 rx=214.5 ry=186 fill=#015064 stroke=#00CFE2 stroke-width=25></ellipse></g><defs><filter x=316.5 y=412 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=316.5 y=412 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=543.5 cy=610.5 rx=214.5 ry=186 fill=#015064 stroke=#00CFE2 stroke-width=25></ellipse></g><defs><filter x=-137.5 y=450 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=-137.5 y=450 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=89.5 cy=648.5 rx=214.5 ry=186 fill=#015064 stroke=#00A8B8 stroke-width=25></ellipse></g><defs><filter x=316.5 y=450 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=316.5 y=450 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=543.5 cy=648.5 rx=214.5 ry=186 fill=#015064 stroke=#00A8B8 stroke-width=25></ellipse></g><defs><filter x=-137.5 y=486 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=-137.5 y=486 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=89.5 cy=684.5 rx=214.5 ry=186 fill=#015064 stroke=#007782 stroke-width=25></ellipse></g><defs><filter x=316.5 y=486 width=454 height=396.9 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=316.5 y=486 width=454 height=396.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><ellipse cx=543.5 cy=684.5 rx=214.5 ry=186 fill=#015064 stroke=#007782 stroke-width=25></ellipse></g><defs><filter x=272.2 y=308 width=176.9 height=129.3 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=272.2 y=308 width=176.9 height=129.3 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><line x1=436 x2=431 y1=403.2 y2=431.8 fill=none stroke=#000 stroke-linecap=round stroke-linejoin=bevel stroke-width=11></line><line x1=291 x2=280 y1=341.5 y2=403.5 fill=none stroke=#000 stroke-linecap=round stroke-linejoin=bevel stroke-width=11></line><line x1=332.9 x2=328.6 y1=384.1 y2=411.2 fill=none stroke=#000 stroke-linecap=round stroke-linejoin=bevel stroke-width=11></line><linearGradient x1=-670.75 x2=-671.59 y1=164.4 y2=164.49 gradientTransform=\"matrix(-184.16 -32.472 -11.461 64.997 -121359 -32126)\"gradientUnits=userSpaceOnUse><stop stop-color=#EE2700 offset=0></stop><stop stop-color=#FF008E offset=1></stop></linearGradient><path d=\"m344.1 363 97.7 17.2c5.8 2.1 8.2 6.1 7.1 12.1s-4.7 9.2-11 9.9l-106-18.7-57.5-59.2c-3.2-4.8-2.9-9.1 0.8-12.8s8.3-4.4 13.7-2.1l55.2 53.6z\"clip-rule=evenodd fill-rule=evenodd></path><line x1=428.2 x2=429.1 y1=384.5 y2=378 fill=none stroke=#fff stroke-linecap=round stroke-linejoin=bevel stroke-width=7></line><line x1=395.2 x2=396.1 y1=379.5 y2=373 fill=none stroke=#fff stroke-linecap=round stroke-linejoin=bevel stroke-width=7></line><line x1=362.2 x2=363.1 y1=373.5 y2=367.4 fill=none stroke=#fff stroke-linecap=round stroke-linejoin=bevel stroke-width=7></line><line x1=324.2 x2=328.4 y1=351.3 y2=347.4 fill=none stroke=#fff stroke-linecap=round stroke-linejoin=bevel stroke-width=7></line><line x1=303.2 x2=307.4 y1=331.3 y2=327.4 fill=none stroke=#fff stroke-linecap=round stroke-linejoin=bevel stroke-width=7></line></g><defs><filter x=73.2 y=113.8 width=280.6 height=317.4 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=73.2 y=113.8 width=280.6 height=317.4 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><linearGradient x1=-672.16 x2=-672.16 y1=165.03 y2=166.03 gradientTransform=\"matrix(-100.18 48.861 97.976 200.88 -83342 -93.059)\"gradientUnits=userSpaceOnUse><stop stop-color=#A17500 offset=0></stop><stop stop-color=#5D2100 offset=1></stop></linearGradient><path d=\"m192.3 203c8.1 37.3 14 73.6 17.8 109.1 3.8 35.4 2.8 75.1-3 119.2l61.2-16.7c-15.6-59-25.2-97.9-28.6-116.6s-10.8-51.9-22.1-99.6l-25.3 4.6\"clip-rule=evenodd fill-rule=evenodd></path><g stroke=#2F8A00><linearGradient x1=-660.23 x2=-660.23 y1=166.72 y2=167.72 gradientTransform=\"matrix(92.683 4.8573 -2.0259 38.657 61680 -3088.6)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m195 183.9s-12.6-22.1-36.5-29.9c-15.9-5.2-34.4-1.5-55.5 11.1 15.9 14.3 29.5 22.6 40.7 24.9 16.8 3.6 51.3-6.1 51.3-6.1z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><linearGradient x1=-661.36 x2=-661.36 y1=164.18 y2=165.18 gradientTransform=\"matrix(110 5.7648 -6.3599 121.35 73933 -15933)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m194.9 184.5s-47.5-8.5-83.2 15.7c-23.8 16.2-34.3 49.3-31.6 99.4 30.3-27.8 52.1-48.5 65.2-61.9 19.8-20.2 49.6-53.2 49.6-53.2z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><linearGradient x1=-656.79 x2=-656.79 y1=165.15 y2=166.15 gradientTransform=\"matrix(62.954 3.2993 -3.5023 66.828 42156 -8754.1)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m195 183.9c-0.8-21.9 6-38 20.6-48.2s29.8-15.4 45.5-15.3c-6.1 21.4-14.5 35.8-25.2 43.4s-24.4 14.2-40.9 20.1z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><linearGradient x1=-663.07 x2=-663.07 y1=165.44 y2=166.44 gradientTransform=\"matrix(152.47 7.9907 -3.0936 59.029 101884 -4318.7)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m194.9 184.5c31.9-30 64.1-39.7 96.7-29s50.8 30.4 54.6 59.1c-35.2-5.5-60.4-9.6-75.8-12.1-15.3-2.6-40.5-8.6-75.5-18z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><linearGradient x1=-662.57 x2=-662.57 y1=164.44 y2=165.44 gradientTransform=\"matrix(136.46 7.1517 -5.2163 99.533 91536 -11442)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m194.9 184.5c35.8-7.6 65.6-0.2 89.2 22s37.7 49 42.3 80.3c-39.8-9.7-68.3-23.8-85.5-42.4s-32.5-38.5-46-59.9z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><linearGradient x1=-656.43 x2=-656.43 y1=163.86 y2=164.86 gradientTransform=\"matrix(60.866 3.1899 -8.7773 167.48 41560 -25168)\"gradientUnits=userSpaceOnUse><stop stop-color=#2F8A00 offset=0></stop><stop stop-color=#90FF57 offset=1></stop></linearGradient><path d=\"m194.9 184.5c-33.6 13.8-53.6 35.7-60.1 65.6s-3.6 63.1 8.7 99.6c27.4-40.3 43.2-69.6 47.4-88s5.6-44.1 4-77.2z\"clip-rule=evenodd fill-rule=evenodd stroke-width=13></path><path d=\"m196.5 182.3c-14.8 21.6-25.1 41.4-30.8 59.4s-9.5 33-11.1 45.1\"fill=none stroke-linecap=round stroke-width=8></path><path d=\"m194.9 185.7c-24.4 1.7-43.8 9-58.1 21.8s-24.7 25.4-31.3 37.8\"fill=none stroke-linecap=round stroke-width=8></path><path d=\"m204.5 176.4c29.7-6.7 52-8.4 67-5.1s26.9 8.6 35.8 15.9\"fill=none stroke-linecap=round stroke-width=8></path><path d=\"m196.5 181.4c20.3 9.9 38.2 20.5 53.9 31.9s27.4 22.1 35.1 32\"fill=none stroke-linecap=round stroke-width=8></path></g></g><defs><filter x=50.5 y=399 width=532 height=633 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=50.5 y=399 width=532 height=633 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><linearGradient x1=-666.06 x2=-666.23 y1=163.36 y2=163.75 gradientTransform=\"matrix(532 0 0 633 354760 -102959)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFF400 offset=0></stop><stop stop-color=#3C8700 offset=1></stop></linearGradient><ellipse cx=316.5 cy=715.5 rx=266 ry=316.5></ellipse></g><defs><filter x=391 y=-24 width=288 height=283 filterUnits=userSpaceOnUse><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"></feColorMatrix></filter></defs><mask x=391 y=-24 width=288 height=283 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#fff></circle></g></mask><g><linearGradient x1=-664.56 x2=-664.56 y1=163.79 y2=164.79 gradientTransform=\"matrix(227 0 0 227 151421 -37204)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFDF00 offset=0></stop><stop stop-color=#FF9D00 offset=1></stop></linearGradient><circle cx=565.5 cy=89.5 r=113.5></circle><linearGradient x1=-644.5 x2=-645.77 y1=342 y2=342 gradientTransform=\"matrix(30 0 0 1 19770 -253)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=427 x2=397 y1=89 y2=89 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-641.56 x2=-642.83 y1=196.02 y2=196.07 gradientTransform=\"matrix(26.5 0 0 5.5 17439 -1025.5)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=430.5 x2=404 y1=55.5 y2=50 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-643.73 x2=-645 y1=185.83 y2=185.9 gradientTransform=\"matrix(29 0 0 8 19107 -1361)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=431 x2=402 y1=122 y2=130 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-638.94 x2=-640.22 y1=177.09 y2=177.39 gradientTransform=\"matrix(24 0 0 13 15783 -2145)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=442 x2=418 y1=153 y2=166 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-633.42 x2=-634.7 y1=172.41 y2=173.31 gradientTransform=\"matrix(20 0 0 19 13137 -3096)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=464 x2=444 y1=180 y2=199 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-619.05 x2=-619.52 y1=170.82 y2=171.82 gradientTransform=\"matrix(13.83 0 0 22.85 9050 -3703.4)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=491.4 x2=477.5 y1=203 y2=225.9 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=-578.5 x2=-578.63 y1=170.31 y2=171.31 gradientTransform=\"matrix(7.5 0 0 24.5 4860 -3953)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=524.5 x2=517 y1=219.5 y2=244 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12></line><linearGradient x1=666.5 x2=666.5 y1=170.31 y2=171.31 gradientTransform=\"matrix(.5 0 0 24.5 231.5 -3944)\"gradientUnits=userSpaceOnUse><stop stop-color=#FFA400 offset=0></stop><stop stop-color=#FF5E00 offset=1></stop></linearGradient><line x1=564.5 x2=565 y1=228.5 y2=253 fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12>`);\nfunction Search() {\n return _tmpl$2();\n}\nfunction Trash() {\n return _tmpl$22();\n}\nfunction ChevronDown() {\n return _tmpl$3();\n}\nfunction ArrowUp() {\n return _tmpl$4();\n}\nfunction ArrowDown() {\n return _tmpl$5();\n}\nfunction ArrowLeft() {\n return (() => {\n var _el$6 = _tmpl$5();\n _el$6.style.setProperty(\"transform\", \"rotate(90deg)\");\n return _el$6;\n })();\n}\nfunction ArrowRight() {\n return (() => {\n var _el$7 = _tmpl$5();\n _el$7.style.setProperty(\"transform\", \"rotate(-90deg)\");\n return _el$7;\n })();\n}\nfunction Sun() {\n return _tmpl$6();\n}\nfunction Moon() {\n return _tmpl$7();\n}\nfunction Monitor() {\n return _tmpl$8();\n}\nfunction Wifi() {\n return _tmpl$9();\n}\nfunction Offline() {\n return _tmpl$0();\n}\nfunction Settings() {\n return _tmpl$1();\n}\nfunction PiPIcon() {\n return _tmpl$10();\n}\nfunction Copier() {\n return _tmpl$11();\n}\nfunction Pencil() {\n return _tmpl$12();\n}\nfunction CopiedCopier(props) {\n return (() => {\n var _el$15 = _tmpl$13(), _el$16 = _el$15.firstChild;\n createRenderEffect(() => setAttribute(_el$16, \"stroke\", props.theme === \"dark\" ? \"#12B76A\" : \"#027A48\"));\n return _el$15;\n })();\n}\nfunction ErrorCopier() {\n return _tmpl$14();\n}\nfunction List() {\n return _tmpl$15();\n}\nfunction Check(props) {\n return [createComponent(Show, {\n get when() {\n return props.checked;\n },\n get children() {\n var _el$19 = _tmpl$13(), _el$20 = _el$19.firstChild;\n createRenderEffect(() => setAttribute(_el$20, \"stroke\", props.theme === \"dark\" ? \"#9B8AFB\" : \"#6938EF\"));\n return _el$19;\n }\n }), createComponent(Show, {\n get when() {\n return !props.checked;\n },\n get children() {\n var _el$21 = _tmpl$16(), _el$22 = _el$21.firstChild;\n createRenderEffect(() => setAttribute(_el$22, \"stroke\", props.theme === \"dark\" ? \"#9B8AFB\" : \"#6938EF\"));\n return _el$21;\n }\n })];\n}\nfunction CheckCircle() {\n return _tmpl$17();\n}\nfunction LoadingCircle() {\n return _tmpl$18();\n}\nfunction XCircle() {\n return _tmpl$19();\n}\nfunction PauseCircle() {\n return _tmpl$20();\n}\nfunction TanstackLogo() {\n const id = createUniqueId();\n return (() => {\n var _el$27 = _tmpl$21(), _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling, _el$30 = _el$29.nextSibling, _el$31 = _el$30.firstChild, _el$32 = _el$30.nextSibling, _el$33 = _el$32.firstChild, _el$34 = _el$32.nextSibling, _el$35 = _el$34.nextSibling, _el$36 = _el$35.firstChild, _el$37 = _el$35.nextSibling, _el$38 = _el$37.firstChild, _el$39 = _el$37.nextSibling, _el$40 = _el$39.nextSibling, _el$41 = _el$40.firstChild, _el$42 = _el$40.nextSibling, _el$43 = _el$42.firstChild, _el$44 = _el$42.nextSibling, _el$45 = _el$44.nextSibling, _el$46 = _el$45.firstChild, _el$47 = _el$45.nextSibling, _el$48 = _el$47.firstChild, _el$49 = _el$47.nextSibling, _el$50 = _el$49.nextSibling, _el$51 = _el$50.firstChild, _el$52 = _el$50.nextSibling, _el$53 = _el$52.firstChild, _el$54 = _el$52.nextSibling, _el$55 = _el$54.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$55.nextSibling, _el$58 = _el$57.firstChild, _el$59 = _el$57.nextSibling, _el$60 = _el$59.nextSibling, _el$61 = _el$60.firstChild, _el$62 = _el$60.nextSibling, _el$63 = _el$62.firstChild, _el$64 = _el$62.nextSibling, _el$65 = _el$64.firstChild, _el$66 = _el$65.nextSibling, _el$67 = _el$66.nextSibling, _el$68 = _el$67.nextSibling, _el$69 = _el$68.nextSibling, _el$70 = _el$64.nextSibling, _el$71 = _el$70.firstChild, _el$72 = _el$70.nextSibling, _el$73 = _el$72.firstChild, _el$74 = _el$72.nextSibling, _el$75 = _el$74.firstChild, _el$76 = _el$75.nextSibling, _el$77 = _el$76.nextSibling, _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling, _el$80 = _el$79.nextSibling, _el$81 = _el$80.nextSibling, _el$82 = _el$81.nextSibling, _el$83 = _el$82.nextSibling, _el$84 = _el$83.nextSibling, _el$85 = _el$84.nextSibling, _el$86 = _el$85.nextSibling, _el$87 = _el$86.nextSibling, _el$88 = _el$87.nextSibling, _el$89 = _el$88.nextSibling, _el$90 = _el$74.nextSibling, _el$91 = _el$90.firstChild, _el$92 = _el$90.nextSibling, _el$93 = _el$92.firstChild, _el$94 = _el$92.nextSibling, _el$95 = _el$94.firstChild, _el$96 = _el$95.nextSibling, _el$97 = _el$94.nextSibling, _el$98 = _el$97.firstChild, _el$99 = _el$97.nextSibling, _el$100 = _el$99.firstChild, _el$101 = _el$99.nextSibling, _el$102 = _el$101.firstChild, _el$103 = _el$102.nextSibling, _el$104 = _el$103.nextSibling, _el$105 = _el$104.nextSibling, _el$106 = _el$105.nextSibling, _el$107 = _el$106.nextSibling, _el$108 = _el$107.nextSibling, _el$109 = _el$108.nextSibling, _el$110 = _el$109.nextSibling, _el$111 = _el$110.nextSibling, _el$112 = _el$111.nextSibling, _el$113 = _el$112.nextSibling, _el$114 = _el$113.nextSibling, _el$115 = _el$114.nextSibling, _el$116 = _el$115.nextSibling, _el$117 = _el$116.nextSibling, _el$118 = _el$117.nextSibling, _el$119 = _el$118.nextSibling;\n setAttribute(_el$28, \"id\", `a-${id}`);\n setAttribute(_el$29, \"fill\", `url(#a-${id})`);\n setAttribute(_el$31, \"id\", `am-${id}`);\n setAttribute(_el$32, \"id\", `b-${id}`);\n setAttribute(_el$33, \"filter\", `url(#am-${id})`);\n setAttribute(_el$34, \"mask\", `url(#b-${id})`);\n setAttribute(_el$36, \"id\", `ah-${id}`);\n setAttribute(_el$37, \"id\", `k-${id}`);\n setAttribute(_el$38, \"filter\", `url(#ah-${id})`);\n setAttribute(_el$39, \"mask\", `url(#k-${id})`);\n setAttribute(_el$41, \"id\", `ae-${id}`);\n setAttribute(_el$42, \"id\", `j-${id}`);\n setAttribute(_el$43, \"filter\", `url(#ae-${id})`);\n setAttribute(_el$44, \"mask\", `url(#j-${id})`);\n setAttribute(_el$46, \"id\", `ai-${id}`);\n setAttribute(_el$47, \"id\", `i-${id}`);\n setAttribute(_el$48, \"filter\", `url(#ai-${id})`);\n setAttribute(_el$49, \"mask\", `url(#i-${id})`);\n setAttribute(_el$51, \"id\", `aj-${id}`);\n setAttribute(_el$52, \"id\", `h-${id}`);\n setAttribute(_el$53, \"filter\", `url(#aj-${id})`);\n setAttribute(_el$54, \"mask\", `url(#h-${id})`);\n setAttribute(_el$56, \"id\", `ag-${id}`);\n setAttribute(_el$57, \"id\", `g-${id}`);\n setAttribute(_el$58, \"filter\", `url(#ag-${id})`);\n setAttribute(_el$59, \"mask\", `url(#g-${id})`);\n setAttribute(_el$61, \"id\", `af-${id}`);\n setAttribute(_el$62, \"id\", `f-${id}`);\n setAttribute(_el$63, \"filter\", `url(#af-${id})`);\n setAttribute(_el$64, \"mask\", `url(#f-${id})`);\n setAttribute(_el$68, \"id\", `m-${id}`);\n setAttribute(_el$69, \"fill\", `url(#m-${id})`);\n setAttribute(_el$71, \"id\", `ak-${id}`);\n setAttribute(_el$72, \"id\", `e-${id}`);\n setAttribute(_el$73, \"filter\", `url(#ak-${id})`);\n setAttribute(_el$74, \"mask\", `url(#e-${id})`);\n setAttribute(_el$75, \"id\", `n-${id}`);\n setAttribute(_el$76, \"fill\", `url(#n-${id})`);\n setAttribute(_el$78, \"id\", `r-${id}`);\n setAttribute(_el$79, \"fill\", `url(#r-${id})`);\n setAttribute(_el$80, \"id\", `s-${id}`);\n setAttribute(_el$81, \"fill\", `url(#s-${id})`);\n setAttribute(_el$82, \"id\", `q-${id}`);\n setAttribute(_el$83, \"fill\", `url(#q-${id})`);\n setAttribute(_el$84, \"id\", `p-${id}`);\n setAttribute(_el$85, \"fill\", `url(#p-${id})`);\n setAttribute(_el$86, \"id\", `o-${id}`);\n setAttribute(_el$87, \"fill\", `url(#o-${id})`);\n setAttribute(_el$88, \"id\", `l-${id}`);\n setAttribute(_el$89, \"fill\", `url(#l-${id})`);\n setAttribute(_el$91, \"id\", `al-${id}`);\n setAttribute(_el$92, \"id\", `d-${id}`);\n setAttribute(_el$93, \"filter\", `url(#al-${id})`);\n setAttribute(_el$94, \"mask\", `url(#d-${id})`);\n setAttribute(_el$95, \"id\", `u-${id}`);\n setAttribute(_el$96, \"fill\", `url(#u-${id})`);\n setAttribute(_el$98, \"id\", `ad-${id}`);\n setAttribute(_el$99, \"id\", `c-${id}`);\n setAttribute(_el$100, \"filter\", `url(#ad-${id})`);\n setAttribute(_el$101, \"mask\", `url(#c-${id})`);\n setAttribute(_el$102, \"id\", `t-${id}`);\n setAttribute(_el$103, \"fill\", `url(#t-${id})`);\n setAttribute(_el$104, \"id\", `v-${id}`);\n setAttribute(_el$105, \"stroke\", `url(#v-${id})`);\n setAttribute(_el$106, \"id\", `aa-${id}`);\n setAttribute(_el$107, \"stroke\", `url(#aa-${id})`);\n setAttribute(_el$108, \"id\", `w-${id}`);\n setAttribute(_el$109, \"stroke\", `url(#w-${id})`);\n setAttribute(_el$110, \"id\", `ac-${id}`);\n setAttribute(_el$111, \"stroke\", `url(#ac-${id})`);\n setAttribute(_el$112, \"id\", `ab-${id}`);\n setAttribute(_el$113, \"stroke\", `url(#ab-${id})`);\n setAttribute(_el$114, \"id\", `y-${id}`);\n setAttribute(_el$115, \"stroke\", `url(#y-${id})`);\n setAttribute(_el$116, \"id\", `x-${id}`);\n setAttribute(_el$117, \"stroke\", `url(#x-${id})`);\n setAttribute(_el$118, \"id\", `z-${id}`);\n setAttribute(_el$119, \"stroke\", `url(#z-${id})`);\n return _el$27;\n })();\n}\n\n// src/Explorer.tsx\nvar _tmpl$23 = /* @__PURE__ */ template(`<span><svg width=16 height=16 viewBox=\"0 0 16 16\"fill=none xmlns=http://www.w3.org/2000/svg><path d=\"M6 12L10 8L6 4\"stroke-width=2 stroke-linecap=round stroke-linejoin=round>`);\nvar _tmpl$24 = /* @__PURE__ */ template(`<button title=\"Copy object to clipboard\">`);\nvar _tmpl$32 = /* @__PURE__ */ template(`<button title=\"Remove all items\"aria-label=\"Remove all items\">`);\nvar _tmpl$42 = /* @__PURE__ */ template(`<button title=\"Delete item\"aria-label=\"Delete item\">`);\nvar _tmpl$52 = /* @__PURE__ */ template(`<button title=\"Toggle value\"aria-label=\"Toggle value\">`);\nvar _tmpl$62 = /* @__PURE__ */ template(`<button title=\"Bulk Edit Data\"aria-label=\"Bulk Edit Data\">`);\nvar _tmpl$72 = /* @__PURE__ */ template(`<div>`);\nvar _tmpl$82 = /* @__PURE__ */ template(`<div><button> <span></span> <span> `);\nvar _tmpl$92 = /* @__PURE__ */ template(`<input>`);\nvar _tmpl$02 = /* @__PURE__ */ template(`<span>`);\nvar _tmpl$110 = /* @__PURE__ */ template(`<div><span>:`);\nvar _tmpl$102 = /* @__PURE__ */ template(`<div><div><button> [<!>...<!>]`);\nfunction chunkArray(array, size3) {\n let i2 = 0;\n const result = [];\n while (i2 < array.length) {\n result.push(array.slice(i2, i2 + size3));\n i2 = i2 + size3;\n }\n return result;\n}\nvar Expander = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n return (() => {\n var _el$ = _tmpl$23();\n createRenderEffect(() => className(_el$, clsx(styles().expander, css`\n transform: rotate(${props.expanded ? 90 : 0}deg);\n `, props.expanded && css`\n & svg {\n top: -1px;\n }\n `)));\n return _el$;\n })();\n};\nvar CopyButton = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n const [copyState, setCopyState] = createSignal(\"NoCopy\");\n return (() => {\n var _el$2 = _tmpl$24();\n addEventListener(_el$2, \"click\", copyState() === \"NoCopy\" ? () => {\n navigator.clipboard.writeText(stringify(props.value)).then(() => {\n setCopyState(\"SuccessCopy\");\n setTimeout(() => {\n setCopyState(\"NoCopy\");\n }, 1500);\n }, (err) => {\n setCopyState(\"ErrorCopy\");\n setTimeout(() => {\n setCopyState(\"NoCopy\");\n }, 1500);\n });\n } : void 0, true);\n insert(_el$2, createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return copyState() === \"NoCopy\";\n },\n get children() {\n return createComponent(Copier, {});\n }\n }), createComponent(Match, {\n get when() {\n return copyState() === \"SuccessCopy\";\n },\n get children() {\n return createComponent(CopiedCopier, {\n get theme() {\n return theme();\n }\n });\n }\n }), createComponent(Match, {\n get when() {\n return copyState() === \"ErrorCopy\";\n },\n get children() {\n return createComponent(ErrorCopier, {});\n }\n })];\n }\n }));\n createRenderEffect((_p$) => {\n var _v$ = styles().actionButton, _v$2 = `${copyState() === \"NoCopy\" ? \"Copy object to clipboard\" : copyState() === \"SuccessCopy\" ? \"Object copied to clipboard\" : \"Error copying object to clipboard\"}`;\n _v$ !== _p$.e && className(_el$2, _p$.e = _v$);\n _v$2 !== _p$.t && setAttribute(_el$2, \"aria-label\", _p$.t = _v$2);\n return _p$;\n }, {\n e: void 0,\n t: void 0\n });\n return _el$2;\n })();\n};\nvar ClearArrayButton = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n const queryClient = useQueryDevtoolsContext().client;\n return (() => {\n var _el$3 = _tmpl$32();\n _el$3.$$click = () => {\n const oldData = props.activeQuery.state.data;\n const newData = updateNestedDataByPath(oldData, props.dataPath, []);\n queryClient.setQueryData(props.activeQuery.queryKey, newData);\n };\n insert(_el$3, createComponent(List, {}));\n createRenderEffect(() => className(_el$3, styles().actionButton));\n return _el$3;\n })();\n};\nvar DeleteItemButton = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n const queryClient = useQueryDevtoolsContext().client;\n return (() => {\n var _el$4 = _tmpl$42();\n _el$4.$$click = () => {\n const oldData = props.activeQuery.state.data;\n const newData = deleteNestedDataByPath(oldData, props.dataPath);\n queryClient.setQueryData(props.activeQuery.queryKey, newData);\n };\n insert(_el$4, createComponent(Trash, {}));\n createRenderEffect(() => className(_el$4, clsx(styles().actionButton)));\n return _el$4;\n })();\n};\nvar ToggleValueButton = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n const queryClient = useQueryDevtoolsContext().client;\n return (() => {\n var _el$5 = _tmpl$52();\n _el$5.$$click = () => {\n const oldData = props.activeQuery.state.data;\n const newData = updateNestedDataByPath(oldData, props.dataPath, !props.value);\n queryClient.setQueryData(props.activeQuery.queryKey, newData);\n };\n insert(_el$5, createComponent(Check, {\n get theme() {\n return theme();\n },\n get checked() {\n return props.value;\n }\n }));\n createRenderEffect(() => className(_el$5, clsx(styles().actionButton, css`\n width: ${tokens.size[3.5]};\n height: ${tokens.size[3.5]};\n `)));\n return _el$5;\n })();\n};\nfunction isIterable(x) {\n return Symbol.iterator in x;\n}\nfunction Explorer(props) {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles(css) : lightStyles(css);\n });\n const queryClient = useQueryDevtoolsContext().client;\n const [expanded, setExpanded] = createSignal((props.defaultExpanded || []).includes(props.label));\n const toggleExpanded = () => setExpanded((old) => !old);\n const [expandedPages, setExpandedPages] = createSignal([]);\n const subEntries = createMemo(() => {\n if (Array.isArray(props.value)) {\n return props.value.map((d, i2) => ({\n label: i2.toString(),\n value: d\n }));\n } else if (props.value !== null && typeof props.value === \"object\" && isIterable(props.value) && typeof props.value[Symbol.iterator] === \"function\") {\n if (props.value instanceof Map) {\n return Array.from(props.value, ([key, val]) => ({\n label: key,\n value: val\n }));\n }\n return Array.from(props.value, (val, i2) => ({\n label: i2.toString(),\n value: val\n }));\n } else if (typeof props.value === \"object\" && props.value !== null) {\n return Object.entries(props.value).map(([key, val]) => ({\n label: key,\n value: val\n }));\n }\n return [];\n });\n const type = createMemo(() => {\n if (Array.isArray(props.value)) {\n return \"array\";\n } else if (props.value !== null && typeof props.value === \"object\" && isIterable(props.value) && typeof props.value[Symbol.iterator] === \"function\") {\n return \"Iterable\";\n } else if (typeof props.value === \"object\" && props.value !== null) {\n return \"object\";\n }\n return typeof props.value;\n });\n const subEntryPages = createMemo(() => chunkArray(subEntries(), 100));\n const currentDataPath = props.dataPath ?? [];\n return (() => {\n var _el$6 = _tmpl$72();\n insert(_el$6, createComponent(Show, {\n get when() {\n return subEntryPages().length;\n },\n get children() {\n return [(() => {\n var _el$7 = _tmpl$82(), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.nextSibling, _el$11 = _el$10.firstChild;\n _el$8.$$click = () => toggleExpanded();\n insert(_el$8, createComponent(Expander, {\n get expanded() {\n return expanded();\n }\n }), _el$9);\n insert(_el$0, () => props.label);\n insert(_el$10, () => String(type()).toLowerCase() === \"iterable\" ? \"(Iterable) \" : \"\", _el$11);\n insert(_el$10, () => subEntries().length, _el$11);\n insert(_el$10, () => subEntries().length > 1 ? `items` : `item`, null);\n insert(_el$7, createComponent(Show, {\n get when() {\n return props.editable;\n },\n get children() {\n var _el$12 = _tmpl$72();\n insert(_el$12, createComponent(CopyButton, {\n get value() {\n return props.value;\n }\n }), null);\n insert(_el$12, createComponent(Show, {\n get when() {\n return props.itemsDeletable && props.activeQuery !== void 0;\n },\n get children() {\n return createComponent(DeleteItemButton, {\n get activeQuery() {\n return props.activeQuery;\n },\n dataPath: currentDataPath\n });\n }\n }), null);\n insert(_el$12, createComponent(Show, {\n get when() {\n return type() === \"array\" && props.activeQuery !== void 0;\n },\n get children() {\n return createComponent(ClearArrayButton, {\n get activeQuery() {\n return props.activeQuery;\n },\n dataPath: currentDataPath\n });\n }\n }), null);\n insert(_el$12, createComponent(Show, {\n get when() {\n return memo(() => !!!!props.onEdit)() && !serialize(props.value).meta;\n },\n get children() {\n var _el$13 = _tmpl$62();\n _el$13.$$click = () => {\n props.onEdit?.();\n };\n insert(_el$13, createComponent(Pencil, {}));\n createRenderEffect(() => className(_el$13, styles().actionButton));\n return _el$13;\n }\n }), null);\n createRenderEffect(() => className(_el$12, styles().actions));\n return _el$12;\n }\n }), null);\n createRenderEffect((_p$) => {\n var _v$3 = styles().expanderButtonContainer, _v$4 = styles().expanderButton, _v$5 = styles().info;\n _v$3 !== _p$.e && className(_el$7, _p$.e = _v$3);\n _v$4 !== _p$.t && className(_el$8, _p$.t = _v$4);\n _v$5 !== _p$.a && className(_el$10, _p$.a = _v$5);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n });\n return _el$7;\n })(), createComponent(Show, {\n get when() {\n return expanded();\n },\n get children() {\n return [createComponent(Show, {\n get when() {\n return subEntryPages().length === 1;\n },\n get children() {\n var _el$14 = _tmpl$72();\n insert(_el$14, createComponent(Key, {\n get each() {\n return subEntries();\n },\n by: (item) => item.label,\n children: (entry) => {\n return createComponent(Explorer, {\n get defaultExpanded() {\n return props.defaultExpanded;\n },\n get label() {\n return entry().label;\n },\n get value() {\n return entry().value;\n },\n get editable() {\n return props.editable;\n },\n get dataPath() {\n return [...currentDataPath, entry().label];\n },\n get activeQuery() {\n return props.activeQuery;\n },\n get itemsDeletable() {\n return type() === \"array\" || type() === \"Iterable\" || type() === \"object\";\n }\n });\n }\n }));\n createRenderEffect(() => className(_el$14, styles().subEntry));\n return _el$14;\n }\n }), createComponent(Show, {\n get when() {\n return subEntryPages().length > 1;\n },\n get children() {\n var _el$15 = _tmpl$72();\n insert(_el$15, createComponent(Index, {\n get each() {\n return subEntryPages();\n },\n children: (entries2, index) => (() => {\n var _el$21 = _tmpl$102(), _el$22 = _el$21.firstChild, _el$23 = _el$22.firstChild, _el$24 = _el$23.firstChild, _el$28 = _el$24.nextSibling, _el$26 = _el$28.nextSibling, _el$29 = _el$26.nextSibling; _el$29.nextSibling;\n _el$23.$$click = () => setExpandedPages((old) => old.includes(index) ? old.filter((d) => d !== index) : [...old, index]);\n insert(_el$23, createComponent(Expander, {\n get expanded() {\n return expandedPages().includes(index);\n }\n }), _el$24);\n insert(_el$23, index * 100, _el$28);\n insert(_el$23, index * 100 + 100 - 1, _el$29);\n insert(_el$22, createComponent(Show, {\n get when() {\n return expandedPages().includes(index);\n },\n get children() {\n var _el$30 = _tmpl$72();\n insert(_el$30, createComponent(Key, {\n get each() {\n return entries2();\n },\n by: (entry) => entry.label,\n children: (entry) => createComponent(Explorer, {\n get defaultExpanded() {\n return props.defaultExpanded;\n },\n get label() {\n return entry().label;\n },\n get value() {\n return entry().value;\n },\n get editable() {\n return props.editable;\n },\n get dataPath() {\n return [...currentDataPath, entry().label];\n },\n get activeQuery() {\n return props.activeQuery;\n }\n })\n }));\n createRenderEffect(() => className(_el$30, styles().subEntry));\n return _el$30;\n }\n }), null);\n createRenderEffect((_p$) => {\n var _v$0 = styles().entry, _v$1 = styles().expanderButton;\n _v$0 !== _p$.e && className(_el$22, _p$.e = _v$0);\n _v$1 !== _p$.t && className(_el$23, _p$.t = _v$1);\n return _p$;\n }, {\n e: void 0,\n t: void 0\n });\n return _el$21;\n })()\n }));\n createRenderEffect(() => className(_el$15, styles().subEntry));\n return _el$15;\n }\n })];\n }\n })];\n }\n }), null);\n insert(_el$6, createComponent(Show, {\n get when() {\n return subEntryPages().length === 0;\n },\n get children() {\n var _el$16 = _tmpl$110(), _el$17 = _el$16.firstChild, _el$18 = _el$17.firstChild;\n insert(_el$17, () => props.label, _el$18);\n insert(_el$16, createComponent(Show, {\n get when() {\n return memo(() => !!(props.editable && props.activeQuery !== void 0))() && (type() === \"string\" || type() === \"number\" || type() === \"boolean\");\n },\n get fallback() {\n return (() => {\n var _el$31 = _tmpl$02();\n insert(_el$31, () => displayValue(props.value));\n createRenderEffect(() => className(_el$31, styles().value));\n return _el$31;\n })();\n },\n get children() {\n return [createComponent(Show, {\n get when() {\n return memo(() => !!(props.editable && props.activeQuery !== void 0))() && (type() === \"string\" || type() === \"number\");\n },\n get children() {\n var _el$19 = _tmpl$92();\n _el$19.addEventListener(\"change\", (changeEvent) => {\n const oldData = props.activeQuery.state.data;\n const newData = updateNestedDataByPath(oldData, currentDataPath, type() === \"number\" ? changeEvent.target.valueAsNumber : changeEvent.target.value);\n queryClient.setQueryData(props.activeQuery.queryKey, newData);\n });\n createRenderEffect((_p$) => {\n var _v$6 = type() === \"number\" ? \"number\" : \"text\", _v$7 = clsx(styles().value, styles().editableInput);\n _v$6 !== _p$.e && setAttribute(_el$19, \"type\", _p$.e = _v$6);\n _v$7 !== _p$.t && className(_el$19, _p$.t = _v$7);\n return _p$;\n }, {\n e: void 0,\n t: void 0\n });\n createRenderEffect(() => _el$19.value = props.value);\n return _el$19;\n }\n }), createComponent(Show, {\n get when() {\n return type() === \"boolean\";\n },\n get children() {\n var _el$20 = _tmpl$02();\n insert(_el$20, createComponent(ToggleValueButton, {\n get activeQuery() {\n return props.activeQuery;\n },\n dataPath: currentDataPath,\n get value() {\n return props.value;\n }\n }), null);\n insert(_el$20, () => displayValue(props.value), null);\n createRenderEffect(() => className(_el$20, clsx(styles().value, styles().actions, styles().editableInput)));\n return _el$20;\n }\n })];\n }\n }), null);\n insert(_el$16, createComponent(Show, {\n get when() {\n return props.editable && props.itemsDeletable && props.activeQuery !== void 0;\n },\n get children() {\n return createComponent(DeleteItemButton, {\n get activeQuery() {\n return props.activeQuery;\n },\n dataPath: currentDataPath\n });\n }\n }), null);\n createRenderEffect((_p$) => {\n var _v$8 = styles().row, _v$9 = styles().label;\n _v$8 !== _p$.e && className(_el$16, _p$.e = _v$8);\n _v$9 !== _p$.t && className(_el$17, _p$.t = _v$9);\n return _p$;\n }, {\n e: void 0,\n t: void 0\n });\n return _el$16;\n }\n }), null);\n createRenderEffect(() => className(_el$6, styles().entry));\n return _el$6;\n })();\n}\nvar stylesFactory = (theme, css) => {\n const {\n colors,\n font,\n size: size3,\n border\n } = tokens;\n const t2 = (light, dark) => theme === \"light\" ? light : dark;\n return {\n entry: css`\n & * {\n font-size: ${font.size.xs};\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n }\n position: relative;\n outline: none;\n word-break: break-word;\n `,\n subEntry: css`\n margin: 0 0 0 0.5em;\n padding-left: 0.75em;\n border-left: 2px solid ${t2(colors.gray[300], colors.darkGray[400])};\n /* outline: 1px solid ${colors.teal[400]}; */\n `,\n expander: css`\n & path {\n stroke: ${colors.gray[400]};\n }\n & svg {\n width: ${size3[3]};\n height: ${size3[3]};\n }\n display: inline-flex;\n align-items: center;\n transition: all 0.1s ease;\n /* outline: 1px solid ${colors.blue[400]}; */\n `,\n expanderButtonContainer: css`\n display: flex;\n align-items: center;\n line-height: ${size3[4]};\n min-height: ${size3[4]};\n gap: ${size3[2]};\n `,\n expanderButton: css`\n cursor: pointer;\n color: inherit;\n font: inherit;\n outline: inherit;\n height: ${size3[5]};\n background: transparent;\n border: none;\n padding: 0;\n display: inline-flex;\n align-items: center;\n gap: ${size3[1]};\n position: relative;\n /* outline: 1px solid ${colors.green[400]}; */\n\n &:focus-visible {\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n\n & svg {\n position: relative;\n left: 1px;\n }\n `,\n info: css`\n color: ${t2(colors.gray[500], colors.gray[500])};\n font-size: ${font.size.xs};\n margin-left: ${size3[1]};\n /* outline: 1px solid ${colors.yellow[400]}; */\n `,\n label: css`\n color: ${t2(colors.gray[700], colors.gray[300])};\n white-space: nowrap;\n `,\n value: css`\n color: ${t2(colors.purple[600], colors.purple[400])};\n flex-grow: 1;\n `,\n actions: css`\n display: inline-flex;\n gap: ${size3[2]};\n align-items: center;\n `,\n row: css`\n display: inline-flex;\n gap: ${size3[2]};\n width: 100%;\n margin: ${size3[0.25]} 0px;\n line-height: ${size3[4.5]};\n align-items: center;\n `,\n editableInput: css`\n border: none;\n padding: ${size3[0.5]} ${size3[1]} ${size3[0.5]} ${size3[1.5]};\n flex-grow: 1;\n border-radius: ${border.radius.xs};\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n\n &:hover {\n background-color: ${t2(colors.gray[300], colors.darkGray[600])};\n }\n `,\n actionButton: css`\n background-color: transparent;\n color: ${t2(colors.gray[500], colors.gray[500])};\n border: none;\n display: inline-flex;\n padding: 0px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: ${size3[3]};\n height: ${size3[3]};\n position: relative;\n z-index: 1;\n\n &:hover svg {\n color: ${t2(colors.gray[600], colors.gray[400])};\n }\n\n &:focus-visible {\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n outline-offset: 2px;\n }\n `\n };\n};\nvar lightStyles = (css) => stylesFactory(\"light\", css);\nvar darkStyles = (css) => stylesFactory(\"dark\", css);\ndelegateEvents([\"click\"]);\n\n// src/Devtools.tsx\nvar _tmpl$25 = /* @__PURE__ */ template(`<div><div aria-hidden=true></div><button type=button aria-label=\"Open Tanstack query devtools\"class=tsqd-open-btn>`);\nvar _tmpl$26 = /* @__PURE__ */ template(`<div>`);\nvar _tmpl$33 = /* @__PURE__ */ template(`<aside aria-label=\"Tanstack query devtools\"><div></div><button aria-label=\"Close tanstack query devtools\">`);\nvar _tmpl$43 = /* @__PURE__ */ template(`<select name=tsqd-queries-filter-sort>`);\nvar _tmpl$53 = /* @__PURE__ */ template(`<select name=tsqd-mutations-filter-sort>`);\nvar _tmpl$63 = /* @__PURE__ */ template(`<span>Asc`);\nvar _tmpl$73 = /* @__PURE__ */ template(`<span>Desc`);\nvar _tmpl$83 = /* @__PURE__ */ template(`<button aria-label=\"Open in picture-in-picture mode\"title=\"Open in picture-in-picture mode\">`);\nvar _tmpl$93 = /* @__PURE__ */ template(`<div>Settings`);\nvar _tmpl$03 = /* @__PURE__ */ template(`<span>Position`);\nvar _tmpl$111 = /* @__PURE__ */ template(`<span>Top`);\nvar _tmpl$103 = /* @__PURE__ */ template(`<span>Bottom`);\nvar _tmpl$112 = /* @__PURE__ */ template(`<span>Left`);\nvar _tmpl$122 = /* @__PURE__ */ template(`<span>Right`);\nvar _tmpl$132 = /* @__PURE__ */ template(`<span>Theme`);\nvar _tmpl$142 = /* @__PURE__ */ template(`<span>Light`);\nvar _tmpl$152 = /* @__PURE__ */ template(`<span>Dark`);\nvar _tmpl$162 = /* @__PURE__ */ template(`<span>System`);\nvar _tmpl$172 = /* @__PURE__ */ template(`<span>Disabled Queries`);\nvar _tmpl$182 = /* @__PURE__ */ template(`<span>Show`);\nvar _tmpl$192 = /* @__PURE__ */ template(`<span>Hide`);\nvar _tmpl$202 = /* @__PURE__ */ template(`<div><div class=tsqd-queries-container>`);\nvar _tmpl$212 = /* @__PURE__ */ template(`<div><div class=tsqd-mutations-container>`);\nvar _tmpl$222 = /* @__PURE__ */ template(`<div><div><div><button aria-label=\"Close Tanstack query devtools\"><span>TANSTACK</span><span> v</span></button></div></div><div><div><div><input aria-label=\"Filter queries by query key\"type=text placeholder=Filter name=tsqd-query-filter-input></div><div></div><button class=tsqd-query-filter-sort-order-btn></button></div><div><button aria-label=\"Clear query cache\"></button><button>`);\nvar _tmpl$232 = /* @__PURE__ */ template(`<option>Sort by `);\nvar _tmpl$242 = /* @__PURE__ */ template(`<div class=tsqd-query-disabled-indicator>disabled`);\nvar _tmpl$252 = /* @__PURE__ */ template(`<div class=tsqd-query-static-indicator>static`);\nvar _tmpl$262 = /* @__PURE__ */ template(`<button><div></div><code class=tsqd-query-hash>`);\nvar _tmpl$27 = /* @__PURE__ */ template(`<div role=tooltip id=tsqd-status-tooltip>`);\nvar _tmpl$28 = /* @__PURE__ */ template(`<span>`);\nvar _tmpl$29 = /* @__PURE__ */ template(`<button><span></span><span>`);\nvar _tmpl$30 = /* @__PURE__ */ template(`<button><span></span> Error`);\nvar _tmpl$31 = /* @__PURE__ */ template(`<div><span></span>Trigger Error<select><option value=\"\"disabled selected>`);\nvar _tmpl$322 = /* @__PURE__ */ template(`<div class=\"tsqd-query-details-explorer-container tsqd-query-details-data-explorer\">`);\nvar _tmpl$332 = /* @__PURE__ */ template(`<form><textarea name=data></textarea><div><span></span><div><button type=button>Cancel</button><button>Save`);\nvar _tmpl$34 = /* @__PURE__ */ template(`<div><div>Query Details</div><div><div class=tsqd-query-details-summary><pre><code></code></pre><span></span></div><div class=tsqd-query-details-observers-count><span>Observers:</span><span></span></div><div class=tsqd-query-details-last-updated><span>Last Updated:</span><span></span></div></div><div>Actions</div><div><button><span></span>Refetch</button><button><span></span>Invalidate</button><button><span></span>Reset</button><button><span></span>Remove</button><button><span></span> Loading</button></div><div>Data </div><div>Query Explorer</div><div class=\"tsqd-query-details-explorer-container tsqd-query-details-query-explorer\">`);\nvar _tmpl$35 = /* @__PURE__ */ template(`<option>`);\nvar _tmpl$36 = /* @__PURE__ */ template(`<div><div>Mutation Details</div><div><div class=tsqd-query-details-summary><pre><code></code></pre><span></span></div><div class=tsqd-query-details-last-updated><span>Submitted At:</span><span></span></div></div><div>Variables Details</div><div class=\"tsqd-query-details-explorer-container tsqd-query-details-query-explorer\"></div><div>Context Details</div><div class=\"tsqd-query-details-explorer-container tsqd-query-details-query-explorer\"></div><div>Data Explorer</div><div class=\"tsqd-query-details-explorer-container tsqd-query-details-query-explorer\"></div><div>Mutations Explorer</div><div class=\"tsqd-query-details-explorer-container tsqd-query-details-query-explorer\">`);\nvar [selectedQueryHash, setSelectedQueryHash] = createSignal(null);\nvar [selectedMutationId, setSelectedMutationId] = createSignal(null);\nvar [panelWidth, setPanelWidth] = createSignal(0);\nvar [offline, setOffline] = createSignal(false);\nvar Devtools = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const onlineManager = createMemo(() => useQueryDevtoolsContext().onlineManager);\n onMount(() => {\n const unsubscribe = onlineManager().subscribe((online) => {\n setOffline(!online);\n });\n onCleanup(() => {\n unsubscribe();\n });\n });\n const pip = usePiPWindow();\n const buttonPosition = createMemo(() => {\n return useQueryDevtoolsContext().buttonPosition || BUTTON_POSITION;\n });\n const isOpen = createMemo(() => {\n return props.localStore.open === \"true\" ? true : props.localStore.open === \"false\" ? false : useQueryDevtoolsContext().initialIsOpen || INITIAL_IS_OPEN;\n });\n const position = createMemo(() => {\n return props.localStore.position || useQueryDevtoolsContext().position || POSITION;\n });\n let transitionsContainerRef;\n createEffect(() => {\n const root = transitionsContainerRef.parentElement;\n const height = props.localStore.height || DEFAULT_HEIGHT;\n const width = props.localStore.width || DEFAULT_WIDTH;\n const panelPosition = position();\n root.style.setProperty(\"--tsqd-panel-height\", `${panelPosition === \"top\" ? \"-\" : \"\"}${height}px`);\n root.style.setProperty(\"--tsqd-panel-width\", `${panelPosition === \"left\" ? \"-\" : \"\"}${width}px`);\n });\n onMount(() => {\n const onFocus = () => {\n const root = transitionsContainerRef.parentElement;\n const fontSize = getComputedStyle(root).fontSize;\n root.style.setProperty(\"--tsqd-font-size\", fontSize);\n };\n onFocus();\n window.addEventListener(\"focus\", onFocus);\n onCleanup(() => {\n window.removeEventListener(\"focus\", onFocus);\n });\n });\n const pip_open = createMemo(() => props.localStore.pip_open ?? \"false\");\n return [createComponent(Show, {\n get when() {\n return memo(() => !!pip().pipWindow)() && pip_open() == \"true\";\n },\n get children() {\n return createComponent(Portal, {\n get mount() {\n return pip().pipWindow?.document.body;\n },\n get children() {\n return createComponent(PiPPanel, {\n get children() {\n return createComponent(ContentView, props);\n }\n });\n }\n });\n }\n }), (() => {\n var _el$ = _tmpl$26();\n var _ref$ = transitionsContainerRef;\n typeof _ref$ === \"function\" ? use(_ref$, _el$) : transitionsContainerRef = _el$;\n insert(_el$, createComponent(TransitionGroup, {\n name: \"tsqd-panel-transition\",\n get children() {\n return createComponent(Show, {\n get when() {\n return memo(() => !!(isOpen() && !pip().pipWindow))() && pip_open() == \"false\";\n },\n get children() {\n return createComponent(DraggablePanel, {\n get localStore() {\n return props.localStore;\n },\n get setLocalStore() {\n return props.setLocalStore;\n }\n });\n }\n });\n }\n }), null);\n insert(_el$, createComponent(TransitionGroup, {\n name: \"tsqd-button-transition\",\n get children() {\n return createComponent(Show, {\n get when() {\n return !isOpen();\n },\n get children() {\n var _el$2 = _tmpl$25(), _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling;\n insert(_el$3, createComponent(TanstackLogo, {}));\n _el$4.$$click = () => props.setLocalStore(\"open\", \"true\");\n insert(_el$4, createComponent(TanstackLogo, {}));\n createRenderEffect(() => className(_el$2, clsx(styles().devtoolsBtn, styles()[`devtoolsBtn-position-${buttonPosition()}`], \"tsqd-open-btn-container\")));\n return _el$2;\n }\n });\n }\n }), null);\n createRenderEffect(() => className(_el$, clsx(css`\n & .tsqd-panel-transition-exit-active,\n & .tsqd-panel-transition-enter-active {\n transition:\n opacity 0.3s,\n transform 0.3s;\n }\n\n & .tsqd-panel-transition-exit-to,\n & .tsqd-panel-transition-enter {\n ${position() === \"top\" || position() === \"bottom\" ? `transform: translateY(var(--tsqd-panel-height));` : `transform: translateX(var(--tsqd-panel-width));`}\n }\n\n & .tsqd-button-transition-exit-active,\n & .tsqd-button-transition-enter-active {\n transition:\n opacity 0.3s,\n transform 0.3s;\n opacity: 1;\n }\n\n & .tsqd-button-transition-exit-to,\n & .tsqd-button-transition-enter {\n transform: ${buttonPosition() === \"relative\" ? `none;` : buttonPosition() === \"top-left\" ? `translateX(-72px);` : buttonPosition() === \"top-right\" ? `translateX(72px);` : `translateY(72px);`};\n opacity: 0;\n }\n `, \"tsqd-transitions-container\")));\n return _el$;\n })()];\n};\nvar PiPPanel = (props) => {\n const pip = usePiPWindow();\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const getPanelDynamicStyles = () => {\n const {\n colors\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n if (panelWidth() < secondBreakpoint) {\n return css`\n flex-direction: column;\n background-color: ${t2(colors.gray[300], colors.gray[600])};\n `;\n }\n return css`\n flex-direction: row;\n background-color: ${t2(colors.gray[200], colors.darkGray[900])};\n `;\n };\n createEffect(() => {\n const win = pip().pipWindow;\n const resizeCB = () => {\n if (!win) return;\n setPanelWidth(win.innerWidth);\n };\n if (win) {\n win.addEventListener(\"resize\", resizeCB);\n resizeCB();\n }\n onCleanup(() => {\n if (win) {\n win.removeEventListener(\"resize\", resizeCB);\n }\n });\n });\n return (() => {\n var _el$5 = _tmpl$26();\n _el$5.style.setProperty(\"--tsqd-font-size\", \"16px\");\n _el$5.style.setProperty(\"max-height\", \"100vh\");\n _el$5.style.setProperty(\"height\", \"100vh\");\n _el$5.style.setProperty(\"width\", \"100vw\");\n insert(_el$5, () => props.children);\n createRenderEffect(() => className(_el$5, clsx(styles().panel, getPanelDynamicStyles(), {\n [css`\n min-width: min-content;\n `]: panelWidth() < thirdBreakpoint\n }, \"tsqd-main-panel\")));\n return _el$5;\n })();\n};\nvar ParentPanel = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n let panelRef;\n onMount(() => {\n createResizeObserver(panelRef, ({\n width\n }, el) => {\n if (el === panelRef) {\n setPanelWidth(width);\n }\n });\n });\n const getPanelDynamicStyles = () => {\n const {\n colors\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n if (panelWidth() < secondBreakpoint) {\n return css`\n flex-direction: column;\n background-color: ${t2(colors.gray[300], colors.gray[600])};\n `;\n }\n return css`\n flex-direction: row;\n background-color: ${t2(colors.gray[200], colors.darkGray[900])};\n `;\n };\n return (() => {\n var _el$6 = _tmpl$26();\n var _ref$2 = panelRef;\n typeof _ref$2 === \"function\" ? use(_ref$2, _el$6) : panelRef = _el$6;\n _el$6.style.setProperty(\"--tsqd-font-size\", \"16px\");\n insert(_el$6, () => props.children);\n createRenderEffect(() => className(_el$6, clsx(styles().parentPanel, getPanelDynamicStyles(), {\n [css`\n min-width: min-content;\n `]: panelWidth() < thirdBreakpoint\n }, \"tsqd-main-panel\")));\n return _el$6;\n })();\n};\nvar DraggablePanel = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const [isResizing, setIsResizing] = createSignal(false);\n const position = createMemo(() => props.localStore.position || useQueryDevtoolsContext().position || POSITION);\n const handleDragStart = (event) => {\n const panelElement = event.currentTarget.parentElement;\n if (!panelElement) return;\n setIsResizing(true);\n const {\n height,\n width\n } = panelElement.getBoundingClientRect();\n const startX = event.clientX;\n const startY = event.clientY;\n let newSize = 0;\n const minHeight = convertRemToPixels(3.5);\n const minWidth = convertRemToPixels(12);\n const runDrag = (moveEvent) => {\n moveEvent.preventDefault();\n if (position() === \"left\" || position() === \"right\") {\n const valToAdd = position() === \"right\" ? startX - moveEvent.clientX : moveEvent.clientX - startX;\n newSize = Math.round(width + valToAdd);\n if (newSize < minWidth) {\n newSize = minWidth;\n }\n props.setLocalStore(\"width\", String(Math.round(newSize)));\n const newWidth = panelElement.getBoundingClientRect().width;\n if (Number(props.localStore.width) < newWidth) {\n props.setLocalStore(\"width\", String(newWidth));\n }\n } else {\n const valToAdd = position() === \"bottom\" ? startY - moveEvent.clientY : moveEvent.clientY - startY;\n newSize = Math.round(height + valToAdd);\n if (newSize < minHeight) {\n newSize = minHeight;\n setSelectedQueryHash(null);\n }\n props.setLocalStore(\"height\", String(Math.round(newSize)));\n }\n };\n const unsubscribe = () => {\n if (isResizing()) {\n setIsResizing(false);\n }\n document.removeEventListener(\"mousemove\", runDrag, false);\n document.removeEventListener(\"mouseUp\", unsubscribe, false);\n };\n document.addEventListener(\"mousemove\", runDrag, false);\n document.addEventListener(\"mouseup\", unsubscribe, false);\n };\n let panelRef;\n onMount(() => {\n createResizeObserver(panelRef, ({\n width\n }, el) => {\n if (el === panelRef) {\n setPanelWidth(width);\n }\n });\n });\n createEffect(() => {\n const rootContainer = panelRef.parentElement?.parentElement?.parentElement;\n if (!rootContainer) return;\n const currentPosition = props.localStore.position || POSITION;\n const styleProp = getSidedProp(\"padding\", currentPosition);\n const isVertical = props.localStore.position === \"left\" || props.localStore.position === \"right\";\n const previousPaddings = (({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight\n }) => ({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight\n }))(rootContainer.style);\n rootContainer.style[styleProp] = `${isVertical ? props.localStore.width : props.localStore.height}px`;\n onCleanup(() => {\n Object.entries(previousPaddings).forEach(([property, previousValue]) => {\n rootContainer.style[property] = previousValue;\n });\n });\n });\n const getPanelDynamicStyles = () => {\n const {\n colors\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n if (panelWidth() < secondBreakpoint) {\n return css`\n flex-direction: column;\n background-color: ${t2(colors.gray[300], colors.gray[600])};\n `;\n }\n return css`\n flex-direction: row;\n background-color: ${t2(colors.gray[200], colors.darkGray[900])};\n `;\n };\n return (() => {\n var _el$7 = _tmpl$33(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling;\n var _ref$3 = panelRef;\n typeof _ref$3 === \"function\" ? use(_ref$3, _el$7) : panelRef = _el$7;\n _el$8.$$mousedown = handleDragStart;\n _el$9.$$click = () => props.setLocalStore(\"open\", \"false\");\n insert(_el$9, createComponent(ChevronDown, {}));\n insert(_el$7, createComponent(ContentView, props), null);\n createRenderEffect((_p$) => {\n var _v$ = clsx(styles().panel, styles()[`panel-position-${position()}`], getPanelDynamicStyles(), {\n [css`\n min-width: min-content;\n `]: panelWidth() < thirdBreakpoint && (position() === \"right\" || position() === \"left\")\n }, \"tsqd-main-panel\"), _v$2 = position() === \"bottom\" || position() === \"top\" ? `${props.localStore.height || DEFAULT_HEIGHT}px` : \"auto\", _v$3 = position() === \"right\" || position() === \"left\" ? `${props.localStore.width || DEFAULT_WIDTH}px` : \"auto\", _v$4 = clsx(styles().dragHandle, styles()[`dragHandle-position-${position()}`], \"tsqd-drag-handle\"), _v$5 = clsx(styles().closeBtn, styles()[`closeBtn-position-${position()}`], \"tsqd-minimize-btn\");\n _v$ !== _p$.e && className(_el$7, _p$.e = _v$);\n _v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$7.style.setProperty(\"height\", _v$2) : _el$7.style.removeProperty(\"height\"));\n _v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$7.style.setProperty(\"width\", _v$3) : _el$7.style.removeProperty(\"width\"));\n _v$4 !== _p$.o && className(_el$8, _p$.o = _v$4);\n _v$5 !== _p$.i && className(_el$9, _p$.i = _v$5);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0\n });\n return _el$7;\n })();\n};\nvar ContentView = (props) => {\n setupQueryCacheSubscription();\n setupMutationCacheSubscription();\n let containerRef;\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const pip = usePiPWindow();\n const [selectedView, setSelectedView] = createSignal(\"queries\");\n const sort = createMemo(() => props.localStore.sort || DEFAULT_SORT_FN_NAME);\n const sortOrder = createMemo(() => Number(props.localStore.sortOrder) || DEFAULT_SORT_ORDER);\n const mutationSort = createMemo(() => props.localStore.mutationSort || DEFAULT_MUTATION_SORT_FN_NAME);\n const mutationSortOrder = createMemo(() => Number(props.localStore.mutationSortOrder) || DEFAULT_SORT_ORDER);\n const sortFn = createMemo(() => sortFns[sort()]);\n const mutationSortFn = createMemo(() => mutationSortFns[mutationSort()]);\n const onlineManager = createMemo(() => useQueryDevtoolsContext().onlineManager);\n const query_cache = createMemo(() => {\n return useQueryDevtoolsContext().client.getQueryCache();\n });\n const mutation_cache = createMemo(() => {\n return useQueryDevtoolsContext().client.getMutationCache();\n });\n const queryCount = createSubscribeToQueryCacheBatcher((queryCache) => {\n return queryCache().getAll().length;\n }, false);\n const queries = createMemo(on(() => [queryCount(), props.localStore.filter, sort(), sortOrder(), props.localStore.hideDisabledQueries], () => {\n const curr = query_cache().getAll();\n let filtered = props.localStore.filter ? curr.filter((item) => rankItem(item.queryHash, props.localStore.filter || \"\").passed) : [...curr];\n if (props.localStore.hideDisabledQueries === \"true\") {\n filtered = filtered.filter((item) => !item.isDisabled());\n }\n const sorted = sortFn() ? filtered.sort((a2, b2) => sortFn()(a2, b2) * sortOrder()) : filtered;\n return sorted;\n }));\n const mutationCount = createSubscribeToMutationCacheBatcher((mutationCache) => {\n return mutationCache().getAll().length;\n }, false);\n const mutations = createMemo(on(() => [mutationCount(), props.localStore.mutationFilter, mutationSort(), mutationSortOrder()], () => {\n const curr = mutation_cache().getAll();\n const filtered = props.localStore.mutationFilter ? curr.filter((item) => {\n const value = `${item.options.mutationKey ? JSON.stringify(item.options.mutationKey) + \" - \" : \"\"}${new Date(item.state.submittedAt).toLocaleString()}`;\n return rankItem(value, props.localStore.mutationFilter || \"\").passed;\n }) : [...curr];\n const sorted = mutationSortFn() ? filtered.sort((a2, b2) => mutationSortFn()(a2, b2) * mutationSortOrder()) : filtered;\n return sorted;\n }));\n const setDevtoolsPosition = (pos) => {\n props.setLocalStore(\"position\", pos);\n };\n const setComputedVariables = (el) => {\n const computedStyle = getComputedStyle(containerRef);\n const variable = computedStyle.getPropertyValue(\"--tsqd-font-size\");\n el.style.setProperty(\"--tsqd-font-size\", variable);\n };\n return [(() => {\n var _el$0 = _tmpl$222(), _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling, _el$14 = _el$13.firstChild, _el$15 = _el$1.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$16.firstChild, _el$18 = _el$17.firstChild, _el$19 = _el$17.nextSibling, _el$22 = _el$19.nextSibling, _el$25 = _el$16.nextSibling, _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling;\n var _ref$4 = containerRef;\n typeof _ref$4 === \"function\" ? use(_ref$4, _el$0) : containerRef = _el$0;\n _el$11.$$click = () => {\n if (!pip().pipWindow && !props.showPanelViewOnly) {\n props.setLocalStore(\"open\", \"false\");\n return;\n }\n if (props.onClose) {\n props.onClose();\n }\n };\n insert(_el$13, () => useQueryDevtoolsContext().queryFlavor, _el$14);\n insert(_el$13, () => useQueryDevtoolsContext().version, null);\n insert(_el$10, createComponent(radio_group_exports.Root, {\n get [\"class\"]() {\n return clsx(styles().viewToggle);\n },\n get value() {\n return selectedView();\n },\n onChange: (value) => {\n setSelectedView(value);\n setSelectedQueryHash(null);\n setSelectedMutationId(null);\n },\n get children() {\n return [createComponent(radio_group_exports.Item, {\n value: \"queries\",\n \"class\": \"tsqd-radio-toggle\",\n get children() {\n return [createComponent(radio_group_exports.ItemInput, {}), createComponent(radio_group_exports.ItemControl, {\n get children() {\n return createComponent(radio_group_exports.ItemIndicator, {});\n }\n }), createComponent(radio_group_exports.ItemLabel, {\n title: \"Toggle Queries View\",\n children: \"Queries\"\n })];\n }\n }), createComponent(radio_group_exports.Item, {\n value: \"mutations\",\n \"class\": \"tsqd-radio-toggle\",\n get children() {\n return [createComponent(radio_group_exports.ItemInput, {}), createComponent(radio_group_exports.ItemControl, {\n get children() {\n return createComponent(radio_group_exports.ItemIndicator, {});\n }\n }), createComponent(radio_group_exports.ItemLabel, {\n title: \"Toggle Mutations View\",\n children: \"Mutations\"\n })];\n }\n })];\n }\n }), null);\n insert(_el$1, createComponent(Show, {\n get when() {\n return selectedView() === \"queries\";\n },\n get children() {\n return createComponent(QueryStatusCount, {});\n }\n }), null);\n insert(_el$1, createComponent(Show, {\n get when() {\n return selectedView() === \"mutations\";\n },\n get children() {\n return createComponent(MutationStatusCount, {});\n }\n }), null);\n insert(_el$17, createComponent(Search, {}), _el$18);\n _el$18.$$input = (e2) => {\n if (selectedView() === \"queries\") {\n props.setLocalStore(\"filter\", e2.currentTarget.value);\n } else {\n props.setLocalStore(\"mutationFilter\", e2.currentTarget.value);\n }\n };\n insert(_el$19, createComponent(Show, {\n get when() {\n return selectedView() === \"queries\";\n },\n get children() {\n var _el$20 = _tmpl$43();\n _el$20.addEventListener(\"change\", (e2) => {\n props.setLocalStore(\"sort\", e2.currentTarget.value);\n });\n insert(_el$20, () => Object.keys(sortFns).map((key) => (() => {\n var _el$46 = _tmpl$232(); _el$46.firstChild;\n _el$46.value = key;\n insert(_el$46, key, null);\n return _el$46;\n })()));\n createRenderEffect(() => _el$20.value = sort());\n return _el$20;\n }\n }), null);\n insert(_el$19, createComponent(Show, {\n get when() {\n return selectedView() === \"mutations\";\n },\n get children() {\n var _el$21 = _tmpl$53();\n _el$21.addEventListener(\"change\", (e2) => {\n props.setLocalStore(\"mutationSort\", e2.currentTarget.value);\n });\n insert(_el$21, () => Object.keys(mutationSortFns).map((key) => (() => {\n var _el$48 = _tmpl$232(); _el$48.firstChild;\n _el$48.value = key;\n insert(_el$48, key, null);\n return _el$48;\n })()));\n createRenderEffect(() => _el$21.value = mutationSort());\n return _el$21;\n }\n }), null);\n insert(_el$19, createComponent(ChevronDown, {}), null);\n _el$22.$$click = () => {\n if (selectedView() === \"queries\") {\n props.setLocalStore(\"sortOrder\", String(sortOrder() * -1));\n } else {\n props.setLocalStore(\"mutationSortOrder\", String(mutationSortOrder() * -1));\n }\n };\n insert(_el$22, createComponent(Show, {\n get when() {\n return (selectedView() === \"queries\" ? sortOrder() : mutationSortOrder()) === 1;\n },\n get children() {\n return [_tmpl$63(), createComponent(ArrowUp, {})];\n }\n }), null);\n insert(_el$22, createComponent(Show, {\n get when() {\n return (selectedView() === \"queries\" ? sortOrder() : mutationSortOrder()) === -1;\n },\n get children() {\n return [_tmpl$73(), createComponent(ArrowDown, {})];\n }\n }), null);\n _el$26.$$click = () => {\n if (selectedView() === \"queries\") {\n sendDevToolsEvent({\n type: \"CLEAR_QUERY_CACHE\"\n });\n query_cache().clear();\n } else {\n sendDevToolsEvent({\n type: \"CLEAR_MUTATION_CACHE\"\n });\n mutation_cache().clear();\n }\n };\n insert(_el$26, createComponent(Trash, {}));\n _el$27.$$click = () => {\n onlineManager().setOnline(!onlineManager().isOnline());\n };\n insert(_el$27, (() => {\n var _c$ = memo(() => !!offline());\n return () => _c$() ? createComponent(Offline, {}) : createComponent(Wifi, {});\n })());\n insert(_el$25, createComponent(Show, {\n get when() {\n return memo(() => !!!pip().pipWindow)() && !pip().disabled;\n },\n get children() {\n var _el$28 = _tmpl$83();\n _el$28.$$click = () => {\n pip().requestPipWindow(Number(window.innerWidth), Number(props.localStore.height ?? 500));\n };\n insert(_el$28, createComponent(PiPIcon, {}));\n createRenderEffect(() => className(_el$28, clsx(styles().actionsBtn, \"tsqd-actions-btn\", \"tsqd-action-open-pip\")));\n return _el$28;\n }\n }), null);\n insert(_el$25, createComponent(dropdown_menu_exports.Root, {\n gutter: 4,\n get children() {\n return [createComponent(dropdown_menu_exports.Trigger, {\n get [\"class\"]() {\n return clsx(styles().actionsBtn, \"tsqd-actions-btn\", \"tsqd-action-settings\");\n },\n get children() {\n return createComponent(Settings, {});\n }\n }), createComponent(dropdown_menu_exports.Portal, {\n ref: (el) => setComputedVariables(el),\n get mount() {\n return memo(() => !!pip().pipWindow)() ? pip().pipWindow.document.body : document.body;\n },\n get children() {\n return createComponent(dropdown_menu_exports.Content, {\n get [\"class\"]() {\n return clsx(styles().settingsMenu, \"tsqd-settings-menu\");\n },\n get children() {\n return [(() => {\n var _el$29 = _tmpl$93();\n createRenderEffect(() => className(_el$29, clsx(styles().settingsMenuHeader, \"tsqd-settings-menu-header\")));\n return _el$29;\n })(), createComponent(Show, {\n get when() {\n return !props.showPanelViewOnly;\n },\n get children() {\n return createComponent(dropdown_menu_exports.Sub, {\n overlap: true,\n gutter: 8,\n shift: -4,\n get children() {\n return [createComponent(dropdown_menu_exports.SubTrigger, {\n get [\"class\"]() {\n return clsx(styles().settingsSubTrigger, \"tsqd-settings-menu-sub-trigger\", \"tsqd-settings-menu-sub-trigger-position\");\n },\n get children() {\n return [_tmpl$03(), createComponent(ChevronDown, {})];\n }\n }), createComponent(dropdown_menu_exports.Portal, {\n ref: (el) => setComputedVariables(el),\n get mount() {\n return memo(() => !!pip().pipWindow)() ? pip().pipWindow.document.body : document.body;\n },\n get children() {\n return createComponent(dropdown_menu_exports.SubContent, {\n get [\"class\"]() {\n return clsx(styles().settingsMenu, \"tsqd-settings-submenu\");\n },\n get children() {\n return [createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n setDevtoolsPosition(\"top\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-top\");\n },\n get children() {\n return [_tmpl$111(), createComponent(ArrowUp, {})];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n setDevtoolsPosition(\"bottom\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-bottom\");\n },\n get children() {\n return [_tmpl$103(), createComponent(ArrowDown, {})];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n setDevtoolsPosition(\"left\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-left\");\n },\n get children() {\n return [_tmpl$112(), createComponent(ArrowLeft, {})];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n setDevtoolsPosition(\"right\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-right\");\n },\n get children() {\n return [_tmpl$122(), createComponent(ArrowRight, {})];\n }\n })];\n }\n });\n }\n })];\n }\n });\n }\n }), createComponent(dropdown_menu_exports.Sub, {\n overlap: true,\n gutter: 8,\n shift: -4,\n get children() {\n return [createComponent(dropdown_menu_exports.SubTrigger, {\n get [\"class\"]() {\n return clsx(styles().settingsSubTrigger, \"tsqd-settings-menu-sub-trigger\", \"tsqd-settings-menu-sub-trigger-position\");\n },\n get children() {\n return [_tmpl$132(), createComponent(ChevronDown, {})];\n }\n }), createComponent(dropdown_menu_exports.Portal, {\n ref: (el) => setComputedVariables(el),\n get mount() {\n return memo(() => !!pip().pipWindow)() ? pip().pipWindow.document.body : document.body;\n },\n get children() {\n return createComponent(dropdown_menu_exports.SubContent, {\n get [\"class\"]() {\n return clsx(styles().settingsMenu, \"tsqd-settings-submenu\");\n },\n get children() {\n return [createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n props.setLocalStore(\"theme_preference\", \"light\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, props.localStore.theme_preference === \"light\" && styles().themeSelectedButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-top\");\n },\n get children() {\n return [_tmpl$142(), createComponent(Sun, {})];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n props.setLocalStore(\"theme_preference\", \"dark\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, props.localStore.theme_preference === \"dark\" && styles().themeSelectedButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-bottom\");\n },\n get children() {\n return [_tmpl$152(), createComponent(Moon, {})];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n props.setLocalStore(\"theme_preference\", \"system\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, props.localStore.theme_preference === \"system\" && styles().themeSelectedButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-left\");\n },\n get children() {\n return [_tmpl$162(), createComponent(Monitor, {})];\n }\n })];\n }\n });\n }\n })];\n }\n }), createComponent(dropdown_menu_exports.Sub, {\n overlap: true,\n gutter: 8,\n shift: -4,\n get children() {\n return [createComponent(dropdown_menu_exports.SubTrigger, {\n get [\"class\"]() {\n return clsx(styles().settingsSubTrigger, \"tsqd-settings-menu-sub-trigger\", \"tsqd-settings-menu-sub-trigger-disabled-queries\");\n },\n get children() {\n return [_tmpl$172(), createComponent(ChevronDown, {})];\n }\n }), createComponent(dropdown_menu_exports.Portal, {\n ref: (el) => setComputedVariables(el),\n get mount() {\n return memo(() => !!pip().pipWindow)() ? pip().pipWindow.document.body : document.body;\n },\n get children() {\n return createComponent(dropdown_menu_exports.SubContent, {\n get [\"class\"]() {\n return clsx(styles().settingsMenu, \"tsqd-settings-submenu\");\n },\n get children() {\n return [createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n props.setLocalStore(\"hideDisabledQueries\", \"false\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, props.localStore.hideDisabledQueries !== \"true\" && styles().themeSelectedButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-show\");\n },\n get children() {\n return [_tmpl$182(), createComponent(Show, {\n get when() {\n return props.localStore.hideDisabledQueries !== \"true\";\n },\n get children() {\n return createComponent(CheckCircle, {});\n }\n })];\n }\n }), createComponent(dropdown_menu_exports.Item, {\n onSelect: () => {\n props.setLocalStore(\"hideDisabledQueries\", \"true\");\n },\n as: \"button\",\n get [\"class\"]() {\n return clsx(styles().settingsSubButton, props.localStore.hideDisabledQueries === \"true\" && styles().themeSelectedButton, \"tsqd-settings-menu-position-btn\", \"tsqd-settings-menu-position-btn-hide\");\n },\n get children() {\n return [_tmpl$192(), createComponent(Show, {\n get when() {\n return props.localStore.hideDisabledQueries === \"true\";\n },\n get children() {\n return createComponent(CheckCircle, {});\n }\n })];\n }\n })];\n }\n });\n }\n })];\n }\n })];\n }\n });\n }\n })];\n }\n }), null);\n insert(_el$0, createComponent(Show, {\n get when() {\n return selectedView() === \"queries\";\n },\n get children() {\n var _el$42 = _tmpl$202(), _el$43 = _el$42.firstChild;\n insert(_el$43, createComponent(Key, {\n by: (q) => q.queryHash,\n get each() {\n return queries();\n },\n children: (query) => createComponent(QueryRow, {\n get query() {\n return query();\n }\n })\n }));\n createRenderEffect(() => className(_el$42, clsx(styles().overflowQueryContainer, \"tsqd-queries-overflow-container\")));\n return _el$42;\n }\n }), null);\n insert(_el$0, createComponent(Show, {\n get when() {\n return selectedView() === \"mutations\";\n },\n get children() {\n var _el$44 = _tmpl$212(), _el$45 = _el$44.firstChild;\n insert(_el$45, createComponent(Key, {\n by: (m) => m.mutationId,\n get each() {\n return mutations();\n },\n children: (mutation) => createComponent(MutationRow, {\n get mutation() {\n return mutation();\n }\n })\n }));\n createRenderEffect(() => className(_el$44, clsx(styles().overflowQueryContainer, \"tsqd-mutations-overflow-container\")));\n return _el$44;\n }\n }), null);\n createRenderEffect((_p$) => {\n var _v$6 = clsx(styles().queriesContainer, panelWidth() < secondBreakpoint && (selectedQueryHash() || selectedMutationId()) && css`\n height: 50%;\n max-height: 50%;\n `, panelWidth() < secondBreakpoint && !(selectedQueryHash() || selectedMutationId()) && css`\n height: 100%;\n max-height: 100%;\n `, \"tsqd-queries-container\"), _v$7 = clsx(styles().row, \"tsqd-header\"), _v$8 = styles().logoAndToggleContainer, _v$9 = clsx(styles().logo, \"tsqd-text-logo-container\"), _v$0 = clsx(styles().tanstackLogo, \"tsqd-text-logo-tanstack\"), _v$1 = clsx(styles().queryFlavorLogo, \"tsqd-text-logo-query-flavor\"), _v$10 = clsx(styles().row, \"tsqd-filters-actions-container\"), _v$11 = clsx(styles().filtersContainer, \"tsqd-filters-container\"), _v$12 = clsx(styles().filterInput, \"tsqd-query-filter-textfield-container\"), _v$13 = clsx(\"tsqd-query-filter-textfield\"), _v$14 = clsx(styles().filterSelect, \"tsqd-query-filter-sort-container\"), _v$15 = `Sort order ${(selectedView() === \"queries\" ? sortOrder() : mutationSortOrder()) === -1 ? \"descending\" : \"ascending\"}`, _v$16 = (selectedView() === \"queries\" ? sortOrder() : mutationSortOrder()) === -1, _v$17 = clsx(styles().actionsContainer, \"tsqd-actions-container\"), _v$18 = clsx(styles().actionsBtn, \"tsqd-actions-btn\", \"tsqd-action-clear-cache\"), _v$19 = `Clear ${selectedView()} cache`, _v$20 = clsx(styles().actionsBtn, offline() && styles().actionsBtnOffline, \"tsqd-actions-btn\", \"tsqd-action-mock-offline-behavior\"), _v$21 = `${offline() ? \"Unset offline mocking behavior\" : \"Mock offline behavior\"}`, _v$22 = offline(), _v$23 = `${offline() ? \"Unset offline mocking behavior\" : \"Mock offline behavior\"}`;\n _v$6 !== _p$.e && className(_el$0, _p$.e = _v$6);\n _v$7 !== _p$.t && className(_el$1, _p$.t = _v$7);\n _v$8 !== _p$.a && className(_el$10, _p$.a = _v$8);\n _v$9 !== _p$.o && className(_el$11, _p$.o = _v$9);\n _v$0 !== _p$.i && className(_el$12, _p$.i = _v$0);\n _v$1 !== _p$.n && className(_el$13, _p$.n = _v$1);\n _v$10 !== _p$.s && className(_el$15, _p$.s = _v$10);\n _v$11 !== _p$.h && className(_el$16, _p$.h = _v$11);\n _v$12 !== _p$.r && className(_el$17, _p$.r = _v$12);\n _v$13 !== _p$.d && className(_el$18, _p$.d = _v$13);\n _v$14 !== _p$.l && className(_el$19, _p$.l = _v$14);\n _v$15 !== _p$.u && setAttribute(_el$22, \"aria-label\", _p$.u = _v$15);\n _v$16 !== _p$.c && setAttribute(_el$22, \"aria-pressed\", _p$.c = _v$16);\n _v$17 !== _p$.w && className(_el$25, _p$.w = _v$17);\n _v$18 !== _p$.m && className(_el$26, _p$.m = _v$18);\n _v$19 !== _p$.f && setAttribute(_el$26, \"title\", _p$.f = _v$19);\n _v$20 !== _p$.y && className(_el$27, _p$.y = _v$20);\n _v$21 !== _p$.g && setAttribute(_el$27, \"aria-label\", _p$.g = _v$21);\n _v$22 !== _p$.p && setAttribute(_el$27, \"aria-pressed\", _p$.p = _v$22);\n _v$23 !== _p$.b && setAttribute(_el$27, \"title\", _p$.b = _v$23);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0,\n n: void 0,\n s: void 0,\n h: void 0,\n r: void 0,\n d: void 0,\n l: void 0,\n u: void 0,\n c: void 0,\n w: void 0,\n m: void 0,\n f: void 0,\n y: void 0,\n g: void 0,\n p: void 0,\n b: void 0\n });\n createRenderEffect(() => _el$18.value = selectedView() === \"queries\" ? props.localStore.filter || \"\" : props.localStore.mutationFilter || \"\");\n return _el$0;\n })(), createComponent(Show, {\n get when() {\n return memo(() => selectedView() === \"queries\")() && selectedQueryHash();\n },\n get children() {\n return createComponent(QueryDetails, {});\n }\n }), createComponent(Show, {\n get when() {\n return memo(() => selectedView() === \"mutations\")() && selectedMutationId();\n },\n get children() {\n return createComponent(MutationDetails, {});\n }\n })];\n};\nvar QueryRow = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const {\n colors,\n alpha\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n const queryState = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().find({\n queryKey: props.query.queryKey\n })?.state, true, (e2) => e2.query.queryHash === props.query.queryHash);\n const isDisabled = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().find({\n queryKey: props.query.queryKey\n })?.isDisabled() ?? false, true, (e2) => e2.query.queryHash === props.query.queryHash);\n const isStatic = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().find({\n queryKey: props.query.queryKey\n })?.isStatic() ?? false, true, (e2) => e2.query.queryHash === props.query.queryHash);\n const isStale = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().find({\n queryKey: props.query.queryKey\n })?.isStale() ?? false, true, (e2) => e2.query.queryHash === props.query.queryHash);\n const observers = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().find({\n queryKey: props.query.queryKey\n })?.getObserversCount() ?? 0, true, (e2) => e2.query.queryHash === props.query.queryHash);\n const color = createMemo(() => getQueryStatusColor({\n queryState: queryState(),\n observerCount: observers(),\n isStale: isStale()\n }));\n const getObserverCountColorStyles = () => {\n if (color() === \"gray\") {\n return css`\n background-color: ${t2(colors[color()][200], colors[color()][700])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n `;\n }\n return css`\n background-color: ${t2(colors[color()][200] + alpha[80], colors[color()][900])};\n color: ${t2(colors[color()][800], colors[color()][300])};\n `;\n };\n return createComponent(Show, {\n get when() {\n return queryState();\n },\n get children() {\n var _el$50 = _tmpl$262(), _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling;\n _el$50.$$click = () => setSelectedQueryHash(props.query.queryHash === selectedQueryHash() ? null : props.query.queryHash);\n insert(_el$51, observers);\n insert(_el$52, () => props.query.queryHash);\n insert(_el$50, createComponent(Show, {\n get when() {\n return isDisabled();\n },\n get children() {\n return _tmpl$242();\n }\n }), null);\n insert(_el$50, createComponent(Show, {\n get when() {\n return isStatic();\n },\n get children() {\n return _tmpl$252();\n }\n }), null);\n createRenderEffect((_p$) => {\n var _v$24 = clsx(styles().queryRow, selectedQueryHash() === props.query.queryHash && styles().selectedQueryRow, \"tsqd-query-row\"), _v$25 = `Query key ${props.query.queryHash}`, _v$26 = clsx(getObserverCountColorStyles(), \"tsqd-query-observer-count\");\n _v$24 !== _p$.e && className(_el$50, _p$.e = _v$24);\n _v$25 !== _p$.t && setAttribute(_el$50, \"aria-label\", _p$.t = _v$25);\n _v$26 !== _p$.a && className(_el$51, _p$.a = _v$26);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n });\n return _el$50;\n }\n });\n};\nvar MutationRow = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const {\n colors,\n alpha\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n const mutationState = createSubscribeToMutationCacheBatcher((mutationCache) => {\n const mutations = mutationCache().getAll();\n const mutation = mutations.find((m) => m.mutationId === props.mutation.mutationId);\n return mutation?.state;\n });\n const isPaused = createSubscribeToMutationCacheBatcher((mutationCache) => {\n const mutations = mutationCache().getAll();\n const mutation = mutations.find((m) => m.mutationId === props.mutation.mutationId);\n if (!mutation) return false;\n return mutation.state.isPaused;\n });\n const status = createSubscribeToMutationCacheBatcher((mutationCache) => {\n const mutations = mutationCache().getAll();\n const mutation = mutations.find((m) => m.mutationId === props.mutation.mutationId);\n if (!mutation) return \"idle\";\n return mutation.state.status;\n });\n const color = createMemo(() => getMutationStatusColor({\n isPaused: isPaused(),\n status: status()\n }));\n const getObserverCountColorStyles = () => {\n if (color() === \"gray\") {\n return css`\n background-color: ${t2(colors[color()][200], colors[color()][700])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n `;\n }\n return css`\n background-color: ${t2(colors[color()][200] + alpha[80], colors[color()][900])};\n color: ${t2(colors[color()][800], colors[color()][300])};\n `;\n };\n return createComponent(Show, {\n get when() {\n return mutationState();\n },\n get children() {\n var _el$55 = _tmpl$262(), _el$56 = _el$55.firstChild, _el$57 = _el$56.nextSibling;\n _el$55.$$click = () => {\n setSelectedMutationId(props.mutation.mutationId === selectedMutationId() ? null : props.mutation.mutationId);\n };\n insert(_el$56, createComponent(Show, {\n get when() {\n return color() === \"purple\";\n },\n get children() {\n return createComponent(PauseCircle, {});\n }\n }), null);\n insert(_el$56, createComponent(Show, {\n get when() {\n return color() === \"green\";\n },\n get children() {\n return createComponent(CheckCircle, {});\n }\n }), null);\n insert(_el$56, createComponent(Show, {\n get when() {\n return color() === \"red\";\n },\n get children() {\n return createComponent(XCircle, {});\n }\n }), null);\n insert(_el$56, createComponent(Show, {\n get when() {\n return color() === \"yellow\";\n },\n get children() {\n return createComponent(LoadingCircle, {});\n }\n }), null);\n insert(_el$57, createComponent(Show, {\n get when() {\n return props.mutation.options.mutationKey;\n },\n get children() {\n return [memo(() => JSON.stringify(props.mutation.options.mutationKey)), \" -\", \" \"];\n }\n }), null);\n insert(_el$57, () => new Date(props.mutation.state.submittedAt).toLocaleString(), null);\n createRenderEffect((_p$) => {\n var _v$27 = clsx(styles().queryRow, selectedMutationId() === props.mutation.mutationId && styles().selectedQueryRow, \"tsqd-query-row\"), _v$28 = `Mutation submitted at ${new Date(props.mutation.state.submittedAt).toLocaleString()}`, _v$29 = clsx(getObserverCountColorStyles(), \"tsqd-query-observer-count\");\n _v$27 !== _p$.e && className(_el$55, _p$.e = _v$27);\n _v$28 !== _p$.t && setAttribute(_el$55, \"aria-label\", _p$.t = _v$28);\n _v$29 !== _p$.a && className(_el$56, _p$.a = _v$29);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n });\n return _el$55;\n }\n });\n};\nvar QueryStatusCount = () => {\n const stale = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().filter((q) => getQueryStatusLabel(q) === \"stale\").length);\n const fresh = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().filter((q) => getQueryStatusLabel(q) === \"fresh\").length);\n const fetching = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().filter((q) => getQueryStatusLabel(q) === \"fetching\").length);\n const paused = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().filter((q) => getQueryStatusLabel(q) === \"paused\").length);\n const inactive = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().filter((q) => getQueryStatusLabel(q) === \"inactive\").length);\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n return (() => {\n var _el$58 = _tmpl$26();\n insert(_el$58, createComponent(QueryStatus, {\n label: \"Fresh\",\n color: \"green\",\n get count() {\n return fresh();\n }\n }), null);\n insert(_el$58, createComponent(QueryStatus, {\n label: \"Fetching\",\n color: \"blue\",\n get count() {\n return fetching();\n }\n }), null);\n insert(_el$58, createComponent(QueryStatus, {\n label: \"Paused\",\n color: \"purple\",\n get count() {\n return paused();\n }\n }), null);\n insert(_el$58, createComponent(QueryStatus, {\n label: \"Stale\",\n color: \"yellow\",\n get count() {\n return stale();\n }\n }), null);\n insert(_el$58, createComponent(QueryStatus, {\n label: \"Inactive\",\n color: \"gray\",\n get count() {\n return inactive();\n }\n }), null);\n createRenderEffect(() => className(_el$58, clsx(styles().queryStatusContainer, \"tsqd-query-status-container\")));\n return _el$58;\n })();\n};\nvar MutationStatusCount = () => {\n const success = createSubscribeToMutationCacheBatcher((mutationCache) => mutationCache().getAll().filter((m) => getMutationStatusColor({\n isPaused: m.state.isPaused,\n status: m.state.status\n }) === \"green\").length);\n const pending = createSubscribeToMutationCacheBatcher((mutationCache) => mutationCache().getAll().filter((m) => getMutationStatusColor({\n isPaused: m.state.isPaused,\n status: m.state.status\n }) === \"yellow\").length);\n const paused = createSubscribeToMutationCacheBatcher((mutationCache) => mutationCache().getAll().filter((m) => getMutationStatusColor({\n isPaused: m.state.isPaused,\n status: m.state.status\n }) === \"purple\").length);\n const error = createSubscribeToMutationCacheBatcher((mutationCache) => mutationCache().getAll().filter((m) => getMutationStatusColor({\n isPaused: m.state.isPaused,\n status: m.state.status\n }) === \"red\").length);\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n return (() => {\n var _el$59 = _tmpl$26();\n insert(_el$59, createComponent(QueryStatus, {\n label: \"Paused\",\n color: \"purple\",\n get count() {\n return paused();\n }\n }), null);\n insert(_el$59, createComponent(QueryStatus, {\n label: \"Pending\",\n color: \"yellow\",\n get count() {\n return pending();\n }\n }), null);\n insert(_el$59, createComponent(QueryStatus, {\n label: \"Success\",\n color: \"green\",\n get count() {\n return success();\n }\n }), null);\n insert(_el$59, createComponent(QueryStatus, {\n label: \"Error\",\n color: \"red\",\n get count() {\n return error();\n }\n }), null);\n createRenderEffect(() => className(_el$59, clsx(styles().queryStatusContainer, \"tsqd-query-status-container\")));\n return _el$59;\n })();\n};\nvar QueryStatus = (props) => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const {\n colors,\n alpha\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n let tagRef;\n const [mouseOver, setMouseOver] = createSignal(false);\n const [focused, setFocused] = createSignal(false);\n const showLabel = createMemo(() => {\n if (selectedQueryHash()) {\n if (panelWidth() < firstBreakpoint && panelWidth() > secondBreakpoint) {\n return false;\n }\n }\n if (panelWidth() < secondBreakpoint) {\n return false;\n }\n return true;\n });\n return (() => {\n var _el$60 = _tmpl$29(), _el$62 = _el$60.firstChild, _el$64 = _el$62.nextSibling;\n var _ref$5 = tagRef;\n typeof _ref$5 === \"function\" ? use(_ref$5, _el$60) : tagRef = _el$60;\n _el$60.addEventListener(\"mouseleave\", () => {\n setMouseOver(false);\n setFocused(false);\n });\n _el$60.addEventListener(\"mouseenter\", () => setMouseOver(true));\n _el$60.addEventListener(\"blur\", () => setFocused(false));\n _el$60.addEventListener(\"focus\", () => setFocused(true));\n spread(_el$60, mergeProps({\n get disabled() {\n return showLabel();\n },\n get [\"class\"]() {\n return clsx(styles().queryStatusTag, !showLabel() && css`\n cursor: pointer;\n &:hover {\n background: ${t2(colors.gray[200], colors.darkGray[400])}${alpha[80]};\n }\n `, \"tsqd-query-status-tag\", `tsqd-query-status-tag-${props.label.toLowerCase()}`);\n }\n }, () => mouseOver() || focused() ? {\n \"aria-describedby\": \"tsqd-status-tooltip\"\n } : {}), false, true);\n insert(_el$60, createComponent(Show, {\n get when() {\n return memo(() => !!!showLabel())() && (mouseOver() || focused());\n },\n get children() {\n var _el$61 = _tmpl$27();\n insert(_el$61, () => props.label);\n createRenderEffect(() => className(_el$61, clsx(styles().statusTooltip, \"tsqd-query-status-tooltip\")));\n return _el$61;\n }\n }), _el$62);\n insert(_el$60, createComponent(Show, {\n get when() {\n return showLabel();\n },\n get children() {\n var _el$63 = _tmpl$28();\n insert(_el$63, () => props.label);\n createRenderEffect(() => className(_el$63, clsx(styles().queryStatusTagLabel, \"tsqd-query-status-tag-label\")));\n return _el$63;\n }\n }), _el$64);\n insert(_el$64, () => props.count);\n createRenderEffect((_p$) => {\n var _v$30 = clsx(css`\n width: ${tokens.size[1.5]};\n height: ${tokens.size[1.5]};\n border-radius: ${tokens.border.radius.full};\n background-color: ${tokens.colors[props.color][500]};\n `, \"tsqd-query-status-tag-dot\"), _v$31 = clsx(styles().queryStatusCount, props.count > 0 && props.color !== \"gray\" && css`\n background-color: ${t2(colors[props.color][100], colors[props.color][900])};\n color: ${t2(colors[props.color][700], colors[props.color][300])};\n `, \"tsqd-query-status-tag-count\");\n _v$30 !== _p$.e && className(_el$62, _p$.e = _v$30);\n _v$31 !== _p$.t && className(_el$64, _p$.t = _v$31);\n return _p$;\n }, {\n e: void 0,\n t: void 0\n });\n return _el$60;\n })();\n};\nvar QueryDetails = () => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const {\n colors\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n const queryClient = useQueryDevtoolsContext().client;\n const [restoringLoading, setRestoringLoading] = createSignal(false);\n const [dataMode, setDataMode] = createSignal(\"view\");\n const [dataEditError, setDataEditError] = createSignal(false);\n const errorTypes = createMemo(() => {\n return useQueryDevtoolsContext().errorTypes || [];\n });\n const activeQuery = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().find((query) => query.queryHash === selectedQueryHash()), false);\n const activeQueryFresh = createSubscribeToQueryCacheBatcher((queryCache) => {\n return queryCache().getAll().find((query) => query.queryHash === selectedQueryHash());\n }, false);\n const activeQueryState = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().find((query) => query.queryHash === selectedQueryHash())?.state, false);\n const activeQueryStateData = createSubscribeToQueryCacheBatcher((queryCache) => {\n return queryCache().getAll().find((query) => query.queryHash === selectedQueryHash())?.state.data;\n }, false);\n const statusLabel = createSubscribeToQueryCacheBatcher((queryCache) => {\n const query = queryCache().getAll().find((q) => q.queryHash === selectedQueryHash());\n if (!query) return \"inactive\";\n return getQueryStatusLabel(query);\n });\n const queryStatus = createSubscribeToQueryCacheBatcher((queryCache) => {\n const query = queryCache().getAll().find((q) => q.queryHash === selectedQueryHash());\n if (!query) return \"pending\";\n return query.state.status;\n });\n const observerCount = createSubscribeToQueryCacheBatcher((queryCache) => queryCache().getAll().find((query) => query.queryHash === selectedQueryHash())?.getObserversCount() ?? 0);\n const color = createMemo(() => getQueryStatusColorByLabel(statusLabel()));\n const handleRefetch = () => {\n sendDevToolsEvent({\n type: \"REFETCH\",\n queryHash: activeQuery()?.queryHash\n });\n const promise = activeQuery()?.fetch();\n promise?.catch(() => {\n });\n };\n const triggerError = (errorType) => {\n const activeQueryVal = activeQuery();\n if (!activeQueryVal) return;\n sendDevToolsEvent({\n type: \"TRIGGER_ERROR\",\n queryHash: activeQueryVal.queryHash,\n metadata: {\n error: errorType?.name\n }\n });\n const error = errorType?.initializer(activeQueryVal) ?? new Error(\"Unknown error from devtools\");\n const __previousQueryOptions = activeQueryVal.options;\n activeQueryVal.setState({\n status: \"error\",\n error,\n fetchMeta: {\n ...activeQueryVal.state.fetchMeta,\n __previousQueryOptions\n }\n });\n };\n const restoreQueryAfterLoadingOrError = () => {\n const activeQueryVal = activeQuery();\n if (!activeQueryVal) return;\n sendDevToolsEvent({\n type: \"RESTORE_LOADING\",\n queryHash: activeQueryVal.queryHash\n });\n const previousState = activeQueryVal.state;\n const previousOptions = activeQueryVal.state.fetchMeta ? activeQueryVal.state.fetchMeta.__previousQueryOptions : null;\n activeQueryVal.cancel({\n silent: true\n });\n activeQueryVal.setState({\n ...previousState,\n fetchStatus: \"idle\",\n fetchMeta: null\n });\n if (previousOptions) {\n activeQueryVal.fetch(previousOptions);\n }\n };\n createEffect(() => {\n if (statusLabel() !== \"fetching\") {\n setRestoringLoading(false);\n }\n });\n const getQueryStatusColors = () => {\n if (color() === \"gray\") {\n return css`\n background-color: ${t2(colors[color()][200], colors[color()][700])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n border-color: ${t2(colors[color()][400], colors[color()][600])};\n `;\n }\n return css`\n background-color: ${t2(colors[color()][100], colors[color()][900])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n border-color: ${t2(colors[color()][400], colors[color()][600])};\n `;\n };\n return createComponent(Show, {\n get when() {\n return memo(() => !!activeQuery())() && activeQueryState();\n },\n get children() {\n var _el$65 = _tmpl$34(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling, _el$68 = _el$67.firstChild, _el$69 = _el$68.firstChild, _el$70 = _el$69.firstChild, _el$71 = _el$69.nextSibling, _el$72 = _el$68.nextSibling, _el$73 = _el$72.firstChild, _el$74 = _el$73.nextSibling, _el$75 = _el$72.nextSibling, _el$76 = _el$75.firstChild, _el$77 = _el$76.nextSibling, _el$78 = _el$67.nextSibling, _el$79 = _el$78.nextSibling, _el$80 = _el$79.firstChild, _el$81 = _el$80.firstChild, _el$82 = _el$80.nextSibling, _el$83 = _el$82.firstChild, _el$84 = _el$82.nextSibling, _el$85 = _el$84.firstChild, _el$86 = _el$84.nextSibling, _el$87 = _el$86.firstChild, _el$88 = _el$86.nextSibling, _el$89 = _el$88.firstChild, _el$90 = _el$89.nextSibling, _el$99 = _el$79.nextSibling; _el$99.firstChild; var _el$109 = _el$99.nextSibling, _el$110 = _el$109.nextSibling;\n insert(_el$70, () => displayValue(activeQuery().queryKey, true));\n insert(_el$71, statusLabel);\n insert(_el$74, observerCount);\n insert(_el$77, () => new Date(activeQueryState().dataUpdatedAt).toLocaleTimeString());\n _el$80.$$click = handleRefetch;\n _el$82.$$click = () => {\n sendDevToolsEvent({\n type: \"INVALIDATE\",\n queryHash: activeQuery()?.queryHash\n });\n queryClient.invalidateQueries(activeQuery());\n };\n _el$84.$$click = () => {\n sendDevToolsEvent({\n type: \"RESET\",\n queryHash: activeQuery()?.queryHash\n });\n queryClient.resetQueries(activeQuery());\n };\n _el$86.$$click = () => {\n sendDevToolsEvent({\n type: \"REMOVE\",\n queryHash: activeQuery()?.queryHash\n });\n queryClient.removeQueries(activeQuery());\n setSelectedQueryHash(null);\n };\n _el$88.$$click = () => {\n if (activeQuery()?.state.data === void 0) {\n setRestoringLoading(true);\n restoreQueryAfterLoadingOrError();\n } else {\n const activeQueryVal = activeQuery();\n if (!activeQueryVal) return;\n sendDevToolsEvent({\n type: \"TRIGGER_LOADING\",\n queryHash: activeQueryVal.queryHash\n });\n const __previousQueryOptions = activeQueryVal.options;\n activeQueryVal.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n });\n },\n gcTime: -1\n });\n activeQueryVal.setState({\n data: void 0,\n status: \"pending\",\n fetchMeta: {\n ...activeQueryVal.state.fetchMeta,\n __previousQueryOptions\n }\n });\n }\n };\n insert(_el$88, () => queryStatus() === \"pending\" ? \"Restore\" : \"Trigger\", _el$90);\n insert(_el$79, createComponent(Show, {\n get when() {\n return errorTypes().length === 0 || queryStatus() === \"error\";\n },\n get children() {\n var _el$91 = _tmpl$30(), _el$92 = _el$91.firstChild, _el$93 = _el$92.nextSibling;\n _el$91.$$click = () => {\n if (!activeQuery().state.error) {\n triggerError();\n } else {\n sendDevToolsEvent({\n type: \"RESTORE_ERROR\",\n queryHash: activeQuery()?.queryHash\n });\n queryClient.resetQueries(activeQuery());\n }\n };\n insert(_el$91, () => queryStatus() === \"error\" ? \"Restore\" : \"Trigger\", _el$93);\n createRenderEffect((_p$) => {\n var _v$32 = clsx(css`\n color: ${t2(colors.red[500], colors.red[400])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-error\"), _v$33 = queryStatus() === \"pending\", _v$34 = css`\n background-color: ${t2(colors.red[500], colors.red[400])};\n `;\n _v$32 !== _p$.e && className(_el$91, _p$.e = _v$32);\n _v$33 !== _p$.t && (_el$91.disabled = _p$.t = _v$33);\n _v$34 !== _p$.a && className(_el$92, _p$.a = _v$34);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n });\n return _el$91;\n }\n }), null);\n insert(_el$79, createComponent(Show, {\n get when() {\n return !(errorTypes().length === 0 || queryStatus() === \"error\");\n },\n get children() {\n var _el$94 = _tmpl$31(), _el$95 = _el$94.firstChild, _el$96 = _el$95.nextSibling, _el$97 = _el$96.nextSibling; _el$97.firstChild;\n _el$97.addEventListener(\"change\", (e2) => {\n const errorType = errorTypes().find((et) => et.name === e2.currentTarget.value);\n triggerError(errorType);\n });\n insert(_el$97, createComponent(For, {\n get each() {\n return errorTypes();\n },\n children: (errorType) => (() => {\n var _el$111 = _tmpl$35();\n insert(_el$111, () => errorType.name);\n createRenderEffect(() => _el$111.value = errorType.name);\n return _el$111;\n })()\n }), null);\n insert(_el$94, createComponent(ChevronDown, {}), null);\n createRenderEffect((_p$) => {\n var _v$35 = clsx(styles().actionsSelect, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-error-multiple\"), _v$36 = css`\n background-color: ${tokens.colors.red[400]};\n `, _v$37 = queryStatus() === \"pending\";\n _v$35 !== _p$.e && className(_el$94, _p$.e = _v$35);\n _v$36 !== _p$.t && className(_el$95, _p$.t = _v$36);\n _v$37 !== _p$.a && (_el$97.disabled = _p$.a = _v$37);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0\n });\n return _el$94;\n }\n }), null);\n insert(_el$99, () => dataMode() === \"view\" ? \"Explorer\" : \"Editor\", null);\n insert(_el$65, createComponent(Show, {\n get when() {\n return dataMode() === \"view\";\n },\n get children() {\n var _el$101 = _tmpl$322();\n insert(_el$101, createComponent(Explorer, {\n label: \"Data\",\n defaultExpanded: [\"Data\"],\n get value() {\n return activeQueryStateData();\n },\n editable: true,\n onEdit: () => setDataMode(\"edit\"),\n get activeQuery() {\n return activeQuery();\n }\n }));\n createRenderEffect((_$p) => (_$p = tokens.size[2]) != null ? _el$101.style.setProperty(\"padding\", _$p) : _el$101.style.removeProperty(\"padding\"));\n return _el$101;\n }\n }), _el$109);\n insert(_el$65, createComponent(Show, {\n get when() {\n return dataMode() === \"edit\";\n },\n get children() {\n var _el$102 = _tmpl$332(), _el$103 = _el$102.firstChild, _el$104 = _el$103.nextSibling, _el$105 = _el$104.firstChild, _el$106 = _el$105.nextSibling, _el$107 = _el$106.firstChild, _el$108 = _el$107.nextSibling;\n _el$102.addEventListener(\"submit\", (e2) => {\n e2.preventDefault();\n const formData = new FormData(e2.currentTarget);\n const data = formData.get(\"data\");\n try {\n const parsedData = JSON.parse(data);\n activeQuery().setState({\n ...activeQuery().state,\n data: parsedData\n });\n setDataMode(\"view\");\n } catch (error) {\n setDataEditError(true);\n }\n });\n _el$103.addEventListener(\"focus\", () => setDataEditError(false));\n insert(_el$105, () => dataEditError() ? \"Invalid Value\" : \"\");\n _el$107.$$click = () => setDataMode(\"view\");\n createRenderEffect((_p$) => {\n var _v$38 = clsx(styles().devtoolsEditForm, \"tsqd-query-details-data-editor\"), _v$39 = styles().devtoolsEditTextarea, _v$40 = dataEditError(), _v$41 = styles().devtoolsEditFormActions, _v$42 = styles().devtoolsEditFormError, _v$43 = styles().devtoolsEditFormActionContainer, _v$44 = clsx(styles().devtoolsEditFormAction, css`\n color: ${t2(colors.gray[600], colors.gray[300])};\n `), _v$45 = clsx(styles().devtoolsEditFormAction, css`\n color: ${t2(colors.blue[600], colors.blue[400])};\n `);\n _v$38 !== _p$.e && className(_el$102, _p$.e = _v$38);\n _v$39 !== _p$.t && className(_el$103, _p$.t = _v$39);\n _v$40 !== _p$.a && setAttribute(_el$103, \"data-error\", _p$.a = _v$40);\n _v$41 !== _p$.o && className(_el$104, _p$.o = _v$41);\n _v$42 !== _p$.i && className(_el$105, _p$.i = _v$42);\n _v$43 !== _p$.n && className(_el$106, _p$.n = _v$43);\n _v$44 !== _p$.s && className(_el$107, _p$.s = _v$44);\n _v$45 !== _p$.h && className(_el$108, _p$.h = _v$45);\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0,\n n: void 0,\n s: void 0,\n h: void 0\n });\n createRenderEffect(() => _el$103.value = JSON.stringify(activeQueryStateData(), null, 2));\n return _el$102;\n }\n }), _el$109);\n insert(_el$110, createComponent(Explorer, {\n label: \"Query\",\n defaultExpanded: [\"Query\", \"queryKey\"],\n get value() {\n return activeQueryFresh();\n }\n }));\n createRenderEffect((_p$) => {\n var _v$46 = clsx(styles().detailsContainer, \"tsqd-query-details-container\"), _v$47 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$48 = clsx(styles().detailsBody, \"tsqd-query-details-summary-container\"), _v$49 = clsx(styles().queryDetailsStatus, getQueryStatusColors()), _v$50 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$51 = clsx(styles().actionsBody, \"tsqd-query-details-actions-container\"), _v$52 = clsx(css`\n color: ${t2(colors.blue[600], colors.blue[400])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-refetch\"), _v$53 = statusLabel() === \"fetching\", _v$54 = css`\n background-color: ${t2(colors.blue[600], colors.blue[400])};\n `, _v$55 = clsx(css`\n color: ${t2(colors.yellow[600], colors.yellow[400])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-invalidate\"), _v$56 = queryStatus() === \"pending\", _v$57 = css`\n background-color: ${t2(colors.yellow[600], colors.yellow[400])};\n `, _v$58 = clsx(css`\n color: ${t2(colors.gray[600], colors.gray[300])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-reset\"), _v$59 = queryStatus() === \"pending\", _v$60 = css`\n background-color: ${t2(colors.gray[600], colors.gray[400])};\n `, _v$61 = clsx(css`\n color: ${t2(colors.pink[500], colors.pink[400])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-remove\"), _v$62 = statusLabel() === \"fetching\", _v$63 = css`\n background-color: ${t2(colors.pink[500], colors.pink[400])};\n `, _v$64 = clsx(css`\n color: ${t2(colors.cyan[500], colors.cyan[400])};\n `, \"tsqd-query-details-actions-btn\", \"tsqd-query-details-action-loading\"), _v$65 = restoringLoading(), _v$66 = css`\n background-color: ${t2(colors.cyan[500], colors.cyan[400])};\n `, _v$67 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$68 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$69 = tokens.size[2];\n _v$46 !== _p$.e && className(_el$65, _p$.e = _v$46);\n _v$47 !== _p$.t && className(_el$66, _p$.t = _v$47);\n _v$48 !== _p$.a && className(_el$67, _p$.a = _v$48);\n _v$49 !== _p$.o && className(_el$71, _p$.o = _v$49);\n _v$50 !== _p$.i && className(_el$78, _p$.i = _v$50);\n _v$51 !== _p$.n && className(_el$79, _p$.n = _v$51);\n _v$52 !== _p$.s && className(_el$80, _p$.s = _v$52);\n _v$53 !== _p$.h && (_el$80.disabled = _p$.h = _v$53);\n _v$54 !== _p$.r && className(_el$81, _p$.r = _v$54);\n _v$55 !== _p$.d && className(_el$82, _p$.d = _v$55);\n _v$56 !== _p$.l && (_el$82.disabled = _p$.l = _v$56);\n _v$57 !== _p$.u && className(_el$83, _p$.u = _v$57);\n _v$58 !== _p$.c && className(_el$84, _p$.c = _v$58);\n _v$59 !== _p$.w && (_el$84.disabled = _p$.w = _v$59);\n _v$60 !== _p$.m && className(_el$85, _p$.m = _v$60);\n _v$61 !== _p$.f && className(_el$86, _p$.f = _v$61);\n _v$62 !== _p$.y && (_el$86.disabled = _p$.y = _v$62);\n _v$63 !== _p$.g && className(_el$87, _p$.g = _v$63);\n _v$64 !== _p$.p && className(_el$88, _p$.p = _v$64);\n _v$65 !== _p$.b && (_el$88.disabled = _p$.b = _v$65);\n _v$66 !== _p$.T && className(_el$89, _p$.T = _v$66);\n _v$67 !== _p$.A && className(_el$99, _p$.A = _v$67);\n _v$68 !== _p$.O && className(_el$109, _p$.O = _v$68);\n _v$69 !== _p$.I && ((_p$.I = _v$69) != null ? _el$110.style.setProperty(\"padding\", _v$69) : _el$110.style.removeProperty(\"padding\"));\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0,\n n: void 0,\n s: void 0,\n h: void 0,\n r: void 0,\n d: void 0,\n l: void 0,\n u: void 0,\n c: void 0,\n w: void 0,\n m: void 0,\n f: void 0,\n y: void 0,\n g: void 0,\n p: void 0,\n b: void 0,\n T: void 0,\n A: void 0,\n O: void 0,\n I: void 0\n });\n return _el$65;\n }\n });\n};\nvar MutationDetails = () => {\n const theme = useTheme();\n const css = useQueryDevtoolsContext().shadowDOMTarget ? u.bind({\n target: useQueryDevtoolsContext().shadowDOMTarget\n }) : u;\n const styles = createMemo(() => {\n return theme() === \"dark\" ? darkStyles2(css) : lightStyles2(css);\n });\n const {\n colors\n } = tokens;\n const t2 = (light, dark) => theme() === \"dark\" ? dark : light;\n const isPaused = createSubscribeToMutationCacheBatcher((mutationCache) => {\n const mutations = mutationCache().getAll();\n const mutation = mutations.find((m) => m.mutationId === selectedMutationId());\n if (!mutation) return false;\n return mutation.state.isPaused;\n });\n const status = createSubscribeToMutationCacheBatcher((mutationCache) => {\n const mutations = mutationCache().getAll();\n const mutation = mutations.find((m) => m.mutationId === selectedMutationId());\n if (!mutation) return \"idle\";\n return mutation.state.status;\n });\n const color = createMemo(() => getMutationStatusColor({\n isPaused: isPaused(),\n status: status()\n }));\n const activeMutation = createSubscribeToMutationCacheBatcher((mutationCache) => mutationCache().getAll().find((mutation) => mutation.mutationId === selectedMutationId()), false);\n const getQueryStatusColors = () => {\n if (color() === \"gray\") {\n return css`\n background-color: ${t2(colors[color()][200], colors[color()][700])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n border-color: ${t2(colors[color()][400], colors[color()][600])};\n `;\n }\n return css`\n background-color: ${t2(colors[color()][100], colors[color()][900])};\n color: ${t2(colors[color()][700], colors[color()][300])};\n border-color: ${t2(colors[color()][400], colors[color()][600])};\n `;\n };\n return createComponent(Show, {\n get when() {\n return activeMutation();\n },\n get children() {\n var _el$112 = _tmpl$36(), _el$113 = _el$112.firstChild, _el$114 = _el$113.nextSibling, _el$115 = _el$114.firstChild, _el$116 = _el$115.firstChild, _el$117 = _el$116.firstChild, _el$118 = _el$116.nextSibling, _el$119 = _el$115.nextSibling, _el$120 = _el$119.firstChild, _el$121 = _el$120.nextSibling, _el$122 = _el$114.nextSibling, _el$123 = _el$122.nextSibling, _el$124 = _el$123.nextSibling, _el$125 = _el$124.nextSibling, _el$126 = _el$125.nextSibling, _el$127 = _el$126.nextSibling, _el$128 = _el$127.nextSibling, _el$129 = _el$128.nextSibling;\n insert(_el$117, createComponent(Show, {\n get when() {\n return activeMutation().options.mutationKey;\n },\n fallback: \"No mutationKey found\",\n get children() {\n return displayValue(activeMutation().options.mutationKey, true);\n }\n }));\n insert(_el$118, createComponent(Show, {\n get when() {\n return color() === \"purple\";\n },\n children: \"pending\"\n }), null);\n insert(_el$118, createComponent(Show, {\n get when() {\n return color() !== \"purple\";\n },\n get children() {\n return status();\n }\n }), null);\n insert(_el$121, () => new Date(activeMutation().state.submittedAt).toLocaleTimeString());\n insert(_el$123, createComponent(Explorer, {\n label: \"Variables\",\n defaultExpanded: [\"Variables\"],\n get value() {\n return activeMutation().state.variables;\n }\n }));\n insert(_el$125, createComponent(Explorer, {\n label: \"Context\",\n defaultExpanded: [\"Context\"],\n get value() {\n return activeMutation().state.context;\n }\n }));\n insert(_el$127, createComponent(Explorer, {\n label: \"Data\",\n defaultExpanded: [\"Data\"],\n get value() {\n return activeMutation().state.data;\n }\n }));\n insert(_el$129, createComponent(Explorer, {\n label: \"Mutation\",\n defaultExpanded: [\"Mutation\"],\n get value() {\n return activeMutation();\n }\n }));\n createRenderEffect((_p$) => {\n var _v$70 = clsx(styles().detailsContainer, \"tsqd-query-details-container\"), _v$71 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$72 = clsx(styles().detailsBody, \"tsqd-query-details-summary-container\"), _v$73 = clsx(styles().queryDetailsStatus, getQueryStatusColors()), _v$74 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$75 = tokens.size[2], _v$76 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$77 = tokens.size[2], _v$78 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$79 = tokens.size[2], _v$80 = clsx(styles().detailsHeader, \"tsqd-query-details-header\"), _v$81 = tokens.size[2];\n _v$70 !== _p$.e && className(_el$112, _p$.e = _v$70);\n _v$71 !== _p$.t && className(_el$113, _p$.t = _v$71);\n _v$72 !== _p$.a && className(_el$114, _p$.a = _v$72);\n _v$73 !== _p$.o && className(_el$118, _p$.o = _v$73);\n _v$74 !== _p$.i && className(_el$122, _p$.i = _v$74);\n _v$75 !== _p$.n && ((_p$.n = _v$75) != null ? _el$123.style.setProperty(\"padding\", _v$75) : _el$123.style.removeProperty(\"padding\"));\n _v$76 !== _p$.s && className(_el$124, _p$.s = _v$76);\n _v$77 !== _p$.h && ((_p$.h = _v$77) != null ? _el$125.style.setProperty(\"padding\", _v$77) : _el$125.style.removeProperty(\"padding\"));\n _v$78 !== _p$.r && className(_el$126, _p$.r = _v$78);\n _v$79 !== _p$.d && ((_p$.d = _v$79) != null ? _el$127.style.setProperty(\"padding\", _v$79) : _el$127.style.removeProperty(\"padding\"));\n _v$80 !== _p$.l && className(_el$128, _p$.l = _v$80);\n _v$81 !== _p$.u && ((_p$.u = _v$81) != null ? _el$129.style.setProperty(\"padding\", _v$81) : _el$129.style.removeProperty(\"padding\"));\n return _p$;\n }, {\n e: void 0,\n t: void 0,\n a: void 0,\n o: void 0,\n i: void 0,\n n: void 0,\n s: void 0,\n h: void 0,\n r: void 0,\n d: void 0,\n l: void 0,\n u: void 0\n });\n return _el$112;\n }\n });\n};\nvar queryCacheMap = /* @__PURE__ */ new Map();\nvar setupQueryCacheSubscription = () => {\n const queryCache = createMemo(() => {\n const client = useQueryDevtoolsContext().client;\n return client.getQueryCache();\n });\n const unsubscribe = queryCache().subscribe((q) => {\n batch(() => {\n for (const [callback, value] of queryCacheMap.entries()) {\n if (!value.shouldUpdate(q)) continue;\n value.setter(callback(queryCache));\n }\n });\n });\n onCleanup(() => {\n queryCacheMap.clear();\n unsubscribe();\n });\n return unsubscribe;\n};\nvar createSubscribeToQueryCacheBatcher = (callback, equalityCheck = true, shouldUpdate = () => true) => {\n const queryCache = createMemo(() => {\n const client = useQueryDevtoolsContext().client;\n return client.getQueryCache();\n });\n const [value, setValue] = createSignal(callback(queryCache), !equalityCheck ? {\n equals: false\n } : void 0);\n createEffect(() => {\n setValue(callback(queryCache));\n });\n queryCacheMap.set(callback, {\n setter: setValue,\n shouldUpdate\n });\n onCleanup(() => {\n queryCacheMap.delete(callback);\n });\n return value;\n};\nvar mutationCacheMap = /* @__PURE__ */ new Map();\nvar setupMutationCacheSubscription = () => {\n const mutationCache = createMemo(() => {\n const client = useQueryDevtoolsContext().client;\n return client.getMutationCache();\n });\n const unsubscribe = mutationCache().subscribe(() => {\n for (const [callback, setter] of mutationCacheMap.entries()) {\n queueMicrotask(() => {\n setter(callback(mutationCache));\n });\n }\n });\n onCleanup(() => {\n mutationCacheMap.clear();\n unsubscribe();\n });\n return unsubscribe;\n};\nvar createSubscribeToMutationCacheBatcher = (callback, equalityCheck = true) => {\n const mutationCache = createMemo(() => {\n const client = useQueryDevtoolsContext().client;\n return client.getMutationCache();\n });\n const [value, setValue] = createSignal(callback(mutationCache), !equalityCheck ? {\n equals: false\n } : void 0);\n createEffect(() => {\n setValue(callback(mutationCache));\n });\n mutationCacheMap.set(callback, setValue);\n onCleanup(() => {\n mutationCacheMap.delete(callback);\n });\n return value;\n};\nvar DEV_TOOLS_EVENT = \"@tanstack/query-devtools-event\";\nvar sendDevToolsEvent = ({\n type,\n queryHash,\n metadata\n}) => {\n const event = new CustomEvent(DEV_TOOLS_EVENT, {\n detail: {\n type,\n queryHash,\n metadata\n },\n bubbles: true,\n cancelable: true\n });\n window.dispatchEvent(event);\n};\nvar stylesFactory2 = (theme, css) => {\n const {\n colors,\n font,\n size: size3,\n alpha,\n shadow,\n border\n } = tokens;\n const t2 = (light, dark) => theme === \"light\" ? light : dark;\n return {\n devtoolsBtn: css`\n z-index: 100000;\n position: fixed;\n padding: 4px;\n text-align: left;\n\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 9999px;\n box-shadow: ${shadow.md()};\n overflow: hidden;\n\n & div {\n position: absolute;\n top: -8px;\n left: -8px;\n right: -8px;\n bottom: -8px;\n border-radius: 9999px;\n\n & svg {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n filter: blur(6px) saturate(1.2) contrast(1.1);\n }\n\n &:focus-within {\n outline-offset: 2px;\n outline: 3px solid ${colors.green[600]};\n }\n\n & button {\n position: relative;\n z-index: 1;\n padding: 0;\n border-radius: 9999px;\n background-color: transparent;\n border: none;\n height: 40px;\n display: flex;\n width: 40px;\n overflow: hidden;\n cursor: pointer;\n outline: none;\n & svg {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n }\n `,\n panel: css`\n position: fixed;\n z-index: 9999;\n display: flex;\n gap: ${tokens.size[0.5]};\n & * {\n box-sizing: border-box;\n text-transform: none;\n }\n\n & *::-webkit-scrollbar {\n width: 7px;\n }\n\n & *::-webkit-scrollbar-track {\n background: transparent;\n }\n\n & *::-webkit-scrollbar-thumb {\n background: ${t2(colors.gray[300], colors.darkGray[200])};\n }\n\n & *::-webkit-scrollbar-thumb:hover {\n background: ${t2(colors.gray[400], colors.darkGray[300])};\n }\n `,\n parentPanel: css`\n z-index: 9999;\n display: flex;\n height: 100%;\n gap: ${tokens.size[0.5]};\n & * {\n box-sizing: border-box;\n text-transform: none;\n }\n\n & *::-webkit-scrollbar {\n width: 7px;\n }\n\n & *::-webkit-scrollbar-track {\n background: transparent;\n }\n\n & *::-webkit-scrollbar-thumb {\n background: ${t2(colors.gray[300], colors.darkGray[200])};\n }\n\n & *::-webkit-scrollbar-thumb:hover {\n background: ${t2(colors.gray[400], colors.darkGray[300])};\n }\n `,\n \"devtoolsBtn-position-bottom-right\": css`\n bottom: 12px;\n right: 12px;\n `,\n \"devtoolsBtn-position-bottom-left\": css`\n bottom: 12px;\n left: 12px;\n `,\n \"devtoolsBtn-position-top-left\": css`\n top: 12px;\n left: 12px;\n `,\n \"devtoolsBtn-position-top-right\": css`\n top: 12px;\n right: 12px;\n `,\n \"devtoolsBtn-position-relative\": css`\n position: relative;\n `,\n \"panel-position-top\": css`\n top: 0;\n right: 0;\n left: 0;\n max-height: 90%;\n min-height: ${size3[14]};\n border-bottom: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n `,\n \"panel-position-bottom\": css`\n bottom: 0;\n right: 0;\n left: 0;\n max-height: 90%;\n min-height: ${size3[14]};\n border-top: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n `,\n \"panel-position-right\": css`\n bottom: 0;\n right: 0;\n top: 0;\n border-left: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n max-width: 90%;\n `,\n \"panel-position-left\": css`\n bottom: 0;\n left: 0;\n top: 0;\n border-right: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n max-width: 90%;\n `,\n closeBtn: css`\n position: absolute;\n cursor: pointer;\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n background-color: ${t2(colors.gray[50], colors.darkGray[700])};\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n &:focus-visible {\n outline: 2px solid ${colors.blue[600]};\n }\n & svg {\n color: ${t2(colors.gray[600], colors.gray[400])};\n width: ${size3[2]};\n height: ${size3[2]};\n }\n `,\n \"closeBtn-position-top\": css`\n bottom: 0;\n right: ${size3[2]};\n transform: translate(0, 100%);\n border-right: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-left: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-top: none;\n border-bottom: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-radius: 0px 0px ${border.radius.sm} ${border.radius.sm};\n padding: ${size3[0.5]} ${size3[1.5]} ${size3[1]} ${size3[1.5]};\n\n &::after {\n content: ' ';\n position: absolute;\n bottom: 100%;\n left: -${size3[2.5]};\n height: ${size3[1.5]};\n width: calc(100% + ${size3[5]});\n }\n\n & svg {\n transform: rotate(180deg);\n }\n `,\n \"closeBtn-position-bottom\": css`\n top: 0;\n right: ${size3[2]};\n transform: translate(0, -100%);\n border-right: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-left: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-top: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-bottom: none;\n border-radius: ${border.radius.sm} ${border.radius.sm} 0px 0px;\n padding: ${size3[1]} ${size3[1.5]} ${size3[0.5]} ${size3[1.5]};\n\n &::after {\n content: ' ';\n position: absolute;\n top: 100%;\n left: -${size3[2.5]};\n height: ${size3[1.5]};\n width: calc(100% + ${size3[5]});\n }\n `,\n \"closeBtn-position-right\": css`\n bottom: ${size3[2]};\n left: 0;\n transform: translate(-100%, 0);\n border-right: none;\n border-left: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-top: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-bottom: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-radius: ${border.radius.sm} 0px 0px ${border.radius.sm};\n padding: ${size3[1.5]} ${size3[0.5]} ${size3[1.5]} ${size3[1]};\n\n &::after {\n content: ' ';\n position: absolute;\n left: 100%;\n height: calc(100% + ${size3[5]});\n width: ${size3[1.5]};\n }\n\n & svg {\n transform: rotate(-90deg);\n }\n `,\n \"closeBtn-position-left\": css`\n bottom: ${size3[2]};\n right: 0;\n transform: translate(100%, 0);\n border-left: none;\n border-right: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-top: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-bottom: ${t2(colors.gray[400], colors.darkGray[300])} 1px solid;\n border-radius: 0px ${border.radius.sm} ${border.radius.sm} 0px;\n padding: ${size3[1.5]} ${size3[1]} ${size3[1.5]} ${size3[0.5]};\n\n &::after {\n content: ' ';\n position: absolute;\n right: 100%;\n height: calc(100% + ${size3[5]});\n width: ${size3[1.5]};\n }\n\n & svg {\n transform: rotate(90deg);\n }\n `,\n queriesContainer: css`\n flex: 1 1 700px;\n background-color: ${t2(colors.gray[50], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n & * {\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n }\n `,\n dragHandle: css`\n position: absolute;\n transition: background-color 0.125s ease;\n &:hover {\n background-color: ${colors.purple[400]}${t2(\"\", alpha[90])};\n }\n z-index: 4;\n `,\n \"dragHandle-position-top\": css`\n bottom: 0;\n width: 100%;\n height: 3px;\n cursor: ns-resize;\n `,\n \"dragHandle-position-bottom\": css`\n top: 0;\n width: 100%;\n height: 3px;\n cursor: ns-resize;\n `,\n \"dragHandle-position-right\": css`\n left: 0;\n width: 3px;\n height: 100%;\n cursor: ew-resize;\n `,\n \"dragHandle-position-left\": css`\n right: 0;\n width: 3px;\n height: 100%;\n cursor: ew-resize;\n `,\n row: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${tokens.size[2]} ${tokens.size[2.5]};\n gap: ${tokens.size[2.5]};\n border-bottom: ${t2(colors.gray[300], colors.darkGray[500])} 1px solid;\n align-items: center;\n & > button {\n padding: 0;\n background: transparent;\n border: none;\n display: flex;\n gap: ${size3[0.5]};\n flex-direction: column;\n }\n `,\n logoAndToggleContainer: css`\n display: flex;\n gap: ${tokens.size[3]};\n align-items: center;\n `,\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n &:focus-visible {\n outline-offset: 4px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n tanstackLogo: css`\n font-size: ${font.size.md};\n font-weight: ${font.weight.bold};\n line-height: ${font.lineHeight.xs};\n white-space: nowrap;\n color: ${t2(colors.gray[600], colors.gray[300])};\n `,\n queryFlavorLogo: css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(\n to right,\n ${t2(\"#ea4037, #ff9b11\", \"#dd524b, #e9a03b\")}\n );\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n queryStatusContainer: css`\n display: flex;\n gap: ${tokens.size[2]};\n height: min-content;\n `,\n queryStatusTag: css`\n display: flex;\n gap: ${tokens.size[1.5]};\n box-sizing: border-box;\n height: ${tokens.size[6.5]};\n background: ${t2(colors.gray[50], colors.darkGray[500])};\n color: ${t2(colors.gray[700], colors.gray[300])};\n border-radius: ${tokens.border.radius.sm};\n font-size: ${font.size.sm};\n padding: ${tokens.size[1]};\n padding-left: ${tokens.size[1.5]};\n align-items: center;\n font-weight: ${font.weight.medium};\n border: ${t2(\"1px solid \" + colors.gray[300], \"1px solid transparent\")};\n user-select: none;\n position: relative;\n &:focus-visible {\n outline-offset: 2px;\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n queryStatusTagLabel: css`\n font-size: ${font.size.xs};\n `,\n queryStatusCount: css`\n font-size: ${font.size.xs};\n padding: 0 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t2(colors.gray[500], colors.gray[400])};\n background-color: ${t2(colors.gray[200], colors.darkGray[300])};\n border-radius: 2px;\n font-variant-numeric: tabular-nums;\n height: ${tokens.size[4.5]};\n `,\n statusTooltip: css`\n position: absolute;\n z-index: 1;\n background-color: ${t2(colors.gray[50], colors.darkGray[500])};\n top: 100%;\n left: 50%;\n transform: translate(-50%, calc(${tokens.size[2]}));\n padding: ${tokens.size[0.5]} ${tokens.size[2]};\n border-radius: ${tokens.border.radius.sm};\n font-size: ${font.size.xs};\n border: 1px solid ${t2(colors.gray[400], colors.gray[600])};\n color: ${t2(colors[\"gray\"][600], colors[\"gray\"][300])};\n\n &::before {\n top: 0px;\n content: ' ';\n display: block;\n left: 50%;\n transform: translate(-50%, -100%);\n position: absolute;\n border-color: transparent transparent\n ${t2(colors.gray[400], colors.gray[600])} transparent;\n border-style: solid;\n border-width: 7px;\n /* transform: rotate(180deg); */\n }\n\n &::after {\n top: 0px;\n content: ' ';\n display: block;\n left: 50%;\n transform: translate(-50%, calc(-100% + 2px));\n position: absolute;\n border-color: transparent transparent\n ${t2(colors.gray[100], colors.darkGray[500])} transparent;\n border-style: solid;\n border-width: 7px;\n }\n `,\n filtersContainer: css`\n display: flex;\n gap: ${tokens.size[2]};\n & > button {\n cursor: pointer;\n padding: ${tokens.size[0.5]} ${tokens.size[1.5]} ${tokens.size[0.5]}\n ${tokens.size[2]};\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n color: ${t2(colors.gray[700], colors.gray[300])};\n font-size: ${font.size.xs};\n display: flex;\n align-items: center;\n line-height: ${font.lineHeight.sm};\n gap: ${tokens.size[1.5]};\n max-width: 160px;\n &:focus-visible {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n & svg {\n width: ${tokens.size[3]};\n height: ${tokens.size[3]};\n color: ${t2(colors.gray[500], colors.gray[400])};\n }\n }\n `,\n filterInput: css`\n padding: ${size3[0.5]} ${size3[2]};\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n display: flex;\n box-sizing: content-box;\n align-items: center;\n gap: ${tokens.size[1.5]};\n max-width: 160px;\n min-width: 100px;\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n height: min-content;\n color: ${t2(colors.gray[600], colors.gray[400])};\n & > svg {\n width: ${size3[3]};\n height: ${size3[3]};\n }\n & input {\n font-size: ${font.size.xs};\n width: 100%;\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n border: none;\n padding: 0;\n line-height: ${font.lineHeight.sm};\n color: ${t2(colors.gray[700], colors.gray[300])};\n &::placeholder {\n color: ${t2(colors.gray[700], colors.gray[300])};\n }\n &:focus {\n outline: none;\n }\n }\n\n &:focus-within {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n filterSelect: css`\n padding: ${tokens.size[0.5]} ${tokens.size[2]};\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n display: flex;\n align-items: center;\n gap: ${tokens.size[1.5]};\n box-sizing: content-box;\n max-width: 160px;\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n height: min-content;\n & > svg {\n color: ${t2(colors.gray[600], colors.gray[400])};\n width: ${tokens.size[2]};\n height: ${tokens.size[2]};\n }\n & > select {\n appearance: none;\n color: ${t2(colors.gray[700], colors.gray[300])};\n min-width: 100px;\n line-height: ${font.lineHeight.sm};\n font-size: ${font.size.xs};\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n border: none;\n &:focus {\n outline: none;\n }\n }\n &:focus-within {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n actionsContainer: css`\n display: flex;\n gap: ${tokens.size[2]};\n `,\n actionsBtn: css`\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n width: ${tokens.size[6.5]};\n height: ${tokens.size[6.5]};\n justify-content: center;\n display: flex;\n align-items: center;\n gap: ${tokens.size[1.5]};\n max-width: 160px;\n cursor: pointer;\n padding: 0;\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n & svg {\n color: ${t2(colors.gray[700], colors.gray[300])};\n width: ${tokens.size[3]};\n height: ${tokens.size[3]};\n }\n &:focus-visible {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n actionsBtnOffline: css`\n & svg {\n stroke: ${t2(colors.yellow[700], colors.yellow[500])};\n fill: ${t2(colors.yellow[700], colors.yellow[500])};\n }\n `,\n overflowQueryContainer: css`\n flex: 1;\n overflow-y: auto;\n & > div {\n display: flex;\n flex-direction: column;\n }\n `,\n queryRow: css`\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n cursor: pointer;\n color: ${t2(colors.gray[700], colors.gray[300])};\n background-color: ${t2(colors.gray[50], colors.darkGray[700])};\n line-height: 1;\n &:focus {\n outline: none;\n }\n &:focus-visible {\n outline-offset: -2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n &:hover .tsqd-query-hash {\n background-color: ${t2(colors.gray[200], colors.darkGray[600])};\n }\n\n & .tsqd-query-observer-count {\n padding: 0 ${tokens.size[1]};\n user-select: none;\n min-width: ${tokens.size[6.5]};\n align-self: stretch;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: ${font.size.xs};\n font-weight: ${font.weight.medium};\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom: 1px solid ${t2(colors.gray[300], colors.darkGray[700])};\n }\n & .tsqd-query-hash {\n user-select: text;\n font-size: ${font.size.xs};\n display: flex;\n align-items: center;\n min-height: ${tokens.size[6]};\n flex: 1;\n padding: ${tokens.size[1]} ${tokens.size[2]};\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n border-bottom: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n text-align: left;\n text-overflow: clip;\n word-break: break-word;\n }\n\n & .tsqd-query-disabled-indicator {\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0 ${tokens.size[2]};\n color: ${t2(colors.gray[800], colors.gray[300])};\n background-color: ${t2(colors.gray[300], colors.darkGray[600])};\n border-bottom: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n font-size: ${font.size.xs};\n }\n\n & .tsqd-query-static-indicator {\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0 ${tokens.size[2]};\n color: ${t2(colors.teal[800], colors.teal[300])};\n background-color: ${t2(colors.teal[100], colors.teal[900])};\n border-bottom: 1px solid ${t2(colors.teal[300], colors.teal[700])};\n font-size: ${font.size.xs};\n }\n `,\n selectedQueryRow: css`\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n `,\n detailsContainer: css`\n flex: 1 1 700px;\n background-color: ${t2(colors.gray[50], colors.darkGray[700])};\n color: ${t2(colors.gray[700], colors.gray[300])};\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n display: flex;\n text-align: left;\n `,\n detailsHeader: css`\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n position: sticky;\n top: 0;\n z-index: 2;\n background-color: ${t2(colors.gray[200], colors.darkGray[600])};\n padding: ${tokens.size[1.5]} ${tokens.size[2]};\n font-weight: ${font.weight.medium};\n font-size: ${font.size.xs};\n line-height: ${font.lineHeight.xs};\n text-align: left;\n `,\n detailsBody: css`\n margin: ${tokens.size[1.5]} 0px ${tokens.size[2]} 0px;\n & > div {\n display: flex;\n align-items: stretch;\n padding: 0 ${tokens.size[2]};\n line-height: ${font.lineHeight.sm};\n justify-content: space-between;\n & > span {\n font-size: ${font.size.xs};\n }\n & > span:nth-child(2) {\n font-variant-numeric: tabular-nums;\n }\n }\n\n & > div:first-child {\n margin-bottom: ${tokens.size[1.5]};\n }\n\n & code {\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n margin: 0;\n font-size: ${font.size.xs};\n line-height: ${font.lineHeight.xs};\n max-width: 100%;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n word-break: break-word;\n }\n\n & pre {\n margin: 0;\n display: flex;\n align-items: center;\n }\n `,\n queryDetailsStatus: css`\n border: 1px solid ${colors.darkGray[200]};\n border-radius: ${tokens.border.radius.sm};\n font-weight: ${font.weight.medium};\n padding: ${tokens.size[1]} ${tokens.size[2.5]};\n `,\n actionsBody: css`\n flex-wrap: wrap;\n margin: ${tokens.size[2]} 0px ${tokens.size[2]} 0px;\n display: flex;\n gap: ${tokens.size[2]};\n padding: 0px ${tokens.size[2]};\n & > button {\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n font-size: ${font.size.xs};\n padding: ${tokens.size[1]} ${tokens.size[2]};\n display: flex;\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[600])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n align-items: center;\n gap: ${tokens.size[2]};\n font-weight: ${font.weight.medium};\n line-height: ${font.lineHeight.xs};\n cursor: pointer;\n &:focus-visible {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n\n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n\n & > span {\n width: ${size3[1.5]};\n height: ${size3[1.5]};\n border-radius: ${tokens.border.radius.full};\n }\n }\n `,\n actionsSelect: css`\n font-size: ${font.size.xs};\n padding: ${tokens.size[0.5]} ${tokens.size[2]};\n display: flex;\n border-radius: ${tokens.border.radius.sm};\n overflow: hidden;\n background-color: ${t2(colors.gray[100], colors.darkGray[600])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n align-items: center;\n gap: ${tokens.size[2]};\n font-weight: ${font.weight.medium};\n line-height: ${font.lineHeight.sm};\n color: ${t2(colors.red[500], colors.red[400])};\n cursor: pointer;\n position: relative;\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n & > span {\n width: ${size3[1.5]};\n height: ${size3[1.5]};\n border-radius: ${tokens.border.radius.full};\n }\n &:focus-within {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n & select {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n appearance: none;\n background-color: transparent;\n border: none;\n color: transparent;\n outline: none;\n }\n\n & svg path {\n stroke: ${tokens.colors.red[400]};\n }\n & svg {\n width: ${tokens.size[2]};\n height: ${tokens.size[2]};\n }\n `,\n settingsMenu: css`\n display: flex;\n & * {\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n }\n flex-direction: column;\n gap: ${size3[0.5]};\n border-radius: ${tokens.border.radius.sm};\n border: 1px solid ${t2(colors.gray[300], colors.gray[700])};\n background-color: ${t2(colors.gray[50], colors.darkGray[600])};\n font-size: ${font.size.xs};\n color: ${t2(colors.gray[700], colors.gray[300])};\n z-index: 99999;\n min-width: 120px;\n padding: ${size3[0.5]};\n `,\n settingsSubTrigger: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: ${tokens.border.radius.xs};\n padding: ${tokens.size[1]} ${tokens.size[1]};\n cursor: pointer;\n background-color: transparent;\n border: none;\n color: ${t2(colors.gray[700], colors.gray[300])};\n & svg {\n color: ${t2(colors.gray[600], colors.gray[400])};\n transform: rotate(-90deg);\n width: ${tokens.size[2]};\n height: ${tokens.size[2]};\n }\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n &:focus-visible {\n outline-offset: 2px;\n outline: 2px solid ${colors.blue[800]};\n }\n &.data-disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n `,\n settingsMenuHeader: css`\n padding: ${tokens.size[1]} ${tokens.size[1]};\n font-weight: ${font.weight.medium};\n border-bottom: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n color: ${t2(colors.gray[500], colors.gray[400])};\n font-size: ${font.size[\"xs\"]};\n `,\n settingsSubButton: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: ${t2(colors.gray[700], colors.gray[300])};\n font-size: ${font.size[\"xs\"]};\n border-radius: ${tokens.border.radius.xs};\n padding: ${tokens.size[1]} ${tokens.size[1]};\n cursor: pointer;\n background-color: transparent;\n border: none;\n & svg {\n color: ${t2(colors.gray[600], colors.gray[400])};\n }\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n &:focus-visible {\n outline-offset: 2px;\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n themeSelectedButton: css`\n background-color: ${t2(colors.purple[100], colors.purple[900])};\n color: ${t2(colors.purple[700], colors.purple[300])};\n & svg {\n color: ${t2(colors.purple[700], colors.purple[300])};\n }\n &:hover {\n background-color: ${t2(colors.purple[100], colors.purple[900])};\n }\n `,\n viewToggle: css`\n border-radius: ${tokens.border.radius.sm};\n background-color: ${t2(colors.gray[200], colors.darkGray[600])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n display: flex;\n padding: 0;\n font-size: ${font.size.xs};\n color: ${t2(colors.gray[700], colors.gray[300])};\n overflow: hidden;\n\n &:has(:focus-visible) {\n outline: 2px solid ${colors.blue[800]};\n }\n\n & .tsqd-radio-toggle {\n opacity: 0.5;\n display: flex;\n & label {\n display: flex;\n align-items: center;\n cursor: pointer;\n line-height: ${font.lineHeight.md};\n }\n\n & label:hover {\n background-color: ${t2(colors.gray[100], colors.darkGray[500])};\n }\n }\n\n & > [data-checked] {\n opacity: 1;\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n & label:hover {\n background-color: ${t2(colors.gray[100], colors.darkGray[400])};\n }\n }\n\n & .tsqd-radio-toggle:first-child {\n & label {\n padding: 0 ${tokens.size[1.5]} 0 ${tokens.size[2]};\n }\n border-right: 1px solid ${t2(colors.gray[300], colors.darkGray[200])};\n }\n\n & .tsqd-radio-toggle:nth-child(2) {\n & label {\n padding: 0 ${tokens.size[2]} 0 ${tokens.size[1.5]};\n }\n }\n `,\n devtoolsEditForm: css`\n padding: ${size3[2]};\n & > [data-error='true'] {\n outline: 2px solid ${t2(colors.red[200], colors.red[800])};\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n }\n `,\n devtoolsEditTextarea: css`\n width: 100%;\n max-height: 500px;\n font-family: 'Fira Code', monospace;\n font-size: ${font.size.xs};\n border-radius: ${border.radius.sm};\n field-sizing: content;\n padding: ${size3[2]};\n background-color: ${t2(colors.gray[100], colors.darkGray[800])};\n color: ${t2(colors.gray[900], colors.gray[100])};\n border: 1px solid ${t2(colors.gray[200], colors.gray[700])};\n resize: none;\n &:focus {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${t2(colors.blue[200], colors.blue[800])};\n }\n `,\n devtoolsEditFormActions: css`\n display: flex;\n justify-content: space-between;\n gap: ${size3[2]};\n align-items: center;\n padding-top: ${size3[1]};\n font-size: ${font.size.xs};\n `,\n devtoolsEditFormError: css`\n color: ${t2(colors.red[700], colors.red[500])};\n `,\n devtoolsEditFormActionContainer: css`\n display: flex;\n gap: ${size3[2]};\n `,\n devtoolsEditFormAction: css`\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n font-size: ${font.size.xs};\n padding: ${size3[1]} ${tokens.size[2]};\n display: flex;\n border-radius: ${border.radius.sm};\n background-color: ${t2(colors.gray[100], colors.darkGray[600])};\n border: 1px solid ${t2(colors.gray[300], colors.darkGray[400])};\n align-items: center;\n gap: ${size3[2]};\n font-weight: ${font.weight.medium};\n line-height: ${font.lineHeight.xs};\n cursor: pointer;\n &:focus-visible {\n outline-offset: 2px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n &:hover {\n background-color: ${t2(colors.gray[200], colors.darkGray[500])};\n }\n\n &:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n `\n };\n};\nvar lightStyles2 = (css) => stylesFactory2(\"light\", css);\nvar darkStyles2 = (css) => stylesFactory2(\"dark\", css);\ndelegateEvents([\"click\", \"mousedown\", \"input\"]);\n/*! Bundled license information:\n\n@tanstack/match-sorter-utils/build/lib/index.mjs:\n (**\n * match-sorter-utils\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n *)\n (**\n * @name match-sorter\n * @license MIT license.\n * @copyright (c) 2099 Kent C. Dodds\n * @author Kent C. Dodds <me@kentcdodds.com> (https://kentcdodds.com)\n *)\n\n@kobalte/utils/dist/index.js:\n (*!\n * Portions of this file are based on code from ariakit.\n * MIT Licensed, Copyright (c) Diego Haz.\n *\n * Credits to the Ariakit team:\n * https://github.com/ariakit/ariakit/blob/da142672eddefa99365773ced72171facc06fdcb/packages/ariakit-utils/src/array.ts\n *)\n (*!\n * Original code by Chakra UI\n * MIT Licensed, Copyright (c) 2019 Segun Adebayo.\n *\n * Credits to the Chakra UI team:\n * https://github.com/chakra-ui/chakra-ui/blob/main/packages/utils/src/assertion.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/solidjs-community/solid-aria/blob/2c5f54feb5cfea514b1ee0a52d0416878f882351/packages/utils/src/createGlobalListeners.ts\n *)\n (*!\n * Portions of this file are based on code from ariakit.\n * MIT Licensed, Copyright (c) Diego Haz.\n *\n * Credits to the Ariakit team:\n * https://github.com/ariakit/ariakit/blob/232bc79018ec20967fec1e097a9474aba3bb5be7/packages/ariakit-utils/src/dom.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/cf9ab24f3255be1530d0f584061a01aa1e8180e6/packages/@react-aria/utils/src/platform.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/a9dea8a3672179e6c38aafd1429daf44c7ea2ff6/packages/@react-aria/utils/src/focusWithoutScrolling.ts\n *)\n (*!\n * Portions of this file are based on code from ariakit.\n * MIT Licensed, Copyright (c) Diego Haz.\n *\n * Credits to the Ariakit team:\n * https://github.com/ariakit/ariakit/blob/main/packages/ariakit-utils/src/focus.ts\n *\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/focus/src/isElementVisible.ts\n * https://github.com/adobe/react-spectrum/blob/8f2f2acb3d5850382ebe631f055f88c704aa7d17/packages/@react-aria/focus/src/FocusScope.tsx\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/f6e686fe9d3b983d48650980c1ecfdde320bc62f/packages/@react-aria/focus/src/FocusScope.tsx\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/a9dea8a3672179e6c38aafd1429daf44c7ea2ff6/packages/@react-aria/utils/src/getScrollParent.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/a9dea8a3672179e6c38aafd1429daf44c7ea2ff6/packages/@react-aria/utils/src/isVirtualEvent.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/ff3e690fffc6c54367b8057e28a0e5b9211f37b5/packages/@react-stately/utils/src/number.ts\n *)\n (*!\n * Portions of this file are based on code from ariakit.\n * MIT Licensed, Copyright (c) Diego Haz.\n *\n * Credits to the Ariakit team:\n * https://github.com/ariakit/ariakit/blob/84e97943ad637a582c01c9b56d880cd95f595737/packages/ariakit/src/hovercard/__utils/polygon.ts\n * https://github.com/ariakit/ariakit/blob/f2a96973de523d67e41eec983263936c489ef3e2/packages/ariakit/src/hovercard/__utils/debug-polygon.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/a9dea8a3672179e6c38aafd1429daf44c7ea2ff6/packages/@react-aria/utils/src/runAfterTransition.ts\n *)\n (*!\n * Portions of this file are based on code from react-spectrum.\n * Apache License Version 2.0, Copyright 2020 Adobe.\n *\n * Credits to the React Spectrum team:\n * https://github.com/adobe/react-spectrum/blob/8f2f2acb3d5850382ebe631f055f88c704aa7d17/packages/@react-aria/utils/src/scrollIntoView.ts\n *)\n*/\n\nexport { ContentView, Devtools, ParentPanel, PiPProvider, QueryDevtoolsContext, THEME_PREFERENCE, ThemeContext, createLocalStorage };\n","import { createLocalStorage, THEME_PREFERENCE, QueryDevtoolsContext, PiPProvider, ThemeContext, Devtools } from '../chunk/ZDWCUMSJ.js';\nimport { getPreferredColorScheme, createMemo, createComponent } from '../chunk/EIDV623S.js';\n\n// src/DevtoolsComponent.tsx\nvar DevtoolsComponent = (props) => {\n const [localStore, setLocalStore] = createLocalStorage({\n prefix: \"TanstackQueryDevtools\"\n });\n const colorScheme = getPreferredColorScheme();\n const theme = createMemo(() => {\n const preference = localStore.theme_preference || THEME_PREFERENCE;\n if (preference !== \"system\") return preference;\n return colorScheme();\n });\n return createComponent(QueryDevtoolsContext.Provider, {\n value: props,\n get children() {\n return createComponent(PiPProvider, {\n localStore,\n setLocalStore,\n get children() {\n return createComponent(ThemeContext.Provider, {\n value: theme,\n get children() {\n return createComponent(Devtools, {\n localStore,\n setLocalStore\n });\n }\n });\n }\n });\n }\n });\n};\nvar DevtoolsComponent_default = DevtoolsComponent;\n\nexport { DevtoolsComponent_default as default };\n","import { createLocalStorage, THEME_PREFERENCE, QueryDevtoolsContext, PiPProvider, ThemeContext, ParentPanel, ContentView } from '../chunk/ZDWCUMSJ.js';\nimport { getPreferredColorScheme, createMemo, createComponent } from '../chunk/EIDV623S.js';\n\n// src/DevtoolsPanelComponent.tsx\nvar DevtoolsPanelComponent = (props) => {\n const [localStore, setLocalStore] = createLocalStorage({\n prefix: \"TanstackQueryDevtools\"\n });\n const colorScheme = getPreferredColorScheme();\n const theme = createMemo(() => {\n const preference = localStore.theme_preference || THEME_PREFERENCE;\n if (preference !== \"system\") return preference;\n return colorScheme();\n });\n return createComponent(QueryDevtoolsContext.Provider, {\n value: props,\n get children() {\n return createComponent(PiPProvider, {\n disabled: true,\n localStore,\n setLocalStore,\n get children() {\n return createComponent(ThemeContext.Provider, {\n value: theme,\n get children() {\n return createComponent(ParentPanel, {\n get children() {\n return createComponent(ContentView, {\n localStore,\n setLocalStore,\n get onClose() {\n return props.onClose;\n },\n showPanelViewOnly: true\n });\n }\n });\n }\n });\n }\n });\n }\n });\n};\nvar DevtoolsPanelComponent_default = DevtoolsPanelComponent;\n\nexport { DevtoolsPanelComponent_default as default };\n","import { createSignal, render, lazy, setupStyleSheet, createComponent, mergeProps } from './chunk/EIDV623S.js';\n\n// src/TanstackQueryDevtools.tsx\nvar TanstackQueryDevtools = class {\n #client;\n #onlineManager;\n #queryFlavor;\n #version;\n #isMounted = false;\n #styleNonce;\n #shadowDOMTarget;\n #buttonPosition;\n #position;\n #initialIsOpen;\n #errorTypes;\n #hideDisabledQueries;\n #Component;\n #dispose;\n constructor(config) {\n const {\n client,\n queryFlavor,\n version,\n onlineManager,\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n styleNonce,\n shadowDOMTarget,\n hideDisabledQueries\n } = config;\n this.#client = createSignal(client);\n this.#queryFlavor = queryFlavor;\n this.#version = version;\n this.#onlineManager = onlineManager;\n this.#styleNonce = styleNonce;\n this.#shadowDOMTarget = shadowDOMTarget;\n this.#buttonPosition = createSignal(buttonPosition);\n this.#position = createSignal(position);\n this.#initialIsOpen = createSignal(initialIsOpen);\n this.#errorTypes = createSignal(errorTypes);\n this.#hideDisabledQueries = createSignal(hideDisabledQueries);\n }\n setButtonPosition(position) {\n this.#buttonPosition[1](position);\n }\n setPosition(position) {\n this.#position[1](position);\n }\n setInitialIsOpen(isOpen) {\n this.#initialIsOpen[1](isOpen);\n }\n setErrorTypes(errorTypes) {\n this.#errorTypes[1](errorTypes);\n }\n setClient(client) {\n this.#client[1](client);\n }\n mount(el) {\n if (this.#isMounted) {\n throw new Error(\"Devtools is already mounted\");\n }\n const dispose = render(() => {\n const _self$ = this;\n const [btnPosition] = this.#buttonPosition;\n const [pos] = this.#position;\n const [isOpen] = this.#initialIsOpen;\n const [errors] = this.#errorTypes;\n const [hideDisabledQueries] = this.#hideDisabledQueries;\n const [queryClient] = this.#client;\n let Devtools;\n if (this.#Component) {\n Devtools = this.#Component;\n } else {\n Devtools = lazy(() => import('./DevtoolsComponent/NCMVHL6D.js'));\n this.#Component = Devtools;\n }\n setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);\n return createComponent(Devtools, mergeProps({\n get queryFlavor() {\n return _self$.#queryFlavor;\n },\n get version() {\n return _self$.#version;\n },\n get onlineManager() {\n return _self$.#onlineManager;\n },\n get shadowDOMTarget() {\n return _self$.#shadowDOMTarget;\n }\n }, {\n get client() {\n return queryClient();\n },\n get buttonPosition() {\n return btnPosition();\n },\n get position() {\n return pos();\n },\n get initialIsOpen() {\n return isOpen();\n },\n get errorTypes() {\n return errors();\n },\n get hideDisabledQueries() {\n return hideDisabledQueries();\n }\n }));\n }, el);\n this.#isMounted = true;\n this.#dispose = dispose;\n }\n unmount() {\n if (!this.#isMounted) {\n throw new Error(\"Devtools is not mounted\");\n }\n this.#dispose?.();\n this.#isMounted = false;\n }\n};\n\n// src/TanstackQueryDevtoolsPanel.tsx\nvar TanstackQueryDevtoolsPanel = class {\n #client;\n #onlineManager;\n #queryFlavor;\n #version;\n #isMounted = false;\n #styleNonce;\n #shadowDOMTarget;\n #buttonPosition;\n #position;\n #initialIsOpen;\n #errorTypes;\n #hideDisabledQueries;\n #onClose;\n #Component;\n #dispose;\n constructor(config) {\n const {\n client,\n queryFlavor,\n version,\n onlineManager,\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n styleNonce,\n shadowDOMTarget,\n onClose,\n hideDisabledQueries\n } = config;\n this.#client = createSignal(client);\n this.#queryFlavor = queryFlavor;\n this.#version = version;\n this.#onlineManager = onlineManager;\n this.#styleNonce = styleNonce;\n this.#shadowDOMTarget = shadowDOMTarget;\n this.#buttonPosition = createSignal(buttonPosition);\n this.#position = createSignal(position);\n this.#initialIsOpen = createSignal(initialIsOpen);\n this.#errorTypes = createSignal(errorTypes);\n this.#hideDisabledQueries = createSignal(hideDisabledQueries);\n this.#onClose = createSignal(onClose);\n }\n setButtonPosition(position) {\n this.#buttonPosition[1](position);\n }\n setPosition(position) {\n this.#position[1](position);\n }\n setInitialIsOpen(isOpen) {\n this.#initialIsOpen[1](isOpen);\n }\n setErrorTypes(errorTypes) {\n this.#errorTypes[1](errorTypes);\n }\n setClient(client) {\n this.#client[1](client);\n }\n setOnClose(onClose) {\n this.#onClose[1](() => onClose);\n }\n mount(el) {\n if (this.#isMounted) {\n throw new Error(\"Devtools is already mounted\");\n }\n const dispose = render(() => {\n const _self$ = this;\n const [btnPosition] = this.#buttonPosition;\n const [pos] = this.#position;\n const [isOpen] = this.#initialIsOpen;\n const [errors] = this.#errorTypes;\n const [hideDisabledQueries] = this.#hideDisabledQueries;\n const [queryClient] = this.#client;\n const [onClose] = this.#onClose;\n let Devtools;\n if (this.#Component) {\n Devtools = this.#Component;\n } else {\n Devtools = lazy(() => import('./DevtoolsPanelComponent/2AITGKQY.js'));\n this.#Component = Devtools;\n }\n setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);\n return createComponent(Devtools, mergeProps({\n get queryFlavor() {\n return _self$.#queryFlavor;\n },\n get version() {\n return _self$.#version;\n },\n get onlineManager() {\n return _self$.#onlineManager;\n },\n get shadowDOMTarget() {\n return _self$.#shadowDOMTarget;\n }\n }, {\n get client() {\n return queryClient();\n },\n get buttonPosition() {\n return btnPosition();\n },\n get position() {\n return pos();\n },\n get initialIsOpen() {\n return isOpen();\n },\n get errorTypes() {\n return errors();\n },\n get hideDisabledQueries() {\n return hideDisabledQueries();\n },\n get onClose() {\n return onClose();\n }\n }));\n }, el);\n this.#isMounted = true;\n this.#dispose = dispose;\n }\n unmount() {\n if (!this.#isMounted) {\n throw new Error(\"Devtools is not mounted\");\n }\n this.#dispose?.();\n this.#isMounted = false;\n }\n};\n\nexport { TanstackQueryDevtools, TanstackQueryDevtoolsPanel };\n","'use client'\nimport * as React from 'react'\nimport { onlineManager, useQueryClient } from '@tanstack/react-query'\nimport { TanstackQueryDevtools } from '@tanstack/query-devtools'\nimport type {\n DevtoolsButtonPosition,\n DevtoolsErrorType,\n DevtoolsPosition,\n} from '@tanstack/query-devtools'\nimport type { QueryClient } from '@tanstack/react-query'\n\nexport interface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * The position of the React Query logo to open and close the devtools panel.\n * 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n * Defaults to 'bottom-right'.\n */\n buttonPosition?: DevtoolsButtonPosition\n /**\n * The position of the React Query devtools panel.\n * 'top' | 'bottom' | 'left' | 'right'\n * Defaults to 'bottom'.\n */\n position?: DevtoolsPosition\n /**\n * Custom instance of QueryClient\n */\n client?: QueryClient\n /**\n * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: Array<DevtoolsErrorType>\n /**\n * Use this to pass a nonce to the style tag that is added to the document head. This is useful if you are using a Content Security Policy (CSP) nonce to allow inline styles.\n */\n styleNonce?: string\n /**\n * Use this so you can attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n /**\n * Set this to true to hide disabled queries from the devtools panel.\n */\n hideDisabledQueries?: boolean\n}\n\nexport function ReactQueryDevtools(\n props: DevtoolsOptions,\n): React.ReactElement | null {\n const queryClient = useQueryClient(props.client)\n const ref = React.useRef<HTMLDivElement>(null)\n const {\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n styleNonce,\n shadowDOMTarget,\n hideDisabledQueries,\n } = props\n const [devtools] = React.useState(\n new TanstackQueryDevtools({\n client: queryClient,\n queryFlavor: 'React Query',\n version: '5',\n onlineManager,\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n styleNonce,\n shadowDOMTarget,\n hideDisabledQueries,\n }),\n )\n\n React.useEffect(() => {\n devtools.setClient(queryClient)\n }, [queryClient, devtools])\n\n React.useEffect(() => {\n if (buttonPosition) {\n devtools.setButtonPosition(buttonPosition)\n }\n }, [buttonPosition, devtools])\n\n React.useEffect(() => {\n if (position) {\n devtools.setPosition(position)\n }\n }, [position, devtools])\n\n React.useEffect(() => {\n devtools.setInitialIsOpen(initialIsOpen || false)\n }, [initialIsOpen, devtools])\n\n React.useEffect(() => {\n devtools.setErrorTypes(errorTypes || [])\n }, [errorTypes, devtools])\n\n React.useEffect(() => {\n if (ref.current) {\n devtools.mount(ref.current)\n }\n\n return () => {\n devtools.unmount()\n }\n }, [devtools])\n\n return <div dir=\"ltr\" className=\"tsqd-parent-container\" ref={ref}></div>\n}\n","'use client'\nimport * as React from 'react'\nimport { onlineManager, useQueryClient } from '@tanstack/react-query'\nimport { TanstackQueryDevtoolsPanel } from '@tanstack/query-devtools'\nimport type { DevtoolsErrorType } from '@tanstack/query-devtools'\nimport type { QueryClient } from '@tanstack/react-query'\n\nexport interface DevtoolsPanelOptions {\n /**\n * Custom instance of QueryClient\n */\n client?: QueryClient\n /**\n * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: Array<DevtoolsErrorType>\n /**\n * Use this to pass a nonce to the style tag that is added to the document head. This is useful if you are using a Content Security Policy (CSP) nonce to allow inline styles.\n */\n styleNonce?: string\n /**\n * Use this so you can attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n\n /**\n * Custom styles for the devtools panel\n * @default { height: '500px' }\n * @example { height: '100%' }\n * @example { height: '100%', width: '100%' }\n */\n style?: React.CSSProperties\n\n /**\n * Callback function that is called when the devtools panel is closed\n */\n onClose?: () => unknown\n /**\n * Set this to true to hide disabled queries from the devtools panel.\n */\n hideDisabledQueries?: boolean\n}\n\nexport function ReactQueryDevtoolsPanel(\n props: DevtoolsPanelOptions,\n): React.ReactElement | null {\n const queryClient = useQueryClient(props.client)\n const ref = React.useRef<HTMLDivElement>(null)\n const { errorTypes, styleNonce, shadowDOMTarget, hideDisabledQueries } = props\n const [devtools] = React.useState(\n new TanstackQueryDevtoolsPanel({\n client: queryClient,\n queryFlavor: 'React Query',\n version: '5',\n onlineManager,\n buttonPosition: 'bottom-left',\n position: 'bottom',\n initialIsOpen: true,\n errorTypes,\n styleNonce,\n shadowDOMTarget,\n onClose: props.onClose,\n hideDisabledQueries,\n }),\n )\n\n React.useEffect(() => {\n devtools.setClient(queryClient)\n }, [queryClient, devtools])\n\n React.useEffect(() => {\n devtools.setOnClose(props.onClose ?? (() => {}))\n }, [props.onClose, devtools])\n\n React.useEffect(() => {\n devtools.setErrorTypes(errorTypes || [])\n }, [errorTypes, devtools])\n\n React.useEffect(() => {\n if (ref.current) {\n devtools.mount(ref.current)\n }\n\n return () => {\n devtools.unmount()\n }\n }, [devtools])\n\n return (\n <div\n style={{ height: '500px', ...props.style }}\n className=\"tsqd-parent-container\"\n ref={ref}\n ></div>\n )\n}\n","'use client'\n\nimport * as Devtools from './ReactQueryDevtools'\nimport * as DevtoolsPanel from './ReactQueryDevtoolsPanel'\n\nexport const ReactQueryDevtools: (typeof Devtools)['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : Devtools.ReactQueryDevtools\n\nexport const ReactQueryDevtoolsPanel: (typeof DevtoolsPanel)['ReactQueryDevtoolsPanel'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : DevtoolsPanel.ReactQueryDevtoolsPanel\n\nexport type DevtoolsPanelOptions = DevtoolsPanel.DevtoolsPanelOptions\n","import { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\nimport type { ReactNode } from 'react'\nimport { useState } from 'react'\n\ninterface QueryProviderProps {\n children: ReactNode\n}\n\nexport const QueryProvider = ({ children }: QueryProviderProps) => {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000, // 5分钟\n gcTime: 10 * 60 * 1000, // 10分钟 (原 cacheTime)\n retry: 3,\n retryDelay: (attemptIndex: number) => Math.min(1000 * 2 ** attemptIndex, 30000),\n refetchOnWindowFocus: false,\n refetchOnReconnect: true,\n },\n mutations: {\n retry: 1,\n retryDelay: 1000,\n },\n },\n }),\n )\n\n return (\n <QueryClientProvider client={queryClient}>\n {children}\n {process.env.NODE_ENV === 'development' && <ReactQueryDevtools initialIsOpen={false} />}\n </QueryClientProvider>\n )\n}\n","import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: 'No permission, please contact the administrator.',\n name: 'Name',\n creationTime: 'Creation Time',\n operation: 'Operation',\n update: 'Update',\n edit: 'Edit',\n delete: 'Delete',\n selectAll: 'Select All',\n game: 'Game',\n user: 'User',\n role: 'Role',\n username: 'Username',\n password: 'Password',\n label: 'Label',\n method: 'Method',\n route: 'Route',\n request: 'Request',\n response: 'Response',\n add: 'Add',\n signIn: 'Sign In',\n projectGroup: 'Project Group',\n view: 'View',\n },\n SignIn: {\n title: 'Sign In Method',\n thirdParty: 'Third party sign in',\n signInWithIDass: 'Sign in with IDass',\n unregistered: 'You are not yet registered on the platform, please contact the administrator',\n welcome: 'Welcome',\n },\n NotFound: {\n subTitle: 'The page you visited does not exist',\n buttonText: 'Return to homepage',\n },\n FilterFormWrapper: {\n confirmText: 'Search',\n resetText: 'Reset',\n },\n FormModal: {\n confirmText: 'Confirm',\n cancelText: 'Cancel',\n },\n GameSelect: {\n label: 'Current Game',\n placeholder: 'Please select a game',\n },\n RequireGame: {\n description: 'Please select a game',\n },\n UserWidget: {\n signOutText: 'Sign Out',\n },\n User: {\n createTitle: 'Create User',\n createSuccessfully: 'User created successfully',\n updateTitle: 'Update User',\n updateSuccessfully: 'User updated successfully',\n deleteTitle: 'Delete User',\n deleteContent: 'Are you sure you want to delete user <%= user %>?',\n deleteSuccessfully: 'User deleted successfully',\n },\n Role: {\n createTitle: 'Create Role',\n createSuccessfully: 'Role created successfully',\n updateTitle: 'Update Role',\n updateSuccessfully: 'Role updated successfully',\n deleteTitle: 'Delete Role',\n deleteContent: 'Are you sure you want to delete role <%= role %>?',\n deleteSuccessfully: 'Role deleted successfully',\n },\n PermissionList: {\n failedDescription: 'Failed to get permission list',\n baseSectionTitle: 'Platform Basic Permissions',\n gameSectionTitle: 'Game Permissions',\n gameSectionDescription: 'Please select a game first',\n gameSelectPlaceholder: 'Please select a game first',\n removeText: 'Remove',\n addText: 'Add Game Permissions',\n },\n RoleDetail: {\n title: 'Role Details',\n },\n InfiniteList: {\n loadingText: 'Loading...',\n reachEndText: \"You've reached the end\",\n loadMoreText: 'Load more',\n },\n}\n\nexport default locale\n","export const SSO_URL = 'https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1'\n\nexport const APP_ID_HEADER = 'App-ID'\n\nexport const FRONTEND_ROUTE_PREFIX = '/console/'\n\nexport enum PermissionVersion {\n V1 = 'v1',\n V2 = 'v2',\n V3 = 'v3',\n}\n\nexport const WILDCARD = '*'\n","// import type { AxiosInterceptorManager, AxiosResponse, InternalAxiosRequestConfig } from 'axios'\nimport type { StateCreator } from 'zustand'\n\nimport type { Locale } from '@/components/locale'\nimport enGb from '@/components/locale/en_GB'\nimport { PermissionVersion } from '@/constants'\n\nexport interface ContextSlice {\n locale: Locale\n permissionVersion: PermissionVersion // 权限版本\n gameApiV2: boolean\n signInPath: string // 登录页前端路由地址\n isGlobal: boolean // 为 true 时,APP-ID header 为 'global',否则为当前的游戏的 id。\n navWidth?: number // 侧边栏宽度\n collapsed?: boolean\n collapsible?: boolean // 菜单是否可折叠\n mainPagePath: string // 首页地址\n setContext(state: Partial<Omit<ContextSlice, 'setContext'>>): void\n}\n\nexport const createContextSlice: StateCreator<ContextSlice, [], [], ContextSlice> = set => ({\n locale: enGb,\n gameApiV2: false,\n isGlobal: false,\n signInPath: '/sign_in',\n mainPagePath: '/',\n permissionVersion: PermissionVersion.V1,\n setContext(state) {\n set(prev => ({ ...prev, ...state }))\n },\n})\n","import type { StateCreator } from 'zustand'\n\nexport interface GameSlice {\n gameId?: string | number\n setGameId: (id?: string | number) => void\n}\n\nexport const createGameSlice: StateCreator<GameSlice, [], [], GameSlice> = set => ({\n setGameId: id => {\n set({ gameId: id })\n },\n})\n","import { jwtDecode } from 'jwt-decode'\nimport type { StateCreator } from 'zustand'\n\ninterface UserInfo {\n authorityId: string\n exp: number\n}\n\nexport interface TokenSlice {\n token?: string\n getUser: () => UserInfo | null\n setToken: (token: string) => void\n}\n\nexport const createTokenSlice: StateCreator<TokenSlice, [], []> = (set, get) => ({\n getUser: () => {\n const token = get().token\n if (token) {\n try {\n return jwtDecode(token)\n } catch {\n return null\n }\n }\n return null\n },\n setToken: token => set({ token }),\n})\n","import { createStore } from 'zustand'\nimport { createJSONStorage, persist } from 'zustand/middleware'\n\nimport { mixedStorage } from '@/utils'\n\nimport { type ContextSlice, createContextSlice } from './context'\nimport type { GameSlice } from './game'\nimport { createGameSlice } from './game'\nimport type { TokenSlice } from './token'\nimport { createTokenSlice } from './token'\n\nexport type ToolkitsState = TokenSlice &\n GameSlice &\n ContextSlice & {\n clearToken: () => void\n }\n\nexport const createToolkitsStore = (initProps?: Partial<ContextSlice>) => {\n return createStore<ToolkitsState>()(\n persist(\n (...args) => {\n const [, get, store] = args\n\n const clearToken = () => {\n get().setToken('')\n store.persist.clearStorage()\n }\n\n return {\n ...createTokenSlice(...args),\n ...createGameSlice(...args),\n ...createContextSlice(...args),\n clearToken,\n ...initProps,\n }\n },\n {\n name: 'toolkits',\n storage: createJSONStorage(() => mixedStorage),\n partialize: state => ({\n token: state.token,\n gameId: state.gameId,\n collapsed: state.collapsed,\n }),\n },\n ),\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { App } from 'antd'\nimport type { ComponentType, FC, PropsWithChildren } from 'react'\nimport { createContext, useContext, useRef } from 'react'\nimport { useStore } from 'zustand'\n\nimport { QueryProvider } from '@/providers/QueryProvider'\nimport type { ToolkitsState } from '@/stores'\nimport { createToolkitsStore } from '@/stores'\nimport type { ContextSlice } from '@/stores/context'\n\ntype ToolkitsStore = ReturnType<typeof createToolkitsStore>\n\nconst ToolkitsContext = createContext<ToolkitsStore | null>(null)\n\n// 重载函数签名:支持有 selector 和无 selector 两种调用方式\nexport function useToolkitsStore(): ToolkitsState\nexport function useToolkitsStore<T>(selector: (state: ToolkitsState) => T): T\nexport function useToolkitsStore<T>(selector?: (state: ToolkitsState) => T): T | ToolkitsState {\n const store = useContext(ToolkitsContext)\n if (!store) throw new Error('Missing ToolkitsProvider in the tree')\n\n // 总是调用 useStore,根据是否有 selector 决定使用什么选择器\n return useStore(store, selector || ((state: ToolkitsState) => state as T))\n}\n\nexport type ToolkitsProviderProps = PropsWithChildren<Partial<Omit<ContextSlice, 'setContext'>>>\n\nconst ToolkitsProvider: FC<ToolkitsProviderProps> = props => {\n const { children, ...restProps } = props\n const storeRef = useRef<ToolkitsStore>()\n const parentState = useContext(ToolkitsContext)?.getState()\n\n if (!storeRef.current) {\n storeRef.current = createToolkitsStore({ ...parentState, ...restProps })\n }\n\n if (!storeRef.current.getState().signInPath) {\n throw new Error('ToolkitsProvider: 请配置 \"signInPath\"')\n }\n\n return (\n <QueryProvider>\n <ToolkitsContext.Provider value={storeRef.current}>\n <App>{children}</App>\n </ToolkitsContext.Provider>\n </QueryProvider>\n )\n}\n\nexport const withContext = (Component: ComponentType, providerProps: Omit<ToolkitsProviderProps, 'children'>) => {\n const WrappedComponent = (props: any) => {\n return (\n <ToolkitsProvider {...providerProps}>\n <Component {...props} />\n </ToolkitsProvider>\n )\n }\n\n WrappedComponent.displayName = `withContext(${Component.displayName || Component.name || 'Component'})`\n\n return WrappedComponent\n}\n\nif (process.env.NODE_ENV !== 'production') {\n ToolkitsProvider.displayName = 'ToolkitsProvider'\n}\n\nexport default ToolkitsProvider\n","export type { ToolkitsProviderProps } from './ToolkitsProvider'\nexport { default as ToolkitsProvider, useToolkitsStore, withContext } from './ToolkitsProvider'\n","import { get, has, template } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport type { Locale } from './index'\n\ntype Join<K, P> = K extends string | number\n ? P extends string | number\n ? `${K}${'' extends P ? '' : '.'}${P}`\n : never\n : never\n\ntype Paths<T, D extends number = 10> = [D] extends [never]\n ? never\n : T extends object\n ? {\n [K in keyof T]-?: K extends string | number ? `${K}` | Join<K, Paths<T[K]>> : never\n }[keyof T]\n : ''\n\nexport function useTranslation() {\n const locale = useToolkitsStore(state => state.locale)\n\n const t = useMemo(\n () => (key: Paths<Locale>, data?: Record<string, unknown>) =>\n has(locale, key) ? template(get(locale, key as string))(data) : key,\n [locale],\n )\n\n return { t }\n}\n","export type Locale = {\n global: {\n noEntitlement: string\n name: string\n creationTime: string\n operation: string\n update: string\n edit: string\n delete: string\n selectAll: string\n game: string\n user: string\n role: string\n username: string\n password: string\n label: string\n method: string\n route: string\n request: string\n response: string\n add: string\n signIn: string\n projectGroup: string\n view: string\n }\n SignIn: {\n title: string\n thirdParty: string\n signInWithIDass: string\n unregistered: string\n welcome: string\n }\n NotFound: {\n subTitle: string\n buttonText: string\n }\n FilterFormWrapper: {\n confirmText: string\n resetText: string\n }\n FormModal: {\n confirmText: string\n cancelText: string\n }\n GameSelect: {\n label: string\n placeholder: string\n }\n RequireGame: {\n description: string\n }\n UserWidget: {\n signOutText: string\n }\n User: {\n createTitle: string\n createSuccessfully: string\n updateTitle: string\n updateSuccessfully: string\n deleteTitle: string\n deleteContent: string\n deleteSuccessfully: string\n }\n Role: {\n createTitle: string\n createSuccessfully: string\n updateTitle: string\n updateSuccessfully: string\n deleteTitle: string\n deleteContent: string\n deleteSuccessfully: string\n }\n PermissionList: {\n failedDescription: string\n baseSectionTitle: string\n gameSectionTitle: string\n gameSectionDescription: string\n gameSelectPlaceholder: string\n removeText: string\n addText: string\n }\n RoleDetail: {\n title: string\n }\n InfiniteList: {\n loadingText: string\n reachEndText: string\n loadMoreText: string\n }\n}\n\nexport { useTranslation } from './hooks'\n","import { Button, Space, theme } from 'antd'\nimport type { Key, PropsWithChildren, ReactNode } from 'react'\nimport { Fragment } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nexport interface FilterFormWrapperProps extends PropsWithChildren {\n onConfirm?: () => void | Promise<void>\n onReset?: () => void\n extras?: { key: Key; children: ReactNode }[]\n isConfirming?: boolean\n buttonsAlign?: 'left' | 'right' | 'bottom'\n showReset?: boolean\n}\n\nconst FilterFormWrapper = (props: FilterFormWrapperProps) => {\n const { extras, isConfirming, onConfirm, onReset, children, buttonsAlign = 'left', showReset } = props\n const { t } = useTranslation()\n const {\n token: { colorFillAlter, lineWidth, lineType, colorBorder, borderRadiusLG },\n } = theme.useToken()\n\n const style = {\n maxWidth: 'none',\n background: colorFillAlter,\n borderWidth: lineWidth,\n borderStyle: lineType,\n borderColor: colorBorder,\n borderRadius: borderRadiusLG,\n padding: 24,\n marginBottom: 24,\n }\n\n return (\n <div style={style}>\n <div className={`flex ${buttonsAlign === 'bottom' ? 'flex-col' : 'flex-row'}`}>\n <div className={`${buttonsAlign === 'left' ? 'flex-grow-0' : 'flex-1'}`}>{children}</div>\n <div className={`${buttonsAlign === 'bottom' ? 'text-end' : 'text-start'} ml-4`}>\n <Space>\n <Button type=\"primary\" loading={isConfirming} onClick={onConfirm}>\n {t('FilterFormWrapper.confirmText')}\n </Button>\n {extras?.map(item => <Fragment key={item.key}>{item.children}</Fragment>)}\n {showReset && <Button onClick={onReset}>{t('FilterFormWrapper.resetText')}</Button>}\n </Space>\n </div>\n </div>\n </div>\n )\n}\n\nexport default FilterFormWrapper\n","export type { FilterFormWrapperProps } from './FilterFormWrapper'\nexport { default as FilterFormWrapper } from './FilterFormWrapper'\n","import type { PropsWithChildren, ReactNode } from 'react'\nimport { useEffect, useState } from 'react'\nimport { flushSync } from 'react-dom'\nimport { createRoot } from 'react-dom/client'\n\nconst splitByTags = (str: string) => {\n const regex = /(<[^>]*>)/\n return str.split(regex).filter(part => part !== '')\n}\n\nfunction renderToString(node: ReactNode): Promise<string> {\n const container = document.createElement('div')\n const root = createRoot(container)\n\n return new Promise(resolve => {\n setTimeout(() => {\n flushSync(() => {\n root.render(node)\n })\n resolve(container.innerHTML)\n })\n })\n}\n\nexport interface HighlightProps extends PropsWithChildren {\n texts: Array<string | number>\n}\n\nconst Highlight = (props: HighlightProps) => {\n const { texts, children } = props\n const [htmlString, setHtmlString] = useState<string>('')\n\n useEffect(() => {\n renderToString(children).then(str => {\n const result = splitByTags(str)\n\n for (const text of texts) {\n for (let index = 0; index < result.length; index++) {\n // TODO: 忽略 HTML tag\n result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`)\n }\n }\n\n setHtmlString(result.join(''))\n })\n }, [children, texts])\n\n return <div dangerouslySetInnerHTML={{ __html: htmlString }}></div>\n}\n\nexport default Highlight\n","export type { HighlightProps } from './Highlight'\nexport { default as Highlight } from './Highlight'\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { notification } from 'antd'\nimport ky, { type KyInstance, type Options as KyOptions } from 'ky'\nimport { useCallback, useMemo } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\n\n// 响应成功状态码常量\nconst SUCCESS_RESPONSE_CODES = [0, 1, 200] as const\n\n// HTTP 状态码常量\nconst HTTP_STATUS = {\n OK: 200,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n UNREGISTERED: 412,\n} as const\n\n// 请求超时时间(毫秒)\nconst REQUEST_TIMEOUT = 30000\n\n// 成功响应状态码字段类型\ntype StatusField = 'code' | 'status' | 'errno'\n\n// 状态码检查配置\ninterface StatusCheckConfig {\n field: StatusField\n value: unknown\n allowedCodes: readonly number[]\n}\n\n// 响应类型枚举\nexport enum ResponseType {\n JSON = 'json',\n BLOB = 'blob',\n TEXT = 'text',\n ARRAY_BUFFER = 'arrayBuffer',\n FORM_DATA = 'formData',\n}\n\n// 通用请求选项接口\ninterface RequestOptions extends KyOptions {\n responseType?: ResponseType\n}\n\n// HTTP客户端方法接口 - 支持泛型响应类型\ninterface KyMethods {\n get: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n post: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n put: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n delete: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n patch: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n options: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n head: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n request: <T = any>(options: RequestOptions & { url: string }) => Promise<T>\n instance: KyInstance\n}\n\n// 错误消息提取工具函数\nconst extractErrorMessage = (data: any): string => {\n if (!data || typeof data !== 'object') {\n return 'Unknown error'\n }\n\n return data.msg || data.message || data.error || 'Unknown error'\n}\n\n/**\n * 检查单个状态码字段是否成功\n * @param config 状态码检查配置\n * @returns 是否成功\n */\nconst isStatusCodeSuccess = (config: StatusCheckConfig): boolean => {\n const { value, allowedCodes } = config\n\n if (value === undefined || value === null) {\n return false\n }\n\n if (typeof value !== 'number') {\n return false\n }\n\n return allowedCodes.includes(value)\n}\n\n/**\n * 判断响应是否成功\n * @param data 响应数据\n * @param status HTTP状态码\n * @returns 是否成功\n */\nconst isSuccessResponse = (data: any, status: number): boolean => {\n // HTTP 状态码 2xx 范围认为成功\n if (status >= HTTP_STATUS.OK && status < 300) {\n return true\n }\n\n if (!data || typeof data !== 'object') {\n return false\n }\n\n // 定义状态码检查配置\n const statusChecks: StatusCheckConfig[] = [\n { field: 'code', value: data.code, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'status', value: data.status, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'errno', value: data.errno, allowedCodes: SUCCESS_RESPONSE_CODES },\n ]\n\n // 检查任一状态码字段是否成功\n return statusChecks.some(isStatusCodeSuccess)\n}\n\n/**\n * 根据响应类型处理响应数据\n * @param response 响应对象\n * @param responseType 响应类型\n * @returns 处理后的响应数据\n */\nconst processResponseByType = async (response: Response, responseType?: ResponseType): Promise<any> => {\n switch (responseType) {\n case ResponseType.BLOB:\n return response.blob()\n case ResponseType.TEXT:\n return response.text()\n case ResponseType.ARRAY_BUFFER:\n return response.arrayBuffer()\n case ResponseType.FORM_DATA:\n return response.formData()\n case ResponseType.JSON:\n default:\n return response.json()\n }\n}\n\n/**\n * 创建响应处理函数\n * @param responseType 响应类型\n * @returns 响应处理函数\n */\nconst createResponseHandler = (responseType?: ResponseType) => {\n return async (_request: any, _options: any, response: Response): Promise<Response> => {\n const contentType = response.headers.get('content-type') || ''\n\n // 处理二进制类型响应(blob、arrayBuffer等)\n if (responseType === ResponseType.BLOB || responseType === ResponseType.ARRAY_BUFFER) {\n return response\n }\n\n // 处理文本类型响应\n if (responseType === ResponseType.TEXT) {\n return response\n }\n\n // 处理表单数据响应\n if (responseType === ResponseType.FORM_DATA) {\n return response\n }\n\n // 处理 JSON 响应\n if (contentType.includes('application/json') || responseType === ResponseType.JSON) {\n const data: any = await response.json()\n\n if (isSuccessResponse(data, response.status)) {\n // 创建新的 Response 对象,返回 data 字段或整个响应数据\n const responseData = data.data !== undefined ? data.data : data\n return new Response(JSON.stringify(responseData), {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n })\n }\n\n // 提取错误信息,支持多种错误消息字段\n const errorMessage = extractErrorMessage(data)\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n\n // 抛出错误,包含原始数据\n const error = new Error(errorMessage)\n ;(error as any).response = response\n ;(error as any).data = data\n throw error\n }\n\n return response\n }\n}\n\n/**\n * HTTP客户端Hook (基于 Ky) - 内部使用版本\n * @param baseURL 可选的基础URL\n * @returns HTTP客户端方法集合\n */\nexport const useKy = (baseURL?: string): KyMethods => {\n // 获取工具包状态\n const toolkitsStore = useToolkitsStore()\n const { token, isGlobal, gameId, permissionVersion, signInPath, clearToken } = toolkitsStore\n\n // 处理未授权错误\n const handleUnauthorized = useCallback(() => {\n clearToken()\n if (signInPath) {\n window.location.href = signInPath\n }\n }, [clearToken, signInPath])\n\n // 处理未注册错误\n const handleUnregistered = useCallback(() => {\n clearToken()\n if (signInPath) {\n // 添加未注册参数到登录页 URL\n const url = new URL(signInPath, window.location.origin)\n url.searchParams.set('unregistered', 'true')\n window.location.href = url.toString()\n }\n }, [clearToken, signInPath])\n\n // 处理禁止访问错误\n const handleForbidden = useCallback(() => {\n notification.error({\n message: '访问被禁止',\n description: '您没有权限访问此资源。',\n })\n }, [])\n\n // 处理HTTP状态码错误\n const handleHttpStatusError = useCallback(\n (status: number, data: any) => {\n switch (status) {\n case HTTP_STATUS.UNAUTHORIZED:\n handleUnauthorized()\n break\n\n case HTTP_STATUS.UNREGISTERED:\n handleUnregistered()\n break\n\n case HTTP_STATUS.FORBIDDEN:\n handleForbidden()\n break\n\n default: {\n // 安全地提取错误消息\n const errorMessage = extractErrorMessage(data) || `HTTP ${status} Error`\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n break\n }\n }\n },\n [handleUnauthorized, handleUnregistered, handleForbidden],\n )\n\n // 创建ky实例\n const instance = useMemo(() => {\n const kyInstance = ky.create({\n prefixUrl: baseURL,\n timeout: REQUEST_TIMEOUT,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n hooks: {\n beforeRequest: [\n request => {\n // 设置认证 headers\n if (token) {\n request.headers.set('Authorization', `Bearer ${token}`)\n }\n\n // 设置应用 ID headers\n if (!request.headers.has(APP_ID_HEADER) && permissionVersion !== PermissionVersion.V1) {\n if (isGlobal || !gameId) {\n request.headers.set(APP_ID_HEADER, 'global')\n } else {\n // 对 gameId 进行 URL 编码以避免非 ASCII 字符导致的 XMLHttpRequest 错误\n request.headers.set(APP_ID_HEADER, encodeURIComponent(String(gameId)))\n }\n }\n },\n ],\n afterResponse: [\n async (_request, _options, response) => {\n const contentType = response.headers.get('content-type') || ''\n\n // 处理 Blob 类型响应\n if (contentType.includes('application/octet-stream')) {\n return response\n }\n\n // 处理 JSON 响应\n if (contentType.includes('application/json')) {\n const data: any = await response.json()\n\n if (isSuccessResponse(data, response.status)) {\n return new Response(JSON.stringify(data), {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n })\n }\n\n // 提取错误信息,支持多种错误消息字段\n const errorMessage = extractErrorMessage(data)\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n\n // 抛出错误,包含原始数据\n const error = new Error(errorMessage)\n ;(error as any).response = response\n ;(error as any).data = data\n throw error\n }\n\n return response\n },\n ],\n beforeError: [\n async error => {\n const { response } = error\n\n if (response) {\n const status = response.status\n let data: any\n\n try {\n const contentType = response.headers.get('content-type') || ''\n if (contentType.includes('application/json')) {\n data = await response.json()\n }\n } catch {\n // 忽略 JSON 解析错误\n }\n\n handleHttpStatusError(status, data)\n } else {\n // 网络错误或请求超时等情况\n notification.error({\n message: 'Network Error',\n description: error.message || 'Network request failed',\n })\n }\n\n return error\n },\n ],\n },\n })\n\n return kyInstance\n }, [baseURL, token, isGlobal, gameId, permissionVersion, handleHttpStatusError])\n\n // 通用请求处理函数\n const makeRequest = useCallback(\n async <T = any>(method: string, url: string, data?: any, requestOptions?: RequestOptions): Promise<T> => {\n const { responseType, ...kyOptions } = requestOptions || {}\n\n // 创建带有响应类型处理器的请求选项\n const finalOptions: KyOptions = {\n ...kyOptions,\n hooks: {\n ...kyOptions.hooks,\n afterResponse: [...(kyOptions.hooks?.afterResponse || []), createResponseHandler(responseType)],\n },\n }\n\n let response: Response\n\n if (data) {\n response = await instance(url, { method, json: data, ...finalOptions })\n } else {\n response = await instance(url, { method, ...finalOptions })\n }\n\n // 根据响应类型返回相应数据\n return processResponseByType(response, responseType)\n },\n [instance],\n )\n\n // HTTP方法\n const get = useCallback(\n <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('GET', url, undefined, options)\n },\n [makeRequest],\n )\n\n const post = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('POST', url, data, options)\n },\n [makeRequest],\n )\n\n const put = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PUT', url, data, options)\n },\n [makeRequest],\n )\n\n const del = useCallback(\n <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('DELETE', url, undefined, options)\n },\n [makeRequest],\n )\n\n const patch = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PATCH', url, data, options)\n },\n [makeRequest],\n )\n\n const options = useCallback(\n <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('OPTIONS', url, undefined, requestOptions)\n },\n [makeRequest],\n )\n\n const head = useCallback(\n <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('HEAD', url, undefined, requestOptions)\n },\n [makeRequest],\n )\n\n const request = useCallback(\n <T = any>(requestOptions: RequestOptions & { url: string }): Promise<T> => {\n const { url, ...requestOpts } = requestOptions\n return makeRequest<T>(requestOpts.method || 'GET', url, undefined, requestOpts)\n },\n [makeRequest],\n )\n\n return useMemo(\n () => ({\n get,\n post,\n put,\n delete: del,\n patch,\n options,\n head,\n request,\n instance,\n }),\n [get, post, put, del, patch, options, head, request, instance],\n )\n}\n","export { useKy } from './use-ky'\n","// 查询键工厂 - 使用简单的对象和函数来生成查询键\nexport const queryKeys = {\n // 权限相关\n permissions: {\n check: (permissions: string[], version: 'v1' | 'v2') => ['permissions', 'check', permissions, version] as const,\n allPermissions: ['permissions', 'all'] as const,\n allPermissionsV2: ['permissions', 'allV2'] as const,\n },\n // 用户相关\n users: {\n all: ['users'] as const,\n detail: (id: string) => ['users', 'detail', id] as const,\n create: ['users', 'create'] as const,\n update: ['users', 'update'] as const,\n delete: ['users', 'delete'] as const,\n },\n // 角色相关\n roles: {\n all: ['roles'] as const,\n detail: (name: string, version: 'v1' | 'v2') => ['roles', 'detail', name, version] as const,\n create: (version: 'v1' | 'v2') => ['roles', 'create', version] as const,\n update: (version: 'v1' | 'v2') => ['roles', 'update', version] as const,\n delete: ['roles', 'delete'] as const,\n },\n // 菜单相关\n menus: {\n all: ['menus'] as const,\n navbar: (gameId?: string) => ['menus', 'navbar', gameId] as const,\n detail: (id: number) => ['menus', 'detail', id] as const,\n create: ['menus', 'create'] as const,\n update: ['menus', 'update'] as const,\n delete: ['menus', 'delete'] as const,\n },\n // 枚举相关\n enums: {\n gameGroups: ['enums', 'gameGroups'] as const,\n gameIds: (gameGroups: string[]) => ['enums', 'gameIds', gameGroups] as const,\n },\n}\n\nexport type QueryKeys = typeof queryKeys\n","import { useQuery } from '@tanstack/react-query'\nimport type { Options as KyOptions } from 'ky'\n\nimport type { Game } from '@/components/layout/types'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function usePermission(code?: string | string[], config?: KyOptions) {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const url = permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check'\n const permissionCodes: string[] = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n const version = permissionVersion !== PermissionVersion.V1 ? 'v2' : 'v1'\n\n const { data, ...rest } = useQuery({\n queryKey:\n permissionCodes.length > 0 ? queryKeys.permissions.check(permissionCodes, version) : ['permissions', 'disabled'],\n queryFn: () =>\n ky.post<Record<string, boolean> & { has_all?: boolean }>(url, {\n json: { permissions: permissionCodes },\n ...config,\n }),\n enabled: permissionCodes.length > 0,\n })\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n }\n}\n\nexport function useMenuList() {\n const { signInPath, gameId } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.menus.navbar(gameId ? String(gameId) : undefined),\n queryFn: () =>\n ky.get<MenuListItem[]>('/api/usystem/menu/navbar', {\n headers: { [APP_ID_HEADER]: gameId ? encodeURIComponent(String(gameId)) : 'global' },\n }),\n enabled: window.location.pathname !== signInPath,\n })\n}\n\nexport const useGames = () => {\n const { gameApiV2, permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const url =\n permissionVersion !== PermissionVersion.V1 ? (gameApiV2 ? '/api/game/list' : '/api/usystem/game/all') : null\n\n return useQuery({\n queryKey: queryKeys.enums.gameGroups, // 复用现有的 key,或者可以创建专门的 games key\n queryFn: async () => {\n if (!url) return []\n\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (gameApiV2) {\n const response = await ky.get<{ list: Game[] }>(url, requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>(url, requestConfig)\n return response ?? []\n },\n enabled: !!url,\n staleTime: Infinity, \n })\n}\n","import { create } from 'zustand'\n\ninterface ModalState {\n open: Map<number, boolean>\n usedIds: Set<number>\n isOpen: (uuid: number) => boolean\n show: (uuid: number) => void\n hide: (uuid: number) => void\n hideAll: () => void\n checkUniqueness: (uuid: number) => boolean\n registerIds: (uuid: number) => boolean\n cleanup: (uuid: number) => void\n}\n\nexport const useModalStore = create<ModalState>((set, get) => ({\n open: new Map(),\n usedIds: new Set(),\n isOpen: uuid => get().open.get(uuid) ?? false,\n show(uuid) {\n set({\n open: new Map(get().open).set(uuid, true),\n })\n },\n hide(uuid) {\n set({ open: new Map(get().open).set(uuid, false) })\n },\n hideAll() {\n set({ open: new Map() })\n },\n checkUniqueness(uuid) {\n const { usedIds } = get()\n return !usedIds.has(uuid)\n },\n registerIds(uuid) {\n const { usedIds } = get()\n if (usedIds.has(uuid)) {\n return false // ID 已被使用\n }\n set({ usedIds: new Set(usedIds).add(uuid) })\n return true // 注册成功\n },\n cleanup(uuid) {\n const { open, usedIds } = get()\n const newOpen = new Map(open)\n const newUsedIds = new Set(usedIds)\n newOpen.delete(uuid)\n newUsedIds.delete(uuid)\n set({ open: newOpen, usedIds: newUsedIds })\n },\n}))\n","import type { ModalProps } from 'antd'\nimport { Modal } from 'antd'\nimport { type ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useModalStore } from './stores'\n\nexport interface UseModalOperation {\n hide: () => void\n}\n\nexport interface UseModalProps extends Omit<ModalProps, 'open' | 'confirmLoading' | 'onOk' | 'onCancel'> {\n content?: ReactNode | ((operation: UseModalOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n afterClose?: () => void | Promise<void>\n}\n\nexport function useModal(props: UseModalProps) {\n const { content, onConfirm, afterOpen, afterClose, ...modalProps } = props\n\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen, cleanup } = useModalStore()\n\n // 组件销毁时清理 ID\n useEffect(() => {\n return () => {\n cleanup(_id)\n }\n }, [_id, cleanup])\n\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onCancel: ModalProps['onCancel'] = useCallback(async () => {\n _hide()\n await afterClose?.()\n }, [_hide, afterClose])\n\n const onOk = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n _hide()\n await afterClose?.()\n } catch (error) {\n console.error('Modal confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm, _hide, afterClose])\n\n const internalModal = (\n <Modal {...modalProps} open={open} confirmLoading={confirmLoading} onOk={onOk} onCancel={onCancel}>\n {isRenderFunction ? content({ hide: _hide }) : content}\n </Modal>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n modal: internalModal,\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useModal, type UseModalOperation, type UseModalProps } from './modal'\n\nexport interface UseFormModalProps<Values extends AnyObject = AnyObject, ExtraValues = any>\n extends Omit<UseModalProps, 'onConfirm' | 'content' | 'onShow' | 'afterClose'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseModalOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n afterClose?: (form: FormInstance<Values>) => void\n}\n\nexport function useFormModal<Values extends AnyObject = AnyObject, ExtraValues = any>(\n props: UseFormModalProps<Values, ExtraValues>,\n) {\n const { content, form, formProps, onConfirm, onSuccess, afterClose, ...modalProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n let [internalForm] = Form.useForm<Values>()\n internalForm = form || internalForm\n\n const isRenderFunction = typeof content === 'function'\n\n const { id, show, hide, modal } = useModal({\n ...modalProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? content(internalExtraValues, operation) : content}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose: () => {\n afterClose?.(internalForm)\n },\n })\n\n const showForm = useCallback(\n (options?: { initialValues?: RecursivePartial<Values>; extraValues?: ExtraValues }) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: showForm,\n hide,\n modal,\n }\n}\n","export { useFormModal, type UseFormModalProps } from './formModal'\nexport { useModal } from './modal'\nexport { useModalStore } from './stores'\n","import type { ButtonProps } from 'antd'\nimport { Button, Tooltip } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { usePermission } from '@/services'\n\nexport interface PermissionButtonProps extends ButtonProps {\n code?: string | string[]\n showLoading?: boolean\n config?: KyOptions\n}\n\nconst PermissionButton: FC<PropsWithChildren<PermissionButtonProps>> = props => {\n const { children, code, showLoading, disabled, config, ...restProps } = props\n const codes = code ? (Array.isArray(code) ? code : [code]) : []\n const { data, isLoading } = usePermission(codes, config)\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <Button loading={showLoading} disabled={!showLoading} {...restProps}>\n {children}\n </Button>\n )\n }\n\n // 只要有一个权限即可\n if (typeof data === 'boolean' || (data && Object.values(data).some(Boolean))) {\n return (\n <Button disabled={disabled} {...restProps}>\n {children}\n </Button>\n )\n }\n\n return (\n <Tooltip defaultOpen={false} title={t('global.noEntitlement')}>\n <Button disabled {...restProps}>\n {children}\n </Button>\n </Tooltip>\n )\n}\n\nexport default PermissionButton\n","export type { PermissionButtonProps } from './PermissionButton'\nexport { default as PermissionButton } from './PermissionButton'\n","import { isEqual } from 'lodash-es'\nimport { create } from 'zustand'\nimport { devtools, subscribeWithSelector } from 'zustand/middleware'\n\nimport type { QueryListPayload } from './QueryList'\n\n// Query 更新函数类型\ntype QueryRefetchFunction = () => void | Promise<unknown>\n\n// QueryList 实例信息\ninterface QueryListInstance {\n id: string\n url: string\n queryKey: readonly unknown[]\n payload: QueryListPayload\n refetch: QueryRefetchFunction\n}\n\n// 简化的状态接口\ninterface QueryListState {\n // 实例管理\n instances: Map<string, QueryListInstance>\n\n // 核心方法\n registerInstance(id: string, url: string, queryKey: readonly unknown[], refetch: QueryRefetchFunction): void\n unregisterInstance(id: string): void\n updatePayload(id: string, payload: QueryListPayload): void\n getPayload(id: string): QueryListPayload\n refetch(id: string, payload?: QueryListPayload): Promise<void>\n\n // 工具方法\n getInstance(id: string): QueryListInstance | undefined\n getAllInstances(): QueryListInstance[]\n}\n\n// 创建简化的 store\nconst createStore = () =>\n create<QueryListState>()(\n devtools(\n subscribeWithSelector((set, get) => ({\n instances: new Map(),\n\n registerInstance(id, url, queryKey, refetch) {\n set(state => {\n const existingInstance = state.instances.get(id)\n\n // 如果实例已存在,只更新refetch函数\n if (existingInstance) {\n const updatedInstance = {\n ...existingInstance,\n refetch,\n }\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n return { instances: newInstances }\n }\n\n // 创建新实例\n const instance: QueryListInstance = {\n id,\n url,\n queryKey,\n payload: { page: 1, size: 10, formValue: {} },\n refetch,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, instance)\n\n return { instances: newInstances }\n })\n },\n\n unregisterInstance(id) {\n set(state => {\n const newInstances = new Map(state.instances)\n const existed = newInstances.delete(id)\n\n if (existed) {\n return { instances: newInstances }\n }\n return state\n })\n },\n\n updatePayload(id, payload) {\n set(state => {\n const instance = state.instances.get(id)\n if (!instance) return state\n\n const newPayload = { ...instance.payload, ...payload }\n\n // 只有当 payload 真正改变时才更新\n if (!isEqual(instance.payload, newPayload)) {\n const updatedInstance = {\n ...instance,\n payload: newPayload,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n\n return { instances: newInstances }\n }\n\n return state\n })\n },\n\n getPayload(id) {\n const instance = get().instances.get(id)\n return instance?.payload ?? { page: 1, size: 10, formValue: {} }\n },\n\n async refetch(id, payload) {\n const instance = get().instances.get(id)\n if (!instance) {\n console.warn(`QueryList instance with id \"${id}\" not found`)\n return\n }\n\n // 更新 payload 如果提供且确实有变化\n if (payload) {\n const currentPayload = instance.payload\n const newPayload = { ...currentPayload, ...payload }\n\n // 只有当 payload 真正改变时才更新\n if (!isEqual(currentPayload, newPayload)) {\n get().updatePayload(id, payload)\n }\n }\n\n // 调用 refetch 函数\n try {\n await instance.refetch()\n } catch (error) {\n console.error(`Failed to refetch QueryList instance \"${id}\":`, error)\n throw error\n }\n },\n\n getInstance(id) {\n return get().instances.get(id)\n },\n\n getAllInstances() {\n return Array.from(get().instances.values())\n },\n })),\n {\n name: 'query-list-store',\n },\n ),\n )\n\n// 创建 store 实例\nconst store = createStore()\n\nexport const useQueryListStore = store\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useQuery } from '@tanstack/react-query'\nimport type { FormInstance } from 'antd'\nimport { Form, Result, Spin, Table } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { TableProps } from 'antd/es/table'\nimport type { Options as KyOptions } from 'ky'\nimport type { ReactElement, ReactNode, Ref } from 'react'\nimport { cloneElement, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\n\nimport type { FilterFormWrapperProps } from '@/components/filterFormWrapper'\nimport { FilterFormWrapper } from '@/components/filterFormWrapper'\nimport { useTranslation } from '@/components/locale'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nimport { useQueryListStore } from './stores'\n\nexport interface ListResponse<T = any> {\n list: T[]\n total: number\n}\n\nexport interface QueryListPayload<Values = any> {\n page?: number\n size?: number\n formValue?: Values\n}\n\nexport interface QueryListRequestConfig<Values = any> {\n url: string\n method?: 'GET' | 'POST'\n body?:\n | FormData\n | Record<string | number, any>\n | ((payload: QueryListPayload<Values>) => FormData | Record<string | number, any>)\n params?: Record<string | number, any> | ((payload: QueryListPayload<Values>) => Record<string | number, any>)\n headers?: Record<string, string> | ((form: FormInstance<Values>) => Record<string, string>)\n // 缓存配置\n cacheTime?: number // 缓存时间(毫秒)\n staleTime?: number // 数据新鲜时间(毫秒)\n}\n\nexport enum QueryListAction {\n Confirm,\n Reset,\n Jump,\n Init,\n}\n\nexport interface QueryListDataType<Item> {\n dataSource: Item[]\n total: number\n}\n\nexport interface QueryListRef<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any> {\n data: Data | undefined\n dataSource: Item[] | undefined\n form: FormInstance<Values>\n}\n\nexport interface QueryListProps<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any>\n extends Omit<TableProps<Item>, 'pagination' | 'dataSource' | 'loading' | 'footer'>,\n Pick<FilterFormWrapperProps, 'buttonsAlign' | 'showReset'> {\n identifier: string // 必需的标识符,用于标识和外部控制\n code?: string\n form?: FormInstance<Values>\n refreshInterval?: number\n onePage?: boolean // 无分页\n defaultSize?: number\n pageSizeOptions?: number[]\n request: QueryListRequestConfig<Values> // 必需的请求配置\n tableExtra?: ReactNode | ((form: FormInstance<Values>, data?: Data) => ReactNode)\n renderForm?: (form: FormInstance<Values>) => ReactElement\n afterSuccess?: (action: QueryListAction, form: FormInstance<Values>, data?: Data) => void\n afterError?: (error: Error, action: QueryListAction, form: FormInstance<Values>) => void\n getTotal?: (data: Data | undefined) => number | undefined\n getDataSource?: (data: Data | undefined, form: FormInstance<Values>) => Item[] | undefined\n footer?: (data: Data | undefined) => ReactNode\n}\n\nconst InternalQueryList = <Item extends AnyObject = AnyObject, Values extends AnyObject = any, Data = any>(\n props: QueryListProps<Item, Values, Data>,\n ref: Ref<QueryListRef<Item, Values, Data>>,\n) => {\n const internalProps = {\n defaultSize: 10,\n refreshInterval: 0,\n getTotal: (data: Data | undefined) => (data as ListResponse<Item>)?.total,\n getDataSource: (data: Data | undefined) => (data as ListResponse<Item>)?.list,\n ...props,\n }\n\n const {\n identifier,\n code,\n onePage,\n buttonsAlign,\n showReset,\n defaultSize,\n refreshInterval,\n tableExtra,\n form,\n request,\n renderForm,\n afterSuccess,\n afterError,\n getTotal,\n getDataSource,\n footer,\n pageSizeOptions,\n ...tableProps\n } = internalProps\n\n if (!identifier) {\n throw new Error('identifier property is required')\n }\n\n const {\n url,\n method = 'GET',\n body,\n params,\n headers,\n cacheTime = 5 * 60 * 1000, // 默认缓存5分钟\n staleTime = 30 * 1000, // 默认30秒内数据新鲜\n } = request\n\n const { t } = useTranslation()\n const [formInstance] = Form.useForm<Values>(form)\n const action = useRef<QueryListAction>(QueryListAction.Init)\n const { data: accessible, isLoading: isChecking } = usePermission(code)\n const [isValid, setIsValid] = useState(false)\n const store = useQueryListStore()\n const ky = useKy()\n const isInitialized = useRef(false)\n\n const { page, size = defaultSize, formValue } = store.getPayload(identifier)\n\n const payload = { page, size, formValue }\n\n const defaultRequestData = useMemo(\n () => ({\n ...formValue,\n ...(!onePage && { page, size }),\n }),\n [formValue, onePage, page, size],\n )\n\n const requestBody = useMemo(() => {\n if (typeof body === 'function') {\n return body(payload)\n }\n return body ?? (method === 'POST' ? defaultRequestData : undefined)\n }, [body, payload, method, defaultRequestData])\n\n const requestParams = useMemo(() => {\n if (typeof params === 'function') {\n return params(payload)\n }\n return params ?? (method === 'GET' ? defaultRequestData : undefined)\n }, [params, payload, method, defaultRequestData])\n\n const requestHeaders = useMemo(\n () => (typeof headers === 'function' ? headers(formInstance) : headers),\n [headers, formInstance],\n )\n\n const shouldPoll = useRef(false)\n\n const queryKey = useMemo(() => {\n const baseKey = ['queryList', url, identifier]\n\n // 如果不可访问或无效,添加禁用标识\n if (!accessible || !isValid) {\n return [...baseKey, 'disabled']\n }\n\n // 添加查询参数,确保参数变化时重新查询\n return [...baseKey, page, size, JSON.stringify(formValue)]\n }, [url, identifier, accessible, isValid, page, size, formValue])\n\n const { data, isLoading, refetch } = useQuery({\n queryKey,\n queryFn: async () => {\n try {\n const kyOptions: KyOptions = {\n method: method as any,\n searchParams: requestParams,\n headers: requestHeaders,\n }\n\n if (requestBody) {\n if (requestBody instanceof FormData) {\n kyOptions.body = requestBody\n } else {\n kyOptions.json = requestBody\n }\n }\n\n const response = await ky.request<Data>({ url, ...kyOptions })\n shouldPoll.current = true\n afterSuccess?.(action.current, formInstance, response)\n return response\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n afterError?.(errorObj, action.current, formInstance)\n throw errorObj\n }\n },\n enabled: accessible && isValid,\n retry: (failureCount, retryError) => {\n // 自定义重试逻辑\n if (failureCount >= 3) return false\n if (retryError?.message?.includes('401')) return false // 认证错误不重试\n return true\n },\n retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 30000), // 指数退避\n refetchOnWindowFocus: false,\n refetchInterval: shouldPoll.current ? refreshInterval : 0,\n // 缓存配置\n gcTime: cacheTime,\n staleTime,\n })\n\n // 在组件挂载时注册实例,避免循环依赖\n useEffect(() => {\n useQueryListStore.getState().registerInstance(identifier, url, queryKey, refetch)\n return () => {\n useQueryListStore.getState().unregisterInstance(identifier)\n }\n }, [identifier])\n\n const dataSource = getDataSource(data as Data, formInstance)\n const total = getTotal(data as Data)\n\n const pagination = !onePage && {\n pageSizeOptions,\n showSizeChanger: true,\n showQuickJumper: true,\n current: page,\n pageSize: size,\n total,\n onChange: async (currentPage: number, currentSize: number) => {\n action.current = QueryListAction.Jump\n useQueryListStore.getState().refetch(identifier, {\n page: currentPage,\n size: currentSize,\n })\n },\n }\n\n // 优化:使用 useCallback 避免函数重新创建,稳定依赖项\n const onConfirm = useCallback(async () => {\n action.current = QueryListAction.Confirm\n try {\n await formInstance.validateFields()\n setIsValid(true)\n useQueryListStore.getState().refetch(identifier, {\n page: 1,\n formValue: formInstance.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }, [formInstance, identifier])\n\n const onReset = useCallback(async () => {\n action.current = QueryListAction.Reset\n formInstance.resetFields()\n\n try {\n await formInstance.validateFields({ validateOnly: true })\n setIsValid(true)\n useQueryListStore.getState().refetch(identifier, {\n page: 1,\n formValue: formInstance.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }, [formInstance, identifier])\n\n const formRenderer =\n typeof renderForm === 'function' ? (\n <FilterFormWrapper\n showReset={showReset}\n buttonsAlign={buttonsAlign}\n isConfirming={isLoading}\n onReset={onReset}\n onConfirm={onConfirm}\n >\n {cloneElement(renderForm(formInstance), {\n onKeyUp: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onConfirm()\n }\n },\n })}\n </FilterFormWrapper>\n ) : (\n // 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)\n <Form form={formInstance} />\n )\n\n // 使用 useMemo 优化 tableExtra 渲染\n const tableExtraRenderer = typeof tableExtra === 'function' ? tableExtra(formInstance, data as Data) : tableExtra\n\n const renderFooter = footer ? () => footer(data as Data) : undefined\n\n useEffect(() => {\n // 表单初始化完成后自动触发查询(如果校验通过)\n const init = async () => {\n if (!accessible || isInitialized.current) {\n return\n }\n\n try {\n formInstance.resetFields()\n const value = await formInstance.validateFields({ validateOnly: true })\n // 直接使用store方法,避免依赖项问题\n useQueryListStore.getState().refetch(identifier, {\n page: 1,\n formValue: value,\n })\n setIsValid(true)\n isInitialized.current = true\n } catch {\n setIsValid(false)\n isInitialized.current = true\n }\n }\n\n // FIXME: antd-schema 动态渲染时,需要延迟执行 init,否则会导致表单校验不符合预期。\n const timeoutId = setTimeout(() => {\n init()\n }, 300)\n\n return () => {\n clearTimeout(timeoutId)\n }\n }, [accessible, identifier]) // 移除会导致循环的依赖项\n\n useImperativeHandle(ref, () => ({\n data,\n dataSource,\n form: formInstance,\n refetch,\n }))\n\n if (isChecking) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 300,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status={403} subTitle={t('global.noEntitlement')} />\n }\n\n return (\n <div>\n {formRenderer}\n {tableExtraRenderer}\n <Table\n {...tableProps}\n dataSource={dataSource}\n loading={isLoading}\n pagination={pagination}\n footer={renderFooter}\n />\n </div>\n )\n}\n\nconst QueryList = forwardRef(InternalQueryList) as <\n Item extends AnyObject = AnyObject,\n Values extends object | undefined = undefined,\n Data = any,\n>(\n props: QueryListProps<Item, Values, Data> & { ref?: Ref<QueryListRef<Item, Values, Data>> },\n) => ReactElement\n\nexport default QueryList\n","export type { QueryListPayload, QueryListProps, QueryListRef } from './QueryList'\nexport { default as QueryList, QueryListAction } from './QueryList'\nexport { useQueryListStore } from './stores'\n","export const url = '/api/usystem/menu/list'\n","import { useMutation, useQueryClient } from '@tanstack/react-query'\n\nimport { useKy } from '@/libs'\nimport type { MenuListItem } from '@/types'\nimport { queryKeys } from '@/queryKeys'\n\nexport function useCreateMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.create,\n mutationFn: (arg: Omit<MenuListItem, 'id'>) => ky.post('/api/usystem/menu/set', { ...arg, id: 0, is_model: true }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n\nexport function useUpdateMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.update,\n mutationFn: (arg: MenuListItem) => ky.post('/api/usystem/menu/set', { ...arg, is_model: true }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n\nexport function useRemoveMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.delete,\n mutationFn: (id: number) => ky.post('/api/usystem/menu/delete', null, { searchParams: { id } }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n","export * from './constants'\nexport * from './hooks'\n","import type { TableColumnsType } from 'antd'\nimport { App, Button, Card, Popconfirm, Space } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { withContext } from '@/components/toolkitsProvider'\nimport { url } from '@/features/menu'\nimport { useRemoveMenu } from '@/features/menu/hooks'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nconst MenuItemList = withContext(\n () => {\n const { t } = useTranslation()\n const { message } = App.useApp()\n const remove = useRemoveMenu()\n const store = useQueryListStore()\n const { refetch: refetchMenuList } = useMenuList()\n const navigate = useNavigate()\n\n const columns: TableColumnsType<MenuListItem> = [\n {\n title: '菜单名称',\n dataIndex: 'category',\n key: 'category',\n },\n {\n title: '前端路由',\n dataIndex: 'front_route',\n },\n {\n title: 'Order',\n dataIndex: 'order',\n },\n {\n title: 'Is Common',\n dataIndex: 'is_common',\n key: 'is_common',\n render: value => (value ? '是' : '否'),\n },\n {\n title: '模板名称',\n dataIndex: 'model_name',\n key: 'model_name',\n },\n // {\n // title: '是否预设',\n // dataIndex: 'is_model',\n // key: 'is_model',\n // render: value => (value ? '否' : '是'),\n // },\n {\n title: '操作',\n key: 'action',\n width: 150,\n align: 'center',\n render(_, record) {\n if (record.is_model) {\n return (\n <Space size=\"small\">\n <Button\n type=\"link\"\n onClick={() => {\n navigate(`./update/${record.id}`)\n }}\n >\n {t('global.update')}\n </Button>\n <Popconfirm\n title=\"删除菜单\"\n placement=\"topRight\"\n description={<Highlight texts={[record.category]}>确定要删除菜单 {record.category} 吗?</Highlight>}\n onConfirm={async () => {\n await remove.mutate(record.id)\n // 触发所有相关实例的刷新\n store\n .getAllInstances()\n .filter(instance => instance.url === url)\n .forEach(instance => store.refetch(instance.id))\n refetchMenuList()\n message.success('删除成功')\n }}\n >\n <Button danger type=\"link\" size=\"small\">\n {t('global.delete')}\n </Button>\n </Popconfirm>\n </Space>\n )\n }\n\n return null\n },\n },\n ]\n\n return (\n <>\n <Card\n title=\"菜单管理\"\n extra={\n <Button\n type=\"primary\"\n onClick={() => {\n navigate('./create')\n }}\n >\n 创建菜单项\n </Button>\n }\n >\n <QueryList<MenuListItem, undefined, MenuListItem[]>\n identifier=\"menu-item-list\"\n onePage={true}\n code=\"9900001\"\n rowKey=\"id\"\n columns={columns}\n request={{\n url,\n method: 'GET',\n }}\n getDataSource={response => response}\n />\n </Card>\n </>\n )\n },\n { isGlobal: true },\n)\n\nexport default MenuItemList\n","import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useCreateMenu } from '@/features/menu'\nimport type { MenuListItem } from '@/types'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutate: createMenu } = useCreateMenu()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await createMenu({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default CreateMenuItem\n","import { Editor } from '@monaco-editor/react'\nimport { useQuery } from '@tanstack/react-query'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useEffect } from 'react'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useUpdateMenu } from '@/features/menu'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst EditMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutate } = useUpdateMenu()\n const params = useParams<'id'>()\n const { refetch } = useMenuList()\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.menus.detail(Number(params.id)),\n queryFn: () => ky.get<MenuListItem>(`/api/usystem/menu/info?id=${params.id}`),\n enabled: !!params.id,\n })\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n\n await mutate({\n ...rest,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n id: +params.id!,\n })\n refetch()\n message.success('更新成功', 0.8, () => navigate('../..', { relative: 'route' }))\n }\n\n useEffect(() => {\n const { permissions, front_route, ...rest } = data ?? {}\n const permissionsString = JSON.stringify(permissions || [], null, 2)\n const frontRoute = front_route?.replace(FRONTEND_ROUTE_PREFIX, '')\n form.setFieldsValue({\n ...rest,\n permissions: permissionsString,\n front_route: frontRoute,\n })\n }, [data, form])\n\n return (\n <Card title=\"更新菜单项\" loading={isLoading}>\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('../..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default EditMenuItem\n","import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\n\nimport type { PermissionEnumItem, RoleEnumItem, RoleV1, RoleV2 } from '../types'\n\nexport function useAllRoles() {\n const ky = useKy()\n return useQuery({\n queryKey: queryKeys.roles.all,\n queryFn: () => ky.get<RoleEnumItem[]>('/api/usystem/role/all'),\n })\n}\n\nexport function useRole(name: string) {\n const permissionVersion = useToolkitsStore(state => state.permissionVersion)\n const ky = useKy()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useQuery({\n queryKey: queryKeys.roles.detail(name, version),\n queryFn: () => ky.get<RoleV1 | RoleV2>(`/api/usystem/role/${version === 'v2' ? 'infoV2' : 'info'}?name=${name}`),\n })\n}\n\nexport function useCreateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const queryClient = useQueryClient()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useMutation({\n mutationKey: queryKeys.roles.create(version),\n mutationFn: ({ name, permissions }: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }) =>\n ky.post(version === 'v2' ? '/api/usystem/role/createV2' : '/api/usystem/role/create', { name, permissions }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\nexport function useUpdateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const queryClient = useQueryClient()\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n\n return useMutation({\n mutationKey: queryKeys.roles.update(version),\n mutationFn: ({\n id,\n name,\n permissions,\n }: {\n id: number\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n }) =>\n ky.post(version === 'v2' ? '/api/usystem/role/updateV2' : '/api/usystem/role/update', { id, name, permissions }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\nexport function useRemoveRole() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.roles.delete,\n mutationFn: ({ id, name }: { id: number; name: string }) => ky.post('/api/usystem/role/delete', { id, name }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.all })\n },\n })\n}\n\nexport function useCreateUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.users.create,\n mutationFn: (\n arg:\n | { name: string; roles: string[] }\n | {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n },\n ) => ky.post('/api/usystem/user/create', arg),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\nexport function useUpdateUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.users.update,\n mutationFn: (\n arg:\n | { id: string; name: string; roles: string[] }\n | {\n id: string\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n },\n ) => ky.post('/api/usystem/user/update', arg),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\nexport function useRemoveUser() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.users.delete,\n mutationFn: ({ id, name }: { id: string; name: string }) => ky.post('/api/usystem/user/delete', { id, name }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.users.all })\n },\n })\n}\n\nexport function useAllPermissions() {\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.permissions.allPermissions,\n queryFn: () => ky.get<PermissionEnumItem[]>('/api/usystem/user/allPermssions'),\n staleTime: Infinity,\n })\n}\n\nexport function useAllPermissionsV2() {\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.permissions.allPermissionsV2,\n queryFn: () => ky.get<PermissionEnumItem[]>('/api/usystem/user/allPermssionsV2'),\n staleTime: Infinity,\n })\n}\n","import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState, useTransition } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const { t } = useTranslation()\n const [, startTransition] = useTransition()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n startTransition(() => {\n // 改变展开状态\n setActiveKey((permissions ?? []).map(({ category }) => category))\n })\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n const items = (permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions?.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\n {item.permissions?.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))\n\n return (\n <Collapse\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={items}\n onChange={onCollapseChange}\n />\n )\n}\n\nexport default PermissionCollapse\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { useGames } from '@/services'\n\nimport { useAllPermissionsV2 } from '../../services'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from '.'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionWithGameProps extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionWithGame: FC<PermissionWithGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permission, isLoading: isPermissionLoading, error } = useAllPermissionsV2()\n const { data: games, isLoading: isGamesLoading } = useGames()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const isLoading = isPermissionLoading || isGamesLoading\n const { t } = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => String(game.id) === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n style={{ width: '160px' }}\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option\n key={game.id}\n value={game.id}\n disabled={gameList.some(({ gameId }) => gameId === String(game.id))}\n >\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionWithGame\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nimport { useAllPermissions } from '../../services'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from '.'\n\nconst { Text } = Typography\n\ninterface PermissionWithoutGameProps extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionWithoutGame: FC<PermissionWithoutGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const { t } = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionWithoutGame\n","import type { FC } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\n\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionWithGame from './PermissionWithGame'\nimport PermissionWithoutGame from './PermissionWithoutGame'\n\nexport interface PermissionListPropsBase {\n expand?: boolean\n readonly?: boolean\n}\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n console.log('value', typeof value, value === null, JSON.stringify(value))\n const { permissionVersion } = useToolkitsStore()\n\n if (permissionVersion === PermissionVersion.V2) {\n return <PermissionWithGame {...props} value={value as RoleV2['permissions']} />\n }\n\n return <PermissionWithoutGame {...props} value={value as RoleV1['permissions']} />\n}\n\nexport default PermissionList\n","export { default as PermissionList } from './permissionList'\n","import { Form, Input } from 'antd'\n\nimport { useTranslation } from '@/components/locale'\nimport { useFormModal } from '@/components/modal'\n\nimport PermissionList from '../components/permissionList'\nimport { useCreateRole, useUpdateRole } from '../services'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../types'\n\nexport const useCreateRoleModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { mutateAsync } = useCreateRole()\n\n return useFormModal<{\n name: string\n permissions: RoleListItem['permissions']\n }>({\n title: t('Role.createTitle'),\n width: '50vw',\n formProps: {\n layout: 'vertical',\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm: async values => {\n await mutateAsync({\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateRoleModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { mutateAsync } = useUpdateRole()\n\n return useFormModal<\n {\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n },\n { id: number }\n >({\n title: t('Role.updateTitle'),\n width: '50vw',\n formProps: {\n layout: 'vertical',\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm: async (values, extraValues) => {\n await mutateAsync({\n id: extraValues?.id,\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n onSuccess?.()\n },\n })\n}\n","import { MinusCircleOutlined } from '@ant-design/icons'\nimport { useQuery } from '@tanstack/react-query'\nimport { Button, Col, Empty, Form, Input, Row, Select, Typography } from 'antd'\nimport { first, last } from 'lodash-es'\nimport { Fragment } from 'react'\nimport { type FC } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { useFormModal } from '@/components/modal'\nimport { WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\n\nimport { useAllRoles, useCreateUser, useUpdateUser } from '../services'\n\ninterface GroupSelectProps {\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GroupSelect: FC<GroupSelectProps> = props => {\n const { onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameGroups,\n queryFn: () => ky.get<string[]>('/api/enum/get?enum=game_group&type=all'),\n })\n\n const options = [{ label: '通用', value: WILDCARD }].concat(\n data?.map(group => ({ label: group, value: group })) ?? [],\n )\n\n const onValueChange = (value: string[]) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n }\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n mode=\"tags\"\n optionFilterProp=\"label\"\n loading={isLoading}\n options={options}\n onChange={onValueChange}\n />\n )\n}\n\ninterface GameSelectProps {\n groups?: string[]\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GameSelect: FC<GameSelectProps> = props => {\n const { groups, onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameIds(groups || []),\n queryFn: () =>\n ky\n .get<{\n list: {\n id: string\n name: string\n }[]\n }>(`/api/enum/game_group/get_game_ids?game_groups=${groups?.join(',')}`)\n .then(response => response?.list),\n enabled: !!groups?.length,\n })\n\n const options = data?.map((group: { id: string; name: string }) => ({ label: group.name, value: group.id }))\n\n const onValueChange = (value: string[]) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n }\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n optionFilterProp=\"label\"\n mode=\"tags\"\n loading={isLoading}\n options={options}\n onChange={onValueChange}\n />\n )\n}\n\nexport const useCreateUserModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { data: roles, isLoading } = useAllRoles()\n const { mutateAsync } = useCreateUser()\n\n return useFormModal<{\n name: string\n roles: string[]\n }>({\n title: t('User.createTitle'),\n width: 600,\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n ),\n onConfirm: async values => {\n await mutateAsync(values)\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateUserModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { data: roles, isLoading } = useAllRoles()\n const { mutateAsync } = useUpdateUser()\n\n return useFormModal<\n {\n name: string\n roles: string[]\n },\n {\n id: string\n }\n >({\n title: t('User.updateTitle'),\n width: 600,\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n ),\n onConfirm: async (values, extraValues) => {\n await mutateAsync({ ...values, id: extraValues?.id })\n onSuccess?.()\n },\n })\n}\n\nconst { Text } = Typography\n\nexport const UserModalContentV2 = ({ isCreate }: { isCreate?: boolean }) => {\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n\n interface FormSchema {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }\n\n return (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreate} />\n </Form.Item>\n <Form.List name=\"permissions\">\n {(fields, { add, remove }) => (\n <Row gutter={8}>\n <Col span={8} className=\"text-center mb-4\">\n <Text strong>{t('global.projectGroup')}</Text>\n </Col>\n <Col span={10} className=\"text-center mb-4\">\n <Text strong>{t('global.game')}</Text>\n </Col>\n <Col span={6} className=\"text-center mb-4\">\n <Text strong>{t('global.role')}</Text>\n </Col>\n {fields.map(field => (\n <Fragment key={field.key}>\n <Col span={8}>\n <Form.Item noStyle shouldUpdate>\n {({ setFieldValue }) => (\n <Form.Item name={[field.name, 'game_group']}>\n <GroupSelect\n onChange={() => {\n setFieldValue(['permissions', field.name, 'game_ids'], [])\n }}\n />\n </Form.Item>\n )}\n </Form.Item>\n </Col>\n <Col span={10}>\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, nextValues) =>\n prevValues.permissions[field.name]?.game_group !== nextValues.permissions[field.name]?.game_group\n }\n >\n {({ getFieldValue }) => {\n const _groups = getFieldValue(['permissions', field.name, 'game_group'])\n\n return (\n <Form.Item\n name={[field.name, 'game_ids']}\n dependencies={[['permissions', field.name, 'game_group']]}\n rules={[{ required: _groups?.length, message: '请选择游戏' }]}\n >\n <GameSelect groups={_groups} />\n </Form.Item>\n )\n }}\n </Form.Item>\n </Col>\n <Col span={6}>\n <div className=\"flex\">\n <div className=\"flex-1\">\n <Form.Item\n name={[field.name, 'role']}\n rules={[\n { required: true, message: '请选择角色' },\n ({ getFieldValue }) => ({\n validator(_rule, value) {\n const items = getFieldValue('permissions') as FormSchema['permissions']\n const otherItems = items.filter((item, index) => !!item && index !== field.name)\n if (otherItems.some(item => item.role === value)) {\n return Promise.reject(new Error('请勿重复选择角色'))\n }\n return Promise.resolve()\n },\n }),\n ]}\n >\n <Select\n allowClear\n showSearch\n optionFilterProp=\"label\"\n loading={isRolesLoading}\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </div>\n <div className=\"w-8 text-center\">\n <Form.Item>\n <MinusCircleOutlined\n onClick={() => {\n remove(field.name)\n }}\n />\n </Form.Item>\n </div>\n </div>\n </Col>\n </Fragment>\n ))}\n {fields.length === 0 && (\n <Col span={24}>\n <Empty className=\"mb-6\" />\n </Col>\n )}\n <Col span={24}>\n <Button block type=\"dashed\" onClick={() => add()}>\n {t('global.add')}\n </Button>\n </Col>\n </Row>\n )}\n </Form.List>\n </>\n )\n}\n\nexport const useCreateUserModalV2 = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { mutateAsync } = useCreateUser()\n\n return useFormModal<{\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }>({\n title: t('User.createTitle'),\n width: '50vw',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: <UserModalContentV2 isCreate />,\n onConfirm: async values => {\n await mutateAsync(values)\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateUserModalV2 = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { mutateAsync } = useUpdateUser()\n\n return useFormModal<\n {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n },\n {\n id: string\n }\n >({\n title: t('User.updateTitle'),\n width: '50vw',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: <UserModalContentV2 />,\n onConfirm: async (values, extraValues) => {\n await mutateAsync({ ...values, id: extraValues?.id })\n onSuccess?.()\n },\n })\n}\n","export * from './role-hooks'\nexport * from './user-hooks'\n","import type { Permission } from '@/types'\n\nexport interface PermissionEnumItem {\n category: string\n is_common?: boolean\n permissions: Permission[]\n}\n\nexport interface RoleEnumItem {\n id: string\n name: string\n}\n\nexport type RoleListItem = RoleV1 | RoleV2\n\nexport interface RoleV1 {\n id: number\n name: string\n ctime: string\n permissions: string[]\n}\n\nexport interface RoleV2 {\n id: number\n name: string\n ctime: string\n permissions: Record<string, string[]>\n}\n\nexport interface UserListItem {\n id: string\n name: string\n ctime: string\n roles?: string[]\n permissions?: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n}\n","export * from './components'\nexport * from './hooks'\nexport * from './services'\nexport * from './types'\n","import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Space, Tag } from 'antd'\nimport { type FC } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { useToolkitsStore, withContext } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport type { UserListItem } from '@/features/permission'\n\nimport {\n useCreateUserModal,\n useCreateUserModalV2,\n useRemoveUser,\n useUpdateUserModal,\n useUpdateUserModalV2,\n} from '../../../features/permission'\n\nconst url = '/api/usystem/user/list'\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const { t } = useTranslation()\n const remove = useRemoveUser()\n const store = useQueryListStore()\n const { permissionVersion } = useToolkitsStore(s => s)\n const isV1 = permissionVersion === PermissionVersion.V1\n const isV3 = permissionVersion === PermissionVersion.V3\n\n const { show: showCreateModal, modal: createModal } = useCreateUserModal({\n onSuccess() {\n // 通过实例 key 刷新\n store.refetch('user-list', { page: 1 })\n message.success(t('User.createSuccessfully'))\n },\n })\n\n const { show: showUpdateModal, modal: updateModal } = useUpdateUserModal({\n onSuccess() {\n // 通过实例 key 刷新\n store.refetch('user-list')\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const { show: showCreateModalV2, modal: createModalV2 } = useCreateUserModalV2({\n onSuccess() {\n // 通过实例 key 刷新\n store.refetch('user-list', { page: 1 })\n message.success(t('User.createSuccessfully'))\n },\n })\n\n const { show: showUpdateModalV2, modal: updateModalV2 } = useUpdateUserModalV2({\n onSuccess() {\n // 通过实例 key 刷新\n store.refetch('user-list')\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const columns = (\n [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n render(value: string, record) {\n if (isV3) {\n return <Link to={`./${record.id}`}>{value}</Link>\n }\n return value\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n (isV1 || isV3) && {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`../role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n const { name, permissions, roles, id } = record\n return (\n <Space>\n <PermissionButton\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n if (isV3) {\n showUpdateModalV2({\n initialValues: {\n name,\n permissions,\n },\n extraValues: {\n id,\n },\n })\n } else {\n showUpdateModal({\n initialValues: {\n name,\n roles,\n },\n extraValues: {\n id,\n },\n })\n }\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('User.deleteTitle'),\n content: <Highlight texts={[name]}>{t('User.deleteContent', { user: name })}</Highlight>,\n async onOk() {\n await remove.mutate({\n id,\n name,\n })\n // 触发所有相关实例的刷新\n store\n .getAllInstances()\n .filter(instance => instance.url === url)\n .forEach(instance => store.refetch(instance.id))\n message.success(t('User.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ] as TableColumnsType<UserListItem>\n ).filter(Boolean)\n\n return (\n <>\n <Card\n title={t('global.user')}\n extra={\n <PermissionButton\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n if (isV3) {\n showCreateModalV2()\n } else {\n showCreateModal()\n }\n }}\n >\n {t('User.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<UserListItem, { name?: string }, { List: UserListItem[]; Total: number }>\n identifier=\"user-list\"\n code=\"100001\"\n request={{\n url,\n method: 'GET',\n }}\n rowKey=\"id\"\n columns={columns}\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n renderForm={\n isV3\n ? form => (\n <Form form={form}>\n <Form.Item label=\"名称\" name=\"name\">\n <Input />\n </Form.Item>\n </Form>\n )\n : undefined\n }\n />\n </Card>\n {createModal}\n {updateModal}\n {createModalV2}\n {updateModalV2}\n </>\n )\n}\n\nexport default withContext(UserList, { isGlobal: true })\n","import { useQuery } from '@tanstack/react-query'\nimport { App, Breadcrumb, Card, Descriptions, Table, Tag } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { WILDCARD } from '@/constants'\nimport { type UserListItem, useUpdateUserModalV2 } from '@/features/permission'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport { useGames , usePermission } from '@/services'\n\nconst UserDetail = () => {\n const { message } = App.useApp()\n const params = useParams<'id'>()\n const { t } = useTranslation()\n const { gameApiV2 } = useToolkitsStore(s => s)\n const ky = useKy()\n\n const { data, isLoading, refetch } = useQuery({\n queryKey: queryKeys.users.detail(params.id || ''),\n queryFn: () => ky.get<UserListItem>(`/api/usystem/user/info?id=${params.id}`),\n enabled: !!params.id,\n })\n const { data: games } = useGames()\n const { data: roleViewable } = usePermission('200005')\n\n const { show, modal } = useUpdateUserModalV2({\n onSuccess() {\n refetch()\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const columns = [\n {\n key: 'group',\n title: t('global.projectGroup'),\n dataIndex: 'game_group',\n render(value: string[]) {\n return value.map(item => {\n return <Tag key={item}>{item === WILDCARD ? '通用' : item}</Tag>\n })\n },\n },\n {\n key: 'game',\n title: t('global.game'),\n dataIndex: 'game_ids',\n render(value: string[]) {\n return value.map(item => {\n const matchedGame = games?.find(game => String(gameApiV2 ? game.game_id : game.id) === item)\n return <Tag key={item}>{matchedGame?.name ?? (item === WILDCARD ? '通用' : item)}</Tag>\n })\n },\n },\n {\n key: 'role',\n title: t('global.role'),\n dataIndex: 'role',\n render(value: string) {\n return roleViewable ? (\n <Link to={`../../role/${value}`} relative=\"path\">\n {value}\n </Link>\n ) : (\n value\n )\n },\n },\n ]\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.user')}\n </Link>\n ),\n },\n {\n key: '2',\n title: '用户详情',\n },\n ]}\n />\n <Card\n title=\"用户详情\"\n loading={isLoading}\n extra={\n <PermissionButton\n code=\"100003\"\n onClick={() => {\n show({\n initialValues: {\n name: data?.name,\n permissions: data?.permissions,\n },\n extraValues: {\n id: data!.id,\n },\n })\n }}\n >\n {t('global.update')}\n </PermissionButton>\n }\n >\n <Descriptions bordered column={1}>\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.role')}>\n <Table rowKey=\"role\" columns={columns} dataSource={data?.permissions} pagination={false} />\n </Descriptions.Item>\n </Descriptions>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default UserDetail\n","import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Space } from 'antd'\nimport { Link } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { QueryList } from '@/components/queryList'\nimport { useQueryListStore } from '@/components/queryList/stores'\nimport { useToolkitsStore, withContext } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport type { RoleListItem, RoleV1, RoleV2 } from '@/features/permission'\nimport { useCreateRoleModal, useRemoveRole, useUpdateRoleModal } from '@/features/permission'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nconst url = '/api/usystem/role/list'\n\nconst RoleList = () => {\n const { modal, message } = App.useApp()\n const { data: viewable } = usePermission('200005')\n const { t } = useTranslation()\n const { permissionVersion } = useToolkitsStore(s => s)\n const { refetch } = useQueryListStore()\n const ky = useKy()\n\n const { show: showCreateModal, modal: createModal } = useCreateRoleModal({\n onSuccess() {\n refetch('role-list', { page: 1 })\n message.success(t('Role.createSuccessfully'))\n },\n })\n const { show: showUpdateModal, modal: updateModal } = useUpdateRoleModal({\n onSuccess() {\n refetch('role-list')\n message.success(t('Role.updateSuccessfully'))\n },\n })\n\n const remove = useRemoveRole()\n\n const handleUpdateBtnClick = async (record: RoleListItem) => {\n const data = await ky.get<RoleV1 | RoleV2>(\n `/api/usystem/role/info${permissionVersion === PermissionVersion.V2 ? 'V2' : ''}?name=${record.name}`,\n )\n\n showUpdateModal({\n initialValues: {\n permissions: data.permissions,\n name: data.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data?.id,\n },\n })\n }\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return (\n <Link to={`${value.name}`} relative=\"path\">\n {value.name}\n </Link>\n )\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n return (\n <Space size=\"small\">\n <PermissionButton\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n handleUpdateBtnClick(record)\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('Role.deleteTitle'),\n content: (\n <Highlight texts={[record.name]}>{t('Role.deleteContent', { role: record.name })}</Highlight>\n ),\n async onOk() {\n await remove.mutate({\n id: record.id,\n name: record.name,\n })\n\n refetch('role-list')\n\n message.success(t('Role.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.role')}\n extra={\n <PermissionButton\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('Role.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n identifier=\"role-list\"\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n request={{\n url,\n method: 'GET',\n }}\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default withContext(RoleList, {\n isGlobal: true,\n})\n","import { useQueryClient } from '@tanstack/react-query'\nimport { App, Breadcrumb, Card, Descriptions, Divider, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { useToolkitsStore, withContext } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport { PermissionList, useRole, useUpdateRoleModal } from '@/features/permission'\nimport { queryKeys } from '@/queryKeys'\n\nconst RoleDetail = () => {\n const { message } = App.useApp()\n const params = useParams()\n const { t } = useTranslation()\n const queryClient = useQueryClient()\n const { permissionVersion } = useToolkitsStore()\n const { data, isLoading } = useRole(params.name as string)\n const { show, modal } = useUpdateRoleModal({\n onSuccess() {\n const version = permissionVersion === PermissionVersion.V2 ? 'v2' : 'v1'\n queryClient.invalidateQueries({ queryKey: queryKeys.roles.detail(params.name!, version) })\n message.success(t('Role.updateSuccessfully'))\n },\n })\n\n const handleUpdateBtnClick = async () => {\n show({\n initialValues: {\n permissions: data?.permissions,\n name: data?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data!.id,\n },\n })\n }\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.role')}\n </Link>\n ),\n },\n {\n key: '2',\n title: t('RoleDetail.title'),\n },\n ]}\n />\n <Card\n title={t('RoleDetail.title')}\n extra={\n <PermissionButton code=\"200003\" onClick={handleUpdateBtnClick}>\n {t('global.update')}\n </PermissionButton>\n }\n >\n <Skeleton loading={isLoading}>\n <Descriptions column={2} layout=\"vertical\" className=\"mb-6\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <Divider />\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default withContext(RoleDetail, { isGlobal: true })\n","import type { DrawerProps } from 'antd'\nimport { Button, Drawer } from 'antd'\nimport type { ComponentProps, ReactNode } from 'react'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useDrawerStore } from './stores'\n\nexport interface UseDrawerOperation {\n hide: () => void\n}\n\nexport interface UseDrawerProps extends Omit<DrawerProps, 'open' | 'confirmLoading' | 'onClose' | 'footer'> {\n content?: ReactNode | ((operation: UseDrawerOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n afterClose?: () => void | Promise<void>\n footer?: ReactNode | null\n confirmText?: string\n cancelText?: string\n confirmButtonProps?: ComponentProps<typeof Button>\n cancelButtonProps?: ComponentProps<typeof Button>\n}\n\nexport function useDrawer(props: UseDrawerProps) {\n const {\n content,\n onConfirm,\n afterOpen,\n afterClose,\n footer,\n confirmText = '确认',\n cancelText = '取消',\n confirmButtonProps,\n cancelButtonProps,\n ...drawerProps\n } = props\n\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen, cleanup } = useDrawerStore()\n\n // 组件销毁时清理 ID\n useEffect(() => {\n return () => {\n cleanup(_id)\n }\n }, [_id, cleanup])\n\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onClose: DrawerProps['onClose'] = useCallback(async () => {\n _hide()\n await afterClose?.()\n }, [_hide, afterClose])\n\n const handleConfirm = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n } catch (error) {\n console.error('Drawer confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm])\n\n const drawerFooter =\n footer !== undefined ? (\n footer\n ) : (\n <div className=\"flex gap-4 mx-4\">\n <Button type=\"primary\" loading={confirmLoading} {...confirmButtonProps} onClick={handleConfirm}>\n {confirmText}\n </Button>\n <Button {...cancelButtonProps} onClick={onClose}>\n {cancelText}\n </Button>\n </div>\n )\n\n const internalDrawer = (\n <Drawer {...drawerProps} open={open} footer={drawerFooter} onClose={onClose}>\n {isRenderFunction ? content({ hide: _hide }) : content}\n </Drawer>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n confirmLoading,\n drawer: internalDrawer,\n }\n}\n","import { create } from 'zustand'\n\ninterface DrawerState {\n open: Map<number, boolean>\n usedIds: Set<number>\n isOpen: (uuid: number) => boolean\n show: (uuid: number) => void\n hide: (uuid: number) => void\n hideAll: () => void\n checkUniqueness: (uuid: number) => boolean\n registerIds: (uuid: number) => boolean\n cleanup: (uuid: number) => void\n}\n\nexport const useDrawerStore = create<DrawerState>((set, get) => ({\n open: new Map(),\n usedIds: new Set(),\n isOpen: uuid => get().open.get(uuid) ?? false,\n show(uuid) {\n set({\n open: new Map(get().open).set(uuid, true),\n })\n },\n hide(uuid) {\n set({ open: new Map(get().open).set(uuid, false) })\n },\n hideAll() {\n set({ open: new Map() })\n },\n checkUniqueness(uuid) {\n const { usedIds } = get()\n return !usedIds.has(uuid)\n },\n registerIds(uuid) {\n const { usedIds } = get()\n if (usedIds.has(uuid)) {\n return false // ID 已被使用\n }\n set({ usedIds: new Set(usedIds).add(uuid) })\n return true // 注册成功\n },\n cleanup(uuid) {\n const { open, usedIds } = get()\n const newOpen = new Map(open)\n const newUsedIds = new Set(usedIds)\n newOpen.delete(uuid)\n newUsedIds.delete(uuid)\n set({ open: newOpen, usedIds: newUsedIds })\n },\n}))\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useDrawer, type UseDrawerOperation, type UseDrawerProps } from './drawer'\n\nexport interface UseFormDrawerProps<Values extends AnyObject = AnyObject, ExtraValues = any>\n extends Omit<UseDrawerProps, 'onConfirm' | 'content' | 'onShow' | 'afterClose'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseDrawerOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n afterClose?: (form: FormInstance<Values>) => void\n}\n\nexport function useFormDrawer<Values extends AnyObject = AnyObject, ExtraValues = any>(\n props: UseFormDrawerProps<Values, ExtraValues>,\n) {\n const { content, form, formProps, onConfirm, onSuccess, afterClose, ...drawerProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n let [internalForm] = Form.useForm<Values>()\n internalForm = form || internalForm\n\n const isRenderFunction = typeof content === 'function'\n\n const { id, show, hide, drawer } = useDrawer({\n ...drawerProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? content(internalExtraValues, operation) : content}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose: () => {\n afterClose?.(internalForm)\n },\n })\n\n const showForm = useCallback(\n (options?: { initialValues?: RecursivePartial<Values>; extraValues?: ExtraValues }) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: showForm,\n hide,\n drawer,\n }\n}\n","import { PlusOutlined } from '@ant-design/icons'\nimport type { InputRef } from 'antd'\nimport { Input, Space, Tag, theme } from 'antd'\nimport type { ChangeEvent, CSSProperties, FC } from 'react'\nimport { useEffect, useRef, useState } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nexport interface DynamicTagsProps {\n initialTags?: string[]\n addable?: boolean\n removable?: boolean\n // 返回 Promise。如果返回 Promise.resolve(true),则添加; 如果返回 Promise.resolve(false) 或 Promise.reject,则不添加\n addCallback?: (addedTag: string) => Promise<boolean>\n // 返回 Promise。如果返回 Promise.resolve(true),则删除; 如果返回 Promise.resolve(false) 或 Promise.reject,则不删除\n removeCallback?: (removedTag: string) => Promise<boolean>\n}\n\nconst DynamicTags: FC<DynamicTagsProps> = props => {\n const { initialTags, addable, removable, addCallback, removeCallback } = props\n const { t } = useTranslation()\n const { token } = theme.useToken()\n const [tags, setTags] = useState<string[]>([])\n const [inputVisible, setInputVisible] = useState(false)\n const [inputValue, setInputValue] = useState('')\n const [editInputIndex, setEditInputIndex] = useState(-1)\n const [editInputValue, setEditInputValue] = useState<string>('')\n const inputRef = useRef<InputRef>(null)\n const editInputRef = useRef<InputRef>(null)\n\n useEffect(() => {\n setTags(initialTags ?? [])\n }, [initialTags])\n\n useEffect(() => {\n if (inputVisible) {\n inputRef.current?.focus()\n }\n }, [inputVisible])\n\n useEffect(() => {\n editInputRef.current?.focus()\n }, [inputValue])\n\n const handleClose = async (removedTag: string) => {\n const success = await removeCallback?.(removedTag)\n\n if (success) {\n const newTags = tags.filter(tag => tag !== removedTag)\n setTags(newTags)\n }\n }\n\n const showInput = () => {\n setInputVisible(true)\n }\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputConfirm = async () => {\n if (inputValue && tags.indexOf(inputValue) === -1) {\n const success = await addCallback?.(inputValue)\n\n if (success) {\n setTags([...tags, inputValue])\n }\n }\n\n setInputVisible(false)\n setInputValue('')\n }\n\n const handleEditInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n setEditInputValue(e.target.value)\n }\n\n const handleEditInputConfirm = () => {\n const newTags = [...tags]\n newTags[editInputIndex] = editInputValue\n setTags(newTags)\n setEditInputIndex(-1)\n setInputValue('')\n }\n\n const tagInputStyle: CSSProperties = {\n width: 78,\n verticalAlign: 'top',\n }\n\n const tagPlusStyle: CSSProperties = {\n background: token.colorBgContainer,\n borderStyle: 'dashed',\n }\n\n return (\n <Space wrap size={[0, 8]}>\n <Space wrap size={[0, 8]}>\n {tags.map((tag, index) => {\n if (editInputIndex === index) {\n return (\n <Input\n ref={editInputRef}\n key={tag}\n size=\"small\"\n style={tagInputStyle}\n value={editInputValue}\n onChange={handleEditInputChange}\n onBlur={handleEditInputConfirm}\n onPressEnter={handleEditInputConfirm}\n />\n )\n }\n\n return (\n <Tag\n key={tag}\n closable={removable}\n style={{ userSelect: 'none' }}\n onClose={async e => {\n e.preventDefault()\n await handleClose(tag)\n }}\n >\n <span\n onDoubleClick={e => {\n if (index !== 0) {\n setEditInputIndex(index)\n setEditInputValue(tag)\n e.preventDefault()\n }\n }}\n >\n {tag}\n </span>\n </Tag>\n )\n })}\n </Space>\n {addable &&\n (inputVisible ? (\n <Input\n ref={inputRef}\n type=\"text\"\n size=\"small\"\n style={tagInputStyle}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputConfirm}\n onPressEnter={handleInputConfirm}\n />\n ) : (\n <Tag style={tagPlusStyle} onClick={showInput}>\n <PlusOutlined />\n {t('global.add')}\n </Tag>\n ))}\n </Space>\n )\n}\n\nexport default DynamicTags\n","import { Typography } from 'antd'\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph'\nimport type { FC } from 'react'\nimport { useState } from 'react'\n\nexport type ExpandableParagraphProps = Omit<ParagraphProps, 'ellipsis' | 'className'>\n\nconst ExpandableParagraph: FC<ExpandableParagraphProps> = props => {\n const { children, ...restProps } = props\n const [expanded, setExpanded] = useState(false)\n\n return (\n <Typography.Paragraph\n {...restProps}\n className=\"mb-0\"\n ellipsis={{\n rows: 2,\n expandable: 'collapsible',\n expanded,\n onExpand: (_, info) => {\n setExpanded(info.expanded)\n },\n }}\n >\n {children}\n </Typography.Paragraph>\n )\n}\n\nexport default ExpandableParagraph\n","import './styles/index.css'\n\n// Components\nexport * from './components/drawer'\nexport * from './components/dynamicTags'\nexport * from './components/expandableParagraph'\nexport * from './components/filterFormWrapper'\nexport * from './components/highlight'\nexport * from './components/infiniteList'\nexport * from './components/layout'\nexport * from './components/modal'\nexport * from './components/navMenu'\nexport * from './components/permissionButton'\nexport * from './components/queryList'\nexport * from './components/requireGame'\nexport * from './components/requirePermission'\nexport * from './components/toolkitsProvider'\nexport * from './components/userWidget'\n\n// Constants\nexport * from './constants'\nexport { default as menuRoutes } from './pages/menu'\nexport { default as NotFound } from './pages/notFound'\nexport { default as OperationLogList } from './pages/operationLogList'\nexport { default as permissionRoutes } from './pages/permission'\nexport { default as SignIn } from './pages/signIn'\n\n// Services\nexport * from './services'\n\n// Types\nexport * from './types'\n\n// Utils\nexport * from './utils'\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useInfiniteQuery } from '@tanstack/react-query'\nimport type { FormInstance } from 'antd'\nimport { Button, Form, Result, Spin, Table } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { TableProps } from 'antd/es/table'\nimport type { Options as KyOptions } from 'ky'\nimport type { ReactElement, ReactNode, Ref } from 'react'\nimport { cloneElement, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\n\nimport type { FilterFormWrapperProps } from '@/components/filterFormWrapper'\nimport { FilterFormWrapper } from '@/components/filterFormWrapper'\nimport { useTranslation } from '@/components/locale'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nimport { useInfiniteListStore } from './stores'\n\nexport interface InfiniteListPayload<Values = any> {\n page?: number\n formValue?: Values\n}\n\nexport interface InfiniteListRequestConfig<Values = any> {\n url: string\n method?: 'GET' | 'POST'\n body?:\n | FormData\n | Record<string | number, any>\n | ((payload: InfiniteListPayload<Values>, pageParam: any) => FormData | Record<string | number, any>)\n params?:\n | Record<string | number, any>\n | ((payload: InfiniteListPayload<Values>, pageParam: any) => Record<string | number, any>)\n headers?: Record<string, string> | ((form: FormInstance<Values>) => Record<string, string>)\n // 缓存配置\n cacheTime?: number // 缓存时间(毫秒)\n staleTime?: number // 数据新鲜时间(毫秒)\n}\n\nexport enum InfiniteListAction {\n Confirm,\n Reset,\n LoadMore,\n Init,\n}\n\nexport interface InfiniteListRef<Item = any, Values = any, Data = any> {\n data: Data[] | undefined\n dataSource: Item[] | undefined\n form: FormInstance<Values>\n refetch: () => void\n fetchNextPage: () => void\n hasNextPage: boolean\n isFetchingNextPage: boolean\n}\n\nexport interface InfiniteListProps<Item, Values, Data>\n extends Pick<TableProps<Item>, 'columns' | 'rowKey' | 'tableLayout' | 'expandable' | 'rowSelection' | 'bordered'>,\n Pick<FilterFormWrapperProps, 'buttonsAlign' | 'showReset'> {\n identifier: string // 必需的标识符,用于标识和外部控制\n code?: string\n form?: FormInstance<Values>\n refreshInterval?: number\n request: InfiniteListRequestConfig<Values> // 必需的请求配置\n tableExtra?: ReactNode | ((form: FormInstance<Values>, data?: Data[]) => ReactNode)\n renderForm?: (form: FormInstance<Values>) => ReactElement\n afterSuccess?: (action: InfiniteListAction, form: FormInstance<Values>, data?: Data[]) => void\n afterError?: (error: Error, action: InfiniteListAction, form: FormInstance<Values>) => void\n getDataSource?: (data: Data[] | undefined, form: FormInstance<Values>) => Item[] | undefined\n getHasMore?: (lastPage: Data | undefined, allPages: Data[]) => boolean\n getNextPageParam?: (lastPage: Data | undefined, allPages: Data[], pageParam: any) => any\n initialPageParam?: any\n footer?: (data: Data[] | undefined) => ReactNode\n}\n\nconst InternalInfiniteList = <Item extends AnyObject, Values extends object | undefined = undefined, Data = any>(\n props: InfiniteListProps<Item, Values, Data>,\n ref: Ref<InfiniteListRef<Item, Values, Data>>,\n) => {\n const internalProps: InfiniteListProps<Item, Values, Data> & {\n refreshInterval: number\n getDataSource: (data: Data[] | undefined, form: FormInstance<Values>) => Item[] | undefined\n getHasMore: (lastPage: Data | undefined, allPages: Data[]) => boolean\n getNextPageParam: (lastPage: Data | undefined, allPages: Data[], _pageParam: any) => any\n initialPageParam: any\n } = {\n refreshInterval: 0,\n getDataSource: (data: Data[] | undefined) => {\n if (!data) return []\n return data.flatMap((page: any) => page?.list || page || [])\n },\n getHasMore: (lastPage: Data | undefined): boolean => {\n if (!lastPage) return false\n const page = lastPage as any\n return page?.hasMore || page?.has_more || false\n },\n getNextPageParam: (lastPage: Data | undefined, allPages: Data[], _pageParam: any): any => {\n const hasMore = (page: Data | undefined): boolean => {\n if (!page) return false\n const pageData = page as any\n return pageData?.hasMore || pageData?.has_more || false\n }\n return hasMore(lastPage) ? allPages.length : undefined\n },\n initialPageParam: 0,\n ...props,\n }\n\n const {\n identifier,\n code,\n buttonsAlign,\n showReset,\n refreshInterval,\n request,\n tableExtra,\n renderForm,\n afterSuccess,\n afterError,\n getDataSource,\n getNextPageParam,\n initialPageParam,\n footer,\n form,\n ...tableProps\n } = internalProps\n const { t } = useTranslation()\n const [_form] = Form.useForm<Values>(form)\n const [isValid, setIsValid] = useState(false)\n const shouldPoll = useRef(false)\n const action = useRef(InfiniteListAction.Init)\n const ky = useKy()\n\n const { data: accessible, isLoading } = usePermission(code)\n\n // 从 store 获取 payload\n const getStoredPayload = useCallback(() => {\n return useInfiniteListStore.getState().getPayload(identifier)\n }, [identifier])\n\n // 获取当前表单值\n const formInstance = useMemo(() => _form, [_form])\n\n // 构建请求参数\n const { url, method = 'GET', body, params, headers, cacheTime = 5 * 60 * 1000, staleTime = 0 } = request\n const requestHeaders = useMemo(\n () => (typeof headers === 'function' ? headers(formInstance) : headers),\n [headers, formInstance],\n )\n // 请求参数和 body 将在 queryFn 中动态构建,因为它们依赖于 pageParam\n\n // 构建查询键\n const queryKey = useMemo(() => {\n const payload = getStoredPayload()\n return [url, identifier, accessible, isValid, payload, requestHeaders]\n }, [url, identifier, accessible, isValid, getStoredPayload, requestHeaders])\n\n const { data, fetchNextPage, hasNextPage, isFetchingNextPage, refetch, isFetching } = useInfiniteQuery({\n queryKey,\n queryFn: async ({ pageParam = initialPageParam }) => {\n try {\n const payload = getStoredPayload()\n\n // 动态构建请求参数,包含 pageParam\n const requestParams = typeof params === 'function' ? params(payload, pageParam) : params\n const requestBody = typeof body === 'function' ? body(payload, pageParam) : body\n\n const kyOptions: KyOptions = {\n method: method as any,\n searchParams: requestParams,\n headers: requestHeaders,\n }\n\n if (requestBody) {\n if (requestBody instanceof FormData) {\n kyOptions.body = requestBody\n } else {\n kyOptions.json = requestBody\n }\n }\n\n const response = await ky.request<Data>({ url, ...kyOptions })\n shouldPoll.current = true\n afterSuccess?.(action.current, formInstance, [response])\n return response\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n afterError?.(errorObj, action.current, formInstance)\n throw errorObj\n }\n },\n initialPageParam,\n getNextPageParam: (lastPage: Data, allPages: Data[]) => {\n return getNextPageParam?.(lastPage, allPages, initialPageParam)\n },\n enabled: accessible && isValid,\n retry: (failureCount, retryError) => {\n if (failureCount >= 3) return false\n if (retryError?.message?.includes('401')) return false\n return true\n },\n retryDelay: attemptIndex => Math.min(1000 * 2 ** attemptIndex, 30000),\n refetchOnWindowFocus: false,\n refetchInterval: shouldPoll.current ? refreshInterval : 0,\n gcTime: cacheTime,\n staleTime,\n })\n\n // 在组件挂载时注册实例\n useEffect(() => {\n useInfiniteListStore.getState().registerInstance(identifier, url, queryKey, refetch, fetchNextPage)\n return () => {\n useInfiniteListStore.getState().unregisterInstance(identifier)\n }\n }, [identifier, url, queryKey, refetch, fetchNextPage])\n\n const dataSource = getDataSource(data?.pages, formInstance)\n const isLoadingMore = isFetchingNextPage\n const isReachingEnd = !hasNextPage\n const isEmpty = !dataSource || dataSource.length === 0\n\n const onConfirm = async () => {\n action.current = InfiniteListAction.Confirm\n const values = await _form.getFieldsValue()\n\n try {\n await _form.validateFields()\n setIsValid(true)\n\n // 更新 store 中的 payload\n useInfiniteListStore.getState().updatePayload(identifier, { page: 0, formValue: values })\n\n refetch()\n } catch {\n setIsValid(false)\n }\n }\n\n const loadMore = () => {\n action.current = InfiniteListAction.LoadMore\n fetchNextPage()\n }\n\n const onReset = async () => {\n action.current = InfiniteListAction.Reset\n try {\n _form.resetFields()\n const values = await _form.getFieldsValue()\n\n // 重置 store 中的 payload\n useInfiniteListStore.getState().updatePayload(identifier, { page: 0, formValue: values })\n\n await _form.validateFields({ validateOnly: true })\n refetch()\n } catch {\n // Handle validation error\n }\n }\n\n useEffect(() => {\n setTimeout(() => {\n if (accessible) {\n _form\n .validateFields({ validateOnly: true })\n .then(values => {\n setIsValid(true)\n\n // 初始化 store 中的 payload\n useInfiniteListStore.getState().updatePayload(identifier, { page: 0, formValue: values })\n })\n .catch(() => {\n setIsValid(false)\n })\n }\n }, 300)\n }, [accessible, _form, identifier])\n\n useImperativeHandle(ref, () => ({\n data: data?.pages,\n dataSource,\n form: _form,\n refetch: () => useInfiniteListStore.getState().refetch(identifier),\n fetchNextPage: () => useInfiniteListStore.getState().fetchNextPage(identifier),\n hasNextPage: !!hasNextPage,\n isFetchingNextPage,\n }))\n\n if (isLoading) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 300,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status={403} subTitle={t('global.noEntitlement')} />\n }\n\n const renderFooter = footer && (() => footer(data?.pages))\n\n const renderTableExtra = () => {\n if (typeof tableExtra === 'function') {\n return tableExtra(formInstance, data?.pages)\n }\n return tableExtra\n }\n\n const formRenderer =\n typeof renderForm === 'function' ? (\n <FilterFormWrapper\n showReset={showReset}\n buttonsAlign={buttonsAlign}\n isConfirming={isFetching}\n onReset={onReset}\n onConfirm={onConfirm}\n >\n {cloneElement(renderForm(_form), {\n onKeyUp: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onConfirm()\n }\n },\n })}\n </FilterFormWrapper>\n ) : (\n // 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)\n <Form form={_form} />\n )\n\n return (\n <>\n {formRenderer}\n {renderTableExtra()}\n <Table {...tableProps} dataSource={dataSource} loading={isFetching} pagination={false} footer={renderFooter} />\n {!isEmpty && (\n <Button\n block\n loading={isLoadingMore}\n type=\"link\"\n htmlType=\"button\"\n disabled={isLoadingMore || isReachingEnd}\n onClick={loadMore}\n >\n {isLoadingMore\n ? t('InfiniteList.loadingText')\n : isReachingEnd\n ? t('InfiniteList.reachEndText')\n : t('InfiniteList.loadMoreText')}\n </Button>\n )}\n </>\n )\n}\n\nconst InfiniteList = forwardRef(InternalInfiniteList) as <\n Item extends AnyObject = AnyObject,\n Values extends object | undefined = undefined,\n Data = any,\n>(\n props: InfiniteListProps<Item, Values, Data> & { ref?: Ref<InfiniteListRef<Item, Data>> },\n) => ReactElement\n\nexport default InfiniteList\n","import { isEqual } from 'lodash-es'\nimport { create } from 'zustand'\nimport { devtools, subscribeWithSelector } from 'zustand/middleware'\n\nimport type { InfiniteListPayload } from './InfiniteList'\n\n// Infinite Query 更新函数类型\ntype InfiniteQueryRefetchFunction = () => void | Promise<unknown>\ntype InfiniteQueryFetchNextPageFunction = () => void | Promise<unknown>\n\n// InfiniteList 实例信息\ninterface InfiniteListInstance {\n id: string\n url: string\n queryKey: readonly unknown[]\n payload: InfiniteListPayload\n refetch: InfiniteQueryRefetchFunction\n fetchNextPage: InfiniteQueryFetchNextPageFunction\n}\n\n// 简化的状态接口\ninterface InfiniteListState {\n // 实例管理\n instances: Map<string, InfiniteListInstance>\n\n // 核心方法\n registerInstance(\n id: string,\n url: string,\n queryKey: readonly unknown[],\n refetch: InfiniteQueryRefetchFunction,\n fetchNextPage: InfiniteQueryFetchNextPageFunction,\n ): void\n unregisterInstance(id: string): void\n updatePayload(id: string, payload: InfiniteListPayload): void\n getPayload(id: string): InfiniteListPayload\n refetch(id: string, payload?: InfiniteListPayload): Promise<void>\n fetchNextPage(id: string): Promise<void>\n\n // 工具方法\n getInstance(id: string): InfiniteListInstance | undefined\n getAllInstances(): InfiniteListInstance[]\n}\n\n// 创建简化的 store\nconst createStore = () =>\n create<InfiniteListState>()(\n devtools(\n subscribeWithSelector((set, get) => ({\n instances: new Map(),\n\n registerInstance(id, url, queryKey, refetch, fetchNextPage) {\n set(state => {\n const existingInstance = state.instances.get(id)\n\n // 如果实例已存在,只更新函数\n if (existingInstance) {\n const updatedInstance = {\n ...existingInstance,\n refetch,\n fetchNextPage,\n }\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n return { instances: newInstances }\n }\n\n // 创建新实例\n const instance: InfiniteListInstance = {\n id,\n url,\n queryKey,\n payload: { page: 0, formValue: {} },\n refetch,\n fetchNextPage,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, instance)\n\n return { instances: newInstances }\n })\n },\n\n unregisterInstance(id) {\n set(state => {\n const newInstances = new Map(state.instances)\n const existed = newInstances.delete(id)\n\n if (existed) {\n return { instances: newInstances }\n }\n return state\n })\n },\n\n updatePayload(id, payload) {\n set(state => {\n const instance = state.instances.get(id)\n if (!instance) return state\n\n const newPayload = { ...instance.payload, ...payload }\n\n // 只有当 payload 真正改变时才更新\n if (!isEqual(instance.payload, newPayload)) {\n const updatedInstance = {\n ...instance,\n payload: newPayload,\n }\n\n const newInstances = new Map(state.instances)\n newInstances.set(id, updatedInstance)\n\n return { instances: newInstances }\n }\n\n return state\n })\n },\n\n getPayload(id) {\n const instance = get().instances.get(id)\n return instance?.payload ?? { page: 0, formValue: {} }\n },\n\n async refetch(id, payload) {\n const instance = get().instances.get(id)\n if (!instance) {\n console.warn(`InfiniteList instance with id \"${id}\" not found`)\n return\n }\n\n // 更新 payload 如果提供且确实有变化\n if (payload) {\n const currentPayload = instance.payload\n const newPayload = { ...currentPayload, ...payload }\n\n // 只有当 payload 真正改变时才更新\n if (!isEqual(currentPayload, newPayload)) {\n get().updatePayload(id, payload)\n }\n }\n\n // 调用 refetch 函数\n try {\n await instance.refetch()\n } catch (error) {\n console.error(`Failed to refetch InfiniteList instance \"${id}\":`, error)\n throw error\n }\n },\n\n async fetchNextPage(id) {\n const instance = get().instances.get(id)\n if (!instance) {\n console.warn(`InfiniteList instance with id \"${id}\" not found`)\n return\n }\n\n // 调用 fetchNextPage 函数\n try {\n await instance.fetchNextPage()\n } catch (error) {\n console.error(`Failed to fetch next page for InfiniteList instance \"${id}\":`, error)\n throw error\n }\n },\n\n getInstance(id) {\n return get().instances.get(id)\n },\n\n getAllInstances() {\n return Array.from(get().instances.values())\n },\n })),\n {\n name: 'infinite-list-store',\n },\n ),\n )\n\n// 创建 store 实例\nconst store = createStore()\n\nexport const useInfiniteListStore = store\n","import { create } from 'zustand'\nimport { createJSONStorage, persist } from 'zustand/middleware'\n\nexport interface NavState {\n openKeys: string[]\n selectedKeys: string[]\n setOpenKeys: (keys: string[]) => void\n setSelectedKeys: (keys: string[]) => void\n}\n\nexport const useNavStore = create<NavState>()(\n persist(\n (set, get) => ({\n openKeys: [],\n setOpenKeys: keys => {\n const current = get()\n // 避免不必要的状态更新 - 使用更高效的比较方式\n if (current.openKeys.length !== keys.length || !current.openKeys.every((key, index) => key === keys[index])) {\n set({ openKeys: keys })\n }\n },\n selectedKeys: [],\n setSelectedKeys: keys => {\n const current = get()\n // 避免不必要的状态更新 - 使用更高效的比较方式\n if (\n current.selectedKeys.length !== keys.length ||\n !current.selectedKeys.every((key, index) => key === keys[index])\n ) {\n set({ selectedKeys: keys })\n }\n },\n }),\n {\n name: 'nav',\n storage: createJSONStorage(() => localStorage),\n partialize: state => ({\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n }),\n // 减少持久化频率,提升性能\n skipHydration: false,\n version: 1,\n },\n ),\n)\n","import type { ItemType, MenuDividerType } from 'antd/es/menu/interface'\nimport { memo } from 'react'\nimport { Link } from 'react-router-dom'\nimport type { Merge } from 'ts-essentials'\n\nimport type { MenuItemGroupType2, MenuItemType2, NavMenuItem, SubMenuType2 } from './types'\n\n// 优化 Link 组件,避免重复创建\nconst MemoizedLink = memo(({ to, children }: { to: string; children: React.ReactNode }) => (\n <Link to={to}>{children}</Link>\n))\n\nMemoizedLink.displayName = 'MemoizedLink'\n\n// 将自定义的菜单配置转换为 antd 的菜单配置,添加 react-router-dom Link 等。\nexport function transformItems(items?: NavMenuItem[]) {\n const result: ItemType[] = []\n\n if (items) {\n for (let i = 0; i < items.length; i++) {\n if (items[i] === null || (items[i] as MenuDividerType).type === 'divider') {\n result[i] = items[i] as null | MenuDividerType\n } else if ((items[i] as SubMenuType2 | MenuItemGroupType2).children) {\n const { children, ...rest } = items[i] as SubMenuType2 | MenuItemGroupType2\n result[i] = {\n ...rest,\n children: transformItems(children),\n }\n } else {\n const { route, label, ...rest } = items[i] as MenuItemType2\n const labelNode = route ? <MemoizedLink to={route}>{label}</MemoizedLink> : label\n\n result[i] = {\n ...rest,\n label: labelNode,\n }\n }\n }\n }\n\n return result\n}\n\n// 拍平导航配置,并且注入 keypath 字段\nexport function flatItems(\n items: NavMenuItem[],\n result: Merge<MenuItemType2, { keypath?: string[] }>[] = [],\n keypath: string[] = [],\n) {\n for (const item of items) {\n const children = (item as SubMenuType2 | MenuItemGroupType2)?.children as NavMenuItem[]\n\n if (Array.isArray(children)) {\n const keys =\n (item as MenuItemGroupType2).type !== 'group' && item!.key ? [...keypath, item!.key as string] : keypath\n flatItems(children, result, keys)\n } else if (item) {\n result.push(Object.assign(item as MenuItemType2, { keypath }))\n }\n }\n\n return result\n}\n","import type { MenuProps } from 'antd'\nimport { Menu, Spin } from 'antd'\nimport { memo, useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nimport { useNavStore } from './stores'\nimport type { NavMenuItem } from './types'\nimport { flatItems, transformItems } from './utils'\n\nexport interface NavMenuProps {\n items?: NavMenuItem[]\n theme?: MenuProps['theme']\n loading?: boolean\n}\n\nconst NavMenu = memo(function NavMenu(props: NavMenuProps) {\n const { items = [], theme, loading } = props\n const location = useLocation()\n const previousItemsRef = useRef<NavMenuItem[]>()\n const previousLocationRef = useRef<string>()\n\n const flattenItems = useMemo(() => {\n if (previousItemsRef.current === items) {\n return previousItemsRef.current ? flatItems(previousItemsRef.current) : []\n }\n previousItemsRef.current = items\n return flatItems(items)\n }, [items])\n\n const internalItems = useMemo(() => {\n if (previousItemsRef.current === items) {\n return previousItemsRef.current ? transformItems(previousItemsRef.current) : []\n }\n return transformItems(items)\n }, [items])\n\n const { openKeys, selectedKeys, setOpenKeys, setSelectedKeys } = useNavStore()\n\n const onOpenChange = useCallback(\n (keys: string[]) => {\n // 找到新打开的菜单项\n const expandedKey = keys.find(key => !openKeys.includes(key))\n\n if (expandedKey) {\n // 展开操作:找到完整的层级路径\n const match = flattenItems.find(item => item.key === expandedKey)\n const fullPath = match?.keypath ? [...match.keypath, expandedKey] : [expandedKey]\n setOpenKeys(fullPath)\n } else {\n // 折叠操作:直接使用新的 keys\n setOpenKeys(keys)\n }\n },\n [flattenItems, openKeys, setOpenKeys],\n )\n\n useEffect(() => {\n // 避免不必要的重新计算\n if (previousLocationRef.current === location.pathname) {\n return\n }\n previousLocationRef.current = location.pathname\n\n const match = flattenItems.find(item => location.pathname === item.route)\n\n if (match) {\n const key = match.key as string\n const keypath = match.keypath as string[]\n\n // 批量更新状态以减少重新渲染\n if (selectedKeys[0] !== key || !openKeys.every((k, i) => k === keypath[i])) {\n setSelectedKeys([key])\n setOpenKeys(keypath)\n }\n }\n }, [flattenItems, location.pathname, selectedKeys, openKeys, setSelectedKeys, setOpenKeys])\n\n if (loading) {\n return (\n <div className=\"flex justify-center items-center\" style={{ height: 'calc(100vh - 64px)' }}>\n <Spin />\n </div>\n )\n }\n\n return (\n <Menu\n theme={theme}\n style={{ borderRight: 'none' }}\n items={internalItems}\n mode=\"inline\"\n openKeys={openKeys}\n selectedKeys={selectedKeys}\n onOpenChange={onOpenChange}\n />\n )\n})\n\nif (process.env.NODE_ENV === 'development') {\n NavMenu.displayName = 'NavMenu'\n}\n\nexport default NavMenu\n","import * as Antd from 'antd'\nimport { Empty } from 'antd'\nimport type { FC, PropsWithChildren } from 'react'\nimport { Fragment } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport { useGames } from '@/services'\n\nconst { Spin } = Antd\n\nconst RequireGame: FC<PropsWithChildren> = ({ children }) => {\n const { permissionVersion, gameId, isGlobal } = useToolkitsStore(s => s)\n const { isLoading } = useGames()\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 400,\n }}\n >\n <Spin />\n </div>\n )\n }\n\n if (permissionVersion === PermissionVersion.V1 || isGlobal) {\n return children\n }\n\n if (!gameId) {\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={t('RequireGame.description')} />\n }\n\n return <Fragment key={gameId}>{children}</Fragment>\n}\n\nexport default RequireGame\n","import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons'\nimport { Button, Divider, Space } from 'antd'\nimport * as Antd from 'antd'\nimport type { FC, Key, PropsWithChildren, ReactNode } from 'react'\nimport { Suspense, useState } from 'react'\n\nimport type { NavMenuItem } from '@/components/navMenu'\nimport { NavMenu } from '@/components/navMenu'\nimport { RequireGame } from '@/components/requireGame'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { UserWidget } from '@/components/userWidget'\nimport { PermissionVersion } from '@/constants'\n\nimport type { GameSelectProps } from './GameSelect'\nimport GameSelect from './GameSelect'\nimport LayoutHeader from './LayoutHeader'\n\nconst { Spin, theme } = Antd\nconst { Header, Sider, Content } = Antd.Layout\n\ntype HeaderExtra = { key: Key; children: ReactNode }\n\nexport interface LayoutProps extends Pick<GameSelectProps, 'filter'> {\n collapsible?: boolean\n isMenuLoading?: boolean\n items?: NavMenuItem[]\n navWidth?: string | number\n gameSelectOptions?: GameSelectProps['options']\n headerExtra?: {\n left?: HeaderExtra[]\n right?: HeaderExtra[]\n }\n title?: string\n subtitle?: string\n}\n\nconst Layout: FC<PropsWithChildren<LayoutProps>> = props => {\n const {\n collapsible,\n isMenuLoading,\n items,\n headerExtra,\n children,\n navWidth,\n filter,\n gameSelectOptions,\n title,\n subtitle,\n } = props\n const {\n token: { colorBgContainer, colorBorder },\n } = theme.useToken()\n const {\n permissionVersion,\n navWidth: globalNavWidth,\n collapsible: globalCollapsible,\n mainPagePath,\n collapsed,\n setContext,\n isGlobal,\n } = useToolkitsStore()\n\n const [internalCollapsed, setInternalCollapsed] = useState(collapsed)\n\n const onCollapse = async () => {\n setInternalCollapsed(!internalCollapsed)\n setContext({ collapsed: !internalCollapsed })\n }\n\n const internalCollapsible = collapsible ?? globalCollapsible ?? false\n\n return (\n <Antd.Layout>\n <Sider\n collapsible={internalCollapsible}\n theme=\"light\"\n trigger={null}\n collapsed={internalCollapsed}\n width={navWidth ?? globalNavWidth}\n style={{\n height: '100vh',\n overflowX: 'hidden',\n overflowY: 'auto',\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colorBorder,\n transition: 'all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)',\n }}\n >\n <LayoutHeader\n title={title}\n subtitle={subtitle}\n mainPagePath={mainPagePath}\n collapsed={internalCollapsed || false}\n />\n <NavMenu items={items} loading={isMenuLoading} />\n </Sider>\n <Antd.Layout>\n <Header\n style={{\n padding: '0 24px',\n background: colorBgContainer,\n }}\n >\n <div className=\"flex justify-between items-center h-full\">\n <Space size=\"small\" split={<Divider type=\"vertical\" />} className=\"mr-6\">\n {internalCollapsible && (\n <Button\n type=\"text\"\n icon={internalCollapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}\n style={{ fontSize: '16px' }}\n onClick={onCollapse}\n />\n )}\n {permissionVersion !== PermissionVersion.V1 && !isGlobal && (\n <GameSelect filter={filter} options={gameSelectOptions} />\n )}\n {headerExtra?.left?.map(extra => <span key={extra.key}>{extra.children}</span>)}\n </Space>\n <Space size=\"small\" split={<Divider type=\"vertical\" />}>\n {headerExtra?.right?.map(extra => <span key={extra.key}>{extra.children}</span>)}\n <UserWidget />\n </Space>\n </div>\n </Header>\n <Content\n style={{\n overflow: 'auto',\n padding: '24px 16px',\n maxHeight: 'calc(100vh - 64px)',\n transition: 'margin-left 0.2s cubic-bezier(0.645, 0.045, 0.355, 1)',\n }}\n >\n <Suspense\n fallback={\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '200px',\n }}\n />\n }\n >\n <RequireGame>{children}</RequireGame>\n </Suspense>\n </Content>\n </Antd.Layout>\n </Antd.Layout>\n )\n}\n\nexport default Layout\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport { LogoutOutlined, UserOutlined } from '@ant-design/icons'\nimport type { MenuProps } from 'antd'\nimport { Dropdown, Space } from 'antd'\nimport type { FC, KeyboardEvent } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\n\nconst UserWidget: FC = () => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const { clearToken, getUser, signInPath } = useToolkitsStore(s => s)\n const user = getUser()\n\n const handleSignOut = () => {\n clearToken()\n navigate(signInPath)\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleSignOut()\n }\n }\n\n const handleDropdownKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }\n\n const items: MenuProps['items'] = [\n {\n key: '1',\n icon: <LogoutOutlined />,\n label: (\n <a role=\"button\" tabIndex={0} onClick={handleSignOut} onKeyDown={handleKeyDown}>\n {t('UserWidget.signOutText')}\n </a>\n ),\n },\n ]\n\n return (\n <div>\n <Dropdown\n menu={{\n selectable: true,\n items,\n }}\n placement=\"bottomRight\"\n >\n <a\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.preventDefault()\n }}\n onKeyDown={handleDropdownKeyDown}\n >\n <Space align=\"center\">\n <span>{user?.authorityId}</span>\n <UserOutlined style={{ fontSize: '16px' }} />\n </Space>\n </a>\n </Dropdown>\n </div>\n )\n}\n\nexport default UserWidget\n","import { useQueryClient } from '@tanstack/react-query'\nimport type { SelectProps } from 'antd'\nimport { Select, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { useGames } from '@/services'\n\nimport type { Game } from './types'\n\nconst { Text } = Typography\n\nexport interface GameSelectProps {\n filter?: (game: Game) => boolean\n options?: (data?: Game[]) => SelectProps['options']\n}\n\nconst GameSelect: FC<GameSelectProps> = props => {\n const { filter, options } = props\n const { t } = useTranslation()\n const { gameApiV2, gameId, setGameId } = useToolkitsStore(s => s)\n const { data, isLoading } = useGames()\n const queryClient = useQueryClient()\n\n const filteredData = data?.filter(item => filter?.(item) ?? true)\n\n const _options =\n typeof options === 'function'\n ? options(filteredData)\n : filteredData?.map(item => ({\n label: item.name,\n value: gameApiV2 ? item.game_id : item.id,\n }))\n\n // 切换游戏时清空 TanStack Query 缓存触发重新请求以更新视图。\n const onChange = (value: string | number) => {\n clearCache()\n setGameId(value)\n }\n\n const clearCache = () => {\n // 清除除游戏列表外的所有缓存\n queryClient.removeQueries({\n predicate: query => {\n const queryKey = query.queryKey\n return !queryKey.includes('/api/game/list') && !queryKey.includes('/api/usystem/game/all')\n },\n })\n }\n\n useEffect(() => {\n if (data && data.length > 0) {\n const firstId = gameApiV2 ? data[0].game_id : data[0].id\n if (data.every(item => String(item.game_id || item.id) !== String(gameId))) {\n // 如果当前游戏 ID 不在数据中,则设置为第一个游戏 ID\n setGameId(firstId)\n }\n }\n }, [data])\n\n return (\n <Space>\n <Text>{t('GameSelect.label')}</Text>\n <Select<string | number>\n showSearch\n optionFilterProp=\"label\"\n value={gameId}\n placeholder={t('GameSelect.placeholder')}\n loading={isLoading}\n style={{ width: '200px' }}\n options={_options}\n onChange={onChange}\n />\n </Space>\n )\n}\n\nexport default GameSelect\n","import type { DetailedHTMLProps, FC, ImgHTMLAttributes } from 'react'\n\nimport logoUrl from './logo.png'\n\nexport type LogoProps = Omit<DetailedHTMLProps<ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, 'src' | 'alt'>\n\nconst Logo: FC<LogoProps> = props => {\n return <img src={logoUrl} alt=\"logo\" {...props} />\n}\n\nexport default Logo\n","import { memo } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { Logo } from '@/components/logo'\n\ninterface LayoutHeaderProps {\n title?: string\n subtitle?: string\n mainPagePath: string\n collapsed: boolean\n}\n\nconst LayoutHeader = memo<LayoutHeaderProps>(({ title, subtitle, mainPagePath, collapsed }) => (\n <div\n className=\"px-6 py-2 font-bold relative bg-gradient-to-r from-white to-gray-50/30\"\n style={{\n height: 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n backdropFilter: 'blur(4px)',\n WebkitBackdropFilter: 'blur(4px)',\n }}\n >\n <div className={`flex items-center w-full ${collapsed ? 'justify-center' : ''}`}>\n <Link\n to={mainPagePath}\n className=\"hover:opacity-80 transition-all duration-300 ease-out block rounded-lg p-1 hover:bg-white/50 hover:shadow-sm\"\n style={{\n transition: 'all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n opacity: collapsed ? 0.8 : 1,\n transform: collapsed ? 'translateX(0)' : 'translateX(0)',\n }}\n >\n <Logo\n width={36}\n style={{\n objectFit: 'contain',\n display: 'block',\n filter: 'drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05))',\n transition: 'all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n }}\n />\n </Link>\n {title && (\n <div\n className=\"ml-4 overflow-hidden min-w-0\"\n style={{\n transition: 'all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n opacity: collapsed ? 0 : 1,\n width: collapsed ? '0px' : 'auto',\n marginLeft: collapsed ? '0px' : '16px',\n transform: collapsed ? 'translateX(-8px)' : 'translateX(0)',\n }}\n >\n <Link\n to={mainPagePath}\n className=\"text-xl leading-tight hover:text-blue-600 transition-all duration-300 font-bold text-ellipsis overflow-hidden whitespace-nowrap block bg-gradient-to-r from-gray-800 to-gray-600 bg-clip-text text-transparent hover:from-blue-600 hover:to-blue-500\"\n title={title}\n style={{\n letterSpacing: '0.02em',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.05)',\n }}\n >\n {title}\n </Link>\n </div>\n )}\n </div>\n <div\n className=\"w-full mt-2 overflow-hidden\"\n style={{\n height: subtitle && !collapsed ? '20px' : '1px',\n transition: 'height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n }}\n >\n <div className=\"flex items-center justify-center h-full w-full\">\n <div\n className=\"w-full border-t border-gray-200 absolute\"\n style={{\n opacity: !subtitle || collapsed ? 1 : 0,\n transition: 'opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n }}\n />\n {subtitle && (\n <div\n className=\"flex items-center w-full text-sm\"\n style={{\n opacity: collapsed ? 0 : 1,\n transform: collapsed ? 'translateY(-3px)' : 'translateY(0)',\n transition: 'all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n }}\n >\n <div className=\"flex-1 border-t border-gray-200\"></div>\n <span className=\"px-3 text-gray-500 font-medium whitespace-nowrap\" title={subtitle}>\n {subtitle}\n </span>\n <div className=\"flex-1 border-t border-gray-200\"></div>\n </div>\n )}\n </div>\n </div>\n </div>\n))\n\nLayoutHeader.displayName = 'LayoutHeader'\n\nexport default LayoutHeader\n","import { Result, Spin } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { usePermission } from '@/services'\n\nexport interface RequirePermissionProps {\n code: string\n config?: KyOptions\n}\n\nconst RequirePermission: FC<PropsWithChildren<RequirePermissionProps>> = props => {\n const { code, config, children } = props\n const { data: accessible, isLoading } = usePermission(code, config)\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 200,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status=\"403\" subTitle={t('global.noEntitlement')} />\n }\n\n return <>{children}</>\n}\n\nexport default RequirePermission\n","import { lazy } from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nconst MenuItemList = lazy(() => import('./menuItemList'))\nconst CreateMenuItem = lazy(() => import('./createMenuItem'))\nconst UpdateMenuItem = lazy(() => import('./updateMenuItem'))\n\nexport default (\n <Routes>\n <Route index element={<MenuItemList />} />\n <Route path=\"create\" element={<CreateMenuItem />} />\n <Route path=\"update/:id\" element={<UpdateMenuItem />} />\n </Routes>\n)\n","import { Button, Result } from 'antd'\nimport type { FC } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\n\ninterface NotFoundProps {\n redirectUrl?: string\n}\n\nconst NotFound: FC<NotFoundProps> = props => {\n const { redirectUrl } = props\n const navigate = useNavigate()\n const { t } = useTranslation()\n\n return (\n <div className=\"h-screen flex justify-center items-center\">\n <Result\n status=\"404\"\n title=\"404\"\n subTitle={t('NotFound.subTitle')}\n extra={\n redirectUrl && (\n <Button\n type=\"primary\"\n onClick={() => {\n navigate(redirectUrl)\n }}\n >\n {t('NotFound.buttonText')}\n </Button>\n )\n }\n />\n </div>\n )\n}\n\nexport default NotFound\n","import { Card, Form, Input, Select } from 'antd'\nimport type { ColumnsType } from 'antd/es/table'\nimport dayjs from 'dayjs'\nimport type { FC } from 'react'\n\nimport { ExpandableParagraph } from '@/components/expandableParagraph'\nimport { useTranslation } from '@/components/locale'\nimport { QueryList } from '@/components/queryList'\nimport { withContext } from '@/components/toolkitsProvider'\n\nimport type { OperationLogListItem } from './types'\n\nconst { Option } = Select\n\nconst OperationLogList: FC = () => {\n const { t } = useTranslation()\n\n const columns: ColumnsType<OperationLogListItem> = [\n {\n key: 'username',\n title: t('global.username'),\n dataIndex: 'uname',\n width: 100,\n },\n {\n key: 'label',\n title: t('global.label'),\n dataIndex: 'label',\n width: 150,\n },\n {\n key: 'method',\n title: t('global.method'),\n dataIndex: 'method',\n width: 100,\n },\n {\n key: 'route',\n title: t('global.route'),\n dataIndex: 'route',\n width: 200,\n },\n {\n key: 'request',\n title: t('global.request'),\n dataIndex: 'request',\n render(value: string) {\n return <ExpandableParagraph>{value}</ExpandableParagraph>\n },\n },\n {\n key: 'response',\n title: t('global.response'),\n dataIndex: 'response',\n render(value: string) {\n return <ExpandableParagraph>{value}</ExpandableParagraph>\n },\n },\n {\n key: 'creation_time',\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n width: 200,\n render(value: string) {\n return dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n },\n },\n ]\n\n return (\n <Card title=\"操作日志\">\n <QueryList<\n OperationLogListItem,\n {\n uname?: string\n route?: string\n method?: 'get' | 'post'\n label?: string\n },\n { List: OperationLogListItem[]; Total: number }\n >\n identifier=\"operation-log-list\"\n rowKey=\"id\"\n code=\"300001\"\n columns={columns}\n tableLayout=\"fixed\"\n request={{\n url: '/api/usystem/log/list',\n method: 'GET',\n }}\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n renderForm={form => (\n <Form form={form} layout=\"inline\">\n <Form.Item label={t('global.username')} name=\"uname\">\n <Input allowClear />\n </Form.Item>\n <Form.Item label={t('global.route')} name=\"route\">\n <Input allowClear />\n </Form.Item>\n <Form.Item label={t('global.method')} name=\"method\">\n <Select allowClear style={{ width: '100px' }}>\n <Option value=\"get\">GET</Option>\n <Option value=\"post\">POST</Option>\n </Select>\n </Form.Item>\n <Form.Item label={t('global.label')} name=\"label\">\n <Input allowClear />\n </Form.Item>\n </Form>\n )}\n />\n </Card>\n )\n}\n\nexport default withContext(OperationLogList, { isGlobal: true })\n","import { lazy } from 'react'\nimport { Navigate, Route, Routes } from 'react-router-dom'\n\nconst UserList = lazy(() => import('./userList'))\nconst UserDetail = lazy(() => import('./userDetail'))\nconst RoleList = lazy(() => import('./roleList'))\nconst RoleDetail = lazy(() => import('./roleDetail'))\n\nexport default (\n <Routes>\n <Route index element={<Navigate to=\"user\" />} />\n <Route path=\"user\" element={<UserList />} />\n <Route path=\"user/:id\" element={<UserDetail />} />\n <Route path=\"role\" element={<RoleList />} />\n <Route path=\"role/:name\" element={<RoleDetail />} />\n </Routes>\n)\n","import { Alert, Button, Divider, Form, Input, Space, Spin, Typography } from 'antd'\nimport type { FC, ReactNode } from 'react'\nimport { Navigate } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { Logo } from '@/components/logo'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { SSO_URL } from '@/constants'\n\nimport backgroundUrl from './background.svg'\nimport { useTicketLogin } from './hooks'\n\ninterface SignInProps {\n extra?: ReactNode\n title?: string\n}\n\nconst SignIn: FC<SignInProps> = ({ extra, title }) => {\n const { token, mainPagePath } = useToolkitsStore(s => s)\n const { t } = useTranslation()\n const { isLoading, isUnregistered, dismissUnregistered } = useTicketLogin()\n\n if (isLoading) {\n return (\n <div className=\"w-screen h-screen flex justify-center items-center\">\n <Spin />\n </div>\n )\n }\n\n if (token) {\n const hashMode = !!window.location.hash\n const path = mainPagePath\n\n if (!hashMode) {\n return <Navigate replace to={mainPagePath} />\n }\n\n // 移除 ticket\n window.location.href = `${window.location.origin}${window.location.pathname}#${path}`\n\n return null\n }\n\n return (\n <div className=\"w-screen h-screen relative flex overflow-hidden\">\n <div className=\"absolute top-16 right-16 z-10\">{extra}</div>\n <div className=\"absolute left-14 top-6\">\n <Space align=\"center\">\n <Logo width={48} />\n {title && <span className=\"text-2xl font-bold\">{title}</span>}\n </Space>\n </div>\n <div className=\"flex-1 flex justify-center items-center bg-slate-50\">\n <img src={backgroundUrl} alt=\"background\" className=\"w-10/12\" />\n </div>\n <div className=\"w-[650px] relative top-0 left-0 right-0 bottom-0\">\n <div className=\"absolute top-1/2 -translate-y-1/2 left-0 right-0\">\n <div className=\"-translate-y-10 px-36\">\n <div className=\"flex flex-col justify-center\">\n <div className=\"h-10\">\n {isUnregistered && (\n <Alert\n banner\n closable\n message={t('SignIn.unregistered')}\n type=\"error\"\n onClose={dismissUnregistered}\n />\n )}\n </div>\n <Typography.Title level={2}>{t('SignIn.welcome')}</Typography.Title>\n <div className=\"mt-4\">\n <Form layout=\"vertical\" autoComplete=\"off\">\n <Form.Item label={t('global.username')} name=\"username\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.password')} name=\"password\" rules={[{ required: true }]}>\n <Input.Password />\n </Form.Item>\n <Form.Item>\n <Button block type=\"primary\" shape=\"round\" htmlType=\"submit\">\n {t('global.signIn')}\n </Button>\n </Form.Item>\n </Form>\n </div>\n <Divider plain dashed>\n {t('SignIn.thirdParty')}\n </Divider>\n <div className=\"flex justify-center items-center\">\n <Button\n block\n shape=\"round\"\n href={`${SSO_URL}/logout?service=${SSO_URL}/login?service=${window.location.href}`}\n target=\"_self\"\n >\n <Logo width={18} />\n {t('SignIn.signInWithIDass')}\n </Button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default SignIn\n","import { useQuery } from '@tanstack/react-query'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { useKy } from '@/libs'\n\n/**\n * 处理登录页面的票据逻辑和未注册用户提示\n */\nexport function useTicketLogin() {\n const ky = useKy()\n const { setToken } = useToolkitsStore()\n\n // 解析 URL 参数\n const { ticket, unregisteredFromUrl } = useMemo(() => {\n const queryParams = new URLSearchParams(window.location.search)\n return {\n ticket: queryParams.get('ticket'),\n unregisteredFromUrl: queryParams.get('unregistered') === 'true',\n }\n }, [])\n\n // 初始化未注册状态\n const [isUnregistered, setIsUnregistered] = useState(unregisteredFromUrl)\n\n // 使用票据登录\n const { data, isLoading, error } = useQuery({\n queryKey: ['ticket-login', ticket],\n queryFn: () => ky.get<{ token: string }>(`/api/usystem/user/login?ticket=${ticket}`),\n enabled: !!ticket,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n })\n\n // 处理登录成功和错误\n useEffect(() => {\n if (data?.token) {\n setToken(data.token)\n } else if (error && 'response' in error && (error.response as { status?: number })?.status === 403) {\n setIsUnregistered(true)\n }\n }, [data, error, setToken])\n\n // 关闭未注册提示\n const dismissUnregistered = useMemo(\n () => () => {\n setIsUnregistered(false)\n // 清理 URL 参数\n if (unregisteredFromUrl) {\n const url = new URL(window.location.href)\n url.searchParams.delete('unregistered')\n window.history.replaceState({}, '', url.toString())\n }\n },\n [unregisteredFromUrl],\n )\n\n return {\n hasTicket: !!ticket,\n isLoading,\n error,\n isUnregistered,\n dismissUnregistered,\n }\n}\n"]}
|