@acorex/components 18.5.15 → 18.5.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. package/action-sheet/lib/action-sheet.component.d.ts +26 -0
  2. package/alert/lib/alert.component.d.ts +50 -2
  3. package/audio-wave/lib/audio-wave.component.d.ts +48 -0
  4. package/avatar/lib/avatar.component.d.ts +20 -1
  5. package/badge/lib/badge.component.d.ts +8 -0
  6. package/bottom-navigation/lib/bottom-navigation.component.d.ts +16 -0
  7. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +11 -0
  8. package/breadcrumbs/lib/breadcrumbs.component.d.ts +11 -0
  9. package/button/lib/button-item-list.component.d.ts +34 -0
  10. package/button/lib/button-item.component.d.ts +47 -0
  11. package/button/lib/button.component.d.ts +36 -0
  12. package/button-group/lib/button-group.component.d.ts +53 -0
  13. package/calendar/lib/calendar-range.component.d.ts +48 -0
  14. package/calendar/lib/calendar.component.d.ts +114 -0
  15. package/check-box/lib/check-box.component.d.ts +36 -0
  16. package/chips/lib/chips.component.d.ts +13 -0
  17. package/circular-progress/lib/circular-progress.component.d.ts +67 -1
  18. package/collapse/lib/collapse-group.component.d.ts +38 -0
  19. package/collapse/lib/collapse.component.d.ts +55 -0
  20. package/color-box/lib/color-box.component.d.ts +28 -1
  21. package/color-palette/lib/color-palette-input.component.d.ts +35 -0
  22. package/color-palette/lib/color-palette-picker.component.d.ts +53 -0
  23. package/color-palette/lib/color-palette-preview.component.d.ts +17 -0
  24. package/color-palette/lib/color-palette-swatches.component.d.ts +30 -0
  25. package/color-palette/lib/color-palette.component.d.ts +8 -0
  26. package/comment/lib/comment-container/comment-container.component.d.ts +5 -0
  27. package/comment/lib/comment-item/comment-item.component.d.ts +16 -2
  28. package/comment/lib/comment-like/comment-like.component.d.ts +8 -0
  29. package/comment/lib/comment-reply/comment-reply.component.d.ts +4 -0
  30. package/comment/lib/comment-view/comment-view.component.d.ts +4 -0
  31. package/common/lib/components/base-component.class.d.ts +8 -0
  32. package/common/lib/components/button-base-component.class.d.ts +21 -0
  33. package/common/lib/components/interactive-component.class.d.ts +15 -0
  34. package/conversation/lib/conversation-container/conversation-container.component.d.ts +4 -0
  35. package/conversation/lib/conversation-input/conversation-input.component.d.ts +79 -2
  36. package/conversation/lib/conversation-message/conversation-message.component.d.ts +41 -0
  37. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +62 -0
  38. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +34 -0
  39. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +21 -0
  40. package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +11 -0
  41. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +29 -0
  42. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +11 -0
  43. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +72 -0
  44. package/conversation/lib/conversation-view/conversation-view.component.d.ts +22 -0
  45. package/data-pager/lib/data-pager-base.component.d.ts +9 -0
  46. package/data-pager/lib/data-pager-info.component.d.ts +14 -0
  47. package/data-pager/lib/data-pager-input-selector.component.d.ts +17 -0
  48. package/data-pager/lib/data-pager-next-buttons.components.d.ts +20 -0
  49. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +14 -0
  50. package/esm2022/action-sheet/lib/action-sheet.component.mjs +21 -1
  51. package/esm2022/alert/lib/alert.component.mjs +48 -3
  52. package/esm2022/audio-wave/lib/audio-wave.component.mjs +43 -1
  53. package/esm2022/avatar/lib/avatar.component.mjs +21 -2
  54. package/esm2022/badge/lib/badge.component.mjs +9 -1
  55. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +14 -1
  56. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +9 -1
  57. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +6 -1
  58. package/esm2022/button/lib/button-item-list.component.mjs +35 -1
  59. package/esm2022/button/lib/button-item.component.mjs +36 -1
  60. package/esm2022/button/lib/button.component.mjs +39 -3
  61. package/esm2022/button-group/lib/button-group.component.mjs +48 -1
  62. package/esm2022/calendar/lib/calendar-range.component.mjs +46 -1
  63. package/esm2022/calendar/lib/calendar.component.mjs +112 -1
  64. package/esm2022/check-box/lib/check-box.component.mjs +34 -1
  65. package/esm2022/chips/lib/chips.component.mjs +14 -1
  66. package/esm2022/circular-progress/lib/circular-progress.component.mjs +69 -1
  67. package/esm2022/collapse/lib/collapse-group.component.mjs +39 -1
  68. package/esm2022/collapse/lib/collapse.component.mjs +53 -1
  69. package/esm2022/color-box/lib/color-box.component.mjs +23 -2
  70. package/esm2022/color-palette/lib/color-palette-input.component.mjs +36 -1
  71. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +54 -1
  72. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +18 -1
  73. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +28 -1
  74. package/esm2022/color-palette/lib/color-palette.component.mjs +9 -1
  75. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +6 -1
  76. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +15 -1
  77. package/esm2022/comment/lib/comment-like/comment-like.component.mjs +9 -1
  78. package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +5 -1
  79. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +5 -1
  80. package/esm2022/common/lib/components/base-component.class.mjs +9 -1
  81. package/esm2022/common/lib/components/button-base-component.class.mjs +22 -1
  82. package/esm2022/common/lib/components/interactive-component.class.mjs +16 -1
  83. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +5 -1
  84. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +75 -1
  85. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +39 -1
  86. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +63 -1
  87. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +35 -1
  88. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +22 -1
  89. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +9 -1
  90. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +30 -1
  91. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +12 -1
  92. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +70 -1
  93. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +23 -1
  94. package/esm2022/data-pager/lib/data-pager-base.component.mjs +7 -1
  95. package/esm2022/data-pager/lib/data-pager-info.component.mjs +9 -1
  96. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +18 -1
  97. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +18 -1
  98. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -1
  99. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +20 -1
  100. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +5 -1
  101. package/esm2022/scheduler/lib/scheduler.component.mjs +10 -1
  102. package/esm2022/search-box/lib/search-box.component.mjs +19 -2
  103. package/esm2022/select-box/lib/select-box.component.mjs +50 -2
  104. package/esm2022/selection-list/lib/selection-list.component.mjs +51 -1
  105. package/esm2022/side-menu/lib/side-menu.component.mjs +5 -1
  106. package/esm2022/skeleton/lib/skeleton.component.mjs +11 -1
  107. package/esm2022/slider/lib/slider.component.mjs +52 -2
  108. package/esm2022/step-wizard/lib/step-wizard.component.mjs +23 -1
  109. package/esm2022/switch/lib/switch-content.component.mjs +5 -1
  110. package/esm2022/switch/lib/switch.component.mjs +11 -1
  111. package/esm2022/tabs/lib/tab-item.component.mjs +24 -1
  112. package/esm2022/tabs/lib/tabs.component.mjs +36 -1
  113. package/esm2022/tag/lib/tag.component.mjs +2 -1
  114. package/esm2022/text-area/lib/text-area.component.mjs +8 -1
  115. package/esm2022/text-box/lib/text-box.component.mjs +13 -1
  116. package/esm2022/toast/lib/toast.component.mjs +6 -1
  117. package/esm2022/tooltip/lib/tooltip.component.mjs +5 -1
  118. package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +16 -1
  119. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +5 -1
  120. package/esm2022/uploader/lib/uploader-list.component.mjs +8 -3
  121. package/esm2022/uploader/lib/uploader.models.mjs +14 -1
  122. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +18 -1
  123. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +106 -36
  124. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -1
  125. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -1
  126. package/fesm2022/acorex-components-action-sheet.mjs +20 -0
  127. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  128. package/fesm2022/acorex-components-alert.mjs +47 -2
  129. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  130. package/fesm2022/acorex-components-audio-wave.mjs +42 -0
  131. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  132. package/fesm2022/acorex-components-avatar.mjs +20 -1
  133. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  134. package/fesm2022/acorex-components-badge.mjs +8 -0
  135. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  136. package/fesm2022/acorex-components-bottom-navigation.mjs +13 -0
  137. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  138. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -0
  139. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  140. package/fesm2022/acorex-components-button-group.mjs +47 -0
  141. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  142. package/fesm2022/acorex-components-button.mjs +107 -2
  143. package/fesm2022/acorex-components-button.mjs.map +1 -1
  144. package/fesm2022/acorex-components-calendar.mjs +156 -0
  145. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-check-box.mjs +33 -0
  147. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  148. package/fesm2022/acorex-components-chips.mjs +13 -0
  149. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  150. package/fesm2022/acorex-components-circular-progress.mjs +68 -0
  151. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  152. package/fesm2022/acorex-components-collapse.mjs +90 -0
  153. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  154. package/fesm2022/acorex-components-color-box.mjs +22 -1
  155. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-color-palette.mjs +140 -0
  157. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  158. package/fesm2022/acorex-components-comment.mjs +35 -0
  159. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  160. package/fesm2022/acorex-components-common.mjs +44 -0
  161. package/fesm2022/acorex-components-common.mjs.map +1 -1
  162. package/fesm2022/acorex-components-conversation.mjs +372 -0
  163. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  164. package/fesm2022/acorex-components-data-pager.mjs +62 -0
  165. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler.mjs +32 -0
  167. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  168. package/fesm2022/acorex-components-search-box.mjs +18 -1
  169. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  170. package/fesm2022/acorex-components-select-box.mjs +49 -1
  171. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  172. package/fesm2022/acorex-components-selection-list.mjs +50 -0
  173. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  174. package/fesm2022/acorex-components-side-menu.mjs +4 -0
  175. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  176. package/fesm2022/acorex-components-skeleton.mjs +10 -0
  177. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  178. package/fesm2022/acorex-components-slider.mjs +51 -1
  179. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  180. package/fesm2022/acorex-components-step-wizard.mjs +22 -0
  181. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  182. package/fesm2022/acorex-components-switch.mjs +14 -0
  183. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  184. package/fesm2022/acorex-components-tabs.mjs +58 -0
  185. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  186. package/fesm2022/acorex-components-tag.mjs +1 -0
  187. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  188. package/fesm2022/acorex-components-text-area.mjs +7 -0
  189. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  190. package/fesm2022/acorex-components-text-box.mjs +12 -0
  191. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  192. package/fesm2022/acorex-components-toast.mjs +5 -0
  193. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tooltip.mjs +4 -0
  195. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  196. package/fesm2022/acorex-components-uploader.mjs +39 -2
  197. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  198. package/fesm2022/acorex-components-wysiwyg.mjs +134 -35
  199. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  200. package/package.json +71 -71
  201. package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
  202. package/scheduler/lib/scheduler-week-view.component.d.ts +4 -0
  203. package/scheduler/lib/scheduler.component.d.ts +10 -0
  204. package/search-box/lib/search-box.component.d.ts +19 -1
  205. package/select-box/lib/select-box.component.d.ts +78 -1
  206. package/selection-list/lib/selection-list.component.d.ts +55 -0
  207. package/side-menu/lib/side-menu.component.d.ts +4 -0
  208. package/skeleton/lib/skeleton.component.d.ts +10 -0
  209. package/slider/lib/slider.component.d.ts +51 -1
  210. package/step-wizard/lib/step-wizard.component.d.ts +23 -0
  211. package/switch/lib/switch-content.component.d.ts +4 -0
  212. package/switch/lib/switch.component.d.ts +14 -0
  213. package/tabs/lib/tab-item.component.d.ts +32 -0
  214. package/tabs/lib/tabs.component.d.ts +42 -0
  215. package/tag/lib/tag.component.d.ts +4 -0
  216. package/text-area/lib/text-area.component.d.ts +13 -0
  217. package/text-box/lib/text-box.component.d.ts +27 -0
  218. package/toast/lib/toast.component.d.ts +6 -0
  219. package/tooltip/lib/tooltip.component.d.ts +13 -0
  220. package/uploader/lib/uploader-dialog-container.component.d.ts +15 -0
  221. package/uploader/lib/uploader-drop-zone.component.d.ts +4 -0
  222. package/uploader/lib/uploader-list.component.d.ts +5 -0
  223. package/uploader/lib/uploader.models.d.ts +4 -0
  224. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +19 -3
  225. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +61 -20
  226. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +4 -0
  227. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +3 -0
