stimulus-library 0.9.2 → 0.9.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.
Files changed (93) hide show
  1. package/README.md +43 -43
  2. package/dist/controllers/ajax/async_block_controller.js +9 -20
  3. package/dist/controllers/ajax/lazy_block_controller.js +17 -30
  4. package/dist/controllers/ajax/load_block_controller.js +36 -47
  5. package/dist/controllers/ajax/poll_block_controller.js +10 -21
  6. package/dist/controllers/anchor_spy_controller.js +3 -3
  7. package/dist/controllers/back_link_controller.js +2 -2
  8. package/dist/controllers/clipboard_controller.js +3 -6
  9. package/dist/controllers/confirm_controller.js +3 -3
  10. package/dist/controllers/confirm_navigation_controller.js +1 -1
  11. package/dist/controllers/debug_controller.js +1 -1
  12. package/dist/controllers/disable_with_controller.js +7 -7
  13. package/dist/controllers/element_save_controller.js +8 -8
  14. package/dist/controllers/empty_dom_controller.js +3 -3
  15. package/dist/controllers/equalize_controller.js +1 -1
  16. package/dist/controllers/forms/auto_submit_form_controller.js +1 -1
  17. package/dist/controllers/forms/char_count_controller.js +4 -4
  18. package/dist/controllers/forms/checkbox_disable_inputs_controller.js +4 -4
  19. package/dist/controllers/forms/checkbox_enable_inputs_controller.js +4 -4
  20. package/dist/controllers/forms/checkbox_select_all_controller.js +1 -1
  21. package/dist/controllers/forms/checkbox_xor_controller.js +1 -1
  22. package/dist/controllers/forms/detect_dirty_controller.js +1 -1
  23. package/dist/controllers/forms/detect_dirty_form_controller.js +1 -1
  24. package/dist/controllers/forms/enable_inputs_controller.js +4 -4
  25. package/dist/controllers/forms/focus_steal_controller.js +3 -3
  26. package/dist/controllers/forms/form_rc_controller.js +7 -7
  27. package/dist/controllers/forms/form_save_controller.js +7 -7
  28. package/dist/controllers/forms/limited_selection_checkboxes_controller.js +2 -2
  29. package/dist/controllers/forms/navigate_form_errors_controller.js +38 -56
  30. package/dist/controllers/forms/nested_form_controller.js +6 -6
  31. package/dist/controllers/forms/password_confirm_controller.js +2 -2
  32. package/dist/controllers/forms/password_peek_controller.js +4 -4
  33. package/dist/controllers/forms/remote_form_controller.js +2 -2
  34. package/dist/controllers/forms/sync_inputs_controller.js +3 -3
  35. package/dist/controllers/forms/value_warn_controller.js +8 -8
  36. package/dist/controllers/forms/word_count_controller.js +3 -3
  37. package/dist/controllers/media/fallback_image_controller.js +2 -2
  38. package/dist/controllers/media/lightbox_image_controller.js +7 -10
  39. package/dist/controllers/media/media_player_controller.js +7 -18
  40. package/dist/controllers/persisted_dismissable_controller.js +3 -3
  41. package/dist/controllers/prefetch_controller.js +2 -3
  42. package/dist/controllers/print_button_controller.js +3 -3
  43. package/dist/controllers/refresh_page_controller.js +3 -3
  44. package/dist/controllers/scroll/scroll_container_controller.js +28 -53
  45. package/dist/controllers/scroll/scroll_into_focus_controller.js +5 -5
  46. package/dist/controllers/scroll/scroll_to_bottom_controller.js +8 -19
  47. package/dist/controllers/scroll/scroll_to_controller.js +6 -6
  48. package/dist/controllers/scroll/scroll_to_top_controller.js +8 -19
  49. package/dist/controllers/self_destruct_controller.js +1 -1
  50. package/dist/controllers/signal/base_controller.js +3 -3
  51. package/dist/controllers/signal/signal_action_controller.js +7 -4
  52. package/dist/controllers/signal/signal_disable_controller.js +17 -6
  53. package/dist/controllers/signal/signal_dom_children_controller.js +4 -4
  54. package/dist/controllers/signal/signal_enable_controller.js +19 -6
  55. package/dist/controllers/signal/signal_input_controller.js +5 -6
  56. package/dist/controllers/signal/signal_visibility_controller.js +13 -5
  57. package/dist/controllers/sticky_controller.js +3 -6
  58. package/dist/controllers/tables/table_sort_controller.js +5 -9
  59. package/dist/controllers/tables/table_truncate_controller.js +8 -8
  60. package/dist/controllers/teleport_controller.js +2 -2
  61. package/dist/controllers/temporary_state_controller.js +7 -11
  62. package/dist/controllers/toggle_class_controller.js +8 -8
  63. package/dist/controllers/trix_modifier_controller.js +1 -1
  64. package/dist/controllers/turbo_frame_rc_controller.js +8 -8
  65. package/dist/controllers/turbo_frame_refresh_controller.js +5 -5
  66. package/dist/controllers/utility/alert_controller.js +1 -1
  67. package/dist/controllers/utility/intersection_controller.js +1 -1
  68. package/dist/controllers/utility/interval_controller.js +1 -1
  69. package/dist/controllers/utility/presence_controller.js +1 -1
  70. package/dist/controllers/utility/print_controller.js +1 -1
  71. package/dist/controllers/utility/timeout_controller.js +1 -1
  72. package/dist/controllers/visual/clock_controller.js +1 -1
  73. package/dist/controllers/visual/countdown_controller.js +5 -8
  74. package/dist/controllers/visual/duration_controller.js +13 -13
  75. package/dist/controllers/visual/tabs_controller.js +6 -4
  76. package/dist/controllers/visual/time_distance_controller.js +3 -3
  77. package/dist/controllers/visual/tree_view_controller.js +4 -4
  78. package/dist/controllers/visual/tween_number_controller.js +6 -6
  79. package/dist/mixins/use_event_bus.js +1 -1
  80. package/dist/mixins/use_event_listener.js +1 -1
  81. package/dist/mixins/use_fullscreen.js +8 -17
  82. package/dist/mixins/use_intersection.js +4 -4
  83. package/dist/utilities/base_controller.js +1 -1
  84. package/dist/utilities/ephemeral_controller.js +3 -4
  85. package/dist/utilities/fetchRetry.js +9 -20
  86. package/dist/utilities/logging.js +11 -3
  87. package/dist/utilities/scroll.js +37 -64
  88. package/package.json +8 -8
  89. package/dist/controllers/forms/disable_inputs_controller.js +0 -21
  90. package/dist/controllers/media/fallback_iframe_controller.js +0 -44
  91. package/dist/controllers/signal/signal_attribute_sync_controller.js +0 -10
  92. package/dist/controllers/signal/signal_content_sync_controller.js +0 -9
  93. package/dist/controllers/tables/table_filter_controller.js +0 -53
