pushfeedback 0.1.67 → 0.1.68

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.
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"takingScreenshot":[32],"showPreviewModal":[32],"openModal":[64]}]]]], options);
17
+ return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"canvasEditorTitle":[1,"canvas-editor-title"],"canvasEditorCancelText":[1,"canvas-editor-cancel-text"],"canvasEditorSaveText":[1,"canvas-editor-save-text"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"canvasEditorTitle":[1,"canvas-editor-title"],"canvasEditorCancelText":[1,"canvas-editor-cancel-text"],"canvasEditorSaveText":[1,"canvas-editor-save-text"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"takingScreenshot":[32],"showPreviewModal":[32],"showCanvasEditor":[32],"canvasDrawingTool":[32],"canvasDrawingColor":[32],"canvasLineWidth":[32],"isDrawing":[32],"annotations":[32],"currentAnnotation":[32],"isDragging":[32],"draggedAnnotation":[32],"dragStartPos":[32],"showColorPicker":[32],"editingColorIndex":[32],"isResizing":[32],"resizingAnnotation":[32],"resizeStartSize":[32],"hoveredAnnotation":[32],"resizeHandle":[32],"defaultColors":[32],"openModal":[64]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -17,7 +17,7 @@ const patchBrowser = () => {
17
17
  };
18
18
 
19
19
  patchBrowser().then(options => {
20
- return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"takingScreenshot":[32],"showPreviewModal":[32],"openModal":[64]}]]]], options);
20
+ return index.bootstrapLazy([["feedback-button_2.cjs",[[1,"feedback-button",{"buttonPosition":[1,"button-position"],"buttonStyle":[1,"button-style"],"hideIcon":[4,"hide-icon"],"hideMobile":[4,"hide-mobile"],"sessionId":[1537,"session-id"],"metadata":[1],"submit":[4],"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"isEmailRequired":[4,"is-email-required"],"fetchData":[4,"fetch-data"],"hideEmail":[4,"hide-email"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"modalPosition":[1,"modal-position"],"project":[1],"rating":[2],"ratingMode":[1,"rating-mode"],"canvasEditorTitle":[1,"canvas-editor-title"],"canvasEditorCancelText":[1,"canvas-editor-cancel-text"],"canvasEditorSaveText":[1,"canvas-editor-save-text"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"footerText":[1,"footer-text"],"messagePlaceholder":[1,"message-placeholder"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"sendButtonText":[1,"send-button-text"],"successMessage":[1,"success-message"]}],[1,"feedback-modal",{"customFont":[4,"custom-font"],"emailAddress":[1,"email-address"],"hideEmail":[4,"hide-email"],"isEmailRequired":[4,"is-email-required"],"ratingMode":[1,"rating-mode"],"hasSelectedElement":[1540,"has-selected-element"],"hidePrivacyPolicy":[4,"hide-privacy-policy"],"hideRating":[4,"hide-rating"],"hideScreenshotButton":[4,"hide-screenshot-button"],"project":[1],"showScreenshotMode":[1540,"show-screenshot-mode"],"showScreenshotTopBar":[1540,"show-screenshot-top-bar"],"showModal":[1540,"show-modal"],"rating":[2],"metadata":[1],"fetchData":[4,"fetch-data"],"emailPlaceholder":[1,"email-placeholder"],"errorMessage":[1,"error-message"],"errorMessage403":[1,"error-message-4-0-3"],"errorMessage404":[1,"error-message-4-0-4"],"messagePlaceholder":[1,"message-placeholder"],"footerText":[1,"footer-text"],"modalPosition":[1,"modal-position"],"modalTitle":[1,"modal-title"],"modalTitleError":[1,"modal-title-error"],"modalTitleSuccess":[1,"modal-title-success"],"privacyPolicyText":[1,"privacy-policy-text"],"ratingPlaceholder":[1,"rating-placeholder"],"ratingStarsPlaceholder":[1,"rating-stars-placeholder"],"sendButtonText":[1,"send-button-text"],"screenshotAttachedText":[1,"screenshot-attached-text"],"screenshotButtonText":[1,"screenshot-button-text"],"screenshotTakingText":[1,"screenshot-taking-text"],"screenshotTopbarText":[1,"screenshot-topbar-text"],"successMessage":[1,"success-message"],"canvasEditorTitle":[1,"canvas-editor-title"],"canvasEditorCancelText":[1,"canvas-editor-cancel-text"],"canvasEditorSaveText":[1,"canvas-editor-save-text"],"sending":[32],"formMessage":[32],"formEmail":[32],"formSuccess":[32],"formVerification":[32],"formError":[32],"formErrorStatus":[32],"encodedScreenshot":[32],"isPrivacyChecked":[32],"whitelabel":[32],"selectedRating":[32],"overlayVisible":[32],"isAnimating":[32],"takingScreenshot":[32],"showPreviewModal":[32],"showCanvasEditor":[32],"canvasDrawingTool":[32],"canvasDrawingColor":[32],"canvasLineWidth":[32],"isDrawing":[32],"annotations":[32],"currentAnnotation":[32],"isDragging":[32],"draggedAnnotation":[32],"dragStartPos":[32],"showColorPicker":[32],"editingColorIndex":[32],"isResizing":[32],"resizingAnnotation":[32],"resizeStartSize":[32],"hoveredAnnotation":[32],"resizeHandle":[32],"defaultColors":[32],"openModal":[64]}]]]], options);
21
21
  });
22
22
 
23
23
  exports.setNonce = index.setNonce;
@@ -20,6 +20,9 @@ export class FeedbackButton {
20
20
  this.project = '';
21
21
  this.rating = undefined;
22
22
  this.ratingMode = 'thumbs';
23
+ this.canvasEditorTitle = 'Edit screenshot';
24
+ this.canvasEditorCancelText = 'Cancel';
25
+ this.canvasEditorSaveText = 'Save';
23
26
  this.emailPlaceholder = 'Email address (optional)';
24
27
  this.errorMessage = 'Please try again later.';
25
28
  this.errorMessage403 = 'The request URL does not match the one defined in PushFeedback for this project.';
@@ -80,6 +83,9 @@ export class FeedbackButton {
80
83
  'project',
81
84
  'rating',
82
85
  'ratingMode',
86
+ 'canvasEditorTitle',
87
+ 'canvasEditorCancelText',
88
+ 'canvasEditorSaveText',
83
89
  'emailPlaceholder',
84
90
  'errorMessage',
85
91
  'errorMessage403',
@@ -526,6 +532,60 @@ export class FeedbackButton {
526
532
  "reflect": false,
527
533
  "defaultValue": "'thumbs'"
528
534
  },
535
+ "canvasEditorTitle": {
536
+ "type": "string",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "string",
540
+ "resolved": "string",
541
+ "references": {}
542
+ },
543
+ "required": false,
544
+ "optional": false,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": ""
548
+ },
549
+ "attribute": "canvas-editor-title",
550
+ "reflect": false,
551
+ "defaultValue": "'Edit screenshot'"
552
+ },
553
+ "canvasEditorCancelText": {
554
+ "type": "string",
555
+ "mutable": false,
556
+ "complexType": {
557
+ "original": "string",
558
+ "resolved": "string",
559
+ "references": {}
560
+ },
561
+ "required": false,
562
+ "optional": false,
563
+ "docs": {
564
+ "tags": [],
565
+ "text": ""
566
+ },
567
+ "attribute": "canvas-editor-cancel-text",
568
+ "reflect": false,
569
+ "defaultValue": "'Cancel'"
570
+ },
571
+ "canvasEditorSaveText": {
572
+ "type": "string",
573
+ "mutable": false,
574
+ "complexType": {
575
+ "original": "string",
576
+ "resolved": "string",
577
+ "references": {}
578
+ },
579
+ "required": false,
580
+ "optional": false,
581
+ "docs": {
582
+ "tags": [],
583
+ "text": ""
584
+ },
585
+ "attribute": "canvas-editor-save-text",
586
+ "reflect": false,
587
+ "defaultValue": "'Save'"
588
+ },
529
589
  "emailPlaceholder": {
530
590
  "type": "string",
531
591
  "mutable": false,
@@ -344,37 +344,388 @@
344
344
  object-fit: cover;
345
345
  }
346
346
 
347
- .preview-modal-overlay {
347
+
348
+
349
+ .screenshot-loading {
350
+ display: inline-flex;
351
+ align-items: center;
352
+ margin-right: 8px;
353
+ }
354
+
355
+ /* Canvas Editor Styles - Consistent with Widget Design */
356
+ .canvas-editor-overlay {
348
357
  position: fixed;
349
358
  top: 0;
350
359
  left: 0;
351
360
  right: 0;
352
361
  bottom: 0;
353
- background-color: rgba(0, 0, 0, 0.8);
354
- z-index: 10000;
362
+ background-color: var(--feedback-modal-screenshot-bg-color);
363
+ z-index: 10001;
364
+ display: flex;
365
+ align-items: center;
366
+ justify-content: center;
367
+ }
368
+
369
+ .canvas-editor-modal {
370
+ width: 95vw;
371
+ height: 98vh;
372
+ background: var(--feedback-canvas-editor-bg-color);
373
+ border-radius: var(--feedback-modal-content-border-radius);
374
+ display: flex;
375
+ flex-direction: column;
376
+ overflow: hidden;
377
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);
378
+ }
379
+
380
+ .canvas-editor-header {
381
+ background: var(--feedback-canvas-editor-header-bg-color);
382
+ border-bottom: 1px solid var(--feedback-canvas-editor-border-color);
383
+ padding: 12px 16px;
384
+ display: flex;
385
+ flex-direction: column;
386
+ gap: 12px;
387
+ flex-shrink: 0;
388
+ }
389
+
390
+ .canvas-editor-title h3 {
391
+ margin: 0;
392
+ font-size: var(--feedback-modal-header-font-size);
393
+ font-weight: var(--feedback-modal-header-font-weight);
394
+ color: var(--feedback-modal-header-text-color);
395
+ font-family: var(--feedback-modal-header-font-family);
396
+ }
397
+
398
+ .canvas-editor-toolbar {
399
+ display: flex;
400
+ align-items: center;
401
+ gap: 20px;
402
+ flex-wrap: wrap;
403
+ }
404
+
405
+ .toolbar-section {
406
+ display: flex;
407
+ align-items: center;
408
+ }
409
+
410
+ .toolbar-section:last-child {
411
+ margin-left: auto;
412
+ gap: 10px;
413
+ }
414
+
415
+ .tool-group {
416
+ display: flex;
417
+ align-items: center;
418
+ background: var(--feedback-canvas-editor-tool-bg-color);
419
+ border: 1px solid var(--feedback-canvas-editor-border-color);
420
+ border-radius: var(--feedback-modal-button-border-radius);
421
+ padding: 4px;
422
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .10);
423
+ }
424
+
425
+ .tool-btn {
355
426
  display: flex;
356
427
  align-items: center;
357
428
  justify-content: center;
429
+ width: 36px;
430
+ height: 36px;
431
+ border: none;
432
+ background: none;
433
+ border-radius: var(--feedback-modal-button-border-radius);
358
434
  cursor: pointer;
435
+ color: var(--feedback-canvas-editor-tool-text-color);
436
+ transition: all 0.2s ease;
437
+ position: relative;
438
+ }
439
+
440
+ .tool-btn:hover {
441
+ background: var(--feedback-canvas-editor-tool-bg-hover);
442
+ color: var(--feedback-modal-button-text-color-active);
359
443
  }
360
444
 
361
- .preview-modal {
445
+ .tool-btn.active {
446
+ background: var(--feedback-canvas-editor-tool-bg-active);
447
+ color: var(--feedback-canvas-editor-tool-text-active);
448
+ }
449
+
450
+ .tool-btn:disabled {
451
+ opacity: 0.4;
452
+ cursor: not-allowed;
453
+ }
454
+
455
+ .tool-btn:disabled:hover {
456
+ background: none;
457
+ color: var(--feedback-canvas-editor-tool-text-color);
458
+ }
459
+
460
+ .toolbar-divider {
461
+ width: 1px;
462
+ height: 20px;
463
+ background: var(--feedback-canvas-editor-divider-color);
464
+ margin: 0 6px;
465
+ }
466
+
467
+ .undo-btn {
468
+ background: var(--feedback-canvas-editor-tool-bg-color) !important;
469
+ border: 1px solid var(--feedback-canvas-editor-border-color) !important;
470
+ }
471
+
472
+ .undo-btn:hover:not(:disabled) {
473
+ background: var(--feedback-canvas-editor-tool-bg-hover) !important;
474
+ }
475
+
476
+ .color-palette {
477
+ display: flex;
478
+ align-items: center;
479
+ gap: 6px;
480
+ background: var(--feedback-canvas-editor-tool-bg-color);
481
+ border: 1px solid var(--feedback-canvas-editor-border-color);
482
+ border-radius: var(--feedback-modal-button-border-radius);
483
+ padding: 6px;
484
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .10);
485
+ }
486
+
487
+ .color-slot-wrapper {
488
+ position: relative;
489
+ }
490
+
491
+ .color-btn {
492
+ width: 28px;
493
+ height: 28px;
494
+ border-radius: var(--feedback-modal-button-border-radius);
495
+ border: 2px solid transparent;
496
+ cursor: pointer;
497
+ transition: all 0.2s ease;
362
498
  position: relative;
363
- max-width: 90vw;
364
- max-height: 90vh;
365
- border-radius: 8px;
499
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .15);
500
+ display: flex;
501
+ align-items: center;
502
+ justify-content: center;
503
+ }
504
+
505
+ .color-btn:hover {
506
+ transform: scale(1.05);
507
+ box-shadow: 0px 2px 4px 0px rgba(60, 64, 67, .25);
508
+ }
509
+
510
+ .color-btn.active {
511
+ border-color: var(--feedback-primary-color);
512
+ transform: scale(1.1);
513
+ box-shadow: 0 0 0 2px rgba(0, 112, 244, 0.2);
514
+ }
515
+
516
+ .color-btn.editing {
517
+ border-color: var(--feedback-highlight-color);
518
+ box-shadow: 0 0 0 2px rgba(255, 180, 34, 0.3);
519
+ }
520
+
521
+ .color-btn.editing:hover {
522
+ border-color: var(--feedback-highlight-color);
523
+ box-shadow: 0 0 0 2px rgba(255, 180, 34, 0.4);
524
+ }
525
+
526
+ .color-picker-dropdown {
527
+ position: absolute;
528
+ top: 100%;
529
+ left: 50%;
530
+ transform: translateX(-50%);
531
+ margin-top: 6px;
532
+ background: var(--feedback-canvas-editor-tool-bg-color);
533
+ border: 1px solid var(--feedback-canvas-editor-border-color);
534
+ border-radius: var(--feedback-modal-button-border-radius);
535
+ padding: 6px;
536
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);
537
+ z-index: 1000;
538
+ }
539
+
540
+ .color-picker-dropdown input[type="color"] {
541
+ width: 50px;
542
+ height: 32px;
543
+ border: none;
544
+ border-radius: var(--feedback-modal-button-border-radius);
545
+ cursor: pointer;
546
+ }
547
+
548
+ .size-control {
549
+ display: flex;
550
+ align-items: center;
551
+ gap: 10px;
552
+ background: var(--feedback-canvas-editor-tool-bg-color);
553
+ border: 1px solid var(--feedback-canvas-editor-border-color);
554
+ border-radius: var(--feedback-modal-button-border-radius);
555
+ padding: 6px 12px;
556
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .10);
557
+ }
558
+
559
+ .size-slider {
560
+ width: 70px;
561
+ height: 4px;
562
+ border-radius: 2px;
563
+ background: var(--feedback-canvas-editor-slider-track);
564
+ outline: none;
565
+ -webkit-appearance: none;
566
+ -moz-appearance: none;
567
+ appearance: none;
568
+ cursor: pointer;
569
+ border: none;
570
+ }
571
+
572
+ .size-slider::-webkit-slider-track {
573
+ width: 100%;
574
+ height: 4px;
575
+ cursor: pointer;
576
+ background: var(--feedback-canvas-editor-slider-track);
577
+ border-radius: 2px;
578
+ border: none;
579
+ box-shadow: none;
580
+ }
581
+
582
+ .size-slider::-webkit-slider-thumb {
583
+ -webkit-appearance: none;
584
+ width: 14px;
585
+ height: 14px;
586
+ border-radius: 50%;
587
+ background: var(--feedback-primary-color);
588
+ cursor: pointer;
589
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .20);
590
+ border: none;
591
+ margin-top: -5px; /* Center the thumb on the track */
592
+ }
593
+
594
+ .size-slider::-moz-range-track {
595
+ width: 100%;
596
+ height: 4px;
597
+ cursor: pointer;
598
+ background: var(--feedback-canvas-editor-slider-track);
599
+ border-radius: 2px;
600
+ border: none;
601
+ box-shadow: none;
602
+ }
603
+
604
+ .size-slider::-moz-range-thumb {
605
+ width: 14px;
606
+ height: 14px;
607
+ border-radius: 50%;
608
+ background: var(--feedback-primary-color);
609
+ cursor: pointer;
610
+ border: none;
611
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .20);
612
+ }
613
+
614
+ /* Firefox specific fix */
615
+ .size-slider::-moz-range-progress {
616
+ background: var(--feedback-canvas-editor-slider-track);
617
+ height: 4px;
618
+ border-radius: 2px;
619
+ }
620
+
621
+ /* IE/Edge specific */
622
+ .size-slider::-ms-track {
623
+ width: 100%;
624
+ height: 4px;
625
+ cursor: pointer;
626
+ background: transparent;
627
+ border-color: transparent;
628
+ color: transparent;
629
+ }
630
+
631
+ .size-slider::-ms-fill-lower {
632
+ background: var(--feedback-canvas-editor-slider-track);
633
+ border-radius: 2px;
634
+ }
635
+
636
+ .size-slider::-ms-fill-upper {
637
+ background: var(--feedback-canvas-editor-slider-track);
638
+ border-radius: 2px;
639
+ }
640
+
641
+ .size-slider::-ms-thumb {
642
+ width: 14px;
643
+ height: 14px;
644
+ border-radius: 50%;
645
+ background: var(--feedback-primary-color);
646
+ cursor: pointer;
647
+ border: none;
648
+ }
649
+
650
+ .size-value {
651
+ font-weight: 500;
652
+ color: var(--feedback-canvas-editor-tool-text-color);
653
+ font-size: var(--feedback-text-font-size);
654
+ min-width: 30px;
655
+ }
656
+
657
+ .action-btn {
658
+ display: flex;
659
+ align-items: center;
660
+ gap: 6px;
661
+ padding: 5px 12px;
662
+ border: 1px solid var(--feedback-canvas-editor-action-secondary-border);
663
+ border-radius: var(--feedback-modal-button-border-radius);
664
+ cursor: pointer;
665
+ font-size: var(--feedback-modal-button-font-size);
666
+ font-weight: 500;
667
+ transition: all 0.2s ease;
668
+ min-width: 65px;
669
+ justify-content: center;
670
+ height: 36px;
671
+ font-family: var(--feedback-font-family);
672
+ }
673
+
674
+ .action-btn.secondary {
675
+ background: var(--feedback-canvas-editor-action-secondary-bg);
676
+ color: var(--feedback-canvas-editor-action-secondary-text);
677
+ border-color: var(--feedback-canvas-editor-action-secondary-border);
678
+ }
679
+
680
+ .action-btn.secondary:hover {
681
+ background: var(--feedback-canvas-editor-tool-bg-hover);
682
+ color: var(--feedback-modal-button-text-color-active);
683
+ border-color: var(--feedback-modal-button-border-color-active);
684
+ }
685
+
686
+ .action-btn.primary {
687
+ background: var(--feedback-canvas-editor-action-primary-bg);
688
+ color: var(--feedback-canvas-editor-action-primary-text);
689
+ border-color: var(--feedback-modal-button-border-color-active);
690
+ }
691
+
692
+ .action-btn.primary:hover {
693
+ background: var(--feedback-modal-button-submit-bg-color-hover);
694
+ border-color: var(--feedback-modal-button-submit-border-color-hover);
695
+ }
696
+
697
+ .canvas-editor-content {
698
+ flex: 1;
699
+ display: flex;
700
+ align-items: center;
701
+ justify-content: center;
702
+ padding: 16px;
703
+ background: var(--feedback-canvas-editor-content-bg);
366
704
  overflow: hidden;
367
- cursor: default;
705
+ min-height: 0;
706
+ min-width: 0;
368
707
  }
