@reliability-design/web 1.0.2 → 1.0.6
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/components/rel-accordion/README.md +132 -0
- package/dist/components/rel-accordion/rel-accordion.ts +61 -29
- package/dist/components/rel-alert/README.md +141 -0
- package/dist/components/rel-alert/rel-alert.ts +110 -67
- package/dist/components/rel-avatar/README.md +119 -0
- package/dist/components/rel-avatar/rel-avatar.ts +8 -15
- package/dist/components/rel-badge/README.md +86 -0
- package/dist/components/rel-badge/rel-badge.ts +28 -21
- package/dist/components/rel-breadcrumb/README.md +102 -0
- package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +24 -18
- package/dist/components/rel-button/README.md +130 -0
- package/dist/components/rel-button/rel-button.ts +39 -59
- package/dist/components/rel-calendar/README.md +109 -0
- package/dist/components/rel-calendar/index.ts +1 -0
- package/dist/components/rel-calendar/rel-calendar.ts +467 -0
- package/dist/components/rel-card/README.md +94 -0
- package/dist/components/rel-card/rel-card.ts +21 -11
- package/dist/components/rel-cardmedia/README.md +127 -0
- package/dist/components/rel-cardmedia/rel-cardmedia.ts +22 -18
- package/dist/components/rel-carousel/README.md +166 -0
- package/dist/components/rel-carousel/index.ts +1 -0
- package/dist/components/rel-carousel/rel-carousel.ts +469 -0
- package/dist/components/rel-chart/README.md +286 -0
- package/dist/components/rel-chart/index.ts +1 -0
- package/dist/components/rel-chart/rel-chart.ts +736 -0
- package/dist/components/rel-checkbox/README.md +77 -0
- package/dist/components/rel-checkbox/rel-checkbox.ts +36 -45
- package/dist/components/rel-chip/README.md +114 -0
- package/dist/components/rel-chip/rel-chip.ts +47 -122
- package/dist/components/rel-container/README.md +99 -0
- package/dist/components/rel-container/rel-container.ts +1 -6
- package/dist/components/rel-date-picker/README.md +253 -0
- package/dist/components/rel-date-picker/index.ts +1 -0
- package/dist/components/rel-date-picker/rel-date-picker.ts +916 -0
- package/dist/components/rel-divider/README.md +100 -0
- package/dist/components/rel-divider/rel-divider.ts +37 -37
- package/dist/components/rel-drawer/README.md +200 -0
- package/dist/components/rel-drawer/index.ts +1 -0
- package/dist/components/rel-drawer/rel-drawer.ts +621 -0
- package/dist/components/rel-kbd/README.md +151 -0
- package/dist/components/rel-kbd/rel-kbd.ts +118 -0
- package/dist/components/rel-layout/README.md +88 -0
- package/dist/components/rel-layout/rel-layout.ts +12 -14
- package/dist/components/rel-menu/README.md +151 -0
- package/dist/components/rel-menu/rel-menu.ts +18 -10
- package/dist/components/rel-menubar/README.md +329 -0
- package/dist/components/rel-menubar/index.ts +2 -0
- package/dist/components/rel-menubar/rel-menubar-menu.ts +16 -0
- package/dist/components/rel-menubar/rel-menubar.ts +576 -0
- package/dist/components/rel-nav-menu/README.md +289 -0
- package/dist/components/rel-nav-menu/index.ts +3 -0
- package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +143 -0
- package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +53 -0
- package/dist/components/rel-nav-menu/rel-nav-menu.ts +331 -0
- package/dist/components/rel-navbar/README.md +126 -0
- package/dist/components/rel-navbar/rel-navbar.ts +91 -0
- package/dist/components/rel-otp/README.md +440 -0
- package/dist/components/rel-otp/index.ts +1 -0
- package/dist/components/rel-otp/rel-otp.ts +504 -0
- package/dist/components/rel-pagination/README.md +410 -0
- package/dist/components/rel-pagination/index.ts +1 -0
- package/dist/components/rel-pagination/rel-pagination.ts +376 -0
- package/dist/components/rel-popover/README.md +568 -0
- package/dist/components/rel-popover/index.ts +2 -0
- package/dist/components/rel-popover/rel-popover-content.ts +55 -0
- package/dist/components/rel-popover/rel-popover.ts +327 -0
- package/dist/components/rel-progress/README.md +110 -0
- package/dist/components/rel-progress/rel-progress.ts +58 -20
- package/dist/components/rel-quote-page/README.md +166 -0
- package/dist/components/rel-quote-page/rel-quote-page.ts +816 -0
- package/dist/components/rel-radio/README.md +120 -0
- package/dist/components/rel-radio/rel-radio.ts +41 -73
- package/dist/components/rel-resizable/README.md +140 -0
- package/dist/components/rel-resizable/index.ts +3 -0
- package/dist/components/rel-resizable/rel-resizable-group.ts +374 -0
- package/dist/components/rel-resizable/rel-resizable-handle.ts +149 -0
- package/dist/components/rel-resizable/rel-resizable-panel.ts +47 -0
- package/dist/components/rel-segmented-button/README.md +141 -0
- package/dist/components/rel-segmented-button/rel-segmented-button.ts +18 -13
- package/dist/components/rel-select/README.md +107 -0
- package/dist/components/rel-select/rel-select.ts +14 -14
- package/dist/components/rel-sheet/README.md +224 -0
- package/dist/components/rel-sheet/rel-sheet.ts +683 -0
- package/dist/components/rel-sidebar/README.md +209 -0
- package/dist/components/rel-sidebar/rel-sidebar.ts +1158 -0
- package/dist/components/rel-slider/README.md +135 -0
- package/dist/components/rel-slider/rel-slider.ts +19 -7
- package/dist/components/rel-snackbar/README.md +134 -0
- package/dist/components/rel-snackbar/rel-snackbar.ts +73 -2
- package/dist/components/rel-stepper/README.md +160 -0
- package/dist/components/rel-stepper/rel-stepper.ts +29 -8
- package/dist/components/rel-switch/README.md +102 -0
- package/dist/components/rel-switch/rel-switch.ts +22 -11
- package/dist/components/rel-tab/README.md +163 -0
- package/dist/components/rel-tab/rel-tab.ts +46 -22
- package/dist/components/rel-table/README.md +178 -0
- package/dist/components/rel-table/rel-table-body.ts +16 -0
- package/dist/components/rel-table/rel-table-caption.ts +22 -0
- package/dist/components/rel-table/rel-table-cell.ts +49 -0
- package/dist/components/rel-table/rel-table-footer.ts +18 -0
- package/dist/components/rel-table/rel-table-head.ts +33 -0
- package/dist/components/rel-table/rel-table-header.ts +16 -0
- package/dist/components/rel-table/rel-table-row.ts +32 -0
- package/dist/components/rel-table/rel-table.ts +47 -0
- package/dist/components/rel-textfield/README.md +90 -0
- package/dist/components/rel-textfield/rel-textfield.ts +37 -21
- package/dist/components/rel-toast/README.md +148 -0
- package/dist/components/rel-toast/rel-toast.ts +32 -14
- package/dist/components/rel-tooltip/README.md +103 -0
- package/dist/components/rel-tooltip/rel-tooltip.ts +9 -9
- package/dist/index.d.mts +846 -7
- package/dist/index.d.ts +846 -7
- package/dist/index.js +10860 -1803
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10820 -1809
- package/dist/index.mjs.map +1 -1
- package/dist/styles/vars.css +293 -183
- package/dist/vars-ITL2K3KO.css +294 -0
- package/package.json +2 -2
- package/dist/components/rel-accordion/rel-accordion.stories.ts +0 -313
- package/dist/components/rel-alert/rel-alert.stories.ts +0 -412
- package/dist/components/rel-avatar/rel-avatar.stories.ts +0 -327
- package/dist/components/rel-badge/rel-badge.stories.ts +0 -350
- package/dist/components/rel-breadcrumb/rel-breadcrumb.stories.ts +0 -306
- package/dist/components/rel-button/rel-button.stories.ts +0 -356
- package/dist/components/rel-card/rel-card.stories.ts +0 -299
- package/dist/components/rel-cardmedia/rel-cardmedia.stories.ts +0 -368
- package/dist/components/rel-checkbox/rel-checkbox.stories.ts +0 -414
- package/dist/components/rel-chip/rel-chip.stories.ts +0 -552
- package/dist/components/rel-container/rel-container.stories.ts +0 -239
- package/dist/components/rel-divider/rel-divider.stories.ts +0 -229
- package/dist/components/rel-layout/rel-layout.stories.ts +0 -713
- package/dist/components/rel-menu/rel-menu.stories.ts +0 -910
- package/dist/components/rel-progress/rel-progress.stories.ts +0 -817
- package/dist/components/rel-radio/rel-radio.stories.ts +0 -1048
- package/dist/components/rel-segmented-button/rel-segmented-button.stories.ts +0 -1079
- package/dist/components/rel-select/rel-select.stories.ts +0 -1201
- package/dist/components/rel-slider/rel-slider.stories.ts +0 -730
- package/dist/components/rel-snackbar/rel-snackbar.stories.ts +0 -808
- package/dist/components/rel-stepper/rel-stepper.stories.ts +0 -752
- package/dist/components/rel-switch/rel-switch.stories.ts +0 -441
- package/dist/components/rel-tab/rel-tab.stories.ts +0 -492
- package/dist/components/rel-textfield/rel-textfield.stories.ts +0 -710
- package/dist/components/rel-toast/rel-toast.stories.ts +0 -394
- package/dist/components/rel-tooltip/rel-tooltip.stories.ts +0 -364
|
@@ -1,817 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
-
import { html } from 'lit';
|
|
3
|
-
import './rel-progress';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* The Progress component provides visual feedback for loading states and task completion.
|
|
7
|
-
* Built with Lit web components for framework-agnostic usage with full token support.
|
|
8
|
-
*
|
|
9
|
-
* ## Features
|
|
10
|
-
* - **4 Progress Modes**: linear-determinate, linear-indeterminate, circular-determinate, circular-indeterminate
|
|
11
|
-
* - **Determinate Progress**: Shows specific completion percentage (0-100)
|
|
12
|
-
* - **Indeterminate Progress**: Shows ongoing activity without specific progress
|
|
13
|
-
* - **Smooth Animations**: CSS-based animations for fluid motion
|
|
14
|
-
* - **Token-Based Styling**: Uses design system tokens
|
|
15
|
-
*/
|
|
16
|
-
const meta: Meta = {
|
|
17
|
-
title: 'Components/Progress',
|
|
18
|
-
tags: ['autodocs'],
|
|
19
|
-
component: 'rel-progress',
|
|
20
|
-
argTypes: {
|
|
21
|
-
mode: {
|
|
22
|
-
control: { type: 'select' },
|
|
23
|
-
options: ['linear-determinate', 'linear-indeterminate', 'circular-determinate', 'circular-indeterminate'],
|
|
24
|
-
description: 'Progress indicator mode',
|
|
25
|
-
table: {
|
|
26
|
-
defaultValue: { summary: 'linear-determinate' },
|
|
27
|
-
type: { summary: 'string' },
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
value: {
|
|
31
|
-
control: { type: 'number', min: 0, max: 100 },
|
|
32
|
-
description: 'Progress value (0-100) for determinate modes',
|
|
33
|
-
table: {
|
|
34
|
-
defaultValue: { summary: '0' },
|
|
35
|
-
type: { summary: 'number' },
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
render: (args) => html`
|
|
40
|
-
<rel-progress mode="${args.mode || 'linear-determinate'}" value="${args.value || 0}"></rel-progress>
|
|
41
|
-
`,
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export default meta;
|
|
45
|
-
type Story = StoryObj;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Default linear determinate progress at 0%
|
|
49
|
-
*/
|
|
50
|
-
export const Default: Story = {
|
|
51
|
-
args: {
|
|
52
|
-
mode: 'linear-determinate',
|
|
53
|
-
value: 0,
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Linear determinate progress bars at various percentages
|
|
59
|
-
*/
|
|
60
|
-
export const LinearDeterminate: Story = {
|
|
61
|
-
render: () => html`
|
|
62
|
-
<div style="display: flex; flex-direction: column; gap: 24px; width: 100%; max-width: 500px;">
|
|
63
|
-
<div>
|
|
64
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">0% Complete</p>
|
|
65
|
-
<rel-progress mode="linear-determinate" value="0"></rel-progress>
|
|
66
|
-
</div>
|
|
67
|
-
|
|
68
|
-
<div>
|
|
69
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">25% Complete</p>
|
|
70
|
-
<rel-progress mode="linear-determinate" value="25"></rel-progress>
|
|
71
|
-
</div>
|
|
72
|
-
|
|
73
|
-
<div>
|
|
74
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">50% Complete</p>
|
|
75
|
-
<rel-progress mode="linear-determinate" value="50"></rel-progress>
|
|
76
|
-
</div>
|
|
77
|
-
|
|
78
|
-
<div>
|
|
79
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">75% Complete</p>
|
|
80
|
-
<rel-progress mode="linear-determinate" value="75"></rel-progress>
|
|
81
|
-
</div>
|
|
82
|
-
|
|
83
|
-
<div>
|
|
84
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">100% Complete</p>
|
|
85
|
-
<rel-progress mode="linear-determinate" value="100"></rel-progress>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
`,
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Linear indeterminate progress (continuous animation)
|
|
93
|
-
*/
|
|
94
|
-
export const LinearIndeterminate: Story = {
|
|
95
|
-
render: () => html`
|
|
96
|
-
<div style="display: flex; flex-direction: column; gap: 16px; width: 100%; max-width: 500px;">
|
|
97
|
-
<p style="margin: 0; color: var(--rel-colors-gray-primary); font-size: 14px;">Loading... (continuous animation)</p>
|
|
98
|
-
<rel-progress mode="linear-indeterminate"></rel-progress>
|
|
99
|
-
</div>
|
|
100
|
-
`,
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Circular determinate progress at various percentages
|
|
105
|
-
*/
|
|
106
|
-
export const CircularDeterminate: Story = {
|
|
107
|
-
render: () => html`
|
|
108
|
-
<div style="display: flex; gap: 32px; flex-wrap: wrap; align-items: center;">
|
|
109
|
-
<div style="text-align: center;">
|
|
110
|
-
<rel-progress mode="circular-determinate" value="0"></rel-progress>
|
|
111
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">0%</p>
|
|
112
|
-
</div>
|
|
113
|
-
|
|
114
|
-
<div style="text-align: center;">
|
|
115
|
-
<rel-progress mode="circular-determinate" value="25"></rel-progress>
|
|
116
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">25%</p>
|
|
117
|
-
</div>
|
|
118
|
-
|
|
119
|
-
<div style="text-align: center;">
|
|
120
|
-
<rel-progress mode="circular-determinate" value="50"></rel-progress>
|
|
121
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">50%</p>
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
<div style="text-align: center;">
|
|
125
|
-
<rel-progress mode="circular-determinate" value="75"></rel-progress>
|
|
126
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">75%</p>
|
|
127
|
-
</div>
|
|
128
|
-
|
|
129
|
-
<div style="text-align: center;">
|
|
130
|
-
<rel-progress mode="circular-determinate" value="100"></rel-progress>
|
|
131
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">100%</p>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
`,
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Circular indeterminate progress (spinning animation)
|
|
139
|
-
*/
|
|
140
|
-
export const CircularIndeterminate: Story = {
|
|
141
|
-
render: () => html`
|
|
142
|
-
<div style="text-align: center;">
|
|
143
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
144
|
-
<p style="margin: 16px 0 0; color: var(--rel-colors-gray-primary); font-size: 14px;">Loading...</p>
|
|
145
|
-
</div>
|
|
146
|
-
`,
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* File upload simulation with linear progress
|
|
151
|
-
*/
|
|
152
|
-
export const FileUpload: Story = {
|
|
153
|
-
render: () => html`
|
|
154
|
-
<div style="max-width: 500px;">
|
|
155
|
-
<div style="background: white; padding: 20px; border-radius: 8px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
156
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 16px;">Uploading Files</h4>
|
|
157
|
-
|
|
158
|
-
<div style="margin-bottom: 20px;">
|
|
159
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
160
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">document.pdf</span>
|
|
161
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">45%</span>
|
|
162
|
-
</div>
|
|
163
|
-
<rel-progress mode="linear-determinate" value="45"></rel-progress>
|
|
164
|
-
</div>
|
|
165
|
-
|
|
166
|
-
<div style="margin-bottom: 20px;">
|
|
167
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
168
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">image.jpg</span>
|
|
169
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">80%</span>
|
|
170
|
-
</div>
|
|
171
|
-
<rel-progress mode="linear-determinate" value="80"></rel-progress>
|
|
172
|
-
</div>
|
|
173
|
-
|
|
174
|
-
<div>
|
|
175
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
176
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">video.mp4</span>
|
|
177
|
-
<span style="color: var(--rel-colors-green-success); font-size: 13px;">✓ Complete</span>
|
|
178
|
-
</div>
|
|
179
|
-
<rel-progress mode="linear-determinate" value="100"></rel-progress>
|
|
180
|
-
</div>
|
|
181
|
-
</div>
|
|
182
|
-
</div>
|
|
183
|
-
`,
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Loading card with circular spinner
|
|
188
|
-
*/
|
|
189
|
-
export const LoadingCard: Story = {
|
|
190
|
-
render: () => html`
|
|
191
|
-
<div style="max-width: 400px;">
|
|
192
|
-
<div style="background: white; padding: 40px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-300); text-align: center;">
|
|
193
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
194
|
-
<h3 style="margin: 20px 0 8px; color: var(--rel-colors-gray-heading); font-size: 18px;">Loading Data</h3>
|
|
195
|
-
<p style="margin: 0; color: var(--rel-colors-gray-placeholder); font-size: 14px;">Please wait while we fetch your information...</p>
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
198
|
-
`,
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Multi-step process progress
|
|
203
|
-
*/
|
|
204
|
-
export const MultiStep: Story = {
|
|
205
|
-
render: () => html`
|
|
206
|
-
<div style="max-width: 600px;">
|
|
207
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
208
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Installation Progress</h4>
|
|
209
|
-
|
|
210
|
-
<div style="display: flex; align-items: center; gap: 16px; margin-bottom: 20px;">
|
|
211
|
-
<rel-progress mode="circular-determinate" value="100"></rel-progress>
|
|
212
|
-
<div style="flex: 1;">
|
|
213
|
-
<div style="font-weight: 600; color: var(--rel-colors-green-success); margin-bottom: 4px;">✓ Download Complete</div>
|
|
214
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Package downloaded successfully</div>
|
|
215
|
-
</div>
|
|
216
|
-
</div>
|
|
217
|
-
|
|
218
|
-
<div style="display: flex; align-items: center; gap: 16px; margin-bottom: 20px;">
|
|
219
|
-
<rel-progress mode="circular-determinate" value="65"></rel-progress>
|
|
220
|
-
<div style="flex: 1;">
|
|
221
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); margin-bottom: 4px;">Installing Dependencies</div>
|
|
222
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">65% complete</div>
|
|
223
|
-
</div>
|
|
224
|
-
</div>
|
|
225
|
-
|
|
226
|
-
<div style="display: flex; align-items: center; gap: 16px;">
|
|
227
|
-
<rel-progress mode="circular-determinate" value="0"></rel-progress>
|
|
228
|
-
<div style="flex: 1;">
|
|
229
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-placeholder); margin-bottom: 4px;">Finalizing Setup</div>
|
|
230
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Pending</div>
|
|
231
|
-
</div>
|
|
232
|
-
</div>
|
|
233
|
-
</div>
|
|
234
|
-
</div>
|
|
235
|
-
`,
|
|
236
|
-
};
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Dashboard with loading states
|
|
240
|
-
*/
|
|
241
|
-
export const Dashboard: Story = {
|
|
242
|
-
render: () => html`
|
|
243
|
-
<div style="display: flex; gap: 20px; flex-wrap: wrap;">
|
|
244
|
-
<div style="flex: 1; min-width: 250px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
245
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">Analytics Loading</h4>
|
|
246
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
247
|
-
<p style="margin: 16px 0 0; color: var(--rel-colors-gray-placeholder); font-size: 13px;">Fetching data...</p>
|
|
248
|
-
</div>
|
|
249
|
-
|
|
250
|
-
<div style="flex: 1; min-width: 250px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
251
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">Report Generation</h4>
|
|
252
|
-
<div style="margin-bottom: 12px;">
|
|
253
|
-
<div style="color: var(--rel-colors-gray-primary); font-size: 13px; margin-bottom: 8px;">Progress: 68%</div>
|
|
254
|
-
<rel-progress mode="linear-determinate" value="68"></rel-progress>
|
|
255
|
-
</div>
|
|
256
|
-
<p style="margin: 0; color: var(--rel-colors-gray-placeholder); font-size: 13px;">Estimated time: 2 min</p>
|
|
257
|
-
</div>
|
|
258
|
-
|
|
259
|
-
<div style="flex: 1; min-width: 250px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
260
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">Sync Status</h4>
|
|
261
|
-
<rel-progress mode="linear-indeterminate"></rel-progress>
|
|
262
|
-
<p style="margin: 16px 0 0; color: var(--rel-colors-gray-placeholder); font-size: 13px;">Syncing with server...</p>
|
|
263
|
-
</div>
|
|
264
|
-
</div>
|
|
265
|
-
`,
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* All progress modes showcase
|
|
270
|
-
*/
|
|
271
|
-
export const AllModes: Story = {
|
|
272
|
-
render: () => html`
|
|
273
|
-
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
274
|
-
<div>
|
|
275
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 16px;">Linear Determinate</h4>
|
|
276
|
-
<div style="max-width: 400px;">
|
|
277
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">Progress: 60%</p>
|
|
278
|
-
<rel-progress mode="linear-determinate" value="60"></rel-progress>
|
|
279
|
-
</div>
|
|
280
|
-
</div>
|
|
281
|
-
|
|
282
|
-
<div>
|
|
283
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 16px;">Linear Indeterminate</h4>
|
|
284
|
-
<div style="max-width: 400px;">
|
|
285
|
-
<rel-progress mode="linear-indeterminate"></rel-progress>
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
|
|
289
|
-
<div>
|
|
290
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 16px;">Circular Determinate</h4>
|
|
291
|
-
<div style="text-align: center;">
|
|
292
|
-
<rel-progress mode="circular-determinate" value="70"></rel-progress>
|
|
293
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 14px;">70%</p>
|
|
294
|
-
</div>
|
|
295
|
-
</div>
|
|
296
|
-
|
|
297
|
-
<div>
|
|
298
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 16px;">Circular Indeterminate</h4>
|
|
299
|
-
<div style="text-align: center;">
|
|
300
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
301
|
-
</div>
|
|
302
|
-
</div>
|
|
303
|
-
</div>
|
|
304
|
-
`,
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* Interactive progress demonstration
|
|
309
|
-
*/
|
|
310
|
-
export const Interactive: Story = {
|
|
311
|
-
render: () => {
|
|
312
|
-
let progress = 0;
|
|
313
|
-
const container = document.createElement('div');
|
|
314
|
-
container.style.cssText = 'max-width: 500px;';
|
|
315
|
-
|
|
316
|
-
const updateProgress = () => {
|
|
317
|
-
progress += 1;
|
|
318
|
-
if (progress > 100) progress = 0;
|
|
319
|
-
|
|
320
|
-
linearProgress.value = progress;
|
|
321
|
-
circularProgress.value = progress;
|
|
322
|
-
percentageText.textContent = `${progress}%`;
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
const linearProgress = document.createElement('rel-progress') as any;
|
|
326
|
-
linearProgress.mode = 'linear-determinate';
|
|
327
|
-
linearProgress.value = 0;
|
|
328
|
-
|
|
329
|
-
const circularProgress = document.createElement('rel-progress') as any;
|
|
330
|
-
circularProgress.mode = 'circular-determinate';
|
|
331
|
-
circularProgress.value = 0;
|
|
332
|
-
|
|
333
|
-
const percentageText = document.createElement('span');
|
|
334
|
-
percentageText.style.cssText = 'color: var(--rel-colors-gray-primary); font-size: 14px; font-weight: 600;';
|
|
335
|
-
percentageText.textContent = '0%';
|
|
336
|
-
|
|
337
|
-
container.innerHTML = `
|
|
338
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
339
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Auto-incrementing Progress</h4>
|
|
340
|
-
</div>
|
|
341
|
-
`;
|
|
342
|
-
|
|
343
|
-
const content = container.querySelector('div');
|
|
344
|
-
const linearContainer = document.createElement('div');
|
|
345
|
-
linearContainer.style.marginBottom = '24px';
|
|
346
|
-
linearContainer.appendChild(linearProgress);
|
|
347
|
-
|
|
348
|
-
const circularContainer = document.createElement('div');
|
|
349
|
-
circularContainer.style.cssText = 'display: flex; align-items: center; gap: 16px;';
|
|
350
|
-
circularContainer.appendChild(circularProgress);
|
|
351
|
-
circularContainer.appendChild(percentageText);
|
|
352
|
-
|
|
353
|
-
content?.appendChild(linearContainer);
|
|
354
|
-
content?.appendChild(circularContainer);
|
|
355
|
-
|
|
356
|
-
setInterval(updateProgress, 50);
|
|
357
|
-
|
|
358
|
-
return container;
|
|
359
|
-
},
|
|
360
|
-
};
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Edge cases: Very low and very high percentages
|
|
364
|
-
*/
|
|
365
|
-
export const EdgeCases: Story = {
|
|
366
|
-
render: () => html`
|
|
367
|
-
<div style="display: flex; flex-direction: column; gap: 24px; max-width: 500px;">
|
|
368
|
-
<div>
|
|
369
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">Just Started - 5%</p>
|
|
370
|
-
<rel-progress mode="linear-determinate" value="5"></rel-progress>
|
|
371
|
-
</div>
|
|
372
|
-
|
|
373
|
-
<div>
|
|
374
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">Almost Complete - 95%</p>
|
|
375
|
-
<rel-progress mode="linear-determinate" value="95"></rel-progress>
|
|
376
|
-
</div>
|
|
377
|
-
|
|
378
|
-
<div>
|
|
379
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">Tiny Progress - 2%</p>
|
|
380
|
-
<rel-progress mode="linear-determinate" value="2"></rel-progress>
|
|
381
|
-
</div>
|
|
382
|
-
|
|
383
|
-
<div>
|
|
384
|
-
<p style="margin: 0 0 8px; color: var(--rel-colors-gray-primary); font-size: 14px;">Nearly Done - 98%</p>
|
|
385
|
-
<rel-progress mode="linear-determinate" value="98"></rel-progress>
|
|
386
|
-
</div>
|
|
387
|
-
|
|
388
|
-
<div style="display: flex; gap: 32px; margin-top: 16px;">
|
|
389
|
-
<div style="text-align: center;">
|
|
390
|
-
<rel-progress mode="circular-determinate" value="3"></rel-progress>
|
|
391
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">3%</p>
|
|
392
|
-
</div>
|
|
393
|
-
<div style="text-align: center;">
|
|
394
|
-
<rel-progress mode="circular-determinate" value="97"></rel-progress>
|
|
395
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-primary); font-size: 13px;">97%</p>
|
|
396
|
-
</div>
|
|
397
|
-
</div>
|
|
398
|
-
</div>
|
|
399
|
-
`,
|
|
400
|
-
};
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Data download progress with file sizes
|
|
404
|
-
*/
|
|
405
|
-
export const DataDownload: Story = {
|
|
406
|
-
render: () => html`
|
|
407
|
-
<div style="max-width: 500px;">
|
|
408
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
409
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Downloading Dataset</h4>
|
|
410
|
-
|
|
411
|
-
<div style="margin-bottom: 16px;">
|
|
412
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
413
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">training-data.zip</span>
|
|
414
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">342 MB / 500 MB</span>
|
|
415
|
-
</div>
|
|
416
|
-
<rel-progress mode="linear-determinate" value="68"></rel-progress>
|
|
417
|
-
<p style="margin: 8px 0 0; color: var(--rel-colors-gray-placeholder); font-size: 12px;">Download speed: 5.2 MB/s - 30 seconds remaining</p>
|
|
418
|
-
</div>
|
|
419
|
-
</div>
|
|
420
|
-
</div>
|
|
421
|
-
`,
|
|
422
|
-
};
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Battery and resource indicators
|
|
426
|
-
*/
|
|
427
|
-
export const BatteryIndicator: Story = {
|
|
428
|
-
render: () => html`
|
|
429
|
-
<div style="display: flex; gap: 24px; flex-wrap: wrap;">
|
|
430
|
-
<div style="flex: 1; min-width: 200px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
431
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">Battery Level</h4>
|
|
432
|
-
<div style="display: flex; align-items: center; gap: 16px;">
|
|
433
|
-
<rel-progress mode="circular-determinate" value="85"></rel-progress>
|
|
434
|
-
<div>
|
|
435
|
-
<div style="font-size: 24px; font-weight: 600; color: var(--rel-colors-gray-heading);">85%</div>
|
|
436
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">2h 15m remaining</div>
|
|
437
|
-
</div>
|
|
438
|
-
</div>
|
|
439
|
-
</div>
|
|
440
|
-
|
|
441
|
-
<div style="flex: 1; min-width: 200px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
442
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">Storage Used</h4>
|
|
443
|
-
<div style="margin-bottom: 8px;">
|
|
444
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 13px;">14.2 GB / 20 GB</span>
|
|
445
|
-
</div>
|
|
446
|
-
<rel-progress mode="linear-determinate" value="71"></rel-progress>
|
|
447
|
-
<p style="margin: 12px 0 0; color: var(--rel-colors-gray-placeholder); font-size: 12px;">5.8 GB available</p>
|
|
448
|
-
</div>
|
|
449
|
-
|
|
450
|
-
<div style="flex: 1; min-width: 200px; background: white; padding: 20px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
451
|
-
<h4 style="margin: 0 0 16px; color: var(--rel-colors-gray-heading); font-size: 15px;">CPU Usage</h4>
|
|
452
|
-
<div style="margin-bottom: 8px;">
|
|
453
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 13px;">32% utilized</span>
|
|
454
|
-
</div>
|
|
455
|
-
<rel-progress mode="linear-determinate" value="32"></rel-progress>
|
|
456
|
-
<p style="margin: 12px 0 0; color: var(--rel-colors-gray-placeholder); font-size: 12px;">Normal load</p>
|
|
457
|
-
</div>
|
|
458
|
-
</div>
|
|
459
|
-
`,
|
|
460
|
-
};
|
|
461
|
-
|
|
462
|
-
/**
|
|
463
|
-
* Form submission with validation progress
|
|
464
|
-
*/
|
|
465
|
-
export const FormSubmission: Story = {
|
|
466
|
-
render: () => html`
|
|
467
|
-
<div style="max-width: 450px;">
|
|
468
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-300);">
|
|
469
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Submitting Form</h4>
|
|
470
|
-
|
|
471
|
-
<div style="display: flex; align-items: center; gap: 16px; margin-bottom: 16px;">
|
|
472
|
-
<rel-progress mode="circular-determinate" value="100"></rel-progress>
|
|
473
|
-
<div style="flex: 1;">
|
|
474
|
-
<div style="font-weight: 600; color: var(--rel-colors-green-success); font-size: 14px;">Validating data</div>
|
|
475
|
-
</div>
|
|
476
|
-
</div>
|
|
477
|
-
|
|
478
|
-
<div style="display: flex; align-items: center; gap: 16px; margin-bottom: 16px;">
|
|
479
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
480
|
-
<div style="flex: 1;">
|
|
481
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">Uploading to server</div>
|
|
482
|
-
</div>
|
|
483
|
-
</div>
|
|
484
|
-
|
|
485
|
-
<div style="display: flex; align-items: center; gap: 16px;">
|
|
486
|
-
<rel-progress mode="circular-determinate" value="0"></rel-progress>
|
|
487
|
-
<div style="flex: 1;">
|
|
488
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-placeholder); font-size: 14px;">Processing response</div>
|
|
489
|
-
</div>
|
|
490
|
-
</div>
|
|
491
|
-
</div>
|
|
492
|
-
</div>
|
|
493
|
-
`,
|
|
494
|
-
};
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* Video buffering and media loading
|
|
498
|
-
*/
|
|
499
|
-
export const VideoBuffering: Story = {
|
|
500
|
-
render: () => html`
|
|
501
|
-
<div style="max-width: 600px;">
|
|
502
|
-
<div style="background: #1a1a1a; padding: 0; border-radius: 12px; overflow: hidden; box-shadow: var(--rel-shadows-shadow-300);">
|
|
503
|
-
<div style="aspect-ratio: 16/9; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; position: relative;">
|
|
504
|
-
<div style="text-align: center;">
|
|
505
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
506
|
-
<p style="margin: 16px 0 0; color: white; font-size: 14px; font-weight: 500;">Buffering...</p>
|
|
507
|
-
</div>
|
|
508
|
-
</div>
|
|
509
|
-
<div style="padding: 16px;">
|
|
510
|
-
<div style="margin-bottom: 8px;">
|
|
511
|
-
<span style="color: rgba(255,255,255,0.7); font-size: 13px;">Buffer progress</span>
|
|
512
|
-
</div>
|
|
513
|
-
<rel-progress mode="linear-determinate" value="42"></rel-progress>
|
|
514
|
-
<div style="display: flex; justify-content: space-between; margin-top: 8px;">
|
|
515
|
-
<span style="color: rgba(255,255,255,0.6); font-size: 12px;">1:23</span>
|
|
516
|
-
<span style="color: rgba(255,255,255,0.6); font-size: 12px;">3:30</span>
|
|
517
|
-
</div>
|
|
518
|
-
</div>
|
|
519
|
-
</div>
|
|
520
|
-
</div>
|
|
521
|
-
`,
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
/**
|
|
525
|
-
* Backup and restore operations
|
|
526
|
-
*/
|
|
527
|
-
export const BackupRestore: Story = {
|
|
528
|
-
render: () => html`
|
|
529
|
-
<div style="max-width: 550px;">
|
|
530
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
531
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">System Backup</h4>
|
|
532
|
-
|
|
533
|
-
<div style="margin-bottom: 24px;">
|
|
534
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
535
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px; font-weight: 500;">Backing up files</span>
|
|
536
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">1,247 / 2,000 files</span>
|
|
537
|
-
</div>
|
|
538
|
-
<rel-progress mode="linear-determinate" value="62"></rel-progress>
|
|
539
|
-
<div style="margin-top: 8px; color: var(--rel-colors-gray-placeholder); font-size: 12px;">
|
|
540
|
-
<div>Current: /users/documents/projects/...</div>
|
|
541
|
-
<div style="margin-top: 4px;">Estimated time remaining: 4 minutes</div>
|
|
542
|
-
</div>
|
|
543
|
-
</div>
|
|
544
|
-
|
|
545
|
-
<div style="background: var(--rel-colors-gray-bg); padding: 16px; border-radius: 8px;">
|
|
546
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 4px;">
|
|
547
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 13px;">Total progress</span>
|
|
548
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 13px; font-weight: 600;">62%</span>
|
|
549
|
-
</div>
|
|
550
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">3.7 GB backed up</div>
|
|
551
|
-
</div>
|
|
552
|
-
</div>
|
|
553
|
-
</div>
|
|
554
|
-
`,
|
|
555
|
-
};
|
|
556
|
-
|
|
557
|
-
/**
|
|
558
|
-
* Model training and computation
|
|
559
|
-
*/
|
|
560
|
-
export const ModelTraining: Story = {
|
|
561
|
-
render: () => html`
|
|
562
|
-
<div style="max-width: 600px;">
|
|
563
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
564
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Training Neural Network</h4>
|
|
565
|
-
|
|
566
|
-
<div style="margin-bottom: 20px;">
|
|
567
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
568
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Epoch 47 / 100</span>
|
|
569
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">47%</span>
|
|
570
|
-
</div>
|
|
571
|
-
<rel-progress mode="linear-determinate" value="47"></rel-progress>
|
|
572
|
-
</div>
|
|
573
|
-
|
|
574
|
-
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 16px; background: var(--rel-colors-gray-bg); border-radius: 8px;">
|
|
575
|
-
<div>
|
|
576
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px; margin-bottom: 4px;">Loss</div>
|
|
577
|
-
<div style="color: var(--rel-colors-gray-heading); font-size: 16px; font-weight: 600;">0.0342</div>
|
|
578
|
-
</div>
|
|
579
|
-
<div>
|
|
580
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px; margin-bottom: 4px;">Accuracy</div>
|
|
581
|
-
<div style="color: var(--rel-colors-gray-heading); font-size: 16px; font-weight: 600;">94.2%</div>
|
|
582
|
-
</div>
|
|
583
|
-
<div>
|
|
584
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px; margin-bottom: 4px;">Time Elapsed</div>
|
|
585
|
-
<div style="color: var(--rel-colors-gray-heading); font-size: 14px;">2h 15m</div>
|
|
586
|
-
</div>
|
|
587
|
-
<div>
|
|
588
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px; margin-bottom: 4px;">ETA</div>
|
|
589
|
-
<div style="color: var(--rel-colors-gray-heading); font-size: 14px;">2h 34m</div>
|
|
590
|
-
</div>
|
|
591
|
-
</div>
|
|
592
|
-
</div>
|
|
593
|
-
</div>
|
|
594
|
-
`,
|
|
595
|
-
};
|
|
596
|
-
|
|
597
|
-
/**
|
|
598
|
-
* Queue processing with item count
|
|
599
|
-
*/
|
|
600
|
-
export const QueueProcessing: Story = {
|
|
601
|
-
render: () => html`
|
|
602
|
-
<div style="max-width: 500px;">
|
|
603
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
604
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Processing Queue</h4>
|
|
605
|
-
|
|
606
|
-
<div style="margin-bottom: 20px;">
|
|
607
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
608
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Email notifications</span>
|
|
609
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">156 / 250 sent</span>
|
|
610
|
-
</div>
|
|
611
|
-
<rel-progress mode="linear-determinate" value="62"></rel-progress>
|
|
612
|
-
</div>
|
|
613
|
-
|
|
614
|
-
<div style="margin-bottom: 20px;">
|
|
615
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
616
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Image optimization</span>
|
|
617
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">42 / 120 processed</span>
|
|
618
|
-
</div>
|
|
619
|
-
<rel-progress mode="linear-determinate" value="35"></rel-progress>
|
|
620
|
-
</div>
|
|
621
|
-
|
|
622
|
-
<div>
|
|
623
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
624
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Data export</span>
|
|
625
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Queued</span>
|
|
626
|
-
</div>
|
|
627
|
-
<rel-progress mode="linear-determinate" value="0"></rel-progress>
|
|
628
|
-
</div>
|
|
629
|
-
|
|
630
|
-
<div style="margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--rel-colors-gray-border);">
|
|
631
|
-
<div style="display: flex; justify-content: between; align-items: center; gap: 12px;">
|
|
632
|
-
<rel-progress mode="circular-determinate" value="52"></rel-progress>
|
|
633
|
-
<div style="flex: 1;">
|
|
634
|
-
<div style="color: var(--rel-colors-gray-heading); font-size: 14px; font-weight: 600;">Overall Progress: 52%</div>
|
|
635
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">198 / 370 total tasks</div>
|
|
636
|
-
</div>
|
|
637
|
-
</div>
|
|
638
|
-
</div>
|
|
639
|
-
</div>
|
|
640
|
-
</div>
|
|
641
|
-
`,
|
|
642
|
-
};
|
|
643
|
-
|
|
644
|
-
/**
|
|
645
|
-
* Installation wizard steps
|
|
646
|
-
*/
|
|
647
|
-
export const InstallationWizard: Story = {
|
|
648
|
-
render: () => html`
|
|
649
|
-
<div style="max-width: 550px;">
|
|
650
|
-
<div style="background: white; padding: 32px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-300);">
|
|
651
|
-
<h4 style="margin: 0 0 24px; color: var(--rel-colors-gray-heading); font-size: 18px;">Software Installation</h4>
|
|
652
|
-
|
|
653
|
-
<div style="margin-bottom: 32px;">
|
|
654
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 12px;">
|
|
655
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Overall Progress</span>
|
|
656
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px; font-weight: 600;">Step 2 of 4</span>
|
|
657
|
-
</div>
|
|
658
|
-
<rel-progress mode="linear-determinate" value="50"></rel-progress>
|
|
659
|
-
</div>
|
|
660
|
-
|
|
661
|
-
<div style="display: flex; flex-direction: column; gap: 20px;">
|
|
662
|
-
<div style="display: flex; align-items: start; gap: 16px;">
|
|
663
|
-
<div style="width: 32px; height: 32px; border-radius: 50%; background: var(--rel-colors-green-success); color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0;">✓</div>
|
|
664
|
-
<div style="flex: 1; padding-top: 4px;">
|
|
665
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); margin-bottom: 4px;">License Agreement</div>
|
|
666
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Accepted and verified</div>
|
|
667
|
-
</div>
|
|
668
|
-
</div>
|
|
669
|
-
|
|
670
|
-
<div style="display: flex; align-items: start; gap: 16px;">
|
|
671
|
-
<div style="width: 32px; height: 32px; border-radius: 50%; background: var(--rel-colors-black); color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0;">2</div>
|
|
672
|
-
<div style="flex: 1; padding-top: 4px;">
|
|
673
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); margin-bottom: 4px;">Installing Components</div>
|
|
674
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px; margin-bottom: 8px;">Installing required packages...</div>
|
|
675
|
-
<rel-progress mode="linear-determinate" value="73"></rel-progress>
|
|
676
|
-
</div>
|
|
677
|
-
</div>
|
|
678
|
-
|
|
679
|
-
<div style="display: flex; align-items: start; gap: 16px;">
|
|
680
|
-
<div style="width: 32px; height: 32px; border-radius: 50%; background: var(--rel-colors-gray-border); color: var(--rel-colors-gray-placeholder); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0;">3</div>
|
|
681
|
-
<div style="flex: 1; padding-top: 4px;">
|
|
682
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-placeholder); margin-bottom: 4px;">Configuration</div>
|
|
683
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Pending</div>
|
|
684
|
-
</div>
|
|
685
|
-
</div>
|
|
686
|
-
|
|
687
|
-
<div style="display: flex; align-items: start; gap: 16px;">
|
|
688
|
-
<div style="width: 32px; height: 32px; border-radius: 50%; background: var(--rel-colors-gray-border); color: var(--rel-colors-gray-placeholder); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0;">4</div>
|
|
689
|
-
<div style="flex: 1; padding-top: 4px;">
|
|
690
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-placeholder); margin-bottom: 4px;">Finalization</div>
|
|
691
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Pending</div>
|
|
692
|
-
</div>
|
|
693
|
-
</div>
|
|
694
|
-
</div>
|
|
695
|
-
</div>
|
|
696
|
-
</div>
|
|
697
|
-
`,
|
|
698
|
-
};
|
|
699
|
-
|
|
700
|
-
/**
|
|
701
|
-
* Exam or test timer progress
|
|
702
|
-
*/
|
|
703
|
-
export const TestTimer: Story = {
|
|
704
|
-
render: () => html`
|
|
705
|
-
<div style="max-width: 500px;">
|
|
706
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
707
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Assessment Progress</h4>
|
|
708
|
-
|
|
709
|
-
<div style="display: flex; align-items: center; gap: 20px; margin-bottom: 24px;">
|
|
710
|
-
<rel-progress mode="circular-determinate" value="40"></rel-progress>
|
|
711
|
-
<div>
|
|
712
|
-
<div style="font-size: 28px; font-weight: 700; color: var(--rel-colors-gray-heading); margin-bottom: 4px;">24:00</div>
|
|
713
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">Time Remaining</div>
|
|
714
|
-
</div>
|
|
715
|
-
</div>
|
|
716
|
-
|
|
717
|
-
<div style="margin-bottom: 16px;">
|
|
718
|
-
<div style="display: flex; justify-content: space-between; margin-bottom: 8px;">
|
|
719
|
-
<span style="color: var(--rel-colors-gray-primary); font-size: 14px;">Questions Answered</span>
|
|
720
|
-
<span style="color: var(--rel-colors-gray-placeholder); font-size: 13px;">12 / 30</span>
|
|
721
|
-
</div>
|
|
722
|
-
<rel-progress mode="linear-determinate" value="40"></rel-progress>
|
|
723
|
-
</div>
|
|
724
|
-
|
|
725
|
-
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-top: 20px;">
|
|
726
|
-
<div style="text-align: center; padding: 12px; background: var(--rel-colors-gray-bg); border-radius: 8px;">
|
|
727
|
-
<div style="font-size: 20px; font-weight: 600; color: var(--rel-colors-green-success); margin-bottom: 4px;">10</div>
|
|
728
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Correct</div>
|
|
729
|
-
</div>
|
|
730
|
-
<div style="text-align: center; padding: 12px; background: var(--rel-colors-gray-bg); border-radius: 8px;">
|
|
731
|
-
<div style="font-size: 20px; font-weight: 600; color: var(--rel-colors-gray-heading); margin-bottom: 4px;">2</div>
|
|
732
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Incorrect</div>
|
|
733
|
-
</div>
|
|
734
|
-
<div style="text-align: center; padding: 12px; background: var(--rel-colors-gray-bg); border-radius: 8px;">
|
|
735
|
-
<div style="font-size: 20px; font-weight: 600; color: var(--rel-colors-gray-primary); margin-bottom: 4px;">18</div>
|
|
736
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Remaining</div>
|
|
737
|
-
</div>
|
|
738
|
-
</div>
|
|
739
|
-
</div>
|
|
740
|
-
</div>
|
|
741
|
-
`,
|
|
742
|
-
};
|
|
743
|
-
|
|
744
|
-
/**
|
|
745
|
-
* Concurrent operations dashboard
|
|
746
|
-
*/
|
|
747
|
-
export const ConcurrentOperations: Story = {
|
|
748
|
-
render: () => html`
|
|
749
|
-
<div style="max-width: 700px;">
|
|
750
|
-
<div style="background: white; padding: 24px; border-radius: 12px; box-shadow: var(--rel-shadows-shadow-200);">
|
|
751
|
-
<h4 style="margin: 0 0 20px; color: var(--rel-colors-gray-heading); font-size: 16px;">Active Operations</h4>
|
|
752
|
-
|
|
753
|
-
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px;">
|
|
754
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
755
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
756
|
-
<rel-progress mode="circular-determinate" value="88"></rel-progress>
|
|
757
|
-
<div>
|
|
758
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">Database Sync</div>
|
|
759
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">88%</div>
|
|
760
|
-
</div>
|
|
761
|
-
</div>
|
|
762
|
-
</div>
|
|
763
|
-
|
|
764
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
765
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
766
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
767
|
-
<div>
|
|
768
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">API Request</div>
|
|
769
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Processing...</div>
|
|
770
|
-
</div>
|
|
771
|
-
</div>
|
|
772
|
-
</div>
|
|
773
|
-
|
|
774
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
775
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
776
|
-
<rel-progress mode="circular-determinate" value="100"></rel-progress>
|
|
777
|
-
<div>
|
|
778
|
-
<div style="font-weight: 600; color: var(--rel-colors-green-success); font-size: 14px;">File Export</div>
|
|
779
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Complete</div>
|
|
780
|
-
</div>
|
|
781
|
-
</div>
|
|
782
|
-
</div>
|
|
783
|
-
|
|
784
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
785
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
786
|
-
<rel-progress mode="circular-determinate" value="34"></rel-progress>
|
|
787
|
-
<div>
|
|
788
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">Image Resize</div>
|
|
789
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">34%</div>
|
|
790
|
-
</div>
|
|
791
|
-
</div>
|
|
792
|
-
</div>
|
|
793
|
-
|
|
794
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
795
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
796
|
-
<rel-progress mode="circular-determinate" value="56"></rel-progress>
|
|
797
|
-
<div>
|
|
798
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">PDF Generate</div>
|
|
799
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">56%</div>
|
|
800
|
-
</div>
|
|
801
|
-
</div>
|
|
802
|
-
</div>
|
|
803
|
-
|
|
804
|
-
<div style="padding: 16px; border: 1px solid var(--rel-colors-gray-border); border-radius: 8px;">
|
|
805
|
-
<div style="display: flex; align-items: center; gap: 12px; margin-bottom: 12px;">
|
|
806
|
-
<rel-progress mode="circular-indeterminate"></rel-progress>
|
|
807
|
-
<div>
|
|
808
|
-
<div style="font-weight: 600; color: var(--rel-colors-gray-heading); font-size: 14px;">Cache Clear</div>
|
|
809
|
-
<div style="color: var(--rel-colors-gray-placeholder); font-size: 12px;">Running...</div>
|
|
810
|
-
</div>
|
|
811
|
-
</div>
|
|
812
|
-
</div>
|
|
813
|
-
</div>
|
|
814
|
-
</div>
|
|
815
|
-
</div>
|
|
816
|
-
`,
|
|
817
|
-
};
|