@instructure/quiz-core 20.36.1-rc.9 → 20.36.2

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 (77) hide show
  1. package/es/banks/components/AddToBankModal/presenter.js +2 -1
  2. package/es/banks/components/AsyncSearch/index.js +2 -1
  3. package/es/banks/components/BankEntry/presenter.js +2 -1
  4. package/es/banks/components/BankSearch/presenter.js +2 -1
  5. package/es/banks/components/Banks/index.js +1 -0
  6. package/es/banks/components/Banks/presenter.js +9 -5
  7. package/es/banks/components/CopyMoveBankEntryModal/presenter.js +2 -1
  8. package/es/banks/components/CreateBankModal/presenter.js +2 -1
  9. package/es/banks/components/EditBankModal/presenter.js +2 -1
  10. package/es/banks/components/NavWrapper/styles.js +3 -4
  11. package/es/banks/components/SharingModal/RootAccountSharing.js +2 -1
  12. package/es/banks/components/SharingModal/ShareList/index.js +2 -1
  13. package/es/banks/components/SharingModal/index.js +2 -0
  14. package/es/banks/components/SharingModal/presenter.js +78 -18
  15. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +2 -1
  16. package/es/common/components/ImportModal/presenter.js +2 -1
  17. package/es/common/components/layout/Page/styles.js +1 -1
  18. package/es/common/components/layout/header/Calculator/presenter.js +2 -2
  19. package/es/common/components/layout/navbar/styles.js +5 -4
  20. package/es/common/components/layout/sidebar/Sidebar/styles.js +6 -4
  21. package/es/common/components/resources/item/ItemEdit/presenter.js +4 -2
  22. package/es/common/components/resources/quiz/instructions/styles.js +1 -1
  23. package/es/common/components/resources/stimulus/StimulusEditInfo/presenter.js +4 -2
  24. package/es/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +2 -1
  25. package/es/common/components/shared/TagSelect/presenter.js +2 -1
  26. package/es/common/components/shared/TimeUnitsInput/index.js +1 -2
  27. package/es/index.js +1 -3
  28. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -2
  29. package/es/moderating/components/resources/AccommodationsModal/index.js +13 -5
  30. package/es/moderating/components/resources/ModerateTable/presenter.js +2 -4
  31. package/es/moderating/components/sidebar/ModerateTray/presenter.js +29 -20
  32. package/lib/banks/components/AddToBankModal/presenter.js +2 -1
  33. package/lib/banks/components/AsyncSearch/index.js +9 -8
  34. package/lib/banks/components/BankEntry/presenter.js +2 -1
  35. package/lib/banks/components/BankSearch/presenter.js +2 -1
  36. package/lib/banks/components/Banks/index.js +1 -0
  37. package/lib/banks/components/Banks/presenter.js +13 -9
  38. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +2 -1
  39. package/lib/banks/components/CreateBankModal/presenter.js +2 -1
  40. package/lib/banks/components/EditBankModal/presenter.js +2 -1
  41. package/lib/banks/components/NavWrapper/styles.js +3 -5
  42. package/lib/banks/components/SharingModal/RootAccountSharing.js +4 -3
  43. package/lib/banks/components/SharingModal/ShareList/index.js +4 -3
  44. package/lib/banks/components/SharingModal/index.js +2 -0
  45. package/lib/banks/components/SharingModal/presenter.js +80 -20
  46. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +2 -1
  47. package/lib/common/components/ImportModal/presenter.js +2 -1
  48. package/lib/common/components/layout/Page/styles.js +1 -1
  49. package/lib/common/components/layout/header/Calculator/presenter.js +2 -2
  50. package/lib/common/components/layout/navbar/styles.js +5 -5
  51. package/lib/common/components/layout/sidebar/Sidebar/styles.js +6 -4
  52. package/lib/common/components/resources/item/ItemEdit/presenter.js +4 -2
  53. package/lib/common/components/resources/quiz/instructions/styles.js +1 -1
  54. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +9 -7
  55. package/lib/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +4 -3
  56. package/lib/common/components/shared/TagSelect/presenter.js +5 -4
  57. package/lib/common/components/shared/TimeUnitsInput/index.js +1 -2
  58. package/lib/index.js +6 -22
  59. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +7 -7
  60. package/lib/moderating/components/resources/AccommodationsModal/index.js +13 -5
  61. package/lib/moderating/components/resources/ModerateTable/presenter.js +2 -4
  62. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +29 -20
  63. package/package.json +30 -32
  64. package/es/banks/components/NavWrapper/externalStyles.js +0 -5
  65. package/es/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +0 -11
  66. package/es/common/components/AccessCodeTextInput/index.js +0 -47
  67. package/es/common/components/MaskedTextInput/MaskedTextInput.stories.js +0 -19
  68. package/es/common/components/MaskedTextInput/index.js +0 -64
  69. package/es/common/components/layout/navbar/externalStyles.js +0 -7
  70. package/es/common/components/layout/sidebar/Sidebar/externalStyles.js +0 -10
  71. package/lib/banks/components/NavWrapper/externalStyles.js +0 -12
  72. package/lib/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +0 -20
  73. package/lib/common/components/AccessCodeTextInput/index.js +0 -57
  74. package/lib/common/components/MaskedTextInput/MaskedTextInput.stories.js +0 -29
  75. package/lib/common/components/MaskedTextInput/index.js +0 -74
  76. package/lib/common/components/layout/navbar/externalStyles.js +0 -14
  77. package/lib/common/components/layout/sidebar/Sidebar/externalStyles.js +0 -17
