@aquera/nile-elements 0.1.63-beta-1.2 → 0.1.64-beta-1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/index.html +8 -8
- package/dist/index.js +84 -84
- package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +19 -2
- package/dist/nile-file-preview/nile-file-preview.esm.js +3 -3
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +22 -22
- package/dist/nile-file-preview/utils/index.cjs.js +1 -1
- package/dist/nile-file-preview/utils/index.esm.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +3 -3
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.esm.js +22 -22
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -2
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.css.js +19 -2
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.js +7 -6
- package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +3 -2
- package/dist/src/nile-file-preview/nile-file-preview.template.js +16 -10
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +1 -2
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +8 -8
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.js +7 -6
- package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -4
- package/dist/src/nile-file-upload/nile-file-upload.template.js +24 -15
- package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
- package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js +11 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-file-preview/nile-file-preview.css.ts +19 -2
- package/src/nile-file-preview/nile-file-preview.template.ts +23 -10
- package/src/nile-file-preview/nile-file-preview.ts +7 -6
- package/src/nile-file-preview/utils/nile-file-preview.util.ts +7 -10
- package/src/nile-file-upload/nile-file-upload.css.ts +1 -1
- package/src/nile-file-upload/nile-file-upload.template.ts +35 -17
- package/src/nile-file-upload/nile-file-upload.ts +7 -6
- package/src/nile-file-upload/utils/file-validation.util.ts +12 -0
- package/vscode-html-custom-data.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-file-upload.template.cjs.js","sources":["../../../../node_modules/lit-html/directive.js","../../../../node_modules/lit-html/directives/class-map.js","../../../src/nile-file-upload/nile-file-upload.template.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { html, TemplateResult } from 'lit';\nimport './nile-file-upload.css';\nimport { DragHandler } from './utils/drag-drop.util';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { FileUploadDefaults, FileUploadState } from './types/file-upload.enums';\n\nconst baseHorizontalState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n disabled: boolean,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => html`\n <div class=\"wrapper\" part=\"horizontal-wrapper\">\n <div part=\"horizontal-div\" class=${classMap({ 'hover-border': state === \"hover\", 'horizontal-div': true, 'disable': disabled })}>\n <div part=\"inner-div\" class=\"inner-div\">\n <slot class=\"upload-icon-slot\" name=\"upload-icon\">\n <nile-icon name=\"upload\" size=\"24\"></nile-icon>\n </slot>\n <div part=\"content\" class=\"content\">\n <div class=\"title\">${title}</div>\n <div class=\"subtitle\">${subtitle}</div>\n </div>\n </div>\n <input\n type=\"file\"\n ?disabled=${disabled}\n @change=${(e: Event | DragEvent) => { dragHandler.handleFiles(e) }}\n multiple\n accept=${allowedTypes.join(',')}\n />\n <slot class=\"browse-file-button\" @click=${disabled ? undefined : browseFiles} name=\"browse-file-button\">\n <nile-button variant=\"tertiary\" ?disabled=${disabled}>\n Browse File\n </nile-button>\n </slot>\n </div>\n ${errorMessage ?\n html`<div class=\"upload-error\">\n <nile-icon name=\"warning\" size=\"12\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n <nile-tooltip content=${errorMessage}>\n <span>${errorMessage}</span>\n </nile-tooltip>\n </div>` :\n html``\n }\n </div>\n`;\n\nexport const getHorizontalDefaultState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => baseHorizontalState(browseFiles, title, subtitle, false, dragHandler, state, errorMessage, allowedTypes);\n\nexport const getHorizontalDisabledState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => baseHorizontalState(browseFiles, title, subtitle, true, dragHandler, state, errorMessage, allowedTypes);\n\nexport const getHorizontalDragState = (): TemplateResult => html`\n <div part=\"horizontal-drag-state\" class=\"horizontal-div dragging\">\n <div class=\"icons-container\">\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"general\"\n size=\"20\"\n class=\"general-icon\"\n ></nile-icon>\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"image\"\n size=\"24\"\n class=\"image-icon\"\n ></nile-icon>\n </div>\n <p>${FileUploadDefaults.DRAG_STATE_DEFAULT}</p>\n </div>\n`;\n\n// Vertical States\nconst baseVerticalState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n disabled: boolean,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => html`\n <div part=\"vertical-wrapper\" class=\"wrapper\">\n <div part=\"vertical-default\" class=\"vertical-default vertical-div ${disabled ? 'disable' : ''}\">\n <slot name=\"upload-icon\">\n <nile-icon name=\"upload\" size=\"24\"></nile-icon>\n </slot>\n <div part=\"vertical-content-container\" class=\"content-container\">\n <div class=\"title\">${title}</div>\n <div class=\"subtitle\">${subtitle}</div>\n </div>\n <input\n type=\"file\"\n ?disabled=${disabled}\n @change=${(e: Event | DragEvent) => dragHandler.handleFiles(e)}\n multiple\n accept=${allowedTypes.join(',')}\n />\n <slot @click=${disabled ? undefined : browseFiles} name=\"browse-file-button\">\n <nile-button variant=\"tertiary\" ?disabled=${disabled}>\n Browse File\n </nile-button>\n </slot>\n </div>\n ${errorMessage ?\n html`<div class=\"vertical-upload-error\">\n <nile-icon name=\"warning\" size=\"12\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n <nile-tooltip content=${errorMessage}>\n <span>${errorMessage}</span>\n </nile-tooltip>\n </div>` :\n html``\n }\n </div>\n`;\n\nexport const getVerticalDefaultState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => baseVerticalState(browseFiles, title, subtitle, false, dragHandler, errorMessage, allowedTypes);\n\nexport const getVerticalDisabledState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[]\n): TemplateResult => baseVerticalState(browseFiles, title, subtitle, true, dragHandler, errorMessage, allowedTypes);\n\n\nexport const getVerticalDragState = (): TemplateResult => html`\n <div part=\"vertical-drag-state\" class=\"vertical-div vertical-drag\">\n <div class=\"icons-container\">\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"general\"\n size=\"20\"\n class=\"general-icon\"\n ></nile-icon>\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"image\"\n size=\"24\"\n class=\"image-icon\"\n ></nile-icon>\n </div>\n <p>${FileUploadDefaults.DRAG_STATE_DEFAULT}</p>\n </div>\n`;"],"names":["t","i","s","_createClass","key","get","_$AU","this","_$AM","value","_$AT","e","_$Ct","_$Ci","_$AS","update","render","_len","arguments","length","Array","_key","_$litDirective$","values","_class","super","type","r","name","strings","Error","_this","_inherits","_s","Object","keys","filter","join","st","Set","nt","split","has","add","element","classList","_iterator","_createForOfIteratorHelper","_step","n","done","remove","err","f","_this$nt2","baseHorizontalState","browseFiles","title","subtitle","disabled","dragHandler","state","errorMessage","allowedTypes","html","_templateObject","_taggedTemplateLiteral","classMap","disable","handleFiles","undefined","_templateObject2","_templateObject3","getHorizontalDefaultState","getHorizontalDisabledState","getHorizontalDragState","_templateObject4","FileUploadDefaults","DRAG_STATE_DEFAULT","baseVerticalState","d","_templateObject5","_templateObject6","_templateObject7","getVerticalDefaultState","getVerticalDisabledState","getVerticalDragState","_templateObject8"],"mappings":"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","x_google_ignoreList":[0,1]}
|
1
|
+
{"version":3,"file":"nile-file-upload.template.cjs.js","sources":["../../../../node_modules/lit-html/directive.js","../../../../node_modules/lit-html/directives/class-map.js","../../../src/nile-file-upload/nile-file-upload.template.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { html, TemplateResult } from 'lit';\nimport './nile-file-upload.css';\nimport { DragHandler } from './utils/drag-drop.util';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport { FileUploadDefaults, FileUploadState } from './types/file-upload.enums';\nimport { truncateString } from './utils/file-validation.util';\nimport { NileFileUpload } from './nile-file-upload';\n\nconst baseHorizontalState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n disabled: boolean,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => {\n truncateString(nileFileUpload);\n return html`\n <div class=\"wrapper\" part=\"horizontal-wrapper\">\n <div part=\"horizontal-div\" class=${classMap({ 'hover-border': state === \"hover\", 'horizontal-div': true, 'disable': disabled })}>\n <div part=\"inner-div\" class=\"inner-div\">\n <slot class=\"upload-icon-slot\" name=\"upload-icon\">\n <nile-icon name=\"upload\" size=\"24\"></nile-icon>\n </slot>\n <div part=\"content\" class=\"content\">\n <div class=\"title\">${title}</div>\n <div class=\"subtitle\">${subtitle}</div>\n </div>\n </div>\n <input\n type=\"file\"\n ?disabled=${disabled}\n @change=${(e: Event | DragEvent) => { dragHandler.handleFiles(e) }}\n multiple\n accept=${allowedTypes.join(',')}\n />\n <slot class=\"browse-file-button\" @click=${disabled ? undefined : browseFiles} name=\"browse-file-button\">\n <nile-button variant=\"tertiary\" ?disabled=${disabled}>\n Browse File\n </nile-button>\n </slot>\n </div>\n ${errorMessage ?\n html`<div class=\"upload-error\">\n <nile-icon name=\"warning\" size=\"12\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n ${\n nileFileUpload.isStringTruncated\n ? html`<nile-tooltip content=${errorMessage}>\n <span>${errorMessage}</span>\n </nile-tooltip>`\n : html`<span>${errorMessage}</span>`\n }\n </div>` :\n html``\n }\n </div>\n `;\n}\n\nexport const getHorizontalDefaultState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => baseHorizontalState(browseFiles, title, subtitle, false, dragHandler, state, errorMessage, allowedTypes, nileFileUpload);\n\nexport const getHorizontalDisabledState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n state: FileUploadState,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => baseHorizontalState(browseFiles, title, subtitle, true, dragHandler, state, errorMessage, allowedTypes, nileFileUpload);\n\nexport const getHorizontalDragState = (): TemplateResult => html`\n <div part=\"horizontal-drag-state\" class=\"horizontal-div dragging\">\n <div class=\"icons-container\">\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"general\"\n size=\"20\"\n class=\"general-icon\"\n ></nile-icon>\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"image\"\n size=\"24\"\n class=\"image-icon\"\n ></nile-icon>\n </div>\n <p>${FileUploadDefaults.DRAG_STATE_DEFAULT}</p>\n </div>\n`;\n\n// Vertical States\nconst baseVerticalState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n disabled: boolean,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => {\n truncateString(nileFileUpload);\n return html`\n <div part=\"vertical-wrapper\" class=\"wrapper\">\n <div part=\"vertical-default\" class=\"vertical-default vertical-div ${disabled ? 'disable' : ''}\">\n <slot name=\"upload-icon\">\n <nile-icon name=\"upload\" size=\"24\"></nile-icon>\n </slot>\n <div part=\"vertical-content-container\" class=\"content-container\">\n <div class=\"title\">${title}</div>\n <div class=\"subtitle\">${subtitle}</div>\n </div>\n <input\n type=\"file\"\n ?disabled=${disabled}\n @change=${(e: Event | DragEvent) => dragHandler.handleFiles(e)}\n multiple\n accept=${allowedTypes.join(',')}\n />\n <slot @click=${disabled ? undefined : browseFiles} name=\"browse-file-button\">\n <nile-button variant=\"tertiary\" ?disabled=${disabled}>\n Browse File\n </nile-button>\n </slot>\n </div>\n ${errorMessage ?\n html`<div class=\"vertical-upload-error\">\n <nile-icon name=\"warning\" size=\"12\" color=\"var(--nile-colors-red-700)\"></nile-icon>\n <nile-tooltip content=${errorMessage}>\n <span>${errorMessage}</span>\n </nile-tooltip>\n </div>` :\n html``\n }\n </div>\n `;\n}\n\nexport const getVerticalDefaultState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => baseVerticalState(browseFiles, title, subtitle, false, dragHandler, errorMessage, allowedTypes, nileFileUpload);\n\nexport const getVerticalDisabledState = (\n browseFiles: Function,\n title: string,\n subtitle: string,\n dragHandler: DragHandler,\n errorMessage: string,\n allowedTypes: string[],\n nileFileUpload: NileFileUpload\n): TemplateResult => baseVerticalState(browseFiles, title, subtitle, true, dragHandler, errorMessage, allowedTypes, nileFileUpload);\n\n\nexport const getVerticalDragState = (): TemplateResult => html`\n <div part=\"vertical-drag-state\" class=\"vertical-div vertical-drag\">\n <div class=\"icons-container\">\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"general\"\n size=\"20\"\n class=\"general-icon\"\n ></nile-icon>\n <nile-icon\n color=\"var(--nile-colors-blue-500)\"\n name=\"image\"\n size=\"24\"\n class=\"image-icon\"\n ></nile-icon>\n </div>\n <p>${FileUploadDefaults.DRAG_STATE_DEFAULT}</p>\n </div>\n`;"],"names":["t","i","l","_createClass","key","get","_$AU","this","_$AM","value","_$AT","e","_$Ct","_$Ci","_$AS","update","render","_len","arguments","length","Array","_key","_$litDirective$","values","s","_class","_i$strings","_this","_classCallCheck","super","type","r","name","strings","Error","_inherits","_l","Object","keys","filter","join","st","Set","nt","split","has","add","element","classList","_iterator","_createForOfIteratorHelper","_step","n","done","remove","err","f","_this$nt2","delete","baseHorizontalState","browseFiles","title","subtitle","disabled","dragHandler","state","errorMessage","allowedTypes","nileFileUpload","truncateString","html","_templateObject","_taggedTemplateLiteral","classMap","disable","handleFiles","undefined","_templateObject2","isStringTruncated","_templateObject3","_templateObject4","_templateObject5","getHorizontalDefaultState","getHorizontalDisabledState","getHorizontalDragState","_templateObject6","FileUploadDefaults","DRAG_STATE_DEFAULT","baseVerticalState","v","_templateObject7","_templateObject8","_templateObject9","getVerticalDefaultState","getVerticalDisabledState","getVerticalDragState","_templateObject10"],"mappings":"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","x_google_ignoreList":[0,1]}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}from"../lit-html-39a6718c.esm.js";import{c as t}from"./types/file-upload.enums.esm.js";
|
1
|
+
import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}from"../lit-html-39a6718c.esm.js";import{c as t}from"./types/file-upload.enums.esm.js";import{t as s}from"./utils/file-validation.util.esm.js";
|
2
2
|
/**
|
3
3
|
* @license
|
4
4
|
* Copyright 2017 Google LLC
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
6
|
-
*/const n=1;class
|
6
|
+
*/const n=1;class l{constructor(i){}get _$AU(){return this._$AM._$AU}_$AT(i,e,t){this._$Ct=i,this._$AM=e,this._$Ci=t}_$AS(i,e){return this.update(i,e)}update(i,e){return this.render(...e)}}
|
7
7
|
/**
|
8
8
|
* @license
|
9
9
|
* Copyright 2018 Google LLC
|
10
10
|
* SPDX-License-Identifier: BSD-3-Clause
|
11
|
-
*/const
|
11
|
+
*/const a=(i=>(...e)=>({_$litDirective$:i,values:e}))(class extends l{constructor(i){if(super(i),i.type!==n||"class"!==i.name||i.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(i){return" "+Object.keys(i).filter((e=>i[e])).join(" ")+" "}update(i,[t]){if(void 0===this.st){this.st=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(" ").split(/\s/).filter((i=>""!==i))));for(const i in t)t[i]&&!this.nt?.has(i)&&this.st.add(i);return this.render(t)}const s=i.element.classList;for(const i of this.st)i in t||(s.remove(i),this.st.delete(i));for(const i in t){const e=!!t[i];e===this.st.has(i)||this.nt?.has(i)||(e?(s.add(i),this.st.add(i)):(s.remove(i),this.st.delete(i)))}return e}}),o=(e,t,n,l,o,r,c,d,v)=>(s(v),i`
|
12
12
|
<div class="wrapper" part="horizontal-wrapper">
|
13
|
-
<div part="horizontal-div" class=${
|
13
|
+
<div part="horizontal-div" class=${a({"hover-border":"hover"===r,"horizontal-div":!0,disable:l})}>
|
14
14
|
<div part="inner-div" class="inner-div">
|
15
15
|
<slot class="upload-icon-slot" name="upload-icon">
|
16
16
|
<nile-icon name="upload" size="24"></nile-icon>
|
@@ -22,25 +22,25 @@ import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}f
|
|
22
22
|
</div>
|
23
23
|
<input
|
24
24
|
type="file"
|
25
|
-
?disabled=${
|
25
|
+
?disabled=${l}
|
26
26
|
@change=${i=>{o.handleFiles(i)}}
|
27
27
|
multiple
|
28
|
-
accept=${
|
28
|
+
accept=${d.join(",")}
|
29
29
|
/>
|
30
|
-
<slot class="browse-file-button" @click=${
|
31
|
-
<nile-button variant="tertiary" ?disabled=${
|
30
|
+
<slot class="browse-file-button" @click=${l?void 0:e} name="browse-file-button">
|
31
|
+
<nile-button variant="tertiary" ?disabled=${l}>
|
32
32
|
Browse File
|
33
33
|
</nile-button>
|
34
34
|
</slot>
|
35
35
|
</div>
|
36
|
-
${
|
36
|
+
${c?i`<div class="upload-error">
|
37
37
|
<nile-icon name="warning" size="12" color="var(--nile-colors-red-700)"></nile-icon>
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
${v.isStringTruncated?i`<nile-tooltip content=${c}>
|
39
|
+
<span>${c}</span>
|
40
|
+
</nile-tooltip>`:i`<span>${c}</span>`}
|
41
41
|
</div>`:i``}
|
42
42
|
</div>
|
43
|
-
|
43
|
+
`),r=(i,e,t,s,n,l,a,r)=>o(i,e,t,!1,s,n,l,a,r),c=(i,e,t,s,n,l,a,r)=>o(i,e,t,!0,s,n,l,a,r),d=()=>i`
|
44
44
|
<div part="horizontal-drag-state" class="horizontal-div dragging">
|
45
45
|
<div class="icons-container">
|
46
46
|
<nile-icon
|
@@ -58,9 +58,9 @@ import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}f
|
|
58
58
|
</div>
|
59
59
|
<p>${t.DRAG_STATE_DEFAULT}</p>
|
60
60
|
</div>
|
61
|
-
`,
|
61
|
+
`,v=(e,t,n,l,a,o,r,c)=>(s(c),i`
|
62
62
|
<div part="vertical-wrapper" class="wrapper">
|
63
|
-
<div part="vertical-default" class="vertical-default vertical-div ${
|
63
|
+
<div part="vertical-default" class="vertical-default vertical-div ${l?"disable":""}">
|
64
64
|
<slot name="upload-icon">
|
65
65
|
<nile-icon name="upload" size="24"></nile-icon>
|
66
66
|
</slot>
|
@@ -70,13 +70,13 @@ import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}f
|
|
70
70
|
</div>
|
71
71
|
<input
|
72
72
|
type="file"
|
73
|
-
?disabled=${
|
74
|
-
@change=${i=>
|
73
|
+
?disabled=${l}
|
74
|
+
@change=${i=>a.handleFiles(i)}
|
75
75
|
multiple
|
76
|
-
accept=${
|
76
|
+
accept=${r.join(",")}
|
77
77
|
/>
|
78
|
-
<slot @click=${
|
79
|
-
<nile-button variant="tertiary" ?disabled=${
|
78
|
+
<slot @click=${l?void 0:e} name="browse-file-button">
|
79
|
+
<nile-button variant="tertiary" ?disabled=${l}>
|
80
80
|
Browse File
|
81
81
|
</nile-button>
|
82
82
|
</slot>
|
@@ -88,7 +88,7 @@ import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}f
|
|
88
88
|
</nile-tooltip>
|
89
89
|
</div>`:i``}
|
90
90
|
</div>
|
91
|
-
|
91
|
+
`),p=(i,e,t,s,n,l,a)=>v(i,e,t,!1,s,n,l,a),u=(i,e,t,s,n,l,a)=>v(i,e,t,!0,s,n,l,a),m=()=>i`
|
92
92
|
<div part="vertical-drag-state" class="vertical-div vertical-drag">
|
93
93
|
<div class="icons-container">
|
94
94
|
<nile-icon
|
@@ -106,4 +106,4 @@ import{html as i}from"lit";import"./nile-file-upload.css.esm.js";import{T as e}f
|
|
106
106
|
</div>
|
107
107
|
<p>${t.DRAG_STATE_DEFAULT}</p>
|
108
108
|
</div>
|
109
|
-
`;export{
|
109
|
+
`;export{d as a,c as b,p as c,m as d,u as e,r as g};
|
@@ -1,3 +1,3 @@
|
|
1
|
-
System.register(["../types/file-upload.enums.cjs.js"],function(_export,_context){"use strict";var e,o,s,t,n,a,l,u,
|
2
|
-
var t=new FormData();t.append("file",r);var l=new XMLHttpRequest();a.set(r,l),s.emit(o.NILE_UPLOADING),l.upload.onprogress=function(e){var t=Math.floor(e.loaded/e.total*100);s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_PROGRESS,{detail:{file:r,progress:t}}));},l.onload=function(){l.status>=200&&l.status<300?s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_SUCCESS,{detail:{file:r,response:l.response}})):(s.errorMessage=e.SERVER_SIDE_ERROR,s.requestUpdate(),s.dispatchEvent(new CustomEvent(o.SERVER_SIDE_ERROR,{detail:{file:r,status:l.status,response:l.response}})));},l.onerror=function(){a["delete"](r),s.errorMessage=e.NETWORK_ERROR,s.dispatchEvent(new CustomEvent(o.NILE_NETWORK_ERROR,{detail:{file:r,status:l.status,response:l.response},bubbles:!0,composed:!0}));},l.open("POST",n),l.send(t);};for(_iterator2.s();!(_step2=_iterator2.n()).done;){if(_loop2())continue;}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}}_export("u",r);return{setters:[function(_typesFileUploadEnumsCjsJs){e=_typesFileUploadEnumsCjsJs.a;o=_typesFileUploadEnumsCjsJs.b;s=_typesFileUploadEnumsCjsJs.F;}],execute:function execute(){_export("s",t=function t(s,_t){_t.onStateChange(function(e){s.state=e;}),_t.onFileDrop(function(t){var n=function(e){var o={B:1,KB:1024,MB:1048576,GB:Math.pow(1024,3)},s=parseFloat(e),t=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=o[t]||1;return s*n;}(s.size),a=s.uploadedFiles;if(!s.allowMultiple&&a.length+t.length>1)return s.errorMessage=e.MULTIPLE_NOT_ALLOWED,console.error(s.errorMessage),void s.requestUpdate();var r=!1,l=!1;var
|
1
|
+
System.register(["../types/file-upload.enums.cjs.js"],function(_export,_context){"use strict";var e,o,s,t,n,a,l,i,u,c;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function r(s){var t=s.uploadedFiles,n=s.fileUploadUrl,a=s.uploadRequests;if(n&&t!==null&&t!==void 0&&t.length){var _iterator2=_createForOfIteratorHelper(t),_step2;try{var _loop2=function _loop2(){var r=_step2.value;if(a.has(r))return 1;// continue
|
2
|
+
var t=new FormData();t.append("file",r);var l=new XMLHttpRequest();a.set(r,l),s.emit(o.NILE_UPLOADING),l.upload.onprogress=function(e){var t=Math.floor(e.loaded/e.total*100);s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_PROGRESS,{detail:{file:r,progress:t}}));},l.onload=function(){l.status>=200&&l.status<300?s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_SUCCESS,{detail:{file:r,response:l.response}})):(s.errorMessage=e.SERVER_SIDE_ERROR,s.requestUpdate(),s.dispatchEvent(new CustomEvent(o.SERVER_SIDE_ERROR,{detail:{file:r,status:l.status,response:l.response}})));},l.onerror=function(){a["delete"](r),s.errorMessage=e.NETWORK_ERROR,s.dispatchEvent(new CustomEvent(o.NILE_NETWORK_ERROR,{detail:{file:r,status:l.status,response:l.response},bubbles:!0,composed:!0}));},l.open("POST",n),l.send(t);};for(_iterator2.s();!(_step2=_iterator2.n()).done;){if(_loop2())continue;}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}}_export("u",r);return{setters:[function(_typesFileUploadEnumsCjsJs){e=_typesFileUploadEnumsCjsJs.a;o=_typesFileUploadEnumsCjsJs.b;s=_typesFileUploadEnumsCjsJs.F;}],execute:function execute(){_export("s",t=function t(s,_t){_t.onStateChange(function(e){s.state=e;}),_t.onFileDrop(function(t){var n=function(e){var o={B:1,KB:1024,MB:1048576,GB:Math.pow(1024,3)},s=parseFloat(e),t=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=o[t]||1;return s*n;}(s.size),a=s.uploadedFiles;if(!s.allowMultiple&&a.length+t.length>1)return s.errorMessage=e.MULTIPLE_NOT_ALLOWED,console.error(s.errorMessage),void s.requestUpdate();var r=!1,l=!1;var i=[],u=[];var _iterator=_createForOfIteratorHelper(t),_step;try{var _loop=function _loop(){var e=_step.value;e.size>n?(r=!0,u.push(e)):s.allowDuplicates||!a.some(function(o){return o.name===e.name&&o.size===e.size&&o.type===e.type;})?u.includes(e)||i.push(e):(l=!0,u.push(e));};for(_iterator.s();!(_step=_iterator.n()).done;){_loop();}}catch(err){_iterator.e(err);}finally{_iterator.f();}r&&(s.errorMessage=e.SIZE_LIMIT_EXCEEDED,console.error(s.errorMessage),s.requestUpdate(),s.dispatchEvent(new CustomEvent(o.NILE_SIZE_EXCEED_FILES,{detail:{files:u}}))),l&&0===i.length&&(s.errorMessage=e.DUPLICATES_NOT_ALLOWED,console.error(s.errorMessage),s.requestUpdate()),s.uploadedFiles=[].concat(_toConsumableArray(a),i),s.requestUpdate();}),_t.setErrorMessage(function(e){console.error(s.errorMessage),s.errorMessage=e;});}),_export("b",n=function n(e){document.addEventListener("dragover",e.preventDragOver,{passive:!1}),document.addEventListener("drop",e.preventDrop,{passive:!1});}),_export("a",a=function a(e,o,t){e.addEventListener("mouseenter",function(o){return t=e.setState,void(e.state===s.DEFAULT&&t(s.HOVER));var t;}),e.addEventListener("mouseleave",function(o){return t=e.setState,void(e.state===s.HOVER&&t(s.DEFAULT));var t;}),e.addEventListener("dragenter",function(e){return o.dragEnter(e);}),e.addEventListener("dragleave",function(e){return o.dragLeave(e);}),e.addEventListener("dragover",function(e){return o.dragOver(e);}),e.addEventListener("drop",function(e){return o.drop(e);}),l(e,t),u(e.uploadedFiles,e);});l=function l(e,s){document.addEventListener(o.NILE_CANCEL_UPLOAD,function(t){var n=t.detail.file,a=s.get(n);a&&a.abort(),s["delete"](n),e.uploadedFiles=e.uploadedFiles.filter(function(e){return e!==n;}),e.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_CANCELLED,{detail:{file:n}}));});};_export("p",i=function i(e){var _e$preventDefault;(_e$preventDefault=e.preventDefault)!==null&&_e$preventDefault!==void 0&&_e$preventDefault.call(e),e.stopPropagation();}),u=function u(e,o){document.addEventListener("nile-remove",function(s){var t=s.detail.value;e=e.filter(function(e){return e!==t;}),o.uploadedFiles=e,o.requestUpdate();});},_export("t",c=function c(e){"vertical"===e.variant&&e.errorMessage.length>34?(e.isStringTruncated=!0,e.requestUpdate()):"horizontal"===e.variant&&e.errorMessage.length>96&&(console.log("working"),e.isStringTruncated=!0,e.requestUpdate());});}};});
|
3
3
|
//# sourceMappingURL=file-validation.util.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-validation.util.cjs.js","sources":["../../../../src/nile-file-upload/utils/file-validation.util.ts"],"sourcesContent":["import { DragHandler } from \"./drag-drop.util\";\nimport { FileUploadState, FileUploadError, FileUploadEvent } from \"../types\";\nimport { NileFileUpload } from \"../nile-file-upload\";\nimport { RemoveFileDetail } from \"../../nile-file-preview/types\";\n\nexport const setUpDragHandler = (\n nileFileUpload: NileFileUpload,\n dragHandler: DragHandler,\n): void => {\n dragHandler.onStateChange((newState: FileUploadState) => {\n nileFileUpload.state = newState;\n });\n\n dragHandler.onFileDrop((files: File[]) => {\n const maxSize = parseSize(nileFileUpload.size);\n const uploadedFiles = nileFileUpload.uploadedFiles;\n \n if (!nileFileUpload.allowMultiple && (uploadedFiles.length + files.length > 1)) {\n nileFileUpload.errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n return;\n }\n \n let sizeExceeded = false;\n let duplicatesFound = false;\n const newFiles: File[] = [];\n const rejectedFiles: File[] = [];\n \n for (const file of files) {\n if (file.size > maxSize) {\n sizeExceeded = true;\n rejectedFiles.push(file);\n continue;\n }\n \n if (\n !nileFileUpload.allowDuplicates &&\n uploadedFiles.some(\n (uploaded) =>\n uploaded.name === file.name &&\n uploaded.size === file.size &&\n uploaded.type === file.type\n )\n ) {\n duplicatesFound = true;\n rejectedFiles.push(file);\n continue;\n }\n \n if(!rejectedFiles.includes(file)) {\n newFiles.push(file);\n }\n }\n\n if (sizeExceeded) {\n nileFileUpload.errorMessage = FileUploadError.SIZE_LIMIT_EXCEEDED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_SIZE_EXCEED_FILES, {\n detail: { files: rejectedFiles }\n }));\n }\n \n if (duplicatesFound && newFiles.length === 0) {\n nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n }\n \n nileFileUpload.uploadedFiles = [...uploadedFiles, ...newFiles];\n nileFileUpload.requestUpdate();\n });\n \n\n dragHandler.setErrorMessage((errorMessage: string) => {\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.errorMessage = errorMessage;\n });\n};\n\nexport const addGlobalListeners = (dragHandler: DragHandler): void => {\n document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });\n document.addEventListener('drop', dragHandler.preventDrop, { passive: false });\n}\n\nexport const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {\n nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));\n nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));\n nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));\n nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e)); \n\n cancelFileUpload(nileFileUpload, uploadRequests);\n removeFile(nileFileUpload.uploadedFiles, nileFileUpload);\n}\n\nexport function handleHoverIn(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.DEFAULT) {\n setState(FileUploadState.HOVER);\n }\n}\n\nexport function handleHoverOut(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.HOVER) {\n setState(FileUploadState.DEFAULT);\n }\n}\n\nexport function uploadFiles(nileFileUpload: NileFileUpload) {\n const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;\n if (!fileUploadUrl || !uploadedFiles?.length) return;\n\n for (const file of uploadedFiles) {\n if (uploadRequests.has(file)) continue;\n \n const formData = new FormData();\n formData.append('file', file);\n\n const xhr = new XMLHttpRequest();\n uploadRequests.set(file, xhr);\n\n nileFileUpload.emit(FileUploadEvent.NILE_UPLOADING);\n\n xhr.upload.onprogress = (e) => {\n const percent = Math.floor((e.loaded / e.total) * 100);\n \n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {\n detail: { file, progress: percent }\n }));\n };\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {\n detail: { file, response: xhr.response }\n }));\n } else {\n nileFileUpload.errorMessage = FileUploadError.SERVER_SIDE_ERROR;\n nileFileUpload.requestUpdate();\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response }\n }));\n }\n };\n\n xhr.onerror = () => {\n uploadRequests.delete(file);\n nileFileUpload.errorMessage = FileUploadError.NETWORK_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.open('POST', fileUploadUrl);\n xhr.send(formData);\n }\n}\n\nexport const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {\n document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {\n const fileToCancel = e.detail.file;\n const xhr = uploadRequests.get(fileToCancel);\n\n if (xhr) {\n xhr.abort();\n }\n uploadRequests.delete(fileToCancel);\n nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {\n detail: { file: fileToCancel }\n }));\n });\n};\n\nfunction parseSize(sizeStr: string): number {\n const units = { B: 1, KB: 1024, MB: 1024 ** 2, GB: 1024 ** 3 };\n const num = parseFloat(sizeStr);\n const unit = sizeStr.replace(/[0-9.\\s]/g, '').toUpperCase();\n const multiplier = units[unit as keyof typeof units] || 1;\n return num * multiplier;\n}\n\nexport const preventDefaultAndStopPropagation = (event: Event | DragEvent): void => {\n event.preventDefault?.();\n event.stopPropagation();\n}\n\nexport const removeFile = (uploadedFiles: File[], nileFileUpload: NileFileUpload) => {\n document.addEventListener('nile-remove', (e: CustomEvent<RemoveFileDetail>) => {\n const { value } = e.detail;\n uploadedFiles = uploadedFiles.filter(file => file !== value);\n nileFileUpload.uploadedFiles = uploadedFiles;\n nileFileUpload.requestUpdate();\n });\n}"],"names":["uploadFiles","nileFileUpload","uploadedFiles","fileUploadUrl","uploadRequests","length","_iterator2","_createForOfIteratorHelper","_step2","_loop2","file","has","formData","FormData","append","xhr","XMLHttpRequest","set","emit","FileUploadEvent","NILE_UPLOADING","upload","onprogress","e","percent","Math","floor","loaded","total","dispatchEvent","CustomEvent","NILE_UPLOAD_PROGRESS","detail","progress","onload","status","NILE_UPLOAD_SUCCESS","response","errorMessage","FileUploadError","SERVER_SIDE_ERROR","requestUpdate","onerror","NETWORK_ERROR","NILE_NETWORK_ERROR","bubbles","composed","open","send","s","n","done","err","f","_export","setUpDragHandler","t","dragHandler","onStateChange","newState","state","onFileDrop","files","maxSize","sizeStr","units","B","KB","MB","GB","num","parseFloat","unit","replace","toUpperCase","multiplier","parseSize","size","allowMultiple","MULTIPLE_NOT_ALLOWED","console","error","sizeExceeded","duplicatesFound","newFiles","rejectedFiles","_iterator","push","allowDuplicates","some","uploaded","name","type","includes","_step","_loop","SIZE_LIMIT_EXCEEDED","NILE_SIZE_EXCEED_FILES","DUPLICATES_NOT_ALLOWED","setErrorMessage","addGlobalListeners","document","addEventListener","preventDragOver","passive","preventDrop","addInternalListeners","a","handleHoverIn","setState","FileUploadState","DEFAULT","HOVER","handleHoverOut","dragEnter","dragLeave","dragOver","drop","cancelFileUpload","removeFile","NILE_CANCEL_UPLOAD","fileToCancel","get","abort","filter","NILE_UPLOAD_CANCELLED","preventDefaultAndStopPropagation","event","preventDefault","stopPropagation","i","value"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"file-validation.util.cjs.js","sources":["../../../../src/nile-file-upload/utils/file-validation.util.ts"],"sourcesContent":["import { DragHandler } from \"./drag-drop.util\";\nimport { FileUploadState, FileUploadError, FileUploadEvent } from \"../types\";\nimport { NileFileUpload } from \"../nile-file-upload\";\nimport { RemoveFileDetail } from \"../../nile-file-preview/types\";\n\nexport const setUpDragHandler = (\n nileFileUpload: NileFileUpload,\n dragHandler: DragHandler,\n): void => {\n dragHandler.onStateChange((newState: FileUploadState) => {\n nileFileUpload.state = newState;\n });\n\n dragHandler.onFileDrop((files: File[]) => {\n const maxSize = parseSize(nileFileUpload.size);\n const uploadedFiles = nileFileUpload.uploadedFiles;\n \n if (!nileFileUpload.allowMultiple && (uploadedFiles.length + files.length > 1)) {\n nileFileUpload.errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n return;\n }\n \n let sizeExceeded = false;\n let duplicatesFound = false;\n const newFiles: File[] = [];\n const rejectedFiles: File[] = [];\n \n for (const file of files) {\n if (file.size > maxSize) {\n sizeExceeded = true;\n rejectedFiles.push(file);\n continue;\n }\n \n if (\n !nileFileUpload.allowDuplicates &&\n uploadedFiles.some(\n (uploaded) =>\n uploaded.name === file.name &&\n uploaded.size === file.size &&\n uploaded.type === file.type\n )\n ) {\n duplicatesFound = true;\n rejectedFiles.push(file);\n continue;\n }\n \n if(!rejectedFiles.includes(file)) {\n newFiles.push(file);\n }\n }\n\n if (sizeExceeded) {\n nileFileUpload.errorMessage = FileUploadError.SIZE_LIMIT_EXCEEDED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_SIZE_EXCEED_FILES, {\n detail: { files: rejectedFiles }\n }));\n }\n \n if (duplicatesFound && newFiles.length === 0) {\n nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.requestUpdate();\n }\n \n nileFileUpload.uploadedFiles = [...uploadedFiles, ...newFiles];\n nileFileUpload.requestUpdate();\n });\n \n\n dragHandler.setErrorMessage((errorMessage: string) => {\n console.error(nileFileUpload.errorMessage);\n nileFileUpload.errorMessage = errorMessage;\n });\n};\n\nexport const addGlobalListeners = (dragHandler: DragHandler): void => {\n document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });\n document.addEventListener('drop', dragHandler.preventDrop, { passive: false });\n}\n\nexport const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {\n nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));\n nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));\n nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));\n nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));\n nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e)); \n\n cancelFileUpload(nileFileUpload, uploadRequests);\n removeFile(nileFileUpload.uploadedFiles, nileFileUpload);\n}\n\nexport function handleHoverIn(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.DEFAULT) {\n setState(FileUploadState.HOVER);\n }\n}\n\nexport function handleHoverOut(\n setState: (state: FileUploadState) => void,\n currentState: FileUploadState\n): void {\n if (currentState === FileUploadState.HOVER) {\n setState(FileUploadState.DEFAULT);\n }\n}\n\nexport function uploadFiles(nileFileUpload: NileFileUpload) {\n const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;\n if (!fileUploadUrl || !uploadedFiles?.length) return;\n\n for (const file of uploadedFiles) {\n if (uploadRequests.has(file)) continue;\n \n const formData = new FormData();\n formData.append('file', file);\n\n const xhr = new XMLHttpRequest();\n uploadRequests.set(file, xhr);\n\n nileFileUpload.emit(FileUploadEvent.NILE_UPLOADING);\n\n xhr.upload.onprogress = (e) => {\n const percent = Math.floor((e.loaded / e.total) * 100);\n \n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {\n detail: { file, progress: percent }\n }));\n };\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {\n detail: { file, response: xhr.response }\n }));\n } else {\n nileFileUpload.errorMessage = FileUploadError.SERVER_SIDE_ERROR;\n nileFileUpload.requestUpdate();\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response }\n }));\n }\n };\n\n xhr.onerror = () => {\n uploadRequests.delete(file);\n nileFileUpload.errorMessage = FileUploadError.NETWORK_ERROR;\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {\n detail: { file, status: xhr.status, response: xhr.response },\n bubbles: true,\n composed: true,\n }));\n };\n\n xhr.open('POST', fileUploadUrl);\n xhr.send(formData);\n }\n}\n\nexport const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {\n document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {\n const fileToCancel = e.detail.file;\n const xhr = uploadRequests.get(fileToCancel);\n\n if (xhr) {\n xhr.abort();\n }\n uploadRequests.delete(fileToCancel);\n nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);\n\n nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {\n detail: { file: fileToCancel }\n }));\n });\n};\n\nfunction parseSize(sizeStr: string): number {\n const units = { B: 1, KB: 1024, MB: 1024 ** 2, GB: 1024 ** 3 };\n const num = parseFloat(sizeStr);\n const unit = sizeStr.replace(/[0-9.\\s]/g, '').toUpperCase();\n const multiplier = units[unit as keyof typeof units] || 1;\n return num * multiplier;\n}\n\nexport const preventDefaultAndStopPropagation = (event: Event | DragEvent): void => {\n event.preventDefault?.();\n event.stopPropagation();\n}\n\nexport const removeFile = (uploadedFiles: File[], nileFileUpload: NileFileUpload) => {\n document.addEventListener('nile-remove', (e: CustomEvent<RemoveFileDetail>) => {\n const { value } = e.detail;\n uploadedFiles = uploadedFiles.filter(file => file !== value);\n nileFileUpload.uploadedFiles = uploadedFiles;\n nileFileUpload.requestUpdate();\n });\n}\n\nexport const truncateString = (nileFileUpload: NileFileUpload): void => {\n if(nileFileUpload.variant === 'vertical' && nileFileUpload.errorMessage.length > 34) {\n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n } else if(nileFileUpload.variant === 'horizontal' && nileFileUpload.errorMessage.length > 96) {\n console.log('working');\n \n nileFileUpload.isStringTruncated = true;\n nileFileUpload.requestUpdate();\n }\n}"],"names":["uploadFiles","nileFileUpload","uploadedFiles","fileUploadUrl","uploadRequests","length","file","has","formData","FormData","append","xhr","XMLHttpRequest","set","emit","FileUploadEvent","NILE_UPLOADING","upload","onprogress","e","percent","Math","floor","loaded","total","dispatchEvent","CustomEvent","NILE_UPLOAD_PROGRESS","detail","progress","onload","status","NILE_UPLOAD_SUCCESS","response","errorMessage","FileUploadError","SERVER_SIDE_ERROR","requestUpdate","onerror","NETWORK_ERROR","NILE_NETWORK_ERROR","bubbles","composed","open","send","_iterator2","s","_step2","n","done","_loop2","err","f","_export","setUpDragHandler","t","dragHandler","onStateChange","newState","state","onFileDrop","files","maxSize","sizeStr","units","B","KB","MB","GB","num","parseFloat","unit","replace","toUpperCase","multiplier","parseSize","size","allowMultiple","MULTIPLE_NOT_ALLOWED","console","error","sizeExceeded","duplicatesFound","newFiles","rejectedFiles","_iterator","_createForOfIteratorHelper","push","allowDuplicates","some","uploaded","name","type","includes","_step","_loop","SIZE_LIMIT_EXCEEDED","NILE_SIZE_EXCEED_FILES","DUPLICATES_NOT_ALLOWED","concat","_toConsumableArray","setErrorMessage","addGlobalListeners","document","addEventListener","preventDragOver","passive","preventDrop","addInternalListeners","handleHoverIn","setState","FileUploadState","DEFAULT","HOVER","handleHoverOut","dragEnter","dragLeave","dragOver","drop","cancelFileUpload","removeFile","l","NILE_CANCEL_UPLOAD","fileToCancel","get","abort","delete","filter","NILE_UPLOAD_CANCELLED","preventDefaultAndStopPropagation","event","preventDefault","stopPropagation","value","truncateString","variant","isStringTruncated","log"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
import{a as e,b as o,F as s}from"../types/file-upload.enums.esm.js";const t=(s,t)=>{t.onStateChange((e=>{s.state=e})),t.onFileDrop((t=>{const n=function(e){const o={B:1,KB:1024,MB:1048576,GB:1024**3},s=parseFloat(e),t=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=o[t]||1;return s*n}(s.size),a=s.uploadedFiles;if(!s.allowMultiple&&a.length+t.length>1)return s.errorMessage=e.MULTIPLE_NOT_ALLOWED,console.error(s.errorMessage),void s.requestUpdate();let r=!1,l=!1;const
|
1
|
+
import{a as e,b as o,F as s}from"../types/file-upload.enums.esm.js";const t=(s,t)=>{t.onStateChange((e=>{s.state=e})),t.onFileDrop((t=>{const n=function(e){const o={B:1,KB:1024,MB:1048576,GB:1024**3},s=parseFloat(e),t=e.replace(/[0-9.\s]/g,"").toUpperCase(),n=o[t]||1;return s*n}(s.size),a=s.uploadedFiles;if(!s.allowMultiple&&a.length+t.length>1)return s.errorMessage=e.MULTIPLE_NOT_ALLOWED,console.error(s.errorMessage),void s.requestUpdate();let r=!1,l=!1;const i=[],u=[];for(const e of t)e.size>n?(r=!0,u.push(e)):s.allowDuplicates||!a.some((o=>o.name===e.name&&o.size===e.size&&o.type===e.type))?u.includes(e)||i.push(e):(l=!0,u.push(e));r&&(s.errorMessage=e.SIZE_LIMIT_EXCEEDED,console.error(s.errorMessage),s.requestUpdate(),s.dispatchEvent(new CustomEvent(o.NILE_SIZE_EXCEED_FILES,{detail:{files:u}}))),l&&0===i.length&&(s.errorMessage=e.DUPLICATES_NOT_ALLOWED,console.error(s.errorMessage),s.requestUpdate()),s.uploadedFiles=[...a,...i],s.requestUpdate()})),t.setErrorMessage((e=>{console.error(s.errorMessage),s.errorMessage=e}))},n=e=>{document.addEventListener("dragover",e.preventDragOver,{passive:!1}),document.addEventListener("drop",e.preventDrop,{passive:!1})},a=(e,o,t)=>{e.addEventListener("mouseenter",(o=>{return t=e.setState,void(e.state===s.DEFAULT&&t(s.HOVER));var t})),e.addEventListener("mouseleave",(o=>{return t=e.setState,void(e.state===s.HOVER&&t(s.DEFAULT));var t})),e.addEventListener("dragenter",(e=>o.dragEnter(e))),e.addEventListener("dragleave",(e=>o.dragLeave(e))),e.addEventListener("dragover",(e=>o.dragOver(e))),e.addEventListener("drop",(e=>o.drop(e))),l(e,t),u(e.uploadedFiles,e)};function r(s){const{uploadedFiles:t,fileUploadUrl:n,uploadRequests:a}=s;if(n&&t?.length)for(const r of t){if(a.has(r))continue;const t=new FormData;t.append("file",r);const l=new XMLHttpRequest;a.set(r,l),s.emit(o.NILE_UPLOADING),l.upload.onprogress=e=>{const t=Math.floor(e.loaded/e.total*100);s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_PROGRESS,{detail:{file:r,progress:t}}))},l.onload=()=>{l.status>=200&&l.status<300?s.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_SUCCESS,{detail:{file:r,response:l.response}})):(s.errorMessage=e.SERVER_SIDE_ERROR,s.requestUpdate(),s.dispatchEvent(new CustomEvent(o.SERVER_SIDE_ERROR,{detail:{file:r,status:l.status,response:l.response}})))},l.onerror=()=>{a.delete(r),s.errorMessage=e.NETWORK_ERROR,s.dispatchEvent(new CustomEvent(o.NILE_NETWORK_ERROR,{detail:{file:r,status:l.status,response:l.response},bubbles:!0,composed:!0}))},l.open("POST",n),l.send(t)}}const l=(e,s)=>{document.addEventListener(o.NILE_CANCEL_UPLOAD,(t=>{const n=t.detail.file,a=s.get(n);a&&a.abort(),s.delete(n),e.uploadedFiles=e.uploadedFiles.filter((e=>e!==n)),e.dispatchEvent(new CustomEvent(o.NILE_UPLOAD_CANCELLED,{detail:{file:n}}))}))};const i=e=>{e.preventDefault?.(),e.stopPropagation()},u=(e,o)=>{document.addEventListener("nile-remove",(s=>{const{value:t}=s.detail;e=e.filter((e=>e!==t)),o.uploadedFiles=e,o.requestUpdate()}))},c=e=>{"vertical"===e.variant&&e.errorMessage.length>34?(e.isStringTruncated=!0,e.requestUpdate()):"horizontal"===e.variant&&e.errorMessage.length>96&&(console.log("working"),e.isStringTruncated=!0,e.requestUpdate())};export{a,n as b,i as p,t as s,c as t,r as u};
|
@@ -106,6 +106,10 @@ export const styles = css `
|
|
106
106
|
}
|
107
107
|
|
108
108
|
/* Uploading State */
|
109
|
+
nile-loader {
|
110
|
+
line-height: 0;
|
111
|
+
}
|
112
|
+
|
109
113
|
.uploading {
|
110
114
|
height: 62px;
|
111
115
|
width: 648px;
|
@@ -187,6 +191,7 @@ export const styles = css `
|
|
187
191
|
|
188
192
|
.preview-inner {
|
189
193
|
display: flex;
|
194
|
+
align-items: center;
|
190
195
|
gap: 18px;
|
191
196
|
}
|
192
197
|
|
@@ -253,6 +258,7 @@ export const styles = css `
|
|
253
258
|
|
254
259
|
.no-preview-container {
|
255
260
|
display: flex;
|
261
|
+
align-items: center;
|
256
262
|
gap: 18px;
|
257
263
|
}
|
258
264
|
|
@@ -286,12 +292,22 @@ export const styles = css `
|
|
286
292
|
margin: 0px;
|
287
293
|
font-size: var(--nile-type-scale-3);
|
288
294
|
font-weight: var(--nile-font-weight-regular);
|
295
|
+
text-align: left;
|
296
|
+
white-space: nowrap;
|
297
|
+
text-overflow: ellipsis;
|
298
|
+
overflow: hidden;
|
299
|
+
width: 500px;
|
289
300
|
}
|
290
301
|
|
291
302
|
.preview-file-info p:last-of-type{
|
292
303
|
color: var(--nile-colors-neutral-700);
|
293
304
|
font-size: var(--nile-type-scale-2);
|
294
305
|
font-weight: var(--nile-font-weight-regular);
|
306
|
+
text-align: left;
|
307
|
+
white-space: nowrap;
|
308
|
+
text-overflow: ellipsis;
|
309
|
+
overflow: hidden;
|
310
|
+
width: 500px;
|
295
311
|
}
|
296
312
|
|
297
313
|
.no-preview > nile-icon:hover {
|
@@ -310,6 +326,7 @@ export const styles = css `
|
|
310
326
|
.error-container {
|
311
327
|
width: 95%;
|
312
328
|
display: flex;
|
329
|
+
align-items: center;
|
313
330
|
gap: 18px;
|
314
331
|
}
|
315
332
|
|
@@ -350,7 +367,7 @@ export const styles = css `
|
|
350
367
|
width: 538px;
|
351
368
|
}
|
352
369
|
|
353
|
-
.file-info
|
370
|
+
.file-info nile-tooltip span, .file-info span {
|
354
371
|
color: var(--nile-colors-red-700);
|
355
372
|
font-size: var(--nile-type-scale-2);
|
356
373
|
font-weight: var(--nile-font-weight-regular);
|
@@ -539,7 +556,7 @@ export const styles = css `
|
|
539
556
|
max-width: 222px;
|
540
557
|
}
|
541
558
|
|
542
|
-
.file-info-vertical-state
|
559
|
+
.file-info-vertical-state nile-tooltip span, .file-info-vertical-state span {
|
543
560
|
color: var(--nile-colors-red-700);
|
544
561
|
font-size: var(--nile-type-scale-2);
|
545
562
|
font-weight: var(--nile-font-weight-regular);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-file-preview.css.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqlBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * FileUpload CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n }\n\n * {\n padding: 0px;\n margin: 0px;\n box-sizing: border-box;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 18px;\n height: auto;\n }\n\n input {\n display: none;\n }\n\n .horizontal-div {\n max-height: 62px;\n width: 648px;\n min-width: 230px;\n padding: 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 6px;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px dashed var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-900);\n background-color: var(--nile-colors-white-base);\n }\n \n .hover-state {\n border-color: var(--nile-colors-primary-600);\n }\n\n .vertical-div {\n height: auto;\n min-height: 156px;\n min-width: 240px;\n width: 240px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n padding: 12px;\n border-radius: var(--nile-radius-radius-xs);\n color: var(--nile-colors-dark-900);\n border: 1px dashed var(--nile-colors-neutral-500);\n background-color: var(--nile-colors-white-base);\n position: relative; \n margin-bottom: 10px;\n }\n\n .vertical-div:hover {\n border-color: var(--nile-colors-blue-500);\n }\n\n .outer-div-border {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .inner-div {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 18px;\n box-sizing: border-box;\n }\n\n .icons-container {\n display: flex;\n gap: 4px;\n }\n\n .general-icon {\n transform: rotate(-18.11deg);\n position: relative;\n bottom: 3px;\n }\n\n .image-icon {\n transform: rotate(15deg);\n }\n\n .icon:hover {\n cursor: pointer;\n }\n\n /* Uploading State */\n .uploading {\n height: 62px;\n width: 648px;\n padding: 12px;\n min-width: 230px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400);\n border-radius: 4px;\n background-color: var(--nile-colors-white-base);\n }\n \n .uploading:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .progress-bar-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .progress-bar-percent {\n width: 100%;\n display: flex;\n justify-content: space-between;\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n }\n\n .progress-bar-container p {\n margin: 0px;\n }\n\n .progress-bar-container > p {\n font-size: var(--nile-type-scale-1);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .progress-bar-container .horizontal-file-name {\n font-size: var(--nile-type-scale-1);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n \n .progress-bar-container .vertical-file-name {\n font-size: var(--nile-type-scale-1);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 212px;\n }\n\n /* PREVIEW STATE */\n .preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .preview-inner {\n display: flex;\n gap: 18px;\n }\n\n .preview-image-container {\n height: 42px;\n width: 42px;\n }\n\n .preview-image-container img, iframe {\n height: 42px;\n width: 42px;\n object-fit: contain;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px solid var(--nile-colors-neutral-400);\n }\n \n /* .preview-file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 0px;\n }\n\n .preview-file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 500px;\n }\n\n .preview-file-info p:last-of-type{\n color: var(--nile-colors-neutral-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 538px;\n } */\n\n .preview nile-icon:hover {\n cursor: pointer;\n }\n\n .preview-actions {\n /* padding-right: 12px; */\n }\n\n /* NO PREVIEW STATE */\n .no-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .no-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .no-preview-container {\n display: flex;\n gap: 18px;\n }\n\n .document-icon {\n height: 40px;\n width: 40px;\n border-radius: var(--nile-radius-radius-xs);\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid var(--nile-colors-blue-400);\n background-color: var(--nile-colors-blue-100);\n }\n\n .document-icon nile-icon {\n height: 40px;\n width: 40px;\n }\n \n .preview-file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 4px;\n }\n\n .preview-file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n }\n\n .preview-file-info p:last-of-type{\n color: var(--nile-colors-neutral-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n }\n\n .no-preview > nile-icon:hover {\n cursor: pointer;\n }\n\n /* ERROR STATE */\n .error {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .error:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .error-container {\n width: 95%;\n display: flex;\n gap: 18px;\n }\n\n .error-icon {\n height: 40px;\n width: 40px;\n border-radius: var(--nile-radius-radius-xs);\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid var(--nile-colors-red-400);\n background-color: var(--nile-colors-red-100);\n }\n\n .error-icon nile-icon {\n height: 40px;\n width: 40px;\n }\n \n .file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 4px;\n }\n\n .file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n \n .file-info > nile-tooltip > span {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n max-width: 90%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: left;\n }\n\n .error > nile-icon:hover {\n cursor: pointer;\n }\n\n .file-info .horizontal-file-name {\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-900);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n\n /* nile-tooltip::part(base) {\n display: inline-block;\n } */\n\n /* VARTICAL STATE START */\n /* Default State */\n .vertical-default {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 18px\n }\n\n .content-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n\n .content-container h4 {\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .content-container p:first-child {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .content-container p:last-child {\n margin: 0px;\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-neutral-700);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n /* Drag State */\n .vertical-drag {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap:18px;\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-blue-700);\n background-color: var(--nile-colors-blue-100);\n border-color: var(--nile-colors-blue-500);\n }\n\n /* Uploading State */\n .vertical-uploading {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-uploading:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .loading {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-top: 40px;\n }\n\n .corner-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n /* Preview State */\n .vertical-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .image-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n object-fit: cover;\n width: 80px;\n height: 80px;\n border-radius: var(--nile-radius-radius-xs);\n }\n\n /* Vertical No Preview State */\n .vertical-no-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-no-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .vertical-document-icon {\n height: 80px;\n width: 80px;\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px solid var(--nile-colors-blue-400);\n background-color: var(--nile-colors-blue-100);\n }\n\n /* Veritcal Error State */\n .vertical-error {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-error:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .error-bg {\n background-color: var(--nile-colors-red-100);\n border: 1px solid var(--nile-colors-red-400);\n }\n\n .file-info-vertical-state {\n width: 100%;\n text-align: center;\n }\n\n .file-info-vertical-state p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n padding-bottom: 6px;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 222px;\n }\n \n .file-info-vertical-state > nile-tooltip > span {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n max-width: 212px;\n }\n\n .error-message {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 8px;\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: center\n }\n\n .error-p {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n width: 216px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n }\n\n .error-p p {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n }\n\n\n /* Displaing uploaded files CSS */\n .display-files {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n gap: 8px;\n width: 648px;\n min-width: 230px;\n max-height: 200px;\n overflow-y: auto;\n border: 1px solid var(--nile-colors-neutral-700);\n border-radius: var(--nile-radius-radius-xs);\n scrollbar-width: none;\n padding: 12px;\n }\n\n ul, li {\n width: 100%;\n }\n\n li {\n list-style-type: none;\n }\n`;\n\nexport default [styles];"]}
|
1
|
+
{"version":3,"file":"nile-file-preview.css.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsmBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * FileUpload CSS\n */\nexport const styles = css`\n :host {\n display: inline-block;\n }\n\n * {\n padding: 0px;\n margin: 0px;\n box-sizing: border-box;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 18px;\n height: auto;\n }\n\n input {\n display: none;\n }\n\n .horizontal-div {\n max-height: 62px;\n width: 648px;\n min-width: 230px;\n padding: 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 6px;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px dashed var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-900);\n background-color: var(--nile-colors-white-base);\n }\n \n .hover-state {\n border-color: var(--nile-colors-primary-600);\n }\n\n .vertical-div {\n height: auto;\n min-height: 156px;\n min-width: 240px;\n width: 240px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n padding: 12px;\n border-radius: var(--nile-radius-radius-xs);\n color: var(--nile-colors-dark-900);\n border: 1px dashed var(--nile-colors-neutral-500);\n background-color: var(--nile-colors-white-base);\n position: relative; \n margin-bottom: 10px;\n }\n\n .vertical-div:hover {\n border-color: var(--nile-colors-blue-500);\n }\n\n .outer-div-border {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .inner-div {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 18px;\n box-sizing: border-box;\n }\n\n .icons-container {\n display: flex;\n gap: 4px;\n }\n\n .general-icon {\n transform: rotate(-18.11deg);\n position: relative;\n bottom: 3px;\n }\n\n .image-icon {\n transform: rotate(15deg);\n }\n\n .icon:hover {\n cursor: pointer;\n }\n\n /* Uploading State */\n nile-loader {\n line-height: 0;\n }\n\n .uploading {\n height: 62px;\n width: 648px;\n padding: 12px;\n min-width: 230px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 18px;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400);\n border-radius: 4px;\n background-color: var(--nile-colors-white-base);\n }\n \n .uploading:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .progress-bar-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .progress-bar-percent {\n width: 100%;\n display: flex;\n justify-content: space-between;\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n }\n\n .progress-bar-container p {\n margin: 0px;\n }\n\n .progress-bar-container > p {\n font-size: var(--nile-type-scale-1);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .progress-bar-container .horizontal-file-name {\n font-size: var(--nile-type-scale-1);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n \n .progress-bar-container .vertical-file-name {\n font-size: var(--nile-type-scale-1);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-500);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 212px;\n }\n\n /* PREVIEW STATE */\n .preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .preview-inner {\n display: flex;\n align-items: center;\n gap: 18px;\n }\n\n .preview-image-container {\n height: 42px;\n width: 42px;\n }\n\n .preview-image-container img, iframe {\n height: 42px;\n width: 42px;\n object-fit: contain;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px solid var(--nile-colors-neutral-400);\n }\n \n /* .preview-file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 0px;\n }\n\n .preview-file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 500px;\n }\n\n .preview-file-info p:last-of-type{\n color: var(--nile-colors-neutral-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 538px;\n } */\n\n .preview nile-icon:hover {\n cursor: pointer;\n }\n\n .preview-actions {\n /* padding-right: 12px; */\n }\n\n /* NO PREVIEW STATE */\n .no-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .no-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .no-preview-container {\n display: flex;\n align-items: center;\n gap: 18px;\n }\n\n .document-icon {\n height: 40px;\n width: 40px;\n border-radius: var(--nile-radius-radius-xs);\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid var(--nile-colors-blue-400);\n background-color: var(--nile-colors-blue-100);\n }\n\n .document-icon nile-icon {\n height: 40px;\n width: 40px;\n }\n \n .preview-file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 4px;\n }\n\n .preview-file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 500px;\n }\n\n .preview-file-info p:last-of-type{\n color: var(--nile-colors-neutral-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 500px;\n }\n\n .no-preview > nile-icon:hover {\n cursor: pointer;\n }\n\n /* ERROR STATE */\n .error {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .error:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .error-container {\n width: 95%;\n display: flex;\n align-items: center;\n gap: 18px;\n }\n\n .error-icon {\n height: 40px;\n width: 40px;\n border-radius: var(--nile-radius-radius-xs);\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid var(--nile-colors-red-400);\n background-color: var(--nile-colors-red-100);\n }\n\n .error-icon nile-icon {\n height: 40px;\n width: 40px;\n }\n \n .file-info {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: 4px;\n }\n\n .file-info p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n \n .file-info nile-tooltip span, .file-info span {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n max-width: 90%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: left;\n }\n\n .error > nile-icon:hover {\n cursor: pointer;\n }\n\n .file-info .horizontal-file-name {\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-dark-900);\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 538px;\n }\n\n /* nile-tooltip::part(base) {\n display: inline-block;\n } */\n\n /* VARTICAL STATE START */\n /* Default State */\n .vertical-default {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 18px\n }\n\n .content-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 8px;\n text-align: center;\n }\n\n .content-container h4 {\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .content-container p:first-child {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n .content-container p:last-child {\n margin: 0px;\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n color: var(--nile-colors-neutral-700);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n width: 222px;\n }\n\n /* Drag State */\n .vertical-drag {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap:18px;\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-blue-700);\n background-color: var(--nile-colors-blue-100);\n border-color: var(--nile-colors-blue-500);\n }\n\n /* Uploading State */\n .vertical-uploading {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-uploading:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .loading {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-top: 40px;\n }\n\n .corner-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n /* Preview State */\n .vertical-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .image-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n object-fit: cover;\n width: 80px;\n height: 80px;\n border-radius: var(--nile-radius-radius-xs);\n }\n\n /* Vertical No Preview State */\n .vertical-no-preview {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-no-preview:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .vertical-document-icon {\n height: 80px;\n width: 80px;\n padding: 2px 3px 2px 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--nile-radius-radius-xs);\n border: 1px solid var(--nile-colors-blue-400);\n background-color: var(--nile-colors-blue-100);\n }\n\n /* Veritcal Error State */\n .vertical-error {\n border: 1px solid var(--nile-colors-neutral-400);\n }\n\n .vertical-error:hover {\n border-color: var(--nile-colors-neutral-400);\n }\n\n .error-bg {\n background-color: var(--nile-colors-red-100);\n border: 1px solid var(--nile-colors-red-400);\n }\n\n .file-info-vertical-state {\n width: 100%;\n text-align: center;\n }\n\n .file-info-vertical-state p {\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n padding-bottom: 6px;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 222px;\n }\n \n .file-info-vertical-state nile-tooltip span, .file-info-vertical-state span {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n font-weight: var(--nile-font-weight-regular);\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n display: block;\n max-width: 212px;\n }\n\n .error-message {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 8px;\n margin: 0px;\n font-size: var(--nile-type-scale-3);\n font-weight: var(--nile-font-weight-regular);\n text-align: center\n }\n\n .error-p {\n color: var(--nile-colors-red-700);\n font-size: var(--nile-type-scale-2);\n width: 216px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n }\n\n .error-p p {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n }\n\n\n /* Displaing uploaded files CSS */\n .display-files {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n gap: 8px;\n width: 648px;\n min-width: 230px;\n max-height: 200px;\n overflow-y: auto;\n border: 1px solid var(--nile-colors-neutral-700);\n border-radius: var(--nile-radius-radius-xs);\n scrollbar-width: none;\n padding: 12px;\n }\n\n ul, li {\n width: 100%;\n }\n\n li {\n list-style-type: none;\n }\n`;\n\nexport default [styles];"]}
|
@@ -8,7 +8,7 @@ import { __decorate } from "tslib";
|
|
8
8
|
import { styles } from './nile-file-preview.css';
|
9
9
|
import NileElement from '../internal/nile-element';
|
10
10
|
import { customElement, property } from 'lit/decorators.js';
|
11
|
-
import {
|
11
|
+
import { generatePreviewUrl } from './utils';
|
12
12
|
import { FilePreviewState, FilePreviewVariant, FilePreviewErrorMessages, FilePreviewEvent } from './types';
|
13
13
|
import { html } from 'lit';
|
14
14
|
import { getHorizontalErrorState, getHorizontalNoPreviewState, getHorizontalPreviewState, getHorizontalUploadingState, getVerticalErrorState, getVerticalNoPreviewState, getVerticalPreviewState, getVerticalUploadingState } from './nile-file-preview.template';
|
@@ -29,6 +29,7 @@ let NileFilePreview = class NileFilePreview extends NileElement {
|
|
29
29
|
this.inputFileName = "";
|
30
30
|
this.inputFileHtml = null;
|
31
31
|
this.originalUrl = "";
|
32
|
+
this.isStringTruncated = false;
|
32
33
|
this.dummyFile = new File(['sdfjbs ewhf'], "dummy.txt", { type: "text/plain" });
|
33
34
|
/* #endregion */
|
34
35
|
}
|
@@ -49,7 +50,7 @@ let NileFilePreview = class NileFilePreview extends NileElement {
|
|
49
50
|
}
|
50
51
|
firstUpdated(_changedProperties) {
|
51
52
|
super.firstUpdated(_changedProperties);
|
52
|
-
fileUploadServerError(this);
|
53
|
+
// fileUploadServerError(this);
|
53
54
|
}
|
54
55
|
updated(changedProperties) {
|
55
56
|
if (changedProperties.has('uploadStatus') && this.uploadStatus) {
|
@@ -93,8 +94,8 @@ let NileFilePreview = class NileFilePreview extends NileElement {
|
|
93
94
|
this.errorMessage = FilePreviewErrorMessages.FAILED_TO_LOAD;
|
94
95
|
console.error(this.errorMessage);
|
95
96
|
this.inputFileHtml = this.variant === FilePreviewVariant.HORIZONTAL
|
96
|
-
? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl)
|
97
|
-
: getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl);
|
97
|
+
? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl, this)
|
98
|
+
: getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl, this);
|
98
99
|
this.requestUpdate();
|
99
100
|
}
|
100
101
|
}
|
@@ -125,8 +126,8 @@ let NileFilePreview = class NileFilePreview extends NileElement {
|
|
125
126
|
// ? FilePreviewErrorMessages.INVALID_FORMAT
|
126
127
|
// : FilePreviewErrorMessages.UPLOAD_CANCEL;
|
127
128
|
this.inputFileHtml = isHorizontal
|
128
|
-
? getHorizontalErrorState(file, this.errorMessage, this.originalUrl)
|
129
|
-
: getVerticalErrorState(file, this.errorMessage, this.originalUrl);
|
129
|
+
? getHorizontalErrorState(file, this.errorMessage, this.originalUrl, this)
|
130
|
+
: getVerticalErrorState(file, this.errorMessage, this.originalUrl, this);
|
130
131
|
}
|
131
132
|
this.requestUpdate();
|
132
133
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-file-preview.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {styles} from './nile-file-preview.css';\nimport NileElement from '../internal/nile-element';\nimport { customElement, property } from 'lit/decorators.js';\nimport { fileUploadServerError, generatePreviewUrl } from './utils';\nimport { FilePreviewState, FilePreviewVariant, FilePreviewErrorMessages, FilePreviewEvent } from './types';\nimport { LitElement, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport {\n getHorizontalErrorState,\n getHorizontalNoPreviewState,\n getHorizontalPreviewState,\n getHorizontalUploadingState,\n getVerticalErrorState,\n getVerticalNoPreviewState,\n getVerticalPreviewState,\n getVerticalUploadingState\n} from './nile-file-preview.template';\n\n\n/**\n * Nile preview component.\n *\n * @tag nile-preview\n *\n */\n@customElement('nile-file-preview')\nexport class NileFilePreview extends NileElement {\n /**\n * The styles for nile-preview\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: String }) errorMessage: string = \"\";\n\t@property({ type: Object }) inputFile: File; \n\t@property({ type: String }) fileUrl: string = \"\";\n\t@property({ type: Number }) uploadStatus: number = 0;\n\t@property({ type: String }) state: FilePreviewState = FilePreviewState.DEFAULT;\n\t@property({ type: String }) variant: FilePreviewVariant = FilePreviewVariant.HORIZONTAL;\n @property({ type: String }) inputFileName: string = \"\";\n\tprivate inputFileHtml: TemplateResult | null = null;\n private originalUrl: string = \"\";\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(FilePreviewEvent.NILE_INIT);\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n super.firstUpdated(_changedProperties);\n fileUploadServerError(this);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('uploadStatus') && this.uploadStatus) {\n if(this.uploadStatus < 100) {\n this.createUploadState(this.inputFile, this.uploadStatus);\n } else {\n this.createState(this.inputFile);\n }\n } else if (changedProperties.has('inputFile') && this.inputFile) {\n this.createState(this.inputFile); \n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('fileUrl') && this.fileUrl) {\n this.handleFileUrl(this.fileUrl);\n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('errorMessage')) {\n this.createState(this.inputFile);\n }\n }\n\n private createUploadState( file: File, uploadStatus: number): void {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n this.inputFileHtml = isHorizontal \n ? getHorizontalUploadingState(file, uploadStatus)\n : getVerticalUploadingState(file, uploadStatus);\n\n this.requestUpdate();\n }\n\n private async handleFileUrl(url: string): Promise<void> {\n this.originalUrl = url;\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n const fileName = this.inputFileName || url.split('/').pop() || FilePreviewErrorMessages.UNKNOWN_FILE_NAME;\n const file = new File([blob], fileName, { type: blob.type });\n\n this.createState(file);\n } catch (error) {\n const dummyFile = new File([], this.inputFileName || FilePreviewErrorMessages.UNKNOWN_FILE_NAME, { type: 'application/octet-stream' });\n this.errorMessage = FilePreviewErrorMessages.FAILED_TO_LOAD;\n console.error(this.errorMessage);\n\n this.inputFileHtml = this.variant === FilePreviewVariant.HORIZONTAL\n ? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl)\n : getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl);\n this.requestUpdate();\n }\n }\n\n\tpublic async createState(file: File): Promise<void> {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n if (!this.errorMessage) { \n if (file.type.startsWith('image/')) {\n try {\n const url = await generatePreviewUrl(file);\n this.inputFileHtml = isHorizontal\n ? getHorizontalPreviewState(url, file, this.originalUrl)\n : getVerticalPreviewState(url, file, this.originalUrl);\n } catch (error) {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl); \n }\n } else {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl);\n }\n } else {\n // this.errorMessage = !this.errorMessage\n // ? FilePreviewErrorMessages.INVALID_FORMAT\n // : FilePreviewErrorMessages.UPLOAD_CANCEL;\n\n this.inputFileHtml = isHorizontal\n ? getHorizontalErrorState(file, this.errorMessage, this.originalUrl)\n : getVerticalErrorState(file, this.errorMessage, this.originalUrl);\n }\n this.requestUpdate();\n }\n\n private dummyFile = new File(['sdfjbs ewhf'], \"dummy.txt\", { type: \"text/plain\" });\n\n public render(): TemplateResult {\n return html`\n\t\t\t${this.inputFileHtml ?\n\t\t\t\tthis.inputFileHtml :\n\t\t\t\thtml``\n\t\t\t}\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(FilePreviewEvent.NILE_DESTROY);\n }\n\n /* #endregion */\n}\n\nexport default NileFilePreview;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-file-preview': NileFilePreview;\n }\n}"]}
|
1
|
+
{"version":3,"file":"nile-file-preview.js","sourceRoot":"","sources":["../../../src/nile-file-preview/nile-file-preview.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {styles} from './nile-file-preview.css';\nimport NileElement from '../internal/nile-element';\nimport { customElement, property } from 'lit/decorators.js';\nimport { generatePreviewUrl, truncateString } from './utils';\nimport { FilePreviewState, FilePreviewVariant, FilePreviewErrorMessages, FilePreviewEvent } from './types';\nimport { LitElement, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport {\n getHorizontalErrorState,\n getHorizontalNoPreviewState,\n getHorizontalPreviewState,\n getHorizontalUploadingState,\n getVerticalErrorState,\n getVerticalNoPreviewState,\n getVerticalPreviewState,\n getVerticalUploadingState\n} from './nile-file-preview.template';\n\n\n/**\n * Nile preview component.\n *\n * @tag nile-preview\n *\n */\n@customElement('nile-file-preview')\nexport class NileFilePreview extends NileElement {\n /**\n * The styles for nile-preview\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: String }) errorMessage: string = \"\";\n\t@property({ type: Object }) inputFile: File; \n\t@property({ type: String }) fileUrl: string = \"\";\n\t@property({ type: Number }) uploadStatus: number = 0;\n\t@property({ type: String }) state: FilePreviewState = FilePreviewState.DEFAULT;\n\t@property({ type: String }) variant: FilePreviewVariant = FilePreviewVariant.HORIZONTAL;\n @property({ type: String }) inputFileName: string = \"\";\n\tprivate inputFileHtml: TemplateResult | null = null;\n private originalUrl: string = \"\";\n public isStringTruncated: boolean = false;\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit(FilePreviewEvent.NILE_INIT);\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n super.firstUpdated(_changedProperties);\n // fileUploadServerError(this);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('uploadStatus') && this.uploadStatus) {\n if(this.uploadStatus < 100) {\n this.createUploadState(this.inputFile, this.uploadStatus);\n } else {\n this.createState(this.inputFile);\n }\n } else if (changedProperties.has('inputFile') && this.inputFile) {\n this.createState(this.inputFile); \n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('fileUrl') && this.fileUrl) {\n this.handleFileUrl(this.fileUrl);\n this.emit(FilePreviewEvent.NILE_RECEIVE);\n\n } else if (changedProperties.has('errorMessage')) {\n this.createState(this.inputFile);\n }\n }\n\n private createUploadState( file: File, uploadStatus: number): void {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n this.inputFileHtml = isHorizontal \n ? getHorizontalUploadingState(file, uploadStatus)\n : getVerticalUploadingState(file, uploadStatus);\n\n this.requestUpdate();\n }\n\n private async handleFileUrl(url: string): Promise<void> {\n this.originalUrl = url;\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n const fileName = this.inputFileName || url.split('/').pop() || FilePreviewErrorMessages.UNKNOWN_FILE_NAME;\n const file = new File([blob], fileName, { type: blob.type });\n\n this.createState(file);\n } catch (error) {\n const dummyFile = new File([], this.inputFileName || FilePreviewErrorMessages.UNKNOWN_FILE_NAME, { type: 'application/octet-stream' });\n this.errorMessage = FilePreviewErrorMessages.FAILED_TO_LOAD;\n console.error(this.errorMessage);\n\n this.inputFileHtml = this.variant === FilePreviewVariant.HORIZONTAL\n ? getHorizontalErrorState(dummyFile, this.errorMessage, this.originalUrl, this)\n : getVerticalErrorState(dummyFile, this.errorMessage, this.originalUrl, this);\n this.requestUpdate();\n }\n }\n\n\tpublic async createState(file: File): Promise<void> {\n const isHorizontal = this.variant === FilePreviewVariant.HORIZONTAL;\n\n if (!this.errorMessage) { \n if (file.type.startsWith('image/')) {\n try {\n const url = await generatePreviewUrl(file);\n this.inputFileHtml = isHorizontal\n ? getHorizontalPreviewState(url, file, this.originalUrl)\n : getVerticalPreviewState(url, file, this.originalUrl);\n } catch (error) {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl); \n }\n } else {\n this.inputFileHtml = isHorizontal\n ? getHorizontalNoPreviewState(file, this.originalUrl)\n : getVerticalNoPreviewState(file, this.originalUrl);\n }\n } else {\n // this.errorMessage = !this.errorMessage\n // ? FilePreviewErrorMessages.INVALID_FORMAT\n // : FilePreviewErrorMessages.UPLOAD_CANCEL;\n\n this.inputFileHtml = isHorizontal\n ? getHorizontalErrorState(file, this.errorMessage, this.originalUrl, this)\n : getVerticalErrorState(file, this.errorMessage, this.originalUrl, this);\n }\n this.requestUpdate();\n }\n\n private dummyFile = new File(['sdfjbs ewhf'], \"dummy.txt\", { type: \"text/plain\" });\n\n public render(): TemplateResult {\n return html`\n\t\t\t${this.inputFileHtml ?\n\t\t\t\tthis.inputFileHtml :\n\t\t\t\thtml``\n\t\t\t}\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit(FilePreviewEvent.NILE_DESTROY);\n }\n\n /* #endregion */\n}\n\nexport default NileFilePreview;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-file-preview': NileFilePreview;\n }\n}"]}
|
@@ -3,11 +3,12 @@
|
|
3
3
|
*/
|
4
4
|
import './nile-file-preview.css';
|
5
5
|
import { TemplateResult } from 'lit';
|
6
|
+
import { NileFilePreview } from './nile-file-preview';
|
6
7
|
export declare function getHorizontalUploadingState(file: File, uploadStatus: number): TemplateResult;
|
7
8
|
export declare function getHorizontalPreviewState(url: string, file: File, originalUrl: string): TemplateResult;
|
8
9
|
export declare function getHorizontalNoPreviewState(file: File, originalUrl: string): TemplateResult;
|
9
|
-
export declare function getHorizontalErrorState(file: File, errorMessage: string, originalUrl: string): TemplateResult;
|
10
|
+
export declare function getHorizontalErrorState(file: File, errorMessage: string, originalUrl: string, nileFilePreview: NileFilePreview): TemplateResult;
|
10
11
|
export declare function getVerticalUploadingState(file: File, uploadStatus: number): TemplateResult;
|
11
12
|
export declare function getVerticalPreviewState(url: string, file: File, originalUrl: string): TemplateResult;
|
12
13
|
export declare function getVerticalNoPreviewState(file: File, originalUrl: string): TemplateResult;
|
13
|
-
export declare function getVerticalErrorState(file: File, errorMessage: string, originalUrl: string): TemplateResult;
|
14
|
+
export declare function getVerticalErrorState(file: File, errorMessage: string, originalUrl: string, nileFilePreview: NileFilePreview): TemplateResult;
|