@oat-sa/tao-core-ui 1.64.2 → 1.65.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.
Files changed (780) hide show
  1. package/LICENSE +339 -339
  2. package/README.md +22 -22
  3. package/dist/actionbar.js +92 -92
  4. package/dist/adder.js +109 -109
  5. package/dist/animable/absorbable/absorbable.js +29 -29
  6. package/dist/animable/absorbable/css/absorb.css +7 -7
  7. package/dist/animable/absorbable/css/absorb.css.map +1 -1
  8. package/dist/animable/pulsable/css/pulse.css +7 -7
  9. package/dist/animable/pulsable/css/pulse.css.map +1 -1
  10. package/dist/animable/pulsable/pulsable.js +23 -23
  11. package/dist/areaBroker.js +51 -51
  12. package/dist/autocomplete/css/autocomplete.css +7 -7
  13. package/dist/autocomplete/css/autocomplete.css.map +1 -1
  14. package/dist/autocomplete.js +384 -384
  15. package/dist/autoscroll.js +22 -22
  16. package/dist/badge/badge.js +35 -35
  17. package/dist/badge/css/badge.css +7 -7
  18. package/dist/badge/css/badge.css.map +1 -1
  19. package/dist/breadcrumbs/css/breadcrumbs.css +7 -7
  20. package/dist/breadcrumbs/css/breadcrumbs.css.map +1 -1
  21. package/dist/breadcrumbs.js +57 -57
  22. package/dist/btngrouper.js +64 -64
  23. package/dist/bulkActionPopup/css/bulkActionPopup.css +7 -7
  24. package/dist/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
  25. package/dist/bulkActionPopup.js +91 -91
  26. package/dist/button.js +89 -89
  27. package/dist/calculator/css/calculator.css +10 -10
  28. package/dist/calculator/css/calculator.css.map +1 -1
  29. package/dist/calculator.js +51 -51
  30. package/dist/cascadingComboBox.js +34 -34
  31. package/dist/ckeditor/ckConfigurator.js +60 -52
  32. package/dist/ckeditor/dtdHandler.js +110 -110
  33. package/dist/class/css/selector.css +7 -7
  34. package/dist/class/css/selector.css.map +1 -1
  35. package/dist/class/selector.js +98 -98
  36. package/dist/component/alignable.js +81 -81
  37. package/dist/component/containable.js +37 -37
  38. package/dist/component/css/components.css +7 -7
  39. package/dist/component/css/components.css.map +1 -1
  40. package/dist/component/css/windowComponent.css +7 -7
  41. package/dist/component/css/windowComponent.css.map +1 -1
  42. package/dist/component/draggable.js +25 -25
  43. package/dist/component/placeable.js +70 -70
  44. package/dist/component/resizable.js +61 -61
  45. package/dist/component/stackable.js +20 -20
  46. package/dist/component/windowed.js +46 -46
  47. package/dist/component.js +140 -140
  48. package/dist/container.js +76 -76
  49. package/dist/contextualPopup/css/contextualPopup.css +7 -7
  50. package/dist/contextualPopup/css/contextualPopup.css.map +1 -1
  51. package/dist/contextualPopup.js +100 -100
  52. package/dist/dashboard/css/dashboard.css +7 -7
  53. package/dist/dashboard/css/dashboard.css.map +1 -1
  54. package/dist/dashboard.js +62 -62
  55. package/dist/datalist/css/datalist.css +7 -7
  56. package/dist/datalist/css/datalist.css.map +1 -1
  57. package/dist/datalist.js +147 -147
  58. package/dist/datatable/css/datatable.css +7 -7
  59. package/dist/datatable/css/datatable.css.map +1 -1
  60. package/dist/datatable/filterStrategy/filterStrategy.js +27 -27
  61. package/dist/datatable/filterStrategy/multiple.js +25 -25
  62. package/dist/datatable/filterStrategy/single.js +25 -25
  63. package/dist/datatable.js +377 -377
  64. package/dist/dateRange/css/dateRange.css +7 -7
  65. package/dist/dateRange/css/dateRange.css.map +1 -1
  66. package/dist/dateRange/dateRange.js +97 -97
  67. package/dist/datetime/css/picker.css +7 -7
  68. package/dist/datetime/css/picker.css.map +1 -1
  69. package/dist/datetime/picker.js +161 -161
  70. package/dist/deleter.js +79 -79
  71. package/dist/destination/css/selector.css +7 -7
  72. package/dist/destination/css/selector.css.map +1 -1
  73. package/dist/destination/selector.js +52 -52
  74. package/dist/dialog/alert.js +26 -26
  75. package/dist/dialog/confirm.js +27 -27
  76. package/dist/dialog/confirmDelete.js +31 -31
  77. package/dist/dialog.js +141 -141
  78. package/dist/disabler.js +90 -90
  79. package/dist/documentViewer/css/documentViewer.css +7 -7
  80. package/dist/documentViewer/css/documentViewer.css.map +1 -1
  81. package/dist/documentViewer/providers/pdfViewer/fallback/viewer.js +30 -30
  82. package/dist/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +25 -25
  83. package/dist/documentViewer/providers/pdfViewer/pdfjs/findBar.js +120 -120
  84. package/dist/documentViewer/providers/pdfViewer/pdfjs/pageView.js +89 -89
  85. package/dist/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +52 -52
  86. package/dist/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +112 -112
  87. package/dist/documentViewer/providers/pdfViewer/pdfjs/textManager.js +67 -67
  88. package/dist/documentViewer/providers/pdfViewer/pdfjs/viewer.js +81 -81
  89. package/dist/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +111 -111
  90. package/dist/documentViewer/providers/pdfViewer.js +29 -29
  91. package/dist/documentViewer/viewerFactory.js +71 -71
  92. package/dist/documentViewer.js +86 -86
  93. package/dist/dropdown/css/dropdown.css +7 -7
  94. package/dist/dropdown/css/dropdown.css.map +1 -1
  95. package/dist/dropdown.js +84 -84
  96. package/dist/durationer.js +58 -58
  97. package/dist/dynamicComponent/css/dynamicComponent.css +7 -7
  98. package/dist/dynamicComponent/css/dynamicComponent.css.map +1 -1
  99. package/dist/dynamicComponent.js +103 -103
  100. package/dist/feedback.js +84 -84
  101. package/dist/figure/FigureStateActive.js +111 -111
  102. package/dist/filesender.js +26 -26
  103. package/dist/filter.js +34 -34
  104. package/dist/form/css/dropdownForm.css +7 -7
  105. package/dist/form/css/dropdownForm.css.map +1 -1
  106. package/dist/form/css/form.css +7 -7
  107. package/dist/form/css/form.css.map +1 -1
  108. package/dist/form/dropdownForm.js +99 -99
  109. package/dist/form/form.js +248 -248
  110. package/dist/form/simpleForm.js +71 -71
  111. package/dist/form/validator/css/validator.css +7 -7
  112. package/dist/form/validator/css/validator.css.map +1 -1
  113. package/dist/form/validator/renderer.js +52 -52
  114. package/dist/form/validator/validator.js +103 -103
  115. package/dist/form/widget/css/widget.css +7 -7
  116. package/dist/form/widget/css/widget.css.map +1 -1
  117. package/dist/form/widget/definitions.js +24 -24
  118. package/dist/form/widget/loader.js +16 -16
  119. package/dist/form/widget/providers/checkBox.js +62 -62
  120. package/dist/form/widget/providers/comboBox.js +46 -46
  121. package/dist/form/widget/providers/default.js +35 -35
  122. package/dist/form/widget/providers/hidden.js +37 -37
  123. package/dist/form/widget/providers/hiddenBox.js +58 -58
  124. package/dist/form/widget/providers/radioBox.js +57 -57
  125. package/dist/form/widget/providers/textArea.js +35 -35
  126. package/dist/form/widget/providers/textBox.js +34 -34
  127. package/dist/form/widget/widget.js +141 -141
  128. package/dist/form.js +10 -10
  129. package/dist/formValidator/formValidator.js +61 -61
  130. package/dist/formValidator/highlighters/highlighter.js +41 -41
  131. package/dist/formValidator/highlighters/message.js +29 -29
  132. package/dist/formValidator/highlighters/tooltip.js +32 -32
  133. package/dist/generis/form/css/form.css +7 -7
  134. package/dist/generis/form/css/form.css.map +1 -1
  135. package/dist/generis/form/form.js +73 -73
  136. package/dist/generis/validator/css/validator.css +7 -7
  137. package/dist/generis/validator/css/validator.css.map +1 -1
  138. package/dist/generis/validator/validator.js +38 -38
  139. package/dist/generis/widget/checkBox/checkBox.js +39 -39
  140. package/dist/generis/widget/comboBox/comboBox.js +32 -32
  141. package/dist/generis/widget/css/widget.css +7 -7
  142. package/dist/generis/widget/css/widget.css.map +1 -1
  143. package/dist/generis/widget/hiddenBox/hiddenBox.js +40 -40
  144. package/dist/generis/widget/loader.js +20 -20
  145. package/dist/generis/widget/textBox/textBox.js +27 -27
  146. package/dist/generis/widget/widget.js +47 -47
  147. package/dist/groupedComboBox.js +36 -36
  148. package/dist/groupvalidator.js +19 -19
  149. package/dist/hider.js +41 -41
  150. package/dist/highlighter.js +278 -278
  151. package/dist/image/ImgStateActive/extractLabel.js +20 -20
  152. package/dist/image/ImgStateActive/helper.js +16 -16
  153. package/dist/image/ImgStateActive/initHelper.js +85 -85
  154. package/dist/image/ImgStateActive/initMediaEditor.js +48 -48
  155. package/dist/image/ImgStateActive/mediaSizer.js +32 -32
  156. package/dist/image/ImgStateActive.js +104 -104
  157. package/dist/incrementer.js +58 -58
  158. package/dist/inplacer.js +87 -87
  159. package/dist/interactUtils.js +42 -42
  160. package/dist/itemButtonList/css/item-button-list.css +23 -23
  161. package/dist/itemButtonList/css/item-button-list.css.map +1 -1
  162. package/dist/itemButtonList.js +102 -102
  163. package/dist/keyNavigation/navigableDomElement.js +76 -76
  164. package/dist/keyNavigation/navigator.js +158 -158
  165. package/dist/listbox/css/listbox.css +7 -7
  166. package/dist/listbox/css/listbox.css.map +1 -1
  167. package/dist/listbox.js +84 -84
  168. package/dist/liststyler.js +57 -57
  169. package/dist/loadingButton/css/button.css +7 -7
  170. package/dist/loadingButton/css/button.css.map +1 -1
  171. package/dist/loadingButton/loadingButton.js +35 -35
  172. package/dist/lock.js +112 -112
  173. package/dist/login/login.js +87 -87
  174. package/dist/maths/calculator/basicCalculator.js +50 -50
  175. package/dist/maths/calculator/calculatorComponent.js +29 -29
  176. package/dist/maths/calculator/core/areaBroker.js +25 -25
  177. package/dist/maths/calculator/core/board.js +300 -300
  178. package/dist/maths/calculator/core/expression.js +98 -98
  179. package/dist/maths/calculator/core/labels.js +16 -16
  180. package/dist/maths/calculator/core/plugin.js +19 -19
  181. package/dist/maths/calculator/core/terms.js +26 -26
  182. package/dist/maths/calculator/core/tokenizer.js +98 -98
  183. package/dist/maths/calculator/core/tokens.js +75 -75
  184. package/dist/maths/calculator/css/calculator.css +7 -7
  185. package/dist/maths/calculator/css/calculator.css.map +1 -1
  186. package/dist/maths/calculator/defaultCalculator.js +23 -23
  187. package/dist/maths/calculator/plugins/core/degrad.js +22 -22
  188. package/dist/maths/calculator/plugins/core/history.js +45 -45
  189. package/dist/maths/calculator/plugins/core/remind.js +22 -22
  190. package/dist/maths/calculator/plugins/core/stepNavigation.js +31 -31
  191. package/dist/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +48 -48
  192. package/dist/maths/calculator/plugins/modifiers/pow10.js +35 -35
  193. package/dist/maths/calculator/plugins/modifiers/sign.js +90 -90
  194. package/dist/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +47 -47
  195. package/dist/maths/calculator/pluginsLoader.js +21 -21
  196. package/dist/maths/calculator/scientificCalculator.js +78 -78
  197. package/dist/mediaEditor/mediaEditorComponent.js +51 -51
  198. package/dist/mediaEditor/plugins/mediaAlignment/helper.js +16 -16
  199. package/dist/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +47 -47
  200. package/dist/mediaEditor/plugins/mediaAlignment/style.css +7 -7
  201. package/dist/mediaEditor/plugins/mediaDimension/helper.js +70 -70
  202. package/dist/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +140 -140
  203. package/dist/mediaEditor/plugins/mediaDimension/style.css +141 -141
  204. package/dist/mediaplayer/css/player.css +7 -7
  205. package/dist/mediaplayer/css/player.css.map +1 -1
  206. package/dist/mediaplayer/players/html5.js +52 -52
  207. package/dist/mediaplayer/players/youtube.js +39 -39
  208. package/dist/mediaplayer/players.js +18 -18
  209. package/dist/mediaplayer/support.js +55 -55
  210. package/dist/mediaplayer/utils/reminder.js +100 -100
  211. package/dist/mediaplayer/utils/timeObserver.js +92 -92
  212. package/dist/mediaplayer/youtubeManager.js +51 -51
  213. package/dist/mediaplayer.js +447 -447
  214. package/dist/mediasizer.js +122 -122
  215. package/dist/modal.js +87 -87
  216. package/dist/movableComponent.js +35 -35
  217. package/dist/pageSizeSelector.js +31 -31
  218. package/dist/pageStatus.js +33 -33
  219. package/dist/pagination/css/pagination.css +7 -7
  220. package/dist/pagination/css/pagination.css.map +1 -1
  221. package/dist/pagination/paginationStrategy.js +23 -23
  222. package/dist/pagination/providers/pages.js +24 -24
  223. package/dist/pagination/providers/simple.js +22 -22
  224. package/dist/pagination.js +45 -45
  225. package/dist/previewer.js +67 -67
  226. package/dist/progressbar.js +58 -58
  227. package/dist/propertySelector/css/propertySelector.css +7 -7
  228. package/dist/propertySelector/css/propertySelector.css.map +1 -1
  229. package/dist/propertySelector/propertySelector.js +86 -86
  230. package/dist/report.js +73 -73
  231. package/dist/resource/css/selector.css +7 -7
  232. package/dist/resource/css/selector.css.map +1 -1
  233. package/dist/resource/filters.js +60 -60
  234. package/dist/resource/list.js +53 -53
  235. package/dist/resource/selectable.js +92 -92
  236. package/dist/resource/selector.js +182 -182
  237. package/dist/resource/tree.js +91 -91
  238. package/dist/resourcemgr/css/resourcemgr.css +7 -7
  239. package/dist/resourcemgr/css/resourcemgr.css.map +1 -1
  240. package/dist/resourcemgr/fileBrowser.js +75 -75
  241. package/dist/resourcemgr/fileSelector.js +45 -45
  242. package/dist/resourcemgr/util/updatePermissions.js +4 -4
  243. package/dist/resourcemgr.js +49 -49
  244. package/dist/scroller.js +26 -26
  245. package/dist/searchModal/advancedSearch.js +155 -155
  246. package/dist/searchModal/css/advancedSearch.css +7 -7
  247. package/dist/searchModal/css/advancedSearch.css.map +1 -1
  248. package/dist/searchModal/css/searchModal.css +7 -7
  249. package/dist/searchModal/css/searchModal.css.map +1 -1
  250. package/dist/searchModal.js +134 -134
  251. package/dist/selecter.js +6 -6
  252. package/dist/stacker.js +43 -43
  253. package/dist/switch/css/switch.css +7 -7
  254. package/dist/switch/css/switch.css.map +1 -1
  255. package/dist/switch/switch.js +62 -62
  256. package/dist/tableModel.js +33 -33
  257. package/dist/tabs/css/tabs.css +12 -12
  258. package/dist/tabs/css/tabs.css.map +1 -1
  259. package/dist/tabs.js +220 -220
  260. package/dist/taskQueue/css/taskQueue.css +7 -7
  261. package/dist/taskQueue/css/taskQueue.css.map +1 -1
  262. package/dist/taskQueue/status.js +59 -59
  263. package/dist/taskQueue/table.js +54 -54
  264. package/dist/taskQueue/taskQueue.js +18 -18
  265. package/dist/taskQueue/taskQueueModel.js +102 -102
  266. package/dist/taskQueue.js +47 -47
  267. package/dist/taskQueueButton/css/taskable.css +7 -7
  268. package/dist/taskQueueButton/css/taskable.css.map +1 -1
  269. package/dist/taskQueueButton/css/treeButton.css +7 -7
  270. package/dist/taskQueueButton/css/treeButton.css.map +1 -1
  271. package/dist/taskQueueButton/standardButton.js +39 -39
  272. package/dist/taskQueueButton/taskable.js +41 -41
  273. package/dist/taskQueueButton/treeButton.js +43 -43
  274. package/dist/themeLoader.js +75 -75
  275. package/dist/themes.js +84 -84
  276. package/dist/toggler.js +57 -57
  277. package/dist/tooltip.js +41 -41
  278. package/dist/tooltipster.js +17 -17
  279. package/dist/transformer.js +117 -117
  280. package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
  281. package/dist/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
  282. package/dist/tristateCheckboxGroup.js +62 -62
  283. package/dist/uploader.js +145 -145
  284. package/dist/validator/validators.js +48 -48
  285. package/dist/validator.js +23 -23
  286. package/dist/waitForMedia.js +33 -33
  287. package/dist/waitingDialog/css/waitingDialog.css +7 -7
  288. package/dist/waitingDialog/css/waitingDialog.css.map +1 -1
  289. package/dist/waitingDialog/waitingDialog.js +54 -54
  290. package/package.json +110 -110
  291. package/scss/.DS_Store +0 -0
  292. package/scss/basic.scss +16 -16
  293. package/scss/ckeditor/.DS_Store +0 -0
  294. package/scss/ckeditor/skins/.DS_Store +0 -0
  295. package/scss/ckeditor/skins/tao/.DS_Store +0 -0
  296. package/scss/ckeditor/skins/tao/scss/.DS_Store +0 -0
  297. package/scss/ckeditor/skins/tao/scss/inc/_ck-icons.scss +60 -60
  298. package/scss/ckeditor/skins/tao/scss/inc/_tao.scss +59 -59
  299. package/scss/font/.DS_Store +0 -0
  300. package/scss/font/tao/tao.svg +235 -235
  301. package/scss/inc/.DS_Store +0 -0
  302. package/scss/inc/_base.scss +495 -495
  303. package/scss/inc/_bootstrap.scss +6 -6
  304. package/scss/inc/_buttons.scss +114 -114
  305. package/scss/inc/_colors.scss +93 -93
  306. package/scss/inc/_feedback.scss +154 -154
  307. package/scss/inc/_flex-grid.scss +15 -15
  308. package/scss/inc/_fonts.scss +4 -4
  309. package/scss/inc/_forms.scss +832 -832
  310. package/scss/inc/_functions.scss +283 -283
  311. package/scss/inc/_jquery.nouislider.scss +254 -254
  312. package/scss/inc/_normalize.scss +528 -528
  313. package/scss/inc/_report.scss +67 -67
  314. package/scss/inc/_secondary-properties.scss +89 -89
  315. package/scss/inc/_select2.scss +634 -634
  316. package/scss/inc/_toolbars.scss +155 -155
  317. package/scss/inc/_tooltip.scss +312 -312
  318. package/scss/inc/_variables.scss +21 -21
  319. package/scss/inc/base/_highlight.scss +5 -5
  320. package/scss/inc/base/_list-style.scss +58 -58
  321. package/scss/inc/base/_svg.scss +3 -3
  322. package/scss/inc/base/_table.scss +62 -62
  323. package/scss/inc/fonts/_source-sans-pro.scss +29 -29
  324. package/scss/inc/fonts/_tao-icon-classes.scss +227 -227
  325. package/scss/inc/fonts/_tao-icon-def.scss +12 -12
  326. package/scss/inc/fonts/_tao-icon-vars.scss +241 -241
  327. package/src/actionbar/tpl/main.tpl +8 -8
  328. package/src/actionbar.js +251 -251
  329. package/src/adder.js +250 -250
  330. package/src/animable/absorbable/absorbable.js +134 -134
  331. package/src/animable/absorbable/css/absorb.css +7 -7
  332. package/src/animable/absorbable/css/absorb.css.map +1 -1
  333. package/src/animable/absorbable/scss/absorb.scss +37 -37
  334. package/src/animable/pulsable/css/pulse.css +7 -7
  335. package/src/animable/pulsable/css/pulse.css.map +1 -1
  336. package/src/animable/pulsable/pulsable.js +90 -90
  337. package/src/animable/pulsable/scss/pulse.scss +22 -22
  338. package/src/areaBroker.js +160 -160
  339. package/src/autocomplete/css/autocomplete.css +7 -7
  340. package/src/autocomplete/css/autocomplete.css.map +1 -1
  341. package/src/autocomplete/scss/autocomplete.scss +37 -37
  342. package/src/autocomplete.js +1027 -1027
  343. package/src/autoscroll.js +57 -57
  344. package/src/badge/badge.js +119 -119
  345. package/src/badge/css/badge.css +7 -7
  346. package/src/badge/css/badge.css.map +1 -1
  347. package/src/badge/scss/badge.scss +92 -92
  348. package/src/badge/tpl/badge.tpl +4 -4
  349. package/src/breadcrumbs/css/breadcrumbs.css +7 -7
  350. package/src/breadcrumbs/css/breadcrumbs.css.map +1 -1
  351. package/src/breadcrumbs/scss/breadcrumbs.scss +52 -52
  352. package/src/breadcrumbs/tpl/breadcrumbs.tpl +20 -20
  353. package/src/breadcrumbs.js +99 -99
  354. package/src/btngrouper.js +213 -213
  355. package/src/bulkActionPopup/css/bulkActionPopup.css +7 -7
  356. package/src/bulkActionPopup/css/bulkActionPopup.css.map +1 -1
  357. package/src/bulkActionPopup/scss/bulkActionPopup.scss +63 -63
  358. package/src/bulkActionPopup/tpl/layout.tpl +76 -76
  359. package/src/bulkActionPopup/tpl/select.tpl +8 -8
  360. package/src/bulkActionPopup.js +274 -274
  361. package/src/button/tpl/button.tpl +4 -4
  362. package/src/button.js +135 -135
  363. package/src/calculator/css/calculator.css +10 -10
  364. package/src/calculator/css/calculator.css.map +1 -1
  365. package/src/calculator/scss/calculator.scss +139 -139
  366. package/src/calculator.js +188 -188
  367. package/src/cascadingComboBox.js +126 -126
  368. package/src/ckeditor/ckConfigurator.js +748 -742
  369. package/src/ckeditor/dtdHandler.js +1030 -1030
  370. package/src/class/css/selector.css +7 -7
  371. package/src/class/css/selector.css.map +1 -1
  372. package/src/class/scss/selector.scss +101 -101
  373. package/src/class/selector.js +329 -329
  374. package/src/class/tpl/listItem.tpl +9 -9
  375. package/src/class/tpl/selector.tpl +10 -10
  376. package/src/component/alignable.js +274 -274
  377. package/src/component/containable.js +122 -122
  378. package/src/component/css/components.css +7 -7
  379. package/src/component/css/components.css.map +1 -1
  380. package/src/component/css/windowComponent.css +7 -7
  381. package/src/component/css/windowComponent.css.map +1 -1
  382. package/src/component/draggable.js +104 -104
  383. package/src/component/placeable.js +233 -233
  384. package/src/component/resizable.js +195 -195
  385. package/src/component/scss/components.scss +507 -507
  386. package/src/component/scss/windowComponent.scss +62 -62
  387. package/src/component/stackable.js +67 -67
  388. package/src/component/tpl/window.tpl +7 -7
  389. package/src/component/windowed.js +206 -206
  390. package/src/component.js +401 -401
  391. package/src/container.js +200 -200
  392. package/src/contextualPopup/css/contextualPopup.css +7 -7
  393. package/src/contextualPopup/css/contextualPopup.css.map +1 -1
  394. package/src/contextualPopup/scss/contextualPopup.scss +78 -78
  395. package/src/contextualPopup/tpl/popup.tpl +10 -10
  396. package/src/contextualPopup.js +294 -294
  397. package/src/css/basic.css +103 -103
  398. package/src/css/basic.css.map +1 -1
  399. package/src/dashboard/css/dashboard.css +7 -7
  400. package/src/dashboard/css/dashboard.css.map +1 -1
  401. package/src/dashboard/scss/dashboard.scss +93 -93
  402. package/src/dashboard/tpl/dashboard.tpl +16 -16
  403. package/src/dashboard/tpl/dashboardMetricsList.tpl +15 -15
  404. package/src/dashboard.js +179 -179
  405. package/src/datalist/css/datalist.css +7 -7
  406. package/src/datalist/css/datalist.css.map +1 -1
  407. package/src/datalist/scss/datalist.scss +116 -116
  408. package/src/datalist/tpl/list.tpl +24 -24
  409. package/src/datalist/tpl/main.tpl +44 -44
  410. package/src/datalist.js +500 -500
  411. package/src/datatable/css/datatable.css +7 -7
  412. package/src/datatable/css/datatable.css.map +1 -1
  413. package/src/datatable/filterStrategy/filterStrategy.js +70 -70
  414. package/src/datatable/filterStrategy/multiple.js +126 -126
  415. package/src/datatable/filterStrategy/single.js +108 -108
  416. package/src/datatable/scss/datatable.scss +149 -149
  417. package/src/datatable/tpl/button.tpl +6 -6
  418. package/src/datatable/tpl/layout.tpl +158 -158
  419. package/src/datatable.js +1056 -1056
  420. package/src/dateRange/css/dateRange.css +7 -7
  421. package/src/dateRange/css/dateRange.css.map +1 -1
  422. package/src/dateRange/dateRange.js +341 -341
  423. package/src/dateRange/scss/dateRange.scss +7 -7
  424. package/src/dateRange/tpl/select.tpl +18 -18
  425. package/src/datetime/css/picker.css +7 -7
  426. package/src/datetime/css/picker.css.map +1 -1
  427. package/src/datetime/picker.js +576 -576
  428. package/src/datetime/scss/picker.scss +192 -192
  429. package/src/datetime/tpl/picker.tpl +18 -18
  430. package/src/deleter/undo.tpl +6 -6
  431. package/src/deleter.js +296 -296
  432. package/src/destination/css/selector.css +7 -7
  433. package/src/destination/css/selector.css.map +1 -1
  434. package/src/destination/scss/selector.scss +36 -36
  435. package/src/destination/selector.js +195 -195
  436. package/src/destination/tpl/selector.tpl +13 -13
  437. package/src/dialog/alert.js +70 -70
  438. package/src/dialog/confirm.js +85 -85
  439. package/src/dialog/confirmDelete.js +95 -95
  440. package/src/dialog/tpl/body.tpl +24 -24
  441. package/src/dialog/tpl/buttons.tpl +6 -6
  442. package/src/dialog/tpl/checkbox.tpl +5 -5
  443. package/src/dialog.js +517 -517
  444. package/src/disabler.js +230 -230
  445. package/src/documentViewer/css/documentViewer.css +7 -7
  446. package/src/documentViewer/css/documentViewer.css.map +1 -1
  447. package/src/documentViewer/providers/pdfViewer/fallback/viewer.js +69 -69
  448. package/src/documentViewer/providers/pdfViewer/pdfjs/areaBroker.js +41 -41
  449. package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.js +475 -475
  450. package/src/documentViewer/providers/pdfViewer/pdfjs/findBar.tpl +20 -20
  451. package/src/documentViewer/providers/pdfViewer/pdfjs/match.tpl +1 -1
  452. package/src/documentViewer/providers/pdfViewer/pdfjs/page.tpl +4 -4
  453. package/src/documentViewer/providers/pdfViewer/pdfjs/pageView.js +318 -318
  454. package/src/documentViewer/providers/pdfViewer/pdfjs/pagesManager.js +167 -167
  455. package/src/documentViewer/providers/pdfViewer/pdfjs/searchEngine.js +451 -451
  456. package/src/documentViewer/providers/pdfViewer/pdfjs/textManager.js +252 -252
  457. package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.js +299 -299
  458. package/src/documentViewer/providers/pdfViewer/pdfjs/viewer.tpl +16 -16
  459. package/src/documentViewer/providers/pdfViewer/pdfjs/wrapper.js +351 -351
  460. package/src/documentViewer/providers/pdfViewer.js +93 -93
  461. package/src/documentViewer/scss/documentViewer.scss +184 -184
  462. package/src/documentViewer/viewerFactory.js +191 -191
  463. package/src/documentViewer.js +238 -238
  464. package/src/dropdown/css/dropdown.css +7 -7
  465. package/src/dropdown/css/dropdown.css.map +1 -1
  466. package/src/dropdown/scss/dropdown.scss +99 -99
  467. package/src/dropdown/tpl/dropdown.tpl +8 -8
  468. package/src/dropdown/tpl/list-item.tpl +4 -4
  469. package/src/dropdown.js +255 -255
  470. package/src/durationer.js +220 -220
  471. package/src/dynamicComponent/css/dynamicComponent.css +7 -7
  472. package/src/dynamicComponent/css/dynamicComponent.css.map +1 -1
  473. package/src/dynamicComponent/scss/dynamicComponent.scss +98 -98
  474. package/src/dynamicComponent/tpl/layout.tpl +17 -17
  475. package/src/dynamicComponent.js +553 -553
  476. package/src/feedback/feedback.tpl +7 -7
  477. package/src/feedback.js +295 -295
  478. package/src/figure/FigureStateActive.js +184 -184
  479. package/src/filesender.js +112 -112
  480. package/src/filter/template.tpl +5 -5
  481. package/src/filter.js +129 -129
  482. package/src/form/css/dropdownForm.css +7 -7
  483. package/src/form/css/dropdownForm.css.map +1 -1
  484. package/src/form/css/form.css +7 -7
  485. package/src/form/css/form.css.map +1 -1
  486. package/src/form/dropdownForm.js +281 -281
  487. package/src/form/form.js +688 -688
  488. package/src/form/scss/dropdownForm.scss +60 -60
  489. package/src/form/scss/form.scss +25 -25
  490. package/src/form/simpleForm.js +125 -125
  491. package/src/form/tpl/dropdownForm.tpl +4 -4
  492. package/src/form/tpl/form.tpl +7 -7
  493. package/src/form/validator/css/validator.css +7 -7
  494. package/src/form/validator/css/validator.css.map +1 -1
  495. package/src/form/validator/renderer.js +118 -118
  496. package/src/form/validator/scss/validator.scss +14 -14
  497. package/src/form/validator/tpl/message.tpl +1 -1
  498. package/src/form/validator/tpl/validator.tpl +1 -1
  499. package/src/form/validator/validator.js +220 -220
  500. package/src/form/widget/css/widget.css +7 -7
  501. package/src/form/widget/css/widget.css.map +1 -1
  502. package/src/form/widget/definitions.js +51 -51
  503. package/src/form/widget/loader.js +40 -40
  504. package/src/form/widget/providers/checkBox.js +138 -138
  505. package/src/form/widget/providers/comboBox.js +63 -63
  506. package/src/form/widget/providers/default.js +90 -90
  507. package/src/form/widget/providers/hidden.js +62 -62
  508. package/src/form/widget/providers/hiddenBox.js +152 -152
  509. package/src/form/widget/providers/radioBox.js +99 -99
  510. package/src/form/widget/providers/textArea.js +52 -52
  511. package/src/form/widget/providers/textBox.js +48 -48
  512. package/src/form/widget/scss/widget.scss +55 -55
  513. package/src/form/widget/tpl/checkBox.tpl +25 -25
  514. package/src/form/widget/tpl/comboBox.tpl +13 -13
  515. package/src/form/widget/tpl/hidden.tpl +1 -1
  516. package/src/form/widget/tpl/hiddenBox.tpl +17 -17
  517. package/src/form/widget/tpl/label.tpl +6 -6
  518. package/src/form/widget/tpl/radioBox.tpl +25 -25
  519. package/src/form/widget/tpl/textArea.tpl +8 -8
  520. package/src/form/widget/tpl/widget.tpl +8 -8
  521. package/src/form/widget/widget.js +372 -372
  522. package/src/form.js +47 -47
  523. package/src/formValidator/formValidator.js +253 -253
  524. package/src/formValidator/highlighters/highlighter.js +103 -103
  525. package/src/formValidator/highlighters/message.js +68 -68
  526. package/src/formValidator/highlighters/tooltip.js +78 -78
  527. package/src/generis/form/css/form.css +7 -7
  528. package/src/generis/form/css/form.css.map +1 -1
  529. package/src/generis/form/form.js +239 -239
  530. package/src/generis/form/readme.md +70 -70
  531. package/src/generis/form/scss/form.scss +23 -23
  532. package/src/generis/form/tpl/form.tpl +16 -16
  533. package/src/generis/validator/css/validator.css +7 -7
  534. package/src/generis/validator/css/validator.css.map +1 -1
  535. package/src/generis/validator/readme.md +46 -46
  536. package/src/generis/validator/scss/validator.scss +13 -13
  537. package/src/generis/validator/validator.js +128 -128
  538. package/src/generis/widget/checkBox/checkBox.js +112 -112
  539. package/src/generis/widget/checkBox/checkBox.tpl +18 -18
  540. package/src/generis/widget/comboBox/comboBox.js +66 -66
  541. package/src/generis/widget/comboBox/comboBox.tpl +12 -12
  542. package/src/generis/widget/css/widget.css +7 -7
  543. package/src/generis/widget/css/widget.css.map +1 -1
  544. package/src/generis/widget/hiddenBox/hiddenBox.js +131 -131
  545. package/src/generis/widget/hiddenBox/hiddenBox.tpl +16 -16
  546. package/src/generis/widget/loader.js +49 -49
  547. package/src/generis/widget/readme.md +59 -59
  548. package/src/generis/widget/scss/widget.scss +61 -61
  549. package/src/generis/widget/textBox/textBox.js +64 -64
  550. package/src/generis/widget/textBox/textBox.tpl +7 -7
  551. package/src/generis/widget/widget.js +164 -164
  552. package/src/generis/widget/widget.tpl +5 -5
  553. package/src/groupedComboBox.js +99 -99
  554. package/src/groupvalidator.js +84 -84
  555. package/src/hider.js +88 -88
  556. package/src/highlighter.js +1192 -1192
  557. package/src/image/ImgStateActive/extractLabel.js +29 -29
  558. package/src/image/ImgStateActive/helper.js +36 -36
  559. package/src/image/ImgStateActive/initHelper.js +137 -137
  560. package/src/image/ImgStateActive/initMediaEditor.js +92 -92
  561. package/src/image/ImgStateActive/mediaSizer.js +63 -63
  562. package/src/image/ImgStateActive.js +115 -115
  563. package/src/incrementer.js +309 -309
  564. package/src/inplacer.js +315 -315
  565. package/src/interactUtils.js +140 -140
  566. package/src/itemButtonList/css/item-button-list.css +23 -23
  567. package/src/itemButtonList/css/item-button-list.css.map +1 -1
  568. package/src/itemButtonList/scss/item-button-list.scss +236 -236
  569. package/src/itemButtonList/tpl/itemButtonList.tpl +21 -21
  570. package/src/itemButtonList.js +274 -274
  571. package/src/keyNavigation/navigableDomElement.js +285 -285
  572. package/src/keyNavigation/navigator.js +535 -535
  573. package/src/listbox/css/listbox.css +7 -7
  574. package/src/listbox/css/listbox.css.map +1 -1
  575. package/src/listbox/scss/listbox.scss +116 -116
  576. package/src/listbox/tpl/list.tpl +14 -14
  577. package/src/listbox/tpl/main.tpl +9 -9
  578. package/src/listbox.js +252 -252
  579. package/src/liststyler.js +155 -155
  580. package/src/loadingButton/css/button.css +7 -7
  581. package/src/loadingButton/css/button.css.map +1 -1
  582. package/src/loadingButton/loadingButton.js +110 -110
  583. package/src/loadingButton/scss/button.scss +41 -41
  584. package/src/loadingButton/tpl/button.tpl +5 -5
  585. package/src/lock/lock.tpl +16 -16
  586. package/src/lock.js +393 -393
  587. package/src/login/login.js +317 -317
  588. package/src/login/tpl/login.tpl +29 -29
  589. package/src/login/tpl/passwordReveal.tpl +7 -7
  590. package/src/maths/calculator/basicCalculator.js +55 -55
  591. package/src/maths/calculator/calculatorComponent.js +128 -128
  592. package/src/maths/calculator/core/areaBroker.js +38 -38
  593. package/src/maths/calculator/core/board.js +841 -841
  594. package/src/maths/calculator/core/expression.js +430 -430
  595. package/src/maths/calculator/core/labels.js +116 -116
  596. package/src/maths/calculator/core/plugin.js +40 -40
  597. package/src/maths/calculator/core/terms.js +459 -459
  598. package/src/maths/calculator/core/tokenizer.js +245 -245
  599. package/src/maths/calculator/core/tokens.js +178 -178
  600. package/src/maths/calculator/core/tpl/board.tpl +4 -4
  601. package/src/maths/calculator/css/calculator.css +7 -7
  602. package/src/maths/calculator/css/calculator.css.map +1 -1
  603. package/src/maths/calculator/defaultCalculator.js +66 -66
  604. package/src/maths/calculator/plugins/core/degrad.js +90 -90
  605. package/src/maths/calculator/plugins/core/history.js +166 -166
  606. package/src/maths/calculator/plugins/core/remind.js +96 -96
  607. package/src/maths/calculator/plugins/core/stepNavigation.js +175 -175
  608. package/src/maths/calculator/plugins/keyboard/templateKeyboard/defaultTemplate.tpl +36 -36
  609. package/src/maths/calculator/plugins/keyboard/templateKeyboard/templateKeyboard.js +91 -91
  610. package/src/maths/calculator/plugins/modifiers/pow10.js +143 -143
  611. package/src/maths/calculator/plugins/modifiers/sign.js +339 -339
  612. package/src/maths/calculator/plugins/screen/simpleScreen/defaultTemplate.tpl +3 -3
  613. package/src/maths/calculator/plugins/screen/simpleScreen/history.tpl +3 -3
  614. package/src/maths/calculator/plugins/screen/simpleScreen/simpleScreen.js +190 -190
  615. package/src/maths/calculator/pluginsLoader.js +46 -46
  616. package/src/maths/calculator/scientificCalculator.js +74 -74
  617. package/src/maths/calculator/scss/calculator.scss +396 -396
  618. package/src/maths/calculator/tpl/basicKeyboard.tpl +37 -37
  619. package/src/maths/calculator/tpl/basicScreen.tpl +2 -2
  620. package/src/maths/calculator/tpl/scientificKeyboard.tpl +61 -61
  621. package/src/maths/calculator/tpl/scientificScreen.tpl +3 -3
  622. package/src/mediaEditor/mediaEditorComponent.js +141 -141
  623. package/src/mediaEditor/plugins/mediaAlignment/helper.js +110 -110
  624. package/src/mediaEditor/plugins/mediaAlignment/mediaAlignmentComponent.js +99 -99
  625. package/src/mediaEditor/plugins/mediaAlignment/style.css +7 -7
  626. package/src/mediaEditor/plugins/mediaAlignment/tpl/mediaAlignment.tpl +25 -25
  627. package/src/mediaEditor/plugins/mediaDimension/helper.js +190 -190
  628. package/src/mediaEditor/plugins/mediaDimension/mediaDimensionComponent.js +561 -561
  629. package/src/mediaEditor/plugins/mediaDimension/style.css +141 -141
  630. package/src/mediaEditor/plugins/mediaDimension/tpl/mediaDimension.tpl +55 -55
  631. package/src/mediaEditor/tpl/editor.tpl +4 -4
  632. package/src/mediaplayer/css/player.css +7 -7
  633. package/src/mediaplayer/css/player.css.map +1 -1
  634. package/src/mediaplayer/players/html5.js +564 -564
  635. package/src/mediaplayer/players/youtube.js +323 -323
  636. package/src/mediaplayer/players.js +29 -29
  637. package/src/mediaplayer/readme.md +305 -305
  638. package/src/mediaplayer/scss/player.scss +569 -569
  639. package/src/mediaplayer/support.js +126 -126
  640. package/src/mediaplayer/tpl/audio.tpl +6 -6
  641. package/src/mediaplayer/tpl/player.tpl +37 -37
  642. package/src/mediaplayer/tpl/source.tpl +1 -1
  643. package/src/mediaplayer/tpl/video.tpl +6 -6
  644. package/src/mediaplayer/tpl/youtube.tpl +1 -1
  645. package/src/mediaplayer/utils/reminder.js +184 -184
  646. package/src/mediaplayer/utils/timeObserver.js +143 -143
  647. package/src/mediaplayer/youtubeManager.js +161 -161
  648. package/src/mediaplayer.js +1606 -1606
  649. package/src/mediasizer/mediasizer.tpl +55 -55
  650. package/src/mediasizer.js +635 -635
  651. package/src/modal.js +365 -365
  652. package/src/movableComponent.js +78 -78
  653. package/src/pageSizeSelector/tpl/pageSizeSelector.tpl +9 -9
  654. package/src/pageSizeSelector.js +106 -106
  655. package/src/pageStatus.js +147 -147
  656. package/src/pagination/css/pagination.css +7 -7
  657. package/src/pagination/css/pagination.css.map +1 -1
  658. package/src/pagination/paginationStrategy.js +53 -53
  659. package/src/pagination/providers/pages.js +161 -161
  660. package/src/pagination/providers/simple.js +74 -74
  661. package/src/pagination/providers/tpl/pages/page.tpl +1 -1
  662. package/src/pagination/providers/tpl/pages.tpl +8 -8
  663. package/src/pagination/providers/tpl/simple.tpl +7 -7
  664. package/src/pagination/scss/pagination.scss +111 -111
  665. package/src/pagination.js +237 -237
  666. package/src/previewer.js +300 -300
  667. package/src/progressbar.js +165 -165
  668. package/src/propertySelector/css/propertySelector.css +7 -7
  669. package/src/propertySelector/css/propertySelector.css.map +1 -1
  670. package/src/propertySelector/propertySelector.js +286 -286
  671. package/src/propertySelector/scss/propertySelector.scss +66 -66
  672. package/src/propertySelector/tpl/property-description.tpl +12 -12
  673. package/src/propertySelector/tpl/property-selector.tpl +6 -6
  674. package/src/report/feedback.tpl +11 -11
  675. package/src/report/layout.tpl +10 -10
  676. package/src/report.js +184 -184
  677. package/src/resource/css/selector.css +7 -7
  678. package/src/resource/css/selector.css.map +1 -1
  679. package/src/resource/filters.js +208 -208
  680. package/src/resource/list.js +200 -200
  681. package/src/resource/scss/_filters.scss +26 -26
  682. package/src/resource/scss/_resource-list.scss +107 -107
  683. package/src/resource/scss/_resource-tree.scss +205 -205
  684. package/src/resource/scss/selector.scss +187 -187
  685. package/src/resource/selectable.js +322 -322
  686. package/src/resource/selector.js +871 -871
  687. package/src/resource/tpl/filters.tpl +2 -2
  688. package/src/resource/tpl/list.tpl +7 -7
  689. package/src/resource/tpl/listNode.tpl +4 -4
  690. package/src/resource/tpl/selector.tpl +46 -46
  691. package/src/resource/tpl/tree.tpl +4 -4
  692. package/src/resource/tpl/treeNode.tpl +30 -30
  693. package/src/resource/tree.js +398 -398
  694. package/src/resourcemgr/css/resourcemgr.css +7 -7
  695. package/src/resourcemgr/css/resourcemgr.css.map +1 -1
  696. package/src/resourcemgr/fileBrowser.js +381 -381
  697. package/src/resourcemgr/filePreview.js +73 -73
  698. package/src/resourcemgr/fileSelector.js +322 -322
  699. package/src/resourcemgr/scss/resourcemgr.scss +254 -254
  700. package/src/resourcemgr/tpl/fileSelect.tpl +39 -39
  701. package/src/resourcemgr/tpl/folder.tpl +11 -11
  702. package/src/resourcemgr/tpl/layout.tpl +84 -84
  703. package/src/resourcemgr/tpl/rootFolder.tpl +13 -13
  704. package/src/resourcemgr/util/updatePermissions.js +53 -53
  705. package/src/resourcemgr.js +216 -216
  706. package/src/scroller.js +94 -94
  707. package/src/scss/basic.scss +16 -16
  708. package/src/searchModal/advancedSearch.js +638 -638
  709. package/src/searchModal/css/advancedSearch.css +7 -7
  710. package/src/searchModal/css/advancedSearch.css.map +1 -1
  711. package/src/searchModal/css/searchModal.css +7 -7
  712. package/src/searchModal/css/searchModal.css.map +1 -1
  713. package/src/searchModal/scss/advancedSearch.scss +171 -171
  714. package/src/searchModal/scss/searchModal.scss +393 -393
  715. package/src/searchModal/tpl/advanced-search.tpl +9 -9
  716. package/src/searchModal/tpl/info-message.tpl +3 -3
  717. package/src/searchModal/tpl/invalid-criteria-warning.tpl +10 -10
  718. package/src/searchModal/tpl/layout.tpl +27 -27
  719. package/src/searchModal/tpl/list-checkbox-criterion.tpl +17 -17
  720. package/src/searchModal/tpl/list-select-criterion.tpl +12 -12
  721. package/src/searchModal/tpl/text-criterion.tpl +11 -11
  722. package/src/searchModal.js +760 -760
  723. package/src/selecter.js +43 -43
  724. package/src/stacker.js +133 -133
  725. package/src/switch/css/switch.css +7 -7
  726. package/src/switch/css/switch.css.map +1 -1
  727. package/src/switch/scss/switch.scss +83 -83
  728. package/src/switch/switch.js +195 -195
  729. package/src/switch/tpl/switch.tpl +7 -7
  730. package/src/tableModel.js +112 -112
  731. package/src/tabs/css/tabs.css +12 -12
  732. package/src/tabs/css/tabs.css.map +1 -1
  733. package/src/tabs/scss/tabs.scss +50 -50
  734. package/src/tabs/tpl/panel.tpl +3 -3
  735. package/src/tabs/tpl/tabs.tpl +10 -10
  736. package/src/tabs.js +528 -528
  737. package/src/taskQueue/css/taskQueue.css +7 -7
  738. package/src/taskQueue/css/taskQueue.css.map +1 -1
  739. package/src/taskQueue/scss/taskQueue.scss +47 -47
  740. package/src/taskQueue/status.js +228 -228
  741. package/src/taskQueue/table.js +350 -350
  742. package/src/taskQueue/taskQueue.js +33 -33
  743. package/src/taskQueue/taskQueueModel.js +548 -548
  744. package/src/taskQueue/tpl/statusMessage.tpl +7 -7
  745. package/src/taskQueue.js +216 -216
  746. package/src/taskQueueButton/css/taskable.css +7 -7
  747. package/src/taskQueueButton/css/taskable.css.map +1 -1
  748. package/src/taskQueueButton/css/treeButton.css +7 -7
  749. package/src/taskQueueButton/css/treeButton.css.map +1 -1
  750. package/src/taskQueueButton/scss/taskable.scss +4 -4
  751. package/src/taskQueueButton/scss/treeButton.scss +34 -34
  752. package/src/taskQueueButton/standardButton.js +108 -108
  753. package/src/taskQueueButton/taskable.js +202 -202
  754. package/src/taskQueueButton/tpl/report.tpl +5 -5
  755. package/src/taskQueueButton/tpl/treeButton.tpl +6 -6
  756. package/src/taskQueueButton/treeButton.js +108 -108
  757. package/src/themeLoader.js +252 -252
  758. package/src/themes.js +162 -162
  759. package/src/toggler.js +200 -200
  760. package/src/tooltip/default.tpl +3 -3
  761. package/src/tooltip.js +160 -160
  762. package/src/tooltipster.js +25 -25
  763. package/src/transformer.js +327 -327
  764. package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css +7 -7
  765. package/src/tristateCheckboxGroup/css/tristateCheckboxGroup.css.map +1 -1
  766. package/src/tristateCheckboxGroup/scss/tristateCheckboxGroup.scss +15 -15
  767. package/src/tristateCheckboxGroup/tpl/li.tpl +6 -6
  768. package/src/tristateCheckboxGroup.js +207 -207
  769. package/src/uploader/fileEntry.tpl +6 -6
  770. package/src/uploader/uploader.tpl +32 -32
  771. package/src/uploader.js +594 -594
  772. package/src/validator/Report.js +10 -10
  773. package/src/validator/Validator.js +108 -108
  774. package/src/validator/validators.js +217 -217
  775. package/src/validator.js +262 -262
  776. package/src/waitForMedia.js +82 -82
  777. package/src/waitingDialog/css/waitingDialog.css +7 -7
  778. package/src/waitingDialog/css/waitingDialog.css.map +1 -1
  779. package/src/waitingDialog/scss/waitingDialog.scss +34 -34
  780. package/src/waitingDialog/waitingDialog.js +240 -240