@@ -6,12 +6,13 @@ import React, { Component } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { Button, CloseButton } from '@instructure/ui-buttons';
8
8
  import { Heading } from '@instructure/ui-heading';
9
+ import { TextInput } from '@instructure/ui-text-input';
9
10
  import { RadioInputGroup, RadioInput } from '@instructure/ui-radio-input';
10
11
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
11
12
  import Bank from "../../../common/records/Bank.js";
12
13
  import BankSelection from "../../../common/components/resources/BankSelection/presenter.js";
13
14
  import t from '@instructure/quiz-i18n/es/format-message';
14
- import { Modal, ModalHeader, ModalBody, ModalFooter, TextInput, XSMALL_SIDE_MARGIN } from '@instructure/quiz-common';
15
+ import { Modal, ModalHeader, ModalBody, ModalFooter, XSMALL_SIDE_MARGIN } from '@instructure/quiz-common';
15
16
  import { featureOn } from "../../../common/util/featureCheck.js";
16
17
  var _ref = /*#__PURE__*/React.createElement("br", null);
17
18
  export var AddToBankModal = /*#__PURE__*/function (_Component) {
@@ -9,9 +9,10 @@ import PropTypes from 'prop-types';
9
9
  import debounce from 'lodash/fp/debounce';
10
10
  import find from 'lodash/fp/find';
11
11
  import t from '@instructure/quiz-i18n/es/format-message';
12
+ import { Select } from '@instructure/ui-select';
12
13
  import { Spinner } from '@instructure/ui-spinner';
13
14
  import TagWrapper from "../../../common/components/shared/TagWrapper/index.js";
14
- import { SHARED_WITH_USER, SHARED_WITH_COURSE, SHARED_WITH_ACCOUNT, SELECT_EMPTY_OPTION, Select } from '@instructure/quiz-common';
15
+ import { SHARED_WITH_USER, SHARED_WITH_COURSE, SHARED_WITH_ACCOUNT, SELECT_EMPTY_OPTION } from '@instructure/quiz-common';
15
16
  export var AsyncSearch = /*#__PURE__*/function (_Component) {
16
17
  _inherits(AsyncSearch, _Component);
17
18
  var _super = _createSuper(AsyncSearch);
@@ -23,6 +23,7 @@ import { Text } from '@instructure/ui-text';
23
23
  import { Heading } from '@instructure/ui-heading';
24
24
  import { IconDiscussionLine, IconDiscussionSolid } from '@instructure/ui-icons';
25
25
  import { PresentationContent, ScreenReaderContent } from '@instructure/ui-a11y-content';
26
+ import { TextInput } from '@instructure/ui-text-input';
26
27
  import { jsx } from '@instructure/emotion';
27
28
  import { HeaderBreadCrumb } from "../HeaderBreadCrumb/index.js";
28
29
  import EntrySave from "../../../common/components/resources/entry/EntrySave/index.js";
@@ -40,7 +41,7 @@ import { createItem } from "../../../building/api/items.js";
40
41
  import { createStimulus } from "../../../building/api/stimuli.js";
41
42
  import { propsForItemVersioningWrapper, propsForStimulusVersioningWrapper } from "../../../common/util/warningHelpers.js";
42
43
  import NavWrapper from "../NavWrapper/index.js";
43
- import { API_INPUT_VALIDATION_ERROR, CLEAR_ALL_INPUT_VALIDATION_ERRORS, ITEM_FEEDBACK_MODAL, ITEM_FEEDBACK_MODAL_ITEM, ITEM_FEEDBACK_MODAL_FEEDBACK, PARENT_TYPE_BANK, TextInput, withStyleOverrides } from '@instructure/quiz-common';
44
+ import { API_INPUT_VALIDATION_ERROR, CLEAR_ALL_INPUT_VALIDATION_ERRORS, ITEM_FEEDBACK_MODAL, ITEM_FEEDBACK_MODAL_ITEM, ITEM_FEEDBACK_MODAL_FEEDBACK, PARENT_TYPE_BANK, withStyleOverrides } from '@instructure/quiz-common';
44
45
  import generateStyle from "./styles.js";
45
46
  import generateComponentTheme from "./theme.js";
46
47
  var _ref3 = jsx(Spinner, null);
@@ -10,6 +10,7 @@ import PropTypes from 'prop-types';
10
10
  import ImmutablePropTypes from 'react-immutable-proptypes';
11
11
  import { IconPlusLine } from '@instructure/ui-icons';
12
12
  import { Button, CondensedButton } from '@instructure/ui-buttons';
13
+ import { TextInput } from '@instructure/ui-text-input';
13
14
  import { Checkbox } from '@instructure/ui-checkbox';
14
15
  import { View } from '@instructure/ui-view';
15
16
  import { Flex } from '@instructure/ui-flex';
@@ -21,7 +22,7 @@ import TagSuggestSelect from "../../../common/components/shared/TagSuggestSelect
21
22
  import { interactionTypesNameDictionary } from "../../../common/util/interactionTypeMetadata.js";
22
23
  import generateStyle from "./styles.js";
23
24
  import generateComponentTheme from "./theme.js";
24
- import { TextInput, withStyleOverrides } from '@instructure/quiz-common';
25
+ import { withStyleOverrides } from '@instructure/quiz-common';
25
26
  var tagShape = PropTypes.shape({
26
27
  tag: PropTypes.shape({
27
28
  id: PropTypes.string,
@@ -19,6 +19,7 @@ function mapStateToProps(state, props) {
19
19
  return {
20
20
  itemBankSearchTableEnabled: featureOn('item_bank_search_table'),
21
21
  usedByCourseEnabled: featureOn('filter_item_banks_used_by_course'),
22
+ subAccountBankSharingEnabled: featureOn('sub_account_bank_sharing'),
22
23
  scopeType: scopeType,
23
24
  sortBy: sortBy,
24
25
  sortOrder: sortOrder,
@@ -14,6 +14,8 @@ import { AccessibleContent, ScreenReaderContent } from '@instructure/ui-a11y-con
14
14
  import { IconPlusLine, IconArrowUpLine, IconArrowDownLine } from '@instructure/ui-icons';
15
15
  import { Billboard } from '@instructure/ui-billboard';
16
16
  import { Button } from '@instructure/ui-buttons';
17
+ import { TextInput } from '@instructure/ui-text-input';
18
+ import { SimpleSelect } from '@instructure/ui-simple-select';
17
19
  import { jsx } from '@instructure/emotion';
18
20
  import { Grid } from '@instructure/ui-grid';
19
21
  import { View } from '@instructure/ui-view';
@@ -22,7 +24,7 @@ import Page from "../../../common/components/layout/Page/index.js";
22
24
  import { HeaderBreadCrumb } from "../HeaderBreadCrumb/index.js";
23
25
  import PaginatedCollection from "../../../common/components/shared/PaginatedCollection/index.js";
24
26
  import t from '@instructure/quiz-i18n/es/format-message';
25
- import { BANKS_BANK_FILTERS, BANKS_BANK_PAGINATION, CREATE_BANK_MODAL, SHARED_WITH_ACCOUNT, withStyleOverrides, SimpleSelect, TextInput } from '@instructure/quiz-common';
27
+ import { BANKS_BANK_FILTERS, BANKS_BANK_PAGINATION, CREATE_BANK_MODAL, SHARED_WITH_ACCOUNT, withStyleOverrides } from '@instructure/quiz-common';
26
28
  import BanksList from "../../../banks/components/BanksList/index.js";
27
29
  import CreateBankModal from "../../../banks/components/CreateBankModal/index.js";
28
30
  import NavWrapper from "../NavWrapper/index.js";
@@ -222,7 +224,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
222
224
  }, {
223
225
  key: "topLevelBankFilterName",
224
226
  value: function topLevelBankFilterName() {
225
- return t('Shared with Me');
227
+ return this.props.subAccountBankSharingEnabled ? t('Shared with Me') : t('All Banks');
226
228
  }
227
229
  }, {
228
230
  key: "renderFilters",
@@ -235,7 +237,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
235
237
  translation: t('Institution Banks')
236
238
  }, {
237
239
  slug: 'courses',
238
- translation: t('Shared with Courses')
240
+ translation: this.props.subAccountBankSharingEnabled ? t('Shared with Courses') : t('Banks Shared to Course')
239
241
  }];
240
242
  if (this.props.scope.uuid) {
241
243
  scopeOptions.push({
@@ -243,7 +245,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
243
245
  translation: t('This Course')
244
246
  });
245
247
  }
246
- if (this.isSubAccountLaunch()) {
248
+ if (this.props.subAccountBankSharingEnabled && this.isSubAccountLaunch()) {
247
249
  // Put this option below "Insitution Banks"
248
250
  scopeOptions.splice(2, 0, {
249
251
  slug: 'this_account',
@@ -302,7 +304,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
302
304
  onChange: this.handleSearchInputChange,
303
305
  placeholder: t('Search Banks'),
304
306
  "data-automation": "sdk-search-bank-textinput"
305
- })), !this.hideAccountSearch() && jsx(Grid.Col, {
307
+ })), this.props.subAccountBankSharingEnabled && !this.hideAccountSearch() && jsx(Grid.Col, {
306
308
  width: 4
307
309
  }, jsx(AsyncSearch, {
308
310
  getShareableSubaccounts: this.props.getShareableSubaccounts,
@@ -488,6 +490,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
488
490
  usedByCourseEnabled: PropTypes.bool,
489
491
  itemBankSearchTableEnabled: PropTypes.bool,
490
492
  setUI: PropTypes.func.isRequired,
493
+ subAccountBankSharingEnabled: PropTypes.bool,
491
494
  iceTopNavBarEnabled: PropTypes.bool,
492
495
  styles: PropTypes.object,
493
496
  rootAccountUuid: PropTypes.string
@@ -514,6 +517,7 @@ export var Banks = (_dec = withStyleOverrides(generateStyle, generateComponentTh
514
517
  searchSelection: [],
515
518
  usedByCourseEnabled: false,
516
519
  itemBankSearchTableEnabled: false,
520
+ subAccountBankSharingEnabled: false,
517
521
  iceTopNavBarEnabled: false,
518
522
  rootAccountUuid: null
519
523
  }, _Banks.contextTypes = {
@@ -5,6 +5,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React, { Component } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { Button, CloseButton } from '@instructure/ui-buttons';
8
+ import { TextInput } from '@instructure/ui-text-input';
8
9
  import { RadioInputGroup, RadioInput } from '@instructure/ui-radio-input';
9
10
  import { Checkbox } from '@instructure/ui-checkbox';
10
11
  import { Heading } from '@instructure/ui-heading';
@@ -12,7 +13,7 @@ import { ScreenReaderContent } from '@instructure/ui-a11y-content';
12
13
  import t from '@instructure/quiz-i18n/es/format-message';
13
14
  import Bank from "../../../common/records/Bank.js";
14
15
  import BankSelection from "../../../common/components/resources/BankSelection/presenter.js";
15
- import { Modal, ModalHeader, ModalBody, ModalFooter, COPY_MOVE_BANK_ENTRY_MODAL_KEEP_COPY, TextInput, XSMALL_SIDE_MARGIN } from '@instructure/quiz-common';
16
+ import { Modal, ModalHeader, ModalBody, ModalFooter, COPY_MOVE_BANK_ENTRY_MODAL_KEEP_COPY, XSMALL_SIDE_MARGIN } from '@instructure/quiz-common';
16
17
  import { featureOn } from "../../../common/util/featureCheck.js";
17
18
  var _ref = /*#__PURE__*/React.createElement("br", null);
18
19
  var _ref2 = /*#__PURE__*/React.createElement("br", null);
@@ -9,12 +9,13 @@ import PropTypes from 'prop-types';
9
9
  import { Button, CloseButton } from '@instructure/ui-buttons';
10
10
  import { Checkbox } from '@instructure/ui-checkbox';
11
11
  import { View } from '@instructure/ui-view';
12
+ import { TextInput } from '@instructure/ui-text-input';
12
13
  import { Heading } from '@instructure/ui-heading';
13
14
  import { jsx } from '@instructure/emotion';
14
15
  import t from '@instructure/quiz-i18n/es/format-message';
15
16
  import Bank from "../../../common/records/Bank.js";
16
17
  import { toErrors } from "../../../common/util/instUIMessages.js";
17
- import { Modal, ModalHeader, ModalBody, ModalFooter, TextInput, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
18
+ import { Modal, ModalHeader, ModalBody, ModalFooter, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
18
19
  import generateStyle from "./styles.js";
19
20
  import generateComponentTheme from "./theme.js";
20
21
  export var CreateBankModal = (_dec = withStyleOverrides(generateStyle, generateComponentTheme), _dec(_class = (_CreateBankModal = /*#__PURE__*/function (_Component) {
@@ -7,11 +7,12 @@ var _dec, _class, _EditBankModal;
7
7
  import { Component } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import { Button, CloseButton } from '@instructure/ui-buttons';
10
+ import { TextInput } from '@instructure/ui-text-input';
10
11
  import { Heading } from '@instructure/ui-heading';
11
12
  import { jsx } from '@instructure/emotion';
12
13
  import t from '@instructure/quiz-i18n/es/format-message';
13
14
  import { toErrors } from "../../../common/util/instUIMessages.js";
14
- import { Modal, ModalHeader, ModalBody, ModalFooter, TextInput, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
15
+ import { Modal, ModalHeader, ModalBody, ModalFooter, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
15
16
  import Bank from "../../../common/records/Bank.js";
16
17
  import generateStyle from "./styles.js";
17
18
  import generateComponentTheme from "./theme.js";
@@ -1,7 +1,6 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import { generateExternalStyle } from "./externalStyles.js";
3
1
  var generateStyle = function generateStyle(componentTheme) {
4
- return _objectSpread({
2
+ return {
3
+ showReturnButton: true,
5
4
  nav: {
6
5
  display: 'flex',
7
6
  flexDirection: 'row',
@@ -26,6 +25,6 @@ var generateStyle = function generateStyle(componentTheme) {
26
25
  crumbs: {
27
26
  flex: 1
28
27
  }
29
- }, generateExternalStyle());
28
+ };
30
29
  };
31
30
  export default generateStyle;
@@ -5,12 +5,13 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  var _dec, _class, _RootAccountSharing;
6
6
  import React, { Component } from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { withStyleOverrides, CAN_EDIT, READ_ONLY, SimpleSelect } from '@instructure/quiz-common';
8
+ import { withStyleOverrides, CAN_EDIT, READ_ONLY } from '@instructure/quiz-common';
9
9
  import { IconAdminLine } from '@instructure/ui-icons';
10
10
  import { Checkbox } from '@instructure/ui-checkbox';
11
11
  import { View } from '@instructure/ui-view';
12
12
  import { Grid } from '@instructure/ui-grid';
13
13
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
14
+ import { SimpleSelect } from '@instructure/ui-simple-select';
14
15
  import generateStyle from "./styles.js";
15
16
  import generateComponentTheme from "./theme.js";
16
17
  import t from '@instructure/quiz-i18n/es/format-message';
@@ -11,9 +11,10 @@ import { Map } from 'immutable';
11
11
  import { IconCoursesLine, IconTrashLine, IconResetLine } from '@instructure/ui-icons';
12
12
  import { Grid } from '@instructure/ui-grid';
13
13
  import { Avatar } from '@instructure/ui-avatar';
14
+ import { SimpleSelect } from '@instructure/ui-simple-select';
14
15
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
15
16
  import { jsx } from '@instructure/emotion';
16
- import { CAN_EDIT, READ_ONLY, REMOVED_ACCESS, SHARED_WITH_COURSE, SimpleSelect, withStyleOverrides } from '@instructure/quiz-common';
17
+ import { CAN_EDIT, READ_ONLY, REMOVED_ACCESS, SHARED_WITH_COURSE, withStyleOverrides } from '@instructure/quiz-common';
17
18
  import t from '@instructure/quiz-i18n/es/format-message';
18
19
  import { ContextualIconButton } from "../ContextualIconButton/index.js";
19
20
  import generateStyle from "./styles.js";
@@ -4,12 +4,14 @@ import { connect } from "../../../common/react-redux.js";
4
4
  import { shareBank, getSharedBanks, updateSharedBankPermission, getBank, updateBank } from "../../api/banks.js";
5
5
  import { removeSharedBank } from "../../../common/actions/sharedBanks.js";
6
6
  import { withConfirm } from "../../../common/actions/modal.js";
7
+ import { featureOn } from "../../../common/util/featureCheck.js";
7
8
  import SharingModal from "./presenter.js";
8
9
  function mapStateToProps(state, ownProps) {
9
10
  var sharedBanks = state.get('sharedBanks', Map()).filter(function (sharedBank) {
10
11
  return sharedBank.get('bankId') === ownProps.bank.id;
11
12
  }).toList();
12
13
  return {
14
+ subAccountBankSharingEnabled: featureOn('sub_account_bank_sharing'),
13
15
  sharedBanks: sharedBanks
14
16
  };
15
17
  }
@@ -1,6 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
6
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
@@ -14,13 +14,14 @@ import PropTypes from 'prop-types';
14
14
  import { List, Map } from 'immutable';
15
15
  import ImmutablePropTypes from 'react-immutable-proptypes';
16
16
  import partial from 'lodash/partial';
17
- import { Modal, ModalHeader, ModalBody, ModalFooter, CAN_EDIT, READ_ONLY, REMOVED_ACCESS, SHARED_WITH_USER, SHARED_WITH_COURSE, SHARED_WITH_ACCOUNT, SimpleSelect, withStyleOverrides } from '@instructure/quiz-common';
17
+ import { Modal, ModalHeader, ModalBody, ModalFooter, CAN_EDIT, READ_ONLY, REMOVED_ACCESS, SHARED_WITH_USER, SHARED_WITH_COURSE, SHARED_WITH_ACCOUNT, withStyleOverrides } from '@instructure/quiz-common';
18
18
  import { Heading } from '@instructure/ui-heading';
19
19
  import { Button, CloseButton } from '@instructure/ui-buttons';
20
20
  import { View } from '@instructure/ui-view';
21
21
  import { Grid } from '@instructure/ui-grid';
22
22
  import { Tabs } from '@instructure/ui-tabs';
23
23
  import { Text } from '@instructure/ui-text';
24
+ import { SimpleSelect } from '@instructure/ui-simple-select';
24
25
  import { jsx } from '@instructure/emotion';
25
26
  import elementsForSelectors from "../../../common/util/ElementsForSelectors.js";
26
27
  import CustomPropTypes from "../../../common/util/CustomPropTypes.js";
@@ -176,7 +177,27 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
176
177
  return originalEntity.get('permission', CAN_EDIT);
177
178
  };
178
179
  _this.handleEntityRemove = function (entity, undoRemove) {
179
- _this.confirmPermissionChange(entity, REMOVED_ACCESS);
180
+ if (_this.props.subAccountBankSharingEnabled) {
181
+ _this.confirmPermissionChange(entity, REMOVED_ACCESS);
182
+ } else {
183
+ var permission = undoRemove ? _this.originalPermissionForEntity(entity) : REMOVED_ACCESS;
184
+ _this.setState(function (prevState) {
185
+ var sharesIndex = prevState.shares.findIndex(function (e) {
186
+ return e.get('id') == entity.get('id');
187
+ });
188
+ var newEntitiesIndex = prevState.newEntities.findIndex(function (e) {
189
+ return e.get('id') == entity.get('id');
190
+ });
191
+ var removedNewEntity = newEntitiesIndex > -1;
192
+ var newShares = removedNewEntity ? prevState.shares.delete(sharesIndex) : prevState.shares.setIn([sharesIndex, 'permission'], permission);
193
+ var newEntities = removedNewEntity ? prevState.newEntities.delete(newEntitiesIndex) : prevState.newEntities;
194
+ return {
195
+ shares: newShares,
196
+ newEntities: newEntities,
197
+ entitiesWithChangedPermission: Object.assign({}, prevState.entitiesWithChangedPermission, _defineProperty({}, entity.get('id'), permission))
198
+ };
199
+ }, _this.updateEntitiesCount);
200
+ }
180
201
  };
181
202
  _this.handleSearchPermissionChange = function (e, _ref4) {
182
203
  var value = _ref4.value;
@@ -203,13 +224,21 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
203
224
  permission: _this.state.searchPermission
204
225
  });
205
226
  }));
206
- newEntities.forEach(function (entity) {
207
- _this.props.onShare(entity.toJS());
208
- _this.props.shareBank(_this.sharedBankForEntity(entity), _this.props.getUserInfo);
209
- });
210
- _this.setState({
211
- searchSelection: []
212
- });
227
+ if (_this.props.subAccountBankSharingEnabled) {
228
+ newEntities.forEach(function (entity) {
229
+ _this.props.onShare(entity.toJS());
230
+ _this.props.shareBank(_this.sharedBankForEntity(entity), _this.props.getUserInfo);
231
+ });
232
+ _this.setState({
233
+ searchSelection: []
234
+ });
235
+ } else {
236
+ _this.setState({
237
+ searchSelection: [],
238
+ shares: newEntities.concat(_this.state.shares),
239
+ newEntities: newEntities.concat(_this.state.newEntities)
240
+ }, _this.updateEntitiesCount);
241
+ }
213
242
  };
214
243
  _this.updatePermission = /*#__PURE__*/function () {
215
244
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(entity, permission) {
@@ -254,7 +283,19 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
254
283
  });
255
284
  };
256
285
  _this.handleEntityPermissionChange = function (entity, permission) {
257
- _this.confirmPermissionChange(entity, permission);
286
+ if (_this.props.subAccountBankSharingEnabled) {
287
+ _this.confirmPermissionChange(entity, permission);
288
+ } else {
289
+ _this.setState(function (prevState) {
290
+ var index = prevState.shares.findIndex(function (share) {
291
+ return share.get('id') === entity.get('id');
292
+ });
293
+ return {
294
+ shares: prevState.shares.setIn([index, 'permission'], permission),
295
+ entitiesWithChangedPermission: Object.assign({}, prevState.entitiesWithChangedPermission, _defineProperty({}, entity.get('id'), permission))
296
+ };
297
+ });
298
+ }
258
299
  };
259
300
  _this.toggleAccountShare = function (event) {
260
301
  _this.setState(function (prevState) {
@@ -343,7 +384,7 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
343
384
  }, {
344
385
  key: "componentDidUpdate",
345
386
  value: function componentDidUpdate(prevProps, prevState) {
346
- if (this.state.accountPermission !== prevState.accountPermission && this.state.accountPermission !== this.props.bank.accountPermission) {
387
+ if (this.props.subAccountBankSharingEnabled && this.state.accountPermission !== prevState.accountPermission && this.state.accountPermission !== this.props.bank.accountPermission) {
347
388
  var updatedBank = this.props.bank.set('accountPermission', this.state.accountPermission);
348
389
  this.props.updateBank(updatedBank, false);
349
390
  }
@@ -462,20 +503,37 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
462
503
  var existingAccounts = existingShares.filter(function (s) {
463
504
  return s.get('entityType') === SHARED_WITH_ACCOUNT;
464
505
  });
465
- return this.renderSubaccountSharingEnabledEntities(existingPeople, existingCourses, existingAccounts);
506
+ if (this.props.subAccountBankSharingEnabled) {
507
+ return this.renderSubaccountSharingEnabledEntities(existingPeople, existingCourses, existingAccounts);
508
+ }
509
+ return this.renderOriginalDesignEntities(existingPeople, existingCourses);
466
510
  }
467
511
  }, {
468
512
  key: "renderFooter",
469
513
  value: function renderFooter() {
470
- return jsx(Button, {
514
+ if (this.props.subAccountBankSharingEnabled) {
515
+ return jsx(Button, {
516
+ color: "primary",
517
+ margin: "0 x-small 0 0",
518
+ onClick: this.handleDismiss
519
+ }, t('Close'));
520
+ }
521
+ return jsx(React.Fragment, null, jsx(Button, {
522
+ "data-automation": "sdk-shared-bank-cancel-button",
523
+ color: "primary-inverse",
524
+ onClick: this.handleDismiss,
525
+ margin: "0 x-small 0 0"
526
+ }, t('Cancel')), jsx(Button, {
527
+ "data-automation": "sdk-shared-bank-done-button",
471
528
  color: "primary",
472
- margin: "0 x-small 0 0",
473
- onClick: this.handleDismiss
474
- }, t('Close'));
529
+ onClick: this.handleSubmit,
530
+ margin: "0 x-small 0 0"
531
+ }, t('Done')));
475
532
  }
476
533
  }, {
477
534
  key: "render",
478
535
  value: function render() {
536
+ var subAccountBankSharingEnabled = this.props.subAccountBankSharingEnabled;
479
537
  return jsx(Modal, {
480
538
  open: this.props.isOpen,
481
539
  onDismiss: this.handleDismiss,
@@ -488,7 +546,7 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
488
546
  placement: "end",
489
547
  offset: "medium",
490
548
  screenReaderLabel: t('Close')
491
- })), jsx(ModalBody, null, this.state.shares.size >= 0 ? this.renderEntitiesSection() : _ref7), jsx(ModalFooter, null, this.renderFooter()));
549
+ })), jsx(ModalBody, null, !subAccountBankSharingEnabled && this.renderRootAccountSharing(), !subAccountBankSharingEnabled && this.renderSearchSection(), this.state.shares.size >= 0 ? this.renderEntitiesSection() : _ref7), jsx(ModalFooter, null, this.renderFooter()));
492
550
  }
493
551
  }]);
494
552
  SharingModalPresenter.displayName = "SharingModalPresenter";
@@ -523,6 +581,7 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
523
581
  removeSharedBank: PropTypes.func.isRequired,
524
582
  shareBank: PropTypes.func.isRequired,
525
583
  sharedBanks: ImmutablePropTypes.list,
584
+ subAccountBankSharingEnabled: PropTypes.bool,
526
585
  updateBank: PropTypes.func.isRequired,
527
586
  updateSharedBankPermission: PropTypes.func.isRequired,
528
587
  updateSharedCount: PropTypes.func,
@@ -537,6 +596,7 @@ export var SharingModalPresenter = (_dec = withStyleOverrides(generateStyle, gen
537
596
  onDismiss: noop,
538
597
  onShare: function onShare() {},
539
598
  sharedBanks: List(),
599
+ subAccountBankSharingEnabled: false,
540
600
  updateSharedCount: Function.prototype
541
601
  }, _SharingModalPresenter)) || _class);
542
602
  export default SharingModalPresenter;
@@ -12,6 +12,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
12
12
  import partial from 'lodash/partial';
13
13
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
14
14
  import { CondensedButton } from '@instructure/ui-buttons';
15
+ import { TextInput } from '@instructure/ui-text-input';
15
16
  import { jsx, Global } from '@instructure/emotion';
16
17
  import { FillBlankInteractionType } from '@instructure/quiz-interactions';
17
18
  import { IconBankLine } from '@instructure/ui-icons';
@@ -20,7 +21,7 @@ import { convertFITBtoRich } from "../../../../../../common/util/fitbCopyHelper.
20
21
  import PositionBox from "../../../../../../common/components/resources/positionBox/PositionBox.js";
21
22
  import Item from "../../../../../../common/records/Item.js";
22
23
  import ActionButtons from "../../../ActionButtons/index.js";
23
- import { DELETED_QUIZ_ENTRY, API_INPUT_VALIDATION_ERROR, BUILD_TRAY_OPEN, TextInput, withStyleOverrides } from '@instructure/quiz-common';
24
+ import { DELETED_QUIZ_ENTRY, API_INPUT_VALIDATION_ERROR, BUILD_TRAY_OPEN, withStyleOverrides } from '@instructure/quiz-common';
24
25
  import generateStyle from "./styles.js";
25
26
  import generateComponentTheme from "./theme.js";
26
27
  var _ref2 = jsx(IconBankLine, null);
@@ -14,8 +14,9 @@ import { ProgressBar } from '@instructure/ui-progress';
14
14
  import { Heading } from '@instructure/ui-heading';
15
15
  import { Tabs } from '@instructure/ui-tabs';
16
16
  import { ToggleDetails } from '@instructure/ui-toggle-details';
17
+ import { TextInput } from '@instructure/ui-text-input';
17
18
  import { jsx } from '@instructure/emotion';
18
- import { ImportantModal, ModalHeader, ModalBody, ModalFooter, FILE_UPLOAD_SELECT, FILE_UPLOAD_IMPORTING, FILE_UPLOAD_SUCCESS, FILE_UPLOAD_FAILURE, FILE_UPLOAD_ERROR, TextInput, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
19
+ import { ImportantModal, ModalHeader, ModalBody, ModalFooter, FILE_UPLOAD_SELECT, FILE_UPLOAD_IMPORTING, FILE_UPLOAD_SUCCESS, FILE_UPLOAD_FAILURE, FILE_UPLOAD_ERROR, XSMALL_SIDE_MARGIN, withStyleOverrides } from '@instructure/quiz-common';
19
20
  import generateStyle from "./styles.js";
20
21
  import generateComponentTheme from "./theme.js";
21
22
  import ImportFileSelector from "./ImportFileSelector/index.js";
@@ -19,7 +19,7 @@ var generateStyle = function generateStyle(componentTheme, props) {
19
19
  transition: componentTheme.contentTransition,
20
20
  width: '100%',
21
21
  '.user_content p': {
22
- margin: "".concat(componentTheme.userContentMargin, " 0"),
22
+ margin: componentTheme.userContentMargin,
23
23
  '&:first-of-type': {
24
24
  marginTop: componentTheme.userContentZeroMargin
25
25
  },
@@ -22,8 +22,8 @@ var CalculatorButton = function CalculatorButton(_ref) {
22
22
  variant: "icon",
23
23
  renderIcon: _ref2,
24
24
  disabled: !enabled,
25
- tooltip: t('This calculator has accessibility limitations.')
26
- }, t('Calculator'), /*#__PURE__*/React.createElement(ScreenReaderContent, null, t('Use the arrow keys to move the calculator after selecting "Move". Screen readers may not announce the launch clearly.')));
25
+ tooltip: t('Calculator')
26
+ }, t('Calculator'));
27
27
  }
28
28
  return /*#__PURE__*/React.createElement(Button, {
29
29
  renderIcon: IconCalculatorLine,
@@ -1,9 +1,10 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import { generateExternalStyle } from "./externalStyles.js";
3
1
  var generateStyle = function generateStyle(componentTheme) {
4
- return _objectSpread({
2
+ return {
3
+ showBrandIcon: true,
4
+ desktopBottomBorder: true,
5
+ desktopBottomBorderInverse: true,
5
6
  backgroundColor: componentTheme.backgroundColor,
6
7
  phoneBreakPoint: componentTheme.phoneBreakPoint
7
- }, generateExternalStyle());
8
+ };
8
9
  };
9
10
  export default generateStyle;
@@ -1,16 +1,18 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import merge from 'lodash/merge';
4
- import { generateExternalStyle } from "./externalStyles.js";
5
3
  var generateStyle = function generateStyle(componentTheme, props) {
6
4
  var _commonContainer;
7
5
  var mq = "@media screen and (".concat(componentTheme.phoneBreakPoint, ")");
8
6
  var mp = '@media print';
9
- return merge({
7
+ return {
10
8
  sidebar: _objectSpread(_objectSpread(_defineProperty({
11
9
  boxSizing: 'border-box',
12
10
  width: componentTheme.sidebarWidthClosed,
13
11
  backgroundColor: componentTheme.sidebarBackgroundColor,
12
+ borderTop: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
13
+ borderRight: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
14
+ borderBottom: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
15
+ borderLeft: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
14
16
  color: componentTheme.sidebarColor,
15
17
  height: '100%',
16
18
  overflow: 'hidden',
@@ -109,6 +111,6 @@ var generateStyle = function generateStyle(componentTheme, props) {
109
111
  }), _defineProperty(_commonContainer, mp, {
110
112
  display: 'none'
111
113
  }), _commonContainer)
112
- }, generateExternalStyle(componentTheme));
114
+ };
113
115
  };
114
116
  export default generateStyle;
@@ -7,14 +7,16 @@ import PropTypes from 'prop-types';
7
7
  import ImmutablePropTypes from 'react-immutable-proptypes';
8
8
  import OutcomeAlignments from '@instructure/outcomes-ui/es/containers/OutcomeAlignments';
9
9
  import OutcomeCount from '@instructure/outcomes-ui/es/containers/OutcomeCount';
10
+ import { FormFieldGroup } from '@instructure/ui-form-field';
10
11
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
11
12
  import CustomPropTypes from "../../../../../common/util/CustomPropTypes.js";
12
13
  import componentForItem from "../../../../util/componentForItem.js";
13
- import { liveRegion, COMPONENT_EDIT, FormFieldGroup } from '@instructure/quiz-common';
14
+ import { liveRegion, COMPONENT_EDIT } from '@instructure/quiz-common';
14
15
  import t from '@instructure/quiz-i18n/es/format-message';
15
16
  import { propsForInteractionEdit } from "../../../../util/interactionTypePropsHelper.js";
16
17
  import elementsForSelectors from "../../../../../common/util/ElementsForSelectors.js";
17
18
  import { toErrors } from "../../../../util/instUIMessages.js";
19
+ import { featureOn } from "../../../../../common/util/featureCheck.js";
18
20
  export var ItemEdit = /*#__PURE__*/function (_Component) {
19
21
  _inherits(ItemEdit, _Component);
20
22
  var _super = _createSuper(ItemEdit);
@@ -62,7 +64,7 @@ export var ItemEdit = /*#__PURE__*/function (_Component) {
62
64
  var launchContextUuid = this.props.scope.launch_context_uuid;
63
65
  var launchContextTitle = this.props.scope.title;
64
66
  // If editing within a quiz, there is no account launch context
65
- if (rootAccountName) {
67
+ if (featureOn('sub_account_bank_sharing') && rootAccountName) {
66
68
  launchContexts.push({
67
69
  uuid: this.props.rootAccountUuid,
68
70
  name: rootAccountName
@@ -12,7 +12,7 @@ var generateStyle = function generateStyle(componentTheme) {
12
12
  display: 'table'
13
13
  },
14
14
  '.user_content p': {
15
- margin: "".concat(componentTheme.userContentMargin, " 0"),
15
+ margin: componentTheme.userContentMargin,
16
16
  '&:first-of-type': {
17
17
  marginTop: componentTheme.userContentZeroMargin
18
18
  },
@@ -8,14 +8,16 @@ import { Component } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import ImmutablePropTypes from 'react-immutable-proptypes';
10
10
  import { ScreenReaderContent } from '@instructure/ui-a11y-content';
11
- import { FormField } from '@instructure/ui-form-field';
11
+ import { TextInput } from '@instructure/ui-text-input';
12
+ import { FormField, FormFieldGroup } from '@instructure/ui-form-field';
12
13
  import { jsx } from '@instructure/emotion';
13
14
  import { Heading } from '@instructure/ui-heading';
14
15
  import { RichContentInput, RCE_SINGLE_LINE_HEIGHT } from '@instructure/quiz-rce';
15
16
  import { toErrors } from "../../../../util/instUIMessages.js";
17
+ import { SimpleSelect } from '@instructure/ui-simple-select';
16
18
  import { IconUpdownLine } from '@instructure/ui-icons';
17
19
  import { ToggleDetails } from '@instructure/ui-toggle-details';
18
- import { SimpleSelect, TextInput, TOP, withStyleOverrides, FormFieldGroup } from '@instructure/quiz-common';
20
+ import { TOP, withStyleOverrides } from '@instructure/quiz-common';
19
21
  import t from '@instructure/quiz-i18n/es/format-message';
20
22
  import generateStyle from "./styles.js";
21
23
  import generateComponentTheme from "./theme.js";
@@ -5,9 +5,10 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React, { Component } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import debounce from 'lodash/fp/debounce';
8
+ import { Select } from '@instructure/ui-select';
8
9
  import { Spinner } from '@instructure/ui-spinner';
9
10
  import t from '@instructure/quiz-i18n/es/format-message';
10
- import { SELECT_EMPTY_OPTION, Select } from '@instructure/quiz-common';
11
+ import { SELECT_EMPTY_OPTION } from '@instructure/quiz-common';
11
12
  export var GenericAsyncSearch = /*#__PURE__*/function (_Component) {
12
13
  _inherits(GenericAsyncSearch, _Component);
13
14
  var _super = _createSuper(GenericAsyncSearch);
@@ -5,10 +5,11 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React, { Component } from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { Select } from '@instructure/ui-select';
8
9
  import TagWrapper from "../TagWrapper/index.js";
9
10
  import differenceBy from 'lodash/differenceBy';
10
11
  import t from '@instructure/quiz-i18n/es/format-message';
11
- import { SELECT_EMPTY_OPTION, Select } from '@instructure/quiz-common';
12
+ import { SELECT_EMPTY_OPTION } from '@instructure/quiz-common';
12
13
  var tagShape = PropTypes.shape({
13
14
  id: PropTypes.string,
14
15
  value: PropTypes.string.isRequired