@acorex/components 18.16.0-next.8 → 18.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (697) hide show
  1. package/color-palette/lib/color-palette-picker.component.d.ts +1 -5
  2. package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +4 -2
  3. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +31 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +11 -11
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +8 -8
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  9. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  10. package/fesm2022/acorex-components-avatar.mjs +12 -11
  11. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  12. package/fesm2022/acorex-components-badge.mjs +8 -8
  13. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  14. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  15. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  16. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  17. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  18. package/fesm2022/acorex-components-button-group.mjs +12 -11
  19. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  20. package/fesm2022/acorex-components-button.mjs +16 -15
  21. package/fesm2022/acorex-components-button.mjs.map +1 -1
  22. package/fesm2022/acorex-components-calendar.mjs +15 -15
  23. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  24. package/fesm2022/acorex-components-check-box.mjs +8 -8
  25. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  26. package/fesm2022/acorex-components-chips.mjs +8 -8
  27. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  28. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  29. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  30. package/fesm2022/acorex-components-collapse.mjs +12 -11
  31. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  32. package/fesm2022/acorex-components-color-box.mjs +8 -8
  33. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  34. package/fesm2022/acorex-components-color-palette.mjs +53 -63
  35. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  36. package/fesm2022/acorex-components-comment.mjs +43 -38
  37. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  38. package/fesm2022/acorex-components-common.mjs +100 -89
  39. package/fesm2022/acorex-components-common.mjs.map +1 -1
  40. package/fesm2022/acorex-components-conversation.mjs +104 -77
  41. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  42. package/fesm2022/acorex-components-cron-job.mjs +54 -54
  43. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  44. package/fesm2022/acorex-components-data-pager.mjs +38 -32
  45. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  46. package/fesm2022/acorex-components-data-table.mjs +42 -36
  47. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  48. package/fesm2022/acorex-components-datetime-box.mjs +8 -8
  49. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  50. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  51. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  52. package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
  53. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  54. package/fesm2022/acorex-components-decorators.mjs +20 -19
  55. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  56. package/fesm2022/acorex-components-dialog.mjs +11 -11
  57. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  58. package/fesm2022/acorex-components-drawer.mjs +16 -16
  59. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  60. package/fesm2022/acorex-components-dropdown-button.mjs +8 -8
  61. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  62. package/fesm2022/acorex-components-dropdown.mjs +15 -15
  63. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  64. package/fesm2022/acorex-components-form.mjs +21 -18
  65. package/fesm2022/acorex-components-form.mjs.map +1 -1
  66. package/fesm2022/acorex-components-image-editor.mjs +46 -43
  67. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  68. package/fesm2022/acorex-components-image.mjs +8 -8
  69. package/fesm2022/acorex-components-image.mjs.map +1 -1
  70. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  71. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  72. package/fesm2022/acorex-components-label.mjs +8 -8
  73. package/fesm2022/acorex-components-label.mjs.map +1 -1
  74. package/fesm2022/acorex-components-list.mjs +8 -8
  75. package/fesm2022/acorex-components-list.mjs.map +1 -1
  76. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  77. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  78. package/fesm2022/acorex-components-loading.mjs +19 -18
  79. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  80. package/fesm2022/acorex-components-map.mjs +268 -11
  81. package/fesm2022/acorex-components-map.mjs.map +1 -1
  82. package/fesm2022/acorex-components-media-viewer.mjs +51 -51
  83. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  84. package/fesm2022/acorex-components-menu.mjs +19 -19
  85. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  86. package/fesm2022/acorex-components-nav.mjs +12 -12
  87. package/fesm2022/acorex-components-nav.mjs.map +1 -1
  88. package/fesm2022/acorex-components-navbar.mjs +8 -8
  89. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  90. package/fesm2022/acorex-components-notification.mjs +11 -11
  91. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  92. package/fesm2022/acorex-components-number-box.mjs +8 -8
  93. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  94. package/fesm2022/acorex-components-otp.mjs +9 -9
  95. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  96. package/fesm2022/acorex-components-page.mjs +10 -10
  97. package/fesm2022/acorex-components-paint.mjs +46 -35
  98. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  99. package/fesm2022/acorex-components-password-box.mjs +12 -12
  100. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  101. package/fesm2022/acorex-components-phone-box.mjs +8 -8
  102. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  103. package/fesm2022/acorex-components-picker.mjs +12 -11
  104. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  105. package/fesm2022/acorex-components-popover.mjs +8 -8
  106. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  107. package/fesm2022/acorex-components-popup.mjs +11 -11
  108. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  109. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  110. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  111. package/fesm2022/acorex-components-qrcode.mjs +8 -8
  112. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  113. package/fesm2022/acorex-components-radio.mjs +8 -8
  114. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  115. package/fesm2022/acorex-components-range-slider.mjs +18 -11
  116. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  117. package/fesm2022/acorex-components-rate-picker.mjs +8 -8
  118. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  119. package/fesm2022/acorex-components-result.mjs +8 -8
  120. package/fesm2022/acorex-components-result.mjs.map +1 -1
  121. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  122. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  123. package/fesm2022/acorex-components-scheduler.mjs +16 -16
  124. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  125. package/fesm2022/acorex-components-scss.mjs +4 -4
  126. package/fesm2022/acorex-components-search-box.mjs +8 -8
  127. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-select-box.mjs +8 -8
  129. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  130. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  131. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  132. package/fesm2022/acorex-components-side-menu.mjs +12 -12
  133. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  134. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  135. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  136. package/fesm2022/acorex-components-slider.mjs +8 -8
  137. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  138. package/fesm2022/acorex-components-step-wizard.mjs +16 -15
  139. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  140. package/fesm2022/acorex-components-switch.mjs +12 -11
  141. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  142. package/fesm2022/acorex-components-tabs.mjs +44 -46
  143. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  144. package/fesm2022/acorex-components-tag.mjs +8 -8
  145. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  146. package/fesm2022/acorex-components-text-area.mjs +8 -8
  147. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  148. package/fesm2022/acorex-components-text-box.mjs +12 -11
  149. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  150. package/fesm2022/acorex-components-time-line.mjs +14 -14
  151. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  152. package/fesm2022/acorex-components-toast.mjs +11 -11
  153. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  154. package/fesm2022/acorex-components-tooltip.mjs +12 -11
  155. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  156. package/fesm2022/acorex-components-tree-view.mjs +13 -13
  157. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  158. package/fesm2022/acorex-components-uploader.mjs +27 -25
  159. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  160. package/fesm2022/acorex-components-wysiwyg.mjs +47 -47
  161. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  162. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -0
  163. package/map/index.d.ts +2 -1
  164. package/map/lib/map.component.d.ts +1 -1
  165. package/map/lib/map.config.d.ts +13 -0
  166. package/map/lib/map.service.d.ts +37 -0
  167. package/package.json +4 -166
  168. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +5 -2
  169. package/paint/lib/paint/paint-view/paint-view.component.d.ts +6 -1
  170. package/range-slider/lib/range-slider.component.d.ts +1 -0
  171. package/esm2022/acorex-components.mjs +0 -5
  172. package/esm2022/action-sheet/acorex-components-action-sheet.mjs +0 -5
  173. package/esm2022/action-sheet/index.mjs +0 -5
  174. package/esm2022/action-sheet/lib/action-sheet.class.mjs +0 -2
  175. package/esm2022/action-sheet/lib/action-sheet.component.mjs +0 -109
  176. package/esm2022/action-sheet/lib/action-sheet.module.mjs +0 -54
  177. package/esm2022/action-sheet/lib/action-sheet.service.mjs +0 -60
  178. package/esm2022/alert/acorex-components-alert.mjs +0 -5
  179. package/esm2022/alert/index.mjs +0 -3
  180. package/esm2022/alert/lib/alert.component.mjs +0 -142
  181. package/esm2022/alert/lib/alert.module.mjs +0 -22
  182. package/esm2022/audio-wave/acorex-components-audio-wave.mjs +0 -5
  183. package/esm2022/audio-wave/index.mjs +0 -4
  184. package/esm2022/audio-wave/lib/audio-wave.component.mjs +0 -347
  185. package/esm2022/audio-wave/lib/audio-wave.module.mjs +0 -22
  186. package/esm2022/audio-wave/lib/interfaces/audio-wave.interface.mjs +0 -2
  187. package/esm2022/avatar/acorex-components-avatar.mjs +0 -5
  188. package/esm2022/avatar/index.mjs +0 -4
  189. package/esm2022/avatar/lib/avatar-group.component.mjs +0 -14
  190. package/esm2022/avatar/lib/avatar.component.mjs +0 -54
  191. package/esm2022/avatar/lib/avatar.module.mjs +0 -22
  192. package/esm2022/badge/acorex-components-badge.mjs +0 -5
  193. package/esm2022/badge/index.mjs +0 -3
  194. package/esm2022/badge/lib/badge.component.mjs +0 -30
  195. package/esm2022/badge/lib/badge.module.mjs +0 -19
  196. package/esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs +0 -5
  197. package/esm2022/bottom-navigation/index.mjs +0 -4
  198. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +0 -46
  199. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +0 -67
  200. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +0 -22
  201. package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +0 -5
  202. package/esm2022/breadcrumbs/index.mjs +0 -5
  203. package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +0 -2
  204. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +0 -41
  205. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +0 -31
  206. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +0 -21
  207. package/esm2022/button/acorex-components-button.mjs +0 -5
  208. package/esm2022/button/index.mjs +0 -7
  209. package/esm2022/button/lib/button-item-list.component.mjs +0 -153
  210. package/esm2022/button/lib/button-item.class.mjs +0 -2
  211. package/esm2022/button/lib/button-item.component.mjs +0 -152
  212. package/esm2022/button/lib/button.class.mjs +0 -2
  213. package/esm2022/button/lib/button.component.mjs +0 -116
  214. package/esm2022/button/lib/button.module.mjs +0 -26
  215. package/esm2022/button-group/acorex-components-button-group.mjs +0 -5
  216. package/esm2022/button-group/index.mjs +0 -4
  217. package/esm2022/button-group/lib/button-group-item.component.mjs +0 -141
  218. package/esm2022/button-group/lib/button-group.component.mjs +0 -170
  219. package/esm2022/button-group/lib/button-group.module.mjs +0 -23
  220. package/esm2022/calendar/acorex-components-calendar.mjs +0 -5
  221. package/esm2022/calendar/index.mjs +0 -5
  222. package/esm2022/calendar/lib/calendar-range.component.mjs +0 -248
  223. package/esm2022/calendar/lib/calendar.class.mjs +0 -163
  224. package/esm2022/calendar/lib/calendar.component.mjs +0 -631
  225. package/esm2022/calendar/lib/calendar.module.mjs +0 -26
  226. package/esm2022/check-box/acorex-components-check-box.mjs +0 -5
  227. package/esm2022/check-box/index.mjs +0 -3
  228. package/esm2022/check-box/lib/check-box.component.mjs +0 -138
  229. package/esm2022/check-box/lib/check-box.module.mjs +0 -21
  230. package/esm2022/chips/acorex-components-chips.mjs +0 -5
  231. package/esm2022/chips/index.mjs +0 -3
  232. package/esm2022/chips/lib/chips.component.mjs +0 -36
  233. package/esm2022/chips/lib/chips.module.mjs +0 -19
  234. package/esm2022/circular-progress/acorex-components-circular-progress.mjs +0 -5
  235. package/esm2022/circular-progress/index.mjs +0 -3
  236. package/esm2022/circular-progress/lib/circular-progress.component.mjs +0 -95
  237. package/esm2022/circular-progress/lib/circular-progress.module.mjs +0 -17
  238. package/esm2022/collapse/acorex-components-collapse.mjs +0 -5
  239. package/esm2022/collapse/index.mjs +0 -4
  240. package/esm2022/collapse/lib/collapse-group.component.mjs +0 -171
  241. package/esm2022/collapse/lib/collapse.component.mjs +0 -198
  242. package/esm2022/collapse/lib/collapse.module.mjs +0 -21
  243. package/esm2022/color-box/acorex-components-color-box.mjs +0 -5
  244. package/esm2022/color-box/index.mjs +0 -3
  245. package/esm2022/color-box/lib/color-box.component.mjs +0 -92
  246. package/esm2022/color-box/lib/color-box.module.mjs +0 -24
  247. package/esm2022/color-palette/acorex-components-color-palette.mjs +0 -5
  248. package/esm2022/color-palette/index.mjs +0 -8
  249. package/esm2022/color-palette/lib/color-palette-input.component.mjs +0 -157
  250. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +0 -277
  251. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +0 -80
  252. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +0 -121
  253. package/esm2022/color-palette/lib/color-palette.class.mjs +0 -238
  254. package/esm2022/color-palette/lib/color-palette.component.mjs +0 -58
  255. package/esm2022/color-palette/lib/color-palette.module.mjs +0 -66
  256. package/esm2022/comment/acorex-components-comment.mjs +0 -5
  257. package/esm2022/comment/index.mjs +0 -10
  258. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +0 -37
  259. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +0 -37
  260. package/esm2022/comment/lib/comment-tools/comment-date/comment-date.component.mjs +0 -16
  261. package/esm2022/comment/lib/comment-tools/comment-like/comment-like.component.mjs +0 -23
  262. package/esm2022/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.mjs +0 -16
  263. package/esm2022/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.mjs +0 -12
  264. package/esm2022/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.mjs +0 -12
  265. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +0 -15
  266. package/esm2022/comment/lib/comment.module.mjs +0 -71
  267. package/esm2022/common/acorex-components-common.mjs +0 -5
  268. package/esm2022/common/index.mjs +0 -31
  269. package/esm2022/common/lib/classes/components.class.mjs +0 -76
  270. package/esm2022/common/lib/classes/datalist.class.mjs +0 -50
  271. package/esm2022/common/lib/classes/datasource.class.mjs +0 -134
  272. package/esm2022/common/lib/classes/events.class.mjs +0 -79
  273. package/esm2022/common/lib/classes/styles.class.mjs +0 -13
  274. package/esm2022/common/lib/common.module.mjs +0 -22
  275. package/esm2022/common/lib/components/base-component.class.mjs +0 -74
  276. package/esm2022/common/lib/components/button-base-component.class.mjs +0 -88
  277. package/esm2022/common/lib/components/color-component.class.mjs +0 -25
  278. package/esm2022/common/lib/components/colorlook-component.class.mjs +0 -6
  279. package/esm2022/common/lib/components/input-base-value-component.class.mjs +0 -54
  280. package/esm2022/common/lib/components/interactive-component.class.mjs +0 -129
  281. package/esm2022/common/lib/components/look-component.class.mjs +0 -33
  282. package/esm2022/common/lib/components/selection-base.component.class.mjs +0 -233
  283. package/esm2022/common/lib/components/value-component.class.mjs +0 -232
  284. package/esm2022/common/lib/directives/auto-focus.directive.mjs +0 -63
  285. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +0 -51
  286. package/esm2022/common/lib/directives/hotkey.directive.mjs +0 -80
  287. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +0 -60
  288. package/esm2022/common/lib/directives/inverted-color.directive.mjs +0 -52
  289. package/esm2022/common/lib/directives/responsive.directive.mjs +0 -37
  290. package/esm2022/common/lib/directives/ripple.directive.mjs +0 -65
  291. package/esm2022/common/lib/services/dom.service.mjs +0 -16
  292. package/esm2022/common/lib/services/hotkey.service.mjs +0 -52
  293. package/esm2022/common/lib/types/base/button.type.mjs +0 -18
  294. package/esm2022/common/lib/types/base/color.type.mjs +0 -16
  295. package/esm2022/common/lib/types/base/component.types.mjs +0 -27
  296. package/esm2022/common/lib/types/base/events.types.mjs +0 -19
  297. package/esm2022/common/lib/types/base/index.mjs +0 -8
  298. package/esm2022/common/lib/types/base/interactive.type.mjs +0 -31
  299. package/esm2022/common/lib/types/base/look.type.mjs +0 -16
  300. package/esm2022/common/lib/types/base/value.type.mjs +0 -19
  301. package/esm2022/common/lib/types/direction.mjs +0 -2
  302. package/esm2022/common/lib/types/orientation.mjs +0 -2
  303. package/esm2022/common/lib/types/placement.mjs +0 -166
  304. package/esm2022/common/lib/types/range.mjs +0 -2
  305. package/esm2022/common/lib/types/selection-mode.mjs +0 -5
  306. package/esm2022/conversation/acorex-components-conversation.mjs +0 -5
  307. package/esm2022/conversation/index.mjs +0 -19
  308. package/esm2022/conversation/lib/classes/events.interface.mjs +0 -4
  309. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +0 -15
  310. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +0 -193
  311. package/esm2022/conversation/lib/conversation-input/conversation-input.interface.mjs +0 -2
  312. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +0 -110
  313. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +0 -120
  314. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +0 -79
  315. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +0 -69
  316. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +0 -24
  317. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +0 -130
  318. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +0 -31
  319. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +0 -190
  320. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +0 -52
  321. package/esm2022/conversation/lib/conversation.module.mjs +0 -200
  322. package/esm2022/conversation/lib/conversation.types.mjs +0 -10
  323. package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +0 -20
  324. package/esm2022/conversation/lib/services/conversation.service.mjs +0 -14
  325. package/esm2022/conversation/lib/services/recording.service.mjs +0 -76
  326. package/esm2022/cron-job/acorex-components-cron-job.mjs +0 -5
  327. package/esm2022/cron-job/index.mjs +0 -9
  328. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +0 -107
  329. package/esm2022/cron-job/lib/cron-job.module.mjs +0 -80
  330. package/esm2022/cron-job/lib/cron-job.service.mjs +0 -60
  331. package/esm2022/cron-job/lib/day/day.component.mjs +0 -66
  332. package/esm2022/cron-job/lib/day/day.model.mjs +0 -88
  333. package/esm2022/cron-job/lib/day/day.service.mjs +0 -196
  334. package/esm2022/cron-job/lib/hours/hours.component.mjs +0 -43
  335. package/esm2022/cron-job/lib/hours/hours.model.mjs +0 -8
  336. package/esm2022/cron-job/lib/hours/hours.service.mjs +0 -82
  337. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +0 -43
  338. package/esm2022/cron-job/lib/minutes/minutes.model.mjs +0 -8
  339. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +0 -82
  340. package/esm2022/cron-job/lib/month/month.component.mjs +0 -52
  341. package/esm2022/cron-job/lib/month/month.model.mjs +0 -8
  342. package/esm2022/cron-job/lib/month/month.service.mjs +0 -96
  343. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +0 -43
  344. package/esm2022/cron-job/lib/seconds/seconds.model.mjs +0 -8
  345. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +0 -82
  346. package/esm2022/cron-job/lib/types/iexpression.mjs +0 -2
  347. package/esm2022/cron-job/lib/types/shared.model.mjs +0 -49
  348. package/esm2022/cron-job/lib/year/year.component.mjs +0 -50
  349. package/esm2022/cron-job/lib/year/year.model.mjs +0 -28
  350. package/esm2022/cron-job/lib/year/year.service.mjs +0 -82
  351. package/esm2022/data-pager/acorex-components-data-pager.mjs +0 -5
  352. package/esm2022/data-pager/index.mjs +0 -10
  353. package/esm2022/data-pager/lib/data-pager-base.component.mjs +0 -52
  354. package/esm2022/data-pager/lib/data-pager-info.component.mjs +0 -50
  355. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +0 -90
  356. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +0 -113
  357. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +0 -166
  358. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +0 -105
  359. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +0 -112
  360. package/esm2022/data-pager/lib/data-pager.component.mjs +0 -298
  361. package/esm2022/data-pager/lib/data-pager.module.mjs +0 -73
  362. package/esm2022/data-table/acorex-components-data-table.mjs +0 -5
  363. package/esm2022/data-table/index.mjs +0 -11
  364. package/esm2022/data-table/lib/base-data-table.class.mjs +0 -46
  365. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +0 -61
  366. package/esm2022/data-table/lib/columns/data-table-column.mjs +0 -34
  367. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +0 -128
  368. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +0 -343
  369. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +0 -128
  370. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +0 -168
  371. package/esm2022/data-table/lib/data-table/data-table.component.mjs +0 -513
  372. package/esm2022/data-table/lib/data-table.module.mjs +0 -107
  373. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +0 -438
  374. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +0 -5
  375. package/esm2022/datetime-box/index.mjs +0 -3
  376. package/esm2022/datetime-box/lib/datetime-box.component.mjs +0 -186
  377. package/esm2022/datetime-box/lib/datetime-box.module.mjs +0 -26
  378. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +0 -5
  379. package/esm2022/datetime-input/index.mjs +0 -3
  380. package/esm2022/datetime-input/lib/datetime-input.component.mjs +0 -673
  381. package/esm2022/datetime-input/lib/datetime-input.module.mjs +0 -23
  382. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +0 -5
  383. package/esm2022/datetime-picker/index.mjs +0 -4
  384. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +0 -389
  385. package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +0 -22
  386. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +0 -44
  387. package/esm2022/decorators/acorex-components-decorators.mjs +0 -5
  388. package/esm2022/decorators/index.mjs +0 -6
  389. package/esm2022/decorators/lib/components/clear-button.component.mjs +0 -80
  390. package/esm2022/decorators/lib/components/close-button.component.mjs +0 -65
  391. package/esm2022/decorators/lib/components/generic-content.component.mjs +0 -42
  392. package/esm2022/decorators/lib/components/icon.component.mjs +0 -37
  393. package/esm2022/decorators/lib/decorators.module.mjs +0 -24
  394. package/esm2022/dialog/acorex-components-dialog.mjs +0 -5
  395. package/esm2022/dialog/index.mjs +0 -5
  396. package/esm2022/dialog/lib/dialog.class.mjs +0 -2
  397. package/esm2022/dialog/lib/dialog.component.mjs +0 -77
  398. package/esm2022/dialog/lib/dialog.module.mjs +0 -48
  399. package/esm2022/dialog/lib/dialog.service.mjs +0 -168
  400. package/esm2022/drawer/acorex-components-drawer.mjs +0 -5
  401. package/esm2022/drawer/index.mjs +0 -4
  402. package/esm2022/drawer/lib/drawer/drawer-container/drawer-container.component.mjs +0 -32
  403. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +0 -157
  404. package/esm2022/drawer/lib/drawer.module.mjs +0 -22
  405. package/esm2022/drawer/lib/drawer.service.mjs +0 -13
  406. package/esm2022/dropdown/acorex-components-dropdown.mjs +0 -5
  407. package/esm2022/dropdown/index.mjs +0 -5
  408. package/esm2022/dropdown/lib/dropdown-box.class.mjs +0 -50
  409. package/esm2022/dropdown/lib/dropdown-box.component.mjs +0 -160
  410. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +0 -221
  411. package/esm2022/dropdown/lib/dropdown.module.mjs +0 -25
  412. package/esm2022/dropdown-button/acorex-components-dropdown-button.mjs +0 -5
  413. package/esm2022/dropdown-button/index.mjs +0 -3
  414. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +0 -124
  415. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +0 -26
  416. package/esm2022/form/acorex-components-form.mjs +0 -5
  417. package/esm2022/form/index.mjs +0 -7
  418. package/esm2022/form/lib/form-field.component.mjs +0 -142
  419. package/esm2022/form/lib/form.component.mjs +0 -205
  420. package/esm2022/form/lib/form.config.mjs +0 -16
  421. package/esm2022/form/lib/form.module.mjs +0 -27
  422. package/esm2022/form/lib/validation-rule.directive.mjs +0 -36
  423. package/esm2022/form/lib/validation-summary.component.mjs +0 -157
  424. package/esm2022/image/acorex-components-image.mjs +0 -5
  425. package/esm2022/image/index.mjs +0 -3
  426. package/esm2022/image/lib/image.component.mjs +0 -118
  427. package/esm2022/image/lib/image.module.mjs +0 -19
  428. package/esm2022/image-editor/acorex-components-image-editor.mjs +0 -5
  429. package/esm2022/image-editor/index.mjs +0 -8
  430. package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs +0 -24
  431. package/esm2022/image-editor/lib/image-editor-toolbar/image-editor-toolbar.component.mjs +0 -69
  432. package/esm2022/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.mjs +0 -36
  433. package/esm2022/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.mjs +0 -37
  434. package/esm2022/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.mjs +0 -57
  435. package/esm2022/image-editor/lib/image-editor-view/image-editor-view.component.mjs +0 -359
  436. package/esm2022/image-editor/lib/image-editor.module.mjs +0 -72
  437. package/esm2022/image-editor/lib/image-editor.service.mjs +0 -23
  438. package/esm2022/index.mjs +0 -2
  439. package/esm2022/json-viewer/acorex-components-json-viewer.mjs +0 -5
  440. package/esm2022/json-viewer/index.mjs +0 -3
  441. package/esm2022/json-viewer/lib/json-viewer/json-viewer.component.mjs +0 -43
  442. package/esm2022/json-viewer/lib/json-viewer.module.mjs +0 -23
  443. package/esm2022/label/acorex-components-label.mjs +0 -5
  444. package/esm2022/label/index.mjs +0 -3
  445. package/esm2022/label/lib/label.component.mjs +0 -78
  446. package/esm2022/label/lib/label.module.mjs +0 -21
  447. package/esm2022/list/acorex-components-list.mjs +0 -5
  448. package/esm2022/list/index.mjs +0 -3
  449. package/esm2022/list/lib/list.component.mjs +0 -295
  450. package/esm2022/list/lib/list.module.mjs +0 -23
  451. package/esm2022/loading/acorex-components-loading.mjs +0 -5
  452. package/esm2022/loading/index.mjs +0 -7
  453. package/esm2022/loading/lib/loading-spinner.component.mjs +0 -62
  454. package/esm2022/loading/lib/loading.component.mjs +0 -80
  455. package/esm2022/loading/lib/loading.config.mjs +0 -17
  456. package/esm2022/loading/lib/loading.directive.mjs +0 -39
  457. package/esm2022/loading/lib/loading.module.mjs +0 -27
  458. package/esm2022/loading/lib/loading.service.mjs +0 -123
  459. package/esm2022/loading-dialog/acorex-components-loading-dialog.mjs +0 -5
  460. package/esm2022/loading-dialog/index.mjs +0 -5
  461. package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +0 -2
  462. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +0 -98
  463. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +0 -27
  464. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +0 -37
  465. package/esm2022/map/acorex-components-map.mjs +0 -5
  466. package/esm2022/map/index.mjs +0 -3
  467. package/esm2022/map/lib/map.component.mjs +0 -182
  468. package/esm2022/map/lib/map.module.mjs +0 -18
  469. package/esm2022/media-viewer/acorex-components-media-viewer.mjs +0 -5
  470. package/esm2022/media-viewer/index.mjs +0 -12
  471. package/esm2022/media-viewer/lib/media-viewer-container/media-viewer-container.component.mjs +0 -52
  472. package/esm2022/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.mjs +0 -37
  473. package/esm2022/media-viewer/lib/media-viewer-thumbnail/media-viewer-thumbnail.component.mjs +0 -24
  474. package/esm2022/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.mjs +0 -19
  475. package/esm2022/media-viewer/lib/media-viewer-tools/file-info/file-info.component.mjs +0 -21
  476. package/esm2022/media-viewer/lib/media-viewer-tools/full-screen/full-screen.component.mjs +0 -20
  477. package/esm2022/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.mjs +0 -15
  478. package/esm2022/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.mjs +0 -17
  479. package/esm2022/media-viewer/lib/media-viewer-tools/video-player/video-player.component.mjs +0 -19
  480. package/esm2022/media-viewer/lib/media-viewer-type-registry.service.mjs +0 -20
  481. package/esm2022/media-viewer/lib/media-viewer-types.mjs +0 -10
  482. package/esm2022/media-viewer/lib/media-viewer.module.mjs +0 -140
  483. package/esm2022/media-viewer/lib/media-viewer.service.mjs +0 -15
  484. package/esm2022/menu/acorex-components-menu.mjs +0 -5
  485. package/esm2022/menu/index.mjs +0 -7
  486. package/esm2022/menu/lib/context-menu.component.mjs +0 -251
  487. package/esm2022/menu/lib/menu-item.component.mjs +0 -310
  488. package/esm2022/menu/lib/menu.component.mjs +0 -58
  489. package/esm2022/menu/lib/menu.module.mjs +0 -28
  490. package/esm2022/menu/lib/menu.service.mjs +0 -19
  491. package/esm2022/menu/lib/menu.types.mjs +0 -14
  492. package/esm2022/nav/acorex-components-nav.mjs +0 -5
  493. package/esm2022/nav/index.mjs +0 -4
  494. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +0 -63
  495. package/esm2022/nav/lib/nav.component.mjs +0 -16
  496. package/esm2022/nav/lib/nav.module.mjs +0 -23
  497. package/esm2022/navbar/acorex-components-navbar.mjs +0 -5
  498. package/esm2022/navbar/index.mjs +0 -3
  499. package/esm2022/navbar/lib/navbar.component.mjs +0 -23
  500. package/esm2022/navbar/lib/navbar.module.mjs +0 -18
  501. package/esm2022/notification/acorex-components-notification.mjs +0 -5
  502. package/esm2022/notification/index.mjs +0 -6
  503. package/esm2022/notification/lib/notification.class.mjs +0 -2
  504. package/esm2022/notification/lib/notification.component.mjs +0 -110
  505. package/esm2022/notification/lib/notification.config.mjs +0 -21
  506. package/esm2022/notification/lib/notification.module.mjs +0 -28
  507. package/esm2022/notification/lib/notification.service.mjs +0 -195
  508. package/esm2022/number-box/acorex-components-number-box.mjs +0 -5
  509. package/esm2022/number-box/index.mjs +0 -3
  510. package/esm2022/number-box/lib/number-box.component.mjs +0 -378
  511. package/esm2022/number-box/lib/number-box.module.mjs +0 -25
  512. package/esm2022/otp/acorex-components-otp.mjs +0 -5
  513. package/esm2022/otp/index.mjs +0 -4
  514. package/esm2022/otp/lib/otp.class.mjs +0 -4
  515. package/esm2022/otp/lib/otp.component.mjs +0 -195
  516. package/esm2022/otp/lib/otp.module.mjs +0 -22
  517. package/esm2022/page/acorex-components-page.mjs +0 -5
  518. package/esm2022/page/index.mjs +0 -4
  519. package/esm2022/page/lib/base-page.class.mjs +0 -62
  520. package/esm2022/page/lib/page.component.mjs +0 -58
  521. package/esm2022/page/lib/page.module.mjs +0 -18
  522. package/esm2022/paint/acorex-components-paint.mjs +0 -5
  523. package/esm2022/paint/index.mjs +0 -7
  524. package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +0 -41
  525. package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +0 -15
  526. package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +0 -36
  527. package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +0 -56
  528. package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +0 -158
  529. package/esm2022/paint/lib/paint/paint.service.mjs +0 -16
  530. package/esm2022/paint/lib/paint.module.mjs +0 -62
  531. package/esm2022/password-box/acorex-components-password-box.mjs +0 -5
  532. package/esm2022/password-box/index.mjs +0 -4
  533. package/esm2022/password-box/lib/password-box.component.mjs +0 -93
  534. package/esm2022/password-box/lib/password-box.module.mjs +0 -42
  535. package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +0 -71
  536. package/esm2022/phone-box/acorex-components-phone-box.mjs +0 -5
  537. package/esm2022/phone-box/index.mjs +0 -3
  538. package/esm2022/phone-box/lib/phone-box.component.mjs +0 -207
  539. package/esm2022/phone-box/lib/phone-box.module.mjs +0 -44
  540. package/esm2022/picker/acorex-components-picker.mjs +0 -5
  541. package/esm2022/picker/index.mjs +0 -4
  542. package/esm2022/picker/lib/picker-column.directive.mjs +0 -66
  543. package/esm2022/picker/lib/picker.component.mjs +0 -193
  544. package/esm2022/picker/lib/picker.module.mjs +0 -22
  545. package/esm2022/popover/acorex-components-popover.mjs +0 -5
  546. package/esm2022/popover/index.mjs +0 -3
  547. package/esm2022/popover/lib/popover.component.mjs +0 -525
  548. package/esm2022/popover/lib/popover.module.mjs +0 -19
  549. package/esm2022/popup/acorex-components-popup.mjs +0 -5
  550. package/esm2022/popup/index.mjs +0 -5
  551. package/esm2022/popup/lib/popup.component.mjs +0 -178
  552. package/esm2022/popup/lib/popup.interface.mjs +0 -2
  553. package/esm2022/popup/lib/popup.module.mjs +0 -45
  554. package/esm2022/popup/lib/popup.service.mjs +0 -69
  555. package/esm2022/progress-bar/acorex-components-progress-bar.mjs +0 -5
  556. package/esm2022/progress-bar/index.mjs +0 -3
  557. package/esm2022/progress-bar/lib/progress-bar.component.mjs +0 -86
  558. package/esm2022/progress-bar/lib/progress-bar.module.mjs +0 -19
  559. package/esm2022/qrcode/acorex-components-qrcode.mjs +0 -5
  560. package/esm2022/qrcode/index.mjs +0 -4
  561. package/esm2022/qrcode/lib/qrcode.class.mjs +0 -12
  562. package/esm2022/qrcode/lib/qrcode.component.mjs +0 -93
  563. package/esm2022/qrcode/lib/qrcode.module.mjs +0 -18
  564. package/esm2022/radio/acorex-components-radio.mjs +0 -5
  565. package/esm2022/radio/index.mjs +0 -3
  566. package/esm2022/radio/lib/radio.component.mjs +0 -57
  567. package/esm2022/radio/lib/radio.module.mjs +0 -22
  568. package/esm2022/range-slider/acorex-components-range-slider.mjs +0 -5
  569. package/esm2022/range-slider/index.mjs +0 -4
  570. package/esm2022/range-slider/lib/range-slider.class.mjs +0 -3
  571. package/esm2022/range-slider/lib/range-slider.component.mjs +0 -650
  572. package/esm2022/range-slider/lib/range-slider.module.mjs +0 -18
  573. package/esm2022/rate-picker/acorex-components-rate-picker.mjs +0 -5
  574. package/esm2022/rate-picker/index.mjs +0 -3
  575. package/esm2022/rate-picker/lib/calculatePercentage.mjs +0 -45
  576. package/esm2022/rate-picker/lib/rate-picker.component.mjs +0 -253
  577. package/esm2022/rate-picker/lib/rate-picker.module.mjs +0 -18
  578. package/esm2022/result/acorex-components-result.mjs +0 -5
  579. package/esm2022/result/index.mjs +0 -3
  580. package/esm2022/result/lib/result.component.mjs +0 -41
  581. package/esm2022/result/lib/result.module.mjs +0 -19
  582. package/esm2022/routing-progress/acorex-components-routing-progress.mjs +0 -5
  583. package/esm2022/routing-progress/index.mjs +0 -3
  584. package/esm2022/routing-progress/lib/routing-progress.component.mjs +0 -72
  585. package/esm2022/routing-progress/lib/routing-progress.module.mjs +0 -21
  586. package/esm2022/scheduler/acorex-components-scheduler.mjs +0 -5
  587. package/esm2022/scheduler/index.mjs +0 -5
  588. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +0 -72
  589. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +0 -16
  590. package/esm2022/scheduler/lib/scheduler.component.mjs +0 -54
  591. package/esm2022/scheduler/lib/scheduler.module.mjs +0 -27
  592. package/esm2022/scss/acorex-components-scss.mjs +0 -5
  593. package/esm2022/scss/index.mjs +0 -2
  594. package/esm2022/scss/lib/scss.module.mjs +0 -15
  595. package/esm2022/search-box/acorex-components-search-box.mjs +0 -5
  596. package/esm2022/search-box/index.mjs +0 -3
  597. package/esm2022/search-box/lib/search-box.component.mjs +0 -90
  598. package/esm2022/search-box/lib/search-box.module.mjs +0 -46
  599. package/esm2022/select-box/acorex-components-select-box.mjs +0 -5
  600. package/esm2022/select-box/index.mjs +0 -3
  601. package/esm2022/select-box/lib/select-box.component.mjs +0 -368
  602. package/esm2022/select-box/lib/select-box.module.mjs +0 -69
  603. package/esm2022/selection-list/acorex-components-selection-list.mjs +0 -5
  604. package/esm2022/selection-list/index.mjs +0 -3
  605. package/esm2022/selection-list/lib/selection-list.component.mjs +0 -173
  606. package/esm2022/selection-list/lib/selection-list.module.mjs +0 -24
  607. package/esm2022/side-menu/acorex-components-side-menu.mjs +0 -5
  608. package/esm2022/side-menu/index.mjs +0 -4
  609. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.component.mjs +0 -87
  610. package/esm2022/side-menu/lib/side-menu.component.mjs +0 -16
  611. package/esm2022/side-menu/lib/side-menu.module.mjs +0 -43
  612. package/esm2022/skeleton/acorex-components-skeleton.mjs +0 -5
  613. package/esm2022/skeleton/index.mjs +0 -3
  614. package/esm2022/skeleton/lib/skeleton.component.mjs +0 -34
  615. package/esm2022/skeleton/lib/skeleton.module.mjs +0 -18
  616. package/esm2022/slider/acorex-components-slider.mjs +0 -5
  617. package/esm2022/slider/index.mjs +0 -3
  618. package/esm2022/slider/lib/slider.component.mjs +0 -163
  619. package/esm2022/slider/lib/slider.module.mjs +0 -23
  620. package/esm2022/step-wizard/acorex-components-step-wizard.mjs +0 -5
  621. package/esm2022/step-wizard/index.mjs +0 -6
  622. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +0 -70
  623. package/esm2022/step-wizard/lib/step-wizard.class.mjs +0 -2
  624. package/esm2022/step-wizard/lib/step-wizard.component.mjs +0 -151
  625. package/esm2022/step-wizard/lib/step-wizard.directive.mjs +0 -28
  626. package/esm2022/step-wizard/lib/step-wizard.module.mjs +0 -25
  627. package/esm2022/switch/acorex-components-switch.mjs +0 -5
  628. package/esm2022/switch/index.mjs +0 -4
  629. package/esm2022/switch/lib/switch-content.component.mjs +0 -19
  630. package/esm2022/switch/lib/switch.component.mjs +0 -54
  631. package/esm2022/switch/lib/switch.module.mjs +0 -21
  632. package/esm2022/tabs/acorex-components-tabs.mjs +0 -5
  633. package/esm2022/tabs/index.mjs +0 -6
  634. package/esm2022/tabs/lib/tab-content.directive.mjs +0 -28
  635. package/esm2022/tabs/lib/tab-item.component.mjs +0 -149
  636. package/esm2022/tabs/lib/tabs.class.mjs +0 -4
  637. package/esm2022/tabs/lib/tabs.component.mjs +0 -183
  638. package/esm2022/tabs/lib/tabs.module.mjs +0 -25
  639. package/esm2022/tag/acorex-components-tag.mjs +0 -5
  640. package/esm2022/tag/index.mjs +0 -3
  641. package/esm2022/tag/lib/tag.component.mjs +0 -25
  642. package/esm2022/tag/lib/tag.module.mjs +0 -19
  643. package/esm2022/text-area/acorex-components-text-area.mjs +0 -5
  644. package/esm2022/text-area/index.mjs +0 -3
  645. package/esm2022/text-area/lib/text-area.component.mjs +0 -76
  646. package/esm2022/text-area/lib/text-area.module.mjs +0 -19
  647. package/esm2022/text-box/acorex-components-text-box.mjs +0 -5
  648. package/esm2022/text-box/index.mjs +0 -4
  649. package/esm2022/text-box/lib/mask-options.directive.mjs +0 -29
  650. package/esm2022/text-box/lib/text-box.component.mjs +0 -153
  651. package/esm2022/text-box/lib/text-box.module.mjs +0 -24
  652. package/esm2022/time-line/acorex-components-time-line.mjs +0 -5
  653. package/esm2022/time-line/index.mjs +0 -4
  654. package/esm2022/time-line/lib/time-line-item.component.mjs +0 -47
  655. package/esm2022/time-line/lib/time-line.component.mjs +0 -28
  656. package/esm2022/time-line/lib/time-line.module.mjs +0 -19
  657. package/esm2022/toast/acorex-components-toast.mjs +0 -5
  658. package/esm2022/toast/index.mjs +0 -6
  659. package/esm2022/toast/lib/toast.class.mjs +0 -2
  660. package/esm2022/toast/lib/toast.component.mjs +0 -86
  661. package/esm2022/toast/lib/toast.config.mjs +0 -26
  662. package/esm2022/toast/lib/toast.module.mjs +0 -27
  663. package/esm2022/toast/lib/toast.service.mjs +0 -235
  664. package/esm2022/tooltip/acorex-components-tooltip.mjs +0 -5
  665. package/esm2022/tooltip/index.mjs +0 -4
  666. package/esm2022/tooltip/lib/tooltip.component.mjs +0 -20
  667. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -80
  668. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -22
  669. package/esm2022/tree-view/acorex-components-tree-view.mjs +0 -5
  670. package/esm2022/tree-view/index.mjs +0 -4
  671. package/esm2022/tree-view/lib/tree-view-item.component.mjs +0 -86
  672. package/esm2022/tree-view/lib/tree-view.class.mjs +0 -4
  673. package/esm2022/tree-view/lib/tree-view.component.mjs +0 -338
  674. package/esm2022/tree-view/lib/tree-view.component.module.mjs +0 -50
  675. package/esm2022/uploader/acorex-components-uploader.mjs +0 -5
  676. package/esm2022/uploader/index.mjs +0 -9
  677. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +0 -27
  678. package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +0 -55
  679. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +0 -27
  680. package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +0 -24
  681. package/esm2022/uploader/lib/uploader-zone.directive.mjs +0 -121
  682. package/esm2022/uploader/lib/uploader.models.mjs +0 -100
  683. package/esm2022/uploader/lib/uploader.module.mjs +0 -76
  684. package/esm2022/uploader/lib/uploader.service.mjs +0 -125
  685. package/esm2022/wysiwyg/acorex-components-wysiwyg.mjs +0 -5
  686. package/esm2022/wysiwyg/index.mjs +0 -11
  687. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +0 -137
  688. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +0 -21
  689. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +0 -56
  690. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +0 -76
  691. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +0 -129
  692. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +0 -30
  693. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +0 -43
  694. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +0 -64
  695. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +0 -49
  696. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +0 -17
  697. package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +0 -75
