@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.
Files changed (32) hide show
  1. package/.swcrc +28 -0
  2. package/README.md +7 -0
  3. package/eslint.config.mjs +22 -0
  4. package/package.json +21 -5
  5. package/rollup.config.cjs +28 -0
  6. package/src/lib/input-dom-attribute.element.ts +45 -0
  7. package/src/lib/input-element.element.ts +189 -0
  8. package/src/lib/input-fetch.element.ts +38 -0
  9. package/src/lib/input-file.element.ts +101 -0
  10. package/src/lib/input-hidden.element.ts +15 -0
  11. package/src/lib/input-json.element.ts +101 -0
  12. package/src/lib/input-text.element.ts +101 -0
  13. package/src/lib/skill-web-inputs.spec.ts +7 -0
  14. package/src/lib/tools/css-selector.ts +12 -0
  15. package/tsconfig.json +13 -0
  16. package/tsconfig.lib.json +19 -0
  17. package/index.cjs.d.ts +0 -1
  18. package/index.cjs.js +0 -3944
  19. package/index.esm.js +0 -3934
  20. package/libs/skill-web-inputs/src/lib/input-dom-attribute.element.d.ts +0 -11
  21. package/libs/skill-web-inputs/src/lib/input-element.element.d.ts +0 -17
  22. package/libs/skill-web-inputs/src/lib/input-fetch.element.d.ts +0 -11
  23. package/libs/skill-web-inputs/src/lib/input-file.element.d.ts +0 -15
  24. package/libs/skill-web-inputs/src/lib/input-hidden.element.d.ts +0 -6
  25. package/libs/skill-web-inputs/src/lib/input-json.element.d.ts +0 -15
  26. package/libs/skill-web-inputs/src/lib/input-text.element.d.ts +0 -15
  27. package/libs/skill-web-inputs/src/lib/tools/css-selector.d.ts +0 -1
  28. /package/{index.d.ts → src/index.d.ts} +0 -0
  29. /package/{libs/skill-web-inputs/src/index.d.ts → src/index.ts} +0 -0
  30. /package/{libs/skill-web-inputs/src/lib/skill-web-inputs.d.ts → src/lib/skill-web-inputs.ts} +0 -0
  31. /package/{schema.fr.json → src/schema.fr.json} +0 -0
  32. /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,7 @@
1
+ import { skillWebInputs } from './skill-web-inputs';
2
+
3
+ describe('skillWebInputs', () => {
4
+ it('should work', () => {
5
+ expect(skillWebInputs()).toEqual('skill-web-inputs');
6
+ });
7
+ });
@@ -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,13 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "files": [],
4
+ "include": [],
5
+ "references": [
6
+ {
7
+ "path": "../engine"
8
+ },
9
+ {
10
+ "path": "./tsconfig.lib.json"
11
+ }
12
+ ]
13
+ }
@@ -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";