avo 2.21.1.pre.issue1444 → 2.21.1.pre.pr1476

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24cf9486da47ba10e6a5daa1580d555a14c87f9c642a5a8d56d69a9f47784f4e
4
- data.tar.gz: e85a3b0a6bc76ba138b523601a64a74539559d919a4c984dc18a7361304527e1
3
+ metadata.gz: 8f832c5802957b7d88c4271b886cfcb0a727ad98b1d200dc1f8e6d7a5a779067
4
+ data.tar.gz: bb639aec120f3881847aa5ce53bd4bc399da0ae3fde37d01aad77ef13c017cbc
5
5
  SHA512:
6
- metadata.gz: 34db8a5f063bef99fd6a4cdb5cc72df589e1f0329286ec7f22653de5c96a47788a7c9ad82a7197b11acb90355f9c8f5fd4ba594bf29dace1613d74d31a520917
7
- data.tar.gz: 05b2170b8af382365f157c31335b1f913f44a7d5117fe22a1cf6130200362b788812315604e7836570e384a1f2708d58625503aad2fcbbad3a738cb2163ba0f1
6
+ metadata.gz: 53180bdf4636c4dffd120fb8bb0f9ab0dacbbb9aad7e5ac3b906329144510b12b719591ebedb1dd2fb20d81a69d3a4932933d6500b4451e46947e9c3261885f0
7
+ data.tar.gz: 16f6f89ae35d3b8d1c491af4d3b35eee7148d56ee2dcfcdd7ec3a0b0bd16919a0f0424d93c6863f3a1d22acbb1d2be6cf02007122804fed43a11bd6229de491f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (2.21.1.pre.issue1444)
4
+ avo (2.21.1.pre.pr1476)
5
5
  actionview (>= 6.0)
6
6
  active_link_to
7
7
  activerecord (>= 6.0)
@@ -1,5 +1,6 @@
1
1
  <%= field_wrapper **field_wrapper_args, full_width: true do %>