@@ -256,7 +256,15 @@ const AXDefaultColorPalette = [
256
256
  { code: '#F57F17' },
257
257
  ];
258
258
 
259
+ /**
260
+ * Component for selecting colors from a palette.
261
+ *
262
+ * @category Components
263
+ */
259
264
  class AXColorPaletteInputComponent extends MXBaseComponent {
265
+ /**
266
+ * @ignore
267
+ */
260
268
  constructor(_parent, _unsubscriber) {
261
269
  super();
262
270
  this._parent = _parent;
@@ -269,7 +277,13 @@ class AXColorPaletteInputComponent extends MXBaseComponent {
269
277
  a: 0,
270
278
  };
271
279
  this._hex = '';
280
+ /**
281
+ * @ignore
282
+ */
272
283
  this._colorMode = 'hex';
284
+ /**
285
+ * @ignore
286
+ */
273
287
  this._hexMaskOptions = {
274
288
  mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,
275
289
  prepare: (str, m, a) => {
@@ -283,6 +297,9 @@ class AXColorPaletteInputComponent extends MXBaseComponent {
283
297
  this.cdr.markForCheck();
284
298
  });
285
299
  }
300
+ /**
301
+ * @ignore
302
+ */
286
303
  applyParent(u = false) {
287
304
  const value = this._parent.value;
288
305
  if (!value) {
@@ -309,9 +326,15 @@ class AXColorPaletteInputComponent extends MXBaseComponent {
309
326
  this.checkValid();
310
327
  this.cdr.detectChanges();
311
328
  }
329
+ /**
330
+ * @ignore
331
+ */
312
332
  ngAfterViewInit() {
313
333
  this.applyParent();
314
334
  }
335
+ /**
336
+ * @ignore
337
+ */
315
338
  _handleChangeInputMode() {
316
339
  switch (this._colorMode) {
317
340
  case 'rgba':
@@ -322,6 +345,9 @@ class AXColorPaletteInputComponent extends MXBaseComponent {
322
345
  break;
323
346
  }
324
347
  }
348
+ /**
349
+ * @ignore
350
+ */
325
351
  _handleRGBAValueChanged(e) {
326
352
  if (e.isUserInteraction) {
327
353
  this._rgba[e.name] = e.value;
@@ -330,14 +356,23 @@ class AXColorPaletteInputComponent extends MXBaseComponent {
330
356
  this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);
331
357
  }
332
358
  }
359
+ /**
360
+ * @ignore
361
+ */
333
362
  _handleHEXAValueChanged(e) {
334
363
  if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {
335
364
  this._parent.commitValue(e.value, e.isUserInteraction);
336
365
  }
337
366
  }
367
+ /**
368
+ * @ignore
369
+ */
338
370
  checkValid() {
339
371
  this.isValid = AXColorUtil.isValid(this._hex);
340
372
  }
373
+ /**
374
+ * @ignore
375
+ */
341
376
  get __hostClass() {
342
377
  return `ax-color-palette-input`;
343
378
  }
@@ -367,7 +402,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
367
402
  args: ['class']
368
403
  }] } });
369
404
 