369
708
 
370
- .preview-modal img {
709
+ .annotation-canvas {
371
710
  max-width: 100%;
372
711
  max-height: 100%;
712
+ width: auto;
713
+ height: auto;
714
+ cursor: crosshair;
715
+ border-radius: var(--feedback-modal-content-border-radius);
716
+ box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);
717
+ background: var(--feedback-white-color);
718
+ transition: box-shadow 0.3s ease;
719
+ object-fit: contain;
373
720
  display: block;
374
721
  }
375
722
 
376
- @media screen and (min-width: 768px) {
723
+ .annotation-canvas:hover {
724
+ box-shadow: 0px 2px 4px 0px rgba(60, 64, 67, .35), 0px 4px 12px 4px rgba(60, 64, 67, .20);
725
+ }
377
726
 
727
+ /* Responsive Design */
728
+ @media screen and (min-width: 768px) {
378
729
  .feedback-modal-content {
379
730
  max-width: var(--feedback-modal-content-max-width);
380
731
  }
@@ -420,7 +771,6 @@
420
771
  transform: translateY(-50%);
421
772
  }
422
773
 
423
-
424
774
  .feedback-modal-content.feedback-modal-content--sidebar-left.feedback-modal-content--open,
425
775
  .feedback-modal-content.feedback-modal-content--sidebar-right.feedback-modal-content--open{
426
776
  transform: translateX(0);
@@ -486,3 +836,61 @@
486
836
  transform: translateY(0);
487
837
  }
488
838
  }
