@mintplayer/ng-bootstrap 16.5.0 → 16.6.1

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 (430) hide show
  1. package/color-picker/color-picker.module.d.ts +15 -0
  2. package/color-picker/components/alpha-strip/alpha-strip.component.d.ts +23 -0
  3. package/color-picker/components/color-picker/color-picker.component.d.ts +24 -0
  4. package/color-picker/components/color-wheel/color-wheel.component.d.ts +53 -0
  5. package/color-picker/components/index.d.ts +5 -0
  6. package/color-picker/components/luminosity-strip/luminosity-strip.component.d.ts +20 -0
  7. package/color-picker/components/slider/slider.component.d.ts +35 -0
  8. package/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.d.ts +28 -0
  9. package/color-picker/directives/index.d.ts +1 -0
  10. package/color-picker/index.d.ts +5 -0
  11. package/color-picker/interfaces/hs.d.ts +4 -0
  12. package/color-picker/interfaces/hsl-color.d.ts +5 -0
  13. package/color-picker/interfaces/index.d.ts +3 -0
  14. package/color-picker/interfaces/rgb-color.d.ts +5 -0
  15. package/color-picker/types/html-color.d.ts +1 -0
  16. package/color-picker/types/index.d.ts +1 -0
  17. package/container/index.d.ts +1 -0
  18. package/container/src/container/container.component.d.ts +5 -0
  19. package/container/src/container.module.d.ts +8 -0
  20. package/container/src/index.d.ts +2 -0
  21. package/datatable/src/datatable/datatable.component.d.ts +1 -1
  22. package/datatable/src/datatable-column/datatable-column.directive.d.ts +3 -3
  23. package/datatable/src/index.d.ts +1 -1
  24. package/esm2022/accordion/src/accordion/accordion.component.mjs +5 -6
  25. package/esm2022/accordion/src/accordion-tab/accordion-tab.component.mjs +5 -6
  26. package/esm2022/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +5 -6
  27. package/esm2022/accordion/src/accordion.module.mjs +6 -7
  28. package/esm2022/alert/src/alert/alert.component.mjs +5 -6
  29. package/esm2022/alert/src/alert-close/alert-close.component.mjs +5 -6
  30. package/esm2022/alert/src/alert.module.mjs +6 -7
  31. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +6 -7
  32. package/esm2022/badge/src/badge.component.mjs +5 -6
  33. package/esm2022/badge/src/badge.module.mjs +6 -7
  34. package/esm2022/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +5 -6
  35. package/esm2022/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +5 -6
  36. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +6 -7
  37. package/esm2022/button-group/src/button-group/button-group.component.mjs +5 -6
  38. package/esm2022/button-group/src/button-group.module.mjs +6 -7
  39. package/esm2022/button-type/src/button-type/button-type.directive.mjs +5 -6
  40. package/esm2022/button-type/src/button-type/button-type.module.mjs +6 -7
  41. package/esm2022/calendar/src/calendar.component.mjs +5 -6
  42. package/esm2022/calendar/src/calendar.module.mjs +6 -7
  43. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +6 -7
  44. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +5 -6
  45. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +6 -7
  46. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +5 -6
  47. package/esm2022/calendar-month/src/service/calendar-month.service.mjs +5 -6
  48. package/esm2022/card/src/card/card.component.mjs +5 -6
  49. package/esm2022/card/src/card-header/card-header.component.mjs +5 -6
  50. package/esm2022/card/src/card.module.mjs +6 -7
  51. package/esm2022/carousel/src/carousel/carousel.component.mjs +5 -6
  52. package/esm2022/carousel/src/carousel-image/carousel-image.directive.mjs +5 -6
  53. package/esm2022/carousel/src/carousel.module.mjs +6 -7
  54. package/esm2022/close/src/close.component.mjs +5 -6
  55. package/esm2022/close/src/close.module.mjs +6 -7
  56. package/esm2022/code-snippet/src/code-snippet.component.mjs +5 -6
  57. package/esm2022/code-snippet/src/code-snippet.module.mjs +6 -7
  58. package/esm2022/color-picker/color-picker.module.mjs +65 -0
  59. package/esm2022/color-picker/components/alpha-strip/alpha-strip.component.mjs +80 -0
  60. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +60 -0
  61. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +321 -0
  62. package/esm2022/color-picker/components/index.mjs +6 -0
  63. package/esm2022/color-picker/components/luminosity-strip/luminosity-strip.component.mjs +72 -0
  64. package/esm2022/color-picker/components/slider/slider.component.mjs +125 -0
  65. package/esm2022/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.mjs +130 -0
  66. package/esm2022/color-picker/directives/index.mjs +2 -0
  67. package/esm2022/color-picker/index.mjs +6 -0
  68. package/esm2022/color-picker/interfaces/hs.mjs +2 -0
  69. package/esm2022/color-picker/interfaces/hsl-color.mjs +2 -0
  70. package/esm2022/color-picker/interfaces/index.mjs +4 -0
  71. package/esm2022/color-picker/interfaces/rgb-color.mjs +2 -0
  72. package/esm2022/color-picker/mintplayer-ng-bootstrap-color-picker.mjs +5 -0
  73. package/esm2022/color-picker/types/html-color.mjs +2 -0
  74. package/esm2022/color-picker/types/index.mjs +2 -0
  75. package/esm2022/container/index.mjs +2 -0
  76. package/esm2022/container/mintplayer-ng-bootstrap-container.mjs +5 -0
  77. package/esm2022/container/src/container/container.component.mjs +11 -0
  78. package/esm2022/container/src/container.module.mjs +18 -0
  79. package/esm2022/container/src/index.mjs +3 -0
  80. package/esm2022/context-menu/src/context-menu.directive.mjs +5 -6
  81. package/esm2022/context-menu/src/context-menu.module.mjs +6 -7
  82. package/esm2022/copy/src/copy.directive.mjs +5 -6
  83. package/esm2022/copy/src/copy.module.mjs +6 -7
  84. package/esm2022/datatable/src/datatable/datatable.component.mjs +10 -11
  85. package/esm2022/datatable/src/datatable-column/datatable-column.directive.mjs +13 -9
  86. package/esm2022/datatable/src/datatable.module.mjs +7 -8
  87. package/esm2022/datatable/src/index.mjs +2 -2
  88. package/esm2022/datatable/src/row-template/row-template.directive.mjs +5 -6
  89. package/esm2022/datepicker/src/datepicker.component.mjs +5 -6
  90. package/esm2022/datepicker/src/datepicker.module.mjs +6 -7
  91. package/esm2022/dock/src/dock/dock.component.mjs +5 -6
  92. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +5 -6
  93. package/esm2022/dock/src/dock-panel/dock-panel.component.mjs +5 -6
  94. package/esm2022/dock/src/dock-panel-header/dock-panel-header.component.mjs +5 -6
  95. package/esm2022/dock/src/dock.module.mjs +6 -7
  96. package/esm2022/dock/src/services/dock/dock.service.mjs +5 -6
  97. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +5 -6
  98. package/esm2022/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +5 -6
  99. package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +5 -6
  100. package/esm2022/dropdown/src/dropdown.module.mjs +6 -7
  101. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +5 -6
  102. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +6 -7
  103. package/esm2022/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +5 -6
  104. package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +5 -6
  105. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +6 -7
  106. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +5 -6
  107. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +6 -7
  108. package/esm2022/enum/src/service/enum.service.mjs +5 -6
  109. package/esm2022/file-upload/src/component/file-upload.component.mjs +5 -6
  110. package/esm2022/file-upload/src/directive/file-upload-template.directive.mjs +5 -6
  111. package/esm2022/file-upload/src/file-upload.module.mjs +6 -7
  112. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +5 -6
  113. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +5 -6
  114. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +6 -7
  115. package/esm2022/for/src/for.directive.mjs +5 -6
  116. package/esm2022/for/src/for.module.mjs +6 -7
  117. package/esm2022/form/src/form/form.component.mjs +5 -6
  118. package/esm2022/form/src/form-control/form-control.directive.mjs +5 -6
  119. package/esm2022/form/src/form-group/form-group.directive.mjs +5 -6
  120. package/esm2022/form/src/form.module.mjs +6 -7
  121. package/esm2022/grid/src/component/grid.component.mjs +8 -8
  122. package/esm2022/grid/src/directives/col-form-label/col-form-label.directive.mjs +5 -6
  123. package/esm2022/grid/src/directives/column/column.directive.mjs +5 -6
  124. package/esm2022/grid/src/directives/row/row.directive.mjs +5 -6
  125. package/esm2022/grid/src/grid.module.mjs +8 -8
  126. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +5 -6
  127. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +6 -7
  128. package/esm2022/icon/src/icon.component.mjs +5 -6
  129. package/esm2022/icon/src/icon.module.mjs +6 -7
  130. package/esm2022/input-group/src/input-group/input-group.component.mjs +5 -6
  131. package/esm2022/input-group/src/input-group.module.mjs +6 -7
  132. package/esm2022/instance-of/src/directives/instanceof-case.directive.mjs +5 -6
  133. package/esm2022/instance-of/src/directives/instanceof-default.directive.mjs +5 -6
  134. package/esm2022/instance-of/src/directives/instanceof.directive.mjs +5 -6
  135. package/esm2022/instance-of/src/instance-of.module.mjs +6 -7
  136. package/esm2022/instance-of/src/pipes/instance-of.pipe.mjs +5 -6
  137. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +5 -6
  138. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +6 -7
  139. package/esm2022/let/directive/let.directive.mjs +5 -6
  140. package/esm2022/let/let.module.mjs +6 -7
  141. package/esm2022/lib/pipes/font-color/font-color.module.mjs +6 -7
  142. package/esm2022/lib/pipes/font-color/font-color.pipe.mjs +5 -6
  143. package/esm2022/lib/pipes/in-list/in-list.module.mjs +6 -7
  144. package/esm2022/lib/pipes/in-list/in-list.pipe.mjs +5 -6
  145. package/esm2022/lib/pipes/uc-first/uc-first.module.mjs +6 -7
  146. package/esm2022/lib/pipes/uc-first/uc-first.pipe.mjs +5 -6
  147. package/esm2022/list-group/src/list-group/list-group.component.mjs +5 -6
  148. package/esm2022/list-group/src/list-group-item/list-group-item.component.mjs +5 -6
  149. package/esm2022/list-group/src/list-group.module.mjs +6 -7
  150. package/esm2022/markdown/src/bold/bold.pipe.mjs +5 -6
  151. package/esm2022/markdown/src/italic/italic.pipe.mjs +5 -6
  152. package/esm2022/markdown/src/markdown.module.mjs +6 -7
  153. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +5 -6
  154. package/esm2022/markdown/src/underline/underline.pipe.mjs +5 -6
  155. package/esm2022/modal/src/components/modal/modal.component.mjs +5 -6
  156. package/esm2022/modal/src/components/modal-host/modal-host.component.mjs +5 -6
  157. package/esm2022/modal/src/directives/modal/modal.directive.mjs +5 -6
  158. package/esm2022/modal/src/directives/modal-body/modal-body.directive.mjs +5 -6
  159. package/esm2022/modal/src/directives/modal-close/modal-close.directive.mjs +5 -6
  160. package/esm2022/modal/src/directives/modal-footer/modal-footer.directive.mjs +5 -6
  161. package/esm2022/modal/src/directives/modal-header/modal-header.directive.mjs +5 -6
  162. package/esm2022/modal/src/modal.module.mjs +6 -7
  163. package/esm2022/multiselect/src/component/multiselect.component.mjs +5 -6
  164. package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +5 -6
  165. package/esm2022/multiselect/src/directives/footer-template/footer-template.directive.mjs +5 -6
  166. package/esm2022/multiselect/src/directives/header-template/header-template.directive.mjs +5 -6
  167. package/esm2022/multiselect/src/multiselect.module.mjs +6 -7
  168. package/esm2022/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +5 -6
  169. package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +5 -6
  170. package/esm2022/navbar/src/nav-link/nav-link.directive.mjs +5 -6
  171. package/esm2022/navbar/src/navbar/navbar.component.mjs +9 -9
  172. package/esm2022/navbar/src/navbar-brand/navbar-brand.component.mjs +5 -6
  173. package/esm2022/navbar/src/navbar-content/navbar-content.directive.mjs +5 -6
  174. package/esm2022/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +5 -6
  175. package/esm2022/navbar/src/navbar-item/navbar-item.component.mjs +5 -6
  176. package/esm2022/navbar/src/navbar-nav/navbar-nav.component.mjs +5 -6
  177. package/esm2022/navbar/src/navbar-toggler/navbar-toggler.component.mjs +5 -6
  178. package/esm2022/navbar/src/navbar.module.mjs +11 -8
  179. package/esm2022/navigation-lock/src/directive/navigation-lock.directive.mjs +5 -6
  180. package/esm2022/navigation-lock/src/guard/navigation-lock.guard.mjs +5 -6
  181. package/esm2022/navigation-lock/src/navigation-lock.module.mjs +6 -7
  182. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +5 -6
  183. package/esm2022/no-noscript/src/no-noscript.module.mjs +6 -7
  184. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +5 -6
  185. package/esm2022/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +5 -6
  186. package/esm2022/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +5 -6
  187. package/esm2022/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +5 -6
  188. package/esm2022/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +5 -6
  189. package/esm2022/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +5 -6
  190. package/esm2022/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +5 -6
  191. package/esm2022/offcanvas/src/offcanvas.module.mjs +6 -7
  192. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +5 -6
  193. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +6 -7
  194. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +5 -6
  195. package/esm2022/pagination/src/pagination.module.mjs +6 -7
  196. package/esm2022/placeholder/src/placeholder/placeholder.component.mjs +5 -6
  197. package/esm2022/placeholder/src/placeholder-field/placeholder-field.directive.mjs +5 -6
  198. package/esm2022/placeholder/src/placeholder.module.mjs +6 -7
  199. package/esm2022/popover/src/component/popover.component.mjs +5 -6
  200. package/esm2022/popover/src/directives/popover/popover.directive.mjs +5 -6
  201. package/esm2022/popover/src/directives/popover-body/popover-body.directive.mjs +5 -6
  202. package/esm2022/popover/src/directives/popover-header/popover-header.directive.mjs +5 -6
  203. package/esm2022/popover/src/popover.module.mjs +6 -7
  204. package/esm2022/progress-bar/src/progress/progress.component.mjs +5 -6
  205. package/esm2022/progress-bar/src/progress-bar/progress-bar.component.mjs +5 -6
  206. package/esm2022/progress-bar/src/progress-bar.module.mjs +6 -7
  207. package/esm2022/range/src/component/range.component.mjs +5 -6
  208. package/esm2022/range/src/range.module.mjs +6 -7
  209. package/esm2022/range/src/value-accessor/range-value-accessor.mjs +5 -6
  210. package/esm2022/rating/src/component/rating.component.mjs +5 -6
  211. package/esm2022/rating/src/rating.module.mjs +6 -7
  212. package/esm2022/resizable/src/resizable/resizable.component.mjs +5 -6
  213. package/esm2022/resizable/src/resizable.module.mjs +6 -7
  214. package/esm2022/resizable/src/resize-glyph/resize-glyph.directive.mjs +5 -6
  215. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +5 -6
  216. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +5 -6
  217. package/esm2022/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +5 -6
  218. package/esm2022/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +5 -6
  219. package/esm2022/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +5 -6
  220. package/esm2022/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +5 -6
  221. package/esm2022/scheduler/src/scheduler.module.mjs +6 -7
  222. package/esm2022/scheduler/src/services/timeline/timeline.service.mjs +5 -6
  223. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +5 -6
  224. package/esm2022/scrollspy/src/directives/scrollspy.directive.mjs +5 -6
  225. package/esm2022/scrollspy/src/scrollspy.module.mjs +6 -7
  226. package/esm2022/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +5 -6
  227. package/esm2022/select/src/component/select.component.mjs +5 -6
  228. package/esm2022/select/src/select.module.mjs +6 -7
  229. package/esm2022/select/src/value-accessors/select-value-accessor.mjs +9 -11
  230. package/esm2022/select2/src/component/select2.component.mjs +6 -7
  231. package/esm2022/select2/src/directive/index.mjs +3 -0
  232. package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +28 -0
  233. package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +28 -0
  234. package/esm2022/select2/src/index.mjs +3 -2
  235. package/esm2022/select2/src/interfaces/has-id.mjs +2 -0
  236. package/esm2022/select2/src/interfaces/index.mjs +2 -0
  237. package/esm2022/select2/src/select2.module.mjs +19 -15
  238. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +5 -6
  239. package/esm2022/signature-pad/src/signature-pad.module.mjs +6 -7
  240. package/esm2022/spinner/src/spinner.component.mjs +5 -6
  241. package/esm2022/spinner/src/spinner.module.mjs +6 -7
  242. package/esm2022/splitter/src/element-at/element-at.pipe.mjs +5 -6
  243. package/esm2022/splitter/src/split-panel/split-panel.component.mjs +5 -6
  244. package/esm2022/splitter/src/splitter/splitter.component.mjs +5 -6
  245. package/esm2022/splitter/src/splitter.module.mjs +6 -7
  246. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +5 -6
  247. package/esm2022/tab-control/src/tab-control.module.mjs +6 -7
  248. package/esm2022/tab-control/src/tab-page/tab-page.component.mjs +5 -6
  249. package/esm2022/tab-control/src/tab-page-header/tab-page-header.directive.mjs +5 -6
  250. package/esm2022/table/src/component/table.component.mjs +5 -6
  251. package/esm2022/table/src/table.module.mjs +6 -7
  252. package/esm2022/timepicker/src/timepicker.component.mjs +5 -6
  253. package/esm2022/timepicker/src/timepicker.module.mjs +6 -7
  254. package/esm2022/toast/src/components/toast/toast.component.mjs +5 -6
  255. package/esm2022/toast/src/components/toast-body/toast-body.component.mjs +5 -6
  256. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +5 -6
  257. package/esm2022/toast/src/components/toast-header/toast-header.component.mjs +5 -6
  258. package/esm2022/toast/src/directives/toast-close/toast-close.directive.mjs +5 -6
  259. package/esm2022/toast/src/pipes/add-properties.pipe.mjs +5 -6
  260. package/esm2022/toast/src/services/toast/toast.service.mjs +5 -6
  261. package/esm2022/toast/src/toast.module.mjs +6 -7
  262. package/esm2022/toggle-button/src/component/toggle-button.component.mjs +5 -6
  263. package/esm2022/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +5 -6
  264. package/esm2022/toggle-button/src/toggle-button.module.mjs +6 -7
  265. package/esm2022/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +5 -6
  266. package/esm2022/tooltip/src/component/tooltip.component.mjs +5 -6
  267. package/esm2022/tooltip/src/directive/tooltip.directive.mjs +5 -6
  268. package/esm2022/tooltip/src/tooltip.module.mjs +6 -7
  269. package/esm2022/treeview/src/treeview/treeview.component.mjs +5 -6
  270. package/esm2022/treeview/src/treeview-item/treeview-item.component.mjs +5 -6
  271. package/esm2022/treeview/src/treeview.module.mjs +6 -7
  272. package/esm2022/typeahead/src/typeahead.component.mjs +5 -6
  273. package/esm2022/typeahead/src/typeahead.module.mjs +6 -7
  274. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +5 -6
  275. package/esm2022/user-agent/src/user-agent.module.mjs +6 -7
  276. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +13 -13
  277. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  278. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +10 -10
  279. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  280. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +4 -4
  281. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  282. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +7 -7
  283. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -10
  285. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  286. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +7 -7
  287. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  289. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  290. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  291. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  292. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +7 -7
  293. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  294. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +10 -10
  295. package/fesm2022/mintplayer-ng-bootstrap-card.mjs.map +1 -1
  296. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +10 -10
  297. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +7 -7
  299. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  300. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  301. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  302. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +819 -0
  303. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -0
  304. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +33 -0
  305. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -0
  306. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  307. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  308. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +7 -7
  309. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  310. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +25 -20
  311. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  312. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  313. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  314. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +19 -19
  315. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  316. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  317. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  318. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  319. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  320. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +13 -13
  321. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  322. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
  323. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  324. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  325. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs.map +1 -1
  326. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +13 -13
  327. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  328. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +7 -7
  329. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  330. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +7 -7
  331. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  332. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +13 -13
  333. package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
  334. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +21 -19
  335. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  336. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +7 -7
  337. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  338. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs +7 -7
  339. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs.map +1 -1
  340. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  341. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  342. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +16 -16
  343. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  344. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +7 -7
  345. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +1 -1
  346. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +7 -7
  347. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  348. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +10 -10
  349. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  350. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +16 -16
  351. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  352. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +25 -25
  353. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  354. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -16
  355. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  356. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +44 -39
  357. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  358. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +10 -10
  359. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  360. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +7 -7
  361. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  362. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +25 -25
  363. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  364. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +7 -7
  365. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  366. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +7 -7
  367. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  368. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +10 -10
  369. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  370. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +16 -16
  371. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  372. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +10 -10
  373. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  374. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +10 -10
  375. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  376. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +7 -7
  377. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  378. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +10 -10
  379. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  380. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +25 -25
  381. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  382. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +13 -13
  383. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  384. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +13 -13
  385. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  386. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +55 -18
  387. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  388. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
  389. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  390. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  391. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  392. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +13 -13
  393. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  394. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +13 -13
  395. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  396. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +7 -7
  397. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  398. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +7 -7
  399. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  400. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +25 -25
  401. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  402. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +13 -13
  403. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  404. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
  405. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  406. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +10 -10
  407. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  408. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +7 -7
  409. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  410. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +7 -7
  411. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  412. package/fesm2022/mintplayer-ng-bootstrap.mjs +21 -21
  413. package/fesm2022/mintplayer-ng-bootstrap.mjs.map +1 -1
  414. package/grid/src/grid.module.d.ts +2 -1
  415. package/navbar/src/navbar.module.d.ts +6 -5
  416. package/package.json +13 -1
  417. package/select2/src/component/select2.component.d.ts +9 -7
  418. package/select2/src/directive/index.d.ts +2 -0
  419. package/select2/src/directive/item-template/item-template.directive.d.ts +15 -0
  420. package/select2/src/directive/suggestion-template/suggestion-template.directive.d.ts +15 -0
  421. package/select2/src/index.d.ts +2 -1
  422. package/select2/src/interfaces/has-id.d.ts +3 -0
  423. package/select2/src/interfaces/index.d.ts +1 -0
  424. package/select2/src/select2.module.d.ts +9 -8
  425. package/datatable/src/datatable-column/datatable-column-metadata.d.ts +0 -4
  426. package/datatable/src/datatable-column/index.d.ts +0 -2
  427. package/esm2022/datatable/src/datatable-column/datatable-column-metadata.mjs +0 -2
  428. package/esm2022/datatable/src/datatable-column/index.mjs +0 -3
  429. package/esm2022/select2/src/directive/item-template.directive.mjs +0 -20
  430. package/select2/src/directive/item-template.directive.d.ts +0 -9