@@ -1,8 +0,0 @@
1
- export * from './lib/color-palette-input.component';
2
- export * from './lib/color-palette-picker.component';
3
- export * from './lib/color-palette-preview.component';
4
- export * from './lib/color-palette-swatches.component';
5
- export * from './lib/color-palette.class';
6
- export * from './lib/color-palette.component';
7
- export * from './lib/color-palette.module';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xvci1wYWxldHRlLXByZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUtc3dhdGNoZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGFsZXR0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sb3ItcGFsZXR0ZS5tb2R1bGUnO1xuIl19
@@ -1,157 +0,0 @@
1
- import { MXBaseComponent } from '@acorex/components/common';
2
- import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
3
- import { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation, } from '@angular/core';
4
- import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@acorex/core/utils";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@acorex/components/text-box";
9
- import * as i4 from "@acorex/components/number-box";
10
- import * as i5 from "./color-palette.class";
11
- /**
12
- * Component for selecting colors from a palette.
13
- *
14
- * @category Components
15
- */
16
- export class AXColorPaletteInputComponent extends MXBaseComponent {
17
- /**
18
- * @ignore
19
- */
20
- constructor(_parent, _unsubscriber) {
21
- super();
22
- this._parent = _parent;
23
- this._unsubscriber = _unsubscriber;
24
- this.isValid = true;
25
- this._rgba = {
26
- r: 0,
27
- g: 0,
28
- b: 0,
29
- a: 0,
30
- };
31
- this._hex = '';
32
- /**
33
- * @ignore
34
- */
35
- this._colorMode = 'hex';
36
- /**
37
- * @ignore
38
- */
39
- this._hexMaskOptions = {
40
- mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,
41
- prepare: (str, m, a) => {
42
- return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();
43
- },
44
- };
45
- _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
46
- this.applyParent(e.isUserInteraction);
47
- });
48
- _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
49
- this.cdr.markForCheck();
50
- });
51
- }
52
- /**
53
- * @ignore
54
- */
55
- applyParent(u = false) {
56
- const value = this._parent.value;
57
- if (!value) {
58
- this._hex = '';
59
- this._rgba = {
60
- r: null,
61
- g: null,
62
- b: null,
63
- a: null,
64
- };
65
- }
66
- else {
67
- if (this._colorMode == 'rgba') {
68
- Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));
69
- }
70
- if (this._colorMode == 'hex') {
71
- this._hex = AXColorUtil.toString(value, 'hex');
72
- }
73
- if (!u && this._rgba.a != 1) {
74
- this._colorMode = 'rgba';
75
- }
76
- }
77
- this.checkValid();
78
- this.cdr.detectChanges();
79
- }
80
- /**
81
- * @ignore
82
- */
83
- ngAfterViewInit() {
84
- this.applyParent();
85
- }
86
- /**
87
- * @ignore
88
- */
89
- _handleChangeInputMode() {
90
- switch (this._colorMode) {
91
- case 'rgba':
92
- this._colorMode = 'hex';
93
- this.applyParent(true);
94
- break;
95
- default:
96
- this._colorMode = 'rgba';
97
- this.applyParent(true);
98
- break;
99
- }
100
- }
101
- /**
102
- * @ignore
103
- */
104
- _handleRGBAValueChanged(e) {
105
- if (e.isUserInteraction) {
106
- this._rgba[e.name] = e.value;
107
- const { r, g, b, a } = this._rgba;
108
- const _color = `rgba(${r},${g},${b},${a})`;
109
- this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);
110
- }
111
- }
112
- /**
113
- * @ignore
114
- */
115
- _handleHEXAValueChanged(e) {
116
- if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {
117
- this._parent.commitValue(e.value, e.isUserInteraction);
118
- }
119
- }
120
- /**
121
- * @ignore
122
- */
123
- checkValid() {
124
- this.isValid = AXColorUtil.isValid(this._hex);
125
- }
126
- /**
127
- * @ignore
128
- */
129
- get __hostClass() {
130
- return `ax-color-palette-input`;
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPaletteInputComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXColorPaletteInputComponent, selector: "ax-color-palette-input", host: { properties: { "class": "this.__hostClass" } }, providers: [
134
- {
135
- provide: AXColorPaletteChildComponent,
136
- useExisting: AXColorPaletteInputComponent,
137
- },
138
- AXUnsubscriber,
139
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "changeOnScroll", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPaletteInputComponent, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'ax-color-palette-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
144
- {
145
- provide: AXColorPaletteChildComponent,
146
- useExisting: AXColorPaletteInputComponent,
147
- },
148
- AXUnsubscriber,
149
- ], template: "<div class=\"palette-inputs\">\n @switch (_colorMode) {\n @case ('hex') {\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [ngModel]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\"\n >\n </ax-text-box>\n <label>HEX</label>\n </div>\n }\n @case ('rgba') {\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"r\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"g\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"b\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [ngModel]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n name=\"a\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [ngModel]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\"\n >\n </ax-number-box>\n <label>A</label>\n </div>\n }\n }\n</div>\n<button\n type=\"button\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\"\n>\n <span class=\"ax-icon ax-icon-unfold-more ax-bold\"></span>\n</button>\n", styles: [".ax-bold{font-weight:700}\n"] }]
150
- }], ctorParameters: () => [{ type: i5.AXColorPaletteParentComponent, decorators: [{
151
- type: Inject,
152
- args: [AXColorPaletteParentComponent]
153
- }] }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
154
- type: HostBinding,
155
- args: ['class']
156
- }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxlQUFlO0lBMkIvRDs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFoQ3ZDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixVQUFLLEdBQW1EO1lBQ3RELENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVGLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVjs7V0FFRztRQUNPLGVBQVUsR0FBbUIsS0FBSyxDQUFDO1FBRTdD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Q2xDSCw0akZBMkZBOzsyRkR2RGEsNEJBQTRCO2tCQWxCeEMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBT25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyw4QkFBOEI7eUJBQzFDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQWlDRSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFnRzNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENvbG9yVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGNvbG9ycyBmcm9tIGEgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IGBcbiAgICAuYXgtYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlSW5wdXRDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBpc1ZhbGlkID0gdHJ1ZTtcblxuICBfcmdiYTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXIgfSA9IHtcbiAgICByOiAwLFxuICAgIGc6IDAsXG4gICAgYjogMCxcbiAgICBhOiAwLFxuICB9O1xuXG4gIF9oZXggPSAnJztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfY29sb3JNb2RlOiAnaGV4JyB8ICdyZ2JhJyA9ICdoZXgnO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oZXhNYXNrT3B0aW9uczogQVhNYXNrT3B0aW9ucyA9IHtcbiAgICBtYXNrOiAvXiNbMC05YS1mXXswLDZ9WzAtOWEtZl17MCwyfSQvaSxcbiAgICBwcmVwYXJlOiAoc3RyOiBhbnksIG06IGFueSwgYTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gbS50eXBlZFZhbHVlPy5zdGFydHNXaXRoKCcjJykgfHwgc3RyID09ICcjJyA/IHN0ci50cmltKCkgOiAnIycgKyBzdHIudHJpbSgpO1xuICAgIH0sXG4gIH07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQub25WYWx1ZUNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5hcHBseVBhcmVudChlLmlzVXNlckludGVyYWN0aW9uKTtcbiAgICB9KTtcbiAgICBfcGFyZW50Lm9uT3B0aW9uQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVBhcmVudCh1ID0gZmFsc2UpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3BhcmVudC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl9oZXggPSAnJztcbiAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgIHI6IG51bGwsXG4gICAgICAgIGc6IG51bGwsXG4gICAgICAgIGI6IG51bGwsXG4gICAgICAgIGE6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fY29sb3JNb2RlID09ICdyZ2JhJykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKHZhbHVlLCAncmdiYScpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9jb2xvck1vZGUgPT0gJ2hleCcpIHtcbiAgICAgICAgdGhpcy5faGV4ID0gQVhDb2xvclV0aWwudG9TdHJpbmcodmFsdWUsICdoZXgnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdSAmJiB0aGlzLl9yZ2JhLmEgIT0gMSkge1xuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAncmdiYSc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tWYWxpZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXBwbHlQYXJlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuX2NvbG9yTW9kZSkge1xuICAgICAgY2FzZSAncmdiYSc6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdoZXgnO1xuICAgICAgICB0aGlzLmFwcGx5UGFyZW50KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdyZ2JhJztcbiAgICAgICAgdGhpcy5hcHBseVBhcmVudCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4pIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fcmdiYVtlLm5hbWVdID0gZS52YWx1ZTtcbiAgICAgIGNvbnN0IHsgciwgZywgYiwgYSB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7YX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8c3RyaW5nPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uICYmIGUudmFsdWU/LnRyaW0oKSAhPSB0aGlzLl9oZXg/LnRyaW0oKSkge1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKGUudmFsdWUsIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkKCkge1xuICAgIHRoaXMuaXNWYWxpZCA9IEFYQ29sb3JVdGlsLmlzVmFsaWQodGhpcy5faGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1jb2xvci1wYWxldHRlLWlucHV0YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhbGV0dGUtaW5wdXRzXCI+XG4gIEBzd2l0Y2ggKF9jb2xvck1vZGUpIHtcbiAgICBAY2FzZSAoJ2hleCcpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9oZXhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3N0YXRlXT1cImlzVmFsaWQgPyAnY2xlYXInIDogJ2Vycm9yJ1wiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFttYXNrLW9wdGlvbnNdPVwiX2hleE1hc2tPcHRpb25zXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICA8bGFiZWw+SEVYPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ3JnYmEnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJyXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjI1NVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiX3JnYmEuclwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVJHQkFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+UjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgbmFtZT1cImdcIlxuICAgICAgICAgIFttaW5WYWx1ZV09XCIwXCJcbiAgICAgICAgICBbbWF4VmFsdWVdPVwiMjU1XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfcmdiYS5nXCJcbiAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxsYWJlbD5HPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBuYW1lPVwiYlwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkI8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJhXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjFcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmFcIlxuICAgICAgICAgIFtkZWNpbWFsc109XCIyXCJcbiAgICAgICAgICBbc3RlcF09XCIwLjFcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkE8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICB9XG48L2Rpdj5cbjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb24gYXgtc21cIlxuICAoY2xpY2spPVwiX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11bmZvbGQtbW9yZSBheC1ib2xkXCI+PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -1,277 +0,0 @@
1
- import { MXBaseComponent } from '@acorex/components/common';
2
- import { isBrowser } from '@acorex/core/platform';
3
- import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
4
- import { ChangeDetectionStrategy, Component, HostBinding, Inject, signal, viewChild, ViewEncapsulation, } from '@angular/core';
5
- import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@acorex/core/utils";
8
- import * as i2 from "@angular/forms";
9
- import * as i3 from "@acorex/components/range-slider";
10
- import * as i4 from "./color-palette.class";
11
- /**
12
- * Component for picking colors from a color palette.
13
- *
14
- * @category Components
15
- */
16
- export class AXColorPalettePickerComponent extends MXBaseComponent {
17
- /**
18
- * @ignore
19
- */
20
- constructor(_parent, _unsubscriber) {
21
- super();
22
- this._parent = _parent;
23
- this._unsubscriber = _unsubscriber;
24
- this._rgba = {
25
- r: 0,
26
- g: 0,
27
- b: 0,
28
- a: 0,
29
- };
30
- this.circle = viewChild('circle');
31
- this.changingColor = signal(false);
32
- /**
33
- * @ignore
34
- */
35
- this._gradient = 0;
36
- /**
37
- * @ignore
38
- */
39
- this._bgColor = '#F00';
40
- /**
41
- * @ignore
42
- */
43
- this._gradientColors = [
44
- { color: 'rgb(255, 0, 0)', pos: 0 },
45
- { color: 'rgb(255, 255, 0)', pos: 0.17 },
46
- { color: 'rgb(0, 255, 0)', pos: 0.33 },
47
- { color: 'rgb(0, 255, 255)', pos: 0.5 },
48
- { color: 'rgb(0, 0, 255)', pos: 0.67 },
49
- { color: 'rgb(255, 0, 255)', pos: 0.83 },
50
- { color: 'rgb(255, 0, 0)', pos: 1 },
51
- ];
52
- /**
53
- * @ignore
54
- */
55
- this._gradients = AXColorUtil.gradient(this._gradientColors);
56
- /**
57
- * @ignore
58
- */
59
- this._colors = this._gradients.rgb(100);
60
- /**
61
- * @ignore
62
- */
63
- this.dragPosition = { x: 0, y: 0 };
64
- _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
65
- this._handleParentColorChanged();
66
- });
67
- _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
68
- this.cdr.markForCheck();
69
- });
70
- }
71
- /**
72
- * @ignore
73
- */
74
- setHSV() {
75
- const hsv = AXColorUtil.to(this._rgba, 'hsva');
76
- const sortedH = this._colors.map((c) => c.toHsv().h);
77
- this._gradient = sortedH.findIndex((c) => {
78
- return Math.round(c) >= Math.round(hsv.h);
79
- });
80
- this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
81
- this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
82
- }
83
- /**
84
- * @ignore
85
- */
86
- _handleParentColorChanged() {
87
- const color = this._parent.value;
88
- if (!color) {
89
- this._rgba = {
90
- r: 0,
91
- g: 0,
92
- b: 0,
93
- a: 0,
94
- };
95
- }
96
- else {
97
- if (!AXColorUtil.equal(color, this._rgba)) {
98
- Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));
99
- }
100
- }
101
- this.setHSV();
102
- this.cdr.detectChanges();
103
- }
104
- /**
105
- * @ignore
106
- */
107
- _handleAlphaChanged(e) {
108
- if (e != this._rgba.a) {
109
- const { r, g, b } = this._rgba;
110
- const _color = `rgba(${r},${g},${b},${e})`;
111
- this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), true);
112
- }
113
- }
114
- /**
115
- * @ignore
116
- */
117
- _handleGradientChanged(e) {
118
- if (e != this._gradient) {
119
- const { s, v } = AXColorUtil.to(this._rgba, 'hsva');
120
- const { h } = this._colors[e].toHsv();
121
- this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), true);
122
- }
123
- }
124
- /**
125
- * @ignore
126
- */
127
- // protected _handleSurfaceClick(e: MouseEvent) {
128
- // if (this._parent.disabled || this._parent.readonly) {
129
- // e.preventDefault();
130
- // e.stopPropagation();
131
- // return;
132
- // }
133
- // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
134
- // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');
135
- // const x = e.offsetX;
136
- // const y = e.offsetY;
137
- // this.setColorByXY(x, y);
138
- // }
139
- /**
140
- * @ignore
141
- */
142
- // protected _handleDrag() {
143
- // if (this._parent.disabled || this._parent.readonly) {
144
- // return;
145
- // }
146
- // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
147
- // const sb = surface.getBoundingClientRect();
148
- // const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');
149
- // const pb = pointer.getBoundingClientRect();
150
- // const w = pb.width / 2;
151
- // let x = pb.left - sb.left + w;
152
- // let y = pb.top - sb.top + w;
153
- // //
154
- // x = x < 0 ? 0 : x;
155
- // x = x > sb.width ? sb.width : x;
156
- // //
157
- // y = y < 0 ? 0 : y;
158
- // y = y > sb.height ? sb.height : y;
159
- // //
160
- // this.setColorByXY(x, y);
161
- // }
162
- /**
163
- * @ignore
164
- */
165
- // protected _handleDragMove(event: any) {
166
- // if (this._parent.disabled || this._parent.readonly) {
167
- // return;
168
- // }
169
- // const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');
170
- // const sb = surface.getBoundingClientRect();
171
- // // Get the position of the drag event relative to the surface
172
- // const dragPosition = event.pointerPosition;
173
- // // Calculate x and y offsets relative to the surface
174
- // let x = dragPosition.x - sb.left; // Pointer x position
175
- // let y = dragPosition.y - sb.top; // Pointer y position
176
- // // Clamp values to be within bounds
177
- // // Adjust the clamping logic to prevent overshooting by taking the pointer size into account
178
- // const pointerWidth = 20; // Assuming a pointer width of 20px, adjust as necessary
179
- // const pointerHeight = 20; // Assuming a pointer height of 20px, adjust as necessary
180
- // x = Math.max(0 + pointerWidth / 2, Math.min(x, sb.width - pointerWidth / 2)); // Center the pointer
181
- // y = Math.max(0 + pointerHeight / 2, Math.min(y, sb.height - pointerHeight / 2)); // Center the pointer
182
- // // Call the method to set the color based on the new x and y
183
- // this.setColorByXY(x, y);
184
- // }
185
- /**
186
- * @ignore
187
- */
188
- setColorByXY(x, y) {
189
- const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
190
- const sb = surface.getBoundingClientRect();
191
- //
192
- const { h, a } = AXColorUtil.to(this._bgColor, 'hsva');
193
- const hsva = {
194
- h,
195
- s: x / sb.width,
196
- v: (sb.height - y) / sb.height,
197
- a,
198
- };
199
- this._parent.commitValue(AXColorUtil.toString(hsva, 'rgba'), true);
200
- }
201
- /**
202
- * @ignore
203
- */
204
- setPointerByPercent(x, y) {
205
- if (isBrowser()) {
206
- const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
207
- if (!surface)
208
- return;
209
- const sb = surface?.getBoundingClientRect();
210
- const pointer = this.getHostElement().querySelector('.ax-color-box-pointer');
211
- const pb = pointer?.getBoundingClientRect();
212
- const w = pb.width / 2;
213
- const width = sb.width; //+ pb.width
214
- const height = sb.height; // + pb.width
215
- this.dragPosition = {
216
- x: (x * width) / 100 - w,
217
- y: height - (y * height) / 100 - w,
218
- };
219
- }
220
- }
221
- /**
222
- * @ignore
223
- */
224
- get __hostClass() {
225
- return `ax-color-palette-picker`;
226
- }
227
- handleMove(event) {
228
- if (!this.changingColor())
229
- return;
230
- this.placePointer(event);
231
- }
232
- handleDown(event) {
233
- if (this._parent.disabled || this._parent.readonly)
234
- return;
235
- this.placePointer(event);
236
- this.changingColor.set(true);
237
- }
238
- handleUp() {
239
- this.changingColor.set(false);
240
- }
241
- placePointer(event) {
242
- const circleElement = this.circle().nativeElement;
243
- const parentStats = circleElement.parentElement.getBoundingClientRect();
244
- const circleHeight = circleElement.offsetHeight / 2;
245
- const circleWidth = circleElement.offsetWidth / 2;
246
- const top = event.clientY - parentStats.top - circleHeight;
247
- const left = event.clientX - parentStats.left - circleWidth;
248
- circleElement.style.top = `${Math.max(0 - circleHeight, Math.min(top, parentStats.height - circleHeight))}px`;
249
- circleElement.style.left = `${Math.max(0 - circleWidth, Math.min(left, parentStats.width - circleWidth))}px`;
250
- this.setColorByXY(event.clientX - parentStats.left, event.clientY - parentStats.top);
251
- }
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePickerComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.0", type: AXColorPalettePickerComponent, selector: "ax-color-palette-picker", host: { properties: { "class": "this.__hostClass" } }, providers: [
254
- {
255
- provide: AXColorPaletteChildComponent,
256
- useExisting: AXColorPalettePickerComponent,
257
- },
258
- AXUnsubscriber,
259
- ], viewQueries: [{ propertyName: "circle", first: true, predicate: ["circle"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-box-overlay-trans\">\n <div\n class=\"ax-color-box-overlay\"\n [style.background-color]=\"_bgColor\"\n (mousemove)=\"handleMove($event)\"\n (mousedown)=\"handleDown($event)\"\n (mouseup)=\"handleUp()\"\n (mouseleave)=\"handleUp()\"\n >\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\"></div>\n <div #circle class=\"ax-color-box-pointer\"></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
260
- }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
262
- type: Component,
263
- args: [{ selector: 'ax-color-palette-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
264
- {
265
- provide: AXColorPaletteChildComponent,
266
- useExisting: AXColorPalettePickerComponent,
267
- },
268
- AXUnsubscriber,
269
- ], template: "<div class=\"ax-color-box-overlay-trans\">\n <div\n class=\"ax-color-box-overlay\"\n [style.background-color]=\"_bgColor\"\n (mousemove)=\"handleMove($event)\"\n (mousedown)=\"handleDown($event)\"\n (mouseup)=\"handleUp()\"\n (mouseleave)=\"handleUp()\"\n >\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\"></div>\n <div #circle class=\"ax-color-box-pointer\"></div>\n </div>\n</div>\n\n<ax-range-slider\n class=\"ax-color-box-gradient\"\n [min]=\"0\"\n [max]=\"100\"\n [mode]=\"'single'\"\n [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleGradientChanged($event)\"\n>\n</ax-range-slider>\n<ax-range-slider\n class=\"ax-color-box-transparent\"\n [min]=\"0\"\n [max]=\"1\"\n [hasStep]=\"false\"\n [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (ngModelChange)=\"_handleAlphaChanged($event)\"\n>\n</ax-range-slider>\n" }]
270
- }], ctorParameters: () => [{ type: i4.AXColorPaletteParentComponent, decorators: [{
271
- type: Inject,
272
- args: [AXColorPaletteParentComponent]
273
- }] }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
274
- type: HostBinding,
275
- args: ['class']
276
- }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFFcEc7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxlQUFlO0lBa0RoRTs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUF2RHZDLFVBQUssR0FBbUQ7WUFDdEQsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRU0sV0FBTSxHQUFHLFNBQVMsQ0FBNkIsUUFB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Z0JBQ3JDLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxjQUFjO1NBQ2YsbUtDL0JILDIvQkFxQ0E7OzJGREphLDZCQUE2QjtrQkFiekMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBRXBCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVywrQkFBK0I7eUJBQzNDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQXdERSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFvTDNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgaXNCcm93c2VyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYQ29sb3JVdGlsLCBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgcGlja2luZyBjb2xvcnMgZnJvbSBhIGNvbG9yIHBhbGV0dGUuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sb3ItcGFsZXR0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG4gIF9yZ2JhOiB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlciB9ID0ge1xuICAgIHI6IDAsXG4gICAgZzogMCxcbiAgICBiOiAwLFxuICAgIGE6IDAsXG4gIH07XG5cbiAgcHJpdmF0ZSBjaXJjbGUgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdjaXJjbGUnKTtcblxuICBwcml2YXRlIGNoYW5naW5nQ29sb3IgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9ncmFkaWVudCA9IDA7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2JnQ29sb3IgPSAnI0YwMCc7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9ncmFkaWVudENvbG9yczogYW55W10gPSBbXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAwIH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDI1NSwgMCknLCBwb3M6IDAuMTcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDI1NSwgMCknLCBwb3M6IDAuMzMgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDI1NSwgMjU1KScsIHBvczogMC41IH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAwLCAyNTUpJywgcG9zOiAwLjY3IH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDI1NSknLCBwb3M6IDAuODMgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDEgfSxcbiAgXTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50cyA9IEFYQ29sb3JVdGlsLmdyYWRpZW50KHRoaXMuX2dyYWRpZW50Q29sb3JzKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbG9ycyA9IHRoaXMuX2dyYWRpZW50cy5yZ2IoMTAwKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBkcmFnUG9zaXRpb24gPSB7IHg6IDAsIHk6IDAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQpXG4gICAgcHVibGljIF9wYXJlbnQ6IEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50LFxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXIsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgX3BhcmVudC5vblZhbHVlQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLl9oYW5kbGVQYXJlbnRDb2xvckNoYW5nZWQoKTtcbiAgICB9KTtcbiAgICBfcGFyZW50Lm9uT3B0aW9uQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRIU1YoKSB7XG4gICAgY29uc3QgaHN2ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgJ2hzdmEnKSBhcyBhbnk7XG4gICAgY29uc3Qgc29ydGVkSCA9IHRoaXMuX2NvbG9ycy5tYXAoKGMpID0+IGMudG9Ic3YoKS5oKTtcbiAgICB0aGlzLl9ncmFkaWVudCA9IHNvcnRlZEguZmluZEluZGV4KChjKSA9PiB7XG4gICAgICByZXR1cm4gTWF0aC5yb3VuZChjKSA+PSBNYXRoLnJvdW5kKGhzdi5oKTtcbiAgICB9KTtcbiAgICB0aGlzLl9iZ0NvbG9yID0gQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoOiBoc3YuaCwgczogMSwgdjogMSwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyk7XG4gICAgdGhpcy5zZXRQb2ludGVyQnlQZXJjZW50KGhzdi5zICogMTAwLCBoc3YudiAqIDEwMCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2hhbmRsZVBhcmVudENvbG9yQ2hhbmdlZCgpIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuX3BhcmVudC52YWx1ZTtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICB0aGlzLl9yZ2JhID0ge1xuICAgICAgICByOiAwLFxuICAgICAgICBnOiAwLFxuICAgICAgICBiOiAwLFxuICAgICAgICBhOiAwLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBWENvbG9yVXRpbC5lcXVhbChjb2xvciwgdGhpcy5fcmdiYSkpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9yZ2JhLCBBWENvbG9yVXRpbC50byhjb2xvciwgJ3JnYmEnKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2V0SFNWKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUFscGhhQ2hhbmdlZChlOiBhbnkpIHtcbiAgICBpZiAoZSAhPSB0aGlzLl9yZ2JhLmEpIHtcbiAgICAgIGNvbnN0IHsgciwgZywgYiB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7ZX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVHcmFkaWVudENoYW5nZWQoZTogYW55KSB7XG4gICAgaWYgKGUgIT0gdGhpcy5fZ3JhZGllbnQpIHtcbiAgICAgIGNvbnN0IHsgcywgdiB9ID0gQVhDb2xvclV0aWwudG8odGhpcy5fcmdiYSwgJ2hzdmEnKSBhcyBhbnk7XG4gICAgICBjb25zdCB7IGggfSA9IHRoaXMuX2NvbG9yc1tlIGFzIG51bWJlcl0udG9Ic3YoKTtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyh7IGgsIHMsIHYsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIC8vIHByb3RlY3RlZCBfaGFuZGxlU3VyZmFjZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgLy8gICBpZiAodGhpcy5fcGFyZW50LmRpc2FibGVkIHx8IHRoaXMuX3BhcmVudC5yZWFkb25seSkge1xuICAvLyAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAvLyAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3QgcG9pbnRlciA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1wb2ludGVyJyk7XG4gIC8vICAgY29uc3QgeCA9IGUub2Zmc2V0WDtcbiAgLy8gICBjb25zdCB5ID0gZS5vZmZzZXRZO1xuICAvLyAgIHRoaXMuc2V0Q29sb3JCeVhZKHgsIHkpO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICAvLyBwcm90ZWN0ZWQgX2hhbmRsZURyYWcoKSB7XG4gIC8vICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAvLyAgIGNvbnN0IHBiID0gcG9pbnRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAvLyAgIGxldCB4ID0gcGIubGVmdCAtIHNiLmxlZnQgKyB3O1xuICAvLyAgIGxldCB5ID0gcGIudG9wIC0gc2IudG9wICsgdztcbiAgLy8gICAvL1xuICAvLyAgIHggPSB4IDwgMCA/IDAgOiB4O1xuICAvLyAgIHggPSB4ID4gc2Iud2lkdGggPyBzYi53aWR0aCA6IHg7XG4gIC8vICAgLy9cbiAgLy8gICB5ID0geSA8IDAgPyAwIDogeTtcbiAgLy8gICB5ID0geSA+IHNiLmhlaWdodCA/IHNiLmhlaWdodCA6IHk7XG4gIC8vICAgLy9cbiAgLy8gICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgLy8gcHJvdGVjdGVkIF9oYW5kbGVEcmFnTW92ZShldmVudDogYW55KSB7XG4gIC8vICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG5cbiAgLy8gICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgLy8gICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmFnIGV2ZW50IHJlbGF0aXZlIHRvIHRoZSBzdXJmYWNlXG4gIC8vICAgY29uc3QgZHJhZ1Bvc2l0aW9uID0gZXZlbnQucG9pbnRlclBvc2l0aW9uO1xuXG4gIC8vICAgLy8gQ2FsY3VsYXRlIHggYW5kIHkgb2Zmc2V0cyByZWxhdGl2ZSB0byB0aGUgc3VyZmFjZVxuICAvLyAgIGxldCB4ID0gZHJhZ1Bvc2l0aW9uLnggLSBzYi5sZWZ0OyAvLyBQb2ludGVyIHggcG9zaXRpb25cbiAgLy8gICBsZXQgeSA9IGRyYWdQb3NpdGlvbi55IC0gc2IudG9wOyAvLyBQb2ludGVyIHkgcG9zaXRpb25cblxuICAvLyAgIC8vIENsYW1wIHZhbHVlcyB0byBiZSB3aXRoaW4gYm91bmRzXG4gIC8vICAgLy8gQWRqdXN0IHRoZSBjbGFtcGluZyBsb2dpYyB0byBwcmV2ZW50IG92ZXJzaG9vdGluZyBieSB0YWtpbmcgdGhlIHBvaW50ZXIgc2l6ZSBpbnRvIGFjY291bnRcbiAgLy8gICBjb25zdCBwb2ludGVyV2lkdGggPSAyMDsgLy8gQXNzdW1pbmcgYSBwb2ludGVyIHdpZHRoIG9mIDIwcHgsIGFkanVzdCBhcyBuZWNlc3NhcnlcbiAgLy8gICBjb25zdCBwb2ludGVySGVpZ2h0ID0gMjA7IC8vIEFzc3VtaW5nIGEgcG9pbnRlciBoZWlnaHQgb2YgMjBweCwgYWRqdXN0IGFzIG5lY2Vzc2FyeVxuXG4gIC8vICAgeCA9IE1hdGgubWF4KDAgKyBwb2ludGVyV2lkdGggLyAyLCBNYXRoLm1pbih4LCBzYi53aWR0aCAtIHBvaW50ZXJXaWR0aCAvIDIpKTsgLy8gQ2VudGVyIHRoZSBwb2ludGVyXG4gIC8vICAgeSA9IE1hdGgubWF4KDAgKyBwb2ludGVySGVpZ2h0IC8gMiwgTWF0aC5taW4oeSwgc2IuaGVpZ2h0IC0gcG9pbnRlckhlaWdodCAvIDIpKTsgLy8gQ2VudGVyIHRoZSBwb2ludGVyXG5cbiAgLy8gICAvLyBDYWxsIHRoZSBtZXRob2QgdG8gc2V0IHRoZSBjb2xvciBiYXNlZCBvbiB0aGUgbmV3IHggYW5kIHlcbiAgLy8gICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRDb2xvckJ5WFkoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICBjb25zdCBzYiA9IHN1cmZhY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy9cbiAgICBjb25zdCB7IGgsIGEgfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX2JnQ29sb3IsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IGhzdmEgPSB7XG4gICAgICBoLFxuICAgICAgczogeCAvIHNiLndpZHRoLFxuICAgICAgdjogKHNiLmhlaWdodCAtIHkpIC8gc2IuaGVpZ2h0LFxuICAgICAgYSxcbiAgICB9O1xuICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhoc3ZhLCAncmdiYScpLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQb2ludGVyQnlQZXJjZW50KHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICAgIGlmICghc3VyZmFjZSkgcmV0dXJuO1xuICAgICAgY29uc3Qgc2IgPSBzdXJmYWNlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAgICAgY29uc3QgcGIgPSBwb2ludGVyPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHcgPSBwYi53aWR0aCAvIDI7XG4gICAgICBjb25zdCB3aWR0aCA9IHNiLndpZHRoOyAvLysgcGIud2lkdGhcbiAgICAgIGNvbnN0IGhlaWdodCA9IHNiLmhlaWdodDsgLy8gKyBwYi53aWR0aFxuICAgICAgdGhpcy5kcmFnUG9zaXRpb24gPSB7XG4gICAgICAgIHg6ICh4ICogd2lkdGgpIC8gMTAwIC0gdyxcbiAgICAgICAgeTogaGVpZ2h0IC0gKHkgKiBoZWlnaHQpIC8gMTAwIC0gdyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWNvbG9yLXBhbGV0dGUtcGlja2VyYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmNoYW5naW5nQ29sb3IoKSkgcmV0dXJuO1xuICAgIHRoaXMucGxhY2VQb2ludGVyKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHJldHVybjtcbiAgICB0aGlzLnBsYWNlUG9pbnRlcihldmVudCk7XG4gICAgdGhpcy5jaGFuZ2luZ0NvbG9yLnNldCh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVVcCgpIHtcbiAgICB0aGlzLmNoYW5naW5nQ29sb3Iuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgcGxhY2VQb2ludGVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgY2lyY2xlRWxlbWVudCA9IHRoaXMuY2lyY2xlKCkubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBwYXJlbnRTdGF0cyA9IGNpcmNsZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IGNpcmNsZUhlaWdodCA9IGNpcmNsZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICBjb25zdCBjaXJjbGVXaWR0aCA9IGNpcmNsZUVsZW1lbnQub2Zmc2V0V2lkdGggLyAyO1xuXG4gICAgY29uc3QgdG9wID0gZXZlbnQuY2xpZW50WSAtIHBhcmVudFN0YXRzLnRvcCAtIGNpcmNsZUhlaWdodDtcbiAgICBjb25zdCBsZWZ0ID0gZXZlbnQuY2xpZW50WCAtIHBhcmVudFN0YXRzLmxlZnQgLSBjaXJjbGVXaWR0aDtcblxuICAgIGNpcmNsZUVsZW1lbnQuc3R5bGUudG9wID0gYCR7TWF0aC5tYXgoMCAtIGNpcmNsZUhlaWdodCwgTWF0aC5taW4odG9wLCBwYXJlbnRTdGF0cy5oZWlnaHQgLSBjaXJjbGVIZWlnaHQpKX1weGA7XG4gICAgY2lyY2xlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7TWF0aC5tYXgoMCAtIGNpcmNsZVdpZHRoLCBNYXRoLm1pbihsZWZ0LCBwYXJlbnRTdGF0cy53aWR0aCAtIGNpcmNsZVdpZHRoKSl9cHhgO1xuXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoZXZlbnQuY2xpZW50WCAtIHBhcmVudFN0YXRzLmxlZnQsIGV2ZW50LmNsaWVudFkgLSBwYXJlbnRTdGF0cy50b3ApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXktdHJhbnNcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXlcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIl9iZ0NvbG9yXCJcbiAgICAobW91c2Vtb3ZlKT1cImhhbmRsZU1vdmUoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJoYW5kbGVEb3duKCRldmVudClcIlxuICAgIChtb3VzZXVwKT1cImhhbmRsZVVwKClcIlxuICAgIChtb3VzZWxlYXZlKT1cImhhbmRsZVVwKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcxXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbG9yLWJveC1vdmVybGF5LWcyXCI+PC9kaXY+XG4gICAgPGRpdiAjY2lyY2xlIGNsYXNzPVwiYXgtY29sb3ItYm94LXBvaW50ZXJcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC1ncmFkaWVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMTAwXCJcbiAgW21vZGVdPVwiJ3NpbmdsZSdcIlxuICBbbmdNb2RlbF09XCJfZ3JhZGllbnRcIlxuICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiX2hhbmRsZUdyYWRpZW50Q2hhbmdlZCgkZXZlbnQpXCJcbj5cbjwvYXgtcmFuZ2Utc2xpZGVyPlxuPGF4LXJhbmdlLXNsaWRlclxuICBjbGFzcz1cImF4LWNvbG9yLWJveC10cmFuc3BhcmVudFwiXG4gIFttaW5dPVwiMFwiXG4gIFttYXhdPVwiMVwiXG4gIFtoYXNTdGVwXT1cImZhbHNlXCJcbiAgW25nTW9kZWxdPVwiX3JnYmEuYVwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlQWxwaGFDaGFuZ2VkKCRldmVudClcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG4iXX0=
@@ -1,80 +0,0 @@
1
- import { MXBaseComponent } from '@acorex/components/common';
2
- import { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';
3
- import { ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';
4
- import { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@acorex/core/utils";
7
- import * as i2 from "./color-palette.class";
8
- /**
9
- * Component that displays a preview of the selected color in the palette.
10
- *
11
- * @category Components
12
- */
13
- export class AXColorPalettePreviewComponent extends MXBaseComponent {
14
- /**
15
- * @ignore
16
- */
17
- constructor(_parent, _zone, _unsubscriber) {
18
- super();
19
- this._parent = _parent;
20
- this._zone = _zone;
21
- this._unsubscriber = _unsubscriber;
22
- _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
23
- _zone.runOutsideAngular(this.applyParent.bind(this));
24
- });
25
- }
26
- /**
27
- * @ignore
28
- */
29
- ngAfterViewInit() {
30
- this.applyParent();
31
- }
32
- /**
33
- * @ignore
34
- */
35
- applyParent() {
36
- const inner = this.getHostElement().firstElementChild;
37
- inner.style.backgroundColor = this._parent.value;
38
- inner.innerText = AXColorUtil.toString(this._parent.value);
39
- const color = AXColorUtil.toString(this._parent.value, 'hex');
40
- const ratio = AXColorUtil.contrastToWhite(color);
41
- this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
42
- }
43
- /**
44
- * @ignore
45
- */
46
- get __hostClass() {
47
- return `ax-color-palette-preview`;
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePreviewComponent, deps: [{ token: AXColorPaletteParentComponent }, { token: i0.NgZone }, { token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXColorPalettePreviewComponent, selector: "ax-color-palette-preview", host: { properties: { "classs": "this.__hostClass" } }, providers: [
51
- {
52
- provide: AXColorPaletteChildComponent,
53
- useExisting: AXColorPalettePreviewComponent,
54
- },
55
- AXUnsubscriber,
56
- ], usesInheritance: true, ngImport: i0, template: `<div class="palette-preview-overlay" [class.ax-state-disabled]="_parent.disabled"></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXColorPalettePreviewComponent, decorators: [{
59
- type: Component,
60
- args: [{
61
- selector: 'ax-color-palette-preview',
62
- template: `<div class="palette-preview-overlay" [class.ax-state-disabled]="_parent.disabled"></div>`,
63
- encapsulation: ViewEncapsulation.None,
64
- changeDetection: ChangeDetectionStrategy.OnPush,
65
- providers: [
66
- {
67
- provide: AXColorPaletteChildComponent,
68
- useExisting: AXColorPalettePreviewComponent,
69
- },
70
- AXUnsubscriber,
71
- ],
72
- }]
73
- }], ctorParameters: () => [{ type: i2.AXColorPaletteParentComponent, decorators: [{
74
- type: Inject,
75
- args: [AXColorPaletteParentComponent]
76
- }] }, { type: i0.NgZone }, { type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
77
- type: HostBinding,
78
- args: ['classs']
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb2xvci1wYWxldHRlL3NyYy9saWIvY29sb3ItcGFsZXR0ZS1wcmV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUVwRzs7OztHQUlHO0FBY0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGVBQWU7SUFDL0Q7O0tBRUM7SUFDSCxZQUVTLE9BQXNDLEVBQ3JDLEtBQWEsRUFDYixhQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUpELFlBQU8sR0FBUCxPQUFPLENBQStCO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFHckMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVc7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGlCQUFtQyxDQUFDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNZLFdBQVc7UUFDckIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDOzhHQXpDVSw4QkFBOEIsa0JBSy9CLDZCQUE2QjtrR0FMNUIsOEJBQThCLDJHQVI5QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSw4QkFBOEI7YUFDNUM7WUFDRCxjQUFjO1NBQ2YsaURBVFMsMEZBQTBGOzsyRkFXekYsOEJBQThCO2tCQWIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSwwRkFBMEY7b0JBQ3BHLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcsZ0NBQWdDO3lCQUM1Qzt3QkFDRCxjQUFjO3FCQUNmO2lCQUNGOzswQkFNSSxNQUFNOzJCQUFDLDZCQUE2QjsyRkFrQzNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIE5nWm9uZSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsIEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1wYWxldHRlLmNsYXNzJztcblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhIHByZXZpZXcgb2YgdGhlIHNlbGVjdGVkIGNvbG9yIGluIHRoZSBwYWxldHRlLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUtcHJldmlldycsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBhbGV0dGUtcHJldmlldy1vdmVybGF5XCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIj48L2Rpdj5gLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbG9yUGFsZXR0ZVByZXZpZXdDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVQcmV2aWV3Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIF96b25lLnJ1bk91dHNpZGVBbmd1bGFyKHRoaXMuYXBwbHlQYXJlbnQuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5UGFyZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgYXBwbHlQYXJlbnQoKSB7XG4gICAgY29uc3QgaW5uZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgaW5uZXIuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fcGFyZW50LnZhbHVlO1xuICAgIGlubmVyLmlubmVyVGV4dCA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHRoaXMuX3BhcmVudC52YWx1ZSk7XG4gICAgY29uc3QgY29sb3IgPSBBWENvbG9yVXRpbC50b1N0cmluZyh0aGlzLl9wYXJlbnQudmFsdWUsICdoZXgnKTtcbiAgICBjb25zdCByYXRpbyA9IEFYQ29sb3JVdGlsLmNvbnRyYXN0VG9XaGl0ZShjb2xvcik7XG4gICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLnN0eWxlLmNvbG9yID0gIShyYXRpbyA+IDIuMCkgPyAnIzAwMCcgOiAnI2ZmZic7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3NzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWNvbG9yLXBhbGV0dGUtcHJldmlld2A7XG4gIH1cbn1cbiJdfQ==