@@ -3,47 +3,47 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
3
3
  _ = _ && Object.prototype.hasOwnProperty.call(_, 'default') ? _['default'] : _;
4
4
  $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
5
5
 
6
- /**
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the GNU General Public License
9
- * as published by the Free Software Foundation; under version 2
10
- * of the License (non-upgradable).
11
- *
12
- * This program is distributed in the hope that it will be useful,
13
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- * GNU General Public License for more details.
16
- *
17
- * You should have received a copy of the GNU General Public License
18
- * along with this program; if not, write to the Free Software
19
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
- *
21
- * Copyright (c) 2016-2021 (original work) Open Assessment Technologies SA;
6
+ /**
7
+ * This program is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU General Public License
9
+ * as published by the Free Software Foundation; under version 2
10
+ * of the License (non-upgradable).
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
+ *
21
+ * Copyright (c) 2016-2021 (original work) Open Assessment Technologies SA;
22
22
  */
23
23
 
24
- /**
25
- * Data attribute used to logically group the wrapping nodes into a single selection
26
- * @type {string}
24
+ /**
25
+ * Data attribute used to logically group the wrapping nodes into a single selection
26
+ * @type {string}
27
27
  */
28
28
  var GROUP_ATTR = 'data-hl-group';
29
29
 
30
- /**
31
- * Children of those nodes types cannot be highlighted
32
- * @type {string[]}
30
+ /**
31
+ * Children of those nodes types cannot be highlighted
32
+ * @type {string[]}
33
33
  */
