{"version":3,"file":"name_controller-CY_24LJq.js","sources":["../../../app/javascript/controllers/popup/step/name_controller.js"],"sourcesContent":["import TooltipController from \"../../tooltip_controller\"\nimport { useDraggable } from \"../../mixins/useDraggable\"\nimport { useRemove } from \"../../mixins/useRemove\"\n\nexport default class extends TooltipController {\n static targets = [\n \"inputContainer\",\n \"input\",\n \"label\",\n \"orderInput\",\n \"deleteButton\",\n \"reorderButton\",\n ]\n static classes = [\"drag\"]\n\n connect() {\n useDraggable(this)\n this.updateNextAndPreviousElementReferences()\n\n this.dispatch(\"connected\", {\n target: this.element.previousElementSibling || document.documentElement,\n })\n\n useRemove(this, {\n afterRemove: () => {\n // drag_controller destroys and recreate the records behind the scenes\n // causing disconnect() to be invoked when we don't want to\n // we only want to dispatch these events when the Trash icon was clicked\n this.dispatch(\"disconnected\", {\n target: this.previousElement || document.documentElement,\n })\n\n this.dispatch(\"disconnected\", {\n target: this.nextElement || document.documentElement,\n })\n\n this.dispatch(\"changed\")\n },\n })\n\n super.connect()\n }\n\n enableRemoveIfMoreThanOneStep(e) {\n this.updateNextAndPreviousElementReferences()\n this.deleteButtonTarget.classList.remove(\"hidden\")\n this.reorderButtonTarget.classList.remove(\"hidden\")\n this.tooltipTarget.classList.replace(\"left-3\", \"-left-8\")\n this.tooltipTarget.classList.add(\"space-x-4\")\n }\n\n disableRemoveIfOnlyStep() {\n this.updateNextAndPreviousElementReferences()\n if (!(this.nextElement || this.previousElement)) {\n this.tooltipTarget.classList.replace(\"-left-8\", \"left-3\")\n this.tooltipTarget.classList.remove(\"space-x-4\")\n this.deleteButtonTarget.classList.add(\"hidden\")\n this.reorderButtonTarget.classList.add(\"hidden\")\n }\n }\n\n edit() {\n this.inputContainerTarget.classList.remove(\"hidden\")\n this.labelTarget.classList.add(\"hidden\")\n\n this.inputTarget.selectionStart = this.inputTarget.selectionEnd =\n this.inputTarget.value.length\n this.inputTarget.focus()\n this.editing = true\n this.hideToolbar()\n }\n\n saveChanges(e) {\n if (this.element.contains(e.target) === false && this.editing) {\n this.labelTarget.innerText = this.inputTarget.value\n\n this.labelTarget.classList.remove(\"hidden\")\n this.inputContainerTarget.classList.add(\"hidden\")\n\n this.editing = false\n this.dispatch(\"changed\")\n }\n }\n\n onDragEnd({ detail: newOrder }) {\n this.dispatch(\"changed\")\n\n this.labelTarget.classList.remove(...this.dragClasses)\n this.dragging = false\n\n this.orderInputTarget.value = newOrder\n this.element.classList.add(\"not-draggable\")\n\n Array.from(this.element.parentElement.children).forEach((li, index) => {\n if (li !== this.element) {\n this.dispatch(\"drag-end\", {\n target: li,\n detail: index + 1,\n })\n }\n })\n }\n\n updateOrder({ detail: newOrder }) {\n this.orderInputTarget.value = newOrder\n this.updateNextAndPreviousElementReferences()\n }\n\n show(e) {\n if (!this.dragging && !this.editing) {\n super.show(e)\n }\n }\n\n showToolbar() {\n super.show()\n }\n\n hideToolbar() {\n this.tooltipTarget.classList.add(\"hidden\")\n }\n\n // private\n\n get draggable() {\n return this.labelTarget\n }\n\n afterDragEnabled() {\n this.hideToolbar()\n this.element.classList.remove(\"not-draggable\")\n }\n\n afterDragDisabled() {\n this.labelTarget.classList.remove(...this.dragClasses)\n }\n\n updateNextAndPreviousElementReferences() {\n this.previousElement = this.element.previousElementSibling\n this.nextElement = this.element.nextElementSibling\n }\n}\n"],"names":["name_controller","TooltipController","useDraggable","useRemove","newOrder","li","index","__publicField"],"mappings":"oTAIe,MAAKA,UAASC,CAAkB,CAW7C,SAAU,CACRC,EAAa,IAAI,EACjB,KAAK,uCAAsC,EAE3C,KAAK,SAAS,YAAa,CACzB,OAAQ,KAAK,QAAQ,wBAA0B,SAAS,eACzD,CAAA,EAEDC,EAAU,KAAM,CACd,YAAa,IAAM,CAIjB,KAAK,SAAS,eAAgB,CAC5B,OAAQ,KAAK,iBAAmB,SAAS,eAC1C,CAAA,EAED,KAAK,SAAS,eAAgB,CAC5B,OAAQ,KAAK,aAAe,SAAS,eACtC,CAAA,EAED,KAAK,SAAS,SAAS,CACxB,CACF,CAAA,EAED,MAAM,QAAO,CACjB,CAEE,8BAA8B,EAAG,CAC/B,KAAK,uCAAsC,EAC3C,KAAK,mBAAmB,UAAU,OAAO,QAAQ,EACjD,KAAK,oBAAoB,UAAU,OAAO,QAAQ,EAClD,KAAK,cAAc,UAAU,QAAQ,SAAU,SAAS,EACxD,KAAK,cAAc,UAAU,IAAI,WAAW,CAChD,CAEE,yBAA0B,CACxB,KAAK,uCAAsC,EACrC,KAAK,aAAe,KAAK,kBAC7B,KAAK,cAAc,UAAU,QAAQ,UAAW,QAAQ,EACxD,KAAK,cAAc,UAAU,OAAO,WAAW,EAC/C,KAAK,mBAAmB,UAAU,IAAI,QAAQ,EAC9C,KAAK,oBAAoB,UAAU,IAAI,QAAQ,EAErD,CAEE,MAAO,CACL,KAAK,qBAAqB,UAAU,OAAO,QAAQ,EACnD,KAAK,YAAY,UAAU,IAAI,QAAQ,EAEvC,KAAK,YAAY,eAAiB,KAAK,YAAY,aACjD,KAAK,YAAY,MAAM,OACzB,KAAK,YAAY,MAAK,EACtB,KAAK,QAAU,GACf,KAAK,YAAW,CACpB,CAEE,YAAY,EAAG,CACT,KAAK,QAAQ,SAAS,EAAE,MAAM,IAAM,IAAS,KAAK,UACpD,KAAK,YAAY,UAAY,KAAK,YAAY,MAE9C,KAAK,YAAY,UAAU,OAAO,QAAQ,EAC1C,KAAK,qBAAqB,UAAU,IAAI,QAAQ,EAEhD,KAAK,QAAU,GACf,KAAK,SAAS,SAAS,EAE7B,CAEE,UAAU,CAAE,OAAQC,GAAY,CAC9B,KAAK,SAAS,SAAS,EAEvB,KAAK,YAAY,UAAU,OAAO,GAAG,KAAK,WAAW,EACrD,KAAK,SAAW,GAEhB,KAAK,iBAAiB,MAAQA,EAC9B,KAAK,QAAQ,UAAU,IAAI,eAAe,EAE1C,MAAM,KAAK,KAAK,QAAQ,cAAc,QAAQ,EAAE,QAAQ,CAACC,EAAIC,IAAU,CACjED,IAAO,KAAK,SACd,KAAK,SAAS,WAAY,CACxB,OAAQA,EACR,OAAQC,EAAQ,CACjB,CAAA,CAEJ,CAAA,CACL,CAEE,YAAY,CAAE,OAAQF,GAAY,CAChC,KAAK,iBAAiB,MAAQA,EAC9B,KAAK,uCAAsC,CAC/C,CAEE,KAAK,EAAG,CACF,CAAC,KAAK,UAAY,CAAC,KAAK,SAC1B,MAAM,KAAK,CAAC,CAElB,CAEE,aAAc,CACZ,MAAM,KAAI,CACd,CAEE,aAAc,CACZ,KAAK,cAAc,UAAU,IAAI,QAAQ,CAC7C,CAIE,IAAI,WAAY,CACd,OAAO,KAAK,WAChB,CAEE,kBAAmB,CACjB,KAAK,YAAW,EAChB,KAAK,QAAQ,UAAU,OAAO,eAAe,CACjD,CAEE,mBAAoB,CAClB,KAAK,YAAY,UAAU,OAAO,GAAG,KAAK,WAAW,CACzD,CAEE,wCAAyC,CACvC,KAAK,gBAAkB,KAAK,QAAQ,uBACpC,KAAK,YAAc,KAAK,QAAQ,kBACpC,CACA,CAxIEG,EADkBP,EACX,UAAU,CACf,iBACA,QACA,QACA,aACA,eACA,eACJ,GACEO,EATkBP,EASX,UAAU,CAAC,MAAM"}