@internetarchive/elements 0.4.0 → 0.4.2-webdev-9107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/src/elements/ia-audio-element/ia-audio-element.d.ts.map +1 -1
  2. package/dist/src/elements/ia-audio-element/ia-audio-element.js +2 -1
  3. package/dist/src/elements/ia-audio-element/ia-audio-element.js.map +1 -1
  4. package/dist/src/elements/ia-button/ia-button.d.ts.map +1 -1
  5. package/dist/src/elements/ia-button/ia-button.js +2 -1
  6. package/dist/src/elements/ia-button/ia-button.js.map +1 -1
  7. package/dist/src/elements/ia-combo-box/ia-combo-box.d.ts.map +1 -1
  8. package/dist/src/elements/ia-combo-box/ia-combo-box.js +2 -1
  9. package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
  10. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts.map +1 -1
  11. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js +2 -1
  12. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js.map +1 -1
  13. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts.map +1 -1
  14. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js +2 -1
  15. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js.map +1 -1
  16. package/dist/src/elements/ia-expandable-search-bar/ia-quick-search.d.ts.map +1 -1
  17. package/dist/src/elements/ia-expandable-search-bar/ia-quick-search.js +2 -1
  18. package/dist/src/elements/ia-expandable-search-bar/ia-quick-search.js.map +1 -1
  19. package/dist/src/elements/ia-image-viewer/ia-image-viewer.d.ts.map +1 -1
  20. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js +2 -1
  21. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js.map +1 -1
  22. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.d.ts.map +1 -1
  23. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js +2 -1
  24. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js.map +1 -1
  25. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.d.ts.map +1 -1
  26. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js +2 -1
  27. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js.map +1 -1
  28. package/dist/src/elements/ia-item-navigator/ia-item-navigator.d.ts.map +1 -1
  29. package/dist/src/elements/ia-item-navigator/ia-item-navigator.js +2 -1
  30. package/dist/src/elements/ia-item-navigator/ia-item-navigator.js.map +1 -1
  31. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.d.ts.map +1 -1
  32. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.js +2 -1
  33. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-button.js.map +1 -1
  34. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.d.ts.map +1 -1
  35. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.js +2 -1
  36. package/dist/src/elements/ia-item-navigator/ia-itemnav-menu-slider.js.map +1 -1
  37. package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.d.ts.map +1 -1
  38. package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.js +2 -1
  39. package/dist/src/elements/ia-item-navigator/ia-itemnav-no-theater-available.js.map +1 -1
  40. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.d.ts.map +1 -1
  41. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.js +2 -1
  42. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-share-panel.js.map +1 -1
  43. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.d.ts.map +1 -1
  44. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.js +2 -1
  45. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-sort-files-button.js.map +1 -1
  46. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.d.ts.map +1 -1
  47. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.js +2 -1
  48. package/dist/src/elements/ia-item-navigator/menus/ia-itemnav-viewable-files-panel.js.map +1 -1
  49. package/dist/src/elements/ia-otp-form/ia-otp-form.d.ts.map +1 -1
  50. package/dist/src/elements/ia-otp-form/ia-otp-form.js +2 -1
  51. package/dist/src/elements/ia-otp-form/ia-otp-form.js.map +1 -1
  52. package/dist/src/elements/ia-otp-input/ia-otp-input.d.ts.map +1 -1
  53. package/dist/src/elements/ia-otp-input/ia-otp-input.js +2 -1
  54. package/dist/src/elements/ia-otp-input/ia-otp-input.js.map +1 -1
  55. package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
  56. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +2 -1
  57. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
  58. package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
  59. package/dist/src/elements/ia-radio-player/ia-radio-player.js +2 -1
  60. package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
  61. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.d.ts.map +1 -1
  62. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js +2 -1
  63. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
  64. package/dist/src/elements/ia-reviews/assets/delete-icon.svg +8 -0
  65. package/dist/src/elements/ia-reviews/assets/star-basic.svg +6 -0
  66. package/dist/src/elements/ia-reviews/assets/star-selected.svg +8 -0
  67. package/dist/src/elements/ia-reviews/assets/star-unselected.svg +8 -0
  68. package/dist/src/elements/ia-reviews/ia-review-form.d.ts +104 -0
  69. package/dist/src/elements/ia-reviews/ia-review-form.d.ts.map +1 -0
  70. package/dist/src/elements/ia-reviews/ia-review-form.js +678 -0
  71. package/dist/src/elements/ia-reviews/ia-review-form.js.map +1 -0
  72. package/dist/src/elements/ia-reviews/ia-review.d.ts +49 -0
  73. package/dist/src/elements/ia-reviews/ia-review.d.ts.map +1 -0
  74. package/dist/src/elements/ia-reviews/ia-review.js +349 -0
  75. package/dist/src/elements/ia-reviews/ia-review.js.map +1 -0
  76. package/dist/src/elements/ia-reviews/ia-reviews.d.ts +63 -0
  77. package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +1 -0
  78. package/dist/src/elements/ia-reviews/ia-reviews.js +357 -0
  79. package/dist/src/elements/ia-reviews/ia-reviews.js.map +1 -0
  80. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts +8 -0
  81. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts.map +1 -0
  82. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js +15 -0
  83. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +1 -0
  84. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts +13 -0
  85. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts.map +1 -0
  86. package/dist/src/elements/ia-reviews/utils/collapse-space.js +19 -0
  87. package/dist/src/elements/ia-reviews/utils/collapse-space.js.map +1 -0
  88. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts +14 -0
  89. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts.map +1 -0
  90. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js +65 -0
  91. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js.map +1 -0
  92. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts +9 -0
  93. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts.map +1 -0
  94. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js +40 -0
  95. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js.map +1 -0
  96. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts +9 -0
  97. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts.map +1 -0
  98. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js +29 -0
  99. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js.map +1 -0
  100. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts +13 -0
  101. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts.map +1 -0
  102. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js +19 -0
  103. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js.map +1 -0
  104. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts.map +1 -1
  105. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js +2 -1
  106. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js.map +1 -1
  107. package/dist/src/elements/ia-scrubber-bar/ia-section-marker.d.ts.map +1 -1
  108. package/dist/src/elements/ia-scrubber-bar/ia-section-marker.js +2 -1
  109. package/dist/src/elements/ia-scrubber-bar/ia-section-marker.js.map +1 -1
  110. package/dist/src/elements/ia-sr-only-text/ia-sr-only-text.js +1 -1
  111. package/dist/src/elements/ia-sr-only-text/ia-sr-only-text.js.map +1 -1
  112. package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
  113. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +2 -1
  114. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
  115. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.d.ts.map +1 -1
  116. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js +2 -1
  117. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js.map +1 -1
  118. package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
  119. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +2 -1
  120. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
  121. package/dist/src/elements/ia-waveform-progress/ia-waveform-progress.d.ts.map +1 -1
  122. package/dist/src/elements/ia-waveform-progress/ia-waveform-progress.js +2 -1
  123. package/dist/src/elements/ia-waveform-progress/ia-waveform-progress.js.map +1 -1
  124. package/dist/src/elements/index.d.ts +3 -0
  125. package/dist/src/elements/index.d.ts.map +1 -1
  126. package/dist/src/elements/index.js +3 -0
  127. package/dist/src/elements/index.js.map +1 -1
  128. package/dist/src/labs/ia-snow/ia-snow.js +1 -1
  129. package/dist/src/labs/ia-snow/ia-snow.js.map +1 -1
  130. package/dist/src/util/custom-element.d.ts +39 -0
  131. package/dist/src/util/custom-element.d.ts.map +1 -0
  132. package/dist/src/util/custom-element.js +50 -0
  133. package/dist/src/util/custom-element.js.map +1 -0
  134. package/package.json +17 -1
