@dropi/ui-components 1.0.1 → 1.0.3
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/README.md +146 -0
- package/dist/components-source/dropi-button/dropi-button.component.d.ts +27 -0
- package/dist/components-source/icon/icon.component.d.ts +16 -0
- package/dist/esm2022/components-source/dropi-button/dropi-button.component.mjs +82 -0
- package/dist/esm2022/components-source/icon/icon.component.mjs +54 -0
- package/dist/esm2022/dropi-ui-components.mjs +5 -0
- package/dist/esm2022/index.mjs +12 -0
- package/dist/esm2022/lib/elements-registry.mjs +56 -0
- package/dist/esm2022/lib/elements.module.mjs +29 -0
- package/dist/fesm2022/dropi-ui-components.mjs +228 -0
- package/dist/fesm2022/dropi-ui-components.mjs.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/lib/elements-registry.d.ts +44 -0
- package/dist/lib/elements.module.d.ts +13 -0
- package/package.json +19 -1
- package/CONTRIBUTING.md +0 -188
- package/MIGRATION_STEPS.md +0 -39
- package/PUBLISH_CHECKLIST.md +0 -97
- package/QUICK_START.md +0 -108
- package/jest.config.ts +0 -21
- package/ng-package.json +0 -8
- package/project.json +0 -48
- package/publish-npm.sh +0 -81
- package/publish.sh +0 -113
- package/tsconfig.json +0 -28
- package/tsconfig.lib.json +0 -18
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -12
package/dist/README.md
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# @dropi/ui-components
|
|
2
|
+
|
|
3
|
+
> Framework-agnostic Web Components library built with Angular Elements
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@dropi/ui-components)
|
|
6
|
+
[](./LICENSE)
|
|
7
|
+
|
|
8
|
+
## 📦 Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @dropi/ui-components
|
|
12
|
+
# or
|
|
13
|
+
yarn add @dropi/ui-components
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 🚀 Quick Start
|
|
17
|
+
|
|
18
|
+
### HTML / Vanilla JS
|
|
19
|
+
|
|
20
|
+
```html
|
|
21
|
+
<!DOCTYPE html>
|
|
22
|
+
<html>
|
|
23
|
+
<head>
|
|
24
|
+
<link
|
|
25
|
+
rel="stylesheet"
|
|
26
|
+
href="node_modules/@dropi/ui-components/dropi-tokens.css"
|
|
27
|
+
/>
|
|
28
|
+
<script
|
|
29
|
+
src="node_modules/@dropi/ui-components/index.js"
|
|
30
|
+
type="module"
|
|
31
|
+
></script>
|
|
32
|
+
</head>
|
|
33
|
+
<body>
|
|
34
|
+
<dropi-button type="primary" text="Click Me"></dropi-button>
|
|
35
|
+
<dropi-alert state="success" message="Success!"></dropi-alert>
|
|
36
|
+
</body>
|
|
37
|
+
</html>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### React
|
|
41
|
+
|
|
42
|
+
```jsx
|
|
43
|
+
import "@dropi/ui-components/dropi-tokens.css";
|
|
44
|
+
import "@dropi/ui-components";
|
|
45
|
+
|
|
46
|
+
function App() {
|
|
47
|
+
return (
|
|
48
|
+
<>
|
|
49
|
+
<dropi-button type="primary" text="React Button" />
|
|
50
|
+
<dropi-alert state="info" message="Works in React!" />
|
|
51
|
+
</>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Vue 3
|
|
57
|
+
|
|
58
|
+
```vue
|
|
59
|
+
<template>
|
|
60
|
+
<dropi-button type="primary" text="Vue Button" />
|
|
61
|
+
<dropi-alert state="success" message="Works in Vue!" />
|
|
62
|
+
</template>
|
|
63
|
+
|
|
64
|
+
<script setup>
|
|
65
|
+
import "@dropi/ui-components/dropi-tokens.css";
|
|
66
|
+
import "@dropi/ui-components";
|
|
67
|
+
</script>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**vite.config.js:**
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
export default {
|
|
74
|
+
plugins: [
|
|
75
|
+
vue({
|
|
76
|
+
template: {
|
|
77
|
+
compilerOptions: {
|
|
78
|
+
isCustomElement: (tag) => tag.startsWith("dropi-"),
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
}),
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Angular
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
// main.ts or app.module.ts
|
|
90
|
+
import '@dropi/ui-components/dropi-tokens.css';
|
|
91
|
+
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
92
|
+
|
|
93
|
+
@NgModule({
|
|
94
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
95
|
+
})
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## 📚 Components
|
|
99
|
+
|
|
100
|
+
- `<dropi-button>` - Button with variants
|
|
101
|
+
- `<dropi-alert>` - Alerts (success/info/warning/error)
|
|
102
|
+
- `<dropi-tag>` - Tags with colors
|
|
103
|
+
- `<dropi-input>` - Text input with validation
|
|
104
|
+
- `<dropi-search>` - Search input
|
|
105
|
+
- `<dropi-switch>` - Toggle switch
|
|
106
|
+
- [See all 33 components →](https://ui.dropi.co)
|
|
107
|
+
|
|
108
|
+
## ⚠️ Important
|
|
109
|
+
|
|
110
|
+
Always import `dropi-tokens.css` **before** the JavaScript:
|
|
111
|
+
|
|
112
|
+
```javascript
|
|
113
|
+
// ✅ CORRECT
|
|
114
|
+
import "@dropi/ui-components/dropi-tokens.css"; // First
|
|
115
|
+
import "@dropi/ui-components"; // Second
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 📖 Documentation
|
|
119
|
+
|
|
120
|
+
- [Full Documentation](https://ui.dropi.co)
|
|
121
|
+
- [Storybook](https://ui.dropi.co)
|
|
122
|
+
- [Migration Guide](./MIGRATION.md)
|
|
123
|
+
|
|
124
|
+
## 🛠️ Development
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Install dependencies
|
|
128
|
+
npm install
|
|
129
|
+
|
|
130
|
+
# Build library
|
|
131
|
+
npm run build:complete
|
|
132
|
+
|
|
133
|
+
# Watch mode
|
|
134
|
+
npm run watch
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 📄 License
|
|
138
|
+
|
|
139
|
+
Proprietary - Dropi
|
|
140
|
+
|
|
141
|
+
## 🤝 Contributing
|
|
142
|
+
|
|
143
|
+
This is a private package for Dropi projects. For issues or questions, contact the UI team.
|
|
144
|
+
# ui-components
|
|
145
|
+
# ui-components
|
|
146
|
+
# ui-components
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type ButtonType = "legacy" | "default" | "success" | "info" | "error" | "warning" | "dropdown";
|
|
4
|
+
export type ButtonSeverity = "primary" | "secondary" | "tertiary";
|
|
5
|
+
export type ButtonSize = "large" | "normal" | "small";
|
|
6
|
+
export type ButtonState = "default" | "disabled" | "loading";
|
|
7
|
+
export declare class ButtonComponent {
|
|
8
|
+
type: ButtonType;
|
|
9
|
+
severity: ButtonSeverity;
|
|
10
|
+
size: ButtonSize;
|
|
11
|
+
state: ButtonState;
|
|
12
|
+
preIcon: string;
|
|
13
|
+
postIcon: string;
|
|
14
|
+
text: string;
|
|
15
|
+
onClick: EventEmitter<Event>;
|
|
16
|
+
colorload: string;
|
|
17
|
+
colorMap: {
|
|
18
|
+
[key: string]: string;
|
|
19
|
+
};
|
|
20
|
+
get iconSize(): string;
|
|
21
|
+
get color(): string;
|
|
22
|
+
get fontColor(): string;
|
|
23
|
+
get svgColor(): string;
|
|
24
|
+
handleClick(event: Event): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "dropi-wc-button", never, { "type": { "alias": "type"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "size": { "alias": "size"; "required": false; }; "state": { "alias": "state"; "required": false; }; "preIcon": { "alias": "preIcon"; "required": false; }; "postIcon": { "alias": "postIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementRef, Renderer2, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class IconComponent implements OnInit, OnChanges {
|
|
4
|
+
private el;
|
|
5
|
+
private renderer;
|
|
6
|
+
name: string;
|
|
7
|
+
width: string;
|
|
8
|
+
height: string;
|
|
9
|
+
color: string;
|
|
10
|
+
constructor(el: ElementRef, renderer: Renderer2);
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
13
|
+
setColors(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "app-icon", never, { "name": { "alias": "name"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { IconComponent } from "../icon/icon.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
// @figma-node 2-381
|
|
7
|
+
export class ButtonComponent {
|
|
8
|
+
type = "default";
|
|
9
|
+
severity = "primary";
|
|
10
|
+
size = "normal";
|
|
11
|
+
state = "default";
|
|
12
|
+
preIcon = "";
|
|
13
|
+
postIcon = "";
|
|
14
|
+
text = "";
|
|
15
|
+
onClick = new EventEmitter();
|
|
16
|
+
colorload = "var(--Primary-Primary-500)";
|
|
17
|
+
colorMap = {
|
|
18
|
+
default: "Primary-Primary-",
|
|
19
|
+
success: "Success-Success-",
|
|
20
|
+
error: "Error-Error-",
|
|
21
|
+
info: "Info-Info-",
|
|
22
|
+
legacy: "Secondary-Secondary-",
|
|
23
|
+
warning: "Warning-Warning-",
|
|
24
|
+
};
|
|
25
|
+
get iconSize() {
|
|
26
|
+
switch (this.size) {
|
|
27
|
+
case "large":
|
|
28
|
+
return "24px";
|
|
29
|
+
case "small":
|
|
30
|
+
return "16px";
|
|
31
|
+
default:
|
|
32
|
+
return "18px"; // Tamaño por defecto (normal)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
get color() {
|
|
36
|
+
let intensity = this.state === "disabled" ? "300" : "500";
|
|
37
|
+
return this.colorMap[this.type] + intensity;
|
|
38
|
+
}
|
|
39
|
+
get fontColor() {
|
|
40
|
+
switch (this.severity) {
|
|
41
|
+
case "tertiary":
|
|
42
|
+
return this.type === "default" || this.type === "legacy"
|
|
43
|
+
? "Gray-Gray-500"
|
|
44
|
+
: this.color;
|
|
45
|
+
case "secondary":
|
|
46
|
+
return this.color;
|
|
47
|
+
default:
|
|
48
|
+
return "Neutral-White";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get svgColor() {
|
|
52
|
+
return `var(--${this.fontColor})`;
|
|
53
|
+
}
|
|
54
|
+
handleClick(event) {
|
|
55
|
+
if (this.state !== "disabled" && this.state !== "loading") {
|
|
56
|
+
this.onClick.emit(event);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "dropi-wc-button", inputs: { type: "type", severity: "severity", size: "size", state: "state", preIcon: "preIcon", postIcon: "postIcon", text: "text" }, outputs: { onClick: "onClick" }, host: { attributes: { "data-figma-node": "2-381" } }, ngImport: i0, template: "<button\n class=\"btn\"\n [ngClass]=\"[!text ? 'without-text' : '', severity, type, size, state]\"\n [disabled]=\"state === 'disabled' || state === 'loading'\"\n (click)=\"handleClick($event)\"\n>\n <app-icon\n *ngIf=\"preIcon !== ''\"\n [name]=\"preIcon\"\n [width]=\"iconSize\"\n [height]=\"iconSize\"\n [color]=\"fontColor\"\n ></app-icon>\n <span *ngIf=\"text !== ''\" class=\"text\">{{ text }}</span>\n <app-icon\n *ngIf=\"postIcon !== '' || type === 'dropdown'\"\n [name]=\"type == 'dropdown' ? 'Dropdown-down' : postIcon\"\n [width]=\"iconSize\"\n [height]=\"iconSize\"\n [color]=\"fontColor\"\n ></app-icon>\n <svg\n *ngIf=\"state === 'loading'\"\n class=\"spin\"\n [attr.width]=\"iconSize\"\n [attr.height]=\"iconSize\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.8 12C23.4627 12 24.0062 11.4614 23.9401 10.802C23.8232 9.6371 23.5362 8.49339 23.0866 7.4078C22.4835 5.95189 21.5996 4.62902 20.4853 3.51472C19.371 2.40042 18.0481 1.5165 16.5922 0.913445C15.5066 0.463778 14.3629 0.17683 13.198 0.0599502C12.5386 -0.00621439 12 0.537258 12 1.2C12 1.86274 12.5393 2.39227 13.1969 2.4749C14.0463 2.58164 14.8795 2.80176 15.6738 3.13076C16.8385 3.6132 17.8968 4.32033 18.7882 5.21177C19.6797 6.10322 20.3868 7.16151 20.8692 8.32624C21.1982 9.12051 21.4184 9.95367 21.5251 10.8031C21.6077 11.4607 22.1373 12 22.8 12Z\"\n [attr.fill]=\"svgColor\"\n />\n </svg>\n <ng-content></ng-content>\n</button>\n", styles: [".without-text{gap:0!important}.btn{box-sizing:border-box!important;all:unset;display:inline-flex;align-items:center;justify-content:center;gap:var(--Size-1);border-radius:var(--Border-2);font-weight:700;min-width:33px;line-height:110%;cursor:pointer;white-space:nowrap;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.btn:active{transition:transform .01s ease-out;transform:scale(.98)}.btn:hover:not(:active){transform:scale(1.01)}.btn.disabled,.btn.loading{cursor:not-allowed;pointer-events:none}.btn.large{padding:var(--Size-4);font-size:var(--Size-4);height:48px}.btn.normal{padding:var(--Size-3);font-size:var(--font-size-s);height:40px}.btn.small{padding:var(--Size-2);font-size:var(--Size-3);height:29px}.btn.primary.disabled.default{background:var(--Primary-Primary-300);color:var(--Neutral-White)}.btn.primary.disabled.success{background:var(--Success-Success-300);color:var(--Neutral-White)}.btn.primary.disabled.info{background:var(--Info-Info-300);color:var(--Neutral-White)}.btn.primary.disabled.error{background:var(--Error-Error-300);color:var(--Neutral-White)}.btn.primary.disabled.warning{background:var(--Warning-Warning-300);color:var(--Neutral-White)}.btn.primary.disabled.legacy{background:var(--Secondary-Secondary-300);color:var(--Neutral-White)}.btn.primary.default{background:var(--Primary-Primary-500);color:var(--Neutral-White)}.btn.primary.default:hover{background:var(--Primary-Primary-600)}.btn.primary.success{background:var(--Success-Success-500);color:var(--Neutral-White)}.btn.primary.success:hover{background:var(--Success-Success-600)}.btn.primary.info{background:var(--Info-Info-500);color:var(--Neutral-White)}.btn.primary.info:hover{background:var(--Info-Info-600)}.btn.primary.error{background:var(--Error-Error-500);color:var(--Neutral-White)}.btn.primary.error:hover{background:var(--Error-Error-600)}.btn.primary.warning{background:var(--Warning-Warning-500);color:var(--Neutral-White)}.btn.primary.warning:hover{background:var(--Warning-Warning-600)}.btn.primary.legacy{background:var(--Secondary-Secondary-500);color:var(--Neutral-White)}.btn.primary.legacy:hover{background:var(--Secondary-Secondary-600)}.btn.secondary{background:var(--Neutral-White);border:1px solid}.btn.secondary.disabled{background:var(--Neutral-White)}.btn.secondary.disabled.default{border-color:var(--Primary-Primary-300);color:var(--Primary-Primary-300)}.btn.secondary.disabled.success{border-color:var(--Success-Success-300);color:var(--Success-Success-300)}.btn.secondary.disabled.info{border-color:var(--Info-Info-300);color:var(--Info-Info-300)}.btn.secondary.disabled.error{border-color:var(--Error-Error-300);color:var(--Error-Error-300)}.btn.secondary.disabled.warning{border-color:var(--Warning-Warning-300);color:var(--Warning-Warning-300)}.btn.secondary.disabled.legacy{border-color:var(--Secondary-Secondary-300);color:var(--Secondary-Secondary-300)}.btn.secondary.default{border-color:var(--Primary-Primary-500);color:var(--Primary-Primary-500)}.btn.secondary.default:hover{color:var(--Primary-Primary-600);border-color:var(--Primary-Primary-600)}.btn.secondary.success{border-color:var(--Success-Success-500);color:var(--Success-Success-500)}.btn.secondary.success:hover{color:var(--Success-Success-600);border-color:var(--Success-Success-600)}.btn.secondary.info{border-color:var(--Info-Info-500);color:var(--Info-Info-500)}.btn.secondary.info:hover{color:var(--Info-Info-600);border-color:var(--Info-Info-600)}.btn.secondary.error{border-color:var(--Error-Error-500);color:var(--Error-Error-500)}.btn.secondary.error:hover{color:var(--Error-Error-600);border-color:var(--Error-Error-600)}.btn.secondary.warning{border-color:var(--Warning-Warning-500);color:var(--Warning-Warning-500)}.btn.secondary.warning:hover{color:var(--Warning-Warning-600);border-color:var(--Warning-Warning-600)}.btn.secondary.legacy{border-color:var(--Secondary-Secondary-500);color:var(--Secondary-Secondary-500)}.btn.secondary.legacy:hover{color:var(--Secondary-Secondary-600);border-color:var(--Secondary-Secondary-600)}.btn.tertiary{background:none!important;border:none}.btn.tertiary.disabled{background:none!important}.btn.tertiary.disabled.default{color:var(--Primary-Primary-300)}.btn.tertiary.disabled.success{color:var(--Success-Success-300)}.btn.tertiary.disabled.info{color:var(--Info-Info-300)}.btn.tertiary.disabled.error{color:var(--Error-Error-300)}.btn.tertiary.disabled.warning{color:var(--Warning-Warning-300)}.btn.tertiary.disabled.legacy{color:var(--Secondary-Secondary-300)}.btn.tertiary.disabled.default,.btn.tertiary.disabled.legacy{border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-400)}.btn.tertiary.default,.btn.tertiary.legacy{border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-500)}.btn.tertiary.default:hover,.btn.tertiary.legacy:hover{border:1px solid var(--Gray-Gray-400);color:var(--Gray-Gray-600)}.btn.tertiary.success{color:var(--Success-Success-500);border:none}.btn.tertiary.success:hover{background:var(--Success-Success-50);color:var(--Success-Success-500);border:none}.btn.tertiary.info{color:var(--Info-Info-500);border:none}.btn.tertiary.info:hover{background:var(--Info-Info-50);color:var(--Info-Info-500);border:none}.btn.tertiary.error{color:var(--Error-Error-500);border:none}.btn.tertiary.error:hover{background:var(--Error-Error-50);color:var(--Error-Error-500);border:none}.btn.tertiary.warning{color:var(--Warning-Warning-500);border:none}.btn.tertiary.warning:hover{background:var(--Warning-Warning-50);color:var(--Warning-Warning-500);border:none}.btn.tertiary.dropdown{color:var(--Gray-Gray-500);border:none;background:transparent;font-weight:400;font-size:14px}.btn.tertiary.dropdown:hover{color:var(--Gray-Gray-500);border:none}.btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }] });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: "dropi-wc-button", standalone: true, imports: [CommonModule, IconComponent], host: { "data-figma-node": "2-381" }, template: "<button\n class=\"btn\"\n [ngClass]=\"[!text ? 'without-text' : '', severity, type, size, state]\"\n [disabled]=\"state === 'disabled' || state === 'loading'\"\n (click)=\"handleClick($event)\"\n>\n <app-icon\n *ngIf=\"preIcon !== ''\"\n [name]=\"preIcon\"\n [width]=\"iconSize\"\n [height]=\"iconSize\"\n [color]=\"fontColor\"\n ></app-icon>\n <span *ngIf=\"text !== ''\" class=\"text\">{{ text }}</span>\n <app-icon\n *ngIf=\"postIcon !== '' || type === 'dropdown'\"\n [name]=\"type == 'dropdown' ? 'Dropdown-down' : postIcon\"\n [width]=\"iconSize\"\n [height]=\"iconSize\"\n [color]=\"fontColor\"\n ></app-icon>\n <svg\n *ngIf=\"state === 'loading'\"\n class=\"spin\"\n [attr.width]=\"iconSize\"\n [attr.height]=\"iconSize\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.8 12C23.4627 12 24.0062 11.4614 23.9401 10.802C23.8232 9.6371 23.5362 8.49339 23.0866 7.4078C22.4835 5.95189 21.5996 4.62902 20.4853 3.51472C19.371 2.40042 18.0481 1.5165 16.5922 0.913445C15.5066 0.463778 14.3629 0.17683 13.198 0.0599502C12.5386 -0.00621439 12 0.537258 12 1.2C12 1.86274 12.5393 2.39227 13.1969 2.4749C14.0463 2.58164 14.8795 2.80176 15.6738 3.13076C16.8385 3.6132 17.8968 4.32033 18.7882 5.21177C19.6797 6.10322 20.3868 7.16151 20.8692 8.32624C21.1982 9.12051 21.4184 9.95367 21.5251 10.8031C21.6077 11.4607 22.1373 12 22.8 12Z\"\n [attr.fill]=\"svgColor\"\n />\n </svg>\n <ng-content></ng-content>\n</button>\n", styles: [".without-text{gap:0!important}.btn{box-sizing:border-box!important;all:unset;display:inline-flex;align-items:center;justify-content:center;gap:var(--Size-1);border-radius:var(--Border-2);font-weight:700;min-width:33px;line-height:110%;cursor:pointer;white-space:nowrap;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.btn:active{transition:transform .01s ease-out;transform:scale(.98)}.btn:hover:not(:active){transform:scale(1.01)}.btn.disabled,.btn.loading{cursor:not-allowed;pointer-events:none}.btn.large{padding:var(--Size-4);font-size:var(--Size-4);height:48px}.btn.normal{padding:var(--Size-3);font-size:var(--font-size-s);height:40px}.btn.small{padding:var(--Size-2);font-size:var(--Size-3);height:29px}.btn.primary.disabled.default{background:var(--Primary-Primary-300);color:var(--Neutral-White)}.btn.primary.disabled.success{background:var(--Success-Success-300);color:var(--Neutral-White)}.btn.primary.disabled.info{background:var(--Info-Info-300);color:var(--Neutral-White)}.btn.primary.disabled.error{background:var(--Error-Error-300);color:var(--Neutral-White)}.btn.primary.disabled.warning{background:var(--Warning-Warning-300);color:var(--Neutral-White)}.btn.primary.disabled.legacy{background:var(--Secondary-Secondary-300);color:var(--Neutral-White)}.btn.primary.default{background:var(--Primary-Primary-500);color:var(--Neutral-White)}.btn.primary.default:hover{background:var(--Primary-Primary-600)}.btn.primary.success{background:var(--Success-Success-500);color:var(--Neutral-White)}.btn.primary.success:hover{background:var(--Success-Success-600)}.btn.primary.info{background:var(--Info-Info-500);color:var(--Neutral-White)}.btn.primary.info:hover{background:var(--Info-Info-600)}.btn.primary.error{background:var(--Error-Error-500);color:var(--Neutral-White)}.btn.primary.error:hover{background:var(--Error-Error-600)}.btn.primary.warning{background:var(--Warning-Warning-500);color:var(--Neutral-White)}.btn.primary.warning:hover{background:var(--Warning-Warning-600)}.btn.primary.legacy{background:var(--Secondary-Secondary-500);color:var(--Neutral-White)}.btn.primary.legacy:hover{background:var(--Secondary-Secondary-600)}.btn.secondary{background:var(--Neutral-White);border:1px solid}.btn.secondary.disabled{background:var(--Neutral-White)}.btn.secondary.disabled.default{border-color:var(--Primary-Primary-300);color:var(--Primary-Primary-300)}.btn.secondary.disabled.success{border-color:var(--Success-Success-300);color:var(--Success-Success-300)}.btn.secondary.disabled.info{border-color:var(--Info-Info-300);color:var(--Info-Info-300)}.btn.secondary.disabled.error{border-color:var(--Error-Error-300);color:var(--Error-Error-300)}.btn.secondary.disabled.warning{border-color:var(--Warning-Warning-300);color:var(--Warning-Warning-300)}.btn.secondary.disabled.legacy{border-color:var(--Secondary-Secondary-300);color:var(--Secondary-Secondary-300)}.btn.secondary.default{border-color:var(--Primary-Primary-500);color:var(--Primary-Primary-500)}.btn.secondary.default:hover{color:var(--Primary-Primary-600);border-color:var(--Primary-Primary-600)}.btn.secondary.success{border-color:var(--Success-Success-500);color:var(--Success-Success-500)}.btn.secondary.success:hover{color:var(--Success-Success-600);border-color:var(--Success-Success-600)}.btn.secondary.info{border-color:var(--Info-Info-500);color:var(--Info-Info-500)}.btn.secondary.info:hover{color:var(--Info-Info-600);border-color:var(--Info-Info-600)}.btn.secondary.error{border-color:var(--Error-Error-500);color:var(--Error-Error-500)}.btn.secondary.error:hover{color:var(--Error-Error-600);border-color:var(--Error-Error-600)}.btn.secondary.warning{border-color:var(--Warning-Warning-500);color:var(--Warning-Warning-500)}.btn.secondary.warning:hover{color:var(--Warning-Warning-600);border-color:var(--Warning-Warning-600)}.btn.secondary.legacy{border-color:var(--Secondary-Secondary-500);color:var(--Secondary-Secondary-500)}.btn.secondary.legacy:hover{color:var(--Secondary-Secondary-600);border-color:var(--Secondary-Secondary-600)}.btn.tertiary{background:none!important;border:none}.btn.tertiary.disabled{background:none!important}.btn.tertiary.disabled.default{color:var(--Primary-Primary-300)}.btn.tertiary.disabled.success{color:var(--Success-Success-300)}.btn.tertiary.disabled.info{color:var(--Info-Info-300)}.btn.tertiary.disabled.error{color:var(--Error-Error-300)}.btn.tertiary.disabled.warning{color:var(--Warning-Warning-300)}.btn.tertiary.disabled.legacy{color:var(--Secondary-Secondary-300)}.btn.tertiary.disabled.default,.btn.tertiary.disabled.legacy{border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-400)}.btn.tertiary.default,.btn.tertiary.legacy{border:1px solid var(--Gray-Gray-200);color:var(--Gray-Gray-500)}.btn.tertiary.default:hover,.btn.tertiary.legacy:hover{border:1px solid var(--Gray-Gray-400);color:var(--Gray-Gray-600)}.btn.tertiary.success{color:var(--Success-Success-500);border:none}.btn.tertiary.success:hover{background:var(--Success-Success-50);color:var(--Success-Success-500);border:none}.btn.tertiary.info{color:var(--Info-Info-500);border:none}.btn.tertiary.info:hover{background:var(--Info-Info-50);color:var(--Info-Info-500);border:none}.btn.tertiary.error{color:var(--Error-Error-500);border:none}.btn.tertiary.error:hover{background:var(--Error-Error-50);color:var(--Error-Error-500);border:none}.btn.tertiary.warning{color:var(--Warning-Warning-500);border:none}.btn.tertiary.warning:hover{background:var(--Warning-Warning-50);color:var(--Warning-Warning-500);border:none}.btn.tertiary.dropdown{color:var(--Gray-Gray-500);border:none;background:transparent;font-weight:400;font-size:14px}.btn.tertiary.dropdown:hover{color:var(--Gray-Gray-500);border:none}.btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
65
|
+
}], propDecorators: { type: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], severity: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], size: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], state: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], preIcon: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], postIcon: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], text: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], onClick: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1idXR0b24vZHJvcGktYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1idXR0b24vZHJvcGktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBY3ZELG9CQUFvQjtBQVNwQixNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLEdBQWUsU0FBUyxDQUFDO0lBQzdCLFFBQVEsR0FBbUIsU0FBUyxDQUFDO0lBQ3JDLElBQUksR0FBZSxRQUFRLENBQUM7SUFDNUIsS0FBSyxHQUFnQixTQUFTLENBQUM7SUFDL0IsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLElBQUksR0FBVyxFQUFFLENBQUM7SUFDakIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFFOUMsU0FBUyxHQUFHLDRCQUE0QixDQUFDO0lBRXpDLFFBQVEsR0FBOEI7UUFDcEMsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLEtBQUssRUFBRSxjQUFjO1FBQ3JCLElBQUksRUFBRSxZQUFZO1FBQ2xCLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsT0FBTyxFQUFFLGtCQUFrQjtLQUM1QixDQUFDO0lBRUYsSUFBSSxRQUFRO1FBQ1YsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssT0FBTztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLDhCQUE4QjtRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO29CQUN0RCxDQUFDLENBQUMsZUFBZTtvQkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNwQjtnQkFDRSxPQUFPLGVBQWUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sU0FBUyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7SUFDcEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzt3R0F6RFUsZUFBZTs0RkFBZixlQUFlLHdTQ3pCNUIscWdEQXFDQSx3eUxEakJZLFlBQVksaU9BQUUsYUFBYTs7NEZBSzFCLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxRQUdoQyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRTs4QkFHM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgdHlwZSBCdXR0b25UeXBlID1cbiAgfCBcImxlZ2FjeVwiXG4gIHwgXCJkZWZhdWx0XCJcbiAgfCBcInN1Y2Nlc3NcIlxuICB8IFwiaW5mb1wiXG4gIHwgXCJlcnJvclwiXG4gIHwgXCJ3YXJuaW5nXCJcbiAgfCBcImRyb3Bkb3duXCI7XG5leHBvcnQgdHlwZSBCdXR0b25TZXZlcml0eSA9IFwicHJpbWFyeVwiIHwgXCJzZWNvbmRhcnlcIiB8IFwidGVydGlhcnlcIjtcbmV4cG9ydCB0eXBlIEJ1dHRvblNpemUgPSBcImxhcmdlXCIgfCBcIm5vcm1hbFwiIHwgXCJzbWFsbFwiO1xuZXhwb3J0IHR5cGUgQnV0dG9uU3RhdGUgPSBcImRlZmF1bHRcIiB8IFwiZGlzYWJsZWRcIiB8IFwibG9hZGluZ1wiO1xuXG4vLyBAZmlnbWEtbm9kZSAyLTM4MVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRyb3BpLXdjLWJ1dHRvblwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9waS1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3BpLWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgaG9zdDogeyBcImRhdGEtZmlnbWEtbm9kZVwiOiBcIjItMzgxXCIgfSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uVHlwZSA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBzZXZlcml0eTogQnV0dG9uU2V2ZXJpdHkgPSBcInByaW1hcnlcIjtcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9IFwibm9ybWFsXCI7XG4gIEBJbnB1dCgpIHN0YXRlOiBCdXR0b25TdGF0ZSA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBwcmVJY29uOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwb3N0SWNvbjogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gXCJcIjtcbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbG9ybG9hZCA9IFwidmFyKC0tUHJpbWFyeS1QcmltYXJ5LTUwMClcIjtcblxuICBjb2xvck1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBkZWZhdWx0OiBcIlByaW1hcnktUHJpbWFyeS1cIixcbiAgICBzdWNjZXNzOiBcIlN1Y2Nlc3MtU3VjY2Vzcy1cIixcbiAgICBlcnJvcjogXCJFcnJvci1FcnJvci1cIixcbiAgICBpbmZvOiBcIkluZm8tSW5mby1cIixcbiAgICBsZWdhY3k6IFwiU2Vjb25kYXJ5LVNlY29uZGFyeS1cIixcbiAgICB3YXJuaW5nOiBcIldhcm5pbmctV2FybmluZy1cIixcbiAgfTtcblxuICBnZXQgaWNvblNpemUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSBcImxhcmdlXCI6XG4gICAgICAgIHJldHVybiBcIjI0cHhcIjtcbiAgICAgIGNhc2UgXCJzbWFsbFwiOlxuICAgICAgICByZXR1cm4gXCIxNnB4XCI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCIxOHB4XCI7IC8vIFRhbWHDsW8gcG9yIGRlZmVjdG8gKG5vcm1hbClcbiAgICB9XG4gIH1cblxuICBnZXQgY29sb3IoKSB7XG4gICAgbGV0IGludGVuc2l0eSA9IHRoaXMuc3RhdGUgPT09IFwiZGlzYWJsZWRcIiA/IFwiMzAwXCIgOiBcIjUwMFwiO1xuICAgIHJldHVybiB0aGlzLmNvbG9yTWFwW3RoaXMudHlwZV0gKyBpbnRlbnNpdHk7XG4gIH1cblxuICBnZXQgZm9udENvbG9yKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnNldmVyaXR5KSB7XG4gICAgICBjYXNlIFwidGVydGlhcnlcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gXCJkZWZhdWx0XCIgfHwgdGhpcy50eXBlID09PSBcImxlZ2FjeVwiXG4gICAgICAgICAgPyBcIkdyYXktR3JheS01MDBcIlxuICAgICAgICAgIDogdGhpcy5jb2xvcjtcbiAgICAgIGNhc2UgXCJzZWNvbmRhcnlcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sb3I7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gXCJOZXV0cmFsLVdoaXRlXCI7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN2Z0NvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB2YXIoLS0ke3RoaXMuZm9udENvbG9yfSlgO1xuICB9XG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSBcImRpc2FibGVkXCIgJiYgdGhpcy5zdGF0ZSAhPT0gXCJsb2FkaW5nXCIpIHtcbiAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJidG5cIlxuICBbbmdDbGFzc109XCJbIXRleHQgPyAnd2l0aG91dC10ZXh0JyA6ICcnLCBzZXZlcml0eSwgdHlwZSwgc2l6ZSwgc3RhdGVdXCJcbiAgW2Rpc2FibGVkXT1cInN0YXRlID09PSAnZGlzYWJsZWQnIHx8IHN0YXRlID09PSAnbG9hZGluZydcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDxhcHAtaWNvblxuICAgICpuZ0lmPVwicHJlSWNvbiAhPT0gJydcIlxuICAgIFtuYW1lXT1cInByZUljb25cIlxuICAgIFt3aWR0aF09XCJpY29uU2l6ZVwiXG4gICAgW2hlaWdodF09XCJpY29uU2l6ZVwiXG4gICAgW2NvbG9yXT1cImZvbnRDb2xvclwiXG4gID48L2FwcC1pY29uPlxuICA8c3BhbiAqbmdJZj1cInRleHQgIT09ICcnXCIgY2xhc3M9XCJ0ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgPGFwcC1pY29uXG4gICAgKm5nSWY9XCJwb3N0SWNvbiAhPT0gJycgfHwgdHlwZSA9PT0gJ2Ryb3Bkb3duJ1wiXG4gICAgW25hbWVdPVwidHlwZSA9PSAnZHJvcGRvd24nID8gJ0Ryb3Bkb3duLWRvd24nIDogcG9zdEljb25cIlxuICAgIFt3aWR0aF09XCJpY29uU2l6ZVwiXG4gICAgW2hlaWdodF09XCJpY29uU2l6ZVwiXG4gICAgW2NvbG9yXT1cImZvbnRDb2xvclwiXG4gID48L2FwcC1pY29uPlxuICA8c3ZnXG4gICAgKm5nSWY9XCJzdGF0ZSA9PT0gJ2xvYWRpbmcnXCJcbiAgICBjbGFzcz1cInNwaW5cIlxuICAgIFthdHRyLndpZHRoXT1cImljb25TaXplXCJcbiAgICBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIlxuICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLjggMTJDMjMuNDYyNyAxMiAyNC4wMDYyIDExLjQ2MTQgMjMuOTQwMSAxMC44MDJDMjMuODIzMiA5LjYzNzEgMjMuNTM2MiA4LjQ5MzM5IDIzLjA4NjYgNy40MDc4QzIyLjQ4MzUgNS45NTE4OSAyMS41OTk2IDQuNjI5MDIgMjAuNDg1MyAzLjUxNDcyQzE5LjM3MSAyLjQwMDQyIDE4LjA0ODEgMS41MTY1IDE2LjU5MjIgMC45MTM0NDVDMTUuNTA2NiAwLjQ2Mzc3OCAxNC4zNjI5IDAuMTc2ODMgMTMuMTk4IDAuMDU5OTUwMkMxMi41Mzg2IC0wLjAwNjIxNDM5IDEyIDAuNTM3MjU4IDEyIDEuMkMxMiAxLjg2Mjc0IDEyLjUzOTMgMi4zOTIyNyAxMy4xOTY5IDIuNDc0OUMxNC4wNDYzIDIuNTgxNjQgMTQuODc5NSAyLjgwMTc2IDE1LjY3MzggMy4xMzA3NkMxNi44Mzg1IDMuNjEzMiAxNy44OTY4IDQuMzIwMzMgMTguNzg4MiA1LjIxMTc3QzE5LjY3OTcgNi4xMDMyMiAyMC4zODY4IDcuMTYxNTEgMjAuODY5MiA4LjMyNjI0QzIxLjE5ODIgOS4xMjA1MSAyMS40MTg0IDkuOTUzNjcgMjEuNTI1MSAxMC44MDMxQzIxLjYwNzcgMTEuNDYwNyAyMi4xMzczIDEyIDIyLjggMTJaXCJcbiAgICAgIFthdHRyLmZpbGxdPVwic3ZnQ29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class IconComponent {
|
|
6
|
+
el;
|
|
7
|
+
renderer;
|
|
8
|
+
// Nombre del ícono, debe coincidir con el "id" en el sprite SVG
|
|
9
|
+
name = '';
|
|
10
|
+
// Atributos opcionales para controlar el tamaño y color
|
|
11
|
+
width = '24px';
|
|
12
|
+
height = '24px';
|
|
13
|
+
color = 'currentColor';
|
|
14
|
+
constructor(el, renderer) {
|
|
15
|
+
this.el = el;
|
|
16
|
+
this.renderer = renderer;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.setColors();
|
|
20
|
+
}
|
|
21
|
+
ngOnChanges(changes) {
|
|
22
|
+
if (changes['color'] && !changes['color'].firstChange)
|
|
23
|
+
this.setColors();
|
|
24
|
+
}
|
|
25
|
+
setColors() {
|
|
26
|
+
if (!this.color) {
|
|
27
|
+
// Si no hay color, no hacer nada
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (this.color.startsWith('#')) {
|
|
31
|
+
// Si es un color directo (ej: "#ff0000"), lo usa normal
|
|
32
|
+
this.renderer.setStyle(this.el.nativeElement, 'fill', this.color);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Si el color es un token, usa la variable CSS
|
|
36
|
+
this.renderer.setStyle(this.el.nativeElement, 'fill', `var(--${this.color})`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { name: "name", width: "width", height: "height", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<svg [attr.width]=\"width\" [attr.height]=\"height\" [ngClass]=\"{ spin: name === 'Spinner' }\">\n <use [attr.xlink:href]=\"'assets/icons/symbol/svg/sprite.css.svg#' + name\"></use>\n</svg>\n", styles: [".spin{animation:spin 1s linear infinite}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, decorators: [{
|
|
43
|
+
type: Component,
|
|
44
|
+
args: [{ selector: 'app-icon', standalone: true, imports: [CommonModule], template: "<svg [attr.width]=\"width\" [attr.height]=\"height\" [ngClass]=\"{ spin: name === 'Spinner' }\">\n <use [attr.xlink:href]=\"'assets/icons/symbol/svg/sprite.css.svg#' + name\"></use>\n</svg>\n", styles: [".spin{animation:spin 1s linear infinite}\n"] }]
|
|
45
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { name: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], width: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], height: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], color: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy1zb3VyY2UvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxHQU1OLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGFBQWE7SUFRZDtJQUNBO0lBUlYsZ0VBQWdFO0lBQ3ZELElBQUksR0FBVyxFQUFFLENBQUM7SUFDM0Isd0RBQXdEO0lBQy9DLEtBQUssR0FBVyxNQUFNLENBQUM7SUFDdkIsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUN4QixLQUFLLEdBQVcsY0FBYyxDQUFDO0lBQ3hDLFlBQ1UsRUFBYyxFQUNkLFFBQW1CO1FBRG5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzFCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVztZQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsaUNBQWlDO1lBQ2pDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLHdEQUF3RDtZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sK0NBQStDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxTQUFTLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7SUFDSCxDQUFDO3dHQWpDVSxhQUFhOzRGQUFiLGFBQWEscUtDbEIxQixrTUFHQSxtR0RhWSxZQUFZOzs0RkFFWCxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBR1AsQ0FBQyxZQUFZLENBQUM7dUdBSWQsSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaWNvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLy8gTm9tYnJlIGRlbCDDrWNvbm8sIGRlYmUgY29pbmNpZGlyIGNvbiBlbCBcImlkXCIgZW4gZWwgc3ByaXRlIFNWR1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcbiAgLy8gQXRyaWJ1dG9zIG9wY2lvbmFsZXMgcGFyYSBjb250cm9sYXIgZWwgdGFtYcOxbyB5IGNvbG9yXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzI0cHgnO1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2N1cnJlbnRDb2xvcic7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDb2xvcnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snY29sb3InXSAmJiAhY2hhbmdlc1snY29sb3InXS5maXJzdENoYW5nZSkgdGhpcy5zZXRDb2xvcnMoKTtcbiAgfVxuXG4gIHNldENvbG9ycygpIHtcbiAgICBpZiAoIXRoaXMuY29sb3IpIHtcbiAgICAgIC8vIFNpIG5vIGhheSBjb2xvciwgbm8gaGFjZXIgbmFkYVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbG9yLnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgLy8gU2kgZXMgdW4gY29sb3IgZGlyZWN0byAoZWo6IFwiI2ZmMDAwMFwiKSwgbG8gdXNhIG5vcm1hbFxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdmaWxsJywgdGhpcy5jb2xvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNpIGVsIGNvbG9yIGVzIHVuIHRva2VuLCB1c2EgbGEgdmFyaWFibGUgQ1NTXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2ZpbGwnLCBgdmFyKC0tJHt0aGlzLmNvbG9yfSlgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzdmcgW2F0dHIud2lkdGhdPVwid2lkdGhcIiBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0XCIgW25nQ2xhc3NdPVwieyBzcGluOiBuYW1lID09PSAnU3Bpbm5lcicgfVwiPlxuICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiJ2Fzc2V0cy9pY29ucy9zeW1ib2wvc3ZnL3Nwcml0ZS5jc3Muc3ZnIycgKyBuYW1lXCI+PC91c2U+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktdWktY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kcm9waS11aS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API Surface de @dropi/ui-components
|
|
3
|
+
*/
|
|
4
|
+
// Exportar componentes individuales desde components-source
|
|
5
|
+
export { ButtonComponent } from "./components-source/dropi-button/dropi-button.component";
|
|
6
|
+
// Exportar el módulo de elementos
|
|
7
|
+
export { DropiElementsModule } from "./lib/elements.module";
|
|
8
|
+
// Exportar funciones de registro
|
|
9
|
+
export { registerDropiElements, isComponentRegistered, } from "./lib/elements-registry";
|
|
10
|
+
// Información de versión
|
|
11
|
+
export const DROPI_ELEMENTS_VERSION = "1.0.0";
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCw0REFBNEQ7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTFGLGtDQUFrQztBQUNsQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxpQ0FBaUM7QUFDakMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixxQkFBcUIsR0FDdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyx5QkFBeUI7QUFDekIsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2UgZGUgQGRyb3BpL3VpLWNvbXBvbmVudHNcbiAqL1xuXG4vLyBFeHBvcnRhciBjb21wb25lbnRlcyBpbmRpdmlkdWFsZXMgZGVzZGUgY29tcG9uZW50cy1zb3VyY2VcbmV4cG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWJ1dHRvbi9kcm9waS1idXR0b24uY29tcG9uZW50XCI7XG5cbi8vIEV4cG9ydGFyIGVsIG3Ds2R1bG8gZGUgZWxlbWVudG9zXG5leHBvcnQgeyBEcm9waUVsZW1lbnRzTW9kdWxlIH0gZnJvbSBcIi4vbGliL2VsZW1lbnRzLm1vZHVsZVwiO1xuXG4vLyBFeHBvcnRhciBmdW5jaW9uZXMgZGUgcmVnaXN0cm9cbmV4cG9ydCB7XG4gIHJlZ2lzdGVyRHJvcGlFbGVtZW50cyxcbiAgaXNDb21wb25lbnRSZWdpc3RlcmVkLFxufSBmcm9tIFwiLi9saWIvZWxlbWVudHMtcmVnaXN0cnlcIjtcblxuLy8gSW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuXG5leHBvcnQgY29uc3QgRFJPUElfRUxFTUVOVFNfVkVSU0lPTiA9IFwiMS4wLjBcIjtcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registro de elementos personalizados (Web Components)
|
|
3
|
+
*
|
|
4
|
+
* Este archivo contiene la función que registra todos los componentes Angular
|
|
5
|
+
* como Custom Elements del navegador usando Angular Elements.
|
|
6
|
+
*/
|
|
7
|
+
import { createCustomElement } from '@angular/elements';
|
|
8
|
+
/**
|
|
9
|
+
* Registra todos los componentes Dropi como custom elements
|
|
10
|
+
*
|
|
11
|
+
* @param injector - El injector de Angular necesario para createCustomElement
|
|
12
|
+
* @param components - Array de componentes a registrar
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
17
|
+
* import { registerDropiElements } from '@oropi/ui-elements';
|
|
18
|
+
* import { ButtonComponent } from '@app/ui';
|
|
19
|
+
*
|
|
20
|
+
* const components = [
|
|
21
|
+
* { selector: 'dropi-button', component: ButtonComponent }
|
|
22
|
+
* ];
|
|
23
|
+
*
|
|
24
|
+
* platformBrowserDynamic().bootstrapModule(AppModule)
|
|
25
|
+
* .then((ref) => {
|
|
26
|
+
* const injector = ref.injector;
|
|
27
|
+
* registerDropiElements(injector, components);
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function registerDropiElements(injector, components) {
|
|
32
|
+
// Registrar cada componente como custom element
|
|
33
|
+
components.forEach(({ selector, component, description }) => {
|
|
34
|
+
try {
|
|
35
|
+
// Verificar si el custom element ya está definido
|
|
36
|
+
if (!customElements.get(selector)) {
|
|
37
|
+
const element = createCustomElement(component, { injector });
|
|
38
|
+
customElements.define(selector, element);
|
|
39
|
+
console.log(`✅ Web Component registrado: <${selector}> - ${description}`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
console.warn(`⚠️ Custom element <${selector}> ya está definido`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
console.error(`❌ Error registrando <${selector}>:`, error);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Función auxiliar para verificar si un componente está registrado
|
|
52
|
+
*/
|
|
53
|
+
export function isComponentRegistered(selector) {
|
|
54
|
+
return customElements.get(selector) !== undefined;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VsZW1lbnRzLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBR0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFXeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBa0IsRUFBRSxVQUFpQztJQUN6RixnREFBZ0Q7SUFDaEQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQzFELElBQUksQ0FBQztZQUNILGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsUUFBUSxPQUFPLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDNUUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLFFBQVEsb0JBQW9CLENBQUMsQ0FBQztZQUNuRSxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixRQUFRLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWdpc3RybyBkZSBlbGVtZW50b3MgcGVyc29uYWxpemFkb3MgKFdlYiBDb21wb25lbnRzKVxuICpcbiAqIEVzdGUgYXJjaGl2byBjb250aWVuZSBsYSBmdW5jacOzbiBxdWUgcmVnaXN0cmEgdG9kb3MgbG9zIGNvbXBvbmVudGVzIEFuZ3VsYXJcbiAqIGNvbW8gQ3VzdG9tIEVsZW1lbnRzIGRlbCBuYXZlZ2Fkb3IgdXNhbmRvIEFuZ3VsYXIgRWxlbWVudHMuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHBhcmEgZGVmaW5pY2nDs24gZGUgY29tcG9uZW50ZXNcbiAqL1xuaW50ZXJmYWNlIENvbXBvbmVudERlZmluaXRpb24ge1xuICBzZWxlY3Rvcjogc3RyaW5nO1xuICBjb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWdpc3RyYSB0b2RvcyBsb3MgY29tcG9uZW50ZXMgRHJvcGkgY29tbyBjdXN0b20gZWxlbWVudHNcbiAqXG4gKiBAcGFyYW0gaW5qZWN0b3IgLSBFbCBpbmplY3RvciBkZSBBbmd1bGFyIG5lY2VzYXJpbyBwYXJhIGNyZWF0ZUN1c3RvbUVsZW1lbnRcbiAqIEBwYXJhbSBjb21wb25lbnRzIC0gQXJyYXkgZGUgY29tcG9uZW50ZXMgYSByZWdpc3RyYXJcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgcGxhdGZvcm1Ccm93c2VyRHluYW1pYyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG4gKiBpbXBvcnQgeyByZWdpc3RlckRyb3BpRWxlbWVudHMgfSBmcm9tICdAb3JvcGkvdWktZWxlbWVudHMnO1xuICogaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGFwcC91aSc7XG4gKlxuICogY29uc3QgY29tcG9uZW50cyA9IFtcbiAqICAgeyBzZWxlY3RvcjogJ2Ryb3BpLWJ1dHRvbicsIGNvbXBvbmVudDogQnV0dG9uQ29tcG9uZW50IH1cbiAqIF07XG4gKlxuICogcGxhdGZvcm1Ccm93c2VyRHluYW1pYygpLmJvb3RzdHJhcE1vZHVsZShBcHBNb2R1bGUpXG4gKiAgIC50aGVuKChyZWYpID0+IHtcbiAqICAgICBjb25zdCBpbmplY3RvciA9IHJlZi5pbmplY3RvcjtcbiAqICAgICByZWdpc3RlckRyb3BpRWxlbWVudHMoaW5qZWN0b3IsIGNvbXBvbmVudHMpO1xuICogICB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEcm9waUVsZW1lbnRzKGluamVjdG9yOiBJbmplY3RvciwgY29tcG9uZW50czogQ29tcG9uZW50RGVmaW5pdGlvbltdKTogdm9pZCB7XG4gIC8vIFJlZ2lzdHJhciBjYWRhIGNvbXBvbmVudGUgY29tbyBjdXN0b20gZWxlbWVudFxuICBjb21wb25lbnRzLmZvckVhY2goKHsgc2VsZWN0b3IsIGNvbXBvbmVudCwgZGVzY3JpcHRpb24gfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBWZXJpZmljYXIgc2kgZWwgY3VzdG9tIGVsZW1lbnQgeWEgZXN0w6EgZGVmaW5pZG9cbiAgICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KHNlbGVjdG9yKSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZShzZWxlY3RvciwgZWxlbWVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGDinIUgV2ViIENvbXBvbmVudCByZWdpc3RyYWRvOiA8JHtzZWxlY3Rvcn0+IC0gJHtkZXNjcmlwdGlvbn1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2Fybihg4pqg77iPIEN1c3RvbSBlbGVtZW50IDwke3NlbGVjdG9yfT4geWEgZXN0w6EgZGVmaW5pZG9gKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihg4p2MIEVycm9yIHJlZ2lzdHJhbmRvIDwke3NlbGVjdG9yfT46YCwgZXJyb3IpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogRnVuY2nDs24gYXV4aWxpYXIgcGFyYSB2ZXJpZmljYXIgc2kgdW4gY29tcG9uZW50ZSBlc3TDoSByZWdpc3RyYWRvXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbXBvbmVudFJlZ2lzdGVyZWQoc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gY3VzdG9tRWxlbWVudHMuZ2V0KHNlbGVjdG9yKSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Módulo principal de Dropi UI Elements
|
|
3
|
+
*
|
|
4
|
+
* Este módulo proporciona funciones auxiliares para convertir
|
|
5
|
+
* componentes Angular en Web Components
|
|
6
|
+
*/
|
|
7
|
+
import { NgModule } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Módulo auxiliar de Angular Elements
|
|
11
|
+
*
|
|
12
|
+
* Este es un módulo vacío que sirve como punto de entrada
|
|
13
|
+
* La conversión a Web Components se hace mediante la función
|
|
14
|
+
* registerDropiElements
|
|
15
|
+
*/
|
|
16
|
+
export class DropiElementsModule {
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule });
|
|
19
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiElementsModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
imports: [],
|
|
25
|
+
declarations: [],
|
|
26
|
+
exports: [],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lbGVtZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6Qzs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO3dHQUFuQixtQkFBbUI7eUdBQW5CLG1CQUFtQjt5R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTcOzZHVsbyBwcmluY2lwYWwgZGUgRHJvcGkgVUkgRWxlbWVudHNcbiAqXG4gKiBFc3RlIG3Ds2R1bG8gcHJvcG9yY2lvbmEgZnVuY2lvbmVzIGF1eGlsaWFyZXMgcGFyYSBjb252ZXJ0aXJcbiAqIGNvbXBvbmVudGVzIEFuZ3VsYXIgZW4gV2ViIENvbXBvbmVudHNcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE3Ds2R1bG8gYXV4aWxpYXIgZGUgQW5ndWxhciBFbGVtZW50c1xuICpcbiAqIEVzdGUgZXMgdW4gbcOzZHVsbyB2YWPDrW8gcXVlIHNpcnZlIGNvbW8gcHVudG8gZGUgZW50cmFkYVxuICogTGEgY29udmVyc2nDs24gYSBXZWIgQ29tcG9uZW50cyBzZSBoYWNlIG1lZGlhbnRlIGxhIGZ1bmNpw7NuXG4gKiByZWdpc3RlckRyb3BpRWxlbWVudHNcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waUVsZW1lbnRzTW9kdWxlIHt9XG4iXX0=
|