@oat-sa/tao-core-ui 1.55.0 → 1.56.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 (178) hide show
  1. package/dist/animable/absorbable/css/absorb.css.map +1 -0
  2. package/dist/animable/pulsable/css/pulse.css.map +1 -0
  3. package/dist/autocomplete/css/autocomplete.css.map +1 -0
  4. package/dist/badge/css/badge.css.map +1 -0
  5. package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -0
  6. package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -0
  7. package/dist/calculator/css/calculator.css.map +1 -0
  8. package/dist/class/css/selector.css.map +1 -0
  9. package/dist/component/css/components.css.map +1 -0
  10. package/dist/component/css/windowComponent.css.map +1 -0
  11. package/dist/component/draggable.js +6 -0
  12. package/dist/component/resizable.js +6 -0
  13. package/dist/contextualPopup/css/contextualPopup.css.map +1 -0
  14. package/dist/dashboard/css/dashboard.css.map +1 -0
  15. package/dist/datalist/css/datalist.css.map +1 -0
  16. package/dist/datatable/css/datatable.css.map +1 -0
  17. package/dist/dateRange/css/dateRange.css.map +1 -0
  18. package/dist/datetime/css/picker.css.map +1 -0
  19. package/dist/destination/css/selector.css.map +1 -0
  20. package/dist/documentViewer/css/documentViewer.css.map +1 -0
  21. package/dist/dropdown/css/dropdown.css.map +1 -0
  22. package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -0
  23. package/dist/figure/FigureStateActive.js +670 -0
  24. package/dist/form/css/dropdownForm.css.map +1 -0
  25. package/dist/form/css/form.css.map +1 -0
  26. package/dist/form/validator/css/validator.css.map +1 -0
  27. package/dist/form/widget/css/widget.css.map +1 -0
  28. package/dist/generis/form/css/form.css.map +1 -0
  29. package/dist/generis/validator/css/validator.css.map +1 -0
  30. package/dist/generis/widget/css/widget.css.map +1 -0
  31. package/dist/image/ImgStateActive/helper.js +43 -0
  32. package/dist/image/ImgStateActive/initHelper.js +68 -12
  33. package/dist/image/ImgStateActive/initMediaEditor.js +54 -5
  34. package/dist/image/ImgStateActive/mediaSizer.js +49 -4
  35. package/dist/image/ImgStateActive.js +68 -12
  36. package/dist/itemButtonList/css/item-button-list.css.map +1 -0
  37. package/dist/listbox/css/listbox.css.map +1 -0
  38. package/dist/loadingButton/css/button.css.map +1 -0
  39. package/dist/maths/calculator/css/calculator.css.map +1 -0
  40. package/dist/mediaEditor/plugins/mediaAlignment/helper.js +7 -2
  41. package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +9 -2
  42. package/dist/mediaplayer/css/player.css +17 -5
  43. package/dist/mediaplayer/css/player.css.map +1 -0
  44. package/dist/pagination/css/pagination.css.map +1 -0
  45. package/dist/resource/css/selector.css.map +1 -0
  46. package/dist/resourcemgr/css/resourcemgr.css.map +1 -0
  47. package/dist/searchModal/css/advancedSearch.css.map +1 -0
  48. package/dist/searchModal/css/searchModal.css.map +1 -0
  49. package/dist/switch/css/switch.css.map +1 -0
  50. package/dist/tabs/css/tabs.css.map +1 -0
  51. package/dist/taskQueue/css/taskQueue.css.map +1 -0
  52. package/dist/taskQueueButton/css/taskable.css.map +1 -0
  53. package/dist/taskQueueButton/css/treeButton.css.map +1 -0
  54. package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -0
  55. package/dist/waitingDialog/css/waitingDialog.css.map +1 -0
  56. package/package.json +1 -1
  57. package/{src/scss → scss}/.DS_Store +0 -0
  58. package/src/.DS_Store +0 -0
  59. package/src/animable/absorbable/css/absorb.css.map +1 -0
  60. package/src/animable/pulsable/css/pulse.css.map +1 -0
  61. package/src/autocomplete/css/autocomplete.css.map +1 -0
  62. package/src/badge/css/badge.css.map +1 -0
  63. package/src/breadcrumbs/css/breadcrumbs.css.map +1 -0
  64. package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -0
  65. package/src/calculator/css/calculator.css.map +1 -0
  66. package/src/class/css/selector.css.map +1 -0
  67. package/src/component/css/components.css.map +1 -0
  68. package/src/component/css/windowComponent.css.map +1 -0
  69. package/src/component/draggable.js +5 -0
  70. package/src/component/resizable.js +5 -0
  71. package/src/contextualPopup/css/contextualPopup.css.map +1 -0
  72. package/src/css/basic.css +120 -39
  73. package/src/css/basic.css.map +1 -0
  74. package/src/dashboard/css/dashboard.css.map +1 -0
  75. package/src/datalist/css/datalist.css.map +1 -0
  76. package/src/datatable/css/datatable.css.map +1 -0
  77. package/src/dateRange/css/dateRange.css.map +1 -0
  78. package/src/datetime/css/picker.css.map +1 -0
  79. package/src/destination/css/selector.css.map +1 -0
  80. package/src/documentViewer/css/documentViewer.css.map +1 -0
  81. package/src/dropdown/css/dropdown.css.map +1 -0
  82. package/src/dynamicComponent/css/dynamicComponent.css.map +1 -0
  83. package/src/figure/FigureStateActive.js +174 -0
  84. package/src/figure/figcaption.tpl +1 -0
  85. package/src/form/css/dropdownForm.css.map +1 -0
  86. package/src/form/css/form.css.map +1 -0
  87. package/src/form/validator/css/validator.css.map +1 -0
  88. package/src/form/widget/css/widget.css.map +1 -0
  89. package/src/generis/form/css/form.css.map +1 -0
  90. package/src/generis/validator/css/validator.css.map +1 -0
  91. package/src/generis/widget/css/widget.css.map +1 -0
  92. package/src/image/ImgStateActive/helper.js +36 -0
  93. package/src/image/ImgStateActive/initHelper.js +9 -7
  94. package/src/image/ImgStateActive/initMediaEditor.js +3 -2
  95. package/src/image/ImgStateActive/mediaSizer.js +13 -3
  96. package/src/itemButtonList/css/item-button-list.css.map +1 -0
  97. package/src/listbox/css/listbox.css.map +1 -0
  98. package/src/loadingButton/css/button.css.map +1 -0
  99. package/src/maths/calculator/css/calculator.css.map +1 -0
  100. package/src/mediaEditor/plugins/mediaAlignment/helper.js +12 -8
  101. package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +75 -72
  102. package/src/mediaplayer/css/player.css +17 -5
  103. package/src/mediaplayer/css/player.css.map +1 -0
  104. package/src/mediaplayer/scss/player.scss +16 -6
  105. package/src/pagination/css/pagination.css.map +1 -0
  106. package/src/resource/css/selector.css.map +1 -0
  107. package/src/resourcemgr/css/resourcemgr.css.map +1 -0
  108. package/src/searchModal/css/advancedSearch.css.map +1 -0
  109. package/src/searchModal/css/searchModal.css.map +1 -0
  110. package/src/switch/css/switch.css.map +1 -0
  111. package/src/tabs/css/tabs.css.map +1 -0
  112. package/src/taskQueue/css/taskQueue.css.map +1 -0
  113. package/src/taskQueueButton/css/taskable.css.map +1 -0
  114. package/src/taskQueueButton/css/treeButton.css.map +1 -0
  115. package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -0
  116. package/src/waitingDialog/css/waitingDialog.css.map +1 -0
  117. package/src/css/ckeditor/skins/tao/css/dialog.css +0 -950
  118. package/src/css/ckeditor/skins/tao/css/editor.css +0 -1850
  119. package/src/scss/basic.scss +0 -16
  120. package/src/scss/ckeditor/skins/tao/scss/dialog.scss +0 -763
  121. package/src/scss/ckeditor/skins/tao/scss/editor.scss +0 -111
  122. package/src/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +0 -59
  123. package/src/scss/ckeditor/skins/tao/scss/inc/_colorpanel.scss +0 -118
  124. package/src/scss/ckeditor/skins/tao/scss/inc/_elementspath.scss +0 -69
  125. package/src/scss/ckeditor/skins/tao/scss/inc/_mainui.scss +0 -194
  126. package/src/scss/ckeditor/skins/tao/scss/inc/_menu.scss +0 -181
  127. package/src/scss/ckeditor/skins/tao/scss/inc/_panel.scss +0 -200
  128. package/src/scss/ckeditor/skins/tao/scss/inc/_presets.scss +0 -32
  129. package/src/scss/ckeditor/skins/tao/scss/inc/_reset.scss +0 -101
  130. package/src/scss/ckeditor/skins/tao/scss/inc/_richcombo.scss +0 -213
  131. package/src/scss/ckeditor/skins/tao/scss/inc/_tao.scss +0 -59
  132. package/src/scss/ckeditor/skins/tao/scss/inc/_toolbar.scss +0 -301
  133. package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
  134. package/src/scss/font/source-sans-pro/source-sans-pro-italic.eot.b64 +0 -1
  135. package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
  136. package/src/scss/font/source-sans-pro/source-sans-pro-italic.woff.b64 +0 -1
  137. package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
  138. package/src/scss/font/source-sans-pro/source-sans-pro-regular.eot.b64 +0 -1
  139. package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
  140. package/src/scss/font/source-sans-pro/source-sans-pro-regular.woff.b64 +0 -1
  141. package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot +0 -0
  142. package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.eot.b64 +0 -1
  143. package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff +0 -0
  144. package/src/scss/font/source-sans-pro/source-sans-pro-semibold-italic.woff.b64 +0 -1
  145. package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  146. package/src/scss/font/source-sans-pro/source-sans-pro-semibold.eot.b64 +0 -1
  147. package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  148. package/src/scss/font/source-sans-pro/source-sans-pro-semibold.woff.b64 +0 -1
  149. package/src/scss/font/tao/tao.eot +0 -0
  150. package/src/scss/font/tao/tao.svg +0 -235
  151. package/src/scss/font/tao/tao.ttf +0 -0
  152. package/src/scss/font/tao/tao.woff +0 -0
  153. package/src/scss/inc/_base.scss +0 -496
  154. package/src/scss/inc/_bootstrap.scss +0 -6
  155. package/src/scss/inc/_buttons.scss +0 -114
  156. package/src/scss/inc/_colors.scss +0 -88
  157. package/src/scss/inc/_feedback.scss +0 -150
  158. package/src/scss/inc/_flex-grid.scss +0 -15
  159. package/src/scss/inc/_fonts.scss +0 -4
  160. package/src/scss/inc/_forms.scss +0 -827
  161. package/src/scss/inc/_functions.scss +0 -283
  162. package/src/scss/inc/_grid.scss +0 -66
  163. package/src/scss/inc/_jquery.nouislider.scss +0 -254
  164. package/src/scss/inc/_normalize.scss +0 -528
  165. package/src/scss/inc/_report.scss +0 -68
  166. package/src/scss/inc/_secondary-properties.scss +0 -89
  167. package/src/scss/inc/_select2.scss +0 -634
  168. package/src/scss/inc/_toolbars.scss +0 -155
  169. package/src/scss/inc/_tooltip.scss +0 -312
  170. package/src/scss/inc/_variables.scss +0 -21
  171. package/src/scss/inc/base/_highlight.scss +0 -5
  172. package/src/scss/inc/base/_list-style.scss +0 -59
  173. package/src/scss/inc/base/_svg.scss +0 -3
  174. package/src/scss/inc/base/_table.scss +0 -63
  175. package/src/scss/inc/fonts/_source-sans-pro.scss +0 -29
  176. package/src/scss/inc/fonts/_tao-icon-classes.scss +0 -226
  177. package/src/scss/inc/fonts/_tao-icon-def.scss +0 -12
  178. package/src/scss/inc/fonts/_tao-icon-vars.scss +0 -240
