@oat-sa/tao-core-ui 1.60.2 → 1.62.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/LICENSE +339 -339
- package/README.md +23 -18
- package/dist/actionbar.js +393 -410
- package/dist/adder.js +143 -156
- package/dist/animable/absorbable/absorbable.js +208 -211
- package/dist/animable/absorbable/css/absorb.css +7 -8
- package/dist/animable/absorbable/css/absorb.css.map +1 -1
- package/dist/animable/pulsable/css/pulse.css +7 -7
- package/dist/animable/pulsable/css/pulse.css.map +1 -1
- package/dist/animable/pulsable/pulsable.js +174 -174
- package/dist/areaBroker.js +59 -72
- package/dist/autocomplete/css/autocomplete.css +7 -8
- package/dist/autocomplete/css/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +494 -604
- package/dist/autoscroll.js +23 -25
- package/dist/badge/badge.js +201 -199
- package/dist/badge/css/badge.css +7 -8
- package/dist/badge/css/badge.css.map +1 -1
- package/dist/breadcrumbs/css/breadcrumbs.css +7 -7
- package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/dist/breadcrumbs.js +286 -285
- package/dist/btngrouper.js +83 -95
- package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/dist/bulkActionPopup.js +503 -503
- package/dist/button.js +300 -293
- package/dist/calculator/css/calculator.css +10 -10
- package/dist/calculator/css/calculator.css.map +1 -1
- package/dist/calculator.js +59 -72
- package/dist/cascadingComboBox.js +257 -256
- package/dist/ckeditor/ckConfigurator.js +130 -154
- package/dist/ckeditor/dtdHandler.js +305 -345
- package/dist/class/css/selector.css +7 -7
- package/dist/class/css/selector.css.map +1 -1
- package/dist/class/selector.js +437 -470
- package/dist/component/alignable.js +97 -121
- package/dist/component/containable.js +53 -58
- package/dist/component/css/components.css +7 -7
- package/dist/component/css/components.css.map +1 -1
- package/dist/component/css/windowComponent.css +7 -7
- package/dist/component/css/windowComponent.css.map +1 -1
- package/dist/component/draggable.js +34 -36
- package/dist/component/placeable.js +84 -102
- package/dist/component/resizable.js +79 -89
- package/dist/component/stackable.js +21 -27
- package/dist/component/windowed.js +284 -297
- package/dist/component.js +439 -467
- package/dist/container.js +79 -98
- package/dist/contextualPopup/css/contextualPopup.css +7 -7
- package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
- package/dist/contextualPopup.js +417 -436
- package/dist/dashboard/css/dashboard.css +7 -7
- package/dist/dashboard/css/dashboard.css.map +1 -1
- package/dist/dashboard.js +302 -305
- package/dist/datalist/css/datalist.css +7 -7
- package/dist/datalist/css/datalist.css.map +1 -1
- package/dist/datalist.js +783 -791
- package/dist/datatable/css/datatable.css +11 -7
- package/dist/datatable/css/datatable.css.map +1 -1
- package/dist/datatable/filterStrategy/filterStrategy.js +28 -30
- package/dist/datatable/filterStrategy/multiple.js +26 -45
- package/dist/datatable/filterStrategy/single.js +28 -40
- package/dist/datatable.js +1591 -1616
- package/dist/dateRange/css/dateRange.css +7 -7
- package/dist/dateRange/css/dateRange.css.map +1 -1
- package/dist/dateRange/dateRange.js +398 -412
- package/dist/datetime/css/picker.css +7 -7
- package/dist/datetime/css/picker.css.map +1 -1
- package/dist/datetime/picker.js +670 -703
- package/dist/deleter.js +383 -398
- package/dist/destination/css/selector.css +7 -7
- package/dist/destination/css/selector.css.map +1 -1
- package/dist/destination/selector.js +295 -293
- package/dist/dialog/alert.js +30 -32
- package/dist/dialog/confirm.js +29 -32
- package/dist/dialog/confirmDelete.js +223 -221
- package/dist/dialog.js +651 -695
- package/dist/disabler.js +108 -119
- package/dist/documentViewer/css/documentViewer.css +7 -7
- package/dist/documentViewer/css/documentViewer.css.map +1 -1
- package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +172 -169
- package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +32 -29
- package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +523 -564
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +376 -393
- package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +53 -68
- package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +517 -567
- package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +73 -96
- package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +381 -392
- package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +125 -152
- package/dist/documentViewer/providers/pdfViewer.js +189 -191
- package/dist/documentViewer/viewerFactory.js +76 -81
- package/dist/documentViewer.js +303 -311
- package/dist/dropdown/css/dropdown.css +7 -7
- package/dist/dropdown/css/dropdown.css.map +1 -1
- package/dist/dropdown.js +392 -412
- package/dist/durationer.js +77 -85
- package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
- package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/dist/dynamicComponent.js +595 -630
- package/dist/feedback.js +365 -375
- package/dist/figure/FigureStateActive.js +246 -296
- package/dist/filesender.js +44 -54
- package/dist/filter.js +244 -240
- package/dist/form/css/dropdownForm.css +7 -7
- package/dist/form/css/dropdownForm.css.map +1 -1
- package/dist/form/css/form.css +7 -7
- package/dist/form/css/form.css.map +1 -1
- package/dist/form/dropdownForm.js +357 -362
- package/dist/form/form.js +703 -984
- package/dist/form/simpleForm.js +74 -77
- package/dist/form/validator/css/validator.css +7 -7
- package/dist/form/validator/css/validator.css.map +1 -1
- package/dist/form/validator/renderer.js +235 -241
- package/dist/form/validator/validator.js +181 -267
- package/dist/form/widget/css/widget.css +7 -7
- package/dist/form/widget/css/widget.css.map +1 -1
- package/dist/form/widget/definitions.js +27 -28
- package/dist/form/widget/loader.js +16 -16
- package/dist/form/widget/providers/checkBox.js +257 -264
- package/dist/form/widget/providers/comboBox.js +194 -193
- package/dist/form/widget/providers/default.js +44 -50
- package/dist/form/widget/providers/hidden.js +179 -176
- package/dist/form/widget/providers/hiddenBox.js +262 -272
- package/dist/form/widget/providers/radioBox.js +222 -223
- package/dist/form/widget/providers/textArea.js +197 -193
- package/dist/form/widget/providers/textBox.js +36 -37
- package/dist/form/widget/widget.js +480 -508
- package/dist/form.js +12 -17
- package/dist/formValidator/formValidator.js +74 -91
- package/dist/formValidator/highlighters/highlighter.js +43 -51
- package/dist/formValidator/highlighters/message.js +31 -32
- package/dist/formValidator/highlighters/tooltip.js +33 -35
- package/dist/generis/form/css/form.css +7 -7
- package/dist/generis/form/css/form.css.map +1 -1
- package/dist/generis/form/form.js +323 -331
- package/dist/generis/validator/css/validator.css +7 -7
- package/dist/generis/validator/css/validator.css.map +1 -1
- package/dist/generis/validator/validator.js +215 -216
- package/dist/generis/widget/checkBox/checkBox.js +227 -225
- package/dist/generis/widget/comboBox/comboBox.js +189 -183
- package/dist/generis/widget/css/widget.css +7 -7
- package/dist/generis/widget/css/widget.css.map +1 -1
- package/dist/generis/widget/hiddenBox/hiddenBox.js +231 -232
- package/dist/generis/widget/loader.js +21 -23
- package/dist/generis/widget/textBox/textBox.js +178 -172
- package/dist/generis/widget/widget.js +255 -266
- package/dist/groupedComboBox.js +231 -226
- package/dist/groupvalidator.js +30 -34
- package/dist/hider.js +43 -50
- package/dist/highlighter.js +946 -1057
- package/dist/image/ImgStateActive/extractLabel.js +20 -21
- package/dist/image/ImgStateActive/helper.js +21 -25
- package/dist/image/ImgStateActive/initHelper.js +133 -162
- package/dist/image/ImgStateActive/initMediaEditor.js +72 -92
- package/dist/image/ImgStateActive/mediaSizer.js +48 -58
- package/dist/image/ImgStateActive.js +185 -215
- package/dist/incrementer.js +91 -110
- package/dist/inplacer.js +108 -132
- package/dist/interactUtils.js +56 -67
- package/dist/itemButtonList/css/item-button-list.css +23 -24
- package/dist/itemButtonList/css/item-button-list.css.map +1 -1
- package/dist/itemButtonList.js +444 -469
- package/dist/keyNavigation/navigableDomElement.js +124 -158
- package/dist/keyNavigation/navigator.js +235 -312
- package/dist/listbox/css/listbox.css +7 -7
- package/dist/listbox/css/listbox.css.map +1 -1
- package/dist/listbox.js +463 -476
- package/dist/liststyler.js +75 -76
- package/dist/loadingButton/css/button.css +7 -7
- package/dist/loadingButton/css/button.css.map +1 -1
- package/dist/loadingButton/loadingButton.js +219 -218
- package/dist/lock.js +484 -509
- package/dist/login/login.js +471 -486
- package/dist/maths/calculator/basicCalculator.js +247 -242
- package/dist/maths/calculator/calculatorComponent.js +34 -36
- package/dist/maths/calculator/core/areaBroker.js +30 -28
- package/dist/maths/calculator/core/board.js +805 -872
- package/dist/maths/calculator/core/expression.js +500 -518
- package/dist/maths/calculator/core/labels.js +240 -235
- package/dist/maths/calculator/core/plugin.js +20 -20
- package/dist/maths/calculator/core/terms.js +27 -27
- package/dist/maths/calculator/core/tokenizer.js +119 -132
- package/dist/maths/calculator/core/tokens.js +157 -168
- package/dist/maths/calculator/css/calculator.css +7 -7
- package/dist/maths/calculator/css/calculator.css.map +1 -1
- package/dist/maths/calculator/defaultCalculator.js +24 -27
- package/dist/maths/calculator/plugins/core/degrad.js +22 -30
- package/dist/maths/calculator/plugins/core/history.js +55 -67
- package/dist/maths/calculator/plugins/core/remind.js +22 -25
- package/dist/maths/calculator/plugins/core/stepNavigation.js +33 -49
- package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +255 -258
- package/dist/maths/calculator/plugins/modifiers/pow10.js +47 -52
- package/dist/maths/calculator/plugins/modifiers/sign.js +103 -130
- package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +288 -293
- package/dist/maths/calculator/pluginsLoader.js +22 -22
- package/dist/maths/calculator/scientificCalculator.js +339 -334
- package/dist/mediaEditor/mediaEditorComponent.js +244 -249
- package/dist/mediaEditor/plugins/mediaAlignment/helper.js +28 -33
- package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +228 -236
- package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/dist/mediaEditor/plugins/mediaDimension/helper.js +81 -106
- package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +597 -635
- package/dist/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/dist/mediaplayer/css/player.css +7 -7
- package/dist/mediaplayer/css/player.css.map +1 -1
- package/dist/mediaplayer/players/html5.js +646 -706
- package/dist/mediaplayer/players/youtube.js +393 -438
- package/dist/mediaplayer/players.js +19 -19
- package/dist/mediaplayer/support.js +66 -79
- package/dist/mediaplayer/utils/reminder.js +117 -128
- package/dist/mediaplayer/utils/timeObserver.js +106 -109
- package/dist/mediaplayer/youtubeManager.js +142 -170
- package/dist/mediaplayer.js +1484 -1774
- package/dist/mediasizer.js +633 -676
- package/dist/modal.js +137 -153
- package/dist/movableComponent.js +37 -37
- package/dist/pageSizeSelector.js +231 -224
- package/dist/pageStatus.js +43 -46
- package/dist/pagination/css/pagination.css +7 -7
- package/dist/pagination/css/pagination.css.map +1 -1
- package/dist/pagination/paginationStrategy.js +24 -25
- package/dist/pagination/providers/pages.js +281 -291
- package/dist/pagination/providers/simple.js +202 -196
- package/dist/pagination.js +49 -72
- package/dist/previewer.js +113 -138
- package/dist/progressbar.js +70 -80
- package/dist/propertySelector/css/propertySelector.css +74 -0
- package/dist/propertySelector/css/propertySelector.css.map +1 -0
- package/dist/propertySelector/propertySelector.js +489 -0
- package/dist/report.js +356 -359
- package/dist/resource/css/selector.css +7 -7
- package/dist/resource/css/selector.css.map +1 -1
- package/dist/resource/filters.js +275 -289
- package/dist/resource/list.js +1589 -1371
- package/dist/resource/selectable.js +101 -136
- package/dist/resource/selector.js +855 -914
- package/dist/resource/tree.js +1796 -1612
- package/dist/resourcemgr/css/resourcemgr.css +7 -7
- package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
- package/dist/resourcemgr/fileBrowser.js +540 -587
- package/dist/resourcemgr/filePreview.js +16 -25
- package/dist/resourcemgr/fileSelector.js +520 -547
- package/dist/resourcemgr/util/updatePermissions.js +10 -18
- package/dist/resourcemgr.js +325 -332
- package/dist/scroller.js +29 -33
- package/dist/searchModal/advancedSearch.js +949 -833
- package/dist/searchModal/css/advancedSearch.css +7 -14
- package/dist/searchModal/css/advancedSearch.css.map +1 -1
- package/dist/searchModal/css/searchModal.css +28 -8
- package/dist/searchModal/css/searchModal.css.map +1 -1
- package/dist/searchModal.js +616 -335
- package/dist/selecter.js +21 -28
- package/dist/stacker.js +52 -60
- package/dist/switch/css/switch.css +7 -7
- package/dist/switch/css/switch.css.map +1 -1
- package/dist/switch/switch.js +305 -311
- package/dist/tableModel.js +39 -49
- package/dist/tabs/css/tabs.css +12 -12
- package/dist/tabs/css/tabs.css.map +1 -1
- package/dist/tabs.js +588 -639
- package/dist/taskQueue/css/taskQueue.css +7 -7
- package/dist/taskQueue/css/taskQueue.css.map +1 -1
- package/dist/taskQueue/status.js +317 -322
- package/dist/taskQueue/table.js +383 -394
- package/dist/taskQueue/taskQueue.js +19 -19
- package/dist/taskQueue/taskQueueModel.js +459 -538
- package/dist/taskQueue.js +49 -67
- package/dist/taskQueueButton/css/taskable.css +7 -7
- package/dist/taskQueueButton/css/taskable.css.map +1 -1
- package/dist/taskQueueButton/css/treeButton.css +7 -7
- package/dist/taskQueueButton/css/treeButton.css.map +1 -1
- package/dist/taskQueueButton/standardButton.js +45 -43
- package/dist/taskQueueButton/taskable.js +267 -272
- package/dist/taskQueueButton/treeButton.js +200 -198
- package/dist/themeLoader.js +109 -129
- package/dist/themes.js +86 -100
- package/dist/toggler.js +76 -88
- package/dist/tooltip.js +296 -311
- package/dist/tooltipster.js +17 -17
- package/dist/transformer.js +140 -169
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/dist/tristateCheckboxGroup.js +319 -325
- package/dist/uploader.js +691 -724
- package/dist/validator/Report.js +1 -2
- package/dist/validator/Validator.js +6 -25
- package/dist/validator/validators.js +66 -80
- package/dist/validator.js +218 -254
- package/dist/waitForMedia.js +45 -51
- package/dist/waitingDialog/css/waitingDialog.css +7 -7
- package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
- package/dist/waitingDialog/waitingDialog.js +59 -77
- package/package.json +109 -107
- package/scss/basic.scss +16 -16
- package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +59 -59
- package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
- package/scss/font/tao/tao.svg +234 -234
- package/scss/inc/_base.scss +495 -495
- package/scss/inc/_bootstrap.scss +6 -6
- package/scss/inc/_buttons.scss +114 -114
- package/scss/inc/_colors.scss +93 -88
- package/scss/inc/_feedback.scss +150 -150
- package/scss/inc/_flex-grid.scss +15 -15
- package/scss/inc/_fonts.scss +4 -4
- package/scss/inc/_forms.scss +832 -832
- package/scss/inc/_functions.scss +283 -283
- package/scss/inc/_jquery.nouislider.scss +254 -254
- package/scss/inc/_normalize.scss +528 -528
- package/scss/inc/_report.scss +67 -67
- package/scss/inc/_secondary-properties.scss +89 -89
- package/scss/inc/_select2.scss +634 -634
- package/scss/inc/_toolbars.scss +155 -155
- package/scss/inc/_tooltip.scss +312 -312
- package/scss/inc/_variables.scss +21 -21
- package/scss/inc/base/_highlight.scss +5 -5
- package/scss/inc/base/_list-style.scss +58 -58
- package/scss/inc/base/_svg.scss +3 -3
- package/scss/inc/base/_table.scss +62 -62
- package/scss/inc/fonts/_source-sans-pro.scss +29 -29
- package/scss/inc/fonts/_tao-icon-classes.scss +226 -226
- package/scss/inc/fonts/_tao-icon-def.scss +12 -12
- package/scss/inc/fonts/_tao-icon-vars.scss +240 -240
- package/src/actionbar/tpl/main.tpl +8 -8
- package/src/actionbar.js +251 -251
- package/src/adder.js +250 -250
- package/src/animable/absorbable/absorbable.js +134 -134
- package/src/animable/absorbable/css/absorb.css +7 -8
- package/src/animable/absorbable/css/absorb.css.map +1 -1
- package/src/animable/absorbable/scss/absorb.scss +37 -37
- package/src/animable/pulsable/css/pulse.css +7 -7
- package/src/animable/pulsable/css/pulse.css.map +1 -1
- package/src/animable/pulsable/pulsable.js +90 -90
- package/src/animable/pulsable/scss/pulse.scss +22 -22
- package/src/areaBroker.js +160 -160
- package/src/autocomplete/css/autocomplete.css +7 -8
- package/src/autocomplete/css/autocomplete.css.map +1 -1
- package/src/autocomplete/scss/autocomplete.scss +37 -37
- package/src/autocomplete.js +1029 -1029
- package/src/autoscroll.js +57 -57
- package/src/badge/badge.js +119 -119
- package/src/badge/css/badge.css +7 -8
- package/src/badge/css/badge.css.map +1 -1
- package/src/badge/scss/badge.scss +92 -92
- package/src/badge/tpl/badge.tpl +4 -4
- package/src/breadcrumbs/css/breadcrumbs.css +7 -7
- package/src/breadcrumbs/css/breadcrumbs.css.map +1 -1
- package/src/breadcrumbs/scss/breadcrumbs.scss +52 -52
- package/src/breadcrumbs/tpl/breadcrumbs.tpl +20 -20
- package/src/breadcrumbs.js +99 -99
- package/src/btngrouper.js +213 -213
- package/src/bulkActionPopup/css/bulkActionPopup.css +7 -7
- package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
- package/src/bulkActionPopup/scss/bulkActionPopup.scss +63 -63
- package/src/bulkActionPopup/tpl/layout.tpl +76 -76
- package/src/bulkActionPopup/tpl/select.tpl +8 -8
- package/src/bulkActionPopup.js +274 -274
- package/src/button/tpl/button.tpl +4 -4
- package/src/button.js +135 -135
- package/src/calculator/css/calculator.css +10 -10
- package/src/calculator/css/calculator.css.map +1 -1
- package/src/calculator/scss/calculator.scss +139 -139
- package/src/calculator.js +188 -188
- package/src/cascadingComboBox.js +126 -126
- package/src/ckeditor/ckConfigurator.js +736 -736
- package/src/ckeditor/dtdHandler.js +1030 -1030
- package/src/class/css/selector.css +7 -7
- package/src/class/css/selector.css.map +1 -1
- package/src/class/scss/selector.scss +101 -101
- package/src/class/selector.js +329 -329
- package/src/class/tpl/listItem.tpl +9 -9
- package/src/class/tpl/selector.tpl +10 -10
- package/src/component/alignable.js +274 -274
- package/src/component/containable.js +122 -122
- package/src/component/css/components.css +7 -7
- package/src/component/css/components.css.map +1 -1
- package/src/component/css/windowComponent.css +7 -7
- package/src/component/css/windowComponent.css.map +1 -1
- package/src/component/draggable.js +104 -104
- package/src/component/placeable.js +233 -233
- package/src/component/resizable.js +195 -195
- package/src/component/scss/components.scss +507 -507
- package/src/component/scss/windowComponent.scss +62 -62
- package/src/component/stackable.js +67 -67
- package/src/component/tpl/window.tpl +7 -7
- package/src/component/windowed.js +206 -206
- package/src/component.js +401 -401
- package/src/container.js +200 -200
- package/src/contextualPopup/css/contextualPopup.css +7 -7
- package/src/contextualPopup/css/contextualPopup.css.map +1 -1
- package/src/contextualPopup/scss/contextualPopup.scss +78 -78
- package/src/contextualPopup/tpl/popup.tpl +10 -10
- package/src/contextualPopup.js +297 -297
- package/src/css/basic.css +103 -106
- package/src/css/basic.css.map +1 -1
- package/src/dashboard/css/dashboard.css +7 -7
- package/src/dashboard/css/dashboard.css.map +1 -1
- package/src/dashboard/scss/dashboard.scss +93 -93
- package/src/dashboard/tpl/dashboard.tpl +16 -16
- package/src/dashboard/tpl/dashboardMetricsList.tpl +15 -15
- package/src/dashboard.js +184 -184
- package/src/datalist/css/datalist.css +7 -7
- package/src/datalist/css/datalist.css.map +1 -1
- package/src/datalist/scss/datalist.scss +116 -116
- package/src/datalist/tpl/list.tpl +24 -24
- package/src/datalist/tpl/main.tpl +44 -44
- package/src/datalist.js +500 -500
- package/src/datatable/css/datatable.css +11 -7
- package/src/datatable/css/datatable.css.map +1 -1
- package/src/datatable/filterStrategy/filterStrategy.js +70 -70
- package/src/datatable/filterStrategy/multiple.js +126 -126
- package/src/datatable/filterStrategy/single.js +108 -108
- package/src/datatable/scss/datatable.scss +149 -146
- package/src/datatable/tpl/button.tpl +6 -6
- package/src/datatable/tpl/layout.tpl +158 -158
- package/src/datatable.js +1056 -1056
- package/src/dateRange/css/dateRange.css +7 -7
- package/src/dateRange/css/dateRange.css.map +1 -1
- package/src/dateRange/dateRange.js +341 -341
- package/src/dateRange/scss/dateRange.scss +7 -7
- package/src/dateRange/tpl/select.tpl +18 -18
- package/src/datetime/css/picker.css +7 -7
- package/src/datetime/css/picker.css.map +1 -1
- package/src/datetime/picker.js +576 -576
- package/src/datetime/scss/picker.scss +192 -192
- package/src/datetime/tpl/picker.tpl +18 -18
- package/src/deleter/undo.tpl +6 -6
- package/src/deleter.js +296 -296
- package/src/destination/css/selector.css +7 -7
- package/src/destination/css/selector.css.map +1 -1
- package/src/destination/scss/selector.scss +36 -36
- package/src/destination/selector.js +195 -195
- package/src/destination/tpl/selector.tpl +13 -13
- package/src/dialog/alert.js +70 -70
- package/src/dialog/confirm.js +85 -85
- package/src/dialog/confirmDelete.js +95 -95
- package/src/dialog/tpl/body.tpl +24 -24
- package/src/dialog/tpl/buttons.tpl +6 -6
- package/src/dialog/tpl/checkbox.tpl +5 -5
- package/src/dialog.js +517 -517
- package/src/disabler.js +230 -230
- package/src/documentViewer/css/documentViewer.css +7 -7
- package/src/documentViewer/css/documentViewer.css.map +1 -1
- package/src/documentViewer/providers/pdfViewer/fallback/viewer.js +69 -69
- package/src/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +41 -41
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.js +475 -475
- package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.tpl +20 -20
- package/src/documentViewer/providers/pdfViewer/pdfjs/match.tpl +1 -1
- package/src/documentViewer/providers/pdfViewer/pdfjs/page.tpl +4 -4
- package/src/documentViewer/providers/pdfViewer/pdfjs/pageView.js +318 -318
- package/src/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +167 -167
- package/src/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +451 -451
- package/src/documentViewer/providers/pdfViewer/pdfjs/textManager.js +252 -252
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.js +299 -299
- package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.tpl +16 -16
- package/src/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +351 -351
- package/src/documentViewer/providers/pdfViewer.js +93 -93
- package/src/documentViewer/scss/documentViewer.scss +184 -184
- package/src/documentViewer/viewerFactory.js +191 -191
- package/src/documentViewer.js +238 -238
- package/src/dropdown/css/dropdown.css +7 -7
- package/src/dropdown/css/dropdown.css.map +1 -1
- package/src/dropdown/scss/dropdown.scss +99 -99
- package/src/dropdown/tpl/dropdown.tpl +8 -8
- package/src/dropdown/tpl/list-item.tpl +4 -4
- package/src/dropdown.js +255 -255
- package/src/durationer.js +222 -222
- package/src/dynamicComponent/css/dynamicComponent.css +7 -7
- package/src/dynamicComponent/css/dynamicComponent.css.map +1 -1
- package/src/dynamicComponent/scss/dynamicComponent.scss +98 -98
- package/src/dynamicComponent/tpl/layout.tpl +17 -17
- package/src/dynamicComponent.js +554 -554
- package/src/feedback/feedback.tpl +7 -7
- package/src/feedback.js +295 -295
- package/src/figure/FigureStateActive.js +174 -174
- package/src/filesender.js +114 -114
- package/src/filter/template.tpl +5 -5
- package/src/filter.js +135 -135
- package/src/form/css/dropdownForm.css +7 -7
- package/src/form/css/dropdownForm.css.map +1 -1
- package/src/form/css/form.css +7 -7
- package/src/form/css/form.css.map +1 -1
- package/src/form/dropdownForm.js +281 -281
- package/src/form/form.js +688 -688
- package/src/form/scss/dropdownForm.scss +60 -60
- package/src/form/scss/form.scss +25 -25
- package/src/form/simpleForm.js +125 -125
- package/src/form/tpl/dropdownForm.tpl +4 -4
- package/src/form/tpl/form.tpl +7 -7
- package/src/form/validator/css/validator.css +7 -7
- package/src/form/validator/css/validator.css.map +1 -1
- package/src/form/validator/renderer.js +118 -118
- package/src/form/validator/scss/validator.scss +14 -14
- package/src/form/validator/tpl/message.tpl +1 -1
- package/src/form/validator/tpl/validator.tpl +1 -1
- package/src/form/validator/validator.js +220 -220
- package/src/form/widget/css/widget.css +7 -7
- package/src/form/widget/css/widget.css.map +1 -1
- package/src/form/widget/definitions.js +51 -51
- package/src/form/widget/loader.js +40 -40
- package/src/form/widget/providers/checkBox.js +138 -138
- package/src/form/widget/providers/comboBox.js +63 -63
- package/src/form/widget/providers/default.js +90 -90
- package/src/form/widget/providers/hidden.js +62 -62
- package/src/form/widget/providers/hiddenBox.js +152 -152
- package/src/form/widget/providers/radioBox.js +99 -99
- package/src/form/widget/providers/textArea.js +52 -52
- package/src/form/widget/providers/textBox.js +48 -48
- package/src/form/widget/scss/widget.scss +55 -55
- package/src/form/widget/tpl/checkBox.tpl +25 -25
- package/src/form/widget/tpl/comboBox.tpl +13 -13
- package/src/form/widget/tpl/hidden.tpl +1 -1
- package/src/form/widget/tpl/hiddenBox.tpl +17 -17
- package/src/form/widget/tpl/label.tpl +6 -6
- package/src/form/widget/tpl/radioBox.tpl +25 -25
- package/src/form/widget/tpl/textArea.tpl +8 -8
- package/src/form/widget/tpl/widget.tpl +8 -8
- package/src/form/widget/widget.js +372 -372
- package/src/form.js +53 -53
- package/src/formValidator/formValidator.js +253 -253
- package/src/formValidator/highlighters/highlighter.js +102 -102
- package/src/formValidator/highlighters/message.js +70 -70
- package/src/formValidator/highlighters/tooltip.js +78 -78
- package/src/generis/form/css/form.css +7 -7
- package/src/generis/form/css/form.css.map +1 -1
- package/src/generis/form/form.js +239 -239
- package/src/generis/form/readme.md +70 -70
- package/src/generis/form/scss/form.scss +23 -23
- package/src/generis/form/tpl/form.tpl +16 -16
- package/src/generis/validator/css/validator.css +7 -7
- package/src/generis/validator/css/validator.css.map +1 -1
- package/src/generis/validator/readme.md +46 -46
- package/src/generis/validator/scss/validator.scss +13 -13
- package/src/generis/validator/validator.js +128 -128
- package/src/generis/widget/checkBox/checkBox.js +112 -112
- package/src/generis/widget/checkBox/checkBox.tpl +18 -18
- package/src/generis/widget/comboBox/comboBox.js +67 -67
- package/src/generis/widget/comboBox/comboBox.tpl +12 -12
- package/src/generis/widget/css/widget.css +7 -7
- package/src/generis/widget/css/widget.css.map +1 -1
- package/src/generis/widget/hiddenBox/hiddenBox.js +132 -132
- package/src/generis/widget/hiddenBox/hiddenBox.tpl +16 -16
- package/src/generis/widget/loader.js +49 -49
- package/src/generis/widget/readme.md +59 -59
- package/src/generis/widget/scss/widget.scss +61 -61
- package/src/generis/widget/textBox/textBox.js +65 -65
- package/src/generis/widget/textBox/textBox.tpl +7 -7
- package/src/generis/widget/widget.js +164 -164
- package/src/generis/widget/widget.tpl +5 -5
- package/src/groupedComboBox.js +99 -99
- package/src/groupvalidator.js +84 -84
- package/src/hider.js +88 -88
- package/src/highlighter.js +1166 -1166
- package/src/image/ImgStateActive/extractLabel.js +29 -29
- package/src/image/ImgStateActive/helper.js +36 -36
- package/src/image/ImgStateActive/initHelper.js +137 -137
- package/src/image/ImgStateActive/initMediaEditor.js +92 -92
- package/src/image/ImgStateActive/mediaSizer.js +63 -63
- package/src/image/ImgStateActive.js +115 -115
- package/src/incrementer.js +319 -319
- package/src/inplacer.js +316 -316
- package/src/interactUtils.js +140 -140
- package/src/itemButtonList/css/item-button-list.css +23 -24
- package/src/itemButtonList/css/item-button-list.css.map +1 -1
- package/src/itemButtonList/scss/item-button-list.scss +236 -236
- package/src/itemButtonList/tpl/itemButtonList.tpl +21 -21
- package/src/itemButtonList.js +274 -274
- package/src/keyNavigation/navigableDomElement.js +282 -282
- package/src/keyNavigation/navigator.js +543 -543
- package/src/listbox/css/listbox.css +7 -7
- package/src/listbox/css/listbox.css.map +1 -1
- package/src/listbox/scss/listbox.scss +116 -116
- package/src/listbox/tpl/list.tpl +14 -14
- package/src/listbox/tpl/main.tpl +9 -9
- package/src/listbox.js +251 -251
- package/src/liststyler.js +155 -155
- package/src/loadingButton/css/button.css +7 -7
- package/src/loadingButton/css/button.css.map +1 -1
- package/src/loadingButton/loadingButton.js +110 -110
- package/src/loadingButton/scss/button.scss +41 -41
- package/src/loadingButton/tpl/button.tpl +5 -5
- package/src/lock/lock.tpl +16 -16
- package/src/lock.js +395 -395
- package/src/login/login.js +322 -322
- package/src/login/tpl/login.tpl +29 -29
- package/src/login/tpl/passwordReveal.tpl +7 -7
- package/src/maths/calculator/basicCalculator.js +55 -55
- package/src/maths/calculator/calculatorComponent.js +128 -128
- package/src/maths/calculator/core/areaBroker.js +38 -38
- package/src/maths/calculator/core/board.js +841 -841
- package/src/maths/calculator/core/expression.js +430 -430
- package/src/maths/calculator/core/labels.js +116 -116
- package/src/maths/calculator/core/plugin.js +40 -40
- package/src/maths/calculator/core/terms.js +459 -459
- package/src/maths/calculator/core/tokenizer.js +245 -245
- package/src/maths/calculator/core/tokens.js +178 -178
- package/src/maths/calculator/core/tpl/board.tpl +4 -4
- package/src/maths/calculator/css/calculator.css +7 -7
- package/src/maths/calculator/css/calculator.css.map +1 -1
- package/src/maths/calculator/defaultCalculator.js +66 -66
- package/src/maths/calculator/plugins/core/degrad.js +90 -90
- package/src/maths/calculator/plugins/core/history.js +166 -166
- package/src/maths/calculator/plugins/core/remind.js +96 -96
- package/src/maths/calculator/plugins/core/stepNavigation.js +175 -175
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/defaultTemplate.tpl +36 -36
- package/src/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +91 -91
- package/src/maths/calculator/plugins/modifiers/pow10.js +143 -143
- package/src/maths/calculator/plugins/modifiers/sign.js +339 -339
- package/src/maths/calculator/plugins/screen/simpleScreen/defaultTemplate.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/history.tpl +3 -3
- package/src/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +191 -191
- package/src/maths/calculator/pluginsLoader.js +46 -46
- package/src/maths/calculator/scientificCalculator.js +74 -74
- package/src/maths/calculator/scss/calculator.scss +396 -396
- package/src/maths/calculator/tpl/basicKeyboard.tpl +37 -37
- package/src/maths/calculator/tpl/basicScreen.tpl +2 -2
- package/src/maths/calculator/tpl/scientificKeyboard.tpl +61 -61
- package/src/maths/calculator/tpl/scientificScreen.tpl +3 -3
- package/src/mediaEditor/mediaEditorComponent.js +141 -141
- package/src/mediaEditor/plugins/mediaAlignment/helper.js +62 -62
- package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +99 -99
- package/src/mediaEditor/plugins/mediaAlignment/style.css +7 -7
- package/src/mediaEditor/plugins/mediaAlignment/tpl/mediaAlignment.tpl +25 -25
- package/src/mediaEditor/plugins/mediaDimension/helper.js +189 -189
- package/src/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +561 -561
- package/src/mediaEditor/plugins/mediaDimension/style.css +141 -141
- package/src/mediaEditor/plugins/mediaDimension/tpl/mediaDimension.tpl +55 -55
- package/src/mediaEditor/tpl/editor.tpl +4 -4
- package/src/mediaplayer/css/player.css +7 -7
- package/src/mediaplayer/css/player.css.map +1 -1
- package/src/mediaplayer/players/html5.js +564 -564
- package/src/mediaplayer/players/youtube.js +323 -323
- package/src/mediaplayer/players.js +29 -29
- package/src/mediaplayer/readme.md +305 -305
- package/src/mediaplayer/scss/player.scss +569 -569
- package/src/mediaplayer/support.js +126 -126
- package/src/mediaplayer/tpl/audio.tpl +6 -6
- package/src/mediaplayer/tpl/player.tpl +37 -37
- package/src/mediaplayer/tpl/source.tpl +1 -1
- package/src/mediaplayer/tpl/video.tpl +6 -6
- package/src/mediaplayer/tpl/youtube.tpl +1 -1
- package/src/mediaplayer/utils/reminder.js +184 -184
- package/src/mediaplayer/utils/timeObserver.js +143 -143
- package/src/mediaplayer/youtubeManager.js +161 -161
- package/src/mediaplayer.js +1606 -1606
- package/src/mediasizer/mediasizer.tpl +55 -55
- package/src/mediasizer.js +635 -635
- package/src/modal.js +365 -365
- package/src/movableComponent.js +78 -78
- package/src/pageSizeSelector/tpl/pageSizeSelector.tpl +9 -9
- package/src/pageSizeSelector.js +107 -107
- package/src/pageStatus.js +147 -147
- package/src/pagination/css/pagination.css +7 -7
- package/src/pagination/css/pagination.css.map +1 -1
- package/src/pagination/paginationStrategy.js +53 -53
- package/src/pagination/providers/pages.js +161 -161
- package/src/pagination/providers/simple.js +74 -74
- package/src/pagination/providers/tpl/pages/page.tpl +1 -1
- package/src/pagination/providers/tpl/pages.tpl +8 -8
- package/src/pagination/providers/tpl/simple.tpl +7 -7
- package/src/pagination/scss/pagination.scss +111 -111
- package/src/pagination.js +237 -237
- package/src/previewer.js +300 -300
- package/src/progressbar.js +165 -165
- package/src/propertySelector/css/propertySelector.css +74 -0
- package/src/propertySelector/css/propertySelector.css.map +1 -0
- package/src/propertySelector/propertySelector.js +286 -0
- package/src/propertySelector/scss/propertySelector.scss +66 -0
- package/src/propertySelector/tpl/highlighted-text.tpl +1 -0
- package/src/propertySelector/tpl/property-description.tpl +13 -0
- package/src/propertySelector/tpl/property-selector.tpl +7 -0
- package/src/report/feedback.tpl +11 -11
- package/src/report/layout.tpl +10 -10
- package/src/report.js +184 -184
- package/src/resource/css/selector.css +7 -7
- package/src/resource/css/selector.css.map +1 -1
- package/src/resource/filters.js +208 -208
- package/src/resource/list.js +200 -200
- package/src/resource/scss/_filters.scss +26 -26
- package/src/resource/scss/_resource-list.scss +107 -107
- package/src/resource/scss/_resource-tree.scss +205 -205
- package/src/resource/scss/selector.scss +187 -187
- package/src/resource/selectable.js +322 -322
- package/src/resource/selector.js +871 -871
- package/src/resource/tpl/filters.tpl +2 -2
- package/src/resource/tpl/list.tpl +7 -7
- package/src/resource/tpl/listNode.tpl +4 -4
- package/src/resource/tpl/selector.tpl +46 -46
- package/src/resource/tpl/tree.tpl +4 -4
- package/src/resource/tpl/treeNode.tpl +30 -30
- package/src/resource/tree.js +400 -400
- package/src/resourcemgr/css/resourcemgr.css +7 -7
- package/src/resourcemgr/css/resourcemgr.css.map +1 -1
- package/src/resourcemgr/fileBrowser.js +381 -381
- package/src/resourcemgr/filePreview.js +73 -73
- package/src/resourcemgr/fileSelector.js +348 -348
- package/src/resourcemgr/scss/resourcemgr.scss +254 -254
- package/src/resourcemgr/tpl/fileSelect.tpl +39 -39
- package/src/resourcemgr/tpl/folder.tpl +11 -11
- package/src/resourcemgr/tpl/layout.tpl +84 -84
- package/src/resourcemgr/tpl/rootFolder.tpl +13 -13
- package/src/resourcemgr/util/updatePermissions.js +53 -53
- package/src/resourcemgr.js +216 -216
- package/src/scroller.js +94 -94
- package/src/scss/basic.scss +16 -16
- package/src/searchModal/advancedSearch.js +638 -601
- package/src/searchModal/css/advancedSearch.css +7 -14
- package/src/searchModal/css/advancedSearch.css.map +1 -1
- package/src/searchModal/css/searchModal.css +28 -8
- package/src/searchModal/css/searchModal.css.map +1 -1
- package/src/searchModal/scss/advancedSearch.scss +171 -177
- package/src/searchModal/scss/searchModal.scss +393 -375
- package/src/searchModal/tpl/advanced-search.tpl +9 -9
- package/src/searchModal/tpl/criteria-alias.tpl +1 -0
- package/src/searchModal/tpl/criteria-class-label.tpl +1 -0
- package/src/searchModal/tpl/criteria-label.tpl +1 -0
- package/src/searchModal/tpl/highlighted-text.tpl +1 -0
- package/src/searchModal/tpl/info-message.tpl +3 -3
- package/src/searchModal/tpl/invalid-criteria-warning.tpl +10 -10
- package/src/searchModal/tpl/layout.tpl +27 -25
- package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -12
- package/src/searchModal/tpl/list-select-criterion.tpl +12 -6
- package/src/searchModal/tpl/property-select-button.tpl +1 -0
- package/src/searchModal/tpl/results-container.tpl +1 -0
- package/src/searchModal/tpl/text-criterion.tpl +11 -6
- package/src/searchModal.js +761 -496
- package/src/selecter.js +43 -43
- package/src/stacker.js +133 -133
- package/src/switch/css/switch.css +7 -7
- package/src/switch/css/switch.css.map +1 -1
- package/src/switch/scss/switch.scss +83 -83
- package/src/switch/switch.js +195 -195
- package/src/switch/tpl/switch.tpl +7 -7
- package/src/tableModel.js +112 -112
- package/src/tabs/css/tabs.css +12 -12
- package/src/tabs/css/tabs.css.map +1 -1
- package/src/tabs/scss/tabs.scss +50 -50
- package/src/tabs/tpl/panel.tpl +3 -3
- package/src/tabs/tpl/tabs.tpl +10 -10
- package/src/tabs.js +528 -528
- package/src/taskQueue/css/taskQueue.css +7 -7
- package/src/taskQueue/css/taskQueue.css.map +1 -1
- package/src/taskQueue/scss/taskQueue.scss +47 -47
- package/src/taskQueue/status.js +228 -228
- package/src/taskQueue/table.js +350 -350
- package/src/taskQueue/taskQueue.js +33 -33
- package/src/taskQueue/taskQueueModel.js +548 -548
- package/src/taskQueue/tpl/statusMessage.tpl +7 -7
- package/src/taskQueue.js +218 -218
- package/src/taskQueueButton/css/taskable.css +7 -7
- package/src/taskQueueButton/css/taskable.css.map +1 -1
- package/src/taskQueueButton/css/treeButton.css +7 -7
- package/src/taskQueueButton/css/treeButton.css.map +1 -1
- package/src/taskQueueButton/scss/taskable.scss +4 -4
- package/src/taskQueueButton/scss/treeButton.scss +34 -34
- package/src/taskQueueButton/standardButton.js +108 -108
- package/src/taskQueueButton/taskable.js +202 -202
- package/src/taskQueueButton/tpl/report.tpl +5 -5
- package/src/taskQueueButton/tpl/treeButton.tpl +6 -6
- package/src/taskQueueButton/treeButton.js +109 -109
- package/src/themeLoader.js +252 -252
- package/src/themes.js +162 -162
- package/src/toggler.js +200 -200
- package/src/tooltip/default.tpl +3 -3
- package/src/tooltip.js +160 -160
- package/src/tooltipster.js +25 -25
- package/src/transformer.js +327 -327
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
- package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
- package/src/tristateCheckboxGroup/scss/tristateCheckboxGroup.scss +15 -15
- package/src/tristateCheckboxGroup/tpl/li.tpl +6 -6
- package/src/tristateCheckboxGroup.js +207 -207
- package/src/uploader/fileEntry.tpl +6 -6
- package/src/uploader/uploader.tpl +32 -32
- package/src/uploader.js +594 -594
- package/src/validator/Report.js +10 -10
- package/src/validator/Validator.js +108 -108
- package/src/validator/validators.js +220 -220
- package/src/validator.js +264 -264
- package/src/waitForMedia.js +82 -82
- package/src/waitingDialog/css/waitingDialog.css +7 -7
- package/src/waitingDialog/css/waitingDialog.css.map +1 -1
- package/src/waitingDialog/scss/waitingDialog.scss +34 -34
- package/src/waitingDialog/waitingDialog.js +240 -240
|
@@ -1,178 +1,167 @@
|
|
|
1
1
|
define(['ui/maths/calculator/core/terms'], function (registeredTerms) { 'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Identifies the type of a given token
|
|
23
|
-
* @param {String|Object} token
|
|
24
|
-
* @returns {String|null}
|
|
25
|
-
*/
|
|
26
|
-
getType: function getType(token) {
|
|
27
|
-
var type, term;
|
|
28
|
-
|
|
29
|
-
if ('string' !== typeof token) {
|
|
30
|
-
type = token && token.type || null;
|
|
31
|
-
term = registeredTerms[type];
|
|
32
|
-
return term && term.type || type;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return token;
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Checks if the type is related to a digit value
|
|
40
|
-
* @param {String|Object} type
|
|
41
|
-
* @returns {Boolean}
|
|
3
|
+
registeredTerms = registeredTerms && Object.prototype.hasOwnProperty.call(registeredTerms, 'default') ? registeredTerms['default'] : registeredTerms;
|
|
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) 2019 Open Assessment Technologies SA ;
|
|
42
21
|
*/
|
|
43
|
-
isDigit: function isDigit(type) {
|
|
44
|
-
return tokensHelper.getType(type) === 'digit';
|
|
45
|
-
},
|
|
46
22
|
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @
|
|
50
|
-
* @returns {Boolean}
|
|
23
|
+
/**
|
|
24
|
+
* List of helpers that apply on tokens
|
|
25
|
+
* @type {Object}
|
|
51
26
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
},
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Checks if the type is related to an operand
|
|
68
|
-
* @param {String|Object} type
|
|
69
|
-
* @returns {Boolean}
|
|
70
|
-
*/
|
|
71
|
-
isValue: function isValue(type) {
|
|
72
|
-
type = tokensHelper.getType(type);
|
|
73
|
-
return type === 'digit' || type === 'constant' || type === 'variable' || type === 'term' || type === 'error';
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Checks if the type is related to an aggregator
|
|
78
|
-
* @param {String|Object} type
|
|
79
|
-
* @returns {Boolean}
|
|
80
|
-
*/
|
|
81
|
-
isAggregator: function isAggregator(type) {
|
|
82
|
-
return tokensHelper.getType(type) === 'aggregator';
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Checks if the type is related to an error
|
|
87
|
-
* @param {String|Object} type
|
|
88
|
-
* @returns {Boolean}
|
|
89
|
-
*/
|
|
90
|
-
isError: function isError(type) {
|
|
91
|
-
return tokensHelper.getType(type) === 'error';
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Checks if the type is related to a constant
|
|
96
|
-
* @param {String|Object} type
|
|
97
|
-
* @returns {Boolean}
|
|
98
|
-
*/
|
|
99
|
-
isConstant: function isConstant(type) {
|
|
100
|
-
return tokensHelper.getType(type) === 'constant';
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Checks if the type is related to a variable
|
|
105
|
-
* @param {String|Object} type
|
|
106
|
-
* @returns {Boolean}
|
|
107
|
-
*/
|
|
108
|
-
isVariable: function isVariable(type) {
|
|
109
|
-
type = tokensHelper.getType(type);
|
|
110
|
-
return type === 'variable' || type === 'term';
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Checks if the type is related to a function
|
|
115
|
-
* @param {String|Object} type
|
|
116
|
-
* @returns {Boolean}
|
|
117
|
-
*/
|
|
118
|
-
isFunction: function isFunction(type) {
|
|
119
|
-
return tokensHelper.getType(type) === 'function';
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Checks if the type is related to an identifier
|
|
124
|
-
* @param {String|Object} type
|
|
125
|
-
* @returns {Boolean}
|
|
126
|
-
*/
|
|
127
|
-
isIdentifier: function isIdentifier(type) {
|
|
128
|
-
type = tokensHelper.getType(type);
|
|
129
|
-
return type === 'constant' || type === 'variable' || type === 'term' || type === 'function' || type === 'error';
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Checks if the type is related to a separator
|
|
134
|
-
* @param {String|Object} type
|
|
135
|
-
* @returns {Boolean}
|
|
136
|
-
*/
|
|
137
|
-
isSeparator: function isSeparator(type) {
|
|
138
|
-
type = tokensHelper.getType(type);
|
|
139
|
-
return type === 'operator' || type === 'aggregator' || type === 'separator';
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Checks if the type is related to a modifier
|
|
144
|
-
* @param {String|Object} type
|
|
145
|
-
* @returns {Boolean}
|
|
146
|
-
*/
|
|
147
|
-
isModifier: function isModifier(type) {
|
|
148
|
-
type = tokensHelper.getType(type);
|
|
149
|
-
return type === 'operator' || type === 'function';
|
|
150
|
-
},
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Ensures an expression is a string. If a token or a descriptor is provided, extract the value.
|
|
154
|
-
* @param {String|Number|Object} expression
|
|
155
|
-
* @returns {String}
|
|
156
|
-
*/
|
|
157
|
-
stringValue: function stringValue(expression) {
|
|
158
|
-
var type = _typeof(expression);
|
|
159
|
-
|
|
160
|
-
if (type !== 'string') {
|
|
161
|
-
if (expression && 'undefined' !== typeof expression.value) {
|
|
162
|
-
expression = expression.value;
|
|
163
|
-
} else if (expression && 'undefined' !== typeof expression.result) {
|
|
164
|
-
expression = expression.result;
|
|
165
|
-
} else if (type === 'object' || type === 'undefined' || expression === null) {
|
|
166
|
-
expression = '';
|
|
27
|
+
var tokensHelper = {
|
|
28
|
+
/**
|
|
29
|
+
* Identifies the type of a given token
|
|
30
|
+
* @param {String|Object} token
|
|
31
|
+
* @returns {String|null}
|
|
32
|
+
*/
|
|
33
|
+
getType: function getType(token) {
|
|
34
|
+
var type, term;
|
|
35
|
+
if ('string' !== typeof token) {
|
|
36
|
+
type = token && token.type || null;
|
|
37
|
+
term = registeredTerms[type];
|
|
38
|
+
return term && term.type || type;
|
|
167
39
|
}
|
|
168
|
-
|
|
169
|
-
|
|
40
|
+
return token;
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Checks if the type is related to a digit value
|
|
44
|
+
* @param {String|Object} type
|
|
45
|
+
* @returns {Boolean}
|
|
46
|
+
*/
|
|
47
|
+
isDigit: function isDigit(type) {
|
|
48
|
+
return tokensHelper.getType(type) === 'digit';
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Checks if the type is related to an operator
|
|
52
|
+
* @param {String|Object} type
|
|
53
|
+
* @returns {Boolean}
|
|
54
|
+
*/
|
|
55
|
+
isOperator: function isOperator(type) {
|
|
56
|
+
return tokensHelper.getType(type) === 'operator';
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* Checks if the type is related to an operand
|
|
60
|
+
* @param {String|Object} type
|
|
61
|
+
* @returns {Boolean}
|
|
62
|
+
*/
|
|
63
|
+
isOperand: function isOperand(type) {
|
|
64
|
+
type = tokensHelper.getType(type);
|
|
65
|
+
return type !== 'operator' && type !== 'aggregator' && type !== 'separator';
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Checks if the type is related to an operand
|
|
69
|
+
* @param {String|Object} type
|
|
70
|
+
* @returns {Boolean}
|
|
71
|
+
*/
|
|
72
|
+
isValue: function isValue(type) {
|
|
73
|
+
type = tokensHelper.getType(type);
|
|
74
|
+
return type === 'digit' || type === 'constant' || type === 'variable' || type === 'term' || type === 'error';
|
|
75
|
+
},
|
|
76
|
+
/**
|
|
77
|
+
* Checks if the type is related to an aggregator
|
|
78
|
+
* @param {String|Object} type
|
|
79
|
+
* @returns {Boolean}
|
|
80
|
+
*/
|
|
81
|
+
isAggregator: function isAggregator(type) {
|
|
82
|
+
return tokensHelper.getType(type) === 'aggregator';
|
|
83
|
+
},
|
|
84
|
+
/**
|
|
85
|
+
* Checks if the type is related to an error
|
|
86
|
+
* @param {String|Object} type
|
|
87
|
+
* @returns {Boolean}
|
|
88
|
+
*/
|
|
89
|
+
isError: function isError(type) {
|
|
90
|
+
return tokensHelper.getType(type) === 'error';
|
|
91
|
+
},
|
|
92
|
+
/**
|
|
93
|
+
* Checks if the type is related to a constant
|
|
94
|
+
* @param {String|Object} type
|
|
95
|
+
* @returns {Boolean}
|
|
96
|
+
*/
|
|
97
|
+
isConstant: function isConstant(type) {
|
|
98
|
+
return tokensHelper.getType(type) === 'constant';
|
|
99
|
+
},
|
|
100
|
+
/**
|
|
101
|
+
* Checks if the type is related to a variable
|
|
102
|
+
* @param {String|Object} type
|
|
103
|
+
* @returns {Boolean}
|
|
104
|
+
*/
|
|
105
|
+
isVariable: function isVariable(type) {
|
|
106
|
+
type = tokensHelper.getType(type);
|
|
107
|
+
return type === 'variable' || type === 'term';
|
|
108
|
+
},
|
|
109
|
+
/**
|
|
110
|
+
* Checks if the type is related to a function
|
|
111
|
+
* @param {String|Object} type
|
|
112
|
+
* @returns {Boolean}
|
|
113
|
+
*/
|
|
114
|
+
isFunction: function isFunction(type) {
|
|
115
|
+
return tokensHelper.getType(type) === 'function';
|
|
116
|
+
},
|
|
117
|
+
/**
|
|
118
|
+
* Checks if the type is related to an identifier
|
|
119
|
+
* @param {String|Object} type
|
|
120
|
+
* @returns {Boolean}
|
|
121
|
+
*/
|
|
122
|
+
isIdentifier: function isIdentifier(type) {
|
|
123
|
+
type = tokensHelper.getType(type);
|
|
124
|
+
return type === 'constant' || type === 'variable' || type === 'term' || type === 'function' || type === 'error';
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* Checks if the type is related to a separator
|
|
128
|
+
* @param {String|Object} type
|
|
129
|
+
* @returns {Boolean}
|
|
130
|
+
*/
|
|
131
|
+
isSeparator: function isSeparator(type) {
|
|
132
|
+
type = tokensHelper.getType(type);
|
|
133
|
+
return type === 'operator' || type === 'aggregator' || type === 'separator';
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* Checks if the type is related to a modifier
|
|
137
|
+
* @param {String|Object} type
|
|
138
|
+
* @returns {Boolean}
|
|
139
|
+
*/
|
|
140
|
+
isModifier: function isModifier(type) {
|
|
141
|
+
type = tokensHelper.getType(type);
|
|
142
|
+
return type === 'operator' || type === 'function';
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* Ensures an expression is a string. If a token or a descriptor is provided, extract the value.
|
|
146
|
+
* @param {String|Number|Object} expression
|
|
147
|
+
* @returns {String}
|
|
148
|
+
*/
|
|
149
|
+
stringValue: function stringValue(expression) {
|
|
150
|
+
var type = typeof expression;
|
|
151
|
+
if (type !== 'string') {
|
|
152
|
+
if (expression && 'undefined' !== typeof expression.value) {
|
|
153
|
+
expression = expression.value;
|
|
154
|
+
} else if (expression && 'undefined' !== typeof expression.result) {
|
|
155
|
+
expression = expression.result;
|
|
156
|
+
} else if (type === 'object' || type === 'undefined' || expression === null) {
|
|
157
|
+
expression = '';
|
|
158
|
+
}
|
|
159
|
+
expression = String(expression);
|
|
160
|
+
}
|
|
161
|
+
return expression;
|
|
170
162
|
}
|
|
163
|
+
};
|
|
171
164
|
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
return tokensHelper;
|
|
165
|
+
return tokensHelper;
|
|
177
166
|
|
|
178
167
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* Style for the calculator component */
|
|
2
|
-
/*
|
|
3
|
-
Usage:
|
|
4
|
-
- linear-gradient((color1, color2, color3)) - returns linear-gradient with evenly distributed colors,
|
|
5
|
-
if 3 colors used then the position of each will be 33,33%
|
|
6
|
-
- linear-gradient((color1 0%, color2 30%, color3 80%)) - returns linear-gradient with manually distributed colors,
|
|
7
|
-
first param - color, second - position. Also you can use px or other valid units for set position.
|
|
2
|
+
/*
|
|
3
|
+
Usage:
|
|
4
|
+
- linear-gradient((color1, color2, color3)) - returns linear-gradient with evenly distributed colors,
|
|
5
|
+
if 3 colors used then the position of each will be 33,33%
|
|
6
|
+
- linear-gradient((color1 0%, color2 30%, color3 80%)) - returns linear-gradient with manually distributed colors,
|
|
7
|
+
first param - color, second - position. Also you can use px or other valid units for set position.
|
|
8
8
|
*/
|
|
9
9
|
/* based on "visually-hidden" mixin in LDS for accessibility goals */
|
|
10
10
|
/* Do not edit */
|
|
@@ -365,5 +365,5 @@ Usage:
|
|
|
365
365
|
.calculator.error .screen .expression {
|
|
366
366
|
background: #f1d0d5;
|
|
367
367
|
}
|
|
368
|
-
|
|
368
|
+
|
|
369
369
|
/*# sourceMappingURL=calculator.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../scss/calculator.scss","../../../../scss/inc/_functions.scss","../../../../scss/inc/fonts/_tao-icon-vars.scss","../../../../scss/inc/_colors.scss"],"names":[],"mappings":"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","file":"calculator.css","sourcesContent":["/* Style for the calculator component */\r\n@import 'inc/bootstrap';\r\n\r\n/* font size mixin specific to calculator to use em instead of rem unit */\r\n@function calc-em-size($em) {\r\n @return ($em) * 1em;\r\n}\r\n@mixin calc-font-size($em) {\r\n font-size: calc-em-size($em) !important;\r\n}\r\n\r\n.calculator {\r\n $calculatorPanelBg: $uiClickableDefaultBg;\r\n $calculatorPanelTxt: $textColor;\r\n $calculatorKeyboardBg: $uiClickableDefaultBg;\r\n $calculatorKeyboardHoverBg: $uiClickableActiveBg;\r\n $calculatorKeyboardSpecialBg: $uiClickableHoverBg;\r\n $calculatorKeyboardSpecialTxt: $textHighlight;\r\n $calculatorKeyboardCommandTxt: $info;\r\n $calculatorKeyboardSwitchBg: $uiClickableDefaultBg;\r\n $calculatorKeyboardSwitchTxt: $textColor;\r\n $calculatorKeyboardSwitchSelectedBg: $uiClickableHoverBg;\r\n $calculatorKeyboardSwitchSelectedTxt: $textHighlight;\r\n $calculatorKeyboardSwitchBorder: whiten($textColor, 0.5);\r\n $calculatorKeyboardTxt: $textColor;\r\n $calculatorScreenBg: $uiGeneralContentBg;\r\n $calculatorScreenTxt: $textColor;\r\n $calculatorScreenBorder: $info;\r\n $calculatorScreenSpecialTxt: $uiClickableHoverBg;\r\n $calculatorScreenSpecialBg: whiten($uiClickableHoverBg, 0.9);\r\n $calculatorHistoryBorder: $uiGeneralContentBorder;\r\n $calculatorHistoryTxt: whiten($textColor, 0.2);\r\n\r\n $calculatorFontSizeBtnPrimary: 1.7;\r\n $calculatorFontSizeBtnSecondary: 1.3;\r\n $calculatorFontSizeBtnSwitch: 1;\r\n $calculatorFontSizeBtnSvg: 1;\r\n $calculatorFontSizeExpression: 1.3;\r\n $calculatorFontSizeHistory: 1;\r\n $calculatorLineHeightExpression: calc-em-size($calculatorFontSizeExpression + 0.3);\r\n $calculatorLineHeightHistory: calc-em-size($calculatorFontSizeHistory + 0.3);\r\n $calculatorTermSpace: calc-em-size(0.2);\r\n $calculatorButtonSize: calc-em-size(3.2);\r\n $calculatorSwitchSize: calc-em-size(3.2);\r\n $calculatorButtonPadding: 2px;\r\n $calculatorSwitchPadding: 4px;\r\n $calculatorScreenPadding: 8px;\r\n $calculatorBaseFontSize: 12px;\r\n\r\n position: relative;\r\n font-family: monospace, sans-serif;\r\n font-size: $calculatorBaseFontSize;\r\n width: 100%;\r\n height: 100%;\r\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex-direction, column, property, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\r\n\r\n sup,\r\n sub {\r\n font-size: 0.75em;\r\n }\r\n sup {\r\n top: -0.5em;\r\n }\r\n sub {\r\n bottom: -0.5em;\r\n }\r\n\r\n .screen,\r\n .input {\r\n position: relative;\r\n @include vendor-prefix(flex, 0 0 auto, property, (-ms-, -webkit-, ''));\r\n }\r\n\r\n .focus {\r\n outline: 2px solid $calculatorScreenBorder;\r\n }\r\n\r\n .keyboard {\r\n padding: 0 20px 20px;\r\n position: relative;\r\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex, 1 1, property, (-ms-, -webkit-, ''));\r\n }\r\n\r\n .calculator-keyboard {\r\n position: relative;\r\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex-direction, column, property, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\r\n background: $calculatorKeyboardBg;\r\n color: $calculatorKeyboardTxt;\r\n width: 100%;\r\n height: auto;\r\n padding-top: $calculatorScreenPadding;\r\n\r\n .row {\r\n position: relative;\r\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex-direction, row, property, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .spacer {\r\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\r\n width: $calculatorButtonSize;\r\n height: 100%;\r\n }\r\n\r\n span {\r\n position: relative;\r\n display: inline-block;\r\n z-index: 1;\r\n @include calc-font-size($calculatorFontSizeBtnSecondary);\r\n }\r\n\r\n button {\r\n position: relative;\r\n background-color: $calculatorKeyboardBg;\r\n color: $calculatorKeyboardTxt !important;\r\n display: inline-block;\r\n border-radius: 0;\r\n border: none;\r\n padding: 0;\r\n text-align: center;\r\n text-shadow: none;\r\n cursor: pointer;\r\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\r\n width: $calculatorButtonSize;\r\n height: 100%;\r\n\r\n @include calc-font-size(1);\r\n\r\n &:not(.switch) {\r\n &:before {\r\n content: ' ';\r\n border-radius: 50%;\r\n display: inline-block;\r\n position: absolute;\r\n z-index: 0;\r\n top: calc(50% - #{$calculatorButtonSize / 2} + #{$calculatorButtonPadding});\r\n left: calc(50% - #{$calculatorButtonSize / 2} + #{$calculatorButtonPadding});\r\n width: calc(#{$calculatorButtonSize} - #{$calculatorButtonPadding * 2});\r\n height: calc(#{$calculatorButtonSize} - #{$calculatorButtonPadding * 2});\r\n }\r\n }\r\n &:hover {\r\n &:before {\r\n background: $calculatorKeyboardHoverBg;\r\n }\r\n }\r\n\r\n &.disabled {\r\n visibility: hidden;\r\n }\r\n &.switch {\r\n span {\r\n color: $calculatorKeyboardSwitchTxt !important;\r\n border-color: $calculatorKeyboardSwitchBorder !important;\r\n border-top: 1px solid;\r\n border-bottom: 1px solid;\r\n height: auto;\r\n width: 100%;\r\n padding: $calculatorSwitchPadding 0.5em;\r\n @include calc-font-size($calculatorFontSizeBtnSwitch);\r\n }\r\n\r\n &.first {\r\n span {\r\n border-left: 1px solid;\r\n border-top-left-radius: 2px;\r\n border-bottom-left-radius: 2px;\r\n }\r\n }\r\n &.last {\r\n span {\r\n border-right: 1px solid;\r\n border-top-right-radius: 2px;\r\n border-bottom-right-radius: 2px;\r\n }\r\n }\r\n\r\n &:before {\r\n content: ' ';\r\n border-radius: 2px;\r\n display: inline-block;\r\n position: absolute;\r\n z-index: 0;\r\n top: calc(50% - #{$calculatorFontSizeBtnSwitch / 2}em - #{$calculatorSwitchPadding});\r\n bottom: calc(50% - #{$calculatorFontSizeBtnSwitch / 2}em - #{$calculatorSwitchPadding});\r\n left: 3px;\r\n right: 3px;\r\n }\r\n }\r\n &.operand {\r\n span {\r\n font-weight: bold;\r\n @include calc-font-size($calculatorFontSizeBtnPrimary);\r\n }\r\n }\r\n &.command {\r\n span {\r\n color: $calculatorKeyboardCommandTxt !important;\r\n }\r\n }\r\n &.execute {\r\n &:before {\r\n background: $calculatorKeyboardSpecialBg;\r\n }\r\n\r\n span {\r\n font-weight: bold;\r\n color: $calculatorKeyboardSpecialTxt !important;\r\n @include calc-font-size($calculatorFontSizeBtnPrimary);\r\n }\r\n }\r\n\r\n svg {\r\n display: inline-block;\r\n width: calc-em-size($calculatorFontSizeBtnSvg);\r\n height: calc-em-size($calculatorFontSizeBtnSvg);\r\n stroke-width: 0;\r\n stroke: currentColor;\r\n fill: currentColor;\r\n\r\n &.backspace-outline {\r\n width: calc-em-size($calculatorFontSizeBtnSvg * 1.2);\r\n height: calc-em-size($calculatorFontSizeBtnSvg * 1.2);\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.degree {\r\n .calculator-keyboard {\r\n button.switch[data-command='degree'] {\r\n &:before {\r\n background: $calculatorKeyboardSwitchSelectedBg;\r\n }\r\n span {\r\n color: $calculatorKeyboardSwitchSelectedTxt !important;\r\n }\r\n }\r\n }\r\n }\r\n &.radian {\r\n .calculator-keyboard {\r\n button.switch[data-command='radian'] {\r\n &:before {\r\n background: $calculatorKeyboardSwitchSelectedBg;\r\n }\r\n span {\r\n color: $calculatorKeyboardSwitchSelectedTxt !important;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .simple-screen {\r\n position: relative;\r\n width: 100%;\r\n @include calc-font-size($calculatorFontSizeExpression);\r\n color: $calculatorScreenTxt;\r\n font-family: monospace;\r\n\r\n .screen-panel {\r\n position: relative;\r\n width: 100%;\r\n overflow: auto;\r\n word-break: break-all;\r\n text-align: left;\r\n padding: $calculatorScreenPadding 8px;\r\n }\r\n\r\n .history {\r\n @include calc-font-size($calculatorFontSizeHistory);\r\n border: 1px solid $calculatorHistoryBorder;\r\n color: $calculatorHistoryTxt;\r\n height: calc(#{$calculatorScreenPadding * 2} + #{$calculatorLineHeightHistory * 3});\r\n line-height: $calculatorLineHeightHistory;\r\n\r\n .history-line {\r\n .history-expression {\r\n &,\r\n .term {\r\n font-weight: lighter;\r\n }\r\n text-align: left;\r\n }\r\n .history-result {\r\n &:before {\r\n content: '=';\r\n display: inline-block;\r\n font-weight: lighter;\r\n padding-right: $calculatorTermSpace;\r\n }\r\n text-align: right;\r\n font-weight: bolder;\r\n }\r\n }\r\n }\r\n .expression {\r\n @include calc-font-size($calculatorFontSizeExpression);\r\n background: $calculatorScreenBg;\r\n color: $calculatorScreenTxt;\r\n height: calc(#{$calculatorScreenPadding * 2} + #{$calculatorLineHeightExpression * 2});\r\n line-height: $calculatorLineHeightExpression;\r\n }\r\n .term {\r\n padding: 0;\r\n\r\n &.term-operator:not([data-token='POW']):not([data-token='FAC']):not([data-token='NEG']) {\r\n padding: 0 $calculatorTermSpace;\r\n }\r\n &.term-operator[data-token='FAC'],\r\n &.term-operator[data-token='NEG'] {\r\n margin-left: -$calculatorTermSpace / 2;\r\n margin-right: -$calculatorTermSpace / 2;\r\n }\r\n &.term-operator[data-token='POS'] {\r\n display: none;\r\n }\r\n &.term-function:not([data-token='SQRT']):not([data-token='CBRT']) {\r\n padding-right: $calculatorTermSpace;\r\n }\r\n &.term-operand {\r\n font-weight: bold;\r\n }\r\n &.term-modificator {\r\n font-weight: lighter;\r\n }\r\n &.term-constant {\r\n font-style: italic;\r\n font-weight: bold;\r\n }\r\n &.term-variable {\r\n font-weight: bold;\r\n color: $calculatorScreenSpecialTxt;\r\n }\r\n &.term-variable[data-token='ANS'] {\r\n background: $calculatorScreenSpecialBg;\r\n padding: 0;\r\n margin: 0 #{$calculatorTermSpace * 2};\r\n position: relative;\r\n &::before,\r\n &::after {\r\n background: $calculatorScreenSpecialBg;\r\n content: '';\r\n border-radius: 50%;\r\n border: 2px none;\r\n position: absolute;\r\n z-index: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: #{$calculatorTermSpace * 2};\r\n }\r\n &::before {\r\n border-left-style: solid;\r\n border-left-color: $calculatorScreenSpecialTxt;\r\n left: #{-$calculatorTermSpace};\r\n }\r\n &::after {\r\n border-right-style: solid;\r\n border-right-color: $calculatorScreenSpecialTxt;\r\n right: #{-$calculatorTermSpace};\r\n }\r\n * {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n &.term-unknown {\r\n color: $warning;\r\n text-decoration: underline wavy $error;\r\n }\r\n &.term-elide {\r\n display: none;\r\n }\r\n &.term-error {\r\n color: $error;\r\n }\r\n &.term-syntaxError {\r\n color: $error;\r\n text-decoration: underline wavy $error;\r\n }\r\n }\r\n }\r\n\r\n &.error .screen .expression {\r\n background: $errorBgColor;\r\n }\r\n}\r\n\r\n/*# sourceMappingURL=calculator.css.map */","@mixin iterate-sprite($iconList, $x, $y, $direction, $prefix:'') {\r\n @each $icon in $iconList {\r\n #{$prefix}#{$icon} {\r\n background-position: $x * 1px $y * 1px;\r\n }\r\n @if $direction == 'x' {\r\n $x: $x - 16;\r\n } @else {\r\n $y: $y - 16;\r\n }\r\n }\r\n}\r\n\r\n/*\r\nUsage:\r\n- linear-gradient((color1, color2, color3)) - returns linear-gradient with evenly distributed colors,\r\n if 3 colors used then the position of each will be 33,33%\r\n- linear-gradient((color1 0%, color2 30%, color3 80%)) - returns linear-gradient with manually distributed colors,\r\n first param - color, second - position. Also you can use px or other valid units for set position.\r\n*/\r\n@mixin linear-gradient($colorList, $direction: 'to right') {\r\n $percentage: 0;\r\n $units: '%';\r\n $count: length($colorList);\r\n $increment: 100 / ($count - 1);\r\n $css: #{$direction + ', '};\r\n $sep: ', ';\r\n @each $colorItem in $colorList {\r\n $color: $colorItem;\r\n @if (length($colorItem) > 1) {\r\n $color: nth($colorItem, 1);\r\n $percentage: nth($colorItem, 2);\r\n $units: '';\r\n }\r\n @if ($percentage >= 100 or index($colorList, $colorItem) == $count) {\r\n $sep: '';\r\n }\r\n $css: #{$css + $color + ' ' + $percentage + $units + $sep};\r\n $percentage: $percentage + $increment;\r\n }\r\n background: linear-gradient( #{$css} );\r\n}\r\n\r\n@mixin grid-unit($span, $numCols: 12, $gutter: 0) {\r\n $gridPx: 840;\r\n $rawSpanPx: (($gridPx - ($numCols * $gutter)) / $numCols);\r\n $spanPx: $rawSpanPx * $span + (($span - 1) * $gutter);\r\n $spanPercent: widthPerc($spanPx, $gridPx);\r\n $marginPercent: widthPerc($gutter, $gridPx);\r\n margin-left: $marginPercent;\r\n width: $spanPercent;\r\n}\r\n\r\n\r\n@mixin vendor-prefix($property, $value, $whatToPrefix: property, $prefixes: (-webkit-, -moz-, -ms-, -o-, '')) {\r\n @if $whatToPrefix == 'property' {\r\n @each $prefix in $prefixes {\r\n #{$prefix + $property}: #{$value};\r\n }\r\n }\r\n @else if $whatToPrefix == 'value' {\r\n @each $prefix in $prefixes {\r\n #{$property}: #{$prefix + $value};\r\n }\r\n }\r\n}\r\n@mixin flex-container($wrapBehavior: nowrap, $direction : row) {\r\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\r\n\r\n @include vendor-prefix(flex-direction, $direction, property, (-ms-, -webkit-, ''));\r\n @include vendor-prefix(flex-wrap, $wrapBehavior, property, (-ms-, -webkit-, ''));\r\n\r\n @include vendor-prefix(justify-content, flex-start, property, (-webkit-, ''));\r\n\r\n @include vendor-prefix(align-content, flex-start, property, (-webkit-, ''));\r\n\r\n @include vendor-prefix(align-items, stretch, property, (-webkit-, ''));\r\n}\r\n\r\n@mixin simple-flex-box($width: auto, $minWidth: 1) {\r\n\r\n @include vendor-prefix(order, 0, property, (-ms-, -webkit-, ''));\r\n flex-item-align: stretch;\r\n -ms-flex-item-align: stretch;\r\n @include vendor-prefix(align-self, stretch, property, (-webkit-, ''));\r\n\r\n // if both, min width and width are set, width will win this conflict\r\n @if ($width == auto) {\r\n @if ($minWidth != 1) {\r\n @include vendor-prefix(flex, 1 1 $minWidth, property, (-ms-, -webkit-, ''));\r\n }\r\n @else {\r\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\r\n // @see https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis#Values\r\n // for a discussion auto vs. main-size\r\n @include vendor-prefix(flex, 1 1, property, (-ms-, -webkit-, ''));\r\n }\r\n }\r\n @else {\r\n @include vendor-prefix(flex, 0 0 $width, property, (-ms-, -webkit-, ''));\r\n }\r\n}\r\n\r\n\r\n@mixin box-shadow($horiz: 1px, $vert: 1px, $blur: 2px, $spread: 0, $color: rgba(0, 0, 0, .2)) {\r\n @include vendor-prefix(box-shadow, $horiz $vert $blur $spread $color, property);\r\n}\r\n\r\n@mixin simple-border($color: #ddd) {\r\n border: 1px solid $color;\r\n border-radius: 2px;\r\n -webkit-border-radius: 2px;\r\n}\r\n\r\n@mixin border-radius($radius: 2) {\r\n -moz-border-radius: $radius * 1px;\r\n -webkit-border-radius: $radius * 1px;\r\n border-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-top($radius: 2) {\r\n -webkit-border-top-left-radius: $radius * 1px;\r\n -webkit-border-top-right-radius: $radius * 1px;\r\n -moz-border-radius-topleft: $radius * 1px;\r\n -moz-border-radius-topright: $radius * 1px;\r\n border-top-left-radius: $radius * 1px;\r\n border-top-right-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-bottom($radius: 2) {\r\n -webkit-border-bottom-right-radius: $radius * 1px;\r\n -webkit-border-bottom-left-radius: $radius * 1px;\r\n -moz-border-radius-bottomright: $radius * 1px;\r\n -moz-border-radius-bottomleft: $radius * 1px;\r\n border-bottom-right-radius: $radius * 1px;\r\n border-bottom-left-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-left($radius: 2) {\r\n -webkit-border-top-left-radius: $radius * 1px;\r\n -webkit-border-bottom-left-radius: $radius * 1px;\r\n -moz-border-radius-topleft: $radius * 1px;\r\n -moz-border-radius-bottomleft: $radius * 1px;\r\n border-top-left-radius: $radius * 1px;\r\n border-bottom-left-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-right($radius: 2) {\r\n -webkit-border-top-right-radius: $radius * 1px;\r\n -webkit-border-bottom-right-radius: $radius * 1px;\r\n -moz-border-radius-topright: $radius * 1px;\r\n -moz-border-radius-bottomright: $radius * 1px;\r\n border-top-right-radius: $radius * 1px;\r\n border-bottom-right-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-top-left($radius: 2) {\r\n -webkit-border-top-left-radius: $radius * 1px;\r\n -moz-border-radius-topleft: $radius * 1px;\r\n border-top-left-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-top-right($radius: 2) {\r\n -webkit-border-top-right-radius: $radius * 1px;\r\n -moz-border-radius-topright: $radius * 1px;\r\n border-top-right-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-bottom-right($radius: 2) {\r\n -webkit-border-bottom-right-radius: $radius * 1px;\r\n -moz-border-radius-bottomright: $radius * 1px;\r\n border-bottom-right-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-radius-bottom-left($radius: 2) {\r\n -webkit-border-bottom-left-radius: $radius * 1px;\r\n -moz-border-radius-bottomleft: $radius * 1px;\r\n border-bottom-left-radius: $radius * 1px;\r\n}\r\n\r\n@mixin border-box() {\r\n -moz-box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n box-sizing: border-box;\r\n}\r\n\r\n@function whiten($color, $white: 0.3) {\r\n @return mix(#fff, $color, ($white * 100) * 1%);\r\n}\r\n\r\n@function blacken($color, $black: 0.3) {\r\n @return mix(#000, $color, ($black * 100) * 1%);\r\n}\r\n\r\n@function widthPerc($colWidth, $context) {\r\n @return ($colWidth * 100 / $context) * 1%\r\n}\r\n\r\n@function remDist($fontSizePx) {\r\n @return ($fontSizePx / 10) * 1rem\r\n}\r\n\r\n@function black($alpha: 1) {\r\n @return (rgba(0, 0, 0, $alpha))\r\n}\r\n\r\n@function white($alpha: 1) {\r\n @return (rgba(255, 255, 255, $alpha))\r\n}\r\n\r\n@mixin font-size($remPx, $important: false) {\r\n @if $important == true {\r\n font-size: ($remPx) * 1px !important;\r\n font-size: ($remPx / 10) * 1rem !important;\r\n }\r\n @else {\r\n font-size: ($remPx) * 1px;\r\n font-size: ($remPx / 10) * 1rem;\r\n }\r\n}\r\n\r\n\r\n@mixin keyframes($name) {\r\n @-o-keyframes #{$name} { @content };\r\n @-moz-keyframes #{$name} { @content };\r\n @-webkit-keyframes #{$name} { @content };\r\n @keyframes #{$name} { @content };\r\n}\r\n\r\n\r\n@mixin animation($value, $type:'') {\r\n $animation: animation;\r\n @if $type != '' {\r\n $animation: $animation + '-' + $type;\r\n }\r\n @include vendor-prefix($animation, $value, property);\r\n}\r\n\r\n/// CSS transition mixin to the current selection (apply also vendor prefixes).\r\n/// See <https://developer.mozilla.org/en-US/docs/Web/CSS/transition> for the values\r\n///\r\n/// @param {property} [$type = all] the CSS property to apply the transition to\r\n/// @param {time} [$duration = .5s] the transition property\r\n/// @param {timing-function} [$effect = ease-out] the transition property\r\n@mixin transition($type : all, $duration : 0.5s, $effect : ease-out, $delay : 0s){\r\n @include vendor-prefix(transition, $type + ', ' + $duration + ', ' + $effect + ', ' + $delay, property);\r\n}\r\n\r\n@mixin fade($duration: 1s){\r\n\r\n @include keyframes(fade) {\r\n 0% {opacity:0;}\r\n 50% {opacity:1;}\r\n 100% {opacity:0;}\r\n }\r\n\r\n @include vendor-prefix(animation, fade 1s forwards, property);\r\n}\r\n\r\n@mixin repeat(){\r\n @include animation(infinite, iteration-count);\r\n}\r\n\r\n@mixin largeHeading() {\r\n @include font-size(20);\r\n font-family: $headingFont;\r\n font-style: normal;\r\n}\r\n\r\n@mixin disableSelect() {\r\n @include vendor-prefix(user-select, none, property);\r\n}\r\n\r\n/* based on \"visually-hidden\" mixin in LDS for accessibility goals */\r\n@mixin visuallyHidden() {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n overflow: hidden;\r\n clip: rect(1px, 1px, 1px, 1px);\r\n margin: 0;\r\n padding: 0;\r\n}\r\n","/* Do not edit */@mixin tao-icon-setup {\r\n /* use !important to prevent issues with browser extensions that change fonts */\r\n font-family: 'tao' !important;\r\n speak: never;\r\n font-style: normal;\r\n font-weight: normal;\r\n font-variant: normal;\r\n text-transform: none;\r\n line-height: 1;\r\n\r\n /* Better Font Rendering =========== */\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n@mixin icon-info-bare { content: \"\\e923\"; }\r\n@mixin icon-bookmark-outline { content: \"\\e922\"; }\r\n@mixin icon-bookmark { content: \"\\e921\"; }\r\n@mixin icon-indicator { content: \"\\e920\"; }\r\n@mixin icon-add-subsection { content: \"\\e918\"; }\r\n@mixin icon-wrap-inline { content: \"\\e915\"; }\r\n@mixin icon-wrap-left { content: \"\\e916\"; }\r\n@mixin icon-wrap-right { content: \"\\e917\"; }\r\n@mixin icon-offline { content: \"\\e913\"; }\r\n@mixin icon-online { content: \"\\e914\"; }\r\n@mixin icon-tab { content: \"\\e90d\"; }\r\n@mixin icon-untab { content: \"\\e90e\"; }\r\n@mixin icon-multi-select { content: \"\\e90b\"; }\r\n@mixin icon-clipboard { content: \"\\e90a\"; }\r\n@mixin icon-filebox { content: \"\\e909\"; }\r\n@mixin icon-click-to-speak { content: \"\\e907\"; }\r\n@mixin icon-speech-bubble { content: \"\\f0e5\"; }\r\n@mixin icon-microphone { content: \"\\f130\"; }\r\n@mixin icon-microphone-off { content: \"\\f131\"; }\r\n@mixin icon-disconnect { content: \"\\e905\"; }\r\n@mixin icon-connect { content: \"\\e906\"; }\r\n@mixin icon-eliminate { content: \"\\e904\"; }\r\n@mixin icon-wheelchair { content: \"\\e903\"; }\r\n@mixin icon-text-marker { content: \"\\e902\"; }\r\n@mixin icon-unshield { content: \"\\e32a\"; }\r\n@mixin icon-shield { content: \"\\e8e8\"; }\r\n@mixin icon-tree { content: \"\\e6b4\"; }\r\n@mixin icon-home { content: \"\\e6b3\"; }\r\n@mixin icon-shared-file { content: \"\\e6b2\"; }\r\n@mixin icon-end-attempt { content: \"\\e603\"; }\r\n@mixin icon-icon { content: \"\\f1c5\"; }\r\n@mixin icon-radio-bg { content: \"\\e600\"; }\r\n@mixin icon-checkbox-bg { content: \"\\e601\"; }\r\n@mixin icon-tag { content: \"\\e602\"; }\r\n@mixin icon-style { content: \"\\e604\"; }\r\n@mixin icon-ownership-transfer { content: \"\\e605\"; }\r\n@mixin icon-property-advanced { content: \"\\e606\"; }\r\n@mixin icon-property-add { content: \"\\e607\"; }\r\n@mixin icon-repository-add { content: \"\\e608\"; }\r\n@mixin icon-repository-remove { content: \"\\e609\"; }\r\n@mixin icon-repository { content: \"\\e60a\"; }\r\n@mixin icon-result-server { content: \"\\e60b\"; }\r\n@mixin icon-folder { content: \"\\e60c\"; }\r\n@mixin icon-folder-open { content: \"\\e60d\"; }\r\n@mixin icon-left { content: \"\\e60e\"; }\r\n@mixin icon-right { content: \"\\e60f\"; }\r\n@mixin icon-up { content: \"\\e610\"; }\r\n@mixin icon-down { content: \"\\e611\"; }\r\n@mixin icon-undo { content: \"\\e612\"; }\r\n@mixin icon-redo { content: \"\\e613\"; }\r\n@mixin icon-screen { content: \"\\e614\"; }\r\n@mixin icon-laptop { content: \"\\e615\"; }\r\n@mixin icon-tablet { content: \"\\e616\"; }\r\n@mixin icon-phone { content: \"\\e617\"; }\r\n@mixin icon-move { content: \"\\e618\"; }\r\n@mixin icon-bin { content: \"\\e619\"; }\r\n@mixin icon-shuffle { content: \"\\e61a\"; }\r\n@mixin icon-print { content: \"\\e61b\"; }\r\n@mixin icon-tools { content: \"\\e61c\"; }\r\n@mixin icon-settings { content: \"\\e61d\"; }\r\n@mixin icon-video { content: \"\\e61e\"; }\r\n@mixin icon-find { content: \"\\e61f\"; }\r\n@mixin icon-image { content: \"\\e620\"; }\r\n@mixin icon-edit { content: \"\\e621\"; }\r\n@mixin icon-document { content: \"\\e622\"; }\r\n@mixin icon-resize-grid { content: \"\\e623\"; }\r\n@mixin icon-resize { content: \"\\e624\"; }\r\n@mixin icon-help { content: \"\\e625\"; }\r\n@mixin icon-mobile-menu { content: \"\\e626\"; }\r\n@mixin icon-fix { content: \"\\e627\"; }\r\n@mixin icon-unlock { content: \"\\e628\"; }\r\n@mixin icon-lock { content: \"\\e629\"; }\r\n@mixin icon-ul { content: \"\\e62a\"; }\r\n@mixin icon-ol { content: \"\\e62b\"; }\r\n@mixin icon-email { content: \"\\e62c\"; }\r\n@mixin icon-download { content: \"\\e62d\"; }\r\n@mixin icon-logout { content: \"\\e62e\"; }\r\n@mixin icon-login { content: \"\\e62f\"; }\r\n@mixin icon-spinner { content: \"\\e630\"; }\r\n@mixin icon-preview { content: \"\\e631\"; }\r\n@mixin icon-external { content: \"\\e632\"; }\r\n@mixin icon-time { content: \"\\e633\"; }\r\n@mixin icon-save { content: \"\\e634\"; }\r\n@mixin icon-warning { content: \"\\e635\"; }\r\n@mixin icon-add { content: \"\\e636\"; }\r\n@mixin icon-error { content: \"\\e900\"; }\r\n@mixin icon-close { content: \"\\e637\"; }\r\n@mixin icon-success { content: \"\\e638\"; }\r\n@mixin icon-remove { content: \"\\e639\"; }\r\n@mixin icon-info { content: \"\\e63a\"; }\r\n@mixin icon-danger { content: \"\\e63b\"; }\r\n@mixin icon-users { content: \"\\e63c\"; }\r\n@mixin icon-user { content: \"\\e63d\"; }\r\n@mixin icon-test-taker { content: \"\\e63e\"; }\r\n@mixin icon-test-takers { content: \"\\e63f\"; }\r\n@mixin icon-item { content: \"\\e640\"; }\r\n@mixin icon-test { content: \"\\e641\"; }\r\n@mixin icon-delivery { content: \"\\e642\"; }\r\n@mixin icon-eye-slash { content: \"\\e643\"; }\r\n@mixin icon-result { content: \"\\e644\"; }\r\n@mixin icon-delivery-small { content: \"\\e645\"; }\r\n@mixin icon-upload { content: \"\\e646\"; }\r\n@mixin icon-result-small { content: \"\\e647\"; }\r\n@mixin icon-mobile-preview { content: \"\\e648\"; }\r\n@mixin icon-extension { content: \"\\e649\"; }\r\n@mixin icon-desktop-preview { content: \"\\e64a\"; }\r\n@mixin icon-tablet-preview { content: \"\\e64b\"; }\r\n@mixin icon-insert-horizontal-line { content: \"\\e64c\"; }\r\n@mixin icon-table { content: \"\\e64d\"; }\r\n@mixin icon-anchor { content: \"\\e64e\"; }\r\n@mixin icon-unlink { content: \"\\e64f\"; }\r\n@mixin icon-link { content: \"\\e650\"; }\r\n@mixin icon-right-left { content: \"\\e651\"; }\r\n@mixin icon-left-right { content: \"\\e652\"; }\r\n@mixin icon-special-character { content: \"\\e653\"; }\r\n@mixin icon-source { content: \"\\e654\"; }\r\n@mixin icon-new-page { content: \"\\e655\"; }\r\n@mixin icon-templates { content: \"\\e656\"; }\r\n@mixin icon-cut { content: \"\\e657\"; }\r\n@mixin icon-replace { content: \"\\e658\"; }\r\n@mixin icon-copy { content: \"\\e659\"; }\r\n@mixin icon-paste { content: \"\\e65a\"; }\r\n@mixin icon-select-all { content: \"\\e65b\"; }\r\n@mixin icon-paste-text { content: \"\\e65c\"; }\r\n@mixin icon-paste-word { content: \"\\e65d\"; }\r\n@mixin icon-bold { content: \"\\e65e\"; }\r\n@mixin icon-italic { content: \"\\e65f\"; }\r\n@mixin icon-underline { content: \"\\e660\"; }\r\n@mixin icon-subscript { content: \"\\e661\"; }\r\n@mixin icon-superscript { content: \"\\e662\"; }\r\n@mixin icon-strike-through { content: \"\\e663\"; }\r\n@mixin icon-decrease-indent { content: \"\\e664\"; }\r\n@mixin icon-increase-indent { content: \"\\e665\"; }\r\n@mixin icon-block-quote { content: \"\\e666\"; }\r\n@mixin icon-div-container { content: \"\\e667\"; }\r\n@mixin icon-align-left { content: \"\\e668\"; }\r\n@mixin icon-center { content: \"\\e669\"; }\r\n@mixin icon-align-right { content: \"\\e66a\"; }\r\n@mixin icon-justify { content: \"\\e66b\"; }\r\n@mixin icon-choice { content: \"\\e66c\"; }\r\n@mixin icon-inline-choice { content: \"\\e66d\"; }\r\n@mixin icon-match { content: \"\\e66e\"; }\r\n@mixin icon-associate { content: \"\\e66f\"; }\r\n@mixin icon-media { content: \"\\e670\"; }\r\n@mixin icon-graphic-order { content: \"\\e671\"; }\r\n@mixin icon-hotspot { content: \"\\e672\"; }\r\n@mixin icon-graphic-gap { content: \"\\e673\"; }\r\n@mixin icon-graphic-associate { content: \"\\e674\"; }\r\n@mixin icon-select-point { content: \"\\e675\"; }\r\n@mixin icon-pin { content: \"\\e676\"; }\r\n@mixin icon-import { content: \"\\e677\"; }\r\n@mixin icon-export { content: \"\\e678\"; }\r\n@mixin icon-move-item { content: \"\\e679\"; }\r\n@mixin icon-meta-data { content: \"\\e67a\"; }\r\n@mixin icon-slider { content: \"\\e67b\"; }\r\n@mixin icon-summary-report { content: \"\\e67c\"; }\r\n@mixin icon-text-entry { content: \"\\e67d\"; }\r\n@mixin icon-extended-text { content: \"\\e67e\"; }\r\n@mixin icon-eraser { content: \"\\e67f\"; }\r\n@mixin icon-row { content: \"\\e680\"; }\r\n@mixin icon-column { content: \"\\e681\"; }\r\n@mixin icon-text-color { content: \"\\e682\"; }\r\n@mixin icon-background-color { content: \"\\e683\"; }\r\n@mixin icon-spell-check { content: \"\\e684\"; }\r\n@mixin icon-polygon { content: \"\\e685\"; }\r\n@mixin icon-rectangle { content: \"\\e686\"; }\r\n@mixin icon-gap-match { content: \"\\e687\"; }\r\n@mixin icon-order { content: \"\\e688\"; }\r\n@mixin icon-hottext { content: \"\\e689\"; }\r\n@mixin icon-free-form { content: \"\\e68a\"; }\r\n@mixin icon-step-backward { content: \"\\e68b\"; }\r\n@mixin icon-fast-backward { content: \"\\e68c\"; }\r\n@mixin icon-backward { content: \"\\e68d\"; }\r\n@mixin icon-play { content: \"\\e68e\"; }\r\n@mixin icon-pause { content: \"\\e68f\"; }\r\n@mixin icon-stop { content: \"\\e690\"; }\r\n@mixin icon-forward { content: \"\\e691\"; }\r\n@mixin icon-fast-forward { content: \"\\e692\"; }\r\n@mixin icon-step-forward { content: \"\\e693\"; }\r\n@mixin icon-ellipsis { content: \"\\e694\"; }\r\n@mixin icon-circle { content: \"\\e695\"; }\r\n@mixin icon-target { content: \"\\e696\"; }\r\n@mixin icon-guide-arrow { content: \"\\e697\"; }\r\n@mixin icon-range-slider-right { content: \"\\e698\"; }\r\n@mixin icon-range-slider-left { content: \"\\e699\"; }\r\n@mixin icon-radio-checked { content: \"\\e69a\"; }\r\n@mixin icon-checkbox-indeterminate { content: \"\\e901\"; }\r\n@mixin icon-checkbox { content: \"\\e69b\"; }\r\n@mixin icon-checkbox-crossed { content: \"\\e69c\"; }\r\n@mixin icon-checkbox-checked { content: \"\\e69d\"; }\r\n@mixin icon-result-nok { content: \"\\e69e\"; }\r\n@mixin icon-result-ok { content: \"\\e69f\"; }\r\n@mixin icon-not-evaluated { content: \"\\e6a0\"; }\r\n@mixin icon-filter { content: \"\\e6a1\"; }\r\n@mixin icon-translate { content: \"\\e6a2\"; }\r\n@mixin icon-eject { content: \"\\e6a3\"; }\r\n@mixin icon-continue { content: \"\\e6a4\"; }\r\n@mixin icon-radio { content: \"\\e6a5\"; }\r\n@mixin icon-sphere { content: \"\\e6a6\"; }\r\n@mixin icon-reset { content: \"\\e6a7\"; }\r\n@mixin icon-smaller { content: \"\\e6a8\"; }\r\n@mixin icon-larger { content: \"\\e6a9\"; }\r\n@mixin icon-clock { content: \"\\e6aa\"; }\r\n@mixin icon-font { content: \"\\e6ab\"; }\r\n@mixin icon-maths { content: \"\\e6ac\"; }\r\n@mixin icon-grip { content: \"\\e6ad\"; }\r\n@mixin icon-rubric { content: \"\\e6ae\"; }\r\n@mixin icon-audio { content: \"\\e6af\"; }\r\n@mixin icon-grip-h { content: \"\\e6b0\"; }\r\n@mixin icon-magicwand { content: \"\\e6b1\"; }\r\n@mixin icon-loop { content: \"\\ea2e\"; }\r\n@mixin icon-calendar { content: \"\\e953\"; }\r\n@mixin icon-reload { content: \"\\e984\"; }\r\n@mixin icon-speed { content: \"\\e9a6\"; }\r\n@mixin icon-volume { content: \"\\ea27\"; }\r\n@mixin icon-contrast { content: \"\\e9d5\"; }\r\n@mixin icon-headphones { content: \"\\e910\"; }\r\n@mixin icon-compress { content: \"\\f066\"; }\r\n@mixin icon-map-o { content: \"\\f278\"; }\r\n@mixin icon-variable { content: \"\\e908\"; }\r\n@mixin icon-tooltip { content: \"\\e90c\"; }\r\n@mixin icon-globe { content: \"\\e9c9\"; }\r\n@mixin icon-highlighter { content: \"\\e90f\"; }\r\n@mixin icon-eliminate-crossed { content: \"\\e911\"; }\r\n@mixin icon-play-from-here { content: \"\\e912\"; }\r\n","// buttons and alerts\r\n$success: rgb(14, 145, 75);\r\n$info: rgb(14, 93, 145);\r\n$warning: rgb(216, 174, 91);\r\n$danger: rgb(201, 96, 67);\r\n$error: rgb(186, 18, 43);\r\n$activeInteraction: rgb(195, 90, 19);\r\n\r\n// corporate identity\r\n$logoRed: rgb(186, 18, 43);\r\n$grey: rgb(173, 161, 148);\r\n$darkBlueGrey: rgb(164, 187, 197);\r\n$mediumBlueGrey: rgb(193, 212, 220);\r\n$lightBlueGrey: rgb(228, 236, 239);\r\n$brownRedGrey: rgb(154, 137, 123);\r\n$darkBrown: rgb(111, 99, 89);\r\n$websiteBorder: rgb(141, 148, 158);\r\n\r\n// ui elements, these should only variations of the above\r\n// naming convention: jQueryUi theme roller -> camelCase\r\n\r\n$textColor: #222;\r\n$textHighlight: white;\r\n\r\n$uiGeneralContentBg: white();\r\n$uiGeneralContentBorder: #ddd;\r\n\r\n$uiHeaderBg: #d4d5d7;\r\n\r\n$uiClickableDefaultBg: #f3f1ef;\r\n$uiClickableHoverBg: whiten($info, 0.2);\r\n//$uiClickableActiveBg: $uiHeaderBg;\r\n$uiClickableActiveBg: whiten($websiteBorder, 0.2);\r\n//$uiClickableActiveBg: #aaa;\r\n\r\n$uiSelectableSelectedBg: whiten($info, 0.2);\r\n$uiSelectableSelectedHoverBg: whiten($info, 0.1);\r\n$uiSelectableHoverBg: whiten($info, 0.9);\r\n\r\n$uiOverlay: $lightBlueGrey;\r\n\r\n// new layout. Implemented now only for review panel\r\n$uiReviewPanelBg: #f2f2f2;\r\n$uiReviewPanelTextDisabled: hsl(0, 0%, 45%);\r\n$uiReviewPanelTextDefault: hsl(0, 0%, 12%);\r\n$uiReviewPanelBgDefault: $uiGeneralContentBg;\r\n$uiReviewPanelPrimaryHighlight: hsl(208, 100%, 32%);\r\n$uiReviewPanelBgInverted: $uiReviewPanelTextDefault;\r\n$uiReviewPanelTextInverted: $uiGeneralContentBg;\r\n\r\n// sidebars etc.\r\n$canvas: mix(#fff, $grey, 85%);\r\n\r\n// colors taken from feedback.scss\r\n$successBgColor: whiten($success, 0.8);\r\n$successBorderColor: whiten($success, 0.1);\r\n\r\n$infoBgColor: whiten($info, 0.8);\r\n$infoBorderColor: whiten($info, 0.1);\r\n\r\n$warningBgColor: whiten($warning, 0.8);\r\n$warningBorderColor: whiten($warning, 0.1);\r\n\r\n$dangerBgColor: whiten($danger, 0.8);\r\n$dangerBorderColor: whiten($danger, 0.1);\r\n\r\n$errorBgColor: whiten($error, 0.8);\r\n$errorBorderColor: whiten($error, 0.1);\r\n\r\n$darkBar: rgb(51, 51, 51);\r\n$darkBarTxt: rgb(230, 230, 230);\r\n$darkBarIcon: rgb(220, 220, 220);\r\n\r\n$actionLinkColor: #276d9b;\r\n$actionLinkHoverColor: #4f83a7;\r\n\r\n$colorWheel-01: #c3ba13;\r\n$colorWheel-02: #84a610;\r\n$colorWheel-03: #2b8e0e;\r\n$colorWheel-04: #0f9787;\r\n$colorWheel-05: #0e5d91;\r\n$colorWheel-06: #0d2689;\r\n$colorWheel-07: #400d83;\r\n$colorWheel-08: #960e7d;\r\n$colorWheel-09: #ba122b;\r\n$colorWheel-10: #c34713;\r\n$colorWheel-11: #c36f13;\r\n$colorWheel-12: #c39413;\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../scss/calculator.scss","../../../../scss/inc/_functions.scss","../../../../scss/inc/fonts/_tao-icon-vars.scss","../../../../scss/inc/_colors.scss"],"names":[],"mappings":"AAAA,uCAAA;ACaA;;;;;;CDNC;AC0QD,oEAAA;ACjRA,gBAAA;AFGA,yEAAA;AAQA;IAsCI,kBAAkB;IAClB,kCAAkC;IAClC,eAJ6B;IAK7B,WAAW;IACX,YAAY;ICSJ,iBAAc;IAAd,aAAc;IALd,sBAAwB;IAAxB,0BAAwB;IAAxB,sBAAwB;AD/BpC;;AAfA;;IAiDQ,iBAAiB;AA7BzB;;AApBA;IAoDQ,WAAW;AA5BnB;;AAxBA;IAuDQ,cAAc;AA3BtB;;AA5BA;;IA4DQ,kBAAkB;ICdd,cAAwB;ADVpC;;AApCA;IAiEQ,0BG1Ee;AHiDvB;;AAxCA;IAqEQ,oBAAoB;IACpB,kBAAkB;ICnBd,iBAAc;IAAd,aAAc;IALd,SAAwB;ADKpC;;AAnDA;IA4EQ,kBAAkB;ICzBd,iBAAc;IAAd,aAAc;IALd,sBAAwB;IAAxB,0BAAwB;IAAxB,sBAAwB;IDkC5B,mBGzDsB;IH0DtB,WGvEQ;IHwER,WAAW;IACX,YAAY;IACZ,gBAjDyB;AAkCjC;;AArEA;IAuFY,kBAAkB;ICpClB,iBAAc;IAAd,aAAc;IALd,mBAAwB;IAAxB,0BAAwB;IAAxB,sBAAwB;IAAxB,cAAwB;ID8CxB,WAAW;IACX,YAAY;AANxB;;AAvFA;IC8CY,cAAwB;IDoDxB,YAxGW;IAyGX,YAAY;AAJxB;;AA/FA;IAuGY,kBAAkB;IAClB,qBAAqB;IACrB,UAAU;IA5GlB,2BAAuC;AAyG3C;;AAtGA;IA8GY,kBAAkB;IAClB,yBGxFkB;IHyFlB,sBAAwC;IACxC,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;ICzEf,cAAwB;ID2ExB,YA/HW;IAgIX,YAAY;IA7HpB,yBAAuC;AA4H3C;;AAzHA;IAgIoB,YAAY;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,kBAAkB;IAClB,UAAU;IACV,4BAA2E;IAC3E,6BAA4E;IAC5E,wBAAuE;IACvE,yBAAwE;AAH5F;;AArIA;IA6IoB,mBCmC8B;ADvClD;;AAzIA;IAkJgB,kBAAkB;AALlC;;AA7IA;IAsJoB,sBAA8C;IAC9C,gCAAwD;IACxD,qBAAqB;IACrB,wBAAwB;IACxB,YAAY;IACZ,WAAW;IACX,kBAAuC;IA/JvD,yBAAuC;AA2J3C;;AAxJA;IAkKwB,sBAAsB;IACtB,2BAA2B;IAC3B,8BAA8B;AANtD;;AA9JA;IAyKwB,uBAAuB;IACvB,4BAA4B;IAC5B,+BAA+B;AAPvD;;AApKA;IAgLoB,YAAY;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,kBAAkB;IAClB,UAAU;IACV,4BAAsF;IACtF,+BAAyF;IACzF,SAAS;IACT,UAAU;AAR9B;;AAhLA;IA6LoB,iBAAiB;IAhMjC,2BAAuC;AAwL3C;;AArLA;IAmMoB,yBAA+C;AAVnE;;AAzLA;IAwMoB,mBCxB8B;ADalD;;AA7LA;IA4MoB,iBAAiB;IACjB,uBAA+C;IAhN/D,2BAAuC;AAsM3C;;AAnMA;IAmNgB,qBAAqB;IACrB,UA1NO;IA2NP,WA3NO;IA4NP,eAAe;IACf,oBAAoB;IACpB,kBAAkB;AAZlC;;AA5MA;IA2NoB,YAjOG;IAkOH,aAlOG;AAuNvB;;AAjNA;IAsOoB,mBCtD8B;ADqClD;;AArNA;IAyOoB,uBAAsD;AAhB1E;;AAzNA;IAkPoB,mBClE8B;AD6ClD;;AA7NA;IAqPoB,uBAAsD;AApB1E;;AAjOA;IA4PQ,kBAAkB;IAClB,WAAW;IAhQf,2BAAuC;IAkQnC,WGrPQ;IHsPR,sBAAsB;AAvB9B;;AAzOA;IAmQY,kBAAkB;IAClB,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,gBAAgB;IAChB,gBAAqC;AAtBjD;;AAlPA;IAHI,yBAAuC;IAgR/B,sBG1PiB;IH2PjB,cC9FsC;ID+FtC,0BAAmF;IACnF,kBAtRW;AAgQvB;;AA1PA;IAwRoB,gBAAgB;AA1BpC;;AA9PA;;IAsRwB,oBAAoB;AAnB5C;;AAnQA;IAiSoB,iBAAiB;IACjB,mBAAmB;AA1BvC;;AAxQA;IA4RwB,YAAY;IACZ,qBAAqB;IACrB,oBAAoB;IACpB,oBArSD;AAqRvB;;AA/QA;IAHI,2BAAuC;IA2S/B,iBCpG6B;IDqG7B,WG/RI;IHgSJ,0BAAsF;IACtF,kBAjTW;AA6RvB;;AAvRA;IA8SY,UAAU;AAnBtB;;AA3RA;IAiTgB,gBAvTO;AAqSvB;;AA/RA;IAqTgB,mBAAsC;IACtC,oBAAuC;AAlBvD;;AApSA;IAyTgB,aAAa;AAjB7B;;AAxSA;IA4TgB,oBAlUO;AAkTvB;;AA5SA;IA+TgB,iBAAiB;AAfjC;;AAhTA;IAkUgB,oBAAoB;AAdpC;;AApTA;IAqUgB,kBAAkB;IAClB,iBAAiB;AAbjC;;AAzTA;IAyUgB,iBAAiB;IACjB,cC1JkC;AD8IlD;;AA9TA;IA6UgB,mBC7JkC;ID8JlC,UAAU;IACV,eAAqC;IACrC,kBAAkB;AAXlC;;AArUA;IAmVoB,mBCnK8B;IDoK9B,WAAW;IACX,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,UAAU;IACV,MAAM;IACN,SAAS;IACT,YAAO;AAV3B;;AAjVA;IA8VoB,wBAAwB;IACxB,0BC/K8B;IDgL9B,YAAM;AAT1B;;AAvVA;IAmWoB,yBAAyB;IACzB,2BCpL8B;IDqL9B,aAAO;AAR3B;;AA7VA;IAwWoB,kBAAkB;IAClB,UAAU;AAP9B;;AAlWA;IA6WgB,cGrXW;IHsXX,+CGpXQ;YHoXR,uCGpXQ;AH6WxB;;AAvWA;IAiXgB,aAAa;AAN7B;;AA3WA;IAoXgB,cG1XQ;AHqXxB;;AA/WA;IAuXgB,cG7XQ;IH8XR,+CG9XQ;YH8XR,uCG9XQ;AH0XxB;;AApXA;IA8XQ,mBC9M0C;ADwMlD","file":"calculator.css","sourcesContent":["/* Style for the calculator component */\n@import 'inc/bootstrap';\n\n/* font size mixin specific to calculator to use em instead of rem unit */\n@function calc-em-size($em) {\n @return ($em) * 1em;\n}\n@mixin calc-font-size($em) {\n font-size: calc-em-size($em) !important;\n}\n\n.calculator {\n $calculatorPanelBg: $uiClickableDefaultBg;\n $calculatorPanelTxt: $textColor;\n $calculatorKeyboardBg: $uiClickableDefaultBg;\n $calculatorKeyboardHoverBg: $uiClickableActiveBg;\n $calculatorKeyboardSpecialBg: $uiClickableHoverBg;\n $calculatorKeyboardSpecialTxt: $textHighlight;\n $calculatorKeyboardCommandTxt: $info;\n $calculatorKeyboardSwitchBg: $uiClickableDefaultBg;\n $calculatorKeyboardSwitchTxt: $textColor;\n $calculatorKeyboardSwitchSelectedBg: $uiClickableHoverBg;\n $calculatorKeyboardSwitchSelectedTxt: $textHighlight;\n $calculatorKeyboardSwitchBorder: whiten($textColor, 0.5);\n $calculatorKeyboardTxt: $textColor;\n $calculatorScreenBg: $uiGeneralContentBg;\n $calculatorScreenTxt: $textColor;\n $calculatorScreenBorder: $info;\n $calculatorScreenSpecialTxt: $uiClickableHoverBg;\n $calculatorScreenSpecialBg: whiten($uiClickableHoverBg, 0.9);\n $calculatorHistoryBorder: $uiGeneralContentBorder;\n $calculatorHistoryTxt: whiten($textColor, 0.2);\n\n $calculatorFontSizeBtnPrimary: 1.7;\n $calculatorFontSizeBtnSecondary: 1.3;\n $calculatorFontSizeBtnSwitch: 1;\n $calculatorFontSizeBtnSvg: 1;\n $calculatorFontSizeExpression: 1.3;\n $calculatorFontSizeHistory: 1;\n $calculatorLineHeightExpression: calc-em-size($calculatorFontSizeExpression + 0.3);\n $calculatorLineHeightHistory: calc-em-size($calculatorFontSizeHistory + 0.3);\n $calculatorTermSpace: calc-em-size(0.2);\n $calculatorButtonSize: calc-em-size(3.2);\n $calculatorSwitchSize: calc-em-size(3.2);\n $calculatorButtonPadding: 2px;\n $calculatorSwitchPadding: 4px;\n $calculatorScreenPadding: 8px;\n $calculatorBaseFontSize: 12px;\n\n position: relative;\n font-family: monospace, sans-serif;\n font-size: $calculatorBaseFontSize;\n width: 100%;\n height: 100%;\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex-direction, column, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\n\n sup,\n sub {\n font-size: 0.75em;\n }\n sup {\n top: -0.5em;\n }\n sub {\n bottom: -0.5em;\n }\n\n .screen,\n .input {\n position: relative;\n @include vendor-prefix(flex, 0 0 auto, property, (-ms-, -webkit-, ''));\n }\n\n .focus {\n outline: 2px solid $calculatorScreenBorder;\n }\n\n .keyboard {\n padding: 0 20px 20px;\n position: relative;\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex, 1 1, property, (-ms-, -webkit-, ''));\n }\n\n .calculator-keyboard {\n position: relative;\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex-direction, column, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\n background: $calculatorKeyboardBg;\n color: $calculatorKeyboardTxt;\n width: 100%;\n height: auto;\n padding-top: $calculatorScreenPadding;\n\n .row {\n position: relative;\n @include vendor-prefix(display, flex, value, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex-direction, row, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(align-content, stretch, property, (-ms-, -webkit-, ''));\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\n width: 100%;\n height: 100%;\n }\n\n .spacer {\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\n width: $calculatorButtonSize;\n height: 100%;\n }\n\n span {\n position: relative;\n display: inline-block;\n z-index: 1;\n @include calc-font-size($calculatorFontSizeBtnSecondary);\n }\n\n button {\n position: relative;\n background-color: $calculatorKeyboardBg;\n color: $calculatorKeyboardTxt !important;\n display: inline-block;\n border-radius: 0;\n border: none;\n padding: 0;\n text-align: center;\n text-shadow: none;\n cursor: pointer;\n @include vendor-prefix(flex, 1 1 auto, property, (-ms-, -webkit-, ''));\n width: $calculatorButtonSize;\n height: 100%;\n\n @include calc-font-size(1);\n\n &:not(.switch) {\n &:before {\n content: ' ';\n border-radius: 50%;\n display: inline-block;\n position: absolute;\n z-index: 0;\n top: calc(50% - #{$calculatorButtonSize / 2} + #{$calculatorButtonPadding});\n left: calc(50% - #{$calculatorButtonSize / 2} + #{$calculatorButtonPadding});\n width: calc(#{$calculatorButtonSize} - #{$calculatorButtonPadding * 2});\n height: calc(#{$calculatorButtonSize} - #{$calculatorButtonPadding * 2});\n }\n }\n &:hover {\n &:before {\n background: $calculatorKeyboardHoverBg;\n }\n }\n\n &.disabled {\n visibility: hidden;\n }\n &.switch {\n span {\n color: $calculatorKeyboardSwitchTxt !important;\n border-color: $calculatorKeyboardSwitchBorder !important;\n border-top: 1px solid;\n border-bottom: 1px solid;\n height: auto;\n width: 100%;\n padding: $calculatorSwitchPadding 0.5em;\n @include calc-font-size($calculatorFontSizeBtnSwitch);\n }\n\n &.first {\n span {\n border-left: 1px solid;\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n }\n }\n &.last {\n span {\n border-right: 1px solid;\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n }\n\n &:before {\n content: ' ';\n border-radius: 2px;\n display: inline-block;\n position: absolute;\n z-index: 0;\n top: calc(50% - #{$calculatorFontSizeBtnSwitch / 2}em - #{$calculatorSwitchPadding});\n bottom: calc(50% - #{$calculatorFontSizeBtnSwitch / 2}em - #{$calculatorSwitchPadding});\n left: 3px;\n right: 3px;\n }\n }\n &.operand {\n span {\n font-weight: bold;\n @include calc-font-size($calculatorFontSizeBtnPrimary);\n }\n }\n &.command {\n span {\n color: $calculatorKeyboardCommandTxt !important;\n }\n }\n &.execute {\n &:before {\n background: $calculatorKeyboardSpecialBg;\n }\n\n span {\n font-weight: bold;\n color: $calculatorKeyboardSpecialTxt !important;\n @include calc-font-size($calculatorFontSizeBtnPrimary);\n }\n }\n\n svg {\n display: inline-block;\n width: calc-em-size($calculatorFontSizeBtnSvg);\n height: calc-em-size($calculatorFontSizeBtnSvg);\n stroke-width: 0;\n stroke: currentColor;\n fill: currentColor;\n\n &.backspace-outline {\n width: calc-em-size($calculatorFontSizeBtnSvg * 1.2);\n height: calc-em-size($calculatorFontSizeBtnSvg * 1.2);\n }\n }\n }\n }\n\n &.degree {\n .calculator-keyboard {\n button.switch[data-command='degree'] {\n &:before {\n background: $calculatorKeyboardSwitchSelectedBg;\n }\n span {\n color: $calculatorKeyboardSwitchSelectedTxt !important;\n }\n }\n }\n }\n &.radian {\n .calculator-keyboard {\n button.switch[data-command='radian'] {\n &:before {\n background: $calculatorKeyboardSwitchSelectedBg;\n }\n span {\n color: $calculatorKeyboardSwitchSelectedTxt !important;\n }\n }\n }\n }\n\n .simple-screen {\n position: relative;\n width: 100%;\n @include calc-font-size($calculatorFontSizeExpression);\n color: $calculatorScreenTxt;\n font-family: monospace;\n\n .screen-panel {\n position: relative;\n width: 100%;\n overflow: auto;\n word-break: break-all;\n text-align: left;\n padding: $calculatorScreenPadding 8px;\n }\n\n .history {\n @include calc-font-size($calculatorFontSizeHistory);\n border: 1px solid $calculatorHistoryBorder;\n color: $calculatorHistoryTxt;\n height: calc(#{$calculatorScreenPadding * 2} + #{$calculatorLineHeightHistory * 3});\n line-height: $calculatorLineHeightHistory;\n\n .history-line {\n .history-expression {\n &,\n .term {\n font-weight: lighter;\n }\n text-align: left;\n }\n .history-result {\n &:before {\n content: '=';\n display: inline-block;\n font-weight: lighter;\n padding-right: $calculatorTermSpace;\n }\n text-align: right;\n font-weight: bolder;\n }\n }\n }\n .expression {\n @include calc-font-size($calculatorFontSizeExpression);\n background: $calculatorScreenBg;\n color: $calculatorScreenTxt;\n height: calc(#{$calculatorScreenPadding * 2} + #{$calculatorLineHeightExpression * 2});\n line-height: $calculatorLineHeightExpression;\n }\n .term {\n padding: 0;\n\n &.term-operator:not([data-token='POW']):not([data-token='FAC']):not([data-token='NEG']) {\n padding: 0 $calculatorTermSpace;\n }\n &.term-operator[data-token='FAC'],\n &.term-operator[data-token='NEG'] {\n margin-left: -$calculatorTermSpace / 2;\n margin-right: -$calculatorTermSpace / 2;\n }\n &.term-operator[data-token='POS'] {\n display: none;\n }\n &.term-function:not([data-token='SQRT']):not([data-token='CBRT']) {\n padding-right: $calculatorTermSpace;\n }\n &.term-operand {\n font-weight: bold;\n }\n &.term-modificator {\n font-weight: lighter;\n }\n &.term-constant {\n font-style: italic;\n font-weight: bold;\n }\n &.term-variable {\n font-weight: bold;\n color: $calculatorScreenSpecialTxt;\n }\n &.term-variable[data-token='ANS'] {\n background: $calculatorScreenSpecialBg;\n padding: 0;\n margin: 0 #{$calculatorTermSpace * 2};\n position: relative;\n &::before,\n &::after {\n background: $calculatorScreenSpecialBg;\n content: '';\n border-radius: 50%;\n border: 2px none;\n position: absolute;\n z-index: 0;\n top: 0;\n bottom: 0;\n width: #{$calculatorTermSpace * 2};\n }\n &::before {\n border-left-style: solid;\n border-left-color: $calculatorScreenSpecialTxt;\n left: #{-$calculatorTermSpace};\n }\n &::after {\n border-right-style: solid;\n border-right-color: $calculatorScreenSpecialTxt;\n right: #{-$calculatorTermSpace};\n }\n * {\n position: relative;\n z-index: 1;\n }\n }\n &.term-unknown {\n color: $warning;\n text-decoration: underline wavy $error;\n }\n &.term-elide {\n display: none;\n }\n &.term-error {\n color: $error;\n }\n &.term-syntaxError {\n color: $error;\n text-decoration: underline wavy $error;\n }\n }\n }\n\n &.error .screen .expression {\n background: $errorBgColor;\n }\n}\n\n/*# sourceMappingURL=calculator.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$textSecondary: #737373;\n$shadowColor: rgba(0, 0, 0, 0.25);\n\n$modalBorderColor: #dddfe2;\n$searchInp: #dddfe2;\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"]}
|
|
@@ -5,47 +5,44 @@ define(['lodash', 'ui/maths/calculator/calculatorComponent', 'ui/maths/calculato
|
|
|
5
5
|
pluginKeyboardFactory = pluginKeyboardFactory && Object.prototype.hasOwnProperty.call(pluginKeyboardFactory, 'default') ? pluginKeyboardFactory['default'] : pluginKeyboardFactory;
|
|
6
6
|
pluginScreenFactory = pluginScreenFactory && Object.prototype.hasOwnProperty.call(pluginScreenFactory, 'default') ? pluginScreenFactory['default'] : pluginScreenFactory;
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Creates a simple calculator component. Screen and keyboard layout are replaceable.
|
|
27
|
-
* @param {Object} config - Some config entries (@see ui/dynamicComponent)
|
|
28
|
-
* @param {Function} [config.keyboardLayout] - A Handlebars template for the keyboard
|
|
29
|
-
* @param {Function} [config.screenLayout] - A Handlebars template for the screen
|
|
30
|
-
* @param {Object} [config.calculator] - Config for the calculator (@see ui/maths/calculator/core/board)
|
|
31
|
-
* @returns {dynamicComponent}
|
|
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) 2018 Open Assessment Technologies SA ;
|
|
32
24
|
*/
|
|
33
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Creates a simple calculator component. Screen and keyboard layout are replaceable.
|
|
28
|
+
* @param {Object} config - Some config entries (@see ui/dynamicComponent)
|
|
29
|
+
* @param {Function} [config.keyboardLayout] - A Handlebars template for the keyboard
|
|
30
|
+
* @param {Function} [config.screenLayout] - A Handlebars template for the screen
|
|
31
|
+
* @param {Object} [config.calculator] - Config for the calculator (@see ui/maths/calculator/core/board)
|
|
32
|
+
* @returns {dynamicComponent}
|
|
33
|
+
*/
|
|
34
34
|
function defaultCalculatorFactory(config) {
|
|
35
35
|
var defaultPluginsConfig = {};
|
|
36
|
-
|
|
37
36
|
if (config && config.keyboardLayout) {
|
|
38
37
|
defaultPluginsConfig.templateKeyboard = {
|
|
39
38
|
layout: config.keyboardLayout
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
|
-
|
|
43
41
|
if (config && config.screenLayout) {
|
|
44
42
|
defaultPluginsConfig.simpleScreen = {
|
|
45
43
|
layout: config.screenLayout
|
|
46
44
|
};
|
|
47
45
|
}
|
|
48
|
-
|
|
49
46
|
config = _.merge({
|
|
50
47
|
// The list of default plugins is directly built here instead of using a module variable to ensure the
|
|
51
48
|
// object is unique to the instance. This wil avoid global polluting by successive instances, as nested
|