@sme.up/ketchup 8.0.1 → 8.1.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 (558) hide show
  1. package/dist/cjs/{GenericVariables-a9ed17ee.js → GenericVariables-9cd88034.js} +3 -3
  2. package/dist/cjs/{component-85c2bd4d.js → component-2c7ddef7.js} +91 -10
  3. package/dist/cjs/{f-button-c0ede055.js → f-button-a5f661f2.js} +99 -99
  4. package/dist/cjs/{f-button-declarations-b611587f.js → f-button-declarations-76b4fb4c.js} +16 -16
  5. package/dist/cjs/{f-cell-1c17dbac.js → f-cell-ca9e4352.js} +472 -470
  6. package/dist/cjs/{f-checkbox-1148e791.js → f-checkbox-e2c6ecef.js} +23 -23
  7. package/dist/cjs/{f-chip-bace36bb.js → f-chip-e941fa19.js} +125 -125
  8. package/dist/cjs/{f-image-22174590.js → f-image-466b724f.js} +107 -107
  9. package/dist/cjs/{f-paginator-utils-e21e1f06.js → f-paginator-utils-f775ce67.js} +1548 -1547
  10. package/dist/cjs/{f-text-field-503f2bb0.js → f-text-field-ddb47dda.js} +172 -172
  11. package/dist/cjs/{f-text-field-mdc-0e22f3e3.js → f-text-field-mdc-d38d80b5.js} +59 -60
  12. package/dist/cjs/{index-1f177abc.js → index-26fb8571.js} +78 -24
  13. package/dist/cjs/ketchup.cjs.js +3 -3
  14. package/dist/cjs/kup-accordion.cjs.entry.js +199 -200
  15. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +17546 -17563
  16. package/dist/cjs/kup-box.cjs.entry.js +1294 -1232
  17. package/dist/cjs/kup-calendar.cjs.entry.js +9542 -10035
  18. package/dist/cjs/kup-cell.cjs.entry.js +172 -172
  19. package/dist/cjs/kup-dash-list.cjs.entry.js +106 -106
  20. package/dist/cjs/kup-dash_2.cjs.entry.js +162 -162
  21. package/dist/cjs/kup-dashboard.cjs.entry.js +400 -401
  22. package/dist/cjs/kup-drawer.cjs.entry.js +138 -138
  23. package/dist/cjs/kup-echart.cjs.entry.js +7145 -6598
  24. package/dist/cjs/kup-family-tree.cjs.entry.js +439 -439
  25. package/dist/cjs/kup-iframe.cjs.entry.js +94 -94
  26. package/dist/cjs/kup-image-list.cjs.entry.js +255 -256
  27. package/dist/cjs/kup-lazy.cjs.entry.js +186 -186
  28. package/dist/cjs/kup-magic-box.cjs.entry.js +298 -298
  29. package/dist/cjs/{kup-manager-b994cf71.js → kup-manager-16b684bd.js} +7273 -7126
  30. package/dist/cjs/kup-nav-bar.cjs.entry.js +130 -130
  31. package/dist/cjs/kup-numeric-picker.cjs.entry.js +367 -368
  32. package/dist/cjs/kup-photo-frame.cjs.entry.js +144 -144
  33. package/dist/cjs/kup-planner.cjs.entry.js +1151 -1009
  34. package/dist/cjs/kup-probe.cjs.entry.js +246 -246
  35. package/dist/cjs/kup-qlik.cjs.entry.js +138 -138
  36. package/dist/cjs/kup-snackbar.cjs.entry.js +116 -116
  37. package/dist/cjs/loader.cjs.js +3 -3
  38. package/dist/collection/assets/dash-list.js +466 -293
  39. package/dist/collection/assets/data-table.js +0 -44
  40. package/dist/collection/assets/index.js +4 -0
  41. package/dist/collection/assets/planner.js +8189 -0
  42. package/dist/collection/collection-manifest.json +2 -2
  43. package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +10 -10
  44. package/dist/collection/components/kup-accordion/kup-accordion.js +445 -445
  45. package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +27 -27
  46. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +908 -908
  47. package/dist/collection/components/kup-badge/kup-badge-declarations.js +10 -10
  48. package/dist/collection/components/kup-badge/kup-badge.js +276 -276
  49. package/dist/collection/components/kup-box/kup-box-declarations.js +34 -33
  50. package/dist/collection/components/kup-box/kup-box-state.js +15 -15
  51. package/dist/collection/components/kup-box/kup-box.js +2159 -2079
  52. package/dist/collection/components/kup-button/kup-button-declarations.js +18 -18
  53. package/dist/collection/components/kup-button/kup-button.js +580 -580
  54. package/dist/collection/components/kup-button-list/kup-button-list-declarations.js +13 -13
  55. package/dist/collection/components/kup-button-list/kup-button-list.e2e.js +144 -0
  56. package/dist/collection/components/kup-button-list/kup-button-list.js +527 -527
  57. package/dist/collection/components/kup-calendar/kup-calendar-declarations.js +35 -35
  58. package/dist/collection/components/kup-calendar/kup-calendar.css +0 -4
  59. package/dist/collection/components/kup-calendar/kup-calendar.js +690 -690
  60. package/dist/collection/components/kup-card/box/kup-card-box.js +227 -227
  61. package/dist/collection/components/kup-card/built-in/kup-card-built-in.js +56 -56
  62. package/dist/collection/components/kup-card/built-in/kup-card-calendar.js +393 -449
  63. package/dist/collection/components/kup-card/built-in/kup-card-clock.js +308 -308
  64. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +165 -165
  65. package/dist/collection/components/kup-card/built-in/kup-card-message-box.js +10 -10
  66. package/dist/collection/components/kup-card/built-in/kup-card-numeric.js +118 -118
  67. package/dist/collection/components/kup-card/collapsible/kup-card-collapsible.js +64 -64
  68. package/dist/collection/components/kup-card/dialog/kup-card-dialog.js +217 -217
  69. package/dist/collection/components/kup-card/free/kup-card-free.js +22 -22
  70. package/dist/collection/components/kup-card/kup-card-declarations.js +98 -98
  71. package/dist/collection/components/kup-card/kup-card-helper.js +196 -196
  72. package/dist/collection/components/kup-card/kup-card.js +809 -809
  73. package/dist/collection/components/kup-card/scalable/kup-card-scalable.js +251 -251
  74. package/dist/collection/components/kup-card/standard/kup-card-standard.js +593 -593
  75. package/dist/collection/components/kup-cell/kup-cell-declarations.js +11 -11
  76. package/dist/collection/components/kup-cell/kup-cell.js +401 -401
  77. package/dist/collection/components/kup-chart/kup-chart-builder.js +93 -93
  78. package/dist/collection/components/kup-chart/kup-chart-declarations.js +49 -49
  79. package/dist/collection/components/kup-chart/kup-chart.js +1080 -1080
  80. package/dist/collection/components/kup-checkbox/kup-checkbox-declarations.js +13 -13
  81. package/dist/collection/components/kup-checkbox/kup-checkbox.js +433 -433
  82. package/dist/collection/components/kup-chip/kup-chip-declarations.js +12 -12
  83. package/dist/collection/components/kup-chip/kup-chip.js +558 -558
  84. package/dist/collection/components/kup-color-picker/kup-color-picker-declarations.js +12 -12
  85. package/dist/collection/components/kup-color-picker/kup-color-picker.js +546 -546
  86. package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +15 -15
  87. package/dist/collection/components/kup-combobox/kup-combobox.js +821 -821
  88. package/dist/collection/components/kup-dash/kup-dash.js +171 -171
  89. package/dist/collection/components/kup-dash-list/kup-dash-list.js +327 -327
  90. package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +10 -10
  91. package/dist/collection/components/kup-dashboard/kup-dashboard.js +588 -588
  92. package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +156 -156
  93. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +808 -809
  94. package/dist/collection/components/kup-data-table/kup-data-table-state.js +36 -36
  95. package/dist/collection/components/kup-data-table/kup-data-table.js +5527 -5526
  96. package/dist/collection/components/kup-date-picker/kup-date-picker-declarations.js +18 -18
  97. package/dist/collection/components/kup-date-picker/kup-date-picker.js +816 -816
  98. package/dist/collection/components/kup-dialog/kup-dialog-declarations.js +14 -14
  99. package/dist/collection/components/kup-dialog/kup-dialog.js +467 -467
  100. package/dist/collection/components/kup-drawer/kup-drawer-declarations.js +10 -10
  101. package/dist/collection/components/kup-drawer/kup-drawer.e2e.js +9 -0
  102. package/dist/collection/components/kup-drawer/kup-drawer.js +383 -383
  103. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button-declarations.js +18 -18
  104. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +800 -800
  105. package/dist/collection/components/kup-echart/kup-echart-declarations.js +52 -52
  106. package/dist/collection/components/kup-echart/kup-echart.js +1437 -1437
  107. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +15 -15
  108. package/dist/collection/components/kup-family-tree/kup-family-tree.js +829 -829
  109. package/dist/collection/components/kup-form/kup-form-declarations.js +29 -29
  110. package/dist/collection/components/kup-form/kup-form.js +731 -731
  111. package/dist/collection/components/kup-gauge/kup-gauge-declarations.js +26 -26
  112. package/dist/collection/components/kup-gauge/kup-gauge.js +764 -764
  113. package/dist/collection/components/kup-grid/kup-grid-declarations.js +10 -10
  114. package/dist/collection/components/kup-grid/kup-grid.js +253 -253
  115. package/dist/collection/components/kup-iframe/kup-iframe-declarations.js +10 -10
  116. package/dist/collection/components/kup-iframe/kup-iframe.js +281 -281
  117. package/dist/collection/components/kup-image/canvas/kup-image-canvas-declarations.js +184 -184
  118. package/dist/collection/components/kup-image/canvas/kup-image-canvas-helper.js +19 -19
  119. package/dist/collection/components/kup-image/canvas/kup-image-canvas.js +225 -225
  120. package/dist/collection/components/kup-image/kup-image-declarations.js +16 -16
  121. package/dist/collection/components/kup-image/kup-image.js +491 -491
  122. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +10 -10
  123. package/dist/collection/components/kup-image-list/kup-image-list-state.js +9 -9
  124. package/dist/collection/components/kup-image-list/kup-image-list.js +533 -533
  125. package/dist/collection/components/kup-lazy/kup-lazy-declarations.js +20 -20
  126. package/dist/collection/components/kup-lazy/kup-lazy.js +430 -430
  127. package/dist/collection/components/kup-list/kup-list-declarations.js +34 -34
  128. package/dist/collection/components/kup-list/kup-list-helper.js +121 -121
  129. package/dist/collection/components/kup-list/kup-list.js +949 -949
  130. package/dist/collection/components/kup-magic-box/kup-magic-box-declarations.js +23 -23
  131. package/dist/collection/components/kup-magic-box/kup-magic-box.js +431 -431
  132. package/dist/collection/components/kup-nav-bar/kup-nav-bar-declarations.js +21 -21
  133. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +315 -315
  134. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker-declarations.js +16 -16
  135. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +864 -864
  136. package/dist/collection/components/kup-photo-frame/kup-photo-frame-declarations.js +10 -10
  137. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +372 -372
  138. package/dist/collection/components/kup-planner/kup-planner-declarations.js +83 -76
  139. package/dist/collection/components/kup-planner/kup-planner-helper.js +54 -54
  140. package/dist/collection/components/kup-planner/kup-planner-state.js +16 -0
  141. package/dist/collection/components/kup-planner/kup-planner.js +1725 -1352
  142. package/dist/collection/components/kup-probe/kup-probe.js +358 -358
  143. package/dist/collection/components/kup-progress-bar/kup-progress-bar-declarations.js +14 -14
  144. package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +405 -405
  145. package/dist/collection/components/kup-qlik/kup-qlik-declarations.js +1 -1
  146. package/dist/collection/components/kup-qlik/kup-qlik.js +326 -326
  147. package/dist/collection/components/kup-radio/kup-radio-declarations.js +12 -12
  148. package/dist/collection/components/kup-radio/kup-radio.js +398 -398
  149. package/dist/collection/components/kup-rating/kup-rating-declarations.js +11 -11
  150. package/dist/collection/components/kup-rating/kup-rating.js +332 -332
  151. package/dist/collection/components/kup-snackbar/kup-snackbar-declarations.js +13 -13
  152. package/dist/collection/components/kup-snackbar/kup-snackbar.js +389 -389
  153. package/dist/collection/components/kup-spinner/kup-spinner-declarations.js +15 -15
  154. package/dist/collection/components/kup-spinner/kup-spinner.js +468 -468
  155. package/dist/collection/components/kup-state/kup-state.js +1 -1
  156. package/dist/collection/components/kup-state/kup-store.js +1 -1
  157. package/dist/collection/components/kup-state/mock-store.js +13 -13
  158. package/dist/collection/components/kup-switch/kup-switch-declarations.js +12 -12
  159. package/dist/collection/components/kup-switch/kup-switch.js +402 -402
  160. package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +10 -10
  161. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +443 -443
  162. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +35 -35
  163. package/dist/collection/components/kup-text-field/kup-text-field.js +1193 -1190
  164. package/dist/collection/components/kup-time-picker/kup-time-picker-declarations.js +14 -14
  165. package/dist/collection/components/kup-time-picker/kup-time-picker.js +921 -921
  166. package/dist/collection/components/kup-tree/kup-tree-declarations.js +43 -43
  167. package/dist/collection/components/kup-tree/kup-tree-faker.js +305 -305
  168. package/dist/collection/components/kup-tree/kup-tree-state.js +15 -15
  169. package/dist/collection/components/kup-tree/kup-tree.js +2479 -2479
  170. package/dist/collection/f-components/f-button/f-button-declarations.js +17 -17
  171. package/dist/collection/f-components/f-button/f-button.js +91 -91
  172. package/dist/collection/f-components/f-cell/f-cell-declarations.js +158 -158
  173. package/dist/collection/f-components/f-cell/f-cell.js +429 -428
  174. package/dist/collection/f-components/f-checkbox/f-checkbox-declarations.js +1 -1
  175. package/dist/collection/f-components/f-checkbox/f-checkbox.js +16 -16
  176. package/dist/collection/f-components/f-chip/f-chip-declarations.js +15 -15
  177. package/dist/collection/f-components/f-chip/f-chip.js +101 -101
  178. package/dist/collection/f-components/f-image/f-image-declarations.js +8 -8
  179. package/dist/collection/f-components/f-image/f-image.js +100 -100
  180. package/dist/collection/f-components/f-paginator/f-paginator-declarations.js +5 -5
  181. package/dist/collection/f-components/f-paginator/f-paginator-utils.js +28 -28
  182. package/dist/collection/f-components/f-paginator/f-paginator.js +86 -86
  183. package/dist/collection/f-components/f-switch/f-switch-declarations.js +1 -1
  184. package/dist/collection/f-components/f-switch/f-switch.js +12 -12
  185. package/dist/collection/f-components/f-text-field/f-text-field-declarations.js +1 -1
  186. package/dist/collection/f-components/f-text-field/f-text-field-mdc.js +29 -29
  187. package/dist/collection/f-components/f-text-field/f-text-field.js +151 -151
  188. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +86 -86
  189. package/dist/collection/managers/kup-data/kup-data-column-helper.js +300 -300
  190. package/dist/collection/managers/kup-data/kup-data-declarations.js +10 -10
  191. package/dist/collection/managers/kup-data/kup-data-node-helper.js +165 -165
  192. package/dist/collection/managers/kup-data/kup-data-row-helper.js +28 -28
  193. package/dist/collection/managers/kup-data/kup-data.js +499 -497
  194. package/dist/collection/managers/kup-dates/kup-dates-declarations.js +43 -32
  195. package/dist/collection/managers/kup-dates/kup-dates.js +654 -343
  196. package/dist/collection/managers/kup-debug/kup-debug-declarations.js +20 -20
  197. package/dist/collection/managers/kup-debug/kup-debug.js +670 -670
  198. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position-declarations.js +27 -27
  199. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +244 -244
  200. package/dist/collection/managers/kup-interact/kup-interact-declarations.js +49 -49
  201. package/dist/collection/managers/kup-interact/kup-interact.js +397 -397
  202. package/dist/collection/managers/kup-language/kup-language-declarations.js +211 -211
  203. package/dist/collection/managers/kup-language/kup-language.js +151 -151
  204. package/dist/collection/managers/kup-manager/kup-manager-declarations.js +1 -1
  205. package/dist/collection/managers/kup-manager/kup-manager.js +303 -303
  206. package/dist/collection/managers/kup-math/kup-math-declarations.js +13 -13
  207. package/dist/collection/managers/kup-math/kup-math-helper.js +39 -39
  208. package/dist/collection/managers/kup-math/kup-math.js +413 -242
  209. package/dist/collection/managers/kup-objects/kup-objects-declarations.js +1 -1
  210. package/dist/collection/managers/kup-objects/kup-objects.js +387 -387
  211. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +10 -10
  212. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +334 -334
  213. package/dist/collection/managers/kup-search/kup-search-declarations.js +1 -1
  214. package/dist/collection/managers/kup-search/kup-search.js +75 -75
  215. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +177 -177
  216. package/dist/collection/managers/kup-theme/kup-theme.js +715 -715
  217. package/dist/collection/managers/kup-toolbar/kup-toolbar-declarations.js +9 -9
  218. package/dist/collection/managers/kup-toolbar/kup-toolbar.js +111 -111
  219. package/dist/collection/managers/kup-tooltip/kup-tooltip-declarations.js +1 -1
  220. package/dist/collection/managers/kup-tooltip/kup-tooltip.js +229 -229
  221. package/dist/collection/types/GenericTypes.js +54 -54
  222. package/dist/collection/utils/cell-utils.js +156 -157
  223. package/dist/collection/utils/filters/filters-column-menu.js +360 -360
  224. package/dist/collection/utils/filters/filters-declarations.js +25 -25
  225. package/dist/collection/utils/filters/filters-rows.js +238 -238
  226. package/dist/collection/utils/filters/filters-tree-items.js +117 -117
  227. package/dist/collection/utils/filters/filters.js +287 -289
  228. package/dist/collection/utils/kup-column-menu/kup-column-menu-declarations.js +20 -20
  229. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +751 -751
  230. package/dist/collection/utils/utils.js +84 -497
  231. package/dist/collection/variables/GenericVariables.js +4 -4
  232. package/dist/components/kup-accordion.js +355 -355
  233. package/dist/components/kup-autocomplete2.js +31828 -31684
  234. package/dist/components/kup-box2.js +1470 -1406
  235. package/dist/components/kup-calendar.js +9788 -10280
  236. package/dist/components/kup-card.js +1 -1
  237. package/dist/components/kup-cell.js +325 -325
  238. package/dist/components/kup-chart.js +1 -1
  239. package/dist/components/kup-checkbox.js +1 -1
  240. package/dist/components/kup-chip.js +1 -1
  241. package/dist/components/kup-color-picker.js +1 -1
  242. package/dist/components/kup-combobox.js +1 -1
  243. package/dist/components/kup-dash-list.js +276 -276
  244. package/dist/components/kup-dash2.js +220 -220
  245. package/dist/components/kup-dashboard.js +549 -549
  246. package/dist/components/kup-data-table.js +1 -1
  247. package/dist/components/kup-date-picker.js +1 -1
  248. package/dist/components/kup-dialog.js +1 -1
  249. package/dist/components/kup-drawer.js +295 -295
  250. package/dist/components/kup-dropdown-button.js +1 -1
  251. package/dist/components/kup-echart2.js +7312 -6765
  252. package/dist/components/kup-family-tree.js +604 -604
  253. package/dist/components/kup-form.js +1 -1
  254. package/dist/components/kup-gauge.js +1 -1
  255. package/dist/components/kup-grid2.js +252 -252
  256. package/dist/components/kup-iframe.js +250 -250
  257. package/dist/components/kup-image-list.js +407 -407
  258. package/dist/components/kup-image.js +1 -1
  259. package/dist/components/kup-lazy.js +344 -344
  260. package/dist/components/kup-list.js +1 -1
  261. package/dist/components/kup-magic-box.js +461 -461
  262. package/dist/components/kup-nav-bar.js +284 -284
  263. package/dist/components/kup-numeric-picker.js +529 -529
  264. package/dist/components/kup-photo-frame.js +300 -300
  265. package/dist/components/kup-planner.js +1342 -1189
  266. package/dist/components/kup-probe.js +399 -399
  267. package/dist/components/kup-progress-bar.js +1 -1
  268. package/dist/components/kup-qlik.js +296 -296
  269. package/dist/components/kup-radio.js +1 -1
  270. package/dist/components/kup-rating.js +1 -1
  271. package/dist/components/kup-snackbar.js +273 -273
  272. package/dist/components/kup-spinner.js +1 -1
  273. package/dist/components/kup-switch.js +1 -1
  274. package/dist/components/kup-tab-bar.js +1 -1
  275. package/dist/components/kup-text-field.js +1 -1
  276. package/dist/components/kup-time-picker.js +1 -1
  277. package/dist/components/kup-tree.js +1 -1
  278. package/dist/esm/{GenericVariables-665de00a.js → GenericVariables-6dfdd433.js} +3 -3
  279. package/dist/esm/{component-120651a0.js → component-e86c51ea.js} +81 -2
  280. package/dist/esm/{f-button-c377973d.js → f-button-c6a69f75.js} +99 -99
  281. package/dist/esm/{f-button-declarations-b1b4cac4.js → f-button-declarations-fd4965d1.js} +16 -16
  282. package/dist/esm/{f-cell-e5a98bc8.js → f-cell-5822ea68.js} +472 -470
  283. package/dist/esm/{f-checkbox-9b3f5f5b.js → f-checkbox-c15911de.js} +23 -23
  284. package/dist/esm/{f-chip-c8a18c48.js → f-chip-f46a03f5.js} +125 -125
  285. package/dist/esm/{f-image-5cbdf39d.js → f-image-f57832fa.js} +107 -107
  286. package/dist/esm/{f-paginator-utils-a1dab059.js → f-paginator-utils-bafc463d.js} +1548 -1547
  287. package/dist/esm/{f-text-field-dafb7c8b.js → f-text-field-15850e05.js} +172 -172
  288. package/dist/esm/{f-text-field-mdc-cee583ea.js → f-text-field-mdc-a1b4a919.js} +27 -28
  289. package/dist/esm/{index-8bd38435.js → index-238342f2.js} +78 -24
  290. package/dist/esm/ketchup.js +4 -4
  291. package/dist/esm/kup-accordion.entry.js +199 -200
  292. package/dist/esm/kup-autocomplete_27.entry.js +17546 -17563
  293. package/dist/esm/kup-box.entry.js +1294 -1232
  294. package/dist/esm/kup-calendar.entry.js +9557 -10050
  295. package/dist/esm/kup-cell.entry.js +172 -172
  296. package/dist/esm/kup-dash-list.entry.js +106 -106
  297. package/dist/esm/kup-dash_2.entry.js +162 -162
  298. package/dist/esm/kup-dashboard.entry.js +400 -401
  299. package/dist/esm/kup-drawer.entry.js +138 -138
  300. package/dist/esm/kup-echart.entry.js +7145 -6598
  301. package/dist/esm/kup-family-tree.entry.js +439 -439
  302. package/dist/esm/kup-iframe.entry.js +94 -94
  303. package/dist/esm/kup-image-list.entry.js +255 -256
  304. package/dist/esm/kup-lazy.entry.js +186 -186
  305. package/dist/esm/kup-magic-box.entry.js +298 -298
  306. package/dist/esm/{kup-manager-3594cde8.js → kup-manager-89dd9137.js} +7273 -7116
  307. package/dist/esm/kup-nav-bar.entry.js +130 -130
  308. package/dist/esm/kup-numeric-picker.entry.js +367 -368
  309. package/dist/esm/kup-photo-frame.entry.js +144 -144
  310. package/dist/esm/kup-planner.entry.js +1151 -1009
  311. package/dist/esm/kup-probe.entry.js +246 -246
  312. package/dist/esm/kup-qlik.entry.js +138 -138
  313. package/dist/esm/kup-snackbar.entry.js +116 -116
  314. package/dist/esm/loader.js +4 -4
  315. package/dist/ketchup/ketchup.esm.js +1 -1
  316. package/dist/ketchup/{p-d1164680.entry.js → p-01d44efe.entry.js} +1 -1
  317. package/dist/ketchup/{p-6762d447.js → p-1a8a06de.js} +1 -1
  318. package/dist/ketchup/p-206245c0.js +1 -0
  319. package/dist/ketchup/p-4bd63e97.entry.js +25 -0
  320. package/dist/ketchup/{p-cf322853.entry.js → p-4da77173.entry.js} +1 -1
  321. package/dist/ketchup/{p-7be5ef32.entry.js → p-514dcb7d.entry.js} +1 -1
  322. package/dist/ketchup/{p-22e72f06.entry.js → p-51573263.entry.js} +1 -1
  323. package/dist/ketchup/{p-9f9b6656.js → p-54248440.js} +1 -1
  324. package/dist/ketchup/{p-37ada0f0.entry.js → p-5dfa5c49.entry.js} +1 -1
  325. package/dist/ketchup/{p-10d84b1b.js → p-6507e9eb.js} +7 -6
  326. package/dist/ketchup/p-673bb93e.js +1 -0
  327. package/dist/ketchup/{p-31abf4b6.entry.js → p-688478e9.entry.js} +1 -1
  328. package/dist/ketchup/p-6a5d95df.entry.js +1 -0
  329. package/dist/ketchup/p-6ec8629e.js +30 -0
  330. package/dist/ketchup/p-785e8d74.entry.js +1 -0
  331. package/dist/ketchup/{p-d76be079.entry.js → p-78cc5a2d.entry.js} +1 -1
  332. package/dist/ketchup/{p-ce5b6ce7.entry.js → p-799f7f10.entry.js} +1 -1
  333. package/dist/ketchup/p-7e757c27.entry.js +1 -0
  334. package/dist/ketchup/p-843253dd.entry.js +1 -0
  335. package/dist/ketchup/{p-473d2bea.entry.js → p-84d3f676.entry.js} +1 -1
  336. package/dist/ketchup/p-8c1edebd.js +2 -0
  337. package/dist/ketchup/{p-2d32e3cd.js → p-a5f15864.js} +1 -1
  338. package/dist/ketchup/p-af7202ff.entry.js +1 -0
  339. package/dist/ketchup/{p-7f4f5f0f.entry.js → p-ba959bb5.entry.js} +1 -1
  340. package/dist/ketchup/p-c1931214.js +1 -0
  341. package/dist/ketchup/{p-8b248655.js → p-c354c5d0.js} +1 -1
  342. package/dist/ketchup/p-cd8512d9.entry.js +39 -0
  343. package/dist/ketchup/p-d4f86197.entry.js +9 -0
  344. package/dist/ketchup/{p-b718af72.entry.js → p-e59c2bc0.entry.js} +1 -1
  345. package/dist/ketchup/{p-afff7a6e.entry.js → p-f2fda43b.entry.js} +1 -1
  346. package/dist/ketchup/p-f4b6aa3f.entry.js +1 -0
  347. package/dist/ketchup/p-f4f5170c.entry.js +1 -0
  348. package/dist/ketchup/{p-27a56c87.js → p-fb03f2f5.js} +2 -2
  349. package/dist/loader/index.d.ts +1 -1
  350. package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +20 -20
  351. package/dist/types/components/kup-accordion/kup-accordion.d.ts +80 -80
  352. package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +35 -35
  353. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +119 -119
  354. package/dist/types/components/kup-badge/kup-badge-declarations.d.ts +9 -9
  355. package/dist/types/components/kup-badge/kup-badge.d.ts +51 -51
  356. package/dist/types/components/kup-box/kup-box-declarations.d.ts +114 -113
  357. package/dist/types/components/kup-box/kup-box-state.d.ts +10 -10
  358. package/dist/types/components/kup-box/kup-box.d.ts +275 -270
  359. package/dist/types/components/kup-button/kup-button-declarations.d.ts +24 -24
  360. package/dist/types/components/kup-button/kup-button.d.ts +111 -111
  361. package/dist/types/components/kup-button-list/kup-button-list-declarations.d.ts +24 -24
  362. package/dist/types/components/kup-button-list/kup-button-list.d.ts +82 -82
  363. package/dist/types/components/kup-calendar/kup-calendar-declarations.d.ts +70 -70
  364. package/dist/types/components/kup-calendar/kup-calendar.d.ts +100 -100
  365. package/dist/types/components/kup-card/box/kup-card-box.d.ts +50 -50
  366. package/dist/types/components/kup-card/built-in/kup-card-built-in.d.ts +39 -39
  367. package/dist/types/components/kup-card/built-in/kup-card-calendar.d.ts +2 -2
  368. package/dist/types/components/kup-card/built-in/kup-card-clock.d.ts +2 -2
  369. package/dist/types/components/kup-card/built-in/kup-card-column-drop-menu.d.ts +3 -3
  370. package/dist/types/components/kup-card/built-in/kup-card-message-box.d.ts +3 -3
  371. package/dist/types/components/kup-card/built-in/kup-card-numeric.d.ts +2 -2
  372. package/dist/types/components/kup-card/collapsible/kup-card-collapsible.d.ts +14 -14
  373. package/dist/types/components/kup-card/dialog/kup-card-dialog.d.ts +44 -44
  374. package/dist/types/components/kup-card/free/kup-card-free.d.ts +14 -14
  375. package/dist/types/components/kup-card/kup-card-declarations.d.ts +236 -236
  376. package/dist/types/components/kup-card/kup-card-helper.d.ts +27 -27
  377. package/dist/types/components/kup-card/kup-card.d.ts +159 -159
  378. package/dist/types/components/kup-card/scalable/kup-card-scalable.d.ts +56 -56
  379. package/dist/types/components/kup-card/standard/kup-card-standard.d.ts +92 -92
  380. package/dist/types/components/kup-cell/kup-cell-declarations.d.ts +10 -10
  381. package/dist/types/components/kup-cell/kup-cell.d.ts +67 -67
  382. package/dist/types/components/kup-chart/kup-chart-builder.d.ts +7 -7
  383. package/dist/types/components/kup-chart/kup-chart-declarations.d.ts +135 -135
  384. package/dist/types/components/kup-chart/kup-chart.d.ts +170 -170
  385. package/dist/types/components/kup-checkbox/kup-checkbox-declarations.d.ts +17 -17
  386. package/dist/types/components/kup-checkbox/kup-checkbox.d.ts +85 -85
  387. package/dist/types/components/kup-chip/kup-chip-declarations.d.ts +22 -22
  388. package/dist/types/components/kup-chip/kup-chip.d.ts +89 -89
  389. package/dist/types/components/kup-color-picker/kup-color-picker-declarations.d.ts +15 -15
  390. package/dist/types/components/kup-color-picker/kup-color-picker.d.ts +89 -89
  391. package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +24 -24
  392. package/dist/types/components/kup-combobox/kup-combobox.d.ts +95 -95
  393. package/dist/types/components/kup-dash/kup-dash.d.ts +33 -33
  394. package/dist/types/components/kup-dash-list/kup-dash-list.d.ts +22 -22
  395. package/dist/types/components/kup-dashboard/kup-dashboard-declarations.d.ts +61 -61
  396. package/dist/types/components/kup-dashboard/kup-dashboard.d.ts +80 -80
  397. package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +254 -254
  398. package/dist/types/components/kup-data-table/kup-data-table-helper.d.ts +25 -25
  399. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +36 -36
  400. package/dist/types/components/kup-data-table/kup-data-table.d.ts +444 -444
  401. package/dist/types/components/kup-date-picker/kup-date-picker-declarations.d.ts +20 -20
  402. package/dist/types/components/kup-date-picker/kup-date-picker.d.ts +110 -110
  403. package/dist/types/components/kup-dialog/kup-dialog-declarations.d.ts +26 -26
  404. package/dist/types/components/kup-dialog/kup-dialog.d.ts +77 -77
  405. package/dist/types/components/kup-drawer/kup-drawer-declarations.d.ts +9 -9
  406. package/dist/types/components/kup-drawer/kup-drawer.d.ts +74 -74
  407. package/dist/types/components/kup-dropdown-button/kup-dropdown-button-declarations.d.ts +21 -21
  408. package/dist/types/components/kup-dropdown-button/kup-dropdown-button.d.ts +161 -161
  409. package/dist/types/components/kup-echart/kup-echart-declarations.d.ts +62 -62
  410. package/dist/types/components/kup-echart/kup-echart.d.ts +111 -111
  411. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +38 -38
  412. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +87 -87
  413. package/dist/types/components/kup-form/kup-form-declarations.d.ts +64 -64
  414. package/dist/types/components/kup-form/kup-form.d.ts +83 -83
  415. package/dist/types/components/kup-gauge/kup-gauge-declarations.d.ts +25 -25
  416. package/dist/types/components/kup-gauge/kup-gauge.d.ts +147 -147
  417. package/dist/types/components/kup-grid/kup-grid-declarations.d.ts +9 -9
  418. package/dist/types/components/kup-grid/kup-grid.d.ts +48 -48
  419. package/dist/types/components/kup-iframe/kup-iframe-declarations.d.ts +9 -9
  420. package/dist/types/components/kup-iframe/kup-iframe.d.ts +49 -49
  421. package/dist/types/components/kup-image/canvas/kup-image-canvas-declarations.d.ts +23 -23
  422. package/dist/types/components/kup-image/canvas/kup-image-canvas-helper.d.ts +2 -2
  423. package/dist/types/components/kup-image/canvas/kup-image-canvas.d.ts +28 -28
  424. package/dist/types/components/kup-image/kup-image-declarations.d.ts +19 -19
  425. package/dist/types/components/kup-image/kup-image.d.ts +103 -103
  426. package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +14 -14
  427. package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +6 -6
  428. package/dist/types/components/kup-image-list/kup-image-list.d.ts +73 -73
  429. package/dist/types/components/kup-lazy/kup-lazy-declarations.d.ts +18 -18
  430. package/dist/types/components/kup-lazy/kup-lazy.d.ts +78 -78
  431. package/dist/types/components/kup-list/kup-list-declarations.d.ts +48 -48
  432. package/dist/types/components/kup-list/kup-list-helper.d.ts +6 -6
  433. package/dist/types/components/kup-list/kup-list.d.ts +128 -128
  434. package/dist/types/components/kup-magic-box/kup-magic-box-declarations.d.ts +21 -21
  435. package/dist/types/components/kup-magic-box/kup-magic-box.d.ts +65 -65
  436. package/dist/types/components/kup-nav-bar/kup-nav-bar-declarations.d.ts +19 -19
  437. package/dist/types/components/kup-nav-bar/kup-nav-bar.d.ts +65 -65
  438. package/dist/types/components/kup-numeric-picker/kup-numeric-picker-declarations.d.ts +19 -19
  439. package/dist/types/components/kup-numeric-picker/kup-numeric-picker.d.ts +121 -121
  440. package/dist/types/components/kup-photo-frame/kup-photo-frame-declarations.d.ts +9 -9
  441. package/dist/types/components/kup-photo-frame/kup-photo-frame.d.ts +61 -61
  442. package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +127 -106
  443. package/dist/types/components/kup-planner/kup-planner-helper.d.ts +6 -6
  444. package/dist/types/components/kup-planner/kup-planner-state.d.ts +13 -0
  445. package/dist/types/components/kup-planner/kup-planner.d.ts +266 -212
  446. package/dist/types/components/kup-probe/kup-probe.d.ts +72 -72
  447. package/dist/types/components/kup-progress-bar/kup-progress-bar-declarations.d.ts +13 -13
  448. package/dist/types/components/kup-progress-bar/kup-progress-bar.d.ts +69 -69
  449. package/dist/types/components/kup-qlik/kup-qlik-declarations.d.ts +19 -19
  450. package/dist/types/components/kup-qlik/kup-qlik.d.ts +100 -100
  451. package/dist/types/components/kup-radio/kup-radio-declarations.d.ts +23 -23
  452. package/dist/types/components/kup-radio/kup-radio.d.ts +80 -80
  453. package/dist/types/components/kup-rating/kup-rating-declarations.d.ts +14 -14
  454. package/dist/types/components/kup-rating/kup-rating.d.ts +62 -62
  455. package/dist/types/components/kup-snackbar/kup-snackbar-declarations.d.ts +12 -12
  456. package/dist/types/components/kup-snackbar/kup-snackbar.d.ts +84 -84
  457. package/dist/types/components/kup-spinner/kup-spinner-declarations.d.ts +14 -14
  458. package/dist/types/components/kup-spinner/kup-spinner.d.ts +79 -79
  459. package/dist/types/components/kup-state/kup-state.d.ts +3 -3
  460. package/dist/types/components/kup-state/kup-store.d.ts +4 -4
  461. package/dist/types/components/kup-state/mock-store.d.ts +8 -8
  462. package/dist/types/components/kup-switch/kup-switch-declarations.d.ts +15 -15
  463. package/dist/types/components/kup-switch/kup-switch.d.ts +80 -80
  464. package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +21 -21
  465. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +77 -77
  466. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +38 -38
  467. package/dist/types/components/kup-text-field/kup-text-field.d.ts +253 -253
  468. package/dist/types/components/kup-time-picker/kup-time-picker-declarations.d.ts +17 -17
  469. package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +125 -125
  470. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +97 -97
  471. package/dist/types/components/kup-tree/kup-tree-faker.d.ts +54 -54
  472. package/dist/types/components/kup-tree/kup-tree-state.d.ts +14 -14
  473. package/dist/types/components/kup-tree/kup-tree.d.ts +362 -362
  474. package/dist/types/components.d.ts +98 -2
  475. package/dist/types/f-components/f-button/f-button-declarations.d.ts +41 -41
  476. package/dist/types/f-components/f-button/f-button.d.ts +3 -3
  477. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +162 -162
  478. package/dist/types/f-components/f-cell/f-cell.d.ts +3 -3
  479. package/dist/types/f-components/f-checkbox/f-checkbox-declarations.d.ts +15 -15
  480. package/dist/types/f-components/f-checkbox/f-checkbox.d.ts +3 -3
  481. package/dist/types/f-components/f-chip/f-chip-declarations.d.ts +29 -29
  482. package/dist/types/f-components/f-chip/f-chip.d.ts +3 -3
  483. package/dist/types/f-components/f-image/f-image-declarations.d.ts +36 -36
  484. package/dist/types/f-components/f-image/f-image.d.ts +3 -3
  485. package/dist/types/f-components/f-paginator/f-paginator-declarations.d.ts +22 -22
  486. package/dist/types/f-components/f-paginator/f-paginator-utils.d.ts +2 -2
  487. package/dist/types/f-components/f-paginator/f-paginator.d.ts +3 -3
  488. package/dist/types/f-components/f-switch/f-switch-declarations.d.ts +14 -14
  489. package/dist/types/f-components/f-switch/f-switch.d.ts +3 -3
  490. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +42 -42
  491. package/dist/types/f-components/f-text-field/f-text-field-mdc.d.ts +6 -6
  492. package/dist/types/f-components/f-text-field/f-text-field.d.ts +3 -3
  493. package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +31 -31
  494. package/dist/types/managers/kup-data/kup-data-column-helper.d.ts +39 -39
  495. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +173 -173
  496. package/dist/types/managers/kup-data/kup-data-node-helper.d.ts +44 -44
  497. package/dist/types/managers/kup-data/kup-data-row-helper.d.ts +14 -14
  498. package/dist/types/managers/kup-data/kup-data.d.ts +86 -86
  499. package/dist/types/managers/kup-dates/kup-dates-declarations.d.ts +39 -29
  500. package/dist/types/managers/kup-dates/kup-dates.d.ts +207 -114
  501. package/dist/types/managers/kup-debug/kup-debug-declarations.d.ts +38 -38
  502. package/dist/types/managers/kup-debug/kup-debug.d.ts +95 -95
  503. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position-declarations.d.ts +50 -50
  504. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +61 -61
  505. package/dist/types/managers/kup-interact/kup-interact-declarations.d.ts +128 -128
  506. package/dist/types/managers/kup-interact/kup-interact.d.ts +105 -105
  507. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +225 -225
  508. package/dist/types/managers/kup-language/kup-language.d.ts +52 -52
  509. package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +162 -162
  510. package/dist/types/managers/kup-manager/kup-manager.d.ts +95 -95
  511. package/dist/types/managers/kup-math/kup-math-declarations.d.ts +33 -33
  512. package/dist/types/managers/kup-math/kup-math-helper.d.ts +17 -17
  513. package/dist/types/managers/kup-math/kup-math.d.ts +147 -85
  514. package/dist/types/managers/kup-objects/kup-objects-declarations.d.ts +15 -15
  515. package/dist/types/managers/kup-objects/kup-objects.d.ts +210 -210
  516. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +28 -28
  517. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +62 -62
  518. package/dist/types/managers/kup-search/kup-search-declarations.d.ts +7 -7
  519. package/dist/types/managers/kup-search/kup-search.d.ts +20 -20
  520. package/dist/types/managers/kup-theme/kup-theme-declarations.d.ts +185 -185
  521. package/dist/types/managers/kup-theme/kup-theme.d.ts +127 -127
  522. package/dist/types/managers/kup-toolbar/kup-toolbar-declarations.d.ts +8 -8
  523. package/dist/types/managers/kup-toolbar/kup-toolbar.d.ts +39 -39
  524. package/dist/types/managers/kup-tooltip/kup-tooltip-declarations.d.ts +8 -8
  525. package/dist/types/managers/kup-tooltip/kup-tooltip.d.ts +51 -51
  526. package/dist/types/stencil-public-runtime.d.ts +1 -0
  527. package/dist/types/types/GenericTypes.d.ts +110 -110
  528. package/dist/types/utils/cell-utils.d.ts +10 -10
  529. package/dist/types/utils/filters/filters-column-menu.d.ts +96 -96
  530. package/dist/types/utils/filters/filters-declarations.d.ts +39 -39
  531. package/dist/types/utils/filters/filters-rows.d.ts +30 -30
  532. package/dist/types/utils/filters/filters-tree-items.d.ts +19 -19
  533. package/dist/types/utils/filters/filters.d.ts +72 -72
  534. package/dist/types/utils/kup-column-menu/kup-column-menu-declarations.d.ts +19 -19
  535. package/dist/types/utils/kup-column-menu/kup-column-menu.d.ts +142 -142
  536. package/dist/types/utils/utils.d.ts +37 -124
  537. package/dist/types/variables/GenericVariables.d.ts +4 -4
  538. package/package.json +21 -16
  539. package/dist/cjs/tslib.es6-386654de.js +0 -87
  540. package/dist/esm/tslib.es6-8c2af864.js +0 -82
  541. package/dist/ketchup/p-017418e7.entry.js +0 -27
  542. package/dist/ketchup/p-38f16697.entry.js +0 -9
  543. package/dist/ketchup/p-4638fbff.js +0 -1
  544. package/dist/ketchup/p-4c56e199.entry.js +0 -1
  545. package/dist/ketchup/p-5205286a.entry.js +0 -25
  546. package/dist/ketchup/p-61319cfa.js +0 -1
  547. package/dist/ketchup/p-6c726886.entry.js +0 -1
  548. package/dist/ketchup/p-7f59211b.js +0 -1
  549. package/dist/ketchup/p-80815edf.entry.js +0 -1
  550. package/dist/ketchup/p-9dcfbb1e.js +0 -2
  551. package/dist/ketchup/p-9fc6a9a8.entry.js +0 -1
  552. package/dist/ketchup/p-acaa171f.js +0 -30
  553. package/dist/ketchup/p-bf4a881b.js +0 -1
  554. package/dist/ketchup/p-d4eb9a76.entry.js +0 -1
  555. package/dist/ketchup/p-ed7e118e.entry.js +0 -1
  556. package/dist/ketchup/p-ef0b4f19.entry.js +0 -39
  557. /package/dist/ketchup/{p-6c77a36c.js → p-0fd98ab4.js} +0 -0
  558. /package/dist/ketchup/{p-97e8ea42.js → p-ad2e21d2.js} +0 -0