@@ -1,5 +1,9 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class EnableInputsController extends BaseController {
3
+ static targets = ["input"];
4
+ static values = {
5
+ clear: Boolean,
6
+ };
3
7
  connect() {
4
8
  }
5
9
  disable() {
@@ -15,7 +19,3 @@ export class EnableInputsController extends BaseController {
15
19
  this.inputTargets.forEach((el, _) => el.disabled = false);
16
20
  }
17
21
  }
18
- EnableInputsController.targets = ["input"];
19
- EnableInputsController.values = {
20
- clear: Boolean,
21
- };
@@ -1,5 +1,8 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class FocusStealController extends BaseController {
3
+ static values = {
4
+ mode: String,
5
+ };
3
6
  get _mode() {
4
7
  const MODES = ['immediate', 'wait'];
5
8
  if (this.hasModeValue) {
@@ -23,6 +26,3 @@ export class FocusStealController extends BaseController {
23
26
  this.el.focus();
24
27
  }
25
28
  }
26
- FocusStealController.values = {
27
- mode: String,
28
- };
@@ -1,6 +1,11 @@
1
1
  import { BaseController } from '../../utilities/base_controller';
2
2
  import { requestReset, requestSubmit } from "../../utilities/request_submit";
3
3
  export class FormRcController extends BaseController {
4
+ static targets = ["form"];
5
+ static values = {
6
+ formSelector: String,
7
+ submitMode: String,
8
+ };
4
9
  get _mode() {
5
10
  if (this.hasSubmitModeValue) {
6
11
  if (!["direct", "request"].includes(this.submitModeValue)) {
@@ -26,7 +31,7 @@ export class FormRcController extends BaseController {
26
31
  return form;
27
32
  }
28
33
  submit(event) {
29
- event === null || event === void 0 ? void 0 : event.preventDefault();
34
+ event?.preventDefault();
30
35
  let el = this.form;
31
36
  if (this._mode == 'request') {
32
37
  requestSubmit(el);
@@ -36,12 +41,7 @@ export class FormRcController extends BaseController {
36
41
  }
37
42
  }
38
43
  reset(event) {
39
- event === null || event === void 0 ? void 0 : event.preventDefault();
44
+ event?.preventDefault();
40
45
  requestReset(this.form);
41
46
  }
42
47
  }
43
- FormRcController.targets = ["form"];
44
- FormRcController.values = {
45
- formSelector: String,
46
- submitMode: String,
47
- };
@@ -2,6 +2,11 @@ import { BaseController } from '../../utilities/base_controller';
2
2
  import { isHTMLFormElement, isHTMLInputElement } from "../../utilities/elements";
3
3
  import { useEventListener } from "../../mixins/use_event_listener";
4
4
  export class FormSaveController extends BaseController {
5
+ static values = {
6
+ id: String,
7
+ restoreOnLoad: Boolean,
8
+ clearOnSubmit: Boolean,
9
+ };
5
10
  get _formID() {
6
11
  if (this.hasIdValue) {
7
12
  return this.idValue;
@@ -66,7 +71,7 @@ export class FormSaveController extends BaseController {
66
71
  this.dispatchEvent(this.el, `form-save:cleared`);
67
72
  }
68
73
  clear(event) {
69
- event === null || event === void 0 ? void 0 : event.preventDefault();
74
+ event?.preventDefault();
70
75
  this._clear();
71
76
  }
72
77
  save(event) {
@@ -76,7 +81,7 @@ export class FormSaveController extends BaseController {
76
81
  this.dispatchEvent(this.el, `form-save:save:success`);
77
82
  }
78
83
  restore(event) {
79
- event === null || event === void 0 ? void 0 : event.preventDefault();
84
+ event?.preventDefault();
80
85
  if (localStorage.getItem(this._formIdentifier)) {
81
86
  const savedData = JSON.parse(localStorage.getItem(this._formIdentifier)); // get and parse the saved data from localStorage
82
87
  for (const element of this._formElements) {
@@ -102,8 +107,3 @@ export class FormSaveController extends BaseController {
102
107
  }
103
108
  }
104
109
  }
105
- FormSaveController.values = {
106
- id: String,
107
- restoreOnLoad: Boolean,
108
- clearOnSubmit: Boolean,
109
- };
@@ -1,6 +1,8 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  import { useCollectionEventListener } from "../../mixins/use_event_listener";
3
3
  export class LimitedSelectionCheckboxesController extends BaseController {
4
+ static targets = ["input", "error"];
5
+ static values = { max: Number, message: String };
4
6
  connect() {
5
7
  useCollectionEventListener(this, this.inputTargets, "change", this._handleInputs);
6
8
  }
@@ -24,5 +26,3 @@ export class LimitedSelectionCheckboxesController extends BaseController {
24
26
  }
25
27
  }
26
28
  }
27
- LimitedSelectionCheckboxesController.targets = ["input", "error"];
28
- LimitedSelectionCheckboxesController.values = { max: Number, message: String };
@@ -1,22 +1,16 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { BaseController } from "../../utilities/base_controller";
11
2
  import { scrollToElement } from "../../utilities/scroll";
12
3
  import clamp from "lodash-es/clamp";
13
4
  import { installClassMethods } from "../../mixins/install_class_methods";
14
5
  export class NavigateFormErrorsController extends BaseController {
15
- constructor() {
16
- super(...arguments);
17
- this._errors = [];
18
- this._firstClick = false;
19
- }
6
+ static values = {
7
+ selector: String,
8
+ index: Number,
9
+ };
10
+ static classes = ["current"];
11
+ static targets = ["next", "current", "previous"];
12
+ _errors = [];
13
+ _firstClick = false;
20
14
  get defaultCurrentClasses() {
21
15
  return ["currentError"];
22
16
  }
@@ -62,44 +56,38 @@ export class NavigateFormErrorsController extends BaseController {
62
56
  this._toggleVisibility();
63
57
  });
64
58
  }
65
- current(event) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- event === null || event === void 0 ? void 0 : event.preventDefault();
68
- if (this._firstClick) {
69
- this._firstClick = false;
70
- this._toggleButtons();
71
- }
72
- yield scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
73
- this._updateClasses();
74
- });
59
+ async current(event) {
60
+ event?.preventDefault();
61
+ if (this._firstClick) {
62
+ this._firstClick = false;
63
+ this._toggleButtons();
64
+ }
65
+ await scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
66
+ this._updateClasses();
75
67
  }
76
- next(event) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- event === null || event === void 0 ? void 0 : event.preventDefault();
79
- if (this._firstClick) {
80
- this._firstClick = false;
81
- this._toggleButtons();
82
- }
83
- else {
84
- this.indexValue = this._nextIndex;
85
- }
86
- yield scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
87
- this._updateClasses();
88
- });
68
+ async next(event) {
69
+ event?.preventDefault();
70
+ if (this._firstClick) {
71
+ this._firstClick = false;
72
+ this._toggleButtons();
73
+ }
74
+ else {
75
+ this.indexValue = this._nextIndex;
76
+ }
77
+ await scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
78
+ this._updateClasses();
89
79
  }
90
- previous(event) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- event === null || event === void 0 ? void 0 : event.preventDefault();
93
- if (this._firstClick) {
94
- this._firstClick = false;
95
- this._toggleButtons();
96
- }
97
- else {
98
- this.indexValue = this._previousIndex;
99
- }
100
- yield scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
101
- this._updateClasses();
102
- });
80
+ async previous(event) {
81
+ event?.preventDefault();
82
+ if (this._firstClick) {
83
+ this._firstClick = false;
84
+ this._toggleButtons();
85
+ }
86
+ else {
87
+ this.indexValue = this._previousIndex;
88
+ }
89
+ await scrollToElement(this._currentError, { behavior: "smooth", block: "center", inline: "center" });
90
+ this._updateClasses();
103
91
  }
104
92
  indexValueChanged() {
105
93
  this._toggleButtons();
@@ -146,9 +134,3 @@ export class NavigateFormErrorsController extends BaseController {
146
134
  }
147
135
  }
148
136
  }
149
- NavigateFormErrorsController.values = {
150
- selector: String,
151
- index: Number,
152
- };
153
- NavigateFormErrorsController.classes = ["current"];
154
- NavigateFormErrorsController.targets = ["next", "current", "previous"];
@@ -1,5 +1,10 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class NestedFormController extends BaseController {
3
+ static targets = ['target', 'template'];
4
+ static values = {
5
+ insertMode: String,
6
+ wrapperClass: String,
7
+ };
3
8
  get _wrapperClass() {
4
9
  return this.hasWrapperSelectorValue ? this.wrapperClassValue : 'nested-fields';
5
10
  }
@@ -10,7 +15,7 @@ export class NestedFormController extends BaseController {
10
15
  this._checkStructure();
11
16
  }
12
17
  add(event) {
13
- event === null || event === void 0 ? void 0 : event.preventDefault();
18
+ event?.preventDefault();
14
19
  const content = this.templateTarget.innerHTML.replace(/NEW_RECORD/g, this._generateID());
15
20
  this.targetTarget.insertAdjacentHTML(this._insertMode, content);
16
21
  }
@@ -42,8 +47,3 @@ export class NestedFormController extends BaseController {
42
47
  }
43
48
  }
44
49
  }
45
- NestedFormController.targets = ['target', 'template'];
46
- NestedFormController.values = {
47
- insertMode: String,
48
- wrapperClass: String,
49
- };
@@ -2,6 +2,8 @@ import { BaseController } from "../../utilities/base_controller";
2
2
  import { useCollectionEventListener } from "../../mixins/use_event_listener";
3
3
  import { installClassMethods } from "../../mixins/install_class_methods";
4
4
  export class PasswordConfirmController extends BaseController {
5
+ static targets = ["password"];
6
+ static classes = ["error"];
5
7
  connect() {
6
8
  installClassMethods(this);
7
9
  useCollectionEventListener(this, this.passwordTargets, "change", this._checkPasswordsMatch);
@@ -22,5 +24,3 @@ export class PasswordConfirmController extends BaseController {
22
24
  }
23
25
  }
24
26
  }
25
- PasswordConfirmController.targets = ["password"];
26
- PasswordConfirmController.classes = ["error"];
@@ -1,15 +1,16 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class PasswordPeekController extends BaseController {
3
+ static targets = ["password"];
3
4
  peak(event) {
4
- event === null || event === void 0 ? void 0 : event.preventDefault();
5
+ event?.preventDefault();
5
6
  this.passwordTarget.type = "text";
6
7
  }
7
8
  hide(event) {
8
- event === null || event === void 0 ? void 0 : event.preventDefault();
9
+ event?.preventDefault();
9
10
  this.passwordTarget.type = "password";
10
11
  }
11
12
  toggle(event) {
12
- event === null || event === void 0 ? void 0 : event.preventDefault();
13
+ event?.preventDefault();
13
14
  if (this.passwordTarget.type === "password") {
14
15
  this.peak();
15
16
  }
@@ -18,4 +19,3 @@ export class PasswordPeekController extends BaseController {
18
19
  }
19
20
  }
20
21
  }
21
- PasswordPeekController.targets = ["password"];
@@ -1,5 +1,7 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class RemoteFormController extends BaseController {
3
+ static targets = [];
4
+ static values = { selector: String };
3
5
  get _selector() {
4
6
  return this.hasSelectorValue ? this.selectorValue : `[data-controller~="${this.identifier}"]`;
5
7
  }
@@ -22,5 +24,3 @@ export class RemoteFormController extends BaseController {
22
24
  }
23
25
  }
24
26
  }
25
- RemoteFormController.targets = [];
26
- RemoteFormController.values = { selector: String };
@@ -4,6 +4,9 @@ import { EventBus } from "../../utilities/event_bus";
4
4
  import { useEventListener } from "../../mixins/use_event_listener";
5
5
  import { useEventBus } from "../../mixins/use_event_bus";
6
6
  export class SyncInputsController extends BaseController {
7
+ static values = {
8
+ key: String,
9
+ };
7
10
  get _eventName() {
8
11
  return `sync:${this._key}`;
9
12
  }
@@ -62,6 +65,3 @@ export class SyncInputsController extends BaseController {
62
65
  }
63
66
  }
64
67
  }
