epic-modals 0.0.10 → 1.0.1
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/LICENSE +21 -93
- package/dist/core/animation/controller.d.ts +58 -0
- package/dist/core/animation/flip.d.ts +8 -0
- package/dist/core/animation/genie.d.ts +14 -0
- package/dist/core/animation/index.d.ts +6 -0
- package/dist/core/animation/timing.d.ts +34 -0
- package/dist/core/behaviors/drag.d.ts +34 -0
- package/dist/core/behaviors/focusTrap.d.ts +23 -0
- package/dist/core/behaviors/index.d.ts +6 -0
- package/dist/core/behaviors/parentChild.d.ts +27 -0
- package/dist/core/behaviors/resize.d.ts +49 -0
- package/dist/core/config/defaults.d.ts +90 -0
- package/dist/core/config/index.d.ts +4 -0
- package/dist/core/config/resolution.d.ts +25 -0
- package/dist/core/index.d.ts +7 -5
- package/dist/core/modal/Controller.d.ts +70 -0
- package/dist/core/modal/Controller.types.d.ts +77 -0
- package/dist/core/modal/Interactions.d.ts +67 -0
- package/dist/core/modal/Lifecycle.d.ts +20 -0
- package/dist/core/modal/Positioning.d.ts +40 -0
- package/dist/core/modal/StateManager.d.ts +91 -0
- package/dist/core/modal/Styling.d.ts +42 -0
- package/dist/core/modal/index.d.ts +8 -0
- package/dist/core/state/effects.d.ts +16 -0
- package/dist/core/state/events.d.ts +15 -0
- package/dist/core/state/getters.d.ts +37 -0
- package/dist/core/state/index.d.ts +17 -0
- package/dist/core/state/internal.d.ts +105 -0
- package/dist/core/state/layout.d.ts +17 -0
- package/dist/core/state/minimize.d.ts +18 -0
- package/dist/core/state/open-close.d.ts +21 -0
- package/dist/core/state/parent-child.d.ts +17 -0
- package/dist/core/state/pending.d.ts +55 -0
- package/dist/core/state/position.d.ts +15 -0
- package/dist/core/state/registration.d.ts +15 -0
- package/dist/core/state/stacking.d.ts +10 -0
- package/dist/core/state/zindex.d.ts +8 -0
- package/dist/core/types.d.ts +107 -14
- package/dist/core/utils/backdrop.d.ts +8 -0
- package/dist/core/utils/constants.d.ts +193 -0
- package/dist/core/utils/dock.d.ts +12 -0
- package/dist/core/utils/dom.d.ts +31 -0
- package/dist/core/utils/helpers.d.ts +8 -0
- package/dist/core/utils/index.d.ts +8 -0
- package/dist/core/utils/viewport/constraints.d.ts +7 -0
- package/dist/core/utils/viewport/index.d.ts +7 -0
- package/dist/core/utils/viewport/overlap.d.ts +30 -0
- package/dist/core/utils/viewport/smart-layout.d.ts +3 -0
- package/dist/core/utils/viewport/smart-position.d.ts +36 -0
- package/dist/core/utils/viewport/types.d.ts +56 -0
- package/dist/core/utils/viewport.d.ts +3 -0
- package/dist/core.js +1 -1
- package/dist/epic-modals.css +45 -7
- package/dist/index.js +1 -1
- package/dist/react/components/Backdrop.d.ts +7 -0
- package/dist/react/{ModalProvider.d.ts → components/ModalProvider.d.ts} +4 -5
- package/dist/react/components/Portal.d.ts +10 -0
- package/dist/react/components/dock/Dock.d.ts +7 -0
- package/dist/react/components/dock/DockItem.d.ts +16 -0
- package/dist/react/{Modal.d.ts → components/modal/Modal.d.ts} +4 -3
- package/dist/react/components/modal/ModalHeader.d.ts +13 -0
- package/dist/react/components/modal/ModalInner.d.ts +17 -0
- package/dist/react/components/modal/ResizeHandles.d.ts +9 -0
- package/dist/react/components/wizard/WizardModal.d.ts +33 -0
- package/dist/react/components/wizard/WizardStep.d.ts +15 -0
- package/dist/react/context.d.ts +10 -3
- package/dist/react/hooks/useConfig.d.ts +25 -0
- package/dist/react/{useModal.d.ts → hooks/useModal.d.ts} +4 -8
- package/dist/react.d.ts +11 -7
- package/dist/react.js +1 -1
- package/dist/runtime.js +1 -1
- package/dist/styles/animations.css +1 -1
- package/dist/styles/backdrop.css +1 -0
- package/dist/styles/dock.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/modal.css +1 -1
- package/dist/styles/themes/dark.css +1 -1
- package/dist/styles/themes/light.css +1 -1
- package/dist/styles/variables.css +1 -1
- package/dist/styles/wizard.css +1 -0
- package/dist/svelte/actions/appendElement.d.ts +1 -4
- package/dist/svelte/components/wizard/WizardModal.svelte.d.ts +1 -0
- package/dist/svelte/components/wizard/WizardStep.svelte.d.ts +1 -0
- package/dist/svelte/context.d.ts +5 -5
- package/dist/svelte/hooks/index.d.ts +5 -8
- package/dist/svelte/hooks/useFocusTrap.svelte.d.ts +4 -13
- package/dist/svelte/hooks/useModal.svelte.d.ts +24 -28
- package/dist/svelte/hooks/useModalConfig.svelte.d.ts +27 -0
- package/dist/svelte/hooks/useModalZIndex.svelte.d.ts +3 -23
- package/dist/svelte/hooks/usePortal.svelte.d.ts +2 -7
- package/dist/svelte/hooks/useWindowEvent.svelte.d.ts +2 -7
- package/dist/svelte/stores.svelte.d.ts +6 -0
- package/dist/svelte/wizardContext.svelte.d.ts +36 -0
- package/dist/svelte.d.ts +17 -7
- package/dist/svelte.js +1 -1
- package/dist/ui.js +1 -1
- package/dist/vanilla/VanillaBackdrop.d.ts +14 -0
- package/dist/vanilla/VanillaDock.d.ts +24 -0
- package/dist/vanilla/VanillaModal.d.ts +76 -0
- package/dist/vanilla/index.d.ts +21 -25
- package/dist/vanilla.d.ts +1 -8
- package/dist/vanilla.js +1 -1
- package/package.json +43 -5
- package/dist/core/config.svelte.d.ts +0 -85
- package/dist/core/stacking.svelte.d.ts +0 -19
- package/dist/core/state.svelte.d.ts +0 -324
- package/dist/core/utils.d.ts +0 -7
- package/dist/core/viewport.d.ts +0 -92
- package/dist/core/viewport.test.d.ts +0 -2
- package/dist/react/Dock.d.ts +0 -10
- package/dist/react/index.d.ts +0 -15
- package/dist/react/reactiveProps.svelte.d.ts +0 -17
- package/dist/react/svelte-bridge.d.ts +0 -18
- package/dist/react/useModalZIndex.d.ts +0 -35
- package/dist/svelte/hooks/useModalAnimation.svelte.d.ts +0 -16
- package/dist/svelte/hooks/useModalDrag.svelte.d.ts +0 -16
- package/dist/svelte/hooks/useModalResize.svelte.d.ts +0 -18
- package/dist/svelte/index.d.ts +0 -14
- /package/dist/svelte/{Backdrop.svelte.d.ts → components/Backdrop.svelte.d.ts} +0 -0
- /package/dist/svelte/{ModalProvider.svelte.d.ts → components/ModalProvider.svelte.d.ts} +0 -0
- /package/dist/svelte/{Portal.svelte.d.ts → components/Portal.svelte.d.ts} +0 -0
- /package/dist/svelte/{Dock.svelte.d.ts → components/dock/Dock.svelte.d.ts} +0 -0
- /package/dist/svelte/{Modal.svelte.d.ts → components/modal/Modal.svelte.d.ts} +0 -0
- /package/dist/svelte/{ModalHeader.svelte.d.ts → components/modal/ModalHeader.svelte.d.ts} +0 -0
- /package/dist/svelte/{ModalInner.svelte.d.ts → components/modal/ModalInner.svelte.d.ts} +0 -0
- /package/dist/svelte/{ResizeHandles.svelte.d.ts → components/modal/ResizeHandles.svelte.d.ts} +0 -0
package/dist/svelte/context.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
/** Context key for renderIcon snippet */
|
|
1
|
+
|
|
2
|
+
|
|
5
3
|
export declare const RENDER_ICON_CONTEXT: unique symbol;
|
|
6
|
-
|
|
4
|
+
|
|
7
5
|
export declare const MODAL_ID_CONTEXT: unique symbol;
|
|
6
|
+
|
|
7
|
+
export declare const MODAL_PROVIDER_CONFIG_CONTEXT: unique symbol;
|
|
8
8
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
export { useModal } from './useModal.svelte';
|
|
6
|
-
export { useModalDrag } from './useModalDrag.svelte';
|
|
7
|
-
export { useModalResize } from './useModalResize.svelte';
|
|
8
|
-
export { useModalAnimation } from './useModalAnimation.svelte';
|
|
1
|
+
|
|
2
|
+
export { useModal, useModals } from './useModal.svelte';
|
|
3
|
+
export type { UseModalReturn, UseModalsReturn } from './useModal.svelte';
|
|
9
4
|
export { trapFocus, focusFirstElement, useFocusTrap } from './useFocusTrap.svelte';
|
|
10
5
|
export { usePortal } from './usePortal.svelte';
|
|
11
6
|
export { useModalZIndex } from './useModalZIndex.svelte';
|
|
12
7
|
export { useWindowEvent } from './useWindowEvent.svelte';
|
|
8
|
+
export { useModalConfig } from './useModalConfig.svelte';
|
|
9
|
+
export type { UseModalConfigOptions, UseModalConfigReturn } from './useModalConfig.svelte';
|
|
13
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Implements Tab key focus trapping within modal containers
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Trap focus within a container for Tab key navigation
|
|
7
|
-
*/
|
|
1
|
+
|
|
2
|
+
|
|
8
3
|
export declare function trapFocus(event: KeyboardEvent, container: HTMLElement): void;
|
|
9
|
-
|
|
10
|
-
* Focus the first focusable element within a container
|
|
11
|
-
*/
|
|
4
|
+
|
|
12
5
|
export declare function focusFirstElement(container: HTMLElement): boolean;
|
|
13
|
-
|
|
14
|
-
* Hook factory for focus trap functionality
|
|
15
|
-
*/
|
|
6
|
+
|
|
16
7
|
export declare function useFocusTrap(): {
|
|
17
8
|
trapFocus: typeof trapFocus;
|
|
18
9
|
focusFirstElement: typeof focusFirstElement;
|
|
@@ -1,41 +1,37 @@
|
|
|
1
|
-
import { ModalId } from '../../core/types';
|
|
1
|
+
import { ModalId, ModalState } from '../../core/types';
|
|
2
2
|
export interface UseModalReturn {
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
shake: () => void;
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
bringToFront: () => void;
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
isOpen: () => boolean;
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
isMinimized: () => boolean;
|
|
11
|
+
|
|
10
12
|
isRegistered: () => boolean;
|
|
11
|
-
|
|
13
|
+
|
|
12
14
|
open: (sourceElement: HTMLElement) => void;
|
|
13
|
-
|
|
15
|
+
|
|
14
16
|
close: () => void;
|
|
15
|
-
|
|
17
|
+
|
|
16
18
|
minimize: () => void;
|
|
17
|
-
|
|
19
|
+
|
|
18
20
|
restore: () => void;
|
|
19
|
-
|
|
21
|
+
|
|
20
22
|
openChild: (childId: ModalId, sourceElement?: HTMLElement) => void;
|
|
21
23
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* const modal = useModal('my-modal');
|
|
33
|
-
*
|
|
34
|
-
* function handleError() {
|
|
35
|
-
* modal.shake(); // Trigger attention effect
|
|
36
|
-
* }
|
|
37
|
-
* </script>
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
24
|
+
|
|
25
|
+
export interface UseModalsReturn {
|
|
26
|
+
|
|
27
|
+
getModals: () => Map<ModalId, ModalState>;
|
|
28
|
+
|
|
29
|
+
getMinimizedCount: () => number;
|
|
30
|
+
|
|
31
|
+
getOpenCount: () => number;
|
|
32
|
+
}
|
|
33
|
+
|
|
40
34
|
export declare function useModal(id: ModalId): UseModalReturn;
|
|
35
|
+
|
|
36
|
+
export declare function useModals(): UseModalsReturn;
|
|
41
37
|
//# sourceMappingURL=useModal.svelte.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ModalLibraryConfig, ModalFeatures, AppearanceConfig, AnimationDurations, PositioningConfig, ParentChildConfig, PartialModalLibraryConfig } from '../../core/config';
|
|
2
|
+
import { ModalConfigOverrides } from '../../core/types';
|
|
3
|
+
export interface UseModalConfigOptions {
|
|
4
|
+
|
|
5
|
+
getModalConfig?: () => ModalConfigOverrides | undefined;
|
|
6
|
+
|
|
7
|
+
getProviderConfig?: () => PartialModalLibraryConfig | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface UseModalConfigReturn {
|
|
10
|
+
|
|
11
|
+
getEffectiveConfig: () => ModalLibraryConfig;
|
|
12
|
+
|
|
13
|
+
isFeatureEnabled: (feature: keyof ModalFeatures) => boolean;
|
|
14
|
+
|
|
15
|
+
getAppearance: <K extends keyof AppearanceConfig>(key: K) => AppearanceConfig[K];
|
|
16
|
+
|
|
17
|
+
getAnimation: <K extends keyof AnimationDurations>(key: K) => AnimationDurations[K];
|
|
18
|
+
|
|
19
|
+
getPositioning: <K extends keyof PositioningConfig>(key: K) => PositioningConfig[K];
|
|
20
|
+
|
|
21
|
+
getParentChild: <K extends keyof ParentChildConfig>(key: K) => ParentChildConfig[K];
|
|
22
|
+
|
|
23
|
+
getProviderConfig: () => PartialModalLibraryConfig | undefined;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export declare function useModalConfig(options?: UseModalConfigOptions): UseModalConfigReturn;
|
|
27
|
+
//# sourceMappingURL=useModalConfig.svelte.d.ts.map
|
|
@@ -1,30 +1,10 @@
|
|
|
1
1
|
import { ModalId } from '../../core/types';
|
|
2
2
|
export interface UseModalZIndexReturn {
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
zIndex: number;
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
portalTarget: string | HTMLElement;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
* Get z-index and portal target for floating elements inside a modal
|
|
10
|
-
* @param modalId - Optional modal ID. If not provided, uses context from parent Modal component.
|
|
11
|
-
* @returns Object with zIndex and portalTarget for positioning
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```svelte
|
|
15
|
-
* <script lang="ts">
|
|
16
|
-
* import { useModalZIndex, Portal } from 'epic-modals/svelte';
|
|
17
|
-
*
|
|
18
|
-
* // Automatically uses parent modal's ID from context
|
|
19
|
-
* const { zIndex, portalTarget } = useModalZIndex();
|
|
20
|
-
* </script>
|
|
21
|
-
*
|
|
22
|
-
* <Portal target={portalTarget}>
|
|
23
|
-
* <div class="dropdown" style:z-index={zIndex}>
|
|
24
|
-
* Dropdown content
|
|
25
|
-
* </div>
|
|
26
|
-
* </Portal>
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
8
|
+
|
|
29
9
|
export declare function useModalZIndex(modalId?: ModalId): UseModalZIndexReturn;
|
|
30
10
|
//# sourceMappingURL=useModalZIndex.svelte.d.ts.map
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
* Hook for DOM portal mounting
|
|
3
|
-
* Handles rendering content into a different part of the DOM tree
|
|
4
|
-
*/
|
|
1
|
+
|
|
5
2
|
type PortalTarget = string | HTMLElement | null;
|
|
6
|
-
|
|
7
|
-
* Hook factory for portal functionality
|
|
8
|
-
*/
|
|
3
|
+
|
|
9
4
|
export declare function usePortal(): {
|
|
10
5
|
mount: (element: HTMLElement, target?: PortalTarget) => () => void;
|
|
11
6
|
};
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Manages event listeners with automatic cleanup on unmount
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Hook factory for window event functionality
|
|
7
|
-
*/
|
|
1
|
+
|
|
2
|
+
|
|
8
3
|
export declare function useWindowEvent(): {
|
|
9
4
|
addListener: <K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => unknown, options?: AddEventListenerOptions) => () => void;
|
|
10
5
|
addListenerEffect: <K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => unknown, options?: AddEventListenerOptions) => void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
export interface StepRegistration {
|
|
3
|
+
title: string;
|
|
4
|
+
getCanProceed: () => boolean;
|
|
5
|
+
}
|
|
6
|
+
export type WizardTransitionStyle = 'fade-slide' | 'slide-through';
|
|
7
|
+
|
|
8
|
+
export interface WizardControls {
|
|
9
|
+
currentStep: number;
|
|
10
|
+
totalSteps: number;
|
|
11
|
+
isFirstStep: boolean;
|
|
12
|
+
isLastStep: boolean;
|
|
13
|
+
canProceed: boolean;
|
|
14
|
+
progress: number;
|
|
15
|
+
steps: Array<{
|
|
16
|
+
title: string;
|
|
17
|
+
}>;
|
|
18
|
+
next: () => void;
|
|
19
|
+
back: () => void;
|
|
20
|
+
goToStep: (index: number) => void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export declare class WizardState {
|
|
24
|
+
currentStep: number;
|
|
25
|
+
previousStep: number;
|
|
26
|
+
direction: "forward" | "backward";
|
|
27
|
+
isAnimating: boolean;
|
|
28
|
+
steps: StepRegistration[];
|
|
29
|
+
transitionStyle: WizardTransitionStyle;
|
|
30
|
+
registerStep(step: StepRegistration): number;
|
|
31
|
+
unregisterStep(_index: number): void;
|
|
32
|
+
updateStep(index: number, update: Partial<StepRegistration>): void;
|
|
33
|
+
reset(): void;
|
|
34
|
+
setTransitionStyle(style: WizardTransitionStyle): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=wizardContext.svelte.d.ts.map
|
package/dist/svelte.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
export { default as Modal } from './svelte/Modal.svelte';
|
|
2
|
-
export { default as
|
|
3
|
-
export { default as
|
|
4
|
-
export { default as
|
|
5
|
-
export { default as
|
|
6
|
-
export { default as
|
|
7
|
-
export { default as
|
|
1
|
+
export { default as Modal } from './svelte/components/modal/Modal.svelte';
|
|
2
|
+
export { default as ModalHeader } from './svelte/components/modal/ModalHeader.svelte';
|
|
3
|
+
export { default as ResizeHandles } from './svelte/components/modal/ResizeHandles.svelte';
|
|
4
|
+
export { default as WizardModal } from './svelte/components/wizard/WizardModal.svelte';
|
|
5
|
+
export { default as WizardStep } from './svelte/components/wizard/WizardStep.svelte';
|
|
6
|
+
export { default as Dock } from './svelte/components/dock/Dock.svelte';
|
|
7
|
+
export { default as Backdrop } from './svelte/components/Backdrop.svelte';
|
|
8
|
+
export { default as ModalProvider } from './svelte/components/ModalProvider.svelte';
|
|
9
|
+
export { default as Portal } from './svelte/components/Portal.svelte';
|
|
10
|
+
export { RENDER_ICON_CONTEXT, MODAL_ID_CONTEXT } from './svelte/context';
|
|
8
11
|
export * from './svelte/hooks';
|
|
12
|
+
export { openModal, closeModal, closeAllModals, minimizeModal, restoreModal, bringToFront, isModalOpen, isModalRegistered, isModalAnimating, getModalsStore, getStateVersion, getModalsToClose, openChildModal, restoreAllMinimizedModals, reorderDock, shakeElement, triggerAttention, toggleModalTransparency, setURLStateCallbacks, setRegistryFunctions, storeOpenSourcePosition, registerModal, linkModals, setModalAnimating, updateModalPosition, } from './core/state';
|
|
13
|
+
export type { UseModalReturn } from './svelte/hooks/useModal.svelte';
|
|
14
|
+
export type { UseModalZIndexReturn } from './svelte/hooks/useModalZIndex.svelte';
|
|
15
|
+
export { getConfig, setConfig, resetConfig, getConfigVersion } from './core/config';
|
|
16
|
+
export type { ModalLibraryConfig, DockConfig, AnimationDurations, PositioningConfig, ParentChildConfig } from './core/config';
|
|
17
|
+
export { getReactiveStateVersion, getReactiveConfigVersion } from './svelte/stores.svelte';
|
|
18
|
+
export { screenCenter } from './core/utils/helpers';
|
|
9
19
|
//# sourceMappingURL=svelte.d.ts.map
|
package/dist/svelte.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as
|
|
1
|
+
import{B as s,D as a,M as e,a as o,b as t,c as i,P as r,R as l,d,W as n,e as M,f as g,g as c,h as u,t as p,u as C,i as m,j as f,k as R,l as T,m as k,n as E}from"./ui.js";import{h as A,an as O,c as S,k as z,b as D,j as F,ba as P,g as v,G as N,f as V,i as _,br as b,m as h,o as j,d as I,q as W,bv as x,bw as y,by as H,r as L,bT as X,N as w,bB as B,bC as U,bD as Z,H as q,bH as G,bI as J,t as K,bQ as Q}from"./core.js";export{s as Backdrop,a as Dock,e as MODAL_ID_CONTEXT,o as Modal,t as ModalHeader,i as ModalProvider,r as Portal,l as RENDER_ICON_CONTEXT,d as ResizeHandles,n as WizardModal,M as WizardStep,A as bringToFront,O as closeAllModals,S as closeModal,g as focusFirstElement,z as getConfig,D as getConfigVersion,F as getModalsStore,P as getModalsToClose,c as getReactiveConfigVersion,u as getReactiveStateVersion,v as getStateVersion,N as isModalAnimating,V as isModalOpen,_ as isModalRegistered,b as linkModals,h as minimizeModal,j as openChildModal,I as openModal,W as registerModal,x as reorderDock,y as resetConfig,H as restoreAllMinimizedModals,L as restoreModal,X as screenCenter,w as setConfig,B as setModalAnimating,U as setRegistryFunctions,Z as setURLStateCallbacks,q as shakeElement,G as storeOpenSourcePosition,J as toggleModalTransparency,p as trapFocus,K as triggerAttention,Q as updateModalPosition,C as useFocusTrap,m as useModal,f as useModalConfig,R as useModalZIndex,T as useModals,k as usePortal,E as useWindowEvent};
|
package/dist/ui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"svelte/internal/client";import{i as t,a as i,o as n,r as o,m as r,c as s,b as a,d,t as l,e as g,f as c,g as u,h as p,j as h,k as m,l as f,n as v,p as w,q as y,s as x,u as _,v as b,w as z,x as k,y as D,z as M,A as B,B as I,C,D as E,E as R,F as P,G as T,H as L,I as $,J as S,K as H,L as O,M as X,N as Y,O as F,P as W,Q as A,R as q,S as j,T as N,U as G,V as K,W as U,X as V,Y as Z,Z as J,_ as Q,$ as ee,a0 as te,a1 as ie,a2 as ne,a3 as oe,a4 as re,a5 as se,a6 as ae,a7 as de}from"./core.js";import{getContext as le,onMount as ge,setContext as ce,tick as ue,onDestroy as pe,untrack as he}from"svelte";import"svelte/internal/disclose-version";import{scale as me,fly as fe,fade as ve}from"svelte/transition";import{cubicOut as we,backOut as ye}from"svelte/easing";const xe=Symbol("modal-render-icon"),_e=Symbol("modal-id");function be(e,i){if(!t(e))throw new Error(`Cannot call ${i}() on unregistered modal "${String(e)}". Ensure the Modal component is rendered.`)}function ze(e){return{shake:()=>{be(e,"shake"),l(e)},bringToFront:()=>{be(e,"bringToFront"),d(e)},isOpen:()=>i(e),isRegistered:()=>t(e),open:t=>{be(e,"open"),a(e,t)},close:()=>{be(e,"close"),s(e)},minimize:()=>{be(e,"minimize"),r(e)},restore:()=>{be(e,"restore"),o(e)},openChild:(t,i)=>{be(e,"openChild"),n({id:t},e,i)}}}function ke(t={x:0,y:0}){const i=e.proxy({...t}),n=e.proxy({isDragging:!1,startX:0,startY:0,initialX:0,initialY:0,hasBeenDragged:!1});return{get position(){return i},get hasBeenDragged(){return n.hasBeenDragged},get isDragging(){return n.isDragging},onPointerDown:function(e,t){if(0===e.button){if(!n.hasBeenDragged){const e=t.getBoundingClientRect();i.x=e.left,i.y=e.top}n.isDragging=!0,n.startX=e.clientX,n.startY=e.clientY,n.initialX=i.x,n.initialY=i.y,t.setPointerCapture(e.pointerId)}},onPointerMove:function(e,t,o){if(!n.isDragging)return;const r=e.clientX-n.startX,s=e.clientY-n.startY,a=n.initialX+r,d=n.initialY+s,l=g(a,d,o.width,o.height);i.x=l.x,i.y=l.y,n.hasBeenDragged=!0},onPointerUp:function(e,t){n.isDragging&&(n.isDragging=!1,t.releasePointerCapture(e.pointerId))},setPosition:function(e){i.x=e.x,i.y=e.y},setHasBeenDragged:function(e){n.hasBeenDragged=e},reset:function(){i.x=t.x,i.y=t.y,n.hasBeenDragged=!1}}}function De(t,i,n,o,r,s,a){let d=e.state(!1),l=e.state(""),g=e.state(e.proxy({width:0,height:0})),u=e.state(!1),p=e.state(!1),h={x:0,y:0,width:0,height:0,posX:0,posY:0,centerX:0,centerY:0},m=null;function f(s,a){s.preventDefault(),s.stopPropagation();const c=t();if(!c)return;const p=c.getBoundingClientRect();o()||(n({x:p.left,y:p.top}),r(!0)),e.get(u)||(e.set(g,{width:p.width,height:p.height},!0),e.set(u,!0));const f=i();e.set(d,!0),e.set(l,a,!0),m=s.pointerId,h={x:s.clientX,y:s.clientY,width:e.get(g).width,height:e.get(g).height,posX:f.x,posY:f.y,centerX:f.x+e.get(g).width/2,centerY:f.y+e.get(g).height/2},window.addEventListener("pointermove",v),window.addEventListener("pointerup",w),window.addEventListener("pointercancel",w)}function v(t){if(t.pointerId!==m)return;const i=t.clientX-h.x,o=t.clientY-h.y,r=window.innerWidth,s=window.innerHeight,d=(null==a?void 0:a())??!1;let u=h.width,p=h.height,f=h.posX,v=h.posY;if(d){if(e.get(l).includes("e")||e.get(l).includes("w")){const t=e.get(l).includes("e")?i:-i;u=Math.max(280,h.width+2*t),f=h.centerX-u/2}if(e.get(l).includes("s")||e.get(l).includes("n")){const t=e.get(l).includes("s")?o:-o;p=Math.max(200,h.height+2*t),v=h.centerY-p/2}}else{if(e.get(l).includes("e")){const e=r-f;u=Math.max(280,Math.min(h.width+i,e))}if(e.get(l).includes("w")){const e=h.width-280,t=Math.min(i,e);u=h.width-t,f=h.posX+t}if(e.get(l).includes("s")){const e=s-v;p=Math.max(200,Math.min(h.height+o,e))}if(e.get(l).includes("n")){const e=h.height-200,t=Math.min(o,e);p=h.height-t,v=h.posY+t}}const w=c(f,v,u,p);e.set(g,{width:w.width,height:w.height},!0),n({x:w.x,y:w.y})}function w(t){t.pointerId===m&&(e.set(d,!1),m=null,window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",w),window.removeEventListener("pointercancel",w),e.set(p,!0),s(i(),e.get(g)),setTimeout(()=>{e.set(p,!1)},0))}const y={startResize:f};return{get isResizing(){return e.get(d)},get resizeDirection(){return e.get(l)},get size(){return e.get(g)},get hasBeenResized(){return e.get(u)},get isActive(){return e.get(d)},get justFinishedResizing(){return e.get(p)},start:f,setHasBeenResized:()=>{},setSize:function(t){e.set(g,t,!0),e.set(u,!0)},reset:function(){e.set(u,!1),e.set(g,{width:0,height:0},!0)},constrainToViewport:function(){const o=i(),r=t();if(!r)return;const s=c(o.x,o.y,e.get(g).width||r.offsetWidth,e.get(g).height||r.offsetHeight);e.set(g,{width:s.width,height:s.height},!0),n({x:s.x,y:s.y})},handlers:y}}function Me(){return u().features.animations}function Be(t,i,n,o,r,s,a,d,l){let g=e.state(!1),c=e.state(!1),u=e.state(!1),h=e.state(!1),m=e.state(null),f=e.state(null),v=null,w=null;function y(){w&&(clearTimeout(w),w=null)}function x(){const e=t(),i=document.querySelector(`.modal-dock-item[data-modal-id="${p(e)}"]`),n=document.querySelector('[data-dock-container="true"]'),o=i||n;if(o){const e=o.getBoundingClientRect();return{x:e.left+e.width/2,y:e.top+e.height/2}}return{x:window.innerWidth/2,y:window.innerHeight-40}}return e.user_effect(()=>()=>{y(),e.set(g,!1),e.set(c,!1),e.set(u,!1),e.set(h,!1),e.set(m,null),e.set(f,null),v=null}),{get isMinimizing(){return e.get(g)},get isRestoring(){return e.get(c)},get isOpening(){return e.get(u)},get isClosing(){return e.get(h)},get animationTransform(){return e.get(m)},get pendingOpenSource(){return e.get(f)},startMinimize:function(t,p){const h=i();if(e.get(g)||!h)return;if(e.set(c,!1),e.set(u,!1),y(),!Me()){const e=h.getBoundingClientRect();let t=r()?n():{x:e.left,y:e.top},i=a()?d():{width:e.width,height:e.height};return r()||(o(t),s(!0)),void(p?p():l(t,!0,i))}const f=h.getBoundingClientRect(),v=f.left+f.width/2,_=f.top+f.height/2;let b=r()?n():{x:f.left,y:f.top},z=a()?d():{width:f.width,height:f.height};r()||(o(b),s(!0));const k=t??x(),D=k.x-f.left,M=k.y-f.top,B={x:k.x-v,y:k.y-_,originX:D,originY:M};e.set(m,B,!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.set(g,!0)})}),w=setTimeout(()=>{p?p():l(b,!0,z)},500)},startRestore:function(t,i){if(!Me()){const e=t||{x:window.innerWidth/2,y:window.innerHeight/2};return o(e),void s(!0)}const n=x(),r=t||{x:window.innerWidth/2,y:window.innerHeight/2},a=i||{width:480,height:400};o(r),s(!0);const d=r.x+a.width/2,l=r.y+a.height/2,g=n.x-r.x,u=n.y-r.y;e.set(m,{x:n.x-d,y:n.y-l,originX:g,originY:u},!0),e.set(c,!0),setTimeout(()=>{e.set(c,!1),e.set(m,null)},400)},startClose:function(t){e.get(h)||e.get(g)||(Me()?(v=t,e.set(h,!0),setTimeout(()=>{e.set(h,!1),v&&(v(),v=null)},250)):t())},setPendingOpenSource:function(t){e.set(f,t,!0)},tryStartOpenAnimation:function(){const t=i();if(!e.get(f)||!t||e.get(u))return!1;if(!Me())return e.set(f,null),!1;const a=e.get(f);e.set(f,null);const d=t.getBoundingClientRect(),l=r()?n():{x:d.left,y:d.top},g=d.width,c=d.height,p=l.x+g/2,h=l.y+c/2;r()||(o(l),s(!0));const v=a.x-l.x,w=a.y-l.y;return e.set(m,{x:a.x-p,y:a.y-h,originX:v,originY:w},!0),e.set(u,!0),setTimeout(()=>{e.set(u,!1),e.set(m,null)},400),!0},forceClearMinimize:function(){y(),e.set(g,!1),e.set(m,null)}}}const Ie=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function Ce(e){return Array.from(e.querySelectorAll(Ie)).filter(e=>null!==e.offsetParent||"A"===e.tagName)}function Ee(e,t){if("Tab"!==e.key)return;const i=Ce(t);if(0===i.length)return void e.preventDefault();const n=i[0],o=i[i.length-1],r=document.activeElement;e.shiftKey?r===n&&(o.focus(),e.preventDefault()):r===o&&(n.focus(),e.preventDefault())}function Re(e){const t=Ce(e);return t.length>0&&(t[0].focus(),!0)}function Pe(){return{trapFocus:Ee,focusFirstElement:Re}}const Te="modal-portal";function Le(){return{mount:function(e,t=null){const i=function(e){if("undefined"==typeof window)return null;if(e instanceof HTMLElement)return e;if("string"==typeof e){const t=document.querySelector(e);if(t)return t;if(e.startsWith("#")){const t=e.slice(1),i=document.createElement("div");return i.id=t,document.body.appendChild(i),i}}let t=document.getElementById(Te);return t||(t=document.createElement("div"),t.id=Te,document.body.appendChild(t)),t}(t);return i?(i.appendChild(e),()=>{e.parentNode===i&&i.removeChild(e),i.id!==Te&&0===i.children.length&&i.parentNode&&i.parentNode.removeChild(i)}):()=>{}}}}function $e(e){const t=le(_e),i=e??t;if(!i)throw new Error("useModalZIndex: No modal ID provided and no modal context found. Either pass a modal ID or use this hook inside a Modal component.");return{get zIndex(){const e=h(i);return((null==e?void 0:e.zIndex)??u().zIndex.base)+1},get portalTarget(){return u().portalTarget}}}function Se(){function t(e,t,i){return"undefined"==typeof window?()=>{}:(window.addEventListener(e,t,i),()=>{window.removeEventListener(e,t,i)})}return{addListener:t,addListenerEffect:function(i,n,o){e.user_effect(()=>{if("undefined"!=typeof window)return t(i,n,o)})}}}var He=e.from_html('<div style="display: contents;"><!></div>');function Oe(t,i){e.push(i,!0);let n=e.prop(i,"target",3,"body"),o=null,r=null;const{mount:s}=Le();ge(()=>(o&&(r=s(o,n())),()=>{null==r||r()}));var a=He(),d=e.child(a);e.snippet(d,()=>i.children),e.reset(a),e.bind_this(a,e=>o=e,()=>o),e.append(t,a),e.pop()}var Xe=e.from_html('<button type="button" aria-label="Minimize"></button>'),Ye=e.from_html('<button type="button" class="modal-header-light modal-header-light-style" aria-label="Toggle style"></button>'),Fe=e.from_html('<div class="modal-header-icon"><!></div>'),We=e.from_html('<div class="modal-header-icon"><!></div>'),Ae=e.from_html('<h2 class="modal-header-title"> </h2>'),qe=e.from_html('<h2 class="modal-header-title"> </h2>'),je=e.from_html('<div class="modal-header-traffic-lights"><button type="button" class="modal-header-light modal-header-light-close" aria-label="Close"></button> <!> <!></div> <div class="modal-header-mac-center"><!> <div class="modal-header-title-group"><!></div></div> <div class="modal-header-mac-spacer"></div>',1),Ne=e.from_html('<div class="modal-header-icon"><!></div>'),Ge=e.from_html('<div class="modal-header-icon"><!></div>'),Ke=e.from_html('<h2 class="modal-header-title"> </h2>'),Ue=e.from_html('<h2 class="modal-header-title"> </h2>'),Ve=e.from_html('<button type="button" class="modal-header-btn-windows modal-header-btn-windows-style" aria-label="Toggle style">◇</button>'),Ze=e.from_html('<button type="button" aria-label="Minimize">–</button>'),Je=e.from_html('<div class="modal-header-title-group"><!> <!></div> <div class="modal-header-actions"><!> <!> <button type="button" class="modal-header-btn-windows modal-header-btn-windows-close" aria-label="Close">×</button></div>',1),Qe=e.from_html("<header><!></header>");function et(t,i){e.push(i,!0);let n=e.prop(i,"isTransparent",3,!1),o=e.prop(i,"headerLayout",3,"macos"),r=e.prop(i,"minimizable",3,!0),s=e.prop(i,"minimizeDisabled",3,!1),a=e.prop(i,"transparencyEnabled",3,!0);const d=le(xe),l=e.derived(()=>null==d?void 0:d()),g=e.derived(()=>"macos"===o());var c=Qe();let u;c.__pointerdown=function(e){var t;e.target.closest("button")||null==(t=i.onStartDrag)||t.call(i,e)};var p=e.child(c),h=t=>{var n=je(),o=e.first_child(n),d=e.child(o);d.__click=function(...e){var t;null==(t=i.onClose)||t.apply(this,e)};var g=e.sibling(d,2),c=t=>{var n=Xe();let o;n.__click=function(...e){var t;null==(t=s()?void 0:i.onMinimize)||t.apply(this,e)},e.template_effect(()=>{o=e.set_class(n,1,"modal-header-light modal-header-light-minimize",null,o,{"modal-header-light-disabled":s()}),n.disabled=s(),e.set_attribute(n,"title",s()?"Enable dock to minimize":void 0)}),e.append(t,n)};e.if(g,e=>{r()&&e(c)});var u=e.sibling(g,2),p=t=>{var n=Ye();n.__click=function(...e){var t;null==(t=i.onToggleStyle)||t.apply(this,e)},e.append(t,n)};e.if(u,e=>{a()&&e(p)}),e.reset(o);var h=e.sibling(o,2),m=e.child(h),f=t=>{var n=Fe(),o=e.child(n);e.snippet(o,()=>i.customIcon),e.reset(n),e.append(t,n)},v=t=>{var n=e.comment(),o=e.first_child(n),r=t=>{var n=We(),o=e.child(n);e.snippet(o,()=>e.get(l),()=>i.icon),e.reset(n),e.append(t,n)};e.if(o,t=>{i.icon&&e.get(l)&&t(r)},!0),e.append(t,n)};e.if(m,e=>{i.customIcon?e(f):e(v,!1)});var w=e.sibling(m,2),y=e.child(w),x=t=>{var n=Ae(),o=e.child(n,!0);e.reset(n),e.template_effect(()=>{e.set_attribute(n,"id",i.titleId),e.set_text(o,i.title)}),e.append(t,n)},_=t=>{var n=qe(),o=e.child(n,!0);e.reset(n),e.template_effect(()=>e.set_text(o,i.title)),e.append(t,n)};e.if(y,e=>{i.titleId?e(x):e(_,!1)}),e.reset(w),e.reset(h),e.next(2),e.append(t,n)},m=t=>{var n=Je(),o=e.first_child(n),d=e.child(o),g=t=>{var n=Ne(),o=e.child(n);e.snippet(o,()=>i.customIcon),e.reset(n),e.append(t,n)},c=t=>{var n=e.comment(),o=e.first_child(n),r=t=>{var n=Ge(),o=e.child(n);e.snippet(o,()=>e.get(l),()=>i.icon),e.reset(n),e.append(t,n)};e.if(o,t=>{i.icon&&e.get(l)&&t(r)},!0),e.append(t,n)};e.if(d,e=>{i.customIcon?e(g):e(c,!1)});var u=e.sibling(d,2),p=t=>{var n=Ke(),o=e.child(n,!0);e.reset(n),e.template_effect(()=>{e.set_attribute(n,"id",i.titleId),e.set_text(o,i.title)}),e.append(t,n)},h=t=>{var n=Ue(),o=e.child(n,!0);e.reset(n),e.template_effect(()=>e.set_text(o,i.title)),e.append(t,n)};e.if(u,e=>{i.titleId?e(p):e(h,!1)}),e.reset(o);var m=e.sibling(o,2),f=e.child(m),v=t=>{var n=Ve();n.__click=function(...e){var t;null==(t=i.onToggleStyle)||t.apply(this,e)},e.append(t,n)};e.if(f,e=>{a()&&e(v)});var w=e.sibling(f,2),y=t=>{var n=Ze();let o;n.__click=function(...e){var t;null==(t=s()?void 0:i.onMinimize)||t.apply(this,e)},e.template_effect(()=>{o=e.set_class(n,1,"modal-header-btn-windows",null,o,{"modal-header-btn-windows-disabled":s()}),n.disabled=s(),e.set_attribute(n,"title",s()?"Enable dock to minimize":void 0)}),e.append(t,n)};e.if(w,e=>{r()&&e(y)}),e.sibling(w,2).__click=function(...e){var t;null==(t=i.onClose)||t.apply(this,e)},e.reset(m),e.append(t,n)};e.if(p,t=>{e.get(g)?t(h):t(m,!1)}),e.reset(c),e.template_effect(()=>u=e.set_class(c,1,"modal-header",null,u,{"modal-header-draggable":!!i.onStartDrag,transparent:n()})),e.append(t,c),e.pop()}e.delegate(["pointerdown","click"]);var tt=e.from_html("<div></div>"),it=e.from_html('<div class="modal-resize-handles"></div>');function nt(t,i){e.push(i,!0);const n=["n","s","e","w","ne","nw","se","sw"];var o=e.comment(),r=e.first_child(o),s=t=>{var o=it();e.each(o,21,()=>n,e.index,(t,n)=>{var o=tt();o.__pointerdown=t=>function(e,t){var n;null==(n=i.onStartResize)||n.call(i,e,t)}(t,e.get(n)),e.template_effect(()=>e.set_class(o,1,`modal-resize-handle modal-resize-${e.get(n)??""}`)),e.append(t,o)}),e.reset(o),e.append(t,o)};e.if(r,e=>{i.onStartResize&&e(s)}),e.append(t,o),e.pop()}function ot(e,t){return t&&e.appendChild(t),{update(t){e.innerHTML="",t&&e.appendChild(t)},destroy(){e.innerHTML=""}}}e.delegate(["pointerdown"]);var rt=e.from_html('<div class="modal-footer"><!></div>'),st=e.from_html("<div></div>"),at=e.from_html('<div role="dialog" aria-modal="true" tabindex="-1"><!> <div class="modal-body"><!></div> <!> <!> <!></div>');function dt(t,i){e.push(i,!0);let n=e.prop(i,"maxWidth",3,"600px"),o=e.prop(i,"autoOpen",3,!1),a=e.prop(i,"closeOnEscape",3,!0),l=e.state(!1);ge(()=>{Z({id:i.id,title:i.title,icon:i.icon??"",isOpen:o(),isMinimized:!1,isHiddenWithParent:!1,isTransparent:!1,isRejected:!1,position:null,size:null,hasBeenDragged:!1,dockPosition:0,glow:i.glow??null,parentId:void 0,childId:void 0,offsetFromParent:void 0}),e.set(l,!0)}),pe(()=>{b(i.id)});const c=e.derived(()=>{if(!e.get(l))return!1;f();const t=h(i.id);return!!t&&(t.isOpen||t.isMinimized||S(i.id)||v(i.id)||w(i.id))});var te=e.comment(),ie=e.first_child(te),ne=t=>{!function(t,i){e.push(i,!0);let n=e.prop(i,"maxWidth",3,"600px"),o=e.prop(i,"autoOpen",3,!1),a=e.prop(i,"closeOnEscape",3,!0),l=e.prop(i,"skipRegistration",3,!1);ce(_e,()=>i.id);const c=u().portalTarget,te=e.derived(()=>p(i.id));function ie(e){var t,n;return(null==(n=null==(t=i.config)?void 0:t.features)?void 0:n[e])??z(e)}const ne=e.derived(()=>(m(),ie("drag"))),oe=e.derived(()=>(m(),ie("minimize"))),re=e.derived(()=>(m(),!ie("dock"))),se=e.derived(()=>(m(),ie("transparency"))),ae=e.derived(()=>(m(),ie("resize"))),de=e.derived(()=>{var e,t;return m(),(null==(t=null==(e=i.config)?void 0:e.appearance)?void 0:t.headerLayout)??u().appearance.headerLayout});let le=e.state(null),he=e.state(!1),me=e.state(!1),fe=e.state(!1),ve=e.state(!1),we=e.state(!1);const ye=e.derived(()=>(f(),h(i.id))),xe=e.derived(()=>e.get(ye)&&(e.get(ye).isOpen||v(i.id))&&(!e.get(ye).isMinimized||w(i.id))&&!e.get(ye).isHiddenWithParent),be=e.derived(()=>{var t;return!!(null==(t=e.get(ye))?void 0:t.childId)}),ze=e.derived(()=>{var t;return!!(null==(t=e.get(ye))?void 0:t.parentId)}),Me=e.derived(()=>e.get(be)||e.get(me)),Ie=e.derived(()=>!!i.glow),Ce=e.derived(()=>`modal-title-${e.get(te)}`),Ee=e.derived(()=>{var t;return(null==(t=e.get(ye))?void 0:t.zIndex)??1e3}),Re=ke({x:0,y:0});let Te=e.state(!1);const Le=De(()=>e.get(le),()=>Re.position,e=>Re.setPosition(e),()=>Re.hasBeenDragged,e=>Re.setHasBeenDragged(e),(t,n)=>{const o=h(i.id);if(null==o?void 0:o.parentId){const t=h(o.parentId),r=document.querySelector(`[data-modal-id="${p(o.parentId)}"]`);if(t&&r){const o=t.position??{x:r.getBoundingClientRect().left,y:r.getBoundingClientRect().top},s=t.size??{width:r.offsetWidth,height:r.offsetHeight},a={x:o.x+(s.width-n.width)/2,y:o.y+(s.height-n.height)/2};e.set(Te,!0),Re.setPosition(a);const d={x:a.x-o.x,y:a.y-o.y};return C(i.id,{position:a,size:n,hasBeenDragged:!0,offsetFromParent:d}),void setTimeout(()=>{e.set(Te,!1)},200)}}C(i.id,{position:t,size:n,hasBeenDragged:!0})}),$e=Be(()=>i.id,()=>e.get(le),()=>Re.position,e=>Re.setPosition(e),()=>Re.hasBeenDragged,e=>Re.setHasBeenDragged(e),()=>Le.hasBeenResized,()=>Le.size,(e,t,n)=>{C(i.id,{position:e,size:n,hasBeenDragged:t}),r(i.id)}),{trapFocus:Se,focusFirstElement:He}=Pe(),Xe=e.derived(()=>$e.isMinimizing||$e.isRestoring||$e.isOpening||$e.isClosing),Ye=e.derived(()=>(y(i.id)||x(i.id))&&!$e.isRestoring);let Fe=e.state(!1);const We=e.derived(()=>$e.isRestoring||$e.isOpening||e.get(Fe)),Ae=e.derived(()=>e.get(xe)&&!Re.hasBeenDragged&&!e.get(Xe)&&!$e.pendingOpenSource&&!e.get(Ye)),qe=e.derived(()=>{const t=[];return t.push(`z-index: ${e.get(Ee)};`),$e.animationTransform?(t.push(`left: ${Re.position.x}px; top: ${Re.position.y}px;`),t.push(`--genie-origin-x: ${$e.animationTransform.originX}px;`),t.push(`--genie-origin-y: ${$e.animationTransform.originY}px;`),t.push(`--genie-translate-x: ${$e.animationTransform.x}px;`),t.push(`--genie-translate-y: ${$e.animationTransform.y}px;`)):Re.hasBeenDragged&&t.push(`left: ${Re.position.x}px; top: ${Re.position.y}px; transform: none;`),Le.hasBeenResized?t.push(`width: ${Le.size.width}px; height: ${Le.size.height}px; max-width: none; max-height: none;`):(i.preferredHeight&&t.push(`min-height: ${i.preferredHeight};`),n()&&t.push(`max-width: ${n()};`)),e.get(Ie)&&i.glow&&(t.push(`--modal-glow-color: ${i.glow.color};`),t.push(`--modal-glow-intensity: ${i.glow.intensity};`)),t.join(" ")});function je(){e.get(oe)&&r(i.id)}function Ne(){var e;M(i.id)&&B(i.id),s(i.id),null==(e=i.onClose)||e.call(i)}function Ge(){Q(i.id)}function Ke(t){e.get(ne)&&e.get(le)&&Re.onPointerDown(t,e.get(le))}function Ue(e){a()&&"Escape"===e.key&&J(i.id)&&(e.stopPropagation(),Ne())}function Ve(t){if(!e.get(le))return;const n=Re.isDragging,o=Le.hasBeenResized?Le.size:{width:e.get(le).offsetWidth,height:e.get(le).offsetHeight};Re.onPointerMove(t,e.get(le),o),Re.isDragging&&n&&k(i.id,Re.position,{drag:!0})}function Ze(t){if(!e.get(le))return;const n=Re.isDragging;Re.onPointerUp(t,e.get(le)),n&&!Le.justFinishedResizing&&(k(i.id,Re.position,{drag:!0}),D(i.id))}function Je(){var t;const n=u();if("smart"!==(null==(t=n.positioning)?void 0:t.strategy))return!1;const o=h(i.id),r=A();if((null==o?void 0:o.parentId)||r&&r.childId===i.id)return!1;if((null==o?void 0:o.hasBeenDragged)||(null==o?void 0:o.position))return!1;const s=e.get(le)||document.querySelector(`[data-modal-id="${e.get(te)}"]`);if(!s)return!1;const a=s.offsetWidth,d=s.offsetHeight;if(a<=0||d<=0)return!1;const l=n.positioning.modalGap??16,g=q(i.id),c=j(n.positioning.avoidElements??[]),p=N(a,d,g,{modalGap:l,avoidBounds:c});if(G(p.x,p.y,a,d,g,l)/(a*d)>.1&&g.length>0){const e=K(i.id),t=U(a,d,e,{modalGap:l});if(t&&t.existingModalMoves.size>0)return V(t.existingModalMoves),Re.setPosition(t.newModalPosition),Re.setHasBeenDragged(!0),k(i.id,t.newModalPosition,{size:{width:a,height:d}}),!0}return Re.setPosition(p),Re.setHasBeenDragged(!0),k(i.id,p,{size:{width:a,height:d}}),!0}function Qe(){ue().then(()=>ue()).then(()=>{let t=0;const i=()=>{t+=1,Je()||t>5||requestAnimationFrame(i)};e.get(le)?i():requestAnimationFrame(i)})}ge(()=>{var t;function n(){const t=h(i.id);if(!(null==t?void 0:t.position)||!e.get(le))return;if(t.parentId)return;const n=Le.hasBeenResized?Le.size.width:e.get(le).offsetWidth,o=Le.hasBeenResized?Le.size.height:e.get(le).offsetHeight;if(n<=0||o<=0)return;const r=g(t.position.x,t.position.y,n,o);(Math.abs(r.x-t.position.x)>1||Math.abs(r.y-t.position.y)>1)&&(Re.setPosition(r),k(i.id,r))}return l()||(t=o(),Z({id:i.id,title:i.title,icon:i.icon??"",isOpen:t,isMinimized:!1,isHiddenWithParent:!1,isTransparent:!1,isRejected:!1,position:null,size:null,hasBeenDragged:!1,dockPosition:0,glow:i.glow??null,parentId:void 0,childId:void 0,offsetFromParent:void 0}),t&&d(i.id)),o()&&(ue().then(()=>{e.get(le)&&He(e.get(le))}),Qe()),window.addEventListener("pointermove",Ve),window.addEventListener("pointerup",Ze),window.addEventListener("resize",n),()=>{window.removeEventListener("pointermove",Ve),window.removeEventListener("pointerup",Ze),window.removeEventListener("resize",n)}}),pe(()=>{_(i.id),l()||b(i.id)}),e.user_effect(()=>{f();const t=h(i.id);if(t){if(e.set(he,t.isTransparent,!0),!Re.isDragging&&!Le.isResizing&&t.position){const e=Re.position,i=t.position;(Math.abs(e.x-i.x)>.5||Math.abs(e.y-i.y)>.5)&&(Re.setPosition(i),t.hasBeenDragged&&Re.setHasBeenDragged(!0))}ue().then(()=>function(){var t,n;if(!h(i.id))return;if(M(i.id))return B(i.id),void(null==(t=i.onClose)||t.call(i));if(w(i.id)&&!e.get(ve)){if(e.set(ve,!0),I(),e.get(le)){const t=e.get(le).getBoundingClientRect(),n=Re.hasBeenDragged?Re.position:{x:t.left,y:t.top},o=Le.hasBeenResized?Le.size:{width:t.width,height:t.height};C(i.id,{position:n,size:o,hasBeenDragged:!0})}$e.startMinimize(void 0,()=>{E(i.id),e.set(ve,!1)})}if(x(i.id)){R(i.id);const t=h(i.id);$e.startRestore((null==t?void 0:t.position)??void 0,(null==t?void 0:t.size)??void 0),ue().then(()=>{e.get(le)&&He(e.get(le))})}if(y(i.id)){P(i.id);const e=h(i.id);$e.startRestore((null==e?void 0:e.position)??void 0,(null==e?void 0:e.size)??void 0)}v(i.id)&&(T(i.id),$e.startClose(()=>{var e;_(i.id),L(i.id),null==(e=i.onClose)||e.call(i)}));const o=$(i.id),r=!!o||!!(null==(n=h(i.id))?void 0:n.parentId);if(S(i.id)){H(i.id);const t=O(i.id)||i.openSourcePosition||null;t?($e.setPendingOpenSource(t),ue().then(()=>ue()).then(()=>{r||Je(),$e.tryStartOpenAnimation()})):r||Qe(),ue().then(()=>{e.get(le)&&He(e.get(le))})}var s;X(i.id)&&(Y(i.id),F(i.id),e.set(we,!0),setTimeout(()=>{e.set(we,!1),W(i.id)},600)),o&&e.get(le)&&(s=o.parentId,ue().then(()=>ue()).then(()=>{let t=0;const n=()=>{t+=1;const o=function(t){var n,o;const r=h(t);if(!r)return!1;const s=e.get(le)||document.querySelector(`[data-modal-id="${e.get(te)}"]`),a=document.querySelector(`[data-modal-id="${p(t)}"]`),d=null==a?void 0:a.getBoundingClientRect(),l=r.position??(d?{x:d.left,y:d.top}:null);if(!l||!s)return!1;const g=(null==(n=r.size)?void 0:n.width)??(null==a?void 0:a.offsetWidth)??(null==d?void 0:d.width)??480,c=(null==(o=r.size)?void 0:o.height)??(null==a?void 0:a.offsetHeight)??(null==d?void 0:d.height)??400,u=s.offsetWidth,m=s.offsetHeight;if(g<=0||c<=0||u<=0||m<=0)return!1;const f={x:l.x+(g-u)/2,y:l.y+(c-m)/2};return Re.setPosition(f),Re.setHasBeenDragged(!0),k(i.id,f,{size:{width:u,height:m}}),r.position&&r.size||!d||k(t,{x:d.left,y:d.top},{size:{width:g,height:c}}),ee(t,i.id),!0}(s);o||t>5||requestAnimationFrame(n)};e.get(le)?n():requestAnimationFrame(n)}))}())}}),e.user_effect(()=>{const t=h(i.id);t&&t.isTransparent!==e.get(he)&&e.set(he,t.isTransparent,!0)}),e.user_effect(()=>{if(e.get(xe)&&e.get(le)){const t=t=>function(t){e.get(le)&&Se(t,e.get(le))}(t);return e.get(le).addEventListener("keydown",t),()=>{var i;return null==(i=e.get(le))?void 0:i.removeEventListener("keydown",t)}}}),e.user_effect(()=>{!e.get(xe)&&$e.isMinimizing&&$e.forceClearMinimize()}),e.user_effect(()=>{$e.isRestoring||$e.isOpening?e.set(Fe,!0):e.get(Fe)&&requestAnimationFrame(()=>{e.set(Fe,!1)})}),e.user_effect(()=>{e.get(fe)&&!e.get(be)&&(e.set(me,!0),setTimeout(()=>{e.set(me,!1)},200)),e.set(fe,e.get(be),!0)});var tt=e.comment(),it=e.first_child(tt),dt=t=>{Oe(t,{get target(){return c},children:(t,n)=>{var o=at();let r;o.__keydown=Ue;var s=e.child(o);{let t=e.derived(()=>e.get(ne)?Ke:void 0);et(s,{get title(){return i.title},get customIcon(){return i.customIcon},get icon(){return i.icon},get isTransparent(){return e.get(he)},get titleId(){return e.get(Ce)},get headerLayout(){return e.get(de)},get onStartDrag(){return e.get(t)},onToggleStyle:Ge,onMinimize:je,onClose:Ne,get minimizable(){return e.get(oe)},get minimizeDisabled(){return e.get(re)},get transparencyEnabled(){return e.get(se)}})}var a=e.sibling(s,2),l=e.child(a);e.snippet(l,()=>i.children??e.noop),e.reset(a),e.action(a,(e,t)=>null==ot?void 0:ot(e,t),()=>i.bodyElement);var g=e.sibling(a,2),c=t=>{var n=rt(),o=e.child(n),r=t=>{var n=e.comment(),o=e.first_child(n);e.snippet(o,()=>i.footer),e.append(t,n)};e.if(o,e=>{i.footer&&e(r)}),e.reset(n),e.action(n,(e,t)=>null==ot?void 0:ot(e,t),()=>i.footerElement),e.append(t,n)};e.if(g,e=>{(i.footer||i.footerElement)&&e(c)});var u=e.sibling(g,2);{let t=e.derived(()=>e.get(ae)&&!e.get(be)?Le.handlers.startResize:void 0);nt(u,{get onStartResize(){return e.get(t)}})}var p=e.sibling(u,2),h=t=>{var i=st();let n;e.template_effect(()=>n=e.set_class(i,1,"modal-child-overlay",null,n,{"modal-overlay-closing":e.get(me)})),e.append(t,i)};e.if(p,t=>{e.get(Me)&&t(h)}),e.reset(o),e.bind_this(o,t=>e.set(le,t),()=>e.get(le)),e.template_effect(()=>{var t;r=e.set_class(o,1,"modal-dialog",null,r,{"modal-dragging":Re.isDragging,"modal-resizing":Le.isResizing,"modal-positioned":Re.hasBeenDragged,"modal-minimizing":$e.isMinimizing,"modal-restoring":$e.isRestoring,"modal-opening":$e.isOpening,"modal-closing":$e.isClosing,"modal-centered":e.get(Ae),"modal-solid":!e.get(he),"modal-transparent":e.get(he),"modal-glow":e.get(Ie),"modal-has-child":e.get(be),"modal-is-child":e.get(ze),"modal-visible-by-animation":e.get(We),"modal-animating-to-center":e.get(Te),"modal-animating-position":null==(t=e.get(ye))?void 0:t.isAnimatingPosition,"modal-attention":e.get(we)}),e.set_attribute(o,"data-modal-id",e.get(te)),e.set_style(o,e.get(qe)),e.set_attribute(o,"aria-labelledby",e.get(Ce))}),e.event("pointerdown",o,()=>d(i.id),!0),e.append(t,o)},$$slots:{default:!0}})};e.if(it,t=>{e.get(xe)&&t(dt)}),e.append(t,tt),e.pop()}(t,{get id(){return i.id},get title(){return i.title},get icon(){return i.icon},get customIcon(){return i.customIcon},get maxWidth(){return n()},get preferredHeight(){return i.preferredHeight},get autoOpen(){return o()},get openSourcePosition(){return i.openSourcePosition},get glow(){return i.glow},get config(){return i.config},get closeOnEscape(){return a()},get onClose(){return i.onClose},get children(){return i.children},get footer(){return i.footer},skipRegistration:!0})};e.if(ie,t=>{e.get(c)&&t(ne)}),e.append(t,te),e.pop()}e.delegate(["keydown"]);var lt=e.from_html('<button type="button" aria-label="Drag dock"></button>'),gt=e.from_html('<span class="modal-dock-item-icon-placeholder"> </span>'),ct=e.from_html('<span class="modal-dock-item-label"> </span>'),ut=e.from_html("<span>+</span>"),pt=e.from_html('<span class="modal-dock-child-indicator"><!></span>'),ht=e.from_html('<button><span class="modal-dock-item-icon"><!></span> <!> <span class="modal-dock-item-glow"></span> <!></button>'),mt=e.from_html('<div data-dock-container="true"><div><!> <!></div></div>');function ft(t,i){e.push(i,!0);const n=le(xe),r=e.derived(()=>i.renderIcon??(null==n?void 0:n())),s=ie(),a=e.derived(()=>(m(),u())),d=e.derived(()=>te("DOCK")),l=e.derived(()=>e.get(a).dock.position),c=e.derived(()=>e.get(a).dock.labelMode);let h=e.state("horizontal"),v=e.state(e.proxy({x:100,y:100})),w=e.state(null),y=e.state(!1),x={x:0,y:0},_=null;const b=e.derived(()=>(f(),Array.from(s.modals.values()).filter(e=>e.isMinimized).sort((e,t)=>e.dockPosition-t.dockPosition))),z=e.derived(()=>{switch(e.get(l)){case"left":return{x:-20,duration:250,easing:we};case"right":return{x:20,duration:250,easing:we};default:return{y:20,duration:250,easing:we}}});function k(t){var i;"free"===e.get(l)&&(e.set(y,!0),_=t.pointerId,x={x:t.clientX-e.get(v).x,y:t.clientY-e.get(v).y},null==(i=t.currentTarget)||i.setPointerCapture(t.pointerId),window.addEventListener("pointermove",D),window.addEventListener("pointerup",M),window.addEventListener("pointercancel",M))}function D(t){if(t.pointerId!==_||!e.get(w))return;const i=e.get(w).getBoundingClientRect(),n=window.innerWidth-i.width-8,o=window.innerHeight-i.height-8,r=Math.min(Math.max(t.clientX-x.x,8),Math.max(8,n)),s=Math.min(Math.max(t.clientY-x.y,8),Math.max(8,o));e.set(v,{x:Math.round(r),y:Math.round(s)},!0)}function M(t){t.pointerId===_&&(e.set(y,!1),_=null,window.removeEventListener("pointermove",D),window.removeEventListener("pointerup",M),window.removeEventListener("pointercancel",M))}const{addListener:B}=Se();function I(){if("free"!==e.get(l)||!e.get(w))return;const t=e.get(w).getBoundingClientRect(),i=g(e.get(v).x,e.get(v).y,t.width,t.height);i.x===e.get(v).x&&i.y===e.get(v).y||e.set(v,{x:Math.round(i.x),y:Math.round(i.y)},!0)}e.user_effect(()=>{"undefined"!=typeof window&&B("resize",I)});var C={setDockOrientation:function(t){e.set(h,t,!0)},setDockFreePosition:function(t){e.set(v,t,!0)},getDockState:function(){return{dockPosition:e.get(l),dockOrientation:e.get(h),dockFreePosition:e.get(v),dockLabelMode:e.get(c)}}};return Oe(t,{get target(){return e.get(a).portalTarget},children:(t,i)=>{var n=mt();let a,g;var u=e.child(n);let m;var f=e.child(u),x=t=>{var i=lt();let n;i.__pointerdown=k,e.template_effect(()=>n=e.set_class(i,1,"modal-dock-handle",null,n,{"modal-dock-handle-dragging":e.get(y)})),e.append(t,i)};e.if(f,t=>{"free"===e.get(l)&&t(x)});var _=e.sibling(f,2);e.each(_,19,()=>e.get(b),e=>e.id,(t,i,n)=>{const a=e.derived(()=>e.get(i).lastChildId?s.modals.get(e.get(i).lastChildId):null);var d=ht();let l;d.__click=t=>{ne(e.get(i).id)?oe(t.currentTarget):o(e.get(i).id)};var g=e.child(d),u=e.child(g),h=t=>{var n=e.comment(),o=e.first_child(n);e.snippet(o,()=>e.get(r),()=>e.get(i).icon),e.append(t,n)},m=t=>{var n=gt(),o=e.child(n,!0);e.reset(n),e.template_effect(t=>e.set_text(o,t),[()=>e.get(i).title.charAt(0)]),e.append(t,n)};e.if(u,t=>{e.get(i).icon&&e.get(r)?t(h):t(m,!1)}),e.reset(g);var f=e.sibling(g,2),v=t=>{var n=ct(),o=e.child(n,!0);e.reset(n),e.template_effect(()=>e.set_text(o,e.get(i).title)),e.append(t,n)};e.if(f,t=>{"hidden"!==e.get(c)&&t(v)});var w=e.sibling(f,4),y=t=>{var i=pt(),n=e.child(i),o=t=>{var i=e.comment(),n=e.first_child(i);e.snippet(n,()=>e.get(r),()=>e.get(a).icon),e.append(t,i)},s=t=>{var i=ut();e.append(t,i)};e.if(n,t=>{e.get(a).icon&&e.get(r)?t(o):t(s,!1)}),e.reset(i),e.append(t,i)};e.if(w,t=>{e.get(i).lastChildId&&e.get(a)&&t(y)}),e.reset(d),e.template_effect(t=>{l=e.set_class(d,1,"modal-dock-item",null,l,{"modal-dock-item-has-glow":!!e.get(i).glow,"modal-dock-item-has-child":!!e.get(i).lastChildId,"modal-dock-item-label-beside":"beside"===e.get(c),"modal-dock-item-label-below":"below"===e.get(c)}),e.set_attribute(d,"data-modal-id",t),e.set_style(d,e.get(i).glow?`--modal-dock-glow-color: ${e.get(i).glow.color};`:"")},[()=>p(e.get(i).id)]),e.transition(3,d,()=>me,()=>({duration:300,delay:50*e.get(n),easing:ye,start:.5})),e.append(t,d)}),e.reset(u),e.reset(n),e.bind_this(n,t=>e.set(w,t),()=>e.get(w)),e.template_effect(()=>{a=e.set_class(n,1,"modal-dock-container",null,a,{"modal-dock-left":"left"===e.get(l),"modal-dock-right":"right"===e.get(l),"modal-dock-bottom":"bottom"===e.get(l),"modal-dock-free":"free"===e.get(l),"modal-dock-empty":0===e.get(b).length}),g=e.set_style(n,"free"===e.get(l)?`left: ${e.get(v).x}px; top: ${e.get(v).y}px;`:"",g,{"z-index":e.get(d)}),m=e.set_class(u,1,"modal-dock",null,m,{"modal-dock-free-horizontal":"free"===e.get(l)&&"horizontal"===e.get(h),"modal-dock-free-vertical":"free"===e.get(l)&&"vertical"===e.get(h)})}),e.transition(3,n,()=>fe,()=>e.get(b).length>0?e.get(z):{duration:0}),e.append(t,n)},$$slots:{default:!0}}),e.pop(C)}e.delegate(["pointerdown","click"]);var vt=e.from_html('<div class="modal-backdrop svelte-1d3nq4t" aria-hidden="true"></div>');function wt(t,i){e.push(i,!0);const n=ie(),o=e.derived(()=>(m(),u())),r=e.derived(()=>e.get(o).features.backdrop),s=e.derived(()=>(f(),Array.from(n.modals.values()).some(e=>e.isOpen&&!e.isMinimized&&!e.isHiddenWithParent))),a=e.derived(()=>e.get(r)&&e.get(s)),d=e.derived(()=>te("MODAL")-1);Oe(t,{get target(){return e.get(o).portalTarget},children:(t,i)=>{var n=e.comment(),o=e.first_child(n),r=t=>{var i=vt();let n;e.template_effect(()=>n=e.set_style(i,"",n,{"z-index":e.get(d)})),e.transition(3,i,()=>ve,()=>({duration:200})),e.append(t,i)};e.if(o,t=>{e.get(a)&&t(r)}),e.append(t,n)},$$slots:{default:!0}}),e.pop()}var yt=e.from_html("<!> <!>",1);function xt(t,i){e.push(i,!0),ce(xe,()=>i.renderIcon),e.user_effect(()=>(he(()=>{i.config&&re(i.config),se()}),()=>{ae(),de()})),e.user_effect(()=>{if("undefined"==typeof document)return;const e=he(()=>u().portalTarget);if("string"==typeof e&&!document.querySelector(e)){const t=document.createElement("div");return t.id=e.replace("#",""),document.body.appendChild(t),()=>{t.remove()}}});var n=yt(),o=e.first_child(n);wt(o,{});var r=e.sibling(o,2);e.snippet(r,()=>i.children??e.noop),e.append(t,n),e.pop()}export{wt as B,ft as D,dt as M,Oe as P,nt as R,xt as a,et as b,ke as c,De as d,Be as e,Re as f,Pe as g,Le as h,$e as i,Se as j,Ee as t,ze as u};
|
|
1
|
+
var e,t,i,n,r,o,a=e=>{throw TypeError(e)},s=(e,t,i)=>(((e,t)=>{t.has(e)||a("Cannot read from private field")})(e,t),i?i.call(e):t.get(e)),l=(e,t,i)=>t.has(e)?a("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i);import*as d from"svelte/internal/client";import{s as c,a as p,g,b as u,o as f,r as m,m as v,c as h,d as _,i as b,e as w,f as y,h as S,t as k,j as x,F as C,k as z,l as E,C as I,R as T,n as M,M as P,p as L,D as $,q as A,u as O,v as D,w as W,x as R,y as H,z as F,A as B,B as j,E as q,G as N,H as G,I as K,J as X,K as Y,L as J,N as Q,O as U,P as V,Q as Z,S as ee}from"./core.js";import{getContext as te,onMount as ie,setContext as ne,onDestroy as re,untrack as oe}from"svelte";import"svelte/internal/disclose-version";import{scale as ae,fly as se,fade as le}from"svelte/transition";import{cubicOut as de,backOut as ce}from"svelte/easing";let pe=d.state(0),ge=d.state(0);function ue(){return d.get(pe)}function fe(){return d.get(ge)}c(()=>{d.set(pe,g(),!0)}),p(()=>{d.set(ge,u(),!0)});const me=Symbol("modal-render-icon"),ve=Symbol("modal-id"),he=Symbol("modal-provider-config");function _e(e,t){if(!b(e))throw new Error(`Cannot call ${t}() on unregistered modal "${String(e)}". Ensure the Modal component is rendered.`)}function be(e){return{shake:()=>{_e(e,"shake"),k(e)},bringToFront:()=>{_e(e,"bringToFront"),S(e)},isOpen:()=>y(e),isMinimized:()=>{ue();const t=w(e);return(null==t?void 0:t.isMinimized)??!1},isRegistered:()=>b(e),open:t=>{_e(e,"open"),_(e,t)},close:()=>{_e(e,"close"),h(e)},minimize:()=>{_e(e,"minimize"),v(e)},restore:()=>{_e(e,"restore"),m(e)},openChild:(t,i)=>{_e(e,"openChild"),f(t,e,i??document.body)}}}function we(){return{getModals:()=>(ue(),x()),getMinimizedCount:()=>(ue(),Array.from(x().values()).filter(e=>e.isMinimized).length),getOpenCount:()=>(ue(),Array.from(x().values()).filter(e=>!e.isMinimized&&e.isOpen).length)}}function ye(e){return Array.from(e.querySelectorAll(C)).filter(e=>null!==e.offsetParent||"A"===e.tagName)}function Se(e,t){if("Tab"!==e.key)return;const i=ye(t);if(0===i.length)return void e.preventDefault();const n=i[0],r=i[i.length-1],o=document.activeElement;e.shiftKey?o===n&&(r.focus(),e.preventDefault()):o===r&&(n.focus(),e.preventDefault())}function ke(e){const t=ye(e);return t.length>0&&(t[0].focus(),!0)}function xe(){return{trapFocus:Se,focusFirstElement:ke}}const Ce="modal-portal";function ze(){return{mount:function(e,t=null){const i=function(e){if("undefined"==typeof window)return null;if(e instanceof HTMLElement)return e;if("string"==typeof e){const t=document.querySelector(e);if(t)return t;if(e.startsWith("#")){const t=e.slice(1),i=document.createElement("div");return i.id=t,document.body.appendChild(i),i}}let t=document.getElementById(Ce);return t||(t=document.createElement("div"),t.id=Ce,document.body.appendChild(t)),t}(t);return i?(i.appendChild(e),()=>{e.parentNode===i&&i.removeChild(e),i.id!==Ce&&0===i.children.length&&i.parentNode&&i.parentNode.removeChild(i)}):()=>{}}}}function Ee(e){const t=te(ve),i=e??t;if(!i)throw new Error("useModalZIndex: No modal ID provided and no modal context found. Either pass a modal ID or use this hook inside a Modal component.");return{get zIndex(){const e=w(i);return((null==e?void 0:e.zIndex)??z().zIndex.base)+1},get portalTarget(){return z().portalTarget}}}function Ie(){function e(e,t,i){return"undefined"==typeof window?()=>{}:(window.addEventListener(e,t,i),()=>{window.removeEventListener(e,t,i)})}return{addListener:e,addListenerEffect:function(t,i,n){d.user_effect(()=>{if("undefined"!=typeof window)return e(t,i,n)})}}}function Te(e={}){const{getModalConfig:t,getProviderConfig:i}=e;let n;if(void 0===i)try{n=te(he)}catch{n=void 0}function r(){return void 0!==i?i():null==n?void 0:n()}const o=E({getModalConfig:t??(()=>{}),getProviderConfig:r});function a(e){return(...t)=>(fe(),e(...t))}return{getEffectiveConfig:a(o.getEffectiveConfig),isFeatureEnabled:a(o.isFeatureEnabled),getAppearance:a(o.getAppearance),getAnimation:a(o.getAnimation),getPositioning:a(o.getPositioning),getParentChild:a(o.getParentChild),getProviderConfig:r}}var Me=d.from_html('<div style="display: contents;"><!></div>');function Pe(e,t){d.push(t,!0);let i=d.prop(t,"target",3,"body"),n=null,r=null;const{mount:o}=ze();ie(()=>(n&&(r=o(n,i())),()=>{null==r||r()}));var a=Me(),s=d.child(a);d.snippet(s,()=>t.children),d.reset(a),d.bind_this(a,e=>n=e,()=>n),d.append(e,a),d.pop()}var Le=d.from_html('<button type="button" aria-label="Minimize"></button>'),$e=d.from_html('<button type="button" aria-label="Toggle style"></button>'),Ae=d.from_html("<div><!></div>"),Oe=d.from_html("<div></div>"),De=d.from_html("<div><!></div>"),We=d.from_html("<h2> </h2>"),Re=d.from_html("<h2> </h2>"),He=d.from_html('<div><button type="button" aria-label="Close"></button> <!> <!></div> <div><!> <div><!></div></div> <div></div>',1),Fe=d.from_html("<div><!></div>"),Be=d.from_html("<div></div>"),je=d.from_html("<div><!></div>"),qe=d.from_html("<h2> </h2>"),Ne=d.from_html("<h2> </h2>"),Ge=d.from_html('<button type="button" aria-label="Toggle style">◇</button>'),Ke=d.from_html('<button type="button" aria-label="Minimize">–</button>'),Xe=d.from_html('<div><!> <!></div> <div><!> <!> <button type="button" aria-label="Close">×</button></div>',1),Ye=d.from_html("<header><!></header>");function Je(e,t){d.push(t,!0);let i=d.prop(t,"isTransparent",3,!1),n=d.prop(t,"headerLayout",3,"macos"),r=d.prop(t,"minimizable",3,!0),o=d.prop(t,"minimizeDisabled",3,!1),a=d.prop(t,"transparencyEnabled",3,!0);function s(e){return t.iconElement&&e.appendChild(t.iconElement),{destroy(){t.iconElement&&e.contains(t.iconElement)&&e.removeChild(t.iconElement)}}}const l=te(me),c=d.derived(()=>null==l?void 0:l()),p=d.derived(()=>"macos"===n());var g=Ye();let u;g.__pointerdown=function(e){var i;e.target.closest("button")||null==(i=t.onStartDrag)||i.call(t,e)};var f=d.child(g),m=e=>{var i=He(),n=d.first_child(i),l=d.child(n);l.__click=function(...e){var i;null==(i=t.onClose)||i.apply(this,e)};var p=d.sibling(l,2),g=e=>{var i=Le();let n;i.__click=function(...e){var i;null==(i=o()?void 0:t.onMinimize)||i.apply(this,e)},d.template_effect(()=>{n=d.set_class(i,1,`${I.headerLight??""} ${I.headerLightMinimize??""}`,null,n,{"modal-header-light-disabled":o()}),i.disabled=o(),d.set_attribute(i,"title",o()?"Enable dock to minimize":void 0)}),d.append(e,i)};d.if(p,e=>{r()&&e(g)});var u=d.sibling(p,2),f=e=>{var i=$e();i.__click=function(...e){var i;null==(i=t.onToggleStyle)||i.apply(this,e)},d.template_effect(()=>d.set_class(i,1,`${I.headerLight??""} ${I.headerLightStyle??""}`)),d.append(e,i)};d.if(u,e=>{a()&&e(f)}),d.reset(n);var m=d.sibling(n,2),v=d.child(m),h=e=>{var i=Ae(),n=d.child(i);d.snippet(n,()=>t.customIcon),d.reset(i),d.template_effect(()=>d.set_class(i,1,d.clsx(I.headerIcon))),d.append(e,i)},_=e=>{var i=d.comment(),n=d.first_child(i),r=e=>{var t=Oe();d.action(t,e=>null==s?void 0:s(e)),d.template_effect(()=>d.set_class(t,1,d.clsx(I.headerIcon))),d.append(e,t)},o=e=>{var i=d.comment(),n=d.first_child(i),r=e=>{var i=De(),n=d.child(i);d.snippet(n,()=>d.get(c),()=>t.icon),d.reset(i),d.template_effect(()=>d.set_class(i,1,d.clsx(I.headerIcon))),d.append(e,i)};d.if(n,e=>{t.icon&&d.get(c)&&e(r)},!0),d.append(e,i)};d.if(n,e=>{t.iconElement?e(r):e(o,!1)},!0),d.append(e,i)};d.if(v,e=>{t.customIcon?e(h):e(_,!1)});var b=d.sibling(v,2),w=d.child(b),y=e=>{var i=We(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_attribute(i,"id",t.titleId),d.set_class(i,1,d.clsx(I.headerTitle)),d.set_text(n,t.title)}),d.append(e,i)},S=e=>{var i=Re(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_class(i,1,d.clsx(I.headerTitle)),d.set_text(n,t.title)}),d.append(e,i)};d.if(w,e=>{t.titleId?e(y):e(S,!1)}),d.reset(b),d.reset(m);var k=d.sibling(m,2);d.template_effect(()=>{d.set_class(n,1,d.clsx(I.headerTrafficLights)),d.set_class(l,1,`${I.headerLight??""} ${I.headerLightClose??""}`),d.set_class(m,1,d.clsx(I.headerMacCenter)),d.set_class(b,1,d.clsx(I.headerTitleGroup)),d.set_class(k,1,d.clsx(I.headerMacSpacer))}),d.append(e,i)},v=e=>{var i=Xe(),n=d.first_child(i),l=d.child(n),p=e=>{var i=Fe(),n=d.child(i);d.snippet(n,()=>t.customIcon),d.reset(i),d.template_effect(()=>d.set_class(i,1,d.clsx(I.headerIcon))),d.append(e,i)},g=e=>{var i=d.comment(),n=d.first_child(i),r=e=>{var t=Be();d.action(t,e=>null==s?void 0:s(e)),d.template_effect(()=>d.set_class(t,1,d.clsx(I.headerIcon))),d.append(e,t)},o=e=>{var i=d.comment(),n=d.first_child(i),r=e=>{var i=je(),n=d.child(i);d.snippet(n,()=>d.get(c),()=>t.icon),d.reset(i),d.template_effect(()=>d.set_class(i,1,d.clsx(I.headerIcon))),d.append(e,i)};d.if(n,e=>{t.icon&&d.get(c)&&e(r)},!0),d.append(e,i)};d.if(n,e=>{t.iconElement?e(r):e(o,!1)},!0),d.append(e,i)};d.if(l,e=>{t.customIcon?e(p):e(g,!1)});var u=d.sibling(l,2),f=e=>{var i=qe(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_attribute(i,"id",t.titleId),d.set_class(i,1,d.clsx(I.headerTitle)),d.set_text(n,t.title)}),d.append(e,i)},m=e=>{var i=Ne(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_class(i,1,d.clsx(I.headerTitle)),d.set_text(n,t.title)}),d.append(e,i)};d.if(u,e=>{t.titleId?e(f):e(m,!1)}),d.reset(n);var v=d.sibling(n,2),h=d.child(v),_=e=>{var i=Ge();i.__click=function(...e){var i;null==(i=t.onToggleStyle)||i.apply(this,e)},d.template_effect(()=>d.set_class(i,1,`${I.headerBtnWindows??""} ${I.headerBtnWindowsStyle??""}`)),d.append(e,i)};d.if(h,e=>{a()&&e(_)});var b=d.sibling(h,2),w=e=>{var i=Ke();let n;i.__click=function(...e){var i;null==(i=o()?void 0:t.onMinimize)||i.apply(this,e)},d.template_effect(()=>{n=d.set_class(i,1,d.clsx(I.headerBtnWindows),null,n,{"modal-header-btn-windows-disabled":o()}),i.disabled=o(),d.set_attribute(i,"title",o()?"Enable dock to minimize":void 0)}),d.append(e,i)};d.if(b,e=>{r()&&e(w)});var y=d.sibling(b,2);y.__click=function(...e){var i;null==(i=t.onClose)||i.apply(this,e)},d.reset(v),d.template_effect(()=>{d.set_class(n,1,d.clsx(I.headerTitleGroup)),d.set_class(v,1,d.clsx(I.headerActions)),d.set_class(y,1,`${I.headerBtnWindows??""} ${I.headerBtnWindowsClose??""}`)}),d.append(e,i)};d.if(f,e=>{d.get(p)?e(m):e(v,!1)}),d.reset(g),d.template_effect(()=>u=d.set_class(g,1,d.clsx(I.header),null,u,{"modal-header-draggable":!!t.onStartDrag,transparent:i()})),d.append(e,g),d.pop()}d.delegate(["pointerdown","click"]);var Qe=d.from_html('<div role="separator" tabindex="0"></div>'),Ue=d.from_html('<div role="group" aria-label="Resize handles"></div>');function Ve(e,t){d.push(t,!0);var i=d.comment(),n=d.first_child(i),r=e=>{var i=Ue();d.each(i,21,()=>T,d.index,(e,i)=>{var n=Qe();n.__pointerdown=e=>function(e,i){var n;null==(n=t.onStartResize)||n.call(t,e,i)}(e,d.get(i)),d.template_effect(()=>{d.set_class(n,1,`${I.resizeHandle??""} ${I.resizePrefix??""}${d.get(i)??""}`),d.set_attribute(n,"aria-label",M[d.get(i)]),d.set_attribute(n,"aria-orientation","n"===d.get(i)||"s"===d.get(i)?"horizontal":"vertical")}),d.append(e,n)}),d.reset(i),d.template_effect(()=>d.set_class(i,1,d.clsx(I.resizeHandles))),d.append(e,i)};d.if(n,e=>{t.onStartResize&&e(r)}),d.append(e,i),d.pop()}function Ze(e,t){return t&&e.appendChild(t),{update(t){e.innerHTML="",t&&e.appendChild(t)},destroy(){e.innerHTML=""}}}d.delegate(["pointerdown"]);var et=d.from_html('<span class="sr-only"> </span>'),tt=d.from_html("<div><!></div>"),it=d.from_html("<div></div>"),nt=d.from_html("<div><!> <!> <div><!></div> <!> <!> <!></div>");function rt(e,t){d.push(t,!0);let i=d.prop(t,"maxWidth",3,"600px"),n=d.prop(t,"autoOpen",3,!1),r=d.prop(t,"closeOnEscape",3,!0),o=d.prop(t,"skipRegistration",3,!1);ne(ve,()=>t.id);const a=Te({getModalConfig:()=>t.config,getProviderConfig:()=>t.providerConfig}),s=d.derived(()=>a.getEffectiveConfig().portalTarget);let l=d.state(null),c=d.state(null),p=d.state(null);ie(()=>{d.set(l,new P({id:t.id,title:t.title,icon:t.icon,config:t.config,providerConfig:t.providerConfig,maxWidth:i(),preferredHeight:t.preferredHeight,glow:t.glow,closeOnEscape:r(),autoOpen:n(),openSourcePosition:t.openSourcePosition,onClose:t.onClose,skipRegistration:o(),configHelper:a}),!0);const e=d.get(l).subscribe(e=>{d.set(c,e,!0)});return d.set(c,d.get(l).getState(),!0),()=>{var t;e(),null==(t=d.get(l))||t.destroy(),d.set(l,null)}}),d.user_effect(()=>{d.get(p)&&d.get(l)&&d.get(l).mount(d.get(p))}),d.user_effect(()=>{d.get(l)&&void 0!==t.openSourcePosition&&d.get(l).setOpenSourcePosition(t.openSourcePosition)}),d.user_effect(()=>{d.get(l)&&d.get(l).updateGlow(t.glow)});const g=d.derived(()=>L(t.id)),u=d.derived(()=>`modal-title-${d.get(g)}`),f=d.derived(()=>t.description?`modal-desc-${d.get(g)}`:void 0),m=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.draggable)??!1}),v=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.resizable)??!1}),h=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.minimizable)??!1}),_=d.derived(()=>(fe(),!a.isFeatureEnabled("dock"))),b=d.derived(()=>(fe(),a.isFeatureEnabled("transparency"))),w=d.derived(()=>(fe(),a.getAppearance("headerLayout"))),y=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.isVisible)??!1}),k=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.showOverlay)??!1}),x=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.overlayClosing)??!1}),C=d.derived(()=>{var e;return(null==(e=d.get(c))?void 0:e.isTransparent)??!1}),z=d.derived(()=>{const e=d.get(c);return e?Object.entries(e.style).map(([e,t])=>`${e}: ${t};`).join(" "):""});function E(e){var t;null==(t=d.get(l))||t.startDrag(e)}function T(e){var t;null==(t=d.get(l))||t.handlePointerMove(e)}function M(e){var t;null==(t=d.get(l))||t.handlePointerUp(e)}function A(e){var t;null==(t=d.get(l))||t.handleKeyDown(e)}function O(){var e;null==(e=d.get(l))||e.minimize()}function D(){var e;null==(e=d.get(l))||e.close()}function W(){var e;null==(e=d.get(l))||e.toggleTransparency()}function R(e,t){var i;null==(i=d.get(l))||i.startResize(e,t)}var H=d.comment(),F=d.first_child(H),B=e=>{Pe(e,{get target(){return d.get(s)},children:(e,i)=>{var n=nt(),r=()=>S(t.id);d.attribute_effect(n,e=>({class:e,[$.modalId]:d.get(g),"data-state":d.get(c).dataState,"data-animation-phase":d.get(c).dataAnimationPhase,style:d.get(z),role:"dialog","aria-modal":"true","aria-labelledby":d.get(u),"aria-describedby":d.get(f),tabindex:"-1",onkeydown:A,onpointermove:T,onpointerup:M,onpointerdowncapture:r}),[()=>d.get(c).cssClasses.join(" ")]);var o=d.child(n),a=e=>{var i=et(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_attribute(i,"id",d.get(f)),d.set_text(n,t.description)}),d.append(e,i)};d.if(o,e=>{t.description&&e(a)});var s=d.sibling(o,2);{let e=d.derived(()=>d.get(m)?E:void 0);Je(s,{get title(){return t.title},get customIcon(){return t.customIcon},get icon(){return t.icon},get iconElement(){return t.iconElement},get isTransparent(){return d.get(C)},get titleId(){return d.get(u)},get headerLayout(){return d.get(w)},get onStartDrag(){return d.get(e)},onToggleStyle:W,onMinimize:O,onClose:D,get minimizable(){return d.get(h)},get minimizeDisabled(){return d.get(_)},get transparencyEnabled(){return d.get(b)}})}var l=d.sibling(s,2),y=d.child(l);d.snippet(y,()=>t.children??d.noop),d.reset(l),d.action(l,(e,t)=>null==Ze?void 0:Ze(e,t),()=>t.bodyElement);var P=d.sibling(l,2),L=e=>{var i=tt(),n=d.child(i),r=e=>{var i=d.comment(),n=d.first_child(i);d.snippet(n,()=>t.footer),d.append(e,i)};d.if(n,e=>{t.footer&&e(r)}),d.reset(i),d.action(i,(e,t)=>null==Ze?void 0:Ze(e,t),()=>t.footerElement),d.template_effect(()=>d.set_class(i,1,d.clsx(I.footer))),d.append(e,i)};d.if(P,e=>{(t.footer||t.footerElement)&&e(L)});var H=d.sibling(P,2);{let e=d.derived(()=>d.get(v)&&!d.get(c).hasChild?R:void 0);Ve(H,{get onStartResize(){return d.get(e)}})}var F=d.sibling(H,2),B=e=>{var t=it();let i;d.template_effect(()=>i=d.set_class(t,1,d.clsx(I.childOverlay),null,i,{"modal-overlay-closing":d.get(x)})),d.append(e,t)};d.if(F,e=>{d.get(k)&&e(B)}),d.reset(n),d.bind_this(n,e=>d.set(p,e),()=>d.get(p)),d.template_effect(()=>d.set_class(l,1,d.clsx(I.body))),d.append(e,n)},$$slots:{default:!0}})};d.if(F,e=>{d.get(y)&&d.get(c)&&e(B)}),d.append(e,H),d.pop()}function ot(e,t){d.push(t,!0);let i=d.prop(t,"maxWidth",3,"600px"),n=d.prop(t,"autoOpen",3,!1),r=d.prop(t,"closeOnEscape",3,!0),o=d.state(!1);ie(()=>{A(O({id:t.id,title:t.title,icon:t.icon,autoOpen:n(),glow:t.glow})),d.set(o,!0)}),re(()=>{D(t.id)});const a=d.derived(()=>{if(!d.get(o))return!1;ue();const e=w(t.id);return!!e&&(e.isOpen||e.isMinimized||W(t.id)||R(t.id)||H(t.id))});var s=d.comment(),l=d.first_child(s),c=e=>{rt(e,{get id(){return t.id},get title(){return t.title},get icon(){return t.icon},get customIcon(){return t.customIcon},get iconElement(){return t.iconElement},get maxWidth(){return i()},get preferredHeight(){return t.preferredHeight},get autoOpen(){return n()},get openSourcePosition(){return t.openSourcePosition},get glow(){return t.glow},get config(){return t.config},get closeOnEscape(){return r()},get onClose(){return t.onClose},get children(){return t.children},get footer(){return t.footer},get bodyElement(){return t.bodyElement},get footerElement(){return t.footerElement},skipRegistration:!0})};d.if(l,e=>{d.get(a)&&e(c)}),d.append(e,s),d.pop()}class at{constructor(){l(this,e,d.state(0)),l(this,t,d.state(-1)),l(this,i,d.state("forward")),l(this,n,d.state(!1)),l(this,r,d.state(d.proxy([]))),l(this,o,d.state("fade-slide"))}get currentStep(){return d.get(s(this,e))}set currentStep(t){d.set(s(this,e),t,!0)}get previousStep(){return d.get(s(this,t))}set previousStep(e){d.set(s(this,t),e,!0)}get direction(){return d.get(s(this,i))}set direction(e){d.set(s(this,i),e,!0)}get isAnimating(){return d.get(s(this,n))}set isAnimating(e){d.set(s(this,n),e,!0)}get steps(){return d.get(s(this,r))}set steps(e){d.set(s(this,r),e,!0)}get transitionStyle(){return d.get(s(this,o))}set transitionStyle(e){d.set(s(this,o),e,!0)}registerStep(e){const t=this.steps.length;return this.steps=[...this.steps,e],t}unregisterStep(e){}updateStep(e,t){e>=0&&e<this.steps.length&&(this.steps=this.steps.map((i,n)=>n===e?{...i,...t}:i))}reset(){this.currentStep=0,this.previousStep=-1,this.direction="forward",this.isAnimating=!1,this.steps=[]}setTransitionStyle(e){this.transitionStyle=e}}e=new WeakMap,t=new WeakMap,i=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap;var st=d.from_html("<div><div><!></div></div>");function lt(e,t){d.push(t,!0);let i=d.prop(t,"maxWidth",3,"500px"),n=d.prop(t,"autoOpen",3,!1),r=d.prop(t,"closeOnEscape",3,!0),o=d.prop(t,"transitionStyle",3,"fade-slide");const a=new at;d.user_effect(()=>{a.setTransitionStyle(o())});const s=700;function l(e){if("slide-through"!==o())return;const i=F(t.id);if(!i)return;const n="forward"===e?"wizard-modal-slide-forward":"wizard-modal-slide-backward";i.classList.add(n),setTimeout(()=>{i.classList.remove(n)},s)}function c(){var e,i;const n=a.steps[a.currentStep];n&&!n.getCanProceed()||(a.currentStep>=a.steps.length-1?null==(e=t.onComplete)||e.call(t):(a.direction="forward",a.isAnimating=!0,a.previousStep=a.currentStep,l("forward"),"slide-through"===o()?setTimeout(()=>{var e;a.currentStep++,null==(e=t.onStepChange)||e.call(t,a.currentStep,"forward")},350):(a.currentStep++,null==(i=t.onStepChange)||i.call(t,a.currentStep,"forward")),setTimeout(()=>{a.isAnimating=!1,a.previousStep=-1},s)))}function p(){var e;a.currentStep>0&&(a.direction="backward",a.isAnimating=!0,a.previousStep=a.currentStep,l("backward"),"slide-through"===o()?setTimeout(()=>{var e;a.currentStep--,null==(e=t.onStepChange)||e.call(t,a.currentStep,"backward")},350):(a.currentStep--,null==(e=t.onStepChange)||e.call(t,a.currentStep,"backward")),setTimeout(()=>{a.isAnimating=!1,a.previousStep=-1},s))}function g(e){var i;e<a.currentStep&&e>=0&&(a.direction="backward",a.isAnimating=!0,a.previousStep=a.currentStep,l("backward"),"slide-through"===o()?setTimeout(()=>{var i;a.currentStep=e,null==(i=t.onStepChange)||i.call(t,a.currentStep,"backward")},350):(a.currentStep=e,null==(i=t.onStepChange)||i.call(t,a.currentStep,"backward")),setTimeout(()=>{a.isAnimating=!1,a.previousStep=-1},s))}ne("wizard",a);const u=d.derived(()=>0===a.currentStep),f=d.derived(()=>a.steps.length>0&&a.currentStep===a.steps.length-1),m=d.derived(()=>a.steps.length>0?(a.currentStep+1)/a.steps.length*100:0),v=d.derived(()=>{var e;return(null==(e=a.steps[a.currentStep])?void 0:e.getCanProceed())??!0}),h=d.derived(()=>a.steps.length),_=d.derived(()=>({currentStep:a.currentStep,totalSteps:d.get(h),isFirstStep:d.get(u),isLastStep:d.get(f),canProceed:d.get(v),progress:d.get(m),steps:a.steps.map(e=>({title:e.title})),next:c,back:p,goToStep:g}));let b=d.state(!1),y=d.state(!1);ie(()=>{A({id:t.id,title:t.title,icon:t.icon??"",isOpen:n(),isMinimized:!1,isHiddenWithParent:!1,isTransparent:!1,isRejected:!1,position:null,size:null,hasBeenDragged:!1,dockPosition:0,glow:t.glow??null,parentId:void 0,childId:void 0,offsetFromParent:void 0}),d.set(b,!0)}),re(()=>{D(t.id)});const S=d.derived(()=>{if(!d.get(b))return!1;ue();const e=w(t.id);return!!e&&(e.isOpen||e.isMinimized||W(t.id)||R(t.id)||H(t.id))});d.user_pre_effect(()=>{const e=d.get(S);e&&!d.get(y)&&a.reset(),d.set(y,e,!0)});var k=d.comment(),x=d.first_child(k),C=e=>{{const s=e=>{var i=st();let n;var r=d.child(i);let s;var l=d.child(r),c=e=>{var i=d.comment(),n=d.first_child(i);d.snippet(n,()=>t.children),d.append(e,i)};d.if(l,e=>{t.children&&e(c)}),d.reset(r),d.reset(i),d.template_effect(()=>{n=d.set_class(i,1,"wizard-viewport svelte-cx8fqi",null,n,{"wizard-viewport-carousel":"slide-through"===o()}),s=d.set_class(r,1,"wizard-container svelte-cx8fqi",null,s,{"wizard-slide-forward":a.isAnimating&&"forward"===a.direction&&"slide-through"===o(),"wizard-slide-backward":a.isAnimating&&"backward"===a.direction&&"slide-through"===o()})}),d.append(e,i)},l=e=>{var i=d.comment(),n=d.first_child(i),r=e=>{var i=d.comment(),n=d.first_child(i);d.snippet(n,()=>t.footer,()=>d.get(_)),d.append(e,i)};d.if(n,e=>{t.footer&&e(r)}),d.append(e,i)};rt(e,{get id(){return t.id},get title(){return t.title},get icon(){return t.icon},get customIcon(){return t.customIcon},get maxWidth(){return i()},get preferredHeight(){return t.preferredHeight},get autoOpen(){return n()},get openSourcePosition(){return t.openSourcePosition},get glow(){return t.glow},get config(){return t.config},get closeOnEscape(){return r()},get onClose(){return t.onClose},skipRegistration:!0,children:s,footer:l,$$slots:{default:!0,footer:!0}})}};d.if(x,e=>{d.get(S)&&e(C)}),d.append(e,k),d.pop()}var dt=d.from_html("<div><!></div>");function ct(e,t){d.push(t,!0);let i=d.prop(t,"title",3,""),n=d.prop(t,"canProceed",3,!0);const r=te("wizard");let o,a=d.state(-1);ie(()=>{d.set(a,r.registerStep({title:i(),getCanProceed:()=>n()}),!0),o=n()}),d.user_effect(()=>{const e=n(),t=oe(()=>d.get(a)),i=oe(()=>o);t>=0&&e!==i&&(o=e,oe(()=>{r.updateStep(t,{getCanProceed:()=>e})}))});const s=d.derived(()=>d.get(a)>=0&&r.currentStep===d.get(a)),l=d.derived(()=>r.direction),c=d.derived(()=>r.isAnimating),p=d.derived(()=>r.transitionStyle),g=d.derived(()=>d.get(s));var u=d.comment(),f=d.first_child(u),m=e=>{var i=dt();let n;var r=d.child(i),o=e=>{var i=d.comment(),n=d.first_child(i);d.snippet(n,()=>t.children),d.append(e,i)};d.if(r,e=>{t.children&&e(o)}),d.reset(i),d.template_effect(()=>n=d.set_class(i,1,"wizard-step-wrapper svelte-sp1x21",null,n,{"wizard-fade-slide-left":d.get(c)&&d.get(s)&&"forward"===d.get(l)&&"fade-slide"===d.get(p),"wizard-fade-slide-right":d.get(c)&&d.get(s)&&"backward"===d.get(l)&&"fade-slide"===d.get(p)})),d.append(e,i)};d.if(f,e=>{d.get(g)&&e(m)}),d.append(e,u),d.pop()}var pt=d.from_html('<button type="button" aria-label="Drag dock"></button>'),gt=d.from_html("<span> </span>"),ut=d.from_html("<span> </span>"),ft=d.from_html("<span>+</span>"),mt=d.from_html("<span><!></span>"),vt=d.from_html("<button><span><!></span> <!> <span></span> <!></button>"),ht=d.from_html('<div data-dock-container="true"><div><!> <!></div></div>');function _t(e,t){d.push(t,!0);const i=te(me),n=d.derived(()=>t.renderIcon??(null==i?void 0:i())),r=x(),o=d.derived(()=>(fe(),z())),a=d.derived(()=>B("DOCK")),s=d.derived(()=>d.get(o).dock.position),l=d.derived(()=>d.get(o).dock.labelMode);let c=d.state("horizontal"),p=d.state(d.proxy({x:100,y:100})),g=d.state(null),u=d.state(!1),f={x:0,y:0},v=null;const h=d.derived(()=>(ue(),j())),_=d.derived(()=>{switch(d.get(s)){case"left":return{x:-20,duration:250,easing:de};case"right":return{x:20,duration:250,easing:de};default:return{y:20,duration:250,easing:de}}});function b(e){var t;"free"===d.get(s)&&(d.set(u,!0),v=e.pointerId,f={x:e.clientX-d.get(p).x,y:e.clientY-d.get(p).y},null==(t=e.currentTarget)||t.setPointerCapture(e.pointerId),window.addEventListener("pointermove",w),window.addEventListener("pointerup",y),window.addEventListener("pointercancel",y))}function w(e){if(e.pointerId!==v||!d.get(g))return;const t=d.get(g).getBoundingClientRect();d.set(p,K(e.clientX,e.clientY,f,t.width,t.height),!0)}function y(e){e.pointerId===v&&(d.set(u,!1),v=null,window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y))}const{addListener:S}=Ie();function k(){if("free"!==d.get(s)||!d.get(g))return;const e=d.get(g).getBoundingClientRect(),t=q(d.get(p),e.width,e.height);t.x===d.get(p).x&&t.y===d.get(p).y||d.set(p,t,!0)}d.user_effect(()=>{"undefined"!=typeof window&&S("resize",k)});var C={setDockOrientation:function(e){d.set(c,e,!0)},setDockFreePosition:function(e){d.set(p,e,!0)},getDockState:function(){return{dockPosition:d.get(s),dockOrientation:d.get(c),dockFreePosition:d.get(p),dockLabelMode:d.get(l)}}},E=d.comment(),T=d.first_child(E),M=e=>{Pe(e,{get target(){return d.get(o).portalTarget},children:(e,t)=>{var i=ht();let o,f;var v=d.child(i);let w;var y=d.child(v),S=e=>{var t=pt();let i;t.__pointerdown=b,d.template_effect(()=>i=d.set_class(t,1,d.clsx(I.dockHandle),null,i,{"modal-dock-handle-dragging":d.get(u)})),d.append(e,t)};d.if(y,e=>{"free"===d.get(s)&&e(S)});var k=d.sibling(y,2);d.each(k,19,()=>d.get(h),e=>e.id,(e,t,i)=>{const o=d.derived(()=>d.get(t).lastChildId?r.get(d.get(t).lastChildId):null);var a=vt(),s=e=>{N(d.get(t).id)?G(e.currentTarget):m(d.get(t).id)};d.attribute_effect(a,e=>({class:I.dockItem,...e,"aria-label":`Restore ${d.get(t).title??""}`,onclick:s,style:d.get(t).glow?`--modal-dock-glow-color: ${d.get(t).glow.color};`:"",[d.CLASS]:{"modal-dock-item-has-glow":!!d.get(t).glow,"modal-dock-item-has-child":!!d.get(t).lastChildId,"modal-dock-item-label-beside":"beside"===d.get(l),"modal-dock-item-label-below":"below"===d.get(l)}}),[()=>({[$.modalId]:L(d.get(t).id)})]);var c=d.child(a),p=d.child(c),g=e=>{var i=d.comment(),r=d.first_child(i);d.snippet(r,()=>d.get(n),()=>d.get(t).icon),d.append(e,i)},u=e=>{var i=gt(),n=d.child(i,!0);d.reset(i),d.template_effect(e=>{d.set_class(i,1,d.clsx(I.dockItemIconPlaceholder)),d.set_text(n,e)},[()=>d.get(t).title.charAt(0)]),d.append(e,i)};d.if(p,e=>{d.get(t).icon&&d.get(n)?e(g):e(u,!1)}),d.reset(c);var f=d.sibling(c,2),v=e=>{var i=ut(),n=d.child(i,!0);d.reset(i),d.template_effect(()=>{d.set_class(i,1,d.clsx(I.dockItemLabel)),d.set_text(n,d.get(t).title)}),d.append(e,i)};d.if(f,e=>{"hidden"!==d.get(l)&&e(v)});var h=d.sibling(f,2),_=d.sibling(h,2),b=e=>{var t=mt(),i=d.child(t),r=e=>{var t=d.comment(),i=d.first_child(t);d.snippet(i,()=>d.get(n),()=>d.get(o).icon),d.append(e,t)},a=e=>{var t=ft();d.append(e,t)};d.if(i,e=>{d.get(o).icon&&d.get(n)?e(r):e(a,!1)}),d.reset(t),d.template_effect(()=>d.set_class(t,1,d.clsx(I.dockChildIndicator))),d.append(e,t)};d.if(_,e=>{d.get(t).lastChildId&&d.get(o)&&e(b)}),d.reset(a),d.template_effect(()=>{d.set_class(c,1,d.clsx(I.dockItemIcon)),d.set_class(h,1,d.clsx(I.dockItemGlow))}),d.transition(3,a,()=>ae,()=>({duration:300,delay:50*d.get(i),easing:ce,start:.5})),d.append(e,a)}),d.reset(v),d.reset(i),d.bind_this(i,e=>d.set(g,e),()=>d.get(g)),d.template_effect(()=>{o=d.set_class(i,1,d.clsx(I.dockContainer),null,o,{"modal-dock-left":"left"===d.get(s),"modal-dock-right":"right"===d.get(s),"modal-dock-bottom":"bottom"===d.get(s),"modal-dock-free":"free"===d.get(s),"modal-dock-empty":0===d.get(h).length}),f=d.set_style(i,"free"===d.get(s)?`left: ${d.get(p).x}px; top: ${d.get(p).y}px;`:"",f,{"z-index":d.get(a)}),w=d.set_class(v,1,d.clsx(I.dock),null,w,{"modal-dock-free-horizontal":"free"===d.get(s)&&"horizontal"===d.get(c),"modal-dock-free-vertical":"free"===d.get(s)&&"vertical"===d.get(c)})}),d.transition(3,i,()=>se,()=>d.get(h).length>0?d.get(_):{duration:0}),d.append(e,i)},$$slots:{default:!0}})};return d.if(T,e=>{d.get(o).features.dock&&e(M)}),d.append(e,E),d.pop(C)}d.delegate(["pointerdown"]);var bt=d.from_html('<div aria-hidden="true"></div>');function wt(e,t){d.push(t,!0);const i=d.derived(()=>(fe(),z())),n=d.derived(()=>(fe(),X())),r=d.derived(()=>(fe(),Y())),o=d.derived(()=>(ue(),J())),a=d.derived(()=>B("MODAL")-1);Pe(e,{get target(){return d.get(i).portalTarget},children:(e,t)=>{var i=d.comment(),s=d.first_child(i),l=e=>{var t=bt();let i,r;d.template_effect(()=>{i=d.set_class(t,1,d.clsx(I.backdrop),null,i,{"backdrop-visible":d.get(n).visible,"backdrop-blocking":d.get(n).blockClicks}),r=d.set_style(t,"",r,{"z-index":d.get(a)})}),d.transition(3,t,()=>le,()=>({duration:200})),d.append(e,t)};d.if(s,e=>{d.get(o)&&d.get(r)&&e(l)}),d.append(e,i)},$$slots:{default:!0}}),d.pop()}var yt=d.from_html("<!> <!>",1);function St(e,t){d.push(t,!0),oe(()=>{t.config&&Q(t.config)}),ne(me,()=>t.renderIcon),ne(he,()=>t.config),d.user_effect(()=>(oe(()=>{U(),V()}),()=>{Z(),ee()})),d.user_effect(()=>{var e;if("undefined"==typeof document)return;const i=z(),n=(null==(e=t.config)?void 0:e.portalTarget)??i.portalTarget;if("string"==typeof n&&!document.querySelector(n)){const e=document.createElement("div");return e.id=n.replace("#",""),document.body.appendChild(e),()=>{e.remove()}}});var i=yt(),n=d.first_child(i);wt(n,{});var r=d.sibling(n,2);d.snippet(r,()=>t.children??d.noop),d.append(e,i),d.pop()}export{wt as B,_t as D,ve as M,Pe as P,me as R,lt as W,ot as a,Je as b,St as c,Ve as d,ct as e,ke as f,fe as g,ue as h,be as i,Te as j,Ee as k,we as l,ze as m,Ie as n,Se as t,xe as u};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
export interface VanillaBackdropOptions {
|
|
3
|
+
container: HTMLElement;
|
|
4
|
+
}
|
|
5
|
+
export declare class VanillaBackdrop {
|
|
6
|
+
private element;
|
|
7
|
+
private unsubscribe;
|
|
8
|
+
private abortController;
|
|
9
|
+
constructor(options: VanillaBackdropOptions);
|
|
10
|
+
private createDOM;
|
|
11
|
+
private render;
|
|
12
|
+
destroy(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=VanillaBackdrop.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
export interface VanillaDockOptions {
|
|
3
|
+
container: HTMLElement;
|
|
4
|
+
|
|
5
|
+
renderIcon?: (icon: string) => HTMLElement | null;
|
|
6
|
+
}
|
|
7
|
+
export declare class VanillaDock {
|
|
8
|
+
private containerEl;
|
|
9
|
+
private dockEl;
|
|
10
|
+
private parentContainer;
|
|
11
|
+
private unsubscribe;
|
|
12
|
+
private abortController;
|
|
13
|
+
private isAttached;
|
|
14
|
+
private options;
|
|
15
|
+
constructor(options: VanillaDockOptions);
|
|
16
|
+
private createContainerDOM;
|
|
17
|
+
private createDockDOM;
|
|
18
|
+
private render;
|
|
19
|
+
private createDockHandle;
|
|
20
|
+
private createDockItem;
|
|
21
|
+
private createIconPlaceholder;
|
|
22
|
+
destroy(): void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=VanillaDock.d.ts.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ModalId, ModalGlow, ModalConfigOverrides, Position } from '../core/types';
|
|
2
|
+
|
|
3
|
+
export interface VanillaModalOptions {
|
|
4
|
+
|
|
5
|
+
id: ModalId;
|
|
6
|
+
|
|
7
|
+
title: string;
|
|
8
|
+
|
|
9
|
+
container: HTMLElement;
|
|
10
|
+
|
|
11
|
+
icon?: string;
|
|
12
|
+
|
|
13
|
+
iconElement?: HTMLElement;
|
|
14
|
+
|
|
15
|
+
renderIcon?: (icon: string) => HTMLElement | null;
|
|
16
|
+
|
|
17
|
+
config?: ModalConfigOverrides;
|
|
18
|
+
|
|
19
|
+
maxWidth?: string;
|
|
20
|
+
|
|
21
|
+
preferredHeight?: string;
|
|
22
|
+
|
|
23
|
+
glow?: ModalGlow;
|
|
24
|
+
|
|
25
|
+
closeOnEscape?: boolean;
|
|
26
|
+
|
|
27
|
+
autoOpen?: boolean;
|
|
28
|
+
|
|
29
|
+
openSourcePosition?: Position | null;
|
|
30
|
+
|
|
31
|
+
onClose?: () => void;
|
|
32
|
+
|
|
33
|
+
content?: HTMLElement;
|
|
34
|
+
|
|
35
|
+
footer?: HTMLElement;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export declare class VanillaModal {
|
|
39
|
+
private controller;
|
|
40
|
+
private dialogEl;
|
|
41
|
+
private headerEl;
|
|
42
|
+
private bodyEl;
|
|
43
|
+
private footerEl;
|
|
44
|
+
private resizeHandlesContainer;
|
|
45
|
+
private container;
|
|
46
|
+
private options;
|
|
47
|
+
private configHelper;
|
|
48
|
+
private unsubscribe;
|
|
49
|
+
private abortController;
|
|
50
|
+
constructor(options: VanillaModalOptions);
|
|
51
|
+
|
|
52
|
+
destroy(): void;
|
|
53
|
+
|
|
54
|
+
private createDialogElement;
|
|
55
|
+
|
|
56
|
+
private createHeaderElement;
|
|
57
|
+
|
|
58
|
+
private getIconElement;
|
|
59
|
+
|
|
60
|
+
private createMacOSHeader;
|
|
61
|
+
|
|
62
|
+
private createWindowsHeader;
|
|
63
|
+
|
|
64
|
+
private createBodyElement;
|
|
65
|
+
|
|
66
|
+
private createFooterElement;
|
|
67
|
+
|
|
68
|
+
private createResizeHandles;
|
|
69
|
+
|
|
70
|
+
private updateFromState;
|
|
71
|
+
|
|
72
|
+
private updateStyles;
|
|
73
|
+
|
|
74
|
+
private setupEventHandlers;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=VanillaModal.d.ts.map
|