@@ -7,6 +7,40 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
7
7
  alignmentHelper = alignmentHelper && Object.prototype.hasOwnProperty.call(alignmentHelper, 'default') ? alignmentHelper['default'] : alignmentHelper;
8
8
  mediaEditorComponent = mediaEditorComponent && Object.prototype.hasOwnProperty.call(mediaEditorComponent, 'default') ? mediaEditorComponent['default'] : mediaEditorComponent;
9
9
 
10
+ /*
11
+ * This program is free software; you can redistribute it and/or
12
+ * modify it under the terms of the GNU General Public License
13
+ * as published by the Free Software Foundation; under version 2
14
+ * of the License (non-upgradable).
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program; if not, write to the Free Software
23
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24
+ *
25
+ * Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
26
+ */
27
+ function getImage(widget) {
28
+ var $img = widget.$original;
29
+ var img = widget.element;
30
+
31
+ if (widget.element.is('figure')) {
32
+ $img = widget.$original.find('img');
33
+ img = _.find(widget.element.getBody().elements, function (elem) {
34
+ return elem.is('img');
35
+ });
36
+ }
37
+
38
+ return {
39
+ $img: $img,
40
+ img: img
41
+ };
42
+ }
43
+
10
44
  /*
11
45
  * This program is free software; you can redistribute it and/or
12
46
  * modify it under the terms of the GNU General Public License
@@ -25,12 +59,19 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
25
59
  * Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
26
60
  */
27
61
  var mediaSizer = function mediaSizer(media, widget) {
28
- var img = widget.element;
62
+ var _getImage = getImage(widget),
63
+ img = _getImage.img,
64
+ $img = _getImage.$img;
65
+
29
66
  var $mediaSpan = widget.$container;
30
- var $img = widget.$original;
31
67
 
32
68
  if (img.data('responsive') !== media.responsive) {
33
- img.data('responsive', media.responsive);
69
+ // switch between responsive and absolute values
70
+ img.data('responsive', media.responsive); // clean styles from prev mode
71
+
72
+ $img.removeAttr('width');
73
+ $img.removeAttr('height');
74
+ $mediaSpan[0].removeAttribute('style');
34
75
  }
35
76
 
36
77
  _(['width', 'height']).each(function (sizeAttr) {
@@ -38,6 +79,7 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
38
79
 
39
80
  if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
40
81
  img.removeAttr(sizeAttr);
82
+ $img.removeAttr(sizeAttr);
41
83
  $mediaSpan.css(sizeAttr, '');
42
84
  } else {
43
85
  val = Math.round(media[sizeAttr]);
@@ -48,9 +90,12 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
48
90
  $img.attr(sizeAttr, '100%');
49
91
  } else {
50
92
  img.attr(sizeAttr, val);
93
+ $img.attr(sizeAttr, val);
51
94
  }
52
95
 
53
- $mediaSpan.css(sizeAttr, val);
96
+ if (media.responsive || sizeAttr === 'width') {
97
+ $mediaSpan.css(sizeAttr, val);
98
+ }
54
99
  } //trigger choice container size adaptation
55
100
 
56
101
 
@@ -137,7 +182,11 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
137
182
  return;
138
183
  }
139
184
 