34
34
  var defaultBlackList = ['textarea', 'math', 'script', '.select2-container'];
35
35
 
36
- /**
37
- * @param {Object} options
38
- * @param {String} options.className - name of the class that will be used by the wrappers tags to highlight text
39
- * @param {String} options.containerSelector - allows to select the root Node in which highlighting is allowed
40
- * @param {Array<String>} [options.containersBlackList] - additional blacklist selectors to be added to module instance's blacklist
41
- * @param {Array<String>} [options.containersWhiteList] - whitelist selectors; supported only in `keepEmptyNodes` mode.
42
- * Priority of blacklist or whitelist is decided by which selector is closest to the node. If no match found, node is considered whitelisted.
43
- * @param {Boolean} [options.clearOnClick] - clear single highlight node on click
44
- * @param {Object} [options.colors] - keys is keeping as the "c" value of storing/restore the highlighters for indexing, values are wrappers class names
45
- * @param {Boolean} [options.keepEmptyNodes] - retain original dom structure as far as possible and do not remove empty nodes if they were not created by highlighter
46
- * @returns {Object} - the highlighter instance
36
+ /**
37
+ * @param {Object} options
38
+ * @param {String} options.className - name of the class that will be used by the wrappers tags to highlight text
39
+ * @param {String} options.containerSelector - allows to select the root Node in which highlighting is allowed
40
+ * @param {Array<String>} [options.containersBlackList] - additional blacklist selectors to be added to module instance's blacklist
41
+ * @param {Array<String>} [options.containersWhiteList] - whitelist selectors; supported only in `keepEmptyNodes` mode.
42
+ * Priority of blacklist or whitelist is decided by which selector is closest to the node. If no match found, node is considered whitelisted.
43
+ * @param {Boolean} [options.clearOnClick] - clear single highlight node on click
44
+ * @param {Object} [options.colors] - keys is keeping as the "c" value of storing/restore the highlighters for indexing, values are wrappers class names
45
+ * @param {Boolean} [options.keepEmptyNodes] - retain original dom structure as far as possible and do not remove empty nodes if they were not created by highlighter
46
+ * @returns {Object} - the highlighter instance
47
47
  */
