bullet_train-fields 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fc0608aabeeeffa9e1b6f928cdb3c6cc607ec1dd304a3992e5187ed10b718ef
4
- data.tar.gz: 5818bbd88cdb55548fc741726f46bf07daaba148d1dba309e08faf191aa3bf24
3
+ metadata.gz: e0c6ee9c8a4d9d7ee7adfcc87115a68917d29759e3718b6038210c5cdfb4b12a
4
+ data.tar.gz: b9bf7d09c220452ad6ac89c6367a9299065f56b3b8ff180e95cbd8373e91e7e2
5
5
  SHA512:
6
- metadata.gz: 076bc57760d0315aa4ce5997690ba94b02b48a25ee6272f86927c32bdddaaed86ded572b25c46ac417a806eb8fbcf3b37e3d2bb3e0a667551de67a299648aeb5
7
- data.tar.gz: 5bae0fc2cdfd492f82a96182ffb30d5151d2908b6b8e88147bf7a94a313b9a5d46a83fd08b208a9194d946e0fd07bd9323bf77a78518ef5559a22dd9093862b7
6
+ metadata.gz: '08a3e7f4402718678a31f0679f6afdd45e2e7fd3dc9b06d9d24e9d77425e30d84b83e6f4cfb22ee050b87a75c8b953f71ef5b12694bd522ff466c4465e4aeb20'
7
+ data.tar.gz: 2056cd6c9eccd8b4c77df97bacde3bde1259364893bf93feeaad1c73bb3b3249afac24dd7cee52d805827c7601184eb579f58a245069673dad2a546f2b04d50e
@@ -0,0 +1,2 @@
1
+ import{Controller as e}from"stimulus";import"@simonwep/pickr/dist/themes/monolith.min.css";import t from"@simonwep/pickr";import"daterangepicker";import i from"intl-tel-input";import n from"select2";import r from"tributejs";function a(e){var t=(e.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(t)return t.replace(/_/g,"-").replace(/\//g,"--")}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function l(e,t){return l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},l(e,t)}var s=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.clickShadowField=function(e){e.preventDefault(),this.shadowFieldTarget.click()},t}(e);s.targets=["shadowField"];var u=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var i=t.prototype;return i.pickImageAndUpload=function(e){e.preventDefault();var t=["local","url","camera"];this.hasGoogleApiKeyValue&&t.push("image_search");var i={cloud_name:this.cloudNameValue,apiKey:this.apiKeyValue,upload_preset:this.uploadPresetValue,upload_signature:this.getCloudinarySignature.bind(this),multiple:!1,sources:this.hasSourcesValue?this.sourcesValue.split(","):t,search_by_rights:!this.hasSearchByRightsValue||!1!==this.searchByRightsValue};this.hasGoogleApiKeyValue&&(i.google_api_key=this.googleApiKeyValue),cloudinary.openUploadWidget(i,this.handleWidgetResponse.bind(this))},i.clearImage=function(e){e.preventDefault(),this.hiddenFieldTarget.value=null,this.removeThumbnail()},i.getCloudinarySignature=function(e,t){$.ajax({url:this.signaturesUrlValue,type:"GET",dataType:"text",data:{data:t},complete:function(){console.log("complete")},success:function(t,i,n){e(t)},error:function(e,t,i){console.log(e,t,i)}})},i.handleWidgetResponse=function(e,t){if(!e&&t&&"success"===t.event){var i=t.info;this.hiddenFieldTarget.value=i.public_id,this.removeThumbnail(),this.addThumbnail(this.urlFormatValue.replace("CLOUDINARY_ID",i.public_id))}},i.addThumbnail=function(e){var t=$('<img src="'+e+'" width="'+this.widthValue+'" height="'+this.heightValue+'" data-'+this.identifier+'-target="thumbnail" />');$(this.uploadButtonTarget).prepend(t),this.uploadButtonTarget.classList.add(this.thumbnailShownClass)},i.removeThumbnail=function(){this.hasThumbnailTarget&&(this.uploadButtonTarget.removeChild(this.thumbnailTarget),this.uploadButtonTarget.classList.remove(this.thumbnailShownClass))},t}(e);u.targets=["uploadButton","hiddenField","thumbnail"],u.values={signaturesUrl:String,height:Number,width:Number,cloudName:String,apiKey:String,googleApiKey:String,urlFormat:String,sources:String,searchByRights:Boolean},u.classes=["thumbnailShown"];var c=function(e){function i(){return e.apply(this,arguments)||this}o(i,e);var n=i.prototype;return n.connect=function(){this.initPluginInstance(),this.colorOptions=$(this.colorOptionsTarget).find("button").map(function(e,t){return $(t).attr("data-color")}).get()},n.disconnect=function(){this.teardownPluginInstance()},n.pickColor=function(e){e.preventDefault();var t=e.target,i=t.dataset.color;$(this.colorInputTarget).val(i),$(this.colorPickerValueTarget).val(i),$(this.userSelectedColorTarget).data("color",i),$(".button-color").removeClass("ring-2 ring-offset-2"),this.pickr.setColor(i),t.classList.add("ring-2","ring-offset-2")},n.pickRandomColor=function(e){e.preventDefault();var t=Math.floor(256*Math.random()),i=Math.floor(256*Math.random()),n=Math.floor(256*Math.random());this.pickr.setColor("rgb "+t+" "+i+" "+n);var r=this.pickr.getColor().toHEXA().toString();this.pickr.setColor(r),this.showUserSelectedColor(r)},n.showUserSelectedColor=function(e){$(this.colorInputTarget).val(e),$(this.colorPickerValueTarget).val(e),$(".button-color").removeClass("ring-2 ring-offset-2"),$(this.userSelectedColorTarget).addClass("ring-2").addClass("ring-offset-2").css("background-color",e).css("--tw-ring-color",e).attr("data-color",e).show()},n.unpickColor=function(e){e.preventDefault(),$(this.colorPickerValueTarget).val(""),$(this.colorInputTarget).val(""),$(this.userSelectedColorTarget).hide(),$(".button-color").removeClass("ring-2 ring-offset-2")},n.togglePickr=function(e){e.preventDefault()},n.initPluginInstance=function(){var e=this;this.pickr=t.create({el:".btn-pickr",theme:"monolith",useAsButton:!0,default:this.initialColorValue||"#1E90FF",components:{preview:!0,hue:!0,interaction:{input:!0,save:!0}}}),this.pickr.on("save",function(t,i){var n=t.toHEXA().toString();e.colorOptions.includes(n)||e.showUserSelectedColor(n),e.pickr.hide()});var i=this;$('input[type="text"].pcr-result').on("keydown",function(e){"Enter"===e.key&&i.pickr.applyColor(!1)})},n.teardownPluginInstance=function(){this.pickr.destroy()},i}(e);c.targets=["colorPickerValue","colorField","colorInput","userSelectedColor","colorOptions"],c.values={initialColor:String},require("daterangepicker/daterangepicker.css");var d=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance()},i.disconnect=function(){this.teardownPluginInstance()},i.clearDate=function(e){e.preventDefault(),$(this.fieldTarget).val("")},i.applyDateToField=function(e,t){var i=this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY";$(this.fieldTarget).val(t.startDate.format(i))},i.showTimeZoneButtons=function(e){e.preventDefault(),$(this.currentTimeZoneWrapperTarget).toggleClass("hidden"),$(this.timeZoneButtonsTarget).toggleClass("hidden")},i.showTimeZoneSelectWrapper=function(e){e.preventDefault(),$(this.timeZoneButtonsTarget).toggleClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).toggleClass("hidden")},i.resetTimeZoneUI=function(e){e&&e.preventDefault(),$(this.currentTimeZoneWrapperTarget).removeClass("hidden"),$(this.timeZoneButtonsTarget).addClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).addClass("hidden")},i.setTimeZone=function(e){e.preventDefault();var t=this.currentTimeZoneWrapperTarget.querySelector("a"),i=e.target.dataset.value;$(this.timeZoneFieldTarget).val(i),$(t).text(i),$(".time-zone-button").removeClass("button").addClass("button-alternative"),$(e.target).removeClass("button-alternative").addClass("button"),this.resetTimeZoneUI()},i.initPluginInstance=function(){if($(this.fieldTarget).daterangepicker({singleDatePicker:!0,timePicker:this.includeTimeValue,timePickerIncrement:5,autoUpdateInput:!1,locale:{cancelLabel:this.hasCancelButtonLabelValue?this.cancelButtonLabelValue:"cancel",applyLabel:this.hasApplyButtonLabelValue?this.applyButtonLabelValue:"apply",format:this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY"}}),$(this.fieldTarget).on("apply.daterangepicker",this.applyDateToField.bind(this)),$(this.fieldTarget).on("cancel.daterangepicker",this.clearDate.bind(this)),this.pluginMainEl=this.fieldTarget,this.plugin=$(this.pluginMainEl).data("daterangepicker"),this.includeTimeValue&&this.hasTimeZoneSelectWrapperTarget){this.timeZoneSelect=this.timeZoneSelectWrapperTarget.querySelector("select.select2"),$(this.timeZoneSelect).select2({width:"style"});var e=this;$(this.timeZoneSelect).on("change.select2",function(t){var i=e.currentTimeZoneWrapperTarget.querySelector("a"),n=t.target.value;$(e.timeZoneFieldTarget).val(n),$(i).text(n);var r=$(".selected-option-time-zone-button");e.defaultTimeZonesValue.includes(n)?($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.addClass("hidden").attr("hidden",!0),$('a[data-value="'+n+'"').removeClass("button-alternative").addClass("button")):($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.text(n),r.attr("data-value",n).removeAttr("hidden"),r.removeClass(["hidden","button-alternative"]).addClass("button")),e.resetTimeZoneUI()})}},i.teardownPluginInstance=function(){void 0!==this.plugin&&($(this.pluginMainEl).off("apply.daterangepicker"),$(this.pluginMainEl).off("cancel.daterangepicker"),this.plugin.remove(),this.includeTimeValue&&$(this.timeZoneSelect).select2("destroy"))},t}(e);d.targets=["field","clearButton","currentTimeZoneWrapper","timeZoneButtons","timeZoneSelectWrapper","timeZoneField"],d.values={includeTime:Boolean,defaultTimeZones:Array,cancelButtonLabel:String,applyButtonLabel:String};var h=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var i=t.prototype;return i.connect=function(){var e=this,t=document.addEventListener("direct-upload:initialize",function(t){e.selectFileButtonTarget.classList.add("hidden"),e.progressBarTarget.innerText="0%",e.progressBarTarget.style.width="0%",e.progressBarTarget.setAttribute("aria-valuenow",0),e.progressBarTarget.parentNode.classList.remove("hidden")}),i=document.addEventListener("direct-upload:progress",function(t){var i=t.detail.progress,n=i.toFixed(1)+"%";e.progressBarTarget.innerText=n,e.progressBarTarget.setAttribute("aria-valuenow",i),e.progressBarTarget.style.width=n}),n=document.addEventListener("direct-upload:error",function(t){t.preventDefault(),e.progressBarTarget.innerText=t.detail.error});this.uploadListeners={"direct-upload:initialize":t,"direct-upload:progress":i,"direct-upload:error":n}},i.disconnect=function(){for(var e in this.uploadListeners)document.removeEventListener(e,this.uploadListeners[e])},i.uploadFile=function(){this.fileFieldTarget.click()},i.removeFile=function(){this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.classList.add("hidden"),this.removeFileButtonTarget.classList.add("hidden"),this.removeFileFlagTarget.value=!0},i.handleFileSelected=function(){var e=this.selectFileButtonTarget.querySelector("span"),t=this.selectFileButtonTarget.querySelector("i");this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.remove(),e.innerText="Select Another File",t.classList.remove("ti-upload"),t.classList.add("ti-check")},t}(e);h.targets=["fileField","removeFileFlag","downloadFileButton","removeFileButton","selectFileButton","progressBar"],require("intl-tel-input/build/css/intlTelInput.css");var p=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var n=t.prototype;return n.connect=function(){this.initPluginInstance()},n.disconnect=function(){this.teardownPluginInstance()},n.initPluginInstance=function(){var e,t={hiddenInput:this.fieldTarget.dataset.method,customContainer:"w-full"},n=(e=document.head.querySelector('meta[name="intl_tel_input_utils_path"]'))&&e.content;n&&(t.utilsScript=n),this.plugin=i(this.fieldTarget,t)},n.teardownPluginInstance=function(){void 0!==this.plugin&&this.plugin.destroy()},t}(e);p.targets=["field"],require("select2/dist/css/select2.min.css");var g=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var i,r,a=t.prototype;return a.initialize=function(){this.isSelect2LoadedOnWindowJquery&&n(window.$)},a.connect=function(){this.isSelect2LoadedOnWindowJquery&&this.initPluginInstance()},a.disconnect=function(){this.teardownPluginInstance()},a.cleanupBeforeInit=function(){$(this.element).find(".select2-container--default").remove()},a.initPluginInstance=function(){var e={};this.enableSearchValue||(e.minimumResultsForSearch=-1),e.tags=this.acceptsNewValue,this.searchUrlValue&&(e.ajax={url:this.searchUrlValue,dataType:"json",data:function(e){return{search:e.term,page:e.page||1}}}),e.templateResult=this.formatState,e.templateSelection=this.formatState,e.width="style",this.cleanupBeforeInit(),this.pluginMainEl=this.selectTarget,$(this.pluginMainEl).select2(e)},a.teardownPluginInstance=function(){void 0!==this.pluginMainEl&&$(this.pluginMainEl).select2("destroy")},a.formatState=function(e){var t=$(e.element).attr("data-image"),i="";return t&&(i='<img src="'+t+'" /> '),$("<span>"+i+e.text+"</span>")},i=t,(r=[{key:"isSelect2LoadedOnWindowJquery",get:function(){return void 0!==window.$&&void 0===window.$.select2}}])&&function(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(i.prototype,r),Object.defineProperty(i,"prototype",{writable:!1}),t}(e);g.targets=["select"],g.values={acceptsNew:Boolean,enableSearch:Boolean,searchUrl:String};var m=[[s,"fields/button_toggle_controller.js"],[u,"fields/cloudinary_image_controller.js"],[c,"fields/color_picker_controller.js"],[d,"fields/date_controller.js"],[h,"fields/file_field_controller.js"],[p,"fields/phone_controller.js"],[g,"fields/super_select_controller.js"]].map(function(e){var t=e[0];return{identifier:a(e[1]),controllerConstructor:t}});function f(){document.addEventListener("trix-initialize",function(){addEventListener("trix-focus",v),addEventListener("trix-blur",v),v(),document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.editor,n={trigger:"@",values:JSON.parse(i.element.dataset.mentions),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""},a={trigger:"#",values:JSON.parse(i.element.dataset.topics),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""};new r({collection:[a,n]}).attach(e)})})}function v(){document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.toolbarElement;e==document.activeElement?i.classList.add("visible"):i.contains(document.activeElement)||i.classList.remove("visible")})}require("trix/dist/trix.css"),require("trix"),require("@rails/actiontext");export{s as ButtonToggleController,u as CloudinaryImageController,c as ColorPickerController,d as DateController,h as FileFieldController,p as PhoneController,g as SuperSelectController,m as controllerDefinitions,f as trixEditor};
2
+ //# sourceMappingURL=fields.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.esm.js","sources":["../../../node_modules/@stimulus/webpack-helpers/dist/index.js","../../javascript/controllers/fields/button_toggle_controller.js","../../javascript/controllers/fields/cloudinary_image_controller.js","../../javascript/controllers/fields/color_picker_controller.js","../../javascript/controllers/fields/date_controller.js","../../javascript/controllers/fields/file_field_controller.js","../../javascript/controllers/fields/phone_controller.js","../../javascript/controllers/fields/super_select_controller.js","../../javascript/controllers/index.js","../../javascript/trix_editor.js"],"sourcesContent":["export function definitionsFromContext(context) {\n return context.keys()\n .map(function (key) { return definitionForModuleWithContextAndKey(context, key); })\n .filter(function (value) { return value; });\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier: identifier, controllerConstructor: controllerConstructor };\n }\n}\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n//# sourceMappingURL=index.js.map","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"shadowField\" ]\n\n clickShadowField(event) {\n // we have to stop safari from doing what we originally expected.\n event.preventDefault();\n\n // then we need to manually click the hidden checkbox or radio button ourselves.\n this.shadowFieldTarget.click()\n }\n}","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"uploadButton\", \"hiddenField\", \"thumbnail\" ]\n static values = { \n signaturesUrl: String,\n height: Number,\n width: Number,\n cloudName: String,\n apiKey: String,\n googleApiKey: String,\n urlFormat: String,\n sources: String,\n searchByRights: Boolean\n }\n static classes = [ \"thumbnailShown\" ]\n\n pickImageAndUpload(event) {\n // don't submit the form.\n event.preventDefault()\n\n // prepare the list of default sources a user can upload an image from.\n var defaultSources = ['local', 'url', 'camera']\n if (this.hasGoogleApiKeyValue) {\n defaultSources.push('image_search')\n }\n\n // configure cloudinary's uploader's options.\n // many of these are configurable at the point where the `shared/fields/cloudinary_image` partial is included.\n var options = {\n cloud_name: this.cloudNameValue,\n apiKey: this.apiKeyValue,\n upload_preset: this.uploadPresetValue,\n upload_signature: this.getCloudinarySignature.bind(this),\n multiple: false,\n sources: this.hasSourcesValue ? this.sourcesValue.split(',') : defaultSources,\n search_by_rights: this.hasSearchByRightsValue && this.searchByRightsValue === false ? false : true // default to true.\n }\n \n if (this.hasGoogleApiKeyValue) {\n options['google_api_key'] = this.googleApiKeyValue\n }\n \n // open cloudinary's upload widget.\n cloudinary.openUploadWidget(options, this.handleWidgetResponse.bind(this))\n }\n \n clearImage(event) {\n // don't submit the form.\n event.preventDefault()\n\n // clear the cloudinary id.\n this.hiddenFieldTarget.value = null\n \n // remove any existing image from the button.\n this.removeThumbnail()\n }\n \n getCloudinarySignature(callback, paramsToSign) {\n $.ajax({\n url: this.signaturesUrlValue,\n type: \"GET\",\n dataType: \"text\",\n data: {data: paramsToSign},\n complete: function() { console.log(\"complete\") },\n success: function(signature, textStatus, xhr) { callback(signature) },\n error: function(xhr, status, error) { console.log(xhr, status, error) }\n })\n }\n \n handleWidgetResponse(error, response) {\n // after the user has successfully uploaded a single file ..\n if (!error && response && response.event === \"success\") { \n const data = response.info\n \n // update the cloudinary id field in the form.\n this.hiddenFieldTarget.value = data.public_id\n\n // remove any existing image.\n this.removeThumbnail()\n\n // generate a new image preview url.\n this.addThumbnail(this.urlFormatValue.replace('CLOUDINARY_ID', data.public_id))\n }\n }\n \n addThumbnail(url) {\n var $imageElement = $(`<img src=\"${url}\" width=\"${this.widthValue}\" height=\"${this.heightValue}\" data-${this.identifier}-target=\"thumbnail\" />`)\n $(this.uploadButtonTarget).prepend($imageElement)\n\n // mark the image as present.\n this.uploadButtonTarget.classList.add(this.thumbnailShownClass)\n }\n \n removeThumbnail() {\n if (!this.hasThumbnailTarget) { return }\n this.uploadButtonTarget.removeChild(this.thumbnailTarget)\n this.uploadButtonTarget.classList.remove(this.thumbnailShownClass)\n }\n}\n","import { Controller } from \"stimulus\"\nimport '@simonwep/pickr/dist/themes/monolith.min.css'\n\nimport Pickr from '@simonwep/pickr';\n\nexport default class extends Controller {\n static targets = [ \"colorPickerValue\", \"colorField\", \"colorInput\", \"userSelectedColor\", \"colorOptions\" ];\n static values = { initialColor: String }\n\n connect() {\n this.initPluginInstance()\n this.colorOptions = $(this.colorOptionsTarget).find('button').map(function (_, button) { return $(button).attr('data-color'); }).get()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n pickColor(event) {\n event.preventDefault();\n\n const targetEl = event.target;\n const color = targetEl.dataset.color;\n\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n $(this.userSelectedColorTarget).data('color', color);\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n this.pickr.setColor(color);\n\n targetEl.classList.add('ring-2', 'ring-offset-2');\n }\n\n pickRandomColor(event) {\n event.preventDefault();\n\n const r = Math.floor(Math.random() * 256);\n const g = Math.floor(Math.random() * 256);\n const b = Math.floor(Math.random() * 256);\n\n this.pickr.setColor(`rgb ${r} ${g} ${b}`);\n const hexColor = this.pickr.getColor().toHEXA().toString();\n this.pickr.setColor(hexColor);\n\n this.showUserSelectedColor(hexColor);\n }\n\n showUserSelectedColor(color) {\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n $(this.userSelectedColorTarget)\n .addClass('ring-2')\n .addClass('ring-offset-2')\n .css('background-color', color)\n .css('--tw-ring-color', color)\n .attr('data-color', color)\n .show();\n }\n\n unpickColor(event) {\n event.preventDefault();\n $(this.colorPickerValueTarget).val('');\n $(this.colorInputTarget).val('');\n $(this.userSelectedColorTarget).hide();\n $('.button-color').removeClass('ring-2 ring-offset-2');\n }\n\n togglePickr(event) {\n event.preventDefault();\n }\n\n initPluginInstance() {\n this.pickr = Pickr.create({\n el: '.btn-pickr',\n theme: 'monolith',\n useAsButton: true,\n default: this.initialColorValue || '#1E90FF',\n components: {\n // Main components\n preview: true,\n hue: true,\n\n // Input / output Options\n interaction: {\n input: true,\n save: true,\n },\n }\n });\n\n this.pickr.on('save', (color, _instance) => {\n const hexaColor = color.toHEXA().toString()\n if (!this.colorOptions.includes(hexaColor)) {\n this.showUserSelectedColor(hexaColor);\n }\n this.pickr.hide();\n });\n\n const that = this\n\n $('input[type=\"text\"].pcr-result').on('keydown', function (e) {\n if (e.key === 'Enter') {\n that.pickr.applyColor(false)\n }\n })\n }\n\n teardownPluginInstance() {\n this.pickr.destroy()\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"daterangepicker/daterangepicker.css\");\n\n// requires jQuery, moment, might want to consider a vanilla JS alternative\nimport 'daterangepicker';\n\nexport default class extends Controller {\n static targets = [ \"field\", \"clearButton\", \"currentTimeZoneWrapper\", \"timeZoneButtons\", \"timeZoneSelectWrapper\", \"timeZoneField\" ]\n static values = {\n includeTime: Boolean,\n defaultTimeZones: Array,\n cancelButtonLabel: String,\n applyButtonLabel: String\n }\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n clearDate(event) {\n // don't submit the form, unless it originated from the cancel/clear button\n event.preventDefault()\n\n $(this.fieldTarget).val('')\n }\n\n applyDateToField(event, picker) {\n const format = this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n $(this.fieldTarget).val(picker.startDate.format(format))\n }\n\n showTimeZoneButtons(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).toggleClass('hidden')\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n }\n\n showTimeZoneSelectWrapper(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).toggleClass('hidden')\n }\n }\n\n resetTimeZoneUI(e) {\n e && e.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).removeClass('hidden')\n $(this.timeZoneButtonsTarget).addClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).addClass('hidden')\n }\n }\n\n setTimeZone(event) {\n // don't follow the anchor\n event.preventDefault()\n\n const currentTimeZoneEl = this.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target.dataset\n\n $(this.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n $(event.target).removeClass('button-alternative').addClass('button')\n\n this.resetTimeZoneUI()\n }\n\n initPluginInstance() {\n $(this.fieldTarget).daterangepicker({\n singleDatePicker: true,\n timePicker: this.includeTimeValue,\n timePickerIncrement: 5,\n autoUpdateInput: false,\n locale: {\n cancelLabel: (this.hasCancelButtonLabelValue)? this.cancelButtonLabelValue: \"cancel\",\n applyLabel: (this.hasApplyButtonLabelValue)? this.applyButtonLabelValue: \"apply\",\n format: this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n }\n })\n\n $(this.fieldTarget).on('apply.daterangepicker', this.applyDateToField.bind(this))\n $(this.fieldTarget).on('cancel.daterangepicker', this.clearDate.bind(this))\n\n this.pluginMainEl = this.fieldTarget\n this.plugin = $(this.pluginMainEl).data('daterangepicker') // weird\n\n // Init time zone select\n if (this.includeTimeValue && this.hasTimeZoneSelectWrapperTarget) {\n this.timeZoneSelect = this.timeZoneSelectWrapperTarget.querySelector('select.select2')\n\n $(this.timeZoneSelect).select2({\n width: 'style'\n })\n\n const self = this\n\n $(this.timeZoneSelect).on('change.select2', function(event) {\n const currentTimeZoneEl = self.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target\n\n $(self.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n const selectedOptionTimeZoneButton = $('.selected-option-time-zone-button')\n\n if (self.defaultTimeZonesValue.includes(value)) {\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n selectedOptionTimeZoneButton.addClass('hidden').attr('hidden', true)\n $(`a[data-value=\"${value}\"`).removeClass('button-alternative').addClass('button')\n } else {\n // deselect any selected button\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n\n selectedOptionTimeZoneButton.text(value)\n selectedOptionTimeZoneButton.attr('data-value', value).removeAttr('hidden')\n selectedOptionTimeZoneButton.removeClass(['hidden', 'button-alternative']).addClass('button')\n }\n\n self.resetTimeZoneUI()\n })\n }\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n $(this.pluginMainEl).off('apply.daterangepicker')\n $(this.pluginMainEl).off('cancel.daterangepicker')\n\n // revert to original markup, remove any event listeners\n this.plugin.remove()\n\n if (this.includeTimeValue) {\n $(this.timeZoneSelect).select2('destroy');\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\n \"fileField\",\n \"removeFileFlag\",\n \"downloadFileButton\",\n \"removeFileButton\",\n \"selectFileButton\",\n \"progressBar\",\n ];\n\n connect() {\n // Add upload event listeners\n const initializeListener = document.addEventListener(\n \"direct-upload:initialize\",\n (event) => {\n this.selectFileButtonTarget.classList.add(\"hidden\");\n this.progressBarTarget.innerText = \"0%\";\n this.progressBarTarget.style.width = \"0%\";\n this.progressBarTarget.setAttribute(\"aria-valuenow\", 0);\n this.progressBarTarget.parentNode.classList.remove(\"hidden\");\n }\n );\n\n const progressListener = document.addEventListener(\n \"direct-upload:progress\",\n (event) => {\n const { progress } = event.detail;\n const width = `${progress.toFixed(1)}%`;\n\n this.progressBarTarget.innerText = width;\n this.progressBarTarget.setAttribute(\"aria-valuenow\", progress);\n this.progressBarTarget.style.width = width;\n }\n );\n\n const errorListener = document.addEventListener(\n \"direct-upload:error\",\n (event) => {\n event.preventDefault();\n\n const { error } = event.detail;\n this.progressBarTarget.innerText = error;\n }\n );\n\n this.uploadListeners = {\n \"direct-upload:initialize\": initializeListener,\n \"direct-upload:progress\": progressListener,\n \"direct-upload:error\": errorListener,\n };\n }\n\n disconnect() {\n // Teardown event listeners\n for (const event in this.uploadListeners) {\n document.removeEventListener(event, this.uploadListeners[event]);\n }\n }\n\n uploadFile() {\n this.fileFieldTarget.click();\n }\n\n removeFile() {\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.classList.add(\"hidden\");\n }\n\n this.removeFileButtonTarget.classList.add(\"hidden\");\n this.removeFileFlagTarget.value = true;\n }\n\n handleFileSelected() {\n const statusText = this.selectFileButtonTarget.querySelector(\"span\");\n const icon = this.selectFileButtonTarget.querySelector(\"i\");\n\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.remove();\n }\n\n statusText.innerText = \"Select Another File\";\n icon.classList.remove(\"ti-upload\");\n icon.classList.add(\"ti-check\");\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"intl-tel-input/build/css/intlTelInput.css\");\nimport intlTelInput from 'intl-tel-input';\n\nexport default class extends Controller {\n static targets = [ \"field\" ]\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n initPluginInstance() {\n let options = {\n hiddenInput: this.fieldTarget.dataset.method,\n customContainer: \"w-full\"\n }\n\n // TODO: add instructions on how to copy this asset into the application's assets path and write the meta tag into the head (via the engine?)\n const utilsScriptPath = metaContent(\"intl_tel_input_utils_path\")\n if (utilsScriptPath) {\n options['utilsScript'] = utilsScriptPath\n }\n\n this.plugin = intlTelInput(this.fieldTarget, options);\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n // revert to original markup, remove any event listeners\n this.plugin.destroy()\n }\n}\n\nfunction metaContent (name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`)\n return element && element.content\n}","import { Controller } from \"stimulus\"\nrequire(\"select2/dist/css/select2.min.css\");\nimport select2 from \"select2\";\n\nexport default class extends Controller {\n static targets = [ \"select\" ]\n static values = {\n acceptsNew: Boolean,\n enableSearch: Boolean,\n searchUrl: String,\n }\n\n initialize() {\n if (this.isSelect2LoadedOnWindowJquery) {\n select2(window.$)\n }\n }\n\n get isSelect2LoadedOnWindowJquery() {\n return (window.$ !== undefined && window.$.select2 === undefined)\n }\n\n connect() {\n if (this.isSelect2LoadedOnWindowJquery) {\n this.initPluginInstance()\n }\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n cleanupBeforeInit() {\n $(this.element).find('.select2-container--default').remove()\n }\n\n initPluginInstance() {\n let options = {};\n\n if (!this.enableSearchValue) {\n options.minimumResultsForSearch = -1;\n }\n\n options.tags = this.acceptsNewValue\n\n if (this.searchUrlValue) {\n options.ajax = {\n url: this.searchUrlValue,\n dataType: 'json',\n // We enable pagination by default here\n data: function(params) {\n var query = {\n search: params.term,\n page: params.page || 1\n }\n return query\n }\n // Any additional params go here...\n }\n }\n\n options.templateResult = this.formatState;\n options.templateSelection = this.formatState;\n options.width = 'style';\n\n this.cleanupBeforeInit() // in case improperly torn down\n this.pluginMainEl = this.selectTarget // required because this.selectTarget is unavailable on disconnect()\n $(this.pluginMainEl).select2(options);\n }\n\n teardownPluginInstance() {\n if (this.pluginMainEl === undefined) { return }\n\n // revert to original markup, remove any event listeners\n $(this.pluginMainEl).select2('destroy');\n }\n\n // https://stackoverflow.com/questions/29290389/select2-add-image-icon-to-option-dynamically\n formatState(opt) {\n var imageUrl = $(opt.element).attr('data-image');\n var imageHtml = \"\";\n if (imageUrl) {\n imageHtml = '<img src=\"' + imageUrl + '\" /> ';\n }\n return $('<span>' + imageHtml + opt.text + '</span>');\n }\n}\n","import { identifierForContextKey } from \"@stimulus/webpack-helpers\"\n\nimport ButtonToggleController from './fields/button_toggle_controller'\nimport CloudinaryImageController from './fields/cloudinary_image_controller'\nimport ColorPickerController from './fields/color_picker_controller'\nimport DateController from './fields/date_controller'\nimport FileFieldController from './fields/file_field_controller'\nimport PhoneController from './fields/phone_controller'\nimport SuperSelectController from './fields/super_select_controller'\n\nexport const controllerDefinitions = [\n [ButtonToggleController, 'fields/button_toggle_controller.js'],\n [CloudinaryImageController, 'fields/cloudinary_image_controller.js'],\n [ColorPickerController, 'fields/color_picker_controller.js'],\n [DateController, 'fields/date_controller.js'],\n [FileFieldController, 'fields/file_field_controller.js'],\n [PhoneController, 'fields/phone_controller.js'],\n [SuperSelectController, 'fields/super_select_controller.js']\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n ButtonToggleController,\n CloudinaryImageController,\n ColorPickerController,\n DateController,\n FileFieldController,\n PhoneController,\n SuperSelectController\n}","import Tribute from 'tributejs'\nrequire(\"trix/dist/trix.css\");\n\nrequire(\"trix\")\nrequire(\"@rails/actiontext\")\n\n// only show the editor tool bar when the user is editing the field.\n// inspired by https://github.com/basecamp/trix/issues/343 and `app/assets/stylesheets/account/fields/trix_editor.scss`\n\nexport function trixEditor() {\n document.addEventListener('trix-initialize', function() {\n addEventListener(\"trix-focus\", updateTrixToolbarVisability);\n addEventListener(\"trix-blur\", updateTrixToolbarVisability);\n updateTrixToolbarVisability();\n initializeTribute();\n })\n}\n\nfunction updateTrixToolbarVisability() {\n document.querySelectorAll(\"trix-editor\").forEach((editorElement, index) => {\n var toolbarElement = editorElement.toolbarElement;\n if (editorElement == document.activeElement) {\n toolbarElement.classList.add('visible');\n } else {\n // don't hide the toolbar if we've unfocused to focus on the link dialog.\n if (!toolbarElement.contains(document.activeElement)) {\n toolbarElement.classList.remove('visible');\n }\n }\n })\n}\n\nfunction initializeTribute() {\n document.querySelectorAll(\"trix-editor\").forEach((el, index) => {\n var editor = el.editor;\n \n var mentionConfig = {\n trigger: '@',\n values: JSON.parse(editor.element.dataset.mentions),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var topicConfig = {\n trigger: '#',\n values: JSON.parse(editor.element.dataset.topics),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var tribute = new Tribute({\n collection: [topicConfig, mentionConfig],\n });\n \n tribute.attach(el);\n })\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","clickShadowField","event","preventDefault","this","shadowFieldTarget","click","Controller","targets","pickImageAndUpload","defaultSources","hasGoogleApiKeyValue","push","options","cloud_name","cloudNameValue","apiKey","apiKeyValue","upload_preset","uploadPresetValue","upload_signature","getCloudinarySignature","bind","multiple","sources","hasSourcesValue","sourcesValue","split","search_by_rights","hasSearchByRightsValue","searchByRightsValue","googleApiKeyValue","cloudinary","openUploadWidget","handleWidgetResponse","clearImage","hiddenFieldTarget","value","removeThumbnail","callback","paramsToSign","$","ajax","url","signaturesUrlValue","type","dataType","data","complete","console","log","success","signature","textStatus","xhr","error","status","response","info","public_id","addThumbnail","urlFormatValue","$imageElement","widthValue","heightValue","identifier","uploadButtonTarget","prepend","classList","add","thumbnailShownClass","hasThumbnailTarget","removeChild","thumbnailTarget","remove","values","signaturesUrl","String","height","Number","width","cloudName","googleApiKey","urlFormat","searchByRights","Boolean","classes","connect","initPluginInstance","colorOptions","colorOptionsTarget","find","map","_","button","attr","get","disconnect","teardownPluginInstance","pickColor","targetEl","target","color","dataset","colorInputTarget","val","colorPickerValueTarget","userSelectedColorTarget","removeClass","pickr","setColor","pickRandomColor","r","Math","floor","random","g","b","hexColor","getColor","toHEXA","toString","showUserSelectedColor","addClass","css","show","unpickColor","hide","togglePickr","Pickr","create","el","theme","useAsButton","default","initialColorValue","components","preview","hue","interaction","input","save","on","_instance","hexaColor","_this","includes","that","e","applyColor","destroy","initialColor","require","clearDate","fieldTarget","applyDateToField","picker","format","includeTimeValue","startDate","showTimeZoneButtons","currentTimeZoneWrapperTarget","toggleClass","timeZoneButtonsTarget","showTimeZoneSelectWrapper","hasTimeZoneSelectWrapperTarget","timeZoneSelectWrapperTarget","resetTimeZoneUI","setTimeZone","currentTimeZoneEl","querySelector","timeZoneFieldTarget","text","daterangepicker","singleDatePicker","timePicker","timePickerIncrement","autoUpdateInput","locale","cancelLabel","hasCancelButtonLabelValue","cancelButtonLabelValue","applyLabel","hasApplyButtonLabelValue","applyButtonLabelValue","pluginMainEl","plugin","timeZoneSelect","select2","self","selectedOptionTimeZoneButton","defaultTimeZonesValue","removeAttr","undefined","off","includeTime","defaultTimeZones","Array","cancelButtonLabel","applyButtonLabel","initializeListener","document","addEventListener","selectFileButtonTarget","progressBarTarget","innerText","style","setAttribute","parentNode","progressListener","progress","detail","toFixed","errorListener","uploadListeners","removeEventListener","uploadFile","fileFieldTarget","removeFile","hasDownloadFileButtonTarget","downloadFileButtonTarget","removeFileButtonTarget","removeFileFlagTarget","handleFileSelected","statusText","icon","element","hiddenInput","method","customContainer","utilsScriptPath","head","content","intlTelInput","initialize","isSelect2LoadedOnWindowJquery","window","cleanupBeforeInit","enableSearchValue","minimumResultsForSearch","tags","acceptsNewValue","searchUrlValue","params","search","term","page","templateResult","formatState","templateSelection","selectTarget","opt","imageUrl","imageHtml","acceptsNew","enableSearch","searchUrl","controllerDefinitions","ButtonToggleController","CloudinaryImageController","ColorPickerController","DateController","FileFieldController","PhoneController","SuperSelectController","d","controller","controllerConstructor","trixEditor","updateTrixToolbarVisability","querySelectorAll","forEach","index","editor","mentionConfig","trigger","JSON","parse","mentions","selectTemplate","item","original","protocol","model","id","label","menuItemTemplate","photo","string","requireLeadingSpace","replaceTextSuffix","topicConfig","topics","Tribute","collection","attach","editorElement","toolbarElement","activeElement","contains"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=require("stimulus");require("@simonwep/pickr/dist/themes/monolith.min.css");var t=require("@simonwep/pickr");require("daterangepicker");var i=require("intl-tel-input"),r=require("select2"),n=require("tributejs");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=a(t),l=a(i),s=a(r),u=a(n);function c(e){var t=(e.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(t)return t.replace(/_/g,"-").replace(/\//g,"--")}function d(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},h(e,t)}var p=function(e){function t(){return e.apply(this,arguments)||this}return d(t,e),t.prototype.clickShadowField=function(e){e.preventDefault(),this.shadowFieldTarget.click()},t}(e.Controller);p.targets=["shadowField"];var g=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i=t.prototype;return i.pickImageAndUpload=function(e){e.preventDefault();var t=["local","url","camera"];this.hasGoogleApiKeyValue&&t.push("image_search");var i={cloud_name:this.cloudNameValue,apiKey:this.apiKeyValue,upload_preset:this.uploadPresetValue,upload_signature:this.getCloudinarySignature.bind(this),multiple:!1,sources:this.hasSourcesValue?this.sourcesValue.split(","):t,search_by_rights:!this.hasSearchByRightsValue||!1!==this.searchByRightsValue};this.hasGoogleApiKeyValue&&(i.google_api_key=this.googleApiKeyValue),cloudinary.openUploadWidget(i,this.handleWidgetResponse.bind(this))},i.clearImage=function(e){e.preventDefault(),this.hiddenFieldTarget.value=null,this.removeThumbnail()},i.getCloudinarySignature=function(e,t){$.ajax({url:this.signaturesUrlValue,type:"GET",dataType:"text",data:{data:t},complete:function(){console.log("complete")},success:function(t,i,r){e(t)},error:function(e,t,i){console.log(e,t,i)}})},i.handleWidgetResponse=function(e,t){if(!e&&t&&"success"===t.event){var i=t.info;this.hiddenFieldTarget.value=i.public_id,this.removeThumbnail(),this.addThumbnail(this.urlFormatValue.replace("CLOUDINARY_ID",i.public_id))}},i.addThumbnail=function(e){var t=$('<img src="'+e+'" width="'+this.widthValue+'" height="'+this.heightValue+'" data-'+this.identifier+'-target="thumbnail" />');$(this.uploadButtonTarget).prepend(t),this.uploadButtonTarget.classList.add(this.thumbnailShownClass)},i.removeThumbnail=function(){this.hasThumbnailTarget&&(this.uploadButtonTarget.removeChild(this.thumbnailTarget),this.uploadButtonTarget.classList.remove(this.thumbnailShownClass))},t}(e.Controller);g.targets=["uploadButton","hiddenField","thumbnail"],g.values={signaturesUrl:String,height:Number,width:Number,cloudName:String,apiKey:String,googleApiKey:String,urlFormat:String,sources:String,searchByRights:Boolean},g.classes=["thumbnailShown"];var f=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance(),this.colorOptions=$(this.colorOptionsTarget).find("button").map(function(e,t){return $(t).attr("data-color")}).get()},i.disconnect=function(){this.teardownPluginInstance()},i.pickColor=function(e){e.preventDefault();var t=e.target,i=t.dataset.color;$(this.colorInputTarget).val(i),$(this.colorPickerValueTarget).val(i),$(this.userSelectedColorTarget).data("color",i),$(".button-color").removeClass("ring-2 ring-offset-2"),this.pickr.setColor(i),t.classList.add("ring-2","ring-offset-2")},i.pickRandomColor=function(e){e.preventDefault();var t=Math.floor(256*Math.random()),i=Math.floor(256*Math.random()),r=Math.floor(256*Math.random());this.pickr.setColor("rgb "+t+" "+i+" "+r);var n=this.pickr.getColor().toHEXA().toString();this.pickr.setColor(n),this.showUserSelectedColor(n)},i.showUserSelectedColor=function(e){$(this.colorInputTarget).val(e),$(this.colorPickerValueTarget).val(e),$(".button-color").removeClass("ring-2 ring-offset-2"),$(this.userSelectedColorTarget).addClass("ring-2").addClass("ring-offset-2").css("background-color",e).css("--tw-ring-color",e).attr("data-color",e).show()},i.unpickColor=function(e){e.preventDefault(),$(this.colorPickerValueTarget).val(""),$(this.colorInputTarget).val(""),$(this.userSelectedColorTarget).hide(),$(".button-color").removeClass("ring-2 ring-offset-2")},i.togglePickr=function(e){e.preventDefault()},i.initPluginInstance=function(){var e=this;this.pickr=o.default.create({el:".btn-pickr",theme:"monolith",useAsButton:!0,default:this.initialColorValue||"#1E90FF",components:{preview:!0,hue:!0,interaction:{input:!0,save:!0}}}),this.pickr.on("save",function(t,i){var r=t.toHEXA().toString();e.colorOptions.includes(r)||e.showUserSelectedColor(r),e.pickr.hide()});var t=this;$('input[type="text"].pcr-result').on("keydown",function(e){"Enter"===e.key&&t.pickr.applyColor(!1)})},i.teardownPluginInstance=function(){this.pickr.destroy()},t}(e.Controller);f.targets=["colorPickerValue","colorField","colorInput","userSelectedColor","colorOptions"],f.values={initialColor:String},require("daterangepicker/daterangepicker.css");var m=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance()},i.disconnect=function(){this.teardownPluginInstance()},i.clearDate=function(e){e.preventDefault(),$(this.fieldTarget).val("")},i.applyDateToField=function(e,t){var i=this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY";$(this.fieldTarget).val(t.startDate.format(i))},i.showTimeZoneButtons=function(e){e.preventDefault(),$(this.currentTimeZoneWrapperTarget).toggleClass("hidden"),$(this.timeZoneButtonsTarget).toggleClass("hidden")},i.showTimeZoneSelectWrapper=function(e){e.preventDefault(),$(this.timeZoneButtonsTarget).toggleClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).toggleClass("hidden")},i.resetTimeZoneUI=function(e){e&&e.preventDefault(),$(this.currentTimeZoneWrapperTarget).removeClass("hidden"),$(this.timeZoneButtonsTarget).addClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).addClass("hidden")},i.setTimeZone=function(e){e.preventDefault();var t=this.currentTimeZoneWrapperTarget.querySelector("a"),i=e.target.dataset.value;$(this.timeZoneFieldTarget).val(i),$(t).text(i),$(".time-zone-button").removeClass("button").addClass("button-alternative"),$(e.target).removeClass("button-alternative").addClass("button"),this.resetTimeZoneUI()},i.initPluginInstance=function(){if($(this.fieldTarget).daterangepicker({singleDatePicker:!0,timePicker:this.includeTimeValue,timePickerIncrement:5,autoUpdateInput:!1,locale:{cancelLabel:this.hasCancelButtonLabelValue?this.cancelButtonLabelValue:"cancel",applyLabel:this.hasApplyButtonLabelValue?this.applyButtonLabelValue:"apply",format:this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY"}}),$(this.fieldTarget).on("apply.daterangepicker",this.applyDateToField.bind(this)),$(this.fieldTarget).on("cancel.daterangepicker",this.clearDate.bind(this)),this.pluginMainEl=this.fieldTarget,this.plugin=$(this.pluginMainEl).data("daterangepicker"),this.includeTimeValue&&this.hasTimeZoneSelectWrapperTarget){this.timeZoneSelect=this.timeZoneSelectWrapperTarget.querySelector("select.select2"),$(this.timeZoneSelect).select2({width:"style"});var e=this;$(this.timeZoneSelect).on("change.select2",function(t){var i=e.currentTimeZoneWrapperTarget.querySelector("a"),r=t.target.value;$(e.timeZoneFieldTarget).val(r),$(i).text(r);var n=$(".selected-option-time-zone-button");e.defaultTimeZonesValue.includes(r)?($(".time-zone-button").removeClass("button").addClass("button-alternative"),n.addClass("hidden").attr("hidden",!0),$('a[data-value="'+r+'"').removeClass("button-alternative").addClass("button")):($(".time-zone-button").removeClass("button").addClass("button-alternative"),n.text(r),n.attr("data-value",r).removeAttr("hidden"),n.removeClass(["hidden","button-alternative"]).addClass("button")),e.resetTimeZoneUI()})}},i.teardownPluginInstance=function(){void 0!==this.plugin&&($(this.pluginMainEl).off("apply.daterangepicker"),$(this.pluginMainEl).off("cancel.daterangepicker"),this.plugin.remove(),this.includeTimeValue&&$(this.timeZoneSelect).select2("destroy"))},t}(e.Controller);m.targets=["field","clearButton","currentTimeZoneWrapper","timeZoneButtons","timeZoneSelectWrapper","timeZoneField"],m.values={includeTime:Boolean,defaultTimeZones:Array,cancelButtonLabel:String,applyButtonLabel:String};var v=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i=t.prototype;return i.connect=function(){var e=this,t=document.addEventListener("direct-upload:initialize",function(t){e.selectFileButtonTarget.classList.add("hidden"),e.progressBarTarget.innerText="0%",e.progressBarTarget.style.width="0%",e.progressBarTarget.setAttribute("aria-valuenow",0),e.progressBarTarget.parentNode.classList.remove("hidden")}),i=document.addEventListener("direct-upload:progress",function(t){var i=t.detail.progress,r=i.toFixed(1)+"%";e.progressBarTarget.innerText=r,e.progressBarTarget.setAttribute("aria-valuenow",i),e.progressBarTarget.style.width=r}),r=document.addEventListener("direct-upload:error",function(t){t.preventDefault(),e.progressBarTarget.innerText=t.detail.error});this.uploadListeners={"direct-upload:initialize":t,"direct-upload:progress":i,"direct-upload:error":r}},i.disconnect=function(){for(var e in this.uploadListeners)document.removeEventListener(e,this.uploadListeners[e])},i.uploadFile=function(){this.fileFieldTarget.click()},i.removeFile=function(){this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.classList.add("hidden"),this.removeFileButtonTarget.classList.add("hidden"),this.removeFileFlagTarget.value=!0},i.handleFileSelected=function(){var e=this.selectFileButtonTarget.querySelector("span"),t=this.selectFileButtonTarget.querySelector("i");this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.remove(),e.innerText="Select Another File",t.classList.remove("ti-upload"),t.classList.add("ti-check")},t}(e.Controller);v.targets=["fileField","removeFileFlag","downloadFileButton","removeFileButton","selectFileButton","progressBar"],require("intl-tel-input/build/css/intlTelInput.css");var T=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance()},i.disconnect=function(){this.teardownPluginInstance()},i.initPluginInstance=function(){var e,t={hiddenInput:this.fieldTarget.dataset.method,customContainer:"w-full"},i=(e=document.head.querySelector('meta[name="intl_tel_input_utils_path"]'))&&e.content;i&&(t.utilsScript=i),this.plugin=l.default(this.fieldTarget,t)},i.teardownPluginInstance=function(){void 0!==this.plugin&&this.plugin.destroy()},t}(e.Controller);T.targets=["field"],require("select2/dist/css/select2.min.css");var y=function(e){function t(){return e.apply(this,arguments)||this}d(t,e);var i,r,n=t.prototype;return n.initialize=function(){this.isSelect2LoadedOnWindowJquery&&s.default(window.$)},n.connect=function(){this.isSelect2LoadedOnWindowJquery&&this.initPluginInstance()},n.disconnect=function(){this.teardownPluginInstance()},n.cleanupBeforeInit=function(){$(this.element).find(".select2-container--default").remove()},n.initPluginInstance=function(){var e={};this.enableSearchValue||(e.minimumResultsForSearch=-1),e.tags=this.acceptsNewValue,this.searchUrlValue&&(e.ajax={url:this.searchUrlValue,dataType:"json",data:function(e){return{search:e.term,page:e.page||1}}}),e.templateResult=this.formatState,e.templateSelection=this.formatState,e.width="style",this.cleanupBeforeInit(),this.pluginMainEl=this.selectTarget,$(this.pluginMainEl).select2(e)},n.teardownPluginInstance=function(){void 0!==this.pluginMainEl&&$(this.pluginMainEl).select2("destroy")},n.formatState=function(e){var t=$(e.element).attr("data-image"),i="";return t&&(i='<img src="'+t+'" /> '),$("<span>"+i+e.text+"</span>")},i=t,(r=[{key:"isSelect2LoadedOnWindowJquery",get:function(){return void 0!==window.$&&void 0===window.$.select2}}])&&function(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(i.prototype,r),Object.defineProperty(i,"prototype",{writable:!1}),t}(e.Controller);y.targets=["select"],y.values={acceptsNew:Boolean,enableSearch:Boolean,searchUrl:String};var b=[[p,"fields/button_toggle_controller.js"],[g,"fields/cloudinary_image_controller.js"],[f,"fields/color_picker_controller.js"],[m,"fields/date_controller.js"],[v,"fields/file_field_controller.js"],[T,"fields/phone_controller.js"],[y,"fields/super_select_controller.js"]].map(function(e){var t=e[0];return{identifier:c(e[1]),controllerConstructor:t}});function S(){document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.toolbarElement;e==document.activeElement?i.classList.add("visible"):i.contains(document.activeElement)||i.classList.remove("visible")})}require("trix/dist/trix.css"),require("trix"),require("@rails/actiontext"),exports.ButtonToggleController=p,exports.CloudinaryImageController=g,exports.ColorPickerController=f,exports.DateController=m,exports.FileFieldController=v,exports.PhoneController=T,exports.SuperSelectController=y,exports.controllerDefinitions=b,exports.trixEditor=function(){document.addEventListener("trix-initialize",function(){addEventListener("trix-focus",S),addEventListener("trix-blur",S),S(),document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.editor,r={trigger:"@",values:JSON.parse(i.element.dataset.mentions),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""},n={trigger:"#",values:JSON.parse(i.element.dataset.topics),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""};new u.default({collection:[n,r]}).attach(e)})})};
2
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sources":["../../../node_modules/@stimulus/webpack-helpers/dist/index.js","../../javascript/controllers/fields/button_toggle_controller.js","../../javascript/controllers/fields/cloudinary_image_controller.js","../../javascript/controllers/fields/color_picker_controller.js","../../javascript/controllers/fields/date_controller.js","../../javascript/controllers/fields/file_field_controller.js","../../javascript/controllers/fields/phone_controller.js","../../javascript/controllers/fields/super_select_controller.js","../../javascript/controllers/index.js","../../javascript/trix_editor.js"],"sourcesContent":["export function definitionsFromContext(context) {\n return context.keys()\n .map(function (key) { return definitionForModuleWithContextAndKey(context, key); })\n .filter(function (value) { return value; });\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier: identifier, controllerConstructor: controllerConstructor };\n }\n}\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n//# sourceMappingURL=index.js.map","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"shadowField\" ]\n\n clickShadowField(event) {\n // we have to stop safari from doing what we originally expected.\n event.preventDefault();\n\n // then we need to manually click the hidden checkbox or radio button ourselves.\n this.shadowFieldTarget.click()\n }\n}","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"uploadButton\", \"hiddenField\", \"thumbnail\" ]\n static values = { \n signaturesUrl: String,\n height: Number,\n width: Number,\n cloudName: String,\n apiKey: String,\n googleApiKey: String,\n urlFormat: String,\n sources: String,\n searchByRights: Boolean\n }\n static classes = [ \"thumbnailShown\" ]\n\n pickImageAndUpload(event) {\n // don't submit the form.\n event.preventDefault()\n\n // prepare the list of default sources a user can upload an image from.\n var defaultSources = ['local', 'url', 'camera']\n if (this.hasGoogleApiKeyValue) {\n defaultSources.push('image_search')\n }\n\n // configure cloudinary's uploader's options.\n // many of these are configurable at the point where the `shared/fields/cloudinary_image` partial is included.\n var options = {\n cloud_name: this.cloudNameValue,\n apiKey: this.apiKeyValue,\n upload_preset: this.uploadPresetValue,\n upload_signature: this.getCloudinarySignature.bind(this),\n multiple: false,\n sources: this.hasSourcesValue ? this.sourcesValue.split(',') : defaultSources,\n search_by_rights: this.hasSearchByRightsValue && this.searchByRightsValue === false ? false : true // default to true.\n }\n \n if (this.hasGoogleApiKeyValue) {\n options['google_api_key'] = this.googleApiKeyValue\n }\n \n // open cloudinary's upload widget.\n cloudinary.openUploadWidget(options, this.handleWidgetResponse.bind(this))\n }\n \n clearImage(event) {\n // don't submit the form.\n event.preventDefault()\n\n // clear the cloudinary id.\n this.hiddenFieldTarget.value = null\n \n // remove any existing image from the button.\n this.removeThumbnail()\n }\n \n getCloudinarySignature(callback, paramsToSign) {\n $.ajax({\n url: this.signaturesUrlValue,\n type: \"GET\",\n dataType: \"text\",\n data: {data: paramsToSign},\n complete: function() { console.log(\"complete\") },\n success: function(signature, textStatus, xhr) { callback(signature) },\n error: function(xhr, status, error) { console.log(xhr, status, error) }\n })\n }\n \n handleWidgetResponse(error, response) {\n // after the user has successfully uploaded a single file ..\n if (!error && response && response.event === \"success\") { \n const data = response.info\n \n // update the cloudinary id field in the form.\n this.hiddenFieldTarget.value = data.public_id\n\n // remove any existing image.\n this.removeThumbnail()\n\n // generate a new image preview url.\n this.addThumbnail(this.urlFormatValue.replace('CLOUDINARY_ID', data.public_id))\n }\n }\n \n addThumbnail(url) {\n var $imageElement = $(`<img src=\"${url}\" width=\"${this.widthValue}\" height=\"${this.heightValue}\" data-${this.identifier}-target=\"thumbnail\" />`)\n $(this.uploadButtonTarget).prepend($imageElement)\n\n // mark the image as present.\n this.uploadButtonTarget.classList.add(this.thumbnailShownClass)\n }\n \n removeThumbnail() {\n if (!this.hasThumbnailTarget) { return }\n this.uploadButtonTarget.removeChild(this.thumbnailTarget)\n this.uploadButtonTarget.classList.remove(this.thumbnailShownClass)\n }\n}\n","import { Controller } from \"stimulus\"\nimport '@simonwep/pickr/dist/themes/monolith.min.css'\n\nimport Pickr from '@simonwep/pickr';\n\nexport default class extends Controller {\n static targets = [ \"colorPickerValue\", \"colorField\", \"colorInput\", \"userSelectedColor\", \"colorOptions\" ];\n static values = { initialColor: String }\n\n connect() {\n this.initPluginInstance()\n this.colorOptions = $(this.colorOptionsTarget).find('button').map(function (_, button) { return $(button).attr('data-color'); }).get()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n pickColor(event) {\n event.preventDefault();\n\n const targetEl = event.target;\n const color = targetEl.dataset.color;\n\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n $(this.userSelectedColorTarget).data('color', color);\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n this.pickr.setColor(color);\n\n targetEl.classList.add('ring-2', 'ring-offset-2');\n }\n\n pickRandomColor(event) {\n event.preventDefault();\n\n const r = Math.floor(Math.random() * 256);\n const g = Math.floor(Math.random() * 256);\n const b = Math.floor(Math.random() * 256);\n\n this.pickr.setColor(`rgb ${r} ${g} ${b}`);\n const hexColor = this.pickr.getColor().toHEXA().toString();\n this.pickr.setColor(hexColor);\n\n this.showUserSelectedColor(hexColor);\n }\n\n showUserSelectedColor(color) {\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n $(this.userSelectedColorTarget)\n .addClass('ring-2')\n .addClass('ring-offset-2')\n .css('background-color', color)\n .css('--tw-ring-color', color)\n .attr('data-color', color)\n .show();\n }\n\n unpickColor(event) {\n event.preventDefault();\n $(this.colorPickerValueTarget).val('');\n $(this.colorInputTarget).val('');\n $(this.userSelectedColorTarget).hide();\n $('.button-color').removeClass('ring-2 ring-offset-2');\n }\n\n togglePickr(event) {\n event.preventDefault();\n }\n\n initPluginInstance() {\n this.pickr = Pickr.create({\n el: '.btn-pickr',\n theme: 'monolith',\n useAsButton: true,\n default: this.initialColorValue || '#1E90FF',\n components: {\n // Main components\n preview: true,\n hue: true,\n\n // Input / output Options\n interaction: {\n input: true,\n save: true,\n },\n }\n });\n\n this.pickr.on('save', (color, _instance) => {\n const hexaColor = color.toHEXA().toString()\n if (!this.colorOptions.includes(hexaColor)) {\n this.showUserSelectedColor(hexaColor);\n }\n this.pickr.hide();\n });\n\n const that = this\n\n $('input[type=\"text\"].pcr-result').on('keydown', function (e) {\n if (e.key === 'Enter') {\n that.pickr.applyColor(false)\n }\n })\n }\n\n teardownPluginInstance() {\n this.pickr.destroy()\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"daterangepicker/daterangepicker.css\");\n\n// requires jQuery, moment, might want to consider a vanilla JS alternative\nimport 'daterangepicker';\n\nexport default class extends Controller {\n static targets = [ \"field\", \"clearButton\", \"currentTimeZoneWrapper\", \"timeZoneButtons\", \"timeZoneSelectWrapper\", \"timeZoneField\" ]\n static values = {\n includeTime: Boolean,\n defaultTimeZones: Array,\n cancelButtonLabel: String,\n applyButtonLabel: String\n }\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n clearDate(event) {\n // don't submit the form, unless it originated from the cancel/clear button\n event.preventDefault()\n\n $(this.fieldTarget).val('')\n }\n\n applyDateToField(event, picker) {\n const format = this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n $(this.fieldTarget).val(picker.startDate.format(format))\n }\n\n showTimeZoneButtons(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).toggleClass('hidden')\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n }\n\n showTimeZoneSelectWrapper(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).toggleClass('hidden')\n }\n }\n\n resetTimeZoneUI(e) {\n e && e.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).removeClass('hidden')\n $(this.timeZoneButtonsTarget).addClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).addClass('hidden')\n }\n }\n\n setTimeZone(event) {\n // don't follow the anchor\n event.preventDefault()\n\n const currentTimeZoneEl = this.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target.dataset\n\n $(this.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n $(event.target).removeClass('button-alternative').addClass('button')\n\n this.resetTimeZoneUI()\n }\n\n initPluginInstance() {\n $(this.fieldTarget).daterangepicker({\n singleDatePicker: true,\n timePicker: this.includeTimeValue,\n timePickerIncrement: 5,\n autoUpdateInput: false,\n locale: {\n cancelLabel: (this.hasCancelButtonLabelValue)? this.cancelButtonLabelValue: \"cancel\",\n applyLabel: (this.hasApplyButtonLabelValue)? this.applyButtonLabelValue: \"apply\",\n format: this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n }\n })\n\n $(this.fieldTarget).on('apply.daterangepicker', this.applyDateToField.bind(this))\n $(this.fieldTarget).on('cancel.daterangepicker', this.clearDate.bind(this))\n\n this.pluginMainEl = this.fieldTarget\n this.plugin = $(this.pluginMainEl).data('daterangepicker') // weird\n\n // Init time zone select\n if (this.includeTimeValue && this.hasTimeZoneSelectWrapperTarget) {\n this.timeZoneSelect = this.timeZoneSelectWrapperTarget.querySelector('select.select2')\n\n $(this.timeZoneSelect).select2({\n width: 'style'\n })\n\n const self = this\n\n $(this.timeZoneSelect).on('change.select2', function(event) {\n const currentTimeZoneEl = self.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target\n\n $(self.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n const selectedOptionTimeZoneButton = $('.selected-option-time-zone-button')\n\n if (self.defaultTimeZonesValue.includes(value)) {\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n selectedOptionTimeZoneButton.addClass('hidden').attr('hidden', true)\n $(`a[data-value=\"${value}\"`).removeClass('button-alternative').addClass('button')\n } else {\n // deselect any selected button\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n\n selectedOptionTimeZoneButton.text(value)\n selectedOptionTimeZoneButton.attr('data-value', value).removeAttr('hidden')\n selectedOptionTimeZoneButton.removeClass(['hidden', 'button-alternative']).addClass('button')\n }\n\n self.resetTimeZoneUI()\n })\n }\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n $(this.pluginMainEl).off('apply.daterangepicker')\n $(this.pluginMainEl).off('cancel.daterangepicker')\n\n // revert to original markup, remove any event listeners\n this.plugin.remove()\n\n if (this.includeTimeValue) {\n $(this.timeZoneSelect).select2('destroy');\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\n \"fileField\",\n \"removeFileFlag\",\n \"downloadFileButton\",\n \"removeFileButton\",\n \"selectFileButton\",\n \"progressBar\",\n ];\n\n connect() {\n // Add upload event listeners\n const initializeListener = document.addEventListener(\n \"direct-upload:initialize\",\n (event) => {\n this.selectFileButtonTarget.classList.add(\"hidden\");\n this.progressBarTarget.innerText = \"0%\";\n this.progressBarTarget.style.width = \"0%\";\n this.progressBarTarget.setAttribute(\"aria-valuenow\", 0);\n this.progressBarTarget.parentNode.classList.remove(\"hidden\");\n }\n );\n\n const progressListener = document.addEventListener(\n \"direct-upload:progress\",\n (event) => {\n const { progress } = event.detail;\n const width = `${progress.toFixed(1)}%`;\n\n this.progressBarTarget.innerText = width;\n this.progressBarTarget.setAttribute(\"aria-valuenow\", progress);\n this.progressBarTarget.style.width = width;\n }\n );\n\n const errorListener = document.addEventListener(\n \"direct-upload:error\",\n (event) => {\n event.preventDefault();\n\n const { error } = event.detail;\n this.progressBarTarget.innerText = error;\n }\n );\n\n this.uploadListeners = {\n \"direct-upload:initialize\": initializeListener,\n \"direct-upload:progress\": progressListener,\n \"direct-upload:error\": errorListener,\n };\n }\n\n disconnect() {\n // Teardown event listeners\n for (const event in this.uploadListeners) {\n document.removeEventListener(event, this.uploadListeners[event]);\n }\n }\n\n uploadFile() {\n this.fileFieldTarget.click();\n }\n\n removeFile() {\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.classList.add(\"hidden\");\n }\n\n this.removeFileButtonTarget.classList.add(\"hidden\");\n this.removeFileFlagTarget.value = true;\n }\n\n handleFileSelected() {\n const statusText = this.selectFileButtonTarget.querySelector(\"span\");\n const icon = this.selectFileButtonTarget.querySelector(\"i\");\n\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.remove();\n }\n\n statusText.innerText = \"Select Another File\";\n icon.classList.remove(\"ti-upload\");\n icon.classList.add(\"ti-check\");\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"intl-tel-input/build/css/intlTelInput.css\");\nimport intlTelInput from 'intl-tel-input';\n\nexport default class extends Controller {\n static targets = [ \"field\" ]\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n initPluginInstance() {\n let options = {\n hiddenInput: this.fieldTarget.dataset.method,\n customContainer: \"w-full\"\n }\n\n // TODO: add instructions on how to copy this asset into the application's assets path and write the meta tag into the head (via the engine?)\n const utilsScriptPath = metaContent(\"intl_tel_input_utils_path\")\n if (utilsScriptPath) {\n options['utilsScript'] = utilsScriptPath\n }\n\n this.plugin = intlTelInput(this.fieldTarget, options);\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n // revert to original markup, remove any event listeners\n this.plugin.destroy()\n }\n}\n\nfunction metaContent (name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`)\n return element && element.content\n}","import { Controller } from \"stimulus\"\nrequire(\"select2/dist/css/select2.min.css\");\nimport select2 from \"select2\";\n\nexport default class extends Controller {\n static targets = [ \"select\" ]\n static values = {\n acceptsNew: Boolean,\n enableSearch: Boolean,\n searchUrl: String,\n }\n\n initialize() {\n if (this.isSelect2LoadedOnWindowJquery) {\n select2(window.$)\n }\n }\n\n get isSelect2LoadedOnWindowJquery() {\n return (window.$ !== undefined && window.$.select2 === undefined)\n }\n\n connect() {\n if (this.isSelect2LoadedOnWindowJquery) {\n this.initPluginInstance()\n }\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n cleanupBeforeInit() {\n $(this.element).find('.select2-container--default').remove()\n }\n\n initPluginInstance() {\n let options = {};\n\n if (!this.enableSearchValue) {\n options.minimumResultsForSearch = -1;\n }\n\n options.tags = this.acceptsNewValue\n\n if (this.searchUrlValue) {\n options.ajax = {\n url: this.searchUrlValue,\n dataType: 'json',\n // We enable pagination by default here\n data: function(params) {\n var query = {\n search: params.term,\n page: params.page || 1\n }\n return query\n }\n // Any additional params go here...\n }\n }\n\n options.templateResult = this.formatState;\n options.templateSelection = this.formatState;\n options.width = 'style';\n\n this.cleanupBeforeInit() // in case improperly torn down\n this.pluginMainEl = this.selectTarget // required because this.selectTarget is unavailable on disconnect()\n $(this.pluginMainEl).select2(options);\n }\n\n teardownPluginInstance() {\n if (this.pluginMainEl === undefined) { return }\n\n // revert to original markup, remove any event listeners\n $(this.pluginMainEl).select2('destroy');\n }\n\n // https://stackoverflow.com/questions/29290389/select2-add-image-icon-to-option-dynamically\n formatState(opt) {\n var imageUrl = $(opt.element).attr('data-image');\n var imageHtml = \"\";\n if (imageUrl) {\n imageHtml = '<img src=\"' + imageUrl + '\" /> ';\n }\n return $('<span>' + imageHtml + opt.text + '</span>');\n }\n}\n","import { identifierForContextKey } from \"@stimulus/webpack-helpers\"\n\nimport ButtonToggleController from './fields/button_toggle_controller'\nimport CloudinaryImageController from './fields/cloudinary_image_controller'\nimport ColorPickerController from './fields/color_picker_controller'\nimport DateController from './fields/date_controller'\nimport FileFieldController from './fields/file_field_controller'\nimport PhoneController from './fields/phone_controller'\nimport SuperSelectController from './fields/super_select_controller'\n\nexport const controllerDefinitions = [\n [ButtonToggleController, 'fields/button_toggle_controller.js'],\n [CloudinaryImageController, 'fields/cloudinary_image_controller.js'],\n [ColorPickerController, 'fields/color_picker_controller.js'],\n [DateController, 'fields/date_controller.js'],\n [FileFieldController, 'fields/file_field_controller.js'],\n [PhoneController, 'fields/phone_controller.js'],\n [SuperSelectController, 'fields/super_select_controller.js']\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n ButtonToggleController,\n CloudinaryImageController,\n ColorPickerController,\n DateController,\n FileFieldController,\n PhoneController,\n SuperSelectController\n}","import Tribute from 'tributejs'\nrequire(\"trix/dist/trix.css\");\n\nrequire(\"trix\")\nrequire(\"@rails/actiontext\")\n\n// only show the editor tool bar when the user is editing the field.\n// inspired by https://github.com/basecamp/trix/issues/343 and `app/assets/stylesheets/account/fields/trix_editor.scss`\n\nexport function trixEditor() {\n document.addEventListener('trix-initialize', function() {\n addEventListener(\"trix-focus\", updateTrixToolbarVisability);\n addEventListener(\"trix-blur\", updateTrixToolbarVisability);\n updateTrixToolbarVisability();\n initializeTribute();\n })\n}\n\nfunction updateTrixToolbarVisability() {\n document.querySelectorAll(\"trix-editor\").forEach((editorElement, index) => {\n var toolbarElement = editorElement.toolbarElement;\n if (editorElement == document.activeElement) {\n toolbarElement.classList.add('visible');\n } else {\n // don't hide the toolbar if we've unfocused to focus on the link dialog.\n if (!toolbarElement.contains(document.activeElement)) {\n toolbarElement.classList.remove('visible');\n }\n }\n })\n}\n\nfunction initializeTribute() {\n document.querySelectorAll(\"trix-editor\").forEach((el, index) => {\n var editor = el.editor;\n \n var mentionConfig = {\n trigger: '@',\n values: JSON.parse(editor.element.dataset.mentions),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var topicConfig = {\n trigger: '#',\n values: JSON.parse(editor.element.dataset.topics),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var tribute = new Tribute({\n collection: [topicConfig, mentionConfig],\n });\n \n tribute.attach(el);\n })\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","clickShadowField","event","preventDefault","this","shadowFieldTarget","click","Controller","targets","pickImageAndUpload","defaultSources","hasGoogleApiKeyValue","push","options","cloud_name","cloudNameValue","apiKey","apiKeyValue","upload_preset","uploadPresetValue","upload_signature","getCloudinarySignature","bind","multiple","sources","hasSourcesValue","sourcesValue","split","search_by_rights","hasSearchByRightsValue","searchByRightsValue","googleApiKeyValue","cloudinary","openUploadWidget","handleWidgetResponse","clearImage","hiddenFieldTarget","value","removeThumbnail","callback","paramsToSign","$","ajax","url","signaturesUrlValue","type","dataType","data","complete","console","log","success","signature","textStatus","xhr","error","status","response","info","public_id","addThumbnail","urlFormatValue","$imageElement","widthValue","heightValue","identifier","uploadButtonTarget","prepend","classList","add","thumbnailShownClass","hasThumbnailTarget","removeChild","thumbnailTarget","remove","values","signaturesUrl","String","height","Number","width","cloudName","googleApiKey","urlFormat","searchByRights","Boolean","classes","connect","initPluginInstance","colorOptions","colorOptionsTarget","find","map","_","button","attr","get","disconnect","teardownPluginInstance","pickColor","targetEl","target","color","dataset","colorInputTarget","val","colorPickerValueTarget","userSelectedColorTarget","removeClass","pickr","setColor","pickRandomColor","r","Math","floor","random","g","b","hexColor","getColor","toHEXA","toString","showUserSelectedColor","addClass","css","show","unpickColor","hide","togglePickr","Pickr","create","el","theme","useAsButton","default","initialColorValue","components","preview","hue","interaction","input","save","on","_instance","hexaColor","_this","includes","that","e","applyColor","destroy","initialColor","require","clearDate","fieldTarget","applyDateToField","picker","format","includeTimeValue","startDate","showTimeZoneButtons","currentTimeZoneWrapperTarget","toggleClass","timeZoneButtonsTarget","showTimeZoneSelectWrapper","hasTimeZoneSelectWrapperTarget","timeZoneSelectWrapperTarget","resetTimeZoneUI","setTimeZone","currentTimeZoneEl","querySelector","timeZoneFieldTarget","text","daterangepicker","singleDatePicker","timePicker","timePickerIncrement","autoUpdateInput","locale","cancelLabel","hasCancelButtonLabelValue","cancelButtonLabelValue","applyLabel","hasApplyButtonLabelValue","applyButtonLabelValue","pluginMainEl","plugin","timeZoneSelect","select2","self","selectedOptionTimeZoneButton","defaultTimeZonesValue","removeAttr","undefined","off","includeTime","defaultTimeZones","Array","cancelButtonLabel","applyButtonLabel","initializeListener","document","addEventListener","selectFileButtonTarget","progressBarTarget","innerText","style","setAttribute","parentNode","progressListener","progress","detail","toFixed","errorListener","uploadListeners","removeEventListener","uploadFile","fileFieldTarget","removeFile","hasDownloadFileButtonTarget","downloadFileButtonTarget","removeFileButtonTarget","removeFileFlagTarget","handleFileSelected","statusText","icon","element","hiddenInput","method","customContainer","utilsScriptPath","head","content","intlTelInput","initialize","isSelect2LoadedOnWindowJquery","window","cleanupBeforeInit","enableSearchValue","minimumResultsForSearch","tags","acceptsNewValue","searchUrlValue","params","search","term","page","templateResult","formatState","templateSelection","selectTarget","opt","imageUrl","imageHtml","acceptsNew","enableSearch","searchUrl","controllerDefinitions","ButtonToggleController","CloudinaryImageController","ColorPickerController","DateController","FileFieldController","PhoneController","SuperSelectController","d","controller","controllerConstructor","updateTrixToolbarVisability","querySelectorAll","forEach","editorElement","index","toolbarElement","activeElement","contains","editor","mentionConfig","trigger","JSON","parse","mentions","selectTemplate","item","original","protocol","model","id","label","menuItemTemplate","photo","string","requireLeadingSpace","replaceTextSuffix","topicConfig","topics","Tribute","collection","attach"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{Controller as e}from"stimulus";import"@simonwep/pickr/dist/themes/monolith.min.css";import t from"@simonwep/pickr";import"daterangepicker";import i from"intl-tel-input";import a from"select2";import r from"tributejs";function n(e){var t=(e.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(t)return t.replace(/_/g,"-").replace(/\//g,"--")}class s extends e{clickShadowField(e){e.preventDefault(),this.shadowFieldTarget.click()}}s.targets=["shadowField"];class l extends e{pickImageAndUpload(e){e.preventDefault();var t=["local","url","camera"];this.hasGoogleApiKeyValue&&t.push("image_search");var i={cloud_name:this.cloudNameValue,apiKey:this.apiKeyValue,upload_preset:this.uploadPresetValue,upload_signature:this.getCloudinarySignature.bind(this),multiple:!1,sources:this.hasSourcesValue?this.sourcesValue.split(","):t,search_by_rights:!this.hasSearchByRightsValue||!1!==this.searchByRightsValue};this.hasGoogleApiKeyValue&&(i.google_api_key=this.googleApiKeyValue),cloudinary.openUploadWidget(i,this.handleWidgetResponse.bind(this))}clearImage(e){e.preventDefault(),this.hiddenFieldTarget.value=null,this.removeThumbnail()}getCloudinarySignature(e,t){$.ajax({url:this.signaturesUrlValue,type:"GET",dataType:"text",data:{data:t},complete:function(){console.log("complete")},success:function(t,i,a){e(t)},error:function(e,t,i){console.log(e,t,i)}})}handleWidgetResponse(e,t){if(!e&&t&&"success"===t.event){const e=t.info;this.hiddenFieldTarget.value=e.public_id,this.removeThumbnail(),this.addThumbnail(this.urlFormatValue.replace("CLOUDINARY_ID",e.public_id))}}addThumbnail(e){var t=$(`<img src="${e}" width="${this.widthValue}" height="${this.heightValue}" data-${this.identifier}-target="thumbnail" />`);$(this.uploadButtonTarget).prepend(t),this.uploadButtonTarget.classList.add(this.thumbnailShownClass)}removeThumbnail(){this.hasThumbnailTarget&&(this.uploadButtonTarget.removeChild(this.thumbnailTarget),this.uploadButtonTarget.classList.remove(this.thumbnailShownClass))}}l.targets=["uploadButton","hiddenField","thumbnail"],l.values={signaturesUrl:String,height:Number,width:Number,cloudName:String,apiKey:String,googleApiKey:String,urlFormat:String,sources:String,searchByRights:Boolean},l.classes=["thumbnailShown"];class o extends e{connect(){this.initPluginInstance(),this.colorOptions=$(this.colorOptionsTarget).find("button").map(function(e,t){return $(t).attr("data-color")}).get()}disconnect(){this.teardownPluginInstance()}pickColor(e){e.preventDefault();const t=e.target,i=t.dataset.color;$(this.colorInputTarget).val(i),$(this.colorPickerValueTarget).val(i),$(this.userSelectedColorTarget).data("color",i),$(".button-color").removeClass("ring-2 ring-offset-2"),this.pickr.setColor(i),t.classList.add("ring-2","ring-offset-2")}pickRandomColor(e){e.preventDefault();const t=Math.floor(256*Math.random()),i=Math.floor(256*Math.random()),a=Math.floor(256*Math.random());this.pickr.setColor(`rgb ${t} ${i} ${a}`);const r=this.pickr.getColor().toHEXA().toString();this.pickr.setColor(r),this.showUserSelectedColor(r)}showUserSelectedColor(e){$(this.colorInputTarget).val(e),$(this.colorPickerValueTarget).val(e),$(".button-color").removeClass("ring-2 ring-offset-2"),$(this.userSelectedColorTarget).addClass("ring-2").addClass("ring-offset-2").css("background-color",e).css("--tw-ring-color",e).attr("data-color",e).show()}unpickColor(e){e.preventDefault(),$(this.colorPickerValueTarget).val(""),$(this.colorInputTarget).val(""),$(this.userSelectedColorTarget).hide(),$(".button-color").removeClass("ring-2 ring-offset-2")}togglePickr(e){e.preventDefault()}initPluginInstance(){this.pickr=t.create({el:".btn-pickr",theme:"monolith",useAsButton:!0,default:this.initialColorValue||"#1E90FF",components:{preview:!0,hue:!0,interaction:{input:!0,save:!0}}}),this.pickr.on("save",(e,t)=>{const i=e.toHEXA().toString();this.colorOptions.includes(i)||this.showUserSelectedColor(i),this.pickr.hide()});const e=this;$('input[type="text"].pcr-result').on("keydown",function(t){"Enter"===t.key&&e.pickr.applyColor(!1)})}teardownPluginInstance(){this.pickr.destroy()}}o.targets=["colorPickerValue","colorField","colorInput","userSelectedColor","colorOptions"],o.values={initialColor:String},require("daterangepicker/daterangepicker.css");class c extends e{connect(){this.initPluginInstance()}disconnect(){this.teardownPluginInstance()}clearDate(e){e.preventDefault(),$(this.fieldTarget).val("")}applyDateToField(e,t){const i=this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY";$(this.fieldTarget).val(t.startDate.format(i))}showTimeZoneButtons(e){e.preventDefault(),$(this.currentTimeZoneWrapperTarget).toggleClass("hidden"),$(this.timeZoneButtonsTarget).toggleClass("hidden")}showTimeZoneSelectWrapper(e){e.preventDefault(),$(this.timeZoneButtonsTarget).toggleClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).toggleClass("hidden")}resetTimeZoneUI(e){e&&e.preventDefault(),$(this.currentTimeZoneWrapperTarget).removeClass("hidden"),$(this.timeZoneButtonsTarget).addClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).addClass("hidden")}setTimeZone(e){e.preventDefault();const t=this.currentTimeZoneWrapperTarget.querySelector("a"),{value:i}=e.target.dataset;$(this.timeZoneFieldTarget).val(i),$(t).text(i),$(".time-zone-button").removeClass("button").addClass("button-alternative"),$(e.target).removeClass("button-alternative").addClass("button"),this.resetTimeZoneUI()}initPluginInstance(){if($(this.fieldTarget).daterangepicker({singleDatePicker:!0,timePicker:this.includeTimeValue,timePickerIncrement:5,autoUpdateInput:!1,locale:{cancelLabel:this.hasCancelButtonLabelValue?this.cancelButtonLabelValue:"cancel",applyLabel:this.hasApplyButtonLabelValue?this.applyButtonLabelValue:"apply",format:this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY"}}),$(this.fieldTarget).on("apply.daterangepicker",this.applyDateToField.bind(this)),$(this.fieldTarget).on("cancel.daterangepicker",this.clearDate.bind(this)),this.pluginMainEl=this.fieldTarget,this.plugin=$(this.pluginMainEl).data("daterangepicker"),this.includeTimeValue&&this.hasTimeZoneSelectWrapperTarget){this.timeZoneSelect=this.timeZoneSelectWrapperTarget.querySelector("select.select2"),$(this.timeZoneSelect).select2({width:"style"});const e=this;$(this.timeZoneSelect).on("change.select2",function(t){const i=e.currentTimeZoneWrapperTarget.querySelector("a"),{value:a}=t.target;$(e.timeZoneFieldTarget).val(a),$(i).text(a);const r=$(".selected-option-time-zone-button");e.defaultTimeZonesValue.includes(a)?($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.addClass("hidden").attr("hidden",!0),$(`a[data-value="${a}"`).removeClass("button-alternative").addClass("button")):($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.text(a),r.attr("data-value",a).removeAttr("hidden"),r.removeClass(["hidden","button-alternative"]).addClass("button")),e.resetTimeZoneUI()})}}teardownPluginInstance(){void 0!==this.plugin&&($(this.pluginMainEl).off("apply.daterangepicker"),$(this.pluginMainEl).off("cancel.daterangepicker"),this.plugin.remove(),this.includeTimeValue&&$(this.timeZoneSelect).select2("destroy"))}}c.targets=["field","clearButton","currentTimeZoneWrapper","timeZoneButtons","timeZoneSelectWrapper","timeZoneField"],c.values={includeTime:Boolean,defaultTimeZones:Array,cancelButtonLabel:String,applyButtonLabel:String};class u extends e{connect(){const e=document.addEventListener("direct-upload:initialize",e=>{this.selectFileButtonTarget.classList.add("hidden"),this.progressBarTarget.innerText="0%",this.progressBarTarget.style.width="0%",this.progressBarTarget.setAttribute("aria-valuenow",0),this.progressBarTarget.parentNode.classList.remove("hidden")}),t=document.addEventListener("direct-upload:progress",e=>{const{progress:t}=e.detail,i=`${t.toFixed(1)}%`;this.progressBarTarget.innerText=i,this.progressBarTarget.setAttribute("aria-valuenow",t),this.progressBarTarget.style.width=i}),i=document.addEventListener("direct-upload:error",e=>{e.preventDefault();const{error:t}=e.detail;this.progressBarTarget.innerText=t});this.uploadListeners={"direct-upload:initialize":e,"direct-upload:progress":t,"direct-upload:error":i}}disconnect(){for(const e in this.uploadListeners)document.removeEventListener(e,this.uploadListeners[e])}uploadFile(){this.fileFieldTarget.click()}removeFile(){this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.classList.add("hidden"),this.removeFileButtonTarget.classList.add("hidden"),this.removeFileFlagTarget.value=!0}handleFileSelected(){const e=this.selectFileButtonTarget.querySelector("span"),t=this.selectFileButtonTarget.querySelector("i");this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.remove(),e.innerText="Select Another File",t.classList.remove("ti-upload"),t.classList.add("ti-check")}}u.targets=["fileField","removeFileFlag","downloadFileButton","removeFileButton","selectFileButton","progressBar"],require("intl-tel-input/build/css/intlTelInput.css");class d extends e{connect(){this.initPluginInstance()}disconnect(){this.teardownPluginInstance()}initPluginInstance(){let e={hiddenInput:this.fieldTarget.dataset.method,customContainer:"w-full"};const t=function(e){const t=document.head.querySelector('meta[name="intl_tel_input_utils_path"]');return t&&t.content}();t&&(e.utilsScript=t),this.plugin=i(this.fieldTarget,e)}teardownPluginInstance(){void 0!==this.plugin&&this.plugin.destroy()}}d.targets=["field"],require("select2/dist/css/select2.min.css");class h extends e{initialize(){this.isSelect2LoadedOnWindowJquery&&a(window.$)}get isSelect2LoadedOnWindowJquery(){return void 0!==window.$&&void 0===window.$.select2}connect(){this.isSelect2LoadedOnWindowJquery&&this.initPluginInstance()}disconnect(){this.teardownPluginInstance()}cleanupBeforeInit(){$(this.element).find(".select2-container--default").remove()}initPluginInstance(){let e={};this.enableSearchValue||(e.minimumResultsForSearch=-1),e.tags=this.acceptsNewValue,this.searchUrlValue&&(e.ajax={url:this.searchUrlValue,dataType:"json",data:function(e){return{search:e.term,page:e.page||1}}}),e.templateResult=this.formatState,e.templateSelection=this.formatState,e.width="style",this.cleanupBeforeInit(),this.pluginMainEl=this.selectTarget,$(this.pluginMainEl).select2(e)}teardownPluginInstance(){void 0!==this.pluginMainEl&&$(this.pluginMainEl).select2("destroy")}formatState(e){var t=$(e.element).attr("data-image"),i="";return t&&(i='<img src="'+t+'" /> '),$("<span>"+i+e.text+"</span>")}}h.targets=["select"],h.values={acceptsNew:Boolean,enableSearch:Boolean,searchUrl:String};const p=[[s,"fields/button_toggle_controller.js"],[l,"fields/cloudinary_image_controller.js"],[o,"fields/color_picker_controller.js"],[c,"fields/date_controller.js"],[u,"fields/file_field_controller.js"],[d,"fields/phone_controller.js"],[h,"fields/super_select_controller.js"]].map(function(e){const t=e[0];return{identifier:n(e[1]),controllerConstructor:t}});function g(){document.addEventListener("trix-initialize",function(){addEventListener("trix-focus",m),addEventListener("trix-blur",m),m(),document.querySelectorAll("trix-editor").forEach((e,t)=>{var i=e.editor,a={trigger:"@",values:JSON.parse(i.element.dataset.mentions),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""},n={trigger:"#",values:JSON.parse(i.element.dataset.topics),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""};new r({collection:[n,a]}).attach(e)})})}function m(){document.querySelectorAll("trix-editor").forEach((e,t)=>{var i=e.toolbarElement;e==document.activeElement?i.classList.add("visible"):i.contains(document.activeElement)||i.classList.remove("visible")})}require("trix/dist/trix.css"),require("trix"),require("@rails/actiontext");export{s as ButtonToggleController,l as CloudinaryImageController,o as ColorPickerController,c as DateController,u as FileFieldController,d as PhoneController,h as SuperSelectController,p as controllerDefinitions,g as trixEditor};
2
+ //# sourceMappingURL=fields.modern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.modern.js","sources":["../../../node_modules/@stimulus/webpack-helpers/dist/index.js","../../javascript/controllers/fields/button_toggle_controller.js","../../javascript/controllers/fields/cloudinary_image_controller.js","../../javascript/controllers/fields/color_picker_controller.js","../../javascript/controllers/fields/date_controller.js","../../javascript/controllers/fields/file_field_controller.js","../../javascript/controllers/fields/phone_controller.js","../../javascript/controllers/fields/super_select_controller.js","../../javascript/controllers/index.js","../../javascript/trix_editor.js"],"sourcesContent":["export function definitionsFromContext(context) {\n return context.keys()\n .map(function (key) { return definitionForModuleWithContextAndKey(context, key); })\n .filter(function (value) { return value; });\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier: identifier, controllerConstructor: controllerConstructor };\n }\n}\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n//# sourceMappingURL=index.js.map","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"shadowField\" ]\n\n clickShadowField(event) {\n // we have to stop safari from doing what we originally expected.\n event.preventDefault();\n\n // then we need to manually click the hidden checkbox or radio button ourselves.\n this.shadowFieldTarget.click()\n }\n}","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"uploadButton\", \"hiddenField\", \"thumbnail\" ]\n static values = { \n signaturesUrl: String,\n height: Number,\n width: Number,\n cloudName: String,\n apiKey: String,\n googleApiKey: String,\n urlFormat: String,\n sources: String,\n searchByRights: Boolean\n }\n static classes = [ \"thumbnailShown\" ]\n\n pickImageAndUpload(event) {\n // don't submit the form.\n event.preventDefault()\n\n // prepare the list of default sources a user can upload an image from.\n var defaultSources = ['local', 'url', 'camera']\n if (this.hasGoogleApiKeyValue) {\n defaultSources.push('image_search')\n }\n\n // configure cloudinary's uploader's options.\n // many of these are configurable at the point where the `shared/fields/cloudinary_image` partial is included.\n var options = {\n cloud_name: this.cloudNameValue,\n apiKey: this.apiKeyValue,\n upload_preset: this.uploadPresetValue,\n upload_signature: this.getCloudinarySignature.bind(this),\n multiple: false,\n sources: this.hasSourcesValue ? this.sourcesValue.split(',') : defaultSources,\n search_by_rights: this.hasSearchByRightsValue && this.searchByRightsValue === false ? false : true // default to true.\n }\n \n if (this.hasGoogleApiKeyValue) {\n options['google_api_key'] = this.googleApiKeyValue\n }\n \n // open cloudinary's upload widget.\n cloudinary.openUploadWidget(options, this.handleWidgetResponse.bind(this))\n }\n \n clearImage(event) {\n // don't submit the form.\n event.preventDefault()\n\n // clear the cloudinary id.\n this.hiddenFieldTarget.value = null\n \n // remove any existing image from the button.\n this.removeThumbnail()\n }\n \n getCloudinarySignature(callback, paramsToSign) {\n $.ajax({\n url: this.signaturesUrlValue,\n type: \"GET\",\n dataType: \"text\",\n data: {data: paramsToSign},\n complete: function() { console.log(\"complete\") },\n success: function(signature, textStatus, xhr) { callback(signature) },\n error: function(xhr, status, error) { console.log(xhr, status, error) }\n })\n }\n \n handleWidgetResponse(error, response) {\n // after the user has successfully uploaded a single file ..\n if (!error && response && response.event === \"success\") { \n const data = response.info\n \n // update the cloudinary id field in the form.\n this.hiddenFieldTarget.value = data.public_id\n\n // remove any existing image.\n this.removeThumbnail()\n\n // generate a new image preview url.\n this.addThumbnail(this.urlFormatValue.replace('CLOUDINARY_ID', data.public_id))\n }\n }\n \n addThumbnail(url) {\n var $imageElement = $(`<img src=\"${url}\" width=\"${this.widthValue}\" height=\"${this.heightValue}\" data-${this.identifier}-target=\"thumbnail\" />`)\n $(this.uploadButtonTarget).prepend($imageElement)\n\n // mark the image as present.\n this.uploadButtonTarget.classList.add(this.thumbnailShownClass)\n }\n \n removeThumbnail() {\n if (!this.hasThumbnailTarget) { return }\n this.uploadButtonTarget.removeChild(this.thumbnailTarget)\n this.uploadButtonTarget.classList.remove(this.thumbnailShownClass)\n }\n}\n","import { Controller } from \"stimulus\"\nimport '@simonwep/pickr/dist/themes/monolith.min.css'\n\nimport Pickr from '@simonwep/pickr';\n\nexport default class extends Controller {\n static targets = [ \"colorPickerValue\", \"colorField\", \"colorInput\", \"userSelectedColor\", \"colorOptions\" ];\n static values = { initialColor: String }\n\n connect() {\n this.initPluginInstance()\n this.colorOptions = $(this.colorOptionsTarget).find('button').map(function (_, button) { return $(button).attr('data-color'); }).get()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n pickColor(event) {\n event.preventDefault();\n\n const targetEl = event.target;\n const color = targetEl.dataset.color;\n\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n $(this.userSelectedColorTarget).data('color', color);\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n this.pickr.setColor(color);\n\n targetEl.classList.add('ring-2', 'ring-offset-2');\n }\n\n pickRandomColor(event) {\n event.preventDefault();\n\n const r = Math.floor(Math.random() * 256);\n const g = Math.floor(Math.random() * 256);\n const b = Math.floor(Math.random() * 256);\n\n this.pickr.setColor(`rgb ${r} ${g} ${b}`);\n const hexColor = this.pickr.getColor().toHEXA().toString();\n this.pickr.setColor(hexColor);\n\n this.showUserSelectedColor(hexColor);\n }\n\n showUserSelectedColor(color) {\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n $(this.userSelectedColorTarget)\n .addClass('ring-2')\n .addClass('ring-offset-2')\n .css('background-color', color)\n .css('--tw-ring-color', color)\n .attr('data-color', color)\n .show();\n }\n\n unpickColor(event) {\n event.preventDefault();\n $(this.colorPickerValueTarget).val('');\n $(this.colorInputTarget).val('');\n $(this.userSelectedColorTarget).hide();\n $('.button-color').removeClass('ring-2 ring-offset-2');\n }\n\n togglePickr(event) {\n event.preventDefault();\n }\n\n initPluginInstance() {\n this.pickr = Pickr.create({\n el: '.btn-pickr',\n theme: 'monolith',\n useAsButton: true,\n default: this.initialColorValue || '#1E90FF',\n components: {\n // Main components\n preview: true,\n hue: true,\n\n // Input / output Options\n interaction: {\n input: true,\n save: true,\n },\n }\n });\n\n this.pickr.on('save', (color, _instance) => {\n const hexaColor = color.toHEXA().toString()\n if (!this.colorOptions.includes(hexaColor)) {\n this.showUserSelectedColor(hexaColor);\n }\n this.pickr.hide();\n });\n\n const that = this\n\n $('input[type=\"text\"].pcr-result').on('keydown', function (e) {\n if (e.key === 'Enter') {\n that.pickr.applyColor(false)\n }\n })\n }\n\n teardownPluginInstance() {\n this.pickr.destroy()\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"daterangepicker/daterangepicker.css\");\n\n// requires jQuery, moment, might want to consider a vanilla JS alternative\nimport 'daterangepicker';\n\nexport default class extends Controller {\n static targets = [ \"field\", \"clearButton\", \"currentTimeZoneWrapper\", \"timeZoneButtons\", \"timeZoneSelectWrapper\", \"timeZoneField\" ]\n static values = {\n includeTime: Boolean,\n defaultTimeZones: Array,\n cancelButtonLabel: String,\n applyButtonLabel: String\n }\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n clearDate(event) {\n // don't submit the form, unless it originated from the cancel/clear button\n event.preventDefault()\n\n $(this.fieldTarget).val('')\n }\n\n applyDateToField(event, picker) {\n const format = this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n $(this.fieldTarget).val(picker.startDate.format(format))\n }\n\n showTimeZoneButtons(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).toggleClass('hidden')\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n }\n\n showTimeZoneSelectWrapper(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).toggleClass('hidden')\n }\n }\n\n resetTimeZoneUI(e) {\n e && e.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).removeClass('hidden')\n $(this.timeZoneButtonsTarget).addClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).addClass('hidden')\n }\n }\n\n setTimeZone(event) {\n // don't follow the anchor\n event.preventDefault()\n\n const currentTimeZoneEl = this.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target.dataset\n\n $(this.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n $(event.target).removeClass('button-alternative').addClass('button')\n\n this.resetTimeZoneUI()\n }\n\n initPluginInstance() {\n $(this.fieldTarget).daterangepicker({\n singleDatePicker: true,\n timePicker: this.includeTimeValue,\n timePickerIncrement: 5,\n autoUpdateInput: false,\n locale: {\n cancelLabel: (this.hasCancelButtonLabelValue)? this.cancelButtonLabelValue: \"cancel\",\n applyLabel: (this.hasApplyButtonLabelValue)? this.applyButtonLabelValue: \"apply\",\n format: this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n }\n })\n\n $(this.fieldTarget).on('apply.daterangepicker', this.applyDateToField.bind(this))\n $(this.fieldTarget).on('cancel.daterangepicker', this.clearDate.bind(this))\n\n this.pluginMainEl = this.fieldTarget\n this.plugin = $(this.pluginMainEl).data('daterangepicker') // weird\n\n // Init time zone select\n if (this.includeTimeValue && this.hasTimeZoneSelectWrapperTarget) {\n this.timeZoneSelect = this.timeZoneSelectWrapperTarget.querySelector('select.select2')\n\n $(this.timeZoneSelect).select2({\n width: 'style'\n })\n\n const self = this\n\n $(this.timeZoneSelect).on('change.select2', function(event) {\n const currentTimeZoneEl = self.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target\n\n $(self.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n const selectedOptionTimeZoneButton = $('.selected-option-time-zone-button')\n\n if (self.defaultTimeZonesValue.includes(value)) {\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n selectedOptionTimeZoneButton.addClass('hidden').attr('hidden', true)\n $(`a[data-value=\"${value}\"`).removeClass('button-alternative').addClass('button')\n } else {\n // deselect any selected button\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n\n selectedOptionTimeZoneButton.text(value)\n selectedOptionTimeZoneButton.attr('data-value', value).removeAttr('hidden')\n selectedOptionTimeZoneButton.removeClass(['hidden', 'button-alternative']).addClass('button')\n }\n\n self.resetTimeZoneUI()\n })\n }\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n $(this.pluginMainEl).off('apply.daterangepicker')\n $(this.pluginMainEl).off('cancel.daterangepicker')\n\n // revert to original markup, remove any event listeners\n this.plugin.remove()\n\n if (this.includeTimeValue) {\n $(this.timeZoneSelect).select2('destroy');\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\n \"fileField\",\n \"removeFileFlag\",\n \"downloadFileButton\",\n \"removeFileButton\",\n \"selectFileButton\",\n \"progressBar\",\n ];\n\n connect() {\n // Add upload event listeners\n const initializeListener = document.addEventListener(\n \"direct-upload:initialize\",\n (event) => {\n this.selectFileButtonTarget.classList.add(\"hidden\");\n this.progressBarTarget.innerText = \"0%\";\n this.progressBarTarget.style.width = \"0%\";\n this.progressBarTarget.setAttribute(\"aria-valuenow\", 0);\n this.progressBarTarget.parentNode.classList.remove(\"hidden\");\n }\n );\n\n const progressListener = document.addEventListener(\n \"direct-upload:progress\",\n (event) => {\n const { progress } = event.detail;\n const width = `${progress.toFixed(1)}%`;\n\n this.progressBarTarget.innerText = width;\n this.progressBarTarget.setAttribute(\"aria-valuenow\", progress);\n this.progressBarTarget.style.width = width;\n }\n );\n\n const errorListener = document.addEventListener(\n \"direct-upload:error\",\n (event) => {\n event.preventDefault();\n\n const { error } = event.detail;\n this.progressBarTarget.innerText = error;\n }\n );\n\n this.uploadListeners = {\n \"direct-upload:initialize\": initializeListener,\n \"direct-upload:progress\": progressListener,\n \"direct-upload:error\": errorListener,\n };\n }\n\n disconnect() {\n // Teardown event listeners\n for (const event in this.uploadListeners) {\n document.removeEventListener(event, this.uploadListeners[event]);\n }\n }\n\n uploadFile() {\n this.fileFieldTarget.click();\n }\n\n removeFile() {\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.classList.add(\"hidden\");\n }\n\n this.removeFileButtonTarget.classList.add(\"hidden\");\n this.removeFileFlagTarget.value = true;\n }\n\n handleFileSelected() {\n const statusText = this.selectFileButtonTarget.querySelector(\"span\");\n const icon = this.selectFileButtonTarget.querySelector(\"i\");\n\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.remove();\n }\n\n statusText.innerText = \"Select Another File\";\n icon.classList.remove(\"ti-upload\");\n icon.classList.add(\"ti-check\");\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"intl-tel-input/build/css/intlTelInput.css\");\nimport intlTelInput from 'intl-tel-input';\n\nexport default class extends Controller {\n static targets = [ \"field\" ]\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n initPluginInstance() {\n let options = {\n hiddenInput: this.fieldTarget.dataset.method,\n customContainer: \"w-full\"\n }\n\n // TODO: add instructions on how to copy this asset into the application's assets path and write the meta tag into the head (via the engine?)\n const utilsScriptPath = metaContent(\"intl_tel_input_utils_path\")\n if (utilsScriptPath) {\n options['utilsScript'] = utilsScriptPath\n }\n\n this.plugin = intlTelInput(this.fieldTarget, options);\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n // revert to original markup, remove any event listeners\n this.plugin.destroy()\n }\n}\n\nfunction metaContent (name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`)\n return element && element.content\n}","import { Controller } from \"stimulus\"\nrequire(\"select2/dist/css/select2.min.css\");\nimport select2 from \"select2\";\n\nexport default class extends Controller {\n static targets = [ \"select\" ]\n static values = {\n acceptsNew: Boolean,\n enableSearch: Boolean,\n searchUrl: String,\n }\n\n initialize() {\n if (this.isSelect2LoadedOnWindowJquery) {\n select2(window.$)\n }\n }\n\n get isSelect2LoadedOnWindowJquery() {\n return (window.$ !== undefined && window.$.select2 === undefined)\n }\n\n connect() {\n if (this.isSelect2LoadedOnWindowJquery) {\n this.initPluginInstance()\n }\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n cleanupBeforeInit() {\n $(this.element).find('.select2-container--default').remove()\n }\n\n initPluginInstance() {\n let options = {};\n\n if (!this.enableSearchValue) {\n options.minimumResultsForSearch = -1;\n }\n\n options.tags = this.acceptsNewValue\n\n if (this.searchUrlValue) {\n options.ajax = {\n url: this.searchUrlValue,\n dataType: 'json',\n // We enable pagination by default here\n data: function(params) {\n var query = {\n search: params.term,\n page: params.page || 1\n }\n return query\n }\n // Any additional params go here...\n }\n }\n\n options.templateResult = this.formatState;\n options.templateSelection = this.formatState;\n options.width = 'style';\n\n this.cleanupBeforeInit() // in case improperly torn down\n this.pluginMainEl = this.selectTarget // required because this.selectTarget is unavailable on disconnect()\n $(this.pluginMainEl).select2(options);\n }\n\n teardownPluginInstance() {\n if (this.pluginMainEl === undefined) { return }\n\n // revert to original markup, remove any event listeners\n $(this.pluginMainEl).select2('destroy');\n }\n\n // https://stackoverflow.com/questions/29290389/select2-add-image-icon-to-option-dynamically\n formatState(opt) {\n var imageUrl = $(opt.element).attr('data-image');\n var imageHtml = \"\";\n if (imageUrl) {\n imageHtml = '<img src=\"' + imageUrl + '\" /> ';\n }\n return $('<span>' + imageHtml + opt.text + '</span>');\n }\n}\n","import { identifierForContextKey } from \"@stimulus/webpack-helpers\"\n\nimport ButtonToggleController from './fields/button_toggle_controller'\nimport CloudinaryImageController from './fields/cloudinary_image_controller'\nimport ColorPickerController from './fields/color_picker_controller'\nimport DateController from './fields/date_controller'\nimport FileFieldController from './fields/file_field_controller'\nimport PhoneController from './fields/phone_controller'\nimport SuperSelectController from './fields/super_select_controller'\n\nexport const controllerDefinitions = [\n [ButtonToggleController, 'fields/button_toggle_controller.js'],\n [CloudinaryImageController, 'fields/cloudinary_image_controller.js'],\n [ColorPickerController, 'fields/color_picker_controller.js'],\n [DateController, 'fields/date_controller.js'],\n [FileFieldController, 'fields/file_field_controller.js'],\n [PhoneController, 'fields/phone_controller.js'],\n [SuperSelectController, 'fields/super_select_controller.js']\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n ButtonToggleController,\n CloudinaryImageController,\n ColorPickerController,\n DateController,\n FileFieldController,\n PhoneController,\n SuperSelectController\n}","import Tribute from 'tributejs'\nrequire(\"trix/dist/trix.css\");\n\nrequire(\"trix\")\nrequire(\"@rails/actiontext\")\n\n// only show the editor tool bar when the user is editing the field.\n// inspired by https://github.com/basecamp/trix/issues/343 and `app/assets/stylesheets/account/fields/trix_editor.scss`\n\nexport function trixEditor() {\n document.addEventListener('trix-initialize', function() {\n addEventListener(\"trix-focus\", updateTrixToolbarVisability);\n addEventListener(\"trix-blur\", updateTrixToolbarVisability);\n updateTrixToolbarVisability();\n initializeTribute();\n })\n}\n\nfunction updateTrixToolbarVisability() {\n document.querySelectorAll(\"trix-editor\").forEach((editorElement, index) => {\n var toolbarElement = editorElement.toolbarElement;\n if (editorElement == document.activeElement) {\n toolbarElement.classList.add('visible');\n } else {\n // don't hide the toolbar if we've unfocused to focus on the link dialog.\n if (!toolbarElement.contains(document.activeElement)) {\n toolbarElement.classList.remove('visible');\n }\n }\n })\n}\n\nfunction initializeTribute() {\n document.querySelectorAll(\"trix-editor\").forEach((el, index) => {\n var editor = el.editor;\n \n var mentionConfig = {\n trigger: '@',\n values: JSON.parse(editor.element.dataset.mentions),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var topicConfig = {\n trigger: '#',\n values: JSON.parse(editor.element.dataset.topics),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var tribute = new Tribute({\n collection: [topicConfig, mentionConfig],\n });\n \n tribute.attach(el);\n })\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","Controller","clickShadowField","event","preventDefault","this","shadowFieldTarget","click","targets","pickImageAndUpload","defaultSources","hasGoogleApiKeyValue","push","options","cloud_name","cloudNameValue","apiKey","apiKeyValue","upload_preset","uploadPresetValue","upload_signature","getCloudinarySignature","bind","multiple","sources","hasSourcesValue","sourcesValue","split","search_by_rights","hasSearchByRightsValue","searchByRightsValue","googleApiKeyValue","cloudinary","openUploadWidget","handleWidgetResponse","clearImage","hiddenFieldTarget","value","removeThumbnail","callback","paramsToSign","$","ajax","url","signaturesUrlValue","type","dataType","data","complete","console","log","success","signature","textStatus","xhr","error","status","response","info","public_id","addThumbnail","urlFormatValue","$imageElement","widthValue","heightValue","identifier","uploadButtonTarget","prepend","classList","add","thumbnailShownClass","hasThumbnailTarget","removeChild","thumbnailTarget","remove","values","signaturesUrl","String","height","Number","width","cloudName","googleApiKey","urlFormat","searchByRights","Boolean","classes","connect","initPluginInstance","colorOptions","colorOptionsTarget","find","map","_","button","attr","get","disconnect","teardownPluginInstance","pickColor","targetEl","target","color","dataset","colorInputTarget","val","colorPickerValueTarget","userSelectedColorTarget","removeClass","pickr","setColor","pickRandomColor","r","Math","floor","random","g","b","hexColor","getColor","toHEXA","toString","showUserSelectedColor","addClass","css","show","unpickColor","hide","togglePickr","Pickr","create","el","theme","useAsButton","default","initialColorValue","components","preview","hue","interaction","input","save","on","_instance","hexaColor","includes","that","e","applyColor","destroy","initialColor","require","clearDate","fieldTarget","applyDateToField","picker","format","includeTimeValue","startDate","showTimeZoneButtons","currentTimeZoneWrapperTarget","toggleClass","timeZoneButtonsTarget","showTimeZoneSelectWrapper","hasTimeZoneSelectWrapperTarget","timeZoneSelectWrapperTarget","resetTimeZoneUI","setTimeZone","currentTimeZoneEl","querySelector","timeZoneFieldTarget","text","daterangepicker","singleDatePicker","timePicker","timePickerIncrement","autoUpdateInput","locale","cancelLabel","hasCancelButtonLabelValue","cancelButtonLabelValue","applyLabel","hasApplyButtonLabelValue","applyButtonLabelValue","pluginMainEl","plugin","timeZoneSelect","select2","self","selectedOptionTimeZoneButton","defaultTimeZonesValue","removeAttr","undefined","off","includeTime","defaultTimeZones","Array","cancelButtonLabel","applyButtonLabel","initializeListener","document","addEventListener","selectFileButtonTarget","progressBarTarget","innerText","style","setAttribute","parentNode","progressListener","progress","detail","toFixed","errorListener","uploadListeners","removeEventListener","uploadFile","fileFieldTarget","removeFile","hasDownloadFileButtonTarget","downloadFileButtonTarget","removeFileButtonTarget","removeFileFlagTarget","handleFileSelected","statusText","icon","hiddenInput","method","customContainer","utilsScriptPath","name","element","head","content","metaContent","intlTelInput","initialize","isSelect2LoadedOnWindowJquery","window","cleanupBeforeInit","enableSearchValue","minimumResultsForSearch","tags","acceptsNewValue","searchUrlValue","params","search","term","page","templateResult","formatState","templateSelection","selectTarget","opt","imageUrl","imageHtml","acceptsNew","enableSearch","searchUrl","controllerDefinitions","ButtonToggleController","CloudinaryImageController","ColorPickerController","DateController","FileFieldController","PhoneController","SuperSelectController","d","controller","controllerConstructor","trixEditor","updateTrixToolbarVisability","querySelectorAll","forEach","index","editor","mentionConfig","trigger","JSON","parse","mentions","selectTemplate","item","original","protocol","model","id","label","menuItemTemplate","photo","string","requireLeadingSpace","replaceTextSuffix","topicConfig","topics","Tribute","collection","attach","editorElement","toolbarElement","activeElement","contains"],"mappings":"gOAiBO,SAASA,EAAwBC,GACpC,IAAIC,GAAeD,EAAIE,MAAM,2CAA6C,IAAI,GAC9E,GAAID,EACA,OAAOA,EAAYE,QAAQ,KAAM,KAAKA,QAAQ,MAAO,sBClBhCC,EAG3BC,iBAAiBC,GAEfA,EAAMC,iBAGNC,KAAKC,kBAAkBC,WAPlBC,QAAU,CAAE,+BCDQP,EAe3BQ,mBAAmBN,GAEjBA,EAAMC,iBAGN,IAAIM,EAAiB,CAAC,QAAS,MAAO,UAClCL,KAAKM,sBACPD,EAAeE,KAAK,gBAKtB,IAAIC,EAAU,CACZC,WAAYT,KAAKU,eACjBC,OAAQX,KAAKY,YACbC,cAAeb,KAAKc,kBACpBC,iBAAkBf,KAAKgB,uBAAuBC,KAAKjB,MACnDkB,UAAU,EACVC,QAASnB,KAAKoB,gBAAkBpB,KAAKqB,aAAaC,MAAM,KAAOjB,EAC/DkB,kBAAkBvB,KAAKwB,yBAAuD,IAA7BxB,KAAKyB,qBAGpDzB,KAAKM,uBACPE,EAAO,eAAqBR,KAAK0B,mBAInCC,WAAWC,iBAAiBpB,EAASR,KAAK6B,qBAAqBZ,KAAKjB,OAGtE8B,WAAWhC,GAETA,EAAMC,iBAGNC,KAAK+B,kBAAkBC,MAAQ,KAG/BhC,KAAKiC,kBAGPjB,uBAAuBkB,EAAUC,GAC/BC,EAAEC,KAAK,CACLC,IAAKtC,KAAKuC,mBACVC,KAAM,MACNC,SAAU,OACVC,KAAM,CAACA,KAAMP,GACbQ,SAAU,WAAaC,QAAQC,IAAI,aACnCC,QAAS,SAASC,EAAWC,EAAYC,GAAOf,EAASa,IACzDG,MAAO,SAASD,EAAKE,EAAQD,GAASN,QAAQC,IAAII,EAAKE,EAAQD,MAInErB,qBAAqBqB,EAAOE,GAE1B,IAAKF,GAASE,GAA+B,YAAnBA,EAAStD,MAAqB,CACtD,MAAM4C,EAAOU,EAASC,KAGtBrD,KAAK+B,kBAAkBC,MAAQU,EAAKY,UAGpCtD,KAAKiC,kBAGLjC,KAAKuD,aAAavD,KAAKwD,eAAe7D,QAAQ,gBAAiB+C,EAAKY,aAIxEC,aAAajB,GACX,IAAImB,EAAgBrB,EAAG,aAAYE,aAAetC,KAAK0D,uBAAuB1D,KAAK2D,qBAAqB3D,KAAK4D,oCAC7GxB,EAAEpC,KAAK6D,oBAAoBC,QAAQL,GAGnCzD,KAAK6D,mBAAmBE,UAAUC,IAAIhE,KAAKiE,qBAG7ChC,kBACOjC,KAAKkE,qBACVlE,KAAK6D,mBAAmBM,YAAYnE,KAAKoE,iBACzCpE,KAAK6D,mBAAmBE,UAAUM,OAAOrE,KAAKiE,yBA9FzC9D,QAAU,CAAE,eAAgB,cAAe,eAC3CmE,OAAS,CACdC,cAAeC,OACfC,OAAQC,OACRC,MAAOD,OACPE,UAAWJ,OACX7D,OAAQ6D,OACRK,aAAcL,OACdM,UAAWN,OACXrD,QAASqD,OACTO,eAAgBC,WAEXC,QAAU,CAAE,kCCVQrF,EAI3BsF,UACElF,KAAKmF,qBACLnF,KAAKoF,aAAehD,EAAEpC,KAAKqF,oBAAoBC,KAAK,UAAUC,IAAI,SAAUC,EAAGC,GAAU,OAAOrD,EAAEqD,GAAQC,KAAK,gBAAkBC,MAGnIC,aACE5F,KAAK6F,yBAGPC,UAAUhG,GACRA,EAAMC,iBAEN,MAAMgG,EAAWjG,EAAMkG,OACjBC,EAAQF,EAASG,QAAQD,MAE/B7D,EAAEpC,KAAKmG,kBAAkBC,IAAIH,GAC7B7D,EAAEpC,KAAKqG,wBAAwBD,IAAIH,GACnC7D,EAAEpC,KAAKsG,yBAAyB5D,KAAK,QAASuD,GAC9C7D,EAAE,iBAAiBmE,YAAY,wBAE/BvG,KAAKwG,MAAMC,SAASR,GAEpBF,EAAShC,UAAUC,IAAI,SAAU,iBAGnC0C,gBAAgB5G,GACdA,EAAMC,iBAEN,MAAM4G,EAAIC,KAAKC,MAAsB,IAAhBD,KAAKE,UACpBC,EAAIH,KAAKC,MAAsB,IAAhBD,KAAKE,UACpBE,EAAIJ,KAAKC,MAAsB,IAAhBD,KAAKE,UAE1B9G,KAAKwG,MAAMC,SAAU,OAAME,KAAKI,KAAKC,KACrC,MAAMC,EAAWjH,KAAKwG,MAAMU,WAAWC,SAASC,WAChDpH,KAAKwG,MAAMC,SAASQ,GAEpBjH,KAAKqH,sBAAsBJ,GAG7BI,sBAAsBpB,GACpB7D,EAAEpC,KAAKmG,kBAAkBC,IAAIH,GAC7B7D,EAAEpC,KAAKqG,wBAAwBD,IAAIH,GAEnC7D,EAAE,iBAAiBmE,YAAY,wBAE/BnE,EAAEpC,KAAKsG,yBACJgB,SAAS,UACTA,SAAS,iBACTC,IAAI,mBAAoBtB,GACxBsB,IAAI,kBAAmBtB,GACvBP,KAAK,aAAcO,GACnBuB,OAGLC,YAAY3H,GACVA,EAAMC,iBACNqC,EAAEpC,KAAKqG,wBAAwBD,IAAI,IACnChE,EAAEpC,KAAKmG,kBAAkBC,IAAI,IAC7BhE,EAAEpC,KAAKsG,yBAAyBoB,OAChCtF,EAAE,iBAAiBmE,YAAY,wBAGjCoB,YAAY7H,GACVA,EAAMC,iBAGRoF,qBACEnF,KAAKwG,MAAQoB,EAAMC,OAAO,CACxBC,GAAI,aACJC,MAAO,WACPC,aAAa,EACbC,QAASjI,KAAKkI,mBAAqB,UACnCC,WAAY,CAEVC,SAAS,EACTC,KAAK,EAGLC,YAAa,CACXC,OAAO,EACPC,MAAM,MAKZxI,KAAKwG,MAAMiC,GAAG,OAAQ,CAACxC,EAAOyC,KAC5B,MAAMC,EAAY1C,EAAMkB,SAASC,WAC5BpH,KAAKoF,aAAawD,SAASD,IAC9B3I,KAAKqH,sBAAsBsB,GAE7B3I,KAAKwG,MAAMkB,SAGb,MAAMmB,EAAO7I,KAEboC,EAAE,iCAAiCqG,GAAG,UAAW,SAAUK,GAC3C,UAAVA,EAAEtJ,KACJqJ,EAAKrC,MAAMuC,YAAW,KAK5BlD,yBACE7F,KAAKwG,MAAMwC,aA1GN7I,QAAU,CAAE,mBAAoB,aAAc,aAAc,oBAAqB,kBACjFmE,OAAS,CAAE2E,aAAczE,QCNlC0E,QAAQ,uDAKqBtJ,EAS3BsF,UACElF,KAAKmF,qBAGPS,aACE5F,KAAK6F,yBAGPsD,UAAUrJ,GAERA,EAAMC,iBAENqC,EAAEpC,KAAKoJ,aAAahD,IAAI,IAG1BiD,iBAAiBvJ,EAAOwJ,GACtB,MAAMC,EAASvJ,KAAKwJ,iBAAmB,oBAAsB,aAC7DpH,EAAEpC,KAAKoJ,aAAahD,IAAIkD,EAAOG,UAAUF,OAAOA,IAGlDG,oBAAoB5J,GAElBA,EAAMC,iBAENqC,EAAEpC,KAAK2J,8BAA8BC,YAAY,UACjDxH,EAAEpC,KAAK6J,uBAAuBD,YAAY,UAG5CE,0BAA0BhK,GAExBA,EAAMC,iBAENqC,EAAEpC,KAAK6J,uBAAuBD,YAAY,UAEtC5J,KAAK+J,gCACP3H,EAAEpC,KAAKgK,6BAA6BJ,YAAY,UAIpDK,gBAAgBnB,GACdA,GAAKA,EAAE/I,iBAEPqC,EAAEpC,KAAK2J,8BAA8BpD,YAAY,UACjDnE,EAAEpC,KAAK6J,uBAAuBvC,SAAS,UAEnCtH,KAAK+J,gCACP3H,EAAEpC,KAAKgK,6BAA6B1C,SAAS,UAIjD4C,YAAYpK,GAEVA,EAAMC,iBAEN,MAAMoK,EAAoBnK,KAAK2J,6BAA6BS,cAAc,MACpEpI,MAACA,GAASlC,EAAMkG,OAAOE,QAE7B9D,EAAEpC,KAAKqK,qBAAqBjE,IAAIpE,GAChCI,EAAE+H,GAAmBG,KAAKtI,GAE1BI,EAAE,qBAAqBmE,YAAY,UAAUe,SAAS,sBACtDlF,EAAEtC,EAAMkG,QAAQO,YAAY,sBAAsBe,SAAS,UAE3DtH,KAAKiK,kBAGP9E,qBAoBE,GAnBA/C,EAAEpC,KAAKoJ,aAAamB,gBAAgB,CAClCC,kBAAkB,EAClBC,WAAYzK,KAAKwJ,iBACjBkB,oBAAqB,EACrBC,iBAAiB,EACjBC,OAAQ,CACNC,YAAc7K,KAAK8K,0BAA4B9K,KAAK+K,uBAAwB,SAC5EC,WAAahL,KAAKiL,yBAA2BjL,KAAKkL,sBAAuB,QACzE3B,OAAQvJ,KAAKwJ,iBAAmB,oBAAsB,gBAI1DpH,EAAEpC,KAAKoJ,aAAaX,GAAG,wBAAyBzI,KAAKqJ,iBAAiBpI,KAAKjB,OAC3EoC,EAAEpC,KAAKoJ,aAAaX,GAAG,yBAA0BzI,KAAKmJ,UAAUlI,KAAKjB,OAErEA,KAAKmL,aAAenL,KAAKoJ,YACzBpJ,KAAKoL,OAAShJ,EAAEpC,KAAKmL,cAAczI,KAAK,mBAGpC1C,KAAKwJ,kBAAoBxJ,KAAK+J,+BAAgC,CAChE/J,KAAKqL,eAAiBrL,KAAKgK,4BAA4BI,cAAc,kBAErEhI,EAAEpC,KAAKqL,gBAAgBC,QAAQ,CAC7B3G,MAAO,UAGT,MAAM4G,EAAOvL,KAEboC,EAAEpC,KAAKqL,gBAAgB5C,GAAG,iBAAkB,SAAS3I,GACnD,MAAMqK,EAAoBoB,EAAK5B,6BAA6BS,cAAc,MACpEpI,MAACA,GAASlC,EAAMkG,OAEtB5D,EAAEmJ,EAAKlB,qBAAqBjE,IAAIpE,GAChCI,EAAE+H,GAAmBG,KAAKtI,GAE1B,MAAMwJ,EAA+BpJ,EAAE,qCAEnCmJ,EAAKE,sBAAsB7C,SAAS5G,IACtCI,EAAE,qBAAqBmE,YAAY,UAAUe,SAAS,sBACtDkE,EAA6BlE,SAAS,UAAU5B,KAAK,UAAU,GAC/DtD,EAAG,iBAAgBJ,MAAUuE,YAAY,sBAAsBe,SAAS,YAGxElF,EAAE,qBAAqBmE,YAAY,UAAUe,SAAS,sBAEtDkE,EAA6BlB,KAAKtI,GAClCwJ,EAA6B9F,KAAK,aAAc1D,GAAO0J,WAAW,UAClEF,EAA6BjF,YAAY,CAAC,SAAU,uBAAuBe,SAAS,WAGtFiE,EAAKtB,qBAKXpE,8BACsB8F,IAAhB3L,KAAKoL,SAEThJ,EAAEpC,KAAKmL,cAAcS,IAAI,yBACzBxJ,EAAEpC,KAAKmL,cAAcS,IAAI,0BAGzB5L,KAAKoL,OAAO/G,SAERrE,KAAKwJ,kBACPpH,EAAEpC,KAAKqL,gBAAgBC,QAAQ,eA5I5BnL,QAAU,CAAE,QAAS,cAAe,yBAA0B,kBAAmB,wBAAyB,mBAC1GmE,OAAS,CACduH,YAAa7G,QACb8G,iBAAkBC,MAClBC,kBAAmBxH,OACnByH,iBAAkBzH,wBCVO5E,EAU3BsF,UAEE,MAAMgH,EAAqBC,SAASC,iBAClC,2BACCtM,IACCE,KAAKqM,uBAAuBtI,UAAUC,IAAI,UAC1ChE,KAAKsM,kBAAkBC,UAAY,KACnCvM,KAAKsM,kBAAkBE,MAAM7H,MAAQ,KACrC3E,KAAKsM,kBAAkBG,aAAa,gBAAiB,GACrDzM,KAAKsM,kBAAkBI,WAAW3I,UAAUM,OAAO,YAIjDsI,EAAmBR,SAASC,iBAChC,yBACCtM,IACC,MAAM8M,SAAEA,GAAa9M,EAAM+M,OACrBlI,EAAS,GAAEiI,EAASE,QAAQ,MAElC9M,KAAKsM,kBAAkBC,UAAY5H,EACnC3E,KAAKsM,kBAAkBG,aAAa,gBAAiBG,GACrD5M,KAAKsM,kBAAkBE,MAAM7H,MAAQA,IAInCoI,EAAgBZ,SAASC,iBAC7B,sBACCtM,IACCA,EAAMC,iBAEN,MAAMmD,MAAEA,GAAUpD,EAAM+M,OACxB7M,KAAKsM,kBAAkBC,UAAYrJ,IAIvClD,KAAKgN,gBAAkB,CACrB,2BAA4Bd,EAC5B,yBAA0BS,EAC1B,sBAAuBI,GAI3BnH,aAEE,IAAK,MAAM9F,UAAckN,gBACvBb,SAASc,oBAAoBnN,EAAOE,KAAKgN,gBAAgBlN,IAI7DoN,aACElN,KAAKmN,gBAAgBjN,QAGvBkN,aACMpN,KAAKqN,6BACPrN,KAAKsN,yBAAyBvJ,UAAUC,IAAI,UAG9ChE,KAAKuN,uBAAuBxJ,UAAUC,IAAI,UAC1ChE,KAAKwN,qBAAqBxL,OAAQ,EAGpCyL,qBACE,MAAMC,EAAa1N,KAAKqM,uBAAuBjC,cAAc,QACvDuD,EAAO3N,KAAKqM,uBAAuBjC,cAAc,KAEnDpK,KAAKqN,6BACPrN,KAAKsN,yBAAyBjJ,SAGhCqJ,EAAWnB,UAAY,sBACvBoB,EAAK5J,UAAUM,OAAO,aACtBsJ,EAAK5J,UAAUC,IAAI,eAjFd7D,QAAU,CACf,YACA,iBACA,qBACA,mBACA,mBACA,eCRJ+I,QAAQ,6DAGqBtJ,EAG3BsF,UACElF,KAAKmF,qBAGPS,aACE5F,KAAK6F,yBAGPV,qBACE,IAAI3E,EAAU,CACZoN,YAAa5N,KAAKoJ,YAAYlD,QAAQ2H,OACtCC,gBAAiB,UAInB,MAAMC,EAgBV,SAAsBC,GACpB,MAAMC,EAAU9B,SAAS+B,KAAK9D,cAAe,0CAC7C,OAAO6D,GAAWA,EAAQE,QAlBAC,GACpBL,IACFvN,EAAO,YAAkBuN,GAG3B/N,KAAKoL,OAASiD,EAAarO,KAAKoJ,YAAa5I,GAG/CqF,8BACsB8F,IAAhB3L,KAAKoL,QAGTpL,KAAKoL,OAAOpC,aA7BP7I,QAAU,CAAE,SCJrB+I,QAAQ,oDAGqBtJ,EAQ3B0O,aACMtO,KAAKuO,+BACPjD,EAAQkD,OAAOpM,GAIfmM,oCACF,YAAqB5C,IAAb6C,OAAOpM,QAAwCuJ,IAArB6C,OAAOpM,EAAEkJ,QAG7CpG,UACMlF,KAAKuO,+BACPvO,KAAKmF,qBAITS,aACE5F,KAAK6F,yBAGP4I,oBACErM,EAAEpC,KAAKiO,SAAS3I,KAAK,+BAA+BjB,SAGtDc,qBACE,IAAI3E,EAAU,GAETR,KAAK0O,oBACRlO,EAAQmO,yBAA2B,GAGrCnO,EAAQoO,KAAO5O,KAAK6O,gBAEhB7O,KAAK8O,iBACPtO,EAAQ6B,KAAO,CACbC,IAAKtC,KAAK8O,eACVrM,SAAU,OAEVC,KAAM,SAASqM,GAKb,MAJY,CACVC,OAAQD,EAAOE,KACfC,KAAMH,EAAOG,MAAQ,MAQ7B1O,EAAQ2O,eAAiBnP,KAAKoP,YAC9B5O,EAAQ6O,kBAAoBrP,KAAKoP,YACjC5O,EAAQmE,MAAQ,QAEhB3E,KAAKyO,oBACLzO,KAAKmL,aAAenL,KAAKsP,aACzBlN,EAAEpC,KAAKmL,cAAcG,QAAQ9K,GAG/BqF,8BAC4B8F,IAAtB3L,KAAKmL,cAGT/I,EAAEpC,KAAKmL,cAAcG,QAAQ,WAI/B8D,YAAYG,GACV,IAAIC,EAAWpN,EAAEmN,EAAItB,SAASvI,KAAK,cAC/B+J,EAAY,GAIhB,OAHID,IACFC,EAAY,aAAeD,EAAW,SAEjCpN,EAAE,SAAWqN,EAAYF,EAAIjF,KAAO,cA/EtCnK,QAAU,CAAE,YACZmE,OAAS,CACdoL,WAAY1K,QACZ2K,aAAc3K,QACd4K,UAAWpL,QCCFqL,MAAAA,EAAwB,CACnC,CAACC,EAAwB,sCACzB,CAACC,EAA2B,yCAC5B,CAACC,EAAuB,qCACxB,CAACC,EAAgB,6BACjB,CAACC,EAAqB,mCACtB,CAACC,EAAiB,8BAClB,CAACC,EAAuB,sCACxB7K,IAAI,SAAS8K,GACb,MACMC,EAAaD,EAAE,GACrB,MAAO,CACLzM,WAAYrE,EAHF8Q,EAAE,IAIZE,sBAAuBD,cCdXE,IACdrE,SAASC,iBAAiB,kBAAmB,WAC3CA,iBAAiB,aAAcqE,GAC/BrE,iBAAiB,YAAaqE,GAC9BA,IAoBFtE,SAASuE,iBAAiB,eAAeC,QAAQ,CAAC7I,EAAI8I,KACpD,IAAIC,EAAS/I,EAAG+I,OAEZC,EAAgB,CAClBC,QAAS,IACTzM,OAAQ0M,KAAKC,MAAMJ,EAAO5C,QAAQ/H,QAAQgL,UAC1CC,eAAgB,SAAUC,GAExB,MAAO,aADPA,EAAOA,EAAKC,UACcC,SAAW,MAAQF,EAAKG,MAAQ,IAAMH,EAAKI,GAAK,KAAOJ,EAAKK,MAAQ,QAEhGC,iBAAkB,SAAUN,GAC1B,MAAO,aAAeA,EAAKC,SAASM,MAAQ,QAAUP,EAAKQ,QAE7DC,qBAAqB,EACrBC,kBAAmB,IAGjBC,EAAc,CAChBhB,QAAS,IACTzM,OAAQ0M,KAAKC,MAAMJ,EAAO5C,QAAQ/H,QAAQ8L,QAC1Cb,eAAgB,SAAUC,GAExB,MAAO,aADPA,EAAOA,EAAKC,UACcC,SAAW,MAAQF,EAAKG,MAAQ,IAAMH,EAAKI,GAAK,KAAOJ,EAAKK,MAAQ,QAEhGC,iBAAkB,SAAUN,GAC1B,MAAO,aAAeA,EAAKC,SAASM,MAAQ,QAAUP,EAAKQ,QAE7DC,qBAAqB,EACrBC,kBAAmB,IAGP,IAAIG,EAAQ,CACxBC,WAAY,CAACH,EAAajB,KAGpBqB,OAAOrK,OAlDnB,SAAS2I,IACPtE,SAASuE,iBAAiB,eAAeC,QAAQ,CAACyB,EAAexB,KAC/D,IAAIyB,EAAiBD,EAAcC,eAC/BD,GAAiBjG,SAASmG,cAC5BD,EAAetO,UAAUC,IAAI,WAGxBqO,EAAeE,SAASpG,SAASmG,gBACpCD,EAAetO,UAAUM,OAAO,aAzBxC6E,QAAQ,sBAERA,QAAQ,QACRA,QAAQ"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("stimulus"),require("@simonwep/pickr/dist/themes/monolith.min.css"),require("@simonwep/pickr"),require("daterangepicker"),require("intl-tel-input"),require("select2"),require("tributejs")):"function"==typeof define&&define.amd?define(["exports","stimulus","@simonwep/pickr/dist/themes/monolith.min.css","@simonwep/pickr","daterangepicker","intl-tel-input","select2","tributejs"],t):t((e||self).fields={},e.stimulus,0,e.Pickr,0,e.intlTelInput,e.select2,e.tributejs)}(this,function(e,t,i,n,r,a,o,l){function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(n),c=s(a),d=s(o),h=s(l);function p(e){var t=(e.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(t)return t.replace(/_/g,"-").replace(/\//g,"--")}function g(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}var m=function(e){function t(){return e.apply(this,arguments)||this}return g(t,e),t.prototype.clickShadowField=function(e){e.preventDefault(),this.shadowFieldTarget.click()},t}(t.Controller);m.targets=["shadowField"];var v=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i=t.prototype;return i.pickImageAndUpload=function(e){e.preventDefault();var t=["local","url","camera"];this.hasGoogleApiKeyValue&&t.push("image_search");var i={cloud_name:this.cloudNameValue,apiKey:this.apiKeyValue,upload_preset:this.uploadPresetValue,upload_signature:this.getCloudinarySignature.bind(this),multiple:!1,sources:this.hasSourcesValue?this.sourcesValue.split(","):t,search_by_rights:!this.hasSearchByRightsValue||!1!==this.searchByRightsValue};this.hasGoogleApiKeyValue&&(i.google_api_key=this.googleApiKeyValue),cloudinary.openUploadWidget(i,this.handleWidgetResponse.bind(this))},i.clearImage=function(e){e.preventDefault(),this.hiddenFieldTarget.value=null,this.removeThumbnail()},i.getCloudinarySignature=function(e,t){$.ajax({url:this.signaturesUrlValue,type:"GET",dataType:"text",data:{data:t},complete:function(){console.log("complete")},success:function(t,i,n){e(t)},error:function(e,t,i){console.log(e,t,i)}})},i.handleWidgetResponse=function(e,t){if(!e&&t&&"success"===t.event){var i=t.info;this.hiddenFieldTarget.value=i.public_id,this.removeThumbnail(),this.addThumbnail(this.urlFormatValue.replace("CLOUDINARY_ID",i.public_id))}},i.addThumbnail=function(e){var t=$('<img src="'+e+'" width="'+this.widthValue+'" height="'+this.heightValue+'" data-'+this.identifier+'-target="thumbnail" />');$(this.uploadButtonTarget).prepend(t),this.uploadButtonTarget.classList.add(this.thumbnailShownClass)},i.removeThumbnail=function(){this.hasThumbnailTarget&&(this.uploadButtonTarget.removeChild(this.thumbnailTarget),this.uploadButtonTarget.classList.remove(this.thumbnailShownClass))},t}(t.Controller);v.targets=["uploadButton","hiddenField","thumbnail"],v.values={signaturesUrl:String,height:Number,width:Number,cloudName:String,apiKey:String,googleApiKey:String,urlFormat:String,sources:String,searchByRights:Boolean},v.classes=["thumbnailShown"];var T=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance(),this.colorOptions=$(this.colorOptionsTarget).find("button").map(function(e,t){return $(t).attr("data-color")}).get()},i.disconnect=function(){this.teardownPluginInstance()},i.pickColor=function(e){e.preventDefault();var t=e.target,i=t.dataset.color;$(this.colorInputTarget).val(i),$(this.colorPickerValueTarget).val(i),$(this.userSelectedColorTarget).data("color",i),$(".button-color").removeClass("ring-2 ring-offset-2"),this.pickr.setColor(i),t.classList.add("ring-2","ring-offset-2")},i.pickRandomColor=function(e){e.preventDefault();var t=Math.floor(256*Math.random()),i=Math.floor(256*Math.random()),n=Math.floor(256*Math.random());this.pickr.setColor("rgb "+t+" "+i+" "+n);var r=this.pickr.getColor().toHEXA().toString();this.pickr.setColor(r),this.showUserSelectedColor(r)},i.showUserSelectedColor=function(e){$(this.colorInputTarget).val(e),$(this.colorPickerValueTarget).val(e),$(".button-color").removeClass("ring-2 ring-offset-2"),$(this.userSelectedColorTarget).addClass("ring-2").addClass("ring-offset-2").css("background-color",e).css("--tw-ring-color",e).attr("data-color",e).show()},i.unpickColor=function(e){e.preventDefault(),$(this.colorPickerValueTarget).val(""),$(this.colorInputTarget).val(""),$(this.userSelectedColorTarget).hide(),$(".button-color").removeClass("ring-2 ring-offset-2")},i.togglePickr=function(e){e.preventDefault()},i.initPluginInstance=function(){var e=this;this.pickr=u.default.create({el:".btn-pickr",theme:"monolith",useAsButton:!0,default:this.initialColorValue||"#1E90FF",components:{preview:!0,hue:!0,interaction:{input:!0,save:!0}}}),this.pickr.on("save",function(t,i){var n=t.toHEXA().toString();e.colorOptions.includes(n)||e.showUserSelectedColor(n),e.pickr.hide()});var t=this;$('input[type="text"].pcr-result').on("keydown",function(e){"Enter"===e.key&&t.pickr.applyColor(!1)})},i.teardownPluginInstance=function(){this.pickr.destroy()},t}(t.Controller);T.targets=["colorPickerValue","colorField","colorInput","userSelectedColor","colorOptions"],T.values={initialColor:String},require("daterangepicker/daterangepicker.css");var y=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance()},i.disconnect=function(){this.teardownPluginInstance()},i.clearDate=function(e){e.preventDefault(),$(this.fieldTarget).val("")},i.applyDateToField=function(e,t){var i=this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY";$(this.fieldTarget).val(t.startDate.format(i))},i.showTimeZoneButtons=function(e){e.preventDefault(),$(this.currentTimeZoneWrapperTarget).toggleClass("hidden"),$(this.timeZoneButtonsTarget).toggleClass("hidden")},i.showTimeZoneSelectWrapper=function(e){e.preventDefault(),$(this.timeZoneButtonsTarget).toggleClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).toggleClass("hidden")},i.resetTimeZoneUI=function(e){e&&e.preventDefault(),$(this.currentTimeZoneWrapperTarget).removeClass("hidden"),$(this.timeZoneButtonsTarget).addClass("hidden"),this.hasTimeZoneSelectWrapperTarget&&$(this.timeZoneSelectWrapperTarget).addClass("hidden")},i.setTimeZone=function(e){e.preventDefault();var t=this.currentTimeZoneWrapperTarget.querySelector("a"),i=e.target.dataset.value;$(this.timeZoneFieldTarget).val(i),$(t).text(i),$(".time-zone-button").removeClass("button").addClass("button-alternative"),$(e.target).removeClass("button-alternative").addClass("button"),this.resetTimeZoneUI()},i.initPluginInstance=function(){if($(this.fieldTarget).daterangepicker({singleDatePicker:!0,timePicker:this.includeTimeValue,timePickerIncrement:5,autoUpdateInput:!1,locale:{cancelLabel:this.hasCancelButtonLabelValue?this.cancelButtonLabelValue:"cancel",applyLabel:this.hasApplyButtonLabelValue?this.applyButtonLabelValue:"apply",format:this.includeTimeValue?"MM/DD/YYYY h:mm A":"MM/DD/YYYY"}}),$(this.fieldTarget).on("apply.daterangepicker",this.applyDateToField.bind(this)),$(this.fieldTarget).on("cancel.daterangepicker",this.clearDate.bind(this)),this.pluginMainEl=this.fieldTarget,this.plugin=$(this.pluginMainEl).data("daterangepicker"),this.includeTimeValue&&this.hasTimeZoneSelectWrapperTarget){this.timeZoneSelect=this.timeZoneSelectWrapperTarget.querySelector("select.select2"),$(this.timeZoneSelect).select2({width:"style"});var e=this;$(this.timeZoneSelect).on("change.select2",function(t){var i=e.currentTimeZoneWrapperTarget.querySelector("a"),n=t.target.value;$(e.timeZoneFieldTarget).val(n),$(i).text(n);var r=$(".selected-option-time-zone-button");e.defaultTimeZonesValue.includes(n)?($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.addClass("hidden").attr("hidden",!0),$('a[data-value="'+n+'"').removeClass("button-alternative").addClass("button")):($(".time-zone-button").removeClass("button").addClass("button-alternative"),r.text(n),r.attr("data-value",n).removeAttr("hidden"),r.removeClass(["hidden","button-alternative"]).addClass("button")),e.resetTimeZoneUI()})}},i.teardownPluginInstance=function(){void 0!==this.plugin&&($(this.pluginMainEl).off("apply.daterangepicker"),$(this.pluginMainEl).off("cancel.daterangepicker"),this.plugin.remove(),this.includeTimeValue&&$(this.timeZoneSelect).select2("destroy"))},t}(t.Controller);y.targets=["field","clearButton","currentTimeZoneWrapper","timeZoneButtons","timeZoneSelectWrapper","timeZoneField"],y.values={includeTime:Boolean,defaultTimeZones:Array,cancelButtonLabel:String,applyButtonLabel:String};var b=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i=t.prototype;return i.connect=function(){var e=this,t=document.addEventListener("direct-upload:initialize",function(t){e.selectFileButtonTarget.classList.add("hidden"),e.progressBarTarget.innerText="0%",e.progressBarTarget.style.width="0%",e.progressBarTarget.setAttribute("aria-valuenow",0),e.progressBarTarget.parentNode.classList.remove("hidden")}),i=document.addEventListener("direct-upload:progress",function(t){var i=t.detail.progress,n=i.toFixed(1)+"%";e.progressBarTarget.innerText=n,e.progressBarTarget.setAttribute("aria-valuenow",i),e.progressBarTarget.style.width=n}),n=document.addEventListener("direct-upload:error",function(t){t.preventDefault(),e.progressBarTarget.innerText=t.detail.error});this.uploadListeners={"direct-upload:initialize":t,"direct-upload:progress":i,"direct-upload:error":n}},i.disconnect=function(){for(var e in this.uploadListeners)document.removeEventListener(e,this.uploadListeners[e])},i.uploadFile=function(){this.fileFieldTarget.click()},i.removeFile=function(){this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.classList.add("hidden"),this.removeFileButtonTarget.classList.add("hidden"),this.removeFileFlagTarget.value=!0},i.handleFileSelected=function(){var e=this.selectFileButtonTarget.querySelector("span"),t=this.selectFileButtonTarget.querySelector("i");this.hasDownloadFileButtonTarget&&this.downloadFileButtonTarget.remove(),e.innerText="Select Another File",t.classList.remove("ti-upload"),t.classList.add("ti-check")},t}(t.Controller);b.targets=["fileField","removeFileFlag","downloadFileButton","removeFileButton","selectFileButton","progressBar"],require("intl-tel-input/build/css/intlTelInput.css");var S=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i=t.prototype;return i.connect=function(){this.initPluginInstance()},i.disconnect=function(){this.teardownPluginInstance()},i.initPluginInstance=function(){var e,t={hiddenInput:this.fieldTarget.dataset.method,customContainer:"w-full"},i=(e=document.head.querySelector('meta[name="intl_tel_input_utils_path"]'))&&e.content;i&&(t.utilsScript=i),this.plugin=c.default(this.fieldTarget,t)},i.teardownPluginInstance=function(){void 0!==this.plugin&&this.plugin.destroy()},t}(t.Controller);S.targets=["field"],require("select2/dist/css/select2.min.css");var C=function(e){function t(){return e.apply(this,arguments)||this}g(t,e);var i,n,r=t.prototype;return r.initialize=function(){this.isSelect2LoadedOnWindowJquery&&d.default(window.$)},r.connect=function(){this.isSelect2LoadedOnWindowJquery&&this.initPluginInstance()},r.disconnect=function(){this.teardownPluginInstance()},r.cleanupBeforeInit=function(){$(this.element).find(".select2-container--default").remove()},r.initPluginInstance=function(){var e={};this.enableSearchValue||(e.minimumResultsForSearch=-1),e.tags=this.acceptsNewValue,this.searchUrlValue&&(e.ajax={url:this.searchUrlValue,dataType:"json",data:function(e){return{search:e.term,page:e.page||1}}}),e.templateResult=this.formatState,e.templateSelection=this.formatState,e.width="style",this.cleanupBeforeInit(),this.pluginMainEl=this.selectTarget,$(this.pluginMainEl).select2(e)},r.teardownPluginInstance=function(){void 0!==this.pluginMainEl&&$(this.pluginMainEl).select2("destroy")},r.formatState=function(e){var t=$(e.element).attr("data-image"),i="";return t&&(i='<img src="'+t+'" /> '),$("<span>"+i+e.text+"</span>")},i=t,(n=[{key:"isSelect2LoadedOnWindowJquery",get:function(){return void 0!==window.$&&void 0===window.$.select2}}])&&function(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),t}(t.Controller);C.targets=["select"],C.values={acceptsNew:Boolean,enableSearch:Boolean,searchUrl:String};var w=[[m,"fields/button_toggle_controller.js"],[v,"fields/cloudinary_image_controller.js"],[T,"fields/color_picker_controller.js"],[y,"fields/date_controller.js"],[b,"fields/file_field_controller.js"],[S,"fields/phone_controller.js"],[C,"fields/super_select_controller.js"]].map(function(e){var t=e[0];return{identifier:p(e[1]),controllerConstructor:t}});function k(){document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.toolbarElement;e==document.activeElement?i.classList.add("visible"):i.contains(document.activeElement)||i.classList.remove("visible")})}require("trix/dist/trix.css"),require("trix"),require("@rails/actiontext"),e.ButtonToggleController=m,e.CloudinaryImageController=v,e.ColorPickerController=T,e.DateController=y,e.FileFieldController=b,e.PhoneController=S,e.SuperSelectController=C,e.controllerDefinitions=w,e.trixEditor=function(){document.addEventListener("trix-initialize",function(){addEventListener("trix-focus",k),addEventListener("trix-blur",k),k(),document.querySelectorAll("trix-editor").forEach(function(e,t){var i=e.editor,n={trigger:"@",values:JSON.parse(i.element.dataset.mentions),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""},r={trigger:"#",values:JSON.parse(i.element.dataset.topics),selectTemplate:function(e){return'<a href="'+(e=e.original).protocol+"://"+e.model+"/"+e.id+'">'+e.label+"</a>"},menuItemTemplate:function(e){return'<img src="'+e.original.photo+'" /> '+e.string},requireLeadingSpace:!0,replaceTextSuffix:""};new h.default({collection:[r,n]}).attach(e)})})}});
2
+ //# sourceMappingURL=fields.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.umd.js","sources":["../../../node_modules/@stimulus/webpack-helpers/dist/index.js","../../javascript/controllers/fields/button_toggle_controller.js","../../javascript/controllers/fields/cloudinary_image_controller.js","../../javascript/controllers/fields/color_picker_controller.js","../../javascript/controllers/fields/date_controller.js","../../javascript/controllers/fields/file_field_controller.js","../../javascript/controllers/fields/phone_controller.js","../../javascript/controllers/fields/super_select_controller.js","../../javascript/controllers/index.js","../../javascript/trix_editor.js"],"sourcesContent":["export function definitionsFromContext(context) {\n return context.keys()\n .map(function (key) { return definitionForModuleWithContextAndKey(context, key); })\n .filter(function (value) { return value; });\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier: identifier, controllerConstructor: controllerConstructor };\n }\n}\nexport function identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n//# sourceMappingURL=index.js.map","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"shadowField\" ]\n\n clickShadowField(event) {\n // we have to stop safari from doing what we originally expected.\n event.preventDefault();\n\n // then we need to manually click the hidden checkbox or radio button ourselves.\n this.shadowFieldTarget.click()\n }\n}","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"uploadButton\", \"hiddenField\", \"thumbnail\" ]\n static values = { \n signaturesUrl: String,\n height: Number,\n width: Number,\n cloudName: String,\n apiKey: String,\n googleApiKey: String,\n urlFormat: String,\n sources: String,\n searchByRights: Boolean\n }\n static classes = [ \"thumbnailShown\" ]\n\n pickImageAndUpload(event) {\n // don't submit the form.\n event.preventDefault()\n\n // prepare the list of default sources a user can upload an image from.\n var defaultSources = ['local', 'url', 'camera']\n if (this.hasGoogleApiKeyValue) {\n defaultSources.push('image_search')\n }\n\n // configure cloudinary's uploader's options.\n // many of these are configurable at the point where the `shared/fields/cloudinary_image` partial is included.\n var options = {\n cloud_name: this.cloudNameValue,\n apiKey: this.apiKeyValue,\n upload_preset: this.uploadPresetValue,\n upload_signature: this.getCloudinarySignature.bind(this),\n multiple: false,\n sources: this.hasSourcesValue ? this.sourcesValue.split(',') : defaultSources,\n search_by_rights: this.hasSearchByRightsValue && this.searchByRightsValue === false ? false : true // default to true.\n }\n \n if (this.hasGoogleApiKeyValue) {\n options['google_api_key'] = this.googleApiKeyValue\n }\n \n // open cloudinary's upload widget.\n cloudinary.openUploadWidget(options, this.handleWidgetResponse.bind(this))\n }\n \n clearImage(event) {\n // don't submit the form.\n event.preventDefault()\n\n // clear the cloudinary id.\n this.hiddenFieldTarget.value = null\n \n // remove any existing image from the button.\n this.removeThumbnail()\n }\n \n getCloudinarySignature(callback, paramsToSign) {\n $.ajax({\n url: this.signaturesUrlValue,\n type: \"GET\",\n dataType: \"text\",\n data: {data: paramsToSign},\n complete: function() { console.log(\"complete\") },\n success: function(signature, textStatus, xhr) { callback(signature) },\n error: function(xhr, status, error) { console.log(xhr, status, error) }\n })\n }\n \n handleWidgetResponse(error, response) {\n // after the user has successfully uploaded a single file ..\n if (!error && response && response.event === \"success\") { \n const data = response.info\n \n // update the cloudinary id field in the form.\n this.hiddenFieldTarget.value = data.public_id\n\n // remove any existing image.\n this.removeThumbnail()\n\n // generate a new image preview url.\n this.addThumbnail(this.urlFormatValue.replace('CLOUDINARY_ID', data.public_id))\n }\n }\n \n addThumbnail(url) {\n var $imageElement = $(`<img src=\"${url}\" width=\"${this.widthValue}\" height=\"${this.heightValue}\" data-${this.identifier}-target=\"thumbnail\" />`)\n $(this.uploadButtonTarget).prepend($imageElement)\n\n // mark the image as present.\n this.uploadButtonTarget.classList.add(this.thumbnailShownClass)\n }\n \n removeThumbnail() {\n if (!this.hasThumbnailTarget) { return }\n this.uploadButtonTarget.removeChild(this.thumbnailTarget)\n this.uploadButtonTarget.classList.remove(this.thumbnailShownClass)\n }\n}\n","import { Controller } from \"stimulus\"\nimport '@simonwep/pickr/dist/themes/monolith.min.css'\n\nimport Pickr from '@simonwep/pickr';\n\nexport default class extends Controller {\n static targets = [ \"colorPickerValue\", \"colorField\", \"colorInput\", \"userSelectedColor\", \"colorOptions\" ];\n static values = { initialColor: String }\n\n connect() {\n this.initPluginInstance()\n this.colorOptions = $(this.colorOptionsTarget).find('button').map(function (_, button) { return $(button).attr('data-color'); }).get()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n pickColor(event) {\n event.preventDefault();\n\n const targetEl = event.target;\n const color = targetEl.dataset.color;\n\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n $(this.userSelectedColorTarget).data('color', color);\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n this.pickr.setColor(color);\n\n targetEl.classList.add('ring-2', 'ring-offset-2');\n }\n\n pickRandomColor(event) {\n event.preventDefault();\n\n const r = Math.floor(Math.random() * 256);\n const g = Math.floor(Math.random() * 256);\n const b = Math.floor(Math.random() * 256);\n\n this.pickr.setColor(`rgb ${r} ${g} ${b}`);\n const hexColor = this.pickr.getColor().toHEXA().toString();\n this.pickr.setColor(hexColor);\n\n this.showUserSelectedColor(hexColor);\n }\n\n showUserSelectedColor(color) {\n $(this.colorInputTarget).val(color);\n $(this.colorPickerValueTarget).val(color);\n\n $('.button-color').removeClass('ring-2 ring-offset-2');\n\n $(this.userSelectedColorTarget)\n .addClass('ring-2')\n .addClass('ring-offset-2')\n .css('background-color', color)\n .css('--tw-ring-color', color)\n .attr('data-color', color)\n .show();\n }\n\n unpickColor(event) {\n event.preventDefault();\n $(this.colorPickerValueTarget).val('');\n $(this.colorInputTarget).val('');\n $(this.userSelectedColorTarget).hide();\n $('.button-color').removeClass('ring-2 ring-offset-2');\n }\n\n togglePickr(event) {\n event.preventDefault();\n }\n\n initPluginInstance() {\n this.pickr = Pickr.create({\n el: '.btn-pickr',\n theme: 'monolith',\n useAsButton: true,\n default: this.initialColorValue || '#1E90FF',\n components: {\n // Main components\n preview: true,\n hue: true,\n\n // Input / output Options\n interaction: {\n input: true,\n save: true,\n },\n }\n });\n\n this.pickr.on('save', (color, _instance) => {\n const hexaColor = color.toHEXA().toString()\n if (!this.colorOptions.includes(hexaColor)) {\n this.showUserSelectedColor(hexaColor);\n }\n this.pickr.hide();\n });\n\n const that = this\n\n $('input[type=\"text\"].pcr-result').on('keydown', function (e) {\n if (e.key === 'Enter') {\n that.pickr.applyColor(false)\n }\n })\n }\n\n teardownPluginInstance() {\n this.pickr.destroy()\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"daterangepicker/daterangepicker.css\");\n\n// requires jQuery, moment, might want to consider a vanilla JS alternative\nimport 'daterangepicker';\n\nexport default class extends Controller {\n static targets = [ \"field\", \"clearButton\", \"currentTimeZoneWrapper\", \"timeZoneButtons\", \"timeZoneSelectWrapper\", \"timeZoneField\" ]\n static values = {\n includeTime: Boolean,\n defaultTimeZones: Array,\n cancelButtonLabel: String,\n applyButtonLabel: String\n }\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n clearDate(event) {\n // don't submit the form, unless it originated from the cancel/clear button\n event.preventDefault()\n\n $(this.fieldTarget).val('')\n }\n\n applyDateToField(event, picker) {\n const format = this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n $(this.fieldTarget).val(picker.startDate.format(format))\n }\n\n showTimeZoneButtons(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).toggleClass('hidden')\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n }\n\n showTimeZoneSelectWrapper(event) {\n // don't follow the anchor\n event.preventDefault()\n\n $(this.timeZoneButtonsTarget).toggleClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).toggleClass('hidden')\n }\n }\n\n resetTimeZoneUI(e) {\n e && e.preventDefault()\n\n $(this.currentTimeZoneWrapperTarget).removeClass('hidden')\n $(this.timeZoneButtonsTarget).addClass('hidden')\n\n if (this.hasTimeZoneSelectWrapperTarget) {\n $(this.timeZoneSelectWrapperTarget).addClass('hidden')\n }\n }\n\n setTimeZone(event) {\n // don't follow the anchor\n event.preventDefault()\n\n const currentTimeZoneEl = this.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target.dataset\n\n $(this.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n $(event.target).removeClass('button-alternative').addClass('button')\n\n this.resetTimeZoneUI()\n }\n\n initPluginInstance() {\n $(this.fieldTarget).daterangepicker({\n singleDatePicker: true,\n timePicker: this.includeTimeValue,\n timePickerIncrement: 5,\n autoUpdateInput: false,\n locale: {\n cancelLabel: (this.hasCancelButtonLabelValue)? this.cancelButtonLabelValue: \"cancel\",\n applyLabel: (this.hasApplyButtonLabelValue)? this.applyButtonLabelValue: \"apply\",\n format: this.includeTimeValue ? 'MM/DD/YYYY h:mm A' : 'MM/DD/YYYY'\n }\n })\n\n $(this.fieldTarget).on('apply.daterangepicker', this.applyDateToField.bind(this))\n $(this.fieldTarget).on('cancel.daterangepicker', this.clearDate.bind(this))\n\n this.pluginMainEl = this.fieldTarget\n this.plugin = $(this.pluginMainEl).data('daterangepicker') // weird\n\n // Init time zone select\n if (this.includeTimeValue && this.hasTimeZoneSelectWrapperTarget) {\n this.timeZoneSelect = this.timeZoneSelectWrapperTarget.querySelector('select.select2')\n\n $(this.timeZoneSelect).select2({\n width: 'style'\n })\n\n const self = this\n\n $(this.timeZoneSelect).on('change.select2', function(event) {\n const currentTimeZoneEl = self.currentTimeZoneWrapperTarget.querySelector('a')\n const {value} = event.target\n\n $(self.timeZoneFieldTarget).val(value)\n $(currentTimeZoneEl).text(value)\n\n const selectedOptionTimeZoneButton = $('.selected-option-time-zone-button')\n\n if (self.defaultTimeZonesValue.includes(value)) {\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n selectedOptionTimeZoneButton.addClass('hidden').attr('hidden', true)\n $(`a[data-value=\"${value}\"`).removeClass('button-alternative').addClass('button')\n } else {\n // deselect any selected button\n $('.time-zone-button').removeClass('button').addClass('button-alternative')\n\n selectedOptionTimeZoneButton.text(value)\n selectedOptionTimeZoneButton.attr('data-value', value).removeAttr('hidden')\n selectedOptionTimeZoneButton.removeClass(['hidden', 'button-alternative']).addClass('button')\n }\n\n self.resetTimeZoneUI()\n })\n }\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n $(this.pluginMainEl).off('apply.daterangepicker')\n $(this.pluginMainEl).off('cancel.daterangepicker')\n\n // revert to original markup, remove any event listeners\n this.plugin.remove()\n\n if (this.includeTimeValue) {\n $(this.timeZoneSelect).select2('destroy');\n }\n }\n}\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n static targets = [\n \"fileField\",\n \"removeFileFlag\",\n \"downloadFileButton\",\n \"removeFileButton\",\n \"selectFileButton\",\n \"progressBar\",\n ];\n\n connect() {\n // Add upload event listeners\n const initializeListener = document.addEventListener(\n \"direct-upload:initialize\",\n (event) => {\n this.selectFileButtonTarget.classList.add(\"hidden\");\n this.progressBarTarget.innerText = \"0%\";\n this.progressBarTarget.style.width = \"0%\";\n this.progressBarTarget.setAttribute(\"aria-valuenow\", 0);\n this.progressBarTarget.parentNode.classList.remove(\"hidden\");\n }\n );\n\n const progressListener = document.addEventListener(\n \"direct-upload:progress\",\n (event) => {\n const { progress } = event.detail;\n const width = `${progress.toFixed(1)}%`;\n\n this.progressBarTarget.innerText = width;\n this.progressBarTarget.setAttribute(\"aria-valuenow\", progress);\n this.progressBarTarget.style.width = width;\n }\n );\n\n const errorListener = document.addEventListener(\n \"direct-upload:error\",\n (event) => {\n event.preventDefault();\n\n const { error } = event.detail;\n this.progressBarTarget.innerText = error;\n }\n );\n\n this.uploadListeners = {\n \"direct-upload:initialize\": initializeListener,\n \"direct-upload:progress\": progressListener,\n \"direct-upload:error\": errorListener,\n };\n }\n\n disconnect() {\n // Teardown event listeners\n for (const event in this.uploadListeners) {\n document.removeEventListener(event, this.uploadListeners[event]);\n }\n }\n\n uploadFile() {\n this.fileFieldTarget.click();\n }\n\n removeFile() {\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.classList.add(\"hidden\");\n }\n\n this.removeFileButtonTarget.classList.add(\"hidden\");\n this.removeFileFlagTarget.value = true;\n }\n\n handleFileSelected() {\n const statusText = this.selectFileButtonTarget.querySelector(\"span\");\n const icon = this.selectFileButtonTarget.querySelector(\"i\");\n\n if (this.hasDownloadFileButtonTarget) {\n this.downloadFileButtonTarget.remove();\n }\n\n statusText.innerText = \"Select Another File\";\n icon.classList.remove(\"ti-upload\");\n icon.classList.add(\"ti-check\");\n }\n}\n","import { Controller } from \"stimulus\"\nrequire(\"intl-tel-input/build/css/intlTelInput.css\");\nimport intlTelInput from 'intl-tel-input';\n\nexport default class extends Controller {\n static targets = [ \"field\" ]\n\n connect() {\n this.initPluginInstance()\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n initPluginInstance() {\n let options = {\n hiddenInput: this.fieldTarget.dataset.method,\n customContainer: \"w-full\"\n }\n\n // TODO: add instructions on how to copy this asset into the application's assets path and write the meta tag into the head (via the engine?)\n const utilsScriptPath = metaContent(\"intl_tel_input_utils_path\")\n if (utilsScriptPath) {\n options['utilsScript'] = utilsScriptPath\n }\n\n this.plugin = intlTelInput(this.fieldTarget, options);\n }\n\n teardownPluginInstance() {\n if (this.plugin === undefined) { return }\n\n // revert to original markup, remove any event listeners\n this.plugin.destroy()\n }\n}\n\nfunction metaContent (name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`)\n return element && element.content\n}","import { Controller } from \"stimulus\"\nrequire(\"select2/dist/css/select2.min.css\");\nimport select2 from \"select2\";\n\nexport default class extends Controller {\n static targets = [ \"select\" ]\n static values = {\n acceptsNew: Boolean,\n enableSearch: Boolean,\n searchUrl: String,\n }\n\n initialize() {\n if (this.isSelect2LoadedOnWindowJquery) {\n select2(window.$)\n }\n }\n\n get isSelect2LoadedOnWindowJquery() {\n return (window.$ !== undefined && window.$.select2 === undefined)\n }\n\n connect() {\n if (this.isSelect2LoadedOnWindowJquery) {\n this.initPluginInstance()\n }\n }\n\n disconnect() {\n this.teardownPluginInstance()\n }\n\n cleanupBeforeInit() {\n $(this.element).find('.select2-container--default').remove()\n }\n\n initPluginInstance() {\n let options = {};\n\n if (!this.enableSearchValue) {\n options.minimumResultsForSearch = -1;\n }\n\n options.tags = this.acceptsNewValue\n\n if (this.searchUrlValue) {\n options.ajax = {\n url: this.searchUrlValue,\n dataType: 'json',\n // We enable pagination by default here\n data: function(params) {\n var query = {\n search: params.term,\n page: params.page || 1\n }\n return query\n }\n // Any additional params go here...\n }\n }\n\n options.templateResult = this.formatState;\n options.templateSelection = this.formatState;\n options.width = 'style';\n\n this.cleanupBeforeInit() // in case improperly torn down\n this.pluginMainEl = this.selectTarget // required because this.selectTarget is unavailable on disconnect()\n $(this.pluginMainEl).select2(options);\n }\n\n teardownPluginInstance() {\n if (this.pluginMainEl === undefined) { return }\n\n // revert to original markup, remove any event listeners\n $(this.pluginMainEl).select2('destroy');\n }\n\n // https://stackoverflow.com/questions/29290389/select2-add-image-icon-to-option-dynamically\n formatState(opt) {\n var imageUrl = $(opt.element).attr('data-image');\n var imageHtml = \"\";\n if (imageUrl) {\n imageHtml = '<img src=\"' + imageUrl + '\" /> ';\n }\n return $('<span>' + imageHtml + opt.text + '</span>');\n }\n}\n","import { identifierForContextKey } from \"@stimulus/webpack-helpers\"\n\nimport ButtonToggleController from './fields/button_toggle_controller'\nimport CloudinaryImageController from './fields/cloudinary_image_controller'\nimport ColorPickerController from './fields/color_picker_controller'\nimport DateController from './fields/date_controller'\nimport FileFieldController from './fields/file_field_controller'\nimport PhoneController from './fields/phone_controller'\nimport SuperSelectController from './fields/super_select_controller'\n\nexport const controllerDefinitions = [\n [ButtonToggleController, 'fields/button_toggle_controller.js'],\n [CloudinaryImageController, 'fields/cloudinary_image_controller.js'],\n [ColorPickerController, 'fields/color_picker_controller.js'],\n [DateController, 'fields/date_controller.js'],\n [FileFieldController, 'fields/file_field_controller.js'],\n [PhoneController, 'fields/phone_controller.js'],\n [SuperSelectController, 'fields/super_select_controller.js']\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n ButtonToggleController,\n CloudinaryImageController,\n ColorPickerController,\n DateController,\n FileFieldController,\n PhoneController,\n SuperSelectController\n}","import Tribute from 'tributejs'\nrequire(\"trix/dist/trix.css\");\n\nrequire(\"trix\")\nrequire(\"@rails/actiontext\")\n\n// only show the editor tool bar when the user is editing the field.\n// inspired by https://github.com/basecamp/trix/issues/343 and `app/assets/stylesheets/account/fields/trix_editor.scss`\n\nexport function trixEditor() {\n document.addEventListener('trix-initialize', function() {\n addEventListener(\"trix-focus\", updateTrixToolbarVisability);\n addEventListener(\"trix-blur\", updateTrixToolbarVisability);\n updateTrixToolbarVisability();\n initializeTribute();\n })\n}\n\nfunction updateTrixToolbarVisability() {\n document.querySelectorAll(\"trix-editor\").forEach((editorElement, index) => {\n var toolbarElement = editorElement.toolbarElement;\n if (editorElement == document.activeElement) {\n toolbarElement.classList.add('visible');\n } else {\n // don't hide the toolbar if we've unfocused to focus on the link dialog.\n if (!toolbarElement.contains(document.activeElement)) {\n toolbarElement.classList.remove('visible');\n }\n }\n })\n}\n\nfunction initializeTribute() {\n document.querySelectorAll(\"trix-editor\").forEach((el, index) => {\n var editor = el.editor;\n \n var mentionConfig = {\n trigger: '@',\n values: JSON.parse(editor.element.dataset.mentions),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var topicConfig = {\n trigger: '#',\n values: JSON.parse(editor.element.dataset.topics),\n selectTemplate: function (item) {\n item = item.original;\n return '<a href=\"' + item.protocol + '://' + item.model + '/' + item.id + '\">' + item.label + '</a>';\n },\n menuItemTemplate: function (item) {\n return '<img src=\"' + item.original.photo + '\" /> ' + item.string;\n },\n requireLeadingSpace: true,\n replaceTextSuffix: ''\n }\n \n var tribute = new Tribute({\n collection: [topicConfig, mentionConfig],\n });\n \n tribute.attach(el);\n })\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","clickShadowField","event","preventDefault","this","shadowFieldTarget","click","Controller","targets","pickImageAndUpload","defaultSources","hasGoogleApiKeyValue","push","options","cloud_name","cloudNameValue","apiKey","apiKeyValue","upload_preset","uploadPresetValue","upload_signature","getCloudinarySignature","bind","multiple","sources","hasSourcesValue","sourcesValue","split","search_by_rights","hasSearchByRightsValue","searchByRightsValue","googleApiKeyValue","cloudinary","openUploadWidget","handleWidgetResponse","clearImage","hiddenFieldTarget","value","removeThumbnail","callback","paramsToSign","$","ajax","url","signaturesUrlValue","type","dataType","data","complete","console","log","success","signature","textStatus","xhr","error","status","response","info","public_id","addThumbnail","urlFormatValue","$imageElement","widthValue","heightValue","identifier","uploadButtonTarget","prepend","classList","add","thumbnailShownClass","hasThumbnailTarget","removeChild","thumbnailTarget","remove","values","signaturesUrl","String","height","Number","width","cloudName","googleApiKey","urlFormat","searchByRights","Boolean","classes","connect","initPluginInstance","colorOptions","colorOptionsTarget","find","map","_","button","attr","get","disconnect","teardownPluginInstance","pickColor","targetEl","target","color","dataset","colorInputTarget","val","colorPickerValueTarget","userSelectedColorTarget","removeClass","pickr","setColor","pickRandomColor","r","Math","floor","random","g","b","hexColor","getColor","toHEXA","toString","showUserSelectedColor","addClass","css","show","unpickColor","hide","togglePickr","Pickr","create","el","theme","useAsButton","default","initialColorValue","components","preview","hue","interaction","input","save","on","_instance","hexaColor","_this","includes","that","e","applyColor","destroy","initialColor","require","clearDate","fieldTarget","applyDateToField","picker","format","includeTimeValue","startDate","showTimeZoneButtons","currentTimeZoneWrapperTarget","toggleClass","timeZoneButtonsTarget","showTimeZoneSelectWrapper","hasTimeZoneSelectWrapperTarget","timeZoneSelectWrapperTarget","resetTimeZoneUI","setTimeZone","currentTimeZoneEl","querySelector","timeZoneFieldTarget","text","daterangepicker","singleDatePicker","timePicker","timePickerIncrement","autoUpdateInput","locale","cancelLabel","hasCancelButtonLabelValue","cancelButtonLabelValue","applyLabel","hasApplyButtonLabelValue","applyButtonLabelValue","pluginMainEl","plugin","timeZoneSelect","select2","self","selectedOptionTimeZoneButton","defaultTimeZonesValue","removeAttr","undefined","off","includeTime","defaultTimeZones","Array","cancelButtonLabel","applyButtonLabel","initializeListener","document","addEventListener","selectFileButtonTarget","progressBarTarget","innerText","style","setAttribute","parentNode","progressListener","progress","detail","toFixed","errorListener","uploadListeners","removeEventListener","uploadFile","fileFieldTarget","removeFile","hasDownloadFileButtonTarget","downloadFileButtonTarget","removeFileButtonTarget","removeFileFlagTarget","handleFileSelected","statusText","icon","element","hiddenInput","method","customContainer","utilsScriptPath","head","content","intlTelInput","initialize","isSelect2LoadedOnWindowJquery","window","cleanupBeforeInit","enableSearchValue","minimumResultsForSearch","tags","acceptsNewValue","searchUrlValue","params","search","term","page","templateResult","formatState","templateSelection","selectTarget","opt","imageUrl","imageHtml","acceptsNew","enableSearch","searchUrl","controllerDefinitions","ButtonToggleController","CloudinaryImageController","ColorPickerController","DateController","FileFieldController","PhoneController","SuperSelectController","d","controller","controllerConstructor","updateTrixToolbarVisability","querySelectorAll","forEach","editorElement","index","toolbarElement","activeElement","contains","editor","mentionConfig","trigger","JSON","parse","mentions","selectTemplate","item","original","protocol","model","id","label","menuItemTemplate","photo","string","requireLeadingSpace","replaceTextSuffix","topicConfig","topics","Tribute","collection","attach"],"mappings":"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"}