140
- getMedia(widget.element, widget.$original, function (m) {
185
+ var _getImage = getImage(widget),
186
+ img = _getImage.img,
187
+ $img = _getImage.$img;
188
+
189
+ getMedia(img, $img, function (m) {
141
190
  return getMediaCb(m, widget, mediaEditor, options);
142
191
  });
143
192
  }
@@ -189,7 +238,11 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
189
238
  */
190
239
  var initAdvanced = function initAdvanced(widget) {
191
240
  var $form = widget.$form;
192
- var src = widget.element.attr('src');
241
+
242
+ var _getImage = getImage(widget),
243
+ img = _getImage.img;
244
+
245
+ var src = img ? img.attr('src') : '';
193
246
 
194
247
  if (src) {
195
248
  $form.find('[data-role=advanced]').show();
@@ -198,12 +251,15 @@ define(['exports', 'jquery', 'lodash', 'i18n', 'core/mimetype', 'ui/mediaEditor/
198
251
  }
199
252
  };
200
253
  var initUpload = function initUpload(widget) {
201
- var $form = widget.$form,
202
- options = widget.options,
203
- img = widget.element,
204
- $uploadTrigger = $form.find('[data-role="upload-trigger"]'),
205
- $src = $form.find('input[name=src]'),
206
- $alt = $form.find('input[name=alt]');
254
+ var $form = widget.$form;
255
+ var options = widget.options;
256
+
257
+ var _getImage2 = getImage(widget),
258
+ img = _getImage2.img;
259
+
260
+ var $uploadTrigger = $form.find('[data-role="upload-trigger"]');
261
+ var $src = $form.find('input[name=src]');
262
+ var $alt = $form.find('input[name=alt]');
207
263
 
208
264
  var _openResourceMgr = function _openResourceMgr() {
209
265
  $uploadTrigger.resourcemgr({
@@ -5,6 +5,40 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
5
5
  mediaEditorComponent = mediaEditorComponent && Object.prototype.hasOwnProperty.call(mediaEditorComponent, 'default') ? mediaEditorComponent['default'] : mediaEditorComponent;
6
6
  _ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
7
7
 
8
+ /*
9
+ * This program is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU General Public License
11
+ * as published by the Free Software Foundation; under version 2
12
+ * of the License (non-upgradable).
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
+ *
23
+ * Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
24
+ */
25
+ function getImage(widget) {
26
+ var $img = widget.$original;
27
+ var img = widget.element;
28
+
29
+ if (widget.element.is('figure')) {
30
+ $img = widget.$original.find('img');
31
+ img = _.find(widget.element.getBody().elements, function (elem) {
32
+ return elem.is('img');
33
+ });
34
+ }
35
+
36
+ return {
37
+ $img: $img,
38
+ img: img
39
+ };
40
+ }
41
+
8
42
  /*
9
43
  * This program is free software; you can redistribute it and/or
10
44
  * modify it under the terms of the GNU General Public License
@@ -23,12 +57,19 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
23
57
  * Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
24
58
  */
25
59
  var mediaSizer = function mediaSizer(media, widget) {
26
- var img = widget.element;
60
+ var _getImage = getImage(widget),
61
+ img = _getImage.img,
62
+ $img = _getImage.$img;
63
+
27
64
  var $mediaSpan = widget.$container;
28
- var $img = widget.$original;
29
65
 
30
66
  if (img.data('responsive') !== media.responsive) {
31
- img.data('responsive', media.responsive);
67
+ // switch between responsive and absolute values
68
+ img.data('responsive', media.responsive); // clean styles from prev mode
69
+
70
+ $img.removeAttr('width');
71
+ $img.removeAttr('height');
72
+ $mediaSpan[0].removeAttribute('style');
32
73
  }
33
74
 
34
75
  _(['width', 'height']).each(function (sizeAttr) {
@@ -36,6 +77,7 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
36
77
 
37
78
  if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
38
79
  img.removeAttr(sizeAttr);
80
+ $img.removeAttr(sizeAttr);
39
81
  $mediaSpan.css(sizeAttr, '');
40
82
  } else {
41
83
  val = Math.round(media[sizeAttr]);
@@ -46,9 +88,12 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
46
88
  $img.attr(sizeAttr, '100%');
47
89
  } else {
48
90
  img.attr(sizeAttr, val);
91
+ $img.attr(sizeAttr, val);
49
92
  }
50
93
 
51
- $mediaSpan.css(sizeAttr, val);
94
+ if (media.responsive || sizeAttr === 'width') {
95
+ $mediaSpan.css(sizeAttr, val);
96
+ }
52
97
  } //trigger choice container size adaptation
53
98
 
54
99
 
@@ -135,7 +180,11 @@ define(['jquery', 'core/mimetype', 'ui/mediaEditor/plugins/mediaAlignment/helper
135
180
  return;
136
181
  }
137
182
 
138
- getMedia(widget.element, widget.$original, function (m) {
183
+ var _getImage = getImage(widget),
184
+ img = _getImage.img,
185
+ $img = _getImage.$img;
186
+
187
+ getMedia(img, $img, function (m) {
139
188
  return getMediaCb(m, widget, mediaEditor, options);
140
189
  });
141
190
  }
@@ -2,6 +2,40 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
2
2
 
3
3
  _ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
4
4
 
5
+ /*
6
+ * This program is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU General Public License
8
+ * as published by the Free Software Foundation; under version 2
9
+ * of the License (non-upgradable).
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License
17
+ * along with this program; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
+ *
20
+ * Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
21
+ */
22
+ function getImage(widget) {
23
+ var $img = widget.$original;
24
+ var img = widget.element;
25
+
26
+ if (widget.element.is('figure')) {
27
+ $img = widget.$original.find('img');
28
+ img = _.find(widget.element.getBody().elements, function (elem) {
29
+ return elem.is('img');
30
+ });
31
+ }
32
+
33
+ return {
34
+ $img: $img,
35
+ img: img
36
+ };
37
+ }
38
+
5
39
  /*
6
40
  * This program is free software; you can redistribute it and/or
7
41
  * modify it under the terms of the GNU General Public License
@@ -20,12 +54,19 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
20
54
  * Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
21
55
  */
22
56
  var mediaSizer = function mediaSizer(media, widget) {
23
- var img = widget.element;
57
+ var _getImage = getImage(widget),
58
+ img = _getImage.img,
59
+ $img = _getImage.$img;
60
+
24
61
  var $mediaSpan = widget.$container;
25
- var $img = widget.$original;
26
62
 
27
63
  if (img.data('responsive') !== media.responsive) {
28
- img.data('responsive', media.responsive);
64
+ // switch between responsive and absolute values
65
+ img.data('responsive', media.responsive); // clean styles from prev mode
66
+
67
+ $img.removeAttr('width');
68
+ $img.removeAttr('height');
69
+ $mediaSpan[0].removeAttribute('style');
29
70
  }
30
71
 
31
72
  _(['width', 'height']).each(function (sizeAttr) {
@@ -33,6 +74,7 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
33
74
 
34
75
  if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
35
76
  img.removeAttr(sizeAttr);
77
+ $img.removeAttr(sizeAttr);
36
78
  $mediaSpan.css(sizeAttr, '');
37
79
  } else {
38
80
  val = Math.round(media[sizeAttr]);
@@ -43,9 +85,12 @@ define(['exports', 'jquery', 'lodash'], function (exports, jquery, _) { 'use str
43
85
  $img.attr(sizeAttr, '100%');
44
86
  } else {
45
87
  img.attr(sizeAttr, val);
88
+ $img.attr(sizeAttr, val);
46
89
  }
47
90
 
48
- $mediaSpan.css(sizeAttr, val);
91
+ if (media.responsive || sizeAttr === 'width') {
92
+ $mediaSpan.css(sizeAttr, val);
93
+ }
49
94
  } //trigger choice container size adaptation
50
95
 
51
96
 
@@ -7,6 +7,40 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
7
7
  alignmentHelper = alignmentHelper && Object.prototype.hasOwnProperty.call(alignmentHelper, 'default') ? alignmentHelper['default'] : alignmentHelper;
8
8
  mediaEditorComponent = mediaEditorComponent && Object.prototype.hasOwnProperty.call(mediaEditorComponent, 'default') ? mediaEditorComponent['default'] : mediaEditorComponent;
9
9
 
10
+ /*
11
+ * This program is free software; you can redistribute it and/or
12
+ * modify it under the terms of the GNU General Public License
13
+ * as published by the Free Software Foundation; under version 2
14
+ * of the License (non-upgradable).
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program; if not, write to the Free Software
23
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24
+ *
25
+ * Copyright (c) 2022 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
26
+ */
27
+ function getImage(widget) {
28
+ var $img = widget.$original;
29
+ var img = widget.element;
30
+
31
+ if (widget.element.is('figure')) {
32
+ $img = widget.$original.find('img');
33
+ img = _.find(widget.element.getBody().elements, function (elem) {
34
+ return elem.is('img');
35
+ });
36
+ }
37
+
38
+ return {
39
+ $img: $img,
40
+ img: img
41
+ };
42
+ }
43
+
10
44
  /*
11
45
  * This program is free software; you can redistribute it and/or
12
46
  * modify it under the terms of the GNU General Public License
@@ -25,12 +59,19 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
25
59
  * Copyright (c) 2021 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
26
60
  */
27
61
  var mediaSizer = function mediaSizer(media, widget) {
28
- var img = widget.element;
62
+ var _getImage = getImage(widget),
63
+ img = _getImage.img,
64
+ $img = _getImage.$img;
65
+
29
66
  var $mediaSpan = widget.$container;
30
- var $img = widget.$original;
31
67
 
32
68
  if (img.data('responsive') !== media.responsive) {
33
- img.data('responsive', media.responsive);
69
+ // switch between responsive and absolute values
70
+ img.data('responsive', media.responsive); // clean styles from prev mode
71
+
72
+ $img.removeAttr('width');
73
+ $img.removeAttr('height');
74
+ $mediaSpan[0].removeAttribute('style');
34
75
  }
35
76
 
36
77
  _(['width', 'height']).each(function (sizeAttr) {
@@ -38,6 +79,7 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
38
79
 
39
80
  if (media[sizeAttr] === '' || typeof media[sizeAttr] === 'undefined' || media[sizeAttr] === null) {
40
81
  img.removeAttr(sizeAttr);
82
+ $img.removeAttr(sizeAttr);
41
83
  $mediaSpan.css(sizeAttr, '');
42
84
  } else {
43
85
  val = Math.round(media[sizeAttr]);
@@ -48,9 +90,12 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
48
90
  $img.attr(sizeAttr, '100%');
49
91
  } else {
50
92
  img.attr(sizeAttr, val);
93
+ $img.attr(sizeAttr, val);
51
94
  }
52
95
 
53
- $mediaSpan.css(sizeAttr, val);
96
+ if (media.responsive || sizeAttr === 'width') {
97
+ $mediaSpan.css(sizeAttr, val);
98
+ }
54
99
  } //trigger choice container size adaptation
55
100
 
56
101
 
@@ -137,7 +182,11 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
137
182
  return;
138
183
  }
139
184
 
140
- getMedia(widget.element, widget.$original, function (m) {
185
+ var _getImage = getImage(widget),
186
+ img = _getImage.img,
187
+ $img = _getImage.$img;
188
+
189
+ getMedia(img, $img, function (m) {
141
190
  return getMediaCb(m, widget, mediaEditor, options);
142
191
  });
143
192
  }
@@ -189,7 +238,11 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
189
238
  */
190
239
  var initAdvanced = function initAdvanced(widget) {
191
240
  var $form = widget.$form;
192
- var src = widget.element.attr('src');
241
+
242
+ var _getImage = getImage(widget),
243
+ img = _getImage.img;
244
+
245
+ var src = img ? img.attr('src') : '';
193
246
 
194
247
  if (src) {
195
248
  $form.find('[data-role=advanced]').show();
@@ -198,12 +251,15 @@ define(['jquery', 'nouislider', 'ui/resourcemgr', 'ui/tooltip', 'lodash', 'i18n'
198
251
  }
199
252
  };
200
253
  var initUpload = function initUpload(widget) {
201
- var $form = widget.$form,
202
- options = widget.options,
203
- img = widget.element,
204
- $uploadTrigger = $form.find('[data-role="upload-trigger"]'),
205
- $src = $form.find('input[name=src]'),
206
- $alt = $form.find('input[name=alt]');
254
+ var $form = widget.$form;
255
+ var options = widget.options;
256
+
257
+ var _getImage2 = getImage(widget),
258
+ img = _getImage2.img;
259
+
260
+ var $uploadTrigger = $form.find('[data-role="upload-trigger"]');
261
+ var $src = $form.find('input[name=src]');
262
+ var $alt = $form.find('input[name=alt]');
207
263
 
208
264
  var _openResourceMgr = function _openResourceMgr() {
209
265
  $uploadTrigger.resourcemgr({
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../scss/item-button-list.scss","../../../scss/inc/_functions.scss","../../../scss/inc/fonts/_tao-icon-vars.scss","../../../scss/inc/_colors.scss"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;ACHF;;;;;;CDUC;AC0PD,oEAAA;ACjRA,gBAAA;AF6BA;IACI,aAAa;IACb,eAAe;IACf,sBAAsB;IACtB,UAAU;IAEV,2BAAA;IA0FA,iCAAA;IAiDA,sEAAA;IAuBA,qCAAA;AAlKJ;;AANA;IAQQ,eAZY;IAaZ,cAbY;IAcZ,aAAa;IACb,uBAAuB;IAAE,gEAAA;IACzB,mBAAmB;IACnB,wBAAA;IACA,UAAU;IACV,YAAY;AAGpB;;AAlBA;IAmBQ,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,mBAAmB;IACnB,YA5BU;IA6BV,WA7BU;IA8BV,mBAAmB;IACnB,kBAhCY;IAiCZ,sBA9Ba;IA+Bb,qBGdmC;IHenC,mCAAmC;IACnC,UAAU;IAAE,6BAAA;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,uBCiJiC;IDhJjC,cGpBmC;IHqBnC,iBAAiB;IACjB,eAAe;AAIvB;;AAxCA;IAwCQ,gEAAgE;IAChE,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;AAI5B;;AAhDA;IA+CQ,UAAU;IACV,MAAM;IACN,OAAO;AAKf;;AAtDA;IAoDQ,aAAa;AAMrB;;AA1DA;IAuDQ,aAAa;AAOrB;;AA9DA;IA2DQ,aAAa;AAOrB;;AAlEA;IA+DQ,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,YC6GiC;ID5GjC,0BC4GiC;ID3GjC,aAAa;IACb,uBAAuB;IACvB,mBAAmB;AAO3B;;AAhFA;IA4EQ,iBAAiB;IACjB,UAAU;IACV,MAAM;IACN,OAAO;AAQf;;AAvFA;IEdwB,gBAAgB;AFyGxC;;AA3FA;IEZuB,gBAAgB;AF2GvC;;AA/FA;IEiLwB,gBAAgB;AF9ExC;;AAnGA;IEgLyB,gBAAgB;AFzEzC;;AAvGA;IC4BY,yBAAwB;IAAxB,qBAAwB;IAAxB,oBAAwB;IAAxB,iBAAwB;ADmFpC;;AA/GA;IAsGgB,qBAxGM;IAyGN,cGxF0B;IHyF1B,qBGzF0B;AHsG1C;;AArHA;IA6GgB,qBA/GM;IAgHN,yBG/F0B;IHgG1B,YCmEyB;IDlEzB,qBGjG0B;AH6G1C;;AA5HA;IAqHgB,kBAAkB;IAClB,cAAc;IACd,UAAU;IACV,cGzG0B;IH0G1B,cAAc;IACd,iBAAiB;IACjB,UAAU;IACV,eAAe;IACf,UAAU;IACV,2BAAA;IACA,SAAS;IACT,2BAA2B;AAW3C;;AA3IA;IAsIgB,yBGlKU;AH2K1B;;AA/IA;IA4IgB,yBGpKQ;AH2KxB;;AAnJA;IAoJY,yBA5JsB;IA6JtB,cGpIuC;IHqIvC,qBGrIuC;AHwInD;;AAzJA;;IA2JS,wBAAA;IACA,kCAAkC;IAClC,qBAAqB;IACrB,4BAA4B;AAGrC;;AAjKA;;IAiKY,mBAAmB;IACnB,wBAAA;IACA,iBAAiB;AAK7B;;AAxKA;;IA4KY,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,SAAS;IACT,QAAQ;IACR,gCAAgC;IAChC,qBAtLU;IAuLV,qBGpKuC;IHqKvC,oBAAoB;IACpB,kBA7LQ;AA8LpB;;AAxLA;;;IA6LY,cG5KuC;AH6KnD;;AA9LA;;IAkMY,uBChB6B;IDiB7B,cGlLuC;IHmLvC,qBGnLuC;AHoLnD;;AArMA;;IAyMY,yBGxLuC;IHyLvC,YCxB6B;IDyB7B,qBG1LuC;AH2LnD","file":"item-button-list.css","sourcesContent":["/**\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; under version 2\n * of the License (non-upgradable).\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n *\n * Copyright (c) 2022 Open Assessment Technologies SA ;\n */\n@import \"inc/bootstrap\";\n\n$correctColor: $success;\n$incorrectColor: $error;\n$hoverBgColor: hsl(208, 100%, 95%);\n\n$radiusCircular: 50%;\n$sizeDefault: 4rem;\n$hitboxSize: 6.25rem;\n$borderThin: 0.125rem;\n$borderMedium: 0.25rem;\n\n.buttonlist-items {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n padding: 0;\n\n /****** base styles *******/\n .buttonlist-item {\n height: $hitboxSize;\n width: $hitboxSize;\n display: flex;\n justify-content: center; /* aligning left - cut focusing board for keyboard interacting */\n align-items: center;\n /* reset parent styles */\n padding: 0;\n border: none;\n }\n\n .buttonlist-btn {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: $sizeDefault;\n width: $sizeDefault;\n border-style: solid;\n border-radius: $radiusCircular;\n border-width: $borderThin;\n border-color: $uiReviewPanelTextDisabled;\n margin: 1.3rem 0.75rem 1rem 0.75rem;\n padding: 0; /*Fixes firefox button jumps*/\n font-weight: bold;\n font-size: 1.6rem;\n background-color: $uiReviewPanelBgDefault;\n color: $uiReviewPanelTextDisabled;\n text-shadow: none;\n cursor: pointer;\n }\n\n .buttonlist-label {\n font-family: 'Nunito Sans', 'Source Sans Pro', Arial, sans-serif;\n max-width: 3.75rem;\n overflow: hidden;\n white-space: nowrap;\n line-height: initial;\n }\n .buttonlist-icon {\n padding: 0;\n top: 0;\n left: 0;\n }\n .buttonlist-icon:not([class*=\"icon-\"]) {\n display: none;\n }\n .buttonlist-icon[class*=\"icon-\"] ~ .buttonlist-label {\n display: none;\n }\n\n .indicator {\n display: none;\n }\n\n .buttonlist-score-badge {\n position: absolute;\n top: -0.9rem;\n right: -0.9rem;\n width: 2rem;\n height: 2rem;\n border-radius: 100%;\n color: $uiReviewPanelTextInverted;\n border: 0.1rem solid $uiReviewPanelTextInverted;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .buttonlist-score-icon {\n font-size: 1.2rem;\n padding: 0;\n top: 0;\n left: 0;\n }\n\n .icon-info::before {\n @include icon-info-bare;\n }\n .icon-flagged::before {\n @include icon-bookmark;\n }\n .icon-correct::before {\n @include icon-result-ok;\n }\n .icon-incorrect::before {\n @include icon-result-nok;\n }\n\n\n /****** step state styles *******/\n .buttonlist-item {\n @include disableSelect();\n\n &.viewed {\n .buttonlist-btn {\n border-width: $borderMedium;\n color: $uiReviewPanelTextDefault;\n border-color: $uiReviewPanelTextDefault;\n }\n }\n &.answered {\n .buttonlist-btn {\n border-width: $borderMedium;\n background-color: $uiReviewPanelBgInverted;\n color: $uiReviewPanelTextInverted;\n border-color: $uiReviewPanelBgInverted;\n }\n }\n &.buttonlist-item-active {\n .indicator {\n position: absolute;\n display: block;\n z-index: 1;\n color: $uiReviewPanelTextDefault;\n height: 1.4rem;\n min-width: 1.6rem;\n top: unset;\n bottom: -1.7rem;\n padding: 0;\n /* centering horizontally */\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &.correct {\n .buttonlist-score-badge {\n background-color: $correctColor;\n }\n }\n\n &.incorrect {\n .buttonlist-score-badge {\n background-color: $incorrectColor;\n }\n }\n }\n\n /* disabling is applied at buttonlist-item or buttonlist-items level */\n &:not(.disabled) .buttonlist-item:not(.disabled) {\n .buttonlist-btn:hover {\n background-color: $hoverBgColor;\n color: $uiReviewPanelPrimaryHighlight;\n border-color: $uiReviewPanelPrimaryHighlight;\n }\n }\n &.disabled,\n .buttonlist-item.disabled {\n /* reset global styles */\n background-color: unset !important;\n opacity: 1 !important;\n text-shadow: none !important;\n\n .buttonlist-btn {\n cursor: not-allowed;\n /* reset global styles */\n text-shadow: none;\n }\n }\n\n\n /****** keyboard focus styles *******/\n .buttonlist-item {\n &.key-navigation-highlight .buttonlist-btn::before,\n .buttonlist-btn.buttonlist-btn-focus:focus::before {\n content: '';\n display: block;\n position: absolute;\n width: 5.2rem;\n height: 5.2rem;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border-width: $borderMedium;\n border-color: $uiReviewPanelPrimaryHighlight;\n border-style: dotted;\n border-radius: $radiusCircular;\n }\n\n &.key-navigation-highlight.buttonlist-item-active .buttonlist-btn .indicator,\n &.buttonlist-item-active .buttonlist-btn.buttonlist-btn-focus:focus .indicator,\n &.buttonlist-item-active .buttonlist-btn:focus-visible .indicator {\n color: $uiReviewPanelPrimaryHighlight;\n }\n\n &.key-navigation-highlight.viewed .buttonlist-btn,\n &.viewed .buttonlist-btn.buttonlist-btn-focus:focus {\n background-color: $uiReviewPanelBgDefault;\n color: $uiReviewPanelPrimaryHighlight;\n border-color: $uiReviewPanelPrimaryHighlight;\n }\n\n &.key-navigation-highlight.answered .buttonlist-btn,\n &.answered .buttonlist-btn.buttonlist-btn-focus:focus {\n background-color: $uiReviewPanelPrimaryHighlight;\n color: $uiReviewPanelTextInverted;\n border-color: $uiReviewPanelPrimaryHighlight;\n }\n }\n}\n\n/*# sourceMappingURL=item-button-list.css.map */","@mixin iterate-sprite($iconList, $x, $y, $direction, $prefix:'') {\n @each $icon in $iconList {\n #{$prefix}#{$icon} {\n background-position: $x * 1px $y * 1px;\n }\n @if $direction == 'x' {\n $x: $x - 16;\n } @else {\n $y: $y - 16;\n }\n }\n}\n\n/*\nUsage:\n- linear-gradient((color1, color2, color3)) - returns linear-gradient with evenly distributed colors,\n if 3 colors used then the position of each will be 33,33%\n- linear-gradient((color1 0%, color2 30%, color3 80%)) - returns linear-gradient with manually distributed colors,\n first param - color, second - position. Also you can use px or other valid units for set position.\n*/\n@mixin linear-gradient($colorList, $direction: 'to right') {\n $percentage: 0;\n $units: '%';\n $count: length($colorList);\n $increment: 100 / ($count - 1);\n $css: #{$direction + ', '};\n $sep: ', ';\n @each $colorItem in $colorList {\n $color: $colorItem;\n @if (length($colorItem) > 1) {\n $color: nth($colorItem, 1);\n $percentage: nth($colorItem, 2);\n $units: '';\n }\n @if ($percentage >= 100 or index($colorList, $colorItem) == $count) {\n $sep: '';\n }\n $css: #{$css + $color + ' ' + $percentage + $units + $sep};\n $percentage: $percentage + $increment;\n }\n background: linear-gradient( #{$css} );\n}\n\n@mixin grid-unit($span, $numCols: 12, $gutter: 0) {\n $gridPx: 840;\n $rawSpanPx: (($gridPx - ($numCols * $gutter)) / $numCols);\n $spanPx: $rawSpanPx * $span + (($span - 1) * $gutter);\n $spanPercent: widthPerc($spanPx, $gridPx);\n $marginPercent: widthPerc($gutter, $gridPx);\n margin-left: $marginPercent;\n width: $spanPercent;\n}\n\n\n@mixin vendor-prefix($property, $value, $whatToPrefix: property, $prefixes: (-webkit-, -moz-, -ms-, -o-, '')) {\n @if $whatToPrefix == 'property' {\n @each $prefix in $prefixes {\n #{$prefix + $property}: #{$value};\n }\n }\n @else if $whatToPrefix == 'value' {\n @each $prefix in $prefixes {\n #{$property}: #{$prefix + $value};\n }\n }\n}\n@mixin flex-container($wrapBehavior: nowrap, $direction : row) {\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n\n @include vendor-prefix(flex-direction, $direction, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex-wrap, $wrapBehavior, property, (-ms-, -webkit-, ''));\n\n @include vendor-prefix(justify-content, flex-start, property, (-webkit-, ''));\n\n @include vendor-prefix(align-content, flex-start, property, (-webkit-, ''));\n\n @include vendor-prefix(align-items, stretch, property, (-webkit-, ''));\n}\n\n@mixin simple-flex-box($width: auto, $minWidth: 1) {\n\n @include vendor-prefix(order, 0, property, (-ms-, -webkit-, ''));\n flex-item-align: stretch;\n -ms-flex-item-align: stretch;\n @include vendor-prefix(align-self, stretch, property, (-webkit-, ''));\n\n // if both, min width and width are set, width will win this conflict\n @if ($width == auto) {\n @if ($minWidth != 1) {\n @include vendor-prefix(flex, 1 1 $minWidth, property, (-ms-, -webkit-, ''));\n }\n @else {\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis#Values\n // for a discussion auto vs. main-size\n @include vendor-prefix(flex, 1 1, property, (-ms-, -webkit-, ''));\n }\n }\n @else {\n @include vendor-prefix(flex, 0 0 $width, property, (-ms-, -webkit-, ''));\n }\n}\n\n\n@mixin box-shadow($horiz: 1px, $vert: 1px, $blur: 2px, $spread: 0, $color: rgba(0, 0, 0, .2)) {\n @include vendor-prefix(box-shadow, $horiz $vert $blur $spread $color, property);\n}\n\n@mixin simple-border($color: #ddd) {\n border: 1px solid $color;\n border-radius: 2px;\n -webkit-border-radius: 2px;\n}\n\n@mixin border-radius($radius: 2) {\n -moz-border-radius: $radius * 1px;\n -webkit-border-radius: $radius * 1px;\n border-radius: $radius * 1px;\n}\n\n@mixin border-radius-top($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -webkit-border-top-right-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom($radius: 2) {\n -webkit-border-bottom-right-radius: $radius * 1px;\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-left($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-right($radius: 2) {\n -webkit-border-top-right-radius: $radius * 1px;\n -webkit-border-bottom-right-radius: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-top-left($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-top-right($radius: 2) {\n -webkit-border-top-right-radius: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom-right($radius: 2) {\n -webkit-border-bottom-right-radius: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom-left($radius: 2) {\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-box() {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n@function whiten($color, $white: 0.3) {\n @return mix(#fff, $color, ($white * 100) * 1%);\n}\n\n@function blacken($color, $black: 0.3) {\n @return mix(#000, $color, ($black * 100) * 1%);\n}\n\n@function widthPerc($colWidth, $context) {\n @return ($colWidth * 100 / $context) * 1%\n}\n\n@function remDist($fontSizePx) {\n @return ($fontSizePx / 10) * 1rem\n}\n\n@function black($alpha: 1) {\n @return (rgba(0, 0, 0, $alpha))\n}\n\n@function white($alpha: 1) {\n @return (rgba(255, 255, 255, $alpha))\n}\n\n@mixin font-size($remPx, $important: false) {\n @if $important == true {\n font-size: ($remPx) * 1px !important;\n font-size: ($remPx / 10) * 1rem !important;\n }\n @else {\n font-size: ($remPx) * 1px;\n font-size: ($remPx / 10) * 1rem;\n }\n}\n\n\n@mixin keyframes($name) {\n @-o-keyframes #{$name} { @content };\n @-moz-keyframes #{$name} { @content };\n @-webkit-keyframes #{$name} { @content };\n @keyframes #{$name} { @content };\n}\n\n\n@mixin animation($value, $type:'') {\n $animation: animation;\n @if $type != '' {\n $animation: $animation + '-' + $type;\n }\n @include vendor-prefix($animation, $value, property);\n}\n\n/// CSS transition mixin to the current selection (apply also vendor prefixes).\n/// See <https://developer.mozilla.org/en-US/docs/Web/CSS/transition> for the values\n///\n/// @param {property} [$type = all] the CSS property to apply the transition to\n/// @param {time} [$duration = .5s] the transition property\n/// @param {timing-function} [$effect = ease-out] the transition property\n@mixin transition($type : all, $duration : 0.5s, $effect : ease-out, $delay : 0s){\n @include vendor-prefix(transition, $type + ', ' + $duration + ', ' + $effect + ', ' + $delay, property);\n}\n\n@mixin fade($duration: 1s){\n\n @include keyframes(fade) {\n 0% {opacity:0;}\n 50% {opacity:1;}\n 100% {opacity:0;}\n }\n\n @include vendor-prefix(animation, fade 1s forwards, property);\n}\n\n@mixin repeat(){\n @include animation(infinite, iteration-count);\n}\n\n@mixin largeHeading() {\n @include font-size(20);\n font-family: $headingFont;\n font-style: normal;\n}\n\n@mixin disableSelect() {\n @include vendor-prefix(user-select, none, property);\n}\n\n/* based on \"visually-hidden\" mixin in LDS for accessibility goals */\n@mixin visuallyHidden() {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n margin: 0;\n padding: 0;\n}\n","/* Do not edit */@mixin tao-icon-setup {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tao' !important;\n speak: never;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@mixin icon-info-bare { content: \"\\e923\"; }\n@mixin icon-bookmark-outline { content: \"\\e922\"; }\n@mixin icon-bookmark { content: \"\\e921\"; }\n@mixin icon-indicator { content: \"\\e920\"; }\n@mixin icon-add-subsection { content: \"\\e918\"; }\n@mixin icon-wrap-inline { content: \"\\e915\"; }\n@mixin icon-wrap-left { content: \"\\e916\"; }\n@mixin icon-wrap-right { content: \"\\e917\"; }\n@mixin icon-offline { content: \"\\e913\"; }\n@mixin icon-online { content: \"\\e914\"; }\n@mixin icon-tab { content: \"\\e90d\"; }\n@mixin icon-untab { content: \"\\e90e\"; }\n@mixin icon-multi-select { content: \"\\e90b\"; }\n@mixin icon-clipboard { content: \"\\e90a\"; }\n@mixin icon-filebox { content: \"\\e909\"; }\n@mixin icon-click-to-speak { content: \"\\e907\"; }\n@mixin icon-speech-bubble { content: \"\\f0e5\"; }\n@mixin icon-microphone { content: \"\\f130\"; }\n@mixin icon-microphone-off { content: \"\\f131\"; }\n@mixin icon-disconnect { content: \"\\e905\"; }\n@mixin icon-connect { content: \"\\e906\"; }\n@mixin icon-eliminate { content: \"\\e904\"; }\n@mixin icon-wheelchair { content: \"\\e903\"; }\n@mixin icon-text-marker { content: \"\\e902\"; }\n@mixin icon-unshield { content: \"\\e32a\"; }\n@mixin icon-shield { content: \"\\e8e8\"; }\n@mixin icon-tree { content: \"\\e6b4\"; }\n@mixin icon-home { content: \"\\e6b3\"; }\n@mixin icon-shared-file { content: \"\\e6b2\"; }\n@mixin icon-end-attempt { content: \"\\e603\"; }\n@mixin icon-icon { content: \"\\f1c5\"; }\n@mixin icon-radio-bg { content: \"\\e600\"; }\n@mixin icon-checkbox-bg { content: \"\\e601\"; }\n@mixin icon-tag { content: \"\\e602\"; }\n@mixin icon-style { content: \"\\e604\"; }\n@mixin icon-ownership-transfer { content: \"\\e605\"; }\n@mixin icon-property-advanced { content: \"\\e606\"; }\n@mixin icon-property-add { content: \"\\e607\"; }\n@mixin icon-repository-add { content: \"\\e608\"; }\n@mixin icon-repository-remove { content: \"\\e609\"; }\n@mixin icon-repository { content: \"\\e60a\"; }\n@mixin icon-result-server { content: \"\\e60b\"; }\n@mixin icon-folder { content: \"\\e60c\"; }\n@mixin icon-folder-open { content: \"\\e60d\"; }\n@mixin icon-left { content: \"\\e60e\"; }\n@mixin icon-right { content: \"\\e60f\"; }\n@mixin icon-up { content: \"\\e610\"; }\n@mixin icon-down { content: \"\\e611\"; }\n@mixin icon-undo { content: \"\\e612\"; }\n@mixin icon-redo { content: \"\\e613\"; }\n@mixin icon-screen { content: \"\\e614\"; }\n@mixin icon-laptop { content: \"\\e615\"; }\n@mixin icon-tablet { content: \"\\e616\"; }\n@mixin icon-phone { content: \"\\e617\"; }\n@mixin icon-move { content: \"\\e618\"; }\n@mixin icon-bin { content: \"\\e619\"; }\n@mixin icon-shuffle { content: \"\\e61a\"; }\n@mixin icon-print { content: \"\\e61b\"; }\n@mixin icon-tools { content: \"\\e61c\"; }\n@mixin icon-settings { content: \"\\e61d\"; }\n@mixin icon-video { content: \"\\e61e\"; }\n@mixin icon-find { content: \"\\e61f\"; }\n@mixin icon-image { content: \"\\e620\"; }\n@mixin icon-edit { content: \"\\e621\"; }\n@mixin icon-document { content: \"\\e622\"; }\n@mixin icon-resize-grid { content: \"\\e623\"; }\n@mixin icon-resize { content: \"\\e624\"; }\n@mixin icon-help { content: \"\\e625\"; }\n@mixin icon-mobile-menu { content: \"\\e626\"; }\n@mixin icon-fix { content: \"\\e627\"; }\n@mixin icon-unlock { content: \"\\e628\"; }\n@mixin icon-lock { content: \"\\e629\"; }\n@mixin icon-ul { content: \"\\e62a\"; }\n@mixin icon-ol { content: \"\\e62b\"; }\n@mixin icon-email { content: \"\\e62c\"; }\n@mixin icon-download { content: \"\\e62d\"; }\n@mixin icon-logout { content: \"\\e62e\"; }\n@mixin icon-login { content: \"\\e62f\"; }\n@mixin icon-spinner { content: \"\\e630\"; }\n@mixin icon-preview { content: \"\\e631\"; }\n@mixin icon-external { content: \"\\e632\"; }\n@mixin icon-time { content: \"\\e633\"; }\n@mixin icon-save { content: \"\\e634\"; }\n@mixin icon-warning { content: \"\\e635\"; }\n@mixin icon-add { content: \"\\e636\"; }\n@mixin icon-error { content: \"\\e900\"; }\n@mixin icon-close { content: \"\\e637\"; }\n@mixin icon-success { content: \"\\e638\"; }\n@mixin icon-remove { content: \"\\e639\"; }\n@mixin icon-info { content: \"\\e63a\"; }\n@mixin icon-danger { content: \"\\e63b\"; }\n@mixin icon-users { content: \"\\e63c\"; }\n@mixin icon-user { content: \"\\e63d\"; }\n@mixin icon-test-taker { content: \"\\e63e\"; }\n@mixin icon-test-takers { content: \"\\e63f\"; }\n@mixin icon-item { content: \"\\e640\"; }\n@mixin icon-test { content: \"\\e641\"; }\n@mixin icon-delivery { content: \"\\e642\"; }\n@mixin icon-eye-slash { content: \"\\e643\"; }\n@mixin icon-result { content: \"\\e644\"; }\n@mixin icon-delivery-small { content: \"\\e645\"; }\n@mixin icon-upload { content: \"\\e646\"; }\n@mixin icon-result-small { content: \"\\e647\"; }\n@mixin icon-mobile-preview { content: \"\\e648\"; }\n@mixin icon-extension { content: \"\\e649\"; }\n@mixin icon-desktop-preview { content: \"\\e64a\"; }\n@mixin icon-tablet-preview { content: \"\\e64b\"; }\n@mixin icon-insert-horizontal-line { content: \"\\e64c\"; }\n@mixin icon-table { content: \"\\e64d\"; }\n@mixin icon-anchor { content: \"\\e64e\"; }\n@mixin icon-unlink { content: \"\\e64f\"; }\n@mixin icon-link { content: \"\\e650\"; }\n@mixin icon-right-left { content: \"\\e651\"; }\n@mixin icon-left-right { content: \"\\e652\"; }\n@mixin icon-special-character { content: \"\\e653\"; }\n@mixin icon-source { content: \"\\e654\"; }\n@mixin icon-new-page { content: \"\\e655\"; }\n@mixin icon-templates { content: \"\\e656\"; }\n@mixin icon-cut { content: \"\\e657\"; }\n@mixin icon-replace { content: \"\\e658\"; }\n@mixin icon-copy { content: \"\\e659\"; }\n@mixin icon-paste { content: \"\\e65a\"; }\n@mixin icon-select-all { content: \"\\e65b\"; }\n@mixin icon-paste-text { content: \"\\e65c\"; }\n@mixin icon-paste-word { content: \"\\e65d\"; }\n@mixin icon-bold { content: \"\\e65e\"; }\n@mixin icon-italic { content: \"\\e65f\"; }\n@mixin icon-underline { content: \"\\e660\"; }\n@mixin icon-subscript { content: \"\\e661\"; }\n@mixin icon-superscript { content: \"\\e662\"; }\n@mixin icon-strike-through { content: \"\\e663\"; }\n@mixin icon-decrease-indent { content: \"\\e664\"; }\n@mixin icon-increase-indent { content: \"\\e665\"; }\n@mixin icon-block-quote { content: \"\\e666\"; }\n@mixin icon-div-container { content: \"\\e667\"; }\n@mixin icon-align-left { content: \"\\e668\"; }\n@mixin icon-center { content: \"\\e669\"; }\n@mixin icon-align-right { content: \"\\e66a\"; }\n@mixin icon-justify { content: \"\\e66b\"; }\n@mixin icon-choice { content: \"\\e66c\"; }\n@mixin icon-inline-choice { content: \"\\e66d\"; }\n@mixin icon-match { content: \"\\e66e\"; }\n@mixin icon-associate { content: \"\\e66f\"; }\n@mixin icon-media { content: \"\\e670\"; }\n@mixin icon-graphic-order { content: \"\\e671\"; }\n@mixin icon-hotspot { content: \"\\e672\"; }\n@mixin icon-graphic-gap { content: \"\\e673\"; }\n@mixin icon-graphic-associate { content: \"\\e674\"; }\n@mixin icon-select-point { content: \"\\e675\"; }\n@mixin icon-pin { content: \"\\e676\"; }\n@mixin icon-import { content: \"\\e677\"; }\n@mixin icon-export { content: \"\\e678\"; }\n@mixin icon-move-item { content: \"\\e679\"; }\n@mixin icon-meta-data { content: \"\\e67a\"; }\n@mixin icon-slider { content: \"\\e67b\"; }\n@mixin icon-summary-report { content: \"\\e67c\"; }\n@mixin icon-text-entry { content: \"\\e67d\"; }\n@mixin icon-extended-text { content: \"\\e67e\"; }\n@mixin icon-eraser { content: \"\\e67f\"; }\n@mixin icon-row { content: \"\\e680\"; }\n@mixin icon-column { content: \"\\e681\"; }\n@mixin icon-text-color { content: \"\\e682\"; }\n@mixin icon-background-color { content: \"\\e683\"; }\n@mixin icon-spell-check { content: \"\\e684\"; }\n@mixin icon-polygon { content: \"\\e685\"; }\n@mixin icon-rectangle { content: \"\\e686\"; }\n@mixin icon-gap-match { content: \"\\e687\"; }\n@mixin icon-order { content: \"\\e688\"; }\n@mixin icon-hottext { content: \"\\e689\"; }\n@mixin icon-free-form { content: \"\\e68a\"; }\n@mixin icon-step-backward { content: \"\\e68b\"; }\n@mixin icon-fast-backward { content: \"\\e68c\"; }\n@mixin icon-backward { content: \"\\e68d\"; }\n@mixin icon-play { content: \"\\e68e\"; }\n@mixin icon-pause { content: \"\\e68f\"; }\n@mixin icon-stop { content: \"\\e690\"; }\n@mixin icon-forward { content: \"\\e691\"; }\n@mixin icon-fast-forward { content: \"\\e692\"; }\n@mixin icon-step-forward { content: \"\\e693\"; }\n@mixin icon-ellipsis { content: \"\\e694\"; }\n@mixin icon-circle { content: \"\\e695\"; }\n@mixin icon-target { content: \"\\e696\"; }\n@mixin icon-guide-arrow { content: \"\\e697\"; }\n@mixin icon-range-slider-right { content: \"\\e698\"; }\n@mixin icon-range-slider-left { content: \"\\e699\"; }\n@mixin icon-radio-checked { content: \"\\e69a\"; }\n@mixin icon-checkbox-indeterminate { content: \"\\e901\"; }\n@mixin icon-checkbox { content: \"\\e69b\"; }\n@mixin icon-checkbox-crossed { content: \"\\e69c\"; }\n@mixin icon-checkbox-checked { content: \"\\e69d\"; }\n@mixin icon-result-nok { content: \"\\e69e\"; }\n@mixin icon-result-ok { content: \"\\e69f\"; }\n@mixin icon-not-evaluated { content: \"\\e6a0\"; }\n@mixin icon-filter { content: \"\\e6a1\"; }\n@mixin icon-translate { content: \"\\e6a2\"; }\n@mixin icon-eject { content: \"\\e6a3\"; }\n@mixin icon-continue { content: \"\\e6a4\"; }\n@mixin icon-radio { content: \"\\e6a5\"; }\n@mixin icon-sphere { content: \"\\e6a6\"; }\n@mixin icon-reset { content: \"\\e6a7\"; }\n@mixin icon-smaller { content: \"\\e6a8\"; }\n@mixin icon-larger { content: \"\\e6a9\"; }\n@mixin icon-clock { content: \"\\e6aa\"; }\n@mixin icon-font { content: \"\\e6ab\"; }\n@mixin icon-maths { content: \"\\e6ac\"; }\n@mixin icon-grip { content: \"\\e6ad\"; }\n@mixin icon-rubric { content: \"\\e6ae\"; }\n@mixin icon-audio { content: \"\\e6af\"; }\n@mixin icon-grip-h { content: \"\\e6b0\"; }\n@mixin icon-magicwand { content: \"\\e6b1\"; }\n@mixin icon-loop { content: \"\\ea2e\"; }\n@mixin icon-calendar { content: \"\\e953\"; }\n@mixin icon-reload { content: \"\\e984\"; }\n@mixin icon-speed { content: \"\\e9a6\"; }\n@mixin icon-volume { content: \"\\ea27\"; }\n@mixin icon-contrast { content: \"\\e9d5\"; }\n@mixin icon-headphones { content: \"\\e910\"; }\n@mixin icon-compress { content: \"\\f066\"; }\n@mixin icon-map-o { content: \"\\f278\"; }\n@mixin icon-variable { content: \"\\e908\"; }\n@mixin icon-tooltip { content: \"\\e90c\"; }\n@mixin icon-globe { content: \"\\e9c9\"; }\n@mixin icon-highlighter { content: \"\\e90f\"; }\n@mixin icon-eliminate-crossed { content: \"\\e911\"; }\n@mixin icon-play-from-here { content: \"\\e912\"; }\n","// buttons and alerts\n$success: rgb(14, 145, 75);\n$info: rgb(14, 93, 145);\n$warning: rgb(216, 174, 91);\n$danger: rgb(201, 96, 67);\n$error: rgb(186, 18, 43);\n$activeInteraction: rgb(195, 90, 19);\n\n// corporate identity\n$logoRed: rgb(186, 18, 43);\n$grey: rgb(173, 161, 148);\n$darkBlueGrey: rgb(164, 187, 197);\n$mediumBlueGrey: rgb(193, 212, 220);\n$lightBlueGrey: rgb(228, 236, 239);\n$brownRedGrey: rgb(154, 137, 123);\n$darkBrown: rgb(111, 99, 89);\n$websiteBorder: rgb(141, 148, 158);\n\n// ui elements, these should only variations of the above\n// naming convention: jQueryUi theme roller -> camelCase\n\n$textColor: #222;\n$textHighlight: white;\n\n$uiGeneralContentBg: white();\n$uiGeneralContentBorder: #ddd;\n\n$uiHeaderBg: #d4d5d7;\n\n$uiClickableDefaultBg: #f3f1ef;\n$uiClickableHoverBg: whiten($info, 0.2);\n//$uiClickableActiveBg: $uiHeaderBg;\n$uiClickableActiveBg: whiten($websiteBorder, 0.2);\n//$uiClickableActiveBg: #aaa;\n\n$uiSelectableSelectedBg: whiten($info, 0.2);\n$uiSelectableSelectedHoverBg: whiten($info, 0.1);\n$uiSelectableHoverBg: whiten($info, 0.9);\n\n$uiOverlay: $lightBlueGrey;\n\n// new layout. Implemented now only for review panel\n$uiReviewPanelBg: #f2f2f2;\n$uiReviewPanelTextDisabled: hsl(0, 0%, 45%);\n$uiReviewPanelTextDefault: hsl(0, 0%, 12%);\n$uiReviewPanelBgDefault: $uiGeneralContentBg;\n$uiReviewPanelPrimaryHighlight: hsl(208, 100%, 32%);\n$uiReviewPanelBgInverted: $uiReviewPanelTextDefault;\n$uiReviewPanelTextInverted: $uiGeneralContentBg;\n\n// sidebars etc.\n$canvas: mix(#fff, $grey, 85%);\n\n// colors taken from feedback.scss\n$successBgColor: whiten($success, 0.8);\n$successBorderColor: whiten($success, 0.1);\n\n$infoBgColor: whiten($info, 0.8);\n$infoBorderColor: whiten($info, 0.1);\n\n$warningBgColor: whiten($warning, 0.8);\n$warningBorderColor: whiten($warning, 0.1);\n\n$dangerBgColor: whiten($danger, 0.8);\n$dangerBorderColor: whiten($danger, 0.1);\n\n$errorBgColor: whiten($error, 0.8);\n$errorBorderColor: whiten($error, 0.1);\n\n$darkBar: rgb(51, 51, 51);\n$darkBarTxt: rgb(230, 230, 230);\n$darkBarIcon: rgb(220, 220, 220);\n\n$actionLinkColor: #276d9b;\n$actionLinkHoverColor: #4f83a7;\n\n$colorWheel-01: #c3ba13;\n$colorWheel-02: #84a610;\n$colorWheel-03: #2b8e0e;\n$colorWheel-04: #0f9787;\n$colorWheel-05: #0e5d91;\n$colorWheel-06: #0d2689;\n$colorWheel-07: #400d83;\n$colorWheel-08: #960e7d;\n$colorWheel-09: #ba122b;\n$colorWheel-10: #c34713;\n$colorWheel-11: #c36f13;\n$colorWheel-12: #c39413;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../scss/inc/_functions.scss","../scss/listbox.scss","../../../scss/inc/fonts/_tao-icon-vars.scss","../../../scss/inc/_variables.scss","../../../scss/inc/_colors.scss"],"names":[],"mappings":"AAaA;;;;;;CCPC;AD2QD,oEAAA;AEjRA,gBAAA;ADMA;IACE,iBAAiB;IACjB,YAAY;AAId;;AANA;IAKI,0CEFuC;IH+MnC,eAAyB;IACzB,iBAA+B;IC5MnC,mBAAmB;AAMvB;;AAbA;IAUI,0CEPuC;IH+MnC,eAAyB;IACzB,iBAA+B;ICvMnC,mBAAmB;AAQvB;;AApBA;IAgBI,WAAW;AAQf;;AAxBA;IDuGI,sBAD6B;IAE7B,kBAAkB;IAClB,0BAA0B;ICpF1B,mBGE0B;IHD1B,mBAAmB;IACnB,aAAa;IACb,kBAAkB;AAUtB;;AAlCA;IDkNQ,eAAyB;IACzB,eAA+B;ICrLjC,kBAAkB;IAClB,cGnCiB;IHoCjB,6BAA6B;AAUnC;;AA1CA;IAmCM,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,2BAA2B;IAC3B,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,cD2I4C;IC1I5C,UAAU;AAWhB;;AAtDA;IA6CQ,cGjDe;AH8DvB;;AA1DA;IAgDU,kBAAkB;AAc5B;;AA9DA;IAoDM,iBAAmC;AAczC;;AAlEA;IAuDM,kBAAkB;AAexB;;AAtEA;IA0DQ,WAAW;IACX,cAAqC;IACrC,yBAAyB;IACzB,yBAAqD;IACrD,4BAAwD;IACxD,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,UAAU;AAgBlB;;AAlFA;IAsEQ,uBGnDqB;IHoDrB,WAAmC;IACnC,wBAAsD;IACtD,uBAAqD;IACrD,SAAS;AAgBjB;;AA1FA;IA8EQ,wBAAwB;IACxB,WAAkC;IAClC,wBAAqD;IACrD,uBAAoD;AAgB5D;;AAjGA;IAwFM,qBAAqB;AAa3B;;AArGA;IA2FM,aAAa;AAcnB;;AAzGA;IAgGM,qBAAqB;AAa3B;;AA7GA;IAmGM,aAAa;AAcnB;;AAjHA;IAwGM,qBAAqB;AAa3B;;AArHA;IA2GM,aAAa;AAcnB","file":"listbox.css","sourcesContent":["@mixin iterate-sprite($iconList, $x, $y, $direction, $prefix:'') {\n @each $icon in $iconList {\n #{$prefix}#{$icon} {\n background-position: $x * 1px $y * 1px;\n }\n @if $direction == 'x' {\n $x: $x - 16;\n } @else {\n $y: $y - 16;\n }\n }\n}\n\n/*\nUsage:\n- linear-gradient((color1, color2, color3)) - returns linear-gradient with evenly distributed colors,\n if 3 colors used then the position of each will be 33,33%\n- linear-gradient((color1 0%, color2 30%, color3 80%)) - returns linear-gradient with manually distributed colors,\n first param - color, second - position. Also you can use px or other valid units for set position.\n*/\n@mixin linear-gradient($colorList, $direction: 'to right') {\n $percentage: 0;\n $units: '%';\n $count: length($colorList);\n $increment: 100 / ($count - 1);\n $css: #{$direction + ', '};\n $sep: ', ';\n @each $colorItem in $colorList {\n $color: $colorItem;\n @if (length($colorItem) > 1) {\n $color: nth($colorItem, 1);\n $percentage: nth($colorItem, 2);\n $units: '';\n }\n @if ($percentage >= 100 or index($colorList, $colorItem) == $count) {\n $sep: '';\n }\n $css: #{$css + $color + ' ' + $percentage + $units + $sep};\n $percentage: $percentage + $increment;\n }\n background: linear-gradient( #{$css} );\n}\n\n@mixin grid-unit($span, $numCols: 12, $gutter: 0) {\n $gridPx: 840;\n $rawSpanPx: (($gridPx - ($numCols * $gutter)) / $numCols);\n $spanPx: $rawSpanPx * $span + (($span - 1) * $gutter);\n $spanPercent: widthPerc($spanPx, $gridPx);\n $marginPercent: widthPerc($gutter, $gridPx);\n margin-left: $marginPercent;\n width: $spanPercent;\n}\n\n\n@mixin vendor-prefix($property, $value, $whatToPrefix: property, $prefixes: (-webkit-, -moz-, -ms-, -o-, '')) {\n @if $whatToPrefix == 'property' {\n @each $prefix in $prefixes {\n #{$prefix + $property}: #{$value};\n }\n }\n @else if $whatToPrefix == 'value' {\n @each $prefix in $prefixes {\n #{$property}: #{$prefix + $value};\n }\n }\n}\n@mixin flex-container($wrapBehavior: nowrap, $direction : row) {\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n\n @include vendor-prefix(flex-direction, $direction, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex-wrap, $wrapBehavior, property, (-ms-, -webkit-, ''));\n\n @include vendor-prefix(justify-content, flex-start, property, (-webkit-, ''));\n\n @include vendor-prefix(align-content, flex-start, property, (-webkit-, ''));\n\n @include vendor-prefix(align-items, stretch, property, (-webkit-, ''));\n}\n\n@mixin simple-flex-box($width: auto, $minWidth: 1) {\n\n @include vendor-prefix(order, 0, property, (-ms-, -webkit-, ''));\n flex-item-align: stretch;\n -ms-flex-item-align: stretch;\n @include vendor-prefix(align-self, stretch, property, (-webkit-, ''));\n\n // if both, min width and width are set, width will win this conflict\n @if ($width == auto) {\n @if ($minWidth != 1) {\n @include vendor-prefix(flex, 1 1 $minWidth, property, (-ms-, -webkit-, ''));\n }\n @else {\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis#Values\n // for a discussion auto vs. main-size\n @include vendor-prefix(flex, 1 1, property, (-ms-, -webkit-, ''));\n }\n }\n @else {\n @include vendor-prefix(flex, 0 0 $width, property, (-ms-, -webkit-, ''));\n }\n}\n\n\n@mixin box-shadow($horiz: 1px, $vert: 1px, $blur: 2px, $spread: 0, $color: rgba(0, 0, 0, .2)) {\n @include vendor-prefix(box-shadow, $horiz $vert $blur $spread $color, property);\n}\n\n@mixin simple-border($color: #ddd) {\n border: 1px solid $color;\n border-radius: 2px;\n -webkit-border-radius: 2px;\n}\n\n@mixin border-radius($radius: 2) {\n -moz-border-radius: $radius * 1px;\n -webkit-border-radius: $radius * 1px;\n border-radius: $radius * 1px;\n}\n\n@mixin border-radius-top($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -webkit-border-top-right-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom($radius: 2) {\n -webkit-border-bottom-right-radius: $radius * 1px;\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-left($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-right($radius: 2) {\n -webkit-border-top-right-radius: $radius * 1px;\n -webkit-border-bottom-right-radius: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-top-left($radius: 2) {\n -webkit-border-top-left-radius: $radius * 1px;\n -moz-border-radius-topleft: $radius * 1px;\n border-top-left-radius: $radius * 1px;\n}\n\n@mixin border-radius-top-right($radius: 2) {\n -webkit-border-top-right-radius: $radius * 1px;\n -moz-border-radius-topright: $radius * 1px;\n border-top-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom-right($radius: 2) {\n -webkit-border-bottom-right-radius: $radius * 1px;\n -moz-border-radius-bottomright: $radius * 1px;\n border-bottom-right-radius: $radius * 1px;\n}\n\n@mixin border-radius-bottom-left($radius: 2) {\n -webkit-border-bottom-left-radius: $radius * 1px;\n -moz-border-radius-bottomleft: $radius * 1px;\n border-bottom-left-radius: $radius * 1px;\n}\n\n@mixin border-box() {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n@function whiten($color, $white: 0.3) {\n @return mix(#fff, $color, ($white * 100) * 1%);\n}\n\n@function blacken($color, $black: 0.3) {\n @return mix(#000, $color, ($black * 100) * 1%);\n}\n\n@function widthPerc($colWidth, $context) {\n @return ($colWidth * 100 / $context) * 1%\n}\n\n@function remDist($fontSizePx) {\n @return ($fontSizePx / 10) * 1rem\n}\n\n@function black($alpha: 1) {\n @return (rgba(0, 0, 0, $alpha))\n}\n\n@function white($alpha: 1) {\n @return (rgba(255, 255, 255, $alpha))\n}\n\n@mixin font-size($remPx, $important: false) {\n @if $important == true {\n font-size: ($remPx) * 1px !important;\n font-size: ($remPx / 10) * 1rem !important;\n }\n @else {\n font-size: ($remPx) * 1px;\n font-size: ($remPx / 10) * 1rem;\n }\n}\n\n\n@mixin keyframes($name) {\n @-o-keyframes #{$name} { @content };\n @-moz-keyframes #{$name} { @content };\n @-webkit-keyframes #{$name} { @content };\n @keyframes #{$name} { @content };\n}\n\n\n@mixin animation($value, $type:'') {\n $animation: animation;\n @if $type != '' {\n $animation: $animation + '-' + $type;\n }\n @include vendor-prefix($animation, $value, property);\n}\n\n/// CSS transition mixin to the current selection (apply also vendor prefixes).\n/// See <https://developer.mozilla.org/en-US/docs/Web/CSS/transition> for the values\n///\n/// @param {property} [$type = all] the CSS property to apply the transition to\n/// @param {time} [$duration = .5s] the transition property\n/// @param {timing-function} [$effect = ease-out] the transition property\n@mixin transition($type : all, $duration : 0.5s, $effect : ease-out, $delay : 0s){\n @include vendor-prefix(transition, $type + ', ' + $duration + ', ' + $effect + ', ' + $delay, property);\n}\n\n@mixin fade($duration: 1s){\n\n @include keyframes(fade) {\n 0% {opacity:0;}\n 50% {opacity:1;}\n 100% {opacity:0;}\n }\n\n @include vendor-prefix(animation, fade 1s forwards, property);\n}\n\n@mixin repeat(){\n @include animation(infinite, iteration-count);\n}\n\n@mixin largeHeading() {\n @include font-size(20);\n font-family: $headingFont;\n font-style: normal;\n}\n\n@mixin disableSelect() {\n @include vendor-prefix(user-select, none, property);\n}\n\n/* based on \"visually-hidden\" mixin in LDS for accessibility goals */\n@mixin visuallyHidden() {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n margin: 0;\n padding: 0;\n}\n","@import \"inc/bootstrap\";\n\n$entryArrowWidthBefore: 20;\n$entryArrowWidthAfter: 20;\n$entryArrowHeight: 150;\n\n.listbox {\n max-width: 1024px;\n margin: auto;\n\n h1 {\n font-family: $headingFont;\n @include font-size(22);\n font-weight: normal;\n }\n h2 {\n font-family: $headingFont;\n @include font-size(18);\n margin: 30px 0 10px;\n }\n\n .list {\n width: 100%;\n }\n\n .box {\n @include simple-border();\n background: $uiClickableDefaultBg;\n margin-bottom: 20px;\n padding: 20px;\n position: relative;\n }\n\n .list-box {\n h1, h3 {\n @include font-size(20);\n margin-bottom: 7px;\n color: $info;\n text-shadow: 1px 1px 1px #fff;\n }\n .text-link {\n position: absolute;\n right: -1px;\n bottom: -1px;\n padding: 20px 20px 8px 20px;\n text-align: right;\n min-width: 100px;\n border-bottom: 3px solid;\n color: $uiClickableHoverBg;\n outline: 0;\n &:hover {\n color: $info;\n }\n [class*=\" icon-\"], [class^=\"icon-\"] {\n margin-right: 10px;\n }\n }\n a {\n min-height: $entryArrowHeight * 1px;\n }\n .box {\n padding-left: 40px;\n\n &:before, &:after {\n content: '';\n height: ($entryArrowHeight / 4) * 1px;\n border: solid transparent;\n border-top-width: (($entryArrowHeight / 4) / 2) * 1px;\n border-bottom-width: (($entryArrowHeight / 4) / 2) * 1px;\n position: absolute;\n left: -1px;\n top: 54px;\n z-index: 2;\n }\n\n &:before {\n border-left-color: $uiGeneralContentBorder;\n width: $entryArrowWidthBefore * 1px;\n border-right-width: ($entryArrowWidthBefore / 2) * 1px;\n border-left-width: ($entryArrowWidthBefore / 2) * 1px;\n left: 0px;\n }\n\n &:after {\n border-left-color: white;\n width: $entryArrowWidthAfter * 1px;\n border-right-width: ($entryArrowWidthAfter / 2) * 1px;\n border-left-width: ($entryArrowWidthAfter / 2) * 1px;\n }\n }\n }\n\n &.loading {\n .loading {\n display: inline-block;\n }\n .list, .empty-list, .available-list {\n display: none;\n }\n }\n &.loaded {\n .list, .available-list {\n display: inline-block;\n }\n .loading, .empty-list {\n display: none;\n }\n }\n &.empty {\n .empty-list {\n display: inline-block;\n }\n .loading, .list, .available-list {\n display: none;\n }\n }\n}\n/*# sourceMappingURL=listbox.css.map */","/* Do not edit */@mixin tao-icon-setup {\n /* use !important to prevent issues with browser extensions that change fonts */\n font-family: 'tao' !important;\n speak: never;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@mixin icon-info-bare { content: \"\\e923\"; }\n@mixin icon-bookmark-outline { content: \"\\e922\"; }\n@mixin icon-bookmark { content: \"\\e921\"; }\n@mixin icon-indicator { content: \"\\e920\"; }\n@mixin icon-add-subsection { content: \"\\e918\"; }\n@mixin icon-wrap-inline { content: \"\\e915\"; }\n@mixin icon-wrap-left { content: \"\\e916\"; }\n@mixin icon-wrap-right { content: \"\\e917\"; }\n@mixin icon-offline { content: \"\\e913\"; }\n@mixin icon-online { content: \"\\e914\"; }\n@mixin icon-tab { content: \"\\e90d\"; }\n@mixin icon-untab { content: \"\\e90e\"; }\n@mixin icon-multi-select { content: \"\\e90b\"; }\n@mixin icon-clipboard { content: \"\\e90a\"; }\n@mixin icon-filebox { content: \"\\e909\"; }\n@mixin icon-click-to-speak { content: \"\\e907\"; }\n@mixin icon-speech-bubble { content: \"\\f0e5\"; }\n@mixin icon-microphone { content: \"\\f130\"; }\n@mixin icon-microphone-off { content: \"\\f131\"; }\n@mixin icon-disconnect { content: \"\\e905\"; }\n@mixin icon-connect { content: \"\\e906\"; }\n@mixin icon-eliminate { content: \"\\e904\"; }\n@mixin icon-wheelchair { content: \"\\e903\"; }\n@mixin icon-text-marker { content: \"\\e902\"; }\n@mixin icon-unshield { content: \"\\e32a\"; }\n@mixin icon-shield { content: \"\\e8e8\"; }\n@mixin icon-tree { content: \"\\e6b4\"; }\n@mixin icon-home { content: \"\\e6b3\"; }\n@mixin icon-shared-file { content: \"\\e6b2\"; }\n@mixin icon-end-attempt { content: \"\\e603\"; }\n@mixin icon-icon { content: \"\\f1c5\"; }\n@mixin icon-radio-bg { content: \"\\e600\"; }\n@mixin icon-checkbox-bg { content: \"\\e601\"; }\n@mixin icon-tag { content: \"\\e602\"; }\n@mixin icon-style { content: \"\\e604\"; }\n@mixin icon-ownership-transfer { content: \"\\e605\"; }\n@mixin icon-property-advanced { content: \"\\e606\"; }\n@mixin icon-property-add { content: \"\\e607\"; }\n@mixin icon-repository-add { content: \"\\e608\"; }\n@mixin icon-repository-remove { content: \"\\e609\"; }\n@mixin icon-repository { content: \"\\e60a\"; }\n@mixin icon-result-server { content: \"\\e60b\"; }\n@mixin icon-folder { content: \"\\e60c\"; }\n@mixin icon-folder-open { content: \"\\e60d\"; }\n@mixin icon-left { content: \"\\e60e\"; }\n@mixin icon-right { content: \"\\e60f\"; }\n@mixin icon-up { content: \"\\e610\"; }\n@mixin icon-down { content: \"\\e611\"; }\n@mixin icon-undo { content: \"\\e612\"; }\n@mixin icon-redo { content: \"\\e613\"; }\n@mixin icon-screen { content: \"\\e614\"; }\n@mixin icon-laptop { content: \"\\e615\"; }\n@mixin icon-tablet { content: \"\\e616\"; }\n@mixin icon-phone { content: \"\\e617\"; }\n@mixin icon-move { content: \"\\e618\"; }\n@mixin icon-bin { content: \"\\e619\"; }\n@mixin icon-shuffle { content: \"\\e61a\"; }\n@mixin icon-print { content: \"\\e61b\"; }\n@mixin icon-tools { content: \"\\e61c\"; }\n@mixin icon-settings { content: \"\\e61d\"; }\n@mixin icon-video { content: \"\\e61e\"; }\n@mixin icon-find { content: \"\\e61f\"; }\n@mixin icon-image { content: \"\\e620\"; }\n@mixin icon-edit { content: \"\\e621\"; }\n@mixin icon-document { content: \"\\e622\"; }\n@mixin icon-resize-grid { content: \"\\e623\"; }\n@mixin icon-resize { content: \"\\e624\"; }\n@mixin icon-help { content: \"\\e625\"; }\n@mixin icon-mobile-menu { content: \"\\e626\"; }\n@mixin icon-fix { content: \"\\e627\"; }\n@mixin icon-unlock { content: \"\\e628\"; }\n@mixin icon-lock { content: \"\\e629\"; }\n@mixin icon-ul { content: \"\\e62a\"; }\n@mixin icon-ol { content: \"\\e62b\"; }\n@mixin icon-email { content: \"\\e62c\"; }\n@mixin icon-download { content: \"\\e62d\"; }\n@mixin icon-logout { content: \"\\e62e\"; }\n@mixin icon-login { content: \"\\e62f\"; }\n@mixin icon-spinner { content: \"\\e630\"; }\n@mixin icon-preview { content: \"\\e631\"; }\n@mixin icon-external { content: \"\\e632\"; }\n@mixin icon-time { content: \"\\e633\"; }\n@mixin icon-save { content: \"\\e634\"; }\n@mixin icon-warning { content: \"\\e635\"; }\n@mixin icon-add { content: \"\\e636\"; }\n@mixin icon-error { content: \"\\e900\"; }\n@mixin icon-close { content: \"\\e637\"; }\n@mixin icon-success { content: \"\\e638\"; }\n@mixin icon-remove { content: \"\\e639\"; }\n@mixin icon-info { content: \"\\e63a\"; }\n@mixin icon-danger { content: \"\\e63b\"; }\n@mixin icon-users { content: \"\\e63c\"; }\n@mixin icon-user { content: \"\\e63d\"; }\n@mixin icon-test-taker { content: \"\\e63e\"; }\n@mixin icon-test-takers { content: \"\\e63f\"; }\n@mixin icon-item { content: \"\\e640\"; }\n@mixin icon-test { content: \"\\e641\"; }\n@mixin icon-delivery { content: \"\\e642\"; }\n@mixin icon-eye-slash { content: \"\\e643\"; }\n@mixin icon-result { content: \"\\e644\"; }\n@mixin icon-delivery-small { content: \"\\e645\"; }\n@mixin icon-upload { content: \"\\e646\"; }\n@mixin icon-result-small { content: \"\\e647\"; }\n@mixin icon-mobile-preview { content: \"\\e648\"; }\n@mixin icon-extension { content: \"\\e649\"; }\n@mixin icon-desktop-preview { content: \"\\e64a\"; }\n@mixin icon-tablet-preview { content: \"\\e64b\"; }\n@mixin icon-insert-horizontal-line { content: \"\\e64c\"; }\n@mixin icon-table { content: \"\\e64d\"; }\n@mixin icon-anchor { content: \"\\e64e\"; }\n@mixin icon-unlink { content: \"\\e64f\"; }\n@mixin icon-link { content: \"\\e650\"; }\n@mixin icon-right-left { content: \"\\e651\"; }\n@mixin icon-left-right { content: \"\\e652\"; }\n@mixin icon-special-character { content: \"\\e653\"; }\n@mixin icon-source { content: \"\\e654\"; }\n@mixin icon-new-page { content: \"\\e655\"; }\n@mixin icon-templates { content: \"\\e656\"; }\n@mixin icon-cut { content: \"\\e657\"; }\n@mixin icon-replace { content: \"\\e658\"; }\n@mixin icon-copy { content: \"\\e659\"; }\n@mixin icon-paste { content: \"\\e65a\"; }\n@mixin icon-select-all { content: \"\\e65b\"; }\n@mixin icon-paste-text { content: \"\\e65c\"; }\n@mixin icon-paste-word { content: \"\\e65d\"; }\n@mixin icon-bold { content: \"\\e65e\"; }\n@mixin icon-italic { content: \"\\e65f\"; }\n@mixin icon-underline { content: \"\\e660\"; }\n@mixin icon-subscript { content: \"\\e661\"; }\n@mixin icon-superscript { content: \"\\e662\"; }\n@mixin icon-strike-through { content: \"\\e663\"; }\n@mixin icon-decrease-indent { content: \"\\e664\"; }\n@mixin icon-increase-indent { content: \"\\e665\"; }\n@mixin icon-block-quote { content: \"\\e666\"; }\n@mixin icon-div-container { content: \"\\e667\"; }\n@mixin icon-align-left { content: \"\\e668\"; }\n@mixin icon-center { content: \"\\e669\"; }\n@mixin icon-align-right { content: \"\\e66a\"; }\n@mixin icon-justify { content: \"\\e66b\"; }\n@mixin icon-choice { content: \"\\e66c\"; }\n@mixin icon-inline-choice { content: \"\\e66d\"; }\n@mixin icon-match { content: \"\\e66e\"; }\n@mixin icon-associate { content: \"\\e66f\"; }\n@mixin icon-media { content: \"\\e670\"; }\n@mixin icon-graphic-order { content: \"\\e671\"; }\n@mixin icon-hotspot { content: \"\\e672\"; }\n@mixin icon-graphic-gap { content: \"\\e673\"; }\n@mixin icon-graphic-associate { content: \"\\e674\"; }\n@mixin icon-select-point { content: \"\\e675\"; }\n@mixin icon-pin { content: \"\\e676\"; }\n@mixin icon-import { content: \"\\e677\"; }\n@mixin icon-export { content: \"\\e678\"; }\n@mixin icon-move-item { content: \"\\e679\"; }\n@mixin icon-meta-data { content: \"\\e67a\"; }\n@mixin icon-slider { content: \"\\e67b\"; }\n@mixin icon-summary-report { content: \"\\e67c\"; }\n@mixin icon-text-entry { content: \"\\e67d\"; }\n@mixin icon-extended-text { content: \"\\e67e\"; }\n@mixin icon-eraser { content: \"\\e67f\"; }\n@mixin icon-row { content: \"\\e680\"; }\n@mixin icon-column { content: \"\\e681\"; }\n@mixin icon-text-color { content: \"\\e682\"; }\n@mixin icon-background-color { content: \"\\e683\"; }\n@mixin icon-spell-check { content: \"\\e684\"; }\n@mixin icon-polygon { content: \"\\e685\"; }\n@mixin icon-rectangle { content: \"\\e686\"; }\n@mixin icon-gap-match { content: \"\\e687\"; }\n@mixin icon-order { content: \"\\e688\"; }\n@mixin icon-hottext { content: \"\\e689\"; }\n@mixin icon-free-form { content: \"\\e68a\"; }\n@mixin icon-step-backward { content: \"\\e68b\"; }\n@mixin icon-fast-backward { content: \"\\e68c\"; }\n@mixin icon-backward { content: \"\\e68d\"; }\n@mixin icon-play { content: \"\\e68e\"; }\n@mixin icon-pause { content: \"\\e68f\"; }\n@mixin icon-stop { content: \"\\e690\"; }\n@mixin icon-forward { content: \"\\e691\"; }\n@mixin icon-fast-forward { content: \"\\e692\"; }\n@mixin icon-step-forward { content: \"\\e693\"; }\n@mixin icon-ellipsis { content: \"\\e694\"; }\n@mixin icon-circle { content: \"\\e695\"; }\n@mixin icon-target { content: \"\\e696\"; }\n@mixin icon-guide-arrow { content: \"\\e697\"; }\n@mixin icon-range-slider-right { content: \"\\e698\"; }\n@mixin icon-range-slider-left { content: \"\\e699\"; }\n@mixin icon-radio-checked { content: \"\\e69a\"; }\n@mixin icon-checkbox-indeterminate { content: \"\\e901\"; }\n@mixin icon-checkbox { content: \"\\e69b\"; }\n@mixin icon-checkbox-crossed { content: \"\\e69c\"; }\n@mixin icon-checkbox-checked { content: \"\\e69d\"; }\n@mixin icon-result-nok { content: \"\\e69e\"; }\n@mixin icon-result-ok { content: \"\\e69f\"; }\n@mixin icon-not-evaluated { content: \"\\e6a0\"; }\n@mixin icon-filter { content: \"\\e6a1\"; }\n@mixin icon-translate { content: \"\\e6a2\"; }\n@mixin icon-eject { content: \"\\e6a3\"; }\n@mixin icon-continue { content: \"\\e6a4\"; }\n@mixin icon-radio { content: \"\\e6a5\"; }\n@mixin icon-sphere { content: \"\\e6a6\"; }\n@mixin icon-reset { content: \"\\e6a7\"; }\n@mixin icon-smaller { content: \"\\e6a8\"; }\n@mixin icon-larger { content: \"\\e6a9\"; }\n@mixin icon-clock { content: \"\\e6aa\"; }\n@mixin icon-font { content: \"\\e6ab\"; }\n@mixin icon-maths { content: \"\\e6ac\"; }\n@mixin icon-grip { content: \"\\e6ad\"; }\n@mixin icon-rubric { content: \"\\e6ae\"; }\n@mixin icon-audio { content: \"\\e6af\"; }\n@mixin icon-grip-h { content: \"\\e6b0\"; }\n@mixin icon-magicwand { content: \"\\e6b1\"; }\n@mixin icon-loop { content: \"\\ea2e\"; }\n@mixin icon-calendar { content: \"\\e953\"; }\n@mixin icon-reload { content: \"\\e984\"; }\n@mixin icon-speed { content: \"\\e9a6\"; }\n@mixin icon-volume { content: \"\\ea27\"; }\n@mixin icon-contrast { content: \"\\e9d5\"; }\n@mixin icon-headphones { content: \"\\e910\"; }\n@mixin icon-compress { content: \"\\f066\"; }\n@mixin icon-map-o { content: \"\\f278\"; }\n@mixin icon-variable { content: \"\\e908\"; }\n@mixin icon-tooltip { content: \"\\e90c\"; }\n@mixin icon-globe { content: \"\\e9c9\"; }\n@mixin icon-highlighter { content: \"\\e90f\"; }\n@mixin icon-eliminate-crossed { content: \"\\e911\"; }\n@mixin icon-play-from-here { content: \"\\e912\"; }\n","$sidebarWidth: 180;\n$sidebarGutter: 0;\n$toolbarHeight: 50;\n$treeSidebar: 280;\n\n// fonts\n$fontPath : 'font/' !default;\n$monospaceFont: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;\n$regularFont: 'Source Sans Pro', sans-serif;\n$headingFont: 'Source Sans Pro', sans-serif;\n\n\n%clearfix {\n &:before, &:after {\n content: \" \";\n display: table;\n }\n &:after {\n clear: both;\n }\n}\n","// buttons and alerts\n$success: rgb(14, 145, 75);\n$info: rgb(14, 93, 145);\n$warning: rgb(216, 174, 91);\n$danger: rgb(201, 96, 67);\n$error: rgb(186, 18, 43);\n$activeInteraction: rgb(195, 90, 19);\n\n// corporate identity\n$logoRed: rgb(186, 18, 43);\n$grey: rgb(173, 161, 148);\n$darkBlueGrey: rgb(164, 187, 197);\n$mediumBlueGrey: rgb(193, 212, 220);\n$lightBlueGrey: rgb(228, 236, 239);\n$brownRedGrey: rgb(154, 137, 123);\n$darkBrown: rgb(111, 99, 89);\n$websiteBorder: rgb(141, 148, 158);\n\n// ui elements, these should only variations of the above\n// naming convention: jQueryUi theme roller -> camelCase\n\n$textColor: #222;\n$textHighlight: white;\n\n$uiGeneralContentBg: white();\n$uiGeneralContentBorder: #ddd;\n\n$uiHeaderBg: #d4d5d7;\n\n$uiClickableDefaultBg: #f3f1ef;\n$uiClickableHoverBg: whiten($info, 0.2);\n//$uiClickableActiveBg: $uiHeaderBg;\n$uiClickableActiveBg: whiten($websiteBorder, 0.2);\n//$uiClickableActiveBg: #aaa;\n\n$uiSelectableSelectedBg: whiten($info, 0.2);\n$uiSelectableSelectedHoverBg: whiten($info, 0.1);\n$uiSelectableHoverBg: whiten($info, 0.9);\n\n$uiOverlay: $lightBlueGrey;\n\n// new layout. Implemented now only for review panel\n$uiReviewPanelBg: #f2f2f2;\n$uiReviewPanelTextDisabled: hsl(0, 0%, 45%);\n$uiReviewPanelTextDefault: hsl(0, 0%, 12%);\n$uiReviewPanelBgDefault: $uiGeneralContentBg;\n$uiReviewPanelPrimaryHighlight: hsl(208, 100%, 32%);\n$uiReviewPanelBgInverted: $uiReviewPanelTextDefault;\n$uiReviewPanelTextInverted: $uiGeneralContentBg;\n\n// sidebars etc.\n$canvas: mix(#fff, $grey, 85%);\n\n// colors taken from feedback.scss\n$successBgColor: whiten($success, 0.8);\n$successBorderColor: whiten($success, 0.1);\n\n$infoBgColor: whiten($info, 0.8);\n$infoBorderColor: whiten($info, 0.1);\n\n$warningBgColor: whiten($warning, 0.8);\n$warningBorderColor: whiten($warning, 0.1);\n\n$dangerBgColor: whiten($danger, 0.8);\n$dangerBorderColor: whiten($danger, 0.1);\n\n$errorBgColor: whiten($error, 0.8);\n$errorBorderColor: whiten($error, 0.1);\n\n$darkBar: rgb(51, 51, 51);\n$darkBarTxt: rgb(230, 230, 230);\n$darkBarIcon: rgb(220, 220, 220);\n\n$actionLinkColor: #276d9b;\n$actionLinkHoverColor: #4f83a7;\n\n$colorWheel-01: #c3ba13;\n$colorWheel-02: #84a610;\n$colorWheel-03: #2b8e0e;\n$colorWheel-04: #0f9787;\n$colorWheel-05: #0e5d91;\n$colorWheel-06: #0d2689;\n$colorWheel-07: #400d83;\n$colorWheel-08: #960e7d;\n$colorWheel-09: #ba122b;\n$colorWheel-10: #c34713;\n$colorWheel-11: #c36f13;\n$colorWheel-12: #c39413;\n"]}