@ardium-ui/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +25 -0
  2. package/esm2022/ardium-ui-ui.mjs +5 -0
  3. package/esm2022/lib/_internal/boolean-component.mjs +108 -0
  4. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +12 -0
  5. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +18 -0
  6. package/esm2022/lib/_internal/disablable-component.mjs +44 -0
  7. package/esm2022/lib/_internal/focusable-component.mjs +91 -0
  8. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +436 -0
  9. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +349 -0
  10. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +155 -0
  11. package/esm2022/lib/_internal/models/pagination.model.mjs +124 -0
  12. package/esm2022/lib/_internal/ngmodel-component.mjs +42 -0
  13. package/esm2022/lib/_internal/queue.mjs +59 -0
  14. package/esm2022/lib/_internal/selectable-list-component.mjs +304 -0
  15. package/esm2022/lib/badge/badge.directive.mjs +123 -0
  16. package/esm2022/lib/badge/badge.module.mjs +18 -0
  17. package/esm2022/lib/badge/badge.types.mjs +16 -0
  18. package/esm2022/lib/buttons/_button-base.mjs +45 -0
  19. package/esm2022/lib/buttons/button/button.component.mjs +49 -0
  20. package/esm2022/lib/buttons/button/button.module.mjs +18 -0
  21. package/esm2022/lib/buttons/fab/fab.component.mjs +40 -0
  22. package/esm2022/lib/buttons/fab/fab.module.mjs +18 -0
  23. package/esm2022/lib/buttons/general-button.types.mjs +55 -0
  24. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +37 -0
  25. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +18 -0
  26. package/esm2022/lib/calendar/calendar.component.mjs +982 -0
  27. package/esm2022/lib/calendar/calendar.directives.mjs +107 -0
  28. package/esm2022/lib/calendar/calendar.helpers.mjs +47 -0
  29. package/esm2022/lib/calendar/calendar.module.mjs +21 -0
  30. package/esm2022/lib/calendar/calendar.types.mjs +11 -0
  31. package/esm2022/lib/card/card.children.mjs +97 -0
  32. package/esm2022/lib/card/card.component.mjs +40 -0
  33. package/esm2022/lib/card/card.module.mjs +59 -0
  34. package/esm2022/lib/card/card.types.mjs +9 -0
  35. package/esm2022/lib/checkbox/checkbox.component.mjs +73 -0
  36. package/esm2022/lib/checkbox/checkbox.module.mjs +18 -0
  37. package/esm2022/lib/checkbox/checkbox.types.mjs +6 -0
  38. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +139 -0
  39. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +19 -0
  40. package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +7 -0
  41. package/esm2022/lib/chip/chip.component.mjs +55 -0
  42. package/esm2022/lib/chip/chip.module.mjs +21 -0
  43. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +80 -0
  44. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +77 -0
  45. package/esm2022/lib/color/color-display/color-display.component.mjs +48 -0
  46. package/esm2022/lib/color/color-display/color-display.module.mjs +18 -0
  47. package/esm2022/lib/color/color-display/color-display.types.mjs +9 -0
  48. package/esm2022/lib/color/color-picker/color-picker.component.mjs +484 -0
  49. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +55 -0
  50. package/esm2022/lib/color/color-picker/color-picker.module.mjs +43 -0
  51. package/esm2022/lib/color/color-picker/color-picker.types.mjs +11 -0
  52. package/esm2022/lib/dialog/dialog.component.mjs +167 -0
  53. package/esm2022/lib/dialog/dialog.directives.mjs +14 -0
  54. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  55. package/esm2022/lib/dialog/dialog.types.mjs +6 -0
  56. package/esm2022/lib/divider/divider.component.mjs +26 -0
  57. package/esm2022/lib/divider/divider.module.mjs +18 -0
  58. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +130 -0
  59. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +18 -0
  60. package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +10 -0
  61. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +82 -0
  62. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +42 -0
  63. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +58 -0
  64. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +153 -0
  65. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +73 -0
  66. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +21 -0
  67. package/esm2022/lib/file-inputs/file-input-base.mjs +187 -0
  68. package/esm2022/lib/file-inputs/file-input-types.mjs +2 -0
  69. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +74 -0
  70. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +25 -0
  71. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +19 -0
  72. package/esm2022/lib/icon/icon.component.mjs +85 -0
  73. package/esm2022/lib/icon/icon.module.mjs +19 -0
  74. package/esm2022/lib/icon/icon.pipe.mjs +18 -0
  75. package/esm2022/lib/inputs/color-input/color-input.component.mjs +421 -0
  76. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +101 -0
  77. package/esm2022/lib/inputs/color-input/color-input.module.mjs +85 -0
  78. package/esm2022/lib/inputs/color-input/color-input.types.mjs +2 -0
  79. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +218 -0
  80. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +217 -0
  81. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +18 -0
  82. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +15 -0
  83. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +8 -0
  84. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +234 -0
  85. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +36 -0
  86. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +21 -0
  87. package/esm2022/lib/inputs/hex-input.model.mjs +106 -0
  88. package/esm2022/lib/inputs/input/input.component.mjs +344 -0
  89. package/esm2022/lib/inputs/input/input.directives.mjs +58 -0
  90. package/esm2022/lib/inputs/input/input.module.mjs +47 -0
  91. package/esm2022/lib/inputs/input-transformers.mjs +66 -0
  92. package/esm2022/lib/inputs/input-types.mjs +6 -0
  93. package/esm2022/lib/inputs/input-utils.mjs +205 -0
  94. package/esm2022/lib/inputs/number-input/number-input.component.mjs +289 -0
  95. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +14 -0
  96. package/esm2022/lib/inputs/number-input/number-input.module.mjs +21 -0
  97. package/esm2022/lib/inputs/password-input/password-input.component.mjs +222 -0
  98. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +49 -0
  99. package/esm2022/lib/inputs/password-input/password-input.module.mjs +41 -0
  100. package/esm2022/lib/inputs/password-input/password-input.types.mjs +2 -0
  101. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +219 -0
  102. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +36 -0
  103. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +37 -0
  104. package/esm2022/lib/kbd/kbd.component.mjs +42 -0
  105. package/esm2022/lib/kbd/kbd.module.mjs +19 -0
  106. package/esm2022/lib/kbd/kbd.pipe.mjs +17 -0
  107. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +55 -0
  108. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +19 -0
  109. package/esm2022/lib/modal/modal.component.mjs +120 -0
  110. package/esm2022/lib/modal/modal.module.mjs +21 -0
  111. package/esm2022/lib/option/option.component.mjs +77 -0
  112. package/esm2022/lib/option/option.module.mjs +18 -0
  113. package/esm2022/lib/progress-bar/progress-bar.component.mjs +95 -0
  114. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +14 -0
  115. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  116. package/esm2022/lib/progress-bar/progress-bar.types.mjs +19 -0
  117. package/esm2022/lib/progress-circle/progress-circle.component.mjs +94 -0
  118. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +14 -0
  119. package/esm2022/lib/progress-circle/progress-circle.module.mjs +19 -0
  120. package/esm2022/lib/progress-circle/progress-circle.types.mjs +10 -0
  121. package/esm2022/lib/radio/radio/radio.component.mjs +53 -0
  122. package/esm2022/lib/radio/radio-group.component.mjs +207 -0
  123. package/esm2022/lib/radio/radio.module.mjs +19 -0
  124. package/esm2022/lib/search-functions.mjs +64 -0
  125. package/esm2022/lib/segment/segment.component.mjs +168 -0
  126. package/esm2022/lib/segment/segment.directives.mjs +14 -0
  127. package/esm2022/lib/segment/segment.module.mjs +19 -0
  128. package/esm2022/lib/segment/segment.types.mjs +12 -0
  129. package/esm2022/lib/select/select.component.mjs +1160 -0
  130. package/esm2022/lib/select/select.directive.mjs +171 -0
  131. package/esm2022/lib/select/select.module.mjs +112 -0
  132. package/esm2022/lib/select/select.types.mjs +2 -0
  133. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +46 -0
  134. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +18 -0
  135. package/esm2022/lib/slider/abstract-slider.mjs +330 -0
  136. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +143 -0
  137. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +18 -0
  138. package/esm2022/lib/slider/slider.component.mjs +93 -0
  139. package/esm2022/lib/slider/slider.directive.mjs +16 -0
  140. package/esm2022/lib/slider/slider.module.mjs +20 -0
  141. package/esm2022/lib/slider/slider.types.mjs +10 -0
  142. package/esm2022/lib/snackbar/index.mjs +5 -0
  143. package/esm2022/lib/snackbar/snackbar-ref.mjs +51 -0
  144. package/esm2022/lib/snackbar/snackbar.component.mjs +48 -0
  145. package/esm2022/lib/snackbar/snackbar.service.mjs +227 -0
  146. package/esm2022/lib/snackbar/snackbar.token.mjs +20 -0
  147. package/esm2022/lib/snackbar/snackbar.types.mjs +25 -0
  148. package/esm2022/lib/spinner/spinner.component.mjs +22 -0
  149. package/esm2022/lib/spinner/spinner.module.mjs +18 -0
  150. package/esm2022/lib/star/star-button/star-button.component.mjs +53 -0
  151. package/esm2022/lib/star/star-button/star-button.module.mjs +19 -0
  152. package/esm2022/lib/star/star-display/star-display.component.mjs +66 -0
  153. package/esm2022/lib/star/star-display/star-display.module.mjs +19 -0
  154. package/esm2022/lib/star/star-input/star-input.component.mjs +221 -0
  155. package/esm2022/lib/star/star-input/star-input.module.mjs +19 -0
  156. package/esm2022/lib/star/star.component.mjs +28 -0
  157. package/esm2022/lib/star/star.module.mjs +18 -0
  158. package/esm2022/lib/star/star.types.mjs +23 -0
  159. package/esm2022/lib/statebox/statebox.component.mjs +158 -0
  160. package/esm2022/lib/statebox/statebox.module.mjs +18 -0
  161. package/esm2022/lib/statebox/statebox.types.mjs +2 -0
  162. package/esm2022/lib/table/table-item-storage.mjs +560 -0
  163. package/esm2022/lib/table/table.component.mjs +468 -0
  164. package/esm2022/lib/table/table.directives.mjs +64 -0
  165. package/esm2022/lib/table/table.module.mjs +46 -0
  166. package/esm2022/lib/table/table.types.mjs +30 -0
  167. package/esm2022/lib/table/utils.mjs +18 -0
  168. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +64 -0
  169. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +19 -0
  170. package/esm2022/lib/table-pagination/table-pagination.component.mjs +172 -0
  171. package/esm2022/lib/table-pagination/table-pagination.module.mjs +21 -0
  172. package/esm2022/lib/table-pagination/table-pagination.types.mjs +7 -0
  173. package/esm2022/lib/types/alignment.types.mjs +10 -0
  174. package/esm2022/lib/types/colors.types.mjs +43 -0
  175. package/esm2022/lib/types/item-storage.types.mjs +6 -0
  176. package/esm2022/lib/types/theming.types.mjs +48 -0
  177. package/esm2022/lib/types/utility.types.mjs +5 -0
  178. package/esm2022/public-api.mjs +194 -0
  179. package/fesm2022/ardium-ui-ui.mjs +14316 -0
  180. package/fesm2022/ardium-ui-ui.mjs.map +1 -0
  181. package/index.d.ts +5 -0
  182. package/lib/_internal/boolean-component.d.ts +50 -0
  183. package/lib/_internal/clear-button/clear-button.component.d.ts +6 -0
  184. package/lib/_internal/clear-button/clear-button.module.d.ts +8 -0
  185. package/lib/_internal/disablable-component.d.ts +11 -0
  186. package/lib/_internal/focusable-component.d.ts +52 -0
  187. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +87 -0
  188. package/lib/_internal/item-storages/simple-item-storage.d.ts +159 -0
  189. package/lib/_internal/item-storages/simplest-item-storage.d.ts +70 -0
  190. package/lib/_internal/models/pagination.model.d.ts +53 -0
  191. package/lib/_internal/ngmodel-component.d.ts +42 -0
  192. package/lib/_internal/queue.d.ts +21 -0
  193. package/lib/_internal/selectable-list-component.d.ts +71 -0
  194. package/lib/badge/badge.directive.d.ts +31 -0
  195. package/lib/badge/badge.module.d.ts +8 -0
  196. package/lib/badge/badge.types.d.ts +17 -0
  197. package/lib/buttons/_button-base.d.ts +18 -0
  198. package/lib/buttons/button/button.component.d.ts +15 -0
  199. package/lib/buttons/button/button.module.d.ts +8 -0
  200. package/lib/buttons/fab/fab.component.d.ts +12 -0
  201. package/lib/buttons/fab/fab.module.d.ts +8 -0
  202. package/lib/buttons/general-button.types.d.ts +57 -0
  203. package/lib/buttons/icon-button/icon-button.component.d.ts +13 -0
  204. package/lib/buttons/icon-button/icon-button.module.d.ts +8 -0
  205. package/lib/calendar/calendar.component.d.ts +155 -0
  206. package/lib/calendar/calendar.directives.d.ts +51 -0
  207. package/lib/calendar/calendar.helpers.d.ts +15 -0
  208. package/lib/calendar/calendar.module.d.ts +11 -0
  209. package/lib/calendar/calendar.types.d.ts +80 -0
  210. package/lib/card/card.children.d.ts +43 -0
  211. package/lib/card/card.component.d.ts +13 -0
  212. package/lib/card/card.module.d.ts +9 -0
  213. package/lib/card/card.types.d.ts +10 -0
  214. package/lib/checkbox/checkbox.component.d.ts +21 -0
  215. package/lib/checkbox/checkbox.module.d.ts +8 -0
  216. package/lib/checkbox/checkbox.types.d.ts +6 -0
  217. package/lib/checkbox-list/checkbox-list.component.d.ts +50 -0
  218. package/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
  219. package/lib/checkbox-list/checkbox-list.types.d.ts +7 -0
  220. package/lib/chip/chip.component.d.ts +18 -0
  221. package/lib/chip/chip.module.d.ts +11 -0
  222. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +24 -0
  223. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +24 -0
  224. package/lib/color/color-display/color-display.component.d.ts +17 -0
  225. package/lib/color/color-display/color-display.module.d.ts +8 -0
  226. package/lib/color/color-display/color-display.types.d.ts +9 -0
  227. package/lib/color/color-picker/color-picker.component.d.ts +125 -0
  228. package/lib/color/color-picker/color-picker.directives.d.ts +27 -0
  229. package/lib/color/color-picker/color-picker.module.d.ts +13 -0
  230. package/lib/color/color-picker/color-picker.types.d.ts +21 -0
  231. package/lib/dialog/dialog.component.d.ts +44 -0
  232. package/lib/dialog/dialog.directives.d.ts +9 -0
  233. package/lib/dialog/dialog.module.d.ts +11 -0
  234. package/lib/dialog/dialog.types.d.ts +28 -0
  235. package/lib/divider/divider.component.d.ts +8 -0
  236. package/lib/divider/divider.module.d.ts +8 -0
  237. package/lib/dropdown-panel/dropdown-panel.component.d.ts +37 -0
  238. package/lib/dropdown-panel/dropdown-panel.module.d.ts +8 -0
  239. package/lib/dropdown-panel/dropdown-panel.types.d.ts +12 -0
  240. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +22 -0
  241. package/lib/file-inputs/file-drop-area/file-drop-area.directives.d.ts +21 -0
  242. package/lib/file-inputs/file-drop-area/file-drop-area.module.d.ts +12 -0
  243. package/lib/file-inputs/file-input/file-input.component.d.ts +41 -0
  244. package/lib/file-inputs/file-input/file-input.directives.d.ts +39 -0
  245. package/lib/file-inputs/file-input/file-input.module.d.ts +11 -0
  246. package/lib/file-inputs/file-input-base.d.ts +43 -0
  247. package/lib/file-inputs/file-input-types.d.ts +10 -0
  248. package/lib/form-field-frame/form-field-frame.component.d.ts +32 -0
  249. package/lib/form-field-frame/form-field-frame.directives.d.ts +14 -0
  250. package/lib/form-field-frame/form-field-frame.module.d.ts +9 -0
  251. package/lib/icon/icon.component.d.ts +32 -0
  252. package/lib/icon/icon.module.d.ts +9 -0
  253. package/lib/icon/icon.pipe.d.ts +7 -0
  254. package/lib/inputs/color-input/color-input.component.d.ts +147 -0
  255. package/lib/inputs/color-input/color-input.directives.d.ts +52 -0
  256. package/lib/inputs/color-input/color-input.module.d.ts +16 -0
  257. package/lib/inputs/color-input/color-input.types.d.ts +5 -0
  258. package/lib/inputs/digit-input/digit-input.component.d.ts +50 -0
  259. package/lib/inputs/digit-input/digit-input.model.d.ts +26 -0
  260. package/lib/inputs/digit-input/digit-input.module.d.ts +8 -0
  261. package/lib/inputs/digit-input/digit-input.types.d.ts +27 -0
  262. package/lib/inputs/digit-input/digit-input.utils.d.ts +17 -0
  263. package/lib/inputs/hex-input/hex-input.component.d.ts +60 -0
  264. package/lib/inputs/hex-input/hex-input.directives.d.ts +20 -0
  265. package/lib/inputs/hex-input/hex-input.module.d.ts +11 -0
  266. package/lib/inputs/hex-input.model.d.ts +27 -0
  267. package/lib/inputs/input/input.component.d.ts +79 -0
  268. package/lib/inputs/input/input.directives.d.ts +33 -0
  269. package/lib/inputs/input/input.module.d.ts +13 -0
  270. package/lib/inputs/input-transformers.d.ts +24 -0
  271. package/lib/inputs/input-types.d.ts +6 -0
  272. package/lib/inputs/input-utils.d.ts +58 -0
  273. package/lib/inputs/number-input/number-input.component.d.ts +70 -0
  274. package/lib/inputs/number-input/number-input.directives.d.ts +8 -0
  275. package/lib/inputs/number-input/number-input.module.d.ts +11 -0
  276. package/lib/inputs/password-input/password-input.component.d.ts +54 -0
  277. package/lib/inputs/password-input/password-input.directives.d.ts +27 -0
  278. package/lib/inputs/password-input/password-input.module.d.ts +11 -0
  279. package/lib/inputs/password-input/password-input.types.d.ts +3 -0
  280. package/lib/inputs/simple-input/simple-input.component.d.ts +58 -0
  281. package/lib/inputs/simple-input/simple-input.directives.d.ts +20 -0
  282. package/lib/inputs/simple-input/simple-input.module.d.ts +11 -0
  283. package/lib/kbd/kbd.component.d.ts +15 -0
  284. package/lib/kbd/kbd.module.d.ts +9 -0
  285. package/lib/kbd/kbd.pipe.d.ts +7 -0
  286. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +18 -0
  287. package/lib/kbd-shortcut/kbd-shortcut.module.d.ts +9 -0
  288. package/lib/modal/modal.component.d.ts +36 -0
  289. package/lib/modal/modal.module.d.ts +11 -0
  290. package/lib/option/option.component.d.ts +29 -0
  291. package/lib/option/option.module.d.ts +8 -0
  292. package/lib/progress-bar/progress-bar.component.d.ts +26 -0
  293. package/lib/progress-bar/progress-bar.directive.d.ts +9 -0
  294. package/lib/progress-bar/progress-bar.module.d.ts +9 -0
  295. package/lib/progress-bar/progress-bar.types.d.ts +26 -0
  296. package/lib/progress-circle/progress-circle.component.d.ts +28 -0
  297. package/lib/progress-circle/progress-circle.directive.d.ts +9 -0
  298. package/lib/progress-circle/progress-circle.module.d.ts +9 -0
  299. package/lib/progress-circle/progress-circle.types.d.ts +17 -0
  300. package/lib/radio/radio/radio.component.d.ts +23 -0
  301. package/lib/radio/radio-group.component.d.ts +43 -0
  302. package/lib/radio/radio.module.d.ts +9 -0
  303. package/lib/search-functions.d.ts +10 -0
  304. package/lib/segment/segment.component.d.ts +48 -0
  305. package/lib/segment/segment.directives.d.ts +9 -0
  306. package/lib/segment/segment.module.d.ts +9 -0
  307. package/lib/segment/segment.types.d.ts +16 -0
  308. package/lib/select/select.component.d.ts +255 -0
  309. package/lib/select/select.directive.d.ts +94 -0
  310. package/lib/select/select.module.d.ts +14 -0
  311. package/lib/select/select.types.d.ts +109 -0
  312. package/lib/slide-toggle/slide-toggle.component.d.ts +14 -0
  313. package/lib/slide-toggle/slide-toggle.module.d.ts +8 -0
  314. package/lib/slider/abstract-slider.d.ts +88 -0
  315. package/lib/slider/range-slider/range-slider.component.d.ts +29 -0
  316. package/lib/slider/range-slider/range-slider.module.d.ts +8 -0
  317. package/lib/slider/slider.component.d.ts +18 -0
  318. package/lib/slider/slider.directive.d.ts +9 -0
  319. package/lib/slider/slider.module.d.ts +10 -0
  320. package/lib/slider/slider.types.d.ts +28 -0
  321. package/lib/snackbar/index.d.ts +4 -0
  322. package/lib/snackbar/snackbar-ref.d.ts +37 -0
  323. package/lib/snackbar/snackbar.component.d.ts +16 -0
  324. package/lib/snackbar/snackbar.service.d.ts +31 -0
  325. package/lib/snackbar/snackbar.token.d.ts +5 -0
  326. package/lib/snackbar/snackbar.types.d.ts +48 -0
  327. package/lib/spinner/spinner.component.d.ts +8 -0
  328. package/lib/spinner/spinner.module.d.ts +8 -0
  329. package/lib/star/star-button/star-button.component.d.ts +16 -0
  330. package/lib/star/star-button/star-button.module.d.ts +9 -0
  331. package/lib/star/star-display/star-display.component.d.ts +16 -0
  332. package/lib/star/star-display/star-display.module.d.ts +9 -0
  333. package/lib/star/star-input/star-input.component.d.ts +51 -0
  334. package/lib/star/star-input/star-input.module.d.ts +9 -0
  335. package/lib/star/star.component.d.ts +10 -0
  336. package/lib/star/star.module.d.ts +8 -0
  337. package/lib/star/star.types.d.ts +30 -0
  338. package/lib/statebox/statebox.component.d.ts +31 -0
  339. package/lib/statebox/statebox.module.d.ts +8 -0
  340. package/lib/statebox/statebox.types.d.ts +22 -0
  341. package/lib/table/table-item-storage.d.ts +266 -0
  342. package/lib/table/table.component.d.ts +127 -0
  343. package/lib/table/table.directives.d.ts +35 -0
  344. package/lib/table/table.module.d.ts +12 -0
  345. package/lib/table/table.types.d.ts +83 -0
  346. package/lib/table/utils.d.ts +4 -0
  347. package/lib/table-from-csv/table-from-csv.component.d.ts +16 -0
  348. package/lib/table-from-csv/table-from-csv.module.d.ts +9 -0
  349. package/lib/table-pagination/table-pagination.component.d.ts +48 -0
  350. package/lib/table-pagination/table-pagination.module.d.ts +11 -0
  351. package/lib/table-pagination/table-pagination.types.d.ts +9 -0
  352. package/lib/types/alignment.types.d.ts +11 -0
  353. package/lib/types/colors.types.d.ts +71 -0
  354. package/lib/types/item-storage.types.d.ts +98 -0
  355. package/lib/types/theming.types.d.ts +61 -0
  356. package/lib/types/utility.types.d.ts +11 -0
  357. package/package.json +36 -0
  358. package/prebuilt-themes/default/badge.css +208 -0
  359. package/prebuilt-themes/default/badge.css.map +1 -0
  360. package/prebuilt-themes/default/buttons/button.css +290 -0
  361. package/prebuilt-themes/default/buttons/button.css.map +1 -0
  362. package/prebuilt-themes/default/buttons/fab.css +307 -0
  363. package/prebuilt-themes/default/buttons/fab.css.map +1 -0
  364. package/prebuilt-themes/default/buttons/icon-button.css +288 -0
  365. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -0
  366. package/prebuilt-themes/default/calendar.css +293 -0
  367. package/prebuilt-themes/default/calendar.css.map +1 -0
  368. package/prebuilt-themes/default/card.css +122 -0
  369. package/prebuilt-themes/default/card.css.map +1 -0
  370. package/prebuilt-themes/default/checkbox-list.css +65 -0
  371. package/prebuilt-themes/default/checkbox-list.css.map +1 -0
  372. package/prebuilt-themes/default/checkbox.css +365 -0
  373. package/prebuilt-themes/default/checkbox.css.map +1 -0
  374. package/prebuilt-themes/default/chips.css +367 -0
  375. package/prebuilt-themes/default/chips.css.map +1 -0
  376. package/prebuilt-themes/default/color-display.css +29 -0
  377. package/prebuilt-themes/default/color-display.css.map +1 -0
  378. package/prebuilt-themes/default/color-picker.css +106 -0
  379. package/prebuilt-themes/default/color-picker.css.map +1 -0
  380. package/prebuilt-themes/default/core.css +84 -0
  381. package/prebuilt-themes/default/core.css.map +1 -0
  382. package/prebuilt-themes/default/dialog.css +18 -0
  383. package/prebuilt-themes/default/dialog.css.map +1 -0
  384. package/prebuilt-themes/default/divider.css +11 -0
  385. package/prebuilt-themes/default/divider.css.map +1 -0
  386. package/prebuilt-themes/default/dropdown-panel.css +37 -0
  387. package/prebuilt-themes/default/dropdown-panel.css.map +1 -0
  388. package/prebuilt-themes/default/file-drop-area.css +279 -0
  389. package/prebuilt-themes/default/file-drop-area.css.map +1 -0
  390. package/prebuilt-themes/default/form-field-frame.css +84 -0
  391. package/prebuilt-themes/default/form-field-frame.css.map +1 -0
  392. package/prebuilt-themes/default/inputs/color-input.css +139 -0
  393. package/prebuilt-themes/default/inputs/color-input.css.map +1 -0
  394. package/prebuilt-themes/default/inputs/digit-input.css +45 -0
  395. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -0
  396. package/prebuilt-themes/default/inputs/file-input.css +169 -0
  397. package/prebuilt-themes/default/inputs/file-input.css.map +1 -0
  398. package/prebuilt-themes/default/inputs/hex-input.css +119 -0
  399. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -0
  400. package/prebuilt-themes/default/inputs/input.css +139 -0
  401. package/prebuilt-themes/default/inputs/input.css.map +1 -0
  402. package/prebuilt-themes/default/inputs/number-input.css +150 -0
  403. package/prebuilt-themes/default/inputs/number-input.css.map +1 -0
  404. package/prebuilt-themes/default/inputs/password-input.css +73 -0
  405. package/prebuilt-themes/default/inputs/password-input.css.map +1 -0
  406. package/prebuilt-themes/default/inputs/search-bar.css +114 -0
  407. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -0
  408. package/prebuilt-themes/default/inputs/simple-input.css +114 -0
  409. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -0
  410. package/prebuilt-themes/default/kbd-shortcut.css +12 -0
  411. package/prebuilt-themes/default/kbd-shortcut.css.map +1 -0
  412. package/prebuilt-themes/default/kbd.css +17 -0
  413. package/prebuilt-themes/default/kbd.css.map +1 -0
  414. package/prebuilt-themes/default/modal.css +73 -0
  415. package/prebuilt-themes/default/modal.css.map +1 -0
  416. package/prebuilt-themes/default/progress-bar.css +267 -0
  417. package/prebuilt-themes/default/progress-bar.css.map +1 -0
  418. package/prebuilt-themes/default/progress-circle.css +167 -0
  419. package/prebuilt-themes/default/progress-circle.css.map +1 -0
  420. package/prebuilt-themes/default/radio.css +226 -0
  421. package/prebuilt-themes/default/radio.css.map +1 -0
  422. package/prebuilt-themes/default/segment.css +391 -0
  423. package/prebuilt-themes/default/segment.css.map +1 -0
  424. package/prebuilt-themes/default/select.css +275 -0
  425. package/prebuilt-themes/default/select.css.map +1 -0
  426. package/prebuilt-themes/default/slide-toggle.css +264 -0
  427. package/prebuilt-themes/default/slide-toggle.css.map +1 -0
  428. package/prebuilt-themes/default/slider.css +354 -0
  429. package/prebuilt-themes/default/slider.css.map +1 -0
  430. package/prebuilt-themes/default/snackbar.css +183 -0
  431. package/prebuilt-themes/default/snackbar.css.map +1 -0
  432. package/prebuilt-themes/default/spinner.css +151 -0
  433. package/prebuilt-themes/default/spinner.css.map +1 -0
  434. package/prebuilt-themes/default/stars.css +291 -0
  435. package/prebuilt-themes/default/stars.css.map +1 -0
  436. package/prebuilt-themes/default/statebox.css +235 -0
  437. package/prebuilt-themes/default/statebox.css.map +1 -0
  438. package/prebuilt-themes/default/table-pagination.css +48 -0
  439. package/prebuilt-themes/default/table-pagination.css.map +1 -0
  440. package/prebuilt-themes/default/table.css +418 -0
  441. package/prebuilt-themes/default/table.css.map +1 -0
  442. package/public-api.d.ts +145 -0
  443. package/themes/_variables.scss +121 -0
  444. package/themes/default/_clear-button.scss +73 -0
  445. package/themes/default/_coloring.scss +137 -0
  446. package/themes/default/_dropdown-arrow.scss +12 -0
  447. package/themes/default/_mixins.scss +70 -0
  448. package/themes/default/badge.scss +94 -0
  449. package/themes/default/buttons/_button-mixins.scss +144 -0
  450. package/themes/default/buttons/button.scss +62 -0
  451. package/themes/default/buttons/fab.scss +72 -0
  452. package/themes/default/buttons/icon-button.scss +59 -0
  453. package/themes/default/calendar.scss +182 -0
  454. package/themes/default/card.scss +126 -0
  455. package/themes/default/checkbox-list.scss +83 -0
  456. package/themes/default/checkbox.scss +109 -0
  457. package/themes/default/chips.scss +206 -0
  458. package/themes/default/color-display.scss +41 -0
  459. package/themes/default/color-picker.scss +111 -0
  460. package/themes/default/core.scss +96 -0
  461. package/themes/default/dialog.scss +16 -0
  462. package/themes/default/divider.scss +13 -0
  463. package/themes/default/dropdown-panel.scss +45 -0
  464. package/themes/default/file-drop-area.scss +162 -0
  465. package/themes/default/form-field-frame.scss +78 -0
  466. package/themes/default/inputs/_shared.scss +46 -0
  467. package/themes/default/inputs/color-input.scss +46 -0
  468. package/themes/default/inputs/digit-input.scss +56 -0
  469. package/themes/default/inputs/file-input.scss +78 -0
  470. package/themes/default/inputs/hex-input.scss +27 -0
  471. package/themes/default/inputs/input.scss +52 -0
  472. package/themes/default/inputs/number-input.scss +121 -0
  473. package/themes/default/inputs/password-input.scss +43 -0
  474. package/themes/default/inputs/search-bar.scss +19 -0
  475. package/themes/default/inputs/simple-input.scss +19 -0
  476. package/themes/default/kbd-shortcut.scss +13 -0
  477. package/themes/default/kbd.scss +20 -0
  478. package/themes/default/modal.scss +93 -0
  479. package/themes/default/progress-bar.scss +166 -0
  480. package/themes/default/progress-circle.scss +56 -0
  481. package/themes/default/radio.scss +112 -0
  482. package/themes/default/segment.scss +339 -0
  483. package/themes/default/select.scss +253 -0
  484. package/themes/default/slide-toggle.scss +151 -0
  485. package/themes/default/slider.scss +224 -0
  486. package/themes/default/snackbar.scss +60 -0
  487. package/themes/default/spinner.scss +21 -0
  488. package/themes/default/stars.scss +122 -0
  489. package/themes/default/statebox.scss +109 -0
  490. package/themes/default/table-pagination.scss +56 -0
  491. package/themes/default/table.scss +403 -0