48
48
  function highlighter (options) {
49
49
  var className = options.className;
@@ -56,10 +56,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
56
56
  highlightingClasses = Object.values(options.colors);
57
57
  }
58
58
 
59
- /**
60
- * list of node selectors which should NOT receive any highlighting from this instance
61
- * an optional passed-in blacklist is merged with local defaults
62
- * @type {Array}
59
+ /**
60
+ * list of node selectors which should NOT receive any highlighting from this instance
61
+ * an optional passed-in blacklist is merged with local defaults
62
+ * @type {Array}
63
63
  */
64
64
  const containersBlackList = _.union(defaultBlackList, options.containersBlackList);
65
65
  const containersBlackListSelector = containersBlackList.join(', ');
@@ -70,63 +70,63 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
70
70
  containersBlackAndWhiteListSelector = _.union(containersBlackList, options.containersWhiteList).join(', ');
71
71
  }
72
72
 
73
- /**
74
- * used in recursive loops to decide if we should wrap or not the current node
75
- * @type {boolean}
73
+ /**
74
+ * used in recursive loops to decide if we should wrap or not the current node
75
+ * @type {boolean}
76
76
  */
77
77
  let isWrapping = false;
78
78
 
79
- /**
80
- * performance improvement to break out of a potentially big recursive loop once the wrapping has ended
81
- * @type {boolean}
79
+ /**
80
+ * performance improvement to break out of a potentially big recursive loop once the wrapping has ended
81
+ * @type {boolean}
82
82
  */
