oarepo-ui 6.0.0.dev22__tar.gz

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 (277) hide show
  1. oarepo_ui-6.0.0.dev22/.gitignore +384 -0
  2. oarepo_ui-6.0.0.dev22/PKG-INFO +225 -0
  3. oarepo_ui-6.0.0.dev22/README.md +196 -0
  4. oarepo_ui-6.0.0.dev22/oarepo_ui/__init__.py +24 -0
  5. oarepo_ui-6.0.0.dev22/oarepo_ui/cli/__init__.py +11 -0
  6. oarepo_ui-6.0.0.dev22/oarepo_ui/config.py +91 -0
  7. oarepo_ui-6.0.0.dev22/oarepo_ui/ext.py +194 -0
  8. oarepo_ui-6.0.0.dev22/oarepo_ui/for_translations_only.py +97 -0
  9. oarepo_ui-6.0.0.dev22/oarepo_ui/less.py +63 -0
  10. oarepo_ui-6.0.0.dev22/oarepo_ui/overrides/__init__.py +12 -0
  11. oarepo_ui-6.0.0.dev22/oarepo_ui/overrides/components.py +119 -0
  12. oarepo_ui-6.0.0.dev22/oarepo_ui/proxies.py +38 -0
  13. oarepo_ui-6.0.0.dev22/oarepo_ui/py.typed +1 -0
  14. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/__init__.py +60 -0
  15. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/base.py +120 -0
  16. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/__init__.py +42 -0
  17. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/access_empty_record.py +41 -0
  18. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/babel.py +58 -0
  19. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/base.py +185 -0
  20. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/bleach.py +41 -0
  21. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/custom_fields.py +66 -0
  22. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/files.py +84 -0
  23. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/files_locked.py +69 -0
  24. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/files_quota.py +120 -0
  25. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/multilingual_field_languages.py +44 -0
  26. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/permissions.py +194 -0
  27. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/components/record_restriction.py +45 -0
  28. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/__init__.py +33 -0
  29. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/base.py +158 -0
  30. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/content_negotiation.py +48 -0
  31. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/pass_draft.py +92 -0
  32. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/pass_record.py +150 -0
  33. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/decorators/signposting.py +59 -0
  34. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/form_config/__init__.py +16 -0
  35. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/form_config/config.py +41 -0
  36. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/form_config/resource.py +55 -0
  37. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/records/__init__.py +16 -0
  38. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/records/config.py +559 -0
  39. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/records/resource.py +947 -0
  40. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/template_pages/__init__.py +16 -0
  41. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/template_pages/config.py +29 -0
  42. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/template_pages/resource.py +77 -0
  43. oarepo_ui-6.0.0.dev22/oarepo_ui/resources/utils.py +28 -0
  44. oarepo_ui-6.0.0.dev22/oarepo_ui/services/__init__.py +16 -0
  45. oarepo_ui-6.0.0.dev22/oarepo_ui/services/custom_fields.py +54 -0
  46. oarepo_ui-6.0.0.dev22/oarepo_ui/static/images/identifiers/id.svg +0 -0
  47. oarepo_ui-6.0.0.dev22/oarepo_ui/static/images/identifiers/orcid.svg +5 -0
  48. oarepo_ui-6.0.0.dev22/oarepo_ui/static/images/identifiers/ror.svg +14 -0
  49. oarepo_ui-6.0.0.dev22/oarepo_ui/static/images/identifiers/scopus.svg +6 -0
  50. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/ClipboardCopyButton.jinja +9 -0
  51. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/IdentifierBadge.jinja +44 -0
  52. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/IdentifiersAndLinks.jinja +68 -0
  53. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/Multilingual.jinja +33 -0
  54. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/RecordExport.jinja +17 -0
  55. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/RecordSharing.jinja +8 -0
  56. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/RecordVersions.jinja +24 -0
  57. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/SearchLink.jinja +5 -0
  58. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IArray.jinja +7 -0
  59. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IBaseField.jinja +3 -0
  60. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IBaseTableField.jinja +7 -0
  61. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ICustomFields.jinja +22 -0
  62. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IField.jinja +16 -0
  63. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/INonEmpty.jinja +5 -0
  64. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ISearchLink.jinja +5 -0
  65. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ISection.jinja +10 -0
  66. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ITable.jinja +5 -0
  67. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ITableArrayValue.jinja +10 -0
  68. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ITableField.jinja +17 -0
  69. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/ITableSection.jinja +14 -0
  70. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IURL.jinja +7 -0
  71. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IValue.jinja +7 -0
  72. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/IValueList.jinja +5 -0
  73. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/SeparatedProperty.jinja +17 -0
  74. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/components/datafields/files/FilesViewer.jinja +79 -0
  75. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo/invenio_app_rdm/help/statistics.cs.html +195 -0
  76. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo/invenio_app_rdm/help/statistics.en.html +197 -0
  77. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/Tombstone.jinja +45 -0
  78. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/administration_base.html +5 -0
  79. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/base_page.html +28 -0
  80. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/css.html +1 -0
  81. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/deposit/form.html +54 -0
  82. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/deposit.html +7 -0
  83. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/form.html +54 -0
  84. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/frontpage.html +48 -0
  85. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/javascript.html +5 -0
  86. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/macros/records_list.html +48 -0
  87. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/matomo_analytics.html +14 -0
  88. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/record_detail/banners.html +103 -0
  89. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/record_detail/main.html +248 -0
  90. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/record_detail/side_bar/export.html +25 -0
  91. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/record_detail.html +17 -0
  92. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/search.html +15 -0
  93. oarepo_ui-6.0.0.dev22/oarepo_ui/templates/oarepo_ui/trackingcode.html +1 -0
  94. oarepo_ui-6.0.0.dev22/oarepo_ui/templating/__init__.py +17 -0
  95. oarepo_ui-6.0.0.dev22/oarepo_ui/templating/catalog.py +455 -0
  96. oarepo_ui-6.0.0.dev22/oarepo_ui/templating/data.py +429 -0
  97. oarepo_ui-6.0.0.dev22/oarepo_ui/templating/filters.py +79 -0
  98. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/__init__.py +8 -0
  99. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/custom_fields/.gitkeep +0 -0
  100. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/api/index.js +1 -0
  101. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/api/recordSerializer.js +173 -0
  102. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/ClipboardCopyButton.jsx +36 -0
  103. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/Disabled.jsx +3 -0
  104. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/ExportDropdown.jsx +59 -0
  105. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/IdentifierBadge.jsx +147 -0
  106. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/IdentifierBadge.stories.jsx +101 -0
  107. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/burgermenu.js +30 -0
  108. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/clipboard.js +104 -0
  109. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/filepreview.js +24 -0
  110. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/index.js +7 -0
  111. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/components/record-sharing.js +21 -0
  112. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/custom-components.js +18 -0
  113. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/AccessRightField/AccessRightField.jsx +60 -0
  114. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/AccessRightField/index.js +1 -0
  115. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/ArrayFieldItem/ArrayFieldItem.jsx +89 -0
  116. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/ArrayFieldItem/index.js +1 -0
  117. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/BaseForm/BaseForm.jsx +26 -0
  118. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/BaseForm/index.js +1 -0
  119. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/BaseFormLayout/BaseFormLayout.jsx +179 -0
  120. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/BaseFormLayout/index.js +1 -0
  121. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CompactFieldLabel/CompactFieldLabel.jsx +38 -0
  122. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CompactFieldLabel/index.js +1 -0
  123. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/ConfirmationModal/ConfirmationModal.jsx +52 -0
  124. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/ConfirmationModal/index.js +2 -0
  125. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/AffiliationsField.jsx +50 -0
  126. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/CreatibutorsField.jsx +240 -0
  127. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/CreatibutorsFieldItem.jsx +163 -0
  128. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/CreatibutorsIdentifiers.jsx +96 -0
  129. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/CreatibutorsModal.jsx +743 -0
  130. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/index.js +8 -0
  131. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/type.js +11 -0
  132. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/CreatibutorsField/util.js +117 -0
  133. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/DeleteButton/DeleteButton.jsx +111 -0
  134. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/DeleteButton/index.js +2 -0
  135. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/DepositFormApp/DepositFormApp.jsx +205 -0
  136. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/DepositFormApp/index.js +1 -0
  137. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/DatePickerHeader.jsx +138 -0
  138. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/EDTFDatePickerWrapper.jsx +76 -0
  139. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/EDTFDateRangePickerField.jsx +161 -0
  140. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/EDTFSingleDatePickerField.jsx +80 -0
  141. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/InputElement.jsx +62 -0
  142. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/MonthDropdown.jsx +48 -0
  143. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/YearDropdown.jsx +81 -0
  144. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/index.js +3 -0
  145. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/EDTFDatePickerField/utils.js +81 -0
  146. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FilesField/FilesField.jsx +251 -0
  147. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FilesField/FilesFieldButtons.jsx +116 -0
  148. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FilesField/FilesFieldTable.jsx +270 -0
  149. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FilesField/FilesFieldWrappers.jsx +111 -0
  150. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FilesField/index.js +4 -0
  151. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FormFeedback/FormFeedback.jsx +166 -0
  152. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FormFeedback/index.js +1 -0
  153. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FormikStateLogger/FormikStateLogger.jsx +31 -0
  154. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FormikStateLogger/index.js +1 -0
  155. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FundingField/FundingField.jsx +77 -0
  156. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FundingField/FundingRemoteSelectField.jsx +55 -0
  157. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FundingField/index.js +1 -0
  158. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/FundingField/util.js +80 -0
  159. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nRichInputField/I18nRichInputField.jsx +58 -0
  160. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nRichInputField/OarepoRichEditor.jsx +38 -0
  161. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nRichInputField/index.js +2 -0
  162. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nString/I18nString.jsx +16 -0
  163. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nString/index.js +1 -0
  164. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nTextInputField/I18nTextInputField.jsx +60 -0
  165. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/I18nTextInputField/index.js +1 -0
  166. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/IdentifiersField/IdentifiersField.jsx +147 -0
  167. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/IdentifiersField/index.js +1 -0
  168. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/LanguageSelectField/LanguageSelectField.jsx +51 -0
  169. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/LanguageSelectField/index.js +1 -0
  170. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/MultilingualTextInput/MultilingualTextInput.jsx +117 -0
  171. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/MultilingualTextInput/index.js +1 -0
  172. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/NestedErrors/NestedErrors.jsx +51 -0
  173. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/NestedErrors/index.js +1 -0
  174. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/PreviewButton/PreviewButton.jsx +50 -0
  175. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/PreviewButton/index.js +2 -0
  176. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/SaveButton/SaveButton.jsx +51 -0
  177. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/SaveButton/index.js +2 -0
  178. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/StringArrayField/StringArrayField.jsx +118 -0
  179. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/StringArrayField/index.js +1 -0
  180. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/TextField/TextField.jsx +38 -0
  181. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/TextField/index.js +1 -0
  182. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/components/index.js +25 -0
  183. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/constants.js +1 -0
  184. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/contexts.js +49 -0
  185. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/hooks.js +288 -0
  186. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/index.js +4 -0
  187. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/state/deposit/actions.js +244 -0
  188. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/state/deposit/reducers.js +92 -0
  189. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/state/deposit/types.js +2 -0
  190. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/store.js +123 -0
  191. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/forms/util.js +187 -0
  192. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/hooks.js +22 -0
  193. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/index.js +18 -0
  194. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ActiveFiltersElement.jsx +108 -0
  195. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/BucketAggregationElement.jsx +29 -0
  196. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/BucketAggregationValuesElement.jsx +19 -0
  197. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ClearFiltersButton.jsx +51 -0
  198. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ClearableSearchbarElement.jsx +80 -0
  199. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/DynamicResultsListItem.jsx +53 -0
  200. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/EmptyResultsElement.jsx +36 -0
  201. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ErrorElement.jsx +21 -0
  202. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/FoldableBucketAggregationElement.jsx +64 -0
  203. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/MultilineSearchbarElement.jsx +112 -0
  204. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/RecordsList.jsx +148 -0
  205. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ResultCount.jsx +42 -0
  206. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ResultsList.jsx +121 -0
  207. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ResultsPerPageLabel.jsx +8 -0
  208. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppFacets.jsx +74 -0
  209. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppLayout.jsx +295 -0
  210. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppLayoutWithSearchbar.jsx +124 -0
  211. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppResultOptions.jsx +46 -0
  212. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppResultViewWithSearchbar.jsx +139 -0
  213. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppResults.jsx +98 -0
  214. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppSearchbarContainer.jsx +16 -0
  215. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SearchAppSort.jsx +22 -0
  216. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ShouldActiveFiltersRender.jsx +28 -0
  217. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/ShouldRender.jsx +23 -0
  218. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/SmallPagination.jsx +36 -0
  219. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/histogram/Histogram.jsx +318 -0
  220. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/histogram/HistogramWSlider.jsx +99 -0
  221. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/histogram/Slider.jsx +253 -0
  222. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/histogram/index.js +3 -0
  223. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/histogram/utils.js +47 -0
  224. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/hooks.js +18 -0
  225. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/index.js +29 -0
  226. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/search/util.js +123 -0
  227. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/theme.js +4 -0
  228. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/util.js +259 -0
  229. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/js/oarepo_ui/util.test.js +288 -0
  230. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/custom-components.less +29 -0
  231. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/datepicker.less +1006 -0
  232. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/dl_table.less +68 -0
  233. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/histogram_container.less +144 -0
  234. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/lang_tag.less +44 -0
  235. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/multiline_textarea.less +80 -0
  236. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/multilingual_tabs.less +59 -0
  237. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/search_link.less +46 -0
  238. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/definitions/value_list.less +58 -0
  239. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/dl_table.variables +0 -0
  240. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/form.overrides +20 -0
  241. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/form.variables +3 -0
  242. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/grid.overrides +5 -0
  243. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/grid.variables +1 -0
  244. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/collections/message.overrides +12 -0
  245. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/button.overrides +14 -0
  246. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/header.overrides +3 -0
  247. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/histogram_container.variables +15 -0
  248. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/image.overrides +12 -0
  249. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/input.overrides +21 -0
  250. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/label.overrides +19 -0
  251. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/multiline_textarea.variables +6 -0
  252. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/elements/segment.overrides +19 -0
  253. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/globals/site.overrides +3 -0
  254. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/modules/dimmer.overrides +10 -0
  255. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/modules/dropdown.overrides +13 -0
  256. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/modules/dropdown.variables +5 -0
  257. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/modules/modal.overrides +38 -0
  258. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/views/card.overrides +58 -0
  259. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/less/oarepo_ui/themes/default/views/item.overrides +22 -0
  260. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/templates/overridableRegistry/oarepo_ui/mapping.js +8 -0
  261. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/translations/oarepo_ui/i18next.js +37 -0
  262. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/translations/oarepo_ui/messages/cs/LC_MESSAGES/translations.json +1 -0
  263. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/translations/oarepo_ui/messages/en/LC_MESSAGES/translations.json +1 -0
  264. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/translations/oarepo_ui/messages/index.js +8 -0
  265. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/assets/semantic-ui/translations/oarepo_ui/translations.pot +91 -0
  266. oarepo_ui-6.0.0.dev22/oarepo_ui/theme/webpack.py +58 -0
  267. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/.gitkeep +5 -0
  268. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/cs/LC_MESSAGES/messages.mo +0 -0
  269. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/cs/LC_MESSAGES/messages.po +1240 -0
  270. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/en/LC_MESSAGES/messages.mo +0 -0
  271. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/en/LC_MESSAGES/messages.po +1244 -0
  272. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/messages.mo +0 -0
  273. oarepo_ui-6.0.0.dev22/oarepo_ui/translations/messages.pot +822 -0
  274. oarepo_ui-6.0.0.dev22/oarepo_ui/utils.py +126 -0
  275. oarepo_ui-6.0.0.dev22/oarepo_ui/views.py +181 -0
  276. oarepo_ui-6.0.0.dev22/oarepo_ui/webpack.py +214 -0
  277. oarepo_ui-6.0.0.dev22/pyproject.toml +80 -0
