ngx-tethys 18.2.6 → 19.0.0-next.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 (950) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/badge/badge.component.d.ts +21 -3
  3. package/cascader/cascader-search-option.component.d.ts +6 -3
  4. package/core/store/store.d.ts +1 -1
  5. package/date-picker/abstract-picker.component.d.ts +1 -1
  6. package/date-picker/abstract-picker.directive.d.ts +1 -1
  7. package/date-picker/lib/calendar/calendar-header.component.d.ts +1 -1
  8. package/date-picker/lib/calendar/calendar-table.component.d.ts +1 -1
  9. package/date-range/date-range.component.d.ts +12 -2
  10. package/divider/divider.component.d.ts +2 -8
  11. package/dropdown/dropdown-menu.component.d.ts +1 -1
  12. package/empty/empty.component.d.ts +1 -4
  13. package/fesm2022/ngx-tethys-action.mjs +12 -12
  14. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  15. package/fesm2022/ngx-tethys-affix.mjs +8 -8
  16. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  17. package/fesm2022/ngx-tethys-alert.mjs +12 -12
  18. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  19. package/fesm2022/ngx-tethys-anchor.mjs +11 -13
  20. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  21. package/fesm2022/ngx-tethys-arrow-switcher.mjs +9 -9
  22. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  23. package/fesm2022/ngx-tethys-autocomplete.mjs +20 -20
  24. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  25. package/fesm2022/ngx-tethys-avatar.mjs +26 -26
  26. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  27. package/fesm2022/ngx-tethys-back-top.mjs +10 -10
  28. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  29. package/fesm2022/ngx-tethys-badge.mjs +9 -9
  30. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  31. package/fesm2022/ngx-tethys-breadcrumb.mjs +13 -15
  32. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-button.mjs +16 -16
  34. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  35. package/fesm2022/ngx-tethys-calendar.mjs +20 -20
  36. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  37. package/fesm2022/ngx-tethys-card.mjs +15 -15
  38. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-carousel.mjs +15 -15
  40. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  41. package/fesm2022/ngx-tethys-cascader.mjs +23 -24
  42. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  43. package/fesm2022/ngx-tethys-checkbox.mjs +9 -9
  44. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-collapse.mjs +12 -12
  46. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-color-picker.mjs +38 -38
  48. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-comment.mjs +15 -15
  50. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-copy.mjs +8 -8
  52. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-core.mjs +21 -21
  54. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-date-picker.mjs +141 -141
  56. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-date-range.mjs +14 -14
  58. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  59. package/fesm2022/ngx-tethys-dialog.mjs +27 -28
  60. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-divider.mjs +8 -9
  62. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  63. package/fesm2022/ngx-tethys-dot.mjs +8 -8
  64. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  65. package/fesm2022/ngx-tethys-drag-drop.mjs +20 -20
  66. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  67. package/fesm2022/ngx-tethys-dropdown.mjs +47 -48
  68. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  69. package/fesm2022/ngx-tethys-empty.mjs +12 -12
  70. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  71. package/fesm2022/ngx-tethys-flexible-text.mjs +8 -8
  72. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  73. package/fesm2022/ngx-tethys-form.mjs +44 -44
  74. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  75. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -14
  76. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-grid.mjs +35 -38
  78. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-guider.mjs +18 -18
  80. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-i18n.mjs +23 -3
  82. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-icon.mjs +11 -11
  84. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-image.mjs +19 -19
  86. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-input-number.mjs +11 -11
  88. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-input.mjs +23 -23
  90. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-layout.mjs +66 -65
  92. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-list.mjs +19 -19
  94. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-loading.mjs +9 -9
  96. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-mention.mjs +12 -12
  98. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-menu.mjs +29 -29
  100. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-message.mjs +25 -26
  102. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-nav.mjs +24 -25
  104. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-notify.mjs +20 -20
  106. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  107. package/fesm2022/ngx-tethys-pagination.mjs +15 -15
  108. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  109. package/fesm2022/ngx-tethys-popover.mjs +23 -23
  110. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  111. package/fesm2022/ngx-tethys-progress.mjs +17 -17
  112. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  113. package/fesm2022/ngx-tethys-property-operation.mjs +12 -12
  114. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  115. package/fesm2022/ngx-tethys-property.mjs +12 -12
  116. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-radio.mjs +15 -15
  118. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-rate.mjs +12 -13
  120. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  121. package/fesm2022/ngx-tethys-resizable.mjs +17 -19
  122. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-result.mjs +9 -9
  124. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  125. package/fesm2022/ngx-tethys-segment.mjs +13 -13
  126. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  127. package/fesm2022/ngx-tethys-select.mjs +16 -16
  128. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  129. package/fesm2022/ngx-tethys-shared.mjs +70 -70
  130. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  131. package/fesm2022/ngx-tethys-skeleton.mjs +23 -28
  132. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-slide.mjs +34 -35
  134. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  135. package/fesm2022/ngx-tethys-slider.mjs +9 -9
  136. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  137. package/fesm2022/ngx-tethys-space.mjs +12 -12
  138. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-statistic.mjs +9 -9
  140. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-stepper.mjs +22 -22
  142. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-strength.mjs +8 -8
  144. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  145. package/fesm2022/ngx-tethys-switch.mjs +9 -9
  146. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  147. package/fesm2022/ngx-tethys-table.mjs +23 -23
  148. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-tabs.mjs +15 -16
  150. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-tag.mjs +11 -11
  152. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  154. package/fesm2022/ngx-tethys-time-picker.mjs +24 -24
  155. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  156. package/fesm2022/ngx-tethys-timeline.mjs +15 -16
  157. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-tooltip.mjs +16 -16
  159. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-transfer.mjs +13 -13
  161. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-tree-select.mjs +13 -13
  163. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-tree.mjs +19 -19
  165. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  166. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  167. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-upload.mjs +17 -17
  169. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-util.mjs +2 -18
  171. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-vote.mjs +9 -9
  173. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-watermark.mjs +8 -8
  175. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys.mjs +1 -1
  177. package/fesm2022/ngx-tethys.mjs.map +1 -1
  178. package/i18n/i18n.d.ts +6 -1
  179. package/i18n/locales/de-de.d.ts +4 -0
  180. package/i18n/locales/en-us.d.ts +4 -0
  181. package/i18n/locales/ja-jp.d.ts +4 -0
  182. package/i18n/locales/zh-hans.d.ts +4 -0
  183. package/i18n/locales/zh-hant.d.ts +4 -0
  184. package/input/input.component.d.ts +1 -1
  185. package/layout/header.component.d.ts +21 -3
  186. package/layout/sidebar.component.d.ts +8 -42
  187. package/menu/group/menu-group.component.d.ts +6 -30
  188. package/message/abstract/abstract-message-container.component.d.ts +1 -1
  189. package/message/abstract/abstract-message.component.d.ts +1 -1
  190. package/nav/nav.component.d.ts +2 -2
  191. package/package.json +1 -169
  192. package/pagination/pagination.component.d.ts +45 -5
  193. package/property/property-item.component.d.ts +4 -2
  194. package/schematics/dependencies.js +3 -3
  195. package/schematics/ng-add/index.js +7 -3
  196. package/schematics/ng-update/core/complete.js +1 -2
  197. package/schematics/ng-update/migration-collection.json +4 -4
  198. package/schematics/ng-update/{update-18 → update-19}/index.js +4 -5
  199. package/schematics/ng-update/{update-18 → update-19}/index.spec.js +4 -4
  200. package/schematics/testing/get-json-content.js +1 -2
  201. package/schematics/testing/test-app.js +1 -2
  202. package/schematics/testing/test-project.js +1 -2
  203. package/schematics/testing/test-workspace.d.ts +0 -2
  204. package/schematics/testing/test-workspace.js +2 -2
  205. package/schematics/utils/create-tree-compiler-host.js +1 -2
  206. package/schematics/utils/create-tree-ts-parse-config-host.js +2 -2
  207. package/schematics/utils/get-angular-json.js +1 -2
  208. package/schematics/utils/get-project.js +1 -2
  209. package/schematics/utils/get-workspace-tsconfig.js +1 -2
  210. package/schematics/utils/package-config.js +2 -3
  211. package/schematics/utils/update-file.service.js +2 -2
  212. package/schematics/version.d.ts +1 -1
  213. package/schematics/version.js +1 -1
  214. package/shared/base-form-check.component.d.ts +1 -1
  215. package/shared/option/list-option/list-option.component.d.ts +1 -4
  216. package/shared/select/styles/select.mixin.scss +2 -1
  217. package/skeleton/skeleton-rectangle.component.d.ts +1 -4
  218. package/skeleton/stylized/bullet-list.component.d.ts +1 -9
  219. package/styles/bootstrap/utilities/_background.scss +2 -1
  220. package/styles/bootstrap/utilities/_text.scss +1 -1
  221. package/table/table.component.d.ts +1 -1
  222. package/upload/file-select-base.d.ts +1 -1
  223. package/esm2022/action/action.component.mjs +0 -174
  224. package/esm2022/action/action.module.mjs +0 -19
  225. package/esm2022/action/actions.component.mjs +0 -57
  226. package/esm2022/action/index.mjs +0 -4
  227. package/esm2022/action/ngx-tethys-action.mjs +0 -5
  228. package/esm2022/affix/affix.component.mjs +0 -243
  229. package/esm2022/affix/affix.module.mjs +0 -18
  230. package/esm2022/affix/index.mjs +0 -3
  231. package/esm2022/affix/ngx-tethys-affix.mjs +0 -5
  232. package/esm2022/affix/respond-events.mjs +0 -11
  233. package/esm2022/alert/alert.component.mjs +0 -98
  234. package/esm2022/alert/alert.directive.mjs +0 -25
  235. package/esm2022/alert/alert.module.mjs +0 -19
  236. package/esm2022/alert/index.mjs +0 -4
  237. package/esm2022/alert/ngx-tethys-alert.mjs +0 -5
  238. package/esm2022/anchor/anchor-link.component.mjs +0 -106
  239. package/esm2022/anchor/anchor.component.mjs +0 -266
  240. package/esm2022/anchor/anchor.module.mjs +0 -20
  241. package/esm2022/anchor/index.mjs +0 -4
  242. package/esm2022/anchor/ngx-tethys-anchor.mjs +0 -5
  243. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +0 -130
  244. package/esm2022/arrow-switcher/index.mjs +0 -3
  245. package/esm2022/arrow-switcher/module.mjs +0 -21
  246. package/esm2022/arrow-switcher/ngx-tethys-arrow-switcher.mjs +0 -5
  247. package/esm2022/autocomplete/autocomplete.component.mjs +0 -182
  248. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +0 -275
  249. package/esm2022/autocomplete/index.mjs +0 -8
  250. package/esm2022/autocomplete/module.mjs +0 -67
  251. package/esm2022/autocomplete/ngx-tethys-autocomplete.mjs +0 -5
  252. package/esm2022/autocomplete/overlay/autocomplete-animations.mjs +0 -10
  253. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +0 -64
  254. package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +0 -18
  255. package/esm2022/autocomplete/overlay/autocomplete.config.mjs +0 -18
  256. package/esm2022/autocomplete/overlay/autocomplete.options.mjs +0 -6
  257. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +0 -127
  258. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +0 -76
  259. package/esm2022/avatar/avatar.component.mjs +0 -179
  260. package/esm2022/avatar/avatar.module.mjs +0 -33
  261. package/esm2022/avatar/avatar.pipe.mjs +0 -91
  262. package/esm2022/avatar/avatar.service.mjs +0 -27
  263. package/esm2022/avatar/index.mjs +0 -6
  264. package/esm2022/avatar/ngx-tethys-avatar.mjs +0 -5
  265. package/esm2022/back-top/back-top.component.mjs +0 -126
  266. package/esm2022/back-top/back-top.module.mjs +0 -18
  267. package/esm2022/back-top/index.mjs +0 -3
  268. package/esm2022/back-top/ngx-tethys-back-top.mjs +0 -5
  269. package/esm2022/badge/badge.component.mjs +0 -238
  270. package/esm2022/badge/badge.module.mjs +0 -18
  271. package/esm2022/badge/index.mjs +0 -3
  272. package/esm2022/badge/ngx-tethys-badge.mjs +0 -5
  273. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +0 -49
  274. package/esm2022/breadcrumb/breadcrumb.component.mjs +0 -115
  275. package/esm2022/breadcrumb/index.mjs +0 -4
  276. package/esm2022/breadcrumb/module.mjs +0 -21
  277. package/esm2022/breadcrumb/ngx-tethys-breadcrumb.mjs +0 -5
  278. package/esm2022/button/button-group.component.mjs +0 -90
  279. package/esm2022/button/button-icon.component.mjs +0 -166
  280. package/esm2022/button/button.component.mjs +0 -216
  281. package/esm2022/button/button.module.mjs +0 -20
  282. package/esm2022/button/index.mjs +0 -5
  283. package/esm2022/button/ngx-tethys-button.mjs +0 -5
  284. package/esm2022/calendar/calendar-cells.mjs +0 -35
  285. package/esm2022/calendar/calendar-header.component.mjs +0 -117
  286. package/esm2022/calendar/calendar.component.mjs +0 -122
  287. package/esm2022/calendar/index.mjs +0 -5
  288. package/esm2022/calendar/module.mjs +0 -63
  289. package/esm2022/calendar/ngx-tethys-calendar.mjs +0 -5
  290. package/esm2022/card/card.component.mjs +0 -48
  291. package/esm2022/card/card.module.mjs +0 -19
  292. package/esm2022/card/content.component.mjs +0 -58
  293. package/esm2022/card/header.component.mjs +0 -42
  294. package/esm2022/card/index.mjs +0 -5
  295. package/esm2022/card/ngx-tethys-card.mjs +0 -5
  296. package/esm2022/carousel/carousel-item.directive.mjs +0 -37
  297. package/esm2022/carousel/carousel.component.mjs +0 -290
  298. package/esm2022/carousel/carousel.service.mjs +0 -74
  299. package/esm2022/carousel/engine/carousel-base.mjs +0 -43
  300. package/esm2022/carousel/engine/carousel-fade.mjs +0 -46
  301. package/esm2022/carousel/engine/carousel-noop.mjs +0 -28
  302. package/esm2022/carousel/engine/carousel-slide.mjs +0 -62
  303. package/esm2022/carousel/engine/index.mjs +0 -5
  304. package/esm2022/carousel/index.mjs +0 -5
  305. package/esm2022/carousel/module.mjs +0 -21
  306. package/esm2022/carousel/ngx-tethys-carousel.mjs +0 -5
  307. package/esm2022/carousel/typings.mjs +0 -2
  308. package/esm2022/cascader/cascader-li.component.mjs +0 -81
  309. package/esm2022/cascader/cascader-search-option.component.mjs +0 -73
  310. package/esm2022/cascader/cascader.component.mjs +0 -768
  311. package/esm2022/cascader/cascader.service.mjs +0 -558
  312. package/esm2022/cascader/index.mjs +0 -5
  313. package/esm2022/cascader/module.mjs +0 -62
  314. package/esm2022/cascader/ngx-tethys-cascader.mjs +0 -5
  315. package/esm2022/cascader/types.mjs +0 -2
  316. package/esm2022/checkbox/checkbox.component.mjs +0 -51
  317. package/esm2022/checkbox/index.mjs +0 -4
  318. package/esm2022/checkbox/module.mjs +0 -18
  319. package/esm2022/checkbox/ngx-tethys-checkbox.mjs +0 -5
  320. package/esm2022/collapse/collapse-item.component.mjs +0 -88
  321. package/esm2022/collapse/collapse.component.mjs +0 -79
  322. package/esm2022/collapse/index.mjs +0 -4
  323. package/esm2022/collapse/module.mjs +0 -22
  324. package/esm2022/collapse/ngx-tethys-collapse.mjs +0 -5
  325. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +0 -38
  326. package/esm2022/color-picker/color-picker-panel.component.mjs +0 -100
  327. package/esm2022/color-picker/color-picker.component.mjs +0 -289
  328. package/esm2022/color-picker/constant.mjs +0 -73
  329. package/esm2022/color-picker/coordinates.directive.mjs +0 -73
  330. package/esm2022/color-picker/helpers/color.class.mjs +0 -281
  331. package/esm2022/color-picker/helpers/colors-table.class.mjs +0 -155
  332. package/esm2022/color-picker/helpers/rgba.class.mjs +0 -34
  333. package/esm2022/color-picker/index.mjs +0 -14
  334. package/esm2022/color-picker/module.mjs +0 -72
  335. package/esm2022/color-picker/ngx-tethys-color-picker.mjs +0 -5
  336. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +0 -64
  337. package/esm2022/color-picker/parts/hue/hue.component.mjs +0 -54
  338. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +0 -26
  339. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +0 -61
  340. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +0 -68
  341. package/esm2022/comment/comment-actions.directive.mjs +0 -19
  342. package/esm2022/comment/comment-content.directive.mjs +0 -19
  343. package/esm2022/comment/comment.component.mjs +0 -30
  344. package/esm2022/comment/comment.module.mjs +0 -41
  345. package/esm2022/comment/index.mjs +0 -5
  346. package/esm2022/comment/ngx-tethys-comment.mjs +0 -5
  347. package/esm2022/copy/copy.directive.mjs +0 -101
  348. package/esm2022/copy/index.mjs +0 -3
  349. package/esm2022/copy/module.mjs +0 -18
  350. package/esm2022/copy/ngx-tethys-copy.mjs +0 -5
  351. package/esm2022/core/animation/animation-consts.mjs +0 -23
  352. package/esm2022/core/animation/collapse.mjs +0 -12
  353. package/esm2022/core/animation/fade.mjs +0 -7
  354. package/esm2022/core/animation/index.mjs +0 -2
  355. package/esm2022/core/animation/public-api.mjs +0 -6
  356. package/esm2022/core/animation/thumb.mjs +0 -12
  357. package/esm2022/core/animation/zoom.mjs +0 -66
  358. package/esm2022/core/behaviors/constructor.mjs +0 -5
  359. package/esm2022/core/behaviors/control-value-accessor.mjs +0 -17
  360. package/esm2022/core/behaviors/decorators.mjs +0 -47
  361. package/esm2022/core/behaviors/disabled.mjs +0 -17
  362. package/esm2022/core/behaviors/focus-control.mjs +0 -31
  363. package/esm2022/core/behaviors/index.mjs +0 -11
  364. package/esm2022/core/behaviors/initialized.mjs +0 -12
  365. package/esm2022/core/behaviors/loading-done.mjs +0 -12
  366. package/esm2022/core/behaviors/mixin.mjs +0 -5
  367. package/esm2022/core/behaviors/tabindex.mjs +0 -21
  368. package/esm2022/core/behaviors/unsubscribe.mjs +0 -23
  369. package/esm2022/core/click-positioner.mjs +0 -36
  370. package/esm2022/core/color/color.mjs +0 -13
  371. package/esm2022/core/color/index.mjs +0 -2
  372. package/esm2022/core/debounce-time.mjs +0 -11
  373. package/esm2022/core/event-dispatchers/index.mjs +0 -2
  374. package/esm2022/core/index.mjs +0 -16
  375. package/esm2022/core/ngx-tethys-core.mjs +0 -5
  376. package/esm2022/core/overlay/abstract-overlay-container.mjs +0 -53
  377. package/esm2022/core/overlay/abstract-overlay-ref.mjs +0 -160
  378. package/esm2022/core/overlay/abstract-overlay.config.mjs +0 -70
  379. package/esm2022/core/overlay/abstract-overlay.service.mjs +0 -158
  380. package/esm2022/core/overlay/index.mjs +0 -10
  381. package/esm2022/core/overlay/interface.mjs +0 -2
  382. package/esm2022/core/overlay/overlay-position-map.mjs +0 -88
  383. package/esm2022/core/overlay/overlay.directive.mjs +0 -175
  384. package/esm2022/core/overlay/portal-directives.mjs +0 -47
  385. package/esm2022/core/overlay/utils.mjs +0 -69
  386. package/esm2022/core/request-animation.mjs +0 -41
  387. package/esm2022/core/scroll-to.service.mjs +0 -33
  388. package/esm2022/core/scroll.mjs +0 -83
  389. package/esm2022/core/spacing/index.mjs +0 -2
  390. package/esm2022/core/spacing/spacing.mjs +0 -17
  391. package/esm2022/core/store/action-state.mjs +0 -11
  392. package/esm2022/core/store/action.mjs +0 -48
  393. package/esm2022/core/store/actions-stream.mjs +0 -2
  394. package/esm2022/core/store/index.mjs +0 -4
  395. package/esm2022/core/store/store.mjs +0 -125
  396. package/esm2022/core/store/types.mjs +0 -6
  397. package/esm2022/core/store/utils.mjs +0 -14
  398. package/esm2022/core/theme/index.mjs +0 -3
  399. package/esm2022/core/theme/store.mjs +0 -42
  400. package/esm2022/core/theme/theme.mjs +0 -9
  401. package/esm2022/core/translate.mjs +0 -22
  402. package/esm2022/core/update-host-class.service.mjs +0 -60
  403. package/esm2022/date-picker/abstract-picker.component.mjs +0 -318
  404. package/esm2022/date-picker/abstract-picker.directive.mjs +0 -218
  405. package/esm2022/date-picker/base-picker.component.mjs +0 -249
  406. package/esm2022/date-picker/date-helper.service.mjs +0 -37
  407. package/esm2022/date-picker/date-picker.component.mjs +0 -41
  408. package/esm2022/date-picker/date-picker.config.mjs +0 -103
  409. package/esm2022/date-picker/date-picker.directive.mjs +0 -39
  410. package/esm2022/date-picker/date-picker.module.mjs +0 -117
  411. package/esm2022/date-picker/date-picker.service.mjs +0 -31
  412. package/esm2022/date-picker/index.mjs +0 -37
  413. package/esm2022/date-picker/inner-types.mjs +0 -2
  414. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +0 -98
  415. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +0 -92
  416. package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +0 -105
  417. package/esm2022/date-picker/lib/date/date-header.component.mjs +0 -35
  418. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +0 -24
  419. package/esm2022/date-picker/lib/date/date-table.component.mjs +0 -149
  420. package/esm2022/date-picker/lib/date/types.mjs +0 -2
  421. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +0 -388
  422. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +0 -42
  423. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +0 -81
  424. package/esm2022/date-picker/lib/lib-packer.module.mjs +0 -123
  425. package/esm2022/date-picker/lib/month/month-header.component.mjs +0 -27
  426. package/esm2022/date-picker/lib/month/month-table.component.mjs +0 -97
  427. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +0 -566
  428. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +0 -196
  429. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +0 -98
  430. package/esm2022/date-picker/lib/year/year-header.component.mjs +0 -39
  431. package/esm2022/date-picker/lib/year/year-table.component.mjs +0 -100
  432. package/esm2022/date-picker/month-picker.component.mjs +0 -45
  433. package/esm2022/date-picker/ngx-tethys-date-picker.mjs +0 -5
  434. package/esm2022/date-picker/picker.component.mjs +0 -273
  435. package/esm2022/date-picker/picker.pipes.mjs +0 -112
  436. package/esm2022/date-picker/picker.util.mjs +0 -220
  437. package/esm2022/date-picker/picker.validators.mjs +0 -79
  438. package/esm2022/date-picker/quarter-picker.component.mjs +0 -48
  439. package/esm2022/date-picker/range-picker.component.mjs +0 -39
  440. package/esm2022/date-picker/range-picker.directive.mjs +0 -39
  441. package/esm2022/date-picker/standard-types.mjs +0 -2
  442. package/esm2022/date-picker/week-picker.component.mjs +0 -40
  443. package/esm2022/date-picker/year-picker.component.mjs +0 -48
  444. package/esm2022/date-range/date-range.class.mjs +0 -6
  445. package/esm2022/date-range/date-range.component.mjs +0 -255
  446. package/esm2022/date-range/index.mjs +0 -5
  447. package/esm2022/date-range/module.mjs +0 -50
  448. package/esm2022/date-range/ngx-tethys-date-range.mjs +0 -5
  449. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +0 -50
  450. package/esm2022/dialog/body/dialog-body.component.mjs +0 -49
  451. package/esm2022/dialog/confirm/confirm.component.mjs +0 -77
  452. package/esm2022/dialog/confirm/token.mjs +0 -3
  453. package/esm2022/dialog/confirm.config.mjs +0 -29
  454. package/esm2022/dialog/dialog-animations.mjs +0 -19
  455. package/esm2022/dialog/dialog-container.component.mjs +0 -169
  456. package/esm2022/dialog/dialog-ref.mjs +0 -35
  457. package/esm2022/dialog/dialog.config.mjs +0 -62
  458. package/esm2022/dialog/dialog.module.mjs +0 -91
  459. package/esm2022/dialog/dialog.options.mjs +0 -6
  460. package/esm2022/dialog/dialog.service.mjs +0 -145
  461. package/esm2022/dialog/footer/dialog-footer.component.mjs +0 -51
  462. package/esm2022/dialog/header/dialog-header.component.mjs +0 -87
  463. package/esm2022/dialog/index.mjs +0 -12
  464. package/esm2022/dialog/ngx-tethys-dialog.mjs +0 -5
  465. package/esm2022/divider/divider.component.mjs +0 -117
  466. package/esm2022/divider/divider.module.mjs +0 -20
  467. package/esm2022/divider/index.mjs +0 -3
  468. package/esm2022/divider/ngx-tethys-divider.mjs +0 -5
  469. package/esm2022/dot/dot.component.mjs +0 -111
  470. package/esm2022/dot/dot.module.mjs +0 -17
  471. package/esm2022/dot/index.mjs +0 -3
  472. package/esm2022/dot/ngx-tethys-dot.mjs +0 -5
  473. package/esm2022/drag-drop/drag-content.directive.mjs +0 -32
  474. package/esm2022/drag-drop/drag-drop.class.mjs +0 -7
  475. package/esm2022/drag-drop/drag-drop.service.mjs +0 -23
  476. package/esm2022/drag-drop/drag-handle.directive.mjs +0 -43
  477. package/esm2022/drag-drop/drag-ref.mjs +0 -225
  478. package/esm2022/drag-drop/drag.directive.mjs +0 -71
  479. package/esm2022/drag-drop/drop-container.class.mjs +0 -6
  480. package/esm2022/drag-drop/drop-container.directive.mjs +0 -129
  481. package/esm2022/drag-drop/index.mjs +0 -10
  482. package/esm2022/drag-drop/module.mjs +0 -27
  483. package/esm2022/drag-drop/ngx-tethys-drag-drop.mjs +0 -5
  484. package/esm2022/dropdown/dropdown-active.directive.mjs +0 -66
  485. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +0 -210
  486. package/esm2022/dropdown/dropdown-menu.component.mjs +0 -156
  487. package/esm2022/dropdown/dropdown-submenu.component.mjs +0 -83
  488. package/esm2022/dropdown/dropdown.directive.mjs +0 -189
  489. package/esm2022/dropdown/index.mjs +0 -7
  490. package/esm2022/dropdown/module.mjs +0 -79
  491. package/esm2022/dropdown/ngx-tethys-dropdown.mjs +0 -5
  492. package/esm2022/empty/empty.component.mjs +0 -183
  493. package/esm2022/empty/empty.config.mjs +0 -17
  494. package/esm2022/empty/empty.module.mjs +0 -21
  495. package/esm2022/empty/index.mjs +0 -4
  496. package/esm2022/empty/ngx-tethys-empty.mjs +0 -5
  497. package/esm2022/empty/svgs.mjs +0 -207
  498. package/esm2022/flexible-text/flexible-text.component.mjs +0 -157
  499. package/esm2022/flexible-text/flexible-text.module.mjs +0 -19
  500. package/esm2022/flexible-text/index.mjs +0 -3
  501. package/esm2022/flexible-text/ngx-tethys-flexible-text.mjs +0 -5
  502. package/esm2022/form/form-group-error/form-group-error.component.mjs +0 -53
  503. package/esm2022/form/form-group-label.directive.mjs +0 -49
  504. package/esm2022/form/form-group.component.mjs +0 -145
  505. package/esm2022/form/form-submit.directive.mjs +0 -40
  506. package/esm2022/form/form-validator-loader.mjs +0 -134
  507. package/esm2022/form/form-validator.service.mjs +0 -252
  508. package/esm2022/form/form.class.mjs +0 -8
  509. package/esm2022/form/form.directive.mjs +0 -158
  510. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +0 -53
  511. package/esm2022/form/index.mjs +0 -12
  512. package/esm2022/form/module.mjs +0 -104
  513. package/esm2022/form/ngx-tethys-form.mjs +0 -5
  514. package/esm2022/form/validator/confirm-validator.directive.mjs +0 -33
  515. package/esm2022/form/validator/index.mjs +0 -5
  516. package/esm2022/form/validator/max-validator.directive.mjs +0 -41
  517. package/esm2022/form/validator/min-validator.directive.mjs +0 -41
  518. package/esm2022/form/validator/unique-validator.directive.mjs +0 -52
  519. package/esm2022/fullscreen/fullscreen-launch.directive.mjs +0 -18
  520. package/esm2022/fullscreen/fullscreen-ref.mjs +0 -151
  521. package/esm2022/fullscreen/fullscreen.component.mjs +0 -78
  522. package/esm2022/fullscreen/fullscreen.config.mjs +0 -6
  523. package/esm2022/fullscreen/fullscreen.module.mjs +0 -17
  524. package/esm2022/fullscreen/fullscreen.service.mjs +0 -47
  525. package/esm2022/fullscreen/index.mjs +0 -7
  526. package/esm2022/fullscreen/ngx-tethys-fullscreen.mjs +0 -5
  527. package/esm2022/grid/flex.mjs +0 -179
  528. package/esm2022/grid/grid.token.mjs +0 -5
  529. package/esm2022/grid/index.mjs +0 -7
  530. package/esm2022/grid/module.mjs +0 -56
  531. package/esm2022/grid/ngx-tethys-grid.mjs +0 -5
  532. package/esm2022/grid/thy-col.directive.mjs +0 -66
  533. package/esm2022/grid/thy-grid-item.component.mjs +0 -60
  534. package/esm2022/grid/thy-grid.component.mjs +0 -256
  535. package/esm2022/grid/thy-row.directive.mjs +0 -59
  536. package/esm2022/guider/guider-hint/guider-hint.component.mjs +0 -52
  537. package/esm2022/guider/guider-manager.mjs +0 -39
  538. package/esm2022/guider/guider-ref.mjs +0 -133
  539. package/esm2022/guider/guider-step-ref.mjs +0 -242
  540. package/esm2022/guider/guider.class.mjs +0 -15
  541. package/esm2022/guider/guider.directive.mjs +0 -50
  542. package/esm2022/guider/guider.module.mjs +0 -24
  543. package/esm2022/guider/guider.service.mjs +0 -76
  544. package/esm2022/guider/index.mjs +0 -9
  545. package/esm2022/guider/ngx-tethys-guider.mjs +0 -5
  546. package/esm2022/guider/utils.mjs +0 -10
  547. package/esm2022/i18n/i18n.mjs +0 -9
  548. package/esm2022/i18n/i18n.service.mjs +0 -45
  549. package/esm2022/i18n/i18n.token.mjs +0 -10
  550. package/esm2022/i18n/index.mjs +0 -10
  551. package/esm2022/i18n/locale.mjs +0 -13
  552. package/esm2022/i18n/locales/de-de.mjs +0 -130
  553. package/esm2022/i18n/locales/en-us.mjs +0 -151
  554. package/esm2022/i18n/locales/ja-jp.mjs +0 -130
  555. package/esm2022/i18n/locales/zh-hans.mjs +0 -130
  556. package/esm2022/i18n/locales/zh-hant.mjs +0 -130
  557. package/esm2022/i18n/ngx-tethys-i18n.mjs +0 -5
  558. package/esm2022/icon/config.mjs +0 -8
  559. package/esm2022/icon/icon-registry.mjs +0 -340
  560. package/esm2022/icon/icon.component.mjs +0 -198
  561. package/esm2022/icon/icon.module.mjs +0 -20
  562. package/esm2022/icon/index.mjs +0 -5
  563. package/esm2022/icon/ngx-tethys-icon.mjs +0 -5
  564. package/esm2022/image/image-group.component.mjs +0 -32
  565. package/esm2022/image/image.class.mjs +0 -2
  566. package/esm2022/image/image.config.mjs +0 -21
  567. package/esm2022/image/image.directive.mjs +0 -130
  568. package/esm2022/image/image.service.mjs +0 -58
  569. package/esm2022/image/index.mjs +0 -9
  570. package/esm2022/image/module.mjs +0 -67
  571. package/esm2022/image/ngx-tethys-image.mjs +0 -5
  572. package/esm2022/image/preview/image-preview-ref.mjs +0 -32
  573. package/esm2022/image/preview/image-preview.component.mjs +0 -413
  574. package/esm2022/image/utils.mjs +0 -13
  575. package/esm2022/input/index.mjs +0 -7
  576. package/esm2022/input/input-count.component.mjs +0 -68
  577. package/esm2022/input/input-group.component.mjs +0 -161
  578. package/esm2022/input/input-search.component.mjs +0 -152
  579. package/esm2022/input/input.component.mjs +0 -142
  580. package/esm2022/input/input.directive.mjs +0 -63
  581. package/esm2022/input/module.mjs +0 -51
  582. package/esm2022/input/ngx-tethys-input.mjs +0 -5
  583. package/esm2022/input-number/index.mjs +0 -3
  584. package/esm2022/input-number/input-number.component.mjs +0 -362
  585. package/esm2022/input-number/module.mjs +0 -22
  586. package/esm2022/input-number/ngx-tethys-input-number.mjs +0 -5
  587. package/esm2022/layout/content-main.component.mjs +0 -42
  588. package/esm2022/layout/content-section.component.mjs +0 -42
  589. package/esm2022/layout/content.component.mjs +0 -42
  590. package/esm2022/layout/header.component.mjs +0 -125
  591. package/esm2022/layout/index.mjs +0 -11
  592. package/esm2022/layout/layout.component.mjs +0 -47
  593. package/esm2022/layout/layout.module.mjs +0 -121
  594. package/esm2022/layout/ngx-tethys-layout.mjs +0 -5
  595. package/esm2022/layout/sidebar-content.component.mjs +0 -41
  596. package/esm2022/layout/sidebar-footer.component.mjs +0 -41
  597. package/esm2022/layout/sidebar-header.component.mjs +0 -54
  598. package/esm2022/layout/sidebar.component.mjs +0 -403
  599. package/esm2022/list/index.mjs +0 -7
  600. package/esm2022/list/list-item-meta.component.mjs +0 -38
  601. package/esm2022/list/list-item.component.mjs +0 -25
  602. package/esm2022/list/list.component.mjs +0 -41
  603. package/esm2022/list/list.module.mjs +0 -22
  604. package/esm2022/list/ngx-tethys-list.mjs +0 -5
  605. package/esm2022/list/selection/selection-list.mjs +0 -393
  606. package/esm2022/list/selection/selection.interface.mjs +0 -2
  607. package/esm2022/loading/index.mjs +0 -3
  608. package/esm2022/loading/loading.component.mjs +0 -54
  609. package/esm2022/loading/loading.module.mjs +0 -17
  610. package/esm2022/loading/ngx-tethys-loading.mjs +0 -5
  611. package/esm2022/mention/adapter/adapter.mjs +0 -20
  612. package/esm2022/mention/adapter/editable.adapter.mjs +0 -48
  613. package/esm2022/mention/adapter/index.mjs +0 -16
  614. package/esm2022/mention/adapter/textarea.adapter.mjs +0 -58
  615. package/esm2022/mention/caret-positioner.mjs +0 -194
  616. package/esm2022/mention/index.mjs +0 -5
  617. package/esm2022/mention/interfaces.mjs +0 -2
  618. package/esm2022/mention/mention.directive.mjs +0 -160
  619. package/esm2022/mention/mention.module.mjs +0 -23
  620. package/esm2022/mention/ngx-tethys-mention.mjs +0 -5
  621. package/esm2022/mention/suggestions/suggestions.component.mjs +0 -80
  622. package/esm2022/menu/divider/menu-divider.component.mjs +0 -21
  623. package/esm2022/menu/group/menu-group.component.mjs +0 -187
  624. package/esm2022/menu/index.mjs +0 -9
  625. package/esm2022/menu/item/action/menu-item-action.component.mjs +0 -75
  626. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +0 -33
  627. package/esm2022/menu/item/menu-item.component.mjs +0 -42
  628. package/esm2022/menu/item/name/menu-item-name.component.mjs +0 -32
  629. package/esm2022/menu/menu.component.mjs +0 -39
  630. package/esm2022/menu/menu.module.mjs +0 -49
  631. package/esm2022/menu/ngx-tethys-menu.mjs +0 -5
  632. package/esm2022/message/abstract/abstract-message-container.component.mjs +0 -26
  633. package/esm2022/message/abstract/abstract-message-queue.service.mjs +0 -34
  634. package/esm2022/message/abstract/abstract-message-ref.mjs +0 -22
  635. package/esm2022/message/abstract/abstract-message.component.mjs +0 -76
  636. package/esm2022/message/abstract/abstract-message.service.mjs +0 -29
  637. package/esm2022/message/abstract/index.mjs +0 -6
  638. package/esm2022/message/index.mjs +0 -9
  639. package/esm2022/message/message-container.component.mjs +0 -45
  640. package/esm2022/message/message-queue.service.mjs +0 -25
  641. package/esm2022/message/message-ref.mjs +0 -4
  642. package/esm2022/message/message.component.mjs +0 -61
  643. package/esm2022/message/message.config.mjs +0 -14
  644. package/esm2022/message/message.service.mjs +0 -92
  645. package/esm2022/message/module.mjs +0 -24
  646. package/esm2022/message/ngx-tethys-message.mjs +0 -5
  647. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +0 -43
  648. package/esm2022/nav/icon-nav/icon-nav.component.mjs +0 -45
  649. package/esm2022/nav/index.mjs +0 -7
  650. package/esm2022/nav/nav-ink-bar.directive.mjs +0 -79
  651. package/esm2022/nav/nav-item.directive.mjs +0 -98
  652. package/esm2022/nav/nav.component.mjs +0 -410
  653. package/esm2022/nav/nav.module.mjs +0 -54
  654. package/esm2022/nav/nav.pipe.mjs +0 -24
  655. package/esm2022/nav/ngx-tethys-nav.mjs +0 -5
  656. package/esm2022/ngx-tethys.mjs +0 -5
  657. package/esm2022/notify/index.mjs +0 -8
  658. package/esm2022/notify/module.mjs +0 -24
  659. package/esm2022/notify/ngx-tethys-notify.mjs +0 -5
  660. package/esm2022/notify/notify-container.component.mjs +0 -31
  661. package/esm2022/notify/notify-queue.service.mjs +0 -30
  662. package/esm2022/notify/notify-ref.mjs +0 -4
  663. package/esm2022/notify/notify.component.mjs +0 -99
  664. package/esm2022/notify/notify.config.mjs +0 -14
  665. package/esm2022/notify/notify.service.mjs +0 -97
  666. package/esm2022/pagination/index.mjs +0 -6
  667. package/esm2022/pagination/ngx-tethys-pagination.mjs +0 -5
  668. package/esm2022/pagination/pagination.class.mjs +0 -2
  669. package/esm2022/pagination/pagination.component.mjs +0 -366
  670. package/esm2022/pagination/pagination.config.mjs +0 -30
  671. package/esm2022/pagination/pagination.module.mjs +0 -43
  672. package/esm2022/pagination/pagination.pipe.mjs +0 -53
  673. package/esm2022/popover/body/popover-body.component.mjs +0 -25
  674. package/esm2022/popover/header/popover-header.component.mjs +0 -54
  675. package/esm2022/popover/index.mjs +0 -10
  676. package/esm2022/popover/module.mjs +0 -47
  677. package/esm2022/popover/ngx-tethys-popover.mjs +0 -5
  678. package/esm2022/popover/popover-animations.mjs +0 -22
  679. package/esm2022/popover/popover-container.component.mjs +0 -125
  680. package/esm2022/popover/popover-ref.mjs +0 -25
  681. package/esm2022/popover/popover.config.mjs +0 -38
  682. package/esm2022/popover/popover.directive.mjs +0 -157
  683. package/esm2022/popover/popover.options.mjs +0 -6
  684. package/esm2022/popover/popover.service.mjs +0 -201
  685. package/esm2022/progress/index.mjs +0 -6
  686. package/esm2022/progress/interfaces.mjs +0 -2
  687. package/esm2022/progress/ngx-tethys-progress.mjs +0 -5
  688. package/esm2022/progress/progress-circle.component.mjs +0 -136
  689. package/esm2022/progress/progress-strip.component.mjs +0 -54
  690. package/esm2022/progress/progress.component.mjs +0 -142
  691. package/esm2022/progress/progress.module.mjs +0 -20
  692. package/esm2022/property/index.mjs +0 -4
  693. package/esm2022/property/module.mjs +0 -20
  694. package/esm2022/property/ngx-tethys-property.mjs +0 -5
  695. package/esm2022/property/properties.component.mjs +0 -59
  696. package/esm2022/property/property-item.component.mjs +0 -175
  697. package/esm2022/property-operation/group/property-operation-group.component.mjs +0 -20
  698. package/esm2022/property-operation/index.mjs +0 -4
  699. package/esm2022/property-operation/module.mjs +0 -21
  700. package/esm2022/property-operation/ngx-tethys-property-operation.mjs +0 -5
  701. package/esm2022/property-operation/property-operation.component.mjs +0 -183
  702. package/esm2022/public-api.mjs +0 -2
  703. package/esm2022/radio/button/radio-button.component.mjs +0 -56
  704. package/esm2022/radio/group/radio-group.component.mjs +0 -138
  705. package/esm2022/radio/index.mjs +0 -5
  706. package/esm2022/radio/module.mjs +0 -20
  707. package/esm2022/radio/ngx-tethys-radio.mjs +0 -5
  708. package/esm2022/radio/radio.component.mjs +0 -58
  709. package/esm2022/rate/index.mjs +0 -4
  710. package/esm2022/rate/module.mjs +0 -23
  711. package/esm2022/rate/ngx-tethys-rate.mjs +0 -5
  712. package/esm2022/rate/rate-item.component.mjs +0 -76
  713. package/esm2022/rate/rate.component.mjs +0 -244
  714. package/esm2022/resizable/index.mjs +0 -8
  715. package/esm2022/resizable/interface.mjs +0 -2
  716. package/esm2022/resizable/module.mjs +0 -19
  717. package/esm2022/resizable/ngx-tethys-resizable.mjs +0 -5
  718. package/esm2022/resizable/resizable.directive.mjs +0 -363
  719. package/esm2022/resizable/resizable.service.mjs +0 -69
  720. package/esm2022/resizable/resize-handle.component.mjs +0 -104
  721. package/esm2022/resizable/resize-handles.component.mjs +0 -64
  722. package/esm2022/resizable/utils.mjs +0 -14
  723. package/esm2022/result/index.mjs +0 -3
  724. package/esm2022/result/ngx-tethys-result.mjs +0 -5
  725. package/esm2022/result/result.component.mjs +0 -43
  726. package/esm2022/result/result.module.mjs +0 -17
  727. package/esm2022/segment/index.mjs +0 -5
  728. package/esm2022/segment/ngx-tethys-segment.mjs +0 -5
  729. package/esm2022/segment/segment-item.component.mjs +0 -87
  730. package/esm2022/segment/segment.component.mjs +0 -143
  731. package/esm2022/segment/segment.module.mjs +0 -20
  732. package/esm2022/segment/segment.token.mjs +0 -3
  733. package/esm2022/segment/types.mjs +0 -2
  734. package/esm2022/select/custom-select/custom-select.component.mjs +0 -904
  735. package/esm2022/select/index.mjs +0 -5
  736. package/esm2022/select/module.mjs +0 -62
  737. package/esm2022/select/native-select/native-select.component.mjs +0 -98
  738. package/esm2022/select/ngx-tethys-select.mjs +0 -5
  739. package/esm2022/select/select.config.mjs +0 -21
  740. package/esm2022/shared/base-form-check.component.mjs +0 -120
  741. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +0 -57
  742. package/esm2022/shared/directives/thy-autofocus.directive.mjs +0 -60
  743. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +0 -39
  744. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +0 -43
  745. package/esm2022/shared/directives/thy-drag-drop.directive.mjs +0 -51
  746. package/esm2022/shared/directives/thy-enter.directive.mjs +0 -43
  747. package/esm2022/shared/directives/thy-scroll.directive.mjs +0 -84
  748. package/esm2022/shared/directives/thy-show.mjs +0 -59
  749. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +0 -57
  750. package/esm2022/shared/directives/view-outlet.directive.mjs +0 -85
  751. package/esm2022/shared/index.mjs +0 -16
  752. package/esm2022/shared/ng-transclude.directive.mjs +0 -32
  753. package/esm2022/shared/ngx-tethys-shared.mjs +0 -5
  754. package/esm2022/shared/option/group/option-group.component.mjs +0 -92
  755. package/esm2022/shared/option/index.mjs +0 -9
  756. package/esm2022/shared/option/list-option/list-option.component.mjs +0 -96
  757. package/esm2022/shared/option/module.mjs +0 -29
  758. package/esm2022/shared/option/option-group.component.mjs +0 -25
  759. package/esm2022/shared/option/option.component.mjs +0 -181
  760. package/esm2022/shared/option/option.token.mjs +0 -14
  761. package/esm2022/shared/option/options-container.component.mjs +0 -29
  762. package/esm2022/shared/option/select-option-base.mjs +0 -3
  763. package/esm2022/shared/select/index.mjs +0 -3
  764. package/esm2022/shared/select/module.mjs +0 -27
  765. package/esm2022/shared/select/select-control/select-control.component.mjs +0 -280
  766. package/esm2022/shared/shared.module.mjs +0 -71
  767. package/esm2022/skeleton/index.mjs +0 -9
  768. package/esm2022/skeleton/module.mjs +0 -27
  769. package/esm2022/skeleton/ngx-tethys-skeleton.mjs +0 -5
  770. package/esm2022/skeleton/skeleton-circle.component.mjs +0 -92
  771. package/esm2022/skeleton/skeleton-rectangle.component.mjs +0 -100
  772. package/esm2022/skeleton/skeleton.component.mjs +0 -32
  773. package/esm2022/skeleton/skeleton.config.mjs +0 -8
  774. package/esm2022/skeleton/stylized/bullet-list.component.mjs +0 -124
  775. package/esm2022/skeleton/stylized/list.component.mjs +0 -95
  776. package/esm2022/skeleton/stylized/paragraph.component.mjs +0 -107
  777. package/esm2022/slide/drawer/drawer-container.directive.mjs +0 -21
  778. package/esm2022/slide/index.mjs +0 -13
  779. package/esm2022/slide/ngx-tethys-slide.mjs +0 -5
  780. package/esm2022/slide/slide-animations.mjs +0 -24
  781. package/esm2022/slide/slide-body/slide-body-section.component.mjs +0 -41
  782. package/esm2022/slide/slide-body/slide-body.component.mjs +0 -25
  783. package/esm2022/slide/slide-container.component.mjs +0 -192
  784. package/esm2022/slide/slide-footer/slide-footer.component.mjs +0 -26
  785. package/esm2022/slide/slide-header/slide-header.component.mjs +0 -59
  786. package/esm2022/slide/slide-layout/slide-layout.component.mjs +0 -27
  787. package/esm2022/slide/slide-ref.service.mjs +0 -32
  788. package/esm2022/slide/slide.config.mjs +0 -38
  789. package/esm2022/slide/slide.module.mjs +0 -65
  790. package/esm2022/slide/slide.service.mjs +0 -104
  791. package/esm2022/slider/index.mjs +0 -3
  792. package/esm2022/slider/ngx-tethys-slider.mjs +0 -5
  793. package/esm2022/slider/slider.component.mjs +0 -346
  794. package/esm2022/slider/slider.module.mjs +0 -19
  795. package/esm2022/space/index.mjs +0 -3
  796. package/esm2022/space/ngx-tethys-space.mjs +0 -5
  797. package/esm2022/space/space.component.mjs +0 -88
  798. package/esm2022/space/space.module.mjs +0 -17
  799. package/esm2022/statistic/index.mjs +0 -3
  800. package/esm2022/statistic/ngx-tethys-statistic.mjs +0 -5
  801. package/esm2022/statistic/statistic.component.mjs +0 -184
  802. package/esm2022/statistic/statistic.module.mjs +0 -20
  803. package/esm2022/stepper/index.mjs +0 -6
  804. package/esm2022/stepper/ngx-tethys-stepper.mjs +0 -5
  805. package/esm2022/stepper/step-header.component.mjs +0 -40
  806. package/esm2022/stepper/step.component.mjs +0 -32
  807. package/esm2022/stepper/stepper-button.directive.mjs +0 -56
  808. package/esm2022/stepper/stepper.component.mjs +0 -105
  809. package/esm2022/stepper/stepper.module.mjs +0 -21
  810. package/esm2022/strength/index.mjs +0 -3
  811. package/esm2022/strength/ngx-tethys-strength.mjs +0 -5
  812. package/esm2022/strength/strength.component.mjs +0 -122
  813. package/esm2022/strength/strength.module.mjs +0 -17
  814. package/esm2022/switch/index.mjs +0 -3
  815. package/esm2022/switch/ngx-tethys-switch.mjs +0 -5
  816. package/esm2022/switch/switch.component.mjs +0 -181
  817. package/esm2022/switch/switch.module.mjs +0 -17
  818. package/esm2022/table/enums/column-skeleton-type.mjs +0 -8
  819. package/esm2022/table/enums/index.mjs +0 -2
  820. package/esm2022/table/index.mjs +0 -9
  821. package/esm2022/table/ngx-tethys-table.mjs +0 -5
  822. package/esm2022/table/pipes/drag.pipe.mjs +0 -20
  823. package/esm2022/table/pipes/table.pipe.mjs +0 -20
  824. package/esm2022/table/table-column.component.mjs +0 -200
  825. package/esm2022/table/table-skeleton.component.mjs +0 -165
  826. package/esm2022/table/table.component.mjs +0 -966
  827. package/esm2022/table/table.interface.mjs +0 -7
  828. package/esm2022/table/table.module.mjs +0 -75
  829. package/esm2022/tabs/index.mjs +0 -5
  830. package/esm2022/tabs/ngx-tethys-tabs.mjs +0 -5
  831. package/esm2022/tabs/tab-content.component.mjs +0 -52
  832. package/esm2022/tabs/tab.component.mjs +0 -36
  833. package/esm2022/tabs/tabs.component.mjs +0 -139
  834. package/esm2022/tabs/tabs.module.mjs +0 -21
  835. package/esm2022/tabs/types.mjs +0 -2
  836. package/esm2022/tag/index.mjs +0 -4
  837. package/esm2022/tag/ngx-tethys-tag.mjs +0 -5
  838. package/esm2022/tag/tag.component.mjs +0 -109
  839. package/esm2022/tag/tag.module.mjs +0 -19
  840. package/esm2022/tag/tags.component.mjs +0 -24
  841. package/esm2022/testing/data-transfer.mjs +0 -55
  842. package/esm2022/testing/dispatcher-events.mjs +0 -46
  843. package/esm2022/testing/element-focus.mjs +0 -18
  844. package/esm2022/testing/events.mjs +0 -145
  845. package/esm2022/testing/index.mjs +0 -8
  846. package/esm2022/testing/ngx-tethys-testing.mjs +0 -5
  847. package/esm2022/testing/thy-icon.mjs +0 -50
  848. package/esm2022/testing/type-in-element.mjs +0 -20
  849. package/esm2022/testing/xhr-mock.mjs +0 -100
  850. package/esm2022/time-picker/index.mjs +0 -8
  851. package/esm2022/time-picker/inner/inner-time-picker.class.mjs +0 -2
  852. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +0 -239
  853. package/esm2022/time-picker/inner/inner-time-picker.config.mjs +0 -45
  854. package/esm2022/time-picker/inner/inner-time-picker.store.mjs +0 -134
  855. package/esm2022/time-picker/ngx-tethys-time-picker.mjs +0 -5
  856. package/esm2022/time-picker/time-picker-controls.util.mjs +0 -118
  857. package/esm2022/time-picker/time-picker-panel.component.mjs +0 -265
  858. package/esm2022/time-picker/time-picker.component.mjs +0 -363
  859. package/esm2022/time-picker/time-picker.module.mjs +0 -54
  860. package/esm2022/time-picker/time-picker.utils.mjs +0 -131
  861. package/esm2022/timeline/index.mjs +0 -5
  862. package/esm2022/timeline/ngx-tethys-timeline.mjs +0 -5
  863. package/esm2022/timeline/timeline-item.component.mjs +0 -59
  864. package/esm2022/timeline/timeline.component.mjs +0 -156
  865. package/esm2022/timeline/timeline.module.mjs +0 -21
  866. package/esm2022/timeline/timeline.service.mjs +0 -17
  867. package/esm2022/tooltip/index.mjs +0 -9
  868. package/esm2022/tooltip/interface.mjs +0 -2
  869. package/esm2022/tooltip/ngx-tethys-tooltip.mjs +0 -5
  870. package/esm2022/tooltip/tooltip-animations.mjs +0 -23
  871. package/esm2022/tooltip/tooltip-ref.mjs +0 -147
  872. package/esm2022/tooltip/tooltip.component.mjs +0 -103
  873. package/esm2022/tooltip/tooltip.config.mjs +0 -17
  874. package/esm2022/tooltip/tooltip.directive.mjs +0 -150
  875. package/esm2022/tooltip/tooltip.module.mjs +0 -22
  876. package/esm2022/tooltip/tooltip.service.mjs +0 -28
  877. package/esm2022/transfer/index.mjs +0 -5
  878. package/esm2022/transfer/ngx-tethys-transfer.mjs +0 -5
  879. package/esm2022/transfer/transfer-list.component.mjs +0 -154
  880. package/esm2022/transfer/transfer.component.mjs +0 -180
  881. package/esm2022/transfer/transfer.interface.mjs +0 -6
  882. package/esm2022/transfer/transfer.module.mjs +0 -50
  883. package/esm2022/tree/index.mjs +0 -7
  884. package/esm2022/tree/ngx-tethys-tree.mjs +0 -5
  885. package/esm2022/tree/tree-abstract.mjs +0 -3
  886. package/esm2022/tree/tree-node.class.mjs +0 -93
  887. package/esm2022/tree/tree-node.component.mjs +0 -212
  888. package/esm2022/tree/tree.class.mjs +0 -15
  889. package/esm2022/tree/tree.component.mjs +0 -648
  890. package/esm2022/tree/tree.module.mjs +0 -74
  891. package/esm2022/tree/tree.pipe.mjs +0 -26
  892. package/esm2022/tree/tree.service.mjs +0 -187
  893. package/esm2022/tree-select/index.mjs +0 -4
  894. package/esm2022/tree-select/module.mjs +0 -52
  895. package/esm2022/tree-select/ngx-tethys-tree-select.mjs +0 -5
  896. package/esm2022/tree-select/tree-select.class.mjs +0 -2
  897. package/esm2022/tree-select/tree-select.component.mjs +0 -653
  898. package/esm2022/types/common.mjs +0 -2
  899. package/esm2022/types/dictionary.mjs +0 -2
  900. package/esm2022/types/index.mjs +0 -4
  901. package/esm2022/types/ngx-tethys-types.mjs +0 -5
  902. package/esm2022/types/pagination.mjs +0 -2
  903. package/esm2022/typography/bg-color.directive.mjs +0 -51
  904. package/esm2022/typography/index.mjs +0 -5
  905. package/esm2022/typography/module.mjs +0 -21
  906. package/esm2022/typography/ngx-tethys-typography.mjs +0 -5
  907. package/esm2022/typography/text/text.component.mjs +0 -23
  908. package/esm2022/typography/text-color.directive.mjs +0 -52
  909. package/esm2022/upload/constant.mjs +0 -75
  910. package/esm2022/upload/file-drop.directive.mjs +0 -166
  911. package/esm2022/upload/file-select-base.mjs +0 -75
  912. package/esm2022/upload/file-select.component.mjs +0 -98
  913. package/esm2022/upload/index.mjs +0 -7
  914. package/esm2022/upload/module.mjs +0 -22
  915. package/esm2022/upload/ngx-tethys-upload.mjs +0 -5
  916. package/esm2022/upload/types.mjs +0 -2
  917. package/esm2022/upload/upload.config.mjs +0 -21
  918. package/esm2022/upload/upload.service.mjs +0 -169
  919. package/esm2022/upload/util.mjs +0 -27
  920. package/esm2022/util/date/functions.mjs +0 -84
  921. package/esm2022/util/date/tiny-date.mjs +0 -362
  922. package/esm2022/util/dom.mjs +0 -247
  923. package/esm2022/util/helpers/helpers.mjs +0 -293
  924. package/esm2022/util/helpers/index.mjs +0 -2
  925. package/esm2022/util/immutable.mjs +0 -108
  926. package/esm2022/util/index.mjs +0 -16
  927. package/esm2022/util/keycodes.mjs +0 -2
  928. package/esm2022/util/logger/index.mjs +0 -2
  929. package/esm2022/util/logger/logger.mjs +0 -42
  930. package/esm2022/util/ng.mjs +0 -7
  931. package/esm2022/util/ngx-tethys-util.mjs +0 -5
  932. package/esm2022/util/references.mjs +0 -84
  933. package/esm2022/version.mjs +0 -3
  934. package/esm2022/vote/index.mjs +0 -3
  935. package/esm2022/vote/ngx-tethys-vote.mjs +0 -5
  936. package/esm2022/vote/vote.component.mjs +0 -130
  937. package/esm2022/vote/vote.module.mjs +0 -20
  938. package/esm2022/watermark/config.mjs +0 -20
  939. package/esm2022/watermark/index.mjs +0 -3
  940. package/esm2022/watermark/ngx-tethys-watermark.mjs +0 -5
  941. package/esm2022/watermark/watermark.directive.mjs +0 -178
  942. package/esm2022/watermark/watermark.module.mjs +0 -19
  943. package/schematics/ng-update/update-18/complete.d.ts +0 -3
  944. package/schematics/ng-update/update-18/complete.js +0 -13
  945. /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.d.ts +0 -0
  946. /package/schematics/ng-update/{update-18 → update-19}/class-name-migration.js +0 -0
  947. /package/schematics/ng-update/{update-18 → update-19}/index.d.ts +0 -0
  948. /package/schematics/ng-update/{update-18 → update-19}/index.spec.d.ts +0 -0
  949. /package/schematics/ng-update/{update-18 → update-19}/update-data.d.ts +0 -0
  950. /package/schematics/ng-update/{update-18 → update-19}/update-data.js +0 -0
