@windward/core 0.18.0 → 0.19.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.
- package/.idea/codeStyles/Project.xml +58 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/php-docker-settings.xml +24 -0
- package/.idea/php.xml +19 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/watcherTasks.xml +4 -0
- package/.idea/windward-ui-plugin-core.iml +8 -0
- package/CHANGELOG.md +3 -19
- package/components/Content/Blocks/Email.vue +6 -1
- package/components/utils/GenerateAIQuestionButton.vue +88 -16
- package/config/menu.config.json +475 -0
- package/coverage/clover.xml +1474 -0
- package/coverage/coverage-final.json +199 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +772 -0
- package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +625 -0
- package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +979 -0
- package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +1171 -0
- package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +1075 -0
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +331 -0
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +403 -0
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +131 -0
- package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +514 -0
- package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +211 -0
- package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +352 -0
- package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +667 -0
- package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +643 -0
- package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
- package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +976 -0
- package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +445 -0
- package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
- package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +562 -0
- package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +116 -0
- package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +844 -0
- package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +1225 -0
- package/coverage/lcov-report/components/Content/Blocks/index.html +311 -0
- package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +961 -0
- package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +673 -0
- package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +1144 -0
- package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +901 -0
- package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +373 -0
- package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +607 -0
- package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +310 -0
- package/coverage/lcov-report/components/Settings/MathSettings.vue.html +337 -0
- package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +586 -0
- package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +415 -0
- package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +1183 -0
- package/coverage/lcov-report/components/Settings/TabSettings.vue.html +751 -0
- package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +535 -0
- package/coverage/lcov-report/components/Settings/index.html +296 -0
- package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
- package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +1120 -0
- package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +415 -0
- package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
- package/coverage/lcov-report/components/utils/index.html +131 -0
- package/coverage/lcov-report/config/index.html +116 -0
- package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
- package/coverage/lcov-report/config/tinymce.config.ts.html +1051 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +577 -0
- package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +178 -0
- package/coverage/lcov-report/helpers/MathHelper.ts.html +1033 -0
- package/coverage/lcov-report/helpers/index.html +146 -0
- package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
- package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +94 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +127 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +178 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +296 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +166 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +106 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +97 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +115 -0
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +97 -0
- package/coverage/lcov-report/i18n/en-US/components/content/index.html +116 -0
- package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/index.html +116 -0
- package/coverage/lcov-report/i18n/en-US/components/index.ts.html +118 -0
- package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +118 -0
- package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +97 -0
- package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +161 -0
- package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +106 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +130 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +142 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +115 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +109 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +94 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +142 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/index.html +326 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +178 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +103 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +145 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +109 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +115 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +121 -0
- package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +277 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +146 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +103 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/index.html +146 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +109 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +130 -0
- package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +175 -0
- package/coverage/lcov-report/i18n/en-US/index.html +116 -0
- package/coverage/lcov-report/i18n/en-US/index.ts.html +133 -0
- package/coverage/lcov-report/i18n/en-US/modules/index.html +116 -0
- package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +106 -0
- package/coverage/lcov-report/i18n/en-US/pages/index.html +146 -0
- package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +112 -0
- package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +131 -0
- package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +163 -0
- package/coverage/lcov-report/i18n/en-US/shared/index.html +176 -0
- package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +118 -0
- package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +97 -0
- package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +130 -0
- package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +172 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +94 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +127 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +178 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +296 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +166 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +103 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +106 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +103 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +97 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +118 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/index.html +116 -0
- package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/index.html +116 -0
- package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +121 -0
- package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +118 -0
- package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +97 -0
- package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +161 -0
- package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +106 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +130 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +145 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +115 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +109 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +94 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +148 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +326 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +178 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +106 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +145 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +112 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +115 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +121 -0
- package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +283 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +146 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +103 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +146 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +109 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +130 -0
- package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +178 -0
- package/coverage/lcov-report/i18n/es-ES/index.html +116 -0
- package/coverage/lcov-report/i18n/es-ES/index.ts.html +133 -0
- package/coverage/lcov-report/i18n/es-ES/modules/index.html +116 -0
- package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +106 -0
- package/coverage/lcov-report/i18n/es-ES/pages/index.html +146 -0
- package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +112 -0
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +131 -0
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +163 -0
- package/coverage/lcov-report/i18n/es-ES/shared/index.html +176 -0
- package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +118 -0
- package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +97 -0
- package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +130 -0
- package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +178 -0
- package/coverage/lcov-report/i18n/index.html +116 -0
- package/coverage/lcov-report/i18n/index.ts.html +118 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +94 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +127 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +178 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +296 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +166 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +103 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +106 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +97 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +118 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +97 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +116 -0
- package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/index.html +116 -0
- package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +121 -0
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +118 -0
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +97 -0
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +161 -0
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +109 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +130 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +145 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +115 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +109 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +94 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +142 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +326 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +178 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +103 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +145 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +109 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +115 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +121 -0
- package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +277 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +146 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +103 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +146 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +109 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +130 -0
- package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +178 -0
- package/coverage/lcov-report/i18n/sv-SE/index.html +116 -0
- package/coverage/lcov-report/i18n/sv-SE/index.ts.html +133 -0
- package/coverage/lcov-report/i18n/sv-SE/modules/index.html +116 -0
- package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +106 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/index.html +146 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +112 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +109 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +131 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +100 -0
- package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +94 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +163 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/index.html +176 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +118 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +97 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +130 -0
- package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +172 -0
- package/coverage/lcov-report/index.html +806 -0
- package/coverage/lcov-report/models/SurveyResult.ts.html +109 -0
- package/coverage/lcov-report/models/SurveyTemplate.ts.html +109 -0
- package/coverage/lcov-report/models/index.html +131 -0
- package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +322 -0
- package/coverage/lcov-report/pages/plugins/tinymce/index.html +116 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/test/index.html +131 -0
- package/coverage/lcov-report/test/locales.js.html +370 -0
- package/coverage/lcov-report/test/mocks.js.html +532 -0
- package/coverage/lcov.info +2753 -0
- package/i18n/en-US/components/content/blocks/generate_questions.ts +4 -0
- package/i18n/es-ES/components/content/blocks/generate_questions.ts +4 -0
- package/i18n/sv-SE/components/content/blocks/generate_questions.ts +4 -0
- package/lib/helpers/GlossaryHelper.d.ts +9 -0
- package/lib/helpers/GlossaryHelper.js +118 -0
- package/lib/helpers/GlossaryTerm.d.ts +10 -0
- package/lib/helpers/GlossaryTerm.js +22 -0
- package/lib/helpers/MathHelper.d.ts +99 -0
- package/lib/helpers/MathHelper.js +194 -0
- package/lib/helpers/tinymce/plugin.d.ts +2 -0
- package/lib/helpers/tinymce/plugin.js +86 -0
- package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
- package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
- package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
- package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
- package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
- package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
- package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
- package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
- package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
- package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
- package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
- package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
- package/lib/i18n/en-US/components/content/index.d.ts +77 -0
- package/lib/i18n/en-US/components/content/index.js +6 -0
- package/lib/i18n/en-US/components/index.d.ts +140 -0
- package/lib/i18n/en-US/components/index.js +12 -0
- package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
- package/lib/i18n/en-US/components/navigation/image.js +6 -0
- package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
- package/lib/i18n/en-US/components/navigation/index.js +8 -0
- package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
- package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
- package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
- package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
- package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
- package/lib/i18n/en-US/components/settings/image.js +3 -0
- package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
- package/lib/i18n/en-US/components/settings/index.js +14 -0
- package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
- package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
- package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
- package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
- package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
- package/lib/i18n/en-US/components/settings/video.js +14 -0
- package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
- package/lib/i18n/en-US/components/utils/index.js +6 -0
- package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
- package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
- package/lib/i18n/en-US/index.d.ts +197 -0
- package/lib/i18n/en-US/index.js +16 -0
- package/lib/i18n/en-US/modules/index.d.ts +2 -0
- package/lib/i18n/en-US/modules/index.js +6 -0
- package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
- package/lib/i18n/en-US/pages/glossary.js +9 -0
- package/lib/i18n/en-US/pages/index.d.ts +13 -0
- package/lib/i18n/en-US/pages/index.js +8 -0
- package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
- package/lib/i18n/en-US/pages/user_upload.js +5 -0
- package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
- package/lib/i18n/en-US/shared/content_blocks.js +21 -0
- package/lib/i18n/en-US/shared/index.d.ts +39 -0
- package/lib/i18n/en-US/shared/index.js +10 -0
- package/lib/i18n/en-US/shared/menu.d.ts +4 -0
- package/lib/i18n/en-US/shared/menu.js +5 -0
- package/lib/i18n/en-US/shared/settings.d.ts +15 -0
- package/lib/i18n/en-US/shared/settings.js +16 -0
- package/lib/i18n/en-US.d.ts +197 -0
- package/lib/i18n/en-US.js +15 -0
- package/lib/models/UserFileAsset.d.ts +5 -0
- package/lib/models/UserFileAsset.js +37 -0
- package/package.json +1 -1
- package/table_styling.scss +58 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<HTMLCodeStyleSettings>
|
|
4
|
+
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
|
|
5
|
+
<option name="HTML_ENFORCE_QUOTES" value="true" />
|
|
6
|
+
</HTMLCodeStyleSettings>
|
|
7
|
+
<JSCodeStyleSettings version="0">
|
|
8
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
9
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
10
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
11
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
12
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
13
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
14
|
+
</JSCodeStyleSettings>
|
|
15
|
+
<TypeScriptCodeStyleSettings version="0">
|
|
16
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
17
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
18
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
19
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
20
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
21
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
22
|
+
</TypeScriptCodeStyleSettings>
|
|
23
|
+
<VueCodeStyleSettings>
|
|
24
|
+
<option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
|
|
25
|
+
<option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
|
|
26
|
+
</VueCodeStyleSettings>
|
|
27
|
+
<codeStyleSettings language="HTML">
|
|
28
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
29
|
+
<indentOptions>
|
|
30
|
+
<option name="INDENT_SIZE" value="2" />
|
|
31
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
32
|
+
<option name="TAB_SIZE" value="2" />
|
|
33
|
+
</indentOptions>
|
|
34
|
+
</codeStyleSettings>
|
|
35
|
+
<codeStyleSettings language="JavaScript">
|
|
36
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
37
|
+
<indentOptions>
|
|
38
|
+
<option name="INDENT_SIZE" value="2" />
|
|
39
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
40
|
+
<option name="TAB_SIZE" value="2" />
|
|
41
|
+
</indentOptions>
|
|
42
|
+
</codeStyleSettings>
|
|
43
|
+
<codeStyleSettings language="TypeScript">
|
|
44
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
45
|
+
<indentOptions>
|
|
46
|
+
<option name="INDENT_SIZE" value="2" />
|
|
47
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
48
|
+
<option name="TAB_SIZE" value="2" />
|
|
49
|
+
</indentOptions>
|
|
50
|
+
</codeStyleSettings>
|
|
51
|
+
<codeStyleSettings language="Vue">
|
|
52
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
53
|
+
<indentOptions>
|
|
54
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
55
|
+
</indentOptions>
|
|
56
|
+
</codeStyleSettings>
|
|
57
|
+
</code_scheme>
|
|
58
|
+
</component>
|
package/.idea/misc.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/windward-ui-plugin-core.iml" filepath="$PROJECT_DIR$/.idea/windward-ui-plugin-core.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="PhpDockerContainerSettings">
|
|
4
|
+
<list>
|
|
5
|
+
<map>
|
|
6
|
+
<entry key="79d59a8f-c56c-4789-b96c-e55a326ab125">
|
|
7
|
+
<value>
|
|
8
|
+
<DockerContainerSettings>
|
|
9
|
+
<option name="version" value="1" />
|
|
10
|
+
<option name="volumeBindings">
|
|
11
|
+
<list>
|
|
12
|
+
<DockerVolumeBindingImpl>
|
|
13
|
+
<option name="containerPath" value="/opt/project" />
|
|
14
|
+
<option name="hostPath" value="$PROJECT_DIR$" />
|
|
15
|
+
</DockerVolumeBindingImpl>
|
|
16
|
+
</list>
|
|
17
|
+
</option>
|
|
18
|
+
</DockerContainerSettings>
|
|
19
|
+
</value>
|
|
20
|
+
</entry>
|
|
21
|
+
</map>
|
|
22
|
+
</list>
|
|
23
|
+
</component>
|
|
24
|
+
</project>
|
package/.idea/php.xml
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="MessDetectorOptionsConfiguration">
|
|
4
|
+
<option name="transferred" value="true" />
|
|
5
|
+
</component>
|
|
6
|
+
<component name="PHPCSFixerOptionsConfiguration">
|
|
7
|
+
<option name="transferred" value="true" />
|
|
8
|
+
</component>
|
|
9
|
+
<component name="PHPCodeSnifferOptionsConfiguration">
|
|
10
|
+
<option name="highlightLevel" value="WARNING" />
|
|
11
|
+
<option name="transferred" value="true" />
|
|
12
|
+
</component>
|
|
13
|
+
<component name="PhpStanOptionsConfiguration">
|
|
14
|
+
<option name="transferred" value="true" />
|
|
15
|
+
</component>
|
|
16
|
+
<component name="PsalmOptionsConfiguration">
|
|
17
|
+
<option name="transferred" value="true" />
|
|
18
|
+
</component>
|
|
19
|
+
</project>
|
package/.idea/vcs.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="WEB_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager">
|
|
4
|
+
<content url="file://$MODULE_DIR$" />
|
|
5
|
+
<orderEntry type="inheritedJdk" />
|
|
6
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
7
|
+
</component>
|
|
8
|
+
</module>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,59 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
### Release [0.
|
|
3
|
+
### Release [0.19.0] created - 2025-05-30
|
|
4
4
|
|
|
5
|
+
### Release [0.18.0] created - 2025-05-21
|
|
5
6
|
|
|
6
7
|
### Release [0.17.0] created - 2025-05-13
|
|
7
8
|
|
|
8
|
-
|
|
9
9
|
### Release [0.16.0] created - 2025-04-29
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
### Release [0.15.0] created - 2025-04-09
|
|
13
12
|
|
|
14
|
-
|
|
15
13
|
### Release [0.14.0] created - 2025-03-25
|
|
16
14
|
|
|
17
|
-
|
|
18
15
|
### Release [0.16.0] created - 2025-03-11
|
|
19
16
|
|
|
20
|
-
|
|
21
17
|
### Hotfix [0.12.6] created - 2025-02-26
|
|
22
18
|
|
|
23
|
-
|
|
24
19
|
### Hotfix [0.12.5] created - 2025-02-26
|
|
25
20
|
|
|
26
|
-
|
|
27
21
|
### Hotfix [0.12.4] created - 2025-02-25
|
|
28
22
|
|
|
29
|
-
|
|
30
23
|
### Hotfix [0.12.3] created - 2025-02-21
|
|
31
24
|
|
|
32
|
-
|
|
33
25
|
### Hotfix [0.12.2] created - 2025-02-21
|
|
34
26
|
|
|
35
|
-
|
|
36
27
|
### Hotfix [0.12.1] created - 2025-02-21
|
|
37
28
|
|
|
38
|
-
|
|
39
29
|
### Release [0.12.0] created - 2025-02-18
|
|
40
30
|
|
|
41
|
-
|
|
42
31
|
### Release [0.11.0] created - 2025-02-05
|
|
43
32
|
|
|
44
|
-
|
|
45
33
|
### Release [0.10.0] created - 2025-01-03
|
|
46
34
|
|
|
47
|
-
|
|
48
35
|
### Hotfix [0.9.1] created - 2024-12-10
|
|
49
36
|
|
|
50
|
-
|
|
51
37
|
## Release [0.7.0] - 2024-08-29
|
|
52
38
|
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
- Version bump to 0.7.0
|
|
55
40
|
|
|
56
41
|
### Release [0.7.0] created - 2024-08-29
|
|
57
42
|
|
|
58
|
-
|
|
59
43
|
### Release [0.6.0] created - 2024-07-30
|
|
@@ -311,7 +311,12 @@ export default {
|
|
|
311
311
|
},
|
|
312
312
|
methods: {
|
|
313
313
|
onRemoveTags(body) {
|
|
314
|
-
|
|
314
|
+
if (typeof body !== 'string') {
|
|
315
|
+
return ''
|
|
316
|
+
}
|
|
317
|
+
let text = body.replace(/ /g, ' ')
|
|
318
|
+
text = text.replace(/\u00A0/g, ' ')
|
|
319
|
+
return text.replace(/(<([^>]+)>)/gi, '').trim()
|
|
315
320
|
},
|
|
316
321
|
async onBeforeSave() {
|
|
317
322
|
this.block.metadata.config.emails.forEach((element) => {
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
></v-select>
|
|
42
42
|
</v-col>
|
|
43
43
|
<v-col
|
|
44
|
+
v-if="isFlashcardType || isBucketGameType"
|
|
44
45
|
cols="auto"
|
|
45
46
|
class="d-flex align-center"
|
|
46
|
-
v-if="isFlashcardType"
|
|
47
47
|
>
|
|
48
48
|
<v-switch
|
|
49
49
|
v-model="replaceExisting"
|
|
@@ -51,11 +51,7 @@
|
|
|
51
51
|
dense
|
|
52
52
|
color="secondary"
|
|
53
53
|
class="mt-0 pt-0"
|
|
54
|
-
:label="
|
|
55
|
-
$t(
|
|
56
|
-
'windward.games.components.settings.flashcard.form.replace_existing'
|
|
57
|
-
)
|
|
58
|
-
"
|
|
54
|
+
:label="replaceExistingLabel"
|
|
59
55
|
:disabled="isLoading"
|
|
60
56
|
></v-switch>
|
|
61
57
|
</v-col>
|
|
@@ -126,6 +122,19 @@ export default {
|
|
|
126
122
|
isFlashcardType() {
|
|
127
123
|
return this.questionType === 'flashcard'
|
|
128
124
|
},
|
|
125
|
+
isBucketGameType() {
|
|
126
|
+
return this.questionType === 'bucket_game'
|
|
127
|
+
},
|
|
128
|
+
replaceExistingLabel() {
|
|
129
|
+
if (this.isBucketGameType) {
|
|
130
|
+
return this.$t(
|
|
131
|
+
'windward.games.components.settings.bucket_game.form.replace_existing'
|
|
132
|
+
)
|
|
133
|
+
}
|
|
134
|
+
return this.$t(
|
|
135
|
+
'windward.games.components.settings.flashcard.form.replace_existing'
|
|
136
|
+
)
|
|
137
|
+
},
|
|
129
138
|
flattenedContent() {
|
|
130
139
|
let cloneContentTree = _.cloneDeep(this.contentTree)
|
|
131
140
|
const homepage = this.$ContentService.getHomepage()
|
|
@@ -184,9 +193,10 @@ export default {
|
|
|
184
193
|
]
|
|
185
194
|
|
|
186
195
|
// Only add higher-level Bloom's taxonomy for supported question types
|
|
187
|
-
// Flashcards use only basic levels
|
|
196
|
+
// Flashcards and bucket games use only basic levels
|
|
188
197
|
if (
|
|
189
198
|
!this.isFlashcardType &&
|
|
199
|
+
!this.isBucketGameType &&
|
|
190
200
|
(this.questionType === 'multi_choice_single_answer' ||
|
|
191
201
|
this.questionType === 'ordering' ||
|
|
192
202
|
this.questionType === 'multi_choice_multi_answer')
|
|
@@ -277,6 +287,52 @@ export default {
|
|
|
277
287
|
'Invalid response from flashcard generation'
|
|
278
288
|
)
|
|
279
289
|
}
|
|
290
|
+
} else if (this.questionType === 'bucket_game') {
|
|
291
|
+
// BUCKET GAME GENERATION
|
|
292
|
+
const activity = new Activity()
|
|
293
|
+
|
|
294
|
+
const endpoint = `suggest/bucket_game${bloomsRequest}`
|
|
295
|
+
|
|
296
|
+
response = await Activity.custom(
|
|
297
|
+
course,
|
|
298
|
+
content,
|
|
299
|
+
activity,
|
|
300
|
+
endpoint
|
|
301
|
+
).get()
|
|
302
|
+
|
|
303
|
+
let activityData = null
|
|
304
|
+
|
|
305
|
+
if (response && response.activity) {
|
|
306
|
+
activityData = response.activity
|
|
307
|
+
} else if (
|
|
308
|
+
response &&
|
|
309
|
+
response.length > 0 &&
|
|
310
|
+
response[0] &&
|
|
311
|
+
response[0].activity
|
|
312
|
+
) {
|
|
313
|
+
activityData = response[0].activity
|
|
314
|
+
} else if (Array.isArray(response) && response.length > 0) {
|
|
315
|
+
activityData = response[0]
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
if (
|
|
319
|
+
activityData &&
|
|
320
|
+
activityData.metadata &&
|
|
321
|
+
activityData.metadata.config &&
|
|
322
|
+
activityData.metadata.config.bucket_titles &&
|
|
323
|
+
activityData.metadata.config.bucket_answers
|
|
324
|
+
) {
|
|
325
|
+
// We pass the activity data and the replace flag to the parent component
|
|
326
|
+
this.$emit(
|
|
327
|
+
'click:generate',
|
|
328
|
+
activityData,
|
|
329
|
+
this.replaceExisting
|
|
330
|
+
)
|
|
331
|
+
} else {
|
|
332
|
+
throw new Error(
|
|
333
|
+
'Invalid response from bucket game generation'
|
|
334
|
+
)
|
|
335
|
+
}
|
|
280
336
|
} else {
|
|
281
337
|
// ASSESSMENT QUESTION GENERATION
|
|
282
338
|
const assessment = new Assessment({ id: this.block.id })
|
|
@@ -308,16 +364,32 @@ export default {
|
|
|
308
364
|
const basePath =
|
|
309
365
|
'windward.core.components.content.blocks.generate_questions.error'
|
|
310
366
|
|
|
311
|
-
let errorText =
|
|
312
|
-
this.$t(`${basePath}.${errorType}`) +
|
|
313
|
-
'\n\n' +
|
|
314
|
-
this.$t(`${basePath}.${errorType}_support`)
|
|
367
|
+
let errorText = ''
|
|
315
368
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
'
|
|
320
|
-
|
|
369
|
+
// Check for content mismatch error specifically for bucket games
|
|
370
|
+
if (
|
|
371
|
+
(errorMessage === 'activity.error.content_mismatch' ||
|
|
372
|
+
errorType === 'content_mismatch') &&
|
|
373
|
+
this.questionType === 'bucket_game'
|
|
374
|
+
) {
|
|
375
|
+
errorText =
|
|
376
|
+
this.$t(`${basePath}.content_mismatch_bucket_game`) +
|
|
377
|
+
'\n\n' +
|
|
378
|
+
this.$t(
|
|
379
|
+
`${basePath}.content_mismatch_bucket_game_support`
|
|
380
|
+
)
|
|
381
|
+
} else {
|
|
382
|
+
errorText =
|
|
383
|
+
this.$t(`${basePath}.${errorType}`) +
|
|
384
|
+
'\n\n' +
|
|
385
|
+
this.$t(`${basePath}.${errorType}_support`)
|
|
386
|
+
|
|
387
|
+
if (errorType === 'technical') {
|
|
388
|
+
const errorCode =
|
|
389
|
+
error.response?.data?.error?.details?.error_type ||
|
|
390
|
+
'UNKNOWN'
|
|
391
|
+
errorText = errorText.replace('[ERROR_CODE]', errorCode)
|
|
392
|
+
}
|
|
321
393
|
}
|
|
322
394
|
|
|
323
395
|
this.$dialog.error(errorText, {
|