@@ -0,0 +1,384 @@
1
+ #
2
+ # Python gitignore
3
+ #
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[codz]
8
+ *$py.class
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ .Python
15
+ build/
16
+ develop-eggs/
17
+ dist/
18
+ downloads/
19
+ eggs/
20
+ .eggs/
21
+ lib/
22
+ lib64/
23
+ parts/
24
+ sdist/
25
+ var/
26
+ wheels/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ # Installer logs
40
+ pip-log.txt
41
+ pip-delete-this-directory.txt
42
+
43
+ # Unit test / coverage reports
44
+ htmlcov/
45
+ .tox/
46
+ .nox/
47
+ .coverage
48
+ .coverage.*
49
+ .cache
50
+ nosetests.xml
51
+ coverage.xml
52
+ coverage.json
53
+ *.cover
54
+ *.py.cover
55
+ .hypothesis/
56
+ .pytest_cache/
57
+ cover/
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build/
74
+
75
+ # PyBuilder
76
+ .pybuilder/
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ # For a library or package, you might want to ignore these files since the code is
88
+ # intended to run in multiple environments; otherwise, check them in:
89
+ # .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ #Pipfile.lock
97
+
98
+ # UV
99
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
100
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
101
+ # commonly ignored for libraries.
102
+ #uv.lock
103
+
104
+ # poetry
105
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
106
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
107
+ # commonly ignored for libraries.
108
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
109
+ #poetry.lock
110
+ #poetry.toml
111
+
112
+ # pdm
113
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
114
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
115
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
116
+ #pdm.lock
117
+ #pdm.toml
118
+ .pdm-python
119
+ .pdm-build/
120
+
121
+ # pixi
122
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
123
+ #pixi.lock
124
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
125
+ # in the .venv directory. It is recommended not to include this directory in version control.
126
+ .pixi
127
+
128
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
129
+ __pypackages__/
130
+
131
+ # Celery stuff
132
+ celerybeat-schedule
133
+ celerybeat.pid
134
+
135
+ # SageMath parsed files
136
+ *.sage.py
137
+
138
+ # Environments
139
+ .env
140
+ .envrc
141
+ .venv
142
+ env/
143
+ venv/
144
+ ENV/
145
+ env.bak/
146
+ venv.bak/
147
+
148
+ # Spyder project settings
149
+ .spyderproject
150
+ .spyproject
151
+
152
+ # Rope project settings
153
+ .ropeproject
154
+
155
+ # mkdocs documentation
156
+ /site
157
+
158
+ # mypy
159
+ .mypy_cache/
160
+ .mypy.ini
161
+ .dmypy.json
162
+ dmypy.json
163
+
164
+ # Pyre type checker
165
+ .pyre/
166
+
167
+ # pytype static type analyzer
168
+ .pytype/
169
+
170
+ # Cython debug symbols
171
+ cython_debug/
172
+
173
+ # PyCharm
174
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
175
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
176
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
177
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
178
+ #.idea/
179
+
180
+ # Abstra
181
+ # Abstra is an AI-powered process automation framework.
182
+ # Ignore directories containing user credentials, local state, and settings.
183
+ # Learn more at https://abstra.io/docs
184
+ .abstra/
185
+
186
+ # Visual Studio Code
187
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
188
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
189
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
190
+ # you could uncomment the following to ignore the entire vscode folder
191
+ # .vscode/
192
+
193
+ # Ruff stuff:
194
+ .ruff.toml
195
+ .ruff_cache/
196
+ .mypy.ini
197
+
198
+ # PyPI configuration file
199
+ .pypirc
200
+
201
+ # Marimo
202
+ marimo/_static/
203
+ marimo/_lsp/
204
+ __marimo__/
205
+
206
+ # Streamlit
207
+ .streamlit/secrets.toml
208
+
209
+ # UV package management
210
+ uv.lock
211
+
212
+ #
213
+ # Node.js gitignore
214
+ #
215
+ # Logs
216
+ logs
217
+ *.log
218
+ npm-debug.log*
219
+ yarn-debug.log*
220
+ yarn-error.log*
221
+ lerna-debug.log*
222
+
223
+ # Diagnostic reports (https://nodejs.org/api/report.html)
224
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
225
+
226
+ # Runtime data
227
+ pids
228
+ *.pid
229
+ *.seed
230
+ *.pid.lock
231
+
232
+ # Directory for instrumented libs generated by jscoverage/JSCover
233
+ lib-cov
234
+
235
+ # Coverage directory used by tools like istanbul
236
+ coverage
237
+ *.lcov
238
+
239
+ # nyc test coverage
240
+ .nyc_output
241
+
242
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
243
+ .grunt
244
+
245
+ # Bower dependency directory (https://bower.io/)
246
+ bower_components
247
+
248
+ # node-waf configuration
249
+ .lock-wscript
250
+
251
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
252
+ build/Release
253
+
254
+ # Dependency directories
255
+ node_modules/
256
+ jspm_packages/
257
+
258
+ # Snowpack dependency directory (https://snowpack.dev/)
259
+ web_modules/
260
+
261
+ # TypeScript cache
262
+ *.tsbuildinfo
263
+
264
+ # Optional npm cache directory
265
+ .npm
266
+
267
+ # Optional eslint cache
268
+ .eslintcache
269
+
270
+ # Optional stylelint cache
271
+ .stylelintcache
272
+
273
+ # Optional REPL history
274
+ .node_repl_history
275
+
276
+ # Output of 'npm pack'
277
+ *.tgz
278
+
279
+ # Yarn Integrity file
280
+ .yarn-integrity
281
+
282
+ # dotenv environment variable files
283
+ .env
284
+ .env.*
285
+ !.env.example
286
+
287
+ # parcel-bundler cache (https://parceljs.org/)
288
+ .cache
289
+ .parcel-cache
290
+
291
+ # Next.js build output
292
+ .next
293
+ out
294
+
295
+ # Nuxt.js build / generate output
296
+ .nuxt
297
+ dist
298
+
299
+ # Gatsby files
300
+ .cache/
301
+ # Comment in the public line in if your project uses Gatsby and not Next.js
302
+ # https://nextjs.org/blog/next-9-1#public-directory-support
303
+ # public
304
+
305
+ # vuepress build output
306
+ .vuepress/dist
307
+
308
+ # vuepress v2.x temp and cache directory
309
+ .temp
310
+ .cache
311
+
312
+ # Sveltekit cache directory
313
+ .svelte-kit/
314
+
315
+ # vitepress build output
316
+ **/.vitepress/dist
317
+
318
+ # vitepress cache directory
319
+ **/.vitepress/cache
320
+
321
+ # Docusaurus cache and generated files
322
+ .docusaurus
323
+
324
+ # Serverless directories
325
+ .serverless/
326
+
327
+ # FuseBox cache
328
+ .fusebox/
329
+
330
+ # DynamoDB Local files
331
+ .dynamodb/
332
+
333
+ # Firebase cache directory
334
+ .firebase/
335
+
336
+ # TernJS port file
337
+ .tern-port
338
+
339
+ # Stores VSCode versions used for testing VSCode extensions
340
+ .vscode-test
341
+
342
+ # yarn v3
343
+ .pnp.*
344
+ .yarn/*
345
+ !.yarn/patches
346
+ !.yarn/plugins
347
+ !.yarn/releases
348
+ !.yarn/sdks
349
+ !.yarn/versions
350
+
351
+ # Vite logs files
352
+ vite.config.js.timestamp-*
353
+ vite.config.ts.timestamp-*
354
+
355
+ #
356
+ # OARepo specific gitignore
357
+ #
358
+ .runner.sh
359
+ .env-services
360
+ .eslintrc.yaml
361
+ .mypy.ini
362
+ .ruff.toml
363
+
364
+ #
365
+ # Editors
366
+ .vscode/
367
+ .idea/
368
+ *.swp
369
+ *.swo
370
+ *.swn
371
+ *.sublime-workspace
372
+ *.sublime-project
373
+ *.kate-swp
374
+ *.kate-swp.*
375
+ *.komodoproject
376
+ *.komodotools
377
+ *.komodoide
378
+ *.komodotools
379
+ *.komodotools.*
380
+ .DS_Store
381
+ *.DS_Store?
382
+ #
383
+
384
+ .invenio.private
@@ -0,0 +1,225 @@
1
+ Metadata-Version: 2.4
2
+ Name: oarepo-ui
3
+ Version: 6.0.0.dev22
4
+ Summary: UI module for invenio 3.5+
5
+ Project-URL: Homepage, https://github.com/oarepo/oarepo-ui
6
+ License-Expression: MIT
7
+ Requires-Python: <3.15,>=3.13
8
+ Requires-Dist: deepmerge>=2.0
9
+ Requires-Dist: frozendict
10
+ Requires-Dist: jinja2-simple-tags
11
+ Requires-Dist: jinjax<1.0.0,>=0.60
12
+ Requires-Dist: oarepo-runtime<3.0.0,>=2.0.0dev0
13
+ Requires-Dist: oarepo-theme<2.0.0,>=1.0.0dev1
14
+ Requires-Dist: oarepo[rdm,tests]<15,>=14
15
+ Requires-Dist: python-dotenv>=1.1.1
16
+ Provides-Extra: dev
17
+ Requires-Dist: oarepo-invenio-typing-stubs; extra == 'dev'
18
+ Requires-Dist: pytest>=7.1.2; extra == 'dev'
19
+ Provides-Extra: oarepo14
20
+ Requires-Dist: oarepo<15.0.0,>=14.0.0; extra == 'oarepo14'
21
+ Provides-Extra: tests
22
+ Requires-Dist: oarepo-model>=0.1.0.dev16; extra == 'tests'
23
+ Requires-Dist: oarepo-rdm>=1.0.0dev11; extra == 'tests'
24
+ Requires-Dist: pytest-oarepo<3.0.0,>=2.0.0; extra == 'tests'
25
+ Requires-Dist: pytest>=7.1.2; extra == 'tests'
26
+ Provides-Extra: workflows
27
+ Requires-Dist: oarepo-workflows; extra == 'workflows'
28
+ Description-Content-Type: text/markdown
29
+
30
+ <!--
31
+ Copyright (c) 2022 CESNET
32
+
33
+ This software is released under the MIT License.
34
+ https://opensource.org/licenses/MIT
35
+ -->
36
+
37
+ # OARepo UI
38
+
39
+ This package provides implementation of base UI components for use in dynamic (React JS) & static (Jinja) pages and
40
+ functions to render layouts from model configuration.
41
+
42
+ ## Usage
43
+
44
+ ### JinjaX
45
+
46
+ See also [JinjaX documentation](https://jinjax.scaletti.dev/).
47
+
48
+ Oarepo builds its static UI pages on top of the JinjaX library.
49
+ To load a Jinja application, a JinjaX component is expected on the input.
50
+ The relative path to the component is taken from the configuration
51
+
52
+ Components by default accept record metadata, ui definition and layout definition as parameters.
53
+ To work with parameters within components, you need to define them in the template in the way described in the JinjaX documentation.
54
+
55
+ ### Examples
56
+
57
+ Example of component specification in config:
58
+
59
+ ```python
60
+ templates = {
61
+ "detail": "DetailPage",
62
+ "search": "SearchPage"
63
+ }
64
+ ```
65
+
66
+ Example of possible contents of the DetailPage component, contained inside `templates/DetailPage.jinja`
67
+
68
+ ```json
69
+ {#def metadata, ui, layout #}
70
+ {% extends "oarepo_ui/detail.html" %}
71
+
72
+ {%- block head_links %}
73
+
74
+ {{ super() }}
75
+ {{ webpack['docs_app_components.js']}}
76
+ {{ webpack['docs_app_components.css']}}
77
+
78
+ {%- endblock %}
79
+
80
+ {% block record_main_content %}
81
+ <Main metadata={{metadata}}></Main>
82
+ {% endblock %}
83
+
84
+ {% block record_sidebar %}
85
+ <Sidebar metadata={{metadata}}></Sidebar>
86
+ {% endblock %}
87
+ ```
88
+
89
+
90
+ Sample of possible contents of Main component:
91
+ ```json
92
+ {#def metadata, ui, layout #}
93
+ <h1 style="margin-bottom: 1em">{{ metadata.title }}</h1>
94
+ <dl class="ui very basic table">
95
+ <Field label="accessibility">{{metadata.accessibility}}</Field>
96
+
97
+ ```
98
+
99
+ You can also namespace your ui components, by using dot notation:
100
+
101
+ ```python
102
+ templates = {
103
+ "detail": "myrepo.DetailPage",
104
+ "search": "myrepo.SearchPage"
105
+ }
106
+ ```
107
+
108
+ Then, the component will be loaded from the `templates/myrepo/DetailPage.jinja` file.
109
+
110
+
111
+ #### JinjaX components
112
+
113
+ Within the Oarepo-ui library, basic components are defined in the `templates` folder.
114
+
115
+ ### React
116
+
117
+ To render a custom layout in a React app (e. g. records search result page), this package provides the `useLayout` hook and an entrypoint
118
+ for bootstrapping [Search UI](https://github.com/inveniosoftware/invenio-search-ui) app. In your `search.html` template, you can use it like this:
119
+
120
+ ```jinja
121
+ {%- extends config.BASE_TEMPLATE %}
122
+
123
+ {%- block javascript %}
124
+ {{ super() }}
125
+ {# imports oarepo-ui JS libraries to be used on page #}
126
+ {{ webpack['oarepo_ui.js'] }}
127
+ {# boots Invenio-Search-UI based search app, with dynamic UI widgets provided by oarepo-ui #}
128
+ {{ webpack['oarepo_ui_search.js'] }}
129
+ {%- endblock %}
130
+
131
+ {# ... #}
132
+
133
+ <div class="ui container">
134
+ {# provides a DOM root element for the Search UI to be mounted into #}
135
+ <div data-invenio-search-config='{{ search_app_oarepo_config(app_id="oarepo-search") | tojson }}'></div>
136
+ </div>
137
+ ```
138
+
139
+ Next you will need to register an app context processor named `search_app_oarepo_config` and register it
140
+ to blueprint handling the `search.html` template route. In the context processor, you can provide your
141
+ own layout configuration for different parts of UI to be used by `oarepo-ui` libs to generate user interface widgets.
142
+
143
+ ```python
144
+ def create_blueprint(app):
145
+ """Blueprint for the routes and resources."""
146
+ blueprint = Blueprint(
147
+ "your-app",
148
+ __name__,
149
+ template_folder="templates",
150
+ static_folder="static",
151
+ )
152
+
153
+ blueprint.add_url_rule("/", view_func=search)
154
+ blueprint.app_context_processor(search_app_context)
155
+ return blueprint
156
+
157
+
158
+ def search():
159
+ """Search template."""
160
+ return render_template('your-app/search.html')
161
+
162
+ def search_app_context():
163
+ """Search app context processor."""
164
+ return {
165
+ "search_app_oarepo_config": partial(
166
+ search_app_config,
167
+ "OAREPO_SEARCH",
168
+ [], #current_app.config["OAREPO_FACETS"],1
169
+ current_app.config["OAREPO_SORT_OPTIONS"],
170
+ endpoint="/api/your-records",
171
+ headers={"Accept": "application/json"},
172
+ overrides={
173
+ "layoutOptions": {
174
+ "listView": True,
175
+ "gridView": False,
176
+ "ResultsList": {
177
+ "item": {
178
+ "component": 'segment',
179
+ "children": [{
180
+ "component": "header",
181
+ "dataField": "metadata.title"
182
+ }]
183
+ }
184
+ }
185
+ }
186
+ }
187
+ )
188
+ }
189
+ ```
190
+
191
+ In your `invenio.cfg`, customize the general search app settings:
192
+
193
+ ```python
194
+ OAREPO_SEARCH = {
195
+ "facets": [],
196
+ "sort": ["bestmatch", "newest", "oldest", "version"],
197
+ }
198
+
199
+ OAREPO_SORT_OPTIONS = {
200
+ "bestmatch": dict(
201
+ title=_("Best match"),
202
+ fields=["_score"], # search defaults to desc on `_score` field
203
+ ),
204
+ "newest": dict(
205
+ title=_("Newest"),
206
+ fields=["-created"],
207
+ ),
208
+ "oldest": dict(
209
+ title=_("Oldest"),
210
+ fields=["created"],
211
+ ),
212
+ "version": dict(
213
+ title=_("Version"),
214
+ fields=["-versions.index"],
215
+ ),
216
+ "updated-desc": dict(
217
+ title=_("Recently updated"),
218
+ fields=["-updated"],
219
+ ),
220
+ "updated-asc": dict(
221
+ title=_("Least recently updated"),
222
+ fields=["updated"],
223
+ ),
224
+ }
225
+ ```