@omegagrid/core 0.10.23 → 0.10.25
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/dist/ui/alert.d.ts +4 -0
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +33 -1
- package/dist/ui/alert.js.map +1 -1
- package/package.json +2 -2
package/dist/ui/alert.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
+
import { Button } from './button';
|
|
2
3
|
export type AlertType = 'danger' | 'warning' | 'info' | 'success';
|
|
3
4
|
export declare class AlertEvent extends Event {
|
|
4
5
|
constructor(type: string);
|
|
@@ -9,6 +10,9 @@ export declare class Alert extends LitElement {
|
|
|
9
10
|
icon: string;
|
|
10
11
|
type: AlertType;
|
|
11
12
|
closable: boolean;
|
|
13
|
+
noCopy: boolean;
|
|
14
|
+
btnCopy: Button;
|
|
15
|
+
copy: () => Promise<void>;
|
|
12
16
|
close(dispatchEvent?: boolean): void;
|
|
13
17
|
render: () => import("lit-html").TemplateResult<1>;
|
|
14
18
|
}
|
package/dist/ui/alert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,KAAK,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAC,SAAS,GAAC,MAAM,GAAC,SAAS,CAAC;AAS5D,qBAAa,UAAW,SAAQ,KAAK;gBACxB,IAAI,EAAE,MAAM;CAGxB;AAED,qBACa,KAAM,SAAQ,UAAU;IAEpC,MAAM,CAAC,MAAM,4BAyCX;IAGF,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,SAAS,CAAC;IAGhB,QAAQ,UAAS;IAGjB,MAAM,UAAS;IAGf,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,sBAWH;IAED,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO;IAK7B,MAAM,6CAmBJ;CAEF"}
|
package/dist/ui/alert.js
CHANGED
|
@@ -5,7 +5,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { LitElement, html, css, unsafeCSS } from 'lit';
|
|
8
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
8
|
+
import { customElement, property, query } from 'lit/decorators.js';
|
|
9
|
+
import { msg } from '@omegagrid/localize';
|
|
9
10
|
import { ColorTypes } from '../types';
|
|
10
11
|
import { dom } from '../common';
|
|
11
12
|
const typeMap = {
|
|
@@ -23,6 +24,21 @@ let Alert = class Alert extends LitElement {
|
|
|
23
24
|
constructor() {
|
|
24
25
|
super(...arguments);
|
|
25
26
|
this.closable = false;
|
|
27
|
+
this.noCopy = false;
|
|
28
|
+
this.copy = async () => {
|
|
29
|
+
const content = this.text || this.innerText;
|
|
30
|
+
try {
|
|
31
|
+
await navigator.clipboard.writeText(content);
|
|
32
|
+
this.btnCopy.text = msg('copied');
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error('Failed to copy to clipboard:', error);
|
|
36
|
+
this.btnCopy.text = msg('failed');
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
setTimeout(() => this.btnCopy.text = '', 2000);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
26
42
|
this.render = () => html `
|
|
27
43
|
${this.icon ? html `
|
|
28
44
|
<og-icon .icon="${this.icon}"></og-icon>
|
|
@@ -30,6 +46,15 @@ let Alert = class Alert extends LitElement {
|
|
|
30
46
|
<div id="text">
|
|
31
47
|
${this.text ? html `${this.text}` : html `<slot name="content"></slot>`}
|
|
32
48
|
</div>
|
|
49
|
+
${this.noCopy ? null : html `
|
|
50
|
+
<og-button
|
|
51
|
+
class="copy"
|
|
52
|
+
color="transparent"
|
|
53
|
+
icon="copy"
|
|
54
|
+
title="${msg('Copy to clipboard')}"
|
|
55
|
+
@click="${this.copy}">
|
|
56
|
+
</og-button>
|
|
57
|
+
`}
|
|
33
58
|
${this.closable ? html `
|
|
34
59
|
<div id="close" @click="${() => this.close(true)}">×</div>
|
|
35
60
|
` : ``}
|
|
@@ -58,6 +83,7 @@ Alert.styles = [css `
|
|
|
58
83
|
|
|
59
84
|
#text {
|
|
60
85
|
flex: 1;
|
|
86
|
+
user-select: text;
|
|
61
87
|
}
|
|
62
88
|
|
|
63
89
|
#close {
|
|
@@ -94,6 +120,12 @@ __decorate([
|
|
|
94
120
|
__decorate([
|
|
95
121
|
property({ type: Boolean })
|
|
96
122
|
], Alert.prototype, "closable", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
property({ type: Boolean })
|
|
125
|
+
], Alert.prototype, "noCopy", void 0);
|
|
126
|
+
__decorate([
|
|
127
|
+
query('.copy')
|
|
128
|
+
], Alert.prototype, "btnCopy", void 0);
|
|
97
129
|
Alert = __decorate([
|
|
98
130
|
customElement(`og-alert`)
|
|
99
131
|
], Alert);
|
package/dist/ui/alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/ui/alert.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/ui/alert.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css, unsafeCSS } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { msg } from '@omegagrid/localize';\nimport { Button } from './button';\nimport { ColorTypes } from '../types';\nimport { dom } from '../common';\n\nexport type AlertType = 'danger'|'warning'|'info'|'success';\n\nconst typeMap: Record<AlertType, ColorTypes> = {\n\t'danger': ColorTypes.Red,\n\t'warning': ColorTypes.Yellow,\n\t'info': ColorTypes.Blue,\n\t'success': ColorTypes.Green\n};\n\nexport class AlertEvent extends Event {\n\tconstructor(type: string) {\n\t\tsuper(`alert.${type}`, {bubbles: true, composed: true});\n\t}\n}\n\n@customElement(`og-alert`)\nexport class Alert extends LitElement {\n\n\tstatic styles = [css`\n\t\t:host {\n\t\t\tfont-size: var(--og-font-size);\n\t\t\tpadding: 5px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tgap: 5px;\n\t\t\tborder-radius: var(--og-base-radius);\n\t\t}\n\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\t#text {\n\t\t\tflex: 1;\n\t\t\tuser-select: text;\n\t\t}\n\n\t\t#close {\n\t\t\tmin-width: 16px;\n\t\t\theight: 16px;\n\t\t\tline-height: 16px;\n\t\t\tflex: 0;\n\t\t\tborder-radius: 50%;\n\t\t\tcursor: pointer;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t#close:hover {\n\t\t\tbackground-color: #000000;\n\t\t\topacity: 0.5;\n\t\t}\n\t\t`, ...Array.from(Object.keys(typeMap)).map(key => css`\n\t\t\t:host([type=\"${unsafeCSS(key)}\"]) {\n\t\t\t\tcolor: var(--og-colortype-${unsafeCSS(typeMap[key as AlertType])}-text-color);\n\t\t\t\tbackground-color: var(--og-colortype-${unsafeCSS(typeMap[key as AlertType])}-background-color);\n\t\t\t\tborder: 1px solid var(--og-colortype-${unsafeCSS(typeMap[key as AlertType])}-border-color);\n\t\t\t}\n\t\t`)\n\t];\n\n\t@property({type: String})\n\ttext: string;\n\n\t@property({type: String})\n\ticon: string;\n\n\t@property({type: String, reflect: true})\n\ttype: AlertType;\n\n\t@property({type: Boolean})\n\tclosable = false;\n\n\t@property({type: Boolean})\n\tnoCopy = false;\n\n\t@query('.copy')\n\tbtnCopy: Button;\n\n\tcopy = async () => {\n\t\tconst content = this.text || this.innerText;\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(content);\n\t\t\tthis.btnCopy.text = msg('copied');\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to copy to clipboard:', error);\n\t\t\tthis.btnCopy.text = msg('failed');\n\t\t} finally {\n\t\t\tsetTimeout(() => this.btnCopy.text = '', 2000);\n\t\t}\n\t}\n\n\tclose(dispatchEvent?: boolean) {\n\t\tdom.remove(this);\n\t\tif (dispatchEvent) this.dispatchEvent(new AlertEvent('close'));\n\t}\n\n\trender = () => html`\n\t\t${this.icon ? html`\n\t\t\t<og-icon .icon=\"${this.icon}\"></og-icon>\n\t\t` : ''}\n\t\t<div id=\"text\">\n\t\t\t${this.text ? html`${this.text}` : html`<slot name=\"content\"></slot>`}\n\t\t</div>\n\t\t${this.noCopy ? null : html`\n\t\t\t<og-button\n\t\t\t\tclass=\"copy\"\n\t\t\t\tcolor=\"transparent\"\n\t\t\t\ticon=\"copy\"\n\t\t\t\ttitle=\"${msg('Copy to clipboard')}\"\n\t\t\t\t@click=\"${this.copy}\">\n\t\t\t</og-button>\n\t\t`}\n\t\t${this.closable ? html`\n\t\t\t<div id=\"close\" @click=\"${() => this.close(true)}\">×</div>\n\t\t` : ``}\n\t`;\n\t\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/core",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.25",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Core components",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@fortawesome/fontawesome-svg-core": "^7.0.1",
|
|
39
|
-
"@omegagrid/localize": "^0.10.
|
|
39
|
+
"@omegagrid/localize": "^0.10.25",
|
|
40
40
|
"color": "^4.2.3",
|
|
41
41
|
"date-fns": "^3.2.0",
|
|
42
42
|
"lit": "^3.1.1",
|