65
- SyncInputsController.values = {
66
- key: String,
67
- };
@@ -2,6 +2,14 @@ import { BaseController } from "../../utilities/base_controller";
2
2
  import { useEventListener } from "../../mixins/use_event_listener";
3
3
  import { installClassMethods } from "../../mixins/install_class_methods";
4
4
  export class ValueWarnController extends BaseController {
5
+ static classes = ["inputWarning", "warningHide"];
6
+ static targets = ["input", "warning"];
7
+ static values = {
8
+ max: Number,
9
+ min: Number,
10
+ minMessage: String,
11
+ maxMessage: String,
12
+ };
5
13
  get _maxMessage() {
6
14
  return this.hasMaxMessageValue ? this.maxMessageValue : `Value must be less than ${this.maxValue}`;
7
15
  }
@@ -35,11 +43,3 @@ export class ValueWarnController extends BaseController {
35
43
  }
36
44
  }
37
45
  }
38
- ValueWarnController.classes = ["inputWarning", "warningHide"];
39
- ValueWarnController.targets = ["input", "warning"];
40
- ValueWarnController.values = {
41
- max: Number,
42
- min: Number,
43
- minMessage: String,
44
- maxMessage: String,
45
- };
@@ -2,6 +2,9 @@ import { BaseController } from "../../utilities/base_controller";
2
2
  import { useEventListener } from "../../mixins/use_event_listener";