839
+
840
+ @media (max-width: 768px) {
841
+ .canvas-editor-modal {
842
+ width: 100vw;
843
+ height: 100vh;
844
+ border-radius: 0;
845
+ }
846
+
847
+ .canvas-editor-header {
848
+ padding: 8px 12px;
849
+ gap: 8px;
850
+ }
851
+
852
+ .canvas-editor-toolbar {
853
+ flex-direction: column;
854
+ align-items: stretch;
855
+ gap: 12px;
856
+ }
857
+
858
+ .toolbar-section {
859
+ justify-content: center;
860
+ }
861
+
862
+ .toolbar-section:last-child {
863
+ margin-left: 0;
864
+ justify-content: stretch;
865
+ gap: 8px;
866
+ }
867
+
868
+ .action-btn {
869
+ flex: 1;
870
+ min-width: auto;
871
+ }
872
+
873
+ .canvas-editor-content {
874
+ padding: 8px;
875
+ }
876
+
877
+ .tool-group {
878
+ flex-wrap: wrap;
879
+ justify-content: center;
880
+ }
881
+
882
+ .color-palette {
883
+ flex-wrap: wrap;
884
+ justify-content: center;
885
+ }
886
+
887
+ .size-control {
888
+ flex-direction: column;
889
+ gap: 6px;
890
+ text-align: center;
891
+ }
892
+
893
+ .size-slider {
894
+ width: 100px;
895
+ }
896
+ }