@duskmoon-dev/el-progress 0.4.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/dist/cjs/index.js +245 -0
- package/dist/cjs/index.js.map +11 -0
- package/dist/cjs/register.js +248 -0
- package/dist/cjs/register.js.map +12 -0
- package/dist/esm/index.js +213 -0
- package/dist/esm/index.js.map +11 -0
- package/dist/esm/register.js +212 -0
- package/dist/esm/register.js.map +12 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/el-dm-progress.d.ts +77 -0
- package/dist/types/el-dm-progress.d.ts.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/register.d.ts +2 -0
- package/dist/types/register.d.ts.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
|
6
|
+
var __toCommonJS = (from) => {
|
|
7
|
+
var entry = __moduleCache.get(from), desc;
|
|
8
|
+
if (entry)
|
|
9
|
+
return entry;
|
|
10
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
}));
|
|
16
|
+
__moduleCache.set(from, entry);
|
|
17
|
+
return entry;
|
|
18
|
+
};
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, {
|
|
22
|
+
get: all[name],
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/index.ts
|
|
30
|
+
var exports_src = {};
|
|
31
|
+
__export(exports_src, {
|
|
32
|
+
register: () => register,
|
|
33
|
+
ElDmProgress: () => ElDmProgress
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(exports_src);
|
|
36
|
+
|
|
37
|
+
// src/el-dm-progress.ts
|
|
38
|
+
var import_el_core = require("@duskmoon-dev/el-core");
|
|
39
|
+
var import_progress = require("@duskmoon-dev/core/components/progress");
|
|
40
|
+
var COLOR_CLASSES = {
|
|
41
|
+
primary: "progress-primary",
|
|
42
|
+
secondary: "progress-secondary",
|
|
43
|
+
tertiary: "progress-tertiary",
|
|
44
|
+
success: "progress-success",
|
|
45
|
+
warning: "progress-warning",
|
|
46
|
+
error: "progress-error",
|
|
47
|
+
info: "progress-info"
|
|
48
|
+
};
|
|
49
|
+
var SIZE_CLASSES = {
|
|
50
|
+
sm: "progress-sm",
|
|
51
|
+
md: "",
|
|
52
|
+
lg: "progress-lg"
|
|
53
|
+
};
|
|
54
|
+
var coreStyles = import_progress.css.replace(/@layer\s+components\s*\{/, "").replace(/\}\s*$/, "");
|
|
55
|
+
var styles = import_el_core.css`
|
|
56
|
+
:host {
|
|
57
|
+
display: block;
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:host([hidden]) {
|
|
62
|
+
display: none !important;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
${coreStyles}
|
|
66
|
+
|
|
67
|
+
.progress {
|
|
68
|
+
position: relative;
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 0.5rem;
|
|
71
|
+
background-color: var(--color-surface-variant);
|
|
72
|
+
border-radius: 9999px;
|
|
73
|
+
overflow: hidden;
|
|
74
|
+
font-family: inherit;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.progress-sm {
|
|
78
|
+
height: 0.25rem;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.progress-lg {
|
|
82
|
+
height: 1rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.progress-bar {
|
|
86
|
+
height: 100%;
|
|
87
|
+
background-color: var(--color-primary);
|
|
88
|
+
border-radius: 9999px;
|
|
89
|
+
transition: width 300ms ease;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.progress-primary .progress-bar {
|
|
93
|
+
background-color: var(--color-primary);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.progress-secondary .progress-bar {
|
|
97
|
+
background-color: var(--color-secondary);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.progress-tertiary .progress-bar {
|
|
101
|
+
background-color: var(--color-tertiary);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.progress-success .progress-bar {
|
|
105
|
+
background-color: var(--color-success);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.progress-warning .progress-bar {
|
|
109
|
+
background-color: var(--color-warning);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.progress-error .progress-bar {
|
|
113
|
+
background-color: var(--color-error);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.progress-info .progress-bar {
|
|
117
|
+
background-color: var(--color-info);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.progress-striped .progress-bar {
|
|
121
|
+
background-image: linear-gradient(
|
|
122
|
+
45deg,
|
|
123
|
+
rgba(255, 255, 255, 0.15) 25%,
|
|
124
|
+
transparent 25%,
|
|
125
|
+
transparent 50%,
|
|
126
|
+
rgba(255, 255, 255, 0.15) 50%,
|
|
127
|
+
rgba(255, 255, 255, 0.15) 75%,
|
|
128
|
+
transparent 75%,
|
|
129
|
+
transparent
|
|
130
|
+
);
|
|
131
|
+
background-size: 1rem 1rem;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.progress-animated .progress-bar {
|
|
135
|
+
animation: progress-stripes 1s linear infinite;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@keyframes progress-stripes {
|
|
139
|
+
0% {
|
|
140
|
+
background-position: 1rem 0;
|
|
141
|
+
}
|
|
142
|
+
100% {
|
|
143
|
+
background-position: 0 0;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.progress-indeterminate .progress-bar {
|
|
148
|
+
width: 50% !important;
|
|
149
|
+
animation: progress-indeterminate 1.5s ease-in-out infinite;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@keyframes progress-indeterminate {
|
|
153
|
+
0% {
|
|
154
|
+
transform: translateX(-100%);
|
|
155
|
+
}
|
|
156
|
+
100% {
|
|
157
|
+
transform: translateX(200%);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.progress-value {
|
|
162
|
+
position: absolute;
|
|
163
|
+
top: 50%;
|
|
164
|
+
left: 50%;
|
|
165
|
+
transform: translate(-50%, -50%);
|
|
166
|
+
font-size: 0.625rem;
|
|
167
|
+
font-weight: 600;
|
|
168
|
+
color: var(--color-on-surface);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.progress-lg .progress-value {
|
|
172
|
+
font-size: 0.75rem;
|
|
173
|
+
}
|
|
174
|
+
`;
|
|
175
|
+
|
|
176
|
+
class ElDmProgress extends import_el_core.BaseElement {
|
|
177
|
+
static properties = {
|
|
178
|
+
value: { type: Number, reflect: true, default: 0 },
|
|
179
|
+
max: { type: Number, reflect: true, default: 100 },
|
|
180
|
+
color: { type: String, reflect: true, default: "primary" },
|
|
181
|
+
size: { type: String, reflect: true },
|
|
182
|
+
indeterminate: { type: Boolean, reflect: true },
|
|
183
|
+
striped: { type: Boolean, reflect: true },
|
|
184
|
+
animated: { type: Boolean, reflect: true },
|
|
185
|
+
showValue: { type: Boolean, reflect: true, attribute: "show-value" }
|
|
186
|
+
};
|
|
187
|
+
constructor() {
|
|
188
|
+
super();
|
|
189
|
+
this.attachStyles(styles);
|
|
190
|
+
}
|
|
191
|
+
_getPercentage() {
|
|
192
|
+
const val = Math.max(0, Math.min(this.value || 0, this.max || 100));
|
|
193
|
+
return val / (this.max || 100) * 100;
|
|
194
|
+
}
|
|
195
|
+
_getProgressClasses() {
|
|
196
|
+
const classes = ["progress"];
|
|
197
|
+
if (this.color && COLOR_CLASSES[this.color]) {
|
|
198
|
+
classes.push(COLOR_CLASSES[this.color]);
|
|
199
|
+
}
|
|
200
|
+
if (this.size && SIZE_CLASSES[this.size]) {
|
|
201
|
+
classes.push(SIZE_CLASSES[this.size]);
|
|
202
|
+
}
|
|
203
|
+
if (this.indeterminate) {
|
|
204
|
+
classes.push("progress-indeterminate");
|
|
205
|
+
}
|
|
206
|
+
if (this.striped) {
|
|
207
|
+
classes.push("progress-striped");
|
|
208
|
+
}
|
|
209
|
+
if (this.animated && this.striped) {
|
|
210
|
+
classes.push("progress-animated");
|
|
211
|
+
}
|
|
212
|
+
return classes.join(" ");
|
|
213
|
+
}
|
|
214
|
+
render() {
|
|
215
|
+
const progressClasses = this._getProgressClasses();
|
|
216
|
+
const percentage = this._getPercentage();
|
|
217
|
+
return `
|
|
218
|
+
<div
|
|
219
|
+
class="${progressClasses}"
|
|
220
|
+
role="progressbar"
|
|
221
|
+
aria-valuenow="${this.value || 0}"
|
|
222
|
+
aria-valuemin="0"
|
|
223
|
+
aria-valuemax="${this.max || 100}"
|
|
224
|
+
part="progress"
|
|
225
|
+
>
|
|
226
|
+
<div
|
|
227
|
+
class="progress-bar"
|
|
228
|
+
style="width: ${this.indeterminate ? "50" : percentage}%"
|
|
229
|
+
part="bar"
|
|
230
|
+
></div>
|
|
231
|
+
${this.showValue && !this.indeterminate ? `<span class="progress-value" part="value">${Math.round(percentage)}%</span>` : ""}
|
|
232
|
+
</div>
|
|
233
|
+
`;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// src/index.ts
|
|
238
|
+
function register() {
|
|
239
|
+
if (!customElements.get("el-dm-progress")) {
|
|
240
|
+
customElements.define("el-dm-progress", ElDmProgress);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
//# debugId=115E0E7AFCB17B6964756E2164756E21
|
|
245
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/el-dm-progress.ts", "../../src/index.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * DuskMoon Progress Element\n *\n * A progress bar component for displaying completion status.\n * Uses styles from @duskmoon-dev/core for consistent theming.\n *\n * @element el-dm-progress\n *\n * @attr {number} value - Current progress value (0-100)\n * @attr {number} max - Maximum value (default: 100)\n * @attr {string} color - Progress bar color: primary, secondary, tertiary, success, warning, error, info\n * @attr {string} size - Progress bar size: sm, md, lg\n * @attr {boolean} indeterminate - Whether to show indeterminate animation\n * @attr {boolean} striped - Whether to show striped pattern\n * @attr {boolean} animated - Whether to animate the stripes\n * @attr {boolean} show-value - Whether to show the value label\n *\n * @csspart progress - The progress container\n * @csspart bar - The progress bar\n * @csspart value - The value label\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-core';\nimport { css as progressCSS } from '@duskmoon-dev/core/components/progress';\n\nconst COLOR_CLASSES: Record<string, string> = {\n primary: 'progress-primary',\n secondary: 'progress-secondary',\n tertiary: 'progress-tertiary',\n success: 'progress-success',\n warning: 'progress-warning',\n error: 'progress-error',\n info: 'progress-info',\n};\n\nconst SIZE_CLASSES: Record<string, string> = {\n sm: 'progress-sm',\n md: '',\n lg: 'progress-lg',\n};\n\nexport type ProgressColor =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'success'\n | 'warning'\n | 'error'\n | 'info';\nexport type ProgressSize = 'sm' | 'md' | 'lg';\n\n// Strip @layer wrapper for Shadow DOM compatibility\nconst coreStyles = progressCSS.replace(/@layer\\s+components\\s*\\{/, '').replace(/\\}\\s*$/, '');\n\nconst styles = css`\n :host {\n display: block;\n width: 100%;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n ${coreStyles}\n\n .progress {\n position: relative;\n width: 100%;\n height: 0.5rem;\n background-color: var(--color-surface-variant);\n border-radius: 9999px;\n overflow: hidden;\n font-family: inherit;\n }\n\n .progress-sm {\n height: 0.25rem;\n }\n\n .progress-lg {\n height: 1rem;\n }\n\n .progress-bar {\n height: 100%;\n background-color: var(--color-primary);\n border-radius: 9999px;\n transition: width 300ms ease;\n }\n\n .progress-primary .progress-bar {\n background-color: var(--color-primary);\n }\n\n .progress-secondary .progress-bar {\n background-color: var(--color-secondary);\n }\n\n .progress-tertiary .progress-bar {\n background-color: var(--color-tertiary);\n }\n\n .progress-success .progress-bar {\n background-color: var(--color-success);\n }\n\n .progress-warning .progress-bar {\n background-color: var(--color-warning);\n }\n\n .progress-error .progress-bar {\n background-color: var(--color-error);\n }\n\n .progress-info .progress-bar {\n background-color: var(--color-info);\n }\n\n .progress-striped .progress-bar {\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n }\n\n .progress-animated .progress-bar {\n animation: progress-stripes 1s linear infinite;\n }\n\n @keyframes progress-stripes {\n 0% {\n background-position: 1rem 0;\n }\n 100% {\n background-position: 0 0;\n }\n }\n\n .progress-indeterminate .progress-bar {\n width: 50% !important;\n animation: progress-indeterminate 1.5s ease-in-out infinite;\n }\n\n @keyframes progress-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(200%);\n }\n }\n\n .progress-value {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 0.625rem;\n font-weight: 600;\n color: var(--color-on-surface);\n }\n\n .progress-lg .progress-value {\n font-size: 0.75rem;\n }\n`;\n\nexport class ElDmProgress extends BaseElement {\n static properties = {\n value: { type: Number, reflect: true, default: 0 },\n max: { type: Number, reflect: true, default: 100 },\n color: { type: String, reflect: true, default: 'primary' },\n size: { type: String, reflect: true },\n indeterminate: { type: Boolean, reflect: true },\n striped: { type: Boolean, reflect: true },\n animated: { type: Boolean, reflect: true },\n showValue: { type: Boolean, reflect: true, attribute: 'show-value' },\n };\n\n declare value: number;\n declare max: number;\n declare color: ProgressColor;\n declare size: ProgressSize;\n declare indeterminate: boolean;\n declare striped: boolean;\n declare animated: boolean;\n declare showValue: boolean;\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n private _getPercentage(): number {\n const val = Math.max(0, Math.min(this.value || 0, this.max || 100));\n return (val / (this.max || 100)) * 100;\n }\n\n private _getProgressClasses(): string {\n const classes = ['progress'];\n\n if (this.color && COLOR_CLASSES[this.color]) {\n classes.push(COLOR_CLASSES[this.color]);\n }\n\n if (this.size && SIZE_CLASSES[this.size]) {\n classes.push(SIZE_CLASSES[this.size]);\n }\n\n if (this.indeterminate) {\n classes.push('progress-indeterminate');\n }\n\n if (this.striped) {\n classes.push('progress-striped');\n }\n\n if (this.animated && this.striped) {\n classes.push('progress-animated');\n }\n\n return classes.join(' ');\n }\n\n render(): string {\n const progressClasses = this._getProgressClasses();\n const percentage = this._getPercentage();\n\n return `\n <div\n class=\"${progressClasses}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.value || 0}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.max || 100}\"\n part=\"progress\"\n >\n <div\n class=\"progress-bar\"\n style=\"width: ${this.indeterminate ? '50' : percentage}%\"\n part=\"bar\"\n ></div>\n ${this.showValue && !this.indeterminate ? `<span class=\"progress-value\" part=\"value\">${Math.round(percentage)}%</span>` : ''}\n </div>\n `;\n }\n}\n",
|
|
6
|
+
"/**\n * @duskmoon-dev/el-progress\n *\n * DuskMoon Progress custom element\n */\n\nimport { ElDmProgress } from './el-dm-progress.js';\n\nexport { ElDmProgress };\nexport type { ProgressColor, ProgressSize } from './el-dm-progress.js';\n\n/**\n * Register the el-dm-progress custom element\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-progress';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-progress')) {\n customElements.define('el-dm-progress', ElDmProgress);\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "115E0E7AFCB17B6964756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
|
6
|
+
var __toCommonJS = (from) => {
|
|
7
|
+
var entry = __moduleCache.get(from), desc;
|
|
8
|
+
if (entry)
|
|
9
|
+
return entry;
|
|
10
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
}));
|
|
16
|
+
__moduleCache.set(from, entry);
|
|
17
|
+
return entry;
|
|
18
|
+
};
|
|
19
|
+
var __export = (target, all) => {
|
|
20
|
+
for (var name in all)
|
|
21
|
+
__defProp(target, name, {
|
|
22
|
+
get: all[name],
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/index.ts
|
|
30
|
+
var exports_src = {};
|
|
31
|
+
__export(exports_src, {
|
|
32
|
+
register: () => register,
|
|
33
|
+
ElDmProgress: () => ElDmProgress
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(exports_src);
|
|
36
|
+
|
|
37
|
+
// src/el-dm-progress.ts
|
|
38
|
+
var import_el_core = require("@duskmoon-dev/el-core");
|
|
39
|
+
var import_progress = require("@duskmoon-dev/core/components/progress");
|
|
40
|
+
var COLOR_CLASSES = {
|
|
41
|
+
primary: "progress-primary",
|
|
42
|
+
secondary: "progress-secondary",
|
|
43
|
+
tertiary: "progress-tertiary",
|
|
44
|
+
success: "progress-success",
|
|
45
|
+
warning: "progress-warning",
|
|
46
|
+
error: "progress-error",
|
|
47
|
+
info: "progress-info"
|
|
48
|
+
};
|
|
49
|
+
var SIZE_CLASSES = {
|
|
50
|
+
sm: "progress-sm",
|
|
51
|
+
md: "",
|
|
52
|
+
lg: "progress-lg"
|
|
53
|
+
};
|
|
54
|
+
var coreStyles = import_progress.css.replace(/@layer\s+components\s*\{/, "").replace(/\}\s*$/, "");
|
|
55
|
+
var styles = import_el_core.css`
|
|
56
|
+
:host {
|
|
57
|
+
display: block;
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:host([hidden]) {
|
|
62
|
+
display: none !important;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
${coreStyles}
|
|
66
|
+
|
|
67
|
+
.progress {
|
|
68
|
+
position: relative;
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 0.5rem;
|
|
71
|
+
background-color: var(--color-surface-variant);
|
|
72
|
+
border-radius: 9999px;
|
|
73
|
+
overflow: hidden;
|
|
74
|
+
font-family: inherit;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.progress-sm {
|
|
78
|
+
height: 0.25rem;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.progress-lg {
|
|
82
|
+
height: 1rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.progress-bar {
|
|
86
|
+
height: 100%;
|
|
87
|
+
background-color: var(--color-primary);
|
|
88
|
+
border-radius: 9999px;
|
|
89
|
+
transition: width 300ms ease;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.progress-primary .progress-bar {
|
|
93
|
+
background-color: var(--color-primary);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.progress-secondary .progress-bar {
|
|
97
|
+
background-color: var(--color-secondary);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.progress-tertiary .progress-bar {
|
|
101
|
+
background-color: var(--color-tertiary);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.progress-success .progress-bar {
|
|
105
|
+
background-color: var(--color-success);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.progress-warning .progress-bar {
|
|
109
|
+
background-color: var(--color-warning);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.progress-error .progress-bar {
|
|
113
|
+
background-color: var(--color-error);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.progress-info .progress-bar {
|
|
117
|
+
background-color: var(--color-info);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.progress-striped .progress-bar {
|
|
121
|
+
background-image: linear-gradient(
|
|
122
|
+
45deg,
|
|
123
|
+
rgba(255, 255, 255, 0.15) 25%,
|
|
124
|
+
transparent 25%,
|
|
125
|
+
transparent 50%,
|
|
126
|
+
rgba(255, 255, 255, 0.15) 50%,
|
|
127
|
+
rgba(255, 255, 255, 0.15) 75%,
|
|
128
|
+
transparent 75%,
|
|
129
|
+
transparent
|
|
130
|
+
);
|
|
131
|
+
background-size: 1rem 1rem;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.progress-animated .progress-bar {
|
|
135
|
+
animation: progress-stripes 1s linear infinite;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@keyframes progress-stripes {
|
|
139
|
+
0% {
|
|
140
|
+
background-position: 1rem 0;
|
|
141
|
+
}
|
|
142
|
+
100% {
|
|
143
|
+
background-position: 0 0;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.progress-indeterminate .progress-bar {
|
|
148
|
+
width: 50% !important;
|
|
149
|
+
animation: progress-indeterminate 1.5s ease-in-out infinite;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@keyframes progress-indeterminate {
|
|
153
|
+
0% {
|
|
154
|
+
transform: translateX(-100%);
|
|
155
|
+
}
|
|
156
|
+
100% {
|
|
157
|
+
transform: translateX(200%);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.progress-value {
|
|
162
|
+
position: absolute;
|
|
163
|
+
top: 50%;
|
|
164
|
+
left: 50%;
|
|
165
|
+
transform: translate(-50%, -50%);
|
|
166
|
+
font-size: 0.625rem;
|
|
167
|
+
font-weight: 600;
|
|
168
|
+
color: var(--color-on-surface);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.progress-lg .progress-value {
|
|
172
|
+
font-size: 0.75rem;
|
|
173
|
+
}
|
|
174
|
+
`;
|
|
175
|
+
|
|
176
|
+
class ElDmProgress extends import_el_core.BaseElement {
|
|
177
|
+
static properties = {
|
|
178
|
+
value: { type: Number, reflect: true, default: 0 },
|
|
179
|
+
max: { type: Number, reflect: true, default: 100 },
|
|
180
|
+
color: { type: String, reflect: true, default: "primary" },
|
|
181
|
+
size: { type: String, reflect: true },
|
|
182
|
+
indeterminate: { type: Boolean, reflect: true },
|
|
183
|
+
striped: { type: Boolean, reflect: true },
|
|
184
|
+
animated: { type: Boolean, reflect: true },
|
|
185
|
+
showValue: { type: Boolean, reflect: true, attribute: "show-value" }
|
|
186
|
+
};
|
|
187
|
+
constructor() {
|
|
188
|
+
super();
|
|
189
|
+
this.attachStyles(styles);
|
|
190
|
+
}
|
|
191
|
+
_getPercentage() {
|
|
192
|
+
const val = Math.max(0, Math.min(this.value || 0, this.max || 100));
|
|
193
|
+
return val / (this.max || 100) * 100;
|
|
194
|
+
}
|
|
195
|
+
_getProgressClasses() {
|
|
196
|
+
const classes = ["progress"];
|
|
197
|
+
if (this.color && COLOR_CLASSES[this.color]) {
|
|
198
|
+
classes.push(COLOR_CLASSES[this.color]);
|
|
199
|
+
}
|
|
200
|
+
if (this.size && SIZE_CLASSES[this.size]) {
|
|
201
|
+
classes.push(SIZE_CLASSES[this.size]);
|
|
202
|
+
}
|
|
203
|
+
if (this.indeterminate) {
|
|
204
|
+
classes.push("progress-indeterminate");
|
|
205
|
+
}
|
|
206
|
+
if (this.striped) {
|
|
207
|
+
classes.push("progress-striped");
|
|
208
|
+
}
|
|
209
|
+
if (this.animated && this.striped) {
|
|
210
|
+
classes.push("progress-animated");
|
|
211
|
+
}
|
|
212
|
+
return classes.join(" ");
|
|
213
|
+
}
|
|
214
|
+
render() {
|
|
215
|
+
const progressClasses = this._getProgressClasses();
|
|
216
|
+
const percentage = this._getPercentage();
|
|
217
|
+
return `
|
|
218
|
+
<div
|
|
219
|
+
class="${progressClasses}"
|
|
220
|
+
role="progressbar"
|
|
221
|
+
aria-valuenow="${this.value || 0}"
|
|
222
|
+
aria-valuemin="0"
|
|
223
|
+
aria-valuemax="${this.max || 100}"
|
|
224
|
+
part="progress"
|
|
225
|
+
>
|
|
226
|
+
<div
|
|
227
|
+
class="progress-bar"
|
|
228
|
+
style="width: ${this.indeterminate ? "50" : percentage}%"
|
|
229
|
+
part="bar"
|
|
230
|
+
></div>
|
|
231
|
+
${this.showValue && !this.indeterminate ? `<span class="progress-value" part="value">${Math.round(percentage)}%</span>` : ""}
|
|
232
|
+
</div>
|
|
233
|
+
`;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// src/index.ts
|
|
238
|
+
function register() {
|
|
239
|
+
if (!customElements.get("el-dm-progress")) {
|
|
240
|
+
customElements.define("el-dm-progress", ElDmProgress);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// src/register.ts
|
|
245
|
+
register();
|
|
246
|
+
|
|
247
|
+
//# debugId=D079B1966965FB5764756E2164756E21
|
|
248
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/el-dm-progress.ts", "../../src/index.ts", "../../src/register.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * DuskMoon Progress Element\n *\n * A progress bar component for displaying completion status.\n * Uses styles from @duskmoon-dev/core for consistent theming.\n *\n * @element el-dm-progress\n *\n * @attr {number} value - Current progress value (0-100)\n * @attr {number} max - Maximum value (default: 100)\n * @attr {string} color - Progress bar color: primary, secondary, tertiary, success, warning, error, info\n * @attr {string} size - Progress bar size: sm, md, lg\n * @attr {boolean} indeterminate - Whether to show indeterminate animation\n * @attr {boolean} striped - Whether to show striped pattern\n * @attr {boolean} animated - Whether to animate the stripes\n * @attr {boolean} show-value - Whether to show the value label\n *\n * @csspart progress - The progress container\n * @csspart bar - The progress bar\n * @csspart value - The value label\n */\n\nimport { BaseElement, css } from '@duskmoon-dev/el-core';\nimport { css as progressCSS } from '@duskmoon-dev/core/components/progress';\n\nconst COLOR_CLASSES: Record<string, string> = {\n primary: 'progress-primary',\n secondary: 'progress-secondary',\n tertiary: 'progress-tertiary',\n success: 'progress-success',\n warning: 'progress-warning',\n error: 'progress-error',\n info: 'progress-info',\n};\n\nconst SIZE_CLASSES: Record<string, string> = {\n sm: 'progress-sm',\n md: '',\n lg: 'progress-lg',\n};\n\nexport type ProgressColor =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'success'\n | 'warning'\n | 'error'\n | 'info';\nexport type ProgressSize = 'sm' | 'md' | 'lg';\n\n// Strip @layer wrapper for Shadow DOM compatibility\nconst coreStyles = progressCSS.replace(/@layer\\s+components\\s*\\{/, '').replace(/\\}\\s*$/, '');\n\nconst styles = css`\n :host {\n display: block;\n width: 100%;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n ${coreStyles}\n\n .progress {\n position: relative;\n width: 100%;\n height: 0.5rem;\n background-color: var(--color-surface-variant);\n border-radius: 9999px;\n overflow: hidden;\n font-family: inherit;\n }\n\n .progress-sm {\n height: 0.25rem;\n }\n\n .progress-lg {\n height: 1rem;\n }\n\n .progress-bar {\n height: 100%;\n background-color: var(--color-primary);\n border-radius: 9999px;\n transition: width 300ms ease;\n }\n\n .progress-primary .progress-bar {\n background-color: var(--color-primary);\n }\n\n .progress-secondary .progress-bar {\n background-color: var(--color-secondary);\n }\n\n .progress-tertiary .progress-bar {\n background-color: var(--color-tertiary);\n }\n\n .progress-success .progress-bar {\n background-color: var(--color-success);\n }\n\n .progress-warning .progress-bar {\n background-color: var(--color-warning);\n }\n\n .progress-error .progress-bar {\n background-color: var(--color-error);\n }\n\n .progress-info .progress-bar {\n background-color: var(--color-info);\n }\n\n .progress-striped .progress-bar {\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n }\n\n .progress-animated .progress-bar {\n animation: progress-stripes 1s linear infinite;\n }\n\n @keyframes progress-stripes {\n 0% {\n background-position: 1rem 0;\n }\n 100% {\n background-position: 0 0;\n }\n }\n\n .progress-indeterminate .progress-bar {\n width: 50% !important;\n animation: progress-indeterminate 1.5s ease-in-out infinite;\n }\n\n @keyframes progress-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(200%);\n }\n }\n\n .progress-value {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 0.625rem;\n font-weight: 600;\n color: var(--color-on-surface);\n }\n\n .progress-lg .progress-value {\n font-size: 0.75rem;\n }\n`;\n\nexport class ElDmProgress extends BaseElement {\n static properties = {\n value: { type: Number, reflect: true, default: 0 },\n max: { type: Number, reflect: true, default: 100 },\n color: { type: String, reflect: true, default: 'primary' },\n size: { type: String, reflect: true },\n indeterminate: { type: Boolean, reflect: true },\n striped: { type: Boolean, reflect: true },\n animated: { type: Boolean, reflect: true },\n showValue: { type: Boolean, reflect: true, attribute: 'show-value' },\n };\n\n declare value: number;\n declare max: number;\n declare color: ProgressColor;\n declare size: ProgressSize;\n declare indeterminate: boolean;\n declare striped: boolean;\n declare animated: boolean;\n declare showValue: boolean;\n\n constructor() {\n super();\n this.attachStyles(styles);\n }\n\n private _getPercentage(): number {\n const val = Math.max(0, Math.min(this.value || 0, this.max || 100));\n return (val / (this.max || 100)) * 100;\n }\n\n private _getProgressClasses(): string {\n const classes = ['progress'];\n\n if (this.color && COLOR_CLASSES[this.color]) {\n classes.push(COLOR_CLASSES[this.color]);\n }\n\n if (this.size && SIZE_CLASSES[this.size]) {\n classes.push(SIZE_CLASSES[this.size]);\n }\n\n if (this.indeterminate) {\n classes.push('progress-indeterminate');\n }\n\n if (this.striped) {\n classes.push('progress-striped');\n }\n\n if (this.animated && this.striped) {\n classes.push('progress-animated');\n }\n\n return classes.join(' ');\n }\n\n render(): string {\n const progressClasses = this._getProgressClasses();\n const percentage = this._getPercentage();\n\n return `\n <div\n class=\"${progressClasses}\"\n role=\"progressbar\"\n aria-valuenow=\"${this.value || 0}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"${this.max || 100}\"\n part=\"progress\"\n >\n <div\n class=\"progress-bar\"\n style=\"width: ${this.indeterminate ? '50' : percentage}%\"\n part=\"bar\"\n ></div>\n ${this.showValue && !this.indeterminate ? `<span class=\"progress-value\" part=\"value\">${Math.round(percentage)}%</span>` : ''}\n </div>\n `;\n }\n}\n",
|
|
6
|
+
"/**\n * @duskmoon-dev/el-progress\n *\n * DuskMoon Progress custom element\n */\n\nimport { ElDmProgress } from './el-dm-progress.js';\n\nexport { ElDmProgress };\nexport type { ProgressColor, ProgressSize } from './el-dm-progress.js';\n\n/**\n * Register the el-dm-progress custom element\n *\n * @example\n * ```ts\n * import { register } from '@duskmoon-dev/el-progress';\n * register();\n * ```\n */\nexport function register(): void {\n if (!customElements.get('el-dm-progress')) {\n customElements.define('el-dm-progress', ElDmProgress);\n }\n}\n",
|
|
7
|
+
"import { register } from './index.js';\nregister();\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "D079B1966965FB5764756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|