83
83
  let hasWrapped = false;
84
84
 
85
- /**
86
- * used in recursive loops to assign a group Id to the current wrapped node
87
- * @type {number}
85
+ /**
86
+ * used in recursive loops to assign a group Id to the current wrapped node
87
+ * @type {number}
88
88
  */
89
89
  let currentGroupId;
90
90
 
91
- /**
92
- * used in recursive loops to build the index of text nodes
93
- * @type {number}
91
+ /**
92
+ * used in recursive loops to build the index of text nodes
93
+ * @type {number}
94
94
  */
95
95
  let textNodesIndex;
96
96
 
97
- /**
98
- * Returns the node in which highlighting is allowed
99
- * @returns {Element}
97
+ /**
98
+ * Returns the node in which highlighting is allowed
99
+ * @returns {Element}
100
100
  */
101
101
  function getContainer() {
102
102
  return $(containerSelector).get(0);
103
103
  }
104
104
 
105
- /**
106
- * Returns all highlighted nodes, excluding any inside blacklisted elements
107
- * @returns {JQuery<HTMLElement>}
105
+ /**
106
+ * Returns all highlighted nodes, excluding any inside blacklisted elements
107
+ * @returns {JQuery<HTMLElement>}
108
108
  */
109
109
  function getHighlightedNodes() {
110
110
  return $(containerSelector).find(`.${highlightingClasses.join(',.')}`).filter((i, node) => !isBlacklisted(node));
111
111
  }
