stimulus-library 0.7.3 → 0.7.4
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 +7 -0
- package/dist/controllers/equalize_controller.d.ts +16 -0
- package/dist/controllers/equalize_controller.d.ts.map +1 -0
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/mixins/use_resize.d.ts +5 -0
- package/dist/mixins/use_resize.d.ts.map +1 -0
- package/dist/stimulus-library.cjs.js +1 -1
- package/dist/stimulus-library.cjs.js.map +1 -1
- package/dist/stimulus-library.es.js +37 -1
- package/dist/stimulus-library.es.js.map +1 -1
- package/dist/stimulus-library.umd.js +1 -1
- package/dist/stimulus-library.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -4000,6 +4000,42 @@ __publicField(ElementSaveController, "values", {
|
|
|
4000
4000
|
attributes: String,
|
|
4001
4001
|
restoreOnLoad: Boolean
|
|
4002
4002
|
});
|
|
4003
|
+
class EqualizeController extends BaseController {
|
|
4004
|
+
initialize() {
|
|
4005
|
+
this._equalize = debounce(this._equalize.bind(this), 100);
|
|
4006
|
+
this.observer = new ResizeObserver((_entries) => this._equalize());
|
|
4007
|
+
}
|
|
4008
|
+
connect() {
|
|
4009
|
+
let { teardown } = useIntersection(this, this.el, this.appear);
|
|
4010
|
+
this._unobserveIntersection = teardown;
|
|
4011
|
+
requestAnimationFrame(this._equalize);
|
|
4012
|
+
}
|
|
4013
|
+
disconnect() {
|
|
4014
|
+
this._unequalize();
|
|
4015
|
+
}
|
|
4016
|
+
watchTargetConnected(element) {
|
|
4017
|
+
this.observer.observe(element);
|
|
4018
|
+
this._equalize();
|
|
4019
|
+
}
|
|
4020
|
+
watchTargetDisconnected(element) {
|
|
4021
|
+
this.observer.unobserve(element);
|
|
4022
|
+
this._equalize();
|
|
4023
|
+
}
|
|
4024
|
+
appear(_entry) {
|
|
4025
|
+
this._unobserveIntersection();
|
|
4026
|
+
this._equalize();
|
|
4027
|
+
}
|
|
4028
|
+
_equalize() {
|
|
4029
|
+
this._unequalize();
|
|
4030
|
+
let maxHeight = 0;
|
|
4031
|
+
Array.from(this.watchTargets).forEach((target) => maxHeight = Math.max(maxHeight, target.getBoundingClientRect().height));
|
|
4032
|
+
Array.from(this.watchTargets).forEach((target) => target.style.minHeight = `${maxHeight}px`);
|
|
4033
|
+
}
|
|
4034
|
+
_unequalize() {
|
|
4035
|
+
Array.from(this.watchTargets).forEach((target) => target.style.minHeight = "");
|
|
4036
|
+
}
|
|
4037
|
+
}
|
|
4038
|
+
__publicField(EqualizeController, "targets", ["watch"]);
|
|
4003
4039
|
class EmptyDomController extends BaseController {
|
|
4004
4040
|
get _container() {
|
|
4005
4041
|
return this.hasContainerTarget ? this.containerTarget : this.el;
|
|
@@ -4715,5 +4751,5 @@ __publicField(TurboFrameRefreshController, "values", {
|
|
|
4715
4751
|
interval: Number,
|
|
4716
4752
|
poll: Boolean
|
|
4717
4753
|
});
|
|
4718
|
-
export { AlertController, AnchorSpyController, AsyncBlockController, AutoSubmitFormController, AutosizeController, BackLinkController, BaseController, CharCountController, CheckboxDisableInputsController, CheckboxEnableInputsController, CheckboxSelectAllController, CheckboxXORController, ClipboardController, ClockController, ConfirmController, ConfirmNavigationController, CountdownController, DebugController, DetectDirtyController, DetectDirtyFormController, DisableWithController, DismissableController, DurationController, ElementSaveController, EmptyDomController, EnableInputsController, EphemeralController, EventBus, FallbackImageController, FocusStealController, FormRcController, FormSaveController, FullscreenController, IntersectionController, IntervalController, LazyBlockController, LightboxImageController, LimitedSelectionCheckboxesController, LoadBlockController, MediaPlayerController, NavigateFormErrorsController, NestedFormController, PasswordConfirmController, PasswordPeekController, PollBlockController, PrefetchController, PresenceController, PrintButtonController, PrintController, RemoteFormController, RemoveController, ResponsiveIframeBodyController, ResponsiveIframeWrapperController, ScrollContainerController, ScrollIntoFocusController, ScrollToBottomController, ScrollToController, ScrollToTopController, SelfDestructController, SignalActionController, SignalDomChildrenController, SignalInputController, SignalVisibilityController, StickyController, StorageSerializers, SyncInputsController, TableSortController, TableTruncateController, TabsController, TeleportController, TemporaryStateController, TimeDistanceController, TimeoutController, ToggleClassController, TreeViewController, TrixModifierController, TurboFrameRCController, TurboFrameRefreshController, UserFocusController, ValueWarnController, WordCountController, applyTemporaryClass, applyTemporaryState, createHiddenButton, createHiddenInput, getAllRadiosInGroup, getOtherRadiosInGroup, getScrollParent, insertElement, insertHiddenButton, insertHiddenInput, isDirty, isElementCheckable, isElementInViewport, isFormDirty, isHTMLAnchorElement, isHTMLButtonButtonElement, isHTMLButtonElement, isHTMLButtonInputElement, isHTMLFormElement, isHTMLImageElement, isHTMLInputElement, isHTMLLabelElement, isHTMLLinkElement, isHTMLResetButtonElement, isHTMLResetInputElement, isHTMLSelectElement, isHTMLSubmitButtonElement, isHTMLSubmitInputElement, isHTMLTextAreaElement, isTurboFrame, isTypeOfButtonableElement, isTypeOfFormInputElement, isTypeOfResetButtonElement, isTypeOfSubmitButtonElement, requestReset, requestSubmit, scrollAbsoluteBottom, scrollAbsoluteLeft, scrollAbsoluteRight, scrollAbsoluteTop, scrollDown, scrollLeft, scrollRight, scrollToElement, scrollUp, useCollectionEventListener, useCollectionEventListeners, useEventListener, useEventListeners, useFullscreen, useGeolocation, useInjectedElement, useInjectedFragment, useInjectedHTML, useInterval, useLocalStorage, useTemporaryContent, useTimeout };
|
|
4754
|
+
export { AlertController, AnchorSpyController, AsyncBlockController, AutoSubmitFormController, AutosizeController, BackLinkController, BaseController, CharCountController, CheckboxDisableInputsController, CheckboxEnableInputsController, CheckboxSelectAllController, CheckboxXORController, ClipboardController, ClockController, ConfirmController, ConfirmNavigationController, CountdownController, DebugController, DetectDirtyController, DetectDirtyFormController, DisableWithController, DismissableController, DurationController, ElementSaveController, EmptyDomController, EnableInputsController, EphemeralController, EqualizeController, EventBus, FallbackImageController, FocusStealController, FormRcController, FormSaveController, FullscreenController, IntersectionController, IntervalController, LazyBlockController, LightboxImageController, LimitedSelectionCheckboxesController, LoadBlockController, MediaPlayerController, NavigateFormErrorsController, NestedFormController, PasswordConfirmController, PasswordPeekController, PollBlockController, PrefetchController, PresenceController, PrintButtonController, PrintController, RemoteFormController, RemoveController, ResponsiveIframeBodyController, ResponsiveIframeWrapperController, ScrollContainerController, ScrollIntoFocusController, ScrollToBottomController, ScrollToController, ScrollToTopController, SelfDestructController, SignalActionController, SignalDomChildrenController, SignalInputController, SignalVisibilityController, StickyController, StorageSerializers, SyncInputsController, TableSortController, TableTruncateController, TabsController, TeleportController, TemporaryStateController, TimeDistanceController, TimeoutController, ToggleClassController, TreeViewController, TrixModifierController, TurboFrameRCController, TurboFrameRefreshController, UserFocusController, ValueWarnController, WordCountController, applyTemporaryClass, applyTemporaryState, createHiddenButton, createHiddenInput, getAllRadiosInGroup, getOtherRadiosInGroup, getScrollParent, insertElement, insertHiddenButton, insertHiddenInput, isDirty, isElementCheckable, isElementInViewport, isFormDirty, isHTMLAnchorElement, isHTMLButtonButtonElement, isHTMLButtonElement, isHTMLButtonInputElement, isHTMLFormElement, isHTMLImageElement, isHTMLInputElement, isHTMLLabelElement, isHTMLLinkElement, isHTMLResetButtonElement, isHTMLResetInputElement, isHTMLSelectElement, isHTMLSubmitButtonElement, isHTMLSubmitInputElement, isHTMLTextAreaElement, isTurboFrame, isTypeOfButtonableElement, isTypeOfFormInputElement, isTypeOfResetButtonElement, isTypeOfSubmitButtonElement, requestReset, requestSubmit, scrollAbsoluteBottom, scrollAbsoluteLeft, scrollAbsoluteRight, scrollAbsoluteTop, scrollDown, scrollLeft, scrollRight, scrollToElement, scrollUp, useCollectionEventListener, useCollectionEventListeners, useEventListener, useEventListeners, useFullscreen, useGeolocation, useInjectedElement, useInjectedFragment, useInjectedHTML, useInterval, useLocalStorage, useTemporaryContent, useTimeout };
|
|
4719
4755
|
//# sourceMappingURL=stimulus-library.es.js.map
|