@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.
Files changed (145) hide show
  1. package/dist/components/rel-accordion/README.md +132 -0
  2. package/dist/components/rel-accordion/rel-accordion.ts +61 -29
  3. package/dist/components/rel-alert/README.md +141 -0
  4. package/dist/components/rel-alert/rel-alert.ts +110 -67
  5. package/dist/components/rel-avatar/README.md +119 -0
  6. package/dist/components/rel-avatar/rel-avatar.ts +8 -15
  7. package/dist/components/rel-badge/README.md +86 -0
  8. package/dist/components/rel-badge/rel-badge.ts +28 -21
  9. package/dist/components/rel-breadcrumb/README.md +102 -0
  10. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +24 -18
  11. package/dist/components/rel-button/README.md +130 -0
  12. package/dist/components/rel-button/rel-button.ts +39 -59
  13. package/dist/components/rel-calendar/README.md +109 -0
  14. package/dist/components/rel-calendar/index.ts +1 -0
  15. package/dist/components/rel-calendar/rel-calendar.ts +467 -0
  16. package/dist/components/rel-card/README.md +94 -0
  17. package/dist/components/rel-card/rel-card.ts +21 -11
  18. package/dist/components/rel-cardmedia/README.md +127 -0
  19. package/dist/components/rel-cardmedia/rel-cardmedia.ts +22 -18
  20. package/dist/components/rel-carousel/README.md +166 -0
  21. package/dist/components/rel-carousel/index.ts +1 -0
  22. package/dist/components/rel-carousel/rel-carousel.ts +469 -0
  23. package/dist/components/rel-chart/README.md +286 -0
  24. package/dist/components/rel-chart/index.ts +1 -0
  25. package/dist/components/rel-chart/rel-chart.ts +736 -0
  26. package/dist/components/rel-checkbox/README.md +77 -0
  27. package/dist/components/rel-checkbox/rel-checkbox.ts +36 -45
  28. package/dist/components/rel-chip/README.md +114 -0
  29. package/dist/components/rel-chip/rel-chip.ts +47 -122
  30. package/dist/components/rel-container/README.md +99 -0
  31. package/dist/components/rel-container/rel-container.ts +1 -6
  32. package/dist/components/rel-date-picker/README.md +253 -0
  33. package/dist/components/rel-date-picker/index.ts +1 -0
  34. package/dist/components/rel-date-picker/rel-date-picker.ts +916 -0
  35. package/dist/components/rel-divider/README.md +100 -0
  36. package/dist/components/rel-divider/rel-divider.ts +37 -37
  37. package/dist/components/rel-drawer/README.md +200 -0
  38. package/dist/components/rel-drawer/index.ts +1 -0
  39. package/dist/components/rel-drawer/rel-drawer.ts +621 -0
  40. package/dist/components/rel-kbd/README.md +151 -0
  41. package/dist/components/rel-kbd/rel-kbd.ts +118 -0
  42. package/dist/components/rel-layout/README.md +88 -0
  43. package/dist/components/rel-layout/rel-layout.ts +12 -14
  44. package/dist/components/rel-menu/README.md +151 -0
  45. package/dist/components/rel-menu/rel-menu.ts +18 -10
  46. package/dist/components/rel-menubar/README.md +329 -0
  47. package/dist/components/rel-menubar/index.ts +2 -0
  48. package/dist/components/rel-menubar/rel-menubar-menu.ts +16 -0
  49. package/dist/components/rel-menubar/rel-menubar.ts +576 -0
  50. package/dist/components/rel-nav-menu/README.md +289 -0
  51. package/dist/components/rel-nav-menu/index.ts +3 -0
  52. package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +143 -0
  53. package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +53 -0
  54. package/dist/components/rel-nav-menu/rel-nav-menu.ts +331 -0
  55. package/dist/components/rel-navbar/README.md +126 -0
  56. package/dist/components/rel-navbar/rel-navbar.ts +91 -0
  57. package/dist/components/rel-otp/README.md +440 -0
  58. package/dist/components/rel-otp/index.ts +1 -0
  59. package/dist/components/rel-otp/rel-otp.ts +504 -0
  60. package/dist/components/rel-pagination/README.md +410 -0
  61. package/dist/components/rel-pagination/index.ts +1 -0
  62. package/dist/components/rel-pagination/rel-pagination.ts +376 -0
  63. package/dist/components/rel-popover/README.md +568 -0
  64. package/dist/components/rel-popover/index.ts +2 -0
  65. package/dist/components/rel-popover/rel-popover-content.ts +55 -0
  66. package/dist/components/rel-popover/rel-popover.ts +327 -0
  67. package/dist/components/rel-progress/README.md +110 -0
  68. package/dist/components/rel-progress/rel-progress.ts +58 -20
  69. package/dist/components/rel-quote-page/README.md +166 -0
  70. package/dist/components/rel-quote-page/rel-quote-page.ts +816 -0
  71. package/dist/components/rel-radio/README.md +120 -0
  72. package/dist/components/rel-radio/rel-radio.ts +41 -73
  73. package/dist/components/rel-resizable/README.md +140 -0
  74. package/dist/components/rel-resizable/index.ts +3 -0
  75. package/dist/components/rel-resizable/rel-resizable-group.ts +374 -0
  76. package/dist/components/rel-resizable/rel-resizable-handle.ts +149 -0
  77. package/dist/components/rel-resizable/rel-resizable-panel.ts +47 -0
  78. package/dist/components/rel-segmented-button/README.md +141 -0
  79. package/dist/components/rel-segmented-button/rel-segmented-button.ts +18 -13
  80. package/dist/components/rel-select/README.md +107 -0
  81. package/dist/components/rel-select/rel-select.ts +14 -14
  82. package/dist/components/rel-sheet/README.md +224 -0
  83. package/dist/components/rel-sheet/rel-sheet.ts +683 -0
  84. package/dist/components/rel-sidebar/README.md +209 -0
  85. package/dist/components/rel-sidebar/rel-sidebar.ts +1158 -0
  86. package/dist/components/rel-slider/README.md +135 -0
  87. package/dist/components/rel-slider/rel-slider.ts +19 -7
  88. package/dist/components/rel-snackbar/README.md +134 -0
  89. package/dist/components/rel-snackbar/rel-snackbar.ts +73 -2
  90. package/dist/components/rel-stepper/README.md +160 -0
  91. package/dist/components/rel-stepper/rel-stepper.ts +29 -8
  92. package/dist/components/rel-switch/README.md +102 -0
  93. package/dist/components/rel-switch/rel-switch.ts +22 -11
  94. package/dist/components/rel-tab/README.md +163 -0
  95. package/dist/components/rel-tab/rel-tab.ts +46 -22
  96. package/dist/components/rel-table/README.md +178 -0
  97. package/dist/components/rel-table/rel-table-body.ts +16 -0
  98. package/dist/components/rel-table/rel-table-caption.ts +22 -0
  99. package/dist/components/rel-table/rel-table-cell.ts +49 -0
  100. package/dist/components/rel-table/rel-table-footer.ts +18 -0
  101. package/dist/components/rel-table/rel-table-head.ts +33 -0
  102. package/dist/components/rel-table/rel-table-header.ts +16 -0
  103. package/dist/components/rel-table/rel-table-row.ts +32 -0
  104. package/dist/components/rel-table/rel-table.ts +47 -0
  105. package/dist/components/rel-textfield/README.md +90 -0
  106. package/dist/components/rel-textfield/rel-textfield.ts +37 -21
  107. package/dist/components/rel-toast/README.md +148 -0
  108. package/dist/components/rel-toast/rel-toast.ts +32 -14
  109. package/dist/components/rel-tooltip/README.md +103 -0
  110. package/dist/components/rel-tooltip/rel-tooltip.ts +9 -9
  111. package/dist/index.d.mts +846 -7
  112. package/dist/index.d.ts +846 -7
  113. package/dist/index.js +10860 -1803
  114. package/dist/index.js.map +1 -1
  115. package/dist/index.mjs +10820 -1809
  116. package/dist/index.mjs.map +1 -1
  117. package/dist/styles/vars.css +293 -183
  118. package/dist/vars-ITL2K3KO.css +294 -0
  119. package/package.json +2 -2
  120. package/dist/components/rel-accordion/rel-accordion.stories.ts +0 -313
  121. package/dist/components/rel-alert/rel-alert.stories.ts +0 -412
  122. package/dist/components/rel-avatar/rel-avatar.stories.ts +0 -327
  123. package/dist/components/rel-badge/rel-badge.stories.ts +0 -350
  124. package/dist/components/rel-breadcrumb/rel-breadcrumb.stories.ts +0 -306
  125. package/dist/components/rel-button/rel-button.stories.ts +0 -356
  126. package/dist/components/rel-card/rel-card.stories.ts +0 -299
  127. package/dist/components/rel-cardmedia/rel-cardmedia.stories.ts +0 -368
  128. package/dist/components/rel-checkbox/rel-checkbox.stories.ts +0 -414
  129. package/dist/components/rel-chip/rel-chip.stories.ts +0 -552
  130. package/dist/components/rel-container/rel-container.stories.ts +0 -239
  131. package/dist/components/rel-divider/rel-divider.stories.ts +0 -229
  132. package/dist/components/rel-layout/rel-layout.stories.ts +0 -713
  133. package/dist/components/rel-menu/rel-menu.stories.ts +0 -910
  134. package/dist/components/rel-progress/rel-progress.stories.ts +0 -817
  135. package/dist/components/rel-radio/rel-radio.stories.ts +0 -1048
  136. package/dist/components/rel-segmented-button/rel-segmented-button.stories.ts +0 -1079
  137. package/dist/components/rel-select/rel-select.stories.ts +0 -1201
  138. package/dist/components/rel-slider/rel-slider.stories.ts +0 -730
  139. package/dist/components/rel-snackbar/rel-snackbar.stories.ts +0 -808
  140. package/dist/components/rel-stepper/rel-stepper.stories.ts +0 -752
  141. package/dist/components/rel-switch/rel-switch.stories.ts +0 -441
  142. package/dist/components/rel-tab/rel-tab.stories.ts +0 -492
  143. package/dist/components/rel-textfield/rel-textfield.stories.ts +0 -710
  144. package/dist/components/rel-toast/rel-toast.stories.ts +0 -394
  145. 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
- };