@oat-sa/tao-core-ui 1.46.0 → 1.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actionbar.js +5 -11
- package/dist/adder.js +34 -6
- package/dist/animable/absorbable/absorbable.js +5 -11
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/css/pulse.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +5 -11
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/badge/badge.js +5 -11
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs/css/breadcrumbs.css +2 -2
- package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/dist/breadcrumbs.js +5 -11
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +5 -11
- package/dist/button.js +5 -11
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/cascadingComboBox.js +5 -11
- package/dist/ckeditor/ckConfigurator.js +22 -6
- package/dist/class/css/selector.css +2 -2
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +5 -11
- package/dist/component/css/components.css +7 -7
- package/dist/component/css/components.css.map +1 -1
- package/dist/component/css/windowComponent.css.map +1 -1
- package/dist/component/windowed.js +5 -11
- package/dist/component.js +5 -11
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +5 -11
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +5 -11
- package/dist/datalist/css/datalist.css +2 -2
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +5 -11
- package/dist/datatable/css/datatable.css +1 -1
- package/dist/datatable/css/datatable.css.map +1 -1
- package/dist/datatable.js +5 -11
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +5 -11
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +5 -11
- package/dist/deleter.js +5 -11
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +5 -11
- package/dist/dialog/confirmDelete.js +5 -11
- package/dist/dialog.js +5 -11
- package/dist/documentViewer/css/documentViewer.css.map +1 -1
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +5 -11
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +5 -11
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +5 -11
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +5 -11
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +5 -11
- package/dist/documentViewer/providers/pdfViewer.js +5 -11
- package/dist/documentViewer.js +5 -11
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +5 -11
- package/dist/dynamicComponent/css/dynamicComponent.css +1 -1
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +5 -11
- package/dist/feedback.js +5 -11
- package/dist/filter.js +5 -11
- package/dist/form/css/dropdownForm.css +1 -1
- package/dist/form/css/dropdownForm.css.map +1 -1
- package/dist/form/css/form.css.map +1 -1
- package/dist/form/dropdownForm.js +5 -11
- package/dist/form/form.js +5 -11
- package/dist/form/validator/css/validator.css.map +1 -1
- package/dist/form/validator/renderer.js +5 -11
- package/dist/form/widget/css/widget.css.map +1 -1
- package/dist/form/widget/providers/checkBox.js +5 -11
- package/dist/form/widget/providers/comboBox.js +5 -11
- package/dist/form/widget/providers/hidden.js +5 -11
- package/dist/form/widget/providers/hiddenBox.js +5 -11
- package/dist/form/widget/providers/radioBox.js +5 -11
- package/dist/form/widget/providers/textArea.js +5 -11
- package/dist/form/widget/widget.js +5 -11
- package/dist/generis/form/css/form.css.map +1 -1
- package/dist/generis/form/form.js +5 -11
- package/dist/generis/validator/css/validator.css.map +1 -1
- package/dist/generis/validator/validator.js +5 -11
- package/dist/generis/widget/checkBox/checkBox.js +5 -11
- package/dist/generis/widget/comboBox/comboBox.js +5 -11
- package/dist/generis/widget/css/widget.css.map +1 -1
- package/dist/generis/widget/hiddenBox/hiddenBox.js +5 -11
- package/dist/generis/widget/textBox/textBox.js +5 -11
- package/dist/generis/widget/widget.js +5 -11
- package/dist/groupedComboBox.js +5 -11
- package/dist/highlighter.js +5 -11
- package/dist/itemButtonList/css/item-button-list.css +225 -0
- package/dist/itemButtonList/css/item-button-list.css.map +1 -0
- package/dist/itemButtonList.js +451 -0
- package/dist/listbox/css/listbox.css.map +1 -1
- package/dist/listbox.js +5 -11
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +5 -11
- package/dist/lock.js +5 -11
- package/dist/login/login.js +5 -11
- package/dist/maths/calculator/basicCalculator.js +5 -11
- package/dist/maths/calculator/core/board.js +5 -11
- package/dist/maths/calculator/core/expression.js +5 -11
- package/dist/maths/calculator/core/labels.js +5 -11
- package/dist/maths/calculator/core/tokens.js +5 -11
- package/dist/maths/calculator/css/calculator.css.map +1 -1
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +5 -11
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +5 -11
- package/dist/maths/calculator/scientificCalculator.js +5 -11
- package/dist/mediaEditor/mediaEditorComponent.js +5 -11
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +5 -11
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +5 -11
- package/dist/mediaplayer/css/player.css.map +1 -1
- package/dist/mediaplayer/players/html5.js +5 -11
- package/dist/mediaplayer/players/youtube.js +5 -11
- package/dist/mediaplayer.js +5 -11
- package/dist/mediasizer.js +5 -11
- package/dist/pageSizeSelector.js +5 -11
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/providers/pages.js +5 -11
- package/dist/pagination/providers/simple.js +5 -11
- package/dist/report.js +5 -11
- package/dist/resource/css/selector.css +4 -4
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +5 -11
- package/dist/resource/list.js +5 -11
- package/dist/resource/selector.js +5 -11
- package/dist/resource/tree.js +5 -11
- package/dist/resourcemgr/css/resourcemgr.css +3 -3
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +5 -11
- package/dist/resourcemgr/fileSelector.js +5 -11
- package/dist/resourcemgr.js +5 -11
- package/dist/searchModal/advancedSearch.js +5 -11
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +14 -32
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +5 -11
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +5 -11
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +5 -11
- package/dist/taskQueue/table.js +5 -11
- package/dist/taskQueueButton/css/taskable.css.map +1 -1
- package/dist/taskQueueButton/css/treeButton.css.map +1 -1
- package/dist/taskQueueButton/taskable.js +5 -11
- package/dist/taskQueueButton/treeButton.js +5 -11
- package/dist/tooltip.js +5 -11
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +5 -11
- package/dist/uploader.js +5 -11
- package/dist/validator.js +5 -11
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/package.json +3 -4
- package/scss/font/tao/tao.svg +5 -4
- package/scss/font/tao/tao.ttf +0 -0
- package/scss/font/tao/tao.woff +0 -0
- package/scss/inc/fonts/_tao-icon-classes.scss +8 -7
- package/scss/inc/fonts/_tao-icon-def.scss +3 -3
- package/scss/inc/fonts/_tao-icon-vars.scss +9 -8
- package/src/adder.js +42 -17
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/animable/pulsable/css/pulse.css.map +1 -1
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/badge/css/badge.css.map +1 -1
- package/src/breadcrumbs/css/breadcrumbs.css +2 -2
- package/src/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/src/calculator/css/calculator.css.map +1 -1
- package/src/ckeditor/ckConfigurator.js +46 -26
- package/src/class/css/selector.css +2 -2
- package/src/class/css/selector.css.map +1 -1
- package/src/component/css/components.css +7 -7
- package/src/component/css/components.css.map +1 -1
- package/src/component/css/windowComponent.css.map +1 -1
- package/src/contextualPopup/css/contextualPopup.css.map +1 -1
- package/src/dashboard/css/dashboard.css.map +1 -1
- package/src/datalist/css/datalist.css +2 -2
- package/src/datalist/css/datalist.css.map +1 -1
- package/src/datatable/css/datatable.css +1 -1
- package/src/datatable/css/datatable.css.map +1 -1
- package/src/dateRange/css/dateRange.css.map +1 -1
- package/src/datetime/css/picker.css.map +1 -1
- package/src/destination/css/selector.css.map +1 -1
- package/src/documentViewer/css/documentViewer.css.map +1 -1
- package/src/dropdown/css/dropdown.css.map +1 -1
- package/src/dynamicComponent/css/dynamicComponent.css +1 -1
- package/src/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/src/form/css/dropdownForm.css +1 -1
- package/src/form/css/dropdownForm.css.map +1 -1
- package/src/form/css/form.css.map +1 -1
- package/src/form/validator/css/validator.css.map +1 -1
- package/src/form/widget/css/widget.css.map +1 -1
- package/src/generis/form/css/form.css.map +1 -1
- package/src/generis/validator/css/validator.css.map +1 -1
- package/src/generis/widget/css/widget.css.map +1 -1
- package/src/itemButtonList/css/item-button-list.css +225 -0
- package/src/itemButtonList/css/item-button-list.css.map +1 -0
- package/src/itemButtonList/scss/item-button-list.scss +232 -0
- package/src/itemButtonList/tpl/itemButtonList.tpl +23 -0
- package/src/itemButtonList.js +220 -0
- package/src/listbox/css/listbox.css.map +1 -1
- package/src/loadingButton/css/button.css.map +1 -1
- package/src/maths/calculator/css/calculator.css.map +1 -1
- package/src/mediaplayer/css/player.css.map +1 -1
- package/src/pagination/css/pagination.css.map +1 -1
- package/src/resource/css/selector.css +4 -4
- package/src/resource/css/selector.css.map +1 -1
- package/src/resourcemgr/css/resourcemgr.css +3 -3
- package/src/resourcemgr/css/resourcemgr.css.map +1 -1
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/switch/css/switch.css.map +1 -1
- package/src/tabs/css/tabs.css.map +1 -1
- package/src/taskQueue/css/taskQueue.css.map +1 -1
- package/src/taskQueueButton/css/taskable.css.map +1 -1
- package/src/taskQueueButton/css/treeButton.css.map +1 -1
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
define(['jquery', 'ui/autoscroll', 'ui/component', 'handlebars', 'i18n', 'lodash', 'lib/dompurify/purify', 'css!ui/itemButtonList/css/item-button-list.css'], function ($$1, autoscroll, componentFactory, Handlebars, __, _, DOMPurify, itemButtonList_css) { 'use strict';
|
|
2
|
+
|
|
3
|
+
$$1 = $$1 && Object.prototype.hasOwnProperty.call($$1, 'default') ? $$1['default'] : $$1;
|
|
4
|
+
autoscroll = autoscroll && Object.prototype.hasOwnProperty.call(autoscroll, 'default') ? autoscroll['default'] : autoscroll;
|
|
5
|
+
componentFactory = componentFactory && Object.prototype.hasOwnProperty.call(componentFactory, 'default') ? componentFactory['default'] : componentFactory;
|
|
6
|
+
Handlebars = Handlebars && Object.prototype.hasOwnProperty.call(Handlebars, 'default') ? Handlebars['default'] : Handlebars;
|
|
7
|
+
__ = __ && Object.prototype.hasOwnProperty.call(__, 'default') ? __['default'] : __;
|
|
8
|
+
_ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
|
|
9
|
+
DOMPurify = DOMPurify && Object.prototype.hasOwnProperty.call(DOMPurify, 'default') ? DOMPurify['default'] : DOMPurify;
|
|
10
|
+
|
|
11
|
+
function _typeof(obj) {
|
|
12
|
+
"@babel/helpers - typeof";
|
|
13
|
+
|
|
14
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
15
|
+
return typeof obj;
|
|
16
|
+
} : function (obj) {
|
|
17
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
18
|
+
}, _typeof(obj);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function Helpers0 (hb) {
|
|
22
|
+
//register a i18n helper
|
|
23
|
+
hb.registerHelper('__', function (key) {
|
|
24
|
+
return __(key);
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Register dompurify helper
|
|
28
|
+
*
|
|
29
|
+
* https://github.com/cure53/DOMPurify
|
|
30
|
+
* with config SAFE_FOR_TEMPLATES: true
|
|
31
|
+
* to make output safe for template systems
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
hb.registerHelper('dompurify', function (context) {
|
|
35
|
+
return DOMPurify.sanitize(context);
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Register join helper
|
|
39
|
+
*
|
|
40
|
+
* Example :
|
|
41
|
+
* var values = {a:v1, b:v2, c:v3};
|
|
42
|
+
* Using {{{join attributes '=' ' ' '"'}}} will return : a="v1" b="v2" c="v3"
|
|
43
|
+
* Using {{{join values null ' or ' '*'}}} will return : *v1* or *v2* or *v3*
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
hb.registerHelper('join', function (arr, keyValueGlue, fragmentGlue, wrapper) {
|
|
47
|
+
var fragments = [];
|
|
48
|
+
keyValueGlue = typeof keyValueGlue === 'string' ? keyValueGlue : undefined;
|
|
49
|
+
fragmentGlue = typeof fragmentGlue === 'string' ? fragmentGlue : ' ';
|
|
50
|
+
wrapper = typeof wrapper === 'string' ? wrapper : '"';
|
|
51
|
+
|
|
52
|
+
_.forIn(arr, function (value, key) {
|
|
53
|
+
var fragment = '';
|
|
54
|
+
|
|
55
|
+
if (value !== null || value !== undefined) {
|
|
56
|
+
if (typeof value === 'boolean') {
|
|
57
|
+
value = value ? 'true' : 'false';
|
|
58
|
+
} else if (_typeof(value) === 'object') {
|
|
59
|
+
value = _.values(value).join(' ');
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
value = '';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (keyValueGlue !== undefined) {
|
|
66
|
+
fragment += key + keyValueGlue;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
fragment += wrapper + value + wrapper;
|
|
70
|
+
fragments.push(fragment);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
return fragments.join(fragmentGlue);
|
|
74
|
+
}); //register a classic "for loop" helper
|
|
75
|
+
//it also adds a local variable "i" as the index in each iteration loop
|
|
76
|
+
|
|
77
|
+
hb.registerHelper('for', function (startIndex, stopIndex, increment, options) {
|
|
78
|
+
var ret = '';
|
|
79
|
+
startIndex = parseInt(startIndex);
|
|
80
|
+
stopIndex = parseInt(stopIndex);
|
|
81
|
+
increment = parseInt(increment);
|
|
82
|
+
|
|
83
|
+
for (var i = startIndex; i < stopIndex; i += increment) {
|
|
84
|
+
ret += options.fn(_.extend({}, this, {
|
|
85
|
+
i: i
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return ret;
|
|
90
|
+
});
|
|
91
|
+
hb.registerHelper('equal', function (var1, var2, options) {
|
|
92
|
+
if (var1 == var2) {
|
|
93
|
+
return options.fn(this);
|
|
94
|
+
} else {
|
|
95
|
+
return options.inverse(this);
|
|
96
|
+
}
|
|
97
|
+
}); // register a "get property" helper
|
|
98
|
+
// it gets the named property from the provided context
|
|
99
|
+
|
|
100
|
+
hb.registerHelper('property', function (name, context) {
|
|
101
|
+
return context[name] || '';
|
|
102
|
+
}); // register an 'includes' helper
|
|
103
|
+
// it checks if value is in array
|
|
104
|
+
|
|
105
|
+
hb.registerHelper('includes', function (haystack, needle, options) {
|
|
106
|
+
if (_.contains(haystack, needle)) {
|
|
107
|
+
return options.fn(this);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!Helpers0.__initialized) {
|
|
113
|
+
Helpers0(Handlebars);
|
|
114
|
+
Helpers0.__initialized = true;
|
|
115
|
+
}
|
|
116
|
+
var Template = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
|
|
117
|
+
this.compilerInfo = [4,'>= 1.0.0'];
|
|
118
|
+
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
|
|
119
|
+
var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this;
|
|
120
|
+
|
|
121
|
+
function program1(depth0,data,depth1) {
|
|
122
|
+
|
|
123
|
+
var buffer = "", stack1, helper;
|
|
124
|
+
buffer += "\n <li class=\"buttonlist-item ";
|
|
125
|
+
if (helper = helpers.status) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
126
|
+
else { helper = (depth0 && depth0.status); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
127
|
+
buffer += escapeExpression(stack1)
|
|
128
|
+
+ " ";
|
|
129
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.scoreType), {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data});
|
|
130
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
131
|
+
buffer += " ";
|
|
132
|
+
stack1 = helpers['if'].call(depth0, (depth1 && depth1.disabled), {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data});
|
|
133
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
134
|
+
buffer += "\" data-id=\"";
|
|
135
|
+
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
136
|
+
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
137
|
+
buffer += escapeExpression(stack1)
|
|
138
|
+
+ "\">\n <button class=\"buttonlist-btn\"\n role=\"link\"\n aria-label=\"";
|
|
139
|
+
if (helper = helpers.ariaLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
140
|
+
else { helper = (depth0 && depth0.ariaLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
141
|
+
buffer += escapeExpression(stack1)
|
|
142
|
+
+ "\"\n ";
|
|
143
|
+
stack1 = helpers['if'].call(depth0, (depth1 && depth1.disabled), {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});
|
|
144
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
145
|
+
buffer += "\n data-id=\"";
|
|
146
|
+
if (helper = helpers.id) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
147
|
+
else { helper = (depth0 && depth0.id); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
148
|
+
buffer += escapeExpression(stack1)
|
|
149
|
+
+ "\">\n <span class=\"icon-indicator indicator\" aria-hidden=\"true\"></span>\n ";
|
|
150
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.scoreType), {hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data});
|
|
151
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
152
|
+
buffer += "\n ";
|
|
153
|
+
stack1 = helpers['if'].call(depth0, (depth0 && depth0.icon), {hash:{},inverse:self.program(12, program12, data),fn:self.program(10, program10, data),data:data});
|
|
154
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
155
|
+
buffer += "\n </button>\n </li>\n ";
|
|
156
|
+
return buffer;
|
|
157
|
+
}
|
|
158
|
+
function program2(depth0,data) {
|
|
159
|
+
|
|
160
|
+
var stack1, helper;
|
|
161
|
+
if (helper = helpers.scoreType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
162
|
+
else { helper = (depth0 && depth0.scoreType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
163
|
+
return escapeExpression(stack1);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function program4(depth0,data) {
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
return "disabled";
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function program6(depth0,data) {
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
return "aria-disabled=\"true\"";
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function program8(depth0,data) {
|
|
179
|
+
|
|
180
|
+
var buffer = "", stack1, helper;
|
|
181
|
+
buffer += "\n <span class=\"buttonlist-score-badge\">\n <span class=\"buttonlist-score-icon icon-";
|
|
182
|
+
if (helper = helpers.scoreType) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
183
|
+
else { helper = (depth0 && depth0.scoreType); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
184
|
+
buffer += escapeExpression(stack1)
|
|
185
|
+
+ "\" aria-hidden=\"true\"></span>\n </span>\n ";
|
|
186
|
+
return buffer;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function program10(depth0,data) {
|
|
190
|
+
|
|
191
|
+
var buffer = "", stack1, helper;
|
|
192
|
+
buffer += "\n <span class=\"buttonlist-icon icon-";
|
|
193
|
+
if (helper = helpers.icon) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
194
|
+
else { helper = (depth0 && depth0.icon); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
195
|
+
buffer += escapeExpression(stack1)
|
|
196
|
+
+ "\" aria-hidden=\"true\"></span>\n ";
|
|
197
|
+
return buffer;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function program12(depth0,data) {
|
|
201
|
+
|
|
202
|
+
var buffer = "", stack1, helper;
|
|
203
|
+
buffer += "\n <span class=\"buttonlist-label\" aria-hidden=\"true\">";
|
|
204
|
+
if (helper = helpers.numericLabel) { stack1 = helper.call(depth0, {hash:{},data:data}); }
|
|
205
|
+
else { helper = (depth0 && depth0.numericLabel); stack1 = typeof helper === functionType ? helper.call(depth0, {hash:{},data:data}) : helper; }
|
|
206
|
+
buffer += escapeExpression(stack1)
|
|
207
|
+
+ "</span>\n ";
|
|
208
|
+
return buffer;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
buffer += "<ol class=\"buttonlist-items\">\n ";
|
|
212
|
+
stack1 = helpers.each.call(depth0, (depth0 && depth0.items), {hash:{},inverse:self.noop,fn:self.programWithDepth(1, program1, data, depth0),data:data});
|
|
213
|
+
if(stack1 || stack1 === 0) { buffer += stack1; }
|
|
214
|
+
buffer += "\n</ol>";
|
|
215
|
+
return buffer;
|
|
216
|
+
});
|
|
217
|
+
function itemButtonListTpl(data, options, asString) {
|
|
218
|
+
var html = Template(data, options);
|
|
219
|
+
return (asString || true) ? html : $(html);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* This program is free software; you can redistribute it and/or
|
|
224
|
+
* modify it under the terms of the GNU General Public License
|
|
225
|
+
* as published by the Free Software Foundation; under version 2
|
|
226
|
+
* of the License (non-upgradable).
|
|
227
|
+
*
|
|
228
|
+
* This program is distributed in the hope that it will be useful,
|
|
229
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
230
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
231
|
+
* GNU General Public License for more details.
|
|
232
|
+
*
|
|
233
|
+
* You should have received a copy of the GNU General Public License
|
|
234
|
+
* along with this program; if not, write to the Free Software
|
|
235
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
236
|
+
*
|
|
237
|
+
* Copyright (c) 2022 Open Assessment Technologies SA ;
|
|
238
|
+
*/
|
|
239
|
+
/**
|
|
240
|
+
* CSS classes involved in the component
|
|
241
|
+
* @type {Object}
|
|
242
|
+
*/
|
|
243
|
+
|
|
244
|
+
var cssClasses = {
|
|
245
|
+
active: 'buttonlist-item-active',
|
|
246
|
+
keyfocused: 'buttonlist-btn-focus'
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* CSS selectors that match some particular elements
|
|
250
|
+
* @type {Object}
|
|
251
|
+
*/
|
|
252
|
+
|
|
253
|
+
var cssSelectors = {
|
|
254
|
+
active: ".".concat(cssClasses.active),
|
|
255
|
+
keyfocused: ".".concat(cssClasses.keyfocused),
|
|
256
|
+
navigable: '.buttonlist-btn',
|
|
257
|
+
itemById: function itemById(id) {
|
|
258
|
+
return ".buttonlist-item[data-id=\"".concat(id, "\"]");
|
|
259
|
+
},
|
|
260
|
+
navigableById: function navigableById(id) {
|
|
261
|
+
return ".buttonlist-btn[data-id=\"".concat(id, "\"]");
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* @typedef {Object} ItemButton
|
|
266
|
+
* @property {String} id - item id
|
|
267
|
+
* @property {Number} position - 0-based list index
|
|
268
|
+
* @property {String} numericLabel - displayed number
|
|
269
|
+
* @property {String} ariaLabel
|
|
270
|
+
* @property {String} status - 'answered'/'viewed'/'unseen'
|
|
271
|
+
* @property {String} scoreType - 'correct'/'incorrect'/null
|
|
272
|
+
* @property {String} icon - 'info' or null
|
|
273
|
+
*/
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Item Button List
|
|
277
|
+
* Ordered list of buttons representing items from a testMap section
|
|
278
|
+
* Mostly presentational component
|
|
279
|
+
*
|
|
280
|
+
* @param {Object} config
|
|
281
|
+
* @param {ItemButton[]} [config.items] - The list of entries to display
|
|
282
|
+
* @returns {component}
|
|
283
|
+
* @fires ready - When the component is ready to work
|
|
284
|
+
* @fires click When an item is selected by the user
|
|
285
|
+
*/
|
|
286
|
+
|
|
287
|
+
function itemButtonListFactory() {
|
|
288
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
289
|
+
var component;
|
|
290
|
+
var activeItemId = null;
|
|
291
|
+
/**
|
|
292
|
+
* Selects the active item
|
|
293
|
+
* @param {String|null} itemId
|
|
294
|
+
*/
|
|
295
|
+
|
|
296
|
+
var selectItem = function selectItem(itemId) {
|
|
297
|
+
// first deactivate already active elements
|
|
298
|
+
component.getElement().find(cssSelectors.active).removeClass(cssClasses.active);
|
|
299
|
+
component.getElement().find(cssSelectors.navigable).removeAttr('aria-current'); // activate element
|
|
300
|
+
|
|
301
|
+
if (itemId) {
|
|
302
|
+
var $target = component.getElement().find(cssSelectors.itemById(itemId));
|
|
303
|
+
|
|
304
|
+
if ($target.length) {
|
|
305
|
+
$target.addClass(cssClasses.active); // finally make sure the item is visible
|
|
306
|
+
|
|
307
|
+
autoscroll($target, component.getElement());
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
var $ariaTarget = component.getElement().find(cssSelectors.navigableById(itemId));
|
|
311
|
+
|
|
312
|
+
if ($ariaTarget.length) {
|
|
313
|
+
$ariaTarget.attr('aria-current', 'location');
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
/**
|
|
318
|
+
* 'tabfocus' styling, for Safari until :focus-visible supported
|
|
319
|
+
* @param {jQuery|null} $target
|
|
320
|
+
*/
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
var setFocusStyle = function setFocusStyle($target) {
|
|
324
|
+
component.getElement().find(cssSelectors.keyfocused).removeClass(cssClasses.keyfocused);
|
|
325
|
+
|
|
326
|
+
if ($target && $target.length) {
|
|
327
|
+
$target.addClass(cssClasses.keyfocused);
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
/**
|
|
331
|
+
* Apply a callback on each navigable element
|
|
332
|
+
* @param {*} callback
|
|
333
|
+
*/
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
var eachNavigable = function eachNavigable(callback) {
|
|
337
|
+
component.getElement().find(cssSelectors.navigable).each(callback);
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Enables the keyboard navigation using 'tab' keys
|
|
341
|
+
*/
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
var enableKeyboard = function enableKeyboard() {
|
|
345
|
+
eachNavigable(function (index, el) {
|
|
346
|
+
return el.removeAttribute('tabindex');
|
|
347
|
+
});
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* Disables the keyboard navigation using 'tab' keys
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
var disableKeyboard = function disableKeyboard() {
|
|
355
|
+
eachNavigable(function (index, el) {
|
|
356
|
+
return el.setAttribute('tabindex', -1);
|
|
357
|
+
});
|
|
358
|
+
setFocusStyle(null);
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Emits the click event detailing the clicked item
|
|
362
|
+
* The active item change should be handled by the consumer through the API, in case it is conditional or asynchronous
|
|
363
|
+
* @param {String} itemId
|
|
364
|
+
*/
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
var onClick = function onClick(itemId) {
|
|
368
|
+
/**
|
|
369
|
+
* @event click
|
|
370
|
+
* @param {String} itemId
|
|
371
|
+
* @param {Number} position
|
|
372
|
+
*/
|
|
373
|
+
component.trigger('click', {
|
|
374
|
+
id: itemId
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* Defines the buttonList API
|
|
379
|
+
* @type {buttonList}
|
|
380
|
+
*/
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
var api = {
|
|
384
|
+
/**
|
|
385
|
+
* Sets the active item
|
|
386
|
+
* @param {String} itemId
|
|
387
|
+
* @returns {buttonList}
|
|
388
|
+
*/
|
|
389
|
+
setActiveItem: function setActiveItem(itemId) {
|
|
390
|
+
activeItemId = itemId;
|
|
391
|
+
|
|
392
|
+
if (this.is('rendered')) {
|
|
393
|
+
selectItem(itemId);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
return this;
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* @typedef {component} buttonList
|
|
401
|
+
*/
|
|
402
|
+
|
|
403
|
+
component = componentFactory(api, {}) // set the component's layout
|
|
404
|
+
.setTemplate(itemButtonListTpl) // renders the component
|
|
405
|
+
.on('render', function onItemButtonListRender() {
|
|
406
|
+
var _this = this;
|
|
407
|
+
|
|
408
|
+
// 'tabfocus' detection, for Safari until :focus-visible supported
|
|
409
|
+
this.getElement().on('keydown', cssSelectors.navigable, function (e) {
|
|
410
|
+
if (e.key === 'Tab') {
|
|
411
|
+
setFocusStyle(null);
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
this.getElement().on('keyup', cssSelectors.navigable, function (e) {
|
|
415
|
+
if (e.key === 'Tab') {
|
|
416
|
+
setFocusStyle($$1(e.target));
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
component.getElement().on('click', cssSelectors.navigable, function (e) {
|
|
420
|
+
if (!_this.is('disabled')) {
|
|
421
|
+
onClick(e.currentTarget.dataset.id);
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
selectItem(activeItemId);
|
|
425
|
+
|
|
426
|
+
if (!this.is('disabled')) {
|
|
427
|
+
enableKeyboard();
|
|
428
|
+
} else {
|
|
429
|
+
disableKeyboard();
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* @event ready
|
|
433
|
+
*/
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
this.setState('ready', true).trigger('ready');
|
|
437
|
+
}) // reflect enable/disabled state
|
|
438
|
+
.on('enable', function () {
|
|
439
|
+
return enableKeyboard;
|
|
440
|
+
}).on('disable', function () {
|
|
441
|
+
return disableKeyboard;
|
|
442
|
+
}); // initialize the component with the provided config:
|
|
443
|
+
// config also contains data passed to template when rendering
|
|
444
|
+
|
|
445
|
+
component.init(config);
|
|
446
|
+
return component;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
return itemButtonListFactory;
|
|
450
|
+
|
|
451
|
+
});
|
|
@@ -1 +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;ACND,gBAAA;ADMA;IACE,iBAAiB;IACjB,YAAY;AAGd;;AALA;IAKI,0CEFuC;IH+MnC,eAAyB;IACzB,iBAA+B;IC5MnC,mBAAmB;AAKvB;;AAZA;IAUI,0CEPuC;IH+MnC,eAAyB;IACzB,iBAA+B;ICvMnC,mBAAmB;AAOvB;;AAnBA;IAgBI,WAAW;AAOf;;AAvBA;IDuGI,sBAD6B;IAE7B,kBAAkB;IAClB,0BAA0B;ICpF1B,mBGE0B;IHD1B,mBAAmB;IACnB,aAAa;IACb,kBAAkB;AAStB;;AAjCA;IDkNQ,eAAyB;IACzB,eAA+B;ICrLjC,kBAAkB;IAClB,cGnCiB;IHoCjB,6BAA6B;AASnC;;AAzCA;IAmCM,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,2BAA2B;IAC3B,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,cD2I4C;IC1I5C,UAAU;AAUhB;;AArDA;IA6CQ,cGjDe;AH6DvB;;AAzDA;IAgDU,kBAAkB;AAa5B;;AA7DA;IAoDM,iBAAmC;AAazC;;AAjEA;IAuDM,kBAAkB;AAcxB;;AArEA;IA0DQ,WAAW;IACX,cAAqC;IACrC,yBAAyB;IACzB,yBAAqD;IACrD,4BAAwD;IACxD,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,UAAU;AAelB;;AAjFA;IAsEQ,uBGnDqB;IHoDrB,WAAmC;IACnC,wBAAsD;IACtD,uBAAqD;IACrD,SAAS;AAejB;;AAzFA;IA8EQ,wBAAwB;IACxB,WAAkC;IAClC,wBAAqD;IACrD,uBAAoD;AAe5D;;AAhGA;IAwFM,qBAAqB;AAY3B;;AApGA;IA2FM,aAAa;AAanB;;AAxGA;IAgGM,qBAAqB;AAY3B;;AA5GA;IAmGM,aAAa;AAanB;;AAhHA;IAwGM,qBAAqB;AAY3B;;AApHA;IA2GM,aAAa;AAanB","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","@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: none;\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-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@mixin icon-wrap-inline { content: \"\\e917\"; }\n@mixin icon-wrap-right { content: \"\\e915\"; }\n@mixin icon-wrap-left { content: \"\\e916\"; }\n@mixin icon-indicator { content: \"\\e920\"; }\n@mixin icon-bookmark { content: \"\\e921\"; }\n@mixin icon-bookmark-outline { content: \"\\e922\"; }\n@mixin icon-info-bare { content: \"\\e923\"; }","$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"]}
|
|
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;ACND,gBAAA;ADMA;IACE,iBAAiB;IACjB,YAAY;AAGd;;AALA;IAKI,0CEFuC;IH+MnC,eAAyB;IACzB,iBAA+B;IC5MnC,mBAAmB;AAKvB;;AAZA;IAUI,0CEPuC;IH+MnC,eAAyB;IACzB,iBAA+B;ICvMnC,mBAAmB;AAOvB;;AAnBA;IAgBI,WAAW;AAOf;;AAvBA;IDuGI,sBAD6B;IAE7B,kBAAkB;IAClB,0BAA0B;ICpF1B,mBGE0B;IHD1B,mBAAmB;IACnB,aAAa;IACb,kBAAkB;AAStB;;AAjCA;IDkNQ,eAAyB;IACzB,eAA+B;ICrLjC,kBAAkB;IAClB,cGnCiB;IHoCjB,6BAA6B;AASnC;;AAzCA;IAmCM,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,2BAA2B;IAC3B,iBAAiB;IACjB,gBAAgB;IAChB,wBAAwB;IACxB,cD2I4C;IC1I5C,UAAU;AAUhB;;AArDA;IA6CQ,cGjDe;AH6DvB;;AAzDA;IAgDU,kBAAkB;AAa5B;;AA7DA;IAoDM,iBAAmC;AAazC;;AAjEA;IAuDM,kBAAkB;AAcxB;;AArEA;IA0DQ,WAAW;IACX,cAAqC;IACrC,yBAAyB;IACzB,yBAAqD;IACrD,4BAAwD;IACxD,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,UAAU;AAelB;;AAjFA;IAsEQ,uBGnDqB;IHoDrB,WAAmC;IACnC,wBAAsD;IACtD,uBAAqD;IACrD,SAAS;AAejB;;AAzFA;IA8EQ,wBAAwB;IACxB,WAAkC;IAClC,wBAAqD;IACrD,uBAAoD;AAe5D;;AAhGA;IAwFM,qBAAqB;AAY3B;;AApGA;IA2FM,aAAa;AAanB;;AAxGA;IAgGM,qBAAqB;AAY3B;;AA5GA;IAmGM,aAAa;AAanB;;AAhHA;IAwGM,qBAAqB;AAY3B;;AApHA;IA2GM,aAAa;AAanB","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","@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"]}
|
package/dist/listbox.js
CHANGED
|
@@ -9,17 +9,11 @@ define(['lodash', 'i18n', 'ui/component', 'handlebars', 'lib/dompurify/purify',
|
|
|
9
9
|
function _typeof(obj) {
|
|
10
10
|
"@babel/helpers - typeof";
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
_typeof = function (obj) {
|
|
18
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return _typeof(obj);
|
|
12
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
13
|
+
return typeof obj;
|
|
14
|
+
} : function (obj) {
|
|
15
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
16
|
+
}, _typeof(obj);
|
|
23
17
|
}
|
|
24
18
|
|
|
25
19
|
function Helpers0 (hb) {
|