405
+ /**
406
+ * Component for picking colors from a color palette.
407
+ *
408
+ * @category Components
409
+ */
370
410
  class AXColorPalettePickerComponent extends MXBaseComponent {
411
+ /**
412
+ * @ignore
413
+ */
371
414
  constructor(_parent, _unsubscriber) {
372
415
  super();
373
416
  this._parent = _parent;
@@ -378,8 +421,17 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
378
421
  b: 0,
379
422
  a: 0,
380
423
  };
424
+ /**
425
+ * @ignore
426
+ */
381
427
  this._gradient = 0;
428
+ /**
429
+ * @ignore
430
+ */
382
431
  this._bgColor = '#F00';
432
+ /**
433
+ * @ignore
434
+ */
383
435
  this._gradientColors = [
384
436
  { color: 'rgb(255, 0, 0)', pos: 0 },
385
437
  { color: 'rgb(255, 255, 0)', pos: 0.17 },
@@ -389,8 +441,17 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
389
441
  { color: 'rgb(255, 0, 255)', pos: 0.83 },
390
442
  { color: 'rgb(255, 0, 0)', pos: 1 },
391
443
  ];
444
+ /**
445
+ * @ignore
446
+ */
392
447
  this._gradients = AXColorUtil.gradient(this._gradientColors);
448
+ /**
449
+ * @ignore
450
+ */
393
451
  this._colors = this._gradients.rgb(100);
452
+ /**
453
+ * @ignore
454
+ */
394
455
  this.dragPosition = { x: 0, y: 0 };
395
456
  _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {
396
457
  this._handleParentColorChanged();
@@ -399,6 +460,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
399
460
  this.cdr.markForCheck();
400
461
  });
401
462
  }
463
+ /**
464
+ * @ignore
465
+ */
402
466
  setHSV() {
403
467
  const hsv = AXColorUtil.to(this._rgba, 'hsva');
404
468
  const sortedH = this._colors.map((c) => c.toHsv().h);
@@ -408,6 +472,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
408
472
  this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');
409
473
  this.setPointerByPercent(hsv.s * 100, hsv.v * 100);
410
474
  }
475
+ /**
476
+ * @ignore
477
+ */
411
478
  _handleParentColorChanged() {
412
479
  const color = this._parent.value;
413
480
  if (!color) {
@@ -426,6 +493,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
426
493
  this.setHSV();
427
494
  this.cdr.detectChanges();
428
495
  }
496
+ /**
497
+ * @ignore
498
+ */
429
499
  _handleAlphaChanged(e) {
430
500
  if (e.isUserInteraction && e.value != this._rgba.a) {
431
501
  const { r, g, b } = this._rgba;
@@ -433,6 +503,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
433
503
  this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);
434
504
  }
435
505
  }
506
+ /**
507
+ * @ignore
508
+ */
436
509
  _handleGradientChanged(e) {
437
510
  if (e.isUserInteraction && e.value != this._gradient) {
438
511
  const { s, v } = AXColorUtil.to(this._rgba, 'hsva');
@@ -440,6 +513,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
440
513
  this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), e.isUserInteraction);
441
514
  }
442
515
  }
516
+ /**
517
+ * @ignore
518
+ */
443
519
  _handleSurfaceClick(e) {
444
520
  if (this._parent.disabled || this._parent.readonly) {
445
521
  e.preventDefault();
@@ -452,6 +528,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
452
528
  let y = e.offsetY;
453
529
  this.setColorByXY(x, y);
454
530
  }
531
+ /**
532
+ * @ignore
533
+ */
455
534
  _handleDrag() {
456
535
  if (this._parent.disabled || this._parent.readonly) {
457
536
  return;
@@ -472,6 +551,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
472
551
  //
473
552
  this.setColorByXY(x, y);
474
553
  }
554
+ /**
555
+ * @ignore
556
+ */
475
557
  setColorByXY(x, y) {
476
558
  const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
477
559
  const sb = surface.getBoundingClientRect();
@@ -484,6 +566,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
484
566
  };
485
567
  this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);
486
568
  }
569
+ /**
570
+ * @ignore
571
+ */
487
572
  setPointerByPercent(x, y) {
488
573
  const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
489
574
  if (!surface)
@@ -499,6 +584,9 @@ class AXColorPalettePickerComponent extends MXBaseComponent {
499
584
  y: height - (y * height) / 100 - w,
500
585
  };
501
586
  }
587
+ /**
588
+ * @ignore
589
+ */
502
590
  get __hostClass() {
503
591
  return `ax-color-palette-picker`;
504
592
  }
@@ -528,7 +616,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
528
616
  args: ['class']
529
617
  }] } });
530
618
 
619
+ /**
620
+ * Component that displays a preview of the selected color in the palette.
621
+ *
622
+ * @category Components
623
+ */
531
624
  class AXColorPalettePreviewComponent extends MXBaseComponent {
625
+ /**
626
+ * @ignore
627
+ */
532
628
  constructor(_parent, _zone, _unsubscriber) {
533
629
  super();
534
630
  this._parent = _parent;
@@ -538,9 +634,15 @@ class AXColorPalettePreviewComponent extends MXBaseComponent {
538
634
  _zone.runOutsideAngular(this.applyParent.bind(this));
539
635
  });
540
636
  }
637
+ /**
638
+ * @ignore
639
+ */
541
640
  ngAfterViewInit() {
542
641
  this.applyParent();
543
642
  }
643
+ /**
644
+ * @ignore
645
+ */
544
646
  applyParent() {
545
647
  const inner = this.getHostElement().firstElementChild;
546
648
  inner.style.backgroundColor = this._parent.value;
@@ -549,6 +651,9 @@ class AXColorPalettePreviewComponent extends MXBaseComponent {
549
651
  const ratio = AXColorUtil.contrastToWhite(color);
550
652
  this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';
551
653
  }
654
+ /**
655
+ * @ignore
656
+ */
552
657
  get __hostClass() {
553
658
  return `ax-color-palette-preview`;
554
659
  }
@@ -584,11 +689,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
584
689
  args: ['classs']
585
690
  }] } });
586
691
 
692
+ /**
693
+ * Displays color swatches or favorites, allowing color selection.
694
+ *
695
+ * @category Components
696
+ */
587
697
  class AXColorPaletteSwatchesComponent extends MXBaseComponent {
698
+ /**
699
+ * @ignore
700
+ */
588
701
  constructor(_parent, _unsubscriber) {
589
702
  super();
590
703
  this._parent = _parent;
591
704
  this._unsubscriber = _unsubscriber;
705
+ /**
706
+ * List of color objects for display, each with a `code` property.
707
+ * @defaultValue []
708
+ */
592
709
  this.colors = [];
593
710
  _parent.onValueChanged
594
711
  .pipe(_unsubscriber.takeUntilDestroy)
@@ -597,10 +714,16 @@ class AXColorPaletteSwatchesComponent extends MXBaseComponent {
597
714
  this.applyParent();
598
715
  });
599
716
  }
717
+ /**
718
+ * @ignore
719
+ */
600
720
  applyParent() {
601
721
  this._selected = AXColorUtil.toString(this._parent.value, 'hex').toLowerCase();
602
722
  this.cdr.detectChanges();
603
723
  }
724
+ /**
725
+ * @ignore
726
+ */
604
727
  ngOnInit() {
605
728
  super.ngOnInit();
606
729
  const isFav = this.getHostElement().tagName.toLowerCase() == 'ax-color-palette-favorite';
@@ -608,14 +731,23 @@ class AXColorPaletteSwatchesComponent extends MXBaseComponent {
608
731
  this.colors = AXDefaultColorPalette.map((c) => this._format(c));
609
732
  }
610
733
  }
734
+ /**
735
+ * @ignore
736
+ */
611
737
  ngAfterViewInit() {
612
738
  this.applyParent();
613
739
  }
740
+ /**
741
+ * @ignore
742
+ */
614
743
  _handleClick(e, color) {
615
744
  if (this._parent.disabled || this._parent.readonly)
616
745
  return;
617
746
  this._parent.commitValue(color.code, true);
618
747
  }
748
+ /**
749
+ * @ignore
750
+ */
619
751
  _format(color) {
620
752
  return {
621
753
  code: color.code.toLowerCase(),
@@ -670,7 +802,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
670
802
  type: Input
671
803
  }] } });
672
804
 