112
112
 
113
- /**
114
- * Attach data to wrapper node.
115
- * Use it when deleting this highlight to know if highlight content should be merged with neighbour text nodes or not.
116
- * Use it when building/restoring index to know if restored highlight content should be split off neighbour text node or not.
117
- * Needed to keep markup the same as it was before highlighting.
118
- * @param {HTMLElement} node
119
- * @param {Boolean} beforeWasSplit
120
- * @param {Boolean} afterWasSplit
113
+ /**
114
+ * Attach data to wrapper node.
115
+ * Use it when deleting this highlight to know if highlight content should be merged with neighbour text nodes or not.
116
+ * Use it when building/restoring index to know if restored highlight content should be split off neighbour text node or not.
117
+ * Needed to keep markup the same as it was before highlighting.
118
+ * @param {HTMLElement} node
119
+ * @param {Boolean} beforeWasSplit
120
+ * @param {Boolean} afterWasSplit
121
121
  */
122
122
  function addSplitData(node, beforeWasSplit, afterWasSplit) {
123
123
  node.dataset.beforeWasSplit = beforeWasSplit;
124
124
  node.dataset.afterWasSplit = afterWasSplit;
125
125
  }
126
126
 
127
- /**
128
- * Highlight all text nodes within each given range
129
- * @param {Range[]} ranges - array of ranges to highlight, may be given by the helper selector.getAllRanges()
127
+ /**
128
+ * Highlight all text nodes within each given range
129
+ * @param {Range[]} ranges - array of ranges to highlight, may be given by the helper selector.getAllRanges()
130
130
  */
131
131
  function highlightRanges(ranges) {
132
132
  ranges.forEach(function (range) {
@@ -178,10 +178,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
178
178
  }
179
179
  }
180
180
 
181
- /**
182
- * Check if a range is valid
183
- * @param {Range} range
184
- * @returns {boolean}
181
+ /**
182
+ * Check if a range is valid
183
+ * @param {Range} range
184
+ * @returns {boolean}
185
185
  */
186
186
  function isRangeValid(range) {
187
187
  var rangeInContainer;
@@ -193,18 +193,18 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
193
193
  }
194
194
  }
195
195
 
196
- /**
197
- * Core wrapping function. Traverse the DOM tree and highlight (= wraps) all text nodes within the given range.
198
- * Recursive.
199
- *
200
- * @param {Node} rootNode - top of the node hierarchy in which text nodes will be searched
201
- * @param {Object} rangeInfos
202
- * @param {Node} rangeInfos.startNode - node on which the selection starts
203
- * @param {Node} rangeInfos.startNodeContainer - container of the startNode, or the start node itself in case of text nodes
204
- * @param {number} rangeInfos.startOffset - same as range.startOffset, but not read-only to allow override
205
- * @param {Node} rangeInfos.endNode - node on which the selection ends
206
- * @param {Node} rangeInfos.endNodeContainer - container of the endNode, or the end node itself in case of text nodes
207
- * @param {number} rangeInfos.endOffset - same as range.endOffset, but not read-only to allow override
196
+ /**
197
+ * Core wrapping function. Traverse the DOM tree and highlight (= wraps) all text nodes within the given range.
198
+ * Recursive.
199
+ *
200
+ * @param {Node} rootNode - top of the node hierarchy in which text nodes will be searched
201
+ * @param {Object} rangeInfos
202
+ * @param {Node} rangeInfos.startNode - node on which the selection starts
203
+ * @param {Node} rangeInfos.startNodeContainer - container of the startNode, or the start node itself in case of text nodes
204
+ * @param {number} rangeInfos.startOffset - same as range.startOffset, but not read-only to allow override
205
+ * @param {Node} rangeInfos.endNode - node on which the selection ends
206
+ * @param {Node} rangeInfos.endNodeContainer - container of the endNode, or the end node itself in case of text nodes
207
+ * @param {number} rangeInfos.endOffset - same as range.endOffset, but not read-only to allow override
208
208
  */
209
209
  function wrapTextNodesInRange(rootNode, rangeInfos) {
210
210
  var childNodes = rootNode.childNodes;
@@ -315,12 +315,12 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
315
315
  }
316
316
  }
317
317
 
318
- /**
319
- * Restructure content of the highlighted wrapper according to the selectedRange
320
- * @param {Node} textNode
321
- * @param {string} activeClass
322
- * @param {Range} selectedRange
323
- * @param {number} groupId
318
+ /**
319
+ * Restructure content of the highlighted wrapper according to the selectedRange
320
+ * @param {Node} textNode
321
+ * @param {string} activeClass
322
+ * @param {Range} selectedRange
323
+ * @param {number} groupId
324
324
  */
325
325
  function highlightContainerNodes(textNode, activeClass, selectedRange, groupId) {
326
326
  const container = textNode.parentNode;
@@ -329,46 +329,46 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
329
329
  const isSelectionCoversNodeStart = range.compareBoundaryPoints(Range.START_TO_START, selectedRange) === 0;
330
330
  const isSelectionCoversNodeEnd = range.compareBoundaryPoints(Range.END_TO_END, selectedRange) === 0;
331
331
 
332
- /*
333
- There are 4 possible cases selected area is intersected with already highlighted element.
334
- In examples below the border is represents the selection, "yellow" is class name of already highlighted
335
- container, "red" is class name of currently active highlighter
336
- **********************************************************************************************************
337
- 1. The container content is completely selected, so that we only have to change the highlighter class name
338
- Input:
339
- __________________________________________________
340
- | |
341
- |<span class="yellow"> Lorem ipsum dolor sit</span>|
342
- |__________________________________________________|
343
- Output:
344
- <span class="red"> Lorem ipsum dolor sit</span>
345
- **********************************************************************************************************
346
- 2. The container content is partially selected from the begging.
347
- Input:
348
- ______________________________
349
- | |
350
- |<span class="yellow"> Lorem ip|sum dolor sit</span>
351
- |______________________________|
352
- Output:
353
- <span class="red"> Lorem ip</span><span class="yellow">sum dolor sit</span>
354
- **********************************************************************************************************
355
- 3. The container content is partially selected at the end.
356
- Input:
357
- ____________________
358
- | |
359
- <span class="yellow"> Lorem ip|sum dolor sit</span>|
360
- |____________________|
361
- Output:
362
- <span class="yellow"> Lorem ip</span><span class="red">sum dolor sit</span>
363
- **********************************************************************************************************
364
- 4. The container content is partially selected in the middle.
365
- Input:
366
- ___________
367
- | |
368
- <span class="yellow"> Lorem |ipsum dolor| sit</span>
369
- |___________|
370
- Output:
371
- <span class="yellow"> Lorem </span><span class="red">ipsum dolor</span><span class="yellow"> sit</span>
332
+ /*
333
+ There are 4 possible cases selected area is intersected with already highlighted element.
334
+ In examples below the border is represents the selection, "yellow" is class name of already highlighted
335
+ container, "red" is class name of currently active highlighter
336
+ **********************************************************************************************************
337
+ 1. The container content is completely selected, so that we only have to change the highlighter class name
338
+ Input:
339
+ __________________________________________________
340
+ | |
341
+ |<span class="yellow"> Lorem ipsum dolor sit</span>|
342
+ |__________________________________________________|
343
+ Output:
344
+ <span class="red"> Lorem ipsum dolor sit</span>
345
+ **********************************************************************************************************
346
+ 2. The container content is partially selected from the begging.
347
+ Input:
348
+ ______________________________
349
+ | |
350
+ |<span class="yellow"> Lorem ip|sum dolor sit</span>
351
+ |______________________________|
352
+ Output:
353
+ <span class="red"> Lorem ip</span><span class="yellow">sum dolor sit</span>
354
+ **********************************************************************************************************
355
+ 3. The container content is partially selected at the end.
356
+ Input:
357
+ ____________________
358
+ | |
359
+ <span class="yellow"> Lorem ip|sum dolor sit</span>|
360
+ |____________________|
361
+ Output:
362
+ <span class="yellow"> Lorem ip</span><span class="red">sum dolor sit</span>
363
+ **********************************************************************************************************
364
+ 4. The container content is partially selected in the middle.
365
+ Input:
366
+ ___________
367
+ | |
368
+ <span class="yellow"> Lorem |ipsum dolor| sit</span>
369
+ |___________|
370
+ Output:
371
+ <span class="yellow"> Lorem </span><span class="red">ipsum dolor</span><span class="yellow"> sit</span>
372
372
  */
373
373
  if (isSelectionCoversNodeStart && isSelectionCoversNodeEnd) {
374
374
  textNode.parentNode.className = activeClass;
@@ -384,13 +384,13 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
384
384
  }
385
385
  }