@@ -0,0 +1,80 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, ElementRef } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, map } from 'rxjs';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../slider/slider.component";
6
+ import * as i2 from "@angular/common";
7
+ export class BsAlphaStripComponent {
8
+ constructor() {
9
+ //#region HS
10
+ this.hs$ = new BehaviorSubject({ hue: 0, saturation: 0 });
11
+ //#endregion
12
+ //#region Luminosity
13
+ this.luminosity$ = new BehaviorSubject(0.5);
14
+ //#endregion
15
+ //#region Alpha
16
+ this.alpha$ = new BehaviorSubject(1);
17
+ this.alphaChange = new EventEmitter();
18
+ //#endregion
19
+ this.canvasContext = null;
20
+ combineLatest([this.hs$, this.luminosity$]).pipe(takeUntilDestroyed()).subscribe(([hs, luminosity]) => {
21
+ setTimeout(() => {
22
+ if (this.canvasContext) {
23
+ const width = this.canvas.nativeElement.width, height = this.canvas.nativeElement.height;
24
+ this.canvasContext.clearRect(0, 0, width, height);
25
+ this.canvasContext.save();
26
+ const gradient = this.canvasContext.createLinearGradient(0, 0, width, 0);
27
+ gradient.addColorStop(0, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 0)`);
28
+ gradient.addColorStop(1, `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, 1)`);
29
+ this.canvasContext.fillStyle = gradient;
30
+ this.canvasContext.fillRect(0, 0, width, height);
31
+ }
32
+ });
33
+ });
34
+ this.resultBackground$ = combineLatest([this.hs$, this.luminosity$, this.alpha$])
35
+ .pipe(map(([hs, luminosity, alpha]) => {
36
+ return `hsla(${hs.hue}, ${hs.saturation * 100}%, ${luminosity * 100}%, ${alpha})`;
37
+ }));
38
+ this.alpha$.pipe(takeUntilDestroyed())
39
+ .subscribe((alpha) => this.alphaChange.emit(alpha));
40
+ }
41
+ get hs() {
42
+ return this.hs$.value;
43
+ }
44
+ set hs(value) {
45
+ this.hs$.next(value);
46
+ }
47
+ get luminosity() {
48
+ return this.luminosity$.value;
49
+ }
50
+ set luminosity(value) {
51
+ this.luminosity$.next(value);
52
+ }
53
+ get alpha() {
54
+ return this.alpha$.value;
55
+ }
56
+ set alpha(value) {
57
+ this.alpha$.next(value);
58
+ }
59
+ ngAfterViewInit() {
60
+ this.canvasContext = this.canvas.nativeElement.getContext('2d', { willReadFrequently: true });
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsAlphaStripComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsAlphaStripComponent, selector: "bs-alpha-strip", inputs: { hs: "hs", luminosity: "luminosity", alpha: "alpha" }, outputs: { alphaChange: "alphaChange" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["track"], descendants: true }], ngImport: i0, template: "<bs-slider [value]=\"(alpha$ | async)!\" (valueChange)=\"alphaChange.emit($event)\">\n <canvas bsTrack class=\" track position-absolute w-100\" #track></canvas>\n\n <!-- [style.background]=\"resultBackground$ | async\" -->\n <div bsThumb [style.background]=\"resultBackground$ | async\"></div>\n</bs-slider>", styles: [".track{background-image:linear-gradient(45deg,#C0C0C0 25%,transparent 25%),linear-gradient(-45deg,#C0C0C0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#C0C0C0 75%),linear-gradient(-45deg,transparent 75%,#C0C0C0 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}\n"], dependencies: [{ kind: "component", type: i1.BsSliderComponent, selector: "bs-slider", inputs: ["value"], outputs: ["valueChange"] }, { kind: "directive", type: i1.BsThumbDirective, selector: "[bsThumb]" }, { kind: "directive", type: i1.BsTrackDirective, selector: "[bsTrack]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsAlphaStripComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'bs-alpha-strip', template: "<bs-slider [value]=\"(alpha$ | async)!\" (valueChange)=\"alphaChange.emit($event)\">\n <canvas bsTrack class=\" track position-absolute w-100\" #track></canvas>\n\n <!-- [style.background]=\"resultBackground$ | async\" -->\n <div bsThumb [style.background]=\"resultBackground$ | async\"></div>\n</bs-slider>", styles: [".track{background-image:linear-gradient(45deg,#C0C0C0 25%,transparent 25%),linear-gradient(-45deg,#C0C0C0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#C0C0C0 75%),linear-gradient(-45deg,transparent 75%,#C0C0C0 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}\n"] }]
68
+ }], ctorParameters: function () { return []; }, propDecorators: { hs: [{
69
+ type: Input
70
+ }], luminosity: [{
71
+ type: Input
72
+ }], alphaChange: [{
73
+ type: Output
74
+ }], alpha: [{
75
+ type: Input
76
+ }], canvas: [{
77
+ type: ViewChild,
78
+ args: ['track']
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGEtc3RyaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jb2xvci1waWNrZXIvY29tcG9uZW50cy9hbHBoYS1zdHJpcC9hbHBoYS1zdHJpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NvbG9yLXBpY2tlci9jb21wb25lbnRzL2FscGhhLXN0cmlwL2FscGhhLXN0cmlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEM7UUEwQkEsWUFBWTtRQUNaLFFBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFPekQsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEdBQUcsQ0FBQyxDQUFDO1FBTy9DLFlBQVk7UUFDWixlQUFlO1FBQ2YsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU9uRCxZQUFZO1FBRUosa0JBQWEsR0FBb0MsSUFBSSxDQUFDO1FBdEQ1RCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxF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QUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBS0QsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQzs4R0E3RFUscUJBQXFCO2tHQUFyQixxQkFBcUIsZ1FDVmxDLDhUQUtZOzsyRkRLQyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzBFQXFDTixFQUFFO3NCQUFyQixLQUFLO2dCQVNjLFVBQVU7c0JBQTdCLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFJYSxLQUFLO3NCQUF4QixLQUFLO2dCQU1jLE1BQU07c0JBQXpCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIUyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaHMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1hbHBoYS1zdHJpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbHBoYS1zdHJpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FscGhhLXN0cmlwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNBbHBoYVN0cmlwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5ocyQsIHRoaXMubHVtaW5vc2l0eSRdKS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKFtocywgbHVtaW5vc2l0eV0pID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYW52YXNDb250ZXh0KSB7XG4gICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LndpZHRoLCBoZWlnaHQgPSB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmhlaWdodDtcbiAgICAgICAgICB0aGlzLmNhbnZhc0NvbnRleHQuY2xlYXJSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgIHRoaXMuY2FudmFzQ29udGV4dC5zYXZlKCk7XG4gICAgICAgICAgXG4gICAgICAgICAgY29uc3QgZ3JhZGllbnQgPSB0aGlzLmNhbnZhc0NvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgd2lkdGgsIDApO1xuICAgICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCBgaHNsYSgke2hzLmh1ZX0sICR7aHMuc2F0dXJhdGlvbiAqIDEwMH0lLCAke2x1bWlub3NpdHkgKiAxMDB9JSwgMClgKTtcbiAgICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgYGhzbGEoJHtocy5odWV9LCAke2hzLnNhdHVyYXRpb24gKiAxMDB9JSwgJHtsdW1pbm9zaXR5ICogMTAwfSUsIDEpYCk7XG4gICAgICAgICAgdGhpcy5jYW52YXNDb250ZXh0LmZpbGxTdHlsZSA9IGdyYWRpZW50O1xuICAgICAgICAgIHRoaXMuY2FudmFzQ29udGV4dC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc3VsdEJhY2tncm91bmQkID0gY29tYmluZUxhdGVzdChbdGhpcy5ocyQsIHRoaXMubHVtaW5vc2l0eSQsIHRoaXMuYWxwaGEkXSlcbiAgICAgIC5waXBlKG1hcCgoW2hzLCBsdW1pbm9zaXR5LCBhbHBoYV0pID0+IHtcbiAgICAgICAgcmV0dXJuIGBoc2xhKCR7aHMuaHVlfSwgJHtocy5zYXR1cmF0aW9uICogMTAwfSUsICR7bHVtaW5vc2l0eSAqIDEwMH0lLCAke2FscGhhfSlgO1xuICAgICAgfSkpO1xuXG4gICAgdGhpcy5hbHBoYSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFscGhhKSA9PiB0aGlzLmFscGhhQ2hhbmdlLmVtaXQoYWxwaGEpKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBIU1xuICBocyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhTPih7IGh1ZTogMCwgc2F0dXJhdGlvbjogMCB9KTtcbiAgcHVibGljIGdldCBocygpIHtcbiAgICByZXR1cm4gdGhpcy5ocyQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBocyh2YWx1ZTogSFMpIHtcbiAgICB0aGlzLmhzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIEx1bWlub3NpdHlcbiAgbHVtaW5vc2l0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMC41KTtcbiAgcHVibGljIGdldCBsdW1pbm9zaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmx1bWlub3NpdHkkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbHVtaW5vc2l0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5sdW1pbm9zaXR5JC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIEFscGhhXG4gIGFscGhhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgQE91dHB1dCgpIGFscGhhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHB1YmxpYyBnZXQgYWxwaGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxwaGEkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgYWxwaGEodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuYWxwaGEkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICBcbiAgcHJpdmF0ZSBjYW52YXNDb250ZXh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgndHJhY2snKSBjYW52YXMhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY2FudmFzQ29udGV4dCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnLCB7IHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlc3VsdEJhY2tncm91bmQkOiBPYnNlcnZhYmxlPHN0cmluZz47XG59XG4iLCI8YnMtc2xpZGVyIFt2YWx1ZV09XCIoYWxwaGEkIHwgYXN5bmMpIVwiICh2YWx1ZUNoYW5nZSk9XCJhbHBoYUNoYW5nZS5lbWl0KCRldmVudClcIj5cbiAgICA8Y2FudmFzIGJzVHJhY2sgY2xhc3M9XCIgdHJhY2sgcG9zaXRpb24tYWJzb2x1dGUgdy0xMDBcIiAjdHJhY2s+PC9jYW52YXM+XG5cbiAgICA8IS0tIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInJlc3VsdEJhY2tncm91bmQkIHwgYXN5bmNcIiAtLT5cbiAgICA8ZGl2IGJzVGh1bWIgW3N0eWxlLmJhY2tncm91bmRdPVwicmVzdWx0QmFja2dyb3VuZCQgfCBhc3luY1wiPjwvZGl2PlxuPC9icy1zbGlkZXI+Il19
@@ -0,0 +1,60 @@
1
+ import { Component, Input, ViewChild, EventEmitter, Output } from "@angular/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import { BsColorWheelComponent } from "../color-wheel/color-wheel.component";
4
+ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@mintplayer/ng-bootstrap/let";
8
+ import * as i3 from "../color-wheel/color-wheel.component";
9
+ import * as i4 from "../luminosity-strip/luminosity-strip.component";
10
+ import * as i5 from "../alpha-strip/alpha-strip.component";
11
+ export class BsColorPickerComponent {
12
+ constructor() {
13
+ this.width$ = new BehaviorSubject(150);
14
+ this.height$ = new BehaviorSubject(150);
15
+ this.disabled$ = new BehaviorSubject(false);
16
+ this.allowAlpha$ = new BehaviorSubject(true);
17
+ this.hs$ = new BehaviorSubject({ hue: 0, saturation: 0 });
18
+ this.luminosity$ = new BehaviorSubject(0);
19
+ //#region Alpha
20
+ this.alpha$ = new BehaviorSubject(1);
21
+ this.alphaChange = new EventEmitter();
22
+ this.alpha$.pipe(takeUntilDestroyed())
23
+ .subscribe((alpha) => this.alphaChange.emit(alpha));
24
+ }
25
+ set width(value) {
26
+ this.width$.next(value);
27
+ }
28
+ set height(value) {
29
+ this.height$.next(value);
30
+ }
31
+ set allowAlpha(value) {
32
+ this.allowAlpha$.next(value);
33
+ }
34
+ get alpha() {
35
+ return this.alpha$.value;
36
+ }
37
+ set alpha(value) {
38
+ this.alpha$.next(value);
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsColorPickerComponent, selector: "bs-color-picker", inputs: { width: "width", height: "height", allowAlpha: "allowAlpha", alpha: "alpha" }, outputs: { alphaChange: "alphaChange" }, viewQueries: [{ propertyName: "colorWheel", first: true, predicate: ["wheel"], descendants: true }], ngImport: i0, template: "<ng-container *bsLet=\"(disabled$ | async)!; let letDisabled\">\n <ng-container *bsLet=\"(hs$ | async)!; let letHS\">\n <ng-container *bsLet=\"(luminosity$ | async)!; let letLuminosity\">\n <ng-container *bsLet=\"(alpha$ | async)!; let letAlpha\">\n <bs-color-wheel [hs]=\"letHS\" (hsChange)=\"hs$.next($event)\" [luminosity]=\"letLuminosity\" #wheel></bs-color-wheel>\n <bs-luminosity-strip [hs]=\"letHS\" [luminosity]=\"letLuminosity\" (luminosityChange)=\"luminosity$.next($event)\" class=\"d-block mt-2\" #strip></bs-luminosity-strip>\n <bs-alpha-strip *ngIf=\"allowAlpha$ | async\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" [alpha]=\"letAlpha\" (alphaChange)=\"alpha$.next($event)\" class=\"d-block mt-2\" #alpha></bs-alpha-strip>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "component", type: i3.BsColorWheelComponent, selector: "bs-color-wheel", inputs: ["diameterRatio", "width", "height", "hs", "luminosity"], outputs: ["hsChange"] }, { kind: "component", type: i4.BsLuminosityStripComponent, selector: "bs-luminosity-strip", inputs: ["hs", "luminosity"], outputs: ["luminosityChange"] }, { kind: "component", type: i5.BsAlphaStripComponent, selector: "bs-alpha-strip", inputs: ["hs", "luminosity", "alpha"], outputs: ["alphaChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsColorPickerComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'bs-color-picker', template: "<ng-container *bsLet=\"(disabled$ | async)!; let letDisabled\">\n <ng-container *bsLet=\"(hs$ | async)!; let letHS\">\n <ng-container *bsLet=\"(luminosity$ | async)!; let letLuminosity\">\n <ng-container *bsLet=\"(alpha$ | async)!; let letAlpha\">\n <bs-color-wheel [hs]=\"letHS\" (hsChange)=\"hs$.next($event)\" [luminosity]=\"letLuminosity\" #wheel></bs-color-wheel>\n <bs-luminosity-strip [hs]=\"letHS\" [luminosity]=\"letLuminosity\" (luminosityChange)=\"luminosity$.next($event)\" class=\"d-block mt-2\" #strip></bs-luminosity-strip>\n <bs-alpha-strip *ngIf=\"allowAlpha$ | async\" [hs]=\"letHS\" [luminosity]=\"letLuminosity\" [alpha]=\"letAlpha\" (alphaChange)=\"alpha$.next($event)\" class=\"d-block mt-2\" #alpha></bs-alpha-strip>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>" }]
46
+ }], ctorParameters: function () { return []; }, propDecorators: { colorWheel: [{
47
+ type: ViewChild,
48
+ args: ['wheel']
49
+ }], width: [{
50
+ type: Input
51
+ }], height: [{
52
+ type: Input
53
+ }], allowAlpha: [{
54
+ type: Input
55
+ }], alphaChange: [{
56
+ type: Output
57
+ }], alpha: [{
58
+ type: Input
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvY29sb3ItcGlja2VyL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NvbG9yLXBpY2tlci9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQU9oRSxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDO1FBZ0JBLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsR0FBRyxDQUFDLENBQUM7UUFDM0MsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFakQsUUFBRyxHQUFHLElBQUksZUFBZSxDQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTdDLGVBQWU7UUFDZixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBekJqRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBR0QsSUFBYSxLQUFLLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBYSxNQUFNLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBYSxVQUFVLENBQUMsS0FBYztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBYUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBYSxLQUFLLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQWxDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw2UkNYbkMsbTRCQVVlOzsyRkRDRixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQVdQLFVBQVU7c0JBQTdCLFNBQVM7dUJBQUMsT0FBTztnQkFDTCxLQUFLO3NCQUFqQixLQUFLO2dCQUdPLE1BQU07c0JBQWxCLEtBQUs7Z0JBR08sVUFBVTtzQkFBdEIsS0FBSztnQkFjSSxXQUFXO3NCQUFwQixNQUFNO2dCQUlNLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBIUyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2hzXCI7XG5pbXBvcnQgeyBCc0NvbG9yV2hlZWxDb21wb25lbnQgfSBmcm9tIFwiLi4vY29sb3Itd2hlZWwvY29sb3Itd2hlZWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtY29sb3ItcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzQ29sb3JQaWNrZXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYWxwaGEkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChhbHBoYSkgPT4gdGhpcy5hbHBoYUNoYW5nZS5lbWl0KGFscGhhKSk7XG4gIH1cblxuICBAVmlld0NoaWxkKCd3aGVlbCcpIGNvbG9yV2hlZWwhOiBCc0NvbG9yV2hlZWxDb21wb25lbnQ7XG4gIEBJbnB1dCgpIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy53aWR0aCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5oZWlnaHQkLm5leHQodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHNldCBhbGxvd0FscGhhKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hbGxvd0FscGhhJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBcbiAgd2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDE1MCk7XG4gIGhlaWdodCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMTUwKTtcbiAgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGFsbG93QWxwaGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBocyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhTPih7IGh1ZTogMCwgc2F0dXJhdGlvbjogMCB9KTtcbiAgbHVtaW5vc2l0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgLy8jcmVnaW9uIEFscGhhXG4gIGFscGhhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgQE91dHB1dCgpIGFscGhhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIGdldCBhbHBoYSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbHBoYSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IGFscGhhKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmFscGhhJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxuZy1jb250YWluZXIgKmJzTGV0PVwiKGRpc2FibGVkJCB8IGFzeW5jKSE7IGxldCBsZXREaXNhYmxlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKmJzTGV0PVwiKGhzJCB8IGFzeW5jKSE7IGxldCBsZXRIU1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihsdW1pbm9zaXR5JCB8IGFzeW5jKSE7IGxldCBsZXRMdW1pbm9zaXR5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihhbHBoYSQgfCBhc3luYykhOyBsZXQgbGV0QWxwaGFcIj5cbiAgICAgICAgICAgICAgICA8YnMtY29sb3Itd2hlZWwgW2hzXT1cImxldEhTXCIgKGhzQ2hhbmdlKT1cImhzJC5uZXh0KCRldmVudClcIiBbbHVtaW5vc2l0eV09XCJsZXRMdW1pbm9zaXR5XCIgI3doZWVsPjwvYnMtY29sb3Itd2hlZWw+XG4gICAgICAgICAgICAgICAgPGJzLWx1bWlub3NpdHktc3RyaXAgW2hzXT1cImxldEhTXCIgW2x1bWlub3NpdHldPVwibGV0THVtaW5vc2l0eVwiIChsdW1pbm9zaXR5Q2hhbmdlKT1cImx1bWlub3NpdHkkLm5leHQoJGV2ZW50KVwiIGNsYXNzPVwiZC1ibG9jayBtdC0yXCIgI3N0cmlwPjwvYnMtbHVtaW5vc2l0eS1zdHJpcD5cbiAgICAgICAgICAgICAgICA8YnMtYWxwaGEtc3RyaXAgKm5nSWY9XCJhbGxvd0FscGhhJCB8IGFzeW5jXCIgW2hzXT1cImxldEhTXCIgW2x1bWlub3NpdHldPVwibGV0THVtaW5vc2l0eVwiIFthbHBoYV09XCJsZXRBbHBoYVwiIChhbHBoYUNoYW5nZSk9XCJhbHBoYSQubmV4dCgkZXZlbnQpXCIgY2xhc3M9XCJkLWJsb2NrIG10LTJcIiAjYWxwaGE+PC9icy1hbHBoYS1zdHJpcD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -0,0 +1,321 @@
1
+ import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, debounceTime, map, take, switchMap } from 'rxjs';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class BsColorWheelComponent {
7
+ constructor(element) {
8
+ // this.resizeObserver = new ResizeObserver((entries) => {
9
+ // for (const entry of entries) {
10
+ // if (entry.target === this.element.nativeElement) {
11
+ // console.log(entry.contentRect);
12
+ // this.width$.next(entry.contentRect.width);
13
+ // this.height$.next(entry.contentRect.height);
14
+ // break;
15
+ // }
16
+ // }
17
+ // });
18
+ this.element = element;
19
+ this.positionRelative = true;
20
+ //#region Hue/Luminosity
21
+ this.hs$ = new BehaviorSubject({ hue: 0, saturation: 0 });
22
+ this.hsChange = new EventEmitter();
23
+ //#endregion
24
+ //#region Luminosity
25
+ this.luminosity$ = new BehaviorSubject(0);
26
+ //#endregion
27
+ // private resizeObserver: ResizeObserver;
28
+ this.canvasContext = null;
29
+ this.isPointerDown = false;
30
+ this.width$ = new BehaviorSubject(150);
31
+ this.height$ = new BehaviorSubject(150);
32
+ this.diameterRatio$ = new BehaviorSubject(0);
33
+ this.disabled$ = new BehaviorSubject(false);
34
+ this.viewInited$ = new BehaviorSubject(false);
35
+ this.squareSize$ = combineLatest([this.width$, this.height$])
36
+ .pipe(map(([width, height]) => {
37
+ if ((width === null) || (height === null)) {
38
+ return null;
39
+ }
40
+ const squareSize = Math.min(width, height);
41
+ return squareSize;
42
+ }));
43
+ this.shiftX$ = combineLatest([this.width$, this.height$])
44
+ .pipe(map(([width, height]) => {
45
+ if ((width === null) || (height === null)) {
46
+ return null;
47
+ }
48
+ else if (width < height) {
49
+ return 0;
50
+ }
51
+ else {
52
+ return (width - height) / 2;
53
+ }
54
+ }));
55
+ this.shiftY$ = combineLatest([this.width$, this.height$])
56
+ .pipe(map(([width, height]) => {
57
+ if ((width === null) || (height === null)) {
58
+ return null;
59
+ }
60
+ else if (width < height) {
61
+ return (height - width) / 2;
62
+ }
63
+ else {
64
+ return 0;
65
+ }
66
+ }));
67
+ this.innerRadius$ = combineLatest([this.squareSize$, this.diameterRatio$])
68
+ .pipe(map(([squareSize, diameterRatio]) => {
69
+ if (squareSize) {
70
+ return squareSize / 2 * diameterRatio;
71
+ }
72
+ else {
73
+ return 0;
74
+ }
75
+ }));
76
+ this.outerRadius$ = combineLatest([this.squareSize$, this.diameterRatio$])
77
+ .pipe(map(([squareSize, diameterRatio]) => {
78
+ if (squareSize) {
79
+ return squareSize / 2;
80
+ }
81
+ else {
82
+ return 150;
83
+ }
84
+ }));
85
+ combineLatest([this.innerRadius$, this.outerRadius$, this.shiftX$, this.shiftY$])
86
+ .pipe(debounceTime(20), takeUntilDestroyed())
87
+ .subscribe(([innerRadius, outerRadius, shiftX, shiftY]) => {
88
+ if (this.canvasContext && (innerRadius !== null) && (outerRadius !== null) && (shiftX !== null) && (shiftY !== null)) {
89
+ this.canvasContext.clearRect(0, 0, this.canvas.nativeElement.width, this.canvas.nativeElement.height);
90
+ this.canvasContext.save();
91
+ this.canvasContext.translate(shiftX + outerRadius, shiftY + outerRadius);
92
+ for (let x = 0; x < 360; x++) {
93
+ this.canvasContext.rotate(1 * Math.PI / 180);
94
+ const gradient = this.canvasContext.createLinearGradient(innerRadius, 0, outerRadius, 0);
95
+ gradient.addColorStop(0, `hsl(${x}, 0%, 50%)`);
96
+ gradient.addColorStop(1, `hsl(${x}, 100%, 50%)`);
97
+ this.canvasContext.fillStyle = gradient;
98
+ this.canvasContext.fillRect(innerRadius, 0, outerRadius - innerRadius, outerRadius / 50);
99
+ }
100
+ this.canvasContext.restore();
101
+ }
102
+ });
103
+ this.markerPosition$ = combineLatest([this.hs$, this.shiftX$, this.shiftY$])
104
+ .pipe(switchMap(([hs, shiftX, shiftY]) => {
105
+ return this.color2position(hs)
106
+ .pipe(map((position) => ({ position, shiftX: (shiftX ?? 0), shiftY: (shiftY ?? 0) })));
107
+ }))
108
+ .pipe(map(({ position, shiftX, shiftY }) => {
109
+ return {
110
+ x: position.x + shiftX,
111
+ y: position.y + shiftY,
112
+ };
113
+ }));
114
+ this.hs$.pipe(takeUntilDestroyed())
115
+ .subscribe((hs) => this.hsChange.emit(hs));
116
+ }
117
+ set diameterRatio(value) {
118
+ this.diameterRatio$.next(value);
119
+ }
120
+ set width(value) {
121
+ this.width$.next(value);
122
+ }
123
+ set height(value) {
124
+ this.height$.next(value);
125
+ }
126
+ get hs() {
127
+ return this.hs$.value;
128
+ }
129
+ set hs(value) {
130
+ this.hs$.next(value);
131
+ }
132
+ get luminosity() {
133
+ return this.luminosity$.value;
134
+ }
135
+ set luminosity(value) {
136
+ this.luminosity$.next(value);
137
+ }
138
+ ngAfterViewInit() {
139
+ // this.resizeObserver.observe(this.element.nativeElement);
140
+ this.viewInited$.next(true);
141
+ this.canvasContext = this.canvas.nativeElement.getContext('2d', { willReadFrequently: true });
142
+ }
143
+ onPointerDown(ev) {
144
+ if (!this.disabled$.value) {
145
+ ev.preventDefault();
146
+ this.isPointerDown = true;
147
+ this.updateColor(ev, !('touches' in ev));
148
+ }
149
+ }
150
+ onPointerMove(ev) {
151
+ if (this.isPointerDown) {
152
+ ev.preventDefault();
153
+ ev.stopPropagation();
154
+ this.updateColor(ev, !('touches' in ev));
155
+ }
156
+ }
157
+ onMouseMove(ev) {
158
+ this.onPointerMove(ev);
159
+ }
160
+ onPointerUp(ev) {
161
+ this.isPointerDown = false;
162
+ }
163
+ updateColor(ev, subtract) {
164
+ let co;
165
+ const rect = this.canvas.nativeElement.getBoundingClientRect();
166
+ if ('touches' in ev) {
167
+ co = {
168
+ x: ev.touches[0].clientX - rect.left,
169
+ y: ev.touches[0].clientY - rect.top,
170
+ };
171
+ }
172
+ else {
173
+ co = {
174
+ x: ev.clientX - (subtract ? rect.left : 0),
175
+ y: ev.clientY - (subtract ? rect.top : 0),
176
+ };
177
+ }
178
+ this.position2color(co.x, co.y).pipe(take(1)).subscribe((color) => {
179
+ if (color) {
180
+ this.hs$.next({ hue: color.hue, saturation: color.saturation });
181
+ }
182
+ else {
183
+ console.warn('Color is null');
184
+ }
185
+ });
186
+ }
187
+ isInsideCircle(x, y) {
188
+ return combineLatest([this.squareSize$, this.shiftX$, this.shiftY$])
189
+ .pipe(map(([squareSize, shiftX, shiftY]) => {
190
+ // Position to the square
191
+ const sx = x - (shiftX ?? 0);
192
+ const sy = y - (shiftY ?? 0);
193
+ // Square radius
194
+ const sr = (squareSize ?? 0) / 2;
195
+ const radius = Math.sqrt(Math.pow(sx - sr, 2) + Math.pow(sy - sr, 2));
196
+ const angle = (Math.atan2(sr - sy, sr - sx) + Math.PI) % 360;
197
+ return {
198
+ inside: radius <= sr,
199
+ angle
200
+ };
201
+ }));
202
+ }
203
+ position2color(x, y) {
204
+ return this.isInsideCircle(x, y).pipe(map((result) => {
205
+ if (!this.canvasContext) {
206
+ return null;
207
+ }
208
+ if (result.inside) {
209
+ const imageData = this.canvasContext.getImageData(x, y, 1, 1).data;
210
+ const hsl = this.rgb2Hsl({ r: imageData[0], g: imageData[1], b: imageData[2] });
211
+ return hsl;
212
+ }
213
+ return { hue: result.angle * 180 / Math.PI, saturation: 1, luminosity: 0.5 };
214
+ }));
215
+ }
216
+ color2position(hs) {
217
+ return combineLatest([this.innerRadius$, this.outerRadius$])
218
+ .pipe(map(([innerRadius, outerRadius]) => {
219
+ if (innerRadius === null) {
220
+ innerRadius = 0;
221
+ }
222
+ if (!outerRadius) {
223
+ outerRadius = 100;
224
+ }
225
+ const theta = hs.hue * Math.PI / 180;
226
+ const c = {
227
+ x: -outerRadius * Math.cos(theta),
228
+ y: -outerRadius * Math.sin(theta)
229
+ };
230
+ const d = hs.saturation * (outerRadius - innerRadius) + innerRadius;
231
+ const o = { x: outerRadius, y: outerRadius };
232
+ return {
233
+ x: o.x - d * (c.x / outerRadius),
234
+ y: o.y - d * (c.y / outerRadius),
235
+ };
236
+ }));
237
+ }
238
+ rgb2Hsl(color) {
239
+ const r01 = this.bound01(color.r, 255);
240
+ const g01 = this.bound01(color.g, 255);
241
+ const b01 = this.bound01(color.b, 255);
242
+ const max = Math.max(r01, g01, b01);
243
+ const min = Math.min(r01, g01, b01);
244
+ let h, s;
245
+ const l = (max + min) / 2;
246
+ if (max === min) {
247
+ h = s = 0;
248
+ }
249
+ else {
250
+ const d = max - min;
251
+ s = (l > 0.5) ? (d / (2 - max - min)) : (d / (max + min));
252
+ switch (max) {
253
+ case r01:
254
+ {
255
+ h = (g01 - b01) / d + ((g01 < b01) ? 6 : 0);
256
+ }
257
+ break;
258
+ case g01:
259
+ {
260
+ h = (b01 - r01) / d + 2;
261
+ }
262
+ break;
263
+ case b01:
264
+ {
265
+ h = (r01 - g01) / d + 4;
266
+ }
267
+ break;
268
+ default: {
269
+ throw 'Invalid operation';
270
+ }
271
+ }
272
+ h /= 6;
273
+ }
274
+ h *= 360;
275
+ return { hue: h, saturation: s, luminosity: l };
276
+ }
277
+ /**
278
+ * Divide 1 to n, handling floating point errors.
279
+ * Ensures that the value is in between 0 and 1.
280
+ **/
281
+ bound01(n, max) {
282
+ n = Math.min(max, Math.max(0, n));
283
+ if ((Math.abs(n - max) < 0.000001)) {
284
+ return 1;
285
+ }
286
+ else {
287
+ return (n % max) / max;
288
+ }
289
+ }
290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsColorWheelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsColorWheelComponent, selector: "bs-color-wheel", inputs: { diameterRatio: "diameterRatio", width: "width", height: "height", hs: "hs", luminosity: "luminosity" }, outputs: { hsChange: "hsChange" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onPointerUp($event)" }, properties: { "class.position-relative": "this.positionRelative" } }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], ngImport: i0, template: "<canvas\n class=\"d-block\"\n [width]=\"width$ | async\"\n [height]=\"height$ | async\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n #canvas></canvas>\n\n<ng-container *ngIf=\"(markerPosition$ | async) as markerPosition\">\n <div class=\"thumb position-absolute pe-none\" [style.left.px]=\"markerPosition.x\" [style.top.px]=\"markerPosition.y\"></div>\n</ng-container>", styles: [".thumb{width:30px;height:30px;border-radius:15px;margin-top:-15px;margin-left:-15px;box-sizing:border-box;border:2px solid white;box-shadow:#0000001a 0 0 10px 5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
292
+ }
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsColorWheelComponent, decorators: [{
294
+ type: Component,
295
+ args: [{ selector: 'bs-color-wheel', template: "<canvas\n class=\"d-block\"\n [width]=\"width$ | async\"\n [height]=\"height$ | async\"\n (mousedown)=\"onPointerDown($event)\"\n (touchstart)=\"onPointerDown($event)\"\n (touchmove)=\"onPointerMove($event)\"\n (touchend)=\"onPointerUp($event)\"\n #canvas></canvas>\n\n<ng-container *ngIf=\"(markerPosition$ | async) as markerPosition\">\n <div class=\"thumb position-absolute pe-none\" [style.left.px]=\"markerPosition.x\" [style.top.px]=\"markerPosition.y\"></div>\n</ng-container>", styles: [".thumb{width:30px;height:30px;border-radius:15px;margin-top:-15px;margin-left:-15px;box-sizing:border-box;border:2px solid white;box-shadow:#0000001a 0 0 10px 5px}\n"] }]
296
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { positionRelative: [{
297
+ type: HostBinding,
298
+ args: ['class.position-relative']
299
+ }], diameterRatio: [{
300
+ type: Input
301
+ }], width: [{
302
+ type: Input
303
+ }], height: [{
304
+ type: Input
305
+ }], canvas: [{
306
+ type: ViewChild,
307
+ args: ['canvas']
308
+ }], hsChange: [{
309
+ type: Output
310
+ }], hs: [{
311
+ type: Input
312
+ }], luminosity: [{
313
+ type: Input
314
+ }], onMouseMove: [{
315
+ type: HostListener,
316
+ args: ['document:mousemove', ['$event']]
317
+ }], onPointerUp: [{
318
+ type: HostListener,
319
+ args: ['document:mouseup', ['$event']]
320
+ }] } });
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itd2hlZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jb2xvci1waWNrZXIvY29tcG9uZW50cy9jb2xvci13aGVlbC9jb2xvci13aGVlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NvbG9yLXBpY2tlci9jb21wb25lbnRzL2NvbG9yLXdoZWVsL2NvbG9yLXdoZWVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQVVoRSxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLE9BQWdDO1FBQ2xELDBEQUEwRDtRQUMxRCxtQ0FBbUM7UUFDbkMseURBQXlEO1FBQ3pELHdDQUF3QztRQUN4QyxtREFBbUQ7UUFDbkQscURBQXFEO1FBQ3JELGVBQWU7UUFDZixRQUFRO1FBQ1IsTUFBTTtRQUNOLE1BQU07UUFWWSxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQXFHWixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFhaEUsd0JBQXdCO1FBQ3hCLFFBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsYUFBUSxH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OUMsV0FBVztzQkFEVixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgdGFrZSwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBIUyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaHMnO1xuaW1wb3J0IHsgSHNsQ29sb3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2hzbC1jb2xvcic7XG5pbXBvcnQgeyBSZ2JDb2xvciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmdiLWNvbG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtY29sb3Itd2hlZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3Itd2hlZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2xvci13aGVlbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzQ29sb3JXaGVlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAvLyB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgLy8gICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAvLyAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAvLyAgICAgICBjb25zb2xlLmxvZyhlbnRyeS5jb250ZW50UmVjdCk7XG4gICAgLy8gICAgICAgdGhpcy53aWR0aCQubmV4dChlbnRyeS5jb250ZW50UmVjdC53aWR0aCk7XG4gICAgLy8gICAgICAgdGhpcy5oZWlnaHQkLm5leHQoZW50cnkuY29udGVudFJlY3QuaGVpZ2h0KTtcbiAgICAvLyAgICAgICBicmVhaztcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuXG4gICAgdGhpcy5zcXVhcmVTaXplJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMud2lkdGgkLCB0aGlzLmhlaWdodCRdKVxuICAgICAgLnBpcGUobWFwKChbd2lkdGgsIGhlaWdodF0pID0+IHtcbiAgICAgICAgaWYgKCh3aWR0aCA9PT0gbnVsbCkgfHwgKGhlaWdodCA9PT0gbnVsbCkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNxdWFyZVNpemUgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgcmV0dXJuIHNxdWFyZVNpemU7XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLnNoaWZ0WCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLndpZHRoJCwgdGhpcy5oZWlnaHQkXSlcbiAgICAgIC5waXBlKG1hcCgoW3dpZHRoLCBoZWlnaHRdKSA9PiB7XG4gICAgICAgIGlmICgod2lkdGggPT09IG51bGwpIHx8IChoZWlnaHQgPT09IG51bGwpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAod2lkdGggPCBoZWlnaHQpIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKHdpZHRoIC0gaGVpZ2h0KSAvIDI7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIHRoaXMuc2hpZnRZJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMud2lkdGgkLCB0aGlzLmhlaWdodCRdKVxuICAgICAgLnBpcGUobWFwKChbd2lkdGgsIGhlaWdodF0pID0+IHtcbiAgICAgICAgaWYgKCh3aWR0aCA9PT0gbnVsbCkgfHwgKGhlaWdodCA9PT0gbnVsbCkpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICh3aWR0aCA8IGhlaWdodCkge1xuICAgICAgICAgIHJldHVybiAoaGVpZ2h0IC0gd2lkdGgpIC8gMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy5pbm5lclJhZGl1cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNxdWFyZVNpemUkLCB0aGlzLmRpYW1ldGVyUmF0aW8kXSlcbiAgICAgIC5waXBlKG1hcCgoW3NxdWFyZVNpemUsIGRpYW1ldGVyUmF0aW9dKSA9PiB7XG4gICAgICAgIGlmIChzcXVhcmVTaXplKSB7XG4gICAgICAgICAgcmV0dXJuIHNxdWFyZVNpemUgLyAyICogZGlhbWV0ZXJSYXRpbztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy5vdXRlclJhZGl1cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNxdWFyZVNpemUkLCB0aGlzLmRpYW1ldGVyUmF0aW8kXSlcbiAgICAgIC5waXBlKG1hcCgoW3NxdWFyZVNpemUsIGRpYW1ldGVyUmF0aW9dKSA9PiB7XG4gICAgICAgIGlmIChzcXVhcmVTaXplKSB7XG4gICAgICAgICAgcmV0dXJuIHNxdWFyZVNpemUgLyAyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAxNTA7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5pbm5lclJhZGl1cyQsIHRoaXMub3V0ZXJSYWRpdXMkLCB0aGlzLnNoaWZ0WCQsIHRoaXMuc2hpZnRZJF0pXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjApLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtpbm5lclJhZGl1cywgb3V0ZXJSYWRpdXMsIHNoaWZ0WCwgc2hpZnRZXSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYW52YXNDb250ZXh0ICYmIChpbm5lclJhZGl1cyAhPT0gbnVsbCkgJiYgKG91dGVyUmFkaXVzICE9PSBudWxsKSAmJiAoc2hpZnRYICE9PSBudWxsKSAmJiAoc2hpZnRZICE9PSBudWxsKSkge1xuICAgICAgICAgIHRoaXMuY2FudmFzQ29udGV4dC5jbGVhclJlY3QoMCwgMCwgdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudC53aWR0aCwgdGhpcy5jYW52YXMubmF0aXZlRWxlbWVudC5oZWlnaHQpO1xuICAgICAgICAgIHRoaXMuY2FudmFzQ29udGV4dC5zYXZlKCk7XG4gICAgICAgICAgdGhpcy5jYW52YXNDb250ZXh0LnRyYW5zbGF0ZShzaGlmdFggKyBvdXRlclJhZGl1cywgc2hpZnRZICsgb3V0ZXJSYWRpdXMpO1xuXG4gICAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCAzNjA7IHgrKykge1xuICAgICAgICAgICAgdGhpcy5jYW52YXNDb250ZXh0LnJvdGF0ZSgxICogTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgICAgICBjb25zdCBncmFkaWVudCA9IHRoaXMuY2FudmFzQ29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChpbm5lclJhZGl1cywgMCwgb3V0ZXJSYWRpdXMsIDApO1xuXG4gICAgICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgYGhzbCgke3h9LCAwJSwgNTAlKWApO1xuICAgICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIGBoc2woJHt4fSwgMTAwJSwgNTAlKWApO1xuXG4gICAgICAgICAgICB0aGlzLmNhbnZhc0NvbnRleHQuZmlsbFN0eWxlID0gZ3JhZGllbnQ7XG4gICAgICAgICAgICB0aGlzLmNhbnZhc0NvbnRleHQuZmlsbFJlY3QoaW5uZXJSYWRpdXMsIDAsIG91dGVyUmFkaXVzIC0gaW5uZXJSYWRpdXMsIG91dGVyUmFkaXVzIC8gNTApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuY2FudmFzQ29udGV4dC5yZXN0b3JlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5tYXJrZXJQb3NpdGlvbiQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmhzJCwgdGhpcy5zaGlmdFgkLCB0aGlzLnNoaWZ0WSRdKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChbaHMsIHNoaWZ0WCwgc2hpZnRZXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvcjJwb3NpdGlvbihocylcbiAgICAgICAgICAucGlwZShtYXAoKHBvc2l0aW9uKSA9PiAoe3Bvc2l0aW9uLCBzaGlmdFg6IChzaGlmdFggPz8gMCksIHNoaWZ0WTogKHNoaWZ0WSA/PyAwKX0pKSk7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKG1hcCgoe3Bvc2l0aW9uLCBzaGlmdFgsIHNoaWZ0WX0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiBwb3NpdGlvbi54ICsgc2hpZnRYLFxuICAgICAgICAgIHk6IHBvc2l0aW9uLnkgKyBzaGlmdFksXG4gICAgICAgIH07XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLmhzJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoaHMpID0+IHRoaXMuaHNDaGFuZ2UuZW1pdChocykpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wb3NpdGlvbi1yZWxhdGl2ZScpIHBvc2l0aW9uUmVsYXRpdmUgPSB0cnVlO1xuICBcbiAgQElucHV0KCkgc2V0IGRpYW1ldGVyUmF0aW8odmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuZGlhbWV0ZXJSYXRpbyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHdpZHRoKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLndpZHRoJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBzZXQgaGVpZ2h0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmhlaWdodCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIFxuICAvLyNyZWdpb24gSHVlL0x1bWlub3NpdHlcbiAgaHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIUz4oeyBodWU6IDAsIHNhdHVyYXRpb246IDAgfSk7XG4gIEBPdXRwdXQoKSBoc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SFM+KCk7XG4gIHB1YmxpYyBnZXQgaHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHMkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgaHModmFsdWU6IEhTKSB7XG4gICAgdGhpcy5ocyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBMdW1pbm9zaXR5XG4gIGx1bWlub3NpdHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwdWJsaWMgZ2V0IGx1bWlub3NpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMubHVtaW5vc2l0eSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBsdW1pbm9zaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmx1bWlub3NpdHkkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIGNhbnZhc0NvbnRleHQ6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzUG9pbnRlckRvd24gPSBmYWxzZTtcbiAgd2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDE1MCk7XG4gIGhlaWdodCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMTUwKTtcbiAgZGlhbWV0ZXJSYXRpbyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgc3F1YXJlU2l6ZSQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XG4gIHNoaWZ0WCQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XG4gIHNoaWZ0WSQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XG5cbiAgaW5uZXJSYWRpdXMkOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+O1xuICBvdXRlclJhZGl1cyQ6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD47XG4gIG1hcmtlclBvc2l0aW9uJDogT2JzZXJ2YWJsZTx7eDogbnVtYmVyLCB5OiBudW1iZXJ9PjtcbiAgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIFxuICB2aWV3SW5pdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMudmlld0luaXRlZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmNhbnZhc0NvbnRleHQgPSB0aGlzLmNhbnZhcy5uYXRpdmVFbGVtZW50LmdldENvbnRleHQoJzJkJywgeyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUgfSk7XG4gIH1cblxuICBvblBvaW50ZXJEb3duKGV2OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCQudmFsdWUpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmlzUG9pbnRlckRvd24gPSB0cnVlO1xuICAgICAgdGhpcy51cGRhdGVDb2xvcihldiwgISgndG91Y2hlcycgaW4gZXYpKTtcbiAgICB9XG4gIH1cblxuICBvblBvaW50ZXJNb3ZlKGV2OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgIGlmICh0aGlzLmlzUG9pbnRlckRvd24pIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IoZXYsICEoJ3RvdWNoZXMnIGluIGV2KSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU1vdmUoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoZXYpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uUG9pbnRlclVwKGV2OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgIHRoaXMuaXNQb2ludGVyRG93biA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb2xvcihldjogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQsIHN1YnRyYWN0OiBib29sZWFuKSB7XG4gICAgbGV0IGNvOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH07XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuY2FudmFzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgaWYgKCd0b3VjaGVzJyBpbiBldikge1xuICAgICAgY28gPSB7XG4gICAgICAgIHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCAtIHJlY3QubGVmdCxcbiAgICAgICAgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIC0gcmVjdC50b3AsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjbyA9IHtcbiAgICAgICAgeDogZXYuY2xpZW50WCAtIChzdWJ0cmFjdCA/IHJlY3QubGVmdCA6IDApLFxuICAgICAgICB5OiBldi5jbGllbnRZIC0gKHN1YnRyYWN0ID8gcmVjdC50b3AgOiAwKSxcbiAgICAgIH07XG4gICAgfVxuICAgIFxuICAgIHRoaXMucG9zaXRpb24yY29sb3IoY28ueCwgY28ueSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGNvbG9yKSA9PiB7XG4gICAgICBpZiAoY29sb3IpIHtcbiAgICAgICAgdGhpcy5ocyQubmV4dCh7IGh1ZTogY29sb3IuaHVlLCBzYXR1cmF0aW9uOiBjb2xvci5zYXR1cmF0aW9uIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdDb2xvciBpcyBudWxsJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzSW5zaWRlQ2lyY2xlKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3F1YXJlU2l6ZSQsIHRoaXMuc2hpZnRYJCwgdGhpcy5zaGlmdFkkXSlcbiAgICAgIC5waXBlKG1hcCgoW3NxdWFyZVNpemUsIHNoaWZ0WCwgc2hpZnRZXSkgPT4ge1xuICAgICAgICAvLyBQb3NpdGlvbiB0byB0aGUgc3F1YXJlXG4gICAgICAgIGNvbnN0IHN4OiBudW1iZXIgPSB4IC0gKHNoaWZ0WCA/PyAwKTtcbiAgICAgICAgY29uc3Qgc3kgPSB5IC0gKHNoaWZ0WSA/PyAwKTtcbiAgICAgICAgLy8gU3F1YXJlIHJhZGl1c1xuICAgICAgICBjb25zdCBzciA9IChzcXVhcmVTaXplID8/IDApIC8gMjtcblxuICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLnNxcnQoTWF0aC5wb3coc3ggLSBzciwgMikgKyBNYXRoLnBvdyhzeSAtIHNyLCAyKSk7XG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKE1hdGguYXRhbjIoc3IgLSBzeSwgc3IgLSBzeCkgKyBNYXRoLlBJKSAlIDM2MDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnNpZGU6IHJhZGl1cyA8PSBzcixcbiAgICAgICAgICBhbmdsZVxuICAgICAgICB9O1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3NpdGlvbjJjb2xvcih4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmlzSW5zaWRlQ2lyY2xlKHgsIHkpLnBpcGUobWFwKChyZXN1bHQpID0+IHtcbiAgICAgIGlmICghdGhpcy5jYW52YXNDb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0Lmluc2lkZSkge1xuICAgICAgICBjb25zdCBpbWFnZURhdGEgPSB0aGlzLmNhbnZhc0NvbnRleHQuZ2V0SW1hZ2VEYXRhKHgsIHksIDEsIDEpLmRhdGE7XG4gICAgICAgIGNvbnN0IGhzbCA9IHRoaXMucmdiMkhzbCh7IHI6IGltYWdlRGF0YVswXSwgZzogaW1hZ2VEYXRhWzFdLCBiOiBpbWFnZURhdGFbMl0gfSk7XG4gICAgICAgIHJldHVybiBoc2w7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiA8SHNsQ29sb3I+eyBodWU6IHJlc3VsdC5hbmdsZSAqIDE4MCAvIE1hdGguUEksIHNhdHVyYXRpb246IDEsIGx1bWlub3NpdHk6IDAuNSB9O1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3IycG9zaXRpb24oaHM6IEhTKSB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMuaW5uZXJSYWRpdXMkLCB0aGlzLm91dGVyUmFkaXVzJF0pXG4gICAgICAucGlwZShtYXAoKFtpbm5lclJhZGl1cywgb3V0ZXJSYWRpdXNdKSA9PiB7XG4gICAgICAgIGlmIChpbm5lclJhZGl1cyA9PT0gbnVsbCkge1xuICAgICAgICAgIGlubmVyUmFkaXVzID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW91dGVyUmFkaXVzKSB7XG4gICAgICAgICAgb3V0ZXJSYWRpdXMgPSAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGV0YSA9IGhzLmh1ZSAqIE1hdGguUEkgLyAxODA7XG4gICAgICAgIGNvbnN0IGMgPSB7XG4gICAgICAgICAgeDogLW91dGVyUmFkaXVzICogTWF0aC5jb3ModGhldGEpLFxuICAgICAgICAgIHk6IC1vdXRlclJhZGl1cyAqIE1hdGguc2luKHRoZXRhKVxuICAgICAgICB9O1xuICAgIFxuICAgICAgICBjb25zdCBkID0gaHMuc2F0dXJhdGlvbiAqIChvdXRlclJhZGl1cyAtIGlubmVyUmFkaXVzKSArIGlubmVyUmFkaXVzO1xuICAgICAgICBjb25zdCBvID0geyB4OiBvdXRlclJhZGl1cywgeTogb3V0ZXJSYWRpdXMgfTtcbiAgICBcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiBvLnggLSBkICogKGMueCAvIG91dGVyUmFkaXVzKSxcbiAgICAgICAgICB5OiBvLnkgLSBkICogKGMueSAvIG91dGVyUmFkaXVzKSxcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICB9XG4gIFxuICBwcml2YXRlIHJnYjJIc2woY29sb3I6IFJnYkNvbG9yKSB7XG4gICAgY29uc3QgcjAxID0gdGhpcy5ib3VuZDAxKGNvbG9yLnIsIDI1NSk7XG4gICAgY29uc3QgZzAxID0gdGhpcy5ib3VuZDAxKGNvbG9yLmcsIDI1NSk7XG4gICAgY29uc3QgYjAxID0gdGhpcy5ib3VuZDAxKGNvbG9yLmIsIDI1NSk7XG5cbiAgICBjb25zdCBtYXggPSBNYXRoLm1heChyMDEsIGcwMSwgYjAxKTtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbihyMDEsIGcwMSwgYjAxKTtcblxuICAgIGxldCBoOiBudW1iZXIsIHM6IG51bWJlcjsgY29uc3QgbCA9IChtYXggKyBtaW4pIC8gMjtcbiAgICBpZiAobWF4ID09PSBtaW4pIHtcbiAgICAgICAgaCA9IHMgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGQgPSBtYXggLSBtaW47XG4gICAgICAgIHMgPSAobCA+IDAuNSkgPyAoZCAvICgyIC0gbWF4IC0gbWluKSkgOiAoZCAvIChtYXggKyBtaW4pKTtcbiAgICAgICAgc3dpdGNoIChtYXgpIHtcbiAgICAgICAgICAgIGNhc2UgcjAxOiB7XG4gICAgICAgICAgICAgICAgaCA9IChnMDEgLSBiMDEpIC8gZCArICgoZzAxIDwgYjAxKSA/IDYgOiAwKTtcbiAgICAgICAgICAgIH0gYnJlYWs7XG4gICAgICAgICAgICBjYXNlIGcwMToge1xuICAgICAgICAgICAgICAgIGggPSAoYjAxIC0gcjAxKSAvIGQgKyAyO1xuICAgICAgICAgICAgfSBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYjAxOiB7XG4gICAgICAgICAgICAgICAgaCA9IChyMDEgLSBnMDEpIC8gZCArIDQ7XG4gICAgICAgICAgICB9IGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHRocm93ICdJbnZhbGlkIG9wZXJhdGlvbic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGggLz0gNjtcbiAgICB9XG4gICAgXG4gICAgaCAqPSAzNjA7XG5cbiAgICByZXR1cm4gPEhzbENvbG9yPnsgaHVlOiBoLCBzYXR1cmF0aW9uOiBzLCBsdW1pbm9zaXR5OiBsIH07XG4gIH1cblxuICAvKipcbiAgICogRGl2aWRlIDEgdG8gbiwgaGFuZGxpbmcgZmxvYXRpbmcgcG9pbnQgZXJyb3JzLlxuICAgKiBFbnN1cmVzIHRoYXQgdGhlIHZhbHVlIGlzIGluIGJldHdlZW4gMCBhbmQgMS5cbiAgICoqL1xuICBwcml2YXRlIGJvdW5kMDEobjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgICAgbiA9IE1hdGgubWluKG1heCwgTWF0aC5tYXgoMCwgbikpO1xuICAgICAgaWYgKChNYXRoLmFicyhuIC0gbWF4KSA8IDAuMDAwMDAxKSkge1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gKG4gJSBtYXgpIC8gbWF4O1xuICAgICAgfVxuICB9XG5cbn1cbiIsIjxjYW52YXNcbiAgICBjbGFzcz1cImQtYmxvY2tcIlxuICAgIFt3aWR0aF09XCJ3aWR0aCQgfCBhc3luY1wiXG4gICAgW2hlaWdodF09XCJoZWlnaHQkIHwgYXN5bmNcIlxuICAgIChtb3VzZWRvd24pPVwib25Qb2ludGVyRG93bigkZXZlbnQpXCJcbiAgICAodG91Y2hzdGFydCk9XCJvblBvaW50ZXJEb3duKCRldmVudClcIlxuICAgICh0b3VjaG1vdmUpPVwib25Qb2ludGVyTW92ZSgkZXZlbnQpXCJcbiAgICAodG91Y2hlbmQpPVwib25Qb2ludGVyVXAoJGV2ZW50KVwiXG4gICAgI2NhbnZhcz48L2NhbnZhcz5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIihtYXJrZXJQb3NpdGlvbiQgfCBhc3luYykgYXMgbWFya2VyUG9zaXRpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh1bWIgcG9zaXRpb24tYWJzb2x1dGUgcGUtbm9uZVwiIFtzdHlsZS5sZWZ0LnB4XT1cIm1hcmtlclBvc2l0aW9uLnhcIiBbc3R5bGUudG9wLnB4XT1cIm1hcmtlclBvc2l0aW9uLnlcIj48L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './alpha-strip/alpha-strip.component';
2
+ export * from './color-picker/color-picker.component';
3
+ export * from './color-wheel/color-wheel.component';
4
+ export * from './luminosity-strip/luminosity-strip.component';
5
+ export * from './slider/slider.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NvbG9yLXBpY2tlci9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxwaGEtc3RyaXAvYWxwaGEtc3RyaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci13aGVlbC9jb2xvci13aGVlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sdW1pbm9zaXR5LXN0cmlwL2x1bWlub3NpdHktc3RyaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyL3NsaWRlci5jb21wb25lbnQnOyJdfQ==