@@ -0,0 +1,421 @@
1
+ import { OverlayConfig } from '@angular/cdk/overlay';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { coerceBooleanProperty } from '@ardium-ui/devkit';
6
+ import * as Color from 'color';
7
+ import { ButtonVariant } from '../../buttons/general-button.types';
8
+ import { DropdownPanelAppearance, DropdownPanelVariant } from '../../dropdown-panel/dropdown-panel.types';
9
+ import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
10
+ import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
11
+ import { CaseTransformerType } from '../input-types';
12
+ import { ArdColorInputActionButtonsTemplateDirective, ArdColorInputColorReferenceTemplateDirective, ArdColorInputHueIndicatorTemplateDirective, ArdColorInputOpacityIndicatorTemplateDirective, ArdColorInputPlaceholderTemplateDirective, ArdColorInputPrefixTemplateDirective, ArdColorInputShadeIndicatorTemplateDirective, ArdColorInputSuffixTemplateDirective, } from './color-input.directives';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/cdk/overlay";
15
+ import * as i2 from "@angular/common";
16
+ import * as i3 from "../../form-field-frame/form-field-frame.component";
17
+ import * as i4 from "../../_internal/clear-button/clear-button.component";
18
+ import * as i5 from "../../color/color-picker/color-picker.component";
19
+ import * as i6 from "../../color/color-display/color-display.component";
20
+ import * as i7 from "../../card/card.component";
21
+ import * as i8 from "../../card/card.children";
22
+ import * as i9 from "@ardium-ui/devkit";
23
+ import * as i10 from "../../buttons/button/button.component";
24
+ export class ArdiumColorInputComponent extends _NgModelComponentBase {
25
+ constructor(_cd, viewContainerRef, overlay, scrollStrategyOpts, elementRef) {
26
+ super();
27
+ this._cd = _cd;
28
+ this.viewContainerRef = viewContainerRef;
29
+ this.overlay = overlay;
30
+ this.scrollStrategyOpts = scrollStrategyOpts;
31
+ this.DEFAULTS = {
32
+ clearButtonTitle: 'Clear',
33
+ };
34
+ //! placeholder
35
+ this.placeholder = '';
36
+ //! appearance
37
+ //all handled in ard-form-field-frame component
38
+ this.appearance = FormElementAppearance.Outlined;
39
+ this.variant = FormElementVariant.Rounded;
40
+ this._compact = false;
41
+ //! settings
42
+ this.case = CaseTransformerType.NoChange;
43
+ this._withActionButtons = false;
44
+ //! clear button
45
+ this._clearable = true;
46
+ this.clearButtonTitle = this.DEFAULTS.clearButtonTitle;
47
+ //! other inputs
48
+ this.inputAttrs = {};
49
+ //! value two-way binding
50
+ this._value = null;
51
+ this.valueChange = new EventEmitter();
52
+ //* event emitters
53
+ this.changeEvent = new EventEmitter();
54
+ this.clearEvent = new EventEmitter();
55
+ //! state
56
+ this._touched = false;
57
+ //! overlay state handlers
58
+ this._isOverlayOpen = false;
59
+ this.openEvent = new EventEmitter();
60
+ this.closeEvent = new EventEmitter();
61
+ //! overlay appearance
62
+ this._overlayAppearance = undefined;
63
+ this._overlayVariant = undefined;
64
+ //! color picker integration
65
+ this._temporaryValue = null;
66
+ this.element = elementRef.nativeElement;
67
+ }
68
+ //! ChangeDetectorRef
69
+ detectChanges() {
70
+ if (!this._cd.destroyed) {
71
+ this._cd.detectChanges();
72
+ }
73
+ }
74
+ ngAfterViewInit() {
75
+ this._setInputAttributes();
76
+ }
77
+ get shouldDisplayPlaceholder() {
78
+ return Boolean(this.placeholder) && !this.value;
79
+ }
80
+ get compact() {
81
+ return this._compact;
82
+ }
83
+ set compact(v) {
84
+ this._compact = coerceBooleanProperty(v);
85
+ }
86
+ get withActionButtons() {
87
+ return this._withActionButtons;
88
+ }
89
+ set withActionButtons(v) {
90
+ this._withActionButtons = coerceBooleanProperty(v);
91
+ }
92
+ get clearable() {
93
+ return this._clearable;
94
+ }
95
+ set clearable(v) {
96
+ this._clearable = coerceBooleanProperty(v);
97
+ if (this.value == null) {
98
+ this.value = Color('red');
99
+ }
100
+ }
101
+ get shouldShowClearButton() {
102
+ return this._clearable && !this.disabled && Boolean(this.value);
103
+ }
104
+ onClearButtonClick(event) {
105
+ event.stopPropagation();
106
+ this.clear();
107
+ this.focus();
108
+ }
109
+ //! control value accessor's write value implementation
110
+ writeValue(v) {
111
+ this.value = v;
112
+ }
113
+ //! clear function
114
+ clear() {
115
+ if (!this.clearable)
116
+ return;
117
+ this.writeValue(null);
118
+ this._emitChange();
119
+ this.clearEvent.emit();
120
+ }
121
+ set value(v) {
122
+ this._value = v;
123
+ this._updateInputElValue();
124
+ }
125
+ get value() {
126
+ return this._value;
127
+ }
128
+ //! event handlers
129
+ //change
130
+ onChange(event) {
131
+ event.stopPropagation();
132
+ this._emitChange();
133
+ }
134
+ _emitChange() {
135
+ const v = this.value;
136
+ if (!v)
137
+ return;
138
+ this._onChangeRegistered?.(v);
139
+ this.changeEvent.emit(v);
140
+ this.valueChange.emit(v);
141
+ }
142
+ _onTouched() {
143
+ this.touched = true;
144
+ this._onTouchedRegistered?.();
145
+ }
146
+ //smart focus
147
+ onMouseup() {
148
+ this.toggle();
149
+ }
150
+ onCopy(event) {
151
+ const v = this.value;
152
+ if (!v)
153
+ return;
154
+ event.clipboardData?.setData('text/plain', v.hex().toString());
155
+ event.preventDefault();
156
+ }
157
+ get touched() {
158
+ return this._touched;
159
+ }
160
+ set touched(state) {
161
+ this._touched = state;
162
+ }
163
+ _createOverlay() {
164
+ const strategy = this.overlay
165
+ .position()
166
+ .flexibleConnectedTo(this.overlayHost)
167
+ .withPositions([
168
+ {
169
+ originX: 'end',
170
+ originY: 'bottom',
171
+ overlayX: 'end',
172
+ overlayY: 'top',
173
+ },
174
+ {
175
+ originX: 'start',
176
+ originY: 'bottom',
177
+ overlayX: 'end',
178
+ overlayY: 'top',
179
+ },
180
+ {
181
+ originX: 'start',
182
+ originY: 'top',
183
+ overlayX: 'start',
184
+ overlayY: 'bottom',
185
+ },
186
+ {
187
+ originX: 'start',
188
+ originY: 'top',
189
+ overlayX: 'start',
190
+ overlayY: 'bottom',
191
+ },
192
+ ]);
193
+ const config = new OverlayConfig({
194
+ positionStrategy: strategy,
195
+ scrollStrategy: this.scrollStrategyOpts.block(),
196
+ hasBackdrop: false,
197
+ });
198
+ this.overlayRef = this.overlay.create(config);
199
+ const portal = new TemplatePortal(this.overlayTemplate, this.viewContainerRef);
200
+ this.overlayRef.attach(portal);
201
+ }
202
+ _destroyOverlay() {
203
+ if (!this.overlayRef)
204
+ return;
205
+ this.overlayRef.dispose();
206
+ delete this.overlayRef;
207
+ }
208
+ toggle() {
209
+ if (this._isOverlayOpen) {
210
+ this.close();
211
+ return;
212
+ }
213
+ this.open();
214
+ }
215
+ open() {
216
+ if (this.disabled || this._isOverlayOpen)
217
+ return;
218
+ this._isOverlayOpen = true;
219
+ this._createOverlay();
220
+ this.focus();
221
+ this.openEvent.emit();
222
+ }
223
+ close() {
224
+ if (!this._isOverlayOpen)
225
+ return;
226
+ this._isOverlayOpen = false;
227
+ this._temporaryValue = null;
228
+ this._destroyOverlay();
229
+ this._onTouched();
230
+ this.closeEvent.emit();
231
+ }
232
+ set overlayAppearance(v) {
233
+ this._overlayAppearance = v;
234
+ }
235
+ get overlayAppearance() {
236
+ if (this._overlayAppearance)
237
+ return this._overlayAppearance;
238
+ if (this.appearance == FormElementAppearance.Outlined)
239
+ return DropdownPanelAppearance.Outlined;
240
+ return DropdownPanelAppearance.Raised;
241
+ }
242
+ set overlayVariant(v) {
243
+ this._overlayVariant = v;
244
+ }
245
+ get overlayVariant() {
246
+ if (this._overlayVariant)
247
+ return this._overlayVariant;
248
+ if (this.variant == FormElementVariant.Pill)
249
+ return DropdownPanelVariant.Rounded;
250
+ return this.variant;
251
+ }
252
+ onColorPickerChange(event) {
253
+ if (this.withActionButtons) {
254
+ this._temporaryValue = event;
255
+ return;
256
+ }
257
+ this.value = event;
258
+ this.detectChanges();
259
+ }
260
+ handleOutsideClick(event) {
261
+ if (!this._isOverlayOpen)
262
+ return;
263
+ const target = event.target;
264
+ if (this.element.contains(target))
265
+ return;
266
+ this.close();
267
+ }
268
+ apply() {
269
+ if (!this._temporaryValue)
270
+ return this.cancel();
271
+ this.value = this._temporaryValue;
272
+ this.detectChanges();
273
+ this.close();
274
+ }
275
+ cancel() {
276
+ this.close();
277
+ }
278
+ reset() {
279
+ this._temporaryValue = this.value;
280
+ }
281
+ get actionButtonVariant() {
282
+ if (this.variant == FormElementVariant.Sharp)
283
+ return ButtonVariant.Sharp;
284
+ return ButtonVariant.Rounded;
285
+ }
286
+ getActionButtonsContext() {
287
+ return {
288
+ apply: () => {
289
+ this.apply();
290
+ },
291
+ cancel: () => {
292
+ this.cancel();
293
+ },
294
+ reset: () => {
295
+ this.reset();
296
+ },
297
+ };
298
+ }
299
+ //! helpers
300
+ _updateInputElValue() {
301
+ this.textInputEl.nativeElement.value = this.value?.hex().toString() ?? '';
302
+ }
303
+ _setInputAttributes() {
304
+ const input = this.textInputEl.nativeElement;
305
+ const attributes = {
306
+ type: 'text',
307
+ autocorrect: 'off',
308
+ autocapitalize: 'off',
309
+ autocomplete: 'off',
310
+ tabindex: String(this.tabIndex),
311
+ ...this.inputAttrs,
312
+ };
313
+ for (const key of Object.keys(attributes)) {
314
+ input.setAttribute(key, String(attributes[key]));
315
+ }
316
+ }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumColorInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i1.ScrollStrategyOptions }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
318
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumColorInputComponent, selector: "ard-color-input", inputs: { inputId: "inputId", placeholder: "placeholder", appearance: "appearance", variant: "variant", compact: "compact", case: "case", withActionButtons: "withActionButtons", clearable: "clearable", clearButtonTitle: "clearButtonTitle", inputAttrs: "inputAttrs", value: "value", overlayAppearance: "overlayAppearance", overlayVariant: "overlayVariant" }, outputs: { valueChange: "valueChange", changeEvent: "change", clearEvent: "clear", openEvent: "open", closeEvent: "close" }, providers: [
319
+ {
320
+ provide: NG_VALUE_ACCESSOR,
321
+ useExisting: forwardRef(() => ArdiumColorInputComponent),
322
+ multi: true,
323
+ },
324
+ ], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdColorInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdColorInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "placeholderTemplate", first: true, predicate: ArdColorInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "shadeIndicatorTemplate", first: true, predicate: ArdColorInputShadeIndicatorTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "hueIndicatorTemplate", first: true, predicate: ArdColorInputHueIndicatorTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "opacityIndicatorTemplate", first: true, predicate: ArdColorInputOpacityIndicatorTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "colorReferenceTemplate", first: true, predicate: ArdColorInputColorReferenceTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "actionButtonsTemplate", first: true, predicate: ArdColorInputActionButtonsTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textInputEl", first: true, predicate: ["textInput"], descendants: true }, { propertyName: "overlayHost", first: true, predicate: ["overlayHost"], descendants: true, read: ElementRef }, { propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n [appearance]=\"appearance\"\r\n [variant]=\"variant\"\r\n [compact]=\"compact\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n #overlayHost\r\n>\r\n <div class=\"ard-color-input\"\r\n [class.ard-has-value]=\"value\"\r\n (mouseup)=\"onMouseup()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n <ng-container *ngIf=\"shouldDisplayPlaceholder\">\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n\r\n <input #textInput\r\n [attr.id]=\"inputId\"\r\n tabindex=\"-1\"\r\n readonly\r\n >\r\n </div>\r\n\r\n <ard-_clear-button\r\n *ngIf=\"shouldShowClearButton\"\r\n [title]=\"clearButtonTitle\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n ></ard-_clear-button>\r\n\r\n <button\r\n class=\"ard-color-display-button\"\r\n #focusableElement\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (copy)=\"onCopy($event)\"\r\n >\r\n <ard-color-display [color]=\"value\"></ard-color-display>\r\n </button>\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<ng-template #overlayTemplate>\r\n <ard-card\r\n class=\"ard-overlay-card ard-color-input-overlay-card\"\r\n [appearance]=\"overlayAppearance\"\r\n [variant]=\"overlayVariant\"\r\n (ardClickOutside)=\"handleOutsideClick($event)\"\r\n >\r\n <ard-color-picker\r\n [value]=\"value\"\r\n (valueChange)=\"onColorPickerChange($event)\"\r\n [hueIndicatorTemplate]=\"hueIndicatorTemplate\"\r\n [shadeIndicatorTemplate]=\"shadeIndicatorTemplate\"\r\n [opacityIndicatorTemplate]=\"opacityIndicatorTemplate\"\r\n [colorReferenceTemplate]=\"colorReferenceTemplate\"\r\n ></ard-color-picker>\r\n <ard-card-action-buttons *ngIf=\"withActionButtons\">\r\n <ng-template #defaultActionButtonsTemplate let-applyFn=\"apply\" let-cancelFn=\"cancel\">\r\n <ard-button appearance=\"transparent\" [variant]=\"actionButtonVariant\" (click)=\"cancelFn()\">Cancel</ard-button>\r\n <ard-button appearance=\"raised-strong\" [variant]=\"actionButtonVariant\" (click)=\"applyFn()\">Apply</ard-button>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"actionButtonsTemplate ?? defaultActionButtonsTemplate\"\r\n [ngTemplateOutletContext]=\"getActionButtonsContext()\"\r\n />\r\n </ard-card-action-buttons>\r\n </ard-card>\r\n</ng-template>", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i4._ClearButtonComponent, selector: "ard-_clear-button" }, { kind: "component", type: i5.ArdiumColorPickerComponent, selector: "ard-color-picker", inputs: ["withOpacity", "referenceColor", "wrapperClasses", "variant", "vertical", "value", "colorHue", "colorSaturation", "colorValue", "colorOpacity", "shadeIndicatorTemplate", "hueIndicatorTemplate", "opacityIndicatorTemplate", "colorReferenceTemplate"], outputs: ["valueChange", "colorHueChange", "colorSaturationChange", "colorValueChange", "colorOpacityChange"] }, { kind: "component", type: i6.ArdiumColorDisplayComponent, selector: "ard-color-display", inputs: ["ariaLabel", "withLabel", "appearance", "color"] }, { kind: "component", type: i7.ArdiumCardComponent, selector: "ard-card" }, { kind: "directive", type: i8.ArdiumCardActionButtonsDirective, selector: "ard-card-action-buttons, [ard-card-action-buttons]", inputs: ["align"] }, { kind: "directive", type: i9.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }, { kind: "component", type: i10.ArdiumButtonComponent, selector: "ard-button", inputs: ["variant", "alignIcon", "vertical", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
325
+ }
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumColorInputComponent, decorators: [{
327
+ type: Component,
328
+ args: [{ selector: 'ard-color-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
329
+ {
330
+ provide: NG_VALUE_ACCESSOR,
331
+ useExisting: forwardRef(() => ArdiumColorInputComponent),
332
+ multi: true,
333
+ },
334
+ ], template: "<ard-form-field-frame\r\n [appearance]=\"appearance\"\r\n [variant]=\"variant\"\r\n [compact]=\"compact\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n #overlayHost\r\n>\r\n <div class=\"ard-color-input\"\r\n [class.ard-has-value]=\"value\"\r\n (mouseup)=\"onMouseup()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n <ng-container *ngIf=\"shouldDisplayPlaceholder\">\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\"></ng-template>\r\n </ng-container>\r\n\r\n <input #textInput\r\n [attr.id]=\"inputId\"\r\n tabindex=\"-1\"\r\n readonly\r\n >\r\n </div>\r\n\r\n <ard-_clear-button\r\n *ngIf=\"shouldShowClearButton\"\r\n [title]=\"clearButtonTitle\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n ></ard-_clear-button>\r\n\r\n <button\r\n class=\"ard-color-display-button\"\r\n #focusableElement\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (copy)=\"onCopy($event)\"\r\n >\r\n <ard-color-display [color]=\"value\"></ard-color-display>\r\n </button>\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<ng-template #overlayTemplate>\r\n <ard-card\r\n class=\"ard-overlay-card ard-color-input-overlay-card\"\r\n [appearance]=\"overlayAppearance\"\r\n [variant]=\"overlayVariant\"\r\n (ardClickOutside)=\"handleOutsideClick($event)\"\r\n >\r\n <ard-color-picker\r\n [value]=\"value\"\r\n (valueChange)=\"onColorPickerChange($event)\"\r\n [hueIndicatorTemplate]=\"hueIndicatorTemplate\"\r\n [shadeIndicatorTemplate]=\"shadeIndicatorTemplate\"\r\n [opacityIndicatorTemplate]=\"opacityIndicatorTemplate\"\r\n [colorReferenceTemplate]=\"colorReferenceTemplate\"\r\n ></ard-color-picker>\r\n <ard-card-action-buttons *ngIf=\"withActionButtons\">\r\n <ng-template #defaultActionButtonsTemplate let-applyFn=\"apply\" let-cancelFn=\"cancel\">\r\n <ard-button appearance=\"transparent\" [variant]=\"actionButtonVariant\" (click)=\"cancelFn()\">Cancel</ard-button>\r\n <ard-button appearance=\"raised-strong\" [variant]=\"actionButtonVariant\" (click)=\"applyFn()\">Apply</ard-button>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"actionButtonsTemplate ?? defaultActionButtonsTemplate\"\r\n [ngTemplateOutletContext]=\"getActionButtonsContext()\"\r\n />\r\n </ard-card-action-buttons>\r\n </ard-card>\r\n</ng-template>", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}\n"] }]
335
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.Overlay }, { type: i1.ScrollStrategyOptions }, { type: i0.ElementRef }], propDecorators: { textInputEl: [{
336
+ type: ViewChild,
337
+ args: ['textInput']
338
+ }], inputId: [{
339
+ type: Input
340
+ }], prefixTemplate: [{
341
+ type: ContentChild,
342
+ args: [ArdColorInputPrefixTemplateDirective, { read: TemplateRef }]
343
+ }], suffixTemplate: [{
344
+ type: ContentChild,
345
+ args: [ArdColorInputSuffixTemplateDirective, { read: TemplateRef }]
346
+ }], placeholder: [{
347
+ type: Input
348
+ }], placeholderTemplate: [{
349
+ type: ContentChild,
350
+ args: [ArdColorInputPlaceholderTemplateDirective, {
351
+ read: TemplateRef,
352
+ }]
353
+ }], appearance: [{
354
+ type: Input
355
+ }], variant: [{
356
+ type: Input
357
+ }], compact: [{
358
+ type: Input
359
+ }], case: [{
360
+ type: Input
361
+ }], withActionButtons: [{
362
+ type: Input
363
+ }], clearable: [{
364
+ type: Input
365
+ }], clearButtonTitle: [{
366
+ type: Input
367
+ }], inputAttrs: [{
368
+ type: Input
369
+ }], value: [{
370
+ type: Input
371
+ }], valueChange: [{
372
+ type: Output
373
+ }], changeEvent: [{
374
+ type: Output,
375
+ args: ['change']
376
+ }], clearEvent: [{
377
+ type: Output,
378
+ args: ['clear']
379
+ }], overlayHost: [{
380
+ type: ViewChild,
381
+ args: ['overlayHost', { read: ElementRef }]
382
+ }], overlayTemplate: [{
383
+ type: ViewChild,
384
+ args: ['overlayTemplate', { read: TemplateRef }]
385
+ }], openEvent: [{
386
+ type: Output,
387
+ args: ['open']
388
+ }], closeEvent: [{
389
+ type: Output,
390
+ args: ['close']
391
+ }], overlayAppearance: [{
392
+ type: Input
393
+ }], overlayVariant: [{
394
+ type: Input
395
+ }], shadeIndicatorTemplate: [{
396
+ type: ContentChild,
397
+ args: [ArdColorInputShadeIndicatorTemplateDirective, {
398
+ read: TemplateRef,
399
+ }]
400
+ }], hueIndicatorTemplate: [{
401
+ type: ContentChild,
402
+ args: [ArdColorInputHueIndicatorTemplateDirective, {
403
+ read: TemplateRef,
404
+ }]
405
+ }], opacityIndicatorTemplate: [{
406
+ type: ContentChild,
407
+ args: [ArdColorInputOpacityIndicatorTemplateDirective, {
408
+ read: TemplateRef,
409
+ }]
410
+ }], colorReferenceTemplate: [{
411
+ type: ContentChild,
412
+ args: [ArdColorInputColorReferenceTemplateDirective, {
413
+ read: TemplateRef,
414
+ }]
415
+ }], actionButtonsTemplate: [{
416
+ type: ContentChild,
417
+ args: [ArdColorInputActionButtonsTemplateDirective, {
418
+ read: TemplateRef,
419
+ }]
420
+ }] } });
421
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvY29sb3ItaW5wdXQvY29sb3ItaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvY29sb3ItaW5wdXQvY29sb3ItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBcUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsMkNBQTJDLEVB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RCxJQUFJLEVBQUUsV0FBVztxQkFDcEI7Z0JBS0Qsc0JBQXNCO3NCQUhyQixZQUFZO3VCQUFDLDRDQUE0QyxFQUFFO3dCQUN4RCxJQUFJLEVBQUUsV0FBVztxQkFDcEI7Z0JBS0QscUJBQXFCO3NCQUhwQixZQUFZO3VCQUFDLDJDQUEyQyxFQUFFO3dCQUN2RCxJQUFJLEVBQUUsV0FBVztxQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmLCBTY3JvbGxTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0ICogYXMgQ29sb3IgZnJvbSAnY29sb3InO1xuaW1wb3J0IHsgQnV0dG9uVmFyaWFudCB9IGZyb20gJy4uLy4uL2J1dHRvbnMvZ2VuZXJhbC1idXR0b24udHlwZXMnO1xuaW1wb3J0IHsgQ2FyZEFwcGVhcmFuY2UsIENhcmRWYXJpYW50IH0gZnJvbSAnLi4vLi4vY2FyZC9jYXJkLnR5cGVzJztcbmltcG9ydCB7IERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlLCBEcm9wZG93blBhbmVsVmFyaWFudCB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZVRyYW5zZm9ybWVyVHlwZSB9IGZyb20gJy4uL2lucHV0LXR5cGVzJztcbmltcG9ydCB7XG4gICAgQXJkQ29sb3JJbnB1dEFjdGlvbkJ1dHRvbnNUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRDb2xvcklucHV0Q29sb3JSZWZlcmVuY2VUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRDb2xvcklucHV0SHVlSW5kaWNhdG9yVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkQ29sb3JJbnB1dE9wYWNpdHlJbmRpY2F0b3JUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRDb2xvcklucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRDb2xvcklucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkQ29sb3JJbnB1dFNoYWRlSW5kaWNhdG9yVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkQ29sb3JJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2NvbG9yLWlucHV0LmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29sb3JJbnB1dEFjdGlvbkJ1dHRvbnNDb250ZXh0IH0gZnJvbSAnLi9jb2xvci1pbnB1dC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXJkLWNvbG9yLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbG9yLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1Db2xvcklucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUNvbG9ySW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcmVhZG9ubHkgZWxlbWVudCE6IEhUTUxFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgc2Nyb2xsU3RyYXRlZ3lPcHRzOiBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cbiAgICAvLyEgQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoISg8YW55PnRoaXMuX2NkKS5kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vISBpbnB1dCB2aWV3XG4gICAgQFZpZXdDaGlsZCgndGV4dElucHV0JylcbiAgICBwcm90ZWN0ZWQgdGV4dElucHV0RWwhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0SW5wdXRBdHRyaWJ1dGVzKCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XG4gICAgICAgIGNsZWFyQnV0dG9uVGl0bGU6ICdDbGVhcicsXG4gICAgfTtcblxuICAgIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgICAvLyEgcHJlZml4ICYgc3VmZml4XG4gICAgQENvbnRlbnRDaGlsZChBcmRDb2xvcklucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBwcmVmaXhUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZChBcmRDb2xvcklucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBzdWZmaXhUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvLyEgcGxhY2Vob2xkZXJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkKEFyZENvbG9ySW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIH0pXG4gICAgcGxhY2Vob2xkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBnZXQgc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBsYWNlaG9sZGVyKSAmJiAhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyEgYXBwZWFyYW5jZVxuICAgIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gICAgQElucHV0KCkgYXBwZWFyYW5jZTogRm9ybUVsZW1lbnRBcHBlYXJhbmNlID0gRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkO1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6IEZvcm1FbGVtZW50VmFyaWFudCA9IEZvcm1FbGVtZW50VmFyaWFudC5Sb3VuZGVkO1xuXG4gICAgcHJpdmF0ZSBfY29tcGFjdDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGNvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb21wYWN0O1xuICAgIH1cbiAgICBzZXQgY29tcGFjdCh2OiBhbnkpIHtcbiAgICAgICAgdGhpcy5fY29tcGFjdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcbiAgICB9XG5cbiAgICAvLyEgc2V0dGluZ3NcbiAgICBASW5wdXQoKSBjYXNlOiBDYXNlVHJhbnNmb3JtZXJUeXBlID0gQ2FzZVRyYW5zZm9ybWVyVHlwZS5Ob0NoYW5nZTtcblxuICAgIHByaXZhdGUgX3dpdGhBY3Rpb25CdXR0b25zOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgd2l0aEFjdGlvbkJ1dHRvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoQWN0aW9uQnV0dG9ucztcbiAgICB9XG4gICAgc2V0IHdpdGhBY3Rpb25CdXR0b25zKHY6IGFueSkge1xuICAgICAgICB0aGlzLl93aXRoQWN0aW9uQnV0dG9ucyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcbiAgICB9XG5cbiAgICAvLyEgY2xlYXIgYnV0dG9uXG4gICAgcHJpdmF0ZSBfY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBjbGVhcmFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGVhcmFibGU7XG4gICAgfVxuICAgIHNldCBjbGVhcmFibGUodjogYW55KSB7XG4gICAgICAgIHRoaXMuX2NsZWFyYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IENvbG9yKCdyZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIGNsZWFyQnV0dG9uVGl0bGU6IHN0cmluZyA9IHRoaXMuREVGQVVMVFMuY2xlYXJCdXR0b25UaXRsZTtcblxuICAgIGdldCBzaG91bGRTaG93Q2xlYXJCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGVhcmFibGUgJiYgIXRoaXMuZGlzYWJsZWQgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgb25DbGVhckJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvLyEgb3RoZXIgaW5wdXRzXG4gICAgQElucHV0KCkgaW5wdXRBdHRyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gICAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3IncyB3cml0ZSB2YWx1ZSBpbXBsZW1lbnRhdGlvblxuICAgIHdyaXRlVmFsdWUodjogQ29sb3IgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2O1xuICAgIH1cblxuICAgIC8vISBjbGVhciBmdW5jdGlvblxuICAgIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2xlYXJhYmxlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY2xlYXJFdmVudC5lbWl0KCk7XG4gICAgfVxuXG4gICAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xuICAgIHByb3RlY3RlZCBfdmFsdWU6IENvbG9yIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodjogQ29sb3IgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgICAgdGhpcy5fdXBkYXRlSW5wdXRFbFZhbHVlKCk7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBDb2xvciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3I+KCk7XG5cbiAgICAvLyogZXZlbnQgZW1pdHRlcnNcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3I+KCk7XG4gICAgQE91dHB1dCgnY2xlYXInKSBjbGVhckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvLyEgZXZlbnQgaGFuZGxlcnNcbiAgICAvL2NoYW5nZVxuICAgIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgICAgICBpZiAoIXYpIHJldHVybjtcblxuICAgICAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gICAgfVxuICAgIHByaXZhdGUgX29uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XG4gICAgfVxuXG4gICAgLy9zbWFydCBmb2N1c1xuICAgIG9uTW91c2V1cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG5cbiAgICBvbkNvcHkoZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgICAgICBpZiAoIXYpIHJldHVybjtcblxuICAgICAgICBldmVudC5jbGlwYm9hcmREYXRhPy5zZXREYXRhKCd0ZXh0L3BsYWluJywgdi5oZXgoKS50b1N0cmluZygpKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvLyEgc3RhdGVcbiAgICBwcml2YXRlIF90b3VjaGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b3VjaGVkO1xuICAgIH1cbiAgICBwcml2YXRlIHNldCB0b3VjaGVkKHN0YXRlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3RvdWNoZWQgPSBzdGF0ZTtcbiAgICB9XG5cbiAgICAvLyEgY29sb3IgcGlja2VyIG92ZXJsYXlcbiAgICBAVmlld0NoaWxkKCdvdmVybGF5SG9zdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIG92ZXJsYXlIb3N0ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnb3ZlcmxheVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIG92ZXJsYXlUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gICAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm92ZXJsYXlIb3N0KVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHN0cmF0ZWd5LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3lPcHRzLmJsb2NrKCksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcblxuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5vdmVybGF5VGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgZGVsZXRlIHRoaXMub3ZlcmxheVJlZjtcbiAgICB9XG5cbiAgICAvLyEgb3ZlcmxheSBzdGF0ZSBoYW5kbGVyc1xuICAgIHByaXZhdGUgX2lzT3ZlcmxheU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoJ29wZW4nKSBvcGVuRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCdjbG9zZScpIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzT3ZlcmxheU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5faXNPdmVybGF5T3BlbikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuX2lzT3ZlcmxheU9wZW4gPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuXG4gICAgICAgIHRoaXMub3BlbkV2ZW50LmVtaXQoKTtcbiAgICB9XG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faXNPdmVybGF5T3BlbikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuX2lzT3ZlcmxheU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fdGVtcG9yYXJ5VmFsdWUgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lPdmVybGF5KCk7XG5cbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KCk7XG4gICAgfVxuICAgIC8vISBvdmVybGF5IGFwcGVhcmFuY2VcbiAgICBwcml2YXRlIF9vdmVybGF5QXBwZWFyYW5jZT86IENhcmRBcHBlYXJhbmNlID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG92ZXJsYXlBcHBlYXJhbmNlKHY6IENhcmRBcHBlYXJhbmNlKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlBcHBlYXJhbmNlID0gdjtcbiAgICB9XG4gICAgZ2V0IG92ZXJsYXlBcHBlYXJhbmNlKCk6IENhcmRBcHBlYXJhbmNlIHtcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlBcHBlYXJhbmNlKSByZXR1cm4gdGhpcy5fb3ZlcmxheUFwcGVhcmFuY2U7XG4gICAgICAgIGlmICh0aGlzLmFwcGVhcmFuY2UgPT0gRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkKSByZXR1cm4gRHJvcGRvd25QYW5lbEFwcGVhcmFuY2UuT3V0bGluZWQ7XG4gICAgICAgIHJldHVybiBEcm9wZG93blBhbmVsQXBwZWFyYW5jZS5SYWlzZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX292ZXJsYXlWYXJpYW50PzogQ2FyZFZhcmlhbnQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KClcbiAgICBzZXQgb3ZlcmxheVZhcmlhbnQodjogQ2FyZFZhcmlhbnQpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVZhcmlhbnQgPSB2O1xuICAgIH1cbiAgICBnZXQgb3ZlcmxheVZhcmlhbnQoKTogQ2FyZFZhcmlhbnQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVZhcmlhbnQpIHJldHVybiB0aGlzLl9vdmVybGF5VmFyaWFudDtcbiAgICAgICAgaWYgKHRoaXMudmFyaWFudCA9PSBGb3JtRWxlbWVudFZhcmlhbnQuUGlsbCkgcmV0dXJuIERyb3Bkb3duUGFuZWxWYXJpYW50LlJvdW5kZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLnZhcmlhbnQ7XG4gICAgfVxuXG4gICAgLy8hIGNvbG9yIHBpY2tlciBpbnRlZ3JhdGlvblxuICAgIHByaXZhdGUgX3RlbXBvcmFyeVZhbHVlOiBDb2xvciB8IG51bGwgPSBudWxsO1xuICAgIG9uQ29sb3JQaWNrZXJDaGFuZ2UoZXZlbnQ6IENvbG9yKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLndpdGhBY3Rpb25CdXR0b25zKSB7XG4gICAgICAgICAgICB0aGlzLl90ZW1wb3JhcnlWYWx1ZSA9IGV2ZW50O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudDtcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIGhhbmRsZU91dHNpZGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lzT3ZlcmxheU9wZW4pIHJldHVybjtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIGFwcGx5KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3RlbXBvcmFyeVZhbHVlKSByZXR1cm4gdGhpcy5jYW5jZWwoKTtcblxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5fdGVtcG9yYXJ5VmFsdWU7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGVtcG9yYXJ5VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vISBvdmVybGF5IHRlbXBsYXRlc1xuICAgIEBDb250ZW50Q2hpbGQoQXJkQ29sb3JJbnB1dFNoYWRlSW5kaWNhdG9yVGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICAgICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgfSlcbiAgICBzaGFkZUluZGljYXRvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEFyZENvbG9ySW5wdXRIdWVJbmRpY2F0b3JUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgICAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICB9KVxuICAgIGh1ZUluZGljYXRvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEFyZENvbG9ySW5wdXRPcGFjaXR5SW5kaWNhdG9yVGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICAgICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgfSlcbiAgICBvcGFjaXR5SW5kaWNhdG9yVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoQXJkQ29sb3JJbnB1dENvbG9yUmVmZXJlbmNlVGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICAgICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgfSlcbiAgICBjb2xvclJlZmVyZW5jZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKEFyZENvbG9ySW5wdXRBY3Rpb25CdXR0b25zVGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICAgICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgfSlcbiAgICBhY3Rpb25CdXR0b25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ2V0IGFjdGlvbkJ1dHRvblZhcmlhbnQoKTogQnV0dG9uVmFyaWFudCB7XG4gICAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT0gRm9ybUVsZW1lbnRWYXJpYW50LlNoYXJwKSByZXR1cm4gQnV0dG9uVmFyaWFudC5TaGFycDtcbiAgICAgICAgcmV0dXJuIEJ1dHRvblZhcmlhbnQuUm91bmRlZDtcbiAgICB9XG4gICAgZ2V0QWN0aW9uQnV0dG9uc0NvbnRleHQoKTogQ29sb3JJbnB1dEFjdGlvbkJ1dHRvbnNDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFwcGx5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbmNlbDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vISBoZWxwZXJzXG4gICAgcHJvdGVjdGVkIF91cGRhdGVJbnB1dEVsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dElucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMudmFsdWU/LmhleCgpLnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0SW5wdXRBdHRyaWJ1dGVzKCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMudGV4dElucHV0RWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIGF1dG9jb3JyZWN0OiAnb2ZmJyxcbiAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplOiAnb2ZmJyxcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gICAgICAgICAgICB0YWJpbmRleDogU3RyaW5nKHRoaXMudGFiSW5kZXgpLFxuICAgICAgICAgICAgLi4udGhpcy5pbnB1dEF0dHJzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpKSB7XG4gICAgICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoa2V5LCBTdHJpbmcoYXR0cmlidXRlc1trZXldKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcclxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxyXG4gICAgW3ZhcmlhbnRdPVwidmFyaWFudFwiXHJcbiAgICBbY29tcGFjdF09XCJjb21wYWN0XCJcclxuICAgIFtpc0ZvY3VzZWRdPVwiaXNGb2N1c2VkXCJcclxuICAgIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZVwiXHJcbiAgICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGVcIlxyXG4gICAgI292ZXJsYXlIb3N0XHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtY29sb3ItaW5wdXRcIlxyXG4gICAgICAgIFtjbGFzcy5hcmQtaGFzLXZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAobW91c2V1cCk9XCJvbk1vdXNldXAoKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3VsZERpc3BsYXlQbGFjZWhvbGRlclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBsYWNlaG9sZGVyVGVtcGxhdGUgfHwgZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCAjdGV4dElucHV0XHJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YXJkLV9jbGVhci1idXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJzaG91bGRTaG93Q2xlYXJCdXR0b25cIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZVwiXHJcbiAgICAgICAgICAgIChtb3VzZXVwKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgICAgICA+PC9hcmQtX2NsZWFyLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1jb2xvci1kaXNwbGF5LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICNmb2N1c2FibGVFbGVtZW50XHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChjb3B5KT1cIm9uQ29weSgkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxhcmQtY29sb3ItZGlzcGxheSBbY29sb3JdPVwidmFsdWVcIj48L2FyZC1jb2xvci1kaXNwbGF5PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XHJcblxyXG48bmctdGVtcGxhdGUgI292ZXJsYXlUZW1wbGF0ZT5cclxuICAgIDxhcmQtY2FyZFxyXG4gICAgICAgIGNsYXNzPVwiYXJkLW92ZXJsYXktY2FyZCBhcmQtY29sb3ItaW5wdXQtb3ZlcmxheS1jYXJkXCJcclxuICAgICAgICBbYXBwZWFyYW5jZV09XCJvdmVybGF5QXBwZWFyYW5jZVwiXHJcbiAgICAgICAgW3ZhcmlhbnRdPVwib3ZlcmxheVZhcmlhbnRcIlxyXG4gICAgICAgIChhcmRDbGlja091dHNpZGUpPVwiaGFuZGxlT3V0c2lkZUNsaWNrKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxhcmQtY29sb3ItcGlja2VyXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNvbG9yUGlja2VyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbaHVlSW5kaWNhdG9yVGVtcGxhdGVdPVwiaHVlSW5kaWNhdG9yVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbc2hhZGVJbmRpY2F0b3JUZW1wbGF0ZV09XCJzaGFkZUluZGljYXRvclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW29wYWNpdHlJbmRpY2F0b3JUZW1wbGF0ZV09XCJvcGFjaXR5SW5kaWNhdG9yVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbY29sb3JSZWZlcmVuY2VUZW1wbGF0ZV09XCJjb2xvclJlZmVyZW5jZVRlbXBsYXRlXCJcclxuICAgICAgICA+PC9hcmQtY29sb3ItcGlja2VyPlxyXG4gICAgICAgIDxhcmQtY2FyZC1hY3Rpb24tYnV0dG9ucyAqbmdJZj1cIndpdGhBY3Rpb25CdXR0b25zXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEFjdGlvbkJ1dHRvbnNUZW1wbGF0ZSBsZXQtYXBwbHlGbj1cImFwcGx5XCIgbGV0LWNhbmNlbEZuPVwiY2FuY2VsXCI+XHJcbiAgICAgICAgICAgICAgICA8YXJkLWJ1dHRvbiBhcHBlYXJhbmNlPVwidHJhbnNwYXJlbnRcIiBbdmFyaWFudF09XCJhY3Rpb25CdXR0b25WYXJpYW50XCIgKGNsaWNrKT1cImNhbmNlbEZuKClcIj5DYW5jZWw8L2FyZC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXJkLWJ1dHRvbiBhcHBlYXJhbmNlPVwicmFpc2VkLXN0cm9uZ1wiIFt2YXJpYW50XT1cImFjdGlvbkJ1dHRvblZhcmlhbnRcIiAoY2xpY2spPVwiYXBwbHlGbigpXCI+QXBwbHk8L2FyZC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbkJ1dHRvbnNUZW1wbGF0ZSA/PyBkZWZhdWx0QWN0aW9uQnV0dG9uc1RlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRBY3Rpb25CdXR0b25zQ29udGV4dCgpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICA8L2FyZC1jYXJkLWFjdGlvbi1idXR0b25zPlxyXG4gICAgPC9hcmQtY2FyZD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,101 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ArdColorInputPlaceholderTemplateDirective {
4
+ constructor(template) {
5
+ this.template = template;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputPlaceholderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputPlaceholderTemplateDirective, selector: "ard-color-input > ng-template[ard-placeholder-tmp]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputPlaceholderTemplateDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{ selector: 'ard-color-input > ng-template[ard-placeholder-tmp]' }]
13
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
14
+ export class ArdColorInputPrefixTemplateDirective {
15
+ constructor(template) {
16
+ this.template = template;
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputPrefixTemplateDirective, selector: "ard-color-input > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputPrefixTemplateDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{ selector: 'ard-color-input > ng-template[ard-prefix-tmp]' }]
24
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
25
+ export class ArdColorInputSuffixTemplateDirective {
26
+ constructor(template) {
27
+ this.template = template;
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputSuffixTemplateDirective, selector: "ard-color-input > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputSuffixTemplateDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{ selector: 'ard-color-input > ng-template[ard-suffix-tmp]' }]
35
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
36
+ //! picker directives
37
+ export class ArdColorInputShadeIndicatorTemplateDirective {
38
+ constructor(template) {
39
+ this.template = template;
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputShadeIndicatorTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputShadeIndicatorTemplateDirective, selector: "ard-color-input > ng-template[ard-shade-indicator-tmp]", ngImport: i0 }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputShadeIndicatorTemplateDirective, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: 'ard-color-input > ng-template[ard-shade-indicator-tmp]',
48
+ }]
49
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
50
+ export class ArdColorInputHueIndicatorTemplateDirective {
51
+ constructor(template) {
52
+ this.template = template;
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputHueIndicatorTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputHueIndicatorTemplateDirective, selector: "ard-color-input > ng-template[ard-hue-indicator-tmp]", ngImport: i0 }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputHueIndicatorTemplateDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{ selector: 'ard-color-input > ng-template[ard-hue-indicator-tmp]' }]
60
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
61
+ export class ArdColorInputOpacityIndicatorTemplateDirective {
62
+ constructor(template) {
63
+ this.template = template;
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputOpacityIndicatorTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputOpacityIndicatorTemplateDirective, selector: "ard-color-input > ng-template[ard-opacity-indicator-tmp]", ngImport: i0 }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputOpacityIndicatorTemplateDirective, decorators: [{
69
+ type: Directive,
70
+ args: [{
71
+ selector: 'ard-color-input > ng-template[ard-opacity-indicator-tmp]',
72
+ }]
73
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
74
+ export class ArdColorInputColorReferenceTemplateDirective {
75
+ constructor(template) {
76
+ this.template = template;
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputColorReferenceTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputColorReferenceTemplateDirective, selector: "ard-color-input > ng-template[ard-color-reference-tmp]", ngImport: i0 }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputColorReferenceTemplateDirective, decorators: [{
82
+ type: Directive,
83
+ args: [{
84
+ selector: 'ard-color-input > ng-template[ard-color-reference-tmp]',
85
+ }]
86
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
87
+ //! action buttons
88
+ export class ArdColorInputActionButtonsTemplateDirective {
89
+ constructor(template) {
90
+ this.template = template;
91
+ }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputActionButtonsTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.7", type: ArdColorInputActionButtonsTemplateDirective, selector: "ard-color-picker > ng-template[ard-action-buttons-tmp]", ngImport: i0 }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdColorInputActionButtonsTemplateDirective, decorators: [{
96
+ type: Directive,
97
+ args: [{
98
+ selector: 'ard-color-picker > ng-template[ard-action-buttons-tmp]',
99
+ }]
100
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5wdXQuZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2NvbG9yLWlucHV0L2NvbG9yLWlucHV0LmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHlDQUF5QztJQUNsRCxZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtJQUFHLENBQUM7OEdBRDlDLHlDQUF5QztrR0FBekMseUNBQXlDOzsyRkFBekMseUNBQXlDO2tCQURyRCxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9EQUFvRCxFQUFFOztBQU03RSxNQUFNLE9BQU8sb0NBQW9DO0lBQzdDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FEOUMsb0NBQW9DO2tHQUFwQyxvQ0FBb0M7OzJGQUFwQyxvQ0FBb0M7a0JBRGhELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsK0NBQStDLEVBQUU7O0FBTXhFLE1BQU0sT0FBTyxvQ0FBb0M7SUFDN0MsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ5QyxvQ0FBb0M7a0dBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwrQ0FBK0MsRUFBRTs7QUFLeEUscUJBQXFCO0FBSXJCLE1BQU0sT0FBTyw0Q0FBNEM7SUFDckQsWUFBbUIsUUFBa0Q7UUFBbEQsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFBRyxDQUFDOzhHQURoRSw0Q0FBNEM7a0dBQTVDLDRDQUE0Qzs7MkZBQTVDLDRDQUE0QztrQkFIeEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0RBQXdEO2lCQUNyRTs7QUFNRCxNQUFNLE9BQU8sMENBQTBDO0lBQ25ELFlBQW1CLFFBQWtEO1FBQWxELGFBQVEsR0FBUixRQUFRLENBQTBDO0lBQUcsQ0FBQzs4R0FEaEUsMENBQTBDO2tHQUExQywwQ0FBMEM7OzJGQUExQywwQ0FBMEM7a0JBRHRELFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0RBQXNELEVBQUU7O0FBUS9FLE1BQU0sT0FBTyw4Q0FBOEM7SUFDdkQsWUFBbUIsUUFBa0Q7UUFBbEQsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFBRyxDQUFDOzhHQURoRSw4Q0FBOEM7a0dBQTlDLDhDQUE4Qzs7MkZBQTlDLDhDQUE4QztrQkFIMUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMERBQTBEO2lCQUN2RTs7QUFRRCxNQUFNLE9BQU8sNENBQTRDO0lBQ3JELFlBQW1CLFFBQXVEO1FBQXZELGFBQVEsR0FBUixRQUFRLENBQStDO0lBQUcsQ0FBQzs4R0FEckUsNENBQTRDO2tHQUE1Qyw0Q0FBNEM7OzJGQUE1Qyw0Q0FBNEM7a0JBSHhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdEQUF3RDtpQkFDckU7O0FBS0Qsa0JBQWtCO0FBSWxCLE1BQU0sT0FBTywyQ0FBMkM7SUFDcEQsWUFBbUIsUUFBcUQ7UUFBckQsYUFBUSxHQUFSLFFBQVEsQ0FBNkM7SUFBRyxDQUFDOzhHQURuRSwyQ0FBMkM7a0dBQTNDLDJDQUEyQzs7MkZBQTNDLDJDQUEyQztrQkFIdkQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0RBQXdEO2lCQUNyRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yUGlja2VyQ29sb3JSZWZlcmVuY2VDb250ZXh0LCBDb2xvclBpY2tlckluZGljYXRvckNvbnRleHQgfSBmcm9tICcuLi8uLi9jb2xvci9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLnR5cGVzJztcbmltcG9ydCB7IENvbG9ySW5wdXRBY3Rpb25CdXR0b25zQ29udGV4dCB9IGZyb20gJy4vY29sb3ItaW5wdXQudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtY29sb3ItaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtcGxhY2Vob2xkZXItdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRDb2xvcklucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdhcmQtY29sb3ItaW5wdXQgPiBuZy10ZW1wbGF0ZVthcmQtcHJlZml4LXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkQ29sb3JJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1jb2xvci1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1zdWZmaXgtdG1wXScgfSlcbmV4cG9ydCBjbGFzcyBBcmRDb2xvcklucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPikge31cbn1cblxuLy8hIHBpY2tlciBkaXJlY3RpdmVzXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2FyZC1jb2xvci1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1zaGFkZS1pbmRpY2F0b3ItdG1wXScsXG59KVxuZXhwb3J0IGNsYXNzIEFyZENvbG9ySW5wdXRTaGFkZUluZGljYXRvclRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENvbG9yUGlja2VySW5kaWNhdG9yQ29udGV4dD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1jb2xvci1pbnB1dCA+IG5nLXRlbXBsYXRlW2FyZC1odWUtaW5kaWNhdG9yLXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkQ29sb3JJbnB1dEh1ZUluZGljYXRvclRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENvbG9yUGlja2VySW5kaWNhdG9yQ29udGV4dD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYXJkLWNvbG9yLWlucHV0ID4gbmctdGVtcGxhdGVbYXJkLW9wYWNpdHktaW5kaWNhdG9yLXRtcF0nLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRDb2xvcklucHV0T3BhY2l0eUluZGljYXRvclRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENvbG9yUGlja2VySW5kaWNhdG9yQ29udGV4dD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYXJkLWNvbG9yLWlucHV0ID4gbmctdGVtcGxhdGVbYXJkLWNvbG9yLXJlZmVyZW5jZS10bXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgQXJkQ29sb3JJbnB1dENvbG9yUmVmZXJlbmNlVGVtcGxhdGVEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q29sb3JQaWNrZXJDb2xvclJlZmVyZW5jZUNvbnRleHQ+KSB7fVxufVxuXG4vLyEgYWN0aW9uIGJ1dHRvbnNcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYXJkLWNvbG9yLXBpY2tlciA+IG5nLXRlbXBsYXRlW2FyZC1hY3Rpb24tYnV0dG9ucy10bXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgQXJkQ29sb3JJbnB1dEFjdGlvbkJ1dHRvbnNUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxDb2xvcklucHV0QWN0aW9uQnV0dG9uc0NvbnRleHQ+KSB7fVxufVxuIl19