386
386
 
387
- /**
388
- * Wraps all containers text nodes with highlighter element.
389
- * The child node with index given by indexToWrapNode parameter will be wrap with class given by activeClass parameter
390
- * @param {Element} container
391
- * @param {number} indexToWrapNode
392
- * @param {string} activeClass
393
- * @param {number} groupId
387
+ /**
388
+ * Wraps all containers text nodes with highlighter element.
389
+ * The child node with index given by indexToWrapNode parameter will be wrap with class given by activeClass parameter
390
+ * @param {Element} container
391
+ * @param {number} indexToWrapNode
392
+ * @param {string} activeClass
393
+ * @param {number} groupId
394
394
  */
395
395
  function wrapContainerChildNodes(container, indexToWrapNode, activeClass, groupId) {
396
396
  const containerClass = container.className;
@@ -411,11 +411,11 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
411
411
  container.replaceWith(fragment);
412
412
  }
413
413
 
414
- /**
415
- * wraps a text node into the highlight span
416
- * @param {Node} node - the node to wrap
417
- * @param {number} groupId - the highlight group
418
- * @returns {Node|null} wrapper node, if it was created
414
+ /**
415
+ * wraps a text node into the highlight span
416
+ * @param {Node} node - the node to wrap
417
+ * @param {number} groupId - the highlight group
418
+ * @returns {Node|null} wrapper node, if it was created
419
419
  */
420
420
  function wrapTextNode(node, groupId) {
421
421
  if (isWrapping && !isWrappingNode(node.parentNode) && isWrappable(node)) {
@@ -425,11 +425,11 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
425
425
  return null;
426
426
  }
427
427
 
428
- /**
429
- * We need to re-index the groups after a user highlight: either to merge groups or to resolve inconsistencies
430
- * Recursive.
431
- *
432
- * @param {Node} rootNode
428
+ /**
429
+ * We need to re-index the groups after a user highlight: either to merge groups or to resolve inconsistencies
430
+ * Recursive.
431
+ *
432
+ * @param {Node} rootNode
433
433
  */
434
434
  function reindexGroups(rootNode) {
435
435
  if (!rootNode) {
@@ -456,10 +456,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
456
456
  }
457
457
  }
458
458
 
459
- /**
460
- * Some highlights may result in having adjacent wrapping nodes. We remove them here to get a cleaner markup.
461
- *
462
- * @param {Node} rootNode
459
+ /**
460
+ * Some highlights may result in having adjacent wrapping nodes. We remove them here to get a cleaner markup.
461
+ *
462
+ * @param {Node} rootNode
463
463
  */
464
464
  function mergeAdjacentWrappingNodes(rootNode) {
465
465
  if (!rootNode) {
@@ -489,8 +489,8 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
489
489
  }
490
490
  }
491
491
 
492
- /**
493
- * Unwraps highlighted nodes with a line break or with an empty content
492
+ /**
493
+ * Unwraps highlighted nodes with a line break or with an empty content
494
494
  */
495
495
  function unWrapEmptyHighlights() {
496
496
  getHighlightedNodes().each((index, node) => {
@@ -505,13 +505,13 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
505
505
  });
506
506
  }
507
507
 
508
- /**
509
- * Check condition to avoid the work of `unwrapEmptyHighlights` ahead of time, before `mergeAdjacentNodes` runs,
510
- * because in `keepEmptyNodes` case we do not want to add nodes to dom unless necessary.
511
- * Also be more strict and don't allow to select nodes with spaces only, because they may appear in unexpected places in markup
512
- * (here it's not exactly same as `unwrapEmptyHighlights`).
513
- * @param {Node} node - node which will be wrapped (highlighted)
514
- * @returns {Boolean}
508
+ /**
509
+ * Check condition to avoid the work of `unwrapEmptyHighlights` ahead of time, before `mergeAdjacentNodes` runs,
510
+ * because in `keepEmptyNodes` case we do not want to add nodes to dom unless necessary.
511
+ * Also be more strict and don't allow to select nodes with spaces only, because they may appear in unexpected places in markup
512
+ * (here it's not exactly same as `unwrapEmptyHighlights`).
513
+ * @param {Node} node - node which will be wrapped (highlighted)
514
+ * @returns {Boolean}
515
515
  */
516
516
  function willHighlightNotBeEmptyAfterMerge(node) {
517
517
  if (!node.textContent.length) {
@@ -533,12 +533,12 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
533
533
  return false;
534
534
  }
535
535
 
536
- /**
537
- * `range.surroundContents` can create empty text nodes,
538
- * which will cause trouble in `mergeAdjacentNodes` later (in `keepEmptyNodes` case).
539
- * This method surrounds range, then removes those nodes
540
- * @param {Range} range
541
- * @param {Node} wrapperNode
536
+ /**
537
+ * `range.surroundContents` can create empty text nodes,
538
+ * which will cause trouble in `mergeAdjacentNodes` later (in `keepEmptyNodes` case).
539
+ * This method surrounds range, then removes those nodes
540
+ * @param {Range} range
541
+ * @param {Node} wrapperNode
542
542
  */
543
543
  function rangeSurroundContentsNoEmptyNodes(range, wrapperNode) {
544
544
  const containerPreviousSibling = range.commonAncestorContainer.previousSibling;
@@ -548,10 +548,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
548
548
  removeEmptyTextNodeIfDifferent(wrapperNode.nextSibling, containerNextSibling);
549
549
  }
550
550
 
551
- /**
552
- * Remove `node`, if it's an empty text node and is *not* the same node as `nodeToCompare`
553
- * @param {Node} node
554
- * @param {Node} nodeToCompare
551
+ /**
552
+ * Remove `node`, if it's an empty text node and is *not* the same node as `nodeToCompare`
553
+ * @param {Node} node
554
+ * @param {Node} nodeToCompare
555
555
  */
556
556
  function removeEmptyTextNodeIfDifferent(node, nodeToCompare) {
557
557
  if (node && node !== nodeToCompare && isText(node) && node.textContent.length === 0) {
@@ -559,8 +559,8 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
559
559
  }
560
560
  }
561
561
 
562
- /**
563
- * Remove all wrapping nodes from markup
562
+ /**
563
+ * Remove all wrapping nodes from markup
564
564
  */
565
565
  function clearHighlights() {
566
566
  getHighlightedNodes().each(function (i, elem) {
@@ -575,8 +575,8 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
575
575
  });
576
576
  }
577
577
 
578
- /**
579
- * Remove unwrap dom node
578
+ /**
579
+ * Remove unwrap dom node
580
580
  */
581
581
  function clearSingleHighlight(e) {
582
582
  if (!keepEmptyNodes) {
@@ -619,21 +619,21 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
619
619
  }
620
620
  }
621
621
 
622
- /**
623
- * Index-related functions:
624
- * ========================
625
- * To allow saving and restoring highlights on an equivalent, but different, DOM tree (for example if the markup is deleted and re-created)
626
- * we build an index containing the status of each text node:
627
- * - not highlighted
628
- * - fully highlighted
629
- * - partially highlighted (= with inline ranges)
630
- *
631
- * This index will be used to restore a selection on the new DOM tree
622
+ /**
623
+ * Index-related functions:
624
+ * ========================
625
+ * To allow saving and restoring highlights on an equivalent, but different, DOM tree (for example if the markup is deleted and re-created)
626
+ * we build an index containing the status of each text node:
627
+ * - not highlighted
628
+ * - fully highlighted
629
+ * - partially highlighted (= with inline ranges)
630
+ *
631
+ * This index will be used to restore a selection on the new DOM tree
632
632
  */
633
633
 
634
- /**
635
- * Bootstrap the process of building the highlight index
636
- * @returns {Object[]|BuildModelResultKeepEmpty|null}
634
+ /**
635
+ * Bootstrap the process of building the highlight index
636
+ * @returns {Object[]|BuildModelResultKeepEmpty|null}
637
637
  */
638
638
  function getHighlightIndex() {
639
639
  var rootNode = getContainer();
@@ -654,10 +654,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
654
654
  }
655
655
  }
656
656
 
657
- /**
658
- * Traverse the DOM tree to create the text Nodes index. Recursive.
659
- * @param {Node} rootNode
660
- * @param {Object[]} highlightIndex
657
+ /**
658
+ * Traverse the DOM tree to create the text Nodes index. Recursive.
659
+ * @param {Node} rootNode
660
+ * @param {Object[]} highlightIndex
661
661
  */
662
662
  function buildHighlightIndex(rootNode, highlightIndex) {
663
663
  const childNodes = rootNode.childNodes;
@@ -726,26 +726,26 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
726
726
  }
727
727
  }
728
728
 
729
- /**
730
- * @typedef HighlightEntryKeepEmpty
731
- * @property {String} groupId
732
- * @property {String} c - color
733
- * @property {Number} offsetBefore
734
- * @property {Number} textLength
735
- * @property {String} beforeWasSplit
736
- * @property {String} afterWasSplit
737
- * @property {Array<Number>} path - on each level from root container to highlight, index among siblings
729
+ /**
730
+ * @typedef HighlightEntryKeepEmpty
731
+ * @property {String} groupId
732
+ * @property {String} c - color
733
+ * @property {Number} offsetBefore
734
+ * @property {Number} textLength
735
+ * @property {String} beforeWasSplit
736
+ * @property {String} afterWasSplit
737
+ * @property {Array<Number>} path - on each level from root container to highlight, index among siblings
738
738
  */
