@digipair/skill-web-inputs 0.90.0 → 0.91.0-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/.swcrc +28 -0
- package/README.md +7 -0
- package/eslint.config.mjs +22 -0
- package/package.json +21 -5
- package/rollup.config.cjs +28 -0
- package/src/lib/input-dom-attribute.element.ts +45 -0
- package/src/lib/input-element.element.ts +189 -0
- package/src/lib/input-fetch.element.ts +38 -0
- package/src/lib/input-file.element.ts +101 -0
- package/src/lib/input-hidden.element.ts +15 -0
- package/src/lib/input-json.element.ts +101 -0
- package/src/lib/input-text.element.ts +101 -0
- package/src/lib/skill-web-inputs.spec.ts +7 -0
- package/src/lib/tools/css-selector.ts +12 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +19 -0
- package/index.cjs.d.ts +0 -1
- package/index.cjs.js +0 -3944
- package/index.esm.js +0 -3934
- package/libs/skill-web-inputs/src/lib/input-dom-attribute.element.d.ts +0 -11
- package/libs/skill-web-inputs/src/lib/input-element.element.d.ts +0 -17
- package/libs/skill-web-inputs/src/lib/input-fetch.element.d.ts +0 -11
- package/libs/skill-web-inputs/src/lib/input-file.element.d.ts +0 -15
- package/libs/skill-web-inputs/src/lib/input-hidden.element.d.ts +0 -6
- package/libs/skill-web-inputs/src/lib/input-json.element.d.ts +0 -15
- package/libs/skill-web-inputs/src/lib/input-text.element.d.ts +0 -15
- package/libs/skill-web-inputs/src/lib/tools/css-selector.d.ts +0 -1
- /package/{index.d.ts → src/index.d.ts} +0 -0
- /package/{libs/skill-web-inputs/src/index.d.ts → src/index.ts} +0 -0
- /package/{libs/skill-web-inputs/src/lib/skill-web-inputs.d.ts → src/lib/skill-web-inputs.ts} +0 -0
- /package/{schema.fr.json → src/schema.fr.json} +0 -0
- /package/{schema.json → src/schema.json} +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { LitElement, TemplateResult, css, html } from 'lit';
|
|
2
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
@customElement('digipair-input-text')
|
|
5
|
+
export class InputTextElement extends LitElement {
|
|
6
|
+
@property()
|
|
7
|
+
label = 'Upload';
|
|
8
|
+
|
|
9
|
+
@property()
|
|
10
|
+
accept = '.txt';
|
|
11
|
+
|
|
12
|
+
@property()
|
|
13
|
+
multiple = false;
|
|
14
|
+
|
|
15
|
+
@property()
|
|
16
|
+
required = true;
|
|
17
|
+
|
|
18
|
+
@state()
|
|
19
|
+
private state = 'unloaded';
|
|
20
|
+
|
|
21
|
+
@state()
|
|
22
|
+
private _content = 'no file selected';
|
|
23
|
+
get content() {
|
|
24
|
+
return this._content;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
private _value: any = '';
|
|
28
|
+
get value(): any {
|
|
29
|
+
return this._value;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static override styles = css`
|
|
33
|
+
.download {
|
|
34
|
+
padding: 10px 15px;
|
|
35
|
+
margin-bottom: 10px;
|
|
36
|
+
line-height: 1.4;
|
|
37
|
+
border: 1px solid var(--digipair-color-primary, #52dfdb);
|
|
38
|
+
color: var(--digipair-color-primary, #52dfdb);
|
|
39
|
+
align-self: flex-start;
|
|
40
|
+
margin-right: auto;
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.download ui5-icon {
|
|
45
|
+
color: var(--digipair-color-secondary, #52dfdb);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.download.unloaded ui5-icon {
|
|
49
|
+
color: var(--digipair-color-primary, #52dfdb);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.download p {
|
|
53
|
+
text-align: center;
|
|
54
|
+
font-size: 12px;
|
|
55
|
+
margin: 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.download.unloaded {
|
|
59
|
+
cursor: pointer;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.download.loaded ui5-icon {
|
|
63
|
+
float: left;
|
|
64
|
+
}
|
|
65
|
+
`;
|
|
66
|
+
|
|
67
|
+
private loadFile() {
|
|
68
|
+
const input = document.createElement('input');
|
|
69
|
+
input.type = 'file';
|
|
70
|
+
input.multiple = this.multiple;
|
|
71
|
+
input.accept = this.accept;
|
|
72
|
+
input.onchange = (event: any) => {
|
|
73
|
+
const files = event.target.files;
|
|
74
|
+
const file = files[0];
|
|
75
|
+
const reader = new FileReader();
|
|
76
|
+
reader.readAsText(file);
|
|
77
|
+
reader.onload = () => {
|
|
78
|
+
this._value = reader.result as string;
|
|
79
|
+
this._content = `> ${file.name}`;
|
|
80
|
+
this.state = 'loaded';
|
|
81
|
+
this.dispatchEvent(new CustomEvent('change', { detail: { value: this.value } }));
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
input.click();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
override render(): TemplateResult {
|
|
88
|
+
return html`
|
|
89
|
+
<section
|
|
90
|
+
class="download ${this.state}"
|
|
91
|
+
@click=${() => (['unloaded', 'loaded'].indexOf(this.state) >= 0 ? this.loadFile() : void 0)}
|
|
92
|
+
>
|
|
93
|
+
${this.state === 'loaded'
|
|
94
|
+
? html` <ui5-icon name="attachment"></ui5-icon>
|
|
95
|
+
<p>${this.label}<br />${this._content}</p>`
|
|
96
|
+
: html` <ui5-icon name="add-document"></ui5-icon>
|
|
97
|
+
<p>${this.label}</p>`}
|
|
98
|
+
</section>
|
|
99
|
+
`;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import getCssSelectorOrigin from 'css-selector-generator';
|
|
2
|
+
|
|
3
|
+
function unescapeCSS(cssEscapedString: any) {
|
|
4
|
+
return cssEscapedString.replace(/\\([0-9A-Fa-f]{1,6})\s?/g, (_match: any, charCode: any) =>
|
|
5
|
+
String.fromCharCode(parseInt(charCode, 16))
|
|
6
|
+
).replace(/\\/g, '');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default function getCssSelector(element: any, options: any = {}) {
|
|
10
|
+
const selector = getCssSelectorOrigin(element, options);
|
|
11
|
+
return unescapeCSS(selector);
|
|
12
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "src",
|
|
5
|
+
"outDir": "dist",
|
|
6
|
+
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
|
7
|
+
"emitDeclarationOnly": true,
|
|
8
|
+
"module": "esnext",
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"types": ["node"]
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*.ts"],
|
|
14
|
+
"references": [
|
|
15
|
+
{
|
|
16
|
+
"path": "../engine/tsconfig.lib.json"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
package/index.cjs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./src/index";
|