@camera.ui/server 2.0.20 → 2.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/assets/{404-DVIgoIOM.js → 404-0d936klL.js} +1 -1
- package/dist/interface/assets/{About-I7CYGBLL.js → About-BMwYrGrl.js} +1 -1
- package/dist/interface/assets/Adminpanel-DBsOmAuo.js +1 -0
- package/dist/interface/assets/Automation-BLndVfqR.js +3 -0
- package/dist/interface/assets/{AutomationImport-DOdFWPX5.js → AutomationImport-Ba33juY0.js} +2 -2
- package/dist/interface/assets/AutomationStore-Bjf1x7go.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-Ko3n3U1U.js +2 -0
- package/dist/interface/assets/Automations-BfC8bvkT.js +2 -0
- package/dist/interface/assets/Camera-BYDPeH6d.js +2 -0
- package/dist/interface/assets/Camera-yUrhUGmO.css +1 -0
- package/dist/interface/assets/{CameraConsole-DXtIR7hw.js → CameraConsole-pVCj1xXI.js} +2 -2
- package/dist/interface/assets/{Cameras-DwFpaiFD.js → Cameras-DdokAe_Q.js} +2 -2
- package/dist/interface/assets/Camview-DmuGSzal.js +1 -0
- package/dist/interface/assets/Config-DvVqB0_Y.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-ne90-Fez.js → ConfigActionCameraControl-DFdb4xzq.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-BRYGWPTP.js → ConfigActionDelay-B1JjI6bg.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-D1m69rJz.js → ConfigActionHttp-BzGIbeVo.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-Dm_P4Q7V.js → ConfigActionImageInput-C6m2-s8z.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-CmRxXG4V.js → ConfigActionMqtt-ByZNQKsg.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-BipubH-a.js → ConfigActionNotification-YmdMddoN.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-HDZVn3cx.js → ConfigActionNotificationControl-2hWDRBpq.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-vD4dohGk.js → ConfigActionOutput-D9k1-jfI.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-ug-TKeyw.js → ConfigActionPlugin-DjD_94EX.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CBNs37pL.js → ConfigActionSensor-fak8jYSC.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-BhrCn6PJ.js → ConfigActionSnapshot-mwEHXqyk.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-BabtvdZx.js → ConfigActionVariable-kBxNfyOV.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-CAWJ-gg2.js → ConfigConditionIfElse-CkjmImTD.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-BxTrOTpB.js → ConfigConditionSensorState-FE3mFjRe.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-aJ-w67SY.js → ConfigConditionSwitch-msqWizIt.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-HKC4eK68.js → ConfigConditionTime-ifPV135b.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-C4msc9Se.js → ConfigSensorValueInput-Bg3SEbSh.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-NwOPfWsQ.js → ConfigTriggerDetection-Cjes6g7x.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CmX_4WIJ.js → ConfigTriggerGeofence-CemaUwl5.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-BuJQbcOo.js → ConfigTriggerManual-DWuiq7PC.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-R0VWW5up.js → ConfigTriggerMqtt-DxAoDh2Z.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-D21piX-w.js → ConfigTriggerSchedule-DDqgMGvp.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Cl-mz7nd.js → ConfigTriggerSensor-M6bXqz4k.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CPPe9gXo.js → ConfigTriggerSystem-NaaBopYq.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-BVKRs9Pr.js → ConfigTriggerWebhook-CxOXgcJi.js} +1 -1
- package/dist/interface/assets/Console-CMuW2_8s.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-B1HvXwOc.js → CuiAutomationRunsDialog-yh1qHzmS.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-BMLuWNPf.js → CuiBottomSheet-BshiVWqw.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DSNyVg5P.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-CS8nuRgX.js → CuiCameraPipCard-Cmk0jl6M.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-KU1wIai4.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-7OhxbeqJ.js → CuiCameraShares-BoR3YQWj.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-CggOjNka.js → CuiCameraTable-BRPBqU8V.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-VRoxHf0R.js → CuiDataTable-BGY4VBtv.js} +1 -1
- package/dist/interface/assets/CuiList-BSOMR296.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-BwMdbyad.js → CuiMarkdownContent-DEMo42iT.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-Xn_VHwym.js +1 -0
- package/dist/interface/assets/{CuiPluginCard-C_HSpNve.js → CuiPluginCard-CgJb8B1W.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-iszX6Lqh.js → CuiPluginCategoryChip-D9Vi1SEP.js} +1 -1
- package/dist/interface/assets/CuiPluginOAuthButton-XpEyqoRm.js +2 -0
- package/dist/interface/assets/{CuiPluginTrustBadge-BtP_jlV6.js → CuiPluginTrustBadge-D0rUX2i6.js} +1 -1
- package/dist/interface/assets/CuiQRCode-QBkbmvRA.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CuEl_hhu.js +1 -0
- package/dist/interface/assets/CuiSchema-D_cg-H5i.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-qqxqB8Cc.js → CuiTopNavbarItem-CXijnkK9.js} +1 -1
- package/dist/interface/assets/Faces-C95mlWaW.js +1 -0
- package/dist/interface/assets/FirstSteps-Cpbg7fng.js +1 -0
- package/dist/interface/assets/Instances-BgJtM1Xl.js +1 -0
- package/dist/interface/assets/{Logs-BiEohM1x.js → Logs-BWXYqm5T.js} +2 -2
- package/dist/interface/assets/Menu-BO9Zjy1w.js +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-Cg1RWZ2r.js → OAuthDeviceFlow-NnwqdmBM.js} +1 -1
- package/dist/interface/assets/Plugin-BLqyZrJP.css +1 -0
- package/dist/interface/assets/Plugin-DQq3xjhe.js +1 -0
- package/dist/interface/assets/{PluginConsole-DNZYZcf-.js → PluginConsole-BTsVAsKf.js} +2 -2
- package/dist/interface/assets/PluginDetail-CTyzzZVU.js +2 -0
- package/dist/interface/assets/{PluginSchema-CBh-9WZs.js → PluginSchema-Bn3pHjQA.js} +1 -1
- package/dist/interface/assets/PluginSearch-DbXCyUF0.js +1 -0
- package/dist/interface/assets/PluginSearch-z0z8Z1gP.js +2 -0
- package/dist/interface/assets/Plugins-Cy7e-ty2.js +1 -0
- package/dist/interface/assets/Recordings-CWBpGEUf.js +1 -0
- package/dist/interface/assets/Settings-CUIORSmm.js +1 -0
- package/dist/interface/assets/SettingsAccount-CeJBKpzp.js +1 -0
- package/dist/interface/assets/SettingsAccount-CnwVrQx1.js +1 -0
- package/dist/interface/assets/SettingsAppearance-BraaC0WF.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CZrOTBki.js +1 -0
- package/dist/interface/assets/{SettingsBackup-By22p7wO.js → SettingsBackup-y9mb8XZZ.js} +1 -1
- package/dist/interface/assets/SettingsList-DsKncveQ.js +1 -0
- package/dist/interface/assets/{SettingsMqtt-DIUaZT6Y.js → SettingsMqtt-DTyyctmQ.js} +1 -1
- package/dist/interface/assets/SettingsNotifications-SFMt4Yuj.js +2 -0
- package/dist/interface/assets/SettingsPermissions-CktJaQzL.js +1 -0
- package/dist/interface/assets/{SettingsRecordings-Dis1Nbho.js → SettingsRecordings-Bqguyt6u.js} +1 -1
- package/dist/interface/assets/SettingsRemote-CTv7bb4g.js +1 -0
- package/dist/interface/assets/SettingsSystem-CkCnB34r.js +2 -0
- package/dist/interface/assets/SettingsUsers-D8LAGd6F.js +1 -0
- package/dist/interface/assets/Terminal-DaR9Ur0_.js +4 -0
- package/dist/interface/assets/{VariableInput-B9OmFO4i.js → VariableInput-D0TP_Lmo.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-B1-MhuJO.js → VariableSuggestions--vq7928F.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DGHOWAbq.js → VersionsHandler-D9GDdcXr.js} +1 -1
- package/dist/interface/assets/Workers-CUyRzwJG.js +2 -0
- package/dist/interface/assets/{Workers-DmcQx0L8.css → Workers-CzAz4N2_.css} +1 -1
- package/dist/interface/assets/{account-jONrhXkE.js → account-sFoKqEOV.js} +1 -1
- package/dist/interface/assets/{alert-circle-CqEfEWD8.js → alert-circle-BQZQ417w.js} +1 -1
- package/dist/interface/assets/{alert-outline-DcXO2ICo.js → alert-outline-BUvdNY2J.js} +1 -1
- package/dist/interface/assets/{api-iqP3iqyL.js → api-DEaXK1Kq.js} +1 -1
- package/dist/interface/assets/api-DxrxNyIH.js +2 -0
- package/dist/interface/assets/api-VZ_wVUpU.css +2 -0
- package/dist/interface/assets/{arrow-left-DGioEwqJ.js → arrow-left-LdfKbcre.js} +1 -1
- package/dist/interface/assets/{arrow-right-outline-BrpH6MGt.js → arrow-right-outline-BbTEhBJq.js} +1 -1
- package/dist/interface/assets/{auth-DKeGdKLU.js → auth-XA5zkqwW.js} +1 -1
- package/dist/interface/assets/{automations-C5--KLWD.js → automations-51-JMUWD.js} +1 -1
- package/dist/interface/assets/{back-filled-DZmo9cAg.js → back-filled-BdHG6uUx.js} +1 -1
- package/dist/interface/assets/{bell-ring-D0h1GDrU.js → bell-ring-Dua4zXf_.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BEG-W9JW.js → cameras.schema-1a2URPGd.js} +1 -1
- package/dist/interface/assets/{cctv-CdDfBHME.js → cctv-DEiPL3U8.js} +1 -1
- package/dist/interface/assets/{check-circle-CVNa_reg.js → check-circle-D-utE_P9.js} +1 -1
- package/dist/interface/assets/{chevron-down-BiRUJ9SO.js → chevron-down-OEjMpuec.js} +1 -1
- package/dist/interface/assets/{chevron-right-Crha-j7O.js → chevron-right-B3nxd9UE.js} +1 -1
- package/dist/interface/assets/{clock-outline-dv-kmi60.js → clock-outline-C_f3Ed8x.js} +1 -1
- package/dist/interface/assets/{close-BCRtoBTk.js → close-DNgGJYHi.js} +1 -1
- package/dist/interface/assets/{close-circle-raXx3m4Q.js → close-circle-L5juejMg.js} +1 -1
- package/dist/interface/assets/{cloud-check-CST59Xl_.js → cloud-check-DD7oRzmo.js} +1 -1
- package/dist/interface/assets/cloudHandoff-BktPB9rt.js +1 -0
- package/dist/interface/assets/{config-DJDQ4YbG.js → config-C2hgXHyj.js} +1 -1
- package/dist/interface/assets/{copy-C53ZJyaU.js → copy-BvSzmsFs.js} +1 -1
- package/dist/interface/assets/{delete-Dvdp44LT.js → delete-B9BZTgya.js} +1 -1
- package/dist/interface/assets/{dist-DZi5AgJB.js → dist-qdWlJrr0.js} +1 -1
- package/dist/interface/assets/{download-Dq82fWLS.js → download-Dp_ssGIE.js} +1 -1
- package/dist/interface/assets/esm-9VMgxuPI.js +1 -0
- package/dist/interface/assets/esm-B69zS8aI.js +1 -0
- package/dist/interface/assets/esm-BF94InGP.js +1 -0
- package/dist/interface/assets/esm-BHdK6hkk.js +1 -0
- package/dist/interface/assets/esm-BYm8JT8N.js +1 -0
- package/dist/interface/assets/esm-BwCmHX2G.js +1 -0
- package/dist/interface/assets/esm-CL6t-XYT.js +1 -0
- package/dist/interface/assets/esm-CXstRMXa.js +1 -0
- package/dist/interface/assets/esm-Ckb9rjlL.js +1 -0
- package/dist/interface/assets/esm-D4insKbc.js +1 -0
- package/dist/interface/assets/esm-DiReJ8YS.js +1 -0
- package/dist/interface/assets/esm-Dt_Neag0.js +1 -0
- package/dist/interface/assets/esm-GspmWlKf.js +1 -0
- package/dist/interface/assets/esm-eezqpB2a.js +1 -0
- package/dist/interface/assets/{flowSchema-ByS8_PvM.js → flowSchema-Ckr7CEbZ.js} +1 -1
- package/dist/interface/assets/{history--LGIMjNU.js → history-iAZcYg3f.js} +1 -1
- package/dist/interface/assets/{home-C5hRJg9h.js → home-DL94781-.js} +1 -1
- package/dist/interface/assets/{information-outline-CjhiKBjG.js → information-outline-CVsB1bl-.js} +1 -1
- package/dist/interface/assets/{lightbulb-outline-BGFG7wv-.js → lightbulb-outline-nNLyXAIp.js} +1 -1
- package/dist/interface/assets/{main-Dchuz606.css → main-BxM81wMi.css} +1 -1
- package/dist/interface/assets/main-DOjghmGX.js +3 -0
- package/dist/interface/assets/{microphone-Dp5Yhz6Z.js → microphone-CU0mFDMh.js} +1 -1
- package/dist/interface/assets/{mqtt-D2bsWeKE.js → mqtt-COazyb4A.js} +1 -1
- package/dist/interface/assets/native-WiRjRKUS.js +1 -0
- package/dist/interface/assets/native-hhip9y-E.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-B3j6RajL.js → nodeDefinitions-CPyyuw1P.js} +1 -1
- package/dist/interface/assets/{notifications-CafZ2-zM.js → notifications-BHQN6WD4.js} +1 -1
- package/dist/interface/assets/pencil-outline-BQxLTlZx.js +1 -0
- package/dist/interface/assets/plugin-DIVM640y.js +1 -0
- package/dist/interface/assets/{plugins-CIT9775i.js → plugins-C0RtyBHQ.js} +1 -1
- package/dist/interface/assets/{plus-C6l_Q-mY.js → plus-CTzaBaTz.js} +1 -1
- package/dist/interface/assets/{plus-DhRnJIfm.js → plus-Ct6WQfM1.js} +1 -1
- package/dist/interface/assets/{power-BfcMaKbx.js → power-CvKGepBP.js} +1 -1
- package/dist/interface/assets/{ring-resize-peEJMXPl.js → ring-resize-CZBThoQC.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-BcL7KVCG.js → round-alt-arrow-left-bold-BlpNMBxm.js} +1 -1
- package/dist/interface/assets/round-restart-alt-D3iswthu.js +1 -0
- package/dist/interface/assets/{search-BTu5ntI6.js → search-M4Rt52Co.js} +1 -1
- package/dist/interface/assets/{server-hEeNagJk.js → server-CVSOthzT.js} +1 -1
- package/dist/interface/assets/{settings-wRDwvjf-.js → settings-CgToKrFd.js} +1 -1
- package/dist/interface/assets/{source-branch-DejOTyZv.js → source-branch-CoHKTGxb.js} +1 -1
- package/dist/interface/assets/{theme-BJfyZiCo.js → theme-BZi7VV10.js} +1 -1
- package/dist/interface/assets/{trash-2-upauF9j0.js → trash-2-BKWfq15D.js} +1 -1
- package/dist/interface/assets/{trash-can-outline-PQys0L3O.js → trash-can-outline-HvqPHpF7.js} +1 -1
- package/dist/interface/assets/{trash-fill-DDHuYpvM.js → trash-fill-yNQsFs0Y.js} +1 -1
- package/dist/interface/assets/{trash2-M6P7YvkH.js → trash2-DjTG9rG-.js} +1 -1
- package/dist/interface/assets/{types-DBGjHKw2.js → types-Bw8H-UB4.js} +1 -1
- package/dist/interface/assets/types-CDJiWcQ7.js +1 -0
- package/dist/interface/assets/{upload-DwNCSVAl.js → upload-B6yqOWqz.js} +1 -1
- package/dist/interface/assets/useAppVersion-CDTrwxkp.js +1 -0
- package/dist/interface/assets/useBackupRestore-QuXkc5ZG.js +1 -0
- package/dist/interface/assets/{useCameraOptions-CL_7DfoJ.js → useCameraOptions-D5-bI-e6.js} +1 -1
- package/dist/interface/assets/{useCardSelection-BdYBm23a.js → useCardSelection-CgZ7QTaA.js} +1 -1
- package/dist/interface/assets/useElectron-CgLWOhcS.js +1 -0
- package/dist/interface/assets/{useLogsSocket-DH7pUHng.js → useLogsSocket-BlAo-xcw.js} +1 -1
- package/dist/interface/assets/usePermissions-tzi2t12h.js +1 -0
- package/dist/interface/assets/{useServerRestart-Bp_KEXEn.js → useServerRestart-DctcFWWh.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-M9pF0vGv.js → useStreamStatus-BV_L7pxB.js} +1 -1
- package/dist/interface/assets/useUserOptions-nuBRgAEk.js +1 -0
- package/dist/interface/assets/{variable-K7DoQHpX.js → variable-Y3IAPnsB.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-CxG00gaf.js → vendor-cameraui-B_OCKNGw.js} +24 -24
- package/dist/interface/assets/{vendor-capacitor-BmJAC1FL.js → vendor-capacitor-D6T-f6Q_.js} +2 -2
- package/dist/interface/assets/{vendor-chart-BDu4sN9x.js → vendor-chart-DpsXMlB-.js} +1 -1
- package/dist/interface/assets/{vendor-core-C6srgzh_.js → vendor-core-zLmLhSHM.js} +1 -1
- package/dist/interface/assets/{vendor-dnd-BN6m9rq8.js → vendor-dnd-hwiZJHjo.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-BLoTmI_a.js → vendor-draggabilly-OrLwQbim.js} +1 -1
- package/dist/interface/assets/{vendor-gridstack-BJlwi692.js → vendor-gridstack-C6VKsm_r.js} +1 -1
- package/dist/interface/assets/{vendor-markdown-D_3Of-Gz.js → vendor-markdown-_OBaDsnU.js} +1 -1
- package/dist/interface/assets/{vendor-CdGy-Xet.js → vendor-nfBMzqgY.js} +10 -10
- package/dist/interface/assets/{vendor-primevue-DZljZRZZ.js → vendor-primevue-C6wcTjtT.js} +1 -1
- package/dist/interface/assets/{vendor-vueflow-D7rAeKHv.js → vendor-vueflow-B1MUSE71.js} +1 -1
- package/dist/interface/assets/web-B-SlpbxK.js +1 -0
- package/dist/interface/assets/web-B6leYIzJ.js +1 -0
- package/dist/interface/assets/web-BLDe3Kn0.js +1 -0
- package/dist/interface/assets/web-BT-51W2W.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-DHLvmMLr.js +1 -0
- package/dist/interface/assets/web-BpRU7MbT.js +1 -0
- package/dist/interface/assets/web-CiaJvmq8.js +1 -0
- package/dist/interface/assets/web-Cnkt61og.js +1 -0
- package/dist/interface/assets/web-CzhM-YH1.js +1 -0
- package/dist/interface/assets/web-Da5rcZ2Q.js +1 -0
- package/dist/interface/assets/web-DdZjFuTb.js +1 -0
- package/dist/interface/assets/web-DnHj9sl9.js +1 -0
- package/dist/interface/assets/web-E4Ew4Xhj.js +1 -0
- package/dist/interface/assets/web-q63OEDhG.js +1 -0
- package/dist/interface/assets/{webhook-CQl989bo.js → webhook-yCryYojY.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-BMiTt6Ad.js +1 -0
- package/dist/interface/assets/{zoom-in-2i20zd_d.js → zoom-in-Da5uRiQq.js} +1 -1
- package/dist/interface/index.html +38 -37
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +7 -7
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +29 -1
- package/dist/server/src/api/controllers/plugins.controller.js +2 -0
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/workers.controller.js +9 -0
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +1 -0
- package/dist/server/src/api/routes/workers.routes.js +13 -1
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +106 -0
- package/dist/server/src/api/schemas/cameras.schema.js +7 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/workers.schema.d.ts +4 -0
- package/dist/server/src/api/schemas/workers.schema.js +3 -0
- package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.js +5 -0
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/workers.service.d.ts +2 -0
- package/dist/server/src/api/services/workers.service.js +12 -0
- package/dist/server/src/api/services/workers.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +10 -1
- package/dist/server/src/api/websocket/nsp/server.js +8 -2
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/automations/engine.js +24 -14
- package/dist/server/src/automations/engine.js.map +1 -1
- package/dist/server/src/camera/codecCache.d.ts +10 -0
- package/dist/server/src/camera/codecCache.js +14 -0
- package/dist/server/src/camera/codecCache.js.map +1 -0
- package/dist/server/src/camera/controller.d.ts +1 -0
- package/dist/server/src/camera/controller.js +22 -0
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +24 -7
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +2 -0
- package/dist/server/src/camera/decoder/event-thumbnailer.js +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
- package/dist/server/src/camera/decoder/hardware.d.ts +4 -0
- package/dist/server/src/camera/decoder/hardware.js +17 -0
- package/dist/server/src/camera/decoder/hardware.js.map +1 -0
- package/dist/server/src/camera/decoder/plugin-registry.d.ts +1 -0
- package/dist/server/src/camera/decoder/plugin-registry.js +5 -0
- package/dist/server/src/camera/decoder/plugin-registry.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/frame-source.d.ts +3 -1
- package/dist/server/src/camera/decoder/sources/frame-source.js +6 -2
- package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/snapshot-source.d.ts +2 -0
- package/dist/server/src/camera/decoder/sources/snapshot-source.js +3 -2
- package/dist/server/src/camera/decoder/sources/snapshot-source.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.js +4 -1
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/rpc/server.js +2 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/utils/camera.js +2 -1
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +1 -0
- package/dist/server/src/workers/manager.js +10 -2
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +1 -0
- package/package.json +7 -7
- package/dist/interface/assets/Adminpanel-hjxjbIls.js +0 -1
- package/dist/interface/assets/Automation-BD6i5cCJ.js +0 -3
- package/dist/interface/assets/AutomationStore-CiCQsvdr.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-C8GdQfDw.js +0 -2
- package/dist/interface/assets/Automations-Dam6L6IJ.js +0 -2
- package/dist/interface/assets/Camera-Da5zEitE.css +0 -1
- package/dist/interface/assets/Camera-DpK373mr.js +0 -2
- package/dist/interface/assets/Camview-BXVRXt1q.js +0 -1
- package/dist/interface/assets/Config-FNZhCKP3.js +0 -2
- package/dist/interface/assets/Console-C8WGObIS.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-VFweBZsl.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-Cbv9O2mI.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-G916_kVN.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-CD_cP8Sg.js +0 -2
- package/dist/interface/assets/CuiQRCode-TwHpMVmz.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-DFWeOQom.js +0 -1
- package/dist/interface/assets/CuiSchema-sba3GEON.js +0 -1
- package/dist/interface/assets/Faces-DKuJfnrx.js +0 -1
- package/dist/interface/assets/FirstSteps-VH2JpKh5.js +0 -1
- package/dist/interface/assets/Instances-B9R41nUI.js +0 -1
- package/dist/interface/assets/Menu-CauhLfRy.js +0 -1
- package/dist/interface/assets/Plugin-D83B_edv.js +0 -1
- package/dist/interface/assets/Plugin-wl-2k1zI.css +0 -1
- package/dist/interface/assets/PluginDetail-olQafOof.js +0 -2
- package/dist/interface/assets/PluginSearch-BRTEBxyD.js +0 -2
- package/dist/interface/assets/PluginSearch-BeRuXfue.js +0 -1
- package/dist/interface/assets/Plugins-kIuGHw0l.js +0 -1
- package/dist/interface/assets/Recordings-DCMz1eso.js +0 -1
- package/dist/interface/assets/Settings-Di_XJPuI.js +0 -1
- package/dist/interface/assets/SettingsAccount-B50Vw6rp.js +0 -1
- package/dist/interface/assets/SettingsAccount-DwPmXX3f.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Bt5mV6iW.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CiwV01fK.js +0 -1
- package/dist/interface/assets/SettingsNotifications-pL4a8qGr.js +0 -2
- package/dist/interface/assets/SettingsRemote-DtqxKJ72.js +0 -1
- package/dist/interface/assets/SettingsSystem-Bmu_mIzP.js +0 -2
- package/dist/interface/assets/SettingsUsers-DSrT7URM.js +0 -1
- package/dist/interface/assets/Terminal-rBjP4aPW.js +0 -4
- package/dist/interface/assets/Workers-BIrXPPcm.js +0 -2
- package/dist/interface/assets/api-C4TatJmj.js +0 -2
- package/dist/interface/assets/api-LLscRp6O.css +0 -2
- package/dist/interface/assets/cloudHandoff-CHuMYunO.js +0 -1
- package/dist/interface/assets/esm-5O0fbEL-.js +0 -1
- package/dist/interface/assets/esm-8JcCIx6p.js +0 -1
- package/dist/interface/assets/esm-BIwkRkap.js +0 -1
- package/dist/interface/assets/esm-Ba1kg7sT.js +0 -1
- package/dist/interface/assets/esm-CI9fumfA.js +0 -1
- package/dist/interface/assets/esm-CfqCZ8Ic.js +0 -1
- package/dist/interface/assets/esm-Cle2K7IB.js +0 -1
- package/dist/interface/assets/esm-DGhY5suq.js +0 -1
- package/dist/interface/assets/esm-D_SYso1m.js +0 -1
- package/dist/interface/assets/esm-Dg-c_Ys9.js +0 -1
- package/dist/interface/assets/esm-IjMpYY_D.js +0 -1
- package/dist/interface/assets/esm-JkR46BGF.js +0 -1
- package/dist/interface/assets/esm-KCb4USia.js +0 -1
- package/dist/interface/assets/esm-fiu1-7Vf.js +0 -1
- package/dist/interface/assets/main-LNc3C34P.js +0 -3
- package/dist/interface/assets/native-CNOra93F.js +0 -1
- package/dist/interface/assets/native-DAl9Pmov.js +0 -1
- package/dist/interface/assets/plugin-HHKHhKIh.js +0 -1
- package/dist/interface/assets/round-restart-alt-CeS-sqUQ.js +0 -1
- package/dist/interface/assets/types-DeSkG3t-.js +0 -1
- package/dist/interface/assets/useAppVersion-0AZfrSWk.js +0 -1
- package/dist/interface/assets/useBackupRestore-BSKF4lS5.js +0 -1
- package/dist/interface/assets/useUserOptions-8pJY90z8.js +0 -1
- package/dist/interface/assets/web-B2hT39CL.js +0 -1
- package/dist/interface/assets/web-BKoMlshd.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-Ut62Hifg.js +0 -1
- package/dist/interface/assets/web-C0ZNZcUJ.js +0 -1
- package/dist/interface/assets/web-CvKW_k8u.js +0 -1
- package/dist/interface/assets/web-CxfYyhSm.js +0 -1
- package/dist/interface/assets/web-CzA5zxEf.js +0 -1
- package/dist/interface/assets/web-D7XF0rfU.js +0 -1
- package/dist/interface/assets/web-DgSunHN1.js +0 -1
- package/dist/interface/assets/web-DpgTK9mR.js +0 -1
- package/dist/interface/assets/web-Hi4guSgN.js +0 -1
- package/dist/interface/assets/web-QaIP1Mop.js +0 -1
- package/dist/interface/assets/web-VGpOPxhq.js +0 -1
- package/dist/interface/assets/web-g-y7DVV1.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-YHyKoEMU.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
var e=class e{static getElements(e,t=document){if(typeof e==`string`){let n=`getElementById`in t?t:void 0;if(n&&!isNaN(+e[0])){let t=n.getElementById(e);return t?[t]:[]}let r=t.querySelectorAll(e);if(!r.length&&e[0]!==`.`&&e[0]!==`#`&&(r=t.querySelectorAll(`.`+e),r.length||(r=t.querySelectorAll(`#`+e)),!r.length)){let n=t.querySelector(`[gs-id="${e}"]`);return n?[n]:[]}return Array.from(r)}return[e]}static getElement(e,t=document){if(typeof e==`string`){let n=`getElementById`in t?t:void 0;if(!e.length)return null;if(n&&e[0]===`#`)return n.getElementById(e.substring(1));if(e[0]===`#`||e[0]===`.`||e[0]===`[`)return t.querySelector(e);if(n&&!isNaN(+e[0]))return n.getElementById(e);let r=t.querySelector(e);return n&&!r&&(r=n.getElementById(e)),r||=t.querySelector(`.`+e),r}return e}static lazyLoad(e){return!!(e.lazyLoad||e.grid?.opts?.lazyLoad&&e.lazyLoad!==!1)}static createDiv(e,t){let n=document.createElement(`div`);return e.forEach(e=>{e&&n.classList.add(e)}),t?.appendChild(n),n}static shouldSizeToContent(e,t=!1){return!!(e?.grid&&(t?e.sizeToContent===!0||e.grid.opts.sizeToContent===!0&&e.sizeToContent===void 0:e.sizeToContent||e.grid.opts.sizeToContent&&e.sizeToContent!==!1))}static isIntercepted(e,t){return!(e.y>=t.y+t.h||e.y+e.h<=t.y||e.x+e.w<=t.x||e.x>=t.x+t.w)}static isTouching(t,n){return e.isIntercepted(t,{x:n.x-.5,y:n.y-.5,w:n.w+1,h:n.h+1})}static areaIntercept(e,t){let n=e.x>t.x?e.x:t.x,r=e.x+e.w<t.x+t.w?e.x+e.w:t.x+t.w;if(r<=n)return 0;let i=e.y>t.y?e.y:t.y,a=e.y+e.h<t.y+t.h?e.y+e.h:t.y+t.h;return a<=i?0:(r-n)*(a-i)}static area(e){return e.w*e.h}static sort(e,t=1){let n=2**53-1;return e.sort((e,r)=>{let i=t*((e.y??n)-(r.y??n));return i===0?t*((e.x??n)-(r.x??n)):i})}static find(e,t){return t?e.find(e=>e.id===t):void 0}static findInGrid(t,n,r){let i=t.engine.nodes.find(e=>String(e.id)===n);if(i||!r)return i;for(let r of t.engine.nodes)if(r.subGrid){let t=e.findInGrid(r.subGrid,n);if(t)return t}}static toBool(e){return typeof e==`boolean`?e:typeof e==`string`?(e=e.toLowerCase(),!(e===``||e===`no`||e===`false`||e===`0`)):!!e}static toNumber(e){return e===null||e.length===0?void 0:Number(e)}static parseHeight(e){let t,n=`px`;if(typeof e==`string`)if(e===`auto`||e===``)t=0;else{let r=e.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%|cm|mm)?$/);if(!r)throw Error(`Invalid height val = ${e}`);n=r[2]||`px`,t=parseFloat(r[1])}else t=e;return{h:t,unit:n}}static defaults(t,...n){return n.forEach(n=>{for(let r in n){if(!Object.prototype.hasOwnProperty.call(n,r))return;t[r]===null||t[r]===void 0?t[r]=n[r]:typeof n[r]==`object`&&typeof t[r]==`object`&&e.defaults(t[r],n[r])}}),t}static same(e,t){if(typeof e!=`object`)return e==t;if(typeof e!=typeof t)return!1;let n=e,r=t;if(Object.keys(n).length!==Object.keys(r).length)return!1;for(let e in n)if(n[e]!==r[e])return!1;return!0}static copyPos(e,t,n=!1){return t.x!==void 0&&(e.x=t.x),t.y!==void 0&&(e.y=t.y),t.w!==void 0&&(e.w=t.w),t.h!==void 0&&(e.h=t.h),n&&(t.minW&&(e.minW=t.minW),t.minH&&(e.minH=t.minH),t.maxW&&(e.maxW=t.maxW),t.maxH&&(e.maxH=t.maxH)),e}static samePos(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&(e.w||1)===(t.w||1)&&(e.h||1)===(t.h||1)}static sanitizeMinMax(e){e.minW||delete e.minW,e.minH||delete e.minH,e.maxW||delete e.maxW,e.maxH||delete e.maxH}static removeInternalAndSame(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n||Array.isArray(t)||Array.isArray(n))return;let r=t,i=n;for(let t in r){let n=r[t],a=i[t];t[0]===`_`||n===a?delete r[t]:n&&typeof n==`object`&&a!==void 0&&(e.removeInternalAndSame(n,a),Object.keys(n).length||delete r[t])}}static removeInternalForSave(e,t=!0){let n=e;for(let e in n)(e[0]===`_`||n[e]===null||n[e]===void 0)&&delete n[e];delete e.grid,t&&delete e.el,e.autoPosition||delete e.autoPosition,e.noResize||delete e.noResize,e.noMove||delete e.noMove,e.locked||delete e.locked,(e.w===1||e.w===e.minW)&&delete e.w,(e.h===1||e.h===e.minH)&&delete e.h}static throttle(e,t){let n=!1;return(...r)=>{n||(n=!0,setTimeout(()=>{e(...r),n=!1},t))}}static removePositioningStyles(e){let t=e.style;t.position&&t.removeProperty(`position`),t.left&&t.removeProperty(`left`),t.top&&t.removeProperty(`top`),t.width&&t.removeProperty(`width`),t.height&&t.removeProperty(`height`)}static getScrollElement(t){if(!t)return document.scrollingElement||document.documentElement;let n=getComputedStyle(t).overflowY;return(n===`auto`||n===`scroll`)&&t.scrollHeight>t.clientHeight?t:e.getScrollElement(t.parentElement??void 0)}static updateScrollResize(t,n,r){let i=e.getScrollElement(n),a=i.clientHeight,o=i===e.getScrollElement()?0:i.getBoundingClientRect().top,s=t.clientY-o,c=s<r,l=s>a-r;c?i.scrollBy({behavior:`smooth`,top:s-r}):l&&i.scrollBy({behavior:`smooth`,top:r-(a-s)})}static clone(e){return typeof e!=`object`||!e?e:e instanceof Array?[...e]:{...e}}static cloneDeep(t){let n=[`parentGrid`,`el`,`grid`,`subGrid`,`engine`],r=e.clone(t);for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&typeof r[i]==`object`&&i.substring(0,2)!==`__`&&!n.find(e=>e===i)&&(r[i]=e.cloneDeep(t[i]));return r}static cloneNode(e){let t=e.cloneNode(!0);return t.removeAttribute(`id`),t}static appendTo(t,n){let r;r=typeof n==`string`?e.getElement(n):n,r&&r.appendChild(t)}static addElStyles(e,t){if(t instanceof Object){let n=e.style;for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(Array.isArray(t[e])?t[e].forEach(t=>{n[e]=t}):n[e]=t[e])}}static initEvent(e,t){let n={type:t.type},r={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:t.target?t.target:e.target},i=e;return[`altKey`,`ctrlKey`,`metaKey`,`shiftKey`].forEach(e=>n[e]=i[e]),[`pageX`,`pageY`,`clientX`,`clientY`,`screenX`,`screenY`].forEach(e=>n[e]=i[e]),{...n,...r}}static simulateMouseEvent(e,t,n){let r=e,i=new MouseEvent(t,{bubbles:!0,composed:!0,cancelable:!0,view:window,detail:1,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY,ctrlKey:r.ctrlKey??!1,altKey:r.altKey??!1,shiftKey:r.shiftKey??!1,metaKey:r.metaKey??!1,button:0,relatedTarget:e.target});(n||e.target).dispatchEvent(i)}static getValuesFromTransformedElement(t){let n=document.createElement(`div`);e.addElStyles(n,{opacity:`0`,position:`fixed`,top:`0px`,left:`0px`,width:`1px`,height:`1px`,zIndex:`-999999`}),t.appendChild(n);let r=n.getBoundingClientRect();return t.removeChild(n),n.remove(),{xScale:1/r.width,yScale:1/r.height,xOffset:r.left,yOffset:r.top}}static swap(e,t,n){if(!e)return;let r=e,i=r[t];r[t]=r[n],r[n]=i}static canBeRotated(e){return!(!e||e.w===e.h||e.locked||e.noResize||e.grid?.opts.disableResize||e.minW&&e.minW===e.maxW||e.minH&&e.minH===e.maxH)}},t=class t{constructor(e={}){this.addedNodes=[],this.removedNodes=[],this.defaultColumn=12,this.column=e.column||this.defaultColumn,this.column>this.defaultColumn&&(this.defaultColumn=this.column),this.maxRow=e.maxRow??0,this._float=e.float??!1,this.nodes=e.nodes||[],this.onChange=e.onChange??(()=>{})}batchUpdate(e=!0,t=!0){return!!this.batchMode===e?this:(this.batchMode=e,e?(this._prevFloat=this._float,this._float=!0,this.cleanNodes(),this.nodes.some(e=>e._updating)||this.saveInitial()):(this._float=this._prevFloat??!1,delete this._prevFloat,t&&this._packNodes(),this._notify()),this)}_useEntireRowArea(e,t){return(!this.float||this.batchMode&&!this._prevFloat)&&!this._hasLocked&&(!e._moving||e._skipDown||t.y<=e.y)}_fixCollisions(t,n=t,r,i={}){if(this.sortNodes(-1),r||=this.collide(t,n),!r)return!1;if(t._moving&&!t._isExternal&&!i.nested&&!this.float&&this.swap(t,r))return!0;let a=n;!this._loading&&this._useEntireRowArea(t,n)&&(a={x:0,w:this.column,y:n.y,h:n.h},r=this.collide(t,a,i.skip));let o=!1,s={nested:!0,pack:!1},c=0;for(;r||=this.collide(t,a,i.skip);){if(c++>this.nodes.length*2)throw Error(`Infinite collide check`);let a;if(r.locked||this._loading||t._moving&&!t._skipDown&&n.y>t.y&&!this.float&&(!this.collide(r,{...r,y:t.y},t)||!this.collide(r,{...r,y:n.y-r.h},t))){t._skipDown=t._skipDown||n.y>t.y;let c={...n,y:r.y+r.h,...s};a=this._loading&&e.samePos(t,c)?!0:this.moveNode(t,c),(r.locked||this._loading)&&a?e.copyPos(n,t):!r.locked&&a&&i.pack&&(this._packNodes(),n.y=r.y+r.h,e.copyPos(t,n)),o||=a}else a=this.moveNode(r,{...r,y:n.y+n.h,skip:t,...s});if(!a)return o;r=void 0}return o}collide(t,n=t,r){let i=t._id,a=r?._id;return this.nodes.find(t=>t._id!==i&&t._id!==a&&e.isIntercepted(t,n))}collideAll(t,n=t,r){let i=t._id,a=r?._id;return this.nodes.filter(t=>t._id!==i&&t._id!==a&&e.isIntercepted(t,n))}directionCollideCoverage(e,t,n){if(!t.rect||!e._rect)return;let r=e._rect,i={...t.rect};i.y>r.y?(i.h=i.h+i.y-r.y,i.y=r.y):i.h=i.h+r.y-i.y,i.x>r.x?(i.w=i.w+i.x-r.x,i.x=r.x):i.w=i.w+r.x-i.x;let a,o=.5;for(let e of n){if(e.locked||!e._rect)continue;let t=e._rect,n=Number.MAX_VALUE,s=Number.MAX_VALUE;r.y<t.y?n=(i.y+i.h-t.y)/t.h:r.y+r.h>t.y+t.h&&(n=(t.y+t.h-i.y)/t.h),r.x<t.x?s=(i.x+i.w-t.x)/t.w:r.x+r.w>t.x+t.w&&(s=(t.x+t.w-i.x)/t.w);let c=Math.min(s,n);c>o&&(o=c,a=e)}return t.collide=a,a}cacheRects(e,t,n,r,i,a){return this.nodes.forEach(o=>o._rect={y:o.y*t+n,x:o.x*e+a,w:o.w*e-a-r,h:o.h*t-n-i}),this}swap(t,n){if(!n||n.locked||!t||t.locked)return!1;function r(){let e=n.x,r=n.y;return n.x=t.x,n.y=t.y,t.h==n.h?t.w==n.w?(t.x=e,t.y=r):(t.x=n.x+n.w,t.y=r):(t.x=e,t.y=n.y+n.h),t._dirty=n._dirty=!0,!0}let i;if(t.w===n.w&&t.h===n.h&&(t.x===n.x||t.y===n.y)&&(i=e.isTouching(t,n)))return r();if(i!==!1){if(t.w===n.w&&t.x===n.x&&(i||=e.isTouching(t,n))){if(n.y<t.y){let e=t;t=n,n=e}return r()}if(i!==!1){if(t.h===n.h&&t.y===n.y&&(i||=e.isTouching(t,n))){if(n.x<t.x){let e=t;t=n,n=e}return r()}return!1}}}isAreaEmpty(e,t,n,r){let i={x:e||0,y:t||0,w:n||1,h:r||1};return!this.collide(i)}compact(e=`compact`,t=!0){if(this.nodes.length===0)return this;t&&this.sortNodes();let n=this.batchMode;n||this.batchUpdate();let r=this._inColumnResize;r||(this._inColumnResize=!0);let i=this.nodes;return this.nodes=[],i.forEach((t,n,r)=>{let i;t.locked||(t.autoPosition=!0,e===`list`&&n&&(i=r[n-1])),this.addNode(t,!1,i)}),r||delete this._inColumnResize,n||this.batchUpdate(!1),this}set float(e){this._float!==e&&(this._float=e||!1,e||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(t=1){return this.nodes=e.sort(this.nodes,t),this}_packNodes(){return this.batchMode?this:(this.sortNodes(),this.float?this.nodes.forEach(e=>{if(e._updating||e._orig===void 0||e.y===e._orig.y)return;let t=e.y;for(;t>e._orig.y;)--t,this.collide(e,{x:e.x,y:t,w:e.w,h:e.h})||(e._dirty=!0,e.y=t)}):this.nodes.forEach((e,t)=>{if(!e.locked)for(;e.y>0;){let n=t===0?0:e.y-1;if(!(t===0||!this.collide(e,{x:e.x,y:n,w:e.w,h:e.h})))break;e._dirty=e.y!==n,e.y=n}}),this)}prepareNode(n,r){n._id=n._id??t._idSeq++;let i=n.id;if(i){let e=1;for(;this.nodes.find(e=>e.id===n.id&&e!==n);)n.id=i+`_`+e++}(n.x===void 0||n.y===void 0||n.x===null||n.y===null)&&(n.autoPosition=!0);let a={x:0,y:0,w:1,h:1};return e.defaults(n,a),n.autoPosition||delete n.autoPosition,n.noResize||delete n.noResize,n.noMove||delete n.noMove,e.sanitizeMinMax(n),typeof n.x==`string`&&(n.x=Number(n.x)),typeof n.y==`string`&&(n.y=Number(n.y)),typeof n.w==`string`&&(n.w=Number(n.w)),typeof n.h==`string`&&(n.h=Number(n.h)),isNaN(n.x)&&(n.x=a.x,n.autoPosition=!0),isNaN(n.y)&&(n.y=a.y,n.autoPosition=!0),isNaN(n.w)&&(n.w=a.w),isNaN(n.h)&&(n.h=a.h),this.nodeBoundFix(n,r),n}nodeBoundFix(t,n){let r=t._orig||e.copyPos({},t);if(t.maxW&&(t.w=Math.min(t.w||1,t.maxW)),t.maxH&&(t.h=Math.min(t.h||1,t.maxH)),t.minW&&(t.w=Math.max(t.w||1,t.minW)),t.minH&&(t.h=Math.max(t.h||1,t.minH)),(t.x||0)+(t.w||1)>this.column&&this.column<this.defaultColumn&&!this._inColumnResize&&!this.skipCacheUpdate&&t._id!=null&&this.findCacheLayout(t,this.defaultColumn)===-1){let e={...t};e.autoPosition||e.x===void 0?(delete e.x,delete e.y):e.x=Math.min(this.defaultColumn-1,e.x),e.w=Math.min(this.defaultColumn,e.w||1),this.cacheOneLayout(e,this.defaultColumn)}return t.w>this.column?t.w=this.column:t.w<1&&(t.w=1),this.maxRow&&t.h>this.maxRow?t.h=this.maxRow:t.h<1&&(t.h=1),t.x<0&&(t.x=0),t.y<0&&(t.y=0),t.x+t.w>this.column&&(n?t.w=this.column-t.x:t.x=this.column-t.w),this.maxRow&&t.y+t.h>this.maxRow&&(n?t.h=this.maxRow-t.y:t.y=this.maxRow-t.h),e.samePos(t,r)||(t._dirty=!0),this}getDirtyNodes(t){return t?this.nodes.filter(t=>t._dirty&&t._orig&&!e.samePos(t,t._orig)):this.nodes.filter(e=>e._dirty)}_notify(e){if(this.batchMode||!this.onChange)return this;let t=(e||[]).concat(this.getDirtyNodes());return this.onChange(t),this}cleanNodes(){return this.batchMode||this.nodes.forEach(e=>{delete e._dirty,delete e._lastTried}),this}saveInitial(){return this.nodes.forEach(t=>{t._orig=e.copyPos({},t),delete t._dirty}),this._hasLocked=this.nodes.some(e=>e.locked),this}restoreInitial(){return this.nodes.forEach(t=>{!t._orig||e.samePos(t,t._orig)||(e.copyPos(t,t._orig),t._dirty=!0)}),this._notify(),this}findEmptyPosition(t,n=this.nodes,r=this.column,i){let a=i?i.y*r+(i.x+i.w):0,o=!1;for(let i=a;!o;++i){let a=i%r,s=Math.floor(i/r);if(a+t.w>r)continue;let c={x:a,y:s,w:t.w,h:t.h};n.find(t=>e.isIntercepted(c,t))||((t.x!==a||t.y!==s)&&(t._dirty=!0),t.x=a,t.y=s,delete t.autoPosition,o=!0)}return o}addNode(e,t=!1,n){let r=this.nodes.find(t=>t._id===e._id);if(r)return r;this._inColumnResize?this.nodeBoundFix(e):this.prepareNode(e),delete e._temporaryRemoved,delete e._removeDOM;let i=!1;return e.autoPosition&&this.findEmptyPosition(e,this.nodes,this.column,n)&&(delete e.autoPosition,i=!0),this.nodes.push(e),t&&this.addedNodes.push(e),i||this._fixCollisions(e),this.batchMode||this._packNodes()._notify(),e}removeNode(e,t=!0,n=!1){return this.nodes.find(t=>t._id===e._id)?(n&&this.removedNodes.push(e),t&&(e._removeDOM=!0),this.nodes=this.nodes.filter(t=>t._id!==e._id),e._isAboutToRemove||this._packNodes(),this._notify([e]),this):this}removeAll(e=!0,t=!0){if(delete this._layouts,!this.nodes.length)return this;e&&this.nodes.forEach(e=>e._removeDOM=!0);let n=this.nodes;return this.removedNodes=t?n:[],this.nodes=[],this._notify(n)}moveNodeCheck(n,r){if(!this.changedPosConstrain(n,r))return!1;if(r.pack=!0,!this.maxRow)return this.moveNode(n,r);let i,a=new t({column:this.column,float:this.float,nodes:this.nodes.map(e=>e._id===n._id?(i={...e},i):{...e})});if(!i)return!1;let o=a.moveNode(i,r)&&a.getRow()<=Math.max(this.getRow(),this.maxRow);if(!o&&!r.resizing&&r.collide&&!n._isExternal){let e=r.collide.el?.gridstackNode;if(e&&this.swap(n,e))return this._notify(),!0}return o?(a.nodes.filter(e=>e._dirty).forEach(t=>{let n=this.nodes.find(e=>e._id===t._id);n&&(e.copyPos(n,t),n._dirty=!0)}),this._notify(),!0):!1}willItFit(n){if(delete n._willFitPos,!this.maxRow)return!0;let r=new t({column:this.column,float:this.float,nodes:this.nodes.map(e=>({...e}))}),i={...n};return this.cleanupNode(i),delete i.el,delete i._id,delete i.content,delete i.grid,r.addNode(i),r.getRow()<=this.maxRow?(n._willFitPos=e.copyPos({},i),!0):!1}changedPosConstrain(e,t){return t.w=t.w||e.w,t.h=t.h||e.h,e.x!==t.x||e.y!==t.y?!0:(e.maxW&&(t.w=Math.min(t.w,e.maxW)),e.maxH&&(t.h=Math.min(t.h,e.maxH)),e.minW&&(t.w=Math.max(t.w,e.minW)),e.minH&&(t.h=Math.max(t.h,e.minH)),e.w!==t.w||e.h!==t.h)}moveNode(t,n){if(!t||!n)return!1;let r=!1;n.pack===void 0&&!this.batchMode&&(r=n.pack=!0),typeof n.x!=`number`&&(n.x=t.x),typeof n.y!=`number`&&(n.y=t.y),typeof n.w!=`number`&&(n.w=t.w),typeof n.h!=`number`&&(n.h=t.h);let i=t.w!==n.w||t.h!==n.h,a=e.copyPos({},t,!0);if(e.copyPos(a,n),this.nodeBoundFix(a,i),e.copyPos(n,a),!n.forceCollide&&e.samePos(t,n))return!1;let o=e.copyPos({},t),s=this.collideAll(t,a,n.skip),c=!0;if(s.length){let i=t._moving&&!n.nested,o=i?this.directionCollideCoverage(t,n,s):s[0];if(i&&o&&t.grid?.opts?.subGridDynamic&&!t.grid._isTemp){let r=e.areaIntercept(n.rect,o._rect),i=e.area(n.rect),a=e.area(o._rect);r/(i<a?i:a)>.8&&(o.grid.makeSubGrid(o.el,void 0,t),o=void 0)}o?c=!this._fixCollisions(t,a,o,n):(c=!1,r&&delete n.pack)}return c&&!e.samePos(t,a)&&(t._dirty=!0,e.copyPos(t,a)),n.pack&&this._packNodes()._notify(),!e.samePos(t,o)}getRow(){return this.nodes.reduce((e,t)=>Math.max(e,t.y+t.h),0)}beginUpdate(e){return e._updating||(e._updating=!0,delete e._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){let e=this.nodes.find(e=>e._updating);return e&&(delete e._updating,delete e._skipDown),this}save(t=!0,n,r){let i=this._layouts?.length||0,a;i&&(r?r!==this.column&&(a=this._layouts[r]):this.column!==i-1&&(a=this._layouts[i-1]));let o=[];return this.sortNodes(),this.nodes.forEach(r=>{let i=a?.find(e=>e._id===r._id),s={...r,...i||{}};e.removeInternalForSave(s,!t),n&&n(r,s),o.push(s)}),o}layoutsNodesChange(e){return!this._layouts||this._inColumnResize||this._layouts.forEach((t,n)=>{if(!(!t||n===this.column))if(n<this.column)this._layouts[n]=void 0;else{let r=n/this.column;e.forEach(e=>{if(!e._orig)return;let n=t.find(t=>t._id===e._id);n&&(n.y>=0&&e.y!==e._orig.y&&(n.y+=e.y-e._orig.y,n.y<0&&(n.y=0)),e.x!==e._orig.x&&(n.x=Math.round(e.x*r),n.x<0&&(n.x=0)),e.w!==e._orig.w&&(n.w=Math.round(e.w*r),n.w<1&&(n.w=1)))})}}),this}columnChanged(t,n,r=`moveScale`){if(!this.nodes.length||!n||t===n)return this;let i=r===`compact`||r===`list`;i&&this.sortNodes(1),n<t&&this.cacheLayout(this.nodes,t),this.batchUpdate();let a=[],o=i?this.nodes:e.sort(this.nodes,-1);if(n>t&&this._layouts){let e=this._layouts[n]||[],r=this._layouts.length-1;!e.length&&t!==r&&this._layouts[r]?.length&&(t=r,this._layouts[r].forEach(e=>{let t=o.find(t=>t._id===e._id);t&&(!i&&!e.autoPosition&&(t.x=e.x??t.x,t.y=e.y??t.y),t.w=e.w??t.w,(e.x==null||e.y===void 0)&&(t.autoPosition=!0))})),e.forEach(e=>{let t=o.findIndex(t=>t._id===e._id);if(t!==-1){let n=o[t];if(i){n.w=e.w;return}(e.autoPosition||isNaN(e.x)||isNaN(e.y))&&this.findEmptyPosition(e,a),e.autoPosition||(n.x=e.x??n.x,n.y=e.y??n.y,n.w=e.w??n.w,a.push(n)),o.splice(t,1)}})}if(i)this.compact(r,!1);else{if(o.length)if(typeof r==`function`)r(n,t,a,o);else{let e=i||r===`none`?1:n/t,s=r===`move`||r===`moveScale`,c=r===`scale`||r===`moveScale`;o.forEach(r=>{r.x=n===1?0:s?Math.round(r.x*e):Math.min(r.x,n-1),r.w=n===1||t===1?1:c?Math.round(r.w*e)||1:Math.min(r.w,n),a.push(r)}),o=[]}a=e.sort(a,-1),this._inColumnResize=!0,this.nodes=[],a.forEach(e=>{this.addNode(e,!1),delete e._orig})}return this.nodes.forEach(e=>delete e._orig),this.batchUpdate(!1,!i),delete this._inColumnResize,this}cacheLayout(e,n,r=!1){let i=[];return e.forEach((e,n)=>{e._id===void 0&&(e._id=(e.id?this.nodes.find(t=>t.id===e.id):void 0)?._id??t._idSeq++),i[n]={x:e.x,y:e.y,w:e.w,_id:e._id}}),this._layouts=r?[]:this._layouts||[],this._layouts[n]=i,this}cacheOneLayout(e,n){e._id=e._id??t._idSeq++;let r={x:e.x,y:e.y,w:e.w,_id:e._id};(e.autoPosition||e.x===void 0)&&(delete r.x,delete r.y,e.autoPosition&&(r.autoPosition=!0)),this._layouts=this._layouts||[],this._layouts[n]=this._layouts[n]||[];let i=this.findCacheLayout(e,n);return i===-1?this._layouts[n].push(r):this._layouts[n][i]=r,this}findCacheLayout(e,t){return this._layouts?.[t]?.findIndex(t=>t._id===e._id)??-1}removeNodeFromLayoutCache(e){if(this._layouts)for(let t=0;t<this._layouts.length;t++){let n=this.findCacheLayout(e,t);n!==-1&&this._layouts[t].splice(n,1)}}cleanupNode(e){let t=e;for(let e in t)e[0]===`_`&&e!==`_id`&&delete t[e];return this}};t._idSeq=0;var n={alwaysShowResizeHandle:`mobile`,animate:!0,auto:!0,cellHeight:`auto`,cellHeightThrottle:100,cellHeightUnit:`px`,column:12,draggable:{handle:`.grid-stack-item-content`,appendTo:`body`,scroll:!0},handle:`.grid-stack-item-content`,itemClass:`grid-stack-item`,margin:10,marginUnit:`px`,maxRow:0,minRow:0,placeholderClass:`grid-stack-placeholder`,placeholderText:``,removableOptions:{accept:`grid-stack-item`,decline:`grid-stack-non-removable`},resizable:{handles:`se`},rtl:`auto`},r=class{},i=typeof window<`u`&&typeof document<`u`&&(`ontouchstart`in document||`ontouchstart`in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0&&window.matchMedia(`(any-pointer: coarse)`).matches||navigator.msMaxTouchPoints>0),a=class{};function o(t,n){t.touches.length>1||(t.cancelable&&t.preventDefault(),e.simulateMouseEvent(t.changedTouches[0],n))}function s(t,n){t.cancelable&&t.preventDefault(),e.simulateMouseEvent(t,n)}function c(e){a.touchHandled||(a.touchHandled=!0,o(e,`mousedown`))}function l(e){a.touchHandled&&o(e,`mousemove`)}function u(e){if(!a.touchHandled)return;a.pointerLeaveTimeout&&(window.clearTimeout(a.pointerLeaveTimeout),delete a.pointerLeaveTimeout);let t=!!r.dragElement;o(e,`mouseup`),t||o(e,`click`),a.touchHandled=!1}function d(e){e.pointerType!==`mouse`&&e.target.releasePointerCapture(e.pointerId)}function f(e){r.dragElement&&e.pointerType!==`mouse`&&s(e,`mouseenter`)}function p(e){r.dragElement&&e.pointerType!==`mouse`&&(a.pointerLeaveTimeout=window.setTimeout(()=>{delete a.pointerLeaveTimeout,s(e,`mouseleave`)},10))}var m=class e{constructor(e,t,n){this.host=e,this.dir=t,this.option=n,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){if(this.option.element)try{this.el=this.option.element instanceof HTMLElement?this.option.element:this.host.querySelector(this.option.element)}catch(e){this.option.element=void 0,console.error(`Query for resizeable handle failed, falling back`,e)}return this.el||(this.el=document.createElement(`div`),this.host.appendChild(this.el)),this.el.classList.add(`ui-resizable-handle`),this.el.classList.add(`${e.prefix}${this.dir}`),this.el.addEventListener(`mousedown`,this._mouseDown),i&&(this.el.addEventListener(`touchstart`,c),this.el.addEventListener(`pointerdown`,d)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener(`mousedown`,this._mouseDown),i&&(this.el.removeEventListener(`touchstart`,c),this.el.removeEventListener(`pointerdown`,d)),this.option.element||this.host.removeChild(this.el),this}_mouseDown(e){this.mouseDownEvent=e,document.addEventListener(`mousemove`,this._mouseMove,{capture:!0,passive:!0}),document.addEventListener(`mouseup`,this._mouseUp,!0),i&&(this.el.addEventListener(`touchmove`,l),this.el.addEventListener(`touchend`,u)),e.stopPropagation(),e.preventDefault()}_mouseMove(e){let t=this.mouseDownEvent;this.moving?this._triggerEvent(`move`,e):Math.abs(e.x-t.x)+Math.abs(e.y-t.y)>2&&(this.moving=!0,this._triggerEvent(`start`,this.mouseDownEvent),this._triggerEvent(`move`,e),document.addEventListener(`keydown`,this._keyEvent)),e.stopPropagation()}_mouseUp(e){this.moving&&(this._triggerEvent(`stop`,e),document.removeEventListener(`keydown`,this._keyEvent)),document.removeEventListener(`mousemove`,this._mouseMove,!0),document.removeEventListener(`mouseup`,this._mouseUp,!0),i&&(this.el.removeEventListener(`touchmove`,l),this.el.removeEventListener(`touchend`,u)),delete this.moving,delete this.mouseDownEvent,e.stopPropagation(),e.preventDefault()}_keyEvent(e){e.key===`Escape`&&(this.host.gridstackNode?.grid?.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(e,t){let n=this.option;return n[e]&&n[e](t),this}};m.prefix=`ui-resizable-`;var h=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(e,t){this._eventRegister[e]=t}off(e){delete this._eventRegister[e]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){this._eventRegister={}}triggerEvent(e,t){if(!this.disabled&&this._eventRegister[e])return this._eventRegister[e](t)}},g=class t extends h{constructor(e,t={}){super(),this.el=e,this.option=t,this.rectScale={x:1,y:1},this._ui=()=>{let e=this.el.parentElement.getBoundingClientRect(),t={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},n=this.temporalRect||t;return{position:{left:this.option.rtl?(e.right-n.right)*this.rectScale.x:(n.left-e.left)*this.rectScale.x,top:(n.top-e.top)*this.rectScale.y},size:{width:n.width*this.rectScale.x,height:n.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(!!this.option.autoHide),this._setupHandlers()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){super.enable(),this.el.classList.remove(`ui-resizable-disabled`),this._setupAutoHide(!!this.option.autoHide)}disable(){super.disable(),this.el.classList.add(`ui-resizable-disabled`),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(e){let t=e.handles&&e.handles!==this.option.handles,n=e.autoHide&&e.autoHide!==this.option.autoHide;return Object.assign(this.option,e),t&&(this._removeHandlers(),this._setupHandlers()),n&&this._setupAutoHide(!!this.option.autoHide),this}_setupAutoHide(e){return e?(this.el.classList.add(`ui-resizable-autohide`),this.el.addEventListener(`mouseover`,this._mouseOver),this.el.addEventListener(`mouseout`,this._mouseOut)):(this.el.classList.remove(`ui-resizable-autohide`),this.el.removeEventListener(`mouseover`,this._mouseOver),this.el.removeEventListener(`mouseout`,this._mouseOut),r.overResizeElement===this&&delete r.overResizeElement),this}_mouseOver(e){r.overResizeElement||r.dragElement||(r.overResizeElement=this,this.el.classList.remove(`ui-resizable-autohide`))}_mouseOut(e){r.overResizeElement===this&&(delete r.overResizeElement,this.el.classList.add(`ui-resizable-autohide`))}_setupHandlers(){return this.handlers=(this.option.handles??`se`).split(`,`).map(e=>e.trim()).map(e=>new m(this.el,e,{element:this.option.element,start:e=>this._resizeStart(e),stop:e=>this._resizeStop(e),move:t=>this._resizing(t,e)})),this}_resizeStart(t){this.sizeToContent=e.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=e.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=t,this._setupHelper(),this._applyChange();let n=e.initEvent(t,{type:`resizestart`,target:this.el});return this.option.start&&this.option.start(n,this._ui()),this.el.classList.add(`ui-resizable-resizing`),this.triggerEvent(`resizestart`,n),this}_resizing(t,n){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(t,n),this._applyChange();let r=e.initEvent(t,{type:`resize`,target:this.el});return r.resizeDir=n,r.hasMovedX=this.option.rtl?n.includes(`e`):n.includes(`w`),r.hasMovedY=n.includes(`n`),this.option.resize&&this.option.resize(r,this._ui()),this.triggerEvent(`resize`,r),this}_resizeStop(t){let n=e.initEvent(t,{type:`resizestop`,target:this.el});return this._cleanHelper(),this.option.stop&&this.option.stop(n),this.el.classList.remove(`ui-resizable-resizing`),this.triggerEvent(`resizestop`,n),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=t._originStyleProp.map(e=>this.el.style[e]);let n=this.el.parentElement;this.parentOriginStylePosition=n.style.position;let r=e.getValuesFromTransformedElement(n);return this.rectScale={x:r.xScale,y:r.yScale},getComputedStyle(n).position.match(/static/)&&(n.style.position=`relative`),this.el.style.position=`absolute`,this.el.style.opacity=`0.8`,this}_cleanHelper(){return t._originStyleProp.forEach((e,t)=>{this.el.style[e]=this.elOriginStyleVal[t]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(e,t){let n=this.startEvent,r={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},i=e.clientX-n.clientX,a=this.sizeToContent?0:e.clientY-n.clientY,o=!1,s=!1,c=this.option.rtl;!c&&t.indexOf(`e`)>-1?r.width+=i:c&&t.indexOf(`w`)>-1?r.width-=i:!c&&t.indexOf(`w`)>-1?(r.width-=i,r.left+=i,o=!0):c&&t.indexOf(`e`)>-1&&(r.width+=i,r.right+=i,o=!0),t.indexOf(`s`)>-1?r.height+=a:t.indexOf(`n`)>-1&&(r.height-=a,r.top+=a,s=!0);let l=this._constrainSize(r.width,r.height,o,s);return Math.round(r.width)!==Math.round(l.width)&&(!c&&t.indexOf(`w`)>-1?r.left+=r.width-l.width:c&&t.indexOf(`e`)>-1&&(r.right-=r.width-l.width),r.width=l.width),Math.round(r.height)!==Math.round(l.height)&&(t.indexOf(`n`)>-1&&(r.top+=r.height-l.height),r.height=l.height),r}_constrainSize(e,t,n,r){let i=this.option,a=(n?i.maxWidthMoveLeft:i.maxWidth)||2**53-1,o=(i.minWidth??0)/this.rectScale.x||e,s=(r?i.maxHeightMoveUp:i.maxHeight)||2**53-1,c=(i.minHeight??0)/this.rectScale.y||t;return{width:Math.min(a,Math.max(o,e)),height:Math.min(s,Math.max(c,t))}}_applyChange(){let e={left:0,right:0,top:0,width:0,height:0};if(this.el.style.position===`absolute`){let{left:t,right:n,top:r}=this.el.parentElement.getBoundingClientRect();e={left:t,right:n,top:r,width:0,height:0}}if(!this.temporalRect)return this;let t=e;return Object.entries(this.temporalRect).forEach(([n,r])=>{if(this.option.rtl?n===`left`:n===`right`)return;let i=n===`width`||n===`left`||n===`right`?this.rectScale.x:n===`height`||n===`top`?this.rectScale.y:1,a;a=n===`right`?(e.right-r)*this.rectScale.x+`px`:(r-t[n])*i+`px`,this.el.style[n]=a}),this}_removeHandlers(){return this.handlers.forEach(e=>e.destroy()),delete this.handlers,this}};g._originStyleProp=[`width`,`height`,`position`,`left`,`right`,`top`,`opacity`,`zIndex`];var _=`input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle`,v=class t extends h{constructor(e,t={}){super(),this.el=e,this.option=t,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},this._autoScrollTick=()=>{let e=this.helper,t=this._autoScrollContainer;if(!e||!t){this._stopScrolling();return}let n=this._getClipping(e,t);if(n===0){this._stopScrolling();return}if(!this._autoScrollMaxSpeed){let e=window.innerHeight||document.documentElement.clientHeight;this._autoScrollMaxSpeed=Math.max(e/150,4)}let r=Math.min(Math.abs(n)*.5,this._autoScrollMaxSpeed),i=n>0?r:-r,a=t.scrollTop;if(t.scrollTop+=i,t.scrollTop===a){this._stopScrolling();return}this.dragging&&this.lastDrag&&(this._dragFollow(this.lastDrag),this._callDrag(this.lastDrag)),this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick)};let n=t?.handle?.substring(1),r=e.gridstackNode;this.dragEls=!n||e.classList.contains(n)?[e]:r?.subGrid?[e.querySelector(t.handle)||e]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[e]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}getAllHandles(){return Array.from(this.el.querySelectorAll(this.option.handle)).filter(e=>{if(!(e instanceof HTMLElement))return!1;let t=e.closest(`.grid-stack-item`);return t===this.el||!t})}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(e=>{e.addEventListener(`mousedown`,this._mouseDown),i&&(e.addEventListener(`touchstart`,c),e.addEventListener(`pointerdown`,d))}),this.el.classList.remove(`ui-draggable-disabled`))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(e=>{e.removeEventListener(`mousedown`,this._mouseDown),i&&(e.removeEventListener(`touchstart`,c),e.removeEventListener(`pointerdown`,d))}),e||this.el.classList.add(`ui-draggable-disabled`))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.option,super.destroy()}updateOption(e){return Object.assign(this.option,e),this}refreshHandles(){let e=this.disabled;e||this.disable(!0);let t=this.option?.handle?.substring(1),n=this.el.gridstackNode;this.dragEls=!t||this.el.classList.contains(t)?[this.el]:n?.subGrid?[this.el.querySelector(this.option.handle)||this.el]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[this.el]),e||this.enable()}_mouseDown(e){return e.isTrusted&&(a.touchHandled&&=!1,r.mouseHandled&&e.timeStamp!==r.mouseHandledTimeStamp&&delete r.mouseHandled),r.mouseHandled||e.button!==0||!this.dragEls.find(t=>t===e.target)&&e.target.closest(_)||this.option.cancel&&e.target.closest(this.option.cancel)?!0:(this.mouseDownEvent=e,delete this.dragging,delete r.dragElement,delete r.dropElement,delete this._autoScrollMaxSpeed,delete this._autoScrollContainer,document.addEventListener(`mousemove`,this._mouseMove,{capture:!0,passive:!0}),document.addEventListener(`mouseup`,this._mouseUp,!0),i&&e.currentTarget&&(e.currentTarget.addEventListener(`touchmove`,l),e.currentTarget.addEventListener(`touchend`,u)),e.preventDefault(),document.activeElement&&document.activeElement.blur(),r.mouseHandled=!0,r.mouseHandledTimeStamp=e.timeStamp,!0)}_callDrag(t){if(!this.dragging)return;let n=e.initEvent(t,{target:this.el,type:`drag`});this.option.drag&&this.option.drag(n,this.ui()),this.triggerEvent(`drag`,n)}_mouseMove(t){let n=this.mouseDownEvent;if(this.lastDrag=t,this.dragging)if(this._dragFollow(t),r.pauseDrag){let e=Number.isInteger(r.pauseDrag)?r.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(t),e)}else this._callDrag(t);else if(Math.abs(t.x-n.x)+Math.abs(t.y-n.y)>3){this.dragging=!0,r.dragElement=this;let n=this.el.gridstackNode?.grid;n?r.dropElement=n.el.ddElement?.ddDroppable:delete r.dropElement,this.helper=this._createHelper(),this._setupHelperContainmentStyle(),this.dragTransform=e.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(t,this.el,this.helperContainment),this._setupHelperStyle(t);let i=e.initEvent(t,{target:this.el,type:`dragstart`});this.option.start&&this.option.start(i,this.ui()),this.triggerEvent(`dragstart`,i),document.addEventListener(`keydown`,this._keyEvent)}return!0}_mouseUp(t){if(this._stopScrolling(),document.removeEventListener(`mousemove`,this._mouseMove,!0),document.removeEventListener(`mouseup`,this._mouseUp,!0),i&&t.currentTarget&&(t.currentTarget.removeEventListener(`touchmove`,l,!0),t.currentTarget.removeEventListener(`touchend`,u,!0)),this.dragging){delete this.dragging,delete this.el.gridstackNode?._origRotate,document.removeEventListener(`keydown`,this._keyEvent),r.dropElement?.el===this.el.parentElement&&delete r.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper&&this.helper!==this.el&&this.helper.remove(),this._removeHelperStyle();let n=e.initEvent(t,{target:this.el,type:`dragstop`});this.option.stop&&this.option.stop(n),this.triggerEvent(`dragstop`,n),r.dropElement&&r.dropElement.drop(t)}delete this.helper,delete this.mouseDownEvent,delete r.dragElement,delete r.dropElement,delete r.mouseHandled,delete r.mouseHandledTimeStamp,t.preventDefault()}_keyEvent(t){let n=this.el.gridstackNode,i=n?.grid||r.dropElement?.el?.gridstack;if(t.key===`Escape`)n&&n._origRotate&&(n._orig=n._origRotate,delete n._origRotate),i?.cancelDrag(),this._mouseUp(this.mouseDownEvent);else if(n&&i&&(t.key===`r`||t.key===`R`)){if(!e.canBeRotated(n))return;n._origRotate=n._origRotate||{...n._orig},delete n._moving,i.setAnimation(!1).rotate(n.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetX}).setAnimation(),n._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,n.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+`px`,this.helper.style.height=this.dragOffset.height+`px`,e.swap(n._orig,`w`,`h`),delete n._rect,this._mouseMove(this.lastDrag)}}_createHelper(){let n=this.el;return typeof this.option.helper==`function`?n=this.option.helper(this.el):this.option.helper===`clone`&&(n=e.cloneNode(this.el)),n.parentElement||e.appendTo(n,this.option.appendTo===`parent`?this.el.parentElement:this.option.appendTo??`body`),this.dragElementOriginStyle=t.originStyleProp.map(e=>this.el.style[e]),n}_setupHelperStyle(e){this.helper.classList.add(`ui-draggable-dragging`),this.el.gridstackNode?.grid?.el.classList.add(`grid-stack-dragging`);let t=this.helper.style;return t.pointerEvents=`none`,t.width=this.dragOffset.width+`px`,t.height=this.dragOffset.height+`px`,t.willChange=`left, right, top`,t.position=`fixed`,this._dragFollow(e),t.transition=`none`,setTimeout(()=>{this.helper&&(t.transition=null)},0),this}_removeHelperStyle(){if(this.helper.classList.remove(`ui-draggable-dragging`),(this.el._gridstackNodeOrig||this.el.gridstackNode)?.grid?.el.classList.remove(`grid-stack-dragging`),!this.helper?.gridstackNode?._isAboutToRemove&&this.dragElementOriginStyle){let e=this.helper,n=this.dragElementOriginStyle,r=t.originStyleProp.indexOf(`transition`),i=n[r]||null;e.style.transition=n[r]=`none`;let a=e.style;t.originStyleProp.forEach((e,t)=>a[e]=n[t]||null),setTimeout(()=>e.style.transition=i||``,50)}return delete this.dragElementOriginStyle,this}_dragFollow(e){let t=this.helper.style,n=this.dragOffset;this.option.rtl?(t.right=(window.innerWidth-e.clientX+n.offsetX)*this.dragTransform.xScale+`px`,t.left&&=``):(t.left=(e.clientX+n.offsetX)*this.dragTransform.xScale+`px`,t.right&&=``),t.top=(e.clientY+n.offsetTop)*this.dragTransform.yScale+`px`}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!==`fixed`&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position=`relative`)),this}_getDragOffset(e,t,n){let r=0,i=0;n&&(r=this.dragTransform.xOffset,i=this.dragTransform.yOffset);let a=t.getBoundingClientRect(),o=this.option.rtl?a.right:a.left,s=this.option.rtl?e.clientX-a.right+r:-e.clientX+a.left-r;return{x:o,top:a.top,offsetX:s,offsetTop:-e.clientY+a.top-i,width:a.width*this.dragTransform.xScale,height:a.height*this.dragTransform.yScale}}updateScrollPosition(t){this._autoScrollContainer=e.getScrollElement(t),this._getClipping(this.helper,this._autoScrollContainer)===0?this._stopScrolling():this._autoScrollAnimId||=requestAnimationFrame(this._autoScrollTick)}_getClipping(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;if(n.bottom<r.top||n.top>r.bottom)return 0;let a=n.bottom-Math.min(r.bottom,i),o=n.top-Math.max(r.top,0);return o<0?o:a>0?a:0}_stopScrolling(){this._autoScrollAnimId&&(cancelAnimationFrame(this._autoScrollAnimId),delete this._autoScrollAnimId)}ui(){let e=this.el.parentElement.getBoundingClientRect(),t=this.helper.getBoundingClientRect(),n=this.option.rtl?(e.right-t.right)*this.dragTransform.xScale:(t.left-e.left)*this.dragTransform.xScale;return{position:{top:(t.top-e.top)*this.dragTransform.yScale,left:n}}}};v.originStyleProp=[`width`,`height`,`transform`,`transform-origin`,`transition`,`pointerEvents`,`position`,`left`,`right`,`top`,`minWidth`,`willChange`];var y=class extends h{constructor(e,t={}){super(),this.el=e,this.option=t,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.eventEl=this.el.closest(`.grid-stack-item`)||this.el,this.enable(),this._setupAccept()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add(`ui-droppable`),this.el.classList.remove(`ui-droppable-disabled`),this.eventEl.addEventListener(`mouseenter`,this._mouseEnter),this.eventEl.addEventListener(`mouseleave`,this._mouseLeave),i&&(this.eventEl.addEventListener(`pointerenter`,f),this.eventEl.addEventListener(`pointerleave`,p)))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove(`ui-droppable`),e||this.el.classList.add(`ui-droppable-disabled`),this.eventEl.removeEventListener(`mouseenter`,this._mouseEnter),this.eventEl.removeEventListener(`mouseleave`,this._mouseLeave),i&&(this.eventEl.removeEventListener(`pointerenter`,f),this.eventEl.removeEventListener(`pointerleave`,p)))}destroy(){this.disable(!0),this.el.classList.remove(`ui-droppable`),this.el.classList.remove(`ui-droppable-disabled`),super.destroy()}updateOption(e){return Object.assign(this.option,e),this._setupAccept(),this}_mouseEnter(t){if(!r.dragElement||a.touchHandled&&t.isTrusted||!this._canDrop(r.dragElement.el))return;t.preventDefault(),t.stopPropagation(),r.dragElement._stopScrolling(),r.dropElement&&r.dropElement!==this&&r.dropElement._mouseLeave(t,!0),r.dropElement=this;let n=e.initEvent(t,{target:this.el,type:`dropover`});this.option.over&&this.option.over(n,this._ui(r.dragElement)),this.triggerEvent(`dropover`,n),this.el.classList.add(`ui-droppable-over`)}_mouseLeave(t,n=!1){if(!r.dragElement||r.dropElement!==this)return;t.preventDefault(),t.stopPropagation(),n&&r.dragElement._stopScrolling();let i=e.initEvent(t,{target:this.el,type:`dropout`});if(this.option.out&&this.option.out(i,this._ui(r.dragElement)),this.triggerEvent(`dropout`,i),r.dropElement===this&&(delete r.dropElement,!n)){let e,n=this.el.parentElement;for(;!e&&n;)e=n.ddElement?.ddDroppable,n=n.parentElement;e&&e._mouseEnter(t)}}drop(t){t.preventDefault();let n=e.initEvent(t,{target:this.el,type:`drop`});this.option.drop&&this.option.drop(n,this._ui(r.dragElement)),this.triggerEvent(`drop`,n)}_canDrop(e){return e&&(!this.accept||this.accept(e))}_setupAccept(){return this.option.accept&&(typeof this.option.accept==`string`?this.accept=e=>e.classList.contains(this.option.accept)||e.matches(this.option.accept):this.accept=this.option.accept),this}_ui(e){return{draggable:e.el,...e.ui()}}},b=class e{static init(t){return t.ddElement||=new e(t),t.ddElement}constructor(e){this.el=e}on(e,t){return this.ddDraggable&&[`drag`,`dragstart`,`dragstop`].indexOf(e)>-1?this.ddDraggable.on(e,t):this.ddDroppable&&[`drop`,`dropover`,`dropout`].indexOf(e)>-1?this.ddDroppable.on(e,t):this.ddResizable&&[`resizestart`,`resize`,`resizestop`].indexOf(e)>-1&&this.ddResizable.on(e,t),this}off(e){return this.ddDraggable&&[`drag`,`dragstart`,`dragstop`].indexOf(e)>-1?this.ddDraggable.off(e):this.ddDroppable&&[`drop`,`dropover`,`dropout`].indexOf(e)>-1?this.ddDroppable.off(e):this.ddResizable&&[`resizestart`,`resize`,`resizestop`].indexOf(e)>-1&&this.ddResizable.off(e),this}setupDraggable(e){return this.ddDraggable?this.ddDraggable.updateOption(e):this.ddDraggable=new v(this.el,e),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(e){return this.ddResizable?this.ddResizable.updateOption(e):this.ddResizable=new g(this.el,e),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(e){return this.ddDroppable?this.ddDroppable.updateOption(e):this.ddDroppable=new y(this.el,e),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}},x=new class{resizable(e,t,n,r){return this._getDDElements(e,typeof t==`string`?t:void 0).forEach(e=>{if(t===`disable`||t===`enable`)e.ddResizable&&e.ddResizable[t]();else if(t===`destroy`)e.ddResizable&&e.cleanResizable();else if(t===`option`)e.setupResizable({[n]:r});else{let n=e.el.gridstackNode.grid,r=e.el.getAttribute(`gs-resize-handles`)||n.opts.resizable.handles||`e,s,se`;r===`all`&&(r=`n,e,s,w,se,sw,ne,nw`);let i=!n.opts.alwaysShowResizeHandle,a=t;e.setupResizable({...n.opts.resizable,handles:r,autoHide:i,start:a.start,stop:a.stop,resize:a.resize,rtl:a.rtl})}}),this}draggable(e,t,n,r){return this._getDDElements(e,typeof t==`string`?t:void 0).forEach(e=>{if(t===`disable`||t===`enable`)e.ddDraggable&&e.ddDraggable[t]();else if(t===`destroy`)e.ddDraggable&&e.cleanDraggable();else if(t===`option`)e.setupDraggable({[n]:r});else{let n=e.el.gridstackNode.grid,r=t;e.setupDraggable({...n.opts.draggable,start:r.start,stop:r.stop,drag:r.drag,rtl:r.rtl})}}),this}dragIn(e,t){return this._getDDElements(e).forEach(e=>e.setupDraggable(t)),this}droppable(e,t,n,r){if(typeof t!=`string`){let e=t;typeof e.accept==`function`&&!e._accept&&(e._accept=e.accept,e.accept=t=>e._accept(t))}let i=typeof t==`string`?t:void 0;return this._getDDElements(e,i).forEach(e=>{t===`disable`||t===`enable`?e.ddDroppable&&e.ddDroppable[t]():t===`destroy`?e.ddDroppable&&e.cleanDroppable():t===`option`?e.setupDroppable({[n]:r}):e.setupDroppable(t)}),this}isDroppable(e){return!!(e?.ddElement?.ddDroppable&&!e.ddElement.ddDroppable.disabled)}isDraggable(e){return!!(e?.ddElement?.ddDraggable&&!e.ddElement.ddDraggable.disabled)}isResizable(e){return!!(e?.ddElement?.ddResizable&&!e.ddElement.ddResizable.disabled)}on(e,t,n){return this._getDDElements(e).forEach(e=>e.on(t,e=>{n(e,r.dragElement?r.dragElement.el:e.target,r.dragElement?r.dragElement.helper:void 0)})),this}off(e,t){return this._getDDElements(e).forEach(e=>e.off(t)),this}_getDDElements(t,n){let r=t.gridstack||n!==`destroy`&&n!==`disable`,i=e.getElements(t);return i.length?i.map(e=>e.ddElement||(r?b.init(e):null)).filter(e=>!!e):[]}},S=class a{static init(t={},n=`.grid-stack`){if(typeof document>`u`)return null;let r=a.getGridElement(n);return r?(r.gridstack||=new a(r,e.cloneDeep(t)),r.gridstack):(console.error(typeof n==`string`?`GridStack.initAll() no grid was found with selector "`+n+`" - element missing or wrong selector ?
|
|
2
2
|
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:`GridStack.init() no grid element was passed.`),null)}static initAll(t={},n=`.grid-stack`){let r=[];return typeof document>`u`?r:(a.getGridElements(n).forEach(n=>{n.gridstack||=new a(n,e.cloneDeep(t)),r.push(n.gridstack)}),r.length===0&&console.error(`GridStack.initAll() no grid was found with selector "`+n+`" - element missing or wrong selector ?
|
|
3
|
-
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`),r)}static addGrid(t,n={}){if(!t)return null;let r=t;if(r.gridstack){let e=r.gridstack;return n&&(e.opts={...e.opts,...n}),n.children!==void 0&&e.load(n.children),e}return(!t.classList.contains(`grid-stack`)||a.addRemoveCB)&&(r=a.addRemoveCB?a.addRemoveCB(t,n,!0,!0):e.createDiv([`grid-stack`,n.class],t)),a.init(n,r)}static registerEngine(e){a.engineClass=e}get placeholder(){if(!this._placeholder){this._placeholder=e.createDiv([this.opts.placeholderClass,n.itemClass,this.opts.itemClass]);let t=e.createDiv([`placeholder-content`],this._placeholder);this.opts.placeholderText&&(t.textContent=this.opts.placeholderText)}return this._placeholder}constructor(o,s={}){this.el=o,this.opts=s,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},o.gridstack=this,this.opts=s||={},o.classList.contains(`grid-stack`)||this.el.classList.add(`grid-stack`),s.row&&(s.minRow=s.maxRow=s.row,delete s.row);let c=e.toNumber(o.getAttribute(`gs-row`));s.column===`auto`&&delete s.column,s.alwaysShowResizeHandle!==void 0&&(s._alwaysShowResizeHandle=s.alwaysShowResizeHandle);let l=s.columnOpts;if(l){let e=l.breakpoints;!l.columnWidth&&!e?.length?delete s.columnOpts:(l.columnMax=l.columnMax||12,e.length>1&&e.sort((e,t)=>(t.w||0)-(e.w||0)))}let u={...e.cloneDeep(n),column:e.toNumber(o.getAttribute(`gs-column`))||n.column,minRow:c||e.toNumber(o.getAttribute(`gs-min-row`))||n.minRow,maxRow:c||e.toNumber(o.getAttribute(`gs-max-row`))||n.maxRow,staticGrid:e.toBool(o.getAttribute(`gs-static`))||n.staticGrid,sizeToContent:e.toBool(o.getAttribute(`gs-size-to-content`))||void 0,draggable:{handle:(s.handleClass?`.`+s.handleClass:s.handle?s.handle:``)||n.draggable.handle},removableOptions:{accept:s.itemClass||n.removableOptions.accept,decline:n.removableOptions.decline}};o.getAttribute(`gs-animate`)&&(u.animate=e.toBool(o.getAttribute(`gs-animate`))),s=e.defaults(s,u),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(s),s.rtl===`auto`&&(s.rtl=o.style.direction===`rtl`),s.rtl&&this.el.classList.add(`grid-stack-rtl`),s.printMode===`exact`?this.el.classList.add(`gs-print-exact`):this.el.classList.add(`gs-print-flow`);let d=this.el.closest(`.`+n.itemClass)?.gridstackNode;if(d&&(d.subGrid=this,this.parentGridNode=d,this.el.classList.add(`grid-stack-nested`),d.el.classList.add(`grid-stack-sub-grid`)),this._isAutoCellHeight=s.cellHeight===`auto`,this._isAutoCellHeight||s.cellHeight===`initial`)this.cellHeight(void 0);else{typeof s.cellHeight==`number`&&s.cellHeightUnit&&s.cellHeightUnit!==n.cellHeightUnit&&(s.cellHeight+=s.cellHeightUnit,delete s.cellHeightUnit);let e=s.cellHeight;delete s.cellHeight,this.cellHeight(e)}s.alwaysShowResizeHandle===`mobile`&&(s.alwaysShowResizeHandle=i),this._setStaticClass();let f=s.engineClass||a.engineClass||t;if(this.engine=new f({column:this.getColumn(),float:s.float,maxRow:s.maxRow,onChange:e=>{e.forEach(e=>{let t=e.el;t&&(e._removeDOM?(t&&t.remove(),delete e._removeDOM):this._writePosAttr(t,e))}),this._updateContainerHeight()}}),s.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(e=>this._prepareElement(e)),delete this.engine._loading,this.batchUpdate(!1)),s.children){let e=s.children;delete s.children,e.length&&this.load(e)}this.setAnimation(),s.subGridDynamic&&!r.pauseDrag&&(r.pauseDrag=!0),s.draggable?.pause!==void 0&&(r.pauseDrag=s.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(e=this.opts){this.el.classList.add(`gs-`+e.column),typeof e.column==`number`&&(this.el.style.setProperty(`--gs-column-width`,`${100/e.column}%`),this.el.style.setProperty(`--gs-columns`,String(e.column)))}addWidget(t){if(!t)return;if(typeof t==`string`){console.error(`V11: GridStack.addWidget() does not support string anymore. see #2736`);return}if(t.ELEMENT_NODE)return console.error(`V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()`),this.makeWidget(t);let n,r=t;if(r.grid=this,n=r.el?r.el:a.addRemoveCB?a.addRemoveCB(this.el,t,!0,!1):this.createWidgetDivs(r),!n)return;if(r=n.gridstackNode,r&&n.parentElement===this.el&&this.engine.nodes.find(e=>e._id===r._id))return n;let i=this._readAttr(n);return e.defaults(t,i),this.engine.prepareNode(t),this.el.appendChild(n),this.makeWidget(n,t),n}createWidgetDivs(t){let n=e.createDiv([`grid-stack-item`,this.opts.itemClass]),r=e.createDiv([`grid-stack-item-content`],n);return e.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([e])=>{e.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,a.renderCB(r,t),t.grid?.prepareDragDrop(t.el))}),window.setTimeout(()=>t.visibleObservable?.observe(n))):a.renderCB(r,t),n}makeSubGrid(t,n,r,i=!0){let o=t.gridstackNode;if(o||=this.makeWidget(t).gridstackNode,o.subGrid?.el)return o.subGrid;let s,c=this;for(;c&&!s;)s=c.opts?.subGridOpts,c=c.parentGridNode?.grid;n=e.cloneDeep({...this.opts,id:void 0,children:void 0,column:`auto`,columnOpts:void 0,layout:`list`,subGridOpts:void 0,...s||{},...n||o.subGridOpts||{}}),o.subGridOpts=n;let l=!1;n.column===`auto`&&(l=!0,n.column=Math.max(o.w||1,r?.w||1),delete n.columnOpts);let u=o.el.querySelector(`.grid-stack-item-content`),d,f;if(i&&(this._removeDD(o.el),f={...o,x:0,y:0},e.removeInternalForSave(f),delete f.subGridOpts,o.content&&(f.content=o.content,delete o.content),a.addRemoveCB?d=a.addRemoveCB(this.el,f,!0,!1)||void 0:(d=e.createDiv([`grid-stack-item`]),d.appendChild(u),u=e.createDiv([`grid-stack-item-content`],o.el)),this.prepareDragDrop(o.el)),r){let e=l?n.column:o.w,t=o.h+r.h,i=o.el.style;i.transition=`none`,this.update(o.el,{w:e,h:t}),setTimeout(()=>i.transition=``)}let p=o.subGrid=a.addGrid(u,n)||void 0;return r?._moving&&(p._isTemp=!0),l&&(p._autoColumn=!0),i&&p.makeWidget(d,f),r&&(r._moving?window.setTimeout(()=>e.simulateMouseEvent(r._event,`mouseenter`,p.el),0):p.makeWidget(o.el,o)),this.resizeToContentCheck(!1,o),p}removeAsSubGrid(t){let n=this.parentGridNode?.grid;if(n&&(n.batchUpdate(),n.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(e=>{e.x=(e.x??0)+(this.parentGridNode.x??0),e.y=(e.y??0)+(this.parentGridNode.y??0),this._removeDD(e.el),e.el.remove(),delete e.el.gridstackNode,n.makeWidget(e.el,e)}),n.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,t)){let i=t.el?.gridstackNode;i&&i!==t&&(i._temporaryRemoved=!0),window.setTimeout(()=>{let i=r.dragElement?.lastDrag||t._event;i&&e.simulateMouseEvent(i,`mouseenter`,n.el)},0)}}save(t=!0,r=!1,i=a.saveCB,o){let s=this.engine.save(t,i,o);if(s.forEach(e=>{if(t&&e.el&&!e.subGrid&&!i)e.content=e.el.querySelector(`.grid-stack-item-content`)?.innerHTML,e.content||delete e.content;else if(!t&&!i&&delete e.content,e.subGrid?.el){let n=e.w||e.subGrid.getColumn(),a=e.subGrid.save(t,r,i,n);e.subGridOpts=r?a:{children:a},delete e.subGrid}delete e.el}),r){let t=e.cloneDeep(this.opts);t.marginBottom===t.marginTop&&t.marginRight===t.marginLeft&&t.marginTop===t.marginRight&&(t.margin=t.marginTop,delete t.marginTop,delete t.marginRight,delete t.marginBottom,delete t.marginLeft),t.rtl===(this.el.style.direction===`rtl`)&&(t.rtl=`auto`),this._isAutoCellHeight&&(t.cellHeight=`auto`),this._autoColumn&&(t.column=`auto`);let r=t._alwaysShowResizeHandle;return delete t._alwaysShowResizeHandle,r===void 0?delete t.alwaysShowResizeHandle:t.alwaysShowResizeHandle=r,e.removeInternalAndSame(t,n),t.children=s,t}return s}load(t,n=a.addRemoveCB||!0){t.forEach(e=>{e.w=e.w||e.minW||1,e.h=e.h||e.minH||1}),t=e.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let r=0;t.forEach(e=>{r=Math.max(r,(e.x||0)+e.w)}),r>this.engine.defaultColumn&&(this.engine.defaultColumn=r);let i=this.getColumn();r>i&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(r,i,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,r,!0));let o=a.addRemoveCB;typeof n==`function`&&(a.addRemoveCB=n);let s=[];this.batchUpdate();let c=!this.engine.nodes.length,l=c&&this.opts.animate;l&&this.setAnimation(!1),!c&&n&&[...this.engine.nodes].forEach(n=>{n.id&&(e.find(t,n.id)||(a.addRemoveCB&&a.addRemoveCB(this.el,n,!1,!1),s.push(n),this.removeWidget(n.el,!0,!1)))}),this.engine._loading=!0;let u=[];return this.engine.nodes=this.engine.nodes.filter(n=>n.id&&e.find(t,n.id)?(u.push(n),!1):!0),t.forEach(t=>{let r=t.id?e.find(u,t.id):void 0;if(r){if(e.shouldSizeToContent(r)&&(t.h=r.h),this.engine.nodeBoundFix(t),(t.autoPosition||t.x===void 0||t.y===void 0)&&(t.w=t.w||r.w,t.h=t.h||r.h,this.engine.findEmptyPosition(t)),this.engine.nodes.push(r),e.samePos(r,t)&&this.engine.nodes.length>1&&(this.moveNode(r,{...t,forceCollide:!0}),e.copyPos(t,r)),this.update(r.el,t),t.subGridOpts?.children){let e=r.el.querySelector(`.grid-stack`);e&&e.gridstack&&e.gridstack.load(t.subGridOpts.children)}}else n&&this.addWidget(t)}),delete this.engine._loading,this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,o?a.addRemoveCB=o:delete a.addRemoveCB,l&&this.setAnimation(!0,!0),this}batchUpdate(e=!0){return this.engine.batchUpdate(e),e||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&this.opts.cellHeight!==`auto`&&(!t||!this.opts.cellHeightUnit||this.opts.cellHeightUnit===`px`))return this.opts.cellHeight;if(this.opts.cellHeightUnit===`rem`)return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit===`em`)return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit===`cm`)return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit===`mm`)return this.opts.cellHeight*(96/2.54)/10;let n=this.el.querySelector(`.`+this.opts.itemClass);if(n){let t=e.toNumber(n.getAttribute(`gs-h`))||1;return Math.round(n.offsetHeight/t)}let r=parseInt(this.el.getAttribute(`gs-current-row`)||`0`);return r?Math.round(this.el.getBoundingClientRect().height/r):this.opts.cellHeight}cellHeight(t){if(t!==void 0&&this._isAutoCellHeight!==(t===`auto`)&&(this._isAutoCellHeight=t===`auto`,this._updateResizeEvent()),(t===`initial`||t===`auto`)&&(t=void 0),t===void 0){let e=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+e}let n=e.parseHeight(t);return this.opts.cellHeightUnit===n.unit&&this.opts.cellHeight===n.h?this:(this.opts.cellHeightUnit=n.unit,this.opts.cellHeight=n.h,this.el.style.setProperty(`--gs-cell-height`,`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(e=!1){return e&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let e=this.opts.columnOpts;if(!e||!e.columnWidth&&!e.breakpoints?.length)return!1;let t=this.getColumn(),n=t,r=this._widthOrContainer(!0);if(e.columnWidth)n=Math.min(Math.round(r/e.columnWidth)||1,e.columnMax);else{n=e.columnMax;let i=0;for(;i<e.breakpoints.length&&r<=e.breakpoints[i].w;)n=e.breakpoints[i++].c||t}if(n!==t){let t=e.breakpoints?.find(e=>e.c===n);return this.column(n,t?.layout||e.layout),!0}return!1}compact(e=`compact`,t=!0){return this.engine.compact(e,t),this._triggerChangeEvent(),this}column(e,t=`moveScale`){if(!e||e<1||this.opts.column===e)return this;let n=this.getColumn();return this.opts.column=e,this.engine?(this.engine.column=e,this.el.classList.remove(`gs-`+n),this._updateColumnVar(),this.engine.columnChanged(n,e,t),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=t,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(e=>e.matches(`.`+this.opts.itemClass)&&!e.matches(`.`+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(e=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),e?this.el.parentNode.removeChild(this.el):(this.removeAll(e),this.el.removeAttribute(`gs-current-row`)),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(e){return this.opts.float!==e&&(this.opts.float=this.engine.float=e,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(e,t=!1){let n=this.el.getBoundingClientRect(),r;r=t?{top:n.top+document.documentElement.scrollTop,left:n.left}:{top:this.el.offsetTop,left:this.el.offsetLeft};let i=e.left-r.left,a=e.top-r.top,o=n.width/this.getColumn(),s=n.height/parseInt(this.el.getAttribute(`gs-current-row`)||`0`);return{x:Math.floor(i/o),y:Math.floor(a/s)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(e,t,n,r){return this.engine.isAreaEmpty(e,t,n,r)}makeWidget(e,t){let n=a.getElement(e);if(!n||n.gridstackNode)return n;n.parentElement||this.el.appendChild(n),this._prepareElement(n,!0,t);let r=n.gridstackNode;this._updateContainerHeight(),r.subGridOpts&&this.makeSubGrid(n,r.subGridOpts,void 0,!1);let i=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(i=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),i&&delete this._ignoreLayoutsNodeChange,n}on(e,t){return e.indexOf(` `)===-1?(e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`?(e===`enable`||e===`disable`?this._gsEventHandler[e]=e=>t(e):this._gsEventHandler[e]=(e=>{e.detail&&t(e,e.detail)}),this.el.addEventListener(e,this._gsEventHandler[e])):e===`drag`||e===`dragstart`||e===`dragstop`||e===`resizestart`||e===`resize`||e===`resizestop`||e===`dropped`||e===`resizecontent`?this._gsEventHandler[e]=t:console.error(`GridStack.on(`+e+`) event not supported`),this):(e.split(` `).forEach(e=>this.on(e,t)),this)}off(e){return e.indexOf(` `)===-1?((e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`)&&this._gsEventHandler[e]&&this.el.removeEventListener(e,this._gsEventHandler[e]),delete this._gsEventHandler[e],this):(e.split(` `).forEach(e=>this.off(e)),this)}offAll(){return Object.keys(this._gsEventHandler).forEach(e=>this.off(e)),this}removeWidget(e,t=!0,n=!0){return e?(a.getElements(e).forEach(e=>{if(e.parentElement&&e.parentElement!==this.el)return;let r=e.gridstackNode;r||=this.engine.nodes.find(t=>e===t.el),r&&(t&&a.addRemoveCB&&a.addRemoveCB(this.el,r,!1,!1),delete e.gridstackNode,this._removeDD(e),this.engine.removeNode(r,t,n),t&&e.parentElement&&e.remove())}),n&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error(`Error: GridStack.removeWidget(undefined) called`),this)}removeAll(e=!0,t=!0){return this.engine.nodes.forEach(t=>{e&&a.addRemoveCB&&a.addRemoveCB(this.el,t,!1,!1),delete t.el.gridstackNode,this.opts.staticGrid||this._removeDD(t.el)}),this.engine.removeAll(e,t),t&&this._triggerRemoveEvent(),this}setAnimation(e=this.opts.animate,t){return t?setTimeout(()=>{this.opts&&this.setAnimation(e)}):e?this.el.classList.add(`grid-stack-animate`):this.el.classList.remove(`grid-stack-animate`),this.opts.animate=e,this}hasAnimationCSS(){return this.el.classList.contains(`grid-stack-animate`)}setStatic(e,t=!0,n=!0){return!!this.opts.staticGrid===e?this:(e?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(r=>{this.prepareDragDrop(r.el),r.subGrid&&n&&r.subGrid.setStatic(e,t,n)}),t&&this._setStaticClass(),this)}updateOptions(e){let t=this.opts;if(e===t)return this;if(e.acceptWidgets!==void 0&&(t.acceptWidgets=e.acceptWidgets,this._setupAcceptWidget()),e.animate!==void 0&&this.setAnimation(e.animate),e.cellHeight&&this.cellHeight(e.cellHeight),e.class!==void 0&&e.class!==t.class&&(t.class&&this.el.classList.remove(t.class),e.class&&this.el.classList.add(e.class)),e.columnOpts){let t=!!this.opts.columnOpts;this.opts.columnOpts=e.columnOpts,t!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else e.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof e.column==`number`&&this.column(e.column);return e.margin!==void 0&&this.margin(e.margin),e.staticGrid!==void 0&&this.setStatic(e.staticGrid),e.disableDrag!==void 0&&!e.staticGrid&&this.enableMove(!e.disableDrag),e.disableResize!==void 0&&!e.staticGrid&&this.enableResize(!e.disableResize),e.float!==void 0&&this.float(e.float),e.row===void 0?(e.minRow!==void 0&&(t.minRow=e.minRow,this._updateContainerHeight()),e.maxRow!==void 0&&(t.maxRow=this.engine.maxRow=e.maxRow,this.engine.getRow()>e.maxRow&&this.compact())):(t.minRow=t.maxRow=this.engine.maxRow=t.row=e.row,this._updateContainerHeight(),this.engine.getRow()>e.row&&this.compact()),e.lazyLoad!==void 0&&(t.lazyLoad=e.lazyLoad),e.children?.length&&this.load(e.children),this}update(t,n){return a.getElements(t).forEach(t=>{let r=t?.gridstackNode;if(!r)return;let i={...e.copyPos({},r),...e.cloneDeep(n)};this.engine.nodeBoundFix(i),delete i.autoPosition;let o=[`x`,`y`,`w`,`h`],s,c=i,l=r;if(o.some(e=>c[e]!==void 0&&c[e]!==l[e])){s={};let e=s;o.forEach(t=>{e[t]=c[t]===void 0?l[t]:c[t],delete c[t]})}if(!s&&(i.minW||i.minH||i.maxW||i.maxH)&&(s={}),i.content!==void 0){let e=t.querySelector(`.grid-stack-item-content`);e&&e.textContent!==i.content&&(r.content=i.content,a.renderCB(e,i),r.subGrid?.el&&(e.appendChild(r.subGrid.el),r.subGrid._updateContainerHeight())),delete i.content}let u=!1,d=!1;for(let e in c)e[0]!==`_`&&l[e]!==c[e]&&(l[e]=c[e],u=!0,d||=!this.opts.staticGrid&&(e===`noResize`||e===`noMove`||e===`locked`));if(e.sanitizeMinMax(r),s){let e=s.w!==void 0&&s.w!==r.w;this.moveNode(r,s),e&&r.subGrid?r.subGrid.onResize(this.hasAnimationCSS()?r.w:void 0):this.resizeToContentCheck(e,r),delete r._orig}(s||u)&&this._writeAttr(t,r),d&&this.prepareDragDrop(r.el),a.updateCB&&a.updateCB(r)}),this}moveNode(e,t){let n=e._updating;n||this.engine.cleanNodes().beginUpdate(e),this.engine.moveNode(e,t),this._updateContainerHeight(),n||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(e){if(!e||(e.classList.remove(`size-to-content-max`),!e.clientHeight))return;let t=e.gridstackNode;if(!t)return;let n=t.grid;if(!n||e.parentElement!==n.el)return;let r=n.getCellHeight(!0);if(!r)return;let i=t.h?t.h*r:e.clientHeight,o=null;if(t.resizeToContentParent&&(o=e.querySelector(t.resizeToContentParent)),o||=e.querySelector(a.resizeToContentParent),!o)return;let s=e.clientHeight-o.clientHeight,c=t.h?t.h*r-s:o.clientHeight,l;if(t.subGrid){l=t.subGrid.getRow()*t.subGrid.getCellHeight(!0);let n=t.subGrid.el.getBoundingClientRect(),r=e.getBoundingClientRect();l+=n.top-r.top}else if(t.subGridOpts?.children?.length)return;else{let e=o.firstElementChild;if(!e){console.error(`Error: GridStack.resizeToContent() widget id:${t.id} '${a.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}l=e.getBoundingClientRect().height||c}if(c===l)return;i+=l-c;let u=Math.ceil(i/r),d=Number.isInteger(t.sizeToContent)?t.sizeToContent:0;d&&u>d&&(u=d,e.classList.add(`size-to-content-max`)),t.minH&&u<t.minH?u=t.minH:t.maxH&&u>t.maxH&&(u=t.maxH),u!==t.h&&(n._ignoreLayoutsNodeChange=!0,n.moveNode(t,{h:u}),delete n._ignoreLayoutsNodeChange)}resizeToContentCBCheck(e){a.resizeToContentCB?a.resizeToContentCB(e):this.resizeToContent(e)}rotate(t,n){return a.getElements(t).forEach(t=>{let r=t.gridstackNode;if(!r||!e.canBeRotated(r))return;let i={w:r.h,h:r.w,minH:r.minW,minW:r.minH,maxH:r.maxW,maxW:r.maxH};if(n){let e=n.left>0?Math.floor(n.left/this.cellWidth()):0,t=n.top>0?Math.floor(n.top/this.opts.cellHeight):0;i.x=r.x+e-(r.h-(t+1)),i.y=r.y+t-e}let a=i;Object.keys(a).forEach(e=>{a[e]===void 0&&delete a[e]});let o=r._orig;this.update(t,i),r._orig=o}),this}margin(t){if(!(typeof t==`string`&&t.split(` `).length>1)){let n=e.parseHeight(t);if(this.opts.marginUnit===n.unit&&this.opts.margin===n.h)return this}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(e){return this.engine.willItFit(e)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let e=this.engine.getDirtyNodes(!0);return e&&e.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(e),this._triggerEvent(`change`,e)),this.engine.saveInitial(),this._sortDom(),this}_sortDom(){let e=this.engine.nodes;if(e.forEach(e=>{e.subGrid&&e.subGrid._sortDom()}),e.length<2)return this;this.engine.sortNodes(),e=this.engine.nodes;let t=this.el.children;return e.some((e,n)=>e.el!==t[n])&&e.forEach(e=>{e.el&&e.el.parentElement===this.el&&this.el.appendChild(e.el)}),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(e=>{delete e._dirty});let e=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent(`added`,e)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let e=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent(`removed`,e)}return this}_triggerEvent(e,t){let n=t?new CustomEvent(e,{bubbles:!1,detail:t}):new Event(e),r=this;for(;r.parentGridNode;)r=r.parentGridNode.grid;return r.el.dispatchEvent(n),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let t=this.parentGridNode,n=this.getRow()+this._extraDragRow,r=this.opts.cellHeight,i=this.opts.cellHeightUnit;if(!r)return this;if(!t&&!this.opts.minRow){let t=e.parseHeight(getComputedStyle(this.el).minHeight);if(t.h>0&&t.unit===i){let e=Math.floor(t.h/r);n<e&&(n=e)}}return this.el.setAttribute(`gs-current-row`,String(n)),this.el.style.removeProperty(`min-height`),this.el.style.removeProperty(`height`),n&&(this.el.style[t?`minHeight`:`height`]=n*r+i),t&&e.shouldSizeToContent(t)&&t.grid.resizeToContentCBCheck(t.el),this}_prepareElement(t,r=!1,i){i||=this._readAttr(t),t.gridstackNode=i,i.el=t,i.grid=this,i=this.engine.addNode(i,r),this._writeAttr(t,i),t.classList.add(n.itemClass,this.opts.itemClass);let a=e.shouldSizeToContent(i);return a?t.classList.add(`size-to-content`):t.classList.remove(`size-to-content`),a&&this.resizeToContentCheck(!1,i),(!e.lazyLoad(i)||!i.visibleObservable)&&this.prepareDragDrop(i.el),this}_writePosAttr(e,t){if(!t._moving&&!t._resizing||this._placeholder===e){let n=this.opts.rtl?`right`:`left`,r=e.style;r.top=t.y?t.y===1?`var(--gs-cell-height)`:`calc(${t.y} * var(--gs-cell-height))`:null,r[n]=t.x?t.x===1?`var(--gs-column-width)`:`calc(${t.x} * var(--gs-column-width))`:null,r.width=t.w>1?`calc(${t.w} * var(--gs-column-width))`:null,r.height=t.h>1?`calc(${t.h} * var(--gs-cell-height))`:null}return e.style.setProperty(`--gs-x`,String(t.x||0)),e.style.setProperty(`--gs-y`,String(t.y||0)),e.style.setProperty(`--gs-w`,String(t.w||1)),e.style.setProperty(`--gs-h`,String(t.h||1)),e.setAttribute(`gs-x`,String(t.x??0)),e.setAttribute(`gs-y`,String(t.y??0)),t.w>1?e.setAttribute(`gs-w`,String(t.w)):e.removeAttribute(`gs-w`),t.h>1?e.setAttribute(`gs-h`,String(t.h)):e.removeAttribute(`gs-h`),this}_writeAttr(e,t){if(!t)return this;this._writePosAttr(e,t);let n={noResize:`gs-no-resize`,noMove:`gs-no-move`,locked:`gs-locked`,id:`gs-id`,sizeToContent:`gs-size-to-content`},r=t,i=n;for(let t in i)r[t]!==void 0&&r[t]!==null&&r[t]!==!1?e.setAttribute(i[t],String(r[t])):e.removeAttribute(i[t]);return t.print?(t.print.pageBreak?e.setAttribute(`gs-page-break`,String(t.print.pageBreak)):e.removeAttribute(`gs-page-break`),t.print.hide?e.setAttribute(`gs-print-hide`,String(t.print.hide)):e.removeAttribute(`gs-print-hide`),t.print.orientation?e.setAttribute(`gs-print-orientation`,String(t.print.orientation)):e.removeAttribute(`gs-print-orientation`)):(e.removeAttribute(`gs-page-break`),e.removeAttribute(`gs-print-hide`),e.removeAttribute(`gs-print-orientation`)),this}_readAttr(t,n=!0){let r={};r.x=e.toNumber(t.getAttribute(`gs-x`)),r.y=e.toNumber(t.getAttribute(`gs-y`)),r.w=e.toNumber(t.getAttribute(`gs-w`)),r.h=e.toNumber(t.getAttribute(`gs-h`)),r.autoPosition=e.toBool(t.getAttribute(`gs-auto-position`)),r.noResize=e.toBool(t.getAttribute(`gs-no-resize`)),r.noMove=e.toBool(t.getAttribute(`gs-no-move`)),r.locked=e.toBool(t.getAttribute(`gs-locked`));let i=t.getAttribute(`gs-page-break`),a=t.getAttribute(`gs-print-hide`),o=t.getAttribute(`gs-print-orientation`);(i||a||o)&&(r.print={},i&&(r.print.pageBreak=e.toBool(i)),a&&(r.print.hide=e.toBool(a)),o&&(r.print.orientation=o));let s=t.getAttribute(`gs-size-to-content`);s&&(s===`true`||s===`false`?r.sizeToContent=e.toBool(s):r.sizeToContent=parseInt(s,10)),r.id=t.getAttribute(`gs-id`)??void 0,r.maxW=e.toNumber(t.getAttribute(`gs-max-w`)),r.minW=e.toNumber(t.getAttribute(`gs-min-w`)),r.maxH=e.toNumber(t.getAttribute(`gs-max-h`)),r.minH=e.toNumber(t.getAttribute(`gs-min-h`)),n&&(r.w===1&&t.removeAttribute(`gs-w`),r.h===1&&t.removeAttribute(`gs-h`),r.maxW&&t.removeAttribute(`gs-max-w`),r.minW&&t.removeAttribute(`gs-min-w`),r.maxH&&t.removeAttribute(`gs-max-h`),r.minH&&t.removeAttribute(`gs-min-h`));let c=r;for(let e in c)r.hasOwnProperty(e)&&!c[e]&&c[e]!==0&&e!==`sizeToContent`&&delete c[e];return r}_setStaticClass(){let e=[`grid-stack-static`];return this.opts.staticGrid?(this.el.classList.add(...e),this.el.setAttribute(`gs-static`,`true`)):(this.el.classList.remove(...e),this.el.removeAttribute(`gs-static`)),this}onResize(e=this.el?.clientWidth){if(!e||this.prevWidth===e)return this;this.prevWidth=e,this.batchUpdate();let t=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||`list`),t=!0):t=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(e=>{e.subGrid&&e.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(t),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(t=!1,n){if(!this.engine)return;if(t&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,n),this.animationDelay);return}if(n)e.shouldSizeToContent(n)&&this.resizeToContentCBCheck(n.el);else if(this.engine.nodes.some(t=>e.shouldSizeToContent(t))){let t=[...this.engine.nodes];this.batchUpdate(),t.forEach(t=>{e.shouldSizeToContent(t)&&this.resizeToContentCBCheck(t.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let r=this._gsEventHandler.resizecontent;r&&r(new Event(`resizecontent`),n?[n]:this.engine.nodes)}_updateResizeEvent(t=!1){let n=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(e=>e.sizeToContent));return!t&&n&&!this.resizeObserver?(this._sizeThrottle=e.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(t||!n)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(t=`.grid-stack-item`){return e.getElement(t)}static getElements(t=`.grid-stack-item`){return e.getElements(t)}static getGridElement(e){return a.getElement(e)}static getGridElements(t){return e.getElements(t)}_initMargin(){let t={h:0,unit:`px`},n=0,r=[];typeof this.opts.margin==`string`&&(r=this.opts.margin.split(` `)),r.length===2?(this.opts.marginTop=this.opts.marginBottom=r[0],this.opts.marginLeft=this.opts.marginRight=r[1]):r.length===4?(this.opts.marginTop=r[0],this.opts.marginRight=r[1],this.opts.marginBottom=r[2],this.opts.marginLeft=r[3]):(t=e.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,n=this.opts.margin=t.h);let i=[`marginTop`,`marginRight`,`marginBottom`,`marginLeft`],a=this.opts;i.forEach(r=>{a[r]===void 0?a[r]=n:(t=e.parseHeight(a[r]),a[r]=t.h,delete this.opts.margin)}),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let o=this.el.style;return o.setProperty(`--gs-item-margin-top`,`${this.opts.marginTop}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-bottom`,`${this.opts.marginBottom}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-right`,`${this.opts.marginRight}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-left`,`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return x}static setupDragIn(t,n,i,a=document){n?.pause!==void 0&&(r.pauseDrag=n.pause),n={appendTo:`body`,helper:`clone`,...n||{}},(typeof t==`string`?e.getElements(t,a):t).forEach((e,t)=>{x.isDraggable(e)||x.dragIn(e,n),i?.[t]&&(e.gridstackNode=i[t])})}movable(e,t){return this.opts.staticGrid||a.getElements(e).forEach(e=>{let n=e.gridstackNode;n&&(t?delete n.noMove:n.noMove=!0,this.prepareDragDrop(n.el))}),this}resizable(e,t){return this.opts.staticGrid||a.getElements(e).forEach(e=>{let n=e.gridstackNode;n&&(t?delete n.noResize:n.noResize=!0,this.prepareDragDrop(n.el))}),this}disable(e=!0){return this.opts.staticGrid?this:(this.enableMove(!1,e),this.enableResize(!1,e),this._triggerEvent(`disable`),this)}enable(e=!0){return this.opts.staticGrid?this:(this.enableMove(!0,e),this.enableResize(!0,e),this._triggerEvent(`enable`),this)}enableMove(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableMove(e,t)}),this)}enableResize(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableResize(e,t)}),this)}cancelDrag(){let e=r.dragElement?.el;if(e?._gridstackNodeOrig){let t=e._gridstackNodeOrig,n=t.grid,i=this._placeholder?.gridstackNode;i&&(i._isAboutToRemove=!0,this.engine.removeNode(i)),this.engine.restoreInitial(),e.gridstackNode=t,delete e._gridstackNodeOrig,delete r.dropElement,n&&(n.engine.addNode(t,!1),n.engine.restoreInitial());return}let t=this._placeholder?.gridstackNode;t&&(t._isExternal?(t._isAboutToRemove=!0,this.engine.removeNode(t)):t._isAboutToRemove&&a._itemRemoving(t.el,!1),this.engine.restoreInitial())}_removeDD(e){return x.draggable(e,`destroy`).resizable(e,`destroy`),e.gridstackNode&&delete e.gridstackNode._initDD,delete e.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return x.droppable(this.el,`destroy`),this;let t,n,r=(r,i,a)=>{a||=i;let o=a.gridstackNode;if(!o)return;if(!o.grid?.el){a.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let e=a.getBoundingClientRect();a.style.left=e.x+(this.dragTransform.xScale-1)*(r.clientX-e.x)/this.dragTransform.xScale+`px`,a.style.top=e.y+(this.dragTransform.yScale-1)*(r.clientY-e.y)/this.dragTransform.yScale+`px`,a.style.transformOrigin=`0px 0px`}let{top:s,left:c}=a.getBoundingClientRect(),l=this.el.getBoundingClientRect();c-=l.left,s-=l.top;let u={position:{top:s*this.dragTransform.xScale,left:c*this.dragTransform.yScale}};if(o._temporaryRemoved){if(o.x=Math.max(0,Math.round(c/n)),o.y=Math.max(0,Math.round(s/t)),delete o.autoPosition,this.engine.nodeBoundFix(o),!this.engine.willItFit(o)){if(o.autoPosition=!0,!this.engine.willItFit(o)){x.off(i,`drag`);return}o._willFitPos&&(e.copyPos(o,o._willFitPos),delete o._willFitPos)}this._onStartMoving(a,r,u,o,n,t)}else this._dragOrResize(a,r,u,o,n,t)};return x.droppable(this.el,{accept:e=>{let t=e.gridstackNode||this._readAttr(e,!1);if(t?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let n=!0;if(typeof this.opts.acceptWidgets==`function`)n=this.opts.acceptWidgets(e);else{let t=this.opts.acceptWidgets===!0?`.grid-stack-item`:this.opts.acceptWidgets;n=e.matches(t)}if(n&&t&&this.opts.maxRow){let e={w:t.w,h:t.h,minW:t.minW,minH:t.minH};n=this.engine.willItFit(e)}return n}}).on(this.el,`dropover`,(e,i,o)=>{let s=o?.gridstackNode||i.gridstackNode;if(s?.grid===this&&!s._temporaryRemoved)return!1;if(s?._sidebarOrig&&(s.w=s._sidebarOrig.w,s.h=s._sidebarOrig.h),s?.grid&&s.grid!==this&&!s._temporaryRemoved&&s.grid._leave(i,o),o||=i,n=this.cellWidth(),t=this.getCellHeight(!0),!s){let e=o.getAttribute(`data-gs-widget`)||o.getAttribute(`gridstacknode`);if(e){try{s=JSON.parse(e)}catch{console.error(`Gridstack dropover: Bad JSON format: `,e)}o.removeAttribute(`data-gs-widget`),o.removeAttribute(`gridstacknode`)}s||=this._readAttr(o),s._sidebarOrig={w:s.w,h:s.h}}s.grid||(s.el||(s={...s}),s._isExternal=!0,o.gridstackNode=s);let c=s.w||Math.round(o.offsetWidth/n)||1,l=s.h||Math.round(o.offsetHeight/t)||1;return s.grid&&s.grid!==this?(i._gridstackNodeOrig||=s,i.gridstackNode=s={...s,w:c,h:l,grid:this},delete s.x,delete s.y,this.engine.cleanupNode(s).nodeBoundFix(s),s._initDD=s._isExternal=s._temporaryRemoved=!0):(s.w=c,s.h=l,s._temporaryRemoved=!0),a._itemRemoving(s.el,!1),x.on(i,`drag`,r),r(e,i,o),!1}).on(this.el,`dropout`,(e,t,n)=>{let r=n?.gridstackNode||t.gridstackNode;return r&&(!r.grid||r.grid===this)&&(this._leave(t,n),this._isTemp&&this.removeAsSubGrid(r)),!1}).on(this.el,`drop`,(t,n,r)=>{let i=r?.gridstackNode||n.gridstackNode;if(i?.grid===this&&!i._isExternal)return!1;let o=!!this.placeholder.parentElement,s=n!==r;this.placeholder.remove(),delete this.placeholder.gridstackNode,o&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let c=n._gridstackNodeOrig;if(delete n._gridstackNodeOrig,o&&c?.grid&&c.grid!==this){let e=c.grid;e.engine.removeNodeFromLayoutCache(c),e.engine.removedNodes.push(c),e._triggerRemoveEvent()._triggerChangeEvent(),e.parentGridNode&&!e.engine.nodes.length&&e.opts.subGridDynamic&&e.removeAsSubGrid()}if(!i||(o&&(this.engine.cleanupNode(i),i.grid=this),delete i.grid?._isTemp,x.off(n,`drag`),r&&r!==n?(r.remove(),n=r):n.remove(),this._removeDD(n),!o))return!1;let l=i.subGrid?.el?.gridstack;return e.copyPos(i,this._readAttr(this.placeholder)),e.removePositioningStyles(n),s&&(i.content||i.subGridOpts||a.addRemoveCB)?(delete i.el,n=this.addWidget(i)||n):(this._prepareElement(n,!0,i),this.el.appendChild(n),this.resizeToContentCheck(!1,i),l&&(l.parentGridNode=i),this._updateContainerHeight()),this.engine.addedNodes.push(i),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped({...t,type:`dropped`},c&&c.grid?c:void 0,i),!1}),this}static _itemRemoving(e,t){if(!e)return;let n=e?e.gridstackNode:void 0;!n?.grid||e.classList.contains(n.grid.opts.removableOptions.decline)||(t?n._isAboutToRemove=!0:delete n._isAboutToRemove,t?e.classList.add(`grid-stack-item-removing`):e.classList.remove(`grid-stack-item-removing`))}_setupRemoveDrop(){if(typeof this.opts.removable!=`string`)return this;let e=document.querySelector(this.opts.removable);return e&&!this.opts.staticGrid&&!x.isDroppable(e)&&x.droppable(e,this.opts.removableOptions).on(e,`dropover`,(e,t)=>a._itemRemoving(t,!0)).on(e,`dropout`,(e,t)=>a._itemRemoving(t,!1)),this}refreshDragHandles(e){return a.getElements(e).forEach(e=>{e.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(t,n=!1){let r=t?.gridstackNode;if(!r)return this;let i=r.noMove||this.opts.disableDrag,a=r.noResize||this.opts.disableResize,o=this.opts.staticGrid||i&&a;if((n||o)&&(r._initDD&&(this._removeDD(t),delete r._initDD),o))return t.classList.add(`ui-draggable-disabled`,`ui-resizable-disabled`),this;if(!r._initDD){let n,i,a=(e,a)=>{this.triggerEvent(e,e.target),n=this.cellWidth(),i=this.getCellHeight(!0),this._onStartMoving(t,e,a,r,n,i)},o=(e,a)=>{this._dragOrResize(t,e,a,r,n,i)},s=n=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete r._moving,delete r._resizing,delete r._event,delete r._lastTried;let i=r.w!==r._orig.w,a=n.target;if(!(!a.gridstackNode||a.gridstackNode.grid!==this)){if(r.el=a,r._isAboutToRemove){let e=t.gridstackNode.grid;e._gsEventHandler[n.type]&&e._gsEventHandler[n.type](n,a),e.engine.nodes.push(r),e.removeWidget(t,!0,!0)}else e.removePositioningStyles(a),r._temporaryRemoved?(this._writePosAttr(a,r),this.engine.addNode(r)):this._writePosAttr(a,r),this.triggerEvent(n,a);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),n.type===`resizestop`&&(Number.isInteger(r.sizeToContent)&&(r.sizeToContent=r.h),this.resizeToContentCheck(i,r))}};x.draggable(t,{start:a,stop:s,drag:o,rtl:this.opts.rtl===`auto`?void 0:this.opts.rtl}).resizable(t,{start:a,stop:s,resize:o,rtl:this.opts.rtl===`auto`?void 0:this.opts.rtl}),r._initDD=!0}return x.draggable(t,i?`disable`:`enable`).resizable(t,a?`disable`:`enable`),this}_onStartMoving(t,n,r,i,a,o){if(this.engine.cleanNodes().beginUpdate(i),this._writePosAttr(this.placeholder,i),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=i,i.grid?.el)this.dragTransform=e.getValuesFromTransformedElement(t);else if(this.placeholder&&this.placeholder.closest(`.grid-stack`)){let t=this.placeholder.closest(`.grid-stack`);this.dragTransform=e.getValuesFromTransformedElement(t)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(i.el=this.placeholder,i._lastUiPosition=r.position,i._prevYPix=r.position.top,i._moving=n.type===`dragstart`,i._resizing=n.type===`resizestart`,delete i._lastTried,n.type===`dropover`&&i._temporaryRemoved&&(this.engine.addNode(i),i._moving=!0),this.engine.cacheRects(a,o,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),n.type===`resizestart`){let e=this.getColumn()-i.x,n=(this.opts.maxRow||2**53-1)-i.y;x.resizable(t,`option`,`minWidth`,a*Math.min(i.minW||1,e)).resizable(t,`option`,`minHeight`,o*Math.min(i.minH||1,n)).resizable(t,`option`,`maxWidth`,a*Math.min(i.maxW||2**53-1,e)).resizable(t,`option`,`maxWidthMoveLeft`,a*Math.min(i.maxW||2**53-1,i.x+i.w)).resizable(t,`option`,`maxHeight`,o*Math.min(i.maxH||2**53-1,n)).resizable(t,`option`,`maxHeightMoveUp`,o*Math.min(i.maxH||2**53-1,i.y+i.h))}}_dragOrResize(t,n,i,a,o,s){let c={...a._orig},l=!1,u=this.opts.marginLeft,d=this.opts.marginRight,f=this.opts.marginTop,p=this.opts.marginBottom,m=Math.round(s*.1),h=Math.round(o*.1);if(u=Math.min(u,h),d=Math.min(d,h),f=Math.min(f,m),p=Math.min(p,m),n.type===`drag`){if(a._temporaryRemoved)return;a._prevYPix=i.position.top,this.opts.draggable.scroll!==!1&&r.dragElement?.updateScrollPosition(this.el);let e=i.position.left+(i.position.left>a._lastUiPosition.left?-d:u),t=i.position.top+(i.position.top>a._lastUiPosition.top?-p:f);c.x=Math.round(e/o),c.y=Math.round(t/s);let n=this._extraDragRow;if(this.engine.collide(a,c)){let e=this.getRow(),t=Math.max(0,c.y+a.h-e);this.opts.maxRow&&e+t>this.opts.maxRow&&(t=Math.max(0,this.opts.maxRow-e)),this._extraDragRow=t}else this._extraDragRow=0;if(this._extraDragRow!==n&&this._updateContainerHeight(),a.x===c.x&&a.y===c.y)return}else if(n.type===`resize`){if((c.x??0)<0||(e.updateScrollResize(n,t,s),c.w=Math.round((i.size.width-u)/o),c.h=Math.round((i.size.height-f)/s),a.w===c.w&&a.h===c.h)||a._lastTried&&a._lastTried.w===c.w&&a._lastTried.h===c.h)return;if(n.hasMovedX){let e=i.position.left+u;c.x=Math.round(e/o)}if(n.hasMovedY){let e=i.position.top+f;c.y=Math.round(e/s)}l=!0}a._event=n,a._lastTried=c;let g={x:i.position.left+u,y:i.position.top+f,w:(i.size?i.size.width:a.w*o)-u-d,h:(i.size?i.size.height:a.h*s)-f-p};if(this.engine.moveNodeCheck(a,{...c,cellWidth:o,cellHeight:s,rect:g,resizing:l})){a._lastUiPosition=i.position,this.engine.cacheRects(o,s,f,d,p,u),delete a._skipDown,l&&a.subGrid&&a.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let e=n.target;a._sidebarOrig||this._writePosAttr(e,a),this.triggerEvent(n,e)}}triggerEvent(e,t){let n=this;for(;n.parentGridNode;)n=n.parentGridNode.grid;n._gsEventHandler[e.type]&&n._gsEventHandler[e.type](e,t)}_leave(e,t){t||=e;let n=t.gridstackNode;if(!n||(t.style.transform=t.style.transformOrigin=``,x.off(e,`drag`),n._temporaryRemoved))return;n._temporaryRemoved=!0,this.engine.removeNode(n),n.el=n._isExternal&&t?t:e;let r=n._sidebarOrig;n._isExternal&&this.engine.cleanupNode(n),n._sidebarOrig=r,this.opts.removable===!0&&a._itemRemoving(e,!0),e._gridstackNodeOrig?(e.gridstackNode=e._gridstackNodeOrig,delete e._gridstackNodeOrig):n._isExternal&&this.engine.restoreInitial()}};S.renderCB=(e,t)=>{e&&t?.content&&(e.textContent=t.content)},S.resizeToContentParent=`.grid-stack-item-content`,S.Utils=e,S.Engine=t,S.GDRev=`13.1.1`;export{S as t};
|
|
3
|
+
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`),r)}static addGrid(t,n={}){if(!t)return null;let r=t;if(r.gridstack){let e=r.gridstack;return n&&(e.opts={...e.opts,...n}),n.children!==void 0&&e.load(n.children),e}return(!t.classList.contains(`grid-stack`)||a.addRemoveCB)&&(r=a.addRemoveCB?a.addRemoveCB(t,n,!0,!0):e.createDiv([`grid-stack`,n.class],t)),a.init(n,r)}static registerEngine(e){a.engineClass=e}get placeholder(){if(!this._placeholder){this._placeholder=e.createDiv([this.opts.placeholderClass,n.itemClass,this.opts.itemClass]);let t=e.createDiv([`placeholder-content`],this._placeholder);this.opts.placeholderText&&(t.textContent=this.opts.placeholderText)}return this._placeholder}constructor(o,s={}){this.el=o,this.opts=s,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},o.gridstack=this,this.opts=s||={},o.classList.contains(`grid-stack`)||this.el.classList.add(`grid-stack`),s.row&&(s.minRow=s.maxRow=s.row,delete s.row);let c=e.toNumber(o.getAttribute(`gs-row`));s.column===`auto`&&delete s.column,s.alwaysShowResizeHandle!==void 0&&(s._alwaysShowResizeHandle=s.alwaysShowResizeHandle);let l=s.columnOpts;if(l){let e=l.breakpoints;!l.columnWidth&&!e?.length?delete s.columnOpts:e&&e.length>1?(e.sort((e,t)=>(t.w||0)-(e.w||0)),delete l.columnWidth):l.columnMax=l.columnMax||12}let u={...e.cloneDeep(n),column:e.toNumber(o.getAttribute(`gs-column`))||n.column,minRow:c||e.toNumber(o.getAttribute(`gs-min-row`))||n.minRow,maxRow:c||e.toNumber(o.getAttribute(`gs-max-row`))||n.maxRow,staticGrid:e.toBool(o.getAttribute(`gs-static`))||n.staticGrid,sizeToContent:e.toBool(o.getAttribute(`gs-size-to-content`))||void 0,draggable:{handle:(s.handleClass?`.`+s.handleClass:s.handle?s.handle:``)||n.draggable.handle},removableOptions:{accept:s.itemClass||n.removableOptions.accept,decline:n.removableOptions.decline}};o.getAttribute(`gs-animate`)&&(u.animate=e.toBool(o.getAttribute(`gs-animate`))),s=e.defaults(s,u),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(s),s.rtl===`auto`&&(s.rtl=o.style.direction===`rtl`),s.rtl&&this.el.classList.add(`grid-stack-rtl`),s.printMode===`exact`?this.el.classList.add(`gs-print-exact`):this.el.classList.add(`gs-print-flow`);let d=this.el.closest(`.`+n.itemClass)?.gridstackNode;if(d&&(d.subGrid=this,this.parentGridNode=d,this.el.classList.add(`grid-stack-nested`),d.el.classList.add(`grid-stack-sub-grid`)),this._isAutoCellHeight=s.cellHeight===`auto`,this._isAutoCellHeight||s.cellHeight===`initial`)this.cellHeight(void 0);else{typeof s.cellHeight==`number`&&s.cellHeightUnit&&s.cellHeightUnit!==n.cellHeightUnit&&(s.cellHeight+=s.cellHeightUnit,delete s.cellHeightUnit);let e=s.cellHeight;delete s.cellHeight,this.cellHeight(e)}s.alwaysShowResizeHandle===`mobile`&&(s.alwaysShowResizeHandle=i),this._setStaticClass();let f=s.engineClass||a.engineClass||t;if(this.engine=new f({column:this.getColumn(),float:s.float,maxRow:s.maxRow,onChange:e=>{e.forEach(e=>{let t=e.el;t&&(e._removeDOM?(t&&t.remove(),delete e._removeDOM):this._writePosAttr(t,e))}),this._updateContainerHeight()}}),s.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(e=>this._prepareElement(e)),delete this.engine._loading,this.batchUpdate(!1)),s.children){let e=s.children;delete s.children,e.length&&this.load(e)}this.setAnimation(),s.subGridDynamic&&!r.pauseDrag&&(r.pauseDrag=!0),s.draggable?.pause!==void 0&&(r.pauseDrag=s.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(e=this.opts){this.el.classList.add(`gs-`+e.column),typeof e.column==`number`&&(this.el.style.setProperty(`--gs-column-width`,`${100/e.column}%`),this.el.style.setProperty(`--gs-columns`,String(e.column)))}addWidget(t){if(!t)return;if(typeof t==`string`){console.error(`V11: GridStack.addWidget() does not support string anymore. see #2736`);return}if(t.ELEMENT_NODE)return console.error(`V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()`),this.makeWidget(t);let n,r=t;if(r.grid=this,n=r.el?r.el:a.addRemoveCB?a.addRemoveCB(this.el,t,!0,!1):this.createWidgetDivs(r),!n)return;if(r=n.gridstackNode,r&&n.parentElement===this.el&&this.engine.nodes.find(e=>e._id===r._id))return n;let i=this._readAttr(n);return e.defaults(t,i),this.engine.prepareNode(t),this.el.appendChild(n),this.makeWidget(n,t),n}createWidgetDivs(t){let n=e.createDiv([`grid-stack-item`,this.opts.itemClass]),r=e.createDiv([`grid-stack-item-content`],n);return e.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([e])=>{e.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,a.renderCB(r,t),t.grid?.prepareDragDrop(t.el))}),window.setTimeout(()=>t.visibleObservable?.observe(n))):a.renderCB(r,t),n}makeSubGrid(t,n,r,i=!0){let o=t.gridstackNode;if(o||=this.makeWidget(t).gridstackNode,o.subGrid?.el)return o.subGrid;let s,c=this;for(;c&&!s;)s=c.opts?.subGridOpts,c=c.parentGridNode?.grid;n=e.cloneDeep({...this.opts,id:void 0,children:void 0,column:`auto`,columnOpts:void 0,layout:`list`,subGridOpts:void 0,...s||{},...n||o.subGridOpts||{}}),o.subGridOpts=n;let l=!1;n.column===`auto`&&(l=!0,n.column=Math.max(o.w||1,r?.w||1),delete n.columnOpts);let u=o.el.querySelector(`.grid-stack-item-content`),d,f;if(i&&(this._removeDD(o.el),f={...o,x:0,y:0},e.removeInternalForSave(f),delete f.subGridOpts,o.content&&(f.content=o.content,delete o.content),a.addRemoveCB?d=a.addRemoveCB(this.el,f,!0,!1)||void 0:(d=e.createDiv([`grid-stack-item`]),d.appendChild(u),u=e.createDiv([`grid-stack-item-content`],o.el)),this.prepareDragDrop(o.el)),r){let e=l?n.column:o.w,t=o.h+r.h,i=o.el.style;i.transition=`none`,this.update(o.el,{w:e,h:t}),setTimeout(()=>i.transition=``)}let p=o.subGrid=a.addGrid(u,n)||void 0;return r?._moving&&(p._isTemp=!0),l&&(p._autoColumn=!0),i&&p.makeWidget(d,f),r&&(r._moving?window.setTimeout(()=>e.simulateMouseEvent(r._event,`mouseenter`,p.el),0):p.makeWidget(o.el,o)),this.resizeToContentCheck(!1,o),p}removeAsSubGrid(t){let n=this.parentGridNode?.grid;if(n&&(n.batchUpdate(),n.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(e=>{e.x=(e.x??0)+(this.parentGridNode.x??0),e.y=(e.y??0)+(this.parentGridNode.y??0),this._removeDD(e.el),e.el.remove(),delete e.el.gridstackNode,n.makeWidget(e.el,e)}),n.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,t)){let i=t.el?.gridstackNode;i&&i!==t&&(i._temporaryRemoved=!0),window.setTimeout(()=>{let i=r.dragElement?.lastDrag||t._event;i&&e.simulateMouseEvent(i,`mouseenter`,n.el)},0)}}save(t=!0,r=!1,i=a.saveCB,o){let s=this.engine.save(t,i,o);if(s.forEach(e=>{if(t&&e.el&&!e.subGrid&&!i)e.content=e.el.querySelector(`.grid-stack-item-content`)?.innerHTML,e.content||delete e.content;else if(!t&&!i&&delete e.content,e.subGrid?.el){let n=e.w||e.subGrid.getColumn(),a=e.subGrid.save(t,r,i,n);e.subGridOpts=r?a:{children:a},delete e.subGrid}delete e.el}),r){let t=e.cloneDeep(this.opts);t.marginBottom===t.marginTop&&t.marginRight===t.marginLeft&&t.marginTop===t.marginRight&&(t.margin=t.marginTop,delete t.marginTop,delete t.marginRight,delete t.marginBottom,delete t.marginLeft),t.rtl===(this.el.style.direction===`rtl`)&&(t.rtl=`auto`),this._isAutoCellHeight&&(t.cellHeight=`auto`),this._autoColumn&&(t.column=`auto`);let r=t._alwaysShowResizeHandle;return delete t._alwaysShowResizeHandle,r===void 0?delete t.alwaysShowResizeHandle:t.alwaysShowResizeHandle=r,e.removeInternalAndSame(t,n),t.children=s,t}return s}load(t,n=a.addRemoveCB||!0){t.forEach(e=>{e.w=e.w||e.minW||1,e.h=e.h||e.minH||1}),t=e.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let r=0;t.forEach(e=>{r=Math.max(r,(e.x||0)+e.w)}),r>this.engine.defaultColumn&&(this.engine.defaultColumn=r);let i=this.getColumn();r>i&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(r,i,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,r,!0));let o=a.addRemoveCB;typeof n==`function`&&(a.addRemoveCB=n);let s=[];this.batchUpdate();let c=!this.engine.nodes.length,l=c&&this.opts.animate;l&&this.setAnimation(!1),!c&&n&&[...this.engine.nodes].forEach(n=>{n.id&&(e.find(t,n.id)||(a.addRemoveCB&&a.addRemoveCB(this.el,n,!1,!1),s.push(n),this.removeWidget(n.el,!0,!1)))}),this.engine._loading=!0;let u=[];return this.engine.nodes=this.engine.nodes.filter(n=>n.id&&e.find(t,n.id)?(u.push(n),!1):!0),t.forEach(t=>{let r=t.id?e.find(u,t.id):void 0;if(r){if(e.shouldSizeToContent(r)&&(t.h=r.h),this.engine.nodeBoundFix(t),(t.autoPosition||t.x===void 0||t.y===void 0)&&(t.w=t.w||r.w,t.h=t.h||r.h,this.engine.findEmptyPosition(t)),this.engine.nodes.push(r),e.samePos(r,t)&&this.engine.nodes.length>1&&(this.moveNode(r,{...t,forceCollide:!0}),e.copyPos(t,r)),this.update(r.el,t),t.subGridOpts?.children){let e=r.el.querySelector(`.grid-stack`);e&&e.gridstack&&e.gridstack.load(t.subGridOpts.children)}}else n&&this.addWidget(t)}),delete this.engine._loading,this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,o?a.addRemoveCB=o:delete a.addRemoveCB,l&&this.setAnimation(!0,!0),this}batchUpdate(e=!0){return this.engine.batchUpdate(e),e||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&this.opts.cellHeight!==`auto`&&(!t||!this.opts.cellHeightUnit||this.opts.cellHeightUnit===`px`))return this.opts.cellHeight;if(this.opts.cellHeightUnit===`rem`)return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit===`em`)return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit===`cm`)return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit===`mm`)return this.opts.cellHeight*(96/2.54)/10;let n=this.el.querySelector(`.`+this.opts.itemClass);if(n){let t=e.toNumber(n.getAttribute(`gs-h`))||1;return Math.round(n.offsetHeight/t)}let r=parseInt(this.el.getAttribute(`gs-current-row`)||`0`);return r?Math.round(this.el.getBoundingClientRect().height/r):this.opts.cellHeight}cellHeight(t){if(t!==void 0&&this._isAutoCellHeight!==(t===`auto`)&&(this._isAutoCellHeight=t===`auto`,this._updateResizeEvent()),(t===`initial`||t===`auto`)&&(t=void 0),t===void 0){let e=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+e}let n=e.parseHeight(t);return this.opts.cellHeightUnit===n.unit&&this.opts.cellHeight===n.h?this:(this.opts.cellHeightUnit=n.unit,this.opts.cellHeight=n.h,this.el.style.setProperty(`--gs-cell-height`,`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(e=!1){return e&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let e=this.opts.columnOpts;if(!e||!e.columnWidth&&!e.breakpoints?.length)return!1;let t=this.getColumn(),n=t,r=this._widthOrContainer(!0);if(e.columnWidth)n=Math.min(Math.round(r/e.columnWidth)||1,e.columnMax);else{n=e.columnMax;let i=0;for(;i<e.breakpoints.length&&r<=e.breakpoints[i].w;)n=e.breakpoints[i++].c||t}if(n!==t){let t=e.breakpoints?.find(e=>e.c===n);return this.column(n,t?.layout||e.layout),!0}return!1}compact(e=`compact`,t=!0){return this.engine.compact(e,t),this._triggerChangeEvent(),this}column(e,t=`moveScale`){if(!e||e<1||this.opts.column===e)return this;let n=this.getColumn();return this.opts.column=e,this.engine?(this.engine.column=e,this.el.classList.remove(`gs-`+n),this._updateColumnVar(),this.engine.columnChanged(n,e,t),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=t,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(e=>e.matches(`.`+this.opts.itemClass)&&!e.matches(`.`+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(e=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),e?this.el.parentNode.removeChild(this.el):(this.removeAll(e),this.el.removeAttribute(`gs-current-row`)),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(e){return this.opts.float!==e&&(this.opts.float=this.engine.float=e,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(e,t=!1){let n=this.el.getBoundingClientRect(),r;r=t?{top:n.top+document.documentElement.scrollTop,left:n.left}:{top:this.el.offsetTop,left:this.el.offsetLeft};let i=e.left-r.left,a=e.top-r.top,o=n.width/this.getColumn(),s=n.height/parseInt(this.el.getAttribute(`gs-current-row`)||`0`);return{x:Math.floor(i/o),y:Math.floor(a/s)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(e,t,n,r){return this.engine.isAreaEmpty(e,t,n,r)}makeWidget(e,t){let n=a.getElement(e);if(!n||n.gridstackNode)return n;n.parentElement||this.el.appendChild(n),this._prepareElement(n,!0,t);let r=n.gridstackNode;this._updateContainerHeight(),r.subGridOpts&&this.makeSubGrid(n,r.subGridOpts,void 0,!1);let i=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(i=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),i&&delete this._ignoreLayoutsNodeChange,n}on(e,t){return e.indexOf(` `)===-1?(e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`?(e===`enable`||e===`disable`?this._gsEventHandler[e]=e=>t(e):this._gsEventHandler[e]=(e=>{e.detail&&t(e,e.detail)}),this.el.addEventListener(e,this._gsEventHandler[e])):e===`drag`||e===`dragstart`||e===`dragstop`||e===`resizestart`||e===`resize`||e===`resizestop`||e===`dropped`||e===`resizecontent`?this._gsEventHandler[e]=t:console.error(`GridStack.on(`+e+`) event not supported`),this):(e.split(` `).forEach(e=>this.on(e,t)),this)}off(e){return e.indexOf(` `)===-1?((e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`)&&this._gsEventHandler[e]&&this.el.removeEventListener(e,this._gsEventHandler[e]),delete this._gsEventHandler[e],this):(e.split(` `).forEach(e=>this.off(e)),this)}offAll(){return Object.keys(this._gsEventHandler).forEach(e=>this.off(e)),this}removeWidget(e,t=!0,n=!0){return e?(a.getElements(e).forEach(e=>{if(e.parentElement&&e.parentElement!==this.el)return;let r=e.gridstackNode;r||=this.engine.nodes.find(t=>e===t.el),r&&(t&&a.addRemoveCB&&a.addRemoveCB(this.el,r,!1,!1),delete e.gridstackNode,this._removeDD(e),this.engine.removeNode(r,t,n),t&&e.parentElement&&e.remove())}),n&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error(`Error: GridStack.removeWidget(undefined) called`),this)}removeAll(e=!0,t=!0){return this.engine.nodes.forEach(t=>{e&&a.addRemoveCB&&a.addRemoveCB(this.el,t,!1,!1),delete t.el.gridstackNode,this.opts.staticGrid||this._removeDD(t.el)}),this.engine.removeAll(e,t),t&&this._triggerRemoveEvent(),this}setAnimation(e=this.opts.animate,t){return t?setTimeout(()=>{this.opts&&this.setAnimation(e)}):e?this.el.classList.add(`grid-stack-animate`):this.el.classList.remove(`grid-stack-animate`),this.opts.animate=e,this}hasAnimationCSS(){return this.el.classList.contains(`grid-stack-animate`)}setStatic(e,t=!0,n=!0){return!!this.opts.staticGrid===e?this:(e?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(r=>{this.prepareDragDrop(r.el),r.subGrid&&n&&r.subGrid.setStatic(e,t,n)}),t&&this._setStaticClass(),this)}updateOptions(e){let t=this.opts;if(e===t)return this;if(e.acceptWidgets!==void 0&&(t.acceptWidgets=e.acceptWidgets,this._setupAcceptWidget()),e.animate!==void 0&&this.setAnimation(e.animate),e.cellHeight&&this.cellHeight(e.cellHeight),e.class!==void 0&&e.class!==t.class&&(t.class&&this.el.classList.remove(t.class),e.class&&this.el.classList.add(e.class)),e.columnOpts){let t=!!this.opts.columnOpts;this.opts.columnOpts=e.columnOpts,t!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else e.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof e.column==`number`&&this.column(e.column);return e.margin!==void 0&&this.margin(e.margin),e.staticGrid!==void 0&&this.setStatic(e.staticGrid),e.disableDrag!==void 0&&!e.staticGrid&&this.enableMove(!e.disableDrag),e.disableResize!==void 0&&!e.staticGrid&&this.enableResize(!e.disableResize),e.float!==void 0&&this.float(e.float),e.row===void 0?(e.minRow!==void 0&&(t.minRow=e.minRow,this._updateContainerHeight()),e.maxRow!==void 0&&(t.maxRow=this.engine.maxRow=e.maxRow,this.engine.getRow()>e.maxRow&&this.compact())):(t.minRow=t.maxRow=this.engine.maxRow=t.row=e.row,this._updateContainerHeight(),this.engine.getRow()>e.row&&this.compact()),e.lazyLoad!==void 0&&(t.lazyLoad=e.lazyLoad),e.children?.length&&this.load(e.children),this}update(t,n){return a.getElements(t).forEach(t=>{let r=t?.gridstackNode;if(!r)return;let i={...e.copyPos({},r),...e.cloneDeep(n)};this.engine.nodeBoundFix(i),delete i.autoPosition;let o=[`x`,`y`,`w`,`h`],s,c=i,l=r;if(o.some(e=>c[e]!==void 0&&c[e]!==l[e])){s={};let e=s;o.forEach(t=>{e[t]=c[t]===void 0?l[t]:c[t],delete c[t]})}if(!s&&(i.minW||i.minH||i.maxW||i.maxH)&&(s={}),i.content!==void 0){let e=t.querySelector(`.grid-stack-item-content`);e&&e.textContent!==i.content&&(r.content=i.content,a.renderCB(e,i),r.subGrid?.el&&(e.appendChild(r.subGrid.el),r.subGrid._updateContainerHeight())),delete i.content}let u=!1,d=!1;for(let e in c)e[0]!==`_`&&l[e]!==c[e]&&(l[e]=c[e],u=!0,d||=!this.opts.staticGrid&&(e===`noResize`||e===`noMove`||e===`locked`));if(e.sanitizeMinMax(r),s){let e=s.w!==void 0&&s.w!==r.w;this.moveNode(r,s),e&&r.subGrid?r.subGrid.onResize(this.hasAnimationCSS()?r.w:void 0):this.resizeToContentCheck(e,r),delete r._orig}(s||u)&&this._writeAttr(t,r),d&&this.prepareDragDrop(r.el),a.updateCB&&a.updateCB(r)}),this}moveNode(e,t){let n=e._updating;n||this.engine.cleanNodes().beginUpdate(e),this.engine.moveNode(e,t),this._updateContainerHeight(),n||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(e){if(!e||(e.classList.remove(`size-to-content-max`),!e.clientHeight))return;let t=e.gridstackNode;if(!t)return;let n=t.grid;if(!n||e.parentElement!==n.el)return;let r=n.getCellHeight(!0);if(!r)return;let i=t.h?t.h*r:e.clientHeight,o=null;if(t.resizeToContentParent&&(o=e.querySelector(t.resizeToContentParent)),o||=e.querySelector(a.resizeToContentParent),!o)return;let s=e.clientHeight-o.clientHeight,c=t.h?t.h*r-s:o.clientHeight,l;if(t.subGrid){l=t.subGrid.getRow()*t.subGrid.getCellHeight(!0);let n=t.subGrid.el.getBoundingClientRect(),r=e.getBoundingClientRect();l+=n.top-r.top}else if(t.subGridOpts?.children?.length)return;else{let e=o.firstElementChild;if(!e){console.error(`Error: GridStack.resizeToContent() widget id:${t.id} '${a.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}l=e.getBoundingClientRect().height||c}if(c===l)return;i+=l-c;let u=Math.ceil(i/r),d=Number.isInteger(t.sizeToContent)?t.sizeToContent:0;d&&u>d&&(u=d,e.classList.add(`size-to-content-max`)),t.minH&&u<t.minH?u=t.minH:t.maxH&&u>t.maxH&&(u=t.maxH),u!==t.h&&(n._ignoreLayoutsNodeChange=!0,n.moveNode(t,{h:u}),delete n._ignoreLayoutsNodeChange)}resizeToContentCBCheck(e){a.resizeToContentCB?a.resizeToContentCB(e):this.resizeToContent(e)}rotate(t,n){return a.getElements(t).forEach(t=>{let r=t.gridstackNode;if(!r||!e.canBeRotated(r))return;let i={w:r.h,h:r.w,minH:r.minW,minW:r.minH,maxH:r.maxW,maxW:r.maxH};if(n){let e=n.left>0?Math.floor(n.left/this.cellWidth()):0,t=n.top>0?Math.floor(n.top/this.opts.cellHeight):0;i.x=r.x+e-(r.h-(t+1)),i.y=r.y+t-e}let a=i;Object.keys(a).forEach(e=>{a[e]===void 0&&delete a[e]});let o=r._orig;this.update(t,i),r._orig=o}),this}margin(t){if(!(typeof t==`string`&&t.split(` `).length>1)){let n=e.parseHeight(t);if(this.opts.marginUnit===n.unit&&this.opts.margin===n.h)return this}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(e){return this.engine.willItFit(e)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let e=this.engine.getDirtyNodes(!0);return e&&e.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(e),this._triggerEvent(`change`,e)),this.engine.saveInitial(),this._sortDom(),this}_sortDom(){let e=this.engine.nodes;if(e.forEach(e=>{e.subGrid&&e.subGrid._sortDom()}),e.length<2)return this;this.engine.sortNodes(),e=this.engine.nodes;let t=this.el.children;return e.some((e,n)=>e.el!==t[n])&&e.forEach(e=>{e.el&&e.el.parentElement===this.el&&this.el.appendChild(e.el)}),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(e=>{delete e._dirty});let e=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent(`added`,e)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let e=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent(`removed`,e)}return this}_triggerEvent(e,t){let n=t?new CustomEvent(e,{bubbles:!1,detail:t}):new Event(e),r=this;for(;r.parentGridNode;)r=r.parentGridNode.grid;return r.el.dispatchEvent(n),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let t=this.parentGridNode,n=this.getRow()+this._extraDragRow,r=this.opts.cellHeight,i=this.opts.cellHeightUnit;if(!r)return this;if(!t&&!this.opts.minRow){let t=e.parseHeight(getComputedStyle(this.el).minHeight);if(t.h>0&&t.unit===i){let e=Math.floor(t.h/r);n<e&&(n=e)}}return this.el.setAttribute(`gs-current-row`,String(n)),this.el.style.removeProperty(`min-height`),this.el.style.removeProperty(`height`),n&&(this.el.style[t?`minHeight`:`height`]=n*r+i),t&&e.shouldSizeToContent(t)&&t.grid.resizeToContentCBCheck(t.el),this}_prepareElement(t,r=!1,i){i||=this._readAttr(t),t.gridstackNode=i,i.el=t,i.grid=this,i=this.engine.addNode(i,r),this._writeAttr(t,i),t.classList.add(n.itemClass,this.opts.itemClass);let a=e.shouldSizeToContent(i);return a?t.classList.add(`size-to-content`):t.classList.remove(`size-to-content`),a&&this.resizeToContentCheck(!1,i),(!e.lazyLoad(i)||!i.visibleObservable)&&this.prepareDragDrop(i.el),this}_writePosAttr(e,t){if(!t._moving&&!t._resizing||this._placeholder===e){let n=this.opts.rtl?`right`:`left`,r=e.style;r.top=t.y?t.y===1?`var(--gs-cell-height)`:`calc(${t.y} * var(--gs-cell-height))`:null,r[n]=t.x?t.x===1?`var(--gs-column-width)`:`calc(${t.x} * var(--gs-column-width))`:null,r.width=t.w>1?`calc(${t.w} * var(--gs-column-width))`:null,r.height=t.h>1?`calc(${t.h} * var(--gs-cell-height))`:null}return e.style.setProperty(`--gs-x`,String(t.x||0)),e.style.setProperty(`--gs-y`,String(t.y||0)),e.style.setProperty(`--gs-w`,String(t.w||1)),e.style.setProperty(`--gs-h`,String(t.h||1)),e.setAttribute(`gs-x`,String(t.x??0)),e.setAttribute(`gs-y`,String(t.y??0)),t.w>1?e.setAttribute(`gs-w`,String(t.w)):e.removeAttribute(`gs-w`),t.h>1?e.setAttribute(`gs-h`,String(t.h)):e.removeAttribute(`gs-h`),this}_writeAttr(e,t){if(!t)return this;this._writePosAttr(e,t);let n={noResize:`gs-no-resize`,noMove:`gs-no-move`,locked:`gs-locked`,id:`gs-id`,sizeToContent:`gs-size-to-content`},r=t,i=n;for(let t in i)r[t]!==void 0&&r[t]!==null&&r[t]!==!1?e.setAttribute(i[t],String(r[t])):e.removeAttribute(i[t]);return t.print?(t.print.pageBreak?e.setAttribute(`gs-page-break`,String(t.print.pageBreak)):e.removeAttribute(`gs-page-break`),t.print.hide?e.setAttribute(`gs-print-hide`,String(t.print.hide)):e.removeAttribute(`gs-print-hide`),t.print.orientation?e.setAttribute(`gs-print-orientation`,String(t.print.orientation)):e.removeAttribute(`gs-print-orientation`)):(e.removeAttribute(`gs-page-break`),e.removeAttribute(`gs-print-hide`),e.removeAttribute(`gs-print-orientation`)),this}_readAttr(t,n=!0){let r={};r.x=e.toNumber(t.getAttribute(`gs-x`)),r.y=e.toNumber(t.getAttribute(`gs-y`)),r.w=e.toNumber(t.getAttribute(`gs-w`)),r.h=e.toNumber(t.getAttribute(`gs-h`)),r.autoPosition=e.toBool(t.getAttribute(`gs-auto-position`)),r.noResize=e.toBool(t.getAttribute(`gs-no-resize`)),r.noMove=e.toBool(t.getAttribute(`gs-no-move`)),r.locked=e.toBool(t.getAttribute(`gs-locked`));let i=t.getAttribute(`gs-page-break`),a=t.getAttribute(`gs-print-hide`),o=t.getAttribute(`gs-print-orientation`);(i||a||o)&&(r.print={},i&&(r.print.pageBreak=e.toBool(i)),a&&(r.print.hide=e.toBool(a)),o&&(r.print.orientation=o));let s=t.getAttribute(`gs-size-to-content`);s&&(s===`true`||s===`false`?r.sizeToContent=e.toBool(s):r.sizeToContent=parseInt(s,10)),r.id=t.getAttribute(`gs-id`)??void 0,r.maxW=e.toNumber(t.getAttribute(`gs-max-w`)),r.minW=e.toNumber(t.getAttribute(`gs-min-w`)),r.maxH=e.toNumber(t.getAttribute(`gs-max-h`)),r.minH=e.toNumber(t.getAttribute(`gs-min-h`)),n&&(r.w===1&&t.removeAttribute(`gs-w`),r.h===1&&t.removeAttribute(`gs-h`),r.maxW&&t.removeAttribute(`gs-max-w`),r.minW&&t.removeAttribute(`gs-min-w`),r.maxH&&t.removeAttribute(`gs-max-h`),r.minH&&t.removeAttribute(`gs-min-h`));let c=r;for(let e in c)r.hasOwnProperty(e)&&!c[e]&&c[e]!==0&&e!==`sizeToContent`&&delete c[e];return r}_setStaticClass(){let e=[`grid-stack-static`];return this.opts.staticGrid?(this.el.classList.add(...e),this.el.setAttribute(`gs-static`,`true`)):(this.el.classList.remove(...e),this.el.removeAttribute(`gs-static`)),this}onResize(e=this.el?.clientWidth){if(!e||this.prevWidth===e)return this;this.prevWidth=e,this.batchUpdate();let t=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||`list`),t=!0):t=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(e=>{e.subGrid&&e.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(t),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(t=!1,n){if(!this.engine)return;if(t&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,n),this.animationDelay);return}if(n)e.shouldSizeToContent(n)&&this.resizeToContentCBCheck(n.el);else if(this.engine.nodes.some(t=>e.shouldSizeToContent(t))){let t=[...this.engine.nodes];this.batchUpdate(),t.forEach(t=>{e.shouldSizeToContent(t)&&this.resizeToContentCBCheck(t.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let r=this._gsEventHandler.resizecontent;r&&r(new Event(`resizecontent`),n?[n]:this.engine.nodes)}_updateResizeEvent(t=!1){let n=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(e=>e.sizeToContent));return!t&&n&&!this.resizeObserver?(this._sizeThrottle=e.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(t||!n)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(t=`.grid-stack-item`){return e.getElement(t)}static getElements(t=`.grid-stack-item`){return e.getElements(t)}static getGridElement(e){return a.getElement(e)}static getGridElements(t){return e.getElements(t)}_initMargin(){let t={h:0,unit:`px`},n=0,r=[];typeof this.opts.margin==`string`&&(r=this.opts.margin.split(` `)),r.length===2?(this.opts.marginTop=this.opts.marginBottom=r[0],this.opts.marginLeft=this.opts.marginRight=r[1]):r.length===4?(this.opts.marginTop=r[0],this.opts.marginRight=r[1],this.opts.marginBottom=r[2],this.opts.marginLeft=r[3]):(t=e.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,n=this.opts.margin=t.h);let i=[`marginTop`,`marginRight`,`marginBottom`,`marginLeft`],a=this.opts;i.forEach(r=>{a[r]===void 0?a[r]=n:(t=e.parseHeight(a[r]),a[r]=t.h,delete this.opts.margin)}),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let o=this.el.style;return o.setProperty(`--gs-item-margin-top`,`${this.opts.marginTop}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-bottom`,`${this.opts.marginBottom}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-right`,`${this.opts.marginRight}${this.opts.marginUnit}`),o.setProperty(`--gs-item-margin-left`,`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return x}static setupDragIn(t,n,i,a=document){n?.pause!==void 0&&(r.pauseDrag=n.pause),n={appendTo:`body`,helper:`clone`,...n||{}},(typeof t==`string`?e.getElements(t,a):t).forEach((e,t)=>{x.isDraggable(e)||x.dragIn(e,n),i?.[t]&&(e.gridstackNode=i[t])})}movable(e,t){return this.opts.staticGrid||a.getElements(e).forEach(e=>{let n=e.gridstackNode;n&&(t?delete n.noMove:n.noMove=!0,this.prepareDragDrop(n.el))}),this}resizable(e,t){return this.opts.staticGrid||a.getElements(e).forEach(e=>{let n=e.gridstackNode;n&&(t?delete n.noResize:n.noResize=!0,this.prepareDragDrop(n.el))}),this}disable(e=!0){return this.opts.staticGrid?this:(this.enableMove(!1,e),this.enableResize(!1,e),this._triggerEvent(`disable`),this)}enable(e=!0){return this.opts.staticGrid?this:(this.enableMove(!0,e),this.enableResize(!0,e),this._triggerEvent(`enable`),this)}enableMove(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableMove(e,t)}),this)}enableResize(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableResize(e,t)}),this)}cancelDrag(){let e=r.dragElement?.el;if(e?._gridstackNodeOrig){let t=e._gridstackNodeOrig,n=t.grid,i=this._placeholder?.gridstackNode;i&&(i._isAboutToRemove=!0,this.engine.removeNode(i)),this.engine.restoreInitial(),e.gridstackNode=t,delete e._gridstackNodeOrig,delete r.dropElement,n&&(n.engine.addNode(t,!1),n.engine.restoreInitial());return}let t=this._placeholder?.gridstackNode;t&&(t._isExternal?(t._isAboutToRemove=!0,this.engine.removeNode(t)):t._isAboutToRemove&&a._itemRemoving(t.el,!1),this.engine.restoreInitial())}_removeDD(e){return x.draggable(e,`destroy`).resizable(e,`destroy`),e.gridstackNode&&delete e.gridstackNode._initDD,delete e.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return x.droppable(this.el,`destroy`),this;let t,n,r=(r,i,a)=>{a||=i;let o=a.gridstackNode;if(!o)return;if(!o.grid?.el){a.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let e=a.getBoundingClientRect();a.style.left=e.x+(this.dragTransform.xScale-1)*(r.clientX-e.x)/this.dragTransform.xScale+`px`,a.style.top=e.y+(this.dragTransform.yScale-1)*(r.clientY-e.y)/this.dragTransform.yScale+`px`,a.style.transformOrigin=`0px 0px`}let{top:s,left:c}=a.getBoundingClientRect(),l=this.el.getBoundingClientRect();c-=l.left,s-=l.top;let u={position:{top:s*this.dragTransform.xScale,left:c*this.dragTransform.yScale}};if(o._temporaryRemoved){if(o.x=Math.max(0,Math.round(c/n)),o.y=Math.max(0,Math.round(s/t)),delete o.autoPosition,this.engine.nodeBoundFix(o),!this.engine.willItFit(o)){if(o.autoPosition=!0,!this.engine.willItFit(o)){x.off(i,`drag`);return}o._willFitPos&&(e.copyPos(o,o._willFitPos),delete o._willFitPos)}this._onStartMoving(a,r,u,o,n,t)}else this._dragOrResize(a,r,u,o,n,t)};return x.droppable(this.el,{accept:e=>{let t=e.gridstackNode||this._readAttr(e,!1);if(t?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let n=!0;if(typeof this.opts.acceptWidgets==`function`)n=this.opts.acceptWidgets(e);else{let t=this.opts.acceptWidgets===!0?`.grid-stack-item`:this.opts.acceptWidgets;n=e.matches(t)}if(n&&t&&this.opts.maxRow){let e={w:t.w,h:t.h,minW:t.minW,minH:t.minH};n=this.engine.willItFit(e)}return n}}).on(this.el,`dropover`,(e,i,o)=>{let s=o?.gridstackNode||i.gridstackNode;if(s?.grid===this&&!s._temporaryRemoved)return!1;if(s?._sidebarOrig&&(s.w=s._sidebarOrig.w,s.h=s._sidebarOrig.h),s?.grid&&s.grid!==this&&!s._temporaryRemoved&&s.grid._leave(i,o),o||=i,n=this.cellWidth(),t=this.getCellHeight(!0),!s){let e=o.getAttribute(`data-gs-widget`)||o.getAttribute(`gridstacknode`);if(e){try{s=JSON.parse(e)}catch{console.error(`Gridstack dropover: Bad JSON format: `,e)}o.removeAttribute(`data-gs-widget`),o.removeAttribute(`gridstacknode`)}s||=this._readAttr(o),s._sidebarOrig={w:s.w,h:s.h}}s.grid||(s.el||(s={...s}),s._isExternal=!0,o.gridstackNode=s);let c=s.w||Math.round(o.offsetWidth/n)||1,l=s.h||Math.round(o.offsetHeight/t)||1;return s.grid&&s.grid!==this?(i._gridstackNodeOrig||=s,i.gridstackNode=s={...s,w:c,h:l,grid:this},delete s.x,delete s.y,this.engine.cleanupNode(s).nodeBoundFix(s),s._initDD=s._isExternal=s._temporaryRemoved=!0):(s.w=c,s.h=l,s._temporaryRemoved=!0),a._itemRemoving(s.el,!1),x.on(i,`drag`,r),r(e,i,o),!1}).on(this.el,`dropout`,(e,t,n)=>{let r=n?.gridstackNode||t.gridstackNode;return r&&(!r.grid||r.grid===this)&&(this._leave(t,n),this._isTemp&&this.removeAsSubGrid(r)),!1}).on(this.el,`drop`,(t,n,r)=>{let i=r?.gridstackNode||n.gridstackNode;if(i?.grid===this&&!i._isExternal)return!1;let o=!!this.placeholder.parentElement,s=n!==r;this.placeholder.remove(),delete this.placeholder.gridstackNode,o&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let c=n._gridstackNodeOrig;if(delete n._gridstackNodeOrig,o&&c?.grid&&c.grid!==this){let e=c.grid;e.engine.removeNodeFromLayoutCache(c),e.engine.removedNodes.push(c),e._triggerRemoveEvent()._triggerChangeEvent(),e.parentGridNode&&!e.engine.nodes.length&&e.opts.subGridDynamic&&e.removeAsSubGrid()}if(!i||(o&&(this.engine.cleanupNode(i),i.grid=this),delete i.grid?._isTemp,x.off(n,`drag`),r&&r!==n?(r.remove(),n=r):n.remove(),this._removeDD(n),!o))return!1;let l=i.subGrid?.el?.gridstack;return e.copyPos(i,this._readAttr(this.placeholder)),e.removePositioningStyles(n),s&&(i.content||i.subGridOpts||a.addRemoveCB)?(delete i.el,n=this.addWidget(i)||n):(this._prepareElement(n,!0,i),this.el.appendChild(n),this.resizeToContentCheck(!1,i),l&&(l.parentGridNode=i),this._updateContainerHeight()),this.engine.addedNodes.push(i),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped({...t,type:`dropped`},c&&c.grid?c:void 0,i),!1}),this}static _itemRemoving(e,t){if(!e)return;let n=e?e.gridstackNode:void 0;!n?.grid||e.classList.contains(n.grid.opts.removableOptions.decline)||(t?n._isAboutToRemove=!0:delete n._isAboutToRemove,t?e.classList.add(`grid-stack-item-removing`):e.classList.remove(`grid-stack-item-removing`))}_setupRemoveDrop(){if(typeof this.opts.removable!=`string`)return this;let e=document.querySelector(this.opts.removable);return e&&!this.opts.staticGrid&&!x.isDroppable(e)&&x.droppable(e,this.opts.removableOptions).on(e,`dropover`,(e,t)=>a._itemRemoving(t,!0)).on(e,`dropout`,(e,t)=>a._itemRemoving(t,!1)),this}refreshDragHandles(e){return a.getElements(e).forEach(e=>{e.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(t,n=!1){let r=t?.gridstackNode;if(!r)return this;let i=r.noMove||this.opts.disableDrag,a=r.noResize||this.opts.disableResize,o=this.opts.staticGrid||i&&a;if((n||o)&&(r._initDD&&(this._removeDD(t),delete r._initDD),o))return t.classList.add(`ui-draggable-disabled`,`ui-resizable-disabled`),this;if(!r._initDD){let n,i,a=(e,a)=>{this.triggerEvent(e,e.target),n=this.cellWidth(),i=this.getCellHeight(!0),this._onStartMoving(t,e,a,r,n,i)},o=(e,a)=>{this._dragOrResize(t,e,a,r,n,i)},s=n=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete r._moving,delete r._resizing,delete r._event,delete r._lastTried;let i=r.w!==r._orig.w,a=n.target;if(!(!a.gridstackNode||a.gridstackNode.grid!==this)){if(r.el=a,r._isAboutToRemove){let e=t.gridstackNode.grid;e._gsEventHandler[n.type]&&e._gsEventHandler[n.type](n,a),e.engine.nodes.push(r),e.removeWidget(t,!0,!0)}else e.removePositioningStyles(a),r._temporaryRemoved?(this._writePosAttr(a,r),this.engine.addNode(r)):this._writePosAttr(a,r),this.triggerEvent(n,a);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),n.type===`resizestop`&&(Number.isInteger(r.sizeToContent)&&(r.sizeToContent=r.h),this.resizeToContentCheck(i,r))}};x.draggable(t,{start:a,stop:s,drag:o,rtl:this.opts.rtl===`auto`?void 0:this.opts.rtl}).resizable(t,{start:a,stop:s,resize:o,rtl:this.opts.rtl===`auto`?void 0:this.opts.rtl}),r._initDD=!0}return x.draggable(t,i?`disable`:`enable`).resizable(t,a?`disable`:`enable`),this}_onStartMoving(t,n,r,i,a,o){if(this.engine.cleanNodes().beginUpdate(i),this._writePosAttr(this.placeholder,i),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=i,i.grid?.el)this.dragTransform=e.getValuesFromTransformedElement(t);else if(this.placeholder&&this.placeholder.closest(`.grid-stack`)){let t=this.placeholder.closest(`.grid-stack`);this.dragTransform=e.getValuesFromTransformedElement(t)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(i.el=this.placeholder,i._lastUiPosition=r.position,i._prevYPix=r.position.top,i._moving=n.type===`dragstart`,i._resizing=n.type===`resizestart`,delete i._lastTried,n.type===`dropover`&&i._temporaryRemoved&&(this.engine.addNode(i),i._moving=!0),this.engine.cacheRects(a,o,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),n.type===`resizestart`){let e=this.getColumn()-i.x,n=(this.opts.maxRow||2**53-1)-i.y;x.resizable(t,`option`,`minWidth`,a*Math.min(i.minW||1,e)).resizable(t,`option`,`minHeight`,o*Math.min(i.minH||1,n)).resizable(t,`option`,`maxWidth`,a*Math.min(i.maxW||2**53-1,e)).resizable(t,`option`,`maxWidthMoveLeft`,a*Math.min(i.maxW||2**53-1,i.x+i.w)).resizable(t,`option`,`maxHeight`,o*Math.min(i.maxH||2**53-1,n)).resizable(t,`option`,`maxHeightMoveUp`,o*Math.min(i.maxH||2**53-1,i.y+i.h))}}_dragOrResize(t,n,i,a,o,s){let c={...a._orig},l=!1,u=this.opts.marginLeft,d=this.opts.marginRight,f=this.opts.marginTop,p=this.opts.marginBottom,m=Math.round(s*.1),h=Math.round(o*.1);if(u=Math.min(u,h),d=Math.min(d,h),f=Math.min(f,m),p=Math.min(p,m),n.type===`drag`){if(a._temporaryRemoved)return;a._prevYPix=i.position.top,this.opts.draggable.scroll!==!1&&r.dragElement?.updateScrollPosition(this.el);let e=i.position.left+(i.position.left>a._lastUiPosition.left?-d:u),t=i.position.top+(i.position.top>a._lastUiPosition.top?-p:f);c.x=Math.round(e/o),c.y=Math.round(t/s);let n=this._extraDragRow;if(this.engine.collide(a,c)){let e=this.getRow(),t=Math.max(0,c.y+a.h-e);this.opts.maxRow&&e+t>this.opts.maxRow&&(t=Math.max(0,this.opts.maxRow-e)),this._extraDragRow=t}else this._extraDragRow=0;if(this._extraDragRow!==n&&this._updateContainerHeight(),a.x===c.x&&a.y===c.y)return}else if(n.type===`resize`){if((c.x??0)<0||(e.updateScrollResize(n,t,s),c.w=Math.round((i.size.width-u)/o),c.h=Math.round((i.size.height-f)/s),a.w===c.w&&a.h===c.h)||a._lastTried&&a._lastTried.w===c.w&&a._lastTried.h===c.h)return;if(n.hasMovedX){let e=i.position.left+u;c.x=Math.round(e/o)}if(n.hasMovedY){let e=i.position.top+f;c.y=Math.round(e/s)}l=!0}a._event=n,a._lastTried=c;let g={x:i.position.left+u,y:i.position.top+f,w:(i.size?i.size.width:a.w*o)-u-d,h:(i.size?i.size.height:a.h*s)-f-p};if(this.engine.moveNodeCheck(a,{...c,cellWidth:o,cellHeight:s,rect:g,resizing:l})){a._lastUiPosition=i.position,this.engine.cacheRects(o,s,f,d,p,u),delete a._skipDown,l&&a.subGrid&&a.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let e=n.target;a._sidebarOrig||this._writePosAttr(e,a),this.triggerEvent(n,e)}}triggerEvent(e,t){let n=this;for(;n.parentGridNode;)n=n.parentGridNode.grid;n._gsEventHandler[e.type]&&n._gsEventHandler[e.type](e,t)}_leave(e,t){t||=e;let n=t.gridstackNode;if(!n||(t.style.transform=t.style.transformOrigin=``,x.off(e,`drag`),n._temporaryRemoved))return;n._temporaryRemoved=!0,this.engine.removeNode(n),n.el=n._isExternal&&t?t:e;let r=n._sidebarOrig;n._isExternal&&this.engine.cleanupNode(n),n._sidebarOrig=r,this.opts.removable===!0&&a._itemRemoving(e,!0),e._gridstackNodeOrig?(e.gridstackNode=e._gridstackNodeOrig,delete e._gridstackNodeOrig):n._isExternal&&this.engine.restoreInitial()}};S.renderCB=(e,t)=>{e&&t?.content&&(e.textContent=t.content)},S.resizeToContentParent=`.grid-stack-item-content`,S.Utils=e,S.Engine=t,S.GDRev=`13.1.2`;export{S as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e,r as t,t as n}from"./rolldown-runtime-DAXXjFlN.js";import{a as r,c as i,d as a,f as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p,u as m}from"./vendor-CdGy-Xet.js";var h=e(n(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function ee(e,t){let n=e&&e.exec(t);return n&&n.index===0}var x=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function S(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=x.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var C=/\b\B/,w=`[a-zA-Z]\\w*`,T=`[a-zA-Z_]\\w*`,E=`\\b\\d+(\\.\\d+)?`,D=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,O=`\\b(0b[01]+)`,k=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,A=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},j={begin:`\\\\[\\s\\S]`,relevance:0},M={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[j]},N={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[j]},P={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},F=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},I=F(`//`,`$`),L=F(`/\\*`,`\\*/`),R=F(`#`,`$`),z=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},BINARY_NUMBER_RE:O,COMMENT:F,C_BLOCK_COMMENT_MODE:L,C_LINE_COMMENT_MODE:I,C_NUMBER_MODE:{scope:`number`,begin:D,relevance:0},C_NUMBER_RE:D,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:R,IDENT_RE:w,MATCH_NOTHING_RE:C,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:E,relevance:0},NUMBER_RE:E,PHRASAL_WORDS_MODE:P,QUOTE_STRING_MODE:N,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},RE_STARTERS_RE:k,SHEBANG:A,TITLE_MODE:{scope:`title`,begin:w,relevance:0},UNDERSCORE_IDENT_RE:T,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:T,relevance:0}});function te(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function ne(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function B(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=te,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function re(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function ie(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ae(e,t){e.relevance===void 0&&(e.relevance=1)}var oe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},V=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],se=`keyword`;function ce(e,t,n=se){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,ce(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,H(n[0],n[1])]})}}function H(e,t){return t?Number(t):+!le(e)}function le(e){return V.includes(e.toLowerCase())}var ue={},U=e=>{console.error(e)},W=(e,...t)=>{console.log(`WARN: ${e}`,...t)},G=(e,t)=>{ue[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ue[`${e}/${t}`]=!0)},de=Error();function fe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function pe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw U(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),de;if(typeof e.beginScope!=`object`||e.beginScope===null)throw U(`beginScope must be object`),de;fe(e,e.begin,{key:`beginScope`}),e.begin=S(e.begin,{joinWith:``})}}function me(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw U(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),de;if(typeof e.endScope!=`object`||e.endScope===null)throw U(`endScope must be object`),de;fe(e,e.end,{key:`endScope`}),e.end=S(e.end,{joinWith:``})}}function he(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ge(e){he(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),pe(e),me(e)}function _e(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(S(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[ne,ie,ge,oe].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[B,re,ae].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=ce(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return q(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function K(e){return e?e.endsWithParent||K(e.starts):!1}function q(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:K(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var J=`11.11.1`,Y=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},ve=i,ye=a,be=Symbol(`nomatch`),xe=7,Se=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=M(n[1]);return t||(W(s.replace(`{}`,n[1])),W(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||M(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(G(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),G(`10.7.0`,`Please use highlight(code, options) instead.
|
|
1
|
+
import{o as e,r as t,t as n}from"./rolldown-runtime-DAXXjFlN.js";import{a as r,c as i,d as a,f as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p,u as m}from"./vendor-nfBMzqgY.js";var h=e(n(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function ee(e,t){let n=e&&e.exec(t);return n&&n.index===0}var x=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function S(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=x.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var C=/\b\B/,w=`[a-zA-Z]\\w*`,T=`[a-zA-Z_]\\w*`,E=`\\b\\d+(\\.\\d+)?`,D=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,O=`\\b(0b[01]+)`,k=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,A=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},j={begin:`\\\\[\\s\\S]`,relevance:0},M={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[j]},N={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[j]},P={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},F=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},I=F(`//`,`$`),L=F(`/\\*`,`\\*/`),R=F(`#`,`$`),z=Object.freeze({__proto__:null,APOS_STRING_MODE:M,BACKSLASH_ESCAPE:j,BINARY_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},BINARY_NUMBER_RE:O,COMMENT:F,C_BLOCK_COMMENT_MODE:L,C_LINE_COMMENT_MODE:I,C_NUMBER_MODE:{scope:`number`,begin:D,relevance:0},C_NUMBER_RE:D,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:R,IDENT_RE:w,MATCH_NOTHING_RE:C,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:E,relevance:0},NUMBER_RE:E,PHRASAL_WORDS_MODE:P,QUOTE_STRING_MODE:N,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]},RE_STARTERS_RE:k,SHEBANG:A,TITLE_MODE:{scope:`title`,begin:w,relevance:0},UNDERSCORE_IDENT_RE:T,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:T,relevance:0}});function te(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function ne(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function B(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=te,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function re(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function ie(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ae(e,t){e.relevance===void 0&&(e.relevance=1)}var oe=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},V=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],se=`keyword`;function ce(e,t,n=se){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,ce(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,H(n[0],n[1])]})}}function H(e,t){return t?Number(t):+!le(e)}function le(e){return V.includes(e.toLowerCase())}var ue={},U=e=>{console.error(e)},W=(e,...t)=>{console.log(`WARN: ${e}`,...t)},G=(e,t)=>{ue[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ue[`${e}/${t}`]=!0)},de=Error();function fe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function pe(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw U(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),de;if(typeof e.beginScope!=`object`||e.beginScope===null)throw U(`beginScope must be object`),de;fe(e,e.begin,{key:`beginScope`}),e.begin=S(e.begin,{joinWith:``})}}function me(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw U(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),de;if(typeof e.endScope!=`object`||e.endScope===null)throw U(`endScope must be object`),de;fe(e,e.end,{key:`endScope`}),e.end=S(e.end,{joinWith:``})}}function he(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function ge(e){he(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),pe(e),me(e)}function _e(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(S(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[ne,ie,ge,oe].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[B,re,ae].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=ce(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return q(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function K(e){return e?e.endsWithParent||K(e.starts):!1}function q(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:K(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var J=`11.11.1`,Y=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},ve=i,ye=a,be=Symbol(`nomatch`),xe=7,Se=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=M(n[1]);return t||(W(s.replace(`{}`,n[1])),W(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||M(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(G(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),G(`10.7.0`,`Please use highlight(code, options) instead.
|
|
2
2
|
https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};R(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,R(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!k.keywords){j.addText(N);return}let e=0;k.keywordPatternRe.lastIndex=0;let t=k.keywordPatternRe.exec(N),n=``;for(;t;){n+=N.substring(e,t.index);let r=E.case_insensitive?t[0].toLowerCase():t[0],i=u(k,r);if(i){let[e,a]=i;if(j.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=xe&&(P+=a),e.startsWith(`_`))n+=t[0];else{let n=E.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=k.keywordPatternRe.lastIndex,t=k.keywordPatternRe.exec(N)}n+=N.substring(e),j.addText(n)}function f(){if(N===``)return;let e=null;if(typeof k.subLanguage==`string`){if(!t[k.subLanguage]){j.addText(N);return}e=v(k.subLanguage,N,!0,A[k.subLanguage]),A[k.subLanguage]=e._top}else e=x(N,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(P+=e.relevance),j.__addSublanguage(e._emitter,e.language)}function p(){k.subLanguage==null?d():f(),N=``}function m(e,t){e!==``&&(j.startScope(t),j.addText(e),j.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=E.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(N=i,d(),N=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&j.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(N,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),N=``):e.beginScope._multi&&(h(e.beginScope,t),N=``)),k=Object.create(e,{parent:{value:k}}),k}function _(e,t,n){let i=ee(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return k.matcher.regexIndex===0?(N+=e[0],1):(L=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?N+=t:(n.excludeBegin&&(N+=t),p(),!n.returnBegin&&!n.excludeBegin&&(N=t)),g(n,e),n.returnBegin?0:t.length}function S(e){let t=e[0],r=n.substring(e.index),i=_(k,e,r);if(!i)return be;let a=k;k.endScope&&k.endScope._wrap?(p(),m(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(p(),h(k.endScope,e)):a.skip?N+=t:(a.returnEnd||a.excludeEnd||(N+=t),p(),a.excludeEnd&&(N=t));do k.scope&&j.closeNode(),!k.skip&&!k.subLanguage&&(P+=k.relevance),k=k.parent;while(k!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function C(){let e=[];for(let t=k;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>j.openNode(e))}let w={};function T(t,r){let a=r&&r[0];if(N+=t,a==null)return p(),0;if(w.type===`begin`&&r.type===`end`&&w.index===r.index&&a===``){if(N+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=w.rule,t}return 1}if(w=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(k.scope||`<unnamed>`)+`"`);throw e.mode=k,e}else if(r.type===`end`){let e=S(r);if(e!==be)return e}if(r.type===`illegal`&&a===``)return N+=`
|
|
3
3
|
`,1;if(I>1e5&&I>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return N+=a,a.length}let E=M(e);if(!E)throw U(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let D=_e(E),O=``,k=a||D,A={},j=new l.__emitter(l);C();let N=``,P=0,F=0,I=0,L=!1;try{if(E.__emitTokens)E.__emitTokens(n,j);else{for(k.matcher.considerAll();;){I++,L?L=!1:k.matcher.considerAll(),k.matcher.lastIndex=F;let e=k.matcher.exec(n);if(!e)break;let t=T(n.substring(F,e.index),e);F=e.index+t}T(n.substring(F))}return j.finalize(),O=j.toHTML(),{language:e,value:O,relevance:P,illegal:!1,_emitter:j,_top:k}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:ve(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:F,context:n.slice(F-100,F+100),mode:t.mode,resultSoFar:O},_emitter:j};if(o)return{language:e,value:ve(n),illegal:!1,relevance:0,errorRaised:t,_emitter:j,_top:k};throw t}}function b(e){let t={value:ve(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function x(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(M).filter(P).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(M(e.language).supersetOf===t.language)return 1;if(M(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function S(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function C(e){let t=null,n=d(e);if(u(n))return;if(R(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Y(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):x(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,S(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),R(`after:highlightElement`,{el:e,result:i,text:r})}function w(e){l=ye(l,e)}let T=()=>{O(),G(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function E(){O(),G(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let D=!1;function O(){function e(){O()}if(document.readyState===`loading`){D||window.addEventListener(`DOMContentLoaded`,e,!1),D=!0;return}document.querySelectorAll(l.cssSelector).forEach(C)}function k(n,r){let i=null;try{i=r(e)}catch(e){if(U(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)U(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&N(i.aliases,{languageName:n})}function A(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function j(){return Object.keys(t)}function M(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function N(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function P(e){let t=M(e);return t&&!t.disableAutodetect}function F(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function I(e){F(e),a.push(e)}function L(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function R(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function te(e){return G(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),G(`10.7.0`,`Please use highlightElement now.`),C(e)}Object.assign(e,{highlight:p,highlightAuto:x,highlightAll:O,highlightElement:C,highlightBlock:te,configure:w,initHighlighting:T,initHighlightingOnLoad:E,registerLanguage:k,unregisterLanguage:A,listLanguages:j,getLanguage:M,registerAliases:N,autoDetection:P,inherit:ye,addPlugin:I,removePlugin:L}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=J,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in z)typeof z[e]==`object`&&n(z[e]);return Object.assign(e,z),e},X=Se({});X.newInstance=()=>Se({}),t.exports=X,X.HighlightJS=X,X.default=X}))()).default;function g(e){let t={className:`attr`,begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:`punctuation`,relevance:0},r=[`true`,`false`,`null`],i={scope:`literal`,beginKeywords:r.join(` `)};return{name:`JSON`,aliases:[`jsonc`],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:`\\S`}}function _(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}var v=`[A-Za-z$_][0-9A-Za-z$_]*`,y=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),b=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],ee=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),x=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],S=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],C=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],w=[].concat(S,ee,x);function T(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=v,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:v,keyword:y,literal:b,built_in:w,"variable.language":C},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,d={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},f={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},p={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`xml`}},m={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`css`}},h={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`graphql`}},g={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},_={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:`[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,{match:/\$\d+/},d];f.contains=T.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(T)});let E=[].concat(_,f.contains),D=E.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(E)}]),O={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:D},k={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},A={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...ee,...x]}},j={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[O],illegal:/%/},N={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function P(e){return t.concat(`(?!`,e.join(`|`),`)`)}let F={match:t.concat(/\b/,P([...S,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},L={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},O]},R=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,z={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(R)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[O]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:D,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,_,{match:/\$\d+/},d,A,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},z,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[_,e.REGEXP_MODE,{className:`function`,begin:R,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:D}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},M,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[O,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},I,{match:`\\$[A-Za-z$_][0-9A-Za-z$_]*`,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[O]},F,N,k,L,{match:/\$[(.]/}]}}function E(e){let t=e.regex,n=T(e),r=v,i=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],a={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:i},contains:[n.exports.CLASS_REFERENCE]},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:v,keyword:y.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:b,built_in:w.concat(i),"variable.language":C},l={className:`meta`,begin:`@[A-Za-z$_][0-9A-Za-z$_]*`},u=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(l);let d=n.contains.find(e=>e.scope===`attr`),f=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,f]),n.contains=n.contains.concat([l,a,o,f]),u(n,`shebang`,e.SHEBANG()),u(n,`use_strict`,s);let p=n.contains.find(e=>e.label===`func.def`);return p.relevance=0,Object.assign(n,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),n}function D(e){let t=`true false yes no null`,n={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},a={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),s={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},c={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},l={begin:/\{/,end:/\}/,contains:[c],illegal:`\\n`,relevance:0},u={begin:`\\[`,end:`\\]`,contains:[c],illegal:`\\n`,relevance:0},d=[n,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!<[\\w#;/?:@&=+$,.~*'()[\\]]+>`},{className:`type`,begin:`![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`type`,begin:`!![\\w#;/?:@&=+$,.~*'()[\\]]+`},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},s,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},l,u,i,a],f=[...d];return f.pop(),f.push(o),c.contains=f,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:d}}var O=t({arrayReplaceAt:()=>P,asciiTrim:()=>fe,assign:()=>N,escapeHtml:()=>V,escapeRE:()=>ce,fromCodePoint:()=>I,has:()=>M,isMdAsciiPunct:()=>W,isPunctChar:()=>ue,isPunctCharCode:()=>U,isSpace:()=>H,isString:()=>A,isValidEntityCode:()=>F,isWhiteSpace:()=>le,lib:()=>pe,normalizeReference:()=>G,unescapeAll:()=>B,unescapeMd:()=>ne});function k(e){return Object.prototype.toString.call(e)}function A(e){return k(e)===`[object String]`}var j=Object.prototype.hasOwnProperty;function M(e,t){return j.call(e,t)}function N(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!=`object`)throw TypeError(t+`must be object`);Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e}function P(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function F(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function I(e){if(e>65535){e-=65536;let t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var L=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,R=RegExp(L.source+`|&([a-z#][a-z0-9]{1,31});`,`gi`),z=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function te(e,t){if(t.charCodeAt(0)===35&&z.test(t)){let n=t[1].toLowerCase()===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return F(n)?I(n):e}let n=s(e);return n===e?e:n}function ne(e){return e.indexOf(`\\`)<0?e:e.replace(L,`$1`)}function B(e){return e.indexOf(`\\`)<0&&e.indexOf(`&`)<0?e:e.replace(R,function(e,t,n){return t||te(e,n)})}var re=/[&<>"]/,ie=/[&<>"]/g,ae={"&":`&`,"<":`<`,">":`>`,'"':`"`};function oe(e){return ae[e]}function V(e){return re.test(e)?e.replace(ie,oe):e}var se=/[.?*+^$[\]\\(){}|-]/g;function ce(e){return e.replace(se,`\\$&`)}function H(e){switch(e){case 9:case 32:return!0}return!1}function le(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function ue(e){return i.test(e)||p.test(e)}function U(e){return ue(I(e))}function W(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function G(e){return e=e.trim().replace(/\s+/g,` `),e.toLowerCase().toUpperCase()}function de(e){return e===32||e===9||e===10||e===13}function fe(e){let t=0;for(;t<e.length&&de(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&de(e.charCodeAt(n));n--);return e.slice(t,n+1)}var pe={mdurl:c,ucmicro:u};function me(e,t,n){let r,i,a,o,s=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<s;){if(a=e.src.charCodeAt(e.pos),a===93&&(r--,r===0)){i=!0;break}if(o=e.pos,e.md.inline.skipToken(e),a===91){if(o===e.pos-1)r++;else if(n)return e.pos=c,-1}}let l=-1;return i&&(l=e.pos),e.pos=c,l}function he(e,t,n){let r,i=t,a={ok:!1,pos:0,str:``};if(e.charCodeAt(i)===60){for(i++;i<n;){if(r=e.charCodeAt(i),r===10||r===60)return a;if(r===62)return a.pos=i+1,a.str=B(e.slice(t+1,i)),a.ok=!0,a;if(r===92&&i+1<n){i+=2;continue}i++}return a}let o=0;for(;i<n&&(r=e.charCodeAt(i),!(r===32||r<32||r===127));){if(r===92&&i+1<n){if(e.charCodeAt(i+1)===32)break;i+=2;continue}if(r===40&&(o++,o>32))return a;if(r===41){if(o===0)break;o--}i++}return t===i||o!==0?a:(a.str=B(e.slice(t,i)),a.pos=i,a.ok=!0,a)}function ge(e,t,n,r){let i,a=t,o={ok:!1,can_continue:!1,pos:0,str:``,marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(a>=n)return o;let r=e.charCodeAt(a);if(r!==34&&r!==39&&r!==40)return o;t++,a++,r===40&&(r=41),o.marker=r}for(;a<n;){if(i=e.charCodeAt(a),i===o.marker)return o.pos=a+1,o.str+=B(e.slice(t,a)),o.ok=!0,o;if(i===40&&o.marker===41)return o;i===92&&a+1<n&&a++,a++}return o.can_continue=!0,o.str+=B(e.slice(t,a)),o}var _e=t({parseLinkDestination:()=>he,parseLinkLabel:()=>me,parseLinkTitle:()=>ge}),K={};K.code_inline=function(e,t,n,r,i){let a=e[t];return`<code`+i.renderAttrs(a)+`>`+V(a.content)+`</code>`},K.code_block=function(e,t,n,r,i){let a=e[t];return`<pre`+i.renderAttrs(a)+`><code>`+V(e[t].content)+`</code></pre>
|
|
4
4
|
`},K.fence=function(e,t,n,r,i){let a=e[t],o=a.info?B(a.info).trim():``,s=``,c=``;if(o){let e=o.split(/(\s+)/g);s=e[0],c=e.slice(2).join(``)}let l;if(l=n.highlight&&n.highlight(a.content,s,c)||V(a.content),l.indexOf(`<pre`)===0)return l+`
|