2
- <%= content_tag :div, class: "relative block overflow-x-auto max-w-full",
2
+ <%= content_tag :div,
3
+ class: "relative block overflow-x-auto max-w-full",
3
4
  data: {
4
5
  controller: "trix-field",
5
6
  trix_field_target: "controller",
@@ -20,6 +20,10 @@ class Avo::Fields::TrixField::EditComponent < Avo::Fields::EditComponent
20
20
  end
21
21
 
22
22
  def trix_id
23
- "trix_#{resource_name}_#{@field.id}"
23
+ if resource_name.present?
24
+ "trix_#{resource_name}_#{@field.id}"
25
+ elsif form.present?
26
+ "trix_#{form.index}_#{@field.id}"
27
+ end
24
28
  end
25
29
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  class Avo::Index::ResourceTableComponent < ViewComponent::Base
4
4
  include Avo::ApplicationHelper
5
- attr_reader :pagy
5
+ attr_reader :pagy, :query
6
6
 
7
7
  def initialize(resources: nil, resource: nil, reflection: nil, parent_model: nil, parent_resource: nil, pagy: nil, query: nil)
8
8
  @resources = resources
@@ -15,10 +15,10 @@ class Avo::Index::ResourceTableComponent < ViewComponent::Base
15
15
  end
16
16
 
17
17
  def encrypted_query
18
- return if @query.nil?
18
+ return :select_all_disabled if query.nil? || !query.respond_to?(:all) || !query.all.respond_to?(:to_sql)
19
19
 
20
20
  Avo::Services::EncryptionService.encrypt(
21
- message: @query.all.to_sql,
21
+ message: query.all.to_sql,
22
22
  purpose: :select_all
23
23
  )
24
24
  end
@@ -53,6 +53,7 @@ class Avo::ResourceComponent < Avo::BaseComponent
53
53
  end
54
54
  end
55
55
 
56
+ # Ex: A Post has many Comments
56
57
  def authorize_association_for(policy_method)
57
58
  policy_result = true
58
59
 
@@ -67,11 +68,12 @@ class Avo::ResourceComponent < Avo::BaseComponent
67
68
 
68
69
  if association_name.present?
69
70
  method_name = "#{policy_method}_#{association_name}?".to_sym
70
- # Prepare the authorization service
71
+ # Use the policy methods from the parent (Post)
71
72
  service = reflection_resource.authorization
72
73
 
73
74
  if service.has_method?(method_name, raise_exception: false)
74
- policy_result = service.authorize_action(method_name, raise_exception: false)
75
+ # Override the record with the child record (Comment not Post)
76
+ policy_result = service.authorize_action(method_name, record: resource.model, raise_exception: false)
75
77
  end
76
78
  end
77
79
  end
@@ -10,6 +10,10 @@ module Avo
10
10
  blob = ActiveStorage::Blob.create_and_upload! io: params[:file], filename: params[:filename]
11
11
  association_name = BaseResource.valid_attachment_name(@model, params[:attachment_key])
12
12
 
13
+ if association_name.blank?
14
+ raise ActionController::BadRequest.new("Could not find the attachment association for #{params[:attachment_key]} (check the `attachment_key` for this Trix field)")
15
+ end
16
+
13
17
  @model.send(association_name).attach blob
14
18
 
15
19
  render json: {
@@ -21,7 +21,7 @@ module Avo
21
21
 
22
22
  def set_card
23
23
  @card = @dashboard.item_at_index(params[:index].to_i).tap do |card|
24
- card.hydrate(dashboard: @dashboard, params: params)
24
+ card.hydrate(dashboard: @dashboard)
25
25
  end
26
26
  end
27
27
 
@@ -44,27 +44,33 @@ module Avo
44
44
  end
45
45
 
46
46
  def search_resource(resource)
47
- query = Avo::Hosts::SearchScopeHost.new(
47
+ query = Avo::Hosts::SearchScopeHost.new(
48
48
  block: resource.search_query,
49
49
  params: params,
50
- scope: resource.class.scope.limit(8)
50
+ scope: resource.class.scope
51
51
  ).handle
52
52
 
53
+ # Get the count
54
+ results_count = query.count
55
+
56
+ # Get the results
57
+ query = query.limit(8)
58
+
53
59
  query = apply_scope(query) if should_apply_any_scope?
54
60
 
55
61
  results = apply_search_metadata(query, resource)
56
62
 
57
63
  header = resource.plural_name
58
64
 
59
- if results.length > 0
60
- header += " (#{results.length})"
65
+ if results_count > 0
66
+ header = "#{header} (#{results_count})"
61
67
  end
62
68
 
63
69
  result_object = {
64
70
  header: header,
65
71
  help: resource.class.search_query_help,
66
72
  results: results,
67
- count: results.length
73
+ count: results_count
68
74
  }
69
75
 
70
76
  [resource.name.pluralize.downcase, result_object]
@@ -55,7 +55,7 @@ export default class extends Controller {
55
55
  }
56
56
 
57
57
  // Prevent file uploads for resources that haven't been saved yet.
58
- if (this.resourceId === '') {
58
+ if (!this.resourceId) {
59
59
  event.preventDefault()
60
60
  alert("You can't upload files into the Trix editor until you save the resource.")
61
61
 
@@ -63,7 +63,7 @@ export default class extends Controller {
63
63
  }
64
64
 
65
65
  // Prevent file uploads for fields without an attachment key.
66
- if (this.attachmentKey === '') {
66
+ if (!this.attachmentKey) {
67
67
  event.preventDefault()
68
68
  alert("You haven't set an `attachment_key` to this Trix field.")
69
69
  }
@@ -93,7 +93,10 @@ export default class extends Controller {
93
93
 
94
94
  xhr.open('POST', this.uploadUrl, true)
95
95
 
96
- xhr.setRequestHeader('X-CSRF-Token', document.querySelector('meta[name="csrf-token"]').content)
96
+ const csrfToken = document.querySelector('meta[name="csrf-token"]')?.content
97
+ if (csrfToken) {
98
+ xhr.setRequestHeader('X-CSRF-Token', csrfToken)
99
+ }
97
100
 
98
101
  xhr.upload.addEventListener('progress', (event) => {
99
102
  // eslint-disable-next-line no-mixed-operators
@@ -18,8 +18,7 @@ export default class extends Controller {
18
18
  document.querySelectorAll(`[data-controller="item-selector"][data-resource-name="${this.resourceName}"] input[type=checkbox]`)
19
19
  .forEach((checkbox) => checkbox.checked !== checked && checkbox.click())
20
20
 
21
- // Only run "all matching" if there are more pages available
22
- if (this.pageCountValue > 1) {
21
+ if (this.selectAllEnabled()) {
23
22
  this.selectAllOverlay(checked)
24
23
 
25
24
  // When de-selecting everything, ensure the selectAll toggle is false and hide overlay.
@@ -35,8 +34,7 @@ export default class extends Controller {
35
34
  this.itemCheckboxTargets.forEach((checkbox) => allSelected = allSelected && checkbox.checked)
36
35
  this.checkboxTarget.checked = allSelected
37
36
 
38
- // Only run "all matching" if there are more pages available
39
- if (this.pageCountValue > 1) {
37
+ if (this.selectAllEnabled()) {
40
38
  this.selectAllOverlay(allSelected)
41
39
  this.resetUnselected()
42
40
  }
@@ -63,4 +61,9 @@ export default class extends Controller {
63
61
  this.selectAllOverlayTarget.classList.add('hidden')
64
62
  }
65
63
  }
64
+
65
+ // True if there are more pages available and if query encryption run successfully
66
+ selectAllEnabled() {
67
+ return this.pageCountValue > 1 && this.selectedAllQueryValue !== 'select_all_disabled'
68
+ }
66
69
  }
@@ -18,7 +18,7 @@
18
18
  <%= @action.action_name %>
19
19
  <% end %>
20
20
  <div class="flex-1 flex">
21
- <%= @action.message %>
21
+ <%= @action.get_message %>
22
22
  </div>
23
23
  <%= form.hidden_field :avo_resource_ids, value: params[:resource_ids], 'data-action-target': 'resourceIds' %>
24
24
  <%= form.hidden_field :avo_selected_query, 'data-action-target': 'selectedAllQuery' %>
@@ -72,6 +72,14 @@ module Avo
72
72
  @response[:messages] = []
73
73
  end
74
74
 
75
+ def get_message
76
+ if self.class.message.respond_to? :call
77
+ Avo::Hosts::ResourceRecordHost.new(block: self.class.message, record: self.class.model, resource: self.class.resource).handle
78
+ else
79
+ self.class.message
80
+ end
81
+ end
82
+
75
83
  def get_attributes_for_action
76
84
  get_fields.map do |field|
77
85
  [field.id, field.value || field.default]
data/lib/avo/base_card.rb CHANGED
@@ -20,6 +20,10 @@ module Avo
20
20
  attr_accessor :params
21
21
 
22
22
  delegate :context, to: ::Avo::App
23
+ delegate :current_user, to: ::Avo::App
24
+ delegate :view_context, to: ::Avo::App
25
+ delegate :params, to: ::Avo::App
26
+ delegate :request, to: ::Avo::App
23
27
 
24
28
  class << self
25
29
  def query(&block)
@@ -106,9 +110,8 @@ module Avo
106
110
  self
107
111
  end
108
112
 
109
- def hydrate(dashboard: nil, params: nil)
113
+ def hydrate(dashboard: nil)
110
114
  @dashboard = dashboard if dashboard.present?
111
- @params = params if params.present?
112
115
 
113
116
  self
114
117
  end
@@ -117,9 +117,10 @@ module Avo
117
117
  end
118
118
 
119
119
  def valid_attachment_name(record, association_name)
120
- get_record_associations(record).keys.each do |name|
121
- return association_name if name == "#{association_name}_attachment" || name == "#{association_name}_attachments"
120
+ association_exists = get_record_associations(record).keys.any? do |name|
121
+ name == "#{association_name}_attachment" || name == "#{association_name}_attachments"
122
122
  end
123
+ return association_name if association_exists
123
124
  end
124
125
 
125
126
  def get_available_models
@@ -12,7 +12,14 @@ module Avo
12
12
  value = default
13
13
 
14
14
  if type == :boolean
15
- value = args[name.to_sym] == true
15
+ case args[name.to_sym]
16
+ when nil
17
+ value = default
18
+ when false
19
+ value = false
20
+ when true
21
+ value = true
22
+ end
16
23
  else
17
24
  value = args[name.to_sym] unless args.dig(name.to_sym).nil?
18
25
  end
@@ -10,7 +10,6 @@ module Avo
10
10
  include ActionView::Helpers::UrlHelper
11
11
  include Avo::Fields::FieldExtensions::VisibleInDifferentViews
12
12
 
13
- include Avo::Concerns::HandlesFieldArgs
14
13
  include Avo::Concerns::HasHTMLAttributes
15
14
  include Avo::Fields::Concerns::IsRequired
16
15
  include Avo::Fields::Concerns::IsReadonly
@@ -58,7 +58,7 @@ module Avo
58
58
 
59
59
  # Cache options as options given on block or as options received from arguments
60
60
  def options
61
- @options ||= if options_from_args.respond_to? :call
61
+ if options_from_args.respond_to? :call
62
62
  options_from_args.call model: model, resource: resource, view: view, field: self
63
63
  else
64
64
  options_from_args
@@ -0,0 +1,7 @@
1
+ module Avo
2
+ module Hosts
3
+ class ResourceRecordHost < RecordHost
4
+ option :resource
5
+ end
6
+ end
7
+ end
@@ -119,7 +119,7 @@ module Avo
119
119
  end
120
120
 
121
121
  def authorize_action(action, **args)
122
- self.class.authorize_action(user, record, action, policy_class: policy_class, **args)
122
+ self.class.authorize_action(user, args[:record] || record, action, policy_class: policy_class, **args)
123
123
  end
124
124
 
125
125
  def apply_policy(model)
@@ -131,7 +131,7 @@ module Avo
131
131
  end
132
132
 
133
133
  def has_method?(method, **args)
134
- defined_methods(record, **args).include? method.to_sym
134
+ defined_methods(args[:record] || record, **args).include? method.to_sym
135
135
  end
136
136
  end
137
137
  end
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = "2.21.1.pre.issue1444" unless const_defined?(:VERSION)
2
+ VERSION = "2.21.1.pre.pr1476" unless const_defined?(:VERSION)
3
3
  end
@@ -0,0 +1,15 @@
1
+ nn:
2
+ pagy:
3
+ item_name:
4
+ one: "resultat"
5
+ other: "resultat"
6
+ nav:
7
+ prev: "&lsaquo;&nbsp;Førre"
8
+ next: "Neste&nbsp;&rsaquo;"
9
+ gap: "&hellip;"
10
+ info:
11
+ no_items: "Ingen %{item_name} funne"
12
+ single_page: "Viser <b>%{count}</b> %{item_name}"
13
+ multiple_pages: "Viser %{item_name} <b>%{from}-%{to}</b> av totalt <b>%{count}</b>"
14
+ combo_nav_js: "<label>Side %{page_input} av %{pages}</label>"
15
+ items_selector_js: "<label>Vis %{items_input} %{item_name} per side</label>"
@@ -69,7 +69,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
69
69
  <span class='flatpickr-weekday'>
70
70
  ${de.join("</span><span class='flatpickr-weekday'>")}
71
71
  </span>
72
- `}function oe(){r.calendarContainer.classList.add("hasWeeks");let le=jr("div","flatpickr-weekwrapper");le.appendChild(jr("span","flatpickr-weekday",r.l10n.weekAbbreviation));let de=jr("div","flatpickr-weeks");return le.appendChild(de),{weekWrapper:le,weekNumbers:de}}function G(le,de=!0){let Te=de?le:le-r.currentMonth;Te<0&&r._hidePrevMonthArrow===!0||Te>0&&r._hideNextMonthArrow===!0||(r.currentMonth+=Te,(r.currentMonth<0||r.currentMonth>11)&&(r.currentYear+=r.currentMonth>11?1:-1,r.currentMonth=(r.currentMonth+12)%12,er("onYearChange"),S()),V(),er("onMonthChange"),Zt())}function K(le=!0,de=!0){if(r.input.value="",r.altInput!==void 0&&(r.altInput.value=""),r.mobileInput!==void 0&&(r.mobileInput.value=""),r.selectedDates=[],r.latestSelectedDateObj=void 0,de===!0&&(r.currentYear=r._initialDate.getFullYear(),r.currentMonth=r._initialDate.getMonth()),r.config.enableTime===!0){let{hours:Te,minutes:He,seconds:lt}=fE(r.config);g(Te,He,lt)}r.redraw(),le&&er("onChange")}function ve(){r.isOpen=!1,r.isMobile||(r.calendarContainer!==void 0&&r.calendarContainer.classList.remove("open"),r._input!==void 0&&r._input.classList.remove("active")),er("onClose")}function Se(){r.config!==void 0&&er("onDestroy");for(let le=r._handlers.length;le--;)r._handlers[le].remove();if(r._handlers=[],r.mobileInput)r.mobileInput.parentNode&&r.mobileInput.parentNode.removeChild(r.mobileInput),r.mobileInput=void 0;else if(r.calendarContainer&&r.calendarContainer.parentNode)if(r.config.static&&r.calendarContainer.parentNode){let le=r.calendarContainer.parentNode;if(le.lastChild&&le.removeChild(le.lastChild),le.parentNode){for(;le.firstChild;)le.parentNode.insertBefore(le.firstChild,le);le.parentNode.removeChild(le)}}else r.calendarContainer.parentNode.removeChild(r.calendarContainer);r.altInput&&(r.input.type="text",r.altInput.parentNode&&r.altInput.parentNode.removeChild(r.altInput),delete r.altInput),r.input&&(r.input.type=r.input._type,r.input.classList.remove("flatpickr-input"),r.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(le=>{try{delete r[le]}catch{}})}function _e(le){return r.config.appendTo&&r.config.appendTo.contains(le)?!0:r.calendarContainer.contains(le)}function Ne(le){if(r.isOpen&&!r.config.inline){let de=sa(le),Te=_e(de),He=de===r.input||de===r.altInput||r.element.contains(de)||le.path&&le.path.indexOf&&(~le.path.indexOf(r.input)||~le.path.indexOf(r.altInput)),lt=le.type==="blur"?He&&le.relatedTarget&&!_e(le.relatedTarget):!He&&!Te&&!_e(le.relatedTarget),Qe=!r.config.ignoredFocusElements.some(Dt=>Dt.contains(de));lt&&Qe&&(r.timeContainer!==void 0&&r.minuteElement!==void 0&&r.hourElement!==void 0&&r.input.value!==""&&r.input.value!==void 0&&s(),r.close(),r.config&&r.config.mode==="range"&&r.selectedDates.length===1&&(r.clear(!1),r.redraw()))}}function Le(le){if(!le||r.config.minDate&&le<r.config.minDate.getFullYear()||r.config.maxDate&&le>r.config.maxDate.getFullYear())return;let de=le,Te=r.currentYear!==de;r.currentYear=de||r.currentYear,r.config.maxDate&&r.currentYear===r.config.maxDate.getFullYear()?r.currentMonth=Math.min(r.config.maxDate.getMonth(),r.currentMonth):r.config.minDate&&r.currentYear===r.config.minDate.getFullYear()&&(r.currentMonth=Math.max(r.config.minDate.getMonth(),r.currentMonth)),Te&&(r.redraw(),er("onYearChange"),S())}function it(le,de=!0){var Te;let He=r.parseDate(le,void 0,de);if(r.config.minDate&&He&&la(He,r.config.minDate,de!==void 0?de:!r.minDateHasTime)<0||r.config.maxDate&&He&&la(He,r.config.maxDate,de!==void 0?de:!r.maxDateHasTime)>0)return!1;if(!r.config.enable&&r.config.disable.length===0)return!0;if(He===void 0)return!1;let lt=!!r.config.enable,Qe=(Te=r.config.enable)!==null&&Te!==void 0?Te:r.config.disable;for(let Dt=0,_t;Dt<Qe.length;Dt++){if(_t=Qe[Dt],typeof _t=="function"&&_t(He))return lt;if(_t instanceof Date&&He!==void 0&&_t.getTime()===He.getTime())return lt;if(typeof _t=="string"){let Xt=r.parseDate(_t,void 0,!0);return Xt&&Xt.getTime()===He.getTime()?lt:!lt}else if(typeof _t=="object"&&He!==void 0&&_t.from&&_t.to&&He.getTime()>=_t.from.getTime()&&He.getTime()<=_t.to.getTime())return lt}return!lt}function ze(le){return r.daysContainer!==void 0?le.className.indexOf("hidden")===-1&&le.className.indexOf("flatpickr-disabled")===-1&&r.daysContainer.contains(le):!1}function tt(le){le.target===r._input&&(r.selectedDates.length>0||r._input.value.length>0)&&!(le.relatedTarget&&_e(le.relatedTarget))&&r.setDate(r._input.value,!0,le.target===r.altInput?r.config.altFormat:r.config.dateFormat)}function wt(le){let de=sa(le),Te=r.config.wrap?t.contains(de):de===r._input,He=r.config.allowInput,lt=r.isOpen&&(!He||!Te),Qe=r.config.inline&&Te&&!He;if(le.keyCode===13&&Te){if(He)return r.setDate(r._input.value,!0,de===r.altInput?r.config.altFormat:r.config.dateFormat),de.blur();r.open()}else if(_e(de)||lt||Qe){let Dt=!!r.timeContainer&&r.timeContainer.contains(de);switch(le.keyCode){case 13:Dt?(le.preventDefault(),s(),Fe()):It(le);break;case 27:le.preventDefault(),Fe();break;case 8:case 46:Te&&!r.config.allowInput&&(le.preventDefault(),r.clear());break;case 37:case 39:if(!Dt&&!Te){if(le.preventDefault(),r.daysContainer!==void 0&&(He===!1||document.activeElement&&ze(document.activeElement))){let Xt=le.keyCode===39?1:-1;le.ctrlKey?(le.stopPropagation(),G(Xt),F(C(1),0)):F(void 0,Xt)}}else r.hourElement&&r.hourElement.focus();break;case 38:case 40:le.preventDefault();let _t=le.keyCode===40?1:-1;r.daysContainer&&de.$i!==void 0||de===r.input||de===r.altInput?le.ctrlKey?(le.stopPropagation(),Le(r.currentYear-_t),F(C(1),0)):Dt||F(void 0,_t*7):de===r.currentYearElement?Le(r.currentYear-_t):r.config.enableTime&&(!Dt&&r.hourElement&&r.hourElement.focus(),s(le),r._debouncedChange());break;case 9:if(Dt){let Xt=[r.hourElement,r.minuteElement,r.secondElement,r.amPM].concat(r.pluginElements).filter(dr=>dr),Yt=Xt.indexOf(de);if(Yt!==-1){let dr=Xt[Yt+(le.shiftKey?-1:1)];le.preventDefault(),(dr||r._input).focus()}}else!r.config.noCalendar&&r.daysContainer&&r.daysContainer.contains(de)&&le.shiftKey&&(le.preventDefault(),r._input.focus());break;default:break}}if(r.amPM!==void 0&&de===r.amPM)switch(le.key){case r.l10n.amPM[0].charAt(0):case r.l10n.amPM[0].charAt(0).toLowerCase():r.amPM.textContent=r.l10n.amPM[0],f(),tr();break;case r.l10n.amPM[1].charAt(0):case r.l10n.amPM[1].charAt(0).toLowerCase():r.amPM.textContent=r.l10n.amPM[1],f(),tr();break}(Te||_e(de))&&er("onKeyDown",le)}function Tt(le){if(r.selectedDates.length!==1||le&&(!le.classList.contains("flatpickr-day")||le.classList.contains("flatpickr-disabled")))return;let de=le?le.dateObj.getTime():r.days.firstElementChild.dateObj.getTime(),Te=r.parseDate(r.selectedDates[0],void 0,!0).getTime(),He=Math.min(de,r.selectedDates[0].getTime()),lt=Math.max(de,r.selectedDates[0].getTime()),Qe=!1,Dt=0,_t=0;for(let Xt=He;Xt<lt;Xt+=goe.DAY)it(new Date(Xt),!0)||(Qe=Qe||Xt>He&&Xt<lt,Xt<Te&&(!Dt||Xt>Dt)?Dt=Xt:Xt>Te&&(!_t||Xt<_t)&&(_t=Xt));for(let Xt=0;Xt<r.config.showMonths;Xt++){let Yt=r.daysContainer.children[Xt];for(let dr=0,sn=Yt.children.length;dr<sn;dr++){let zr=Yt.children[dr],Hr=zr.dateObj.getTime(),Jn=Dt>0&&Hr<Dt||_t>0&&Hr>_t;if(Jn){zr.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(Vi=>{zr.classList.remove(Vi)});continue}else if(Qe&&!Jn)continue;["startRange","inRange","endRange","notAllowed"].forEach(Vi=>{zr.classList.remove(Vi)}),le!==void 0&&(le.classList.add(de<=r.selectedDates[0].getTime()?"startRange":"endRange"),Te<de&&Hr===Te?zr.classList.add("startRange"):Te>de&&Hr===Te&&zr.classList.add("endRange"),Hr>=Dt&&(_t===0||Hr<=_t)&&poe(Hr,Te,de)&&zr.classList.add("inRange"))}}}function Ve(){r.isOpen&&!r.config.static&&!r.config.inline&&fe()}function Oe(le,de=r._positionElement){if(r.isMobile===!0){if(le){le.preventDefault();let He=sa(le);He&&He.blur()}r.mobileInput!==void 0&&(r.mobileInput.focus(),r.mobileInput.click()),er("onOpen");return}else if(r._input.disabled||r.config.inline)return;let Te=r.isOpen;r.isOpen=!0,Te||(r.calendarContainer.classList.add("open"),r._input.classList.add("active"),er("onOpen"),fe(de)),r.config.enableTime===!0&&r.config.noCalendar===!0&&r.config.allowInput===!1&&(le===void 0||!r.timeContainer.contains(le.relatedTarget))&&setTimeout(()=>r.hourElement.select(),50)}function Me(le){return de=>{let Te=r.config[`_${le}Date`]=r.parseDate(de,r.config.dateFormat),He=r.config[`_${le==="min"?"max":"min"}Date`];Te!==void 0&&(r[le==="min"?"minDateHasTime":"maxDateHasTime"]=Te.getHours()>0||Te.getMinutes()>0||Te.getSeconds()>0),r.selectedDates&&(r.selectedDates=r.selectedDates.filter(lt=>it(lt)),!r.selectedDates.length&&le==="min"&&p(Te),tr()),r.daysContainer&&($e(),Te!==void 0?r.currentYearElement[le]=Te.getFullYear().toString():r.currentYearElement.removeAttribute(le),r.currentYearElement.disabled=!!He&&Te!==void 0&&He.getFullYear()===Te.getFullYear())}}function he(){let le=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],de=Object.assign(Object.assign({},JSON.parse(JSON.stringify(t.dataset||{}))),e),Te={};r.config.parseDate=de.parseDate,r.config.formatDate=de.formatDate,Object.defineProperty(r.config,"enable",{get:()=>r.config._enable,set:Qe=>{r.config._enable=xe(Qe)}}),Object.defineProperty(r.config,"disable",{get:()=>r.config._disable,set:Qe=>{r.config._disable=xe(Qe)}});let He=de.mode==="time";if(!de.dateFormat&&(de.enableTime||He)){let Qe=ui.defaultConfig.dateFormat||Mf.dateFormat;Te.dateFormat=de.noCalendar||He?"H:i"+(de.enableSeconds?":S":""):Qe+" H:i"+(de.enableSeconds?":S":"")}if(de.altInput&&(de.enableTime||He)&&!de.altFormat){let Qe=ui.defaultConfig.altFormat||Mf.altFormat;Te.altFormat=de.noCalendar||He?"h:i"+(de.enableSeconds?":S K":" K"):Qe+` h:i${de.enableSeconds?":S":""} K`}Object.defineProperty(r.config,"minDate",{get:()=>r.config._minDate,set:Me("min")}),Object.defineProperty(r.config,"maxDate",{get:()=>r.config._maxDate,set:Me("max")});let lt=Qe=>Dt=>{r.config[Qe==="min"?"_minTime":"_maxTime"]=r.parseDate(Dt,"H:i:S")};Object.defineProperty(r.config,"minTime",{get:()=>r.config._minTime,set:lt("min")}),Object.defineProperty(r.config,"maxTime",{get:()=>r.config._maxTime,set:lt("max")}),de.mode==="time"&&(r.config.noCalendar=!0,r.config.enableTime=!0),Object.assign(r.config,Te,de);for(let Qe=0;Qe<le.length;Qe++)r.config[le[Qe]]=r.config[le[Qe]]===!0||r.config[le[Qe]]==="true";aE.filter(Qe=>r.config[Qe]!==void 0).forEach(Qe=>{r.config[Qe]=uE(r.config[Qe]||[]).map(o)}),r.isMobile=!r.config.disableMobile&&!r.config.inline&&r.config.mode==="single"&&!r.config.disable.length&&!r.config.enable&&!r.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(let Qe=0;Qe<r.config.plugins.length;Qe++){let Dt=r.config.plugins[Qe](r)||{};for(let _t in Dt)aE.indexOf(_t)>-1?r.config[_t]=uE(Dt[_t]).map(o).concat(r.config[_t]):typeof de[_t]>"u"&&(r.config[_t]=Dt[_t])}de.altInputClass||(r.config.altInputClass=J().className+" "+r.config.altInputClass),er("onParseConfig")}function J(){return r.config.wrap?t.querySelector("[data-input]"):t}function re(){typeof r.config.locale!="object"&&typeof ui.l10ns[r.config.locale]>"u"&&r.config.errorHandler(new Error(`flatpickr: invalid locale ${r.config.locale}`)),r.l10n=Object.assign(Object.assign({},ui.l10ns.default),typeof r.config.locale=="object"?r.config.locale:r.config.locale!=="default"?ui.l10ns[r.config.locale]:void 0),D0.K=`(${r.l10n.amPM[0]}|${r.l10n.amPM[1]}|${r.l10n.amPM[0].toLowerCase()}|${r.l10n.amPM[1].toLowerCase()})`,Object.assign(Object.assign({},e),JSON.parse(JSON.stringify(t.dataset||{}))).time_24hr===void 0&&ui.defaultConfig.time_24hr===void 0&&(r.config.time_24hr=r.l10n.time_24hr),r.formatDate=aF(r),r.parseDate=cE({config:r.config,l10n:r.l10n})}function fe(le){if(typeof r.config.position=="function")return void r.config.position(r,le);if(r.calendarContainer===void 0)return;er("onPreCalendarPosition");let de=le||r._positionElement,Te=Array.prototype.reduce.call(r.calendarContainer.children,(Ci,ln)=>Ci+ln.offsetHeight,0),He=r.calendarContainer.offsetWidth,lt=r.config.position.split(" "),Qe=lt[0],Dt=lt.length>1?lt[1]:null,_t=de.getBoundingClientRect(),Xt=window.innerHeight-_t.bottom,Yt=Qe==="above"||Qe!=="below"&&Xt<Te&&_t.top>Te,dr=window.pageYOffset+_t.top+(Yt?-Te-2:de.offsetHeight+2);if(go(r.calendarContainer,"arrowTop",!Yt),go(r.calendarContainer,"arrowBottom",Yt),r.config.inline)return;let sn=window.pageXOffset+_t.left,zr=!1,vo=!1;Dt==="center"?(sn-=(He-_t.width)/2,zr=!0):Dt==="right"&&(sn-=He-_t.width,vo=!0),go(r.calendarContainer,"arrowLeft",!zr&&!vo),go(r.calendarContainer,"arrowCenter",zr),go(r.calendarContainer,"arrowRight",vo);let Hr=window.document.body.offsetWidth-(window.pageXOffset+_t.right),Jn=sn+He>window.document.body.offsetWidth,Vi=Hr+He>window.document.body.offsetWidth;if(go(r.calendarContainer,"rightMost",Jn),!r.config.static)if(r.calendarContainer.style.top=`${dr}px`,!Jn)r.calendarContainer.style.left=`${sn}px`,r.calendarContainer.style.right="auto";else if(!Vi)r.calendarContainer.style.left="auto",r.calendarContainer.style.right=`${Hr}px`;else{let Ci=ht();if(Ci===void 0)return;let ln=window.document.body.offsetWidth,Ro=Math.max(0,ln/2-He/2),Ti=".flatpickr-calendar.centerMost:before",$s=".flatpickr-calendar.centerMost:after",yo=Ci.cssRules.length,qo=`{left:${_t.left}px;right:auto;}`;go(r.calendarContainer,"rightMost",!1),go(r.calendarContainer,"centerMost",!0),Ci.insertRule(`${Ti},${$s}${qo}`,yo),r.calendarContainer.style.left=`${Ro}px`,r.calendarContainer.style.right="auto"}}function ht(){let le=null;for(let de=0;de<document.styleSheets.length;de++){let Te=document.styleSheets[de];try{Te.cssRules}catch{continue}le=Te;break}return le??ke()}function ke(){let le=document.createElement("style");return document.head.appendChild(le),le.sheet}function $e(){r.config.noCalendar||r.isMobile||(S(),Zt(),V())}function Fe(){r._input.focus(),window.navigator.userAgent.indexOf("MSIE")!==-1||navigator.msMaxTouchPoints!==void 0?setTimeout(r.close,0):r.close()}function It(le){le.preventDefault(),le.stopPropagation();let de=Dt=>Dt.classList&&Dt.classList.contains("flatpickr-day")&&!Dt.classList.contains("flatpickr-disabled")&&!Dt.classList.contains("notAllowed"),Te=nF(sa(le),de);if(Te===void 0)return;let He=Te,lt=r.latestSelectedDateObj=new Date(He.dateObj.getTime()),Qe=(lt.getMonth()<r.currentMonth||lt.getMonth()>r.currentMonth+r.config.showMonths-1)&&r.config.mode!=="range";if(r.selectedDateElem=He,r.config.mode==="single")r.selectedDates=[lt];else if(r.config.mode==="multiple"){let Dt=Ze(lt);Dt?r.selectedDates.splice(parseInt(Dt),1):r.selectedDates.push(lt)}else r.config.mode==="range"&&(r.selectedDates.length===2&&r.clear(!1,!1),r.latestSelectedDateObj=lt,r.selectedDates.push(lt),la(lt,r.selectedDates[0],!0)!==0&&r.selectedDates.sort((Dt,_t)=>Dt.getTime()-_t.getTime()));if(f(),Qe){let Dt=r.currentYear!==lt.getFullYear();r.currentYear=lt.getFullYear(),r.currentMonth=lt.getMonth(),Dt&&(er("onYearChange"),S()),er("onMonthChange")}if(Zt(),V(),tr(),!Qe&&r.config.mode!=="range"&&r.config.showMonths===1?_(He):r.selectedDateElem!==void 0&&r.hourElement===void 0&&r.selectedDateElem&&r.selectedDateElem.focus(),r.hourElement!==void 0&&r.hourElement!==void 0&&r.hourElement.focus(),r.config.closeOnSelect){let Dt=r.config.mode==="single"&&!r.config.enableTime,_t=r.config.mode==="range"&&r.selectedDates.length===2&&!r.config.enableTime;(Dt||_t)&&Fe()}w()}let ut={locale:[re,X],showMonths:[q,a,z],minDate:[k],maxDate:[k],clickOpens:[()=>{r.config.clickOpens===!0?(x(r._input,"focus",r.open),x(r._input,"click",r.open)):(r._input.removeEventListener("focus",r.open),r._input.removeEventListener("click",r.open))}]};function gt(le,de){if(le!==null&&typeof le=="object"){Object.assign(r.config,le);for(let Te in le)ut[Te]!==void 0&&ut[Te].forEach(He=>He())}else r.config[le]=de,ut[le]!==void 0?ut[le].forEach(Te=>Te()):aE.indexOf(le)>-1&&(r.config[le]=uE(de));r.redraw(),tr(!0)}function st(le,de){let Te=[];if(le instanceof Array)Te=le.map(He=>r.parseDate(He,de));else if(le instanceof Date||typeof le=="number")Te=[r.parseDate(le,de)];else if(typeof le=="string")switch(r.config.mode){case"single":case"time":Te=[r.parseDate(le,de)];break;case"multiple":Te=le.split(r.config.conjunction).map(He=>r.parseDate(He,de));break;case"range":Te=le.split(r.l10n.rangeSeparator).map(He=>r.parseDate(He,de));break;default:break}else r.config.errorHandler(new Error(`Invalid date supplied: ${JSON.stringify(le)}`));r.selectedDates=r.config.allowInvalidPreload?Te:Te.filter(He=>He instanceof Date&&it(He,!1)),r.config.mode==="range"&&r.selectedDates.sort((He,lt)=>He.getTime()-lt.getTime())}function ye(le,de=!1,Te=r.config.dateFormat){if(le!==0&&!le||le instanceof Array&&le.length===0)return r.clear(de);st(le,Te),r.latestSelectedDateObj=r.selectedDates[r.selectedDates.length-1],r.redraw(),k(void 0,de),p(),r.selectedDates.length===0&&r.clear(!1),tr(de),de&&er("onChange")}function xe(le){return le.slice().map(de=>typeof de=="string"||typeof de=="number"||de instanceof Date?r.parseDate(de,void 0,!0):de&&typeof de=="object"&&de.from&&de.to?{from:r.parseDate(de.from,void 0),to:r.parseDate(de.to,void 0)}:de).filter(de=>de)}function We(){r.selectedDates=[],r.now=r.parseDate(r.config.now)||new Date;let le=r.config.defaultDate||((r.input.nodeName==="INPUT"||r.input.nodeName==="TEXTAREA")&&r.input.placeholder&&r.input.value===r.input.placeholder?null:r.input.value);le&&st(le,r.config.dateFormat),r._initialDate=r.selectedDates.length>0?r.selectedDates[0]:r.config.minDate&&r.config.minDate.getTime()>r.now.getTime()?r.config.minDate:r.config.maxDate&&r.config.maxDate.getTime()<r.now.getTime()?r.config.maxDate:r.now,r.currentYear=r._initialDate.getFullYear(),r.currentMonth=r._initialDate.getMonth(),r.selectedDates.length>0&&(r.latestSelectedDateObj=r.selectedDates[0]),r.config.minTime!==void 0&&(r.config.minTime=r.parseDate(r.config.minTime,"H:i")),r.config.maxTime!==void 0&&(r.config.maxTime=r.parseDate(r.config.maxTime,"H:i")),r.minDateHasTime=!!r.config.minDate&&(r.config.minDate.getHours()>0||r.config.minDate.getMinutes()>0||r.config.minDate.getSeconds()>0),r.maxDateHasTime=!!r.config.maxDate&&(r.config.maxDate.getHours()>0||r.config.maxDate.getMinutes()>0||r.config.maxDate.getSeconds()>0)}function bt(){if(r.input=J(),!r.input){r.config.errorHandler(new Error("Invalid input element specified"));return}r.input._type=r.input.type,r.input.type="text",r.input.classList.add("flatpickr-input"),r._input=r.input,r.config.altInput&&(r.altInput=jr(r.input.nodeName,r.config.altInputClass),r._input=r.altInput,r.altInput.placeholder=r.input.placeholder,r.altInput.disabled=r.input.disabled,r.altInput.required=r.input.required,r.altInput.tabIndex=r.input.tabIndex,r.altInput.type="text",r.input.setAttribute("type","hidden"),!r.config.static&&r.input.parentNode&&r.input.parentNode.insertBefore(r.altInput,r.input.nextSibling)),r.config.allowInput||r._input.setAttribute("readonly","readonly"),r._positionElement=r.config.positionElement||r._input}function Gr(){let le=r.config.enableTime?r.config.noCalendar?"time":"datetime-local":"date";r.mobileInput=jr("input",r.input.className+" flatpickr-mobile"),r.mobileInput.tabIndex=1,r.mobileInput.type=le,r.mobileInput.disabled=r.input.disabled,r.mobileInput.required=r.input.required,r.mobileInput.placeholder=r.input.placeholder,r.mobileFormatStr=le==="datetime-local"?"Y-m-d\\TH:i:S":le==="date"?"Y-m-d":"H:i:S",r.selectedDates.length>0&&(r.mobileInput.defaultValue=r.mobileInput.value=r.formatDate(r.selectedDates[0],r.mobileFormatStr)),r.config.minDate&&(r.mobileInput.min=r.formatDate(r.config.minDate,"Y-m-d")),r.config.maxDate&&(r.mobileInput.max=r.formatDate(r.config.maxDate,"Y-m-d")),r.input.getAttribute("step")&&(r.mobileInput.step=String(r.input.getAttribute("step"))),r.input.type="hidden",r.altInput!==void 0&&(r.altInput.type="hidden");try{r.input.parentNode&&r.input.parentNode.insertBefore(r.mobileInput,r.input.nextSibling)}catch{}x(r.mobileInput,"change",de=>{r.setDate(sa(de).value,!1,r.mobileFormatStr),er("onChange"),er("onClose")})}function vt(le){if(r.isOpen===!0)return r.close();r.open(le)}function er(le,de){if(r.config===void 0)return;let Te=r.config[le];if(Te!==void 0&&Te.length>0)for(let He=0;Te[He]&&He<Te.length;He++)Te[He](r.selectedDates,r.input.value,r,de);le==="onChange"&&(r.input.dispatchEvent(Ie("change")),r.input.dispatchEvent(Ie("input")))}function Ie(le){let de=document.createEvent("Event");return de.initEvent(le,!0,!0),de}function Ze(le){for(let de=0;de<r.selectedDates.length;de++)if(la(r.selectedDates[de],le)===0)return""+de;return!1}function dt(le){return r.config.mode!=="range"||r.selectedDates.length<2?!1:la(le,r.selectedDates[0])>=0&&la(le,r.selectedDates[1])<=0}function Zt(){r.config.noCalendar||r.isMobile||!r.monthNav||(r.yearElements.forEach((le,de)=>{let Te=new Date(r.currentYear,r.currentMonth,1);Te.setMonth(r.currentMonth+de),r.config.showMonths>1||r.config.monthSelectorType==="static"?r.monthElements[de].textContent=A0(Te.getMonth(),r.config.shorthandCurrentMonth,r.l10n)+" ":r.monthsDropdownContainer.value=Te.getMonth().toString(),le.value=Te.getFullYear().toString()}),r._hidePrevMonthArrow=r.config.minDate!==void 0&&(r.currentYear===r.config.minDate.getFullYear()?r.currentMonth<=r.config.minDate.getMonth():r.currentYear<r.config.minDate.getFullYear()),r._hideNextMonthArrow=r.config.maxDate!==void 0&&(r.currentYear===r.config.maxDate.getFullYear()?r.currentMonth+1>r.config.maxDate.getMonth():r.currentYear>r.config.maxDate.getFullYear()))}function jt(le){return r.selectedDates.map(de=>r.formatDate(de,le)).filter((de,Te,He)=>r.config.mode!=="range"||r.config.enableTime||He.indexOf(de)===Te).join(r.config.mode!=="range"?r.config.conjunction:r.l10n.rangeSeparator)}function tr(le=!0){r.mobileInput!==void 0&&r.mobileFormatStr&&(r.mobileInput.value=r.latestSelectedDateObj!==void 0?r.formatDate(r.latestSelectedDateObj,r.mobileFormatStr):""),r.input.value=jt(r.config.dateFormat),r.altInput!==void 0&&(r.altInput.value=jt(r.config.altFormat)),le!==!1&&er("onValueUpdate")}function sr(le){let de=sa(le),Te=r.prevMonthNav.contains(de),He=r.nextMonthNav.contains(de);Te||He?G(Te?-1:1):r.yearElements.indexOf(de)>=0?de.select():de.classList.contains("arrowUp")?r.changeYear(r.currentYear+1):de.classList.contains("arrowDown")&&r.changeYear(r.currentYear-1)}function Hn(le){le.preventDefault();let de=le.type==="keydown",Te=sa(le),He=Te;r.amPM!==void 0&&Te===r.amPM&&(r.amPM.textContent=r.l10n.amPM[aa(r.amPM.textContent===r.l10n.amPM[0])]);let lt=parseFloat(He.getAttribute("min")),Qe=parseFloat(He.getAttribute("max")),Dt=parseFloat(He.getAttribute("step")),_t=parseInt(He.value,10),Xt=le.delta||(de?le.which===38?1:-1:0),Yt=_t+Dt*Xt;if(typeof He.value<"u"&&He.value.length===2){let dr=He===r.hourElement,sn=He===r.minuteElement;Yt<lt?(Yt=Qe+Yt+aa(!dr)+(aa(dr)&&aa(!r.amPM)),sn&&D(void 0,-1,r.hourElement)):Yt>Qe&&(Yt=He===r.hourElement?Yt-Qe-aa(!r.amPM):lt,sn&&D(void 0,1,r.hourElement)),r.amPM&&dr&&(Dt===1?Yt+_t===23:Math.abs(Yt-_t)>Dt)&&(r.amPM.textContent=r.l10n.amPM[aa(r.amPM.textContent===r.l10n.amPM[0])]),He.value=po(Yt)}}return i(),r}function mm(t,e){let r=Array.prototype.slice.call(t).filter(i=>i instanceof HTMLElement),n=[];for(let i=0;i<r.length;i++){let o=r[i];try{if(o.getAttribute("data-fp-omit")!==null)continue;o._flatpickr!==void 0&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=TQe(o,e||{}),n.push(o._flatpickr)}catch(a){console.error(a)}}return n.length===1?n[0]:n}var CQe,ui,yoe,boe=se(()=>{Jq();eF();rF();doe();moe();oF();voe();CQe=300;typeof HTMLElement<"u"&&typeof HTMLCollection<"u"&&typeof NodeList<"u"&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(t){return mm(this,t)},HTMLElement.prototype.flatpickr=function(t){return mm([this],t)});ui=function(t,e){return typeof t=="string"?mm(window.document.querySelectorAll(t),e):t instanceof Node?mm([t],e):mm(t,e)};ui.defaultConfig={};ui.l10ns={en:Object.assign({},lE),default:Object.assign({},lE)};ui.localize=t=>{ui.l10ns.default=Object.assign(Object.assign({},ui.l10ns.default),t)};ui.setDefaults=t=>{ui.defaultConfig=Object.assign(Object.assign({},ui.defaultConfig),t)};ui.parseDate=cE({});ui.formatDate=aF({});ui.compareDates=la;typeof jQuery<"u"&&typeof jQuery.fn<"u"&&(jQuery.fn.flatpickr=function(t){return mm(this,t)});Date.prototype.fp_incr=function(t){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof t=="string"?parseInt(t,10):t))};typeof window<"u"&&(window.flatpickr=ui);yoe=ui});function xoe(t){return new Date(new Date(t).getTime()+new Date(t).getTimezoneOffset()*60*1e3)}var xh,woe,_oe,O0,Soe=se(()=>{Pr();xh=Vr(foe());boe();woe="y/LL/dd",_oe="TT",O0=class extends Ct{constructor(){super(...arguments);pt(this,"flatpickrInstance");pt(this,"cachedInitialValue")}get browserZone(){return xh.DateTime.local().zoneName}get initialValue(){return this.isOnShow||this.isOnIndex?this.context.element.innerText:this.isOnEdit?this.inputTarget.value:null}get isOnIndex(){return this.viewValue==="index"}get isOnEdit(){return this.viewValue==="edit"}get isOnShow(){return this.viewValue==="show"}get fieldIsDate(){return this.fieldTypeValue==="date"}get fieldIsDateTime(){return this.fieldTypeValue==="dateTime"}get fieldIsTime(){return this.fieldTypeValue==="time"}get fieldHasTime(){return this.fieldIsTime||this.fieldIsDateTime}get parsedValue(){return xh.DateTime.fromISO(this.initialValue,{zone:"UTC"})}get displayTimezone(){return this.timezoneValue||this.browserZone}connect(){this.cacheInitialValue(),this.isOnShow||this.isOnIndex?this.initShow():this.isOnEdit&&this.initEdit()}disconnect(){this.isOnShow||this.isOnIndex?this.context.element.innerText=this.cachedInitialValue:this.isOnEdit&&this.flatpickrInstance&&this.flatpickrInstance.destroy()}cacheInitialValue(){this.cachedInitialValue=this.initialValue}initShow(){let t=this.parsedValue;this.fieldHasTime&&this.relativeValue&&(t=t.setZone(this.displayTimezone)),this.context.element.innerText=t.toFormat(this.formatValue)}initEdit(){let t=za({enableTime:!1,enableSeconds:!1,time_24hr:this.time24HrValue,locale:{firstDayOfWeek:0},altInput:!0,onChange:this.onChange.bind(this),noCalendar:!1},this.pickerOptionsValue);if(t.altFormat=this.pickerFormatValue,t.disableMobile=this.disableMobileValue,t.locale.firstDayOfWeek=this.firstDayOfWeekValue,t.enableTime=this.enableTimeValue,t.enableSeconds=this.enableTimeValue,t.noCalendar=this.noCalendarValue,this.fieldHasTime&&(t.dateFormat="Y-m-d H:i:S"),this.initialValue)switch(this.fieldTypeValue){case"date":t.defaultDate=xoe(this.initialValue);break;default:case"time":t.defaultDate=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!this.relativeValue}).toISO();break;case"dateTime":t.defaultDate=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!this.relativeValue}).toISO();break}if(this.flatpickrInstance=yoe(this.fakeInputTarget,t),!this.initialValue)return;let e;switch(this.fieldTypeValue){case"time":e=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!0}).toFormat(_oe);break;case"date":e=xh.DateTime.fromJSDate(xoe(this.initialValue)).toFormat(woe);break;default:case"dateTime":e=this.parsedValue.setZone(this.displayTimezone).toISO();break}this.updateRealInput(e)}onChange(t){if(t.length===0){this.updateRealInput("");return}let e;switch(this.fieldTypeValue){case"time":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!this.relativeValue}).toFormat(_oe);break;case"date":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!0}).toFormat(woe);break;default:case"dateTime":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!this.relativeValue}).toISO();break}this.updateRealInput(e)}updateRealInput(t){this.inputTarget.value=t}};pt(O0,"targets",["input","fakeInput"]),pt(O0,"values",{view:String,timezone:String,format:String,enableTime:Boolean,pickerFormat:String,firstDayOfWeek:Number,time24Hr:Boolean,disableMobile:Boolean,noCalendar:Boolean,relative:Boolean,fieldType:{type:String,default:"dateTime"},pickerOptions:{type:Object,default:{}}})});var dE,koe=se(()=>{Pr();dE=class extends Ct{showContent(t){this.contentTarget.classList.toggle("hidden"),t.target.classList.add("hidden")}};pt(dE,"targets",["content"])});var M0,Eoe=se(()=>{Pr();M0=class extends Ct{connect(){this.resourceName=this.element.dataset.resourceName}toggle(t){let e=!!t.target.checked;document.querySelectorAll(`[data-controller="item-selector"][data-resource-name="${this.resourceName}"] input[type=checkbox]`).forEach(r=>r.checked!==e&&r.click()),this.pageCountValue>1&&(this.selectAllOverlay(e),e||this.resetUnselected())}selectRow(){let t=!0;this.itemCheckboxTargets.forEach(e=>t=t&&e.checked),this.checkboxTarget.checked=t,this.pageCountValue>1&&(this.selectAllOverlay(t),this.resetUnselected())}selectAll(t){t.preventDefault(),this.selectedAllValue=!this.selectedAllValue,this.unselectedMessageTarget.classList.toggle("hidden"),this.selectedMessageTarget.classList.toggle("hidden")}resetUnselected(){this.selectedAllValue=!1,this.unselectedMessageTarget.classList.remove("hidden"),this.selectedMessageTarget.classList.add("hidden")}selectAllOverlay(t){t?this.selectAllOverlayTarget.classList.remove("hidden"):this.selectAllOverlayTarget.classList.add("hidden")}};pt(M0,"targets",["itemCheckbox","checkbox","selectAllOverlay","unselectedMessage","selectedMessage"]),pt(M0,"values",{pageCount:Number,selectedAll:Boolean,selectedAllQuery:String})});var hE,Coe=se(()=>{Pr();hE=class extends Ct{constructor(){super(...arguments);pt(this,"checkbox",{});pt(this,"enabledClasses",["text-black"]);pt(this,"disabledClasses",["text-gray-500"])}get actionsPanelPresent(){return this.actionsButtonElement!==null}get currentIds(){try{return JSON.parse(this.stateHolderElement.dataset.selectedResources)}catch(t){return[]}}get actionLinks(){return document.querySelectorAll('.js-actions-dropdown a[data-actions-picker-target="resourceAction"]')}set currentIds(t){this.stateHolderElement.dataset.selectedResources=JSON.stringify(t),this.actionsPanelPresent&&(t.length>0?this.enableResourceActions():this.disableResourceActions())}connect(){this.resourceName=this.element.dataset.resourceName,this.resourceId=this.element.dataset.resourceId,this.actionsButtonElement=document.querySelector(`[data-actions-dropdown-button="${this.resourceName}"]`),this.stateHolderElement=document.querySelector(`[data-selected-resources-name="${this.resourceName}"]`)}addToSelected(){let t=this.currentIds;t.push(this.resourceId),this.currentIds=t}removeFromSelected(){this.currentIds=this.currentIds.filter(t=>t.toString()!==this.resourceId)}toggle(t){this.checkbox=t.target,this.checkbox.checked?this.addToSelected():this.removeFromSelected()}enableResourceActions(){this.actionLinks.forEach(t=>{t.classList.add(...this.enabledClasses),t.classList.remove(...this.disabledClasses),t.setAttribute("data-href",t.getAttribute("href")),t.dataset.disabled=!1})}disableResourceActions(){this.actionLinks.forEach(t=>{t.classList.remove(...this.enabledClasses),t.classList.add(...this.disabledClasses),t.setAttribute("href",t.getAttribute("data-href")),t.dataset.disabled=!0})}};pt(hE,"targets",["panel"])});var pE,Toe=se(()=>{Pr();em();pE=class extends Ct{constructor(){super(...arguments);pt(this,"fieldValue",[]);pt(this,"options",{})}get keyInputDisabled(){return!this.options.editable||this.options.disable_editing_keys}get valueInputDisabled(){return!this.options.editable}connect(){this.setOptions();try{let t=JSON.parse(this.inputTarget.value);Object.keys(t).forEach(e=>this.fieldValue.push([e,t[e]]))}catch(t){this.fieldValue=[]}this.updateKeyValueComponent()}addRow(){this.options.disable_adding_rows||!this.options.editable||(this.fieldValue.push(["",""]),this.updateKeyValueComponent(),this.focusLastRow())}deleteRow(t){if(this.options.disable_deleting_rows||!this.options.editable)return;let{index:e}=t.params;this.fieldValue.splice(e,1),this.updateTextareaInput(),this.updateKeyValueComponent()}focusLastRow(){return this.rowsTarget.querySelector(".flex.key-value-row:last-child .key-value-input-key").focus()}valueFieldUpdated(t){let{value:e}=t.target,{index:r}=t.target.dataset;this.fieldValue[r][1]=e,this.updateTextareaInput()}keyFieldUpdated(t){let{value:e}=t.target,{index:r}=t.target.dataset;this.fieldValue[r][0]=e,this.updateTextareaInput()}updateTextareaInput(){if(!this.hasInputTarget)return;let t={};this.fieldValue&&this.fieldValue.length>0&&(t=Object.assign(...this.fieldValue.map(([e,r])=>({[e]:r})))),this.inputTarget.innerText=JSON.stringify(t),this.inputTarget.dispatchEvent(new Event("input"))}updateKeyValueComponent(){let t="",e=0;this.fieldValue.forEach(r=>{let[n,i]=r;t+=this.interpolatedRow(n,i,e),e++}),this.rowsTarget.innerHTML=t,window.initTippy()}interpolatedRow(t,e,r){let n=`<div class="flex key-value-row">
72
+ `}function oe(){r.calendarContainer.classList.add("hasWeeks");let le=jr("div","flatpickr-weekwrapper");le.appendChild(jr("span","flatpickr-weekday",r.l10n.weekAbbreviation));let de=jr("div","flatpickr-weeks");return le.appendChild(de),{weekWrapper:le,weekNumbers:de}}function G(le,de=!0){let Te=de?le:le-r.currentMonth;Te<0&&r._hidePrevMonthArrow===!0||Te>0&&r._hideNextMonthArrow===!0||(r.currentMonth+=Te,(r.currentMonth<0||r.currentMonth>11)&&(r.currentYear+=r.currentMonth>11?1:-1,r.currentMonth=(r.currentMonth+12)%12,er("onYearChange"),S()),V(),er("onMonthChange"),Zt())}function K(le=!0,de=!0){if(r.input.value="",r.altInput!==void 0&&(r.altInput.value=""),r.mobileInput!==void 0&&(r.mobileInput.value=""),r.selectedDates=[],r.latestSelectedDateObj=void 0,de===!0&&(r.currentYear=r._initialDate.getFullYear(),r.currentMonth=r._initialDate.getMonth()),r.config.enableTime===!0){let{hours:Te,minutes:He,seconds:lt}=fE(r.config);g(Te,He,lt)}r.redraw(),le&&er("onChange")}function ve(){r.isOpen=!1,r.isMobile||(r.calendarContainer!==void 0&&r.calendarContainer.classList.remove("open"),r._input!==void 0&&r._input.classList.remove("active")),er("onClose")}function Se(){r.config!==void 0&&er("onDestroy");for(let le=r._handlers.length;le--;)r._handlers[le].remove();if(r._handlers=[],r.mobileInput)r.mobileInput.parentNode&&r.mobileInput.parentNode.removeChild(r.mobileInput),r.mobileInput=void 0;else if(r.calendarContainer&&r.calendarContainer.parentNode)if(r.config.static&&r.calendarContainer.parentNode){let le=r.calendarContainer.parentNode;if(le.lastChild&&le.removeChild(le.lastChild),le.parentNode){for(;le.firstChild;)le.parentNode.insertBefore(le.firstChild,le);le.parentNode.removeChild(le)}}else r.calendarContainer.parentNode.removeChild(r.calendarContainer);r.altInput&&(r.input.type="text",r.altInput.parentNode&&r.altInput.parentNode.removeChild(r.altInput),delete r.altInput),r.input&&(r.input.type=r.input._type,r.input.classList.remove("flatpickr-input"),r.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(le=>{try{delete r[le]}catch{}})}function _e(le){return r.config.appendTo&&r.config.appendTo.contains(le)?!0:r.calendarContainer.contains(le)}function Ne(le){if(r.isOpen&&!r.config.inline){let de=sa(le),Te=_e(de),He=de===r.input||de===r.altInput||r.element.contains(de)||le.path&&le.path.indexOf&&(~le.path.indexOf(r.input)||~le.path.indexOf(r.altInput)),lt=le.type==="blur"?He&&le.relatedTarget&&!_e(le.relatedTarget):!He&&!Te&&!_e(le.relatedTarget),Qe=!r.config.ignoredFocusElements.some(Dt=>Dt.contains(de));lt&&Qe&&(r.timeContainer!==void 0&&r.minuteElement!==void 0&&r.hourElement!==void 0&&r.input.value!==""&&r.input.value!==void 0&&s(),r.close(),r.config&&r.config.mode==="range"&&r.selectedDates.length===1&&(r.clear(!1),r.redraw()))}}function Le(le){if(!le||r.config.minDate&&le<r.config.minDate.getFullYear()||r.config.maxDate&&le>r.config.maxDate.getFullYear())return;let de=le,Te=r.currentYear!==de;r.currentYear=de||r.currentYear,r.config.maxDate&&r.currentYear===r.config.maxDate.getFullYear()?r.currentMonth=Math.min(r.config.maxDate.getMonth(),r.currentMonth):r.config.minDate&&r.currentYear===r.config.minDate.getFullYear()&&(r.currentMonth=Math.max(r.config.minDate.getMonth(),r.currentMonth)),Te&&(r.redraw(),er("onYearChange"),S())}function it(le,de=!0){var Te;let He=r.parseDate(le,void 0,de);if(r.config.minDate&&He&&la(He,r.config.minDate,de!==void 0?de:!r.minDateHasTime)<0||r.config.maxDate&&He&&la(He,r.config.maxDate,de!==void 0?de:!r.maxDateHasTime)>0)return!1;if(!r.config.enable&&r.config.disable.length===0)return!0;if(He===void 0)return!1;let lt=!!r.config.enable,Qe=(Te=r.config.enable)!==null&&Te!==void 0?Te:r.config.disable;for(let Dt=0,_t;Dt<Qe.length;Dt++){if(_t=Qe[Dt],typeof _t=="function"&&_t(He))return lt;if(_t instanceof Date&&He!==void 0&&_t.getTime()===He.getTime())return lt;if(typeof _t=="string"){let Xt=r.parseDate(_t,void 0,!0);return Xt&&Xt.getTime()===He.getTime()?lt:!lt}else if(typeof _t=="object"&&He!==void 0&&_t.from&&_t.to&&He.getTime()>=_t.from.getTime()&&He.getTime()<=_t.to.getTime())return lt}return!lt}function ze(le){return r.daysContainer!==void 0?le.className.indexOf("hidden")===-1&&le.className.indexOf("flatpickr-disabled")===-1&&r.daysContainer.contains(le):!1}function tt(le){le.target===r._input&&(r.selectedDates.length>0||r._input.value.length>0)&&!(le.relatedTarget&&_e(le.relatedTarget))&&r.setDate(r._input.value,!0,le.target===r.altInput?r.config.altFormat:r.config.dateFormat)}function wt(le){let de=sa(le),Te=r.config.wrap?t.contains(de):de===r._input,He=r.config.allowInput,lt=r.isOpen&&(!He||!Te),Qe=r.config.inline&&Te&&!He;if(le.keyCode===13&&Te){if(He)return r.setDate(r._input.value,!0,de===r.altInput?r.config.altFormat:r.config.dateFormat),de.blur();r.open()}else if(_e(de)||lt||Qe){let Dt=!!r.timeContainer&&r.timeContainer.contains(de);switch(le.keyCode){case 13:Dt?(le.preventDefault(),s(),Fe()):It(le);break;case 27:le.preventDefault(),Fe();break;case 8:case 46:Te&&!r.config.allowInput&&(le.preventDefault(),r.clear());break;case 37:case 39:if(!Dt&&!Te){if(le.preventDefault(),r.daysContainer!==void 0&&(He===!1||document.activeElement&&ze(document.activeElement))){let Xt=le.keyCode===39?1:-1;le.ctrlKey?(le.stopPropagation(),G(Xt),F(C(1),0)):F(void 0,Xt)}}else r.hourElement&&r.hourElement.focus();break;case 38:case 40:le.preventDefault();let _t=le.keyCode===40?1:-1;r.daysContainer&&de.$i!==void 0||de===r.input||de===r.altInput?le.ctrlKey?(le.stopPropagation(),Le(r.currentYear-_t),F(C(1),0)):Dt||F(void 0,_t*7):de===r.currentYearElement?Le(r.currentYear-_t):r.config.enableTime&&(!Dt&&r.hourElement&&r.hourElement.focus(),s(le),r._debouncedChange());break;case 9:if(Dt){let Xt=[r.hourElement,r.minuteElement,r.secondElement,r.amPM].concat(r.pluginElements).filter(dr=>dr),Yt=Xt.indexOf(de);if(Yt!==-1){let dr=Xt[Yt+(le.shiftKey?-1:1)];le.preventDefault(),(dr||r._input).focus()}}else!r.config.noCalendar&&r.daysContainer&&r.daysContainer.contains(de)&&le.shiftKey&&(le.preventDefault(),r._input.focus());break;default:break}}if(r.amPM!==void 0&&de===r.amPM)switch(le.key){case r.l10n.amPM[0].charAt(0):case r.l10n.amPM[0].charAt(0).toLowerCase():r.amPM.textContent=r.l10n.amPM[0],f(),tr();break;case r.l10n.amPM[1].charAt(0):case r.l10n.amPM[1].charAt(0).toLowerCase():r.amPM.textContent=r.l10n.amPM[1],f(),tr();break}(Te||_e(de))&&er("onKeyDown",le)}function Tt(le){if(r.selectedDates.length!==1||le&&(!le.classList.contains("flatpickr-day")||le.classList.contains("flatpickr-disabled")))return;let de=le?le.dateObj.getTime():r.days.firstElementChild.dateObj.getTime(),Te=r.parseDate(r.selectedDates[0],void 0,!0).getTime(),He=Math.min(de,r.selectedDates[0].getTime()),lt=Math.max(de,r.selectedDates[0].getTime()),Qe=!1,Dt=0,_t=0;for(let Xt=He;Xt<lt;Xt+=goe.DAY)it(new Date(Xt),!0)||(Qe=Qe||Xt>He&&Xt<lt,Xt<Te&&(!Dt||Xt>Dt)?Dt=Xt:Xt>Te&&(!_t||Xt<_t)&&(_t=Xt));for(let Xt=0;Xt<r.config.showMonths;Xt++){let Yt=r.daysContainer.children[Xt];for(let dr=0,sn=Yt.children.length;dr<sn;dr++){let zr=Yt.children[dr],Hr=zr.dateObj.getTime(),Jn=Dt>0&&Hr<Dt||_t>0&&Hr>_t;if(Jn){zr.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(Vi=>{zr.classList.remove(Vi)});continue}else if(Qe&&!Jn)continue;["startRange","inRange","endRange","notAllowed"].forEach(Vi=>{zr.classList.remove(Vi)}),le!==void 0&&(le.classList.add(de<=r.selectedDates[0].getTime()?"startRange":"endRange"),Te<de&&Hr===Te?zr.classList.add("startRange"):Te>de&&Hr===Te&&zr.classList.add("endRange"),Hr>=Dt&&(_t===0||Hr<=_t)&&poe(Hr,Te,de)&&zr.classList.add("inRange"))}}}function Ve(){r.isOpen&&!r.config.static&&!r.config.inline&&fe()}function Oe(le,de=r._positionElement){if(r.isMobile===!0){if(le){le.preventDefault();let He=sa(le);He&&He.blur()}r.mobileInput!==void 0&&(r.mobileInput.focus(),r.mobileInput.click()),er("onOpen");return}else if(r._input.disabled||r.config.inline)return;let Te=r.isOpen;r.isOpen=!0,Te||(r.calendarContainer.classList.add("open"),r._input.classList.add("active"),er("onOpen"),fe(de)),r.config.enableTime===!0&&r.config.noCalendar===!0&&r.config.allowInput===!1&&(le===void 0||!r.timeContainer.contains(le.relatedTarget))&&setTimeout(()=>r.hourElement.select(),50)}function Me(le){return de=>{let Te=r.config[`_${le}Date`]=r.parseDate(de,r.config.dateFormat),He=r.config[`_${le==="min"?"max":"min"}Date`];Te!==void 0&&(r[le==="min"?"minDateHasTime":"maxDateHasTime"]=Te.getHours()>0||Te.getMinutes()>0||Te.getSeconds()>0),r.selectedDates&&(r.selectedDates=r.selectedDates.filter(lt=>it(lt)),!r.selectedDates.length&&le==="min"&&p(Te),tr()),r.daysContainer&&($e(),Te!==void 0?r.currentYearElement[le]=Te.getFullYear().toString():r.currentYearElement.removeAttribute(le),r.currentYearElement.disabled=!!He&&Te!==void 0&&He.getFullYear()===Te.getFullYear())}}function he(){let le=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],de=Object.assign(Object.assign({},JSON.parse(JSON.stringify(t.dataset||{}))),e),Te={};r.config.parseDate=de.parseDate,r.config.formatDate=de.formatDate,Object.defineProperty(r.config,"enable",{get:()=>r.config._enable,set:Qe=>{r.config._enable=xe(Qe)}}),Object.defineProperty(r.config,"disable",{get:()=>r.config._disable,set:Qe=>{r.config._disable=xe(Qe)}});let He=de.mode==="time";if(!de.dateFormat&&(de.enableTime||He)){let Qe=ui.defaultConfig.dateFormat||Mf.dateFormat;Te.dateFormat=de.noCalendar||He?"H:i"+(de.enableSeconds?":S":""):Qe+" H:i"+(de.enableSeconds?":S":"")}if(de.altInput&&(de.enableTime||He)&&!de.altFormat){let Qe=ui.defaultConfig.altFormat||Mf.altFormat;Te.altFormat=de.noCalendar||He?"h:i"+(de.enableSeconds?":S K":" K"):Qe+` h:i${de.enableSeconds?":S":""} K`}Object.defineProperty(r.config,"minDate",{get:()=>r.config._minDate,set:Me("min")}),Object.defineProperty(r.config,"maxDate",{get:()=>r.config._maxDate,set:Me("max")});let lt=Qe=>Dt=>{r.config[Qe==="min"?"_minTime":"_maxTime"]=r.parseDate(Dt,"H:i:S")};Object.defineProperty(r.config,"minTime",{get:()=>r.config._minTime,set:lt("min")}),Object.defineProperty(r.config,"maxTime",{get:()=>r.config._maxTime,set:lt("max")}),de.mode==="time"&&(r.config.noCalendar=!0,r.config.enableTime=!0),Object.assign(r.config,Te,de);for(let Qe=0;Qe<le.length;Qe++)r.config[le[Qe]]=r.config[le[Qe]]===!0||r.config[le[Qe]]==="true";aE.filter(Qe=>r.config[Qe]!==void 0).forEach(Qe=>{r.config[Qe]=uE(r.config[Qe]||[]).map(o)}),r.isMobile=!r.config.disableMobile&&!r.config.inline&&r.config.mode==="single"&&!r.config.disable.length&&!r.config.enable&&!r.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(let Qe=0;Qe<r.config.plugins.length;Qe++){let Dt=r.config.plugins[Qe](r)||{};for(let _t in Dt)aE.indexOf(_t)>-1?r.config[_t]=uE(Dt[_t]).map(o).concat(r.config[_t]):typeof de[_t]>"u"&&(r.config[_t]=Dt[_t])}de.altInputClass||(r.config.altInputClass=J().className+" "+r.config.altInputClass),er("onParseConfig")}function J(){return r.config.wrap?t.querySelector("[data-input]"):t}function re(){typeof r.config.locale!="object"&&typeof ui.l10ns[r.config.locale]>"u"&&r.config.errorHandler(new Error(`flatpickr: invalid locale ${r.config.locale}`)),r.l10n=Object.assign(Object.assign({},ui.l10ns.default),typeof r.config.locale=="object"?r.config.locale:r.config.locale!=="default"?ui.l10ns[r.config.locale]:void 0),D0.K=`(${r.l10n.amPM[0]}|${r.l10n.amPM[1]}|${r.l10n.amPM[0].toLowerCase()}|${r.l10n.amPM[1].toLowerCase()})`,Object.assign(Object.assign({},e),JSON.parse(JSON.stringify(t.dataset||{}))).time_24hr===void 0&&ui.defaultConfig.time_24hr===void 0&&(r.config.time_24hr=r.l10n.time_24hr),r.formatDate=aF(r),r.parseDate=cE({config:r.config,l10n:r.l10n})}function fe(le){if(typeof r.config.position=="function")return void r.config.position(r,le);if(r.calendarContainer===void 0)return;er("onPreCalendarPosition");let de=le||r._positionElement,Te=Array.prototype.reduce.call(r.calendarContainer.children,(Ci,ln)=>Ci+ln.offsetHeight,0),He=r.calendarContainer.offsetWidth,lt=r.config.position.split(" "),Qe=lt[0],Dt=lt.length>1?lt[1]:null,_t=de.getBoundingClientRect(),Xt=window.innerHeight-_t.bottom,Yt=Qe==="above"||Qe!=="below"&&Xt<Te&&_t.top>Te,dr=window.pageYOffset+_t.top+(Yt?-Te-2:de.offsetHeight+2);if(go(r.calendarContainer,"arrowTop",!Yt),go(r.calendarContainer,"arrowBottom",Yt),r.config.inline)return;let sn=window.pageXOffset+_t.left,zr=!1,vo=!1;Dt==="center"?(sn-=(He-_t.width)/2,zr=!0):Dt==="right"&&(sn-=He-_t.width,vo=!0),go(r.calendarContainer,"arrowLeft",!zr&&!vo),go(r.calendarContainer,"arrowCenter",zr),go(r.calendarContainer,"arrowRight",vo);let Hr=window.document.body.offsetWidth-(window.pageXOffset+_t.right),Jn=sn+He>window.document.body.offsetWidth,Vi=Hr+He>window.document.body.offsetWidth;if(go(r.calendarContainer,"rightMost",Jn),!r.config.static)if(r.calendarContainer.style.top=`${dr}px`,!Jn)r.calendarContainer.style.left=`${sn}px`,r.calendarContainer.style.right="auto";else if(!Vi)r.calendarContainer.style.left="auto",r.calendarContainer.style.right=`${Hr}px`;else{let Ci=ht();if(Ci===void 0)return;let ln=window.document.body.offsetWidth,Ro=Math.max(0,ln/2-He/2),Ti=".flatpickr-calendar.centerMost:before",$s=".flatpickr-calendar.centerMost:after",yo=Ci.cssRules.length,qo=`{left:${_t.left}px;right:auto;}`;go(r.calendarContainer,"rightMost",!1),go(r.calendarContainer,"centerMost",!0),Ci.insertRule(`${Ti},${$s}${qo}`,yo),r.calendarContainer.style.left=`${Ro}px`,r.calendarContainer.style.right="auto"}}function ht(){let le=null;for(let de=0;de<document.styleSheets.length;de++){let Te=document.styleSheets[de];try{Te.cssRules}catch{continue}le=Te;break}return le??ke()}function ke(){let le=document.createElement("style");return document.head.appendChild(le),le.sheet}function $e(){r.config.noCalendar||r.isMobile||(S(),Zt(),V())}function Fe(){r._input.focus(),window.navigator.userAgent.indexOf("MSIE")!==-1||navigator.msMaxTouchPoints!==void 0?setTimeout(r.close,0):r.close()}function It(le){le.preventDefault(),le.stopPropagation();let de=Dt=>Dt.classList&&Dt.classList.contains("flatpickr-day")&&!Dt.classList.contains("flatpickr-disabled")&&!Dt.classList.contains("notAllowed"),Te=nF(sa(le),de);if(Te===void 0)return;let He=Te,lt=r.latestSelectedDateObj=new Date(He.dateObj.getTime()),Qe=(lt.getMonth()<r.currentMonth||lt.getMonth()>r.currentMonth+r.config.showMonths-1)&&r.config.mode!=="range";if(r.selectedDateElem=He,r.config.mode==="single")r.selectedDates=[lt];else if(r.config.mode==="multiple"){let Dt=Ze(lt);Dt?r.selectedDates.splice(parseInt(Dt),1):r.selectedDates.push(lt)}else r.config.mode==="range"&&(r.selectedDates.length===2&&r.clear(!1,!1),r.latestSelectedDateObj=lt,r.selectedDates.push(lt),la(lt,r.selectedDates[0],!0)!==0&&r.selectedDates.sort((Dt,_t)=>Dt.getTime()-_t.getTime()));if(f(),Qe){let Dt=r.currentYear!==lt.getFullYear();r.currentYear=lt.getFullYear(),r.currentMonth=lt.getMonth(),Dt&&(er("onYearChange"),S()),er("onMonthChange")}if(Zt(),V(),tr(),!Qe&&r.config.mode!=="range"&&r.config.showMonths===1?_(He):r.selectedDateElem!==void 0&&r.hourElement===void 0&&r.selectedDateElem&&r.selectedDateElem.focus(),r.hourElement!==void 0&&r.hourElement!==void 0&&r.hourElement.focus(),r.config.closeOnSelect){let Dt=r.config.mode==="single"&&!r.config.enableTime,_t=r.config.mode==="range"&&r.selectedDates.length===2&&!r.config.enableTime;(Dt||_t)&&Fe()}w()}let ut={locale:[re,X],showMonths:[q,a,z],minDate:[k],maxDate:[k],clickOpens:[()=>{r.config.clickOpens===!0?(x(r._input,"focus",r.open),x(r._input,"click",r.open)):(r._input.removeEventListener("focus",r.open),r._input.removeEventListener("click",r.open))}]};function gt(le,de){if(le!==null&&typeof le=="object"){Object.assign(r.config,le);for(let Te in le)ut[Te]!==void 0&&ut[Te].forEach(He=>He())}else r.config[le]=de,ut[le]!==void 0?ut[le].forEach(Te=>Te()):aE.indexOf(le)>-1&&(r.config[le]=uE(de));r.redraw(),tr(!0)}function st(le,de){let Te=[];if(le instanceof Array)Te=le.map(He=>r.parseDate(He,de));else if(le instanceof Date||typeof le=="number")Te=[r.parseDate(le,de)];else if(typeof le=="string")switch(r.config.mode){case"single":case"time":Te=[r.parseDate(le,de)];break;case"multiple":Te=le.split(r.config.conjunction).map(He=>r.parseDate(He,de));break;case"range":Te=le.split(r.l10n.rangeSeparator).map(He=>r.parseDate(He,de));break;default:break}else r.config.errorHandler(new Error(`Invalid date supplied: ${JSON.stringify(le)}`));r.selectedDates=r.config.allowInvalidPreload?Te:Te.filter(He=>He instanceof Date&&it(He,!1)),r.config.mode==="range"&&r.selectedDates.sort((He,lt)=>He.getTime()-lt.getTime())}function ye(le,de=!1,Te=r.config.dateFormat){if(le!==0&&!le||le instanceof Array&&le.length===0)return r.clear(de);st(le,Te),r.latestSelectedDateObj=r.selectedDates[r.selectedDates.length-1],r.redraw(),k(void 0,de),p(),r.selectedDates.length===0&&r.clear(!1),tr(de),de&&er("onChange")}function xe(le){return le.slice().map(de=>typeof de=="string"||typeof de=="number"||de instanceof Date?r.parseDate(de,void 0,!0):de&&typeof de=="object"&&de.from&&de.to?{from:r.parseDate(de.from,void 0),to:r.parseDate(de.to,void 0)}:de).filter(de=>de)}function We(){r.selectedDates=[],r.now=r.parseDate(r.config.now)||new Date;let le=r.config.defaultDate||((r.input.nodeName==="INPUT"||r.input.nodeName==="TEXTAREA")&&r.input.placeholder&&r.input.value===r.input.placeholder?null:r.input.value);le&&st(le,r.config.dateFormat),r._initialDate=r.selectedDates.length>0?r.selectedDates[0]:r.config.minDate&&r.config.minDate.getTime()>r.now.getTime()?r.config.minDate:r.config.maxDate&&r.config.maxDate.getTime()<r.now.getTime()?r.config.maxDate:r.now,r.currentYear=r._initialDate.getFullYear(),r.currentMonth=r._initialDate.getMonth(),r.selectedDates.length>0&&(r.latestSelectedDateObj=r.selectedDates[0]),r.config.minTime!==void 0&&(r.config.minTime=r.parseDate(r.config.minTime,"H:i")),r.config.maxTime!==void 0&&(r.config.maxTime=r.parseDate(r.config.maxTime,"H:i")),r.minDateHasTime=!!r.config.minDate&&(r.config.minDate.getHours()>0||r.config.minDate.getMinutes()>0||r.config.minDate.getSeconds()>0),r.maxDateHasTime=!!r.config.maxDate&&(r.config.maxDate.getHours()>0||r.config.maxDate.getMinutes()>0||r.config.maxDate.getSeconds()>0)}function bt(){if(r.input=J(),!r.input){r.config.errorHandler(new Error("Invalid input element specified"));return}r.input._type=r.input.type,r.input.type="text",r.input.classList.add("flatpickr-input"),r._input=r.input,r.config.altInput&&(r.altInput=jr(r.input.nodeName,r.config.altInputClass),r._input=r.altInput,r.altInput.placeholder=r.input.placeholder,r.altInput.disabled=r.input.disabled,r.altInput.required=r.input.required,r.altInput.tabIndex=r.input.tabIndex,r.altInput.type="text",r.input.setAttribute("type","hidden"),!r.config.static&&r.input.parentNode&&r.input.parentNode.insertBefore(r.altInput,r.input.nextSibling)),r.config.allowInput||r._input.setAttribute("readonly","readonly"),r._positionElement=r.config.positionElement||r._input}function Gr(){let le=r.config.enableTime?r.config.noCalendar?"time":"datetime-local":"date";r.mobileInput=jr("input",r.input.className+" flatpickr-mobile"),r.mobileInput.tabIndex=1,r.mobileInput.type=le,r.mobileInput.disabled=r.input.disabled,r.mobileInput.required=r.input.required,r.mobileInput.placeholder=r.input.placeholder,r.mobileFormatStr=le==="datetime-local"?"Y-m-d\\TH:i:S":le==="date"?"Y-m-d":"H:i:S",r.selectedDates.length>0&&(r.mobileInput.defaultValue=r.mobileInput.value=r.formatDate(r.selectedDates[0],r.mobileFormatStr)),r.config.minDate&&(r.mobileInput.min=r.formatDate(r.config.minDate,"Y-m-d")),r.config.maxDate&&(r.mobileInput.max=r.formatDate(r.config.maxDate,"Y-m-d")),r.input.getAttribute("step")&&(r.mobileInput.step=String(r.input.getAttribute("step"))),r.input.type="hidden",r.altInput!==void 0&&(r.altInput.type="hidden");try{r.input.parentNode&&r.input.parentNode.insertBefore(r.mobileInput,r.input.nextSibling)}catch{}x(r.mobileInput,"change",de=>{r.setDate(sa(de).value,!1,r.mobileFormatStr),er("onChange"),er("onClose")})}function vt(le){if(r.isOpen===!0)return r.close();r.open(le)}function er(le,de){if(r.config===void 0)return;let Te=r.config[le];if(Te!==void 0&&Te.length>0)for(let He=0;Te[He]&&He<Te.length;He++)Te[He](r.selectedDates,r.input.value,r,de);le==="onChange"&&(r.input.dispatchEvent(Ie("change")),r.input.dispatchEvent(Ie("input")))}function Ie(le){let de=document.createEvent("Event");return de.initEvent(le,!0,!0),de}function Ze(le){for(let de=0;de<r.selectedDates.length;de++)if(la(r.selectedDates[de],le)===0)return""+de;return!1}function dt(le){return r.config.mode!=="range"||r.selectedDates.length<2?!1:la(le,r.selectedDates[0])>=0&&la(le,r.selectedDates[1])<=0}function Zt(){r.config.noCalendar||r.isMobile||!r.monthNav||(r.yearElements.forEach((le,de)=>{let Te=new Date(r.currentYear,r.currentMonth,1);Te.setMonth(r.currentMonth+de),r.config.showMonths>1||r.config.monthSelectorType==="static"?r.monthElements[de].textContent=A0(Te.getMonth(),r.config.shorthandCurrentMonth,r.l10n)+" ":r.monthsDropdownContainer.value=Te.getMonth().toString(),le.value=Te.getFullYear().toString()}),r._hidePrevMonthArrow=r.config.minDate!==void 0&&(r.currentYear===r.config.minDate.getFullYear()?r.currentMonth<=r.config.minDate.getMonth():r.currentYear<r.config.minDate.getFullYear()),r._hideNextMonthArrow=r.config.maxDate!==void 0&&(r.currentYear===r.config.maxDate.getFullYear()?r.currentMonth+1>r.config.maxDate.getMonth():r.currentYear>r.config.maxDate.getFullYear()))}function jt(le){return r.selectedDates.map(de=>r.formatDate(de,le)).filter((de,Te,He)=>r.config.mode!=="range"||r.config.enableTime||He.indexOf(de)===Te).join(r.config.mode!=="range"?r.config.conjunction:r.l10n.rangeSeparator)}function tr(le=!0){r.mobileInput!==void 0&&r.mobileFormatStr&&(r.mobileInput.value=r.latestSelectedDateObj!==void 0?r.formatDate(r.latestSelectedDateObj,r.mobileFormatStr):""),r.input.value=jt(r.config.dateFormat),r.altInput!==void 0&&(r.altInput.value=jt(r.config.altFormat)),le!==!1&&er("onValueUpdate")}function sr(le){let de=sa(le),Te=r.prevMonthNav.contains(de),He=r.nextMonthNav.contains(de);Te||He?G(Te?-1:1):r.yearElements.indexOf(de)>=0?de.select():de.classList.contains("arrowUp")?r.changeYear(r.currentYear+1):de.classList.contains("arrowDown")&&r.changeYear(r.currentYear-1)}function Hn(le){le.preventDefault();let de=le.type==="keydown",Te=sa(le),He=Te;r.amPM!==void 0&&Te===r.amPM&&(r.amPM.textContent=r.l10n.amPM[aa(r.amPM.textContent===r.l10n.amPM[0])]);let lt=parseFloat(He.getAttribute("min")),Qe=parseFloat(He.getAttribute("max")),Dt=parseFloat(He.getAttribute("step")),_t=parseInt(He.value,10),Xt=le.delta||(de?le.which===38?1:-1:0),Yt=_t+Dt*Xt;if(typeof He.value<"u"&&He.value.length===2){let dr=He===r.hourElement,sn=He===r.minuteElement;Yt<lt?(Yt=Qe+Yt+aa(!dr)+(aa(dr)&&aa(!r.amPM)),sn&&D(void 0,-1,r.hourElement)):Yt>Qe&&(Yt=He===r.hourElement?Yt-Qe-aa(!r.amPM):lt,sn&&D(void 0,1,r.hourElement)),r.amPM&&dr&&(Dt===1?Yt+_t===23:Math.abs(Yt-_t)>Dt)&&(r.amPM.textContent=r.l10n.amPM[aa(r.amPM.textContent===r.l10n.amPM[0])]),He.value=po(Yt)}}return i(),r}function mm(t,e){let r=Array.prototype.slice.call(t).filter(i=>i instanceof HTMLElement),n=[];for(let i=0;i<r.length;i++){let o=r[i];try{if(o.getAttribute("data-fp-omit")!==null)continue;o._flatpickr!==void 0&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=TQe(o,e||{}),n.push(o._flatpickr)}catch(a){console.error(a)}}return n.length===1?n[0]:n}var CQe,ui,yoe,boe=se(()=>{Jq();eF();rF();doe();moe();oF();voe();CQe=300;typeof HTMLElement<"u"&&typeof HTMLCollection<"u"&&typeof NodeList<"u"&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(t){return mm(this,t)},HTMLElement.prototype.flatpickr=function(t){return mm([this],t)});ui=function(t,e){return typeof t=="string"?mm(window.document.querySelectorAll(t),e):t instanceof Node?mm([t],e):mm(t,e)};ui.defaultConfig={};ui.l10ns={en:Object.assign({},lE),default:Object.assign({},lE)};ui.localize=t=>{ui.l10ns.default=Object.assign(Object.assign({},ui.l10ns.default),t)};ui.setDefaults=t=>{ui.defaultConfig=Object.assign(Object.assign({},ui.defaultConfig),t)};ui.parseDate=cE({});ui.formatDate=aF({});ui.compareDates=la;typeof jQuery<"u"&&typeof jQuery.fn<"u"&&(jQuery.fn.flatpickr=function(t){return mm(this,t)});Date.prototype.fp_incr=function(t){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(typeof t=="string"?parseInt(t,10):t))};typeof window<"u"&&(window.flatpickr=ui);yoe=ui});function xoe(t){return new Date(new Date(t).getTime()+new Date(t).getTimezoneOffset()*60*1e3)}var xh,woe,_oe,O0,Soe=se(()=>{Pr();xh=Vr(foe());boe();woe="y/LL/dd",_oe="TT",O0=class extends Ct{constructor(){super(...arguments);pt(this,"flatpickrInstance");pt(this,"cachedInitialValue")}get browserZone(){return xh.DateTime.local().zoneName}get initialValue(){return this.isOnShow||this.isOnIndex?this.context.element.innerText:this.isOnEdit?this.inputTarget.value:null}get isOnIndex(){return this.viewValue==="index"}get isOnEdit(){return this.viewValue==="edit"}get isOnShow(){return this.viewValue==="show"}get fieldIsDate(){return this.fieldTypeValue==="date"}get fieldIsDateTime(){return this.fieldTypeValue==="dateTime"}get fieldIsTime(){return this.fieldTypeValue==="time"}get fieldHasTime(){return this.fieldIsTime||this.fieldIsDateTime}get parsedValue(){return xh.DateTime.fromISO(this.initialValue,{zone:"UTC"})}get displayTimezone(){return this.timezoneValue||this.browserZone}connect(){this.cacheInitialValue(),this.isOnShow||this.isOnIndex?this.initShow():this.isOnEdit&&this.initEdit()}disconnect(){this.isOnShow||this.isOnIndex?this.context.element.innerText=this.cachedInitialValue:this.isOnEdit&&this.flatpickrInstance&&this.flatpickrInstance.destroy()}cacheInitialValue(){this.cachedInitialValue=this.initialValue}initShow(){let t=this.parsedValue;this.fieldHasTime&&this.relativeValue&&(t=t.setZone(this.displayTimezone)),this.context.element.innerText=t.toFormat(this.formatValue)}initEdit(){let t=za({enableTime:!1,enableSeconds:!1,time_24hr:this.time24HrValue,locale:{firstDayOfWeek:0},altInput:!0,onChange:this.onChange.bind(this),noCalendar:!1},this.pickerOptionsValue);if(t.altFormat=this.pickerFormatValue,t.disableMobile=this.disableMobileValue,t.locale.firstDayOfWeek=this.firstDayOfWeekValue,t.enableTime=this.enableTimeValue,t.enableSeconds=this.enableTimeValue,t.noCalendar=this.noCalendarValue,this.fieldHasTime&&(t.dateFormat="Y-m-d H:i:S"),this.initialValue)switch(this.fieldTypeValue){case"date":t.defaultDate=xoe(this.initialValue);break;default:case"time":t.defaultDate=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!this.relativeValue}).toISO();break;case"dateTime":t.defaultDate=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!this.relativeValue}).toISO();break}if(this.flatpickrInstance=yoe(this.fakeInputTarget,t),!this.initialValue)return;let e;switch(this.fieldTypeValue){case"time":e=this.parsedValue.setZone(this.displayTimezone,{keepLocalTime:!0}).toFormat(_oe);break;case"date":e=xh.DateTime.fromJSDate(xoe(this.initialValue)).toFormat(woe);break;default:case"dateTime":e=this.parsedValue.setZone(this.displayTimezone).toISO();break}this.updateRealInput(e)}onChange(t){if(t.length===0){this.updateRealInput("");return}let e;switch(this.fieldTypeValue){case"time":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!this.relativeValue}).toFormat(_oe);break;case"date":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!0}).toFormat(woe);break;default:case"dateTime":e=xh.DateTime.fromISO(t[0].toISOString()).setZone("UTC",{keepLocalTime:!this.relativeValue}).toISO();break}this.updateRealInput(e)}updateRealInput(t){this.inputTarget.value=t}};pt(O0,"targets",["input","fakeInput"]),pt(O0,"values",{view:String,timezone:String,format:String,enableTime:Boolean,pickerFormat:String,firstDayOfWeek:Number,time24Hr:Boolean,disableMobile:Boolean,noCalendar:Boolean,relative:Boolean,fieldType:{type:String,default:"dateTime"},pickerOptions:{type:Object,default:{}}})});var dE,koe=se(()=>{Pr();dE=class extends Ct{showContent(t){this.contentTarget.classList.toggle("hidden"),t.target.classList.add("hidden")}};pt(dE,"targets",["content"])});var M0,Eoe=se(()=>{Pr();M0=class extends Ct{connect(){this.resourceName=this.element.dataset.resourceName}toggle(t){let e=!!t.target.checked;document.querySelectorAll(`[data-controller="item-selector"][data-resource-name="${this.resourceName}"] input[type=checkbox]`).forEach(r=>r.checked!==e&&r.click()),this.selectAllEnabled()&&(this.selectAllOverlay(e),e||this.resetUnselected())}selectRow(){let t=!0;this.itemCheckboxTargets.forEach(e=>t=t&&e.checked),this.checkboxTarget.checked=t,this.selectAllEnabled()&&(this.selectAllOverlay(t),this.resetUnselected())}selectAll(t){t.preventDefault(),this.selectedAllValue=!this.selectedAllValue,this.unselectedMessageTarget.classList.toggle("hidden"),this.selectedMessageTarget.classList.toggle("hidden")}resetUnselected(){this.selectedAllValue=!1,this.unselectedMessageTarget.classList.remove("hidden"),this.selectedMessageTarget.classList.add("hidden")}selectAllOverlay(t){t?this.selectAllOverlayTarget.classList.remove("hidden"):this.selectAllOverlayTarget.classList.add("hidden")}selectAllEnabled(){return this.pageCountValue>1&&this.selectedAllQueryValue!=="select_all_disabled"}};pt(M0,"targets",["itemCheckbox","checkbox","selectAllOverlay","unselectedMessage","selectedMessage"]),pt(M0,"values",{pageCount:Number,selectedAll:Boolean,selectedAllQuery:String})});var hE,Coe=se(()=>{Pr();hE=class extends Ct{constructor(){super(...arguments);pt(this,"checkbox",{});pt(this,"enabledClasses",["text-black"]);pt(this,"disabledClasses",["text-gray-500"])}get actionsPanelPresent(){return this.actionsButtonElement!==null}get currentIds(){try{return JSON.parse(this.stateHolderElement.dataset.selectedResources)}catch(t){return[]}}get actionLinks(){return document.querySelectorAll('.js-actions-dropdown a[data-actions-picker-target="resourceAction"]')}set currentIds(t){this.stateHolderElement.dataset.selectedResources=JSON.stringify(t),this.actionsPanelPresent&&(t.length>0?this.enableResourceActions():this.disableResourceActions())}connect(){this.resourceName=this.element.dataset.resourceName,this.resourceId=this.element.dataset.resourceId,this.actionsButtonElement=document.querySelector(`[data-actions-dropdown-button="${this.resourceName}"]`),this.stateHolderElement=document.querySelector(`[data-selected-resources-name="${this.resourceName}"]`)}addToSelected(){let t=this.currentIds;t.push(this.resourceId),this.currentIds=t}removeFromSelected(){this.currentIds=this.currentIds.filter(t=>t.toString()!==this.resourceId)}toggle(t){this.checkbox=t.target,this.checkbox.checked?this.addToSelected():this.removeFromSelected()}enableResourceActions(){this.actionLinks.forEach(t=>{t.classList.add(...this.enabledClasses),t.classList.remove(...this.disabledClasses),t.setAttribute("data-href",t.getAttribute("href")),t.dataset.disabled=!1})}disableResourceActions(){this.actionLinks.forEach(t=>{t.classList.remove(...this.enabledClasses),t.classList.add(...this.disabledClasses),t.setAttribute("href",t.getAttribute("data-href")),t.dataset.disabled=!0})}};pt(hE,"targets",["panel"])});var pE,Toe=se(()=>{Pr();em();pE=class extends Ct{constructor(){super(...arguments);pt(this,"fieldValue",[]);pt(this,"options",{})}get keyInputDisabled(){return!this.options.editable||this.options.disable_editing_keys}get valueInputDisabled(){return!this.options.editable}connect(){this.setOptions();try{let t=JSON.parse(this.inputTarget.value);Object.keys(t).forEach(e=>this.fieldValue.push([e,t[e]]))}catch(t){this.fieldValue=[]}this.updateKeyValueComponent()}addRow(){this.options.disable_adding_rows||!this.options.editable||(this.fieldValue.push(["",""]),this.updateKeyValueComponent(),this.focusLastRow())}deleteRow(t){if(this.options.disable_deleting_rows||!this.options.editable)return;let{index:e}=t.params;this.fieldValue.splice(e,1),this.updateTextareaInput(),this.updateKeyValueComponent()}focusLastRow(){return this.rowsTarget.querySelector(".flex.key-value-row:last-child .key-value-input-key").focus()}valueFieldUpdated(t){let{value:e}=t.target,{index:r}=t.target.dataset;this.fieldValue[r][1]=e,this.updateTextareaInput()}keyFieldUpdated(t){let{value:e}=t.target,{index:r}=t.target.dataset;this.fieldValue[r][0]=e,this.updateTextareaInput()}updateTextareaInput(){if(!this.hasInputTarget)return;let t={};this.fieldValue&&this.fieldValue.length>0&&(t=Object.assign(...this.fieldValue.map(([e,r])=>({[e]:r})))),this.inputTarget.innerText=JSON.stringify(t),this.inputTarget.dispatchEvent(new Event("input"))}updateKeyValueComponent(){let t="",e=0;this.fieldValue.forEach(r=>{let[n,i]=r;t+=this.interpolatedRow(n,i,e),e++}),this.rowsTarget.innerHTML=t,window.initTippy()}interpolatedRow(t,e,r){let n=`<div class="flex key-value-row">
73
73
  ${this.inputField("key",r,t,e)}
74
74
  ${this.inputField("value",r,t,e)}`;return this.options.editable&&(n+=`<a
75
75
  href="javascript:void(0);"
@@ -413,7 +413,7 @@ function print() { __p += __j.call(arguments, '') }
413
413
  %t [data-trix-cursor-target=right] {
414
414
  vertical-align: bottom !important;
415
415
  margin-right: -1px !important;
416
- }`,trixId:{get:function(){return this.hasAttribute("trix-id")?this.getAttribute("trix-id"):(this.setAttribute("trix-id",++A),this.trixId)}},labels:{get:function(){var D,M,P;return M=[],this.id&&this.ownerDocument&&M.push.apply(M,this.ownerDocument.querySelectorAll("label[for='"+this.id+"']")),(D=i(this,{matchingSelector:"label"}))&&((P=D.control)===this||P===null)&&M.push(D),M}},toolbarElement:{get:function(){var D,M,P;return this.hasAttribute("toolbar")?(M=this.ownerDocument)!=null?M.getElementById(this.getAttribute("toolbar")):void 0:this.parentNode?(P="trix-toolbar-"+this.trixId,this.setAttribute("toolbar",P),D=s("trix-toolbar",{id:P}),this.parentNode.insertBefore(D,this),D):void 0}},inputElement:{get:function(){var D,M,P;return this.hasAttribute("input")?(P=this.ownerDocument)!=null?P.getElementById(this.getAttribute("input")):void 0:this.parentNode?(M="trix-input-"+this.trixId,this.setAttribute("input",M),D=s("input",{type:"hidden",id:M}),this.parentNode.insertBefore(D,this.nextElementSibling),D):void 0}},editor:{get:function(){var D;return(D=this.editorController)!=null?D.editor:void 0}},name:{get:function(){var D;return(D=this.inputElement)!=null?D.name:void 0}},value:{get:function(){var D;return(D=this.inputElement)!=null?D.value:void 0},set:function(D){var M;return this.defaultValue=D,(M=this.editor)!=null?M.loadHTML(this.defaultValue):void 0}},notify:function(D,M){return this.editorController?u("trix-"+D,{onElement:this,attributes:M}):void 0},setInputElementValue:function(D){var M;return(M=this.inputElement)!=null?M.value=D:void 0},initialize:function(){return this.hasAttribute("data-trix-internal")?void 0:(k(this),f(this),w(this))},connect:function(){return this.hasAttribute("data-trix-internal")?void 0:(this.editorController||(u("trix-before-initialize",{onElement:this}),this.editorController=new e.EditorController({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(function(D){return function(){return u("trix-initialize",{onElement:D})}}(this))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),p(this))},disconnect:function(){var D;return(D=this.editorController)!=null&&D.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()},registerResetListener:function(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener("reset",this.resetListener,!1)},unregisterResetListener:function(){return window.removeEventListener("reset",this.resetListener,!1)},registerClickListener:function(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener("click",this.clickListener,!1)},unregisterClickListener:function(){return window.removeEventListener("click",this.clickListener,!1)},resetBubbled:function(D){var M;if(!D.defaultPrevented&&D.target===((M=this.inputElement)!=null?M.form:void 0))return this.reset()},clickBubbled:function(D){var M;if(!(D.defaultPrevented||this.contains(D.target)||!(M=i(D.target,{matchingSelector:"label"}))||c.call(this.labels,M)<0))return this.focus()},reset:function(){return this.value=this.defaultValue}}}())}.call(this),function(){}.call(this)}).call(this),typeof Dh=="object"&&Dh.exports?Dh.exports=e:typeof define=="function"&&define.amd&&define(e)}.call(Ah)});var rIt,AC,ode=se(()=>{rIt=Vr(ide());Pr();em();AC=class extends Ct{get resourceId(){return this.controllerTarget.dataset.resourceId}get resourceName(){return this.controllerTarget.dataset.resourceName}get attachmentKey(){return this.controllerTarget.dataset.attachmentKey}get attachmentsDisabled(){return Io(this.controllerTarget.dataset.attachmentsDisabled)}get hideAttachmentFilename(){return Io(this.controllerTarget.dataset.hideAttachmentFilename)}get hideAttachmentFilesize(){return Io(this.controllerTarget.dataset.hideAttachmentFilesize)}get hideAttachmentUrl(){return Io(this.controllerTarget.dataset.hideAttachmentUrl)}get uploadUrl(){return`${window.location.origin}${window.Avo.configuration.root_path}/avo_api/resources/${this.resourceName}/${this.resourceId}/attachments`}connect(){this.attachmentsDisabled&&this.controllerTarget.querySelector(".trix-button-group--file-tools").remove(),window.addEventListener("trix-file-accept",t=>{if(t.target===this.editorTarget){if(this.attachmentsDisabled){t.preventDefault(),alert("This field has attachments disabled.");return}if(this.resourceId===""){t.preventDefault(),alert("You can't upload files into the Trix editor until you save the resource.");return}this.attachmentKey===""&&(t.preventDefault(),alert("You haven't set an `attachment_key` to this Trix field."))}}),window.addEventListener("trix-attachment-add",t=>{t.target===this.editorTarget&&t.attachment.file&&this.uploadFileAttachment(t.attachment)})}uploadFileAttachment(t){this.uploadFile(t.file,e=>t.setUploadProgress(e),e=>t.setAttributes(e))}uploadFile(t,e,r){let n=this.createFormData(t),i=new XMLHttpRequest;i.open("POST",this.uploadUrl,!0),i.setRequestHeader("X-CSRF-Token",document.querySelector('meta[name="csrf-token"]').content),i.upload.addEventListener("progress",o=>{let a=o.loaded/o.total*100;e(a)}),i.addEventListener("load",()=>{if(i.status===200){let o;try{o=JSON.parse(i.response)}catch(s){o={}}let a={url:o.url,href:o.href};this.hideAttachmentFilename&&(a.filename=null),this.hideAttachmentFilesize&&(a.filesize=null),this.hideAttachmentUrl&&(a.href=null),r(a)}}),i.send(n)}createFormData(t){let e=new FormData;return e.append("Content-Type",t.type),e.append("file",t),e.append("filename",t.name),e.append("attachment_key",this.attachmentKey),e}};pt(AC,"targets",["editor","controller"])});var ade=se(()=>{Rre();qre();Fre();Nre();Bre();$re();tie();rie();nie();Soe();nm();koe();Eoe();Coe();Toe();Aoe();Doe();Ooe();Moe();Ioe();gse();mse();vse();Ice();Pce();Rce();jce();Ofe();Mfe();Bfe();jfe();zfe();nde();ode();mr.register("action",I1);mr.register("actions-picker",p0);mr.register("attachments",L1);mr.register("boolean-filter",B1);mr.register("copy-to-clipboard",uq);mr.register("dashboard-card",U1);mr.register("filter",Ca);mr.register("hidden-input",dE);mr.register("item-select-all",M0);mr.register("item-selector",hE);mr.register("loading-button",gE);mr.register("menu",mE);mr.register("modal",vE);mr.register("multiple-select-filter",yE);mr.register("per-page",bE);mr.register("resource-edit",P0);mr.register("resource-index",fF);mr.register("resource-show",dF);mr.register("search",VE);mr.register("select",$E);mr.register("select-filter",YE);mr.register("sidebar",H0);mr.register("tabs",Y0);mr.register("tags-field",_C);mr.register("text-filter",SC);mr.register("tippy",kC);mr.register("toggle-panel",TC);mr.register("belongs-to-field",P1);mr.register("code-field",W1);mr.register("date-field",O0);mr.register("key-value",pE);mr.register("simple-mde",wC);mr.register("trix-field",AC)});var Grt=Z(cde=>{var zIt=Vr(uX()),HIt=Vr(cX()),sde=Vr(dX()),lde=Vr(mL());FL();var ude=Vr(hQ());pP();tre();rre();ade();ude.default.start();window.Turbolinks=Yd;var DC=null;lde.bind("r r r",()=>{DC=document.scrollingElement.scrollTop,Yd.visit(window.location.href,{action:"replace"})});function Krt(){window.navigator.userAgent.indexOf("Mac OS X")>=0?(document.body.classList.add("os-mac"),document.body.classList.remove("os-pc")):(document.body.classList.add("os-pc"),document.body.classList.remove("os-mac"))}function hN(){lk('[data-tippy="tooltip"]',{theme:"light",content(t){let e=t.getAttribute("title");return t.removeAttribute("title"),t.removeAttribute("data-tippy"),e}})}window.initTippy=hN;sde.start();document.addEventListener("turbo:load",()=>{hN(),Krt(),DC&&setTimeout(()=>{document.scrollingElement.scrollTo(0,DC),DC=0},50),setTimeout(()=>{document.body.classList.remove("turbo-loading")},1)});document.addEventListener("turbo:frame-load",()=>{hN()});document.addEventListener("turbo:before-fetch-response",t=>bv(cde,null,function*(){var e,r,n;if(t.detail.fetchResponse.response.status===500){let{id:i,src:o}=t.target;(n=(r=(e=t.detail.fetchResponse)==null?void 0:e.response)==null?void 0:r.url)!=null&&n.includes("/failed_to_load")||(t.target.src=`${window.Avo.configuration.root_path}/failed_to_load?turbo_frame=${i}&src=${o}`)}}));document.addEventListener("turbo:visit",()=>document.body.classList.add("turbo-loading"));document.addEventListener("turbo:submit-start",()=>document.body.classList.add("turbo-loading"));document.addEventListener("turbo:submit-end",()=>document.body.classList.remove("turbo-loading"));document.addEventListener("turbo:before-cache",()=>{document.querySelectorAll("[data-turbo-remove-before-cache]").forEach(t=>t.remove())});window.Avo=window.Avo||{configuration:{}};window.Avo.menus={resetCollapsedState(){Array.from(document.querySelectorAll("[data-menu-key-param]")).map(t=>t.getAttribute("data-menu-key-param")).filter(Boolean).forEach(t=>{window.localStorage.removeItem(t)})}}});Grt();})();
416
+ }`,trixId:{get:function(){return this.hasAttribute("trix-id")?this.getAttribute("trix-id"):(this.setAttribute("trix-id",++A),this.trixId)}},labels:{get:function(){var D,M,P;return M=[],this.id&&this.ownerDocument&&M.push.apply(M,this.ownerDocument.querySelectorAll("label[for='"+this.id+"']")),(D=i(this,{matchingSelector:"label"}))&&((P=D.control)===this||P===null)&&M.push(D),M}},toolbarElement:{get:function(){var D,M,P;return this.hasAttribute("toolbar")?(M=this.ownerDocument)!=null?M.getElementById(this.getAttribute("toolbar")):void 0:this.parentNode?(P="trix-toolbar-"+this.trixId,this.setAttribute("toolbar",P),D=s("trix-toolbar",{id:P}),this.parentNode.insertBefore(D,this),D):void 0}},inputElement:{get:function(){var D,M,P;return this.hasAttribute("input")?(P=this.ownerDocument)!=null?P.getElementById(this.getAttribute("input")):void 0:this.parentNode?(M="trix-input-"+this.trixId,this.setAttribute("input",M),D=s("input",{type:"hidden",id:M}),this.parentNode.insertBefore(D,this.nextElementSibling),D):void 0}},editor:{get:function(){var D;return(D=this.editorController)!=null?D.editor:void 0}},name:{get:function(){var D;return(D=this.inputElement)!=null?D.name:void 0}},value:{get:function(){var D;return(D=this.inputElement)!=null?D.value:void 0},set:function(D){var M;return this.defaultValue=D,(M=this.editor)!=null?M.loadHTML(this.defaultValue):void 0}},notify:function(D,M){return this.editorController?u("trix-"+D,{onElement:this,attributes:M}):void 0},setInputElementValue:function(D){var M;return(M=this.inputElement)!=null?M.value=D:void 0},initialize:function(){return this.hasAttribute("data-trix-internal")?void 0:(k(this),f(this),w(this))},connect:function(){return this.hasAttribute("data-trix-internal")?void 0:(this.editorController||(u("trix-before-initialize",{onElement:this}),this.editorController=new e.EditorController({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(function(D){return function(){return u("trix-initialize",{onElement:D})}}(this))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),p(this))},disconnect:function(){var D;return(D=this.editorController)!=null&&D.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()},registerResetListener:function(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener("reset",this.resetListener,!1)},unregisterResetListener:function(){return window.removeEventListener("reset",this.resetListener,!1)},registerClickListener:function(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener("click",this.clickListener,!1)},unregisterClickListener:function(){return window.removeEventListener("click",this.clickListener,!1)},resetBubbled:function(D){var M;if(!D.defaultPrevented&&D.target===((M=this.inputElement)!=null?M.form:void 0))return this.reset()},clickBubbled:function(D){var M;if(!(D.defaultPrevented||this.contains(D.target)||!(M=i(D.target,{matchingSelector:"label"}))||c.call(this.labels,M)<0))return this.focus()},reset:function(){return this.value=this.defaultValue}}}())}.call(this),function(){}.call(this)}).call(this),typeof Dh=="object"&&Dh.exports?Dh.exports=e:typeof define=="function"&&define.amd&&define(e)}.call(Ah)});var rIt,AC,ode=se(()=>{rIt=Vr(ide());Pr();em();AC=class extends Ct{get resourceId(){return this.controllerTarget.dataset.resourceId}get resourceName(){return this.controllerTarget.dataset.resourceName}get attachmentKey(){return this.controllerTarget.dataset.attachmentKey}get attachmentsDisabled(){return Io(this.controllerTarget.dataset.attachmentsDisabled)}get hideAttachmentFilename(){return Io(this.controllerTarget.dataset.hideAttachmentFilename)}get hideAttachmentFilesize(){return Io(this.controllerTarget.dataset.hideAttachmentFilesize)}get hideAttachmentUrl(){return Io(this.controllerTarget.dataset.hideAttachmentUrl)}get uploadUrl(){return`${window.location.origin}${window.Avo.configuration.root_path}/avo_api/resources/${this.resourceName}/${this.resourceId}/attachments`}connect(){this.attachmentsDisabled&&this.controllerTarget.querySelector(".trix-button-group--file-tools").remove(),window.addEventListener("trix-file-accept",t=>{if(t.target===this.editorTarget){if(this.attachmentsDisabled){t.preventDefault(),alert("This field has attachments disabled.");return}if(!this.resourceId){t.preventDefault(),alert("You can't upload files into the Trix editor until you save the resource.");return}this.attachmentKey||(t.preventDefault(),alert("You haven't set an `attachment_key` to this Trix field."))}}),window.addEventListener("trix-attachment-add",t=>{t.target===this.editorTarget&&t.attachment.file&&this.uploadFileAttachment(t.attachment)})}uploadFileAttachment(t){this.uploadFile(t.file,e=>t.setUploadProgress(e),e=>t.setAttributes(e))}uploadFile(t,e,r){var a;let n=this.createFormData(t),i=new XMLHttpRequest;i.open("POST",this.uploadUrl,!0);let o=(a=document.querySelector('meta[name="csrf-token"]'))==null?void 0:a.content;o&&i.setRequestHeader("X-CSRF-Token",o),i.upload.addEventListener("progress",s=>{let u=s.loaded/s.total*100;e(u)}),i.addEventListener("load",()=>{if(i.status===200){let s;try{s=JSON.parse(i.response)}catch(c){s={}}let u={url:s.url,href:s.href};this.hideAttachmentFilename&&(u.filename=null),this.hideAttachmentFilesize&&(u.filesize=null),this.hideAttachmentUrl&&(u.href=null),r(u)}}),i.send(n)}createFormData(t){let e=new FormData;return e.append("Content-Type",t.type),e.append("file",t),e.append("filename",t.name),e.append("attachment_key",this.attachmentKey),e}};pt(AC,"targets",["editor","controller"])});var ade=se(()=>{Rre();qre();Fre();Nre();Bre();$re();tie();rie();nie();Soe();nm();koe();Eoe();Coe();Toe();Aoe();Doe();Ooe();Moe();Ioe();gse();mse();vse();Ice();Pce();Rce();jce();Ofe();Mfe();Bfe();jfe();zfe();nde();ode();mr.register("action",I1);mr.register("actions-picker",p0);mr.register("attachments",L1);mr.register("boolean-filter",B1);mr.register("copy-to-clipboard",uq);mr.register("dashboard-card",U1);mr.register("filter",Ca);mr.register("hidden-input",dE);mr.register("item-select-all",M0);mr.register("item-selector",hE);mr.register("loading-button",gE);mr.register("menu",mE);mr.register("modal",vE);mr.register("multiple-select-filter",yE);mr.register("per-page",bE);mr.register("resource-edit",P0);mr.register("resource-index",fF);mr.register("resource-show",dF);mr.register("search",VE);mr.register("select",$E);mr.register("select-filter",YE);mr.register("sidebar",H0);mr.register("tabs",Y0);mr.register("tags-field",_C);mr.register("text-filter",SC);mr.register("tippy",kC);mr.register("toggle-panel",TC);mr.register("belongs-to-field",P1);mr.register("code-field",W1);mr.register("date-field",O0);mr.register("key-value",pE);mr.register("simple-mde",wC);mr.register("trix-field",AC)});var Grt=Z(cde=>{var zIt=Vr(uX()),HIt=Vr(cX()),sde=Vr(dX()),lde=Vr(mL());FL();var ude=Vr(hQ());pP();tre();rre();ade();ude.default.start();window.Turbolinks=Yd;var DC=null;lde.bind("r r r",()=>{DC=document.scrollingElement.scrollTop,Yd.visit(window.location.href,{action:"replace"})});function Krt(){window.navigator.userAgent.indexOf("Mac OS X")>=0?(document.body.classList.add("os-mac"),document.body.classList.remove("os-pc")):(document.body.classList.add("os-pc"),document.body.classList.remove("os-mac"))}function hN(){lk('[data-tippy="tooltip"]',{theme:"light",content(t){let e=t.getAttribute("title");return t.removeAttribute("title"),t.removeAttribute("data-tippy"),e}})}window.initTippy=hN;sde.start();document.addEventListener("turbo:load",()=>{hN(),Krt(),DC&&setTimeout(()=>{document.scrollingElement.scrollTo(0,DC),DC=0},50),setTimeout(()=>{document.body.classList.remove("turbo-loading")},1)});document.addEventListener("turbo:frame-load",()=>{hN()});document.addEventListener("turbo:before-fetch-response",t=>bv(cde,null,function*(){var e,r,n;if(t.detail.fetchResponse.response.status===500){let{id:i,src:o}=t.target;(n=(r=(e=t.detail.fetchResponse)==null?void 0:e.response)==null?void 0:r.url)!=null&&n.includes("/failed_to_load")||(t.target.src=`${window.Avo.configuration.root_path}/failed_to_load?turbo_frame=${i}&src=${o}`)}}));document.addEventListener("turbo:visit",()=>document.body.classList.add("turbo-loading"));document.addEventListener("turbo:submit-start",()=>document.body.classList.add("turbo-loading"));document.addEventListener("turbo:submit-end",()=>document.body.classList.remove("turbo-loading"));document.addEventListener("turbo:before-cache",()=>{document.querySelectorAll("[data-turbo-remove-before-cache]").forEach(t=>t.remove())});window.Avo=window.Avo||{configuration:{}};window.Avo.menus={resetCollapsedState(){Array.from(document.querySelectorAll("[data-menu-key-param]")).map(t=>t.getAttribute("data-menu-key-param")).filter(Boolean).forEach(t=>{window.localStorage.removeItem(t)})}}});Grt();})();
417
417
  /*!
418
418
  * @kurkle/color v0.1.9
419
419
  * https://github.com/kurkle/color#readme