@@ -1,715 +1,715 @@
1
- import { getAssetPath } from '@stencil/core';
2
- import * as themesJson from './themes.json';
3
- import * as applicationCSS from './kup-theme-application.css';
4
- import * as componentCSS from './kup-theme-component.css';
5
- import * as fButtonCSS from '../../f-components/f-button/f-button.css';
6
- import * as fCellCSS from '../../f-components/f-cell/f-cell.css';
7
- import * as fCheckboxCSS from '../../f-components/f-checkbox/f-checkbox.css';
8
- import * as fChipCSS from '../../f-components/f-chip/f-chip.css';
9
- import * as fImageCSS from '../../f-components/f-image/f-image.css';
10
- import * as fPaginatorCSS from '../../f-components/f-paginator/f-paginator.css';
11
- import * as fSwitchCSS from '../../f-components/f-switch/f-switch.css';
12
- import * as fTextFieldCSS from '../../f-components/f-text-field/f-text-field.css';
13
- import * as rippleCSS from './mdc-ripple.css';
14
- import { fButtonUsers, fCellUsers, fCheckboxUsers, fChipUsers, fImageUsers, fPaginatorUsers, fSwitchUsers, fTextFieldUsers, masterCustomStyle, rippleUsers, } from './kup-theme-declarations';
15
- import { KupDebugCategory } from '../kup-debug/kup-debug-declarations';
16
- const dom = document.documentElement;
17
- /**
18
- * Theme manager, handles everything about theming, customStyles and color utilities.
19
- * @module KupTheme
20
- */
21
- export class KupTheme {
22
- /**
23
- * Initializes KupTheme.
24
- */
25
- constructor(list, name) {
26
- this.cssVars = {};
27
- this.list = list ? list : themesJson['default'];
28
- this.managedComponents = new Set();
29
- this.name = name ? name : 'ketchup';
30
- this.styleTag = dom
31
- .querySelector('head')
32
- .appendChild(document.createElement('style'));
33
- }
34
- /**
35
- * Sets the CSS variables of the theme.
36
- */
37
- imports() {
38
- const imports = this.list[this.name].imports
39
- ? this.list[this.name].imports
40
- : [];
41
- let css = '';
42
- for (let index = 0; index < imports.length; index++) {
43
- css += '@import ' + imports[index] + ';';
44
- }
45
- return css;
46
- }
47
- /**
48
- * Sets the CSS variables of the theme.
49
- */
50
- cssVariables() {
51
- const variables = this.list[this.name].cssVariables;
52
- let css = '';
53
- for (let key in variables) {
54
- if (variables.hasOwnProperty(key)) {
55
- const val = variables[key];
56
- this.cssVars[key] = val;
57
- css += key + ': ' + val + ';';
58
- if (key.indexOf('color') > -1) {
59
- const computedColor = this.colorCheck(val);
60
- const rgbKey = key + '-rgb';
61
- const hKey = key + '-h';
62
- const sKey = key + '-s';
63
- const lKey = key + '-l';
64
- const rgbVal = computedColor.rgbValues;
65
- const hue = computedColor.hue;
66
- const saturation = computedColor.saturation;
67
- const lightness = computedColor.lightness;
68
- this.cssVars[rgbKey] = rgbVal;
69
- this.cssVars[hKey] = hue;
70
- this.cssVars[lKey] = lightness;
71
- this.cssVars[sKey] = saturation;
72
- css += rgbKey + ': ' + rgbVal + ';';
73
- css += hKey + ': ' + hue + ';';
74
- css += lKey + ': ' + lightness + ';';
75
- css += sKey + ': ' + saturation + ';';
76
- }
77
- }
78
- }
79
- return css;
80
- }
81
- /**
82
- * Sets the icon variables of the theme.
83
- */
84
- icons() {
85
- const icons = this.list[this.name].icons;
86
- let css = '';
87
- for (var key in icons) {
88
- if (icons.hasOwnProperty(key)) {
89
- const val = `url('${getAssetPath(`./assets/svg/${icons[key]}.svg`)}') no-repeat center`;
90
- this.cssVars[key] = val;
91
- css += key + ': ' + val + ';';
92
- }
93
- }
94
- return css;
95
- }
96
- /**
97
- * Refreshed managed components to apply theme customStyles.
98
- */
99
- customStyle() {
100
- this.managedComponents.forEach(function (comp) {
101
- if (comp.isConnected) {
102
- comp.refresh();
103
- }
104
- });
105
- }
106
- /**
107
- * Sets the theme using this.name or the function's argument.
108
- * @param {string} name - When present, this theme will be set.
109
- */
110
- set(name, list) {
111
- if (name) {
112
- this.name = name;
113
- }
114
- if (list) {
115
- this.list = list;
116
- }
117
- dom.ketchup.debug.logMessage('theme manager', 'Setting theme to: ' + this.name + '.');
118
- if (!this.list[this.name]) {
119
- dom.ketchup.debug.logMessage('theme manager', 'Invalid theme name, falling back to default ("ketchup").');
120
- this.name = 'ketchup';
121
- }
122
- this.cssVars = {};
123
- this.styleTag.innerText =
124
- this.imports() +
125
- ' :root[kup-theme="' +
126
- this.name +
127
- '"]{' +
128
- this.cssVariables() +
129
- this.icons() +
130
- '}' +
131
- applicationCSS['default'];
132
- this.customStyle();
133
- document.documentElement.setAttribute('kup-theme', this.name);
134
- document.dispatchEvent(new CustomEvent('kup-theme-change'));
135
- }
136
- /**
137
- * Gets the name of available themes.
138
- * @returns {Array<string>} Array of themes' names.
139
- */
140
- getThemes() {
141
- const themes = [];
142
- for (var key in this.list) {
143
- if (this.list.hasOwnProperty(key)) {
144
- themes.push(key);
145
- }
146
- }
147
- return themes;
148
- }
149
- /**
150
- * This method will just refresh the current theme.
151
- */
152
- refresh() {
153
- try {
154
- this.styleTag.innerText =
155
- ':root[kup-theme="' +
156
- this.name +
157
- '"]{' +
158
- this.cssVariables() +
159
- this.icons() +
160
- '}';
161
- this.customStyle();
162
- dom.ketchup.debug.logMessage('kup-theme', 'Theme ' + dom.getAttribute('kup-theme') + ' refreshed.');
163
- document.dispatchEvent(new CustomEvent('kup-theme-refresh'));
164
- }
165
- catch (error) {
166
- dom.ketchup.debug.logMessage('kup-theme', 'Theme not refreshed.', KupDebugCategory.WARNING);
167
- }
168
- }
169
- /**
170
- * Registers a KupComponent in KupTheme, in order to be properly refreshed whenever the theme changes.
171
- * @param {any} comp - The component calling this function.
172
- */
173
- register(comp) {
174
- this.managedComponents.add(comp.rootElement ? comp.rootElement : comp);
175
- }
176
- /**
177
- * Unregisters a KupComponent, so it won't be refreshed when the theme changes.
178
- * @param {any} comp - The component calling this function.
179
- */
180
- unregister(comp) {
181
- if (this.managedComponents) {
182
- this.managedComponents.delete(comp.rootElement ? comp.rootElement : comp);
183
- }
184
- }
185
- /**
186
- * Combines global (style every component should have), theme's and component's customStyles, returning the result.
187
- * @param comp - The component calling this function.
188
- * @returns {string} Combined customStyle.
189
- */
190
- setKupStyle(comp) {
191
- const styles = this.list[this.name].customStyles;
192
- const tagName = comp.tagName;
193
- let completeStyle = componentCSS['default'];
194
- if (styles && styles[masterCustomStyle]) {
195
- completeStyle += styles[masterCustomStyle];
196
- }
197
- if (styles && styles[comp.tagName]) {
198
- completeStyle += ' ' + styles[comp.tagName];
199
- }
200
- if (comp.customStyle) {
201
- completeStyle += ' ' + comp.customStyle;
202
- }
203
- if (tagName) {
204
- if (fButtonUsers.includes(tagName)) {
205
- completeStyle += fButtonCSS['default'];
206
- }
207
- if (fCellUsers.includes(tagName)) {
208
- completeStyle += fCellCSS['default'];
209
- }
210
- if (fCheckboxUsers.includes(tagName)) {
211
- completeStyle += fCheckboxCSS['default'];
212
- }
213
- if (fChipUsers.includes(tagName)) {
214
- completeStyle += fChipCSS['default'];
215
- }
216
- if (fImageUsers.includes(tagName)) {
217
- completeStyle += fImageCSS['default'];
218
- }
219
- if (fPaginatorUsers.includes(tagName)) {
220
- completeStyle += fPaginatorCSS['default'];
221
- }
222
- if (fSwitchUsers.includes(tagName)) {
223
- completeStyle += fSwitchCSS['default'];
224
- }
225
- if (fTextFieldUsers.includes(tagName)) {
226
- completeStyle += fTextFieldCSS['default'];
227
- }
228
- if (rippleUsers.includes(tagName)) {
229
- completeStyle += rippleCSS['default'];
230
- }
231
- }
232
- return completeStyle ? completeStyle : null;
233
- }
234
- /**
235
- * Checks whether on a given color the text should be white or black.
236
- * @param {string} color - Color used to check the contrast.
237
- * @returns {string} "white" or "black".
238
- */
239
- colorContrast(color) {
240
- color = this.colorCheck(color).rgbColor;
241
- const colorValues = color.replace(/[^\d,.]/g, '').split(',');
242
- const brightness = Math.round((parseInt(colorValues[0]) * 299 +
243
- parseInt(colorValues[1]) * 587 +
244
- parseInt(colorValues[2]) * 114) /
245
- 1000);
246
- return brightness > 125 ? 'black' : 'white';
247
- }
248
- /**
249
- * Generates a random HEX color.
250
- * @param {number} brightness - Brightness of the color generated (0-255).
251
- * @returns {string} Random HEX color.
252
- */
253
- randomColor(brightness) {
254
- function randomChannel(brightness) {
255
- var r = 255 - brightness;
256
- var n = 0 | (Math.random() * r + brightness);
257
- var s = n.toString(16);
258
- return s.length == 1 ? '0' + s : s;
259
- }
260
- return ('#' +
261
- randomChannel(brightness) +
262
- randomChannel(brightness) +
263
- randomChannel(brightness));
264
- }
265
- /**
266
- * Sets a random theme between those specified in this.list (excludes "print" and "test") and different from the currently used one.
267
- */
268
- randomTheme() {
269
- let themes = [];
270
- for (var key in this.list) {
271
- if (this.list.hasOwnProperty(key)) {
272
- if (key !== 'test' && key !== 'print') {
273
- themes.push(key);
274
- }
275
- }
276
- }
277
- if (themes.length > 0) {
278
- let index = null;
279
- while (index === null || themes[index] === this.name) {
280
- index = Math.floor(Math.random() * Math.floor(themes.length));
281
- }
282
- this.set(themes[index]);
283
- }
284
- else {
285
- dom.ketchup.debug.logMessage('kup-theme', "Couldn't set a random theme: no themes available!", KupDebugCategory.WARNING);
286
- }
287
- }
288
- /**
289
- * Returns HEX, RGB, HSL, HSL values and RGB values from a given color.
290
- * @param {string} color - Input color.
291
- * @returns {KupThemeColor} Object of color values: hexColor ("#ffffff"), hslColor ("hsl(255,100%,100%)"), hslValues ("255,100%,100%"), rgbColor ("rgb(255,255,255)") and rgbValues ("255,255,255").
292
- */
293
- colorCheck(color) {
294
- //Testing whether the color is transparent, if it is a fall back value will be returned matching the background-color
295
- if (color === 'transparent') {
296
- color = this.cssVars['--kup-background-color'];
297
- dom.ketchup.debug.logMessage('theme manager', 'Received TRANSPARENT color, converted to ' +
298
- color +
299
- ' (theme background).');
300
- }
301
- const altRgbRe = /R(\d{1,3})G(\d{1,3})B(\d{1,3})/;
302
- const altRgb = altRgbRe.test(color);
303
- if (altRgb) {
304
- const parts = color.match(altRgbRe);
305
- color = 'rgb(' + parts[1] + ',' + parts[2] + ',' + parts[3] + ')';
306
- }
307
- let isHex = color.substring(0, 1) === '#';
308
- const isHsl = color.substring(0, 3).toLowerCase() === 'hsl';
309
- const isRgb = color.substring(0, 3).toLowerCase() === 'rgb';
310
- //If true, supposedly it's a code word
311
- if (!isHex && !isHsl && !isRgb) {
312
- const oldColor = color;
313
- color = this.codeToHex(color);
314
- isHex = color.substring(0, 1) === '#' ? true : false;
315
- dom.ketchup.debug.logMessage('theme manager', 'Received CODE NAME color ' +
316
- oldColor +
317
- ', converted to ' +
318
- color +
319
- '.');
320
- }
321
- //Testing whether the color is "hex" value or "hsl"
322
- let hexColor = null;
323
- let rgbColor = null;
324
- let hslColor = null;
325
- let hslValues = null;
326
- let hue = null;
327
- let lightness = null;
328
- let saturation = null;
329
- if (isHex || isHsl) {
330
- const oldColor = color;
331
- let rgbColorObj = null;
332
- if (isHex) {
333
- hexColor = color;
334
- rgbColorObj = this.hexToRgb(color);
335
- }
336
- else {
337
- hslColor = color;
338
- const regexp = /hsl\(\s*(\d+)\s*,\s*(\d+(?:\.\d+)?%)\s*,\s*(\d+(?:\.\d+)?%)\)/g;
339
- const hsl = regexp.exec(color).slice(1);
340
- hslValues = hsl[0] + ',' + hsl[1] + ',' + hsl[2];
341
- hue = hsl[0];
342
- saturation = hsl[2];
343
- lightness = hsl[1];
344
- const h = parseInt(hue.replace('deg', ''));
345
- const s = parseInt(saturation.replace('%', '')) / 100;
346
- const l = parseInt(lightness.replace('%', '')) / 100;
347
- rgbColorObj = this.hslToRgb(h, s, l);
348
- }
349
- try {
350
- color =
351
- 'rgb(' +
352
- rgbColorObj.r +
353
- ',' +
354
- rgbColorObj.g +
355
- ',' +
356
- rgbColorObj.b +
357
- ')';
358
- if (isHex) {
359
- const hsl = this.rgbToHsl(rgbColorObj.r, rgbColorObj.g, rgbColorObj.b);
360
- hue = hsl.h.toString();
361
- saturation = hsl.s.toString() + '%';
362
- lightness = hsl.l.toString() + '%';
363
- hslValues = hue + ',' + saturation + ',' + lightness;
364
- hslColor = 'hsl(' + hslValues + ')';
365
- }
366
- else {
367
- hexColor = this.rgbToHex(rgbColorObj.r, rgbColorObj.g, rgbColorObj.b);
368
- }
369
- dom.ketchup.debug.logMessage('theme-manager', 'Received HEX color ' +
370
- oldColor +
371
- ', converted to ' +
372
- color +
373
- '.');
374
- }
375
- catch (error) {
376
- dom.ketchup.debug.logMessage('theme-manager', 'Invalid color: ' + color + '.');
377
- }
378
- }
379
- let rgbValues = null;
380
- const values = color.match(/rgba?\((\d{1,3}), ?(\d{1,3}), ?(\d{1,3})\)?(?:, ?(\d(?:\.\d?))\))?/);
381
- try {
382
- rgbValues = values[1] + ',' + values[2] + ',' + values[3];
383
- rgbColor = color;
384
- }
385
- catch (error) {
386
- dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to rgb values: ' + color + '.');
387
- }
388
- if (!hexColor) {
389
- try {
390
- hexColor = this.rgbToHex(parseInt(values[1]), parseInt(values[2]), parseInt(values[3]));
391
- }
392
- catch (error) {
393
- dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to hex value: ' + color + '.');
394
- }
395
- }
396
- if (!hslColor || !hslValues) {
397
- try {
398
- const hsl = this.rgbToHsl(parseInt(values[1]), parseInt(values[2]), parseInt(values[3]));
399
- hue = hsl.h.toString();
400
- saturation = hsl.s.toString() + '%';
401
- lightness = hsl.l.toString() + '%';
402
- hslValues = hsl.h + ',' + hsl.s + '%,' + hsl.l + '%';
403
- hslColor = 'hsl(' + hsl.h + ',' + hsl.s + '%,' + hsl.l + '%)';
404
- }
405
- catch (error) {
406
- dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to hex value: ' + color + '.');
407
- }
408
- }
409
- return {
410
- hexColor: hexColor,
411
- hslColor: hslColor,
412
- hslValues: hslValues,
413
- hue: hue,
414
- lightness: lightness,
415
- saturation: saturation,
416
- rgbColor: rgbColor,
417
- rgbValues: rgbValues,
418
- };
419
- }
420
- /**
421
- * Converts an HEX color to its RGB values.
422
- * @param {string} hex - Hex code.
423
- * @returns {KupThemeRGBValues} Object containing RGB values.
424
- */
425
- hexToRgb(hex) {
426
- var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
427
- return result
428
- ? {
429
- r: parseInt(result[1], 16),
430
- g: parseInt(result[2], 16),
431
- b: parseInt(result[3], 16),
432
- }
433
- : null;
434
- }
435
- /**
436
- * Converts an HSL color to its RGB values.
437
- * @param {number} h - Hue (range [0, 360)).
438
- * @param {number} s - Saturation (range [0, 1)).
439
- * @param {number} l - Lightness (range [0, 1)).
440
- * @returns {Array} RGB values.
441
- */
442
- hslToRgb(h, s, l) {
443
- if (h == undefined) {
444
- return { r: 0, g: 0, b: 0 };
445
- }
446
- let huePrime = h / 60;
447
- const chroma = (1 - Math.abs(2 * l - 1)) * s;
448
- const secondComponent = chroma * (1 - Math.abs((huePrime % 2) - 1));
449
- huePrime = Math.floor(huePrime);
450
- let red, green, blue;
451
- if (huePrime === 0) {
452
- red = chroma;
453
- green = secondComponent;
454
- blue = 0;
455
- }
456
- else if (huePrime === 1) {
457
- red = secondComponent;
458
- green = chroma;
459
- blue = 0;
460
- }
461
- else if (huePrime === 2) {
462
- red = 0;
463
- green = chroma;
464
- blue = secondComponent;
465
- }
466
- else if (huePrime === 3) {
467
- red = 0;
468
- green = secondComponent;
469
- blue = chroma;
470
- }
471
- else if (huePrime === 4) {
472
- red = secondComponent;
473
- green = 0;
474
- blue = chroma;
475
- }
476
- else if (huePrime === 5) {
477
- red = chroma;
478
- green = 0;
479
- blue = secondComponent;
480
- }
481
- const lightnessAdjustment = l - chroma / 2;
482
- red += lightnessAdjustment;
483
- green += lightnessAdjustment;
484
- blue += lightnessAdjustment;
485
- return {
486
- r: Math.round(red * 255),
487
- g: Math.round(green * 255),
488
- b: Math.round(blue * 255),
489
- };
490
- }
491
- /**
492
- * Converts a color in RGB format to the corresponding HEX color.
493
- * @param {number} r - Red channel value.
494
- * @param {number} g - Green channel value.
495
- * @param {number} b - Blue channel value.
496
- * @returns {string} HEX color.
497
- */
498
- rgbToHex(r, g, b) {
499
- return ('#' + this.valueToHex(r) + this.valueToHex(g) + this.valueToHex(b));
500
- }
501
- /**
502
- * Converts a color in RGB format to the corresponding HSL color.
503
- * @param {number} r - Red channel value.
504
- * @param {number} g - Green channel value.
505
- * @param {number} b - Blue channel value.
506
- * @returns {KupThemeHSLValues} Object containing HSL values.
507
- */
508
- rgbToHsl(r, g, b) {
509
- // Make r, g, and b fractions of 1
510
- r /= 255;
511
- g /= 255;
512
- b /= 255;
513
- // Find greatest and smallest channel values
514
- const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;
515
- let h = 0, s = 0, l = 0;
516
- // Calculate hue
517
- // No difference
518
- if (delta == 0)
519
- h = 0;
520
- // Red is max
521
- else if (cmax == r)
522
- h = ((g - b) / delta) % 6;
523
- // Green is max
524
- else if (cmax == g)
525
- h = (b - r) / delta + 2;
526
- // Blue is max
527
- else
528
- h = (r - g) / delta + 4;
529
- h = Math.round(h * 60);
530
- // Make negative hues positive behind 360°
531
- if (h < 0)
532
- h += 360;
533
- // Calculate lightness
534
- l = (cmax + cmin) / 2;
535
- // Calculate saturation
536
- s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));
537
- // Multiply l and s by 100
538
- s = +(s * 100).toFixed(1);
539
- l = +(l * 100).toFixed(1);
540
- return { h: h, s: s, l: l };
541
- }
542
- /**
543
- * Converts a single RGB value to the corresponding HEX value.
544
- * @param {number} c - Color value.
545
- * @returns {string} HEX value.
546
- */
547
- valueToHex(c) {
548
- const hex = c.toString(16);
549
- return hex.length == 1 ? '0' + hex : hex;
550
- }
551
- /**
552
- * Converts a color code word to the corresponding HEX value.
553
- * @param {string} color - Color code word.
554
- * @returns {string} HEX value.
555
- */
556
- codeToHex(color) {
557
- const colorCodes = {
558
- aliceblue: '#f0f8ff',
559
- antiquewhite: '#faebd7',
560
- aqua: '#00ffff',
561
- aquamarine: '#7fffd4',
562
- azure: '#f0ffff',
563
- beige: '#f5f5dc',
564
- bisque: '#ffe4c4',
565
- black: '#000000',
566
- blanchedalmond: '#ffebcd',
567
- blue: '#0000ff',
568
- blueviolet: '#8a2be2',
569
- brown: '#a52a2a',
570
- burlywood: '#deb887',
571
- cadetblue: '#5f9ea0',
572
- chartreuse: '#7fff00',
573
- chocolate: '#d2691e',
574
- coral: '#ff7f50',
575
- cornflowerblue: '#6495ed',
576
- cornsilk: '#fff8dc',
577
- crimson: '#dc143c',
578
- cyan: '#00ffff',
579
- darkblue: '#00008b',
580
- darkcyan: '#008b8b',
581
- darkgoldenrod: '#b8860b',
582
- darkgray: '#a9a9a9',
583
- darkgreen: '#006400',
584
- darkgrey: '#a9a9a9',
585
- darkkhaki: '#bdb76b',
586
- darkmagenta: '#8b008b',
587
- darkolivegreen: '#556b2f',
588
- darkorange: '#ff8c00',
589
- darkorchid: '#9932cc',
590
- darkred: '#8b0000',
591
- darksalmon: '#e9967a',
592
- darkseagreen: '#8fbc8f',
593
- darkslateblue: '#483d8b',
594
- darkslategray: '#2f4f4f',
595
- darkslategrey: '#2f4f4f',
596
- darkturquoise: '#00ced1',
597
- darkviolet: '#9400d3',
598
- deeppink: '#ff1493',
599
- deepskyblue: '#00bfff',
600
- dimgray: '#696969',
601
- dimgrey: '#696969',
602
- dodgerblue: '#1e90ff',
603
- firebrick: '#b22222',
604
- floralwhite: '#fffaf0',
605
- forestgreen: '#228b22',
606
- fuchsia: '#ff00ff',
607
- gainsboro: '#dcdcdc',
608
- ghostwhite: '#f8f8ff',
609
- goldenrod: '#daa520',
610
- gold: '#ffd700',
611
- gray: '#808080',
612
- green: '#008000',
613
- greenyellow: '#adff2f',
614
- grey: '#808080',
615
- honeydew: '#f0fff0',
616
- hotpink: '#ff69b4',
617
- indianred: '#cd5c5c',
618
- indigo: '#4b0082',
619
- ivory: '#fffff0',
620
- khaki: '#f0e68c',
621
- lavenderblush: '#fff0f5',
622
- lavender: '#e6e6fa',
623
- lawngreen: '#7cfc00',
624
- lemonchiffon: '#fffacd',
625
- lightblue: '#add8e6',
626
- lightcoral: '#f08080',
627
- lightcyan: '#e0ffff',
628
- lightgoldenrodyellow: '#fafad2',
629
- lightgray: '#d3d3d3',
630
- lightgreen: '#90ee90',
631
- lightgrey: '#d3d3d3',
632
- lightpink: '#ffb6c1',
633
- lightsalmon: '#ffa07a',
634
- lightseagreen: '#20b2aa',
635
- lightskyblue: '#87cefa',
636
- lightslategray: '#778899',
637
- lightslategrey: '#778899',
638
- lightsteelblue: '#b0c4de',
639
- lightyellow: '#ffffe0',
640
- lime: '#00ff00',
641
- limegreen: '#32cd32',
642
- linen: '#faf0e6',
643
- magenta: '#ff00ff',
644
- maroon: '#800000',
645
- mediumaquamarine: '#66cdaa',
646
- mediumblue: '#0000cd',
647
- mediumorchid: '#ba55d3',
648
- mediumpurple: '#9370db',
649
- mediumseagreen: '#3cb371',
650
- mediumslateblue: '#7b68ee',
651
- mediumspringgreen: '#00fa9a',
652
- mediumturquoise: '#48d1cc',
653
- mediumvioletred: '#c71585',
654
- midnightblue: '#191970',
655
- mintcream: '#f5fffa',
656
- mistyrose: '#ffe4e1',
657
- moccasin: '#ffe4b5',
658
- navajowhite: '#ffdead',
659
- navy: '#000080',
660
- oldlace: '#fdf5e6',
661
- olive: '#808000',
662
- olivedrab: '#6b8e23',
663
- orange: '#ffa500',
664
- orangered: '#ff4500',
665
- orchid: '#da70d6',
666
- palegoldenrod: '#eee8aa',
667
- palegreen: '#98fb98',
668
- paleturquoise: '#afeeee',
669
- palevioletred: '#db7093',
670
- papayawhip: '#ffefd5',
671
- peachpuff: '#ffdab9',
672
- peru: '#cd853f',
673
- pink: '#ffc0cb',
674
- plum: '#dda0dd',
675
- powderblue: '#b0e0e6',
676
- purple: '#800080',
677
- rebeccapurple: '#663399',
678
- red: '#ff0000',
679
- rosybrown: '#bc8f8f',
680
- royalblue: '#4169e1',
681
- saddlebrown: '#8b4513',
682
- salmon: '#fa8072',
683
- sandybrown: '#f4a460',
684
- seagreen: '#2e8b57',
685
- seashell: '#fff5ee',
686
- sienna: '#a0522d',
687
- silver: '#c0c0c0',
688
- skyblue: '#87ceeb',
689
- slateblue: '#6a5acd',
690
- slategray: '#708090',
691
- slategrey: '#708090',
692
- snow: '#fffafa',
693
- springgreen: '#00ff7f',
694
- steelblue: '#4682b4',
695
- tan: '#d2b48c',
696
- teal: '#008080',
697
- thistle: '#d8bfd8',
698
- tomato: '#ff6347',
699
- turquoise: '#40e0d0',
700
- violet: '#ee82ee',
701
- wheat: '#f5deb3',
702
- white: '#ffffff',
703
- whitesmoke: '#f5f5f5',
704
- yellow: '#ffff00',
705
- yellowgreen: '#9acd32',
706
- };
707
- if (colorCodes[color.toLowerCase()]) {
708
- return colorCodes[color.toLowerCase()];
709
- }
710
- else {
711
- dom.ketchup.debug.logMessage('theme manager', 'Could not decode color ' + color + '!');
712
- return color;
713
- }
714
- }
715
- }
1
+ import { getAssetPath } from '@stencil/core';
2
+ import * as themesJson from './themes.json';
3
+ import * as applicationCSS from './kup-theme-application.css';
4
+ import * as componentCSS from './kup-theme-component.css';
5
+ import * as fButtonCSS from '../../f-components/f-button/f-button.css';
6
+ import * as fCellCSS from '../../f-components/f-cell/f-cell.css';
7
+ import * as fCheckboxCSS from '../../f-components/f-checkbox/f-checkbox.css';
8
+ import * as fChipCSS from '../../f-components/f-chip/f-chip.css';
9
+ import * as fImageCSS from '../../f-components/f-image/f-image.css';
10
+ import * as fPaginatorCSS from '../../f-components/f-paginator/f-paginator.css';
11
+ import * as fSwitchCSS from '../../f-components/f-switch/f-switch.css';
12
+ import * as fTextFieldCSS from '../../f-components/f-text-field/f-text-field.css';
13
+ import * as rippleCSS from './mdc-ripple.css';
14
+ import { fButtonUsers, fCellUsers, fCheckboxUsers, fChipUsers, fImageUsers, fPaginatorUsers, fSwitchUsers, fTextFieldUsers, masterCustomStyle, rippleUsers, } from './kup-theme-declarations';
15
+ import { KupDebugCategory } from '../kup-debug/kup-debug-declarations';
16
+ const dom = document.documentElement;
17
+ /**
18
+ * Theme manager, handles everything about theming, customStyles and color utilities.
19
+ * @module KupTheme
20
+ */
21
+ export class KupTheme {
22
+ /**
23
+ * Initializes KupTheme.
24
+ */
25
+ constructor(list, name) {
26
+ this.cssVars = {};
27
+ this.list = list ? list : themesJson['default'];
28
+ this.managedComponents = new Set();
29
+ this.name = name ? name : 'ketchup';
30
+ this.styleTag = dom
31
+ .querySelector('head')
32
+ .appendChild(document.createElement('style'));
33
+ }
34
+ /**
35
+ * Sets the CSS variables of the theme.
36
+ */
37
+ imports() {
38
+ const imports = this.list[this.name].imports
39
+ ? this.list[this.name].imports
40
+ : [];
41
+ let css = '';
42
+ for (let index = 0; index < imports.length; index++) {
43
+ css += '@import ' + imports[index] + ';';
44
+ }
45
+ return css;
46
+ }
47
+ /**
48
+ * Sets the CSS variables of the theme.
49
+ */
50
+ cssVariables() {
51
+ const variables = this.list[this.name].cssVariables;
52
+ let css = '';
53
+ for (let key in variables) {
54
+ if (variables.hasOwnProperty(key)) {
55
+ const val = variables[key];
56
+ this.cssVars[key] = val;
57
+ css += key + ': ' + val + ';';
58
+ if (key.indexOf('color') > -1) {
59
+ const computedColor = this.colorCheck(val);
60
+ const rgbKey = key + '-rgb';
61
+ const hKey = key + '-h';
62
+ const sKey = key + '-s';
63
+ const lKey = key + '-l';
64
+ const rgbVal = computedColor.rgbValues;
65
+ const hue = computedColor.hue;
66
+ const saturation = computedColor.saturation;
67
+ const lightness = computedColor.lightness;
68
+ this.cssVars[rgbKey] = rgbVal;
69
+ this.cssVars[hKey] = hue;
70
+ this.cssVars[lKey] = lightness;
71
+ this.cssVars[sKey] = saturation;
72
+ css += rgbKey + ': ' + rgbVal + ';';
73
+ css += hKey + ': ' + hue + ';';
74
+ css += lKey + ': ' + lightness + ';';
75
+ css += sKey + ': ' + saturation + ';';
76
+ }
77
+ }
78
+ }
79
+ return css;
80
+ }
81
+ /**
82
+ * Sets the icon variables of the theme.
83
+ */
84
+ icons() {
85
+ const icons = this.list[this.name].icons;
86
+ let css = '';
87
+ for (var key in icons) {
88
+ if (icons.hasOwnProperty(key)) {
89
+ const val = `url('${getAssetPath(`./assets/svg/${icons[key]}.svg`)}') no-repeat center`;
90
+ this.cssVars[key] = val;
91
+ css += key + ': ' + val + ';';
92
+ }
93
+ }
94
+ return css;
95
+ }
96
+ /**
97
+ * Refreshed managed components to apply theme customStyles.
98
+ */
99
+ customStyle() {
100
+ this.managedComponents.forEach(function (comp) {
101
+ if (comp.isConnected) {
102
+ comp.refresh();
103
+ }
104
+ });
105
+ }
106
+ /**
107
+ * Sets the theme using this.name or the function's argument.
108
+ * @param {string} name - When present, this theme will be set.
109
+ */
110
+ set(name, list) {
111
+ if (name) {
112
+ this.name = name;
113
+ }
114
+ if (list) {
115
+ this.list = list;
116
+ }
117
+ dom.ketchup.debug.logMessage('theme manager', 'Setting theme to: ' + this.name + '.');
118
+ if (!this.list[this.name]) {
119
+ dom.ketchup.debug.logMessage('theme manager', 'Invalid theme name, falling back to default ("ketchup").');
120
+ this.name = 'ketchup';
121
+ }
122
+ this.cssVars = {};
123
+ this.styleTag.innerText =
124
+ this.imports() +
125
+ ' :root[kup-theme="' +
126
+ this.name +
127
+ '"]{' +
128
+ this.cssVariables() +
129
+ this.icons() +
130
+ '}' +
131
+ applicationCSS['default'];
132
+ this.customStyle();
133
+ document.documentElement.setAttribute('kup-theme', this.name);
134
+ document.dispatchEvent(new CustomEvent('kup-theme-change'));
135
+ }
136
+ /**
137
+ * Gets the name of available themes.
138
+ * @returns {Array<string>} Array of themes' names.
139
+ */
140
+ getThemes() {
141
+ const themes = [];
142
+ for (var key in this.list) {
143
+ if (this.list.hasOwnProperty(key)) {
144
+ themes.push(key);
145
+ }
146
+ }
147
+ return themes;
148
+ }
149
+ /**
150
+ * This method will just refresh the current theme.
151
+ */
152
+ refresh() {
153
+ try {
154
+ this.styleTag.innerText =
155
+ ':root[kup-theme="' +
156
+ this.name +
157
+ '"]{' +
158
+ this.cssVariables() +
159
+ this.icons() +
160
+ '}';
161
+ this.customStyle();
162
+ dom.ketchup.debug.logMessage('kup-theme', 'Theme ' + dom.getAttribute('kup-theme') + ' refreshed.');
163
+ document.dispatchEvent(new CustomEvent('kup-theme-refresh'));
164
+ }
165
+ catch (error) {
166
+ dom.ketchup.debug.logMessage('kup-theme', 'Theme not refreshed.', KupDebugCategory.WARNING);
167
+ }
168
+ }
169
+ /**
170
+ * Registers a KupComponent in KupTheme, in order to be properly refreshed whenever the theme changes.
171
+ * @param {any} comp - The component calling this function.
172
+ */
173
+ register(comp) {
174
+ this.managedComponents.add(comp.rootElement ? comp.rootElement : comp);
175
+ }
176
+ /**
177
+ * Unregisters a KupComponent, so it won't be refreshed when the theme changes.
178
+ * @param {any} comp - The component calling this function.
179
+ */
180
+ unregister(comp) {
181
+ if (this.managedComponents) {
182
+ this.managedComponents.delete(comp.rootElement ? comp.rootElement : comp);
183
+ }
184
+ }
185
+ /**
186
+ * Combines global (style every component should have), theme's and component's customStyles, returning the result.
187
+ * @param comp - The component calling this function.
188
+ * @returns {string} Combined customStyle.
189
+ */
190
+ setKupStyle(comp) {
191
+ const styles = this.list[this.name].customStyles;
192
+ const tagName = comp.tagName;
193
+ let completeStyle = componentCSS['default'];
194
+ if (styles && styles[masterCustomStyle]) {
195
+ completeStyle += styles[masterCustomStyle];
196
+ }
197
+ if (styles && styles[comp.tagName]) {
198
+ completeStyle += ' ' + styles[comp.tagName];
199
+ }
200
+ if (comp.customStyle) {
201
+ completeStyle += ' ' + comp.customStyle;
202
+ }
203
+ if (tagName) {
204
+ if (fButtonUsers.includes(tagName)) {
205
+ completeStyle += fButtonCSS['default'];
206
+ }
207
+ if (fCellUsers.includes(tagName)) {
208
+ completeStyle += fCellCSS['default'];
209
+ }
210
+ if (fCheckboxUsers.includes(tagName)) {
211
+ completeStyle += fCheckboxCSS['default'];
212
+ }
213
+ if (fChipUsers.includes(tagName)) {
214
+ completeStyle += fChipCSS['default'];
215
+ }
216
+ if (fImageUsers.includes(tagName)) {
217
+ completeStyle += fImageCSS['default'];
218
+ }
219
+ if (fPaginatorUsers.includes(tagName)) {
220
+ completeStyle += fPaginatorCSS['default'];
221
+ }
222
+ if (fSwitchUsers.includes(tagName)) {
223
+ completeStyle += fSwitchCSS['default'];
224
+ }
225
+ if (fTextFieldUsers.includes(tagName)) {
226
+ completeStyle += fTextFieldCSS['default'];
227
+ }
228
+ if (rippleUsers.includes(tagName)) {
229
+ completeStyle += rippleCSS['default'];
230
+ }
231
+ }
232
+ return completeStyle ? completeStyle : null;
233
+ }
234
+ /**
235
+ * Checks whether on a given color the text should be white or black.
236
+ * @param {string} color - Color used to check the contrast.
237
+ * @returns {string} "white" or "black".
238
+ */
239
+ colorContrast(color) {
240
+ color = this.colorCheck(color).rgbColor;
241
+ const colorValues = color.replace(/[^\d,.]/g, '').split(',');
242
+ const brightness = Math.round((parseInt(colorValues[0]) * 299 +
243
+ parseInt(colorValues[1]) * 587 +
244
+ parseInt(colorValues[2]) * 114) /
245
+ 1000);
246
+ return brightness > 125 ? 'black' : 'white';
247
+ }
248
+ /**
249
+ * Generates a random HEX color.
250
+ * @param {number} brightness - Brightness of the color generated (0-255).
251
+ * @returns {string} Random HEX color.
252
+ */
253
+ randomColor(brightness) {
254
+ function randomChannel(brightness) {
255
+ var r = 255 - brightness;
256
+ var n = 0 | (Math.random() * r + brightness);
257
+ var s = n.toString(16);
258
+ return s.length == 1 ? '0' + s : s;
259
+ }
260
+ return ('#' +
261
+ randomChannel(brightness) +
262
+ randomChannel(brightness) +
263
+ randomChannel(brightness));
264
+ }
265
+ /**
266
+ * Sets a random theme between those specified in this.list (excludes "print" and "test") and different from the currently used one.
267
+ */
268
+ randomTheme() {
269
+ let themes = [];
270
+ for (var key in this.list) {
271
+ if (this.list.hasOwnProperty(key)) {
272
+ if (key !== 'test' && key !== 'print') {
273
+ themes.push(key);
274
+ }
275
+ }
276
+ }
277
+ if (themes.length > 0) {
278
+ let index = null;
279
+ while (index === null || themes[index] === this.name) {
280
+ index = Math.floor(Math.random() * Math.floor(themes.length));
281
+ }
282
+ this.set(themes[index]);
283
+ }
284
+ else {
285
+ dom.ketchup.debug.logMessage('kup-theme', "Couldn't set a random theme: no themes available!", KupDebugCategory.WARNING);
286
+ }
287
+ }
288
+ /**
289
+ * Returns HEX, RGB, HSL, HSL values and RGB values from a given color.
290
+ * @param {string} color - Input color.
291
+ * @returns {KupThemeColor} Object of color values: hexColor ("#ffffff"), hslColor ("hsl(255,100%,100%)"), hslValues ("255,100%,100%"), rgbColor ("rgb(255,255,255)") and rgbValues ("255,255,255").
292
+ */
293
+ colorCheck(color) {
294
+ //Testing whether the color is transparent, if it is a fall back value will be returned matching the background-color
295
+ if (color === 'transparent') {
296
+ color = this.cssVars['--kup-background-color'];
297
+ dom.ketchup.debug.logMessage('theme manager', 'Received TRANSPARENT color, converted to ' +
298
+ color +
299
+ ' (theme background).');
300
+ }
301
+ const altRgbRe = /R(\d{1,3})G(\d{1,3})B(\d{1,3})/;
302
+ const altRgb = altRgbRe.test(color);
303
+ if (altRgb) {
304
+ const parts = color.match(altRgbRe);
305
+ color = 'rgb(' + parts[1] + ',' + parts[2] + ',' + parts[3] + ')';
306
+ }
307
+ let isHex = color.substring(0, 1) === '#';
308
+ const isHsl = color.substring(0, 3).toLowerCase() === 'hsl';
309
+ const isRgb = color.substring(0, 3).toLowerCase() === 'rgb';
310
+ //If true, supposedly it's a code word
311
+ if (!isHex && !isHsl && !isRgb) {
312
+ const oldColor = color;
313
+ color = this.codeToHex(color);
314
+ isHex = color.substring(0, 1) === '#' ? true : false;
315
+ dom.ketchup.debug.logMessage('theme manager', 'Received CODE NAME color ' +
316
+ oldColor +
317
+ ', converted to ' +
318
+ color +
319
+ '.');
320
+ }
321
+ //Testing whether the color is "hex" value or "hsl"
322
+ let hexColor = null;
323
+ let rgbColor = null;
324
+ let hslColor = null;
325
+ let hslValues = null;
326
+ let hue = null;
327
+ let lightness = null;
328
+ let saturation = null;
329
+ if (isHex || isHsl) {
330
+ const oldColor = color;
331
+ let rgbColorObj = null;
332
+ if (isHex) {
333
+ hexColor = color;
334
+ rgbColorObj = this.hexToRgb(color);
335
+ }
336
+ else {
337
+ hslColor = color;
338
+ const regexp = /hsl\(\s*(\d+)\s*,\s*(\d+(?:\.\d+)?%)\s*,\s*(\d+(?:\.\d+)?%)\)/g;
339
+ const hsl = regexp.exec(color).slice(1);
340
+ hslValues = hsl[0] + ',' + hsl[1] + ',' + hsl[2];
341
+ hue = hsl[0];
342
+ saturation = hsl[2];
343
+ lightness = hsl[1];
344
+ const h = parseInt(hue.replace('deg', ''));
345
+ const s = parseInt(saturation.replace('%', '')) / 100;
346
+ const l = parseInt(lightness.replace('%', '')) / 100;
347
+ rgbColorObj = this.hslToRgb(h, s, l);
348
+ }
349
+ try {
350
+ color =
351
+ 'rgb(' +
352
+ rgbColorObj.r +
353
+ ',' +
354
+ rgbColorObj.g +
355
+ ',' +
356
+ rgbColorObj.b +
357
+ ')';
358
+ if (isHex) {
359
+ const hsl = this.rgbToHsl(rgbColorObj.r, rgbColorObj.g, rgbColorObj.b);
360
+ hue = hsl.h.toString();
361
+ saturation = hsl.s.toString() + '%';
362
+ lightness = hsl.l.toString() + '%';
363
+ hslValues = hue + ',' + saturation + ',' + lightness;
364
+ hslColor = 'hsl(' + hslValues + ')';
365
+ }
366
+ else {
367
+ hexColor = this.rgbToHex(rgbColorObj.r, rgbColorObj.g, rgbColorObj.b);
368
+ }
369
+ dom.ketchup.debug.logMessage('theme-manager', 'Received HEX color ' +
370
+ oldColor +
371
+ ', converted to ' +
372
+ color +
373
+ '.');
374
+ }
375
+ catch (error) {
376
+ dom.ketchup.debug.logMessage('theme-manager', 'Invalid color: ' + color + '.');
377
+ }
378
+ }
379
+ let rgbValues = null;
380
+ const values = color.match(/rgba?\((\d{1,3}), ?(\d{1,3}), ?(\d{1,3})\)?(?:, ?(\d(?:\.\d?))\))?/);
381
+ try {
382
+ rgbValues = values[1] + ',' + values[2] + ',' + values[3];
383
+ rgbColor = color;
384
+ }
385
+ catch (error) {
386
+ dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to rgb values: ' + color + '.');
387
+ }
388
+ if (!hexColor) {
389
+ try {
390
+ hexColor = this.rgbToHex(parseInt(values[1]), parseInt(values[2]), parseInt(values[3]));
391
+ }
392
+ catch (error) {
393
+ dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to hex value: ' + color + '.');
394
+ }
395
+ }
396
+ if (!hslColor || !hslValues) {
397
+ try {
398
+ const hsl = this.rgbToHsl(parseInt(values[1]), parseInt(values[2]), parseInt(values[3]));
399
+ hue = hsl.h.toString();
400
+ saturation = hsl.s.toString() + '%';
401
+ lightness = hsl.l.toString() + '%';
402
+ hslValues = hsl.h + ',' + hsl.s + '%,' + hsl.l + '%';
403
+ hslColor = 'hsl(' + hsl.h + ',' + hsl.s + '%,' + hsl.l + '%)';
404
+ }
405
+ catch (error) {
406
+ dom.ketchup.debug.logMessage('theme-manager', 'Color not converted to hex value: ' + color + '.');
407
+ }
408
+ }
409
+ return {
410
+ hexColor: hexColor,
411
+ hslColor: hslColor,
412
+ hslValues: hslValues,
413
+ hue: hue,
414
+ lightness: lightness,
415
+ saturation: saturation,
416
+ rgbColor: rgbColor,
417
+ rgbValues: rgbValues,
418
+ };
419
+ }
420
+ /**
421
+ * Converts an HEX color to its RGB values.
422
+ * @param {string} hex - Hex code.
423
+ * @returns {KupThemeRGBValues} Object containing RGB values.
424
+ */
425
+ hexToRgb(hex) {
426
+ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
427
+ return result
428
+ ? {
429
+ r: parseInt(result[1], 16),
430
+ g: parseInt(result[2], 16),
431
+ b: parseInt(result[3], 16),
432
+ }
433
+ : null;
434
+ }
435
+ /**
436
+ * Converts an HSL color to its RGB values.
437
+ * @param {number} h - Hue (range [0, 360)).
438
+ * @param {number} s - Saturation (range [0, 1)).
439
+ * @param {number} l - Lightness (range [0, 1)).
440
+ * @returns {Array} RGB values.
441
+ */
442
+ hslToRgb(h, s, l) {
443
+ if (h == undefined) {
444
+ return { r: 0, g: 0, b: 0 };
445
+ }
446
+ let huePrime = h / 60;
447
+ const chroma = (1 - Math.abs(2 * l - 1)) * s;
448
+ const secondComponent = chroma * (1 - Math.abs((huePrime % 2) - 1));
449
+ huePrime = Math.floor(huePrime);
450
+ let red, green, blue;
451
+ if (huePrime === 0) {
452
+ red = chroma;
453
+ green = secondComponent;
454
+ blue = 0;
455
+ }
456
+ else if (huePrime === 1) {
457
+ red = secondComponent;
458
+ green = chroma;
459
+ blue = 0;
460
+ }
461
+ else if (huePrime === 2) {
462
+ red = 0;
463
+ green = chroma;
464
+ blue = secondComponent;
465
+ }
466
+ else if (huePrime === 3) {
467
+ red = 0;
468
+ green = secondComponent;
469
+ blue = chroma;
470
+ }
471
+ else if (huePrime === 4) {
472
+ red = secondComponent;
473
+ green = 0;
474
+ blue = chroma;
475
+ }
476
+ else if (huePrime === 5) {
477
+ red = chroma;
478
+ green = 0;
479
+ blue = secondComponent;
480
+ }
481
+ const lightnessAdjustment = l - chroma / 2;
482
+ red += lightnessAdjustment;
483
+ green += lightnessAdjustment;
484
+ blue += lightnessAdjustment;
485
+ return {
486
+ r: Math.round(red * 255),
487
+ g: Math.round(green * 255),
488
+ b: Math.round(blue * 255),
489
+ };
490
+ }
491
+ /**
492
+ * Converts a color in RGB format to the corresponding HEX color.
493
+ * @param {number} r - Red channel value.
494
+ * @param {number} g - Green channel value.
495
+ * @param {number} b - Blue channel value.
496
+ * @returns {string} HEX color.
497
+ */
498
+ rgbToHex(r, g, b) {
499
+ return ('#' + this.valueToHex(r) + this.valueToHex(g) + this.valueToHex(b));
500
+ }
501
+ /**
502
+ * Converts a color in RGB format to the corresponding HSL color.
503
+ * @param {number} r - Red channel value.
504
+ * @param {number} g - Green channel value.
505
+ * @param {number} b - Blue channel value.
506
+ * @returns {KupThemeHSLValues} Object containing HSL values.
507
+ */
508
+ rgbToHsl(r, g, b) {
509
+ // Make r, g, and b fractions of 1
510
+ r /= 255;
511
+ g /= 255;
512
+ b /= 255;
513
+ // Find greatest and smallest channel values
514
+ const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;
515
+ let h = 0, s = 0, l = 0;
516
+ // Calculate hue
517
+ // No difference
518
+ if (delta == 0)
519
+ h = 0;
520
+ // Red is max
521
+ else if (cmax == r)
522
+ h = ((g - b) / delta) % 6;
523
+ // Green is max
524
+ else if (cmax == g)
525
+ h = (b - r) / delta + 2;
526
+ // Blue is max
527
+ else
528
+ h = (r - g) / delta + 4;
529
+ h = Math.round(h * 60);
530
+ // Make negative hues positive behind 360°
531
+ if (h < 0)
532
+ h += 360;
533
+ // Calculate lightness
534
+ l = (cmax + cmin) / 2;
535
+ // Calculate saturation
536
+ s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));
537
+ // Multiply l and s by 100
538
+ s = +(s * 100).toFixed(1);
539
+ l = +(l * 100).toFixed(1);
540
+ return { h: h, s: s, l: l };
541
+ }
542
+ /**
543
+ * Converts a single RGB value to the corresponding HEX value.
544
+ * @param {number} c - Color value.
545
+ * @returns {string} HEX value.
546
+ */
547
+ valueToHex(c) {
548
+ const hex = c.toString(16);
549
+ return hex.length == 1 ? '0' + hex : hex;
550
+ }
551
+ /**
552
+ * Converts a color code word to the corresponding HEX value.
553
+ * @param {string} color - Color code word.
554
+ * @returns {string} HEX value.
555
+ */
556
+ codeToHex(color) {
557
+ const colorCodes = {
558
+ aliceblue: '#f0f8ff',
559
+ antiquewhite: '#faebd7',
560
+ aqua: '#00ffff',
561
+ aquamarine: '#7fffd4',
562
+ azure: '#f0ffff',
563
+ beige: '#f5f5dc',
564
+ bisque: '#ffe4c4',
565
+ black: '#000000',
566
+ blanchedalmond: '#ffebcd',
567
+ blue: '#0000ff',
568
+ blueviolet: '#8a2be2',
569
+ brown: '#a52a2a',
570
+ burlywood: '#deb887',
571
+ cadetblue: '#5f9ea0',
572
+ chartreuse: '#7fff00',
573
+ chocolate: '#d2691e',
574
+ coral: '#ff7f50',
575
+ cornflowerblue: '#6495ed',
576
+ cornsilk: '#fff8dc',
577
+ crimson: '#dc143c',
578
+ cyan: '#00ffff',
579
+ darkblue: '#00008b',
580
+ darkcyan: '#008b8b',
581
+ darkgoldenrod: '#b8860b',
582
+ darkgray: '#a9a9a9',
583
+ darkgreen: '#006400',
584
+ darkgrey: '#a9a9a9',
585
+ darkkhaki: '#bdb76b',
586
+ darkmagenta: '#8b008b',
587
+ darkolivegreen: '#556b2f',
588
+ darkorange: '#ff8c00',
589
+ darkorchid: '#9932cc',
590
+ darkred: '#8b0000',
591
+ darksalmon: '#e9967a',
592
+ darkseagreen: '#8fbc8f',
593
+ darkslateblue: '#483d8b',
594
+ darkslategray: '#2f4f4f',
595
+ darkslategrey: '#2f4f4f',
596
+ darkturquoise: '#00ced1',
597
+ darkviolet: '#9400d3',
598
+ deeppink: '#ff1493',
599
+ deepskyblue: '#00bfff',
600
+ dimgray: '#696969',
601
+ dimgrey: '#696969',
602
+ dodgerblue: '#1e90ff',
603
+ firebrick: '#b22222',
604
+ floralwhite: '#fffaf0',
605
+ forestgreen: '#228b22',
606
+ fuchsia: '#ff00ff',
607
+ gainsboro: '#dcdcdc',
608
+ ghostwhite: '#f8f8ff',
609
+ goldenrod: '#daa520',
610
+ gold: '#ffd700',
611
+ gray: '#808080',
612
+ green: '#008000',
613
+ greenyellow: '#adff2f',
614
+ grey: '#808080',
615
+ honeydew: '#f0fff0',
616
+ hotpink: '#ff69b4',
617
+ indianred: '#cd5c5c',
618
+ indigo: '#4b0082',
619
+ ivory: '#fffff0',
620
+ khaki: '#f0e68c',
621
+ lavenderblush: '#fff0f5',
622
+ lavender: '#e6e6fa',
623
+ lawngreen: '#7cfc00',
624
+ lemonchiffon: '#fffacd',
625
+ lightblue: '#add8e6',
626
+ lightcoral: '#f08080',
627
+ lightcyan: '#e0ffff',
628
+ lightgoldenrodyellow: '#fafad2',
629
+ lightgray: '#d3d3d3',
630
+ lightgreen: '#90ee90',
631
+ lightgrey: '#d3d3d3',
632
+ lightpink: '#ffb6c1',
633
+ lightsalmon: '#ffa07a',
634
+ lightseagreen: '#20b2aa',
635
+ lightskyblue: '#87cefa',
636
+ lightslategray: '#778899',
637
+ lightslategrey: '#778899',
638
+ lightsteelblue: '#b0c4de',
639
+ lightyellow: '#ffffe0',
640
+ lime: '#00ff00',
641
+ limegreen: '#32cd32',
642
+ linen: '#faf0e6',
643
+ magenta: '#ff00ff',
644
+ maroon: '#800000',
645
+ mediumaquamarine: '#66cdaa',
646
+ mediumblue: '#0000cd',
647
+ mediumorchid: '#ba55d3',
648
+ mediumpurple: '#9370db',
649
+ mediumseagreen: '#3cb371',
650
+ mediumslateblue: '#7b68ee',
651
+ mediumspringgreen: '#00fa9a',
652
+ mediumturquoise: '#48d1cc',
653
+ mediumvioletred: '#c71585',
654
+ midnightblue: '#191970',
655
+ mintcream: '#f5fffa',
656
+ mistyrose: '#ffe4e1',
657
+ moccasin: '#ffe4b5',
658
+ navajowhite: '#ffdead',
659
+ navy: '#000080',
660
+ oldlace: '#fdf5e6',
661
+ olive: '#808000',
662
+ olivedrab: '#6b8e23',
663
+ orange: '#ffa500',
664
+ orangered: '#ff4500',
665
+ orchid: '#da70d6',
666
+ palegoldenrod: '#eee8aa',
667
+ palegreen: '#98fb98',
668
+ paleturquoise: '#afeeee',
669
+ palevioletred: '#db7093',
670
+ papayawhip: '#ffefd5',
671
+ peachpuff: '#ffdab9',
672
+ peru: '#cd853f',
673
+ pink: '#ffc0cb',
674
+ plum: '#dda0dd',
675
+ powderblue: '#b0e0e6',
676
+ purple: '#800080',
677
+ rebeccapurple: '#663399',
678
+ red: '#ff0000',
679
+ rosybrown: '#bc8f8f',
680
+ royalblue: '#4169e1',
681
+ saddlebrown: '#8b4513',
682
+ salmon: '#fa8072',
683
+ sandybrown: '#f4a460',
684
+ seagreen: '#2e8b57',
685
+ seashell: '#fff5ee',
686
+ sienna: '#a0522d',
687
+ silver: '#c0c0c0',
688
+ skyblue: '#87ceeb',
689
+ slateblue: '#6a5acd',
690
+ slategray: '#708090',
691
+ slategrey: '#708090',
692
+ snow: '#fffafa',
693
+ springgreen: '#00ff7f',
694
+ steelblue: '#4682b4',
695
+ tan: '#d2b48c',
696
+ teal: '#008080',
697
+ thistle: '#d8bfd8',
698
+ tomato: '#ff6347',
699
+ turquoise: '#40e0d0',
700
+ violet: '#ee82ee',
701
+ wheat: '#f5deb3',
702
+ white: '#ffffff',
703
+ whitesmoke: '#f5f5f5',
704
+ yellow: '#ffff00',
705
+ yellowgreen: '#9acd32',
706
+ };
707
+ if (colorCodes[color.toLowerCase()]) {
708
+ return colorCodes[color.toLowerCase()];
709
+ }
710
+ else {
711
+ dom.ketchup.debug.logMessage('theme manager', 'Could not decode color ' + color + '!');
712
+ return color;
713
+ }
714
+ }
715
+ }