739
- /**
740
- * @typedef BuildModelResultKeepEmpty
741
- * @property {HighlightEntryKeepEmpty[]} highlightModel
742
- * @property {NodeList} wrapperNodes
739
+ /**
740
+ * @typedef BuildModelResultKeepEmpty
741
+ * @property {HighlightEntryKeepEmpty[]} highlightModel
742
+ * @property {NodeList} wrapperNodes
743
743
  */
744
- /**
745
- * For `keepEmptyNodes` option, creates data model of highlights.
746
- * Additionally returns array of highlight nodes. Traverses DOM tree.
747
- * @param {Node} rootNode
748
- * @returns {BuildModelResultKeepEmpty|null} result
744
+ /**
745
+ * For `keepEmptyNodes` option, creates data model of highlights.
746
+ * Additionally returns array of highlight nodes. Traverses DOM tree.
747
+ * @param {Node} rootNode
748
+ * @returns {BuildModelResultKeepEmpty|null} result
749
749
  */
750
750
  function buildHighlightModelKeepEmpty(rootNode) {
751
751
  const classNames = options.colors ? Object.values(options.colors) : [className];
@@ -802,9 +802,9 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
802
802
  };
803
803
  }
804
804
 
805
- /**
806
- * Bootstrap the process of restoring the highlights from an index
807
- * @param {Object[]|HighlightEntryKeepEmpty[]|null} highlightIndex
805
+ /**
806
+ * Bootstrap the process of restoring the highlights from an index
807
+ * @param {Object[]|HighlightEntryKeepEmpty[]|null} highlightIndex
808
808
  */
809
809
  function highlightFromIndex(highlightIndex) {
810
810
  var rootNode = getContainer();
@@ -819,10 +819,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
819
819
  }
820
820
  }
821
821
 
822
- /**
823
- * Traverse the DOM tree to wraps the text nodes according to the highlight index. Recursive.
824
- * @param {Node} rootNode
825
- * @param {Object[]} highlightIndex
822
+ /**
823
+ * Traverse the DOM tree to wraps the text nodes according to the highlight index. Recursive.
824
+ * @param {Node} rootNode
825
+ * @param {Object[]} highlightIndex
826
826
  */
827
827
  function restoreHighlight(rootNode, highlightIndex) {
828
828
  var childNodes = rootNode.childNodes;
@@ -863,11 +863,11 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
863
863
  }
864
864
  }
865
865
 
866
- /**
867
- * For `keepEmptyNodes` option, wraps the text nodes according to highlights data model.
868
- * Traverses and updates DOM tree. Shouldn't throw errors in case of mismatches.
869
- * @param {Node} rootNode
870
- * @param {HighlightEntryKeepEmpty[]|null} highlightModel
866
+ /**
867
+ * For `keepEmptyNodes` option, wraps the text nodes according to highlights data model.
868
+ * Traverses and updates DOM tree. Shouldn't throw errors in case of mismatches.
869
+ * @param {Node} rootNode
870
+ * @param {HighlightEntryKeepEmpty[]|null} highlightModel
871
871
  */
872
872
  function restoreHighlightKeepEmpty(rootNode, highlightModel) {
873
873
  if (!highlightModel) {
@@ -933,9 +933,9 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
933
933
  }
934
934
  }
935
935
 
936
- /**
937
- * Set highlighter color
938
- * @param {string} color Active highlighter color
936
+ /**
937
+ * Set highlighter color
938
+ * @param {string} color Active highlighter color
939
939
  */
940
940
  function setActiveColor(color) {
941
941
  if (options.colors[color]) {
@@ -943,24 +943,24 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
943
943
  }
944
944
  }
945
945
 
946
- /**
947
- * Helpers
946
+ /**
947
+ * Helpers
948
948
  */
949
949
 
950
- /**
951
- * Return the object key contains the given value
952
- * @param {Object} object
953
- * @param {any} value
954
- * @return {string|undefined}
950
+ /**
951
+ * Return the object key contains the given value
952
+ * @param {Object} object
953
+ * @param {any} value
954
+ * @return {string|undefined}
955
955
  */
956
956
  function getKeyByValue(object, value) {
957
957
  return Object.keys(object).find(key => object[key] === value);
958
958
  }
959
959
 
960
- /**
961
- * Returns color identifier for the given class name
962
- * @param {string} highlighterClassName Class name of highlighter classes
963
- * @returns {string|number} Color identifier
960
+ /**
961
+ * Returns color identifier for the given class name
962
+ * @param {string} highlighterClassName Class name of highlighter classes
963
+ * @returns {string|number} Color identifier
964
964
  */
965
965
  function getColorByClassName(highlighterClassName) {
966
966
  if (options.colors) {
@@ -969,10 +969,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
969
969
  return className;
970
970
  }
971
971
 
972
- /**
973
- * Returns class name for the given color identifier
974
- * @param {string|number} color Color identifier
975
- * @returns {string} Class name
972
+ /**
973
+ * Returns class name for the given color identifier
974
+ * @param {string|number} color Color identifier
975
+ * @returns {string} Class name
976
976
  */
977
977
  function getClassNameByColor(color) {
978
978
  if (options.colors && options.colors[color]) {
@@ -981,31 +981,31 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
981
981
  return className;
982
982
  }
983
983
 
984
- /**
985
- * Check if the given node is a wrapper
986
- * @param {Node|Element} node
987
- * @returns {boolean}
984
+ /**
985
+ * Check if the given node is a wrapper
986
+ * @param {Node|Element} node
987
+ * @returns {boolean}
988
988
  */
989
989
  function isWrappingNode(node) {
990
990
  return isElement(node) && node.tagName.toLowerCase() === 'span' && highlightingClasses.includes(node.className);
991
991
  }
992
992
 
993
- /**
994
- * Check if the given node can be wrapped
995
- * @param {Node} node
996
- * @returns {boolean}
993
+ /**
994
+ * Check if the given node can be wrapped
995
+ * @param {Node} node
996
+ * @returns {boolean}
997
997
  */
998
998
  function isWrappable(node) {
999
999
  return isText(node) && !isBlacklisted(node);
1000
1000
  }
1001
1001
 
1002
- /**
1003
- * Check if the given node is, or is within, a blacklisted container.
1004
- * With `keepEmptyNodes` option, node inside blacklisted container can be whitelisted too.
1005
- * Priority of blacklist or whitelist is decided by which selector is closest to the node.
1006
- * If no match found, node is considered whitelisted.
1007
- * @param {Node} node
1008
- * @returns {boolean}
1002
+ /**
1003
+ * Check if the given node is, or is within, a blacklisted container.
1004
+ * With `keepEmptyNodes` option, node inside blacklisted container can be whitelisted too.
1005
+ * Priority of blacklist or whitelist is decided by which selector is closest to the node.
1006
+ * If no match found, node is considered whitelisted.
1007
+ * @param {Node} node
1008
+ * @returns {boolean}
1009
1009
  */
1010
1010
  function isBlacklisted(node) {
1011
1011
  const closest = $(node).closest(containersBlackAndWhiteListSelector);
@@ -1018,11 +1018,11 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
1018
1018
  }
1019
1019
  }
1020
1020
 
1021
- /**
1022
- * Wraps text node to the highlighter wrapper element
1023
- * @param {Node} textNode Text node to wrap
1024
- * @param {string} wrapperClassName Wrapper class name
1025
- * @param {number} groupId Group id
1021
+ /**
1022
+ * Wraps text node to the highlighter wrapper element
1023
+ * @param {Node} textNode Text node to wrap
1024
+ * @param {string} wrapperClassName Wrapper class name
1025
+ * @param {number} groupId Group id
1026
1026
  */
1027
1027
  function wrapNode(textNode, wrapperClassName, groupId) {
1028
1028
  const element = getWrapper(groupId, wrapperClassName);
@@ -1030,10 +1030,10 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
1030
1030
  return element;
1031
1031
  }
1032
1032
 
1033
- /**
1034
- * Create a wrapping node
1035
- * @param {number} groupId
1036
- * @returns {Element}
1033
+ /**
1034
+ * Create a wrapping node
1035
+ * @param {number} groupId
1036
+ * @returns {Element}
1037
1037
  */
1038
1038
  function getWrapper(groupId, wrapperClass) {
1039
1039
  const wrapper = document.createElement('span');
@@ -1042,9 +1042,9 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
1042
1042
  return wrapper;
1043
1043
  }
1044
1044
 
1045
- /**
1046
- * Returns the first unused group Id
1047
- * @returns {number}
1045
+ /**
1046
+ * Returns the first unused group Id
1047
+ * @returns {number}
1048
1048
  */
1049
1049
  function getAvailableGroupId() {
1050
1050
  var id = currentGroupId || 1;
@@ -1054,35 +1054,35 @@ define(['lodash', 'jquery'], function (_, $) { 'use strict';
1054
1054
  return id;
1055
1055
  }
1056
1056
 
1057
- /**
1058
- * Check if the given node is an element
1059
- * @param {Node} node
1060
- * @returns {boolean}
1057
+ /**
1058
+ * Check if the given node is an element
1059
+ * @param {Node} node
1060
+ * @returns {boolean}
1061
1061
  */
1062
1062
  function isElement(node) {
1063
1063
  return node && typeof node === 'object' && node.nodeType === window.Node.ELEMENT_NODE;
1064
1064
  }
1065
1065
 
1066
- /**
1067
- * Check if the given node is of type text
1068
- * @param {Node} node
1069
- * @returns {boolean}
1066
+ /**
1067
+ * Check if the given node is of type text
1068
+ * @param {Node} node
1069
+ * @returns {boolean}
1070
1070
  */
1071
1071
  function isText(node) {
1072
1072
  return node && typeof node === 'object' && node.nodeType === window.Node.TEXT_NODE;
1073
1073
  }
1074
1074
 
1075
- /**
1076
- * a "Hot Node" is either wrappable text node or a wrapper
1077
- * @param {Node} node
1078
- * @returns {boolean}
1075
+ /**
1076
+ * a "Hot Node" is either wrappable text node or a wrapper
1077
+ * @param {Node} node
1078
+ * @returns {boolean}
1079
1079
  */
1080
1080
  function isHotNode(node) {
1081
1081
  return isWrappingNode(node) || isWrappable(node);
1082
1082
  }
1083
1083
 
1084
- /**
1085
- * Public API of the highlighter helper
1084
+ /**
1085
+ * Public API of the highlighter helper
1086
1086
  */
1087
1087
  return {
1088
1088
  highlightRanges: highlightRanges,