805
+ /**
806
+ * A color palette component that allows for color selection and interaction.
807
+ *
808
+ * @category Components
809
+ */
673
810
  class AXColorPalleteComponent extends MXValueComponent {
811
+ /**
812
+ * @ignore
813
+ */
674
814
  get __hostDisabled() {
675
815
  return this.disabled;
676
816
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-color-palette.mjs","sources":["../../../../libs/components/color-palette/src/lib/color-palette.class.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.html","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.html","../../../../libs/components/color-palette/src/lib/color-palette-preview.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-swatches.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.html","../../../../libs/components/color-palette/src/lib/color-palette.module.ts","../../../../libs/components/color-palette/src/acorex-components-color-palette.ts"],"sourcesContent":["import { AXOptionChangedEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXColorPaletteView = 'swatches' | 'gradient' | 'custom';\nexport interface AXColorChangedEvent {\n color: any;\n sender: any;\n}\n\n@Injectable()\nexport abstract class AXColorPaletteParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract get value(): string;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<string>>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract commitValue(value: string, u?: boolean);\n}\n\n@Injectable()\nexport abstract class AXColorPaletteChildComponent {}\n\nexport const AXDefaultColorPalette = [\n { code: '#ffffff' },\n { code: '#000000' },\n { code: '#9E9E9E' },\n { code: '#FFC107' },\n { code: '#607D8B' },\n { code: '#2196F3' },\n { code: '#FF5722' },\n { code: '#4CAF50' },\n { code: '#9c27b0' },\n { code: '#3F51B5' },\n // Amber\n { code: '#fff8e1' },\n { code: '#ffecb3' },\n { code: '#ffe082' },\n { code: '#ffd54f' },\n { code: '#ffca28' },\n { code: '#ffc107' },\n { code: '#ffb300' },\n { code: '#ffa000' },\n { code: '#ff8f00' },\n { code: '#ff6f00' },\n // Blue Grey\n { code: '#ECEFF1' },\n { code: '#CFD8DC' },\n { code: '#B0BEC5' },\n { code: '#90A4AE' },\n { code: '#78909C' },\n { code: '#607D8B' },\n { code: '#546E7A' },\n { code: '#455A64' },\n { code: '#37474F' },\n { code: '#263238' },\n // Blue\n { code: '#E3F2FD' },\n { code: '#BBDEFB' },\n { code: '#90CAF9' },\n { code: '#64B5F6' },\n { code: '#42A5F5' },\n { code: '#2196F3' },\n { code: '#1E88E5' },\n { code: '#1976D2' },\n { code: '#1565C0' },\n { code: '#0D47A1' },\n // Brown\n { code: '#EFEBE9' },\n { code: '#D7CCC8' },\n { code: '#BCAAA4' },\n { code: '#A1887F' },\n { code: '#8D6E63' },\n { code: '#795548' },\n { code: '#6D4C41' },\n { code: '#5D4037' },\n { code: '#4E342E' },\n { code: '#3E2723' },\n // Cyan\n { code: '#E0F7FA' },\n { code: '#B2EBF2' },\n { code: '#80DEEA' },\n { code: '#4DD0E1' },\n { code: '#26C6DA' },\n { code: '#00BCD4' },\n { code: '#00ACC1' },\n { code: '#0097A7' },\n { code: '#00838F' },\n { code: '#006064' },\n // Deep Orange\n { code: '#FBE9E7' },\n { code: '#FFCCBC' },\n { code: '#FFAB91' },\n { code: '#FF8A65' },\n { code: '#FF7043' },\n { code: '#FF5722' },\n { code: '#F4511E' },\n { code: '#E64A19' },\n { code: '#D84315' },\n { code: '#BF360C' },\n // Deep Purple\n { code: '#EDE7F6' },\n { code: '#D1C4E9' },\n { code: '#B39DDB' },\n { code: '#9575CD' },\n { code: '#7E57C2' },\n { code: '#673AB7' },\n { code: '#5E35B1' },\n { code: '#512DA8' },\n { code: '#4527A0' },\n { code: '#311B92' },\n // Green\n { code: '#E8F5E9' },\n { code: '#C8E6C9' },\n { code: '#A5D6A7' },\n { code: '#81C784' },\n { code: '#66BB6A' },\n { code: '#4CAF50' },\n { code: '#43A047' },\n { code: '#388E3C' },\n { code: '#2E7D32' },\n { code: '#1B5E20' },\n\n // Grey\n { code: '#FAFAFA' },\n { code: '#F5F5F5' },\n { code: '#EEEEEE' },\n { code: '#E0E0E0' },\n { code: '#BDBDBD' },\n { code: '#9E9E9E' },\n { code: '#757575' },\n { code: '#616161' },\n { code: '#424242' },\n { code: '#212121' },\n\n // Indigo\n { code: '#E8EAF6' },\n { code: '#C5CAE9' },\n { code: '#9FA8DA' },\n { code: '#7986CB' },\n { code: '#5C6BC0' },\n { code: '#3F51B5' },\n { code: '#3949AB' },\n { code: '#303F9F' },\n { code: '#283593' },\n { code: '#1A237E' },\n // Light Blue\n { code: '#E1F5FE' },\n { code: '#B3E5FC' },\n { code: '#81D4FA' },\n { code: '#4FC3F7' },\n { code: '#29B6F6' },\n { code: '#03A9F4' },\n { code: '#039BE5' },\n { code: '#0288D1' },\n { code: '#0277BD' },\n { code: '#01579B' },\n // Light Green\n { code: '#F1F8E9' },\n { code: '#DCEDC8' },\n { code: '#C5E1A5' },\n { code: '#AED581' },\n { code: '#9CCC65' },\n { code: '#8BC34A' },\n { code: '#7CB342' },\n { code: '#689F38' },\n { code: '#558B2F' },\n { code: '#33691E' },\n // Lime\n { code: '#F9FBE7' },\n { code: '#F0F4C3' },\n { code: '#E6EE9C' },\n { code: '#DCE775' },\n { code: '#D4E157' },\n { code: '#CDDC39' },\n { code: '#C0CA33' },\n { code: '#AFB42B' },\n { code: '#9E9D24' },\n { code: '#827717' },\n // Orange\n { code: '#FFF3E0' },\n { code: '#FFE0B2' },\n { code: '#FFCC80' },\n { code: '#FFB74D' },\n { code: '#FFA726' },\n { code: '#FF9800' },\n { code: '#FB8C00' },\n { code: '#F57C00' },\n { code: '#EF6C00' },\n { code: '#E65100' },\n // Pink\n { code: '#FCE4EC' },\n { code: '#F8BBD0' },\n { code: '#F48FB1' },\n { code: '#F06292' },\n { code: '#EC407A' },\n { code: '#E91E63' },\n { code: '#D81B60' },\n { code: '#C2185B' },\n { code: '#AD1457' },\n { code: '#880E4F' },\n // Purple\n { code: '#F3E5F5' },\n { code: '#E1BEE7' },\n { code: '#CE93D8' },\n { code: '#BA68C8' },\n { code: '#AB47BC' },\n { code: '#9C27B0' },\n { code: '#8E24AA' },\n { code: '#7B1FA2' },\n { code: '#6A1B9A' },\n { code: '#4A148C' },\n // Red\n { code: '#FFEBEE' },\n { code: '#FFCDD2' },\n { code: '#EF9A9A' },\n { code: '#E57373' },\n { code: '#EF5350' },\n { code: '#F44336' },\n { code: '#E53935' },\n { code: '#D32F2F' },\n { code: '#C62828' },\n { code: '#B71C1C' },\n // Teal\n { code: '#E0F2F1' },\n { code: '#B2DFDB' },\n { code: '#80CBC4' },\n { code: '#4DB6AC' },\n { code: '#26A69A' },\n { code: '#009688' },\n { code: '#00897B' },\n { code: '#00796B' },\n { code: '#00695C' },\n { code: '#004D40' },\n // Yellow\n { code: '#FFFDE7' },\n { code: '#FFF9C4' },\n { code: '#FFF59D' },\n { code: '#FFF176' },\n { code: '#FFEE58' },\n { code: '#FFEB3B' },\n { code: '#FDD835' },\n { code: '#FBC02D' },\n { code: '#F9A825' },\n { code: '#F57F17' },\n];\n","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXMaskOptions } from '@acorex/components/text-box';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n@Component({\n selector: 'ax-color-palette-input',\n templateUrl: './color-palette-input.component.html',\n styles: `\n .ax-bold {\n font-weight: bold;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteInputComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: any = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n _hex = '';\n\n protected _colorMode: 'hex' | 'rgba' = 'hex';\n\n protected _hexMaskOptions: AXMaskOptions = {\n mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,\n prepare: (str, m, a) => {\n return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();\n },\n };\n\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.applyParent(e.isUserInteraction);\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n private applyParent(u: boolean = false) {\n const value = this._parent.value;\n if (!value) {\n this._hex = '';\n this._rgba = {\n r: null,\n g: null,\n b: null,\n a: null,\n };\n } else {\n Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n if (this._colorMode != 'hex' || !this._hex) {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n if (this._colorMode == 'hex') {\n this._hex = value;\n }\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\n }\n }\n this.checkValid();\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit() {\n this.applyParent();\n }\n\n _handleChangeInputMode() {\n switch (this._colorMode) {\n case 'rgba':\n this._colorMode = 'hex';\n break;\n default:\n this._colorMode = 'rgba';\n break;\n }\n }\n\n _handleRGBAValueChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction) {\n this._rgba[e.name] = e.value;\n const { r, g, b, a } = this._rgba;\n const _color = `rgba(${r},${g},${b},${a})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n protected _handleHEXAValueChanged(e: AXValueChangedEvent<string>) {\n if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {\n this._parent.commitValue(e.value, e.isUserInteraction);\n }\n }\n\n private checkValid() {\n this.isValid = AXColorUtil.isValid(this._hex);\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-input`;\n }\n}\n","<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","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n@Component({\n selector: 'ax-color-palette-picker',\n templateUrl: './color-palette-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePickerComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPalettePickerComponent extends MXBaseComponent {\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n protected _gradient: number = 0;\n\n protected _bgColor: string = '#F00';\n\n private readonly _gradientColors: any[] = [\n { color: 'rgb(255, 0, 0)', pos: 0 },\n { color: 'rgb(255, 255, 0)', pos: 0.17 },\n { color: 'rgb(0, 255, 0)', pos: 0.33 },\n { color: 'rgb(0, 255, 255)', pos: 0.5 },\n { color: 'rgb(0, 0, 255)', pos: 0.67 },\n { color: 'rgb(255, 0, 255)', pos: 0.83 },\n { color: 'rgb(255, 0, 0)', pos: 1 },\n ];\n\n private readonly _gradients = AXColorUtil.gradient(this._gradientColors);\n private readonly _colors = this._gradients.rgb(100);\n\n protected dragPosition = { x: 0, y: 0 };\n\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this._handleParentColorChanged();\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n private setHSV() {\n const hsv = AXColorUtil.to(this._rgba, 'hsva') as any;\n const sortedH = this._colors.map((c) => c.toHsv().h);\n this._gradient = sortedH.findIndex((c) => {\n return Math.round(c) >= Math.round(hsv.h);\n });\n this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');\n this.setPointerByPercent(hsv.s * 100, hsv.v * 100);\n }\n\n private _handleParentColorChanged() {\n const color = this._parent.value;\n if (!color) {\n this._rgba = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n } else {\n if (!AXColorUtil.equal(color, this._rgba)) {\n Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));\n }\n }\n this.setHSV();\n this.cdr.detectChanges();\n }\n\n protected _handleAlphaChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction && e.value != this._rgba.a) {\n const { r, g, b } = this._rgba;\n const _color = `rgba(${r},${g},${b},${e.value})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n protected _handleGradientChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction && e.value != this._gradient) {\n const { s, v } = AXColorUtil.to(this._rgba, 'hsva') as any;\n const { h } = this._colors[e.value].toHsv();\n this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), e.isUserInteraction);\n }\n }\n\n protected _handleSurfaceClick(e: MouseEvent) {\n if (this._parent.disabled || this._parent.readonly) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n let x = e.offsetX;\n let y = e.offsetY;\n this.setColorByXY(x, y);\n }\n\n protected _handleDrag() {\n if (this._parent.disabled || this._parent.readonly) {\n return;\n }\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n const pb = pointer.getBoundingClientRect();\n const w = pb.width / 2;\n let x = pb.left - sb.left + w;\n let y = pb.top - sb.top + w;\n //\n x = x < 0 ? 0 : x;\n x = x > sb.width ? sb.width : x;\n //\n y = y < 0 ? 0 : y;\n y = y > sb.height ? sb.height : y;\n //\n this.setColorByXY(x, y);\n }\n\n private setColorByXY(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n //\n const { h } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsv = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n };\n this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);\n }\n\n private setPointerByPercent(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n if (!surface) return;\n const sb = surface?.getBoundingClientRect();\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n const pb = pointer?.getBoundingClientRect();\n const w = pb.width / 2;\n const width = sb.width; //+ pb.width\n const height = sb.height; // + pb.width\n this.dragPosition = {\n x: (x * width) / 100 - w,\n y: height - (y * height) / 100 - w,\n };\n }\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n}\n","<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div class=\"ax-color-box-pointer\" cdkDrag cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\">\n </div>\n </div>\n</div>\n<ax-slider class=\"ax-color-box-gradient\" [minValue]=\"0\" [maxValue]=\"100\" [step]=\"1\" [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleGradientChanged($event)\">\n</ax-slider>\n<ax-slider class=\"ax-color-box-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleAlphaChanged($event)\">\n</ax-slider>","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n@Component({\n selector: 'ax-color-palette-preview',\n template: `<div class=\"palette-preview-overlay\" [class.ax-state-disabled]=\"_parent.disabled\"></div>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePreviewComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPalettePreviewComponent extends MXBaseComponent implements AfterViewInit {\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _zone: NgZone,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n _zone.runOutsideAngular(this.applyParent.bind(this));\n });\n }\n\n ngAfterViewInit() {\n this.applyParent();\n }\n\n private applyParent() {\n const inner = this.getHostElement().firstElementChild as HTMLDivElement;\n inner.style.backgroundColor = this._parent.value;\n inner.innerText = AXColorUtil.toString(this._parent.value);\n const color = AXColorUtil.toString(this._parent.value, 'hex');\n const ratio = AXColorUtil.contrastToWhite(color);\n this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';\n }\n\n @HostBinding('classs')\n private get __hostClass(): string {\n return `ax-color-palette-preview`;\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, Inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent, AXDefaultColorPalette } from './color-palette.class';\n\n@Component({\n selector: 'ax-color-palette-swatches, ax-color-palette-favorite',\n template: `\n @for (color of colors; track color.code) {\n <div\n [style.background-color]=\"color.code\"\n [attr.title]=\"color.code\"\n [class.ax-state-selected]=\"color.code === _selected\"\n (click)=\"_handleClick($event, color)\"\n ></div>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteSwatchesComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPaletteSwatchesComponent extends MXBaseComponent implements OnInit, AfterViewInit {\n protected _selected: string;\n\n @Input()\n colors: { code: string }[] = [];\n\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged\n .pipe(_unsubscriber.takeUntilDestroy)\n .pipe(distinctUntilChanged())\n .subscribe(() => {\n this.applyParent();\n });\n }\n\n private applyParent() {\n this._selected = AXColorUtil.toString(this._parent.value, 'hex').toLowerCase();\n this.cdr.detectChanges();\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n const isFav = this.getHostElement().tagName.toLowerCase() == 'ax-color-palette-favorite';\n if (!isFav && this.colors.length == 0) {\n this.colors = AXDefaultColorPalette.map((c) => this._format(c));\n }\n }\n\n ngAfterViewInit() {\n this.applyParent();\n }\n\n protected _handleClick(e: MouseEvent, color) {\n if (this._parent.disabled || this._parent.readonly) return;\n this._parent.commitValue(color.code, true);\n }\n\n private _format(color: { code: string }): { code: string } {\n return {\n code: color.code.toLowerCase(),\n };\n }\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, HostBinding, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n@Component({\n selector: 'ax-color-palette',\n templateUrl: './color-palette.component.html',\n styleUrls: ['./color-palette.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXColorPalleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorPalleteComponent),\n multi: true,\n },\n {\n provide: AXColorPaletteParentComponent,\n useExisting: AXColorPalleteComponent,\n },\n ],\n})\nexport class AXColorPalleteComponent extends MXValueComponent<string> {\n @ContentChildren(AXColorPaletteChildComponent)\n _children: QueryList<AXColorPaletteChildComponent>;\n\n @HostBinding('class.ax-state-disabled')\n private get __hostDisabled() {\n return this.disabled;\n }\n}\n","<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSliderModule } from '@acorex/components/slider';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorPaletteInputComponent } from './color-palette-input.component';\nimport { AXColorPalettePickerComponent } from './color-palette-picker.component';\nimport { AXColorPalettePreviewComponent } from './color-palette-preview.component';\nimport { AXColorPaletteSwatchesComponent } from './color-palette-swatches.component';\nimport { AXColorPalleteComponent } from './color-palette.component';\n\nconst MODULES: any[] = [\n FormsModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXSliderModule,\n DragDropModule,\n];\nconst CONPONENTS: any[] = [\n AXColorPalleteComponent,\n AXColorPalettePreviewComponent,\n AXColorPaletteSwatchesComponent,\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n];\n\n@NgModule({\n declarations: [...CONPONENTS],\n imports: [CommonModule, ...MODULES],\n exports: [...CONPONENTS],\n providers: [],\n})\nexport class AXColorPaletteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i1","i2.AXColorPalettePreviewComponent","i3.AXColorPaletteSwatchesComponent","i4.AXColorPaletteInputComponent","i5.AXColorPalettePickerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAasB,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD,UAAU;;MAWW,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;;AAGE,MAAA,qBAAqB,GAAG;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IAC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"}
1
+ {"version":3,"file":"acorex-components-color-palette.mjs","sources":["../../../../libs/components/color-palette/src/lib/color-palette.class.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-input.component.html","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-picker.component.html","../../../../libs/components/color-palette/src/lib/color-palette-preview.component.ts","../../../../libs/components/color-palette/src/lib/color-palette-swatches.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.ts","../../../../libs/components/color-palette/src/lib/color-palette.component.html","../../../../libs/components/color-palette/src/lib/color-palette.module.ts","../../../../libs/components/color-palette/src/acorex-components-color-palette.ts"],"sourcesContent":["import { AXOptionChangedEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * A token that specifies the display mode of datapager component.\n */\nexport type AXColorPaletteView = 'swatches' | 'gradient' | 'custom';\nexport interface AXColorChangedEvent {\n color: any;\n sender: any;\n}\n\n@Injectable()\nexport abstract class AXColorPaletteParentComponent {\n abstract readonly: boolean;\n abstract disabled: boolean;\n abstract get value(): string;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<string>>;\n abstract onOptionChanged: EventEmitter<AXOptionChangedEvent>;\n abstract commitValue(value: string, u?: boolean);\n}\n\n@Injectable()\nexport abstract class AXColorPaletteChildComponent {}\n\nexport const AXDefaultColorPalette = [\n { code: '#ffffff' },\n { code: '#000000' },\n { code: '#9E9E9E' },\n { code: '#FFC107' },\n { code: '#607D8B' },\n { code: '#2196F3' },\n { code: '#FF5722' },\n { code: '#4CAF50' },\n { code: '#9c27b0' },\n { code: '#3F51B5' },\n // Amber\n { code: '#fff8e1' },\n { code: '#ffecb3' },\n { code: '#ffe082' },\n { code: '#ffd54f' },\n { code: '#ffca28' },\n { code: '#ffc107' },\n { code: '#ffb300' },\n { code: '#ffa000' },\n { code: '#ff8f00' },\n { code: '#ff6f00' },\n // Blue Grey\n { code: '#ECEFF1' },\n { code: '#CFD8DC' },\n { code: '#B0BEC5' },\n { code: '#90A4AE' },\n { code: '#78909C' },\n { code: '#607D8B' },\n { code: '#546E7A' },\n { code: '#455A64' },\n { code: '#37474F' },\n { code: '#263238' },\n // Blue\n { code: '#E3F2FD' },\n { code: '#BBDEFB' },\n { code: '#90CAF9' },\n { code: '#64B5F6' },\n { code: '#42A5F5' },\n { code: '#2196F3' },\n { code: '#1E88E5' },\n { code: '#1976D2' },\n { code: '#1565C0' },\n { code: '#0D47A1' },\n // Brown\n { code: '#EFEBE9' },\n { code: '#D7CCC8' },\n { code: '#BCAAA4' },\n { code: '#A1887F' },\n { code: '#8D6E63' },\n { code: '#795548' },\n { code: '#6D4C41' },\n { code: '#5D4037' },\n { code: '#4E342E' },\n { code: '#3E2723' },\n // Cyan\n { code: '#E0F7FA' },\n { code: '#B2EBF2' },\n { code: '#80DEEA' },\n { code: '#4DD0E1' },\n { code: '#26C6DA' },\n { code: '#00BCD4' },\n { code: '#00ACC1' },\n { code: '#0097A7' },\n { code: '#00838F' },\n { code: '#006064' },\n // Deep Orange\n { code: '#FBE9E7' },\n { code: '#FFCCBC' },\n { code: '#FFAB91' },\n { code: '#FF8A65' },\n { code: '#FF7043' },\n { code: '#FF5722' },\n { code: '#F4511E' },\n { code: '#E64A19' },\n { code: '#D84315' },\n { code: '#BF360C' },\n // Deep Purple\n { code: '#EDE7F6' },\n { code: '#D1C4E9' },\n { code: '#B39DDB' },\n { code: '#9575CD' },\n { code: '#7E57C2' },\n { code: '#673AB7' },\n { code: '#5E35B1' },\n { code: '#512DA8' },\n { code: '#4527A0' },\n { code: '#311B92' },\n // Green\n { code: '#E8F5E9' },\n { code: '#C8E6C9' },\n { code: '#A5D6A7' },\n { code: '#81C784' },\n { code: '#66BB6A' },\n { code: '#4CAF50' },\n { code: '#43A047' },\n { code: '#388E3C' },\n { code: '#2E7D32' },\n { code: '#1B5E20' },\n\n // Grey\n { code: '#FAFAFA' },\n { code: '#F5F5F5' },\n { code: '#EEEEEE' },\n { code: '#E0E0E0' },\n { code: '#BDBDBD' },\n { code: '#9E9E9E' },\n { code: '#757575' },\n { code: '#616161' },\n { code: '#424242' },\n { code: '#212121' },\n\n // Indigo\n { code: '#E8EAF6' },\n { code: '#C5CAE9' },\n { code: '#9FA8DA' },\n { code: '#7986CB' },\n { code: '#5C6BC0' },\n { code: '#3F51B5' },\n { code: '#3949AB' },\n { code: '#303F9F' },\n { code: '#283593' },\n { code: '#1A237E' },\n // Light Blue\n { code: '#E1F5FE' },\n { code: '#B3E5FC' },\n { code: '#81D4FA' },\n { code: '#4FC3F7' },\n { code: '#29B6F6' },\n { code: '#03A9F4' },\n { code: '#039BE5' },\n { code: '#0288D1' },\n { code: '#0277BD' },\n { code: '#01579B' },\n // Light Green\n { code: '#F1F8E9' },\n { code: '#DCEDC8' },\n { code: '#C5E1A5' },\n { code: '#AED581' },\n { code: '#9CCC65' },\n { code: '#8BC34A' },\n { code: '#7CB342' },\n { code: '#689F38' },\n { code: '#558B2F' },\n { code: '#33691E' },\n // Lime\n { code: '#F9FBE7' },\n { code: '#F0F4C3' },\n { code: '#E6EE9C' },\n { code: '#DCE775' },\n { code: '#D4E157' },\n { code: '#CDDC39' },\n { code: '#C0CA33' },\n { code: '#AFB42B' },\n { code: '#9E9D24' },\n { code: '#827717' },\n // Orange\n { code: '#FFF3E0' },\n { code: '#FFE0B2' },\n { code: '#FFCC80' },\n { code: '#FFB74D' },\n { code: '#FFA726' },\n { code: '#FF9800' },\n { code: '#FB8C00' },\n { code: '#F57C00' },\n { code: '#EF6C00' },\n { code: '#E65100' },\n // Pink\n { code: '#FCE4EC' },\n { code: '#F8BBD0' },\n { code: '#F48FB1' },\n { code: '#F06292' },\n { code: '#EC407A' },\n { code: '#E91E63' },\n { code: '#D81B60' },\n { code: '#C2185B' },\n { code: '#AD1457' },\n { code: '#880E4F' },\n // Purple\n { code: '#F3E5F5' },\n { code: '#E1BEE7' },\n { code: '#CE93D8' },\n { code: '#BA68C8' },\n { code: '#AB47BC' },\n { code: '#9C27B0' },\n { code: '#8E24AA' },\n { code: '#7B1FA2' },\n { code: '#6A1B9A' },\n { code: '#4A148C' },\n // Red\n { code: '#FFEBEE' },\n { code: '#FFCDD2' },\n { code: '#EF9A9A' },\n { code: '#E57373' },\n { code: '#EF5350' },\n { code: '#F44336' },\n { code: '#E53935' },\n { code: '#D32F2F' },\n { code: '#C62828' },\n { code: '#B71C1C' },\n // Teal\n { code: '#E0F2F1' },\n { code: '#B2DFDB' },\n { code: '#80CBC4' },\n { code: '#4DB6AC' },\n { code: '#26A69A' },\n { code: '#009688' },\n { code: '#00897B' },\n { code: '#00796B' },\n { code: '#00695C' },\n { code: '#004D40' },\n // Yellow\n { code: '#FFFDE7' },\n { code: '#FFF9C4' },\n { code: '#FFF59D' },\n { code: '#FFF176' },\n { code: '#FFEE58' },\n { code: '#FFEB3B' },\n { code: '#FDD835' },\n { code: '#FBC02D' },\n { code: '#F9A825' },\n { code: '#F57F17' },\n];\n","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXMaskOptions } from '@acorex/components/text-box';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for selecting colors from a palette.\n * \n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-input',\n templateUrl: './color-palette-input.component.html',\n styles: `\n .ax-bold {\n font-weight: bold;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteInputComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPaletteInputComponent extends MXBaseComponent implements AfterViewInit {\n isValid = true;\n\n _rgba: any = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n _hex = '';\n\n /**\n * @ignore\n */\n protected _colorMode: 'hex' | 'rgba' = 'hex';\n\n /**\n * @ignore\n */\n protected _hexMaskOptions: AXMaskOptions = {\n mask: /^#[0-9a-f]{0,6}[0-9a-f]{0,2}$/i,\n prepare: (str, m, a) => {\n return m.typedValue?.startsWith('#') || str == '#' ? str.trim() : '#' + str.trim();\n },\n };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.applyParent(e.isUserInteraction);\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent(u: boolean = false) {\n const value = this._parent.value;\n if (!value) {\n this._hex = '';\n this._rgba = {\n r: null,\n g: null,\n b: null,\n a: null,\n };\n } else {\n Object.assign(this._rgba, AXColorUtil.to(value, 'rgba'));\n if (this._colorMode != 'hex' || !this._hex) {\n this._hex = AXColorUtil.toString(value, 'hex');\n }\n if (this._colorMode == 'hex') {\n this._hex = value;\n }\n if (!u && this._rgba.a != 1) {\n this._colorMode = 'rgba';\n }\n }\n this.checkValid();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n _handleChangeInputMode() {\n switch (this._colorMode) {\n case 'rgba':\n this._colorMode = 'hex';\n break;\n default:\n this._colorMode = 'rgba';\n break;\n }\n }\n\n /**\n * @ignore\n */\n _handleRGBAValueChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction) {\n this._rgba[e.name] = e.value;\n const { r, g, b, a } = this._rgba;\n const _color = `rgba(${r},${g},${b},${a})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleHEXAValueChanged(e: AXValueChangedEvent<string>) {\n if (e.isUserInteraction && e.value?.trim() != this._hex?.trim()) {\n this._parent.commitValue(e.value, e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n private checkValid() {\n this.isValid = AXColorUtil.isValid(this._hex);\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-input`;\n }\n}\n","<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","import { AXValueChangedEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component for picking colors from a color palette.\n * \n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-picker',\n templateUrl: './color-palette-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePickerComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPalettePickerComponent extends MXBaseComponent {\n _rgba: { r: number; g: number; b: number; a: number } = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n\n /**\n * @ignore\n */\n protected _gradient: number = 0;\n\n /**\n * @ignore\n */\n protected _bgColor: string = '#F00';\n\n /**\n * @ignore\n */\n private readonly _gradientColors: any[] = [\n { color: 'rgb(255, 0, 0)', pos: 0 },\n { color: 'rgb(255, 255, 0)', pos: 0.17 },\n { color: 'rgb(0, 255, 0)', pos: 0.33 },\n { color: 'rgb(0, 255, 255)', pos: 0.5 },\n { color: 'rgb(0, 0, 255)', pos: 0.67 },\n { color: 'rgb(255, 0, 255)', pos: 0.83 },\n { color: 'rgb(255, 0, 0)', pos: 1 },\n ];\n\n /**\n * @ignore\n */\n private readonly _gradients = AXColorUtil.gradient(this._gradientColors);\n\n /**\n * @ignore\n */\n private readonly _colors = this._gradients.rgb(100);\n\n /**\n * @ignore\n */\n protected dragPosition = { x: 0, y: 0 };\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this._handleParentColorChanged();\n });\n _parent.onOptionChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private setHSV() {\n const hsv = AXColorUtil.to(this._rgba, 'hsva') as any;\n const sortedH = this._colors.map((c) => c.toHsv().h);\n this._gradient = sortedH.findIndex((c) => {\n return Math.round(c) >= Math.round(hsv.h);\n });\n this._bgColor = AXColorUtil.toString({ h: hsv.h, s: 1, v: 1, a: this._rgba.a }, 'rgba');\n this.setPointerByPercent(hsv.s * 100, hsv.v * 100);\n }\n\n /**\n * @ignore\n */\n private _handleParentColorChanged() {\n const color = this._parent.value;\n if (!color) {\n this._rgba = {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n };\n } else {\n if (!AXColorUtil.equal(color, this._rgba)) {\n Object.assign(this._rgba, AXColorUtil.to(color, 'rgba'));\n }\n }\n this.setHSV();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n protected _handleAlphaChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction && e.value != this._rgba.a) {\n const { r, g, b } = this._rgba;\n const _color = `rgba(${r},${g},${b},${e.value})`;\n this._parent.commitValue(AXColorUtil.toString(_color, 'rgba'), e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleGradientChanged(e: AXValueChangedEvent<number>) {\n if (e.isUserInteraction && e.value != this._gradient) {\n const { s, v } = AXColorUtil.to(this._rgba, 'hsva') as any;\n const { h } = this._colors[e.value].toHsv();\n this._parent.commitValue(AXColorUtil.toString({ h, s, v, a: this._rgba.a }, 'rgba'), e.isUserInteraction);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleSurfaceClick(e: MouseEvent) {\n if (this._parent.disabled || this._parent.readonly) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n let x = e.offsetX;\n let y = e.offsetY;\n this.setColorByXY(x, y);\n }\n\n /**\n * @ignore\n */\n protected _handleDrag() {\n if (this._parent.disabled || this._parent.readonly) {\n return;\n }\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n const pb = pointer.getBoundingClientRect();\n const w = pb.width / 2;\n let x = pb.left - sb.left + w;\n let y = pb.top - sb.top + w;\n //\n x = x < 0 ? 0 : x;\n x = x > sb.width ? sb.width : x;\n //\n y = y < 0 ? 0 : y;\n y = y > sb.height ? sb.height : y;\n //\n this.setColorByXY(x, y);\n }\n\n /**\n * @ignore\n */\n private setColorByXY(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n const sb = surface.getBoundingClientRect();\n //\n const { h } = AXColorUtil.to(this._bgColor, 'hsva') as any;\n const hsv = {\n h,\n s: x / sb.width,\n v: (sb.height - y) / sb.height,\n };\n this._parent.commitValue(AXColorUtil.toString(hsv, 'rgba'), true);\n }\n\n /**\n * @ignore\n */\n private setPointerByPercent(x: number, y: number) {\n const surface = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-overlay');\n if (!surface) return;\n const sb = surface?.getBoundingClientRect();\n const pointer = this.getHostElement().querySelector<HTMLDivElement>('.ax-color-box-pointer');\n const pb = pointer?.getBoundingClientRect();\n const w = pb.width / 2;\n const width = sb.width; //+ pb.width\n const height = sb.height; // + pb.width\n this.dragPosition = {\n x: (x * width) / 100 - w,\n y: height - (y * height) / 100 - w,\n };\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-color-palette-picker`;\n }\n}\n","<div class=\"ax-color-box-overlay-trans\">\n <div class=\"ax-color-box-overlay\" [style.background-color]=\"_bgColor\">\n <div class=\"ax-color-box-overlay-g1\"></div>\n <div class=\"ax-color-box-overlay-g2\" (click)=\"_handleSurfaceClick($event)\"></div>\n <div class=\"ax-color-box-pointer\" cdkDrag cdkDragBoundary=\".ax-color-box-overlay\"\n [cdkDragFreeDragPosition]=\"dragPosition\" (cdkDragEnded)=\"_handleDrag()\"\n [cdkDragDisabled]=\"_parent.disabled || _parent.readonly\">\n </div>\n </div>\n</div>\n<ax-slider class=\"ax-color-box-gradient\" [minValue]=\"0\" [maxValue]=\"100\" [step]=\"1\" [ngModel]=\"_gradient\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleGradientChanged($event)\">\n</ax-slider>\n<ax-slider class=\"ax-color-box-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [ngModel]=\"_rgba.a\"\n [disabled]=\"_parent.disabled\" [readonly]=\"_parent.readonly\" (onValueChanged)=\"_handleAlphaChanged($event)\">\n</ax-slider>","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, HostBinding, Inject, NgZone, ViewEncapsulation } from '@angular/core';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * Component that displays a preview of the selected color in the palette.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-preview',\n template: `<div class=\"palette-preview-overlay\" [class.ax-state-disabled]=\"_parent.disabled\"></div>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPalettePreviewComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPalettePreviewComponent extends MXBaseComponent implements AfterViewInit {\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _zone: NgZone,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged.pipe(_unsubscriber.takeUntilDestroy).subscribe((e) => {\n _zone.runOutsideAngular(this.applyParent.bind(this));\n });\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n const inner = this.getHostElement().firstElementChild as HTMLDivElement;\n inner.style.backgroundColor = this._parent.value;\n inner.innerText = AXColorUtil.toString(this._parent.value);\n const color = AXColorUtil.toString(this._parent.value, 'hex');\n const ratio = AXColorUtil.contrastToWhite(color);\n this.getHostElement().style.color = !(ratio > 2.0) ? '#000' : '#fff';\n }\n\n /**\n * @ignore\n */\n @HostBinding('classs')\n private get __hostClass(): string {\n return `ax-color-palette-preview`;\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXColorUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, Inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent, AXDefaultColorPalette } from './color-palette.class';\n\n/**\n * Displays color swatches or favorites, allowing color selection.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette-swatches, ax-color-palette-favorite',\n template: `\n @for (color of colors; track color.code) {\n <div\n [style.background-color]=\"color.code\"\n [attr.title]=\"color.code\"\n [class.ax-state-selected]=\"color.code === _selected\"\n (click)=\"_handleClick($event, color)\"\n ></div>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXColorPaletteChildComponent,\n useExisting: AXColorPaletteSwatchesComponent,\n },\n AXUnsubscriber,\n ],\n})\nexport class AXColorPaletteSwatchesComponent extends MXBaseComponent implements OnInit, AfterViewInit {\n /**\n * @ignore\n */\n protected _selected: string;\n\n /**\n * List of color objects for display, each with a `code` property.\n * @defaultValue []\n */\n @Input()\n colors: { code: string }[] = [];\n\n /**\n * @ignore\n */\n constructor(\n @Inject(AXColorPaletteParentComponent)\n public _parent: AXColorPaletteParentComponent,\n private _unsubscriber: AXUnsubscriber,\n ) {\n super();\n _parent.onValueChanged\n .pipe(_unsubscriber.takeUntilDestroy)\n .pipe(distinctUntilChanged())\n .subscribe(() => {\n this.applyParent();\n });\n }\n\n /**\n * @ignore\n */\n private applyParent() {\n this._selected = AXColorUtil.toString(this._parent.value, 'hex').toLowerCase();\n this.cdr.detectChanges();\n }\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n const isFav = this.getHostElement().tagName.toLowerCase() == 'ax-color-palette-favorite';\n if (!isFav && this.colors.length == 0) {\n this.colors = AXDefaultColorPalette.map((c) => this._format(c));\n }\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this.applyParent();\n }\n\n /**\n * @ignore\n */\n protected _handleClick(e: MouseEvent, color) {\n if (this._parent.disabled || this._parent.readonly) return;\n this._parent.commitValue(color.code, true);\n }\n\n /**\n * @ignore\n */\n private _format(color: { code: string }): { code: string } {\n return {\n code: color.code.toLowerCase(),\n };\n }\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, HostBinding, QueryList, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXColorPaletteChildComponent, AXColorPaletteParentComponent } from './color-palette.class';\n\n/**\n * A color palette component that allows for color selection and interaction.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-color-palette',\n templateUrl: './color-palette.component.html',\n styleUrls: ['./color-palette.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'checked'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXValuableComponent, useExisting: AXColorPalleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXColorPalleteComponent),\n multi: true,\n },\n {\n provide: AXColorPaletteParentComponent,\n useExisting: AXColorPalleteComponent,\n },\n ],\n})\nexport class AXColorPalleteComponent extends MXValueComponent<string> {\n @ContentChildren(AXColorPaletteChildComponent)\n _children: QueryList<AXColorPaletteChildComponent>;\n\n /**\n * @ignore\n */\n @HostBinding('class.ax-state-disabled')\n private get __hostDisabled() {\n return this.disabled;\n }\n}\n","<ng-content select='ax-header'></ng-content>\n\n@if(_children?.length){\n<ng-container [ngTemplateOutlet]=\"custom\"></ng-container>\n} @else{\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n\n}\n<ng-template #custom>\n <ng-content select='ax-color-palette-preview'></ng-content>\n <ng-content select='ax-color-palette-picker'></ng-content>\n <ng-content select='ax-color-palette-swatches'></ng-content>\n <ng-content select='ax-color-palette-favorite'></ng-content>\n <ng-content select='ax-color-palette-input'></ng-content>\n</ng-template>\n<ng-template #default>\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-swatches></ax-color-palette-swatches>\n <ax-color-palette-input></ax-color-palette-input>\n</ng-template>\n<ng-content select='ax-footer'></ng-content>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXSliderModule } from '@acorex/components/slider';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { FormsModule } from '@angular/forms';\nimport { AXColorPaletteInputComponent } from './color-palette-input.component';\nimport { AXColorPalettePickerComponent } from './color-palette-picker.component';\nimport { AXColorPalettePreviewComponent } from './color-palette-preview.component';\nimport { AXColorPaletteSwatchesComponent } from './color-palette-swatches.component';\nimport { AXColorPalleteComponent } from './color-palette.component';\n\nconst MODULES: any[] = [\n FormsModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXDecoratorModule,\n AXNumberBoxModule,\n AXSliderModule,\n DragDropModule,\n];\nconst CONPONENTS: any[] = [\n AXColorPalleteComponent,\n AXColorPalettePreviewComponent,\n AXColorPaletteSwatchesComponent,\n AXColorPaletteInputComponent,\n AXColorPalettePickerComponent,\n];\n\n@NgModule({\n declarations: [...CONPONENTS],\n imports: [CommonModule, ...MODULES],\n exports: [...CONPONENTS],\n providers: [],\n})\nexport class AXColorPaletteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i1","i2.AXColorPalettePreviewComponent","i3.AXColorPaletteSwatchesComponent","i4.AXColorPaletteInputComponent","i5.AXColorPalettePickerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAasB,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA7B,6BAA6B,EAAA,CAAA,CAAA,EAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADlD,UAAU;;MAWW,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;;AAGE,MAAA,qBAAqB,GAAG;IACnC,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAGnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;;IAEnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE;IAC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"}