@@ -0,0 +1,104 @@
1
+ import { LitElement, PropertyValues, CSSResultGroup } from 'lit';
2
+ import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
3
+ import '../../elements/ia-button/ia-button.js';
4
+ import type { FetchHandlerInterface } from '@internetarchive/fetch-handler';
5
+ import { Review } from '@internetarchive/metadata-service';
6
+ import './ia-review.js';
7
+ /**
8
+ * Renders a form to edit a given IA review.
9
+ */
10
+ export declare class IAReviewForm extends LitElement {
11
+ identifier?: string;
12
+ token: string;
13
+ baseHost: string;
14
+ endpointPath: string;
15
+ /** Form submitter's screenname, if applicable */
16
+ submitterScreenname: string;
17
+ /** Form submitter's itemname, if applicable */
18
+ submitterItemname?: string;
19
+ oldReview?: Review;
20
+ unrecoverableError?: string;
21
+ maxSubjectLength?: number;
22
+ maxBodyLength?: number;
23
+ fetchHandler?: FetchHandlerInterface;
24
+ recaptchaManager?: RecaptchaManagerInterface;
25
+ bypassRecaptcha: boolean;
26
+ private recaptchaWidget?;
27
+ private currentStars;
28
+ private currentSubjectLength;
29
+ private currentBodyLength;
30
+ recoverableError?: string;
31
+ private formCanSubmit;
32
+ submissionInProgress: boolean;
33
+ private reviewForm;
34
+ private RECAPTCHA_ERROR_MESSAGE;
35
+ private GENERIC_ERROR_MESSAGE;
36
+ render(): import("lit").TemplateResult<1>;
37
+ protected willUpdate(changed: PropertyValues): void;
38
+ /** Error to render instead of form inputs */
39
+ private get unrecoverableErrorTemplate();
40
+ /** Error to render next to submit button */
41
+ private get recoverableErrorTemplate();
42
+ private get recaptchaMessageTemplate();
43
+ /** Clickable group of stars */
44
+ private get starsInputTemplate();
45
+ /** Subject input and character counter */
46
+ private get subjectInputTemplate();
47
+ /** Body input and character counter */
48
+ private get bodyInputTemplate();
49
+ /** Hidden inputs we use to store other information for form submission */
50
+ private get hiddenInputsTemplate();
51
+ /** Buttons to render at bottom of form */
52
+ private get actionButtonsTemplate();
53
+ /**
54
+ * Renders a star icon, using its number and the current star rating
55
+ * to determine whether it should appear selected or not
56
+ *
57
+ * @param {number} num The number of the current star
58
+ * @returns {HTMLTemplateResult} The correct icon, rendered within a button
59
+ */
60
+ private renderStar;
61
+ /**
62
+ * Sets up ReCaptcha for the form, if possible.
63
+ *
64
+ * On failure, replaces form inputs with the ReCaptcha error message.
65
+ */
66
+ private setupRecaptcha;
67
+ /**
68
+ * Uses DOMpurify to sanitize any error message before render.
69
+ *
70
+ * @param {string} errorMsg The error message to be sanitized
71
+ * @returns {string} The sanitized error message
72
+ */
73
+ private sanitizeErrorMsg;
74
+ /** Handles validation and recaptcha execution on form submission */
75
+ private handleSubmit;
76
+ /**
77
+ * Generates a review object from the submitted review,
78
+ * for optimistic display on success.
79
+ *
80
+ * @returns {Review} The review to display
81
+ */
82
+ private generateSubmittedReview;
83
+ /**
84
+ * Converts date to string if it is a Date, otherwise
85
+ * leaves unchanged.
86
+ */
87
+ private dateToString;
88
+ /**
89
+ * Executes the ReCaptcha challenge for the form.
90
+ * Attempts form submission on success.
91
+ * */
92
+ private getRecaptchaToken;
93
+ private handleRecaptchaError;
94
+ private stopSubmission;
95
+ private cancelReviewEdit;
96
+ private handleStarClicked;
97
+ private handleClearBtnClicked;
98
+ private setStars;
99
+ private handleSubjectChanged;
100
+ private handleBodyChanged;
101
+ private checkSubmissionAllowed;
102
+ static get styles(): CSSResultGroup;
103
+ }
104
+ //# sourceMappingURL=ia-review-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-review-form.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-reviews/ia-review-form.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGV,cAAc,EACd,cAAc,EACf,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EACV,yBAAyB,EAE1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAK3D,OAAO,aAAa,CAAC;AAErB;;GAEG;AACH,qBACa,YAAa,SAAQ,UAAU;IAEd,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,KAAK,EAAE,MAAM,CAAM;IAGnB,QAAQ,EAAE,MAAM,CAAyB;IAGzC,YAAY,EAAE,MAAM,CAAuB;IAEvE,iDAAiD;IACrB,mBAAmB,EAAE,MAAM,CAAe;IAEtE,+CAA+C;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAGrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAG5C,eAAe,EAAE,OAAO,CAAS;IAG9D,OAAO,CAAC,eAAe,CAAC,CAA2B;IAInD,OAAO,CAAC,YAAY,CAAa;IAIjC,OAAO,CAAC,oBAAoB,CAAa;IAIzC,OAAO,CAAC,iBAAiB,CAAa;IAItC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,aAAa,CAAkB;IAIvC,oBAAoB,EAAE,OAAO,CAAS;IAItC,OAAO,CAAC,UAAU,CAAmB;IAGrC,OAAO,CAAC,uBAAuB,CACwB;IAEvD,OAAO,CAAC,qBAAqB,CAC2C;IAExE,MAAM;IAeN,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAiCnD,6CAA6C;IAC7C,OAAO,KAAK,0BAA0B,GAUrC;IAED,4CAA4C;IAC5C,OAAO,KAAK,wBAAwB,GAQnC;IAED,OAAO,KAAK,wBAAwB,GAwBnC;IAED,+BAA+B;IAC/B,OAAO,KAAK,kBAAkB,GAuB7B;IAED,0CAA0C;IAC1C,OAAO,KAAK,oBAAoB,GAqC/B;IAED,uCAAuC;IACvC,OAAO,KAAK,iBAAiB,GAkC5B;IAED,0EAA0E;IAC1E,OAAO,KAAK,oBAAoB,GAW/B;IAED,0CAA0C;IAC1C,OAAO,KAAK,qBAAqB,GAoBhC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IA2BlB;;;;OAIG;YACW,cAAc;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAIxB,oEAAoE;YACtD,YAAY;IAmE1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAKpB;;;SAGK;YACS,iBAAiB;IAgB/B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,sBAAsB;IA2B9B,MAAM,KAAK,MAAM,IAAI,cAAc,CAgJlC;CACF"}