3
3
  import { installClassMethods } from "../../mixins/install_class_methods";
4
4
  export class WordCountController extends BaseController {
5
+ static targets = ["input", "output"];
6
+ static values = { min: Number, max: Number };
7
+ static classes = ["error"];
5
8
  connect() {
6
9
  installClassMethods(this);
7
10
  this._updateWordCount();
@@ -32,6 +35,3 @@ export class WordCountController extends BaseController {
32
35
  return count >= min && count <= max;
33
36
  }
34
37
  }
35
- WordCountController.targets = ["input", "output"];
36
- WordCountController.values = { min: Number, max: Number };
37
- WordCountController.classes = ["error"];
@@ -1,5 +1,7 @@
1
1
  import { BaseController } from "../../utilities/base_controller";
2
2
  export class FallbackImageController extends BaseController {
3
+ static values = { placeholder: String };
4
+ static classes = ["success", "fail"];
3
5
  initialize() {
4
6
  this._hasLoadedSuccessfully = this._hasLoadedSuccessfully.bind(this);
5
7
  this._success = this._success.bind(this);
@@ -40,5 +42,3 @@ export class FallbackImageController extends BaseController {
40
42
  return element.naturalHeight > 0 && element.naturalWidth > 0;
41
43
  }
42
44
  }
43
- FallbackImageController.values = { placeholder: String };
44
- FallbackImageController.classes = ["success", "fail"];
@@ -3,10 +3,13 @@ import { BaseController } from "../../utilities/base_controller";
3
3
  import { scrollToElement } from "../../utilities/scroll";
4
4
  import { useEventListener } from "../../mixins/use_event_listener";
5
5
  export class LightboxImageController extends BaseController {
6
- constructor() {
7
- super(...arguments);
8
- this._dialog = null;
9
- }
6
+ static values = {
7
+ src: String,
8
+ srcSet: String,
9
+ sizes: String,
10
+ };
11
+ static classes = ["modal", "image"];
12
+ _dialog = null;
10
13
  get _src() {
11
14
  return this.hasSrcValue ? this.srcValue : this.el.src;
12
15
  }
@@ -63,9 +66,3 @@ export class LightboxImageController extends BaseController {
63
66
  }
64
67
  }
65
68
  }
66
- LightboxImageController.values = {
67
- src: String,
68
- srcSet: String,
69
- sizes: String,
70
- };
71
- LightboxImageController.classes = ["modal", "image"];
@@ -1,31 +1,20 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { BaseController } from "../../utilities/base_controller";
11
2
  export class MediaPlayerController extends BaseController {
12
- play(event) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- event === null || event === void 0 ? void 0 : event.preventDefault();
15
- yield this.mediaTarget.play();
16
- });
3
+ static targets = ["media"];
4
+ async play(event) {
5
+ event?.preventDefault();
6
+ await this.mediaTarget.play();
17
7
  }
