{"version":3,"file":"js/695-c6327a6d8f9b7a75de39.js","mappings":"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","sources":["webpack://marketplace/./app/javascript/controllers/common/ sync \\.js$","webpack://marketplace/./app/javascript/controllers/common/add_remove_controller.js","webpack://marketplace/./app/javascript/controllers/common/auto_submit_form_controller.js","webpack://marketplace/./app/javascript/controllers/common/availability_controller.js","webpack://marketplace/./app/javascript/controllers/common/calculation_controller.js","webpack://marketplace/./app/javascript/controllers/common/check_box_label_controller.js","webpack://marketplace/./app/javascript/controllers/common/checkbox_copy_controller.js","webpack://marketplace/./app/javascript/controllers/common/clear_checkboxes_controller.js","webpack://marketplace/./app/javascript/controllers/common/clear_textbox_controller.js","webpack://marketplace/./app/javascript/controllers/common/clipboard_controller.js","webpack://marketplace/./app/javascript/controllers/common/collapsed_text_controller.js","webpack://marketplace/./app/javascript/controllers/common/confirm_controller.js","webpack://marketplace/./app/javascript/lib/image.js","webpack://marketplace/./app/javascript/controllers/common/crop_controller.js","webpack://marketplace/./app/javascript/controllers/common/defaults_controller.js","webpack://marketplace/./app/javascript/controllers/common/dropdown_menu_controller.js","webpack://marketplace/./app/javascript/controllers/common/expand_card_controller.js","webpack://marketplace/./app/javascript/controllers/common/filter_list_controller.js","webpack://marketplace/./app/javascript/controllers/common/flash_controller.js","webpack://marketplace/./app/javascript/controllers/common/form_controller.js","webpack://marketplace/./app/javascript/controllers/common/gallery_controller.js","webpack://marketplace/./app/javascript/controllers/common/hidden_fields_controller.js","webpack://marketplace/./app/javascript/controllers/common/input_copy_controller.js","webpack://marketplace/./app/javascript/controllers/common/input_copy_submit_controller.js","webpack://marketplace/./app/javascript/controllers/common/intercom_controller.js","webpack://marketplace/./app/javascript/controllers/common/listbox_controller.js","webpack://marketplace/./app/javascript/controllers/common/loader_controller.js","webpack://marketplace/./app/javascript/controllers/common/menu_controller.js","webpack://marketplace/./app/javascript/controllers/common/mixpanel_event_controller.js","webpack://marketplace/./app/javascript/controllers/common/modal_controller.js","webpack://marketplace/./app/javascript/controllers/common/multi_select_controller.js","webpack://marketplace/./app/javascript/controllers/common/multi_upload_controller.js","webpack://marketplace/./app/javascript/controllers/common/nav_menu_controller.js","webpack://marketplace/./app/javascript/controllers/common/optional_field_controller.js","webpack://marketplace/./app/javascript/controllers/common/pulse_until_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_checkbox_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_copy_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_hidden_section_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_input_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_input_toggle_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_label_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_label_with_default_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_reset_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_section_toggle_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_selection_toggle_controller.js","webpack://marketplace/./app/javascript/controllers/common/radio_button_visible_section_controller.js","webpack://marketplace/./app/javascript/controllers/common/refresh_controller.js","webpack://marketplace/./app/javascript/controllers/common/reload_page_controller.js","webpack://marketplace/./app/javascript/lib/fetch.js","webpack://marketplace/./app/javascript/controllers/common/remote_multi_select_controller.js","webpack://marketplace/./app/javascript/controllers/common/remote_multi_select_copy_input_controller.js","webpack://marketplace/./app/javascript/controllers/common/replace_controller.js","webpack://marketplace/./app/javascript/controllers/common/screen_controller.js","webpack://marketplace/./app/javascript/controllers/common/search_controller.js","webpack://marketplace/./app/javascript/controllers/common/secondary_dropdown_menu_controller.js","webpack://marketplace/./app/javascript/controllers/common/select_hidden_section_controller.js","webpack://marketplace/./app/javascript/controllers/common/select_input_controller.js","webpack://marketplace/./app/javascript/controllers/common/select_other_field_controller.js","webpack://marketplace/./app/javascript/controllers/common/slider_controller.js","webpack://marketplace/./app/javascript/controllers/common/sortable_controller.js","webpack://marketplace/./app/javascript/controllers/common/src_clear_controller.js","webpack://marketplace/./app/javascript/controllers/common/stepper_progress_controller.js","webpack://marketplace/./app/javascript/controllers/common/success_controller.js","webpack://marketplace/./app/javascript/controllers/common/swap_input_button_controller.js","webpack://marketplace/./app/javascript/controllers/common/text_field_swap_controller.js","webpack://marketplace/./app/javascript/controllers/common/textarea_controller.js","webpack://marketplace/./app/javascript/controllers/common/toggle_add_check_controller.js","webpack://marketplace/./app/javascript/controllers/common/toggle_switch_check_box_controller.js","webpack://marketplace/./app/javascript/controllers/common/toggle_switch_select_controller.js","webpack://marketplace/./app/javascript/controllers/common/toggle_switch_view_controller.js","webpack://marketplace/./app/javascript/controllers/common/tooltip_controller.js","webpack://marketplace/./app/javascript/controllers/common/transition_controller.js","webpack://marketplace/./app/javascript/controllers/common/transition_section_controller.js","webpack://marketplace/./app/javascript/controllers/mixins/use-auto-focusable.js","webpack://marketplace/./app/javascript/controllers/mixins/use-direct-upload.js","webpack://marketplace/./app/javascript/controllers/mixins/use-floating-popup.js","webpack://marketplace/./app/javascript/controllers/mixins/use-sync-frame.js","webpack://marketplace/./app/javascript/lib/dom.js","webpack://marketplace/./app/javascript/lib/element_listener.js","webpack://marketplace/./app/javascript/lib/sentry.js"],"sourcesContent":["var map = {\n\t\"./add_remove_controller.js\": 2204,\n\t\"./auto_submit_form_controller.js\": 7023,\n\t\"./availability_controller.js\": 6800,\n\t\"./calculation_controller.js\": 3712,\n\t\"./check_box_label_controller.js\": 3846,\n\t\"./checkbox_copy_controller.js\": 8458,\n\t\"./clear_checkboxes_controller.js\": 7216,\n\t\"./clear_textbox_controller.js\": 6388,\n\t\"./clipboard_controller.js\": 6698,\n\t\"./collapsed_text_controller.js\": 7073,\n\t\"./confirm_controller.js\": 3017,\n\t\"./crop_controller.js\": 249,\n\t\"./defaults_controller.js\": 4380,\n\t\"./dropdown_menu_controller.js\": 5464,\n\t\"./expand_card_controller.js\": 7743,\n\t\"./filter_list_controller.js\": 1679,\n\t\"./flash_controller.js\": 7266,\n\t\"./form_controller.js\": 4299,\n\t\"./gallery_controller.js\": 5036,\n\t\"./hidden_fields_controller.js\": 8138,\n\t\"./input_copy_controller.js\": 6321,\n\t\"./input_copy_submit_controller.js\": 480,\n\t\"./intercom_controller.js\": 548,\n\t\"./listbox_controller.js\": 4084,\n\t\"./loader_controller.js\": 297,\n\t\"./menu_controller.js\": 669,\n\t\"./mixpanel_event_controller.js\": 5064,\n\t\"./modal_controller.js\": 8241,\n\t\"./multi_select_controller.js\": 2301,\n\t\"./multi_upload_controller.js\": 4948,\n\t\"./nav_menu_controller.js\": 6283,\n\t\"./optional_field_controller.js\": 9127,\n\t\"./pulse_until_controller.js\": 765,\n\t\"./radio_button_checkbox_controller.js\": 6264,\n\t\"./radio_button_copy_controller.js\": 2731,\n\t\"./radio_button_hidden_section_controller.js\": 6761,\n\t\"./radio_button_input_controller.js\": 5896,\n\t\"./radio_button_input_toggle_controller.js\": 2707,\n\t\"./radio_button_label_controller.js\": 1599,\n\t\"./radio_button_label_with_default_controller.js\": 1727,\n\t\"./radio_button_reset_controller.js\": 9464,\n\t\"./radio_button_section_toggle_controller.js\": 9550,\n\t\"./radio_button_selection_toggle_controller.js\": 3340,\n\t\"./radio_button_visible_section_controller.js\": 9703,\n\t\"./refresh_controller.js\": 3861,\n\t\"./reload_page_controller.js\": 5613,\n\t\"./remote_multi_select_controller.js\": 2856,\n\t\"./remote_multi_select_copy_input_controller.js\": 1133,\n\t\"./replace_controller.js\": 6615,\n\t\"./screen_controller.js\": 4936,\n\t\"./search_controller.js\": 8014,\n\t\"./secondary_dropdown_menu_controller.js\": 3423,\n\t\"./select_hidden_section_controller.js\": 2705,\n\t\"./select_input_controller.js\": 7231,\n\t\"./select_other_field_controller.js\": 5585,\n\t\"./slider_controller.js\": 53,\n\t\"./sortable_controller.js\": 5569,\n\t\"./src_clear_controller.js\": 9159,\n\t\"./stepper_progress_controller.js\": 2388,\n\t\"./success_controller.js\": 4130,\n\t\"./swap_input_button_controller.js\": 7945,\n\t\"./text_field_swap_controller.js\": 1767,\n\t\"./textarea_controller.js\": 9564,\n\t\"./toggle_add_check_controller.js\": 5707,\n\t\"./toggle_switch_check_box_controller.js\": 7593,\n\t\"./toggle_switch_select_controller.js\": 3171,\n\t\"./toggle_switch_view_controller.js\": 8710,\n\t\"./tooltip_controller.js\": 2135,\n\t\"./transition_controller.js\": 4426,\n\t\"./transition_section_controller.js\": 7810,\n\t\"controllers/common/add_remove_controller.js\": 2204,\n\t\"controllers/common/auto_submit_form_controller.js\": 7023,\n\t\"controllers/common/availability_controller.js\": 6800,\n\t\"controllers/common/calculation_controller.js\": 3712,\n\t\"controllers/common/check_box_label_controller.js\": 3846,\n\t\"controllers/common/checkbox_copy_controller.js\": 8458,\n\t\"controllers/common/clear_checkboxes_controller.js\": 7216,\n\t\"controllers/common/clear_textbox_controller.js\": 6388,\n\t\"controllers/common/clipboard_controller.js\": 6698,\n\t\"controllers/common/collapsed_text_controller.js\": 7073,\n\t\"controllers/common/confirm_controller.js\": 3017,\n\t\"controllers/common/crop_controller.js\": 249,\n\t\"controllers/common/defaults_controller.js\": 4380,\n\t\"controllers/common/dropdown_menu_controller.js\": 5464,\n\t\"controllers/common/expand_card_controller.js\": 7743,\n\t\"controllers/common/filter_list_controller.js\": 1679,\n\t\"controllers/common/flash_controller.js\": 7266,\n\t\"controllers/common/form_controller.js\": 4299,\n\t\"controllers/common/gallery_controller.js\": 5036,\n\t\"controllers/common/hidden_fields_controller.js\": 8138,\n\t\"controllers/common/input_copy_controller.js\": 6321,\n\t\"controllers/common/input_copy_submit_controller.js\": 480,\n\t\"controllers/common/intercom_controller.js\": 548,\n\t\"controllers/common/listbox_controller.js\": 4084,\n\t\"controllers/common/loader_controller.js\": 297,\n\t\"controllers/common/menu_controller.js\": 669,\n\t\"controllers/common/mixpanel_event_controller.js\": 5064,\n\t\"controllers/common/modal_controller.js\": 8241,\n\t\"controllers/common/multi_select_controller.js\": 2301,\n\t\"controllers/common/multi_upload_controller.js\": 4948,\n\t\"controllers/common/nav_menu_controller.js\": 6283,\n\t\"controllers/common/optional_field_controller.js\": 9127,\n\t\"controllers/common/pulse_until_controller.js\": 765,\n\t\"controllers/common/radio_button_checkbox_controller.js\": 6264,\n\t\"controllers/common/radio_button_copy_controller.js\": 2731,\n\t\"controllers/common/radio_button_hidden_section_controller.js\": 6761,\n\t\"controllers/common/radio_button_input_controller.js\": 5896,\n\t\"controllers/common/radio_button_input_toggle_controller.js\": 2707,\n\t\"controllers/common/radio_button_label_controller.js\": 1599,\n\t\"controllers/common/radio_button_label_with_default_controller.js\": 1727,\n\t\"controllers/common/radio_button_reset_controller.js\": 9464,\n\t\"controllers/common/radio_button_section_toggle_controller.js\": 9550,\n\t\"controllers/common/radio_button_selection_toggle_controller.js\": 3340,\n\t\"controllers/common/radio_button_visible_section_controller.js\": 9703,\n\t\"controllers/common/refresh_controller.js\": 3861,\n\t\"controllers/common/reload_page_controller.js\": 5613,\n\t\"controllers/common/remote_multi_select_controller.js\": 2856,\n\t\"controllers/common/remote_multi_select_copy_input_controller.js\": 1133,\n\t\"controllers/common/replace_controller.js\": 6615,\n\t\"controllers/common/screen_controller.js\": 4936,\n\t\"controllers/common/search_controller.js\": 8014,\n\t\"controllers/common/secondary_dropdown_menu_controller.js\": 3423,\n\t\"controllers/common/select_hidden_section_controller.js\": 2705,\n\t\"controllers/common/select_input_controller.js\": 7231,\n\t\"controllers/common/select_other_field_controller.js\": 5585,\n\t\"controllers/common/slider_controller.js\": 53,\n\t\"controllers/common/sortable_controller.js\": 5569,\n\t\"controllers/common/src_clear_controller.js\": 9159,\n\t\"controllers/common/stepper_progress_controller.js\": 2388,\n\t\"controllers/common/success_controller.js\": 4130,\n\t\"controllers/common/swap_input_button_controller.js\": 7945,\n\t\"controllers/common/text_field_swap_controller.js\": 1767,\n\t\"controllers/common/textarea_controller.js\": 9564,\n\t\"controllers/common/toggle_add_check_controller.js\": 5707,\n\t\"controllers/common/toggle_switch_check_box_controller.js\": 7593,\n\t\"controllers/common/toggle_switch_select_controller.js\": 3171,\n\t\"controllers/common/toggle_switch_view_controller.js\": 8710,\n\t\"controllers/common/tooltip_controller.js\": 2135,\n\t\"controllers/common/transition_controller.js\": 4426,\n\t\"controllers/common/transition_section_controller.js\": 7810\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6655;","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['addedBox', 'removedBox'];\n\n connect() {\n }\n\n remove(ev) {\n const { currentTarget: { id } } = ev;\n\n this.updateSelfRemoved(id)\n this.updateRemovedList(id)\n }\n\n add(ev) {\n const { currentTarget: { id } } = ev;\n\n this.updateSelfAdded(id)\n this.updateAddedList(id)\n }\n\n updateSelfRemoved(id) {\n this.addedBoxTargets.forEach(addedBox => {\n if (addedBox.id == id) {\n addedBox.classList.add('hidden')\n }\n })\n }\n\n updateSelfAdded(id) {\n this.removedBoxTargets.forEach(removedBox => {\n if (removedBox.id == id) {\n removedBox.classList.add('hidden')\n }\n })\n }\n\n updateRemovedList(id) {\n this.removedBoxTargets.forEach(removedBox => {\n if (removedBox.id == id) {\n removedBox.classList.remove('hidden')\n }\n })\n }\n\n updateAddedList(id) {\n this.addedBoxTargets.forEach(addedBox => {\n if (addedBox.id == id) {\n addedBox.classList.remove('hidden')\n }\n })\n }\n\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce, useDispatch } from 'stimulus-use';\n\nimport { useAutoFocusable } from '../mixins';\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n submit = (ev) => {\n this.element.requestSubmit()\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useTransition } from 'stimulus-use';\n\nexport default class extends Controller {\n static targets = [\n 'form', 'help', 'next', 'nextButton', 'nextOpenDate',\n 'notAvailableLabel', 'notAvailableDate', 'notAvailableDateInput',\n 'popup', 'roleType', 'hoursPerWeek'\n ];\n\n get checked() {\n return [...this.element.querySelectorAll('input:checked')];\n }\n\n connect() {\n useClickOutside(this);\n useTransition(this, { element: this.popupTarget });\n }\n\n clickOutside() {\n this.reset();\n }\n\n toggle(ev) {\n if (this.checked.length > 0) {\n this.helpTarget.classList.add('hidden');\n this.nextTarget.classList.remove('hidden');\n } else {\n this.nextTarget.classList.add('hidden');\n this.helpTarget.classList.remove('hidden');\n }\n }\n\n nextStep() {\n this.nextButtonTarget.classList.add('hidden');\n this.roleTypeTargets.forEach(label => label.classList.add('hidden'));\n this.hoursPerWeekTargets.forEach(label => label.classList.remove('hidden'));\n }\n\n notAvailableStep(ev) {\n this.nextButtonTarget.classList.add('hidden');\n this.roleTypeTargets.forEach(label => {\n if (label !== ev.currentTarget)\n label.classList.add('hidden');\n });\n\n this.notAvailableLabelTarget.classList.add('hidden');\n this.notAvailableDateTarget.classList.remove('hidden');\n }\n\n submit() {\n this.formTarget.dispatchEvent(new CustomEvent('submit', { bubbles: true }));\n }\n\n submitNotAvailable() {\n const { value } = this.nextOpenDateTarget;\n\n if (value && value !== '') {\n this.notAvailableDateInputTarget.value = value;\n this.notAvailableDateInputTarget.form.dispatchEvent(new CustomEvent('submit', { bubbles: true }));\n }\n }\n\n async reset() {\n if (this.reseting)\n return;\n\n this.reseting = true;\n this.element.classList.add('pointer-events-none');\n\n await this.leave();\n\n this.checked.forEach(input => input.checked = false);\n\n this.nextButtonTarget.classList.remove('hidden');\n this.notAvailableLabelTarget.classList.remove('hidden');\n this.roleTypeTargets.forEach(label => label.classList.remove('hidden'));\n this.hoursPerWeekTargets.forEach(label => label.classList.add('hidden'));\n this.notAvailableDateTarget.classList.add('hidden');\n\n this.element.classList.remove('pointer-events-none');\n\n delete this.reseting;\n }\n}\n","import { Controller } from 'stimulus';\nimport AutoNumeric from 'autonumeric'\n\nexport default class extends Controller {\n static targets = [ 'rateAmount', 'feePercent', 'feeAmount', 'totalAmount' ]\n static values = {\n currencyCode: String,\n percent: Number\n };\n\n connect() {\n const autoNumericOptionsUSD = {\n digitGroupSeparator : ',',\n decimalCharacter : '.',\n decimalCharacterAlternative: ',',\n currencySymbol : '\\u202fUS$',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n roundingMethod : 'B',\n decimalPlaces : 2,\n selectNumberOnly : true,\n unformatOnSubmit : true\n }\n\n const autoNumericOptionsCAD = {\n digitGroupSeparator : ',',\n decimalCharacter : '.',\n decimalCharacterAlternative: ',',\n currencySymbol : '\\u202fC$',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n roundingMethod : 'B',\n decimalPlaces : 2,\n selectNumberOnly : true,\n unformatOnSubmit : true\n }\n\n const autoNumericOptionsAUD = {\n digitGroupSeparator : ',',\n decimalCharacter : '.',\n decimalCharacterAlternative: ',',\n currencySymbol : '\\u202fA$',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n roundingMethod : 'B',\n decimalPlaces : 2,\n selectNumberOnly : true,\n unformatOnSubmit : true\n }\n\n const autoNumericOptionsGBP = {\n digitGroupSeparator : ',',\n decimalCharacter : '.',\n decimalCharacterAlternative: ',',\n currencySymbol : '\\u202f£',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n roundingMethod : 'B',\n decimalPlaces : 2,\n selectNumberOnly : true,\n unformatOnSubmit : true\n }\n\n var currencyCode = this.currencyCodeValue.toLowerCase()\n switch(currencyCode) {\n case 'usd':\n this.autoNumericOptions = autoNumericOptionsUSD\n break;\n case 'cad':\n this.autoNumericOptions = autoNumericOptionsCAD\n break;\n case 'aud':\n this.autoNumericOptions = autoNumericOptionsAUD\n break;\n case 'gbp':\n this.autoNumericOptions = autoNumericOptionsGBP\n break;\n default:\n this.autoNumericOptions = autoNumericOptionsUSD\n }\n\n new AutoNumeric(this.rateAmountTarget, this.autoNumericOptions)\n new AutoNumeric(this.feeAmountTarget, this.autoNumericOptions)\n new AutoNumeric(this.totalAmountTarget, this.autoNumericOptions)\n }\n\n // when changing the rate\n updateFeeAmountByPercentOfRate() {\n const feeAmount = (this.rateAmount() * (this.feePercentTarget.value / 100))\n AutoNumeric.getAutoNumericElement(this.feeAmountTarget).set(feeAmount)\n }\n\n updateTotalAmount() {\n this.previousAdjustment = 'rate'\n this.updateFeeAmountByPercentOfRate()\n const totalAmount = this.rateAmount() + this.feeAmount()\n AutoNumeric.getAutoNumericElement(this.totalAmountTarget).set(totalAmount)\n }\n\n\n // when changing the total\n updateRateAmount() {\n this.previousAdjustment = 'total'\n const rateAmount = this.totalAmount() / ( 1 + (this.feePercentTarget.value / 100) )\n const rateAmountRounded = Math.round((rateAmount + Number.EPSILON) * 100) / 100\n AutoNumeric.getAutoNumericElement(this.rateAmountTarget).set(rateAmountRounded)\n this.updateFeeAmountBySubtraction()\n }\n\n // depending on which value the user has previously adjusted\n // we assume they want to see the change in other values if fee percent is adjusted\n updateFeePercent() {\n if (this.previousAdjustment === 'rate') {\n this.updateTotalAmount()\n } else {\n this.updateRateAmount()\n }\n }\n\n updateFeeAmountBySubtraction() {\n const feeAmount = this.totalAmount() - this.rateAmount()\n AutoNumeric.getAutoNumericElement(this.feeAmountTarget).set(feeAmount)\n }\n\n rateAmount() {\n return AutoNumeric.getAutoNumericElement(this.rateAmountTarget).getNumber()\n }\n\n feeAmount() {\n return AutoNumeric.getAutoNumericElement(this.feeAmountTarget).getNumber()\n }\n\n totalAmount() {\n return AutoNumeric.getAutoNumericElement(this.totalAmountTarget).getNumber()\n }\n\n unformatAmountFields () {\n AutoNumeric.getAutoNumericElement(this.rateAmountTarget).formUnformat()\n AutoNumeric.getAutoNumericElement(this.feeAmountTarget).formUnformat()\n AutoNumeric.getAutoNumericElement(this.totalAmountTarget).formUnformat()\n }\n\n set previousAdjustment(value) {\n this.data.set('previousAdjustment', value)\n }\n\n get previousAdjustment() {\n return this.data.get('previousAdjustment')\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['checkBox','label'];\n\n connect() {\n this.checkBoxTargets.forEach((el, i) => {\n if (el.checked) {\n var selector = 'label[for=' + `\"${el.id}\"` + ']'\n var label = document.querySelector(selector);\n label.classList.add('bg-gray-500')\n }\n })\n }\n\n checked() {\n if (this.checkBoxTarget.checked) {\n this.labelTarget.classList.add('bg-gray-500')\n } else {\n this.labelTarget.classList.remove('bg-gray-500')\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce } from 'stimulus-use';\n\nexport default class extends Controller {\n static debounces = ['updateInput'];\n\n static targets = ['copyInput','input'];\n\n connect() {\n useDebounce(this);\n\n this.setCopyInputs()\n }\n\n updateInput(ev) {\n const { target } = ev;\n\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(target.id.concat(\"-copy\"))) {\n if (target.checked) {\n copyInput.checked = true\n } else {\n copyInput.checked = false\n }\n }\n })\n }\n\n setCopyInputs(){\n this.inputTargets.forEach((input) => {\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(input.id.concat(\"-copy\"))) {\n if (input.checked) {\n copyInput.checked = true\n } else {\n copyInput.checked = false\n }\n }\n })\n });\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['checkbox'];\n\n connect() {\n }\n\n clear() {\n this.checkboxTargets.forEach(checkbox => checkbox.checked = false);\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['textbox'];\n\n connect() {\n }\n\n clear() {\n this.textboxTarget.value = '';\n }\n}\n","import copy from 'copy-to-clipboard';\nimport { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = ['message', 'form'];\n\n static values = {\n copy: String\n };\n\n copy(ev) {\n ev.preventDefault();\n\n copy(this.copyValue);\n\n if (this.hasMessageTarget) {\n this.messageTarget.classList.remove('opacity-0');\n\n setTimeout(() => {\n this.messageTarget.classList.add('opacity-0');\n }, 3000);\n }\n }\n\n copyFormLocation(ev) {\n if (this.hasFormTarget) {\n const formData = new FormData(this.formTarget);\n const formEntries = [...formData.entries()]\n .filter(([ _, value ]) => value.length > 0)\n .map(x => `${x[0]}=${x[1]}`)\n\n const search = formEntries.join('&');\n\n copy(`${window.location.href}?${search}`);\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useMatchMedia } from 'stimulus-use';\n\nexport default class extends Controller {\n static targets = ['button'];\n static values = {\n collapsed: Boolean, copy: String,\n };\n\n get paragraphElements() {\n return [...this.element.querySelectorAll('p:nth-child(n+2)')];\n }\n\n connect() {\n this.initialCopy = this.buttonTarget.innerText;\n\n if (this.hasCollapsedValue && this.collapsedValue) {\n this.collapse();\n }\n\n useMatchMedia(this, {\n mediaQueries: {\n small: '(max-width: 640px)'\n }\n });\n }\n\n isSmall() {\n this.collapse();\n }\n\n toggle() {\n if (this.state === 'collapsed') {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n collapse() {\n const pNodes = this.paragraphElements;\n const heights = pNodes.map(p => p.offsetHeight);\n\n if (pNodes.length < 1) {\n this.buttonTarget.classList.add('hidden');\n\n return;\n }\n\n pNodes.forEach(p => {\n p.classList.add('transition-all', 'overflow-hidden');\n p.style.height = 0;\n p.style.marginTop = 0;\n p.style.marginBottom = 0;\n });\n\n this.buttonTarget.innerText = this.initialCopy;\n this.buttonTarget.scrollIntoView();\n this.state = 'collapsed';\n }\n\n expand() {\n this.paragraphElements.forEach(p => {\n p.style.height = p.style.marginTop = p.style.marginBottom = null;\n });\n\n this.buttonTarget.innerText = this.copyValue;\n this.state = 'expanded';\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static values = { message: String };\n\n ask(ev) {\n if (!confirm(this.messageValue)) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n}\n","function readFile(file) {\n const reader = new FileReader();\n\n return new Promise((resolve, reject) => {\n reader.onload = ev => resolve(ev.target.result);\n reader.onerror = err => reject(err);\n\n reader.readAsDataURL(file);\n });\n}\n\nfunction loadImage(dataURI) {\n const img = new Image();\n\n return new Promise((resolve, reject) => {\n img.onload = () => resolve(img);\n img.onerror = err => reject(err);\n\n img.src = dataURI;\n });\n}\n\nexport async function loadImageFromFile(file, contraints = {}) {\n const img = await loadImage(await readFile(file));\n\n if (!contraints || !contraints.max)\n return img.src;\n\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n\n const { width, height } = img;\n\n let resizeHgt = height;\n let resizeWdt = width;\n\n if (width > height) {\n if (width > contraints.max) {\n resizeHgt = height * (contraints.max / width);\n resizeWdt = contraints.max;\n }\n } else {\n if (height > contraints.max) {\n resizeHgt = contraints.max;\n resizeWdt = width * (contraints.max / height);\n }\n }\n\n canvas.width = resizeWdt;\n canvas.height = resizeHgt;\n\n ctx.drawImage(img, 0, 0, resizeWdt, resizeHgt);\n\n return canvas.toDataURL(file.type);\n}\n","import Cropper from 'cropperjs';\nimport { Controller } from 'stimulus';\nimport { useDispatch } from 'stimulus-use';\n\nimport { useDirectUpload } from '../mixins';\nimport { loadImageFromFile } from '../../lib/image';\n\nexport default class extends Controller {\n static targets = [\n 'button', 'box', 'field', 'image', 'input', 'message', 'placeholder', 'preview'\n ];\n\n static values = {\n aspectRatio: Array, autoClose: Boolean\n };\n\n connect() {\n useDispatch(this);\n useDirectUpload(this);\n }\n\n get directUploadInput() {\n return this.inputTarget;\n }\n\n async load() {\n const [ file ] = this.inputTarget.files;\n\n try {\n const imgSrc = await loadImageFromFile(file, { max: 2400 });\n const [ aspectRatioWidth, aspectRatioHeight ] = this.hasAspectRatioValue ? this.aspectRatioValue : [1, 1]\n\n const data = {};\n\n if (this.hasBoxTarget) {\n Object.assign(data, {\n width: this.boxTarget.offsetWidth,\n height: this.boxTarget.offsetHeight,\n });\n\n this.boxTarget.style.height = `${data.height}px`;\n this.boxTarget.style.width = `${data.width}px`;\n }\n\n this.filename = file.name;\n this.imageTarget.src = imgSrc;\n\n if (this.hasPlaceholderTarget) {\n this.placeholderTarget.classList.add('hidden');\n }\n\n this.cropper = new Cropper(this.imageTarget, {\n aspectRatio: aspectRatioWidth / aspectRatioHeight\n });\n\n this.buttonTarget.classList.remove('opacity-0', 'pointer-events-none');\n this.inputTarget.value = '';\n } catch(err) {\n // TODO handle errors\n console.warn(err);\n }\n }\n\n async process(ev) {\n ev.preventDefault();\n\n this.cropper.getCroppedCanvas().toBlob(async (blob) => {\n this.buttonTarget.classList.add('is-loading');\n this.cropper.disable();\n\n const attachment = await this.upload('crop_' + this.filename, blob);\n\n this.buttonTarget.classList.remove('is-loading');\n\n this.fieldTarget.disabled = false;\n this.fieldTarget.value = attachment.signed_id;\n\n this.imageTarget.src = '';\n this.cropper.destroy();\n\n const { form } = this.fieldTarget;\n\n if (form) {\n form.dispatchEvent(new CustomEvent('submit', { bubbles: true }));\n }\n\n if (!this.hasAutoCloseValue || this.autoCloseValue !== false) {\n setTimeout(() => {\n this.dispatch('close');\n }, 250);\n }\n })\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce } from 'stimulus-use';\n\nconst filters = {\n first: x => x.split(' ', 2).shift(),\n none: x => x,\n};\n\n// TODO add support for multiple fields\nexport default class extends Controller {\n static debounces = ['updateInput'];\n\n static targets = ['input'];\n\n static values = {\n filter: String\n };\n\n connect() {\n useDebounce(this);\n }\n\n updateInput(ev) {\n const { target } = ev;\n\n if (this.hasInputTarget) {\n this.inputTarget.value = filters[this.filterValue || 'none'](target.value);\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useDispatch, useHotkeys, useTransition } from 'stimulus-use';\n\nimport ElementListener from '../../lib/element_listener';\n\n// TODO\n// set aria-controls attribute\n// set aria-selected attribute\n// set aria-activedescendant=\"headlessui-listbox-option-60\" as focus changes\n\nexport default class extends Controller {\n static targets = ['arrow', 'button', 'menu', 'menuItem', 'overlay'];\n\n static values = {\n itemFocusClass: String,\n };\n\n connect() {\n this.focusedIndex = -1;\n this.itemFocusClasses = this.itemFocusClassValue.split(' ');\n\n this.listener = new ElementListener(this.element, 'click', ev => {\n if (this.opened) {\n const path = event.composedPath ? event.composedPath() : event.path;\n\n if ([...path].find(e => e && e.role === 'none')) {\n this.closeMenu();\n }\n }\n });\n\n useClickOutside(this);\n useDispatch(this);\n\n // https://www.w3.org/TR/wai-aria-practices-1.2/#menubutton\n // https://headlessui.dev/react/menu#keyboard-interaction\n useHotkeys(this, {\n 'Enter': [this.onFocus],\n 'Space': [this.onFocus],\n 'Down': [this.onNextMenuItem],\n 'Up': [this.onPreviousMenuItem],\n 'Right': [this.onNextMenuItem],\n 'Left': [this.onPreviousMenuItem],\n 'Escape': [this.onEscapePress],\n 'Tab': [this.onTabPress],\n 'Shift+Tab': [this.onTabPress],\n });\n\n useTransition(this, {\n element: this.menuTarget\n });\n }\n\n disconnect() {\n this.updateOverlay(false);\n this.listener.remove();\n }\n\n openMenu() {\n console.log('openMenu', this.menuTarget);\n\n this.buttonTarget.setAttribute('aria-expanded', 'true');\n this.buttonTarget.setAttribute('aria-controls', this.menuTarget.id);\n this.updateOverlay(true);\n\n this.buttonTarget.classList.remove('text-prussian-700');\n this.buttonTarget.classList.add('bg-prussian-700', 'text-white');\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.add('-rotate-180');\n }\n\n requestAnimationFrame(async () => {\n await this.enter();\n\n this.opened = true;\n });\n }\n\n closeMenu() {\n console.log('closeMenu', this.menuTarget);\n\n if (!this.opened)\n return;\n\n this.focusedIndex = -1;\n this.opened = false;\n\n this.buttonTarget.setAttribute('aria-expanded', 'false');\n this.buttonTarget.removeAttribute('aria-controls');\n\n this.updateFocus();\n this.updateOverlay(false);\n\n this.buttonTarget.classList.add('text-prussian-700');\n this.buttonTarget.classList.remove('bg-prussian-700', 'text-white');\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.remove('-rotate-180');\n }\n\n requestAnimationFrame(() => {\n this.leave();\n });\n }\n\n updateFocus() {\n console.log('updateFocus', this.focusedIndex);\n\n this.menuItemTargets.forEach(item => item.classList.remove(...this.itemFocusClasses));\n\n if (this.focusedIndex > -1) {\n const item = this.menuItemTargets[this.focusedIndex]\n\n item.classList.add(...this.itemFocusClasses);\n item.focus();\n }\n }\n\n updateOverlay(visible) {\n if (this.hasOverlayTarget) {\n if (visible) {\n this.overlayTarget.classList.remove('hidden', 'opacity-0', 'pointer-events-none');\n\n document.body.classList.add('overflow-y-hidden');\n } else {\n this.overlayTarget.classList.add('opacity-0', 'hidden', 'pointer-events-none');\n\n document.body.classList.remove('overflow-y-hidden');\n }\n }\n }\n\n blur() {\n console.log('blur');\n\n this.focusedIndex = -1;\n this.updateFocus();\n }\n\n focusFirstItem() {\n console.log('focusFirstItem');\n\n this.focusedIndex = 0;\n this.updateFocus();\n }\n\n\n focusItem(ev) {\n console.log('focusItem', ev);\n\n this.focusedIndex = this.menuItemTargets.findIndex(item => item === ev.target);\n this.updateFocus();\n }\n\n clickOutside(ev) {\n if (this.transitioned) {\n if (ev.target instanceof HTMLButtonElement && ev.target.type === 'submit') {\n this.closeMenu();\n\n } else {\n ev.preventDefault();\n\n this.closeMenu();\n }\n }\n }\n\n onClick() {\n console.log('onClick');\n\n if (this.transitioned) this.closeMenu();\n else this.openMenu();\n }\n\n onEscapePress() {\n console.log('onEscapePress');\n\n this.closeMenu();\n }\n\n onFocus(ev) {\n if (this.hasButtonTarget && this.buttonTarget === document.activeElement) {\n ev.preventDefault();\n\n this.openMenu();\n this.focusFirstItem();\n }\n }\n\n onTabPress() {\n console.log('onTabPress');\n\n setTimeout(() => {\n if (this.focusedIndex > -1) {\n this.closeMenu();\n }\n }, 1);\n }\n\n onNextMenuItem(ev) {\n console.log('onNextMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex++;\n\n if (this.focusedIndex == this.menuItemTargets.length) {\n this.focusedIndex = 0; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n\n onPreviousMenuItem(ev) {\n console.log('onPreviousMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex--;\n\n if (this.focusedIndex < 0) {\n this.focusedIndex = this.menuItemTargets.length - 1; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['sectionOne', 'sectionTwo'];\n static values = {\n initView: String\n }\n\n connect() {\n if (this.initViewValue == \"sectionTwo\") {\n this.sectionTwoTarget.classList.remove('hidden');\n this.sectionTwoTarget.style.opacity = 1;\n\n this.sectionOneTarget.classList.add('hidden');\n this.sectionOneTarget.style.opacity = 0;\n\n };\n }\n\n viewSectionOne() {\n this.sectionTwoTarget.style.transitionProperty = 'height, margin, padding';\n this.sectionTwoTarget.style.transitionDuration = 500 + 'ms';\n this.sectionTwoTarget.style.boxSizing = 'border-box';\n this.sectionTwoTarget.style.height = this.sectionTwoTarget.offsetHeight + 'px';\n this.sectionTwoTarget.offsetHeight;\n this.sectionTwoTarget.style.overflow = 'hidden';\n this.sectionTwoTarget.style.height = 0;\n window.setTimeout( () => {\n this.sectionTwoTarget.style.display = 'none';\n this.sectionTwoTarget.style.removeProperty('height');\n this.sectionTwoTarget.style.removeProperty('overflow');\n this.sectionTwoTarget.style.removeProperty('transition-duration');\n this.sectionTwoTarget.style.removeProperty('transition-property');\n this.sectionTwoTarget.classList.add('hidden');\n this.sectionOneTarget.classList.remove('hidden');\n }, 500);\n }\n\n viewSectionTwo() {\n this.sectionOneTarget.classList.add('hidden');\n this.sectionTwoTarget.classList.remove('hidden');\n\n this.sectionTwoTarget.style.removeProperty('display');\n let display = window.getComputedStyle(this.sectionTwoTarget).display;\n if (display === 'none') display = 'block';\n this.sectionTwoTarget.style.display = display;\n let height = this.sectionTwoTarget.offsetHeight;\n this.sectionTwoTarget.style.overflow = 'hidden';\n this.sectionTwoTarget.style.height = 0;\n this.sectionTwoTarget.offsetHeight;\n this.sectionTwoTarget.style.boxSizing = 'border-box';\n this.sectionTwoTarget.style.transitionProperty = \"height, margin, padding\";\n this.sectionTwoTarget.style.transitionDuration = 500 + 'ms';\n this.sectionTwoTarget.style.height = height + 'px';\n window.setTimeout( () => {\n this.sectionTwoTarget.style.removeProperty('height');\n this.sectionTwoTarget.style.removeProperty('overflow');\n this.sectionTwoTarget.style.removeProperty('transition-duration');\n this.sectionTwoTarget.style.removeProperty('transition-property');\n }, 500);\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = [ \"source\", \"filterable\"]\n\n connect() {\n }\n\n filter(event) {\n let lowerCaseFilterTerm = this.sourceTarget.value.toLowerCase()\n\n if (!this.sourceTarget.value) {\n this.filterableTargets.forEach((el, i) => {\n el.classList.add(\"hidden\")\n })\n } else {\n this.filterableTargets.forEach((el, i) => {\n let filterableKey = el.getAttribute(\"data-filter-list-key\")\n\n if (filterableKey.includes( lowerCaseFilterTerm )) {\n el.classList.remove(\"hidden\")\n } else {\n el.classList.add(\"hidden\")\n }\n })\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDispatch, useVisibility } from 'stimulus-use';\n\nimport ElementListener from '../../lib/element_listener';\nimport { findParentWith } from '../../lib/dom';\n\nexport default class extends Controller {\n static targets = ['message'];\n\n get topMessage() {\n return this.messageTargets[0];\n }\n\n connect() {\n useDispatch(this);\n useVisibility(this);\n\n this.listener = new ElementListener(document.documentElement, 'turbo:before-stream-render', this.onBeforeStreamRender);\n\n this.secondsCounted = 0;\n\n this.frame = requestAnimationFrame(() => {\n this.showNextMessage();\n this.resume();\n });\n }\n\n disconnect() {\n this.listener.remove();\n\n cancelAnimationFrame(this.frame);\n clearInterval(this.timer);\n }\n\n pause() {\n clearInterval(this.timer);\n }\n\n resume() {\n clearInterval(this.timer);\n\n if (this.messageTargets.length > 0) {\n this.timer = setInterval(() => {\n this.secondsCounted++;\n this.tick();\n }, 1000);\n }\n }\n\n visible() {\n this.resume();\n }\n\n invisible() {\n clearInterval(this.timer);\n }\n\n showNextMessage() {\n const target = this.topMessage;\n\n if (target) {\n this.dispatch('open', { target });\n }\n }\n\n remove() {\n const target = this.topMessage;\n\n if (target) {\n this.dispatch('close', { target });\n this.frame = setTimeout(() => {\n target.remove();\n\n this.showNextMessage();\n this.resume();\n }, 110); // roughly after the transition\n }\n }\n\n tick() {\n if (this.secondsCounted === 6) {\n this.secondsCounted = 0;\n this.remove();\n }\n }\n\n onBeforeStreamRender = (ev) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.messageTargets.length > 0) {\n this.showNextMessage();\n this.resume();\n }\n });\n });\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce, useDispatch } from 'stimulus-use';\n\nimport { useAutoFocusable } from '../mixins';\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n static debounces = ['submit'];\n static targets = ['invisible'];\n\n static values = {\n keepOpen: Boolean\n };\n\n get formElement() {\n return this.element.querySelector('form');\n }\n\n connect() {\n this.listener = new ElementListener(document.documentElement, 'turbo:submit-end', this.onTurboSubmitEnd);\n\n useAutoFocusable(this);\n useDebounce(this);\n useDispatch(this);\n }\n\n disconnect() {\n this.listener.remove();\n }\n\n resetRadios(ev) {\n ev.preventDefault();\n\n const input = ev.currentTarget.parentElement.querySelector('input[type=\"radio\"]:checked');\n\n if (input) {\n input.checked = false\n }\n }\n\n radioChanged(ev) {\n const { target: { name, value } } = ev;\n\n [...this.formElement.querySelectorAll(`input[data-radio-name=\"${name}\"]`)].forEach(input => {\n if (input.dataset.radioValue === value) {\n input.classList.add('opacity-100');\n } else {\n input.classList.remove('opacity-100');\n }\n });\n }\n\n toggleDisabledWithChecked(ev) {\n const { target } = ev;\n const { dataset: { fieldName } } = target;\n\n if (fieldName) {\n const input = target.form.querySelector(`input[name=\"${fieldName}\"]`);\n\n input.disabled = target.checked;\n }\n }\n\n submit = (ev) => {\n this.formElement.dispatchEvent(new CustomEvent('submit', { bubbles: true }));\n }\n\n onTurboSubmitEnd = (event) => {\n if (this.keepOpenValue === true)\n return;\n\n if (event.detail.success && event.detail.formSubmission.formElement === this.formElement) {\n this.dispatch('close');\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = [\n 'container', 'image', 'indicator'\n ];\n\n connect() {\n this.observer = new IntersectionObserver(this.updateIndicators, {\n root: this.containerTarget, threshold: 0.5\n })\n\n this.imageTargets.forEach(image => this.observer.observe(image));\n }\n\n scrollTo(ev) {\n const { currentTarget } = ev;\n const index = [...currentTarget.parentElement.children].indexOf(currentTarget);\n const image = this.containerTarget.children[index];\n\n image.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n\n updateIndicators = (entries) => {\n if (!this.hasIndicatorTarget)\n return;\n\n entries.forEach(entry => {\n const intersectingIndex = this.imageTargets.indexOf(entry.target);\n const indicator = this.indicatorTargets[intersectingIndex];\n\n if (entry.intersectionRatio > 0.5) {\n indicator.classList.add('bg-primary-700');\n indicator.classList.remove('bg-primary-100');\n } else {\n indicator.classList.add('bg-primary-100');\n indicator.classList.remove('bg-primary-700');\n }\n })\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDispatch } from 'stimulus-use';\n\nexport default class extends Controller {\n static targets = [\n 'checkbox', 'input', 'inputalt'\n ];\n\n connect() {\n useDispatch(this);\n\n this.toggle();\n }\n\n toggle() {\n if (this.checkboxTarget.checked) {\n this.inputTarget.classList.add('hidden')\n\n if (this.hasInputaltTarget)\n this.inputaltTarget.classList.remove('hidden')\n } else {\n this.inputTarget.classList.remove('hidden')\n\n if (this.hasInputaltTarget)\n this.inputaltTarget.classList.add('hidden')\n }\n\n this.dispatch('toggled');\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce } from 'stimulus-use';\n\nexport default class extends Controller {\n static debounces = ['updateInput'];\n\n static targets = ['copyInput','input'];\n\n connect() {\n useDebounce(this);\n\n this.setCopyInputs()\n }\n\n updateInput(ev) {\n const { target } = ev;\n\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(target.id.concat(\"-copy\"))) {\n copyInput.value = target.value;\n }\n })\n }\n\n setCopyInputs(){\n this.inputTargets.forEach((input) => {\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(input.id.concat(\"-copy\"))) {\n copyInput.value = input.value;\n }\n })\n });\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce } from 'stimulus-use';\n\nexport default class extends Controller {\n static debounces = ['updateInput'];\n\n static targets = ['copyInput','button'];\n\n connect() {\n useDebounce(this);\n }\n\n updateInput(ev) {\n const { target } = ev;\n\n this.copyInputTarget.value = target.innerText;\n\n this.buttonTarget.click()\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static values = { profile: Object };\n\n get docEl() {\n return document.documentElement;\n }\n\n connect() {\n this.docEl.addEventListener('turbo:before-render', this.onBeforeRender, false);\n\n this.callIntercom('onUnreadCountChange', unreadCount => {\n if (unreadCount > 0) {\n this.callIntercom('showMessages');\n }\n });\n\n if (Object.keys(this.profileValue).length === 0)\n return;\n\n if (window.intercomSettings && !window.intercomSettings.booted) {\n this.bootIntercom();\n\n window.intercomSettings.booted = true;\n }\n }\n\n disconnect() {\n this.docEl.removeEventListener('turbo:before-render', this.onBeforeRender, false);\n }\n\n openMessage(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n\n this.callIntercom('showNewMessage');\n }\n\n openTour(ev) {\n const { tourId } = ev.target.dataset;\n\n if (tourId) {\n this.callIntercom('startTour', tourId);\n }\n }\n\n bootIntercom() {\n this.callIntercom('boot', this.profileValue);\n }\n\n callIntercom(method, arg) {\n const style = 'color:white; background-color: #0B6458; padding: 0.25em 0.5em';\n\n if (typeof arg !== 'function') {\n console.group(`Intercom %c${method}`, style);\n\n if (arg) {\n console.table({ ...arg });\n }\n\n console.groupEnd();\n }\n\n if (typeof window.Intercom === 'function') {\n try {\n window.Intercom(method, arg);\n } catch(error) {\n console.debug(error.message);\n }\n }\n }\n\n onBeforeRender = (ev) => {\n const newBody = ev.detail.newBody;\n const html = newBody && newBody.parentElement;\n\n if (html && html.dataset && html.dataset.intercomProfileValue) {\n if (this.docEl.dataset.intercomProfileValue !== html.dataset.intercomProfileValue) {\n this.profileValue = JSON.parse(html.dataset.intercomProfileValue);\n\n setTimeout(() => {\n this.bootIntercom();\n }, 100);\n }\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useHotkeys } from 'stimulus-use';\n\n// TODO this is incomplete and should be connected with form inputs\nexport default class extends Controller {\n static targets = ['button', 'list', 'listItem'];\n static values = { itemFocusClass: String };\n\n get selectedListItem() {\n return this.listItemTargets.find(item => item.getAttribute('aria-selected') === 'true');\n }\n\n connect() {\n this.focusedIndex = -1;\n this.itemFocusClasses = this.itemFocusClassValue.split(' ');\n this.initialSelectedListItem = this.selectedListItem;\n\n useClickOutside(this);\n\n // https://headlessui.dev/react/listbox#accessibility-notes\n useHotkeys(this, {\n 'Enter': [this.onFocus],\n 'Space': [this.onFocus],\n 'Down': [this.onNextMenuItem],\n 'Up': [this.onPreviousMenuItem],\n 'Right': [this.onNextMenuItem],\n 'Left': [this.onPreviousMenuItem],\n 'Escape': [this.onEscapePress],\n // TODO\n // add Home and End for first/last focus\n // A-Z and a-z for first item that matches keyboard input\n });\n }\n\n toggle() {\n if (this.focusedIndex === -1) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n expand() {\n this.buttonTarget.setAttribute('aria-expanded', 'true');\n this.buttonTarget.setAttribute('aria-controls', this.listTarget.id);\n\n this.listTarget.classList.remove('opacity-0', 'pointer-events-none');\n\n this.focusedIndex = [...this.listTarget.children].indexOf(this.selectedListItem);\n }\n\n collapse() {\n this.buttonTarget.setAttribute('aria-expanded', 'false');\n this.buttonTarget.removeAttribute('aria-controls');\n\n this.listTarget.classList.add('opacity-0', 'pointer-events-none');\n this.listTarget.removeAttribute('aria-activedescendant');\n\n this.focusedIndex = -1;\n this.updateFocus();\n\n this.initialSelectedListItem.setAttribute('aria-selected', 'true');\n this.initialSelectedListItem.classList.add(...this.itemFocusClasses);\n }\n\n clickOutside(ev) {\n if (this.focusedIndex > -1) {\n this.collapse();\n }\n }\n\n updateFocus() {\n this.listItemTargets.forEach(item => {\n item.classList.remove(...this.itemFocusClasses)\n item.removeAttribute('aria-selected');\n });\n\n if (this.focusedIndex > -1) {\n const item = this.listItemTargets[this.focusedIndex]\n\n this.listTarget.setAttribute('aria-activedescendant', item.id);\n\n item.setAttribute('aria-selected', 'true');\n item.classList.add(...this.itemFocusClasses);\n item.focus();\n }\n }\n\n onEscapePress() {\n this.collapse();\n }\n\n // TODO this is specific to anchor elements and links\n onFocus() {\n const item = this.listItemTargets[this.focusedIndex];\n\n if (item) {\n const anchor = item.querySelector('a');\n\n if (anchor)\n anchor.click();\n }\n }\n\n onNextMenuItem(ev) {\n if (this.focusedIndex > -1) {\n this.focusedIndex++;\n\n if (this.focusedIndex == this.listItemTargets.length) {\n this.focusedIndex = 0; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n\n onPreviousMenuItem(ev) {\n if (this.focusedIndex > -1) {\n this.focusedIndex--;\n\n if (this.focusedIndex < 0) {\n this.focusedIndex = this.listItemTargets.length - 1; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n}\n","import { Controller } from 'stimulus';\n\n// TODO disable for sync frames within engagements\nexport default class extends Controller {\n static targets = ['svg'];\n\n get docEl() {\n return document.documentElement;\n }\n\n connect() {\n this.docEl.addEventListener('turbo:before-fetch-request', this.beforeFetchRequest, false);\n this.docEl.addEventListener('turbo:before-fetch-response', this.beforeFetchResponse, false);\n this.docEl.addEventListener('turbo:frame-render', this.beforeFrameRender, false);\n }\n\n disconnect() {\n this.docEl.removeEventListener('turbo:before-fetch-request', this.beforeFetchRequest, false);\n this.docEl.removeEventListener('turbo:before-fetch-response', this.beforeFetchResponse, false);\n this.docEl.removeEventListener('turbo:frame-render', this.beforeFrameRender, false);\n }\n\n showLoader = () => {\n //console.log('showLoader');\n\n this.svgTarget.classList.remove('is-spinning');\n\n requestAnimationFrame(() => {\n if (this.docEl.querySelector('#success-modal') != null)\n return;\n\n this.element.classList.add('opacity-100');\n this.svgTarget.classList.add('is-spinning');\n });\n }\n\n hideLoader = () => {\n //console.log('hideLoader');\n\n this.element.classList.remove('opacity-100');\n }\n\n beforeFetchRequest = ev => {\n //console.log(ev.type);\n\n clearTimeout(this.timer);\n\n this.timer = setTimeout(this.showLoader, 200);\n }\n\n beforeFetchResponse = ev => {\n //console.log(ev.type);\n\n clearTimeout(this.timer);\n\n this.hideLoader();\n }\n\n beforeFrameRender = ev => {\n //console.log(ev.type);\n\n this.hideLoader();\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useDispatch, useHotkeys, useTransition } from 'stimulus-use';\n\nimport ElementListener from '../../lib/element_listener';\n\n// TODO\n// set aria-controls attribute\n// set aria-selected attribute\n// set aria-activedescendant=\"headlessui-listbox-option-60\" as focus changes\n\nexport default class extends Controller {\n static targets = ['arrow', 'button', 'menu', 'menuItem', 'overlay'];\n\n static values = {\n itemFocusClass: String,\n };\n\n connect() {\n this.focusedIndex = -1;\n this.itemFocusClasses = this.itemFocusClassValue.split(' ');\n\n this.listener = new ElementListener(this.element, 'click', ev => {\n if (this.opened) {\n const path = event.composedPath ? event.composedPath() : event.path;\n\n if ([...path].find(e => e && e.role === 'none')) {\n this.closeMenu();\n }\n }\n });\n\n useClickOutside(this);\n useDispatch(this);\n\n // https://www.w3.org/TR/wai-aria-practices-1.2/#menubutton\n // https://headlessui.dev/react/menu#keyboard-interaction\n useHotkeys(this, {\n 'Enter': [this.onFocus],\n 'Space': [this.onFocus],\n 'Down': [this.onNextMenuItem],\n 'Up': [this.onPreviousMenuItem],\n 'Right': [this.onNextMenuItem],\n 'Left': [this.onPreviousMenuItem],\n 'Escape': [this.onEscapePress],\n 'Tab': [this.onTabPress],\n 'Shift+Tab': [this.onTabPress],\n });\n\n useTransition(this, {\n element: this.menuTarget\n });\n }\n\n disconnect() {\n this.updateOverlay(false);\n this.listener.remove();\n }\n\n openMenu() {\n //console.log('openMenu', this.menuTarget);\n\n this.buttonTarget.setAttribute('aria-expanded', 'true');\n this.buttonTarget.setAttribute('aria-controls', this.menuTarget.id);\n this.updateOverlay(true);\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.add('-rotate-180');\n }\n\n requestAnimationFrame(async () => {\n await this.enter();\n\n this.opened = true;\n });\n }\n\n closeMenu() {\n //console.log('closeMenu', this.menuTarget);\n\n if (!this.opened)\n return;\n\n this.focusedIndex = -1;\n this.opened = false;\n\n this.buttonTarget.setAttribute('aria-expanded', 'false');\n this.buttonTarget.removeAttribute('aria-controls');\n\n this.updateFocus();\n this.updateOverlay(false);\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.remove('-rotate-180');\n }\n\n requestAnimationFrame(() => {\n this.leave();\n });\n }\n\n updateFocus() {\n //console.log('updateFocus', this.focusedIndex);\n\n this.menuItemTargets.forEach(item => item.classList.remove(...this.itemFocusClasses));\n\n if (this.focusedIndex > -1) {\n const item = this.menuItemTargets[this.focusedIndex]\n\n item.classList.add(...this.itemFocusClasses);\n item.focus();\n }\n }\n\n updateOverlay(visible) {\n if (this.hasOverlayTarget) {\n if (visible) {\n this.overlayTarget.classList.remove('hidden', 'opacity-0', 'pointer-events-none');\n\n document.body.classList.add('overflow-y-hidden');\n } else {\n this.overlayTarget.classList.add('opacity-0', 'hidden', 'pointer-events-none');\n\n document.body.classList.remove('overflow-y-hidden');\n }\n }\n }\n\n blur() {\n //console.log('blur');\n\n this.focusedIndex = -1;\n this.updateFocus();\n }\n\n focusFirstItem() {\n //console.log('focusFirstItem');\n\n this.focusedIndex = 0;\n this.updateFocus();\n }\n\n\n focusItem(ev) {\n //console.log('focusItem', ev);\n\n this.focusedIndex = this.menuItemTargets.findIndex(item => item === ev.target);\n this.updateFocus();\n }\n\n clickOutside(ev) {\n if (this.transitioned) {\n if (ev.target instanceof HTMLButtonElement && ev.target.type === 'submit') {\n this.closeMenu();\n\n } else {\n ev.preventDefault();\n\n this.closeMenu();\n }\n }\n }\n\n onClick() {\n console.log('onClick');\n\n if (this.transitioned) this.closeMenu();\n else this.openMenu();\n }\n\n onEscapePress() {\n //console.log('onEscapePress');\n\n this.closeMenu();\n }\n\n onFocus(ev) {\n if (this.hasButtonTarget && this.buttonTarget === document.activeElement) {\n ev.preventDefault();\n\n this.openMenu();\n this.focusFirstItem();\n }\n }\n\n onTabPress() {\n //console.log('onTabPress');\n\n setTimeout(() => {\n if (this.focusedIndex > -1) {\n this.closeMenu();\n }\n }, 1);\n }\n\n onNextMenuItem(ev) {\n //console.log('onNextMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex++;\n\n if (this.focusedIndex == this.menuItemTargets.length) {\n this.focusedIndex = 0; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n\n onPreviousMenuItem(ev) {\n //console.log('onPreviousMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex--;\n\n if (this.focusedIndex < 0) {\n this.focusedIndex = this.menuItemTargets.length - 1; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useMeta } from 'stimulus-use';\n\nimport mixpanel from 'mixpanel-browser';\n\nexport default class extends Controller {\n static metaNames = ['mppt'];\n\n static values = {\n name: String, properties: Object\n };\n\n connect() {\n useMeta(this);\n\n if (window.location.pathname.startsWith('/admins/'))\n return;\n\n mixpanel.init(this.mpptMeta, { debug: this.application.__debug });\n mixpanel.track(this.nameValue, this.propertiesValue, {transport: 'sendBeacon'});\n\n const style = 'color:white; background-color: #022F4C; padding: 0.25em 0.5em';\n\n console.group(`Mixpanel Event %c${this.nameValue}`, style);\n\n if (Object.keys(this.propertiesValue).length > 0) {\n console.table(this.propertiesValue);\n }\n\n console.groupEnd();\n\n this.element.remove();\n }\n}\n","import { Controller } from \"stimulus\";\nimport { useDispatch, useHotkeys, useTransition } from 'stimulus-use';\n\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n static targets = ['modal'];\n static values = {\n opened: Boolean,\n disableScroll: Boolean,\n };\n\n connect() {\n this.opened = this.openedValue;\n\n this.listeners = [\n new ElementListener(document.documentElement, 'application:openModal', this.onModalOpen),\n new ElementListener(document.documentElement, 'application:closeModal', this.onModalClose),\n ];\n\n useDispatch(this);\n\n // https://www.w3.org/TR/wai-aria-practices-1.2/#dialog_modal\n // https://headlessui.dev/react/dialog#keyboard-interaction\n useHotkeys(this, {\n 'Tab': [this.onNextFocusItem],\n 'Shift+Tab': [this.onPreviousFocusItem],\n 'Escape': [this.onEscape]\n });\n\n if (this.opened) {\n if (this.hasDisableScrollValue && this.disableScrollValue !== false) {\n document.body.classList.add('overflow-y-hidden');\n } else if (!this.hasDisableScrollValue) {\n document.body.classList.add('overflow-y-hidden');\n }\n\n requestAnimationFrame(() => {\n this.dispatch('opened', { modalId: this.id });\n });\n }\n }\n\n disconnect() {\n this.listeners.forEach(l => l.remove());\n }\n\n get focusableElementsAndIndex() {\n const elements = Array.from(this.element.querySelectorAll(\n 'button, a[href], input[type=\"text\"], input[type=\"number\"], input[type=\"email\"], textarea'\n ));\n\n return [\n elements, elements.findIndex(e => e === document.activeElement)\n ];\n }\n\n get id() {\n return this.data.get('id');\n }\n\n open() {\n if (!this.hasModalTarget) {\n console.warn('ModalController is missing its \"modal\" target', this.element);\n\n return;\n }\n\n document.body.classList.add('overflow-y-hidden');\n\n this.opened = true;\n this.dispatch('opened', { modalId: this.id });\n }\n\n close(ev) {\n if (!this.opened)\n return;\n\n if (ev && ev.preventDefault && ev.target.type !== 'submit')\n ev.preventDefault();\n\n document.body.classList.remove('overflow-y-hidden');\n\n this.opened = false;\n this.dispatch('closed', { modalId: this.id });\n }\n\n remove() {\n this.element.remove();\n }\n\n onModalOpen = (ev) => {\n if (ev.detail.modalId === this.element.dataset.modalId) {\n this.open();\n }\n }\n\n onModalClose = (ev) => {\n if (ev.detail.modalId === this.element.dataset.modalId) {\n this.close();\n }\n }\n\n onNextFocusItem(ev) {\n if (this.opened) {\n const [elements, index] = this.focusableElementsAndIndex;\n\n ev.preventDefault();\n\n if (index < 0 || index === elements.length - 1) elements[0].focus();\n else elements[index + 1].focus();\n }\n }\n\n onPreviousFocusItem(ev) {\n if (this.opened) {\n const [elements, index] = this.focusableElementsAndIndex;\n\n ev.preventDefault();\n\n if (index === 0) elements[elements.length - 1].focus();\n else elements[index - 1].focus();\n }\n }\n\n onEscape(ev) {\n if (this.opened) {\n ev.preventDefault();\n\n this.close();\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useDebounce, useMemo, useTransition } from 'stimulus-use';\nimport { useDispatch } from 'stimulus-use'\n\nimport { useFloatingPopups } from '../mixins';\n\nimport ElementListener from '../../lib/element_listener';\n\nconst STOP_WORDS = new RegExp(\n '^(i|we|it|its|itself|they|what|which|who|whom|this|that|these|those|am|is|are|was|were|be|been|being|have|has|had|having|do|does|did|doing|a|an|the|and|but|if|or|because|as|until|while|of|at|by|for|with|about|against|between|into|through|during|before|after|above|below|to|from|up|down|in|out|on|off|over|under|again|further|then|once|here|there|when|where|why|how|all|any|both|each|few|more|most|other|some|such|no|nor|not|only|own|same|so|than|too|very|can|will|just|should|now|they|them|their|theirs)$', 'i'\n);\n\nwindow.STOP_WORDS = STOP_WORDS;\n\nexport default class extends Controller {\n static debounces = [\n 'performSearch', 'onNextFocusItem', 'onPreviousFocusItem', 'onScroll'\n ];\n\n static memos = ['optionTexts', 'optionValues'];\n static targets = [\n 'arrow', 'limitMessage', 'input', 'template', 'option', 'suggested', 'pool', 'popup', 'placeholder'\n ];\n\n static values = {\n defaultTextClass: String,\n focusedBgClass: String,\n focusedTextClass: String,\n limit: Number,\n tagIds: Array,\n visible: String\n };\n\n get optionTexts() {\n return this.optionTargets.map(\n opt => opt.textContent.normalize('NFD')\n .replace(/\\.,/g, '')\n .split(/\\s+/)\n .filter(word => !STOP_WORDS.test(word))\n .join(' ').trim().toLowerCase()\n );\n }\n\n get optionValues() {\n return this.optionTargets.map(opt => +opt.dataset.value);\n }\n\n get focusedOptions() {\n return Array.from(this.element.querySelectorAll('li[aria-selected=\"true\"]'));\n }\n\n connect() {\n this.availableIndexes = new Set();\n this.selectedIds = new Set(Array.from(this.tagIdsValue));\n this.focusedItemIndex = -1;\n\n useClickOutside(this);\n useDebounce(this);\n useFloatingPopups(this, { displaceSelector: 'fieldset' });\n useMemo(this);\n useTransition(this, { element: this.popupTarget });\n useDispatch(this)\n\n if (this.hasPlaceholderTarget && this.selectedIds.size < 1) {\n this.placeholderTarget.classList.remove('opacity-0');\n }\n\n this.selectedIds.forEach(id => {\n const node = this.element.querySelector(`li[data-value=\"${id}\"]`);\n\n if (node) {\n this.addSelectedNode(node.dataset.label, id);\n }\n });\n\n this.limitMessageTarget.classList.add('hidden');\n this.updateLimit();\n\n this.listener = new ElementListener(this.scrollRoot, 'scroll', this.onScroll);\n\n requestAnimationFrame(() => {\n this.positionPopup();\n });\n }\n\n disconnect() {\n this.listener.remove();\n }\n\n addSelectedNode(label, value) {\n const node = this.templateTarget.content.cloneNode(true);\n\n node.querySelector('span').innerText = label;\n node.querySelector('button').value = value;\n node.querySelector('input').value = value;\n\n this.poolTarget.insertBefore(node, this.inputTarget);\n\n if (this.hasSuggestedTarget) {\n const suggestedButton = this.suggestedTarget.querySelector(`button[data-value=\"${value}\"]`);\n\n if (suggestedButton) {\n suggestedButton.remove();\n }\n }\n }\n\n addSuggested(ev) {\n ev.preventDefault();\n\n const { target: { value } } = ev;\n\n addSe\n }\n\n changeInput() {\n const { value } = this.inputTarget;\n\n if (this.hasPlaceholderTarget) {\n if (value.length > 0) {\n this.placeholderTarget.classList.add('opacity-0');\n } else if (this.selectedIds.size < 1) {\n this.placeholderTarget.classList.remove('opacity-0');\n }\n }\n\n this.search = value.toString().trim().toLowerCase();\n\n this.performSearch();\n }\n\n async close() {\n this.focusedItemIndex = -1;\n this.inputTarget.value = '';\n this.search = undefined;\n\n if (this.hasPlaceholderTarget) {\n if (this.selectedIds.size < 1) {\n this.placeholderTarget.classList.remove('opacity-0');\n } else {\n this.placeholderTarget.classList.add('opacity-0');\n }\n }\n\n await this.leave();\n\n this.arrowTarget.classList.remove('rotate-180');\n this.arrowTarget.setAttribute('aria-expanded', 'false');\n\n // TODO this is not resetting scroll\n this.popupTarget.scrollTop = 0;\n this.positionPopup();\n }\n\n clickArrow() {\n if (this.search !== undefined) {\n this.close();\n\n } else {\n this.search = '';\n this.performSearch(true);\n }\n }\n\n clickOutside(ev) {\n if (this.search !== undefined) {\n ev.preventDefault();\n\n this.close();\n }\n }\n\n focusContainer() {\n this.inputTarget.focus();\n }\n\n hoverOption(ev) {\n if (this.scrolling !== undefined)\n return;\n\n const index = [...this.availableIndexes].indexOf(this.optionTargets.indexOf(ev.currentTarget));\n\n this.updateFocus(index);\n }\n\n keypressInput(ev) {\n if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n\n this.onNextFocusItem();\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n\n this.onPreviousFocusItem();\n } else if (ev.key === 'Enter') {\n ev.preventDefault();\n\n this.onFocusSelected(ev);\n } else if (ev.key === 'Backspace' && ev.currentTarget.value.length === 0) {\n ev.preventDefault();\n\n this.onBackspaceRemove();\n } else if (ev.key === 'Escape') {\n this.inputTarget.blur();\n }\n }\n\n updateLimit() {\n if (this.selectedIds.size <= this.limitValue) {\n this.inputTarget.disabled = false;\n this.limitMessageTarget.classList.add('hidden');\n } else {\n this.inputTarget.disabled = true;\n this.limitMessageTarget.classList.remove('hidden');\n }\n }\n\n performSearch(allowEmptySearch = false) {\n // Reset the available set\n this.availableIndexes.clear();\n\n if (this.search !== '' || allowEmptySearch === true) {\n this.optionTexts.forEach((text, index) => {\n if (!this.selectedIds.has(this.optionValues[index]) && text.includes(this.search)) {\n this.availableIndexes.add(index);\n }\n });\n }\n\n this.updateFocus(-1);\n this.renderMenu();\n }\n\n renderMenu() {\n if (this.renderId)\n cancelAnimationFrame(this.renderId);\n\n if (this.availableIndexes.size > 0) {\n this.arrowTarget.classList.add('rotate-180');\n this.arrowTarget.setAttribute('aria-expanded', 'true');\n\n this.enter();\n } else {\n this.arrowTarget.classList.remove('rotate-180');\n this.arrowTarget.setAttribute('aria-expanded', 'false');\n\n this.leave();\n }\n\n this.renderId = requestAnimationFrame(() => {\n this.optionTargets.forEach((opt, index) => {\n opt.className = (\n this.availableIndexes.has(index) ? this.visibleValue : 'hidden'\n );\n });\n\n delete this.renderId;\n });\n }\n\n async removeOption(ev) {\n ev.preventDefault();\n\n await this.close();\n\n if (ev.currentTarget) {\n this.selectedIds.delete(+ev.currentTarget.value);\n\n ev.currentTarget.parentElement.remove();\n\n this.updateLimit();\n this.positionPopup();\n }\n\n if (this.hasPlaceholderTarget && this.selectedIds.size < 1) {\n this.placeholderTarget.classList.remove('opacity-0');\n }\n this.dispatch('tag-removed')\n }\n\n async selectOption(ev) {\n ev.preventDefault();\n\n const { dataset: { value } } = ev.currentTarget;\n\n if (value !== '' || value !== null) {\n const id = +value;\n\n if (!this.selectedIds.has(id)) {\n this.selectedIds.add(id);\n this.addSelectedNode(ev.currentTarget.dataset.label, id);\n this.updateLimit();\n }\n\n await this.close();\n }\n this.dispatch('tag-selected')\n }\n\n // TODO refactor this to be less specific to DOM structure and the option\n // HTML\n updateFocus(newIndex, scrollTo = false) {\n this.focusedOptions.forEach(li => {\n const descNode = li.querySelector('p:nth-child(2)');\n\n if (descNode) {\n descNode.classList.remove(this.focusedTextClassValue);\n descNode.classList.add(this.defaultTextClassValue);\n }\n\n li.classList.remove(this.focusedBgClassValue, this.focusedTextClassValue);\n li.setAttribute('aria-selected', 'false');\n });\n\n if (newIndex === -1) {\n this.focusedItemIndex = newIndex;\n return;\n }\n\n const node = this.optionTargets[[...this.availableIndexes][newIndex]];\n\n if (!node)\n return;\n\n const descNode = node.querySelector('p:nth-child(2)');\n\n this.focusedItemIndex = newIndex;\n\n if (descNode) {\n descNode.classList.remove(this.defaultTextClassValue);\n descNode.classList.add(this.focusedTextClassValue);\n }\n\n node.classList.add(this.focusedBgClassValue, this.focusedTextClassValue);\n node.setAttribute('aria-selected', 'true');\n\n this.popupTarget.setAttribute('aria-activedescendant', node.id);\n\n if (scrollTo) {\n node.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'nearest' });\n\n if (this.scrolling)\n clearTimeout(this.scrolling);\n\n this.scrolling = setTimeout(() => {\n this.scrolling = undefined;\n }, 250);\n }\n }\n\n async onBackspaceRemove() {\n await this.close();\n\n if (this.selectedIds.size > 0) {\n this.selectedIds.delete([...this.selectedIds].pop());\n this.poolTarget.querySelector('div:last-of-type').remove();\n\n this.updateLimit();\n this.positionPopup();\n }\n }\n\n async onFocusSelected(ev) {\n const option = this.optionTargets[[...this.availableIndexes][this.focusedItemIndex]];\n\n if (option) {\n const id = +option.dataset.value;\n\n this.selectedIds.add(id);\n this.addSelectedNode(option.dataset.label, id);\n\n await this.close();\n }\n }\n\n onNextFocusItem = () => {\n this.updateFocus(this.focusedItemIndex + 1, true);\n }\n\n onPreviousFocusItem = () => {\n this.updateFocus(this.focusedItemIndex - 1, true);\n }\n\n onScroll = () => {\n this.positionPopup();\n }\n}\n","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n // filesTarget is going to contain the list of input elements we've added\n // files to - these are the input elements that we're going to submit.\n static targets = [\"files\"]\n\n addFile(event) {\n // Grab some references for later\n const originalInput = event.target\n const originalParent = originalInput.parentNode\n\n // Create a new input field to use going forward\n const newInput = originalInput.cloneNode()\n\n // Clear the filelist - some browsers maintain the filelist when cloning,\n // others don't\n newInput.value = \"\";\n\n // Remove the \"no files selected\" text\n newInput.style.width = \"97px\";\n newInput.title = \"\";\n\n // Clear parent and add new input to the DOM where the original input was\n originalParent.innerHTML = \"\";\n originalParent.append(newInput)\n\n // Loop through all the files and let each one be its own input field\n this.files = Array.from(event.target.files)\n\n for (var i = 0; i < this.files.length; i++) {\n // Create an element that contains our input element\n let selectedFile = document.createElement(\"div\")\n selectedFile.classList.add(\"border\", \"rounded-md\", \"p-4\", \"flex\", \"justify-between\")\n\n let inputNode = document.createElement(\"input\");\n inputNode.setAttribute('type', 'file');\n inputNode.setAttribute('multiple', 'multiple');\n inputNode.setAttribute('name', originalInput.name);\n inputNode.classList.add(\"hidden\")\n selectedFile.append(inputNode)\n\n // Set that input to one of the files in the FileList\n let dt = new DataTransfer();\n dt.items.add(this.files[i])\n selectedFile.children[0].files = dt.files\n console.log(selectedFile.children[0].files)\n\n // Create label (the visible part of the new input element) with the name of\n // the file.\n let labelNode = document.createElement(\"label\");\n let textElement = document.createTextNode(this.files[i].name);\n labelNode.appendChild(textElement);\n selectedFile.appendChild(labelNode);\n\n // Create trash can icon\n const iconSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n const iconPath = document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path'\n );\n\n iconSvg.setAttribute('fill', 'none');\n iconSvg.setAttribute('viewBox', '0 0 24 24');\n iconSvg.setAttribute('stroke', 'currentColor');\n iconSvg.classList.add('w-5', 'h-5', 'text-indicator-red', \"pointer-events-none\");\n\n iconPath.setAttribute(\n 'd',\n 'M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16'\n );\n iconPath.setAttribute('stroke-linecap', 'round');\n iconPath.setAttribute('stroke-linejoin', 'round');\n iconPath.setAttribute('stroke-width', '2');\n\n iconSvg.appendChild(iconPath);\n\n // Create button with trash can\n let buttonNode = document.createElement(\"button\");\n buttonNode.classList.add(\"items-center\")\n buttonNode.setAttribute('data-action', \"multi-upload#removeFile\");\n buttonNode.setAttribute('type', \"button\");\n buttonNode.appendChild(iconSvg);\n selectedFile.appendChild(buttonNode);\n\n // Add the selected file to the list of selected files\n this.filesTarget.append(selectedFile)\n }\n }\n\n removeFile(event) {\n const selectedFile = event.target\n const selectedFileParent = selectedFile.parentNode\n\n selectedFileParent.remove()\n }\n}\n","import { Controller } from 'stimulus';\nimport { useClickOutside, useDispatch, useHotkeys, useTransition } from 'stimulus-use';\n\nimport ElementListener from '../../lib/element_listener';\n\n// TODO\n// set aria-controls attribute\n// set aria-selected attribute\n// set aria-activedescendant=\"headlessui-listbox-option-60\" as focus changes\n\nexport default class extends Controller {\n static targets = ['arrow', 'button', 'menu', 'menuItem', 'overlay'];\n\n static values = {\n itemFocusClass: String,\n };\n\n connect() {\n this.focusedIndex = -1;\n this.itemFocusClasses = this.itemFocusClassValue.split(' ');\n\n this.listener = new ElementListener(this.element, 'click', ev => {\n if (this.opened) {\n const path = event.composedPath ? event.composedPath() : event.path;\n\n if ([...path].find(e => e && e.role === 'none')) {\n this.closeMenu();\n }\n }\n });\n\n useClickOutside(this);\n useDispatch(this);\n\n // https://www.w3.org/TR/wai-aria-practices-1.2/#menubutton\n // https://headlessui.dev/react/menu#keyboard-interaction\n useHotkeys(this, {\n 'Enter': [this.onFocus],\n 'Space': [this.onFocus],\n 'Down': [this.onNextMenuItem],\n 'Up': [this.onPreviousMenuItem],\n 'Right': [this.onNextMenuItem],\n 'Left': [this.onPreviousMenuItem],\n 'Escape': [this.onEscapePress],\n 'Tab': [this.onTabPress],\n 'Shift+Tab': [this.onTabPress],\n });\n\n useTransition(this, {\n element: this.menuTarget\n });\n }\n\n disconnect() {\n this.updateOverlay(false);\n this.listener.remove();\n }\n\n openMenu() {\n //console.log('openMenu', this.menuTarget);\n\n this.buttonTarget.setAttribute('aria-expanded', 'true');\n this.buttonTarget.setAttribute('aria-controls', this.menuTarget.id);\n this.updateOverlay(true);\n\n this.buttonTarget.classList.add('border-b-2', 'border-b-prussian-900', 'border-t-2', 'border-t-white');\n this.buttonTarget.classList.remove('hover:border-b-2', 'hover:border-b-kashmir-700', 'hover:border-t-2', 'hover:border-t-white');\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.add('-rotate-180');\n }\n\n requestAnimationFrame(async () => {\n await this.enter();\n\n this.opened = true;\n });\n }\n\n closeMenu() {\n //console.log('closeMenu', this.menuTarget);\n\n if (!this.opened)\n return;\n\n this.focusedIndex = -1;\n this.opened = false;\n\n this.buttonTarget.setAttribute('aria-expanded', 'false');\n this.buttonTarget.removeAttribute('aria-controls');\n\n this.updateFocus();\n this.updateOverlay(false);\n\n this.buttonTarget.classList.remove('border-b-2', 'border-b-prussian-900', 'border-t-2', 'border-t-white');\n this.buttonTarget.classList.add('hover:border-b-2', 'hover:border-b-kashmir-700', 'hover:border-t-2', 'hover:border-t-white');\n\n if (this.hasArrowTarget) {\n this.arrowTarget.classList.remove('-rotate-180');\n }\n\n requestAnimationFrame(() => {\n this.leave();\n });\n }\n\n updateFocus() {\n //console.log('updateFocus', this.focusedIndex);\n\n this.menuItemTargets.forEach(item => item.classList.remove(...this.itemFocusClasses));\n\n if (this.focusedIndex > -1) {\n const item = this.menuItemTargets[this.focusedIndex]\n\n item.classList.add(...this.itemFocusClasses);\n item.focus();\n }\n }\n\n updateOverlay(visible) {\n if (this.hasOverlayTarget) {\n if (visible) {\n this.overlayTarget.classList.remove('hidden', 'opacity-0', 'pointer-events-none');\n\n document.body.classList.add('overflow-y-hidden');\n } else {\n this.overlayTarget.classList.add('opacity-0', 'hidden', 'pointer-events-none');\n\n document.body.classList.remove('overflow-y-hidden');\n }\n }\n }\n\n blur() {\n //console.log('blur');\n\n this.focusedIndex = -1;\n this.updateFocus();\n }\n\n focusFirstItem() {\n //console.log('focusFirstItem');\n\n this.focusedIndex = 0;\n this.updateFocus();\n }\n\n\n focusItem(ev) {\n //console.log('focusItem', ev);\n\n this.focusedIndex = this.menuItemTargets.findIndex(item => item === ev.target);\n this.updateFocus();\n }\n\n clickOutside(ev) {\n if (this.transitioned) {\n if (ev.target instanceof HTMLButtonElement && ev.target.type === 'submit') {\n this.closeMenu();\n\n } else {\n ev.preventDefault();\n\n this.closeMenu();\n }\n }\n }\n\n onClick() {\n console.log('onClick');\n\n if (this.transitioned) this.closeMenu();\n else this.openMenu();\n }\n\n onEscapePress() {\n //console.log('onEscapePress');\n\n this.closeMenu();\n }\n\n onFocus(ev) {\n if (this.hasButtonTarget && this.buttonTarget === document.activeElement) {\n ev.preventDefault();\n\n this.openMenu();\n this.focusFirstItem();\n }\n }\n\n onTabPress() {\n //console.log('onTabPress');\n\n setTimeout(() => {\n if (this.focusedIndex > -1) {\n this.closeMenu();\n }\n }, 1);\n }\n\n onNextMenuItem(ev) {\n //console.log('onNextMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex++;\n\n if (this.focusedIndex == this.menuItemTargets.length) {\n this.focusedIndex = 0; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n\n onPreviousMenuItem(ev) {\n //console.log('onPreviousMenuItem');\n\n if (this.focusedIndex > -1) {\n this.focusedIndex--;\n\n if (this.focusedIndex < 0) {\n this.focusedIndex = this.menuItemTargets.length - 1; // wrap focus around\n }\n\n ev.preventDefault();\n this.updateFocus();\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['button', 'input'];\n\n show(ev) {\n ev.currentTarget.remove();\n\n this.buttonTarget.classList.remove('opacity-0');\n this.inputTarget.classList.remove('opacity-0');\n this.inputTarget.focus();\n }\n}\n","import { Controller } from 'stimulus';\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n static values = {\n trigger: String\n };\n\n connect() {\n this.element.classList.add('animate-pulse');\n this.listener = new ElementListener(this.element, this.triggerValue, this.onStopPulse);\n }\n\n disconnect() {\n this.listener.remove();\n }\n\n onStopPulse = () => {\n this.element.classList.remove('animate-pulse');\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['checkbox'];\n static values = {\n trigger: String\n }\n\n connect() {\n }\n\n radioChanged(ev) {\n const { target: { value } } = ev;\n\n if (value == this.triggerValue) {\n this.checkboxTarget.checked = false\n }\n }\n}\n","import { Controller } from 'stimulus';\nimport { useDebounce } from 'stimulus-use';\n\nexport default class extends Controller {\n static debounces = ['updateInput'];\n\n static targets = ['copyInput','input'];\n\n connect() {\n useDebounce(this);\n\n this.setCopyInputs()\n }\n\n updateInput(ev) {\n const { target } = ev;\n\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(target.id.concat(\"-copy\"))) {\n\n if (target.checked) {\n copyInput.checked = true\n } else {\n copyInput.checked = false\n }\n }\n })\n }\n\n setCopyInputs(){\n this.inputTargets.forEach((input) => {\n this.copyInputTargets.forEach((copyInput) => {\n if (copyInput.id.includes(input.id.concat(\"-copy\"))) {\n if (input.checked) {\n copyInput.checked = true\n } else {\n copyInput.checked = false\n }\n }\n })\n });\n }\n}\n","import { Controller } from 'stimulus';\nimport { useTransition } from 'stimulus-use';\n\nexport default class extends Controller {\n static targets = ['button', 'hiddenSection'];\n static values = {\n trigger: String\n }\n\n connect() {\n useTransition(this, {\n element: this.hiddenSectionTarget,\n transitioned: false,\n });\n\n const selectedValue = this.buttonTargets.find(button => button.checked).value\n\n if (selectedValue === this.triggerValue) {\n this.enter()\n } else {\n this.leave()\n }\n }\n\n radioChanged(ev) {\n const { target: { value } } = ev;\n\n if (value === this.triggerValue) {\n this.enter()\n } else {\n this.leave()\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['input'];\n static values = {\n trigger: String\n }\n\n connect() {\n }\n\n radioChanged(ev) {\n const { target: { value } } = ev;\n\n if (value !== this.triggerValue) {\n this.inputTarget.value = \"\"\n }\n }\n}\n","import {Controller} from \"stimulus\"\n\nconst RADIO_BUTTON_TOGGLE = 'radio-button-selection-toggle'\n\nexport default class extends Controller {\n static targets = [\"section\"]\n\n connect() {\n document.addEventListener(RADIO_BUTTON_TOGGLE, this.handleSelection.bind(this));\n }\n\n handleSelection(event) {\n this.sectionTargets.forEach((section) => {\n this.clearInputs(section)\n this.removeErrorMessages(section)\n this.resetSelects(section)\n });\n }\n\n clearInputs(section) {\n var inputs = section.querySelectorAll(\"input\");\n inputs.forEach((input) => {\n input.value = null;\n })\n }\n\n removeErrorMessages(section) {\n var errors = section.querySelectorAll(\"[data-error]\");\n errors.forEach((error) => {\n error.remove();\n })\n }\n\n resetSelects(section) {\n var selects = section.querySelectorAll(\"select\");\n\n selects.forEach((select) => {\n select.selectedIndex =0;\n })\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['label'];\n\n radioChanged(ev) {\n this.labelTargets.forEach((el, i) => {\n el.classList.toggle('bg-gray-500', ev.target.labels[0] == el )\n })\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['button', 'label'];\n\n connect() {\n this.buttonTargets.forEach((el, i) => {\n if (el.checked) {\n var selector = 'label[for=' + el.id + ']'\n var label = document.querySelector(selector);\n label.classList.add('bg-gray-500')\n }\n })\n }\n\n radioChanged(ev) {\n this.buttonTargets.forEach((el, i) => {\n if (el.checked) {\n var selector = 'label[for=' + el.id + ']'\n var label = document.querySelector(selector);\n label.classList.add('bg-gray-500')\n } else {\n var selector = 'label[for=' + el.id + ']'\n var label = document.querySelector(selector);\n label.classList.remove('bg-gray-500')\n }\n })\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['button'];\n\n connect() {\n }\n\n radioChanged(ev) {\n if (ev.target.value == 'false' ) {\n this.buttonTargets.forEach((el, i) => {\n if (el.value == 'false'){\n el.checked = true;\n }\n })\n }\n }\n}","import {Controller} from \"stimulus\"\n\nconst RADIO_BUTTON_TOGGLE = 'radio-button-selection-toggle'\n\nexport default class extends Controller {\n static targets = [\"section\"]\n\n static values = {\n initButton: Number\n }\n\n connect() {\n document.addEventListener(RADIO_BUTTON_TOGGLE, this.handleSelection.bind(this));\n this.sectionTargets.forEach((section) => {\n if (section.id == this.initButtonValue) {\n section.classList.remove('hidden')\n } else {\n section.classList.add('hidden')\n }\n });\n }\n\n handleSelection(event) {\n this.sectionTargets.forEach((section) => {\n if (section.id == event.detail.value) {\n section.classList.remove('hidden')\n } else {\n section.classList.add('hidden')\n }\n });\n }\n}\n","import {Controller} from \"stimulus\"\n\nconst RADIO_BUTTON_TOGGLE = 'radio-button-selection-toggle'\n\nexport default class extends Controller {\n static targets = [\"radioButton\"]\n\n connect() {\n }\n\n radioChanged(event) {\n event.stopImmediatePropagation()\n\n const selectionEvent = new CustomEvent(RADIO_BUTTON_TOGGLE, {\n detail: {\n name: event.target.name,\n value: event.target.value\n }\n });\n\n document.dispatchEvent(selectionEvent);\n return false;\n }\n}\n","import { Controller } from 'stimulus';\nimport { useTransition } from 'stimulus-use';\n\nexport default class extends Controller {\n static targets = ['button', 'visibleSection'];\n static values = {\n trigger: String\n }\n\n connect() {\n useTransition(this, {\n element: this.visibleSectionTarget,\n transitioned: false,\n });\n\n const selectedValue = this.buttonTargets.find(button => button.checked).value\n\n if (selectedValue === this.triggerValue) {\n this.leave()\n } else {\n this.enter()\n }\n }\n\n radioChanged(ev) {\n const { target: { value } } = ev;\n\n if (value === this.triggerValue) {\n this.leave()\n } else {\n this.enter()\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n static values = {\n interval: Number, src: String,\n }\n\n connect() {\n this.listener = new ElementListener(this.element, 'turbo:frame-render', this.onFrameRender);\n this.timeout = setInterval(() => {\n this.element.src = null;\n this.element.src = this.srcValue;\n }, this.intervalValue);\n }\n\n disconnect() {\n this.listener.remove();\n\n clearTimeout(this.timeout);\n }\n\n onFrameRender = () => {\n if (this.element.querySelector('[data-refresh-halt=\"true\"]') !== null) {\n clearTimeout(this.timeout);\n }\n }\n}\n","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['input'];\n\n connect() {\n this.inputTarget.value == 'reload' ? location.reload(true) : this.inputTarget.value = 'reload'\n }\n}\n","export function controlledFetch(resource, init) {\n const controller = new AbortController();\n const { signal } = controller;\n\n return [\n fetch(resource, { ...init, signal }), controller\n ];\n}\n\n","import { Controller } from 'stimulus';\nimport { useDebounce, useMemo, useTransition } from 'stimulus-use';\n\nimport { useFloatingPopups } from '../mixins';\nimport { controlledFetch } from '../../lib';\n\nimport ElementListener from '../../lib/element_listener';\n\nexport default class extends Controller {\n static debounces = [\n 'performSearch', 'onNextFocusItem', 'onPreviousFocusItem', 'onScroll'\n ];\n\n static targets = [\n 'limitMessage', 'input', 'template', 'option', 'pool', 'popup', 'placeholder', 'newTemplate'\n ];\n\n static values = {\n allowNew: Boolean,\n focusedClass: String,\n limit: Number,\n selected: Array,\n newSelected: Array,\n newName: String,\n remoteUrl: String,\n visible: String,\n };\n\n get focusedOptions() {\n return Array.from(this.popupTarget.querySelectorAll('li[aria-selected=\"true\"]'));\n }\n\n get options() {\n return Array.from(this.popupTarget.querySelectorAll('li'));\n }\n\n get remoteUrl() {\n return [...this.selectedIds].reduce(\n (url, id) => url += `&exclude[]=${id}`, `${this.remoteUrlValue}?name=${this.search}`\n );\n }\n\n connect() {\n this.selectedIds = new Set(Array.from(this.selectedValue.map(pair => pair[0])));\n this.focusedClassList = this.focusedClassValue.split(' ');\n this.focusedItemIndex = -1;\n\n useDebounce(this);\n useFloatingPopups(this);\n useMemo(this);\n useTransition(this, { element: this.popupTarget });\n\n this.selectedValue.forEach(([ value, label ]) => {\n this.addSelectedNode(label, value);\n });\n\n this.newSelectedValue.forEach(([ value, label ]) => {\n this.addNewSelectedNode(label, value);\n });\n\n this.updateLimit();\n\n this.listener = new ElementListener(this.scrollRoot, 'scroll', this.onScroll);\n\n requestAnimationFrame(() => {\n this.positionPopup();\n });\n }\n\n disconnect() {\n this.listener.remove();\n }\n\n addSelectedNode(label, value) {\n const node = this.templateTarget.content.cloneNode(true);\n\n node.querySelector('span').innerText = label;\n node.querySelector('button').value = value;\n node.querySelector('input').value = value;\n\n this.poolTarget.insertBefore(node, this.inputTarget);\n }\n\n addNewSelectedNode(label, value) {\n const node = this.templateTarget.content.cloneNode(true);\n\n node.querySelector('span').innerText = label;\n\n const input = node.querySelector('input');\n\n input.dataset.newEntity = true;\n input.name = this.newNameValue;\n input.value = label;\n\n this.poolTarget.insertBefore(node, this.inputTarget);\n }\n\n addNewOption(ev) {\n const { currentTarget: { dataset: { label, inputName } } } = ev;\n const node = this.templateTarget.content.cloneNode(true);\n\n node.querySelector('span').innerText = label;\n\n const input = node.querySelector('input');\n\n input.dataset.newEntity = true;\n input.name = inputName;\n input.value = label;\n\n this.poolTarget.insertBefore(node, this.inputTarget);\n this.updateLimit();\n this.close();\n }\n\n changeInput() {\n const { value } = this.inputTarget;\n\n if (this.hasPlaceholderTarget) {\n if (value.length > 0) {\n this.placeholderTarget.classList.add('opacity-0');\n } else {\n this.placeholderTarget.classList.remove('opacity-0');\n }\n }\n\n this.search = value.toString().trim().toLowerCase();\n this.performSearch();\n }\n\n async close() {\n this.focusedItemIndex = -1;\n this.inputTarget.value = '';\n\n if (this.hasPlaceholderTarget) {\n this.placeholderTarget.classList.remove('opacity-0');\n }\n\n await this.leave();\n\n // TODO this is not resetting scroll\n this.popupTarget.scrollTop = 0;\n this.positionPopup();\n }\n\n focusContainer() {\n this.inputTarget.focus();\n }\n\n hoverOption(ev) {\n if (this.scrolling !== undefined)\n return;\n\n const index = this.optionTargets.indexOf(ev.currentTarget);\n\n this.updateFocus(index);\n }\n\n keypressInput(ev) {\n if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n\n this.onNextFocusItem();\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n\n this.onPreviousFocusItem();\n } else if (ev.key === 'Enter') {\n ev.preventDefault();\n\n this.onFocusSelected(ev);\n } else if (ev.key === 'Backspace' && ev.currentTarget.value.length === 0) {\n ev.preventDefault();\n\n this.onBackspaceRemove();\n } else if (ev.key === 'Escape') {\n this.inputTarget.blur();\n }\n }\n\n updateLimit() {\n const totalSize = this.selectedIds.size +\n this.poolTarget.querySelectorAll('input[data-new-entity]').length;\n\n if (totalSize <= this.limitValue) {\n this.inputTarget.disabled = false;\n this.limitMessageTarget.classList.add('hidden');\n } else {\n this.inputTarget.disabled = true;\n this.limitMessageTarget.classList.remove('hidden');\n }\n }\n\n async performSearch() {\n this.updateFocus(-1);\n\n if (this.ongoingFetchController !== undefined) {\n this.ongoingFetchController.abort();\n this.ongoingFetchController = undefined;\n }\n\n if (this.search === '') {\n this.close();\n return;\n }\n\n const [ promise, controller ] = controlledFetch(this.remoteUrl, {\n credentials: 'same-origin', headers: {\n 'Accept': 'text/html, application/xhtml+xml',\n 'X-Requested-With': 'XMLHttpRequest'\n }\n });\n\n this.ongoingFetchController = controller;\n\n try {\n const response = await promise;\n const text = await response.text();\n\n if (text.length < 1) {\n if (this.allowNewValue) {\n const newNode = this.newTemplateTarget.content.cloneNode(true);\n\n newNode.querySelector('span strong').innerText = this.inputTarget.value;\n newNode.querySelector('li').dataset.label = this.inputTarget.value;\n\n this.popupTarget.innerHTML = '';\n this.popupTarget.appendChild(newNode);\n this.enter();\n\n } else {\n this.leave();\n }\n } else {\n this.popupTarget.innerHTML = text;\n this.enter();\n }\n } catch (error) {\n console.warn(error);\n }\n }\n\n async removeOption(ev) {\n ev.preventDefault();\n\n await this.close();\n\n if (ev.currentTarget) {\n this.selectedIds.delete(+ev.currentTarget.value);\n\n ev.currentTarget.parentElement.remove();\n\n this.updateLimit();\n this.positionPopup();\n }\n }\n\n async selectOption(ev) {\n ev.preventDefault();\n\n const { dataset: { value } } = ev.currentTarget;\n\n if (value !== '' || value !== null) {\n const id = +value;\n\n this.selectedIds.add(id);\n this.addSelectedNode(ev.currentTarget.dataset.label, id);\n this.updateLimit();\n\n await this.close();\n }\n }\n\n updateFocus(newIndex, scrollTo = false) {\n this.focusedOptions.forEach(li => {\n li.classList.remove(...this.focusedClassList);\n li.removeAttribute('aria-selected');\n });\n\n this.focusedItemIndex = newIndex;\n\n if (this.focusedItemIndex === -1)\n return;\n\n const node = this.optionTargets[this.focusedItemIndex];\n\n if (!node)\n return;\n\n node.classList.add(...this.focusedClassList);\n node.setAttribute('aria-selected', 'true');\n\n this.popupTarget.setAttribute('aria-activedescendant', node.id);\n\n if (scrollTo) {\n node.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'nearest' });\n\n if (this.scrolling)\n clearTimeout(this.scrolling);\n\n this.scrolling = setTimeout(() => {\n this.scrolling = undefined;\n }, 250);\n }\n }\n\n async onBackspaceRemove() {\n await this.close();\n\n if (this.selectedIds.size > 0) {\n this.selectedIds.delete([...this.selectedIds].pop());\n this.poolTarget.querySelector('div:last-of-type').remove();\n\n this.updateLimit();\n this.positionPopup();\n }\n }\n\n async onFocusSelected(ev) {\n const option = this.optionTargets[this.focusedItemIndex];\n\n if (option) {\n const id = +option.dataset.value;\n\n this.selectedIds.add(id);\n this.addSelectedNode(option.dataset.label, id);\n this.updateLimit();\n\n await this.close();\n }\n }\n\n onNextFocusItem = () => {\n this.updateFocus(this.focusedItemIndex + 1, true);\n }\n\n onPreviousFocusItem = () => {\n this.updateFocus(this.focusedItemIndex - 1, true);\n }\n\n onScroll = () => {\n this.positionPopup();\n }\n}\n","import { Controller } from 'stimulus'\nimport { useMutation } from 'stimulus-use'\n\nexport default class extends Controller {\n static targets = ['copyInput'];\n\n connect() {\n useMutation(this, { childList: true, subtree: true })\n }\n\n mutate(entries) {\n for (const mutation of entries) {\n for (const node of mutation.addedNodes) {\n if (node.tagName == 'DIV') {\n if (node.querySelector('input') !== null) {\n this.copyInputTargets.forEach((copyInput) => {\n const inputNode = node.querySelector('input')\n const clonedNode = inputNode.cloneNode(true)\n copyInput.appendChild(clonedNode)\n })\n }\n }\n }\n\n for (const node of mutation.removedNodes) {\n if (node.tagName == 'DIV') {\n if (node.querySelector('input') !== null) {\n this.copyInputTargets.forEach((copyInput) => {\n const inputNode = node.querySelector('input')\n \n copyInput.querySelector(`input[name=\"${inputNode.name}\"]`).remove();\n })\n }\n }\n }\n }\n }\n}","import { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static targets = ['button', 'section', 'replacement'];\n\n connect() {\n }\n\n onClick() {\n this.replacementTarget.classList.remove('hidden')\n this.sectionTarget.classList.add('hidden')\n }\n}\n","import { Controller } from 'stimulus';\nimport { useWindowResize } from 'stimulus-use';\n\nexport default class extends Controller {\n connect() {\n useWindowResize(this)\n\n setTimeout(() => {\n // TODO scroll on certain turbo nav?\n window.scrollTo(0, 1);\n\n this.updateVHOverride();\n }, 1);\n }\n\n windowResize() {\n this.updateVHOverride();\n }\n\n updateVHOverride() {\n // First we get the viewport height and we multiple it by 1% to get a value for a vh unit\n let vh = window.innerHeight * 0.01;\n\n // Then we set the value in the --vh custom property to the root of the document\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n}\n","import algoliasearch from 'algoliasearch/lite';\nimport { autocomplete, getAlgoliaResults } from '@algolia/autocomplete-js';\n\nimport { Controller } from 'stimulus';\n\nexport default class extends Controller {\n static values = {\n appId: String,\n apiKey: String,\n detached: Boolean,\n filters: String,\n websiteUri: String\n };\n\n connect() {\n const searchClient = algoliasearch(this.appIdValue, this.apiKeyValue);\n const queryParams = {}\n const websiteUri = this.websiteUriValue;\n\n if (this.hasFiltersValue) {\n queryParams.filters = this.filtersValue\n }\n\n const options = {\n container: this.element,\n\n classNames: {\n root: 'rounded-lg',\n form: 'rounded-lg',\n input: 'rounded-r-lg border-gray-700 focus:border-primary-500 focus:ring-primary-500',\n inputWrapper: 'rounded-lg',\n list: 'divide-y divide-fawn-700',\n detachedSearchButton: 'rounded-md border-transparent',\n detachedSearchButtonIcon: 'text-gray-900 hover:text-primary-700'\n },\n\n placeholder: '',\n\n getSources() {\n return [{\n sourceId: 'pages',\n\n getItems({ query }) {\n return getAlgoliaResults({\n searchClient, queries: [{\n indexName: 'publicist', query, ...queryParams\n }],\n });\n },\n\n getItemUrl({ item }) {\n return `${location.origin}${item.slug}`;\n },\n\n templates: {\n item({ item, html }) {\n return html`\n ${item.title} ${item.description}
No results found.
\n