{"version":3,"file":"js/746-1ba01d2518fdbaa63f67.js","mappings":"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","sources":["webpack://nzsl_share/./app/frontend/images/ sync ^\\.\\/.*$","webpack://nzsl_share/./app/frontend/components/file-upload.js","webpack://nzsl_share/./app/frontend/components/uppy/ActiveStorageUpload.js","webpack://nzsl_share/./app/frontend/components/uppy-file-upload.js","webpack://nzsl_share/./app/frontend/components/uppy/signVideoRestrictions.js"],"sourcesContent":["var map = {\n\t\"./ackama-lockup.svg\": 2386,\n\t\"./add-2.svg\": 2103,\n\t\"./add.svg\": 526,\n\t\"./admin/archived.svg\": 2991,\n\t\"./admin/pending.svg\": 7238,\n\t\"./admin/published.svg\": 5513,\n\t\"./agree.svg\": 1235,\n\t\"./archive.svg\": 2037,\n\t\"./avatar.svg\": 9962,\n\t\"./bad-example.jpg\": 1864,\n\t\"./bell.svg\": 4218,\n\t\"./by-nc-sa.png\": 9672,\n\t\"./camera.svg\": 1016,\n\t\"./checkbox-checked.svg\": 5134,\n\t\"./checkbox-hover.svg\": 5651,\n\t\"./checkbox.svg\": 4290,\n\t\"./chevron-right.svg\": 6847,\n\t\"./chosen-sprite-adjusted.png\": 8889,\n\t\"./chosen-sprite.png\": 4900,\n\t\"./chosen-sprite@2x.png\": 3444,\n\t\"./close.svg\": 407,\n\t\"./comment.svg\": 4672,\n\t\"./control-play.svg\": 6951,\n\t\"./disagree.svg\": 421,\n\t\"./dropdown-light.svg\": 6665,\n\t\"./dropdown.svg\": 1810,\n\t\"./dummy.mp4\": 8708,\n\t\"./edit.svg\": 8505,\n\t\"./emotsmile.svg\": 4946,\n\t\"./external-link.svg\": 3605,\n\t\"./eye.svg\": 2504,\n\t\"./facebook-light.svg\": 9546,\n\t\"./facebook.svg\": 5185,\n\t\"./flag.svg\": 2195,\n\t\"./folder-add.svg\": 2827,\n\t\"./folder-alt.svg\": 2563,\n\t\"./folder-collection.svg\": 2486,\n\t\"./folder-success.svg\": 4791,\n\t\"./github.svg\": 8228,\n\t\"./good-example.jpg\": 8996,\n\t\"./hero-image.jpg\": 9750,\n\t\"./hero-play-dropshadow.svg\": 1942,\n\t\"./hero-play.svg\": 1476,\n\t\"./hero-thumbnail.jpg\": 2961,\n\t\"./home-intro.mp4\": 9658,\n\t\"./home-intro.webm\": 5942,\n\t\"./home.svg\": 4748,\n\t\"./home/camera-2.svg\": 3191,\n\t\"./home/conversation-check.svg\": 6029,\n\t\"./home/folder.svg\": 9651,\n\t\"./home/rectangle.svg\": 9222,\n\t\"./home/upload.svg\": 832,\n\t\"./learn-NZSL-sq.png\": 7879,\n\t\"./logo-stacked.svg\": 472,\n\t\"./logo.svg\": 3208,\n\t\"./moderator.svg\": 3774,\n\t\"./nzsl-share-favicon.svg\": 8621,\n\t\"./nzsl_logo.jpg\": 4333,\n\t\"./ok.svg\": 7491,\n\t\"./options.svg\": 2241,\n\t\"./private.svg\": 6318,\n\t\"./processing.svg\": 7540,\n\t\"./radio-checked.svg\": 2554,\n\t\"./radio-hover.svg\": 4079,\n\t\"./radio.svg\": 5662,\n\t\"./record.svg\": 5818,\n\t\"./remove.svg\": 3289,\n\t\"./reply.svg\": 4603,\n\t\"./search.svg\": 5797,\n\t\"./share.svg\": 6426,\n\t\"./table.svg\": 5683,\n\t\"./tags.svg\": 8006,\n\t\"./text.svg\": 7488,\n\t\"./tick.svg\": 1170,\n\t\"./trash.svg\": 2065,\n\t\"./twitter.svg\": 7742,\n\t\"./user.svg\": 4948,\n\t\"./users.svg\": 5327,\n\t\"./video-play.svg\": 6721\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8257;","import { DirectUploadController } from '@rails/activestorage/src/direct_upload_controller';\n\nconst uploadUrl = '/rails/active_storage/direct_uploads';\nconst wrapBlobCreateError = error => {\n const prefix = 'Error creating Blob for';\n const message = error.message ? error.message : error;\n if (!message.startsWith(prefix)) {\n return error;\n }\n return 'The file you selected does not comply with our upload guidelines.';\n};\n\n// Always prevent the default browser behaviour of attempting to open a dropped file\n$(document).on(\n 'drag dragstart dragend dragover dragenter dragleave drop',\n event => {\n event.preventDefault();\n event.stopPropagation();\n }\n);\n\nconst FileUpload = (_index, container) => {\n const $container = $(container).empty();\n const fieldName = $container.data('fileUploadController');\n const $content = $(\"
\").prependTo(\n $container\n );\n const $input = $(``).appendTo($container);\n\n $content.html(initialHTML(fieldName));\n\n $container\n .on('direct-upload:start', $input, () => $content.html(pendingHTML()))\n .on(\n 'direct-upload:error',\n $input,\n event => $container.trigger('upload-error', event.detail.error) && false\n )\n .on('dragover dragenter', () =>\n $container.addClass('file-upload--dragged-over')\n )\n .on('dragleave dragend drop', () =>\n $container.removeClass('file-upload--dragged-over')\n )\n .on('upload-error', (_event, error) => $content.html(errorHTML(error)))\n .on('click', '.file-upload__reset', event => {\n event.preventDefault();\n $content.html(initialHTML(fieldName));\n })\n .on('change', $input, event => {\n const input = $input.get(0);\n const fileSize = input.files[0].size / 1024 / 1024; // in MB\n\n if (fileSize > 250) {\n // same file size as app/models/signs.rb MAXIMUM_VIDEO_FILE_SIZE\n return $container.trigger(\n 'upload-error',\n new Error(\n `Upload failed - file is too large (${Math.round(fileSize)} MB)`\n )\n );\n }\n\n input.setAttribute('data-direct-upload-url', uploadUrl);\n input.disabled = true;\n\n new DirectUploadController(event.target, event.target.files[0]).start(\n error => {\n input.disabled = false;\n input.removeAttribute('data-direct-upload-url');\n if (error) {\n return $container.trigger(\n 'upload-error',\n wrapBlobCreateError(error)\n );\n }\n $container.trigger('upload-success');\n }\n );\n })\n .on('direct-upload:progress', $input, event => {\n const {\n progress,\n file: { name: filename }\n } = event.detail;\n $content.html(progressHTML(Math.round(progress || 0), filename));\n })\n .on('drop', event => {\n $input\n .prop('files', event.originalEvent.dataTransfer.files)\n .trigger('change');\n });\n};\n\n$(document).ready(() => $('[data-file-upload-controller]').each(FileUpload));\n\n// Templates\nconst initialHTML = field =>\n `

Drag and drop your file here

\n \n\n
\n `;\n\nconst pendingHTML = () =>\n `
\n
Processing, please wait...
\n ${progressIndicator('indeterminate')}\n
`;\n\nconst errorHTML = error =>\n `
\n

${error.message ? error.message : error}

\n Try again.\n
`;\n\nconst progressHTML = (progress, filename) =>\n `
\n
File(s) uploading(${filename})… ${progress}%
\n ${progressIndicator(`progress-${progress}`)}\n
`;\n\nconst progressIndicator = progress =>\n `\n \n\n \n\n `;\n\nexport { initialHTML, errorHTML, progressHTML, pendingHTML };\n","import { BasePlugin } from '@uppy/core';\nimport { nanoid } from 'nanoid';\nimport settle from '@uppy/utils/lib/settle';\nimport EventTracker from '@uppy/utils/lib/EventTracker';\nimport ProgressTimeout from '@uppy/utils/lib/ProgressTimeout';\nimport {\n RateLimitedQueue,\n internalRateLimitedQueue\n} from '@uppy/utils/lib/RateLimitedQueue';\nimport { DirectUpload } from '@rails/activestorage';\n\n// History of this file:\n// Based on https://github.com/brainzllc/uppy-activestorage-upload\n// which is forked from https://github.com/Sega-Aero/uppy-activestorage-upload\n// which is forked from https://github.com/corknine/uppy-activestorage-upload\n// which is forked from https://github.com/excid3/uppy-activestorage-upload\n// which is forked from https://github.com/Rudiney/uppy-activestorage-upload\n// which is forked from https://github.com/glenbray/uppy-activestorage-upload\n// which is forked from https://github.com/Sology/uppy-activestorage-upload\n//\n// Each of these forks added _something_, and even the original we've had\n// to update the imports to ES style.\n// Because there is no trustworthy fork to actually trust to fix bugs\n// going forward, I prefer just vendoring this to make it easier to see\n// what's going on.\nclass ActiveStorageUpload extends BasePlugin {\n constructor(uppy, opts) {\n super(uppy, opts);\n this.type = 'uploader';\n this.id = this.opts.id || 'ActiveStorage';\n this.title = 'ActiveStorage';\n\n this.defaultLocale = {\n strings: {\n timedOut: 'Upload stalled for %{seconds} seconds, aborting.'\n }\n };\n\n // Default options\n const defaultOptions = {\n limit: 5,\n timeout: 30 * 1000,\n directUploadUrl: null\n };\n\n this.opts = { ...defaultOptions, ...opts };\n\n this.handleUpload = this.handleUpload.bind(this);\n\n // Simultaneous upload limiting is shared across all uploads with this plugin.\n if (internalRateLimitedQueue in this.opts) {\n this.requests = this.opts[internalRateLimitedQueue];\n } else {\n this.requests = new RateLimitedQueue(this.opts.limit);\n }\n\n this.uploaderEvents = Object.create(null);\n }\n\n upload(file, current, total) {\n const opts = this.opts;\n\n this.uppy.log(`uploading ${current} of ${total}`);\n return new Promise((resolve, reject) => {\n this.uppy.emit('upload-started', file);\n\n var directHandlers = {\n directUploadWillStoreFileWithXHR: null,\n directUploadDidProgress: null\n };\n directHandlers.directUploadDidProgress = ev => {\n this.uppy.log(\n `[ActiveStorage] ${id} progress: ${ev.loaded} / ${ev.total}`\n );\n // Begin checking for timeouts when progress starts, instead of loading,\n // to avoid timing out requests on browser concurrency queue\n timer.progress();\n\n if (ev.lengthComputable) {\n this.uppy.emit('upload-progress', file, {\n uploader: this,\n bytesUploaded: ev.loaded,\n bytesTotal: ev.total\n });\n }\n };\n directHandlers.directUploadWillStoreFileWithXHR = request => {\n request.upload.addEventListener('progress', event =>\n directHandlers.directUploadDidProgress(event)\n );\n };\n\n const { data, meta } = file;\n\n if (!data.name && meta.name) {\n data.name = meta.name;\n }\n\n const upload = new DirectUpload(\n data,\n this.opts.directUploadUrl,\n directHandlers\n );\n this.uploaderEvents[file.id] = new EventTracker(this.uppy);\n\n const timer = new ProgressTimeout(opts.timeout, () => {\n upload.abort();\n queuedRequest.done();\n const error = new Error(\n this.i18n('timedOut', { seconds: Math.ceil(opts.timeout / 1000) })\n );\n this.uppy.emit('upload-error', file, error);\n reject(error);\n });\n\n const id = nanoid();\n\n const handleDirectUpload = (error, blob) => {\n this.uppy.log(`[ActiveStorage] ${id} finished`);\n timer.done();\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n\n if (!error) {\n this.uppy.emit('upload-success', file, blob);\n\n return resolve(file);\n }\n\n this.uppy.log(`[ActiveStorage] ${id} errored`);\n timer.done();\n queuedRequest.done();\n if (this.uploaderEvents[file.id]) {\n this.uploaderEvents[file.id].remove();\n this.uploaderEvents[file.id] = null;\n }\n\n this.uppy.emit('upload-error', file, error);\n return reject(error);\n };\n\n const queuedRequest = this.requests.run(() => {\n this.uppy.emit('upload-started', file);\n\n upload.create(handleDirectUpload);\n\n return () => {\n timer.done();\n upload.abort();\n };\n });\n\n this.onFileRemove(file.id, () => {\n queuedRequest.abort();\n reject(new Error('File removed'));\n });\n\n this.onCancelAll(file.id, () => {\n queuedRequest.abort();\n reject(new Error('Upload cancelled'));\n });\n });\n }\n\n uploadFiles(files) {\n const promises = files.map((file, i) => {\n const current = parseInt(i, 10) + 1;\n const total = files.length;\n\n if (file.error) {\n return Promise.reject(new Error(file.error));\n }\n return this.upload(file, current, total);\n });\n\n return settle(promises);\n }\n\n onFileRemove(fileID, cb) {\n this.uploaderEvents[fileID].on('file-removed', file => {\n if (fileID === file.id) {\n cb(file.id);\n }\n });\n }\n\n onRetry(fileID, cb) {\n this.uploaderEvents[fileID].on('upload-retry', targetFileID => {\n if (fileID === targetFileID) {\n cb();\n }\n });\n }\n\n onRetryAll(fileID, cb) {\n this.uploaderEvents[fileID].on('retry-all', () => {\n if (!this.uppy.getFile(fileID)) {\n return;\n }\n cb();\n });\n }\n\n onCancelAll(fileID, cb) {\n this.uploaderEvents[fileID].on('cancel-all', () => {\n if (!this.uppy.getFile(fileID)) {\n return;\n }\n cb();\n });\n }\n\n handleUpload(fileIDs) {\n if (fileIDs.length === 0) {\n this.uppy.log('[ActiveStorage] No files to upload!');\n return Promise.resolve();\n }\n\n // No limit configured by the user, and no RateLimitedQueue passed in by a \"parent\" plugin\n // (basically just AwsS3) using the internal symbol\n if (this.opts.limit === 0 && !this.opts[internalRateLimitedQueue]) {\n this.uppy.log(\n '[ActiveStorage] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0',\n 'warning'\n );\n }\n\n this.uppy.log('[ActiveStorage] Uploading...');\n const files = fileIDs.map(fileID => this.uppy.getFile(fileID));\n\n return this.uploadFiles(files).then(() => null);\n }\n\n install() {\n this.uppy.addUploader(this.handleUpload);\n }\n\n uninstall() {\n this.uppy.removeUploader(this.handleUpload);\n }\n}\n\nexport default ActiveStorageUpload;\n","import Uppy from '@uppy/core';\nimport Dashboard from '@uppy/dashboard';\nimport DropTarget from '@uppy/drop-target';\nimport Webcam from '@uppy/webcam';\nimport ActiveStorageUpload from './uppy/ActiveStorageUpload';\n\nconst uppyFileUpload = (container, options = {}) => {\n const uppy = new Uppy({\n id: container.id,\n locale: {\n strings: {\n youCanOnlyUploadX: {\n 0: 'You can only upload %{smart_count} file at a time',\n 1: 'You can only upload %{smart_count} file(s) at a time'\n }\n }\n },\n ...options.uppy\n });\n\n uppy.use(DropTarget, { target: document.body });\n uppy.use(Webcam, {\n modes: 'video-only',\n countdown: true,\n videoConstraints: {\n aspectRatio: {\n ideal: 1.7777777778 // 16x9\n }\n },\n locale: {\n strings: {\n pluginNameCamera: 'Video recording',\n noCameraDescription:\n 'In order to record video with your camera, please connect a camera device.',\n allowAccessDescription:\n 'In order to record video with your camera, please allow camera access for this site.'\n }\n }\n });\n\n uppy.use(ActiveStorageUpload, {\n directUploadUrl: '/rails/active_storage/direct_uploads'\n });\n\n uppy.use(Dashboard, {\n inline: true,\n target: container,\n proudlyDisplayPoweredByUppy: false,\n plugins: ['Webcam'],\n locale: {\n strings: {\n ...options?.dashboard?.locale?.strings,\n dropPasteImportFiles: 'Drop files here, or %{browseFiles}'\n }\n },\n ...options.dashboard\n });\n\n return uppy;\n};\n\nexport default uppyFileUpload;\n\n$(() =>\n $(\"[data-controller='file-upload']\").each((_idx, container) =>\n uppyFileUpload(container)\n )\n);\n","export const maxFileSizeMb = 250;\nexport const restrictions = {\n maxFileSize: maxFileSizeMb * 1024 * 1024,\n maxNumberOfFiles: 1,\n minNumberOfFiles: 1,\n allowedFileTypes: ['video/*', 'application/mp4']\n};\n\nexport default restrictions;\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","$","document","on","event","preventDefault","stopPropagation","FileUpload","_index","container","$container","empty","fieldName","data","$content","prependTo","$input","concat","appendTo","html","initialHTML","pendingHTML","trigger","detail","error","addClass","removeClass","_event","errorHTML","input","get","fileSize","files","size","Math","round","setAttribute","disabled","DirectUploadController","target","start","removeAttribute","message","startsWith","wrapBlobCreateError","_event$detail","progress","filename","file","name","progressHTML","prop","originalEvent","dataTransfer","ready","each","field","progressIndicator","_BasePlugin","ActiveStorageUpload","uppy","opts","_this","_classCallCheck","_callSuper","type","title","defaultLocale","strings","timedOut","_objectSpread","limit","timeout","directUploadUrl","handleUpload","bind","internalRateLimitedQueue","requests","RateLimitedQueue","uploaderEvents","create","_inherits","key","value","current","total","_this2","this","log","Promise","reject","emit","directHandlers","directUploadWillStoreFileWithXHR","directUploadDidProgress","ev","loaded","timer","lengthComputable","uploader","bytesUploaded","bytesTotal","request","upload","addEventListener","meta","DirectUpload","EventTracker","ProgressTimeout","abort","queuedRequest","done","i18n","seconds","ceil","nanoid","handleDirectUpload","blob","remove","run","onFileRemove","onCancelAll","_this3","promises","i","parseInt","length","settle","fileID","cb","targetFileID","_this4","getFile","_this5","fileIDs","_this6","uploadFiles","then","addUploader","removeUploader","BasePlugin","uppyFileUpload","_options$dashboard","options","arguments","undefined","Uppy","locale","youCanOnlyUploadX","use","DropTarget","body","Webcam","modes","countdown","videoConstraints","aspectRatio","ideal","pluginNameCamera","noCameraDescription","allowAccessDescription","Dashboard","inline","proudlyDisplayPoweredByUppy","plugins","dashboard","dropPasteImportFiles","_idx","maxFileSize","maxFileSizeMb","maxNumberOfFiles","minNumberOfFiles","allowedFileTypes"],"sourceRoot":""}