@salesforcedevs/docs-components 1.17.0-hack-alpha8 → 1.17.2-accessfix-alpha

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.
@@ -1,440 +0,0 @@
1
- /* Comment Icon Container */
2
- .comment-icon-container {
3
- position: relative;
4
- display: inline-block;
5
- vertical-align: top;
6
- margin-right: var(--dx-g-spacing-xs, 4px);
7
- margin-top: var(--dx-g-spacing-sm, 8px);
8
- margin-bottom: calc(-1 * var(--dx-g-spacing-lg, 24px));
9
- z-index: 1000;
10
- }
11
-
12
- .comment-icon-button {
13
- background: var(--dx-g-blue-vibrant-20);
14
- border: none;
15
- border-radius: 50%;
16
- cursor: pointer;
17
- transition: all 0.3s ease;
18
- display: flex;
19
- align-items: center;
20
- justify-content: center;
21
- color: white;
22
- padding: 6px;
23
- width: 28px;
24
- height: 28px;
25
- box-sizing: border-box;
26
- }
27
-
28
- .comment-icon-button lightning-icon,
29
- .comment-icon-button c-primitive-icon {
30
- --sds-c-icon-color-foreground: white;
31
- }
32
-
33
- .comment-icon-button:hover lightning-icon,
34
- .comment-icon-button:hover c-primitive-icon {
35
- --sds-c-icon-color-foreground: white;
36
- }
37
-
38
- .comment-icon-button:hover {
39
- background: var(--dx-g-blue-vibrant-50);
40
- color: white;
41
- }
42
-
43
- .comment-icon-button:active {
44
- transform: scale(0.95);
45
- }
46
-
47
- /* Comment Count Badge */
48
- .comment-count-badge {
49
- position: absolute;
50
- top: -8px;
51
- right: -8px;
52
- background: #f44336;
53
- color: white;
54
- border-radius: 50%;
55
- width: 20px;
56
- height: 20px;
57
- font-size: 12px;
58
- font-weight: bold;
59
- display: flex;
60
- align-items: center;
61
- justify-content: center;
62
- min-width: 20px;
63
- padding: 0 2px;
64
- box-sizing: border-box;
65
- border: 2px solid white;
66
- box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
67
- z-index: 1001;
68
- }
69
-
70
- /* Popup Overlay */
71
- .popup-overlay {
72
- position: fixed;
73
- top: 0;
74
- left: 0;
75
- width: 100%;
76
- height: 100%;
77
- background: rgb(0 0 0 / 50%);
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- z-index: 2000;
82
- padding: 20px;
83
- box-sizing: border-box;
84
- }
85
-
86
- /* Popup Container */
87
- .popup-container {
88
- background: white;
89
- border-radius: 12px;
90
- box-shadow: 0 20px 40px rgb(0 0 0 / 10%);
91
- max-width: 500px;
92
- width: 100%;
93
- max-height: 80vh;
94
- overflow-y: auto;
95
- position: relative;
96
- }
97
-
98
- /* Popup Header */
99
- .popup-header {
100
- display: flex;
101
- justify-content: space-between;
102
- align-items: center;
103
- padding: 24px 24px 0;
104
- border-bottom: 1px solid #e0e0e0;
105
- margin-bottom: 24px;
106
- }
107
-
108
- .popup-title {
109
- margin: 0;
110
- font-size: 20px;
111
- font-weight: 600;
112
- color: #212121;
113
- }
114
-
115
- .close-button {
116
- background: none;
117
- border: none;
118
- cursor: pointer;
119
- padding: 8px;
120
- border-radius: 50%;
121
- display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- transition: background-color 0.2s ease;
125
- }
126
-
127
- .close-button:hover {
128
- background: #f5f5f5;
129
- }
130
-
131
- /* Popup Content */
132
- .popup-content {
133
- padding: 0 24px 24px;
134
- }
135
-
136
- /* Success Message */
137
- .success-message {
138
- display: flex;
139
- align-items: center;
140
- gap: 8px;
141
- background: #e8f5e8;
142
- color: #2e7d32;
143
- padding: 12px 16px;
144
- border-radius: 8px;
145
- margin-bottom: 16px;
146
- border-left: 4px solid #4caf50;
147
- font-size: 14px;
148
- }
149
-
150
- .success-message dx-icon {
151
- --sds-c-icon-color-foreground: #4caf50;
152
- }
153
-
154
- /* API Error Message */
155
- .api-error {
156
- display: flex;
157
- align-items: center;
158
- gap: 8px;
159
- background: #ffebee;
160
- color: #c62828;
161
- padding: 12px 16px;
162
- border-radius: 8px;
163
- margin-bottom: 16px;
164
- border-left: 4px solid #f44336;
165
- font-size: 14px;
166
- }
167
-
168
- .api-error dx-icon {
169
- --sds-c-icon-color-foreground: #f44336;
170
- }
171
-
172
- /* Loading Message */
173
- .loading-message {
174
- display: flex;
175
- align-items: center;
176
- gap: 8px;
177
- background: #e3f2fd;
178
- color: #1565c0;
179
- padding: 12px 16px;
180
- border-radius: 8px;
181
- margin-bottom: 16px;
182
- border-left: 4px solid #2196f3;
183
- font-size: 14px;
184
- }
185
-
186
- .loading-message dx-icon {
187
- --sds-c-icon-color-foreground: #2196f3;
188
-
189
- animation: spin 1s linear infinite;
190
- }
191
-
192
- @keyframes spin {
193
- from {
194
- transform: rotate(0deg);
195
- }
196
-
197
- to {
198
- transform: rotate(360deg);
199
- }
200
- }
201
-
202
- /* Comment Form */
203
- .comment-form {
204
- margin-bottom: 24px;
205
- }
206
-
207
- .form-group {
208
- margin-bottom: 20px;
209
- }
210
-
211
- .form-label {
212
- display: block;
213
- margin-bottom: 8px;
214
- font-weight: 500;
215
- color: #424242;
216
- font-size: 14px;
217
- }
218
-
219
- .form-input,
220
- .form-textarea {
221
- width: 100%;
222
- padding: 12px 16px;
223
- border: 2px solid #e0e0e0;
224
- border-radius: 8px;
225
- font-size: 14px;
226
- font-family: inherit;
227
- transition: border-color 0.2s ease;
228
- box-sizing: border-box;
229
- }
230
-
231
- .form-input:focus,
232
- .form-textarea:focus {
233
- outline: none;
234
- border-color: #1976d2;
235
- }
236
-
237
- .form-textarea {
238
- resize: vertical;
239
- min-height: 100px;
240
- }
241
-
242
- .error-message {
243
- color: #d32f2f;
244
- font-size: 12px;
245
- margin-top: 4px;
246
- }
247
-
248
- .form-actions {
249
- display: flex;
250
- justify-content: flex-end;
251
- }
252
-
253
- /* Comments Section */
254
- .comments-section {
255
- border-top: 1px solid #e0e0e0;
256
- padding-top: 24px;
257
- }
258
-
259
- .comments-title {
260
- margin: 0 0 16px;
261
- font-size: 16px;
262
- font-weight: 600;
263
- color: #212121;
264
- }
265
-
266
- .comments-list {
267
- display: flex;
268
- flex-direction: column;
269
- gap: 16px;
270
- }
271
-
272
- .comment-item {
273
- background: #f8f9fa;
274
- border-radius: 8px;
275
- padding: 16px;
276
- border-left: 4px solid #1976d2;
277
- }
278
-
279
- .comment-header {
280
- display: flex;
281
- justify-content: space-between;
282
- align-items: center;
283
- margin-bottom: 8px;
284
- }
285
-
286
- .comment-email {
287
- font-weight: 500;
288
- color: #1976d2;
289
- font-size: 14px;
290
- }
291
-
292
- .comment-time {
293
- font-size: 12px;
294
- color: #757575;
295
- }
296
-
297
- .comment-text {
298
- color: #424242;
299
- line-height: 1.5;
300
- font-size: 14px;
301
- }
302
-
303
- /* Responsive Design */
304
- @media (max-width: 768px) {
305
- .comment-icon-container {
306
- margin-right: var(--dx-g-spacing-xs, 4px);
307
- margin-top: var(--dx-g-spacing-xs, 4px);
308
- margin-bottom: calc(-1 * var(--dx-g-spacing-md, 16px));
309
- }
310
-
311
- .comment-icon-button {
312
- width: 24px;
313
- height: 24px;
314
- padding: 4px;
315
- }
316
-
317
- .comment-count-badge {
318
- width: 18px;
319
- height: 18px;
320
- font-size: 11px;
321
- top: -6px;
322
- right: -6px;
323
- }
324
-
325
- .popup-overlay {
326
- padding: 16px;
327
- }
328
-
329
- .popup-container {
330
- max-height: 90vh;
331
- }
332
-
333
- .popup-header {
334
- padding: 16px 16px 0;
335
- margin-bottom: 16px;
336
- }
337
-
338
- .popup-title {
339
- font-size: 18px;
340
- }
341
-
342
- .popup-content {
343
- padding: 0 16px 16px;
344
- }
345
-
346
- .success-message,
347
- .api-error,
348
- .loading-message {
349
- padding: 10px 12px;
350
- font-size: 13px;
351
- }
352
-
353
- .comments-section {
354
- padding-top: 16px;
355
- }
356
- }
357
-
358
- /* Dark mode support */
359
- @media (prefers-color-scheme: dark) {
360
- .popup-container {
361
- background: #303030;
362
- color: #fff;
363
- }
364
-
365
- .popup-title {
366
- color: #fff;
367
- }
368
-
369
- .popup-header {
370
- border-bottom-color: #424242;
371
- }
372
-
373
- .success-message {
374
- background: #1b5e20;
375
- color: #a5d6a7;
376
- border-left-color: #4caf50;
377
- }
378
-
379
- .api-error {
380
- background: #b71c1c;
381
- color: #ef9a9a;
382
- border-left-color: #f44336;
383
- }
384
-
385
- .loading-message {
386
- background: #0d47a1;
387
- color: #90caf9;
388
- border-left-color: #2196f3;
389
- }
390
-
391
- .form-label {
392
- color: #e0e0e0;
393
- }
394
-
395
- .form-input,
396
- .form-textarea {
397
- background: #424242;
398
- border-color: #616161;
399
- color: #fff;
400
- }
401
-
402
- .form-input:focus,
403
- .form-textarea:focus {
404
- border-color: #42a5f5;
405
- }
406
-
407
- .form-input::placeholder,
408
- .form-textarea::placeholder {
409
- color: #bdbdbd;
410
- }
411
-
412
- .close-button:hover {
413
- background: #424242;
414
- }
415
-
416
- .comments-section {
417
- border-top-color: #424242;
418
- }
419
-
420
- .comments-title {
421
- color: #fff;
422
- }
423
-
424
- .comment-item {
425
- background: #424242;
426
- border-left-color: #42a5f5;
427
- }
428
-
429
- .comment-email {
430
- color: #42a5f5;
431
- }
432
-
433
- .comment-text {
434
- color: #e0e0e0;
435
- }
436
-
437
- .comment-count-badge {
438
- border-color: #303030;
439
- }
440
- }
@@ -1,138 +0,0 @@
1
- <template>
2
- <!-- Floating Comment Icon -->
3
- <div class="comment-icon-container">
4
- <dx-button
5
- icon-symbol={iconSymbol}
6
- icon-size={iconSize}
7
- variant="base"
8
- onclick={handleIconClick}
9
- aria-label="Open comment popup"
10
- class="comment-icon-button"
11
- ></dx-button>
12
- <div if:true={showCommentCount} class="comment-count-badge">
13
- {commentCount}
14
- </div>
15
- </div>
16
-
17
- <!-- Popup Overlay -->
18
- <div if:true={open} class="popup-overlay" onclick={handleOverlayClick}>
19
- <div
20
- class="popup-container"
21
- role="dialog"
22
- aria-modal="true"
23
- aria-labelledby="popup-title"
24
- >
25
- <!-- Popup Header -->
26
- <div class="popup-header">
27
- <h3 id="popup-title" class="popup-title">{popupTitle}</h3>
28
- <dx-button
29
- icon-symbol="close"
30
- icon-size="small"
31
- variant="base"
32
- onclick={handleClose}
33
- aria-label="Close popup"
34
- class="close-button"
35
- ></dx-button>
36
- </div>
37
-
38
- <!-- Popup Content -->
39
- <div class="popup-content">
40
- <!-- Success Message -->
41
- <div if:true={submitSuccess} class="success-message">
42
- <dx-icon icon-symbol="success" icon-size="small"></dx-icon>
43
- <span>Comment posted successfully!</span>
44
- </div>
45
-
46
- <!-- API Error Message -->
47
- <div if:true={apiError} class="error-message api-error">
48
- <dx-icon icon-symbol="error" icon-size="small"></dx-icon>
49
- <span>{apiError}</span>
50
- </div>
51
-
52
- <!-- Loading State -->
53
- <div if:true={isLoading} class="loading-message">
54
- <dx-icon icon-symbol="spinner" icon-size="small"></dx-icon>
55
- <span>Loading comments...</span>
56
- </div>
57
-
58
- <!-- Comment Form -->
59
- <form class="comment-form" onsubmit={handleSubmit}>
60
- <div class="form-group">
61
- <label for="email-input" class="form-label">
62
- Email
63
- </label>
64
- <input
65
- id="email-input"
66
- type="email"
67
- class="form-input"
68
- placeholder={emailPlaceholder}
69
- value={email}
70
- oninput={handleEmailChange}
71
- required
72
- />
73
- <div if:true={emailError} class="error-message">
74
- {emailError}
75
- </div>
76
- </div>
77
-
78
- <div class="form-group">
79
- <label for="comment-input" class="form-label">
80
- Comment
81
- </label>
82
- <textarea
83
- id="comment-input"
84
- class="form-textarea"
85
- placeholder={commentPlaceholder}
86
- value={comment}
87
- oninput={handleCommentChange}
88
- rows="4"
89
- required
90
- ></textarea>
91
- <div if:true={commentError} class="error-message">
92
- {commentError}
93
- </div>
94
- </div>
95
-
96
- <div class="form-actions">
97
- <dx-button
98
- type="submit"
99
- variant="brand"
100
- disabled={submitButtonDisabled}
101
- onclick={handleSubmit}
102
- >
103
- <span if:false={isSubmitting}>
104
- {submitButtonLabel}
105
- </span>
106
- <span if:true={isSubmitting}>Posting...</span>
107
- </dx-button>
108
- </div>
109
- </form>
110
-
111
- <!-- Comments List -->
112
- <div if:true={showComments} class="comments-section">
113
- <h4 class="comments-title">Comments</h4>
114
- <div class="comments-list">
115
- <template
116
- for:each={formattedComments}
117
- for:item="comment"
118
- >
119
- <div key={comment.email} class="comment-item">
120
- <div class="comment-header">
121
- <span class="comment-email">
122
- {comment.maskedEmail}
123
- </span>
124
- <span class="comment-time">
125
- {comment.formattedTimestamp}
126
- </span>
127
- </div>
128
- <div class="comment-text">
129
- {comment.comment}
130
- </div>
131
- </div>
132
- </template>
133
- </div>
134
- </div>
135
- </div>
136
- </div>
137
- </div>
138
- </template>