stimulus-library 0.3.19 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/controllers/ajax/async_block_controller.d.ts +18 -18
- package/dist/controllers/ajax/lazy_block_controller.d.ts +9 -9
- package/dist/controllers/ajax/load_block_controller.d.ts +19 -19
- package/dist/controllers/ajax/poll_block_controller.d.ts +16 -16
- package/dist/controllers/anchor_spy_controller.d.ts +15 -15
- package/dist/controllers/back_link_controller.d.ts +19 -19
- package/dist/controllers/clipboard_controller.d.ts +18 -18
- package/dist/controllers/confirm_controller.d.ts +13 -13
- package/dist/controllers/confirm_navigation_controller.d.ts +15 -15
- package/dist/controllers/debug_controller.d.ts +6 -6
- package/dist/controllers/disable_with_controller.d.ts +25 -25
- package/dist/controllers/dismissable_controller.d.ts +6 -6
- package/dist/controllers/element_save_controller.d.ts +25 -25
- package/dist/controllers/empty_dom_controller.d.ts +29 -29
- package/dist/controllers/forms/auto_submit_form_controller.d.ts +15 -14
- package/dist/controllers/forms/auto_submit_form_controller.d.ts.map +1 -1
- package/dist/controllers/forms/autosize_controller.d.ts +9 -9
- package/dist/controllers/forms/char_count_controller.d.ts +26 -26
- package/dist/controllers/forms/checkbox_select_all_controller.d.ts +14 -14
- package/dist/controllers/forms/detect_dirty_controller.d.ts +16 -16
- package/dist/controllers/forms/detect_dirty_form_controller.d.ts +19 -19
- package/dist/controllers/forms/disable_inputs_controller.d.ts +16 -16
- package/dist/controllers/forms/enable_inputs_controller.d.ts +16 -16
- package/dist/controllers/forms/form_rc_controller.d.ts +13 -7
- package/dist/controllers/forms/form_rc_controller.d.ts.map +1 -1
- package/dist/controllers/forms/form_save_controller.d.ts +33 -33
- package/dist/controllers/forms/limited_selection_checkboxes_controller.d.ts +17 -17
- package/dist/controllers/forms/navigate_form_errors_controller.d.ts +34 -34
- package/dist/controllers/forms/nested_form_controller.d.ts +21 -21
- package/dist/controllers/forms/password_confirm_controller.d.ts +17 -17
- package/dist/controllers/forms/password_peek_controller.d.ts +8 -8
- package/dist/controllers/forms/remote_form_controller.d.ts +13 -13
- package/dist/controllers/forms/sync_inputs_controller.d.ts +21 -21
- package/dist/controllers/forms/value_warn_controller.d.ts +39 -39
- package/dist/controllers/forms/word_count_controller.d.ts +26 -26
- package/dist/controllers/media/fallback_image_controller.d.ts +27 -27
- package/dist/controllers/media/lightbox_image_controller.d.ts +29 -29
- package/dist/controllers/media/media_player_controller.d.ts +12 -12
- package/dist/controllers/prefetch_controller.d.ts +18 -18
- package/dist/controllers/responsive_iframe_controller.d.ts +23 -23
- package/dist/controllers/scroll/scroll_container_controller.d.ts +21 -21
- package/dist/controllers/scroll/scroll_into_focus_controller.d.ts +15 -15
- package/dist/controllers/scroll/scroll_to_bottom_controller.d.ts +11 -11
- package/dist/controllers/scroll/scroll_to_controller.d.ts +17 -17
- package/dist/controllers/scroll/scroll_to_top_controller.d.ts +11 -11
- package/dist/controllers/self_destruct_controller.d.ts +10 -10
- package/dist/controllers/sticky_controller.d.ts +19 -19
- package/dist/controllers/tables/table_sort_controller.d.ts +20 -20
- package/dist/controllers/tables/table_truncate_controller.d.ts +26 -26
- package/dist/controllers/teleport_controller.d.ts +15 -15
- package/dist/controllers/temporary_state_controller.d.ts +28 -28
- package/dist/controllers/toggle_class_controller.d.ts +35 -35
- package/dist/controllers/turbo_frame_rc_controller.d.ts +20 -20
- package/dist/controllers/turbo_frame_refresh_controller.d.ts +16 -16
- package/dist/controllers/utility/intersection_controller.d.ts +13 -13
- package/dist/controllers/utility/interval_controller.d.ts +13 -13
- package/dist/controllers/utility/presence_controller.d.ts +5 -5
- package/dist/controllers/utility/timeout_controller.d.ts +12 -12
- package/dist/controllers/utility/user_focus_controller.d.ts +10 -10
- package/dist/controllers/visual/clock_controller.d.ts +18 -18
- package/dist/controllers/visual/countdown_controller.d.ts +53 -53
- package/dist/controllers/visual/duration_controller.d.ts +27 -27
- package/dist/controllers/visual/tabs_controller.d.ts +37 -37
- package/dist/controllers/visual/time_distance_controller.d.ts +18 -18
- package/dist/controllers/visual/tree_view_controller.d.ts +29 -29
- package/dist/index.d.ts +66 -66
- package/dist/stimulus-library.cjs.js +2 -0
- package/dist/stimulus-library.cjs.js.map +1 -0
- package/dist/stimulus-library.es.js +2 -0
- package/dist/stimulus-library.es.js.map +1 -0
- package/dist/stimulus-library.umd.js +1 -1
- package/dist/stimulus-library.umd.js.map +1 -1
- package/dist/utilities/base_controller.d.ts +13 -13
- package/dist/utilities/base_controller.d.ts.map +1 -1
- package/dist/utilities/elements.d.ts +13 -13
- package/dist/utilities/ephemeral_controller.d.ts +5 -5
- package/dist/utilities/event_bus.d.ts +3 -3
- package/dist/utilities/requestSubmit.d.ts +2 -2
- package/dist/utilities/scroll.d.ts +10 -10
- package/dist/utilities/turbo.d.ts +1 -1
- package/package.json +16 -10
- package/dist/stimulus-library.js +0 -2
- package/dist/stimulus-library.js.map +0 -1
- package/dist/stimulus-library.modern.js +0 -2
- package/dist/stimulus-library.modern.js.map +0 -1
- package/dist/stimulus-library.module.js +0 -2
- package/dist/stimulus-library.module.js.map +0 -1
- package/src/controllers/ajax/async_block_controller.ts +0 -28
- package/src/controllers/ajax/lazy_block_controller.ts +0 -31
- package/src/controllers/ajax/load_block_controller.ts +0 -59
- package/src/controllers/ajax/poll_block_controller.ts +0 -32
- package/src/controllers/anchor_spy_controller.ts +0 -47
- package/src/controllers/back_link_controller.ts +0 -49
- package/src/controllers/clipboard_controller.ts +0 -47
- package/src/controllers/confirm_controller.ts +0 -50
- package/src/controllers/confirm_navigation_controller.ts +0 -51
- package/src/controllers/debug_controller.ts +0 -11
- package/src/controllers/disable_with_controller.ts +0 -116
- package/src/controllers/dismissable_controller.ts +0 -12
- package/src/controllers/element_save_controller.ts +0 -93
- package/src/controllers/empty_dom_controller.ts +0 -105
- package/src/controllers/forms/auto_submit_form_controller.ts +0 -59
- package/src/controllers/forms/autosize_controller.ts +0 -41
- package/src/controllers/forms/char_count_controller.ts +0 -91
- package/src/controllers/forms/checkbox_select_all_controller.ts +0 -57
- package/src/controllers/forms/detect_dirty_controller.ts +0 -116
- package/src/controllers/forms/detect_dirty_form_controller.ts +0 -127
- package/src/controllers/forms/disable_inputs_controller.ts +0 -44
- package/src/controllers/forms/enable_inputs_controller.ts +0 -44
- package/src/controllers/forms/form_rc_controller.ts +0 -20
- package/src/controllers/forms/form_save_controller.ts +0 -141
- package/src/controllers/forms/limited_selection_checkboxes_controller.ts +0 -44
- package/src/controllers/forms/navigate_form_errors_controller.ts +0 -144
- package/src/controllers/forms/nested_form_controller.ts +0 -68
- package/src/controllers/forms/password_confirm_controller.ts +0 -68
- package/src/controllers/forms/password_peek_controller.ts +0 -27
- package/src/controllers/forms/remote_form_controller.ts +0 -34
- package/src/controllers/forms/sync_inputs_controller.ts +0 -89
- package/src/controllers/forms/value_warn_controller.ts +0 -107
- package/src/controllers/forms/word_count_controller.ts +0 -86
- package/src/controllers/media/fallback_image_controller.ts +0 -108
- package/src/controllers/media/lightbox_image_controller.ts +0 -89
- package/src/controllers/media/media_player_controller.ts +0 -37
- package/src/controllers/prefetch_controller.ts +0 -99
- package/src/controllers/responsive_iframe_controller.ts +0 -75
- package/src/controllers/scroll/scroll_container_controller.ts +0 -73
- package/src/controllers/scroll/scroll_into_focus_controller.ts +0 -34
- package/src/controllers/scroll/scroll_to_bottom_controller.ts +0 -35
- package/src/controllers/scroll/scroll_to_controller.ts +0 -38
- package/src/controllers/scroll/scroll_to_top_controller.ts +0 -35
- package/src/controllers/self_destruct_controller.ts +0 -23
- package/src/controllers/sticky_controller.ts +0 -84
- package/src/controllers/tables/table_sort_controller.ts +0 -105
- package/src/controllers/tables/table_truncate_controller.ts +0 -106
- package/src/controllers/teleport_controller.ts +0 -64
- package/src/controllers/temporary_state_controller.ts +0 -82
- package/src/controllers/toggle_class_controller.ts +0 -149
- package/src/controllers/turbo_frame_rc_controller.ts +0 -77
- package/src/controllers/turbo_frame_refresh_controller.ts +0 -51
- package/src/controllers/utility/intersection_controller.ts +0 -51
- package/src/controllers/utility/interval_controller.ts +0 -34
- package/src/controllers/utility/presence_controller.ts +0 -13
- package/src/controllers/utility/timeout_controller.ts +0 -30
- package/src/controllers/utility/user_focus_controller.ts +0 -40
- package/src/controllers/visual/clock_controller.ts +0 -75
- package/src/controllers/visual/countdown_controller.ts +0 -198
- package/src/controllers/visual/duration_controller.ts +0 -106
- package/src/controllers/visual/tabs_controller.ts +0 -162
- package/src/controllers/visual/time_distance_controller.ts +0 -66
- package/src/controllers/visual/tree_view_controller.ts +0 -154
- package/src/index.ts +0 -71
- package/src/utilities/base_controller.ts +0 -143
- package/src/utilities/elements.ts +0 -47
- package/src/utilities/ephemeral_controller.ts +0 -45
- package/src/utilities/event_bus.ts +0 -3
- package/src/utilities/requestSubmit.ts +0 -23
- package/src/utilities/scroll.ts +0 -101
- package/src/utilities/turbo.ts +0 -3
- package/src/utilities/types.d.ts +0 -4
- package/tsconfig.json +0 -27
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { BaseController } from "../../utilities/base_controller";
|
|
2
|
-
export declare class TreeViewController extends BaseController {
|
|
3
|
-
static classes: string[];
|
|
4
|
-
readonly activeClass: string;
|
|
5
|
-
readonly hasActiveClass: boolean;
|
|
6
|
-
readonly collapsedClass: string;
|
|
7
|
-
readonly hasCollapsedClass: boolean;
|
|
8
|
-
get _collapsedClasses(): string[];
|
|
9
|
-
get _defaultCollapsedClasses(): string[];
|
|
10
|
-
get _activeClasses(): string[];
|
|
11
|
-
get _defaultActiveClasses(): string[];
|
|
12
|
-
initialize(): void;
|
|
13
|
-
connect(): void;
|
|
14
|
-
disconnect(): void;
|
|
15
|
-
_setup(): void;
|
|
16
|
-
_setupNode(el: HTMLElement): void;
|
|
17
|
-
_teardown(): void;
|
|
18
|
-
_teardownNode(el: HTMLElement): void;
|
|
19
|
-
_nodeClicked(event: MouseEvent): void;
|
|
20
|
-
_nodeActive(el: HTMLElement): boolean;
|
|
21
|
-
_showNode(el: HTMLElement): void;
|
|
22
|
-
_hideNode(el: HTMLElement): void;
|
|
23
|
-
_hasNested(el: HTMLElement): boolean;
|
|
24
|
-
mutate(entries: MutationRecord[]): void;
|
|
25
|
-
private _addCollapsedClasses;
|
|
26
|
-
private _removeCollapsedClasses;
|
|
27
|
-
private _addActiveClasses;
|
|
28
|
-
private _removeActiveClasses;
|
|
29
|
-
}
|
|
1
|
+
import { BaseController } from "../../utilities/base_controller";
|
|
2
|
+
export declare class TreeViewController extends BaseController {
|
|
3
|
+
static classes: string[];
|
|
4
|
+
readonly activeClass: string;
|
|
5
|
+
readonly hasActiveClass: boolean;
|
|
6
|
+
readonly collapsedClass: string;
|
|
7
|
+
readonly hasCollapsedClass: boolean;
|
|
8
|
+
get _collapsedClasses(): string[];
|
|
9
|
+
get _defaultCollapsedClasses(): string[];
|
|
10
|
+
get _activeClasses(): string[];
|
|
11
|
+
get _defaultActiveClasses(): string[];
|
|
12
|
+
initialize(): void;
|
|
13
|
+
connect(): void;
|
|
14
|
+
disconnect(): void;
|
|
15
|
+
_setup(): void;
|
|
16
|
+
_setupNode(el: HTMLElement): void;
|
|
17
|
+
_teardown(): void;
|
|
18
|
+
_teardownNode(el: HTMLElement): void;
|
|
19
|
+
_nodeClicked(event: MouseEvent): void;
|
|
20
|
+
_nodeActive(el: HTMLElement): boolean;
|
|
21
|
+
_showNode(el: HTMLElement): void;
|
|
22
|
+
_hideNode(el: HTMLElement): void;
|
|
23
|
+
_hasNested(el: HTMLElement): boolean;
|
|
24
|
+
mutate(entries: MutationRecord[]): void;
|
|
25
|
+
private _addCollapsedClasses;
|
|
26
|
+
private _removeCollapsedClasses;
|
|
27
|
+
private _addActiveClasses;
|
|
28
|
+
private _removeActiveClasses;
|
|
29
|
+
}
|
|
30
30
|
//# sourceMappingURL=tree_view_controller.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
export { BaseController } from "./utilities/base_controller";
|
|
2
|
-
export { EphemeralController } from "./utilities/ephemeral_controller";
|
|
3
|
-
export { AnchorSpyController } from "./controllers/anchor_spy_controller";
|
|
4
|
-
export { AsyncBlockController } from "./controllers/ajax/async_block_controller";
|
|
5
|
-
export { AutoSubmitFormController } from "./controllers/forms/auto_submit_form_controller";
|
|
6
|
-
export { AutosizeController } from "./controllers/forms/autosize_controller";
|
|
7
|
-
export { BackLinkController } from "./controllers/back_link_controller";
|
|
8
|
-
export { CharCountController } from "./controllers/forms/char_count_controller";
|
|
9
|
-
export { CheckboxSelectAllController } from "./controllers/forms/checkbox_select_all_controller";
|
|
10
|
-
export { ClipboardController } from "./controllers/clipboard_controller";
|
|
11
|
-
export { ClockController } from "./controllers/visual/clock_controller";
|
|
12
|
-
export { ConfirmController } from "./controllers/confirm_controller";
|
|
13
|
-
export { ConfirmNavigationController } from "./controllers/confirm_navigation_controller";
|
|
14
|
-
export { CountdownController } from "./controllers/visual/countdown_controller";
|
|
15
|
-
export { DebugController } from "./controllers/debug_controller";
|
|
16
|
-
export { DetectDirtyController, isDirty } from "./controllers/forms/detect_dirty_controller";
|
|
17
|
-
export { DetectDirtyFormController, isFormDirty } from "./controllers/forms/detect_dirty_form_controller";
|
|
18
|
-
export { DisableInputsController } from "./controllers/forms/disable_inputs_controller";
|
|
19
|
-
export { DisableWithController } from "./controllers/disable_with_controller";
|
|
20
|
-
export { DismissableController } from "./controllers/dismissable_controller";
|
|
21
|
-
export { DurationController } from "./controllers/visual/duration_controller";
|
|
22
|
-
export { ElementSaveController } from "./controllers/element_save_controller";
|
|
23
|
-
export { EmptyDomController } from "./controllers/empty_dom_controller";
|
|
24
|
-
export { EnableInputsController } from "./controllers/forms/enable_inputs_controller";
|
|
25
|
-
export { FallbackImageController } from "./controllers/media/fallback_image_controller";
|
|
26
|
-
export { FormRcController } from "./controllers/forms/form_rc_controller";
|
|
27
|
-
export { FormSaveController } from "./controllers/forms/form_save_controller";
|
|
28
|
-
export { IntersectionController } from "./controllers/utility/intersection_controller";
|
|
29
|
-
export { IntervalController } from "./controllers/utility/interval_controller";
|
|
30
|
-
export { LazyBlockController } from "./controllers/ajax/lazy_block_controller";
|
|
31
|
-
export { LightboxImageController } from "./controllers/media/lightbox_image_controller";
|
|
32
|
-
export { LimitedSelectionCheckboxesController } from "./controllers/forms/limited_selection_checkboxes_controller";
|
|
33
|
-
export { LoadBlockController } from "./controllers/ajax/load_block_controller";
|
|
34
|
-
export { MediaPlayerController } from "./controllers/media/media_player_controller";
|
|
35
|
-
export { NavigateFormErrorsController } from "./controllers/forms/navigate_form_errors_controller";
|
|
36
|
-
export { NestedFormController } from "./controllers/forms/nested_form_controller";
|
|
37
|
-
export { PasswordConfirmController } from "./controllers/forms/password_confirm_controller";
|
|
38
|
-
export { PasswordPeekController } from "./controllers/forms/password_peek_controller";
|
|
39
|
-
export { PollBlockController } from "./controllers/ajax/poll_block_controller";
|
|
40
|
-
export { PrefetchController } from "./controllers/prefetch_controller";
|
|
41
|
-
export { PresenceController } from "./controllers/utility/presence_controller";
|
|
42
|
-
export { RemoteFormController } from "./controllers/forms/remote_form_controller";
|
|
43
|
-
export { RemoveController } from "./controllers/dismissable_controller";
|
|
44
|
-
export { ResponsiveIframeBodyController, ResponsiveIframeWrapperController } from "./controllers/responsive_iframe_controller";
|
|
45
|
-
export { ScrollContainerController } from "./controllers/scroll/scroll_container_controller";
|
|
46
|
-
export { ScrollIntoFocusController } from "./controllers/scroll/scroll_into_focus_controller";
|
|
47
|
-
export { ScrollToBottomController } from "./controllers/scroll/scroll_to_bottom_controller";
|
|
48
|
-
export { ScrollToController } from "./controllers/scroll/scroll_to_controller";
|
|
49
|
-
export { ScrollToTopController } from "./controllers/scroll/scroll_to_top_controller";
|
|
50
|
-
export { SelfDestructController } from "./controllers/self_destruct_controller";
|
|
51
|
-
export { StickyController } from "./controllers/sticky_controller";
|
|
52
|
-
export { SyncInputsController } from "./controllers/forms/sync_inputs_controller";
|
|
53
|
-
export { TableSortController } from "./controllers/tables/table_sort_controller";
|
|
54
|
-
export { TableTruncateController } from "./controllers/tables/table_truncate_controller";
|
|
55
|
-
export { TabsController } from "./controllers/visual/tabs_controller";
|
|
56
|
-
export { TeleportController } from "./controllers/teleport_controller";
|
|
57
|
-
export { TemporaryStateController, applyTemporaryState, applyTemporaryClass } from "./controllers/temporary_state_controller";
|
|
58
|
-
export { TimeDistanceController } from "./controllers/visual/time_distance_controller";
|
|
59
|
-
export { TimeoutController } from "./controllers/utility/timeout_controller";
|
|
60
|
-
export { ToggleClassController } from "./controllers/toggle_class_controller";
|
|
61
|
-
export { TreeViewController } from "./controllers/visual/tree_view_controller";
|
|
62
|
-
export { TurboFrameRCController } from "./controllers/turbo_frame_rc_controller";
|
|
63
|
-
export { TurboFrameRefreshController } from "./controllers/turbo_frame_refresh_controller";
|
|
64
|
-
export { UserFocusController } from "./controllers/utility/user_focus_controller";
|
|
65
|
-
export { ValueWarnController } from "./controllers/forms/value_warn_controller";
|
|
66
|
-
export { WordCountController } from "./controllers/forms/word_count_controller";
|
|
1
|
+
export { BaseController } from "./utilities/base_controller";
|
|
2
|
+
export { EphemeralController } from "./utilities/ephemeral_controller";
|
|
3
|
+
export { AnchorSpyController } from "./controllers/anchor_spy_controller";
|
|
4
|
+
export { AsyncBlockController } from "./controllers/ajax/async_block_controller";
|
|
5
|
+
export { AutoSubmitFormController } from "./controllers/forms/auto_submit_form_controller";
|
|
6
|
+
export { AutosizeController } from "./controllers/forms/autosize_controller";
|
|
7
|
+
export { BackLinkController } from "./controllers/back_link_controller";
|
|
8
|
+
export { CharCountController } from "./controllers/forms/char_count_controller";
|
|
9
|
+
export { CheckboxSelectAllController } from "./controllers/forms/checkbox_select_all_controller";
|
|
10
|
+
export { ClipboardController } from "./controllers/clipboard_controller";
|
|
11
|
+
export { ClockController } from "./controllers/visual/clock_controller";
|
|
12
|
+
export { ConfirmController } from "./controllers/confirm_controller";
|
|
13
|
+
export { ConfirmNavigationController } from "./controllers/confirm_navigation_controller";
|
|
14
|
+
export { CountdownController } from "./controllers/visual/countdown_controller";
|
|
15
|
+
export { DebugController } from "./controllers/debug_controller";
|
|
16
|
+
export { DetectDirtyController, isDirty } from "./controllers/forms/detect_dirty_controller";
|
|
17
|
+
export { DetectDirtyFormController, isFormDirty } from "./controllers/forms/detect_dirty_form_controller";
|
|
18
|
+
export { DisableInputsController } from "./controllers/forms/disable_inputs_controller";
|
|
19
|
+
export { DisableWithController } from "./controllers/disable_with_controller";
|
|
20
|
+
export { DismissableController } from "./controllers/dismissable_controller";
|
|
21
|
+
export { DurationController } from "./controllers/visual/duration_controller";
|
|
22
|
+
export { ElementSaveController } from "./controllers/element_save_controller";
|
|
23
|
+
export { EmptyDomController } from "./controllers/empty_dom_controller";
|
|
24
|
+
export { EnableInputsController } from "./controllers/forms/enable_inputs_controller";
|
|
25
|
+
export { FallbackImageController } from "./controllers/media/fallback_image_controller";
|
|
26
|
+
export { FormRcController } from "./controllers/forms/form_rc_controller";
|
|
27
|
+
export { FormSaveController } from "./controllers/forms/form_save_controller";
|
|
28
|
+
export { IntersectionController } from "./controllers/utility/intersection_controller";
|
|
29
|
+
export { IntervalController } from "./controllers/utility/interval_controller";
|
|
30
|
+
export { LazyBlockController } from "./controllers/ajax/lazy_block_controller";
|
|
31
|
+
export { LightboxImageController } from "./controllers/media/lightbox_image_controller";
|
|
32
|
+
export { LimitedSelectionCheckboxesController } from "./controllers/forms/limited_selection_checkboxes_controller";
|
|
33
|
+
export { LoadBlockController } from "./controllers/ajax/load_block_controller";
|
|
34
|
+
export { MediaPlayerController } from "./controllers/media/media_player_controller";
|
|
35
|
+
export { NavigateFormErrorsController } from "./controllers/forms/navigate_form_errors_controller";
|
|
36
|
+
export { NestedFormController } from "./controllers/forms/nested_form_controller";
|
|
37
|
+
export { PasswordConfirmController } from "./controllers/forms/password_confirm_controller";
|
|
38
|
+
export { PasswordPeekController } from "./controllers/forms/password_peek_controller";
|
|
39
|
+
export { PollBlockController } from "./controllers/ajax/poll_block_controller";
|
|
40
|
+
export { PrefetchController } from "./controllers/prefetch_controller";
|
|
41
|
+
export { PresenceController } from "./controllers/utility/presence_controller";
|
|
42
|
+
export { RemoteFormController } from "./controllers/forms/remote_form_controller";
|
|
43
|
+
export { RemoveController } from "./controllers/dismissable_controller";
|
|
44
|
+
export { ResponsiveIframeBodyController, ResponsiveIframeWrapperController } from "./controllers/responsive_iframe_controller";
|
|
45
|
+
export { ScrollContainerController } from "./controllers/scroll/scroll_container_controller";
|
|
46
|
+
export { ScrollIntoFocusController } from "./controllers/scroll/scroll_into_focus_controller";
|
|
47
|
+
export { ScrollToBottomController } from "./controllers/scroll/scroll_to_bottom_controller";
|
|
48
|
+
export { ScrollToController } from "./controllers/scroll/scroll_to_controller";
|
|
49
|
+
export { ScrollToTopController } from "./controllers/scroll/scroll_to_top_controller";
|
|
50
|
+
export { SelfDestructController } from "./controllers/self_destruct_controller";
|
|
51
|
+
export { StickyController } from "./controllers/sticky_controller";
|
|
52
|
+
export { SyncInputsController } from "./controllers/forms/sync_inputs_controller";
|
|
53
|
+
export { TableSortController } from "./controllers/tables/table_sort_controller";
|
|
54
|
+
export { TableTruncateController } from "./controllers/tables/table_truncate_controller";
|
|
55
|
+
export { TabsController } from "./controllers/visual/tabs_controller";
|
|
56
|
+
export { TeleportController } from "./controllers/teleport_controller";
|
|
57
|
+
export { TemporaryStateController, applyTemporaryState, applyTemporaryClass } from "./controllers/temporary_state_controller";
|
|
58
|
+
export { TimeDistanceController } from "./controllers/visual/time_distance_controller";
|
|
59
|
+
export { TimeoutController } from "./controllers/utility/timeout_controller";
|
|
60
|
+
export { ToggleClassController } from "./controllers/toggle_class_controller";
|
|
61
|
+
export { TreeViewController } from "./controllers/visual/tree_view_controller";
|
|
62
|
+
export { TurboFrameRCController } from "./controllers/turbo_frame_rc_controller";
|
|
63
|
+
export { TurboFrameRefreshController } from "./controllers/turbo_frame_refresh_controller";
|
|
64
|
+
export { UserFocusController } from "./controllers/utility/user_focus_controller";
|
|
65
|
+
export { ValueWarnController } from "./controllers/forms/value_warn_controller";
|
|
66
|
+
export { WordCountController } from "./controllers/forms/word_count_controller";
|
|
67
67
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=Object.defineProperty,t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,r=(t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i,n=(e,n)=>{for(var o in n||(n={}))s.call(n,o)&&r(e,o,n[o]);if(t)for(var o of t(n))i.call(n,o)&&r(e,o,n[o]);return e},o=(e,t,s)=>(r(e,"symbol"!=typeof t?t+"":t,s),s);Object.defineProperty(exports,"__esModule",{value:!0}),exports[Symbol.toStringTag]="Module";var a=require("date-fns"),l=require("lodash-es");function c(e){if(e&&e.__esModule)return e;var t={__proto__:null,[Symbol.toStringTag]:"Module"};return e&&Object.keys(e).forEach((function(s){if("default"!==s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var h=function(){function e(e,t,s){this.eventTarget=e,this.eventName=t,this.eventOptions=s,this.unorderedBindings=new Set}return e.prototype.connect=function(){this.eventTarget.addEventListener(this.eventName,this,this.eventOptions)},e.prototype.disconnect=function(){this.eventTarget.removeEventListener(this.eventName,this,this.eventOptions)},e.prototype.bindingConnected=function(e){this.unorderedBindings.add(e)},e.prototype.bindingDisconnected=function(e){this.unorderedBindings.delete(e)},e.prototype.handleEvent=function(e){for(var t=function(e){if("immediatePropagationStopped"in e)return e;var t=e.stopImmediatePropagation;return Object.assign(e,{immediatePropagationStopped:!1,stopImmediatePropagation:function(){this.immediatePropagationStopped=!0,t.call(this)}})}(e),s=0,i=this.bindings;s<i.length;s++){var r=i[s];if(t.immediatePropagationStopped)break;r.handleEvent(t)}},Object.defineProperty(e.prototype,"bindings",{get:function(){return Array.from(this.unorderedBindings).sort((function(e,t){var s=e.index,i=t.index;return s<i?-1:s>i?1:0}))},enumerable:!1,configurable:!0}),e}();var u=function(){function e(e){this.application=e,this.eventListenerMaps=new Map,this.started=!1}return e.prototype.start=function(){this.started||(this.started=!0,this.eventListeners.forEach((function(e){return e.connect()})))},e.prototype.stop=function(){this.started&&(this.started=!1,this.eventListeners.forEach((function(e){return e.disconnect()})))},Object.defineProperty(e.prototype,"eventListeners",{get:function(){return Array.from(this.eventListenerMaps.values()).reduce((function(e,t){return e.concat(Array.from(t.values()))}),[])},enumerable:!1,configurable:!0}),e.prototype.bindingConnected=function(e){this.fetchEventListenerForBinding(e).bindingConnected(e)},e.prototype.bindingDisconnected=function(e){this.fetchEventListenerForBinding(e).bindingDisconnected(e)},e.prototype.handleError=function(e,t,s){void 0===s&&(s={}),this.application.handleError(e,"Error "+t,s)},e.prototype.fetchEventListenerForBinding=function(e){var t=e.eventTarget,s=e.eventName,i=e.eventOptions;return this.fetchEventListener(t,s,i)},e.prototype.fetchEventListener=function(e,t,s){var i=this.fetchEventListenerMapForEventTarget(e),r=this.cacheKey(t,s),n=i.get(r);return n||(n=this.createEventListener(e,t,s),i.set(r,n)),n},e.prototype.createEventListener=function(e,t,s){var i=new h(e,t,s);return this.started&&i.connect(),i},e.prototype.fetchEventListenerMapForEventTarget=function(e){var t=this.eventListenerMaps.get(e);return t||(t=new Map,this.eventListenerMaps.set(e,t)),t},e.prototype.cacheKey=function(e,t){var s=[e];return Object.keys(t).sort().forEach((function(e){s.push((t[e]?"":"!")+e)})),s.join(":")},e}(),d=/^((.+?)(@(window|document))?->)?(.+?)(#([^:]+?))(:(.+))?$/;function p(e){return"window"==e?window:"document"==e?document:void 0}var m=function(){function e(e,t,s){this.element=e,this.index=t,this.eventTarget=s.eventTarget||e,this.eventName=s.eventName||function(e){var t=e.tagName.toLowerCase();if(t in f)return f[t](e)}(e)||g("missing event name"),this.eventOptions=s.eventOptions||{},this.identifier=s.identifier||g("missing identifier"),this.methodName=s.methodName||g("missing method name")}return e.forToken=function(e){return new this(e.element,e.index,(t=e.content,{eventTarget:p((i=t.trim().match(d)||[])[4]),eventName:i[2],eventOptions:i[9]?(s=i[9],s.split(":").reduce((function(e,t){var s;return Object.assign(e,((s={})[t.replace(/^!/,"")]=!/^!/.test(t),s))}),{})):{},identifier:i[5],methodName:i[7]}));var t,s,i},e.prototype.toString=function(){var e=this.eventTargetName?"@"+this.eventTargetName:"";return""+this.eventName+e+"->"+this.identifier+"#"+this.methodName},Object.defineProperty(e.prototype,"eventTargetName",{get:function(){return(e=this.eventTarget)==window?"window":e==document?"document":void 0;var e},enumerable:!1,configurable:!0}),e}(),f={a:function(e){return"click"},button:function(e){return"click"},form:function(e){return"submit"},input:function(e){return"submit"==e.getAttribute("type")?"click":"input"},select:function(e){return"change"},textarea:function(e){return"input"}};function g(e){throw new Error(e)}var v=function(){function e(e,t){this.context=e,this.action=t}return Object.defineProperty(e.prototype,"index",{get:function(){return this.action.index},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"eventTarget",{get:function(){return this.action.eventTarget},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"eventOptions",{get:function(){return this.action.eventOptions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.context.identifier},enumerable:!1,configurable:!0}),e.prototype.handleEvent=function(e){this.willBeInvokedByEvent(e)&&this.invokeWithEvent(e)},Object.defineProperty(e.prototype,"eventName",{get:function(){return this.action.eventName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"method",{get:function(){var e=this.controller[this.methodName];if("function"==typeof e)return e;throw new Error('Action "'+this.action+'" references undefined method "'+this.methodName+'"')},enumerable:!1,configurable:!0}),e.prototype.invokeWithEvent=function(e){try{this.method.call(this.controller,e)}catch(i){var t=this,s={identifier:t.identifier,controller:t.controller,element:t.element,index:t.index,event:e};this.context.handleError(i,'invoking action "'+this.action+'"',s)}},e.prototype.willBeInvokedByEvent=function(e){var t=e.target;return this.element===t||(t instanceof Element&&this.element.contains(t)?this.scope.containsElement(t):this.scope.containsElement(this.action.element))},Object.defineProperty(e.prototype,"controller",{get:function(){return this.context.controller},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"methodName",{get:function(){return this.action.methodName},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.scope.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scope",{get:function(){return this.context.scope},enumerable:!1,configurable:!0}),e}(),b=function(){function e(e,t){var s=this;this.element=e,this.started=!1,this.delegate=t,this.elements=new Set,this.mutationObserver=new MutationObserver((function(e){return s.processMutations(e)}))}return e.prototype.start=function(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0,childList:!0,subtree:!0}),this.refresh())},e.prototype.stop=function(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)},e.prototype.refresh=function(){if(this.started){for(var e=new Set(this.matchElementsInTree()),t=0,s=Array.from(this.elements);t<s.length;t++){var i=s[t];e.has(i)||this.removeElement(i)}for(var r=0,n=Array.from(e);r<n.length;r++){i=n[r];this.addElement(i)}}},e.prototype.processMutations=function(e){if(this.started)for(var t=0,s=e;t<s.length;t++){var i=s[t];this.processMutation(i)}},e.prototype.processMutation=function(e){"attributes"==e.type?this.processAttributeChange(e.target,e.attributeName):"childList"==e.type&&(this.processRemovedNodes(e.removedNodes),this.processAddedNodes(e.addedNodes))},e.prototype.processAttributeChange=function(e,t){var s=e;this.elements.has(s)?this.delegate.elementAttributeChanged&&this.matchElement(s)?this.delegate.elementAttributeChanged(s,t):this.removeElement(s):this.matchElement(s)&&this.addElement(s)},e.prototype.processRemovedNodes=function(e){for(var t=0,s=Array.from(e);t<s.length;t++){var i=s[t],r=this.elementFromNode(i);r&&this.processTree(r,this.removeElement)}},e.prototype.processAddedNodes=function(e){for(var t=0,s=Array.from(e);t<s.length;t++){var i=s[t],r=this.elementFromNode(i);r&&this.elementIsActive(r)&&this.processTree(r,this.addElement)}},e.prototype.matchElement=function(e){return this.delegate.matchElement(e)},e.prototype.matchElementsInTree=function(e){return void 0===e&&(e=this.element),this.delegate.matchElementsInTree(e)},e.prototype.processTree=function(e,t){for(var s=0,i=this.matchElementsInTree(e);s<i.length;s++){var r=i[s];t.call(this,r)}},e.prototype.elementFromNode=function(e){if(e.nodeType==Node.ELEMENT_NODE)return e},e.prototype.elementIsActive=function(e){return e.isConnected==this.element.isConnected&&this.element.contains(e)},e.prototype.addElement=function(e){this.elements.has(e)||this.elementIsActive(e)&&(this.elements.add(e),this.delegate.elementMatched&&this.delegate.elementMatched(e))},e.prototype.removeElement=function(e){this.elements.has(e)&&(this.elements.delete(e),this.delegate.elementUnmatched&&this.delegate.elementUnmatched(e))},e}(),y=function(){function e(e,t,s){this.attributeName=t,this.delegate=s,this.elementObserver=new b(e,this)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.elementObserver.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selector",{get:function(){return"["+this.attributeName+"]"},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.elementObserver.start()},e.prototype.stop=function(){this.elementObserver.stop()},e.prototype.refresh=function(){this.elementObserver.refresh()},Object.defineProperty(e.prototype,"started",{get:function(){return this.elementObserver.started},enumerable:!1,configurable:!0}),e.prototype.matchElement=function(e){return e.hasAttribute(this.attributeName)},e.prototype.matchElementsInTree=function(e){var t=this.matchElement(e)?[e]:[],s=Array.from(e.querySelectorAll(this.selector));return t.concat(s)},e.prototype.elementMatched=function(e){this.delegate.elementMatchedAttribute&&this.delegate.elementMatchedAttribute(e,this.attributeName)},e.prototype.elementUnmatched=function(e){this.delegate.elementUnmatchedAttribute&&this.delegate.elementUnmatchedAttribute(e,this.attributeName)},e.prototype.elementAttributeChanged=function(e,t){this.delegate.elementAttributeValueChanged&&this.attributeName==t&&this.delegate.elementAttributeValueChanged(e,t)},e}(),_=function(){function e(e,t){var s=this;this.element=e,this.delegate=t,this.started=!1,this.stringMap=new Map,this.mutationObserver=new MutationObserver((function(e){return s.processMutations(e)}))}return e.prototype.start=function(){this.started||(this.started=!0,this.mutationObserver.observe(this.element,{attributes:!0}),this.refresh())},e.prototype.stop=function(){this.started&&(this.mutationObserver.takeRecords(),this.mutationObserver.disconnect(),this.started=!1)},e.prototype.refresh=function(){if(this.started)for(var e=0,t=this.knownAttributeNames;e<t.length;e++){var s=t[e];this.refreshAttribute(s)}},e.prototype.processMutations=function(e){if(this.started)for(var t=0,s=e;t<s.length;t++){var i=s[t];this.processMutation(i)}},e.prototype.processMutation=function(e){var t=e.attributeName;t&&this.refreshAttribute(t)},e.prototype.refreshAttribute=function(e){var t=this.delegate.getStringMapKeyForAttribute(e);if(null!=t){this.stringMap.has(e)||this.stringMapKeyAdded(t,e);var s=this.element.getAttribute(e);this.stringMap.get(e)!=s&&this.stringMapValueChanged(s,t),null==s?(this.stringMap.delete(e),this.stringMapKeyRemoved(t,e)):this.stringMap.set(e,s)}},e.prototype.stringMapKeyAdded=function(e,t){this.delegate.stringMapKeyAdded&&this.delegate.stringMapKeyAdded(e,t)},e.prototype.stringMapValueChanged=function(e,t){this.delegate.stringMapValueChanged&&this.delegate.stringMapValueChanged(e,t)},e.prototype.stringMapKeyRemoved=function(e,t){this.delegate.stringMapKeyRemoved&&this.delegate.stringMapKeyRemoved(e,t)},Object.defineProperty(e.prototype,"knownAttributeNames",{get:function(){return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentAttributeNames",{get:function(){return Array.from(this.element.attributes).map((function(e){return e.name}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"recordedAttributeNames",{get:function(){return Array.from(this.stringMap.keys())},enumerable:!1,configurable:!0}),e}();function w(e,t,s){C(e,t).add(s)}function E(e,t,s){C(e,t).delete(s),function(e,t){var s=e.get(t);null!=s&&0==s.size&&e.delete(t)}(e,t)}function C(e,t){var s=e.get(t);return s||(s=new Set,e.set(t,s)),s}var T,k=function(){function e(){this.valuesByKey=new Map}return Object.defineProperty(e.prototype,"values",{get:function(){return Array.from(this.valuesByKey.values()).reduce((function(e,t){return e.concat(Array.from(t))}),[])},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return Array.from(this.valuesByKey.values()).reduce((function(e,t){return e+t.size}),0)},enumerable:!1,configurable:!0}),e.prototype.add=function(e,t){w(this.valuesByKey,e,t)},e.prototype.delete=function(e,t){E(this.valuesByKey,e,t)},e.prototype.has=function(e,t){var s=this.valuesByKey.get(e);return null!=s&&s.has(t)},e.prototype.hasKey=function(e){return this.valuesByKey.has(e)},e.prototype.hasValue=function(e){return Array.from(this.valuesByKey.values()).some((function(t){return t.has(e)}))},e.prototype.getValuesForKey=function(e){var t=this.valuesByKey.get(e);return t?Array.from(t):[]},e.prototype.getKeysForValue=function(e){return Array.from(this.valuesByKey).filter((function(t){return t[0],t[1].has(e)})).map((function(e){var t=e[0];return e[1],t}))},e}(),x=(T=function(e,t){return(T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)t.hasOwnProperty(s)&&(e[s]=t[s])})(e,t)},function(e,t){function s(){this.constructor=e}T(e,t),e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)});!function(e){function t(){var t=e.call(this)||this;return t.keysByValue=new Map,t}x(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return Array.from(this.keysByValue.keys())},enumerable:!1,configurable:!0}),t.prototype.add=function(t,s){e.prototype.add.call(this,t,s),w(this.keysByValue,s,t)},t.prototype.delete=function(t,s){e.prototype.delete.call(this,t,s),E(this.keysByValue,s,t)},t.prototype.hasValue=function(e){return this.keysByValue.has(e)},t.prototype.getKeysForValue=function(e){var t=this.keysByValue.get(e);return t?Array.from(t):[]}}(k);var S=function(){function e(e,t,s){this.attributeObserver=new y(e,t,this),this.delegate=s,this.tokensByElement=new k}return Object.defineProperty(e.prototype,"started",{get:function(){return this.attributeObserver.started},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.attributeObserver.start()},e.prototype.stop=function(){this.attributeObserver.stop()},e.prototype.refresh=function(){this.attributeObserver.refresh()},Object.defineProperty(e.prototype,"element",{get:function(){return this.attributeObserver.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"attributeName",{get:function(){return this.attributeObserver.attributeName},enumerable:!1,configurable:!0}),e.prototype.elementMatchedAttribute=function(e){this.tokensMatched(this.readTokensForElement(e))},e.prototype.elementAttributeValueChanged=function(e){var t=this.refreshTokensForElement(e),s=t[0],i=t[1];this.tokensUnmatched(s),this.tokensMatched(i)},e.prototype.elementUnmatchedAttribute=function(e){this.tokensUnmatched(this.tokensByElement.getValuesForKey(e))},e.prototype.tokensMatched=function(e){var t=this;e.forEach((function(e){return t.tokenMatched(e)}))},e.prototype.tokensUnmatched=function(e){var t=this;e.forEach((function(e){return t.tokenUnmatched(e)}))},e.prototype.tokenMatched=function(e){this.delegate.tokenMatched(e),this.tokensByElement.add(e.element,e)},e.prototype.tokenUnmatched=function(e){this.delegate.tokenUnmatched(e),this.tokensByElement.delete(e.element,e)},e.prototype.refreshTokensForElement=function(e){var t,s,i,r=this.tokensByElement.getValuesForKey(e),n=this.readTokensForElement(e),o=(t=r,s=n,i=Math.max(t.length,s.length),Array.from({length:i},(function(e,i){return[t[i],s[i]]}))).findIndex((function(e){return!function(e,t){return e&&t&&e.index==t.index&&e.content==t.content}(e[0],e[1])}));return-1==o?[[],[]]:[r.slice(o),n.slice(o)]},e.prototype.readTokensForElement=function(e){var t=this.attributeName;return function(e,t,s){return e.trim().split(/\s+/).filter((function(e){return e.length})).map((function(e,i){return{element:t,attributeName:s,content:e,index:i}}))}(e.getAttribute(t)||"",e,t)},e}();var A=function(){function e(e,t,s){this.tokenListObserver=new S(e,t,this),this.delegate=s,this.parseResultsByToken=new WeakMap,this.valuesByTokenByElement=new WeakMap}return Object.defineProperty(e.prototype,"started",{get:function(){return this.tokenListObserver.started},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.tokenListObserver.start()},e.prototype.stop=function(){this.tokenListObserver.stop()},e.prototype.refresh=function(){this.tokenListObserver.refresh()},Object.defineProperty(e.prototype,"element",{get:function(){return this.tokenListObserver.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"attributeName",{get:function(){return this.tokenListObserver.attributeName},enumerable:!1,configurable:!0}),e.prototype.tokenMatched=function(e){var t=e.element,s=this.fetchParseResultForToken(e).value;s&&(this.fetchValuesByTokenForElement(t).set(e,s),this.delegate.elementMatchedValue(t,s))},e.prototype.tokenUnmatched=function(e){var t=e.element,s=this.fetchParseResultForToken(e).value;s&&(this.fetchValuesByTokenForElement(t).delete(e),this.delegate.elementUnmatchedValue(t,s))},e.prototype.fetchParseResultForToken=function(e){var t=this.parseResultsByToken.get(e);return t||(t=this.parseToken(e),this.parseResultsByToken.set(e,t)),t},e.prototype.fetchValuesByTokenForElement=function(e){var t=this.valuesByTokenByElement.get(e);return t||(t=new Map,this.valuesByTokenByElement.set(e,t)),t},e.prototype.parseToken=function(e){try{return{value:this.delegate.parseValueForToken(e)}}catch(t){return{error:t}}},e}(),L=function(){function e(e,t){this.context=e,this.delegate=t,this.bindingsByAction=new Map}return e.prototype.start=function(){this.valueListObserver||(this.valueListObserver=new A(this.element,this.actionAttribute,this),this.valueListObserver.start())},e.prototype.stop=function(){this.valueListObserver&&(this.valueListObserver.stop(),delete this.valueListObserver,this.disconnectAllActions())},Object.defineProperty(e.prototype,"element",{get:function(){return this.context.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.context.identifier},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"actionAttribute",{get:function(){return this.schema.actionAttribute},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"schema",{get:function(){return this.context.schema},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bindings",{get:function(){return Array.from(this.bindingsByAction.values())},enumerable:!1,configurable:!0}),e.prototype.connectAction=function(e){var t=new v(this.context,e);this.bindingsByAction.set(e,t),this.delegate.bindingConnected(t)},e.prototype.disconnectAction=function(e){var t=this.bindingsByAction.get(e);t&&(this.bindingsByAction.delete(e),this.delegate.bindingDisconnected(t))},e.prototype.disconnectAllActions=function(){var e=this;this.bindings.forEach((function(t){return e.delegate.bindingDisconnected(t)})),this.bindingsByAction.clear()},e.prototype.parseValueForToken=function(e){var t=m.forToken(e);if(t.identifier==this.identifier)return t},e.prototype.elementMatchedValue=function(e,t){this.connectAction(t)},e.prototype.elementUnmatchedValue=function(e,t){this.disconnectAction(t)},e}(),V=function(){function e(e,t){this.context=e,this.receiver=t,this.stringMapObserver=new _(this.element,this),this.valueDescriptorMap=this.controller.valueDescriptorMap,this.invokeChangedCallbacksForDefaultValues()}return e.prototype.start=function(){this.stringMapObserver.start()},e.prototype.stop=function(){this.stringMapObserver.stop()},Object.defineProperty(e.prototype,"element",{get:function(){return this.context.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controller",{get:function(){return this.context.controller},enumerable:!1,configurable:!0}),e.prototype.getStringMapKeyForAttribute=function(e){if(e in this.valueDescriptorMap)return this.valueDescriptorMap[e].name},e.prototype.stringMapValueChanged=function(e,t){this.invokeChangedCallbackForValue(t)},e.prototype.invokeChangedCallbacksForDefaultValues=function(){for(var e=0,t=this.valueDescriptors;e<t.length;e++){var s=t[e],i=s.key,r=s.name;null==s.defaultValue||this.controller.data.has(i)||this.invokeChangedCallbackForValue(r)}},e.prototype.invokeChangedCallbackForValue=function(e){var t=e+"Changed",s=this.receiver[t];if("function"==typeof s){var i=this.receiver[e];s.call(this.receiver,i)}},Object.defineProperty(e.prototype,"valueDescriptors",{get:function(){var e=this.valueDescriptorMap;return Object.keys(e).map((function(t){return e[t]}))},enumerable:!1,configurable:!0}),e}(),O=function(){function e(e,t){this.module=e,this.scope=t,this.controller=new e.controllerConstructor(this),this.bindingObserver=new L(this,this.dispatcher),this.valueObserver=new V(this,this.controller);try{this.controller.initialize()}catch(s){this.handleError(s,"initializing controller")}}return e.prototype.connect=function(){this.bindingObserver.start(),this.valueObserver.start();try{this.controller.connect()}catch(e){this.handleError(e,"connecting controller")}},e.prototype.disconnect=function(){try{this.controller.disconnect()}catch(e){this.handleError(e,"disconnecting controller")}this.valueObserver.stop(),this.bindingObserver.stop()},Object.defineProperty(e.prototype,"application",{get:function(){return this.module.application},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.module.identifier},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"schema",{get:function(){return this.application.schema},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dispatcher",{get:function(){return this.application.dispatcher},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.scope.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parentElement",{get:function(){return this.element.parentElement},enumerable:!1,configurable:!0}),e.prototype.handleError=function(e,t,s){void 0===s&&(s={});var i=this,r=i.identifier,n=i.controller,o=i.element;s=Object.assign({identifier:r,controller:n,element:o},s),this.application.handleError(e,"Error "+t,s)},e}();function M(e,t){var s=N(e);return Array.from(s.reduce((function(e,s){return function(e,t){var s=e[t];return Array.isArray(s)?s:[]}(s,t).forEach((function(t){return e.add(t)})),e}),new Set))}function D(e,t){return N(e).reduce((function(e,s){return e.push.apply(e,function(e,t){var s=e[t];return s?Object.keys(s).map((function(e){return[e,s[e]]})):[]}(s,t)),e}),[])}function N(e){for(var t=[];e;)t.push(e),e=Object.getPrototypeOf(e);return t.reverse()}var I=function(){var e=function(t,s){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)t.hasOwnProperty(s)&&(e[s]=t[s])})(t,s)};return function(t,s){function i(){this.constructor=t}e(t,s),t.prototype=null===s?Object.create(s):(i.prototype=s.prototype,new i)}}();function P(e){return function(e,t){var s=F(e),i=function(e,t){return B(t).reduce((function(s,i){var r,n=function(e,t,s){var i=Object.getOwnPropertyDescriptor(e,s);if(!i||!("value"in i)){var r=Object.getOwnPropertyDescriptor(t,s).value;return i&&(r.get=i.get||r.get,r.set=i.set||r.set),r}}(e,t,i);return n&&Object.assign(s,((r={})[i]=n,r)),s}),{})}(e.prototype,t);return Object.defineProperties(s.prototype,i),s}(e,function(e){return M(e,"blessings").reduce((function(t,s){var i=s(e);for(var r in i){var n=t[r]||{};t[r]=Object.assign(n,i[r])}return t}),{})}(e))}var B="function"==typeof Object.getOwnPropertySymbols?function(e){return function(){for(var e=0,t=0,s=arguments.length;t<s;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<s;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,r++)i[r]=n[o];return i}(Object.getOwnPropertyNames(e),Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,F=function(){function e(e){function t(){var s=this&&this instanceof t?this.constructor:void 0;return Reflect.construct(e,arguments,s)}return t.prototype=Object.create(e.prototype,{constructor:{value:t}}),Reflect.setPrototypeOf(t,e),t}try{return(t=e((function(){this.a.call(this)}))).prototype.a=function(){},new t,e}catch(s){return function(e){return function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return I(t,e),t}(e)}}var t}();var j=function(){function e(e,t){this.application=e,this.definition=function(e){return{identifier:e.identifier,controllerConstructor:P(e.controllerConstructor)}}(t),this.contextsByScope=new WeakMap,this.connectedContexts=new Set}return Object.defineProperty(e.prototype,"identifier",{get:function(){return this.definition.identifier},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerConstructor",{get:function(){return this.definition.controllerConstructor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contexts",{get:function(){return Array.from(this.connectedContexts)},enumerable:!1,configurable:!0}),e.prototype.connectContextForScope=function(e){var t=this.fetchContextForScope(e);this.connectedContexts.add(t),t.connect()},e.prototype.disconnectContextForScope=function(e){var t=this.contextsByScope.get(e);t&&(this.connectedContexts.delete(t),t.disconnect())},e.prototype.fetchContextForScope=function(e){var t=this.contextsByScope.get(e);return t||(t=new O(this,e),this.contextsByScope.set(e,t)),t},e}(),H=function(){function e(e){this.scope=e}return e.prototype.has=function(e){return this.data.has(this.getDataKey(e))},e.prototype.get=function(e){return this.data.get(this.getDataKey(e))},e.prototype.getAttributeName=function(e){return this.data.getAttributeNameForKey(this.getDataKey(e))},e.prototype.getDataKey=function(e){return e+"-class"},Object.defineProperty(e.prototype,"data",{get:function(){return this.scope.data},enumerable:!1,configurable:!0}),e}();function R(e){return e.replace(/(?:[_-])([a-z0-9])/g,(function(e,t){return t.toUpperCase()}))}function z(e){return e.charAt(0).toUpperCase()+e.slice(1)}function q(e){return e.replace(/([A-Z])/g,(function(e,t){return"-"+t.toLowerCase()}))}var $=function(){function e(e){this.scope=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this.scope.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.scope.identifier},enumerable:!1,configurable:!0}),e.prototype.get=function(e){var t=this.getAttributeNameForKey(e);return this.element.getAttribute(t)},e.prototype.set=function(e,t){var s=this.getAttributeNameForKey(e);return this.element.setAttribute(s,t),this.get(e)},e.prototype.has=function(e){var t=this.getAttributeNameForKey(e);return this.element.hasAttribute(t)},e.prototype.delete=function(e){if(this.has(e)){var t=this.getAttributeNameForKey(e);return this.element.removeAttribute(t),!0}return!1},e.prototype.getAttributeNameForKey=function(e){return"data-"+this.identifier+"-"+q(e)},e}(),W=function(){function e(e){this.warnedKeysByObject=new WeakMap,this.logger=e}return e.prototype.warn=function(e,t,s){var i=this.warnedKeysByObject.get(e);i||(i=new Set,this.warnedKeysByObject.set(e,i)),i.has(t)||(i.add(t),this.logger.warn(s,e))},e}();function U(e,t){return"["+e+'~="'+t+'"]'}var K=function(){for(var e=0,t=0,s=arguments.length;t<s;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<s;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,r++)i[r]=n[o];return i},J=function(){function e(e){this.scope=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this.scope.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.scope.identifier},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"schema",{get:function(){return this.scope.schema},enumerable:!1,configurable:!0}),e.prototype.has=function(e){return null!=this.find(e)},e.prototype.find=function(){for(var e=this,t=[],s=0;s<arguments.length;s++)t[s]=arguments[s];return t.reduce((function(t,s){return t||e.findTarget(s)||e.findLegacyTarget(s)}),void 0)},e.prototype.findAll=function(){for(var e=this,t=[],s=0;s<arguments.length;s++)t[s]=arguments[s];return t.reduce((function(t,s){return K(t,e.findAllTargets(s),e.findAllLegacyTargets(s))}),[])},e.prototype.findTarget=function(e){var t=this.getSelectorForTargetName(e);return this.scope.findElement(t)},e.prototype.findAllTargets=function(e){var t=this.getSelectorForTargetName(e);return this.scope.findAllElements(t)},e.prototype.getSelectorForTargetName=function(e){return U("data-"+this.identifier+"-target",e)},e.prototype.findLegacyTarget=function(e){var t=this.getLegacySelectorForTargetName(e);return this.deprecate(this.scope.findElement(t),e)},e.prototype.findAllLegacyTargets=function(e){var t=this,s=this.getLegacySelectorForTargetName(e);return this.scope.findAllElements(s).map((function(s){return t.deprecate(s,e)}))},e.prototype.getLegacySelectorForTargetName=function(e){var t=this.identifier+"."+e;return U(this.schema.targetAttribute,t)},e.prototype.deprecate=function(e,t){if(e){var s=this.identifier,i=this.schema.targetAttribute;this.guide.warn(e,"target:"+t,"Please replace "+i+'="'+s+"."+t+'" with data-'+s+'-target="'+t+'". The '+i+" attribute is deprecated and will be removed in a future version of Stimulus.")}return e},Object.defineProperty(e.prototype,"guide",{get:function(){return this.scope.guide},enumerable:!1,configurable:!0}),e}(),Y=function(){function e(e,t,s,i){var r=this;this.targets=new J(this),this.classes=new H(this),this.data=new $(this),this.containsElement=function(e){return e.closest(r.controllerSelector)===r.element},this.schema=e,this.element=t,this.identifier=s,this.guide=new W(i)}return e.prototype.findElement=function(e){return this.element.matches(e)?this.element:this.queryElements(e).find(this.containsElement)},e.prototype.findAllElements=function(e){return function(){for(var e=0,t=0,s=arguments.length;t<s;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<s;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,r++)i[r]=n[o];return i}(this.element.matches(e)?[this.element]:[],this.queryElements(e).filter(this.containsElement))},e.prototype.queryElements=function(e){return Array.from(this.element.querySelectorAll(e))},Object.defineProperty(e.prototype,"controllerSelector",{get:function(){return U(this.schema.controllerAttribute,this.identifier)},enumerable:!1,configurable:!0}),e}(),Z=function(){function e(e,t,s){this.element=e,this.schema=t,this.delegate=s,this.valueListObserver=new A(this.element,this.controllerAttribute,this),this.scopesByIdentifierByElement=new WeakMap,this.scopeReferenceCounts=new WeakMap}return e.prototype.start=function(){this.valueListObserver.start()},e.prototype.stop=function(){this.valueListObserver.stop()},Object.defineProperty(e.prototype,"controllerAttribute",{get:function(){return this.schema.controllerAttribute},enumerable:!1,configurable:!0}),e.prototype.parseValueForToken=function(e){var t=e.element,s=e.content,i=this.fetchScopesByIdentifierForElement(t),r=i.get(s);return r||(r=this.delegate.createScopeForElementAndIdentifier(t,s),i.set(s,r)),r},e.prototype.elementMatchedValue=function(e,t){var s=(this.scopeReferenceCounts.get(t)||0)+1;this.scopeReferenceCounts.set(t,s),1==s&&this.delegate.scopeConnected(t)},e.prototype.elementUnmatchedValue=function(e,t){var s=this.scopeReferenceCounts.get(t);s&&(this.scopeReferenceCounts.set(t,s-1),1==s&&this.delegate.scopeDisconnected(t))},e.prototype.fetchScopesByIdentifierForElement=function(e){var t=this.scopesByIdentifierByElement.get(e);return t||(t=new Map,this.scopesByIdentifierByElement.set(e,t)),t},e}(),X=function(){function e(e){this.application=e,this.scopeObserver=new Z(this.element,this.schema,this),this.scopesByIdentifier=new k,this.modulesByIdentifier=new Map}return Object.defineProperty(e.prototype,"element",{get:function(){return this.application.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"schema",{get:function(){return this.application.schema},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"logger",{get:function(){return this.application.logger},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"controllerAttribute",{get:function(){return this.schema.controllerAttribute},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"modules",{get:function(){return Array.from(this.modulesByIdentifier.values())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contexts",{get:function(){return this.modules.reduce((function(e,t){return e.concat(t.contexts)}),[])},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.scopeObserver.start()},e.prototype.stop=function(){this.scopeObserver.stop()},e.prototype.loadDefinition=function(e){this.unloadIdentifier(e.identifier);var t=new j(this.application,e);this.connectModule(t)},e.prototype.unloadIdentifier=function(e){var t=this.modulesByIdentifier.get(e);t&&this.disconnectModule(t)},e.prototype.getContextForElementAndIdentifier=function(e,t){var s=this.modulesByIdentifier.get(t);if(s)return s.contexts.find((function(t){return t.element==e}))},e.prototype.handleError=function(e,t,s){this.application.handleError(e,t,s)},e.prototype.createScopeForElementAndIdentifier=function(e,t){return new Y(this.schema,e,t,this.logger)},e.prototype.scopeConnected=function(e){this.scopesByIdentifier.add(e.identifier,e);var t=this.modulesByIdentifier.get(e.identifier);t&&t.connectContextForScope(e)},e.prototype.scopeDisconnected=function(e){this.scopesByIdentifier.delete(e.identifier,e);var t=this.modulesByIdentifier.get(e.identifier);t&&t.disconnectContextForScope(e)},e.prototype.connectModule=function(e){this.modulesByIdentifier.set(e.identifier,e),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach((function(t){return e.connectContextForScope(t)}))},e.prototype.disconnectModule=function(e){this.modulesByIdentifier.delete(e.identifier),this.scopesByIdentifier.getValuesForKey(e.identifier).forEach((function(t){return e.disconnectContextForScope(t)}))},e}(),G={controllerAttribute:"data-controller",actionAttribute:"data-action",targetAttribute:"data-target"},Q=function(e,t,s,i){return new(s||(s=Promise))((function(r,n){function o(e){try{l(i.next(e))}catch(t){n(t)}}function a(e){try{l(i.throw(e))}catch(t){n(t)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}l((i=i.apply(e,t||[])).next())}))},ee=function(e,t){var s,i,r,n,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(s)throw new TypeError("Generator is already executing.");for(;o;)try{if(s=1,i&&(r=2&n[0]?i.return:n[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,n[1])).done)return r;switch(i=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){o=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){o.label=n[1];break}if(6===n[0]&&o.label<r[1]){o.label=r[1],r=n;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(n);break}r[2]&&o.ops.pop(),o.trys.pop();continue}n=t.call(e,o)}catch(a){n=[6,a],i=0}finally{s=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,a])}}},te=function(){for(var e=0,t=0,s=arguments.length;t<s;t++)e+=arguments[t].length;var i=Array(e),r=0;for(t=0;t<s;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,r++)i[r]=n[o];return i};function se(e){return M(e,"classes").reduce((function(e,t){return Object.assign(e,((i={})[r=(s=t)+"Class"]={get:function(){var e=this.classes;if(e.has(s))return e.get(s);var t=e.getAttributeName(s);throw new Error('Missing attribute "'+t+'"')}},i["has"+z(r)]={get:function(){return this.classes.has(s)}},i));var s,i,r}),{})}function ie(e){return M(e,"targets").reduce((function(e,t){return Object.assign(e,((i={})[(s=t)+"Target"]={get:function(){var e=this.targets.find(s);if(e)return e;throw new Error('Missing target element "'+this.identifier+"."+s+'"')}},i[s+"Targets"]={get:function(){return this.targets.findAll(s)}},i["has"+z(s)+"Target"]={get:function(){return this.targets.has(s)}},i));var s,i}),{})}function re(e){var t=D(e,"values"),s={valueDescriptorMap:{get:function(){var e=this;return t.reduce((function(t,s){var i,r=ne(s),n=e.data.getAttributeNameForKey(r.key);return Object.assign(t,((i={})[n]=r,i))}),{})}}};return t.reduce((function(e,t){return Object.assign(e,function(e){var t,s=ne(e),i=s.type,r=s.key,n=s.name,o=ae[i],a=le[i]||le.default;return(t={})[n]={get:function(){var e=this.data.get(r);return null!==e?o(e):s.defaultValue},set:function(e){void 0===e?this.data.delete(r):this.data.set(r,a(e))}},t["has"+z(n)]={get:function(){return this.data.has(r)}},t}(t))}),s)}function ne(e){return function(e,t){var s=q(e)+"-value";return{type:t,key:s,name:R(s),get defaultValue(){return oe[t]}}}(e[0],function(e){switch(e){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}throw new Error('Unknown value type constant "'+e+'"')}(e[1]))}!function(){function e(e,t){void 0===e&&(e=document.documentElement),void 0===t&&(t=G),this.logger=console,this.element=e,this.schema=t,this.dispatcher=new u(this),this.router=new X(this)}e.start=function(t,s){var i=new e(t,s);return i.start(),i},e.prototype.start=function(){return Q(this,void 0,void 0,(function(){return ee(this,(function(e){switch(e.label){case 0:return[4,new Promise((function(e){"loading"==document.readyState?document.addEventListener("DOMContentLoaded",e):e()}))];case 1:return e.sent(),this.dispatcher.start(),this.router.start(),[2]}}))}))},e.prototype.stop=function(){this.dispatcher.stop(),this.router.stop()},e.prototype.register=function(e,t){this.load({identifier:e,controllerConstructor:t})},e.prototype.load=function(e){for(var t=this,s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=Array.isArray(e)?e:te([e],s);r.forEach((function(e){return t.router.loadDefinition(e)}))},e.prototype.unload=function(e){for(var t=this,s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];var r=Array.isArray(e)?e:te([e],s);r.forEach((function(e){return t.router.unloadIdentifier(e)}))},Object.defineProperty(e.prototype,"controllers",{get:function(){return this.router.contexts.map((function(e){return e.controller}))},enumerable:!1,configurable:!0}),e.prototype.getControllerForElementAndIdentifier=function(e,t){var s=this.router.getContextForElementAndIdentifier(e,t);return s?s.controller:null},e.prototype.handleError=function(e,t,s){this.logger.error("%s\n\n%o\n\n%o",t,e,s)}}();var oe={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},ae={array:function(e){var t=JSON.parse(e);if(!Array.isArray(t))throw new TypeError("Expected array");return t},boolean:function(e){return!("0"==e||"false"==e)},number:function(e){return parseFloat(e)},object:function(e){var t=JSON.parse(e);if(null===t||"object"!=typeof t||Array.isArray(t))throw new TypeError("Expected object");return t},string:function(e){return e}},le={default:function(e){return""+e},array:ce,object:ce};function ce(e){return JSON.stringify(e)}var he=function(){function e(e){this.context=e}return Object.defineProperty(e.prototype,"application",{get:function(){return this.context.application},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scope",{get:function(){return this.context.scope},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.scope.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"identifier",{get:function(){return this.scope.identifier},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"targets",{get:function(){return this.scope.targets},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"classes",{get:function(){return this.scope.classes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"data",{get:function(){return this.scope.data},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){},e.prototype.connect=function(){},e.prototype.disconnect=function(){},e.blessings=[se,ie,re],e.targets=[],e.values={},e}();class ue extends he{constructor(e){return super(e),this.application.debug?new Proxy(this,{get:(e,t)=>{let s=Reflect.get(e,t),i=this;if(function(e){switch(e){case"application":case"el":case"element":case"constructor":case"initialize":case"log":case"logEvent":case"dispatch":case"data":case"valueDescriptorMap":case"mutate":case"identifier":return!1}if(/^_.*?$/.test(e))return!1;if(/^.*?Target(s)?$/.test(e))return!1;if(/^.*?Value$/.test(e))return!1;if(/^.*?ValueChanged$/.test(e))return!1;if(/^.*?Class$/.test(e))return!1;if(/^.*?Classes$/.test(e))return!1;return!0}(t.toString())){if("function"==typeof s)return new Proxy(s,{apply:(e,s,r)=>(i.log(t.toString(),{args:r}),Reflect.apply(e,s,r))});this.log(t.toString())}return s}}):this}get el(){return this.element}get isTurboPreview(){return document.documentElement.hasAttribute("data-turbo-preview")||document.documentElement.hasAttribute("data-turbolinks-preview")}get isTurbolinksPreview(){return this.isTurboPreview}get csrfToken(){return this.metaValue("csrf-token")}metaValue(e){const t=document.head.querySelector(`meta[name="${e}"]`);return(null==t?void 0:t.getAttribute("content"))||null}dispatch(e,t,s={}){let i=Object.assign({},{bubbles:!0,cancelable:!0,detail:{target:e}},s);i.detail.target&&(i.detail.target=e);let r=new CustomEvent(t,i);this.logEvent(t,r,e),e.dispatchEvent(r)}log(e,t={}){if(!this.application.debug)return;let s=console;s.groupCollapsed(`%c${this.identifier} %c#${e}`,"color: #3B82F6","color: unset"),s.log(n({element:this.element,controller:this},t)),s.groupEnd()}warn(e,t={}){if(!this.application.debug)return;let s=console;s.groupCollapsed(`%c${this.identifier} %c#${e}`,"color: F39B1AFF","color: unset"),s.warn(n({element:this.element,controller:this},t)),s.groupEnd()}logEvent(e,t,s){if(!this.application.debug)return;let i=console;i.groupCollapsed(`%c${this.identifier} %c${e}%c`,"color: #3B82F6","color: #0be000","color: unset"),i.log({element:s}),i.groupEnd()}}var de={exports:{}};const pe=(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");if(t=n({pascalCase:!1,preserveConsecutiveUppercase:!1},t),0===(e=Array.isArray(e)?e.map((e=>e.trim())).filter((e=>e.length)).join("-"):e.trim()).length)return"";if(1===e.length)return t.pascalCase?e.toLocaleUpperCase(t.locale):e.toLocaleLowerCase(t.locale);return e!==e.toLocaleLowerCase(t.locale)&&(e=((e,t)=>{let s=!1,i=!1,r=!1;for(let n=0;n<e.length;n++){const o=e[n];s&&/[\p{Lu}]/u.test(o)?(e=e.slice(0,n)+"-"+e.slice(n),s=!1,r=i,i=!0,n++):i&&r&&/[\p{Ll}]/u.test(o)?(e=e.slice(0,n-1)+"-"+e.slice(n-1),r=i,i=!1,s=!0):(s=o.toLocaleLowerCase(t)===o&&o.toLocaleUpperCase(t)!==o,r=i,i=o.toLocaleUpperCase(t)===o&&o.toLocaleLowerCase(t)!==o)}return e})(e,t.locale)),e=e.replace(/^[_.\- ]+/,""),e=t.preserveConsecutiveUppercase?(e=>e.replace(/^[\p{Lu}](?![\p{Lu}])/gu,(e=>e.toLowerCase())))(e):e.toLocaleLowerCase(),t.pascalCase&&(e=e.charAt(0).toLocaleUpperCase(t.locale)+e.slice(1)),((e,t)=>e.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu,((e,s)=>s.toLocaleUpperCase(t.locale))).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu,(e=>e.toLocaleUpperCase(t.locale))))(e,t)};de.exports=pe,de.exports.default=pe;var me=de.exports;class fe extends ue{_cleanupSelf(){this.cleanup(this.el)}cleanup(e){var t,s,i;e.dataset.controller=(null==(t=e.dataset.controller)?void 0:t.replaceAll(new RegExp(`(s|^)${this.identifier}(s|$)`,"g"),""))||"",""==e.dataset.controller&&delete e.dataset.controller;let r=new RegExp(`(s|^)${this.identifier}\\..+?(s|$)`,"g");e.dataset.target=(null==(s=e.dataset.target)?void 0:s.replaceAll(r,""))||"",delete e.dataset[me(`${this.identifier}-target`)],""==e.dataset.target&&delete e.dataset.target,e.dataset.action=(null==(i=e.dataset.target)?void 0:i.replaceAll(r,""))||"",delete e.dataset[me(`${this.identifier}-action`)],""==e.dataset.action&&delete e.dataset.action;let n=this.constructor.values;n&&Object.keys(n).forEach((t=>delete e.dataset[me(`${this.identifier}-${t}-value`)]));let o=this.constructor.classes;o&&Object.keys(o).forEach((t=>delete e.dataset[me(`${this.identifier}-${t}-class`)]))}}class ge extends ue{get _key(){return this.keyValue.replaceAll("#","")}get _anchor(){return window.location.hash.substr(1)}set _anchor(e){window.location.hash=e}initialize(){this._checkAnchor=this._checkAnchor.bind(this)}connect(){requestAnimationFrame((()=>{this._checkAnchor(),window.addEventListener("hashchange",this._checkAnchor)}))}disconnect(){window.removeEventListener("hashchange",this._checkAnchor)}write(e){null==e||e.preventDefault(),this._anchor=this._key}_checkAnchor(){this._key===this._anchor?this.dispatch(this.el,"anchor-spy:active"):this.dispatch(this.el,"anchor-spy:inactive")}}o(ge,"values",{key:String});class ve extends ue{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}connect(){}async loadContent(e=null){null==e||e.preventDefault();let t=this,s=this.hasReplaceTarget?this.replaceTarget:this.el,i=()=>{s.replaceWith(this._errorMessage),t.dispatch(s,"ajax:error")};try{let e=await fetch(this.endpointValue);e.ok||i();let r=await e.text(),n=document.createElement("div");if(n.innerHTML=r,this.hasSelectorValue){let e=n.querySelectorAll(this.selectorValue);s.replaceWith(...e)}else s.replaceWith(...n.children);t.dispatch(s,"ajax:success")}catch(r){i()}finally{t.dispatch(s,"ajax:complete")}}}o(ve,"targets",["replace"]),o(ve,"values",{endpoint:String,errorMessage:String,selector:String});class be extends ve{get _errorMessage(){return this.hasErrorMessageValue?this.errorMessageValue:"This content failed to load"}async connect(){await this.loadContent()}}function ye(e){return"A"==e.nodeName}function _e(e){return"FORM"==e.nodeName}function we(e){return"INPUT"==e.nodeName}function Ee(e){return"TEXTAREA"==e.nodeName}function Ce(e){return"BUTTON"==e.nodeName}function Te(e){return"SELECT"==e.nodeName}function ke(e){return we(e)&&("radio"===e.type||"checkbox"===e.type)}function xe(e){return we(e)||Te(e)||Ee(e)}function Se(e){let t=document.createElement("button");return t.type=e,t.style.display="none",t.dataset.sythentic="true",t}function Ae(e){if(e.requestSubmit)e.requestSubmit();else{let t=e.querySelector('button[type="submit"]');t||(t=t=Se("submit"),e.insertAdjacentElement("beforeend",t)),t.click()}}o(be,"targets",["replace"]),o(be,"values",{endpoint:String,errorMessage:String,selector:String});class Le extends ue{get _mode(){if(this.hasModeValue){if(!["direct","request"].includes(this.modeValue))throw new Error(`The modeValue provided '${this.modeValue}' is not one of the recognised configuration options`);return this.modeValue}return"request"}get _cssSelector(){return["input","textarea","select"].map((e=>e.concat(":not([data-no-autosubmit])"))).join(",")}get inputElements(){return this.element.querySelectorAll(this._cssSelector)}initialize(){this.submit=this.submit.bind(this)}connect(){this.inputElements.forEach((e=>e.addEventListener("change",this.submit)))}disconnect(){this.inputElements.forEach((e=>e.removeEventListener("change",this.submit)))}submit(){let e=this.el;"request"==this._mode?Ae(e):e.submit()}}o(Le,"values",{mode:String});const Ve=(e,t)=>{const s=e[t];return"function"==typeof s?s:(...e)=>{}},Oe=(e,t,s)=>{let i=e;return!0===s?i=`${t.identifier}:${e}`:"string"==typeof s&&(i=`${s}:${e}`),i},Me=(e,t,s)=>{const{bubbles:i,cancelable:r,composed:n}=t||{bubbles:!0,cancelable:!0,composed:!0};t&&Object.assign(s,{originalEvent:t});return new CustomEvent(e,{bubbles:i,cancelable:r,composed:n,detail:s})};const De={dispatchEvent:!0,eventPrefix:!0},Ne=(e,t={})=>{const{dispatchEvent:s,eventPrefix:i}=Object.assign({},De,t),r=(null==t?void 0:t.element)||e.element,n=t=>{if(e.isVisible=!0,Ve(e,"appear").call(e,t),s){const s=Oe("appear",e,i),n=Me(s,null,{controller:e,entry:t});r.dispatchEvent(n)}},o=t=>{if(e.isVisible=!1,Ve(e,"disappear").call(e,t),s){const s=Oe("disappear",e,i),n=Me(s,null,{controller:e,entry:t});r.dispatchEvent(n)}},a=e.disconnect.bind(e),l=new IntersectionObserver((t=>{const[s]=t;s.isIntersecting?n(s):e.isVisible&&o(s)}),t),c=()=>{l.observe(r)},h=()=>{l.unobserve(r)};return Object.assign(e,{isVisible:!1,disconnect(){h(),a()}}),c(),[c,h]},Ie={events:["click","touchend"],onlyVisible:!0,dispatchEvent:!0,eventPrefix:!0},Pe=(e,t={})=>{const{onlyVisible:s,dispatchEvent:i,events:r,eventPrefix:n}=Object.assign({},Ie,t),o=r=>{const o=(null==t?void 0:t.element)||e.element;if(!(o.contains(r.target)||!function(e){const t=e.getBoundingClientRect(),s=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,r=t.top<=s&&t.top+t.height>=0,n=t.left<=i&&t.left+t.width>=0;return r&&n}(o)&&s)&&(e.clickOutside&&e.clickOutside(r),i)){const t=Oe("click:outside",e,n),s=Me(t,r,{controller:e});o.dispatchEvent(s)}},a=()=>{null==r||r.forEach((e=>{window.addEventListener(e,o,!1)}))},l=()=>{null==r||r.forEach((e=>{window.removeEventListener(e,o,!1)}))},c=e.disconnect.bind(e);return Object.assign(e,{disconnect(){l(),c()}}),a(),[a,l]},Be={debug:!1,logger:console,dispatchEvent:!0,eventPrefix:!0};class Fe{constructor(e,r={}){var o,a,l;this.log=(e,t)=>{this.debug&&(this.logger.groupCollapsed(`%c${this.controller.identifier} %c#${e}`,"color: #3B82F6","color: unset"),this.logger.log(n({controllerId:this.controllerId},t)),this.logger.groupEnd())},this.dispatch=(e,r={})=>{if(this.dispatchEvent){const o=r,{event:a}=o,l=((e,r)=>{var n={};for(var o in e)s.call(e,o)&&r.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&t)for(var o of t(e))r.indexOf(o)<0&&i.call(e,o)&&(n[o]=e[o]);return n})(o,["event"]),c=this.extendedEvent(e,a||null,l);this.targetElement.dispatchEvent(c),this.log("dispatchEvent",n({eventName:c.type},l))}},this.call=(e,t={})=>{const s=this.controller[e];if("function"==typeof s)return s.call(this.controller,t)},this.extendedEvent=(e,t,s)=>{const{bubbles:i,cancelable:r,composed:n}=t||{bubbles:!0,cancelable:!0,composed:!0};t&&Object.assign(s,{originalEvent:t});return new CustomEvent(this.composeEventName(e),{bubbles:i,cancelable:r,composed:n,detail:s})},this.composeEventName=e=>{let t=e;return!0===this.eventPrefix?t=`${this.controller.identifier}:${e}`:"string"==typeof this.eventPrefix&&(t=`${this.eventPrefix}:${e}`),t},this.debug=null!==(a=null!==(o=null==r?void 0:r.debug)&&void 0!==o?o:e.application.stimulusUseDebug)&&void 0!==a?a:Be.debug,this.logger=null!==(l=null==r?void 0:r.logger)&&void 0!==l?l:Be.logger,this.controller=e,this.controllerId=e.element.id||e.element.dataset.id,this.targetElement=(null==r?void 0:r.element)||e.element;const{dispatchEvent:c,eventPrefix:h}=Object.assign({},Be,r);Object.assign(this,{dispatchEvent:c,eventPrefix:h}),this.controllerInitialize=e.initialize.bind(e),this.controllerConnect=e.connect.bind(e),this.controllerDisconnect=e.disconnect.bind(e)}}class je extends Fe{constructor(e,t={}){super(e,t),this.observe=()=>{this.targetElement.addEventListener("mouseenter",this.onEnter),this.targetElement.addEventListener("mouseleave",this.onLeave)},this.unobserve=()=>{this.targetElement.removeEventListener("mouseenter",this.onEnter),this.targetElement.removeEventListener("mouseleave",this.onLeave)},this.onEnter=e=>{this.call("mouseEnter",e),this.log("mouseEnter",{hover:!0}),this.dispatch("mouseEnter",{hover:!1})},this.onLeave=e=>{this.call("mouseLeave",e),this.log("mouseLeave",{hover:!1}),this.dispatch("mouseLeave",{hover:!1})},this.controller=e,this.enhanceController(),this.observe()}enhanceController(){const e=this.controller.disconnect.bind(this.controller);Object.assign(this.controller,{disconnect:()=>{this.unobserve(),e()}})}}class He extends Fe{constructor(e,t={}){super(e,t),this.observe=()=>{try{this.observer.observe(this.targetElement,this.options)}catch(e){this.controller.application.handleError(e,"At a minimum, one of childList, attributes, and/or characterData must be true",{})}},this.unobserve=()=>{this.observer.disconnect()},this.mutation=e=>{this.call("mutate",e),this.log("mutate",{entries:e}),this.dispatch("mutate",{entries:e})},this.targetElement=(null==t?void 0:t.element)||e.element,this.controller=e,this.options=t,this.observer=new MutationObserver(this.mutation),this.enhanceController(),this.observe()}enhanceController(){const e=this.controller.disconnect.bind(this.controller);Object.assign(this.controller,{disconnect:()=>{this.unobserve(),e()}})}}const Re=(e,t={})=>{const s=new He(e,t);return[s.observe,s.unobserve]},ze=e=>{const t=t=>{const{innerWidth:s,innerHeight:i}=window,r={height:i||1/0,width:s||1/0,event:t};Ve(e,"windowResize").call(e,r)},s=e.disconnect.bind(e),i=()=>{window.addEventListener("resize",t),t()},r=()=>{window.removeEventListener("resize",t)};return Object.assign(e,{disconnect(){r(),s()}}),i(),[i,r]};(class extends he{}).debounces=[];const qe=(e,t=200)=>{let s=null;return function(){const i=arguments,r=this,n=()=>e.apply(r,i);s&&clearTimeout(s),s=setTimeout(n,t)}};class $e extends ue{constructor(){super(...arguments),o(this,"_timeoutHandle",null)}get _pages(){return this.hasPagesValue?Math.abs(this.pagesValue):1}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1500}initialize(){this.goBack=this.goBack.bind(this),this.fallback=this.fallback.bind(this)}connect(){this.el.addEventListener("click",this.goBack)}disconnect(){this.el.removeEventListener("click",this.goBack),this._timeoutHandle&&clearTimeout(this._timeoutHandle)}goBack(e){null==e||e.preventDefault(),history.go(-this._pages),this.el.href&&(this._timeoutHandle=setTimeout(this.fallback,this._timeout))}fallback(){window.location.href=this.el.href}}o($e,"values",{timeout:Number,pages:Number});class We extends ue{get _errorClasses(){return this.errorClass.split(" ")}get _defaultErrorClasses(){return[]}initialize(){this._updateCharCount=this._updateCharCount.bind(this)}connect(){requestAnimationFrame((()=>{this.inputTarget.addEventListener("input",this._updateCharCount),this._updateCharCount()}))}disconnect(){this.inputTarget.removeEventListener("input",this._updateCharCount)}_addErrorClasses(e=this.el){this.hasErrorClass?e.classList.add(...this._errorClasses):e.classList.add(...this._defaultErrorClasses)}_removeErrorClasses(e=this.el){this.hasErrorClass?e.classList.remove(...this._errorClasses):e.classList.remove(...this._defaultErrorClasses)}_updateCharCount(){let e=this.inputTarget.value.length;this.outputTarget.innerText=e.toString(),this.hasErrorClass&&(this._isValidCount(e)?this._removeErrorClasses(this.outputTarget):this._addErrorClasses(this.outputTarget))}_isValidCount(e){let t=0,s=99999;return this.hasMinValue&&(t=this.minValue),this.hasMaxValue&&(s=this.maxValue),e>=t&&e<=s}}o(We,"targets",["input","output"]),o(We,"values",{min:Number,max:Number}),o(We,"classes",["error"]);class Ue extends ue{get _checked(){return this.checkboxTargets.filter((e=>e.checked))}get _unchecked(){return this.checkboxTargets.filter((e=>!e.checked))}initialize(){this._toggle=this._toggle.bind(this),this._refresh=this._refresh.bind(this)}connect(){requestAnimationFrame((()=>{this.hasSelectAllTarget&&(this.selectAllTarget.addEventListener("change",this._toggle),this.checkboxTargets.forEach((e=>e.addEventListener("change",this._refresh))),this._refresh())}))}disconnect(){this.hasSelectAllTarget&&(this.selectAllTarget.removeEventListener("change",this._toggle),this.checkboxTargets.forEach((e=>e.removeEventListener("change",this._refresh))))}_toggle(e){e.preventDefault();let t=e.target;this.checkboxTargets.forEach((e=>e.checked=t.checked))}_refresh(){const e=this.checkboxTargets.length,t=this._checked.length;this.selectAllTarget.checked=t>0,this.selectAllTarget.indeterminate=t>0&&t<e}}o(Ue,"targets",["selectAll","checkbox"]);class Ke extends ue{constructor(){super(...arguments),o(this,"_supported",!1)}connect(){this._supported=document.queryCommandSupported("copy"),this.hasRemoveUnusedValue&&this.removeUnusedValue&&(this._supported&&this.hasFallbackTarget?this.fallbackTarget.remove():this.hasCopyTarget&&this.copyTarget.remove())}select(e){e&&e.preventDefault(),this.sourceTarget.select()}copy(e){e&&e.preventDefault(),this.sourceTarget.select(),this._supported&&document.execCommand("copy")}}o(Ke,"targets",["source","button","copy","fallback"]),o(Ke,"values",{removeUnused:Boolean});class Je extends ue{constructor(){super(...arguments),o(this,"_intervalHandle",null)}get _tickInterval(){return this.hasMillisecondsTarget?1:this.hasSecondsTarget?1e3:this.hasMinutesTarget?15e3:3e5}initialize(){this._tick=this._tick.bind(this)}connect(){requestAnimationFrame((()=>{this._intervalHandle=window.setInterval(this._tick,this._tickInterval)}))}disconnect(){this._intervalHandle&&window.clearInterval(this._intervalHandle)}_tick(){let e=new Date;this.hasHoursTarget&&(this.hoursTarget.innerHTML=e.getHours().toString().padStart(2,"0")),this.hasMinutesTarget&&(this.minutesTarget.innerHTML=e.getMinutes().toString().padStart(2,"0")),this.hasSecondsTarget&&(this.secondsTarget.innerHTML=e.getSeconds().toString().padStart(2,"0")),this.hasMillisecondsTarget&&(this.millisecondsTarget.innerHTML=e.getMilliseconds().toString().padStart(3,"0"))}}o(Je,"targets",["hours","minutes","seconds","milliseconds"]);class Ye extends ue{get _message(){return this.hasMessageValue?this.messageValue:"Are you sure?"}initialize(){this.confirm=this.confirm.bind(this)}connect(){requestAnimationFrame((()=>{let e=this.el;if(_e(e))e.addEventListener("submit",this.confirm);else{if(!ye(e))throw new Error("Can't handle confirmation on attached element");e.addEventListener("click",this.confirm)}}))}disconnect(){let e=this.el;_e(e)?e.removeEventListener("submit",this.confirm):ye(e)&&e.removeEventListener("click",this.confirm)}confirm(e){window.confirm(this._message)||(e.preventDefault(),this.dispatch(this.el,"confirm:cancelled"))}}o(Ye,"values",{message:String});class Ze extends ue{get _message(){return this.hasMessageValue?this.messageValue:"Do you want to leave this page? Changes you made may not be saved"}initialize(){this.allowSubmit=this.allowSubmit.bind(this),this.confirmNavigation=this.confirmNavigation.bind(this),this.confirmTurboNavigation=this.confirmTurboNavigation.bind(this)}connect(){window.onbeforeunload=()=>this._message,window.addEventListener("popstate",this.confirmNavigation),window.addEventListener("submit",this.allowSubmit),window.addEventListener("turbolinks:before-visit",this.confirmTurboNavigation),window.addEventListener("turbo:before-visit",this.confirmTurboNavigation)}disconnect(){window.removeEventListener("popstate",this.confirmNavigation),window.onbeforeunload=null,window.removeEventListener("submit",this.allowSubmit),window.removeEventListener("turbolinks:before-visit",this.confirmTurboNavigation),window.removeEventListener("turbo:before-visit",this.confirmTurboNavigation)}allowSubmit(e){window.removeEventListener("popstate",this.confirmNavigation),window.onbeforeunload=null}confirmNavigation(e){return!1}confirmTurboNavigation(e){confirm(this._message)||e.preventDefault()}}o(Ze,"values",{message:String});class Xe extends ue{constructor(){super(...arguments),o(this,"_interval",null)}get _removeUnused(){return!!this.hasRemoveUnusedValue&&this.removeUnusedValue}get _endedClasses(){return this.endedClass.split(" ")}get _defaultEndedClasses(){return[]}get _countingDownClasses(){return this.countingDownClass.split(" ")}get _defaultCountingDownClasses(){return[]}get _deadlineDate(){return new Date(this.deadlineValue)}connect(){this._interval=setInterval(this._tick.bind(this),1e3),this._addCountingDownClasses()}disconnect(){this._clearTick(),this._removeCountingDownClasses(),this._removeEndedClasses()}deadlineValueChanged(){null==this._interval&&(this._interval=setInterval(this._tick.bind(this),1e3))}_tick(){try{const e=new Date;let t={};a.isPast(this._deadlineDate)?(t={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},this._clearTick(),this._removeCountingDownClasses(),this._addEndedClasses(),this.dispatch(this.el,"countdown:ended")):t=a.intervalToDuration({start:this._deadlineDate,end:e}),this.hasYearsTarget&&this._updateTarget(this.yearsTarget,this._years(t)),this.hasMonthsTarget&&this._updateTarget(this.monthsTarget,this._months(t)),this.hasDaysTarget&&this._updateTarget(this.daysTarget,this._days(t)),this.hasHoursTarget&&this._updateTarget(this.hoursTarget,this._hours(t)),this.hasMinutesTarget&&this._updateTarget(this.minutesTarget,this._minutes(t)),this.hasSecondsTarget&&this._updateTarget(this.secondsTarget,this._seconds(t))}catch(e){console.error(e),this._clearTick()}}_clearTick(){this._interval&&(clearInterval(this._interval),this._interval=null)}_updateTarget(e,t){this._removeTargetIfUnused(e,t),e.innerHTML=t.toString()}_removeTargetIfUnused(e,t){this._removeUnused&&(0===t&&e.dataset.unused?Number.parseInt(e.dataset.unused)>Date.now()+1500&&e.remove():e.dataset.unused=0==t?Date.now().toString():void 0)}_years(e){return e.years||0}_months(e){return e.months||0}_days(e){return e.days||0}_hours(e){return e.hours||0}_minutes(e){return e.minutes||0}_seconds(e){return e.seconds||0}_addEndedClasses(e=this.el){this.hasEndedClass?e.classList.add(...this._endedClasses):e.classList.add(...this._defaultEndedClasses)}_removeEndedClasses(e=this.el){this.hasEndedClass?e.classList.remove(...this._endedClasses):e.classList.remove(...this._defaultEndedClasses)}_addCountingDownClasses(e=this.el){this.hasCountingDownClass?e.classList.add(...this._countingDownClasses):e.classList.add(...this._defaultCountingDownClasses)}_removeCountingDownClasses(e=this.el){this.hasCountingDownClass?e.classList.remove(...this._countingDownClasses):e.classList.remove(...this._defaultCountingDownClasses)}}o(Xe,"values",{deadline:String,removeUnused:Boolean}),o(Xe,"targets",["years","months","days","hours","minutes","seconds"]),o(Xe,"classes",["countingDown","ended"]);class Ge extends ue{connect(){console.log("Debug Controller",this,this.testTargets)}}o(Ge,"targets",["test"]);function Qe(e){return e.hasAttribute("data-dirty")}class et extends ue{connect(){this.toggle()}toggle(){this.hasDisablerTarget&&this.disablerTarget.checked?this.disableInputs():this.enableInputs()}disableInputs(){let e=this.hasClearValue&&this.clearValue;this.disableTargets.forEach(((t,s)=>{e&&(t.value=""),t.disabled=!0}))}enableInputs(){this.disableTargets.forEach(((e,t)=>{e.disabled=!1}))}}o(et,"targets",["disabler","disable"]),o(et,"values",{clear:Boolean});class tt extends ue{constructor(){super(...arguments),o(this,"_cacheText"),o(this,"_timeoutHandle")}get _message(){return this.hasMessageValue?this.messageValue:"Submitting..."}get _timeout(){return this.hasTimeoutValue?this.timeoutValue:1e3}initialize(){this.enable=this.enable.bind(this),this.disable=this.disable.bind(this),this._enable=this._enable.bind(this),this._disable=this._disable.bind(this)}connect(){requestAnimationFrame((()=>{this.el.addEventListener("click",this.disable),window.addEventListener("turbo:load",this._enable),window.addEventListener("turbolinks:load",this._enable)}))}disconnect(){this._timeoutHandle&&clearTimeout(this._timeoutHandle),this.el.removeEventListener("click",this.disable),window.addEventListener("turbo:load",this._enable),window.addEventListener("turbolinks:load",this._enable)}disable(e){let t=this.el;this._isDisabled(t)?(null==e||e.preventDefault(),null==e||e.stopImmediatePropagation()):(this._cacheText=this._getElText(t),this._setElText(t,this._message),this._disable(),setTimeout(this.enable,this._timeout))}enable(e){null==e||e.preventDefault();let t=this.el;this._isDisabled(t)&&(this._setElText(t,this._cacheText),this._enable())}_isDisabled(e){return we(e)&&"submit"==e.type||Ce(e)?e.disabled:"true"==e.dataset.disabled}_getElText(e){return we(e)&&"submit"==e.type?e.value:e.innerText}_setElText(e,t){we(e)&&"submit"==e.type?e.value=t:(Ce(e)||ye(e))&&(e.innerText=t)}_disable(){let e=this.el;we(e)&&"submit"==e.type||Ce(e)?e.disabled=!0:e.dataset.disabled="true"}_enable(){let e=this.el;we(e)&&"submit"==e.type||Ce(e)?e.disabled=!1:e.dataset.disabled=void 0}}o(tt,"values",{message:String,timeout:Number});class st extends ue{dismiss(){this.el.remove()}}class it extends ue{constructor(){super(...arguments),o(this,"_intervalHandle",null)}get _format(){return["years","months","weeks","days","hours",...this._minutes?["minutes"]:[],...this._seconds?["seconds"]:[]]}get _output(){let{years:e,months:t,weeks:s,days:i,hours:r,minutes:n,seconds:o}=this._duration;e||(e=0),t||(t=0),s||(s=0),i||(i=0),r||(r=0),n||(n=0),o||(o=0);let l=[e,t,s,i,r];return this._minutes||this._seconds||!l.every((e=>0===e))?a.formatDuration(this._duration,{format:this._format,delimiter:", "}):(n+=o/60,`${(n/60).toFixed(1)} hours`)}get _seconds(){return!this.hasSecondsValue||this.secondsValue}get _minutes(){return!this.hasMinutesValue||this.minutesValue}get _timestamp(){if(this.hasTimestampValue)return a.toDate(1e3*this.timestampValue);throw new Error("Expected `timestampValue` to be present")}get _duration(){return a.intervalToDuration({start:new Date,end:this._timestamp})}get _tickInterval(){return this._seconds?1e3:this._minutes?15e3:12e4}initialize(){this._update=this._update.bind(this)}connect(){this._intervalHandle=window.setInterval(this._update,this._tickInterval),this._update()}disconnect(){this._intervalHandle&&window.clearInterval(this._intervalHandle)}_update(){try{this.el.innerHTML=this._output}catch{this._intervalHandle&&window.clearInterval(this._intervalHandle)}}}o(it,"values",{timestamp:Number,minutes:Boolean,seconds:Boolean});class rt extends ue{get _id(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(""!==e)return e;throw new Error(`No ID value to uniquely identify this element. Please either specify data-${this.identifier}-id-value or give this element an 'id' attribute. `)}get _uniqueIdentifier(){return`${location.href} ${this._id}`}get _restoreOnLoad(){return!this.hasRestoreOnLoadValue||this.restoreOnLoadValue}get _element(){return this.hasElementTarget?this.elementTarget:this.el}connect(){requestAnimationFrame((()=>{this._restoreOnLoad&&this.restore()}))}clear(e){e&&e.preventDefault(),localStorage.removeItem(this._uniqueIdentifier),this.dispatch(this._element,"element-save:cleared")}save(e){e&&e.preventDefault();let t=this._element,s=this.attributesValue.split(" "),i={};s.forEach((e=>i[e]=l.get(t,e))),localStorage.setItem(this._uniqueIdentifier,JSON.stringify(i)),this.dispatch(t,"element-save:save:success")}restore(e){e&&e.preventDefault();let t=this._element;if(localStorage.getItem(this._uniqueIdentifier)){const e=JSON.parse(localStorage.getItem(this._uniqueIdentifier));Object.keys(e).forEach((s=>{l.set(t,s,e[s])})),this.dispatch(t,"element-save:restore:success")}else this.dispatch(t,"element-save:restore:empty")}}o(rt,"targets",["element"]),o(rt,"values",{id:String,attributes:String,restoreOnLoad:Boolean});class nt extends ue{get _container(){return this.hasContainerTarget?this.containerTarget:this.el}get _notEmptyClasses(){return this.notEmptyClass.split(" ")}get _defaultNotEmptyClasses(){return[]}get _emptyClasses(){return this.emptyClass.split(" ")}get _defaultEmptyClasses(){return[]}get _children(){let e=this._container;return this.hasScopeSelectorValue?Array.from(e.querySelectorAll(this.scopeSelectorValue)):Array.from(e.children)}connect(){Re(this,{element:this._container,childList:!0}),this.checkEmpty()}mutate(e){this.checkEmpty()}checkEmpty(){let e=this._container,t=this._children;0===t.length?(this._removeNotEmptyClasses(),this._addEmptyClasses(),this.dispatch(e,"dom:empty")):(this._addNotEmptyClasses(),this._removeEmptyClasses(),this.dispatch(e,"dom:not-empty",{detail:{count:t.length}}))}_addNotEmptyClasses(e=this.el){this.hasNotEmptyClass?e.classList.add(...this._notEmptyClasses):e.classList.add(...this._defaultNotEmptyClasses)}_removeNotEmptyClasses(e=this.el){this.hasNotEmptyClass?e.classList.remove(...this._notEmptyClasses):e.classList.remove(...this._defaultNotEmptyClasses)}_addEmptyClasses(e=this.el){this.hasEmptyClass?e.classList.add(...this._emptyClasses):e.classList.add(...this._defaultEmptyClasses)}_removeEmptyClasses(e=this.el){this.hasEmptyClass?e.classList.remove(...this._emptyClasses):e.classList.remove(...this._defaultEmptyClasses)}}o(nt,"targets",["container"]),o(nt,"classes",["empty","notEmpty"]),o(nt,"values",{scopeSelector:String});class ot extends ue{connect(){this.toggle()}toggle(){this.hasEnablerTarget&&this.enablerTarget.checked?this.enableInputs():this.disableInputs()}disableInputs(){let e=this.hasClearValue&&this.clearValue;this.enableTargets.forEach(((t,s)=>{e&&(t.value=""),t.disabled=!0}))}enableInputs(){this.enableTargets.forEach(((e,t)=>{e.disabled=!1}))}}o(ot,"targets",["enabler","enable"]),o(ot,"values",{clear:Boolean});class at extends ue{get _successClasses(){return this.successClass.split(" ")}get _defaultSuccessClasses(){return[]}get _failClasses(){return this.failClass.split(" ")}get _defaultFailClasses(){return[]}initialize(){this._hasLoadedSuccessfully=this._hasLoadedSuccessfully.bind(this),this._success=this._success.bind(this),this._fail=this._fail.bind(this)}connect(){let e=this.el;e.onerror=this._fail,e.complete&&!this._hasLoadedSuccessfully()?this._fail():this._success()}disconnect(){this._removeSuccessClasses(),this._removeFailClasses()}_success(){this._addSuccessClasses()}_fail(){let e=this.el;this._addFailClasses(),this.hasPlaceholderValue&&e.src!==this.placeholderValue?(this.dispatch(e,"fallback-image:placeholder"),e.src=this.placeholderValue,e.onerror=this._fail):(this.dispatch(e,"fallback-image:fail"),e.style.display="none")}_hasLoadedSuccessfully(){let e=this.el;return e.naturalHeight>0&&e.naturalWidth>0}_addFailClasses(e=this.el){this.hasFailClass?e.classList.add(...this._failClasses):e.classList.add(...this._defaultFailClasses)}_removeFailClasses(e=this.el){this.hasFailClass?e.classList.remove(...this._failClasses):e.classList.remove(...this._defaultFailClasses)}_addSuccessClasses(e=this.el){this.hasSuccessClass?e.classList.add(...this._successClasses):e.classList.add(...this._defaultSuccessClasses)}_removeSuccessClasses(e=this.el){this.hasSuccessClass?e.classList.remove(...this._successClasses):e.classList.remove(...this._defaultSuccessClasses)}}o(at,"values",{placeholder:String}),o(at,"classes",["success","fail"]);class lt extends ue{get form(){let e;if(this.hasFormSelectorValue){if(e=document.querySelector(this.formSelectorValue),!e)throw new Error(`Could not find a form on the page that matches selector '${this.formSelectorValue}'`)}else e=this.formTarget;return e}submit(e){null==e||e.preventDefault(),Ae(this.form)}reset(e){null==e||e.preventDefault(),function(e){let t=e.querySelector('button[type="reset"]');t||(t=Se("reset"),e.insertAdjacentElement("beforeend",t)),t.click()}(this.form)}}o(lt,"targets",["form"]),o(lt,"values",{formSelector:String});class ct extends ue{get _formID(){if(this.hasIdValue)return this.idValue;let e=this.el.id;if(""!==e)return e;throw new Error(`No ID value to uniquely identify this form. Please either specify data-${this.identifier}-id-value or give this form an 'id' attribute. `)}get _formIdentifier(){return`${location.href} ${this._formID}`}get _formElements(){return this.el.elements}get _formData(){let e={[this._formIdentifier]:{}};for(const t of this._formElements){let s=t;s.name.length>0&&(we(s)&&"checkbox"==s.type?e[this._formIdentifier][s.name]=s.checked:we(s)&&"radio"==s.type?s.checked&&(e[this._formIdentifier][s.name]=s.value):e[this._formIdentifier][s.name]=s.value)}return e}get _restoreOnLoad(){return!this.hasRestoreOnLoadValue||this.restoreOnLoadValue}get _clearOnSubmit(){return!this.hasClearOnSubmitValue||this.clearOnSubmitValue}initialize(){this._clear=this._clear.bind(this)}connect(){requestAnimationFrame((()=>{if(!_e(this.el))throw new Error("Expected controller to be mounted on a form element.");this._restoreOnLoad&&this.restore(),this._clearOnSubmit&&this.el.addEventListener("submit",this._clear)}))}disconnect(){this._clearOnSubmit&&this.el.removeEventListener("submit",this._clear)}_clear(){localStorage.removeItem(this._formIdentifier),this.dispatch(this.el,"form-save:cleared")}clear(e){null==e||e.preventDefault(),this._clear()}save(e){e.preventDefault();let t=this._formData;localStorage.setItem(this._formIdentifier,JSON.stringify(t[this._formIdentifier])),this.dispatch(this.el,"form-save:save:success")}restore(e){if(null==e||e.preventDefault(),localStorage.getItem(this._formIdentifier)){const e=JSON.parse(localStorage.getItem(this._formIdentifier));for(const t of this._formElements){let s=t;s.name in e&&(we(s)&&"checkbox"==s.type?s.checked=e[s.name]:we(s)&&"radio"==s.type?s.value==e[s.name]&&(s.checked=!0):s.value=e[s.name])}this.dispatch(this.el,"form-save:restore:success")}else this.dispatch(this.el,"form-save:restore:empty")}}o(ct,"values",{id:String,restoreOnLoad:Boolean,clearOnSubmit:Boolean});class ht extends ue{get _threshold(){return this.hasThresholdValue?this.thresholdValue.split(",").map((e=>Number.parseFloat(e.trim()))).filter((e=>e>=0&&e<=1)):[0,1]}connect(){Ne(this,{threshold:this._threshold,element:this.el})}appear(e){this.dispatch(this.el,"intersection:appear",{detail:{element:this.el}})}disappear(e){this.dispatch(this.el,"intersection:disappear",{detail:{element:this.el}})}}o(ht,"values",{threshold:String});class ut extends ue{constructor(){super(...arguments),o(this,"_intervalHandle",null)}initialize(){this._interval=this._interval.bind(this)}connect(){if(!this.hasSecondsValue)throw new Error("Expected `secondsValue` to be present");requestAnimationFrame((()=>{this._intervalHandle=window.setInterval(this._interval,1e3*this.secondsValue)}))}disconnect(){this._intervalHandle&&window.clearInterval(this._intervalHandle)}_interval(){this.dispatch(this.el,"interval:action")}}o(ut,"values",{seconds:Number});var dt=window.CustomEvent;function pt(e,t){var s="on"+t.type.toLowerCase();return"function"==typeof e[s]&&e[s](t),e.dispatchEvent(t)}function mt(e){for(;e;){if("dialog"===e.localName)return e;e=e.parentElement?e.parentElement:e.parentNode?e.parentNode.host:null}return null}function ft(e){for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;e&&e.blur&&e!==document.body&&e.blur()}function gt(e,t){for(var s=0;s<e.length;++s)if(e[s]===t)return!0;return!1}function vt(e){return!(!e||!e.hasAttribute("method"))&&"dialog"===e.getAttribute("method").toLowerCase()}function bt(e){var t=["button","input","keygen","select","textarea"].map((function(e){return e+":not([disabled])"}));t.push('[tabindex]:not([disabled]):not([tabindex=""])');var s=e.querySelector(t.join(", "));if(!s&&"attachShadow"in Element.prototype)for(var i=e.querySelectorAll("*"),r=0;r<i.length&&!(i[r].tagName&&i[r].shadowRoot&&(s=bt(i[r].shadowRoot)));r++);return s}function yt(e){return e.isConnected||document.body.contains(e)}function _t(e){if(e.submitter)return e.submitter;var t=e.target;if(!(t instanceof HTMLFormElement))return null;var s=Ct.formSubmitter;if(!s){var i=e.target;s=("getRootNode"in i&&i.getRootNode()||document).activeElement}return s&&s.form===t?s:null}function wt(e){if(!e.defaultPrevented){var t=e.target,s=Ct.imagemapUseValue,i=_t(e);null===s&&i&&(s=i.value);var r=mt(t);if(r)"dialog"===(i&&i.getAttribute("formmethod")||t.getAttribute("method"))&&(e.preventDefault(),null!=s?r.close(s):r.close())}}function Et(e){if(this.dialog_=e,this.replacedStyleTop_=!1,this.openAsModal_=!1,e.hasAttribute("role")||e.setAttribute("role","dialog"),e.show=this.show.bind(this),e.showModal=this.showModal.bind(this),e.close=this.close.bind(this),e.addEventListener("submit",wt,!1),"returnValue"in e||(e.returnValue=""),"MutationObserver"in window){new MutationObserver(this.maybeHideModal.bind(this)).observe(e,{attributes:!0,attributeFilter:["open"]})}else{var t,s=!1,i=function(){s?this.downgradeModal():this.maybeHideModal(),s=!1}.bind(this),r=function(r){if(r.target===e){var n="DOMNodeRemoved";s|=r.type.substr(0,n.length)===n,window.clearTimeout(t),t=window.setTimeout(i,0)}};["DOMAttrModified","DOMNodeRemoved","DOMNodeRemovedFromDocument"].forEach((function(t){e.addEventListener(t,r)}))}Object.defineProperty(e,"open",{set:this.setOpen.bind(this),get:e.hasAttribute.bind(e,"open")}),this.backdrop_=document.createElement("div"),this.backdrop_.className="backdrop",this.backdrop_.addEventListener("mouseup",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("mousedown",this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener("click",this.backdropMouseEvent_.bind(this))}dt&&"object"!=typeof dt||((dt=function(e,t){t=t||{};var s=document.createEvent("CustomEvent");return s.initCustomEvent(e,!!t.bubbles,!!t.cancelable,t.detail||null),s}).prototype=window.Event.prototype),Et.prototype={get dialog(){return this.dialog_},maybeHideModal:function(){this.dialog_.hasAttribute("open")&&yt(this.dialog_)||this.downgradeModal()},downgradeModal:function(){this.openAsModal_&&(this.openAsModal_=!1,this.dialog_.style.zIndex="",this.replacedStyleTop_&&(this.dialog_.style.top="",this.replacedStyleTop_=!1),this.backdrop_.parentNode&&this.backdrop_.parentNode.removeChild(this.backdrop_),Ct.dm.removeDialog(this))},setOpen:function(e){e?this.dialog_.hasAttribute("open")||this.dialog_.setAttribute("open",""):(this.dialog_.removeAttribute("open"),this.maybeHideModal())},backdropMouseEvent_:function(e){if(this.dialog_.hasAttribute("tabindex"))this.dialog_.focus();else{var t=document.createElement("div");this.dialog_.insertBefore(t,this.dialog_.firstChild),t.tabIndex=-1,t.focus(),this.dialog_.removeChild(t)}var s=document.createEvent("MouseEvents");s.initMouseEvent(e.type,e.bubbles,e.cancelable,window,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget),this.dialog_.dispatchEvent(s),e.stopPropagation()},focus_:function(){var e=this.dialog_.querySelector("[autofocus]:not([disabled])");!e&&this.dialog_.tabIndex>=0&&(e=this.dialog_),e||(e=bt(this.dialog_)),ft(document.activeElement),e&&e.focus()},updateZIndex:function(e,t){if(e<t)throw new Error("dialogZ should never be < backdropZ");this.dialog_.style.zIndex=e,this.backdrop_.style.zIndex=t},show:function(){this.dialog_.open||(this.setOpen(!0),this.focus_())},showModal:function(){if(this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'showModal' on dialog: The element is already open, and therefore cannot be opened modally.");if(!yt(this.dialog_))throw new Error("Failed to execute 'showModal' on dialog: The element is not in a Document.");if(!Ct.dm.pushDialog(this))throw new Error("Failed to execute 'showModal' on dialog: There are too many open modal dialogs.");(function(e){for(;e&&e!==document.body;){var t=window.getComputedStyle(e),s=function(e,s){return!(void 0===t[e]||t[e]===s)};if(t.opacity<1||s("zIndex","auto")||s("transform","none")||s("mixBlendMode","normal")||s("filter","none")||s("perspective","none")||"isolate"===t.isolation||"fixed"===t.position||"touch"===t.webkitOverflowScrolling)return!0;e=e.parentElement}return!1})(this.dialog_.parentElement)&&console.warn("A dialog is being shown inside a stacking context. This may cause it to be unusable. For more information, see this link: https://github.com/GoogleChrome/dialog-polyfill/#stacking-context"),this.setOpen(!0),this.openAsModal_=!0,Ct.needsCentering(this.dialog_)?(Ct.reposition(this.dialog_),this.replacedStyleTop_=!0):this.replacedStyleTop_=!1,this.dialog_.parentNode.insertBefore(this.backdrop_,this.dialog_.nextSibling),this.focus_()},close:function(e){if(!this.dialog_.hasAttribute("open"))throw new Error("Failed to execute 'close' on dialog: The element does not have an 'open' attribute, and therefore cannot be closed.");this.setOpen(!1),void 0!==e&&(this.dialog_.returnValue=e);var t=new dt("close",{bubbles:!1,cancelable:!1});pt(this.dialog_,t)}};var Ct={reposition:function(e){var t=document.body.scrollTop||document.documentElement.scrollTop,s=t+(window.innerHeight-e.offsetHeight)/2;e.style.top=Math.max(t,s)+"px"},isInlinePositionSetByStylesheet:function(e){for(var t=0;t<document.styleSheets.length;++t){var s=document.styleSheets[t],i=null;try{i=s.cssRules}catch(c){}if(i)for(var r=0;r<i.length;++r){var n=i[r],o=null;try{o=document.querySelectorAll(n.selectorText)}catch(c){}if(o&>(o,e)){var a=n.style.getPropertyValue("top"),l=n.style.getPropertyValue("bottom");if(a&&"auto"!==a||l&&"auto"!==l)return!0}}}return!1},needsCentering:function(e){return"absolute"===window.getComputedStyle(e).position&&(!("auto"!==e.style.top&&""!==e.style.top||"auto"!==e.style.bottom&&""!==e.style.bottom)&&!Ct.isInlinePositionSetByStylesheet(e))},forceRegisterDialog:function(e){if((window.HTMLDialogElement||e.showModal)&&console.warn("This browser already supports <dialog>, the polyfill may not work correctly",e),"dialog"!==e.localName)throw new Error("Failed to register dialog: The element is not a dialog.");new Et(e)},registerDialog:function(e){e.showModal||Ct.forceRegisterDialog(e)},DialogManager:function(){this.pendingDialogStack=[];var e=this.checkDOM_.bind(this);this.overlay=document.createElement("div"),this.overlay.className="_dialog_overlay",this.overlay.addEventListener("click",function(t){this.forwardTab_=void 0,t.stopPropagation(),e([])}.bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=100150,this.forwardTab_=void 0,"MutationObserver"in window&&(this.mo_=new MutationObserver((function(t){var s=[];t.forEach((function(e){for(var t,i=0;t=e.removedNodes[i];++i)t instanceof Element&&("dialog"===t.localName&&s.push(t),s=s.concat(t.querySelectorAll("dialog")))})),s.length&&e(s)})))}};if(Ct.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener("focus",this.handleFocus_,!0),document.addEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},Ct.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener("focus",this.handleFocus_,!0),document.removeEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.disconnect()},Ct.DialogManager.prototype.updateStacking=function(){for(var e,t=this.zIndexHigh_,s=0;e=this.pendingDialogStack[s];++s)e.updateZIndex(--t,--t),0===s&&(this.overlay.style.zIndex=--t);var i=this.pendingDialogStack[0];i?(i.dialog.parentNode||document.body).appendChild(this.overlay):this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},Ct.DialogManager.prototype.containedByTopDialog_=function(e){for(;e=mt(e);){for(var t,s=0;t=this.pendingDialogStack[s];++s)if(t.dialog===e)return 0===s;e=e.parentElement}return!1},Ct.DialogManager.prototype.handleFocus_=function(e){var t=e.composedPath?e.composedPath()[0]:e.target;if(!this.containedByTopDialog_(t)&&document.activeElement!==document.documentElement&&(e.preventDefault(),e.stopPropagation(),ft(t),void 0!==this.forwardTab_)){var s=this.pendingDialogStack[0];return s.dialog.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?s.focus_():t!==document.documentElement&&document.documentElement.focus()),!1}},Ct.DialogManager.prototype.handleKey_=function(e){if(this.forwardTab_=void 0,27===e.keyCode){e.preventDefault(),e.stopPropagation();var t=new dt("cancel",{bubbles:!1,cancelable:!0}),s=this.pendingDialogStack[0];s&&pt(s.dialog,t)&&s.dialog.close()}else 9===e.keyCode&&(this.forwardTab_=!e.shiftKey)},Ct.DialogManager.prototype.checkDOM_=function(e){this.pendingDialogStack.slice().forEach((function(t){-1!==e.indexOf(t.dialog)?t.downgradeModal():t.maybeHideModal()}))},Ct.DialogManager.prototype.pushDialog=function(e){var t=(this.zIndexHigh_-this.zIndexLow_)/2-1;return!(this.pendingDialogStack.length>=t)&&(1===this.pendingDialogStack.unshift(e)&&this.blockDocument(),this.updateStacking(),!0)},Ct.DialogManager.prototype.removeDialog=function(e){var t=this.pendingDialogStack.indexOf(e);-1!==t&&(this.pendingDialogStack.splice(t,1),0===this.pendingDialogStack.length&&this.unblockDocument(),this.updateStacking())},Ct.dm=new Ct.DialogManager,Ct.formSubmitter=null,Ct.imagemapUseValue=null,void 0===window.HTMLDialogElement){var Tt=document.createElement("form");if(Tt.setAttribute("method","dialog"),"dialog"!==Tt.method){var kt=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"method");if(kt){var xt=kt.get;kt.get=function(){return vt(this)?"dialog":xt.call(this)};var St=kt.set;kt.set=function(e){return"string"==typeof e&&"dialog"===e.toLowerCase()?this.setAttribute("method",e):St.call(this,e)},Object.defineProperty(HTMLFormElement.prototype,"method",kt)}}document.addEventListener("click",(function(e){if(Ct.formSubmitter=null,Ct.imagemapUseValue=null,!e.defaultPrevented){var t=e.target;if("composedPath"in e)t=e.composedPath().shift()||t;if(t&&vt(t.form)){if(!("submit"===t.type&&["button","input"].indexOf(t.localName)>-1)){if("input"!==t.localName||"image"!==t.type)return;Ct.imagemapUseValue=e.offsetX+","+e.offsetY}mt(t)&&(Ct.formSubmitter=t)}}}),!1),document.addEventListener("submit",(function(e){var t=e.target;if(!mt(t)){var s=_t(e);"dialog"===(s&&s.getAttribute("formmethod")||t.getAttribute("method"))&&e.preventDefault()}}));var At=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){if(!vt(this))return At.call(this);var e=mt(this);e&&e.close()}}const Lt="scrollBehavior"in document.documentElement.style;let Vt;async function Ot(e,{behavior:t="smooth",block:s="start",inline:i="nearest"}={}){"smooth"!=t||Lt||await It(),e.scrollIntoView({behavior:t,block:s,inline:i})}async function Mt(e,{behavior:t="smooth"}={}){"smooth"!=t||Lt||await It(),e.scrollTo({top:0,left:0,behavior:t})}async function Dt(e,{behavior:t="smooth"}={}){"smooth"!=t||Lt||await It(),e==window?e.scrollTo({top:document.body.scrollHeight,left:0,behavior:t}):e.scrollTo({top:e.scrollHeight,left:0,behavior:t})}async function Nt(e,{behavior:t="smooth"}={}){"smooth"!=t||Lt||await It(),e.scrollTo({left:0,behavior:t})}async function It(){const{polyfill:e}=await Promise.resolve().then((function(){return c(require("smoothscroll-polyfill"))}));Vt||(Vt=!0,e())}function Pt(e){if(!e)return null;if(e==document.body)return window;const t=getComputedStyle(e).overflowY;return"visible"!==t&&"hidden"!==t&&e.scrollHeight>=e.clientHeight?e:Pt(e.parentElement)||document.body}class Bt extends ue{constructor(){super(...arguments),o(this,"_dialog",null)}get _src(){return this.hasSrcValue?this.srcValue:this.el.src}get _srcSet(){return this.hasSrcSetValue?this.srcSetValue:this.el.srcset}get _sizes(){return this.hasSizesValue?this.sizesValue:this.el.sizes}get _modalClassName(){return this.hasModalClass?this.modalClass:"image-lightbox-dialog"}get _imageClassName(){return this.hasImageClass?this.imageClass:"image-lightbox-image"}initialize(){this.open=this.open.bind(this),this.close=this.close.bind(this)}connect(){}open(){let e=this.el;if(this._dialog)return;this._dialog=document.createElement("dialog");let t=document.createElement("img");t.className=this._imageClassName,t.src=this._src,t.srcset=this._srcSet,t.sizes=this._sizes,this._dialog.appendChild(t),e.insertAdjacentElement("afterend",this._dialog),Ct.registerDialog(this._dialog),this._dialog.className=this._modalClassName,this._dialog.showModal(),Ot(this._dialog,{behavior:"smooth",block:"end"}).catch((()=>this._dialog.scrollIntoView(!1))),this._dialog.addEventListener("click",this.close),this._dialog.addEventListener("cancel",this.close),this._dialog.addEventListener("close",this.close)}close(){this._dialog&&(this._dialog.close(),this._dialog.remove(),this._dialog=null,Ot(this.el,{behavior:"smooth",block:"end"}).catch((()=>this.el.scrollIntoView(!1))))}}o(Bt,"values",{src:String,srcSet:String,sizes:String}),o(Bt,"classes",["modal","image"]);class Ft extends ue{initialize(){this.handleInputs=this.handleInputs.bind(this)}connect(){this.inputTargets.forEach((e=>e.addEventListener("change",this.handleInputs)))}disconnect(){this.inputTargets.forEach((e=>e.removeEventListener("change",this.handleInputs)))}handleInputs(e){let t=this.inputTargets.reduce(((e,t)=>t.checked?e+1:e),0),s=e.target;t>this.maxValue?(e.preventDefault(),s.checked=!1,this.dispatch(s,"change"),this.dispatch(s,"limited-selection:too-many"),this.hasErrorTarget&&(this.errorTarget.innerHTML=this.messageValue)):(this.dispatch(s,"limited-selection:selection"),this.hasErrorTarget&&(this.errorTarget.innerHTML=""))}}o(Ft,"targets",["input","error"]),o(Ft,"values",{max:Number,message:String});class jt extends ue{initialize(){}connect(){}disconnect(){}async play(e){null==e||e.preventDefault(),await this.mediaTarget.play()}pause(e){null==e||e.preventDefault(),this.mediaTarget.pause()}restart(e){null==e||e.preventDefault(),this.mediaTarget.currentTime=0}seek(e){null==e||e.preventDefault(),this.mediaTarget.currentTime+=5}}o(jt,"targets",["media"]);class Ht extends ue{constructor(){super(...arguments),o(this,"_errors",[]),o(this,"_firstClick",!1)}get _errorCount(){return this._errors.length}get _previousIndex(){let e=this._index-1;return e<0?0:e}get _nextIndex(){let e=this._index+1;return e>this._errors.length-1?this._errors.length-1:e}get _index(){return l.clamp(this.hasIndexValue?this.indexValue:0,0,this._errors.length)}get _selector(){if(this.hasSelectorValue)return this.selectorValue;throw new Error("Expected `selectorValue` to be present")}get _currentError(){return this._errors[this._index]}connect(){requestAnimationFrame((()=>{this._firstClick=!0,this._toggleButtons(),this._toggleVisibility()}))}async current(e){null==e||e.preventDefault(),this._firstClick&&(this._firstClick=!1,this._toggleButtons()),await Ot(this._currentError,{behavior:"smooth",block:"center",inline:"center"})}async next(e){null==e||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._nextIndex,await Ot(this._currentError,{behavior:"smooth",block:"center",inline:"center"})}async previous(e){null==e||e.preventDefault(),this._firstClick?(this._firstClick=!1,this._toggleButtons()):this.indexValue=this._previousIndex,await Ot(this._currentError,{behavior:"smooth",block:"center",inline:"center"})}indexValueChanged(){this._toggleButtons()}selectorValueChanged(){this._errors=Array.from(document.querySelectorAll(this._selector)),this.indexValue=0,this._toggleButtons(),this._toggleVisibility()}_toggleVisibility(){0===this._errorCount?this.el.style.display="none":this.el.style.display=""}_toggleButtons(){if(this.hasNextTarget){if(!this.hasCurrentTarget&&this._firstClick&&this.indexValue==this._errorCount-1)return void this.nextTarget.removeAttribute("disabled");this.indexValue>=this._errorCount-1?this.nextTarget.setAttribute("disabled","true"):this.nextTarget.removeAttribute("disabled")}this.hasPreviousTarget&&(this.indexValue<=0?this.previousTarget.setAttribute("disabled","true"):this.previousTarget.removeAttribute("disabled"))}}o(Ht,"values",{selector:String,index:Number}),o(Ht,"targets",["next","current","previous"]);class Rt extends ue{get _wrapperClass(){return this.hasWrapperSelectorValue?this.wrapperClassValue:"nested-fields"}get _insertMode(){return this.hasInsertModeValue?this.insertModeValue:"beforeend"}connect(){this._checkStructure()}add(e){null==e||e.preventDefault();const t=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,this._generateID());this.targetTarget.insertAdjacentHTML(this._insertMode,t)}remove(e){e.preventDefault();const t=e.target.closest(`.${this._wrapperClass}`);if(null==t)throw new Error(`#remove was clicked from outside of a child record. Could not find an ancestor with class .${this._wrapperClass}`);if("true"===t.dataset.newRecord)t.remove();else{t.style.display="none";let e=t.querySelector("input[name*='_destroy']");if(null==e)throw new Error("Could not find a hidden input with name '_destroy'. NestedForm cannot remove an already persisted record without it.");e.value="1"}}_generateID(){return(new Date).getTime().toString()+Math.random().toString().slice(2)}_checkStructure(){if(this.templateTarget.innerHTML.indexOf("NEW_RECORD"))throw new Error("Could not find 'NEW_RECORD' in the provided template. Please make sure you've passed `child_index: 'NEW_RECORD'` to `fields_for`")}}o(Rt,"targets",["target","template"]),o(Rt,"values",{insertMode:String,wrapperClass:String});class zt extends ue{get _errorClasses(){return this.errorClass.split(" ")}get _defaultErrorClasses(){return[]}initialize(){this._checkPasswordsMatch=this._checkPasswordsMatch.bind(this)}connect(){this.passwordTargets.forEach((e=>e.addEventListener("change",this._checkPasswordsMatch)))}disconnect(){this.passwordTargets.forEach((e=>e.removeEventListener("change",this._checkPasswordsMatch)))}_addErrorClasses(e=this.el){this.hasErrorClass?e.classList.add(...this._errorClasses):e.classList.add(...this._defaultErrorClasses)}_removeErrorClasses(e=this.el){this.hasErrorClass?e.classList.remove(...this._errorClasses):e.classList.remove(...this._defaultErrorClasses)}_allPasswordsMatch(){let e=new Set(this.passwordTargets.map((e=>e.value)));return e.has("")||1==e.size}_checkPasswordsMatch(){let e=this.el;this._allPasswordsMatch()?(this.dispatch(e,"password-confirm:match"),this.hasErrorClass&&this.passwordTargets.forEach((e=>this._removeErrorClasses(e)))):(this.dispatch(e,"password-confirm:no-match"),this.hasErrorClass&&this.passwordTargets.forEach((e=>this._addErrorClasses(e))))}}o(zt,"targets",["password"]),o(zt,"classes",["error"]);class qt extends ue{peak(e){null==e||e.preventDefault(),this.passwordTarget.type="text"}hide(e){null==e||e.preventDefault(),this.passwordTarget.type="password"}toggle(e){null==e||e.preventDefault(),"password"===this.passwordTarget.type?this.peak():this.hide()}}o(qt,"targets",["password"]);class $t extends ve{constructor(){super(...arguments),o(this,"_intervalHandle",null)}initialize(){this._timeout=this._timeout.bind(this)}connect(){requestAnimationFrame((()=>{this._timeout(),this._intervalHandle=window.setInterval(this._timeout,1e3*this.secondsValue)}))}disconnect(){this._intervalHandle&&window.clearInterval(this._intervalHandle)}async _timeout(){await this.loadContent()}}o($t,"targets",["replace"]),o($t,"values",{endpoint:String,errorMessage:String,selector:String,seconds:Number});class Wt extends ue{get _mode(){return this.hasModeValue?this.modeValue:"mouseover"}get _supportsPrefetch(){var e,t;const s=document.createElement("link");return(null==(e=s.relList)?void 0:e.supports)&&(null==(t=s.relList)?void 0:t.supports("prefetch"))}get _href(){return this.el.href}get _existingPrefetch(){return(document.head.querySelectorAll(`link[rel="prefetch"][href="${this._href}"]`)||[]).length>0}get _connectionSuitable(){const e=navigator.connection;if(!e)return!0;if(e){if(e.saveData)return this.warn("Data Saving is enabled"),!1;if(/2g/.test(e.effectiveType))return this.warn("Network is too slow"),!1}return!0}initialize(){this.prefetch=this.prefetch.bind(this)}connect(){if(this._supportsPrefetch)switch(this._mode){case"intersect":this._setupObserver();break;case"mouseover":this.el.addEventListener("mouseover",this.prefetch,{once:!0});break;default:throw new Error(`'${this._mode}' is not a supported prefetch mode`)}}disconnect(){this.el.removeEventListener("mouseover",this.prefetch)}_setupObserver(){new IntersectionObserver((([e],t)=>{e.isIntersecting&&(this.prefetch(),t.unobserve(e.target))})).observe(this.element)}prefetch(){if(this._existingPrefetch||!this._connectionSuitable)return;const e=document.createElement("link");Object.assign(e,{rel:"prefetch",href:this._href,as:"document"}),document.head.appendChild(e)}}o(Wt,"values",{mode:String});class Ut extends ue{get _selector(){return this.hasSelectorValue?this.selectorValue:`[data-controller~="${this.identifier}"]`}replace(e){const[t,s,i]=e.detail;if(t instanceof Node){let e=t.querySelector(this._selector);if(null==e)throw new Error(`expected new form DOM with [data-controller="${this.identifier}"] to be present in returned payload`);let s=this.el.parentNode;if(null==s)throw new Error("expected form to have a DOM parent, could not execute replaceChild");s.replaceChild(e,this.el),this.dispatch(e,"remote-form:replace")}else console.log("Unknown",t)}}o(Ut,"targets",[]),o(Ut,"values",{selector:String});class Kt extends ue{connect(){var e,t,s;window.self!==window.top&&(ze(this),t={},null===(s=(e=this).constructor.debounces)||void 0===s||s.forEach((s=>{if("string"==typeof s&&(e[s]=qe(e[s],null==t?void 0:t.wait)),"object"==typeof s){const{name:i,wait:r}=s;if(!i)return;e[i]=qe(e[i],r||(null==t?void 0:t.wait))}})),this.postUpdate())}windowResize(e){this.postUpdate()}postUpdate(){let e={name:"iframe-body",height:this.getHeight()};window.parent.postMessage(e,"*")}getHeight(){const e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}}o(Kt,"debounces",["postUpdate"]);class Jt extends ue{get _increment(){return this.hasIncrementValue?this.incrementValue:50}get _behaviour(){if(this.hasBehaviourValue){if(["auto","smooth"].includes(this.behaviourValue))return this.behaviourValue;throw new Error(`'${this.behaviourValue}' is not a recognised scroll behaviour`)}return"auto"}async scrollTop(e){null==e||e.preventDefault(),await Mt(this.el,{behavior:this._behaviour})}async scrollBottom(e){null==e||e.preventDefault(),await Dt(this.el,{behavior:this._behaviour})}async scrollLeft(e){null==e||e.preventDefault(),await Nt(this.el,{behavior:this._behaviour})}async scrollRight(e){null==e||e.preventDefault(),await Nt(this.el,{behavior:this._behaviour})}async up(e){null==e||e.preventDefault(),await async function(e,t,{behavior:s="smooth"}={}){"smooth"!=s||Lt||await It(),e.scrollBy({top:-t,left:0,behavior:s})}(this.el,this._increment,{behavior:this._behaviour})}async down(e){null==e||e.preventDefault(),await async function(e,t,{behavior:s="smooth"}={}){"smooth"!=s||Lt||await It(),e.scrollBy({top:t,left:0,behavior:s})}(this.el,this._increment,{behavior:this._behaviour})}async left(e){null==e||e.preventDefault(),await async function(e,t,{behavior:s="smooth"}={}){"smooth"!=s||Lt||await It(),e.scrollBy({top:0,left:-t,behavior:s})}(this.el,this._increment,{behavior:this._behaviour})}async right(e){null==e||e.preventDefault(),await async function(e,t,{behavior:s="smooth"}={}){"smooth"!=s||Lt||await It(),e.scrollBy({top:0,left:t,behavior:s})}(this.el,this._increment,{behavior:this._behaviour})}}o(Jt,"values",{behaviour:String,increment:Number});class Yt extends fe{connect(){requestAnimationFrame((()=>{Ot(this.el,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch((()=>this.el.scrollIntoView())),this._cleanupSelf()}))}}o(Yt,"values",{behavior:String,block:String,inline:String});class Zt extends ue{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return e="document"==this._mode?window:Pt(this.el),e}async scroll(e){null==e||e.preventDefault(),this._scrollTarget&&await Dt(this._scrollTarget)}}o(Zt,"values",{mode:String});class Xt extends ue{scroll(){let e=document.querySelector(this.selectorValue);e?Ot(e,{behavior:this.hasBehaviorValue?this.behaviorValue:"smooth",block:this.hasBlockValue?this.blockValue:"center",inline:this.hasInlineValue?this.inlineValue:"center"}).catch((()=>e.scrollIntoView())):console.warn(`Could not find target for '${this.selectorValue}'`)}}o(Xt,"values",{selector:String,behavior:String,block:String,inline:String});class Gt extends ue{get _mode(){return this.hasModeValue?this.modeValue:"document"}get _scrollTarget(){let e;return e="document"==this._mode?window:Pt(this.el),e}async scroll(e){null==e||e.preventDefault(),this._scrollTarget&&await Mt(this._scrollTarget)}}o(Gt,"values",{mode:String});class Qt extends ue{constructor(){super(...arguments),o(this,"_timeout",null)}connect(){requestAnimationFrame((()=>{this._timeout=setTimeout((()=>this.el.remove()),1e3*this.secondsValue)}))}disconnect(){this._timeout&&clearTimeout(this._timeout)}}o(Qt,"values",{seconds:Number});class es extends ue{constructor(){super(...arguments),o(this,"_magicElement",null)}get _stuckClasses(){return this.stuckClass.split(" ")}get _defaultStuckClasses(){return["stuck"]}get _mode(){return this.hasModeValue?this.modeValue:"top"}createMagicElement(){if(null===this._magicElement)switch(this._magicElement=document.createElement("div"),this._mode){case"top":this.el.insertAdjacentElement("beforebegin",this._magicElement);break;case"bottom":this.el.insertAdjacentElement("afterend",this._magicElement)}}connect(){this.el,this.createMagicElement();new IntersectionObserver((e=>{e.forEach((e=>{e.target===this._magicElement&&(0===e.intersectionRatio?this._addStuckClasses():1===e.intersectionRatio&&this._removeStuckClasses())}))}),{threshold:[0,1]}).observe(this._magicElement)}_addStuckClasses(e=this.el){this.hasStuckClass?e.classList.add(...this._stuckClasses):e.classList.add(...this._defaultStuckClasses)}_removeStuckClasses(e=this.el){this.hasStuckClass?e.classList.remove(...this._stuckClasses):e.classList.remove(...this._defaultStuckClasses)}}o(es,"classes",["stuck"]),o(es,"values",{mode:String});const ts={all:ss=ss||new Map,on:function(e,t){var s=ss.get(e);s?s.push(t):ss.set(e,[t])},off:function(e,t){var s=ss.get(e);s&&(t?s.splice(s.indexOf(t)>>>0,1):ss.set(e,[]))},emit:function(e,t){var s=ss.get(e);s&&s.slice().map((function(e){e(t)})),(s=ss.get("*"))&&s.slice().map((function(s){s(e,t)}))}};var ss;class is extends ue{get _eventName(){return`sync:${this._key}`}get _key(){if(this.hasKeyValue)return this.keyValue;throw new Error("Expected `keyValue` to be present")}get _value(){let e=this.el;return we(e)&&"checkbox"===e.type?e.checked:we(e)&&"radio"===e.type?e.checked?e.value:"":e.value}set _value(e){let t=this.el;we(t)&&"checkbox"===t.type?t.checked="true"===e.toString():we(t)&&"radio"===t.type?t.checked=t.value===e:we(t)||Ee(t)||Te(t)?t.value=e.toString():t.innerHTML=e.toString()}initialize(){this._read=this._read.bind(this),this._emit=this._emit.bind(this)}connect(){ts.on(this._eventName,this._read),requestAnimationFrame((()=>{xe(this.el)&&(this._emit(),this.el.addEventListener("input",this._emit))}))}disconnect(){ts.off(this._eventName,this._read),xe(this.el)&&this.el.removeEventListener("input",this._emit)}_emit(){ts.emit(this._eventName,{value:this._value,dispatcher:this.el})}_read(e){if(void 0===e)throw new Error("No payload received");let{dispatcher:t,value:s}=e;t!==this.el&&(this._value=s)}}o(is,"values",{key:String});class rs extends ue{constructor(){super(...arguments),o(this,"_lastIndex",null),o(this,"_reverse",!1)}get _tableHead(){let e=this.el.tHead;if(null==e)throw new Error("Expected table to have a <thead> element.");return e}get _tableHeaders(){let e=this._tableHead.rows;if(0==e.length)throw new Error("Expected table to have a <thead> element with at least one row.");return Array.from(e[0].cells)}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}initialize(){this.sort=this.sort.bind(this)}connect(){requestAnimationFrame((()=>{this._tableHeaders.forEach((e=>e.addEventListener("click",this.sort))),this.hasStartSortValue&&this._sortByColumn(this.startSortValue)}))}disconnect(){this._tableHeaders.forEach((e=>e.removeEventListener("click",this.sort)))}sort(e){e.preventDefault();let t=e.target,s=this._indexOfHeaderCell(t);this._sortByColumn(s)}_indexOfHeaderCell(e){return this._tableHeaders.indexOf(e)}_sortByColumn(e){this._reverse=e===this._lastIndex&&!this._reverse;let t=document.createDocumentFragment();this._tableRows.sort(((t,s)=>{var i,r;let n=Array.from(t.cells),o=Array.from(s.cells),a=(null==(i=n[e])?void 0:i.innerText)||"",l=(null==(r=o[e])?void 0:r.innerText)||"",c=a.localeCompare(l,"en",{sensitivity:"base",numeric:!0,caseFirst:"upper"});return t.dataset.sortTop||s.dataset.sortBottom?t.dataset.sortTop&&s.dataset.sortTop?c:-1:t.dataset.sortBottom||s.dataset.sortTop?t.dataset.sortBottom&&s.dataset.sortBottom?c:1:this._reverse?c>0?-1:1:c})).forEach((e=>t.appendChild(e))),this._tableBody.innerHTML="",this._tableBody.appendChild(t),this._lastIndex=e}}o(rs,"values",{startSort:Number});class ns extends ue{get _truncated(){return!!this.hasTruncatedValue&&this.truncatedValue}set _truncated(e){this.truncatedValue=e}get _tableBody(){return this.el.tBodies[0]}get _tableRows(){return Array.from(this._tableBody.rows)}get _limit(){return this.hasLimitValue?this.limitValue:20}initialize(){this.truncate=this.truncate.bind(this),this.expand=this.expand.bind(this)}connect(){Re(this,{childList:!0,element:this._tableBody}),requestAnimationFrame((()=>{this.truncate(),this.showMoreTarget.addEventListener("click",this.expand)}))}truncate(e){null==e||e.preventDefault(),this._truncated=!0,this._tableRows.length>=this._limit?(this._tableRows.slice(this._limit).forEach((e=>{e!==this.showMoreTarget&&this._hideElement(e)})),this._showElement(this.showMoreTarget)):this._hideElement(this.showMoreTarget)}expand(e){this._truncated=!1,null==e||e.preventDefault(),this._tableRows.slice(this._limit).forEach((e=>{e!==this.showMoreTarget&&this._showElement(e)})),this._hideElement(this.showMoreTarget)}mutate(e){this._truncated&&this._reTruncate()}_showElement(e){e.style.display=""}_hideElement(e){e.style.display="none"}_reTruncate(){this._tableRows.slice(0,this._limit).forEach((e=>{e!==this.showMoreTarget&&this._showElement(e)})),this._tableRows.slice(this._limit).forEach((e=>{e!==this.showMoreTarget&&this._hideElement(e)})),this._showElement(this.showMoreTarget)}}o(ns,"targets",["showMore"]),o(ns,"values",{limit:Number,truncated:Boolean});class os extends ue{get _hideClasses(){return this.hideClass.split(" ")}get _defaultHideClasses(){return["hide"]}get _activeClasses(){return this.activeClass.split(" ")}get _defaultActiveClasses(){return["is-active"]}get _currentTab(){return this.hasCurrentTabValue?this.currentTabValue:0}get _equalize(){return!!this.hasEqualizeValue&&this.equalizeValue}initialize(){this.switchTabs=this.switchTabs.bind(this)}connect(){this.linkTargets.forEach((e=>e.addEventListener("click",this.switchTabs))),this._equalize&&this._setMinHeight(),this.currentTabValue=this._currentTab}disconnect(){this.linkTargets.forEach((e=>e.removeEventListener("click",this.switchTabs)))}switchTabs(e){e.preventDefault(),this.currentTabValue=this.linkTargets.indexOf(e.currentTarget)}currentTabValueChanged(){let e=this._currentTab;e=this._clampIndex(e),this._selectTab(e)}_selectTab(e){e=this._clampIndex(e);let t=this.linkTargets,s=this.contentTargets,i=s[e],r=t[e],n=[...s.slice(0,e),...s.slice(e+1)],o=[...t.slice(0,e),...t.slice(e+1)];this._addActiveClasses(r),r.setAttribute("aria-selected","true"),this._addActiveClasses(i),this._removeHideClasses(i),o.forEach((e=>{e.removeAttribute("aria-selected"),this._removeActiveClasses(e)})),n.forEach((e=>{this._removeActiveClasses(e),this._addHideClasses(e)}))}_clampIndex(e){return l.clamp(e,0,this.contentTargets.length-1)}_setMinHeight(){let e=0;this.contentTargets.forEach((t=>{let s=t.hasAttribute("tab-hidden");s&&this._removeHideClasses(t);let i=t.offsetHeight;i>e&&(e=i),s&&this._addHideClasses(t)})),this.contentTargets.forEach((t=>t.style.minHeight=e+"px"))}_addHideClasses(e=this.el){e.setAttribute("tab-hidden","true"),this.hasHideClass?e.classList.add(...this._hideClasses):e.classList.add(...this._defaultHideClasses)}_removeHideClasses(e=this.el){e.removeAttribute("tab-hidden"),this.hasHideClass?e.classList.remove(...this._hideClasses):e.classList.remove(...this._defaultHideClasses)}_addActiveClasses(e=this.el){this.hasActiveClass?e.classList.add(...this._activeClasses):e.classList.add(...this._defaultActiveClasses)}_removeActiveClasses(e=this.el){this.hasActiveClass?e.classList.remove(...this._activeClasses):e.classList.remove(...this._defaultActiveClasses)}}o(os,"values",{currentTab:Number,equalize:Boolean}),o(os,"targets",["link","content"]),o(os,"classes",["active","hide"]);class as extends fe{connect(){if(!this.hasInsertValue)throw new Error("`insert` value was not specified");requestAnimationFrame((()=>{this.hasImmediateValue&&this.immediateValue&&this.execute()}))}execute(e){null==e||e.preventDefault();let t=this.el,s=document.querySelector(this.targetValue);if(null==s)return void this.dispatch(t,"teleport:error");let i=t.cloneNode(!0);switch(this.cleanup(i),this.insertValue){case"beforebegin":case"beforeend":case"afterend":case"afterbegin":s.insertAdjacentHTML(this.insertValue,i.outerHTML);break;case"replaceOuter":s.outerHTML=i.outerHTML;break;case"replaceInner":s.innerHTML=i.outerHTML;break;case"prepend":s.insertAdjacentHTML("afterbegin",i.outerHTML);break;case"append":s.insertAdjacentHTML("beforeend",i.outerHTML);break;default:throw new Error("`insert` value was not specified")}t.remove()}}o(as,"values",{target:String,insert:String,immediate:Boolean});class ls extends fe{constructor(){super(...arguments),o(this,"_timeout",null),o(this,"_previousState",{})}get _value(){if(this.hasValueValue)return this.valueValue;throw new Error("Expected `valueValue` to be present")}get _attribute(){if(this.hasAttributeValue)return this.attributeValue;throw new Error("Expected `attributeValue` to be present")}get _seconds(){if(this.hasSecondsValue)return 1e3*this.secondsValue;throw new Error("Expected `secondsValue` to be present")}initialize(){this.setState=this.setState.bind(this),this.removeState=this.removeState.bind(this)}connect(){this.setState(),this._timeout=setTimeout(this.removeState,this._seconds)}disconnect(){this.removeState(),this._timeout&&clearTimeout(this._timeout)}setState(){this._previousState[this._attribute]=l.get(this.el,this._attribute),l.set(this.el,this._attribute,this.valueValue)}removeState(){l.set(this.el,this._attribute,this._previousState[this._attribute])}}function cs(e,t,s,i,r="temporary-state"){var n;e.dataset.controller&&(null==(n=e.dataset.controller)?void 0:n.includes(r))||(e.dataset.controller=(e.dataset.controller||` ${r} `).trim().replaceAll(" "," ")),e[l.camelCase(`${r}-attribute-value`)]=t,e[l.camelCase(`${r}-seconds-value`)]=i.toString()}o(ls,"values",{attribute:String,seconds:Number,value:String});class hs extends ue{constructor(){super(...arguments),o(this,"_timeout",null)}get _duration(){return a.isPast(this._timestamp)?a.intervalToDuration({start:this._timestamp,end:new Date}):a.intervalToDuration({start:new Date,end:this._timestamp})}get _nextUpdate(){let e=this._duration;return e.years&&e.years>0||e.months&&e.months>0||e.days&&e.days>0?null:e.hours&&e.hours>0?18e5:3e4}timestampValueChanged(){this._timestamp=a.toDate(1e3*this.timestampValue)}initialize(){this._update=this._update.bind(this)}connect(){if(!this.hasTimestampValue)throw new Error("Expected `timestampValue` to be present");this._update()}disconnect(){this._timeout&&window.clearTimeout(this._timeout)}_update(){this.el.innerHTML=a.formatDistanceToNow(this._timestamp,{addSuffix:!0,includeSeconds:!0}),this._nextUpdate&&(this._timeout=window.setTimeout(this._update,this._nextUpdate))}}o(hs,"values",{timestamp:Number});class us extends ue{constructor(){super(...arguments),o(this,"_timeoutHandle",null)}initialize(){this._timeout=this._timeout.bind(this)}connect(){requestAnimationFrame((()=>{this._timeoutHandle=window.setTimeout(this._timeout,1e3*this.secondsValue)}))}disconnect(){this._timeoutHandle&&window.clearTimeout(this._timeoutHandle)}_timeout(){this.dispatch(this.el,"timeout")}}o(us,"values",{seconds:Number});class ds extends ue{connect(){if(!this.hasClassValue)throw new Error("data-toggle-class-class-value must not be empty");(this.hasMouseEnterValue||this.hasMouseLeaveValue)&&((e,t={})=>{const s=new je(e,t);s.observe,s.unobserve})(this),this.hasClickAwayValue&&this.clickAwayValue&&Pe(this),requestAnimationFrame((()=>{this.hasInitialValue&&("on"===this.initialValue?this.toggleTargets.forEach((e=>this._elementOn(e))):this.toggleTargets.forEach((e=>this._elementOff(e))))}))}clickOutside(){this.toggleTargets.forEach((e=>{this._elementWasToggled(e)&&(this._elementToggleStatus(e),this._elementToggle(e))}))}mouseEnter(){if(this.hasMouseEnterValue)switch(this.mouseEnterValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle()}return{}}mouseLeave(){if(this.hasMouseLeaveValue)switch(this.mouseLeaveValue){case"on":this.on();break;case"off":this.off();break;case"toggle":this.toggle()}return{}}on(e){this.toggleTargets.forEach((e=>{this._elementToggleStatus(e),this._elementOn(e)}))}off(e){this.toggleTargets.forEach((e=>{this._elementToggleStatus(e),this._elementOff(e)}))}toggle(e){this.toggleTargets.forEach((e=>{this._elementToggleStatus(e),this._elementToggle(e)}))}_elementWasToggled(e){return"true"==e.dataset.toggled}_elementToggleStatus(e){this._elementWasToggled(e)?delete e.dataset.toggled:e.dataset.toggled="true"}_elementToggle(e){this.classValue.split(" ").forEach((t=>e.classList.toggle(t)))}_elementOn(e){this.classValue.split(" ").forEach((t=>e.classList.toggle(t,!0)))}_elementOff(e){this.classValue.split(" ").forEach((t=>e.classList.toggle(t,!1)))}}o(ds,"targets",["toggle"]),o(ds,"values",{class:String,mouseEnter:String,mouseLeave:String,clickAway:Boolean,initial:String});class ps extends ue{get _collapsedClasses(){return this.hasCollapsedClass?this.collapsedClass.split(" "):this._defaultCollapsedClasses}get _defaultCollapsedClasses(){return["collapsed"]}get _activeClasses(){return this.hasActiveClass?this.activeClass.split(" "):this._defaultActiveClasses}get _defaultActiveClasses(){return["active"]}initialize(){this._nodeClicked=this._nodeClicked.bind(this)}connect(){this._setup(),Re(this,{subtree:!0,childList:!0})}disconnect(){this._teardown()}_setup(){this._setupNode(this.el)}_setupNode(e){const t=e=>{let t=e.parentElement;t&&(this._nodeActive(t)||this._hideNode(t),t.removeEventListener("click",this._nodeClicked),t.addEventListener("click",this._nodeClicked))};"UL"!==e.tagName&&"OL"!==e.tagName||t(e),e.querySelectorAll("ul, ol").forEach((e=>t(e)))}_teardown(){this.el.querySelectorAll("ul, ol, li").forEach((e=>this._teardownNode(e)))}_teardownNode(e){[e,...Array.from(e.querySelectorAll("ul, ol, li"))].forEach((e=>{e.removeEventListener("click",this._nodeClicked),this._removeActiveClasses(e),this._removeCollapsedClasses(e)}))}_nodeClicked(e){e&&e.stopImmediatePropagation();let t=e.target;t&&this._hasNested(t)&&(this._nodeActive(t)?this._hideNode(t):this._showNode(t))}_nodeActive(e){return this._activeClasses.every((t=>e.classList.contains(t)))}_showNode(e){this._removeCollapsedClasses(e),this._addActiveClasses(e)}_hideNode(e){this._removeActiveClasses(e),this._addCollapsedClasses(e)}_hasNested(e){return e.querySelectorAll("ul, ol").length>0}mutate(e){for(const t of e)"childList"===t.type&&(Array.from(t.addedNodes||[]).forEach((e=>this._setupNode(e))),Array.from(t.removedNodes||[]).forEach((e=>this._teardownNode(e))))}_addCollapsedClasses(e=this.el){this.hasCollapsedClass?e.classList.add(...this._collapsedClasses):e.classList.add(...this._defaultCollapsedClasses)}_removeCollapsedClasses(e=this.el){this.hasCollapsedClass?e.classList.remove(...this._collapsedClasses):e.classList.remove(...this._defaultCollapsedClasses)}_addActiveClasses(e=this.el){this.hasActiveClass?e.classList.add(...this._activeClasses):e.classList.add(...this._defaultActiveClasses)}_removeActiveClasses(e=this.el){this.hasActiveClass?e.classList.remove(...this._activeClasses):e.classList.remove(...this._defaultActiveClasses)}}function ms(e){return"TURBO-FRAME"==e.nodeName}o(ps,"classes",["active","collapsed"]);class fs extends ue{toggle(e){null==e||e.preventDefault();let t=this._getFrame().src;null==t||t!==this._getSrc()?this._setSrc():this._clear()}setSrc(e){null==e||e.preventDefault(),this._setSrc()}clear(e){null==e||e.preventDefault(),this._clear()}_setSrc(){let e=this._getFrame();this.hasLoadingMessageValue&&(e.innerHTML=this.loadingMessageValue),e.src=this._getSrc()}_clear(){let e=this._getFrame();e.src="",e.innerHTML=""}_getFrame(){let e=document.getElementById(`${this.frameIdValue}`);if(null==e)throw new Error(`Could not find frame with ID '${this.frameIdValue}'`);if(ms(e))return e;throw new Error(`Element targeted by ID '${this.frameIdValue}'`)}_getSrc(){let e=this.el;if(this.hasSrcValue)return this.srcValue;if(ye(e))return e.href;throw new Error("No link given to drive frame to")}}o(fs,"values",{frameId:String,src:String,loadingMessage:String});class gs extends ue{constructor(){super(...arguments),o(this,"_timeoutHandle",null)}get _poll(){return!!this.hasPollValue&&this.pollValue}initialize(){this.refresh=this.refresh.bind(this)}connect(){let e=this.el;if(!ms(e))throw new Error("Expected controller to be mounted on a <turbo-frame> element.");if(e.src)throw new Error("The provided <turbo-frame> element has no `src` attribute.");this._poll&&requestAnimationFrame((()=>this._timeoutHandle=setTimeout((()=>this.refresh()),this.intervalValue)))}disconnect(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}refresh(e){null==e||e.preventDefault();let t=this.el;t.src=t.src}}o(gs,"values",{interval:Number,poll:Boolean});class vs extends ue{get _maxMessage(){return this.hasMaxMessageValue?this.maxMessageValue:`Value must be less than ${this.maxValue}`}get _minMessage(){return this.hasMinMessageValue?this.minMessageValue:`Value must be greater than ${this.minValue}`}get _warningHideClasses(){return this.warningHideClass.split(" ")}get _defaultWarningHideClasses(){return["hide"]}get _inputWarningClasses(){return this.inputWarningClass.split(" ")}get _defaultInputWarningClasses(){return[""]}initialize(){this._check=this._check.bind(this)}connect(){this._addWarningHideClasses(this.warningTarget),this.inputTarget.addEventListener("input",this._check),this._check()}disconnect(){this.inputTarget.removeEventListener("input",this._check)}_check(){this.hasMinValue&&Number.parseFloat(this.inputTarget.value)<this.minValue?(this._removeWarningHideClasses(this.warningTarget),this._addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._minMessage):this.hasMaxValue&&Number.parseFloat(this.inputTarget.value)>this.maxValue?(this._removeWarningHideClasses(this.warningTarget),this._addInputWarningClasses(this.inputTarget),this.warningTarget.innerText=this._maxMessage):(this._addWarningHideClasses(this.warningTarget),this._removeInputWarningClasses(this.inputTarget),this.warningTarget.innerText="")}_addWarningHideClasses(e=this.el){this.hasWarningHideClass?e.classList.add(...this._warningHideClasses):e.classList.add(...this._defaultWarningHideClasses)}_removeWarningHideClasses(e=this.el){this.hasWarningHideClass?e.classList.remove(...this._warningHideClasses):e.classList.remove(...this._defaultWarningHideClasses)}_addInputWarningClasses(e=this.el){this.hasInputWarningClass?e.classList.add(...this._inputWarningClasses):e.classList.add(...this._defaultInputWarningClasses)}_removeInputWarningClasses(e=this.el){this.hasInputWarningClass?e.classList.remove(...this._inputWarningClasses):e.classList.remove(...this._defaultInputWarningClasses)}}o(vs,"classes",["inputWarning","warningHide"]),o(vs,"targets",["input","warning"]),o(vs,"values",{max:Number,min:Number,minMessage:String,maxMessage:String});class bs extends ue{get _errorClasses(){return this.errorClass.split(" ")}get _defaultErrorClasses(){return[]}initialize(){this._updateWordCount=this._updateWordCount.bind(this)}connect(){this._updateWordCount(),this.inputTarget.addEventListener("input",this._updateWordCount)}disconnect(){this.inputTarget.removeEventListener("input",this._updateWordCount)}_updateWordCount(){let e=0,t=this.inputTarget.value.match(/\S+/g);e=t&&t.length||0,this.outputTarget.innerText=e.toString(),this.hasErrorClass&&(this._isValidCount(e)?this._removeErrorClasses(this.outputTarget):this._addErrorClasses(this.outputTarget))}_addErrorClasses(e=this.el){this.hasErrorClass?e.classList.add(...this._errorClasses):e.classList.add(...this._defaultErrorClasses)}_removeErrorClasses(e=this.el){this.hasErrorClass?e.classList.remove(...this._errorClasses):e.classList.remove(...this._defaultErrorClasses)}_isValidCount(e){let t=0,s=99999;return this.hasMinValue&&(t=this.minValue),this.hasMaxValue&&(s=this.maxValue),e>=t&&e<=s}}o(bs,"targets",["input","output"]),o(bs,"values",{min:Number,max:Number}),o(bs,"classes",["error"]),exports.AnchorSpyController=ge,exports.AsyncBlockController=be,exports.AutoSubmitFormController=Le,exports.AutosizeController=class extends ue{initialize(){this._handler=this._handler.bind(this)}connect(){ze(this),requestAnimationFrame((()=>{this._handler();let e=this.el;e.style.resize="none",e.style.boxSizing="border-box",e.addEventListener("input",this._handler),e.addEventListener("focus",this._handler)}))}disconnect(){this.el.removeEventListener("input",this._handler),this.el.removeEventListener("focus",this._handler)}windowResize(){this._handler()}_handler(){this.autosize(this.el)}autosize(e){let t=e.offsetHeight-e.clientHeight;e.style.height="auto",e.style.height=e.scrollHeight+t+"px"}},exports.BackLinkController=$e,exports.BaseController=ue,exports.CharCountController=We,exports.CheckboxSelectAllController=Ue,exports.ClipboardController=Ke,exports.ClockController=Je,exports.ConfirmController=Ye,exports.ConfirmNavigationController=Ze,exports.CountdownController=Xe,exports.DebugController=Ge,exports.DetectDirtyController=class extends ue{get _cacheAttrName(){return"detect-dirty-load-value"}initialize(){this._checkDirty=this._checkDirty.bind(this)}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),e.addEventListener("input",this._checkDirty),e.addEventListener("change",this._checkDirty)}disconnect(){let e=this.el;e.removeEventListener("input",this._checkDirty),e.removeEventListener("change",this._checkDirty)}restore(e){null==e||e.preventDefault(),this._restoreElementFromLoadValue()}_getElementValue(){let e=this.el;return ke(e)?e.checked:e.value}_getElementLoadValue(){let e=this.el,t=e.getAttribute(this._cacheAttrName);if(ke(e))return null==t?e.defaultChecked:"true"==t;if(null!==t)return t;if(Te(e)){Array.from(e.options).forEach((t=>{if(t.defaultSelected)return e.value=t.value,t.value}))}return t}_elementHasCachedLoadValue(){return this.el.hasAttribute(this._cacheAttrName)}_checkDirty(){let e=this.el;this._isElementDirty()?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(){return this._getElementValue()!==this._getElementLoadValue()}_restoreElementFromLoadValue(){let e=this.el,t=e.getAttribute(this._cacheAttrName);if(ke(e))e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=null==t?e.defaultChecked:"true"==t;else if(Te(e))if(null==t){Array.from(e.options).forEach((t=>{t.defaultSelected&&(e.value=t.value)}))}else e.value=t;else e.value=null==t?e.defaultValue:t}_cacheLoadValues(){let e=this.el;!this._elementHasCachedLoadValue()&&ke(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}},exports.DetectDirtyFormController=class extends ue{get _formElements(){return Array.from(this.el.querySelectorAll("input, select, textarea"))}get _cacheAttrName(){return"detect-dirty-load-value"}initialize(){this._checkDirty=this._checkDirty.bind(this)}connect(){let e=this.el;this._cacheLoadValues(),this._checkDirty(),e.addEventListener("input",this._checkDirty),e.addEventListener("change",this._checkDirty)}disconnect(){let e=this.el;e.removeEventListener("input",this._checkDirty),e.removeEventListener("change",this._checkDirty)}restore(e){null==e||e.preventDefault(),this._formElements.forEach((e=>this._restoreElementFromLoadValue(e)))}_getElementValue(e){return ke(e)?e.checked:e.value}_getElementLoadValue(e){let t=e.getAttribute(this._cacheAttrName);if(ke(e))return null==t?e.defaultChecked:"true"==t;if(null!==t)return t;if(Te(e)){Array.from(e.options).forEach((t=>{if(t.defaultSelected)return e.value=t.value,t.value}))}return t}_elementHasCachedLoadValue(e){return e.hasAttribute(this._cacheAttrName)}_checkElementDirty(e){this._isElementDirty(e)?e.setAttribute("data-dirty","true"):e.removeAttribute("data-dirty")}_isElementDirty(e){return this._getElementValue(e)!==this._getElementLoadValue(e)}_cacheElementLoadValue(e){!this._elementHasCachedLoadValue(e)&&ke(e)?e.setAttribute(this._cacheAttrName,e.checked.toString()):e.setAttribute(this._cacheAttrName,e.value.toString())}_restoreElementFromLoadValue(e){let t=e.getAttribute(this._cacheAttrName);if(ke(e))e.setAttribute(this._cacheAttrName,e.checked.toString()),e.checked=null==t?e.defaultChecked:"true"==t;else if(Te(e))if(null==t){Array.from(e.options).forEach((t=>{t.defaultSelected&&(e.value=t.value)}))}else e.value=t;else e.value=null==t?e.defaultValue:t}_cacheLoadValues(){this._formElements.forEach((e=>this._cacheElementLoadValue(e)))}_checkDirty(){this._formElements.forEach((e=>this._checkElementDirty(e))),this._formElements.some((e=>Qe(e)))?this.el.setAttribute("data-dirty","true"):this.el.removeAttribute("data-dirty")}},exports.DisableInputsController=et,exports.DisableWithController=tt,exports.DismissableController=st,exports.DurationController=it,exports.ElementSaveController=rt,exports.EmptyDomController=nt,exports.EnableInputsController=ot,exports.EphemeralController=fe,exports.FallbackImageController=at,exports.FormRcController=lt,exports.FormSaveController=ct,exports.IntersectionController=ht,exports.IntervalController=ut,exports.LazyBlockController=class extends ve{async connect(){let e=this.el;"IntersectionObserver"in window?[this.observe,this.unobserve]=Ne(this,{element:e,threshold:.3}):await this.loadContent()}async appear(e){e.target===this.el&&e.isIntersecting&&(await this.loadContent(),this.unobserve&&this.unobserve())}},exports.LightboxImageController=Bt,exports.LimitedSelectionCheckboxesController=Ft,exports.LoadBlockController=ve,exports.MediaPlayerController=jt,exports.NavigateFormErrorsController=Ht,exports.NestedFormController=Rt,exports.PasswordConfirmController=zt,exports.PasswordPeekController=qt,exports.PollBlockController=$t,exports.PrefetchController=Wt,exports.PresenceController=class extends ue{connect(){this.dispatch(this.el,"presence:added")}disconnect(){this.dispatch(this.el,"presence:removed")}},exports.RemoteFormController=Ut,exports.RemoveController=class extends st{},exports.ResponsiveIframeBodyController=Kt,exports.ResponsiveIframeWrapperController=class extends ue{initialize(){this.messageReceived=this.messageReceived.bind(this)}connect(){window.addEventListener("message",this.messageReceived)}disconnect(){window.removeEventListener("message",this.messageReceived)}messageReceived(e){let t=e.data;t.hasOwnProperty("name")&&"iframe-body"===t.name&&t.hasOwnProperty("height")&&this.resize(t.height)}resize(e){this.el.style.height=`${e}px`}},exports.ScrollContainerController=Jt,exports.ScrollIntoFocusController=Yt,exports.ScrollToBottomController=Zt,exports.ScrollToController=Xt,exports.ScrollToTopController=Gt,exports.SelfDestructController=Qt,exports.StickyController=es,exports.SyncInputsController=is,exports.TableSortController=rs,exports.TableTruncateController=ns,exports.TabsController=os,exports.TeleportController=as,exports.TemporaryStateController=ls,exports.TimeDistanceController=hs,exports.TimeoutController=us,exports.ToggleClassController=ds,exports.TreeViewController=ps,exports.TurboFrameRCController=fs,exports.TurboFrameRefreshController=gs,exports.UserFocusController=class extends ue{initialize(){this._handleVisibility=this._handleVisibility.bind(this)}connect(){window.addEventListener("focus",this._handleVisibility),window.addEventListener("blur",this._handleVisibility),document.addEventListener("visibilitychange",this._handleVisibility),requestAnimationFrame((()=>{this._handleVisibility()}))}disconnect(){window.removeEventListener("focus",this._handleVisibility),window.removeEventListener("blur",this._handleVisibility),document.removeEventListener("visibilitychange",this._handleVisibility)}appear(){this.dispatch(this.el,"user-focus:active")}away(){this.dispatch(this.el,"user-focus:away")}_handleVisibility(){this._documentIsActive()?this.appear():this.away()}_documentIsActive(){return"visible"==document.visibilityState&&document.hasFocus()}},exports.ValueWarnController=vs,exports.WordCountController=bs,exports.applyTemporaryClass=function(e,t,s){cs(e,"className",0,s)},exports.applyTemporaryState=cs,exports.isDirty=function(e){return e.hasAttribute("data-dirty")},exports.isFormDirty=Qe;
|
|
2
|
+
//# sourceMappingURL=stimulus-library.cjs.js.map
|