@@ -1,281 +0,0 @@
1
- import { ThyColorsTable } from './colors-table.class';
2
- import { ThyRgba } from './rgba.class';
3
- const hsv2hsl = function (hue, sat, val) {
4
- return [hue, (sat * val) / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2];
5
- };
6
- export class ThyColor {
7
- constructor(color) {
8
- this.hue = 0;
9
- this.saturation = 0;
10
- this.value = 0;
11
- this.alpha = 1;
12
- this.enableAlpha = false;
13
- this.format = 'hex';
14
- this.displayValue = '#000000'; // 最终展示的值
15
- this.rgba = new ThyRgba(0, 0, 0, 1);
16
- if (color) {
17
- this.stringToColor(color);
18
- }
19
- }
20
- stringToColor(color) {
21
- if (typeof color === 'string') {
22
- const str = color.replace(/ /g, '').toLowerCase();
23
- /**
24
- * try to find color by name in table
25
- */
26
- let rgba = ThyColorsTable[str] || null;
27
- /**
28
- * hex find
29
- */
30
- if (str[0] === '#') {
31
- let hex = str.substr(1);
32
- const length = hex.length;
33
- let hexArray = [];
34
- if (length === 3) {
35
- hexArray = hex.split('').map(value => value + value);
36
- }
37
- else if (length === 6) {
38
- hexArray = hex.match(/.{2}/g);
39
- }
40
- else if (length === 8) {
41
- const alpha = hex.substr(-2);
42
- hex = hex.substr(0, length - 2);
43
- this.alpha = this.roundNumber(parseInt(alpha || 'FF', 16) / 255);
44
- hexArray = hex.match(/.{2}/g);
45
- }
46
- if (hexArray.length === 3) {
47
- rgba = new ThyRgba(parseInt(hexArray[0], 16), parseInt(hexArray[1], 16), parseInt(hexArray[2], 16), this.alpha);
48
- }
49
- }
50
- const OpenParenthesis = str.indexOf('(');
51
- const CloseParenthesis = str.indexOf(')');
52
- if (OpenParenthesis !== -1 && CloseParenthesis + 1 === str.length) {
53
- const colorTypeName = str.substr(0, OpenParenthesis);
54
- const params = str.substr(OpenParenthesis + 1, CloseParenthesis - (OpenParenthesis + 1)).split(',');
55
- switch (colorTypeName) {
56
- case 'rgba':
57
- this.alpha = parseFloat(params.pop());
58
- case 'rgb':
59
- rgba = new ThyRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);
60
- break;
61
- case 'hsla':
62
- this.alpha = parseFloat(params.pop());
63
- case 'hsl':
64
- rgba = this.hslaToRgba(parseInt(params[0], 10), parseInt(params[1], 10), parseInt(params[2], 10), this.alpha);
65
- break;
66
- // case 'cmyk':
67
- // const cmyk = new Cmyk(
68
- // parseInt(params[0], 10),
69
- // parseInt(params[1], 10),
70
- // parseInt(params[2], 10),
71
- // parseInt(params[3], 10)
72
- // );
73
- // rgba = this.cmykToRgba(cmyk);
74
- // break;
75
- }
76
- }
77
- if (rgba) {
78
- this.rgba = new ThyRgba(rgba.red, rgba.green, rgba.blue, rgba.alpha);
79
- const hsv = this.rgbTohsv(rgba.red, rgba.green, rgba.blue);
80
- this.updateColor(hsv.h, hsv.s, hsv.v, rgba.alpha, false);
81
- }
82
- }
83
- else {
84
- this.updateColor(color.h, color.s, color.v, color.alpha, true);
85
- }
86
- return this;
87
- }
88
- setRgba(red = null, green = null, blue = null, alpha = 1) {
89
- if (red != null) {
90
- this.rgba.red = red;
91
- }
92
- if (green != null) {
93
- this.rgba.green = green;
94
- }
95
- if (blue != null) {
96
- this.rgba.blue = blue;
97
- }
98
- if (alpha != null) {
99
- alpha = alpha > 1 ? 1 : alpha < 0 ? 0 : alpha;
100
- this.rgba.alpha = alpha;
101
- }
102
- const { h, s, v } = this.rgbTohsv(this.rgba.red, this.rgba.green, this.rgba.blue);
103
- this.updateColor(h, s, v, this.rgba.alpha, false);
104
- return this;
105
- }
106
- rgbTohsv(r, g, b) {
107
- const red = r / 255;
108
- const green = g / 255;
109
- const blue = b / 255;
110
- const Cmax = Math.max(red, green, blue);
111
- const Cmin = Math.min(red, green, blue);
112
- const delta = Cmax - Cmin;
113
- let hue = 0;
114
- let saturation = Cmax === 0 ? 0 : delta / Cmax;
115
- let brightness = Cmax;
116
- if (Cmax !== Cmin) {
117
- switch (Cmax) {
118
- case red:
119
- hue = (green - blue) / delta + (green < blue ? 6 : 0);
120
- break;
121
- case green:
122
- hue = 2 + (blue - red) / delta;
123
- break;
124
- case blue:
125
- hue = 4 + (red - green) / delta;
126
- break;
127
- }
128
- hue /= 6;
129
- }
130
- return { h: Math.round(hue * 360), s: Math.round(saturation * 100), v: Math.round(brightness * 100) };
131
- }
132
- getRgba() {
133
- return new ThyRgba(this.rgba.red, this.rgba.green, this.rgba.blue, this.rgba.alpha);
134
- }
135
- hslaToRgba(h, s, l, a) {
136
- const hue = h / 360;
137
- const saturation = s / 100;
138
- const lightness = l / 100;
139
- const alpha = a;
140
- let red = lightness;
141
- let green = lightness;
142
- let blue = lightness;
143
- if (saturation !== 0) {
144
- const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation;
145
- const p = 2 * lightness - q;
146
- red = this.hueToRgb(p, q, hue + 1 / 3);
147
- green = this.hueToRgb(p, q, hue);
148
- blue = this.hueToRgb(p, q, hue - 1 / 3);
149
- }
150
- red = red * 255;
151
- green = green * 255;
152
- blue = blue * 255;
153
- return new ThyRgba(red, green, blue, alpha);
154
- }
155
- hueToRgb(p, q, t) {
156
- if (t < 0) {
157
- t += 1;
158
- }
159
- if (t > 1) {
160
- t -= 1;
161
- }
162
- if (t < 1 / 6) {
163
- return p + (q - p) * 6 * t;
164
- }
165
- if (t < 1 / 2) {
166
- return q;
167
- }
168
- if (t < 2 / 3) {
169
- return p + (q - p) * (2 / 3 - t) * 6;
170
- }
171
- return p;
172
- }
173
- roundNumber(n) {
174
- return Math.round(n * 100) / 100;
175
- }
176
- updateColor(h, s, v, alpha, updateRgba, enableAlpha = true, format = 'hex') {
177
- this.hue = Math.max(0, Math.min(360, h));
178
- this.saturation = Math.max(0, Math.min(100, s));
179
- this.value = Math.max(0, Math.min(100, v));
180
- this.alpha = alpha;
181
- if (updateRgba) {
182
- this.rgba = this.hsvaToRgba(this.hue, Math.round(this.saturation), Math.round(this.value), this.alpha);
183
- }
184
- this.enableAlpha = enableAlpha;
185
- this.format = format;
186
- this.getFinalValue();
187
- }
188
- toHexString(alpha = false) {
189
- let hex = '#' + ((1 << 24) | (this.rgba.getRed() << 16) | (this.rgba.getGreen() << 8) | this.rgba.getBlue()).toString(16).substr(1);
190
- if (alpha && this.rgba.alpha !== 1) {
191
- hex += ((1 << 8) | Math.round(this.rgba.alpha * 255)).toString(16).substr(1);
192
- }
193
- return hex.toUpperCase();
194
- }
195
- hsvaToRgba(h, s, v, alpha) {
196
- let red = 1;
197
- let green = 0;
198
- let blue = 0;
199
- const saturation = Math.round(s) / 100;
200
- const brightness = Math.round(v) / 100;
201
- const hex = h / 60;
202
- const primary = Math.floor(hex);
203
- const secoundary = hex - primary;
204
- const a = (1 - saturation) * brightness;
205
- const b = (1 - saturation * secoundary) * brightness;
206
- const c = (1 - saturation * (1 - secoundary)) * brightness;
207
- switch (primary) {
208
- case 6:
209
- case 0:
210
- red = brightness;
211
- green = c;
212
- blue = a;
213
- break;
214
- case 1:
215
- red = b;
216
- green = brightness;
217
- blue = a;
218
- break;
219
- case 2:
220
- red = a;
221
- green = brightness;
222
- blue = c;
223
- break;
224
- case 3:
225
- red = a;
226
- green = b;
227
- blue = brightness;
228
- break;
229
- case 4:
230
- red = c;
231
- green = a;
232
- blue = brightness;
233
- break;
234
- case 5:
235
- red = brightness;
236
- green = a;
237
- blue = b;
238
- break;
239
- }
240
- red = red * 255;
241
- green = green * 255;
242
- blue = blue * 255;
243
- return new ThyRgba(Math.round(red), Math.round(green), Math.round(blue), alpha);
244
- }
245
- getFinalValue() {
246
- let { hue, saturation, value, alpha, format } = this;
247
- if (this.enableAlpha) {
248
- switch (format) {
249
- case 'hsl':
250
- const hsl = hsv2hsl(hue, saturation / 100, value / 100);
251
- this.displayValue = `hsla(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%, ${alpha})`;
252
- break;
253
- case 'hsv':
254
- this.displayValue = `hsva(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%, ${alpha})`;
255
- break;
256
- case 'rgb':
257
- this.displayValue = `rgba(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue}, ${this.rgba.alpha})`;
258
- break;
259
- default:
260
- this.displayValue = this.toHexString(true);
261
- }
262
- }
263
- else {
264
- switch (format) {
265
- case 'hsl':
266
- const hsl = hsv2hsl(hue, saturation / 100, value / 100);
267
- this.displayValue = `hsl(${hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(hsl[2] * 100)}%)`;
268
- break;
269
- case 'hsv':
270
- this.displayValue = `hsv(${hue}, ${Math.round(saturation)}%, ${Math.round(value)}%)`;
271
- break;
272
- case 'rgb':
273
- this.displayValue = `rgb(${this.rgba.red}, ${this.rgba.green}, ${this.rgba.blue})`;
274
- break;
275
- default:
276
- this.displayValue = this.toHexString();
277
- }
278
- }
279
- }
280
- }
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29sb3ItcGlja2VyL2hlbHBlcnMvY29sb3IuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLEdBQUcsVUFBVSxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDM0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sUUFBUTtJQVVqQixZQUFZLEtBQW1FO1FBVC9FLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxTQUFTO1FBQ25DLFNBQUksR0FBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUdwQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0ws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VUFBVSxHQUFHLEdBQUcsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7b0JBQ3hELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDOUYsTUFBTTtnQkFDVixLQUFLLEtBQUs7b0JBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDckYsTUFBTTtnQkFDVixLQUFLLEtBQUs7b0JBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7b0JBQ25GLE1BQU07Z0JBQ1Y7b0JBQ0ksSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0MsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlDb2xvcnNUYWJsZSB9IGZyb20gJy4vY29sb3JzLXRhYmxlLmNsYXNzJztcbmltcG9ydCB7IFRoeVJnYmEgfSBmcm9tICcuL3JnYmEuY2xhc3MnO1xuXG5jb25zdCBoc3YyaHNsID0gZnVuY3Rpb24gKGh1ZTogbnVtYmVyLCBzYXQ6IG51bWJlciwgdmFsOiBudW1iZXIpIHtcbiAgICByZXR1cm4gW2h1ZSwgKHNhdCAqIHZhbCkgLyAoKGh1ZSA9ICgyIC0gc2F0KSAqIHZhbCkgPCAxID8gaHVlIDogMiAtIGh1ZSkgfHwgMCwgaHVlIC8gMl07XG59O1xuXG5leHBvcnQgY2xhc3MgVGh5Q29sb3Ige1xuICAgIGh1ZSA9IDA7XG4gICAgc2F0dXJhdGlvbiA9IDA7XG4gICAgdmFsdWUgPSAwO1xuICAgIGFscGhhID0gMTtcbiAgICBlbmFibGVBbHBoYSA9IGZhbHNlO1xuICAgIGZvcm1hdCA9ICdoZXgnO1xuICAgIGRpc3BsYXlWYWx1ZSA9ICcjMDAwMDAwJzsgLy8g5pyA57uI5bGV56S655qE5YC8XG4gICAgcmdiYTogVGh5UmdiYSA9IG5ldyBUaHlSZ2JhKDAsIDAsIDAsIDEpO1xuXG4gICAgY29uc3RydWN0b3IoY29sb3I/OiBzdHJpbmcgfCB7IGg6IG51bWJlcjsgczogbnVtYmVyOyB2OiBudW1iZXI7IGFscGhhOiBudW1iZXIgfSkge1xuICAgICAgICBpZiAoY29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc3RyaW5nVG9Db2xvcihjb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmluZ1RvQ29sb3IoY29sb3I6IHN0cmluZyB8IHsgaDogbnVtYmVyOyBzOiBudW1iZXI7IHY6IG51bWJlcjsgYWxwaGE6IG51bWJlciB9KTogdGhpcyB7XG4gICAgICAgIGlmICh0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBzdHIgPSBjb2xvci5yZXBsYWNlKC8gL2csICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiB0cnkgdG8gZmluZCBjb2xvciBieSBuYW1lIGluIHRhYmxlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGxldCByZ2JhOiBUaHlSZ2JhID0gVGh5Q29sb3JzVGFibGVbc3RyXSB8fCBudWxsO1xuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIGhleCBmaW5kXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmIChzdHJbMF0gPT09ICcjJykge1xuICAgICAgICAgICAgICAgIGxldCBoZXggPSBzdHIuc3Vic3RyKDEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IGhleC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgbGV0IGhleEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICBoZXhBcnJheSA9IGhleC5zcGxpdCgnJykubWFwKHZhbHVlID0+IHZhbHVlICsgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID09PSA2KSB7XG4gICAgICAgICAgICAgICAgICAgIGhleEFycmF5ID0gaGV4Lm1hdGNoKC8uezJ9L2cpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobGVuZ3RoID09PSA4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFscGhhID0gaGV4LnN1YnN0cigtMik7XG4gICAgICAgICAgICAgICAgICAgIGhleCA9IGhleC5zdWJzdHIoMCwgbGVuZ3RoIC0gMik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxwaGEgPSB0aGlzLnJvdW5kTnVtYmVyKHBhcnNlSW50KGFscGhhIHx8ICdGRicsIDE2KSAvIDI1NSk7XG4gICAgICAgICAgICAgICAgICAgIGhleEFycmF5ID0gaGV4Lm1hdGNoKC8uezJ9L2cpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChoZXhBcnJheS5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmdiYSA9IG5ldyBUaHlSZ2JhKHBhcnNlSW50KGhleEFycmF5WzBdLCAxNiksIHBhcnNlSW50KGhleEFycmF5WzFdLCAxNiksIHBhcnNlSW50KGhleEFycmF5WzJdLCAxNiksIHRoaXMuYWxwaGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IE9wZW5QYXJlbnRoZXNpcyA9IHN0ci5pbmRleE9mKCcoJyk7XG4gICAgICAgICAgICBjb25zdCBDbG9zZVBhcmVudGhlc2lzID0gc3RyLmluZGV4T2YoJyknKTtcbiAgICAgICAgICAgIGlmIChPcGVuUGFyZW50aGVzaXMgIT09IC0xICYmIENsb3NlUGFyZW50aGVzaXMgKyAxID09PSBzdHIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sb3JUeXBlTmFtZSA9IHN0ci5zdWJzdHIoMCwgT3BlblBhcmVudGhlc2lzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBzdHIuc3Vic3RyKE9wZW5QYXJlbnRoZXNpcyArIDEsIENsb3NlUGFyZW50aGVzaXMgLSAoT3BlblBhcmVudGhlc2lzICsgMSkpLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChjb2xvclR5cGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3JnYmEnOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbHBoYSA9IHBhcnNlRmxvYXQocGFyYW1zLnBvcCgpKTtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmdiJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEgPSBuZXcgVGh5UmdiYShwYXJzZUludChwYXJhbXNbMF0sIDEwKSwgcGFyc2VJbnQocGFyYW1zWzFdLCAxMCksIHBhcnNlSW50KHBhcmFtc1syXSwgMTApLCB0aGlzLmFscGhhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdoc2xhJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxwaGEgPSBwYXJzZUZsb2F0KHBhcmFtcy5wb3AoKSk7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2hzbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZ2JhID0gdGhpcy5oc2xhVG9SZ2JhKHBhcnNlSW50KHBhcmFtc1swXSwgMTApLCBwYXJzZUludChwYXJhbXNbMV0sIDEwKSwgcGFyc2VJbnQocGFyYW1zWzJdLCAxMCksIHRoaXMuYWxwaGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNhc2UgJ2NteWsnOlxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29uc3QgY215ayA9IG5ldyBDbXlrKFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhcnNlSW50KHBhcmFtc1swXSwgMTApLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhcnNlSW50KHBhcmFtc1sxXSwgMTApLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhcnNlSW50KHBhcmFtc1syXSwgMTApLFxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhcnNlSW50KHBhcmFtc1szXSwgMTApXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICApO1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgcmdiYSA9IHRoaXMuY215a1RvUmdiYShjbXlrKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZ2JhKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZ2JhID0gbmV3IFRoeVJnYmEocmdiYS5yZWQsIHJnYmEuZ3JlZW4sIHJnYmEuYmx1ZSwgcmdiYS5hbHBoYSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHN2ID0gdGhpcy5yZ2JUb2hzdihyZ2JhLnJlZCwgcmdiYS5ncmVlbiwgcmdiYS5ibHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbG9yKGhzdi5oLCBoc3YucywgaHN2LnYsIHJnYmEuYWxwaGEsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29sb3IoY29sb3IuaCwgY29sb3IucywgY29sb3IudiwgY29sb3IuYWxwaGEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSZ2JhKHJlZDogbnVtYmVyID0gbnVsbCwgZ3JlZW46IG51bWJlciA9IG51bGwsIGJsdWU6IG51bWJlciA9IG51bGwsIGFscGhhOiBudW1iZXIgPSAxKTogdGhpcyB7XG4gICAgICAgIGlmIChyZWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5yZ2JhLnJlZCA9IHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncmVlbiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnJnYmEuZ3JlZW4gPSBncmVlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChibHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucmdiYS5ibHVlID0gYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbHBoYSAhPSBudWxsKSB7XG4gICAgICAgICAgICBhbHBoYSA9IGFscGhhID4gMSA/IDEgOiBhbHBoYSA8IDAgPyAwIDogYWxwaGE7XG4gICAgICAgICAgICB0aGlzLnJnYmEuYWxwaGEgPSBhbHBoYTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgaCwgcywgdiB9ID0gdGhpcy5yZ2JUb2hzdih0aGlzLnJnYmEucmVkLCB0aGlzLnJnYmEuZ3JlZW4sIHRoaXMucmdiYS5ibHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVDb2xvcihoLCBzLCB2LCB0aGlzLnJnYmEuYWxwaGEsIGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcmdiVG9oc3YocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlcikge1xuICAgICAgICBjb25zdCByZWQgPSByIC8gMjU1O1xuICAgICAgICBjb25zdCBncmVlbiA9IGcgLyAyNTU7XG4gICAgICAgIGNvbnN0IGJsdWUgPSBiIC8gMjU1O1xuICAgICAgICBjb25zdCBDbWF4ID0gTWF0aC5tYXgocmVkLCBncmVlbiwgYmx1ZSk7XG4gICAgICAgIGNvbnN0IENtaW4gPSBNYXRoLm1pbihyZWQsIGdyZWVuLCBibHVlKTtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBDbWF4IC0gQ21pbjtcbiAgICAgICAgbGV0IGh1ZSA9IDA7XG4gICAgICAgIGxldCBzYXR1cmF0aW9uOiBudW1iZXIgPSBDbWF4ID09PSAwID8gMCA6IGRlbHRhIC8gQ21heDtcbiAgICAgICAgbGV0IGJyaWdodG5lc3M6IG51bWJlciA9IENtYXg7XG4gICAgICAgIGlmIChDbWF4ICE9PSBDbWluKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKENtYXgpIHtcbiAgICAgICAgICAgICAgICBjYXNlIHJlZDpcbiAgICAgICAgICAgICAgICAgICAgaHVlID0gKGdyZWVuIC0gYmx1ZSkgLyBkZWx0YSArIChncmVlbiA8IGJsdWUgPyA2IDogMCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgZ3JlZW46XG4gICAgICAgICAgICAgICAgICAgIGh1ZSA9IDIgKyAoYmx1ZSAtIHJlZCkgLyBkZWx0YTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBibHVlOlxuICAgICAgICAgICAgICAgICAgICBodWUgPSA0ICsgKHJlZCAtIGdyZWVuKSAvIGRlbHRhO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGh1ZSAvPSA2O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgaDogTWF0aC5yb3VuZChodWUgKiAzNjApLCBzOiBNYXRoLnJvdW5kKHNhdHVyYXRpb24gKiAxMDApLCB2OiBNYXRoLnJvdW5kKGJyaWdodG5lc3MgKiAxMDApIH07XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJnYmEoKTogVGh5UmdiYSB7XG4gICAgICAgIHJldHVybiBuZXcgVGh5UmdiYSh0aGlzLnJnYmEucmVkLCB0aGlzLnJnYmEuZ3JlZW4sIHRoaXMucmdiYS5ibHVlLCB0aGlzLnJnYmEuYWxwaGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaHNsYVRvUmdiYShoOiBudW1iZXIsIHM6IG51bWJlciwgbDogbnVtYmVyLCBhOiBudW1iZXIpOiBUaHlSZ2JhIHtcbiAgICAgICAgY29uc3QgaHVlID0gaCAvIDM2MDtcbiAgICAgICAgY29uc3Qgc2F0dXJhdGlvbiA9IHMgLyAxMDA7XG4gICAgICAgIGNvbnN0IGxpZ2h0bmVzcyA9IGwgLyAxMDA7XG4gICAgICAgIGNvbnN0IGFscGhhID0gYTtcblxuICAgICAgICBsZXQgcmVkID0gbGlnaHRuZXNzO1xuICAgICAgICBsZXQgZ3JlZW4gPSBsaWdodG5lc3M7XG4gICAgICAgIGxldCBibHVlID0gbGlnaHRuZXNzO1xuXG4gICAgICAgIGlmIChzYXR1cmF0aW9uICE9PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBxID0gbGlnaHRuZXNzIDwgMC41ID8gbGlnaHRuZXNzICogKDEgKyBzYXR1cmF0aW9uKSA6IGxpZ2h0bmVzcyArIHNhdHVyYXRpb24gLSBsaWdodG5lc3MgKiBzYXR1cmF0aW9uO1xuICAgICAgICAgICAgY29uc3QgcCA9IDIgKiBsaWdodG5lc3MgLSBxO1xuXG4gICAgICAgICAgICByZWQgPSB0aGlzLmh1ZVRvUmdiKHAsIHEsIGh1ZSArIDEgLyAzKTtcbiAgICAgICAgICAgIGdyZWVuID0gdGhpcy5odWVUb1JnYihwLCBxLCBodWUpO1xuICAgICAgICAgICAgYmx1ZSA9IHRoaXMuaHVlVG9SZ2IocCwgcSwgaHVlIC0gMSAvIDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVkID0gcmVkICogMjU1O1xuICAgICAgICBncmVlbiA9IGdyZWVuICogMjU1O1xuICAgICAgICBibHVlID0gYmx1ZSAqIDI1NTtcblxuICAgICAgICByZXR1cm4gbmV3IFRoeVJnYmEocmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaHVlVG9SZ2IocDogbnVtYmVyLCBxOiBudW1iZXIsIHQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmICh0IDwgMCkge1xuICAgICAgICAgICAgdCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0ID4gMSkge1xuICAgICAgICAgICAgdCAtPSAxO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0IDwgMSAvIDYpIHtcbiAgICAgICAgICAgIHJldHVybiBwICsgKHEgLSBwKSAqIDYgKiB0O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0IDwgMSAvIDIpIHtcbiAgICAgICAgICAgIHJldHVybiBxO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0IDwgMiAvIDMpIHtcbiAgICAgICAgICAgIHJldHVybiBwICsgKHEgLSBwKSAqICgyIC8gMyAtIHQpICogNjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvdW5kTnVtYmVyKG46IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKG4gKiAxMDApIC8gMTAwO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbG9yKGg6IG51bWJlciwgczogbnVtYmVyLCB2OiBudW1iZXIsIGFscGhhOiBudW1iZXIsIHVwZGF0ZVJnYmE6IGJvb2xlYW4sIGVuYWJsZUFscGhhID0gdHJ1ZSwgZm9ybWF0ID0gJ2hleCcpIHtcbiAgICAgICAgdGhpcy5odWUgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigzNjAsIGgpKTtcbiAgICAgICAgdGhpcy5zYXR1cmF0aW9uID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBzKSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHYpKTtcbiAgICAgICAgdGhpcy5hbHBoYSA9IGFscGhhO1xuICAgICAgICBpZiAodXBkYXRlUmdiYSkge1xuICAgICAgICAgICAgdGhpcy5yZ2JhID0gdGhpcy5oc3ZhVG9SZ2JhKHRoaXMuaHVlLCBNYXRoLnJvdW5kKHRoaXMuc2F0dXJhdGlvbiksIE1hdGgucm91bmQodGhpcy52YWx1ZSksIHRoaXMuYWxwaGEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW5hYmxlQWxwaGEgPSBlbmFibGVBbHBoYTtcbiAgICAgICAgdGhpcy5mb3JtYXQgPSBmb3JtYXQ7XG4gICAgICAgIHRoaXMuZ2V0RmluYWxWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0hleFN0cmluZyhhbHBoYTogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGhleCA9ICcjJyArICgoMSA8PCAyNCkgfCAodGhpcy5yZ2JhLmdldFJlZCgpIDw8IDE2KSB8ICh0aGlzLnJnYmEuZ2V0R3JlZW4oKSA8PCA4KSB8IHRoaXMucmdiYS5nZXRCbHVlKCkpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7XG4gICAgICAgIGlmIChhbHBoYSAmJiB0aGlzLnJnYmEuYWxwaGEgIT09IDEpIHtcbiAgICAgICAgICAgIGhleCArPSAoKDEgPDwgOCkgfCBNYXRoLnJvdW5kKHRoaXMucmdiYS5hbHBoYSAqIDI1NSkpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhleC50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIGhzdmFUb1JnYmEoaDogbnVtYmVyLCBzOiBudW1iZXIsIHY6IG51bWJlciwgYWxwaGE6IG51bWJlcikge1xuICAgICAgICBsZXQgcmVkID0gMTtcbiAgICAgICAgbGV0IGdyZWVuID0gMDtcbiAgICAgICAgbGV0IGJsdWUgPSAwO1xuICAgICAgICBjb25zdCBzYXR1cmF0aW9uID0gTWF0aC5yb3VuZChzKSAvIDEwMDtcbiAgICAgICAgY29uc3QgYnJpZ2h0bmVzcyA9IE1hdGgucm91bmQodikgLyAxMDA7XG4gICAgICAgIGNvbnN0IGhleCA9IGggLyA2MDtcbiAgICAgICAgY29uc3QgcHJpbWFyeSA9IE1hdGguZmxvb3IoaGV4KTtcbiAgICAgICAgY29uc3Qgc2Vjb3VuZGFyeSA9IGhleCAtIHByaW1hcnk7XG4gICAgICAgIGNvbnN0IGEgPSAoMSAtIHNhdHVyYXRpb24pICogYnJpZ2h0bmVzcztcbiAgICAgICAgY29uc3QgYiA9ICgxIC0gc2F0dXJhdGlvbiAqIHNlY291bmRhcnkpICogYnJpZ2h0bmVzcztcbiAgICAgICAgY29uc3QgYyA9ICgxIC0gc2F0dXJhdGlvbiAqICgxIC0gc2Vjb3VuZGFyeSkpICogYnJpZ2h0bmVzcztcblxuICAgICAgICBzd2l0Y2ggKHByaW1hcnkpIHtcbiAgICAgICAgICAgIGNhc2UgNjpcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZWQgPSBicmlnaHRuZXNzO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYztcbiAgICAgICAgICAgICAgICBibHVlID0gYTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICByZWQgPSBiO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYnJpZ2h0bmVzcztcbiAgICAgICAgICAgICAgICBibHVlID0gYTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICByZWQgPSBhO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYnJpZ2h0bmVzcztcbiAgICAgICAgICAgICAgICBibHVlID0gYztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICByZWQgPSBhO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYjtcbiAgICAgICAgICAgICAgICBibHVlID0gYnJpZ2h0bmVzcztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICByZWQgPSBjO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYTtcbiAgICAgICAgICAgICAgICBibHVlID0gYnJpZ2h0bmVzcztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICByZWQgPSBicmlnaHRuZXNzO1xuICAgICAgICAgICAgICAgIGdyZWVuID0gYTtcbiAgICAgICAgICAgICAgICBibHVlID0gYjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJlZCA9IHJlZCAqIDI1NTtcbiAgICAgICAgZ3JlZW4gPSBncmVlbiAqIDI1NTtcbiAgICAgICAgYmx1ZSA9IGJsdWUgKiAyNTU7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUaHlSZ2JhKE1hdGgucm91bmQocmVkKSwgTWF0aC5yb3VuZChncmVlbiksIE1hdGgucm91bmQoYmx1ZSksIGFscGhhKTtcbiAgICB9XG5cbiAgICBnZXRGaW5hbFZhbHVlKCkge1xuICAgICAgICBsZXQgeyBodWUsIHNhdHVyYXRpb24sIHZhbHVlLCBhbHBoYSwgZm9ybWF0IH0gPSB0aGlzO1xuICAgICAgICBpZiAodGhpcy5lbmFibGVBbHBoYSkge1xuICAgICAgICAgICAgc3dpdGNoIChmb3JtYXQpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdoc2wnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoc2wgPSBoc3YyaHNsKGh1ZSwgc2F0dXJhdGlvbiAvIDEwMCwgdmFsdWUgLyAxMDApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IGBoc2xhKCR7aHVlfSwgJHtNYXRoLnJvdW5kKGhzbFsxXSAqIDEwMCl9JSwgJHtNYXRoLnJvdW5kKGhzbFsyXSAqIDEwMCl9JSwgJHthbHBoYX0pYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnaHN2JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBgaHN2YSgke2h1ZX0sICR7TWF0aC5yb3VuZChzYXR1cmF0aW9uKX0lLCAke01hdGgucm91bmQodmFsdWUpfSUsICR7YWxwaGF9KWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JnYic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gYHJnYmEoJHt0aGlzLnJnYmEucmVkfSwgJHt0aGlzLnJnYmEuZ3JlZW59LCAke3RoaXMucmdiYS5ibHVlfSwgJHt0aGlzLnJnYmEuYWxwaGF9KWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy50b0hleFN0cmluZyh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnaHNsJzpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaHNsID0gaHN2MmhzbChodWUsIHNhdHVyYXRpb24gLyAxMDAsIHZhbHVlIC8gMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBgaHNsKCR7aHVlfSwgJHtNYXRoLnJvdW5kKGhzbFsxXSAqIDEwMCl9JSwgJHtNYXRoLnJvdW5kKGhzbFsyXSAqIDEwMCl9JSlgO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdoc3YnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IGBoc3YoJHtodWV9LCAke01hdGgucm91bmQoc2F0dXJhdGlvbil9JSwgJHtNYXRoLnJvdW5kKHZhbHVlKX0lKWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JnYic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gYHJnYigke3RoaXMucmdiYS5yZWR9LCAke3RoaXMucmdiYS5ncmVlbn0sICR7dGhpcy5yZ2JhLmJsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy50b0hleFN0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,155 +0,0 @@
1
- import { ThyRgba } from './rgba.class';
2
- /**
3
- * http://www.w3.org/TR/css3-color/
4
- */
5
- export class ThyColorsTable {
6
- static { this.transparent = new ThyRgba(0, 0, 0, 0); }
7
- static { this.aliceblue = new ThyRgba(240, 248, 255, 1); }
8
- static { this.antiquewhite = new ThyRgba(250, 235, 215, 1); }
9
- static { this.aqua = new ThyRgba(0, 255, 255, 1); }
10
- static { this.aquamarine = new ThyRgba(127, 255, 212, 1); }
11
- static { this.azure = new ThyRgba(240, 255, 255, 1); }
12
- static { this.beige = new ThyRgba(245, 245, 220, 1); }
13
- static { this.bisque = new ThyRgba(255, 228, 196, 1); }
14
- static { this.black = new ThyRgba(0, 0, 0, 1); }
15
- static { this.blanchedalmond = new ThyRgba(255, 235, 205, 1); }
16
- static { this.blue = new ThyRgba(0, 0, 255, 1); }
17
- static { this.blueviolet = new ThyRgba(138, 43, 226, 1); }
18
- static { this.brown = new ThyRgba(165, 42, 42, 1); }
19
- static { this.burlywood = new ThyRgba(222, 184, 135, 1); }
20
- static { this.cadetblue = new ThyRgba(95, 158, 160, 1); }
21
- static { this.chartreuse = new ThyRgba(127, 255, 0, 1); }
22
- static { this.chocolate = new ThyRgba(210, 105, 30, 1); }
23
- static { this.coral = new ThyRgba(255, 127, 80, 1); }
24
- static { this.cornflowerblue = new ThyRgba(100, 149, 237, 1); }
25
- static { this.cornsilk = new ThyRgba(255, 248, 220, 1); }
26
- static { this.crimson = new ThyRgba(220, 20, 60, 1); }
27
- static { this.cyan = new ThyRgba(0, 255, 255, 1); }
28
- static { this.darkblue = new ThyRgba(0, 0, 139, 1); }
29
- static { this.darkcyan = new ThyRgba(0, 139, 139, 1); }
30
- static { this.darkgoldenrod = new ThyRgba(184, 134, 11, 1); }
31
- static { this.darkgray = new ThyRgba(169, 169, 169, 1); }
32
- static { this.darkgreen = new ThyRgba(0, 100, 0, 1); }
33
- static { this.darkgrey = ThyColorsTable.darkgray; }
34
- static { this.darkkhaki = new ThyRgba(189, 183, 107, 1); }
35
- static { this.darkmagenta = new ThyRgba(139, 0, 139, 1); }
36
- static { this.darkolivegreen = new ThyRgba(85, 107, 47, 1); }
37
- static { this.darkorange = new ThyRgba(255, 140, 0, 1); }
38
- static { this.darkorchid = new ThyRgba(153, 50, 204, 1); }
39
- static { this.darkred = new ThyRgba(139, 0, 0, 1); }
40
- static { this.darksalmon = new ThyRgba(233, 150, 122, 1); }
41
- static { this.darkseagreen = new ThyRgba(143, 188, 143, 1); }
42
- static { this.darkslateblue = new ThyRgba(72, 61, 139, 1); }
43
- static { this.darkslategray = new ThyRgba(47, 79, 79, 1); }
44
- static { this.darkslategrey = ThyColorsTable.darkslategray; }
45
- static { this.darkturquoise = new ThyRgba(0, 206, 209, 1); }
46
- static { this.darkviolet = new ThyRgba(148, 0, 211, 1); }
47
- static { this.deeppink = new ThyRgba(255, 20, 147, 1); }
48
- static { this.deepskyblue = new ThyRgba(0, 191, 255, 1); }
49
- static { this.dimgray = new ThyRgba(105, 105, 105, 1); }
50
- static { this.dimgrey = ThyColorsTable.dimgray; }
51
- static { this.dodgerblue = new ThyRgba(30, 144, 255, 1); }
52
- static { this.firebrick = new ThyRgba(178, 34, 34, 1); }
53
- static { this.floralwhite = new ThyRgba(255, 250, 240, 1); }
54
- static { this.forestgreen = new ThyRgba(34, 139, 34, 1); }
55
- static { this.fuchsia = new ThyRgba(255, 0, 255, 1); }
56
- static { this.gainsboro = new ThyRgba(220, 220, 220, 1); }
57
- static { this.ghostwhite = new ThyRgba(248, 248, 255, 1); }
58
- static { this.gold = new ThyRgba(255, 215, 0, 1); }
59
- static { this.goldenrod = new ThyRgba(218, 165, 32, 1); }
60
- static { this.gray = new ThyRgba(128, 128, 128, 1); }
61
- static { this.grey = ThyColorsTable.gray; }
62
- static { this.green = new ThyRgba(0, 128, 0, 1); }
63
- static { this.greenyellow = new ThyRgba(173, 255, 47, 1); }
64
- static { this.honeydew = new ThyRgba(240, 255, 240, 1); }
65
- static { this.hotpink = new ThyRgba(255, 105, 180, 1); }
66
- static { this.indianred = new ThyRgba(205, 92, 92, 1); }
67
- static { this.indigo = new ThyRgba(75, 0, 130, 1); }
68
- static { this.ivory = new ThyRgba(255, 255, 240, 1); }
69
- static { this.khaki = new ThyRgba(240, 230, 140, 1); }
70
- static { this.lavender = new ThyRgba(230, 230, 250, 1); }
71
- static { this.lavenderblush = new ThyRgba(255, 240, 245, 1); }
72
- static { this.lawngreen = new ThyRgba(124, 252, 0, 1); }
73
- static { this.lemonchiffon = new ThyRgba(255, 250, 205, 1); }
74
- static { this.lightblue = new ThyRgba(173, 216, 230, 1); }
75
- static { this.lightcoral = new ThyRgba(240, 128, 128, 1); }
76
- static { this.lightcyan = new ThyRgba(224, 255, 255, 1); }
77
- static { this.lightgoldenrodyellow = new ThyRgba(250, 250, 210, 1); }
78
- static { this.lightgray = new ThyRgba(211, 211, 211, 1); }
79
- static { this.lightgreen = new ThyRgba(144, 238, 144, 1); }
80
- static { this.lightgrey = ThyColorsTable.lightgray; }
81
- static { this.lightpink = new ThyRgba(255, 182, 193, 1); }
82
- static { this.lightsalmon = new ThyRgba(255, 160, 122, 1); }
83
- static { this.lightseagreen = new ThyRgba(32, 178, 170, 1); }
84
- static { this.lightskyblue = new ThyRgba(135, 206, 250, 1); }
85
- static { this.lightslategray = new ThyRgba(119, 136, 153, 1); }
86
- static { this.lightslategrey = ThyColorsTable.lightslategray; }
87
- static { this.lightsteelblue = new ThyRgba(176, 196, 222, 1); }
88
- static { this.lightyellow = new ThyRgba(255, 255, 224, 1); }
89
- static { this.lime = new ThyRgba(0, 255, 0, 1); }
90
- static { this.limegreen = new ThyRgba(50, 205, 50, 1); }
91
- static { this.linen = new ThyRgba(250, 240, 230, 1); }
92
- static { this.magenta = new ThyRgba(255, 0, 255, 1); }
93
- static { this.maroon = new ThyRgba(128, 0, 0, 1); }
94
- static { this.mediumaquamarine = new ThyRgba(102, 205, 170, 1); }
95
- static { this.mediumblue = new ThyRgba(0, 0, 205, 1); }
96
- static { this.mediumorchid = new ThyRgba(186, 85, 211, 1); }
97
- static { this.mediumpurple = new ThyRgba(147, 112, 219, 1); }
98
- static { this.mediumseagreen = new ThyRgba(60, 179, 113, 1); }
99
- static { this.mediumslateblue = new ThyRgba(123, 104, 238, 1); }
100
- static { this.mediumspringgreen = new ThyRgba(0, 250, 154, 1); }
101
- static { this.mediumturquoise = new ThyRgba(72, 209, 204, 1); }
102
- static { this.mediumvioletred = new ThyRgba(199, 21, 133, 1); }
103
- static { this.midnightblue = new ThyRgba(25, 25, 112, 1); }
104
- static { this.mintcream = new ThyRgba(245, 255, 250, 1); }
105
- static { this.mistyrose = new ThyRgba(255, 228, 225, 1); }
106
- static { this.moccasin = new ThyRgba(255, 228, 181, 1); }
107
- static { this.navajowhite = new ThyRgba(255, 222, 173, 1); }
108
- static { this.navy = new ThyRgba(0, 0, 128, 1); }
109
- static { this.oldlace = new ThyRgba(253, 245, 230, 1); }
110
- static { this.olive = new ThyRgba(128, 128, 0, 1); }
111
- static { this.olivedrab = new ThyRgba(107, 142, 35, 1); }
112
- static { this.orange = new ThyRgba(255, 165, 0, 1); }
113
- static { this.orangered = new ThyRgba(255, 69, 0, 1); }
114
- static { this.orchid = new ThyRgba(218, 112, 214, 1); }
115
- static { this.palegoldenrod = new ThyRgba(238, 232, 170, 1); }
116
- static { this.palegreen = new ThyRgba(152, 251, 152, 1); }
117
- static { this.paleturquoise = new ThyRgba(175, 238, 238, 1); }
118
- static { this.palevioletred = new ThyRgba(219, 112, 147, 1); }
119
- static { this.papayawhip = new ThyRgba(255, 239, 213, 1); }
120
- static { this.peachpuff = new ThyRgba(255, 218, 185, 1); }
121
- static { this.peru = new ThyRgba(205, 133, 63, 1); }
122
- static { this.pink = new ThyRgba(255, 192, 203, 1); }
123
- static { this.plum = new ThyRgba(221, 160, 221, 1); }
124
- static { this.powderblue = new ThyRgba(176, 224, 230, 1); }
125
- static { this.purple = new ThyRgba(128, 0, 128, 1); }
126
- static { this.red = new ThyRgba(255, 0, 0, 1); }
127
- static { this.rosybrown = new ThyRgba(188, 143, 143, 1); }
128
- static { this.royalblue = new ThyRgba(65, 105, 225, 1); }
129
- static { this.saddlebrown = new ThyRgba(139, 69, 19, 1); }
130
- static { this.salmon = new ThyRgba(250, 128, 114, 1); }
131
- static { this.sandybrown = new ThyRgba(244, 164, 96, 1); }
132
- static { this.seagreen = new ThyRgba(46, 139, 87, 1); }
133
- static { this.seashell = new ThyRgba(255, 245, 238, 1); }
134
- static { this.sienna = new ThyRgba(160, 82, 45, 1); }
135
- static { this.silver = new ThyRgba(192, 192, 192, 1); }
136
- static { this.skyblue = new ThyRgba(135, 206, 235, 1); }
137
- static { this.slateblue = new ThyRgba(106, 90, 205, 1); }
138
- static { this.slategray = new ThyRgba(112, 128, 144, 1); }
139
- static { this.slategrey = ThyColorsTable.slategray; }
140
- static { this.snow = new ThyRgba(255, 250, 250, 1); }
141
- static { this.springgreen = new ThyRgba(0, 255, 127, 1); }
142
- static { this.steelblue = new ThyRgba(70, 130, 180, 1); }
143
- static { this.tan = new ThyRgba(210, 180, 140, 1); }
144
- static { this.teal = new ThyRgba(0, 128, 128, 1); }
145
- static { this.thistle = new ThyRgba(216, 191, 216, 1); }
146
- static { this.tomato = new ThyRgba(255, 99, 71, 1); }
147
- static { this.turquoise = new ThyRgba(64, 224, 208, 1); }
148
- static { this.violet = new ThyRgba(238, 130, 238, 1); }
149
- static { this.wheat = new ThyRgba(245, 222, 179, 1); }
150
- static { this.white = new ThyRgba(255, 255, 255, 1); }
151
- static { this.whitesmoke = new ThyRgba(245, 245, 245, 1); }
152
- static { this.yellow = new ThyRgba(255, 255, 0, 1); }
153
- static { this.yellowgreen = new ThyRgba(154, 205, 50, 1); }
154
- }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLXRhYmxlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbG9yLXBpY2tlci9oZWxwZXJzL2NvbG9ycy10YWJsZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7YUFDVCxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdDLFNBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNuQyxlQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0MsVUFBSyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkMsVUFBSyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0MsU0FBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2pDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxlQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQyxtQkFBYyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9DLGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEMsU0FBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQyxhQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QyxhQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLGFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO2FBQ25DLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0MsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEMsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzNDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0Msa0JBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM1QyxrQkFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzNDLGtCQUFhLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQzthQUM3QyxrQkFBYSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxhQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEMsWUFBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUM7YUFDakMsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxlQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0MsU0FBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ25DLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxTQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckMsU0FBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7YUFDM0IsVUFBSyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0MsYUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEMsV0FBTSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BDLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QyxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEMsYUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDOUMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0MsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzQyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckQsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzQyxjQUFTLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQzthQUNyQyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM1QyxrQkFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDN0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUM7YUFDL0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVDLFNBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNqQyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEMsVUFBSyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN0QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbkMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakQsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDNUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QyxtQkFBYyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzlDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEQsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQyxvQkFBZSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9DLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0MsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMxQyxhQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM1QyxTQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakMsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNwQyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekMsV0FBTSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3JDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdkMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM5QyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM5QyxrQkFBYSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzlDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzQyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMsU0FBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BDLFNBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQyxTQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckMsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzNDLFdBQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQyxRQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLFdBQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxlQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDMUMsYUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckMsV0FBTSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QyxjQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDekMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO2FBQ3JDLFNBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyQyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzFDLGNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN6QyxRQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEMsU0FBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ25DLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckMsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLFdBQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEMsVUFBSyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMzQyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeVJnYmEgfSBmcm9tICcuL3JnYmEuY2xhc3MnO1xuXG4vKipcbiAqIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtY29sb3IvXG4gKi9cbmV4cG9ydCBjbGFzcyBUaHlDb2xvcnNUYWJsZSB7XG4gICAgcHVibGljIHN0YXRpYyB0cmFuc3BhcmVudCA9IG5ldyBUaHlSZ2JhKDAsIDAsIDAsIDApO1xuICAgIHB1YmxpYyBzdGF0aWMgYWxpY2VibHVlID0gbmV3IFRoeVJnYmEoMjQwLCAyNDgsIDI1NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBhbnRpcXVld2hpdGUgPSBuZXcgVGh5UmdiYSgyNTAsIDIzNSwgMjE1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGFxdWEgPSBuZXcgVGh5UmdiYSgwLCAyNTUsIDI1NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBhcXVhbWFyaW5lID0gbmV3IFRoeVJnYmEoMTI3LCAyNTUsIDIxMiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBhenVyZSA9IG5ldyBUaHlSZ2JhKDI0MCwgMjU1LCAyNTUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgYmVpZ2UgPSBuZXcgVGh5UmdiYSgyNDUsIDI0NSwgMjIwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGJpc3F1ZSA9IG5ldyBUaHlSZ2JhKDI1NSwgMjI4LCAxOTYsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgYmxhY2sgPSBuZXcgVGh5UmdiYSgwLCAwLCAwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGJsYW5jaGVkYWxtb25kID0gbmV3IFRoeVJnYmEoMjU1LCAyMzUsIDIwNSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBibHVlID0gbmV3IFRoeVJnYmEoMCwgMCwgMjU1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGJsdWV2aW9sZXQgPSBuZXcgVGh5UmdiYSgxMzgsIDQzLCAyMjYsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgYnJvd24gPSBuZXcgVGh5UmdiYSgxNjUsIDQyLCA0MiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBidXJseXdvb2QgPSBuZXcgVGh5UmdiYSgyMjIsIDE4NCwgMTM1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGNhZGV0Ymx1ZSA9IG5ldyBUaHlSZ2JhKDk1LCAxNTgsIDE2MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBjaGFydHJldXNlID0gbmV3IFRoeVJnYmEoMTI3LCAyNTUsIDAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgY2hvY29sYXRlID0gbmV3IFRoeVJnYmEoMjEwLCAxMDUsIDMwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGNvcmFsID0gbmV3IFRoeVJnYmEoMjU1LCAxMjcsIDgwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGNvcm5mbG93ZXJibHVlID0gbmV3IFRoeVJnYmEoMTAwLCAxNDksIDIzNywgMSk7XG4gICAgcHVibGljIHN0YXRpYyBjb3Juc2lsayA9IG5ldyBUaHlSZ2JhKDI1NSwgMjQ4LCAyMjAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgY3JpbXNvbiA9IG5ldyBUaHlSZ2JhKDIyMCwgMjAsIDYwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGN5YW4gPSBuZXcgVGh5UmdiYSgwLCAyNTUsIDI1NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrYmx1ZSA9IG5ldyBUaHlSZ2JhKDAsIDAsIDEzOSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrY3lhbiA9IG5ldyBUaHlSZ2JhKDAsIDEzOSwgMTM5LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmtnb2xkZW5yb2QgPSBuZXcgVGh5UmdiYSgxODQsIDEzNCwgMTEsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZGFya2dyYXkgPSBuZXcgVGh5UmdiYSgxNjksIDE2OSwgMTY5LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmtncmVlbiA9IG5ldyBUaHlSZ2JhKDAsIDEwMCwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrZ3JleSA9IFRoeUNvbG9yc1RhYmxlLmRhcmtncmF5O1xuICAgIHB1YmxpYyBzdGF0aWMgZGFya2toYWtpID0gbmV3IFRoeVJnYmEoMTg5LCAxODMsIDEwNywgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrbWFnZW50YSA9IG5ldyBUaHlSZ2JhKDEzOSwgMCwgMTM5LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmtvbGl2ZWdyZWVuID0gbmV3IFRoeVJnYmEoODUsIDEwNywgNDcsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZGFya29yYW5nZSA9IG5ldyBUaHlSZ2JhKDI1NSwgMTQwLCAwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmtvcmNoaWQgPSBuZXcgVGh5UmdiYSgxNTMsIDUwLCAyMDQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZGFya3JlZCA9IG5ldyBUaHlSZ2JhKDEzOSwgMCwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrc2FsbW9uID0gbmV3IFRoeVJnYmEoMjMzLCAxNTAsIDEyMiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrc2VhZ3JlZW4gPSBuZXcgVGh5UmdiYSgxNDMsIDE4OCwgMTQzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmtzbGF0ZWJsdWUgPSBuZXcgVGh5UmdiYSg3MiwgNjEsIDEzOSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrc2xhdGVncmF5ID0gbmV3IFRoeVJnYmEoNDcsIDc5LCA3OSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrc2xhdGVncmV5ID0gVGh5Q29sb3JzVGFibGUuZGFya3NsYXRlZ3JheTtcbiAgICBwdWJsaWMgc3RhdGljIGRhcmt0dXJxdW9pc2UgPSBuZXcgVGh5UmdiYSgwLCAyMDYsIDIwOSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkYXJrdmlvbGV0ID0gbmV3IFRoeVJnYmEoMTQ4LCAwLCAyMTEsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZGVlcHBpbmsgPSBuZXcgVGh5UmdiYSgyNTUsIDIwLCAxNDcsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZGVlcHNreWJsdWUgPSBuZXcgVGh5UmdiYSgwLCAxOTEsIDI1NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkaW1ncmF5ID0gbmV3IFRoeVJnYmEoMTA1LCAxMDUsIDEwNSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBkaW1ncmV5ID0gVGh5Q29sb3JzVGFibGUuZGltZ3JheTtcbiAgICBwdWJsaWMgc3RhdGljIGRvZGdlcmJsdWUgPSBuZXcgVGh5UmdiYSgzMCwgMTQ0LCAyNTUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZmlyZWJyaWNrID0gbmV3IFRoeVJnYmEoMTc4LCAzNCwgMzQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZmxvcmFsd2hpdGUgPSBuZXcgVGh5UmdiYSgyNTUsIDI1MCwgMjQwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGZvcmVzdGdyZWVuID0gbmV3IFRoeVJnYmEoMzQsIDEzOSwgMzQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZnVjaHNpYSA9IG5ldyBUaHlSZ2JhKDI1NSwgMCwgMjU1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGdhaW5zYm9ybyA9IG5ldyBUaHlSZ2JhKDIyMCwgMjIwLCAyMjAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZ2hvc3R3aGl0ZSA9IG5ldyBUaHlSZ2JhKDI0OCwgMjQ4LCAyNTUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgZ29sZCA9IG5ldyBUaHlSZ2JhKDI1NSwgMjE1LCAwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGdvbGRlbnJvZCA9IG5ldyBUaHlSZ2JhKDIxOCwgMTY1LCAzMiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBncmF5ID0gbmV3IFRoeVJnYmEoMTI4LCAxMjgsIDEyOCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBncmV5ID0gVGh5Q29sb3JzVGFibGUuZ3JheTtcbiAgICBwdWJsaWMgc3RhdGljIGdyZWVuID0gbmV3IFRoeVJnYmEoMCwgMTI4LCAwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGdyZWVueWVsbG93ID0gbmV3IFRoeVJnYmEoMTczLCAyNTUsIDQ3LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGhvbmV5ZGV3ID0gbmV3IFRoeVJnYmEoMjQwLCAyNTUsIDI0MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBob3RwaW5rID0gbmV3IFRoeVJnYmEoMjU1LCAxMDUsIDE4MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBpbmRpYW5yZWQgPSBuZXcgVGh5UmdiYSgyMDUsIDkyLCA5MiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBpbmRpZ28gPSBuZXcgVGh5UmdiYSg3NSwgMCwgMTMwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGl2b3J5ID0gbmV3IFRoeVJnYmEoMjU1LCAyNTUsIDI0MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBraGFraSA9IG5ldyBUaHlSZ2JhKDI0MCwgMjMwLCAxNDAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGF2ZW5kZXIgPSBuZXcgVGh5UmdiYSgyMzAsIDIzMCwgMjUwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxhdmVuZGVyYmx1c2ggPSBuZXcgVGh5UmdiYSgyNTUsIDI0MCwgMjQ1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxhd25ncmVlbiA9IG5ldyBUaHlSZ2JhKDEyNCwgMjUyLCAwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxlbW9uY2hpZmZvbiA9IG5ldyBUaHlSZ2JhKDI1NSwgMjUwLCAyMDUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGlnaHRibHVlID0gbmV3IFRoeVJnYmEoMTczLCAyMTYsIDIzMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaWdodGNvcmFsID0gbmV3IFRoeVJnYmEoMjQwLCAxMjgsIDEyOCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaWdodGN5YW4gPSBuZXcgVGh5UmdiYSgyMjQsIDI1NSwgMjU1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0Z29sZGVucm9keWVsbG93ID0gbmV3IFRoeVJnYmEoMjUwLCAyNTAsIDIxMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaWdodGdyYXkgPSBuZXcgVGh5UmdiYSgyMTEsIDIxMSwgMjExLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0Z3JlZW4gPSBuZXcgVGh5UmdiYSgxNDQsIDIzOCwgMTQ0LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0Z3JleSA9IFRoeUNvbG9yc1RhYmxlLmxpZ2h0Z3JheTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0cGluayA9IG5ldyBUaHlSZ2JhKDI1NSwgMTgyLCAxOTMsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGlnaHRzYWxtb24gPSBuZXcgVGh5UmdiYSgyNTUsIDE2MCwgMTIyLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0c2VhZ3JlZW4gPSBuZXcgVGh5UmdiYSgzMiwgMTc4LCAxNzAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGlnaHRza3libHVlID0gbmV3IFRoeVJnYmEoMTM1LCAyMDYsIDI1MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaWdodHNsYXRlZ3JheSA9IG5ldyBUaHlSZ2JhKDExOSwgMTM2LCAxNTMsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGlnaHRzbGF0ZWdyZXkgPSBUaHlDb2xvcnNUYWJsZS5saWdodHNsYXRlZ3JheTtcbiAgICBwdWJsaWMgc3RhdGljIGxpZ2h0c3RlZWxibHVlID0gbmV3IFRoeVJnYmEoMTc2LCAxOTYsIDIyMiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaWdodHllbGxvdyA9IG5ldyBUaHlSZ2JhKDI1NSwgMjU1LCAyMjQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbGltZSA9IG5ldyBUaHlSZ2JhKDAsIDI1NSwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaW1lZ3JlZW4gPSBuZXcgVGh5UmdiYSg1MCwgMjA1LCA1MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBsaW5lbiA9IG5ldyBUaHlSZ2JhKDI1MCwgMjQwLCAyMzAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbWFnZW50YSA9IG5ldyBUaHlSZ2JhKDI1NSwgMCwgMjU1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1hcm9vbiA9IG5ldyBUaHlSZ2JhKDEyOCwgMCwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBtZWRpdW1hcXVhbWFyaW5lID0gbmV3IFRoeVJnYmEoMTAyLCAyMDUsIDE3MCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBtZWRpdW1ibHVlID0gbmV3IFRoeVJnYmEoMCwgMCwgMjA1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1lZGl1bW9yY2hpZCA9IG5ldyBUaHlSZ2JhKDE4NiwgODUsIDIxMSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBtZWRpdW1wdXJwbGUgPSBuZXcgVGh5UmdiYSgxNDcsIDExMiwgMjE5LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1lZGl1bXNlYWdyZWVuID0gbmV3IFRoeVJnYmEoNjAsIDE3OSwgMTEzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1lZGl1bXNsYXRlYmx1ZSA9IG5ldyBUaHlSZ2JhKDEyMywgMTA0LCAyMzgsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbWVkaXVtc3ByaW5nZ3JlZW4gPSBuZXcgVGh5UmdiYSgwLCAyNTAsIDE1NCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBtZWRpdW10dXJxdW9pc2UgPSBuZXcgVGh5UmdiYSg3MiwgMjA5LCAyMDQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbWVkaXVtdmlvbGV0cmVkID0gbmV3IFRoeVJnYmEoMTk5LCAyMSwgMTMzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1pZG5pZ2h0Ymx1ZSA9IG5ldyBUaHlSZ2JhKDI1LCAyNSwgMTEyLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG1pbnRjcmVhbSA9IG5ldyBUaHlSZ2JhKDI0NSwgMjU1LCAyNTAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbWlzdHlyb3NlID0gbmV3IFRoeVJnYmEoMjU1LCAyMjgsIDIyNSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBtb2NjYXNpbiA9IG5ldyBUaHlSZ2JhKDI1NSwgMjI4LCAxODEsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgbmF2YWpvd2hpdGUgPSBuZXcgVGh5UmdiYSgyNTUsIDIyMiwgMTczLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIG5hdnkgPSBuZXcgVGh5UmdiYSgwLCAwLCAxMjgsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgb2xkbGFjZSA9IG5ldyBUaHlSZ2JhKDI1MywgMjQ1LCAyMzAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgb2xpdmUgPSBuZXcgVGh5UmdiYSgxMjgsIDEyOCwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBvbGl2ZWRyYWIgPSBuZXcgVGh5UmdiYSgxMDcsIDE0MiwgMzUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgb3JhbmdlID0gbmV3IFRoeVJnYmEoMjU1LCAxNjUsIDAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgb3JhbmdlcmVkID0gbmV3IFRoeVJnYmEoMjU1LCA2OSwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBvcmNoaWQgPSBuZXcgVGh5UmdiYSgyMTgsIDExMiwgMjE0LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHBhbGVnb2xkZW5yb2QgPSBuZXcgVGh5UmdiYSgyMzgsIDIzMiwgMTcwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHBhbGVncmVlbiA9IG5ldyBUaHlSZ2JhKDE1MiwgMjUxLCAxNTIsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgcGFsZXR1cnF1b2lzZSA9IG5ldyBUaHlSZ2JhKDE3NSwgMjM4LCAyMzgsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgcGFsZXZpb2xldHJlZCA9IG5ldyBUaHlSZ2JhKDIxOSwgMTEyLCAxNDcsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgcGFwYXlhd2hpcCA9IG5ldyBUaHlSZ2JhKDI1NSwgMjM5LCAyMTMsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgcGVhY2hwdWZmID0gbmV3IFRoeVJnYmEoMjU1LCAyMTgsIDE4NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBwZXJ1ID0gbmV3IFRoeVJnYmEoMjA1LCAxMzMsIDYzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHBpbmsgPSBuZXcgVGh5UmdiYSgyNTUsIDE5MiwgMjAzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHBsdW0gPSBuZXcgVGh5UmdiYSgyMjEsIDE2MCwgMjIxLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHBvd2RlcmJsdWUgPSBuZXcgVGh5UmdiYSgxNzYsIDIyNCwgMjMwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHB1cnBsZSA9IG5ldyBUaHlSZ2JhKDEyOCwgMCwgMTI4LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHJlZCA9IG5ldyBUaHlSZ2JhKDI1NSwgMCwgMCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyByb3N5YnJvd24gPSBuZXcgVGh5UmdiYSgxODgsIDE0MywgMTQzLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHJveWFsYmx1ZSA9IG5ldyBUaHlSZ2JhKDY1LCAxMDUsIDIyNSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBzYWRkbGVicm93biA9IG5ldyBUaHlSZ2JhKDEzOSwgNjksIDE5LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNhbG1vbiA9IG5ldyBUaHlSZ2JhKDI1MCwgMTI4LCAxMTQsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgc2FuZHlicm93biA9IG5ldyBUaHlSZ2JhKDI0NCwgMTY0LCA5NiwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBzZWFncmVlbiA9IG5ldyBUaHlSZ2JhKDQ2LCAxMzksIDg3LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNlYXNoZWxsID0gbmV3IFRoeVJnYmEoMjU1LCAyNDUsIDIzOCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBzaWVubmEgPSBuZXcgVGh5UmdiYSgxNjAsIDgyLCA0NSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBzaWx2ZXIgPSBuZXcgVGh5UmdiYSgxOTIsIDE5MiwgMTkyLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNreWJsdWUgPSBuZXcgVGh5UmdiYSgxMzUsIDIwNiwgMjM1LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNsYXRlYmx1ZSA9IG5ldyBUaHlSZ2JhKDEwNiwgOTAsIDIwNSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyBzbGF0ZWdyYXkgPSBuZXcgVGh5UmdiYSgxMTIsIDEyOCwgMTQ0LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNsYXRlZ3JleSA9IFRoeUNvbG9yc1RhYmxlLnNsYXRlZ3JheTtcbiAgICBwdWJsaWMgc3RhdGljIHNub3cgPSBuZXcgVGh5UmdiYSgyNTUsIDI1MCwgMjUwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHNwcmluZ2dyZWVuID0gbmV3IFRoeVJnYmEoMCwgMjU1LCAxMjcsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgc3RlZWxibHVlID0gbmV3IFRoeVJnYmEoNzAsIDEzMCwgMTgwLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHRhbiA9IG5ldyBUaHlSZ2JhKDIxMCwgMTgwLCAxNDAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgdGVhbCA9IG5ldyBUaHlSZ2JhKDAsIDEyOCwgMTI4LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHRoaXN0bGUgPSBuZXcgVGh5UmdiYSgyMTYsIDE5MSwgMjE2LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHRvbWF0byA9IG5ldyBUaHlSZ2JhKDI1NSwgOTksIDcxLCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHR1cnF1b2lzZSA9IG5ldyBUaHlSZ2JhKDY0LCAyMjQsIDIwOCwgMSk7XG4gICAgcHVibGljIHN0YXRpYyB2aW9sZXQgPSBuZXcgVGh5UmdiYSgyMzgsIDEzMCwgMjM4LCAxKTtcbiAgICBwdWJsaWMgc3RhdGljIHdoZWF0ID0gbmV3IFRoeVJnYmEoMjQ1LCAyMjIsIDE3OSwgMSk7XG4gICAgcHVibGljIHN0YXRpYyB3aGl0ZSA9IG5ldyBUaHlSZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgd2hpdGVzbW9rZSA9IG5ldyBUaHlSZ2JhKDI0NSwgMjQ1LCAyNDUsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgeWVsbG93ID0gbmV3IFRoeVJnYmEoMjU1LCAyNTUsIDAsIDEpO1xuICAgIHB1YmxpYyBzdGF0aWMgeWVsbG93Z3JlZW4gPSBuZXcgVGh5UmdiYSgxNTQsIDIwNSwgNTAsIDEpO1xufVxuIl19
@@ -1,34 +0,0 @@
1
- /**
2
- * RGB (Red Green Blue)
3
- *
4
- * Red = ranges from 0-255
5
- * Green = ranges from 0-255
6
- * Blue = ranges from 0-255
7
- * Alpha = range from 0-1
8
- */
9
- export class ThyRgba {
10
- constructor(red, green, blue, alpha) {
11
- this.red = red;
12
- this.green = green;
13
- this.blue = blue;
14
- this.alpha = alpha;
15
- }
16
- toString(showAlphaChannel = true) {
17
- return showAlphaChannel
18
- ? `rgba(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()}, ${this.getAlpha()})`
19
- : `rgb(${this.getRed()}, ${this.getGreen()}, ${this.getBlue()})`;
20
- }
21
- getRed() {
22
- return Math.round(this.red);
23
- }
24
- getGreen() {
25
- return Math.round(this.green);
26
- }
27
- getBlue() {
28
- return Math.round(this.blue);
29
- }
30
- getAlpha() {
31
- return Math.round(this.alpha * 100) / 100;
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmdiYS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb2xvci1waWNrZXIvaGVscGVycy9yZ2JhLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNoQixZQUNXLEdBQVcsRUFDWCxLQUFhLEVBQ2IsSUFBWSxFQUNaLEtBQWE7UUFIYixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQ3JCLENBQUM7SUFFRyxRQUFRLENBQUMsbUJBQTRCLElBQUk7UUFDNUMsT0FBTyxnQkFBZ0I7WUFDbkIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHO1lBQ3JGLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7SUFDekUsQ0FBQztJQUVNLE1BQU07UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSR0IgKFJlZCBHcmVlbiBCbHVlKVxuICpcbiAqIFJlZCA9IHJhbmdlcyBmcm9tIDAtMjU1XG4gKiBHcmVlbiA9IHJhbmdlcyBmcm9tIDAtMjU1XG4gKiBCbHVlID0gcmFuZ2VzIGZyb20gMC0yNTVcbiAqIEFscGhhID0gcmFuZ2UgZnJvbSAwLTFcbiAqL1xuZXhwb3J0IGNsYXNzIFRoeVJnYmEge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVkOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyBncmVlbjogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYmx1ZTogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYWxwaGE6IG51bWJlclxuICAgICkge31cblxuICAgIHB1YmxpYyB0b1N0cmluZyhzaG93QWxwaGFDaGFubmVsOiBib29sZWFuID0gdHJ1ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzaG93QWxwaGFDaGFubmVsXG4gICAgICAgICAgICA/IGByZ2JhKCR7dGhpcy5nZXRSZWQoKX0sICR7dGhpcy5nZXRHcmVlbigpfSwgJHt0aGlzLmdldEJsdWUoKX0sICR7dGhpcy5nZXRBbHBoYSgpfSlgXG4gICAgICAgICAgICA6IGByZ2IoJHt0aGlzLmdldFJlZCgpfSwgJHt0aGlzLmdldEdyZWVuKCl9LCAke3RoaXMuZ2V0Qmx1ZSgpfSlgO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQodGhpcy5yZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmVlbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh0aGlzLmdyZWVuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Qmx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh0aGlzLmJsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbHBoYSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh0aGlzLmFscGhhICogMTAwKSAvIDEwMDtcbiAgICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- export * from './color-picker-custom-panel.component';
2
- export * from './color-picker-panel.component';
3
- export * from './color-picker.component';
4
- export * from './constant';
5
- export * from './module';
6
- export * from './parts/alpha/alpha.component';
7
- export * from './parts/hue/hue.component';
8
- export * from './parts/indicator/indicator.component';
9
- export * from './parts/inputs/inputs.component';
10
- export * from './parts/saturation/saturation.component';
11
- export { ThyColor } from './helpers/color.class';
12
- export { ThyRgba } from './helpers/rgba.class';
13
- export { ThyColorsTable } from './helpers/colors-table.class';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29sb3ItcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLWN1c3RvbS1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1waWNrZXItcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvYWxwaGEvYWxwaGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvaHVlL2h1ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJ0cy9pbmRpY2F0b3IvaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRzL2lucHV0cy9pbnB1dHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvc2F0dXJhdGlvbi9zYXR1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBUaHlDb2xvciB9IGZyb20gJy4vaGVscGVycy9jb2xvci5jbGFzcyc7XG5leHBvcnQgeyBUaHlSZ2JhIH0gZnJvbSAnLi9oZWxwZXJzL3JnYmEuY2xhc3MnO1xuZXhwb3J0IHsgVGh5Q29sb3JzVGFibGUgfSBmcm9tICcuL2hlbHBlcnMvY29sb3JzLXRhYmxlLmNsYXNzJztcbiJdfQ==