18
8
  pause(event) {
19
- event === null || event === void 0 ? void 0 : event.preventDefault();
9
+ event?.preventDefault();
20
10
  this.mediaTarget.pause();
21
11
  }
22
12
  restart(event) {
23
- event === null || event === void 0 ? void 0 : event.preventDefault();
13
+ event?.preventDefault();
24
14
  this.mediaTarget.currentTime = 0;
25
15
  }
26
16
  seek(event) {
27
- event === null || event === void 0 ? void 0 : event.preventDefault();
17
+ event?.preventDefault();
28
18
  this.mediaTarget.currentTime += 5;
29
19
  }
30
20
  }
31
- MediaPlayerController.targets = ["media"];
@@ -1,6 +1,9 @@
1
1
  import { DismissableController } from "./dismissable_controller";
2
2
  import { useLocalStorage } from "../mixins";
3
3
  export class PersistedDismissableController extends DismissableController {
4
+ static values = {
5
+ key: String,
6
+ };
4
7
  connect() {
5
8
  this.localStorage = useLocalStorage(this, this.keyValue, false, { writeDefaults: false });
6
9
  if (this.localStorage.value == true) {
@@ -12,8 +15,5 @@ export class PersistedDismissableController extends DismissableController {
12
15
  super.dismiss();
13
16
  }
14
17
  }
15
- PersistedDismissableController.values = {
16
- key: String,
17
- };
18
18
  export class PersistedRemoveController extends PersistedDismissableController {
19
19
  }
@@ -2,13 +2,13 @@ import { BaseController } from "../utilities/base_controller";
2
2
  import { useEventListener } from "../mixins/use_event_listener";
3
3
  import { warn } from "../utilities/logging";
4
4
  export class PrefetchController extends BaseController {
5
+ static values = { mode: String };
5
6
  get _mode() {
6
7
  return this.hasModeValue ? this.modeValue : "mouseover";
7
8
  }
8
9
  get _supportsPrefetch() {
9
- var _a, _b;
10
10
  const link = document.createElement('link');
11
- return ((_a = link.relList) === null || _a === void 0 ? void 0 : _a.supports) && ((_b = link.relList) === null || _b === void 0 ? void 0 : _b.supports('prefetch'));
11
+ return link.relList?.supports && link.relList?.supports('prefetch');
12
12
  }
13
13
  get _href() {
14
14
  return this.el.href;
@@ -71,4 +71,3 @@ export class PrefetchController extends BaseController {
71
71
  document.head.appendChild(link);
72
72
  }
73
73
  }
74
- PrefetchController.values = { mode: String };
@@ -2,6 +2,9 @@ import { PrintController } from "./utility/print_controller";
2
2
  import { useEventListener } from "../mixins/use_event_listener";
3
3
  import { installClassMethods } from "../mixins/install_class_methods";
4
4
  export class PrintButtonController extends PrintController {
5
+ static classes = [
6
+ 'unsupported',
7
+ ];
5
8
  get defaultUnsupportedClasses() {
6
9
  return ["unsupported"];
7
10
  }
@@ -13,6 +16,3 @@ export class PrintButtonController extends PrintController {
13
16
  useEventListener(this, this.el, 'click', this.print);
14
17
  }
15
18
  }
16
- PrintButtonController.classes = [
17
- 'unsupported',
18
- ];
@@ -1,5 +1,8 @@
1
1
  import { BaseController } from "../utilities";
2
2
  export class RefreshPageController extends BaseController {
3
+ static values = {
4
+ onLoad: Boolean,
5
+ };
3
6
  get onLoad() {
4
7
  return this.hasOnLoadValue ? this.onLoadValue : false;
5
8
  }
@@ -12,6 +15,3 @@ export class RefreshPageController extends BaseController {
12
15
  location.reload();
13
16
  }
14
17
  }
15
- RefreshPageController.values = {
16
- onLoad: Boolean,
17
- };
@@ -1,15 +1,10 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { BaseController } from "../../utilities/base_controller";
11
2
  import { scrollAbsoluteBottom, scrollAbsoluteLeft, scrollAbsoluteTop, scrollDown, scrollLeft, scrollRight, scrollUp } from "../../utilities/scroll";
12
3
  export class ScrollContainerController extends BaseController {
4
+ static values = {
5
+ behaviour: String,
6
+ increment: Number,
7
+ };
13
8
  get _increment() {
14
9
  return this.hasIncrementValue ? this.incrementValue : 50;
15
10
  }
@@ -26,56 +21,36 @@ export class ScrollContainerController extends BaseController {
26
21
  return "auto";
27
22
  }
28
23
  }
29
- scrollTop(event) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- event === null || event === void 0 ? void 0 : event.preventDefault();
32
- yield scrollAbsoluteTop(this.el, { behavior: this._behaviour });
33
- });
24
+ async scrollTop(event) {
25
+ event?.preventDefault();
26
+ await scrollAbsoluteTop(this.el, { behavior: this._behaviour });
34
27
  }
35
- scrollBottom(event) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- event === null || event === void 0 ? void 0 : event.preventDefault();
38
- yield scrollAbsoluteBottom(this.el, { behavior: this._behaviour });
39
- });
28
+ async scrollBottom(event) {
29
+ event?.preventDefault();
30
+ await scrollAbsoluteBottom(this.el, { behavior: this._behaviour });
40
31
  }
41
- scrollLeft(event) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- event === null || event === void 0 ? void 0 : event.preventDefault();
44
- yield scrollAbsoluteLeft(this.el, { behavior: this._behaviour });
45
- });
32
+ async scrollLeft(event) {
33
+ event?.preventDefault();
34
+ await scrollAbsoluteLeft(this.el, { behavior: this._behaviour });
46
35
  }
47
- scrollRight(event) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- event === null || event === void 0 ? void 0 : event.preventDefault();
50
- yield scrollAbsoluteLeft(this.el, { behavior: this._behaviour });
51
- });
36
+ async scrollRight(event) {
37
+ event?.preventDefault();
38
+ await scrollAbsoluteLeft(this.el, { behavior: this._behaviour });
52
39
  }
53
- up(event) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- event === null || event === void 0 ? void 0 : event.preventDefault();
56
- yield scrollUp(this.el, this._increment, { behavior: this._behaviour });
57
- });
40
+ async up(event) {
41
+ event?.preventDefault();
42
+ await scrollUp(this.el, this._increment, { behavior: this._behaviour });
58
43
  }
59
- down(event) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- event === null || event === void 0 ? void 0 : event.preventDefault();
62
- yield scrollDown(this.el, this._increment, { behavior: this._behaviour });
63
- });
44
+ async down(event) {
45
+ event?.preventDefault();
46
+ await scrollDown(this.el, this._increment, { behavior: this._behaviour });
64
47
  }
65
- left(event) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- event === null || event === void 0 ? void 0 : event.preventDefault();
68
- yield scrollLeft(this.el, this._increment, { behavior: this._behaviour });
69
- });
48
+ async left(event) {
49
+ event?.preventDefault();
50
+ await scrollLeft(this.el, this._increment, { behavior: this._behaviour });
70
51
  }
71
- right(event) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- event === null || event === void 0 ? void 0 : event.preventDefault();
74
- yield scrollRight(this.el, this._increment, { behavior: this._behaviour });
75
- });
52
+ async right(event) {
53
+ event?.preventDefault();
54
+ await scrollRight(this.el, this._increment, { behavior: this._behaviour });
76
55
  }
77
56
  }
78
- ScrollContainerController.values = {
79
- behaviour: String,
80
- increment: Number,
81
- };