@ardium-ui/ui 1.0.3 → 2.0.2

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 (445) hide show
  1. package/README.md +25 -25
  2. package/esm2022/lib/_internal/boolean-component.mjs +28 -42
  3. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +5 -5
  4. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +5 -5
  5. package/esm2022/lib/_internal/disablable-component.mjs +24 -22
  6. package/esm2022/lib/_internal/focusable-component.mjs +12 -25
  7. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +172 -169
  8. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +115 -120
  9. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +56 -53
  10. package/esm2022/lib/_internal/models/pagination.model.mjs +72 -106
  11. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -5
  12. package/esm2022/lib/_internal/queue.mjs +1 -1
  13. package/esm2022/lib/_internal/selectable-list-component.mjs +74 -98
  14. package/esm2022/lib/badge/badge.directive.mjs +70 -99
  15. package/esm2022/lib/badge/badge.module.mjs +5 -5
  16. package/esm2022/lib/badge/badge.types.mjs +1 -1
  17. package/esm2022/lib/badge/index.mjs +4 -0
  18. package/esm2022/lib/buttons/_button-base.mjs +13 -35
  19. package/esm2022/lib/buttons/button/button.component.mjs +22 -37
  20. package/esm2022/lib/buttons/button/button.module.mjs +5 -5
  21. package/esm2022/lib/buttons/button/index.mjs +3 -0
  22. package/esm2022/lib/buttons/fab/fab.component.mjs +16 -28
  23. package/esm2022/lib/buttons/fab/fab.module.mjs +5 -5
  24. package/esm2022/lib/buttons/fab/index.mjs +3 -0
  25. package/esm2022/lib/buttons/general-button.types.mjs +1 -1
  26. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +17 -25
  27. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +5 -5
  28. package/esm2022/lib/buttons/icon-button/index.mjs +3 -0
  29. package/esm2022/lib/card/card.children.mjs +32 -33
  30. package/esm2022/lib/card/card.component.mjs +14 -17
  31. package/esm2022/lib/card/card.module.mjs +5 -5
  32. package/esm2022/lib/card/card.types.mjs +1 -1
  33. package/esm2022/lib/card/index.mjs +5 -0
  34. package/esm2022/lib/checkbox/checkbox.component.mjs +33 -46
  35. package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
  36. package/esm2022/lib/checkbox/checkbox.types.mjs +1 -1
  37. package/esm2022/lib/checkbox/index.mjs +4 -0
  38. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +31 -57
  39. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +5 -5
  40. package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +1 -1
  41. package/esm2022/lib/checkbox-list/index.mjs +4 -0
  42. package/esm2022/lib/chip/chip.component.mjs +22 -42
  43. package/esm2022/lib/chip/chip.module.mjs +5 -5
  44. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +28 -53
  45. package/esm2022/lib/chip/index.mjs +5 -0
  46. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +25 -49
  47. package/esm2022/lib/color/color-display/color-display.component.mjs +15 -32
  48. package/esm2022/lib/color/color-display/color-display.module.mjs +5 -5
  49. package/esm2022/lib/color/color-display/color-display.types.mjs +1 -1
  50. package/esm2022/lib/color/color-display/index.mjs +4 -0
  51. package/esm2022/lib/color/color-picker/color-picker.types.mjs +1 -1
  52. package/esm2022/lib/dialog/dialog.component.mjs +54 -130
  53. package/esm2022/lib/dialog/dialog.directives.mjs +4 -4
  54. package/esm2022/lib/dialog/dialog.module.mjs +5 -5
  55. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  56. package/esm2022/lib/dialog/index.mjs +5 -0
  57. package/esm2022/lib/divider/divider.component.mjs +9 -14
  58. package/esm2022/lib/divider/divider.module.mjs +5 -5
  59. package/esm2022/lib/divider/index.mjs +3 -0
  60. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +40 -59
  61. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +5 -5
  62. package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +1 -1
  63. package/esm2022/lib/dropdown-panel/index.mjs +4 -0
  64. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +12 -17
  65. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +10 -10
  66. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +6 -6
  67. package/esm2022/lib/file-inputs/file-drop-area/index.mjs +4 -0
  68. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +24 -50
  69. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +19 -19
  70. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +5 -5
  71. package/esm2022/lib/file-inputs/file-input/index.mjs +4 -0
  72. package/esm2022/lib/file-inputs/file-input-base.mjs +38 -72
  73. package/esm2022/lib/file-inputs/file-input-types.mjs +1 -1
  74. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +20 -47
  75. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +7 -7
  76. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +5 -5
  77. package/esm2022/lib/form-field-frame/index.mjs +4 -0
  78. package/esm2022/lib/icon/icon.component.mjs +32 -67
  79. package/esm2022/lib/icon/icon.module.mjs +5 -5
  80. package/esm2022/lib/icon/icon.pipe.mjs +4 -4
  81. package/esm2022/lib/icon/index.mjs +4 -0
  82. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +25 -25
  83. package/esm2022/lib/inputs/color-input/color-input.types.mjs +1 -1
  84. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +65 -115
  85. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +83 -92
  86. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +5 -5
  87. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  88. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  89. package/esm2022/lib/inputs/digit-input/index.mjs +4 -0
  90. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +59 -122
  91. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +10 -10
  92. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +24 -8
  93. package/esm2022/lib/inputs/hex-input/index.mjs +4 -0
  94. package/esm2022/lib/inputs/hex-input.model.mjs +24 -33
  95. package/esm2022/lib/inputs/input/index.mjs +4 -0
  96. package/esm2022/lib/inputs/input/input.component.mjs +95 -154
  97. package/esm2022/lib/inputs/input/input.directives.mjs +16 -16
  98. package/esm2022/lib/inputs/input/input.module.mjs +21 -7
  99. package/esm2022/lib/inputs/input-transformers.mjs +6 -6
  100. package/esm2022/lib/inputs/input-types.mjs +1 -1
  101. package/esm2022/lib/inputs/input-utils.mjs +75 -94
  102. package/esm2022/lib/inputs/number-input/index.mjs +4 -0
  103. package/esm2022/lib/inputs/number-input/number-input.component.mjs +106 -170
  104. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +4 -4
  105. package/esm2022/lib/inputs/number-input/number-input.module.mjs +5 -5
  106. package/esm2022/lib/inputs/password-input/index.mjs +5 -0
  107. package/esm2022/lib/inputs/password-input/password-input.component.mjs +74 -144
  108. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +13 -13
  109. package/esm2022/lib/inputs/password-input/password-input.module.mjs +5 -5
  110. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  111. package/esm2022/lib/inputs/simple-input/index.mjs +4 -0
  112. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +57 -110
  113. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +10 -10
  114. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +5 -5
  115. package/esm2022/lib/kbd/index.mjs +4 -0
  116. package/esm2022/lib/kbd/kbd.component.mjs +15 -29
  117. package/esm2022/lib/kbd/kbd.module.mjs +5 -5
  118. package/esm2022/lib/kbd/kbd.pipe.mjs +4 -4
  119. package/esm2022/lib/kbd-shortcut/index.mjs +3 -0
  120. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +23 -40
  121. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +5 -5
  122. package/esm2022/lib/modal/index.mjs +3 -0
  123. package/esm2022/lib/modal/modal.component.mjs +42 -83
  124. package/esm2022/lib/modal/modal.module.mjs +5 -5
  125. package/esm2022/lib/option/index.mjs +3 -0
  126. package/esm2022/lib/option/option.component.mjs +24 -46
  127. package/esm2022/lib/option/option.module.mjs +5 -5
  128. package/esm2022/lib/progress-bar/index.mjs +5 -0
  129. package/esm2022/lib/progress-bar/progress-bar.component.mjs +43 -81
  130. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +4 -4
  131. package/esm2022/lib/progress-bar/progress-bar.module.mjs +5 -5
  132. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  133. package/esm2022/lib/progress-circle/index.mjs +5 -0
  134. package/esm2022/lib/progress-circle/progress-circle.component.mjs +33 -78
  135. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +4 -4
  136. package/esm2022/lib/progress-circle/progress-circle.module.mjs +5 -5
  137. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  138. package/esm2022/lib/radio/index.mjs +4 -0
  139. package/esm2022/lib/radio/radio/radio.component.mjs +16 -25
  140. package/esm2022/lib/radio/radio-group.component.mjs +71 -85
  141. package/esm2022/lib/radio/radio.module.mjs +5 -5
  142. package/esm2022/lib/search-functions.mjs +7 -7
  143. package/esm2022/lib/segment/index.mjs +5 -0
  144. package/esm2022/lib/segment/segment.component.mjs +70 -137
  145. package/esm2022/lib/segment/segment.directives.mjs +4 -4
  146. package/esm2022/lib/segment/segment.module.mjs +5 -5
  147. package/esm2022/lib/segment/segment.types.mjs +1 -1
  148. package/esm2022/lib/select/index.mjs +5 -0
  149. package/esm2022/lib/select/select.component.mjs +348 -655
  150. package/esm2022/lib/select/select.directive.mjs +46 -46
  151. package/esm2022/lib/select/select.module.mjs +5 -5
  152. package/esm2022/lib/select/select.types.mjs +1 -1
  153. package/esm2022/lib/slide-toggle/index.mjs +4 -0
  154. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +19 -24
  155. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +5 -5
  156. package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +5 -0
  157. package/esm2022/lib/slider/abstract-slider.mjs +111 -200
  158. package/esm2022/lib/slider/index.mjs +7 -0
  159. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +26 -23
  160. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +5 -5
  161. package/esm2022/lib/slider/slider.component.mjs +13 -10
  162. package/esm2022/lib/slider/slider.directive.mjs +4 -4
  163. package/esm2022/lib/slider/slider.module.mjs +7 -7
  164. package/esm2022/lib/slider/slider.types.mjs +1 -1
  165. package/esm2022/lib/snackbar/index.mjs +1 -1
  166. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  167. package/esm2022/lib/snackbar/snackbar.component.mjs +8 -8
  168. package/esm2022/lib/snackbar/snackbar.service.mjs +13 -12
  169. package/esm2022/lib/snackbar/snackbar.token.mjs +1 -1
  170. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  171. package/esm2022/lib/spinner/index.mjs +3 -0
  172. package/esm2022/lib/spinner/spinner.component.mjs +9 -13
  173. package/esm2022/lib/spinner/spinner.module.mjs +5 -5
  174. package/esm2022/lib/star/index.mjs +4 -0
  175. package/esm2022/lib/star/star-button/index.mjs +3 -0
  176. package/esm2022/lib/star/star-button/star-button.component.mjs +17 -26
  177. package/esm2022/lib/star/star-button/star-button.module.mjs +5 -5
  178. package/esm2022/lib/star/star-display/index.mjs +3 -0
  179. package/esm2022/lib/star/star-display/star-display.component.mjs +48 -55
  180. package/esm2022/lib/star/star-display/star-display.module.mjs +5 -5
  181. package/esm2022/lib/star/star-input/index.mjs +3 -0
  182. package/esm2022/lib/star/star-input/star-input.component.mjs +70 -106
  183. package/esm2022/lib/star/star-input/star-input.module.mjs +5 -5
  184. package/esm2022/lib/star/star.component.mjs +12 -20
  185. package/esm2022/lib/star/star.module.mjs +5 -5
  186. package/esm2022/lib/star/star.types.mjs +1 -1
  187. package/esm2022/lib/statebox/index.mjs +3 -0
  188. package/esm2022/lib/statebox/statebox.component.mjs +64 -102
  189. package/esm2022/lib/statebox/statebox.module.mjs +5 -5
  190. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  191. package/esm2022/lib/tabber/index.mjs +4 -0
  192. package/esm2022/lib/tabber/tab/tab.component.mjs +42 -0
  193. package/esm2022/lib/tabber/tabber.component.mjs +83 -0
  194. package/esm2022/lib/tabber/tabber.module.mjs +19 -0
  195. package/esm2022/lib/table/index.mjs +5 -0
  196. package/esm2022/lib/table/table-item-storage.mjs +204 -200
  197. package/esm2022/lib/table/table.component.mjs +184 -304
  198. package/esm2022/lib/table/table.directives.mjs +19 -21
  199. package/esm2022/lib/table/table.module.mjs +5 -5
  200. package/esm2022/lib/table/table.types.mjs +1 -1
  201. package/esm2022/lib/table/utils.mjs +1 -1
  202. package/esm2022/lib/table-from-csv/index.mjs +3 -0
  203. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +85 -29
  204. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +5 -5
  205. package/esm2022/lib/table-pagination/index.mjs +4 -0
  206. package/esm2022/lib/table-pagination/table-pagination.component.mjs +46 -114
  207. package/esm2022/lib/table-pagination/table-pagination.module.mjs +5 -5
  208. package/esm2022/lib/table-pagination/table-pagination.types.mjs +1 -1
  209. package/esm2022/lib/types/alignment.types.mjs +1 -1
  210. package/esm2022/lib/types/colors.types.mjs +1 -1
  211. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  212. package/esm2022/lib/types/theming.types.mjs +1 -1
  213. package/esm2022/lib/types/utility.types.mjs +2 -2
  214. package/esm2022/public-api.mjs +58 -182
  215. package/fesm2022/ardium-ui-ui.mjs +7847 -11692
  216. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  217. package/lib/_internal/boolean-component.d.ts +8 -9
  218. package/lib/_internal/clear-button/clear-button.component.d.ts +1 -1
  219. package/lib/_internal/disablable-component.d.ts +12 -7
  220. package/lib/_internal/focusable-component.d.ts +5 -7
  221. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +43 -41
  222. package/lib/_internal/item-storages/simple-item-storage.d.ts +28 -25
  223. package/lib/_internal/item-storages/simplest-item-storage.d.ts +14 -9
  224. package/lib/_internal/models/pagination.model.d.ts +38 -42
  225. package/lib/_internal/ngmodel-component.d.ts +1 -1
  226. package/lib/_internal/selectable-list-component.d.ts +30 -30
  227. package/lib/badge/badge.directive.d.ts +15 -20
  228. package/lib/badge/index.d.ts +3 -0
  229. package/lib/buttons/_button-base.d.ts +9 -12
  230. package/lib/buttons/button/button.component.d.ts +6 -8
  231. package/lib/buttons/button/index.d.ts +2 -0
  232. package/lib/buttons/fab/fab.component.d.ts +4 -6
  233. package/lib/buttons/fab/index.d.ts +2 -0
  234. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -7
  235. package/lib/buttons/icon-button/index.d.ts +2 -0
  236. package/lib/card/card.children.d.ts +4 -3
  237. package/lib/card/card.component.d.ts +5 -4
  238. package/lib/card/index.d.ts +4 -0
  239. package/lib/checkbox/checkbox.component.d.ts +8 -12
  240. package/lib/checkbox/index.d.ts +3 -0
  241. package/lib/checkbox-list/checkbox-list.component.d.ts +22 -21
  242. package/lib/checkbox-list/index.d.ts +3 -0
  243. package/lib/chip/chip.component.d.ts +8 -10
  244. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +11 -14
  245. package/lib/chip/index.d.ts +4 -0
  246. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +10 -12
  247. package/lib/color/color-display/color-display.component.d.ts +6 -9
  248. package/lib/color/color-display/index.d.ts +3 -0
  249. package/lib/color/color-picker/color-picker.types.d.ts +4 -4
  250. package/lib/dialog/dialog.component.d.ts +25 -35
  251. package/lib/dialog/dialog.types.d.ts +2 -2
  252. package/lib/dialog/index.d.ts +4 -0
  253. package/lib/divider/divider.component.d.ts +3 -4
  254. package/lib/divider/index.d.ts +2 -0
  255. package/lib/dropdown-panel/dropdown-panel.component.d.ts +17 -20
  256. package/lib/dropdown-panel/index.d.ts +3 -0
  257. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -4
  258. package/lib/file-inputs/file-drop-area/index.d.ts +3 -0
  259. package/lib/file-inputs/file-input/file-input.component.d.ts +13 -17
  260. package/lib/file-inputs/file-input/index.d.ts +3 -0
  261. package/lib/file-inputs/file-input-base.d.ts +13 -18
  262. package/lib/form-field-frame/form-field-frame.component.d.ts +12 -16
  263. package/lib/form-field-frame/index.d.ts +3 -0
  264. package/lib/icon/icon.component.d.ts +10 -19
  265. package/lib/icon/index.d.ts +3 -0
  266. package/lib/inputs/color-input/color-input.types.d.ts +2 -2
  267. package/lib/inputs/digit-input/digit-input.component.d.ts +22 -30
  268. package/lib/inputs/digit-input/digit-input.model.d.ts +8 -12
  269. package/lib/inputs/digit-input/digit-input.types.d.ts +4 -4
  270. package/lib/inputs/digit-input/digit-input.utils.d.ts +4 -5
  271. package/lib/inputs/digit-input/index.d.ts +3 -0
  272. package/lib/inputs/hex-input/hex-input.component.d.ts +32 -38
  273. package/lib/inputs/hex-input/index.d.ts +3 -0
  274. package/lib/inputs/hex-input.model.d.ts +10 -11
  275. package/lib/inputs/input/index.d.ts +3 -0
  276. package/lib/inputs/input/input.component.d.ts +34 -40
  277. package/lib/inputs/input/input.directives.d.ts +3 -3
  278. package/lib/inputs/input-utils.d.ts +24 -27
  279. package/lib/inputs/number-input/index.d.ts +3 -0
  280. package/lib/inputs/number-input/number-input.component.d.ts +38 -48
  281. package/lib/inputs/password-input/index.d.ts +4 -0
  282. package/lib/inputs/password-input/password-input.component.d.ts +28 -40
  283. package/lib/inputs/password-input/password-input.types.d.ts +2 -2
  284. package/lib/inputs/simple-input/index.d.ts +3 -0
  285. package/lib/inputs/simple-input/simple-input.component.d.ts +30 -35
  286. package/lib/kbd/index.d.ts +3 -0
  287. package/lib/kbd/kbd.component.d.ts +6 -8
  288. package/lib/kbd-shortcut/index.d.ts +2 -0
  289. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +7 -10
  290. package/lib/modal/index.d.ts +2 -0
  291. package/lib/modal/modal.component.d.ts +22 -30
  292. package/lib/option/index.d.ts +2 -0
  293. package/lib/option/option.component.d.ts +11 -16
  294. package/lib/progress-bar/index.d.ts +4 -0
  295. package/lib/progress-bar/progress-bar.component.d.ts +14 -20
  296. package/lib/progress-bar/progress-bar.types.d.ts +2 -2
  297. package/lib/progress-circle/index.d.ts +4 -0
  298. package/lib/progress-circle/progress-circle.component.d.ts +12 -20
  299. package/lib/progress-circle/progress-circle.types.d.ts +2 -2
  300. package/lib/radio/index.d.ts +3 -0
  301. package/lib/radio/radio/radio.component.d.ts +7 -8
  302. package/lib/radio/radio-group.component.d.ts +13 -16
  303. package/lib/segment/index.d.ts +4 -0
  304. package/lib/segment/segment.component.d.ts +22 -34
  305. package/lib/segment/segment.directives.d.ts +2 -3
  306. package/lib/select/index.d.ts +4 -0
  307. package/lib/select/select.component.d.ts +114 -160
  308. package/lib/select/select.directive.d.ts +3 -3
  309. package/lib/select/select.types.d.ts +2 -76
  310. package/lib/slide-toggle/index.d.ts +3 -0
  311. package/lib/slide-toggle/slide-toggle.component.d.ts +9 -7
  312. package/lib/slide-toggle/slide-toggle.types.d.ts +5 -0
  313. package/lib/slider/abstract-slider.d.ts +38 -55
  314. package/lib/slider/index.d.ts +6 -0
  315. package/lib/slider/range-slider/range-slider.component.d.ts +3 -1
  316. package/lib/slider/slider.component.d.ts +2 -0
  317. package/lib/slider/slider.types.d.ts +8 -8
  318. package/lib/snackbar/snackbar-ref.d.ts +1 -2
  319. package/lib/snackbar/snackbar.component.d.ts +3 -3
  320. package/lib/snackbar/snackbar.service.d.ts +2 -2
  321. package/lib/snackbar/snackbar.types.d.ts +4 -4
  322. package/lib/spinner/index.d.ts +2 -0
  323. package/lib/spinner/spinner.component.d.ts +3 -3
  324. package/lib/star/index.d.ts +3 -0
  325. package/lib/star/star-button/index.d.ts +2 -0
  326. package/lib/star/star-button/star-button.component.d.ts +7 -7
  327. package/lib/star/star-display/index.d.ts +2 -0
  328. package/lib/star/star-display/star-display.component.d.ts +8 -12
  329. package/lib/star/star-input/index.d.ts +2 -0
  330. package/lib/star/star-input/star-input.component.d.ts +17 -22
  331. package/lib/star/star.component.d.ts +5 -5
  332. package/lib/statebox/index.d.ts +3 -0
  333. package/lib/statebox/statebox.component.d.ts +15 -21
  334. package/lib/statebox/statebox.types.d.ts +12 -8
  335. package/lib/tabber/index.d.ts +3 -0
  336. package/lib/tabber/tab/tab.component.d.ts +18 -0
  337. package/lib/tabber/tabber.component.d.ts +25 -0
  338. package/lib/tabber/tabber.module.d.ts +9 -0
  339. package/lib/table/index.d.ts +4 -0
  340. package/lib/table/table-item-storage.d.ts +70 -58
  341. package/lib/table/table.component.d.ts +59 -78
  342. package/lib/table/table.directives.d.ts +4 -3
  343. package/lib/table-from-csv/index.d.ts +2 -0
  344. package/lib/table-from-csv/table-from-csv.component.d.ts +46 -9
  345. package/lib/table-pagination/index.d.ts +3 -0
  346. package/lib/table-pagination/table-pagination.component.d.ts +21 -30
  347. package/lib/types/item-storage.types.d.ts +19 -18
  348. package/lib/types/utility.types.d.ts +2 -1
  349. package/package.json +8 -9
  350. package/prebuilt-themes/default/badge.css +5 -5
  351. package/prebuilt-themes/default/buttons/fab.css +4 -3
  352. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  353. package/prebuilt-themes/default/card.css +7 -7
  354. package/prebuilt-themes/default/chips.css +3 -8
  355. package/prebuilt-themes/default/chips.css.map +1 -1
  356. package/prebuilt-themes/default/core.css +6 -3
  357. package/prebuilt-themes/default/core.css.map +1 -1
  358. package/prebuilt-themes/default/inputs/color-input.css +1 -1
  359. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  360. package/prebuilt-themes/default/inputs/file-input.css +139 -2
  361. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  362. package/prebuilt-themes/default/inputs/hex-input.css +2 -2
  363. package/prebuilt-themes/default/inputs/input.css +1 -1
  364. package/prebuilt-themes/default/inputs/search-bar.css +1 -1
  365. package/prebuilt-themes/default/inputs/simple-input.css +1 -1
  366. package/prebuilt-themes/default/modal.css +1 -1
  367. package/prebuilt-themes/default/segment.css +2 -2
  368. package/prebuilt-themes/default/segment.css.map +1 -1
  369. package/prebuilt-themes/default/select.css +5 -3
  370. package/prebuilt-themes/default/select.css.map +1 -1
  371. package/prebuilt-themes/default/snackbar.css +0 -1
  372. package/prebuilt-themes/default/snackbar.css.map +1 -1
  373. package/prebuilt-themes/default/tabber.css +207 -0
  374. package/prebuilt-themes/default/tabber.css.map +1 -0
  375. package/public-api.d.ts +43 -136
  376. package/themes/_variables.scss +121 -121
  377. package/themes/default/_clear-button.scss +73 -73
  378. package/themes/default/_coloring.scss +137 -137
  379. package/themes/default/_dropdown-arrow.scss +12 -12
  380. package/themes/default/_mixins.scss +70 -70
  381. package/themes/default/badge.scss +94 -94
  382. package/themes/default/buttons/_button-mixins.scss +144 -144
  383. package/themes/default/buttons/button.scss +62 -62
  384. package/themes/default/buttons/fab.scss +74 -72
  385. package/themes/default/buttons/icon-button.scss +59 -59
  386. package/themes/default/calendar.scss +182 -182
  387. package/themes/default/card.scss +126 -126
  388. package/themes/default/checkbox-list.scss +83 -83
  389. package/themes/default/checkbox.scss +109 -109
  390. package/themes/default/chips.scss +200 -206
  391. package/themes/default/color-display.scss +41 -41
  392. package/themes/default/color-picker.scss +111 -111
  393. package/themes/default/core.scss +99 -96
  394. package/themes/default/dialog.scss +16 -16
  395. package/themes/default/divider.scss +13 -13
  396. package/themes/default/dropdown-panel.scss +45 -45
  397. package/themes/default/file-drop-area.scss +162 -162
  398. package/themes/default/form-field-frame.scss +78 -78
  399. package/themes/default/inputs/_shared.scss +46 -46
  400. package/themes/default/inputs/color-input.scss +46 -46
  401. package/themes/default/inputs/digit-input.scss +56 -56
  402. package/themes/default/inputs/file-input.scss +85 -78
  403. package/themes/default/inputs/hex-input.scss +27 -27
  404. package/themes/default/inputs/input.scss +52 -52
  405. package/themes/default/inputs/number-input.scss +121 -121
  406. package/themes/default/inputs/password-input.scss +43 -43
  407. package/themes/default/inputs/search-bar.scss +19 -19
  408. package/themes/default/inputs/simple-input.scss +19 -19
  409. package/themes/default/kbd-shortcut.scss +13 -13
  410. package/themes/default/kbd.scss +20 -20
  411. package/themes/default/modal.scss +93 -93
  412. package/themes/default/progress-bar.scss +166 -166
  413. package/themes/default/progress-circle.scss +56 -56
  414. package/themes/default/radio.scss +112 -112
  415. package/themes/default/segment.scss +340 -339
  416. package/themes/default/select.scss +255 -253
  417. package/themes/default/slide-toggle.scss +151 -151
  418. package/themes/default/slider.scss +224 -224
  419. package/themes/default/snackbar.scss +58 -60
  420. package/themes/default/spinner.scss +21 -21
  421. package/themes/default/stars.scss +122 -122
  422. package/themes/default/statebox.scss +109 -109
  423. package/themes/default/tabber.scss +86 -0
  424. package/themes/default/table-pagination.scss +56 -56
  425. package/themes/default/table.scss +403 -403
  426. package/esm2022/lib/calendar/calendar.component.mjs +0 -979
  427. package/esm2022/lib/calendar/calendar.directives.mjs +0 -107
  428. package/esm2022/lib/calendar/calendar.helpers.mjs +0 -47
  429. package/esm2022/lib/calendar/calendar.module.mjs +0 -21
  430. package/esm2022/lib/calendar/calendar.types.mjs +0 -11
  431. package/esm2022/lib/color/color-picker/color-picker.component.mjs +0 -484
  432. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +0 -55
  433. package/esm2022/lib/color/color-picker/color-picker.module.mjs +0 -43
  434. package/esm2022/lib/inputs/color-input/color-input.component.mjs +0 -421
  435. package/esm2022/lib/inputs/color-input/color-input.module.mjs +0 -85
  436. package/lib/calendar/calendar.component.d.ts +0 -155
  437. package/lib/calendar/calendar.directives.d.ts +0 -51
  438. package/lib/calendar/calendar.helpers.d.ts +0 -15
  439. package/lib/calendar/calendar.module.d.ts +0 -11
  440. package/lib/calendar/calendar.types.d.ts +0 -80
  441. package/lib/color/color-picker/color-picker.component.d.ts +0 -125
  442. package/lib/color/color-picker/color-picker.directives.d.ts +0 -27
  443. package/lib/color/color-picker/color-picker.module.d.ts +0 -13
  444. package/lib/inputs/color-input/color-input.component.d.ts +0 -147
  445. package/lib/inputs/color-input/color-input.module.d.ts +0 -16
@@ -1,4 +1,4 @@
1
- import { Directive, EventEmitter, Input, Output, ViewChild } from '@angular/core';
1
+ import { Directive, Input, input, output, signal, viewChild } from '@angular/core';
2
2
  import { coerceBooleanProperty } from '@ardium-ui/devkit';
3
3
  import { isDefined } from 'simple-bool';
4
4
  import { _NgModelComponentBase } from '../_internal/ngmodel-component';
@@ -6,55 +6,39 @@ import * as i0 from "@angular/core";
6
6
  export class _FileInputComponentBase extends _NgModelComponentBase {
7
7
  constructor() {
8
8
  super(...arguments);
9
- this.htmlId = crypto.randomUUID();
9
+ this.fileInputEl = viewChild('fileInput');
10
+ this.htmlId = input(crypto.randomUUID());
11
+ this.name = input('');
10
12
  this._wasViewInit = false;
11
13
  //! appearance
12
- this._compact = false;
14
+ this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
13
15
  //! settings
14
- this._multiple = false;
15
- this._blockAfterUpload = false;
16
+ this.multiple = input(false, { transform: v => coerceBooleanProperty(v) });
17
+ this.blockAfterUpload = input(false, { transform: v => coerceBooleanProperty(v) });
16
18
  //! value
17
19
  this._value = null;
18
- this.valueChange = new EventEmitter();
19
- this.changeEvent = new EventEmitter();
20
- this.dragFilesEvent = new EventEmitter();
20
+ this.valueChange = output();
21
+ this.changeEvent = output({ alias: 'change' });
22
+ this.dragFilesEvent = output({ alias: 'dragFiles' });
21
23
  this._valueBeforeInit = null;
22
24
  //! temporary value
23
25
  //for drag event handling
24
26
  this._draggedFiles = null;
25
27
  //! view state
26
- this.currentViewState = 'idle';
28
+ this.currentViewState = signal('idle');
27
29
  this._beforeDragoverState = 'idle';
28
30
  }
29
31
  ngOnInit() {
30
32
  if (!(window.File && window.FileReader && window.Blob)) {
31
- console.error(new Error('Cannot use Ardium UI file features because this browser does not support them!'));
33
+ console.error(new Error(`ARD-${this.componentId}0: Cannot use Ardium UI file features because this browser does not support them!`));
32
34
  }
33
35
  }
34
36
  ngAfterViewInit() {
35
37
  this._wasViewInit = true;
36
38
  this._updateElementValue();
37
39
  }
38
- get compact() {
39
- return this._compact;
40
- }
41
- set compact(v) {
42
- this._compact = coerceBooleanProperty(v);
43
- }
44
- get multiple() {
45
- return this._multiple;
46
- }
47
- set multiple(v) {
48
- this._multiple = coerceBooleanProperty(v);
49
- }
50
- get blockAfterUpload() {
51
- return this._blockAfterUpload;
52
- }
53
- set blockAfterUpload(v) {
54
- this._blockAfterUpload = coerceBooleanProperty(v);
55
- }
56
40
  get shouldBeBlocked() {
57
- return this.blockAfterUpload && isDefined(this.value);
41
+ return this.blockAfterUpload() && isDefined(this.value);
58
42
  }
59
43
  get value() {
60
44
  return this._value;
@@ -69,7 +53,7 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
69
53
  if (v instanceof File) {
70
54
  v = [v];
71
55
  }
72
- this.currentViewState = 'uploaded';
56
+ this.currentViewState.set('uploaded');
73
57
  this._value = v;
74
58
  if (this._wasViewInit)
75
59
  this._updateElementValue();
@@ -84,7 +68,7 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
84
68
  this.changeEvent.emit(v);
85
69
  }
86
70
  openBrowseDialog() {
87
- this.fileInputEl.nativeElement.click();
71
+ this.fileInputEl()?.nativeElement.click();
88
72
  }
89
73
  //! event handlers
90
74
  onDragover(event) {
@@ -95,20 +79,20 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
95
79
  event.dataTransfer.dropEffect = 'none';
96
80
  return;
97
81
  }
98
- if (this.currentViewState == 'dragover')
82
+ if (this.currentViewState() === 'dragover')
99
83
  return;
100
84
  this._draggedFiles = this._countDragenterFiles(event.dataTransfer);
101
85
  if (!this._draggedFiles)
102
86
  return;
103
- this._beforeDragoverState = this.currentViewState;
104
- this.currentViewState = 'dragover';
87
+ this._beforeDragoverState = this.currentViewState();
88
+ this.currentViewState.set('dragover');
105
89
  }
106
90
  onDragleave() {
107
91
  if (this.shouldBeBlocked)
108
92
  return;
109
- if (this.currentViewState != 'dragover')
93
+ if (this.currentViewState() !== 'dragover')
110
94
  return;
111
- this.currentViewState = this._beforeDragoverState;
95
+ this.currentViewState.set(this._beforeDragoverState);
112
96
  }
113
97
  onDrop(event) {
114
98
  event.preventDefault();
@@ -116,72 +100,54 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
116
100
  return;
117
101
  const filelist = event.dataTransfer?.files;
118
102
  if (!filelist) {
119
- this.currentViewState = 'idle';
103
+ this.currentViewState.set('idle');
120
104
  return;
121
105
  }
122
106
  const files = Array.from(filelist);
123
107
  if (!files) {
124
- this.currentViewState = 'idle';
108
+ this.currentViewState.set('idle');
125
109
  return;
126
110
  }
127
- this.currentViewState = 'uploaded';
111
+ this.currentViewState.set('uploaded');
128
112
  this._writeValue(files);
129
113
  }
130
114
  onInputChange() {
131
- const files = Array.from(this.fileInputEl.nativeElement.files ?? []);
132
- if (files.length == 0) {
115
+ const files = Array.from(this.fileInputEl()?.nativeElement.files ?? []);
116
+ if (files.length === 0) {
133
117
  this._writeValue(null);
134
- this.currentViewState = 'idle';
118
+ this.currentViewState.set('idle');
135
119
  return;
136
120
  }
137
121
  this._writeValue(files);
138
- this.currentViewState = 'uploaded';
122
+ this.currentViewState.set('uploaded');
139
123
  }
140
124
  //! helpers
141
125
  _countDragenterFiles(data) {
142
126
  if (!data)
143
127
  return null;
144
- return Array.from(data.items).filter(item => item.kind == 'file').length;
128
+ return Array.from(data.items).filter(item => item.kind === 'file').length;
145
129
  }
146
130
  _updateElementValue() {
147
131
  const v = this.value;
132
+ const inputEl = this.fileInputEl()?.nativeElement;
133
+ if (!inputEl)
134
+ return;
148
135
  if (!v) {
149
- this.fileInputEl.nativeElement.files = null;
136
+ inputEl.files = null;
150
137
  return;
151
138
  }
152
139
  const dataTransfer = new DataTransfer();
153
140
  for (const file of v) {
154
141
  dataTransfer.items.add(file);
155
142
  }
156
- this.fileInputEl.nativeElement.files = dataTransfer.files;
143
+ inputEl.files = dataTransfer.files;
157
144
  }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: _FileInputComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
159
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: _FileInputComponentBase, inputs: { htmlId: "htmlId", name: "name", compact: "compact", multiple: "multiple", blockAfterUpload: "blockAfterUpload", value: "value" }, outputs: { valueChange: "valueChange", changeEvent: "change", dragFilesEvent: "dragFiles" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0 }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _FileInputComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.0.2", type: _FileInputComponentBase, inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, blockAfterUpload: { classPropertyName: "blockAfterUpload", publicName: "blockAfterUpload", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", dragFilesEvent: "dragFiles" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
160
147
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: _FileInputComponentBase, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: _FileInputComponentBase, decorators: [{
162
149
  type: Directive
163
- }], propDecorators: { fileInputEl: [{
164
- type: ViewChild,
165
- args: ['fileInput']
166
- }], htmlId: [{
167
- type: Input
168
- }], name: [{
169
- type: Input
170
- }], compact: [{
171
- type: Input
172
- }], multiple: [{
173
- type: Input
174
- }], blockAfterUpload: [{
175
- type: Input
176
- }], value: [{
150
+ }], propDecorators: { value: [{
177
151
  type: Input
178
- }], valueChange: [{
179
- type: Output
180
- }], changeEvent: [{
181
- type: Output,
182
- args: ['change']
183
- }], dragFilesEvent: [{
184
- type: Output,
185
- args: ['dragFiles']
186
152
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3ZFLE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEscUJBQXFCO0lBRDNFOztRQUlXLFdBQU0sR0FBVyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFRcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFPeEMsY0FBYztRQUNOLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFTbEMsWUFBWTtRQUNKLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFTM0Isc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBYTNDLFNBQVM7UUFDQyxXQUFNLEdBQWtCLElBQUksQ0FBQztRQVM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDN0MsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUU5RCxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBOEJqRCxtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ2Ysa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBRTlDLGNBQWM7UUFDZCxxQkFBZ0IsR0FBcUMsTUFBTSxDQUFDO1FBQ3BELHlCQUFvQixHQUF3QixNQUFNLENBQUM7S0E2RTVEO0lBNUtDLFFBQVE7UUFDTixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsZ0ZBQWdGLENBQUMsQ0FBQyxDQUFDO1NBQzVHO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBSUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxDQUFNO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUlELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBTTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFHRCxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFNO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUlELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBdUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBT0QsVUFBVSxDQUFDLENBQXVCO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDUyxXQUFXLENBQUMsQ0FBdUIsRUFBRSxhQUFzQixJQUFJO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRTtZQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNUO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVoQixJQUFJLElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFbEQsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRVMsV0FBVztRQUNuQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBVUQsa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBQyxLQUFnQjtRQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBRWhDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTztRQUVoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUNqQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLENBQUMsS0FBZ0I7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBRWpDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU87U0FDUjtRQUNELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7WUFDL0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxhQUFhO1FBQ1gsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7WUFDL0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO0lBQ0Qsb0JBQW9CLENBQUMsSUFBeUI7UUFDdEQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNFLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUM1QyxPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ3BCLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUQsQ0FBQzs4R0FqTG1CLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQUVnQixXQUFXO3NCQUFsQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFpQkYsT0FBTztzQkFEVixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFVRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBZUYsS0FBSztzQkFEUixLQUFLO2dCQVFJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ1csV0FBVztzQkFBNUIsTUFBTTt1QkFBQyxRQUFRO2dCQUNLLGNBQWM7c0JBQWxDLE1BQU07dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dEVsITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQElucHV0KCkgaHRtbElkOiBzdHJpbmcgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xyXG4gIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmc7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCEod2luZG93LkZpbGUgJiYgd2luZG93LkZpbGVSZWFkZXIgJiYgd2luZG93LkJsb2IpKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKCdDYW5ub3QgdXNlIEFyZGl1bSBVSSBmaWxlIGZlYXR1cmVzIGJlY2F1c2UgdGhpcyBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgdGhlbSEnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfd2FzVmlld0luaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl93YXNWaWV3SW5pdCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5fdXBkYXRlRWxlbWVudFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIHByaXZhdGUgX2NvbXBhY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGdldCBjb21wYWN0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBhY3Q7XHJcbiAgfVxyXG4gIHNldCBjb21wYWN0KHY6IGFueSkge1xyXG4gICAgdGhpcy5fY29tcGFjdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICB9XHJcblxyXG4gIC8vISBzZXR0aW5nc1xyXG4gIHByaXZhdGUgX211bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XHJcbiAgfVxyXG4gIHNldCBtdWx0aXBsZSh2OiBhbnkpIHtcclxuICAgIHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYmxvY2tBZnRlclVwbG9hZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGJsb2NrQWZ0ZXJVcGxvYWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYmxvY2tBZnRlclVwbG9hZDtcclxuICB9XHJcbiAgc2V0IGJsb2NrQWZ0ZXJVcGxvYWQodjogYW55KSB7XHJcbiAgICB0aGlzLl9ibG9ja0FmdGVyVXBsb2FkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3VsZEJlQmxvY2tlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmJsb2NrQWZ0ZXJVcGxvYWQgJiYgaXNEZWZpbmVkKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHZhbHVlXHJcbiAgcHJvdGVjdGVkIF92YWx1ZTogRmlsZVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBnZXQgdmFsdWUoKTogRmlsZVtdIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCkge1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10gfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoJ2NoYW5nZScpIGNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10gfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoJ2RyYWdGaWxlcycpIGRyYWdGaWxlc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10gfCBudWxsPigpO1xyXG5cclxuICBwcm90ZWN0ZWQgX3ZhbHVlQmVmb3JlSW5pdDogRmlsZVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh2LCBmYWxzZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCwgZW1pdEV2ZW50czogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICB2ID0gW3ZdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZSA9ICd1cGxvYWRlZCc7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHY7XHJcblxyXG4gICAgaWYgKHRoaXMuX3dhc1ZpZXdJbml0KSB0aGlzLl91cGRhdGVFbGVtZW50VmFsdWUoKTtcclxuXHJcbiAgICBpZiAoZW1pdEV2ZW50cykge1xyXG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkJyb3dzZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZUlucHV0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHRlbXBvcmFyeSB2YWx1ZVxyXG4gIC8vZm9yIGRyYWcgZXZlbnQgaGFuZGxpbmdcclxuICBwcm90ZWN0ZWQgX2RyYWdnZWRGaWxlczogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vISB2aWV3IHN0YXRlXHJcbiAgY3VycmVudFZpZXdTdGF0ZTogJ2lkbGUnIHwgJ2RyYWdvdmVyJyB8ICd1cGxvYWRlZCcgPSAnaWRsZSc7XHJcbiAgcHJpdmF0ZSBfYmVmb3JlRHJhZ292ZXJTdGF0ZTogJ2lkbGUnIHwgJ3VwbG9hZGVkJyA9ICdpZGxlJztcclxuXHJcbiAgLy8hIGV2ZW50IGhhbmRsZXJzXHJcbiAgb25EcmFnb3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSB7XHJcbiAgICAgIGlmICghZXZlbnQuZGF0YVRyYW5zZmVyKSByZXR1cm47XHJcblxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdub25lJztcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXdTdGF0ZSA9PSAnZHJhZ292ZXInKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZHJhZ2dlZEZpbGVzID0gdGhpcy5fY291bnREcmFnZW50ZXJGaWxlcyhldmVudC5kYXRhVHJhbnNmZXIpO1xyXG5cclxuICAgIGlmICghdGhpcy5fZHJhZ2dlZEZpbGVzKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fYmVmb3JlRHJhZ292ZXJTdGF0ZSA9IHRoaXMuY3VycmVudFZpZXdTdGF0ZTtcclxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZSA9ICdkcmFnb3Zlcic7XHJcbiAgfVxyXG4gIG9uRHJhZ2xlYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Vmlld1N0YXRlICE9ICdkcmFnb3ZlcicpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUgPSB0aGlzLl9iZWZvcmVEcmFnb3ZlclN0YXRlO1xyXG4gIH1cclxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG91bGRCZUJsb2NrZWQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBmaWxlbGlzdCA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XHJcbiAgICBpZiAoIWZpbGVsaXN0KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZSA9ICdpZGxlJztcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVsaXN0KTtcclxuICAgIGlmICghZmlsZXMpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlID0gJ2lkbGUnO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlID0gJ3VwbG9hZGVkJztcclxuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xyXG4gIH1cclxuICBvbklucHV0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRoaXMuZmlsZUlucHV0RWwubmF0aXZlRWxlbWVudC5maWxlcyA/PyBbXSk7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5fd3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlID0gJ2lkbGUnO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl93cml0ZVZhbHVlKGZpbGVzKTtcclxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZSA9ICd1cGxvYWRlZCc7XHJcbiAgfVxyXG5cclxuICAvLyEgaGVscGVyc1xyXG4gIHByb3RlY3RlZCBfY291bnREcmFnZW50ZXJGaWxlcyhkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBpZiAoIWRhdGEpIHJldHVybiBudWxsO1xyXG5cclxuICAgIHJldHVybiBBcnJheS5mcm9tKGRhdGEuaXRlbXMpLmZpbHRlcihpdGVtID0+IGl0ZW0ua2luZCA9PSAnZmlsZScpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfdXBkYXRlRWxlbWVudFZhbHVlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XHJcblxyXG4gICAgaWYgKCF2KSB7XHJcbiAgICAgIHRoaXMuZmlsZUlucHV0RWwubmF0aXZlRWxlbWVudC5maWxlcyA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2Ygdikge1xyXG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWxlSW5wdXRFbC5uYXRpdmVFbGVtZW50LmZpbGVzID0gZGF0YVRyYW5zZmVyLmZpbGVzO1xyXG4gIH1cclxufVxyXG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBRUwsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3ZFLE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEscUJBQXFCO0lBRDNFOztRQUlXLGdCQUFXLEdBQUcsU0FBUyxDQUErQixXQUFXLENBQUMsQ0FBQztRQUVuRSxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFTeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPL0IsY0FBYztRQUNMLFlBQU8sR0FBRyxLQUFLLENBQWUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTVGLFlBQVk7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRixxQkFBZ0IsR0FBRyxLQUFLLENBQWUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMs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Q0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQzs4R0FqS21CLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQXFDSixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBhYnN0cmFjdCByZWFkb25seSBjb21wb25lbnRJZDogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGZpbGVJbnB1dEVsID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdmaWxlSW5wdXQnKTtcblxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KGNyeXB0by5yYW5kb21VVUlEKCkpO1xuICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCEod2luZG93LkZpbGUgJiYgd2luZG93LkZpbGVSZWFkZXIgJiYgd2luZG93LkJsb2IpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBuZXcgRXJyb3IoYEFSRC0ke3RoaXMuY29tcG9uZW50SWR9MDogQ2Fubm90IHVzZSBBcmRpdW0gVUkgZmlsZSBmZWF0dXJlcyBiZWNhdXNlIHRoaXMgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZW0hYClcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfd2FzVmlld0luaXQgPSBmYWxzZTtcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3dhc1ZpZXdJbml0ID0gdHJ1ZTtcblxuICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpO1xuICB9XG5cbiAgLy8hIGFwcGVhcmFuY2VcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICAvLyEgc2V0dGluZ3NcbiAgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG4gIHJlYWRvbmx5IGJsb2NrQWZ0ZXJVcGxvYWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgZ2V0IHNob3VsZEJlQmxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ibG9ja0FmdGVyVXBsb2FkKCkgJiYgaXNEZWZpbmVkKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8hIHZhbHVlXG4gIHByb3RlY3RlZCBfdmFsdWU6IEZpbGVbXSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogRmlsZVtdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcbiAgfVxuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuICByZWFkb25seSBkcmFnRmlsZXNFdmVudCA9IG91dHB1dDxGaWxlW10gfCBudWxsPih7IGFsaWFzOiAnZHJhZ0ZpbGVzJyB9KTtcblxuICBwcm90ZWN0ZWQgX3ZhbHVlQmVmb3JlSW5pdDogRmlsZVtdIHwgbnVsbCA9IG51bGw7XG4gIHdyaXRlVmFsdWUodjogRmlsZSB8IEZpbGVbXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0ZVZhbHVlKHYsIGZhbHNlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3dyaXRlVmFsdWUodjogRmlsZSB8IEZpbGVbXSB8IG51bGwsIGVtaXRFdmVudHMgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHYgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICB2ID0gW3ZdO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ3VwbG9hZGVkJyk7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuXG4gICAgaWYgKHRoaXMuX3dhc1ZpZXdJbml0KSB0aGlzLl91cGRhdGVFbGVtZW50VmFsdWUoKTtcblxuICAgIGlmIChlbWl0RXZlbnRzKSB7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodik7XG4gIH1cblxuICBvcGVuQnJvd3NlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgLy8hIHRlbXBvcmFyeSB2YWx1ZVxuICAvL2ZvciBkcmFnIGV2ZW50IGhhbmRsaW5nXG4gIHByb3RlY3RlZCBfZHJhZ2dlZEZpbGVzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvLyEgdmlldyBzdGF0ZVxuICByZWFkb25seSBjdXJyZW50Vmlld1N0YXRlID0gc2lnbmFsPCdpZGxlJyB8ICdkcmFnb3ZlcicgfCAndXBsb2FkZWQnPignaWRsZScpO1xuICBwcml2YXRlIF9iZWZvcmVEcmFnb3ZlclN0YXRlOiAnaWRsZScgfCAndXBsb2FkZWQnID0gJ2lkbGUnO1xuXG4gIC8vISBldmVudCBoYW5kbGVyc1xuICBvbkRyYWdvdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLnNob3VsZEJlQmxvY2tlZCkge1xuICAgICAgaWYgKCFldmVudC5kYXRhVHJhbnNmZXIpIHJldHVybjtcblxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbm9uZSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJykgcmV0dXJuO1xuXG4gICAgdGhpcy5fZHJhZ2dlZEZpbGVzID0gdGhpcy5fY291bnREcmFnZW50ZXJGaWxlcyhldmVudC5kYXRhVHJhbnNmZXIpO1xuXG4gICAgaWYgKCF0aGlzLl9kcmFnZ2VkRmlsZXMpIHJldHVybjtcblxuICAgIHRoaXMuX2JlZm9yZURyYWdvdmVyU3RhdGUgPSB0aGlzLmN1cnJlbnRWaWV3U3RhdGUoKSBhcyAnaWRsZScgfCAndXBsb2FkZWQnO1xuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2RyYWdvdmVyJyk7XG4gIH1cbiAgb25EcmFnbGVhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpICE9PSAnZHJhZ292ZXInKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KHRoaXMuX2JlZm9yZURyYWdvdmVyU3RhdGUpO1xuICB9XG4gIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0aGlzLnNob3VsZEJlQmxvY2tlZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZmlsZWxpc3QgPSBldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzO1xuICAgIGlmICghZmlsZWxpc3QpIHtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVsaXN0KTtcbiAgICBpZiAoIWZpbGVzKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgICB0aGlzLl93cml0ZVZhbHVlKGZpbGVzKTtcbiAgfVxuICBvbklucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbSh0aGlzLmZpbGVJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQuZmlsZXMgPz8gW10pO1xuICAgIGlmIChmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3dyaXRlVmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ3VwbG9hZGVkJyk7XG4gIH1cblxuICAvLyEgaGVscGVyc1xuICBwcm90ZWN0ZWQgX2NvdW50RHJhZ2VudGVyRmlsZXMoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghZGF0YSkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRhLml0ZW1zKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmtpbmQgPT09ICdmaWxlJykubGVuZ3RoO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cGRhdGVFbGVtZW50VmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XG5cbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5maWxlSW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghaW5wdXRFbCkgcmV0dXJuO1xuICAgIGlmICghdikge1xuICAgICAgaW5wdXRFbC5maWxlcyA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiB2KSB7XG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xuICAgIH1cbiAgICBpbnB1dEVsLmZpbGVzID0gZGF0YVRyYW5zZmVyLmZpbGVzO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZmlsZS1pbnB1dHMvZmlsZS1pbnB1dC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWxlSW5wdXRCcm93c2VDb250ZXh0IHtcclxuICBicm93c2U6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xyXG4gIGFtb3VudDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVJbnB1dEZpbGVzQ29udGV4dCBleHRlbmRzIEZpbGVJbnB1dEZpbGVBbW91bnRDb250ZXh0IHtcclxuICAkaW1wbGljaXQ6IEZpbGVbXTtcclxuICBmaWxlczogRmlsZVtdO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZmlsZS1pbnB1dHMvZmlsZS1pbnB1dC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWxlSW5wdXRCcm93c2VDb250ZXh0IHtcbiAgYnJvd3NlOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVJbnB1dEZpbGVBbW91bnRDb250ZXh0IHtcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUlucHV0RmlsZXNDb250ZXh0IGV4dGVuZHMgRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAkaW1wbGljaXQ6IEZpbGVbXTtcbiAgZmlsZXM6IEZpbGVbXTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, ContentChild, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, computed, contentChild, input } from '@angular/core';
2
2
  import { coerceBooleanProperty } from '@ardium-ui/devkit';
3
- import { FormElementAppearance, FormElementVariant } from '../types/theming.types';
4
3
  import { _FocusableComponentBase } from '../_internal/focusable-component';
4
+ import { FormElementAppearance, FormElementVariant } from '../types/theming.types';
5
5
  import { ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective } from './form-field-frame.directives';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
@@ -14,61 +14,34 @@ export class ArdiumFormFieldFrameComponent extends _FocusableComponentBase {
14
14
  /**
15
15
  * The appearance of the component, aka the styling.
16
16
  */
17
- this.appearance = FormElementAppearance.Outlined;
17
+ this.appearance = input(FormElementAppearance.Outlined);
18
18
  /**
19
19
  * The variant of the component, aka the shape.
20
20
  */
21
- this.variant = FormElementVariant.Rounded;
21
+ this.variant = input(FormElementVariant.Rounded);
22
22
  /**
23
- * @private
24
23
  * Whether to use the compact styling or not.
25
24
  */
26
- this._compact = false;
27
- this.prefixTemplate = null;
28
- this.suffixTemplate = null;
29
- }
30
- get compact() {
31
- return this._compact;
32
- }
33
- /**
34
- * Whether to use the compact styling or not.
35
- */
36
- set compact(v) {
37
- this._compact = coerceBooleanProperty(v);
38
- }
39
- get ngClasses() {
40
- return [
41
- `ard-appearance-${this.appearance}`,
42
- `ard-variant-${this.variant}`,
43
- this.compact ? 'ard-compact' : '',
25
+ this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
26
+ this.ngClasses = computed(() => [
27
+ `ard-appearance-${this.appearance()}`,
28
+ `ard-variant-${this.variant()}`,
29
+ this.compact() ? 'ard-compact' : '',
44
30
  this.isFocused ? 'ard-focused' : 'ard-unfocused',
45
- ].join(' ');
31
+ ].join(' '));
32
+ //! prefix & suffix
33
+ this.prefixTemplateInput = input(undefined, { alias: 'prefixTemplate' });
34
+ this.suffixTemplateInput = input(undefined, { alias: 'suffixTemplate' });
35
+ this.prefixTemplate = contentChild(ArdFormFieldPrefixTemplateDirective);
36
+ this.suffixTemplate = contentChild(ArdFormFieldSuffixTemplateDirective);
46
37
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: { isFocused: "isFocused", appearance: "appearance", variant: "variant", compact: "compact", prefixTemplateInput: ["prefixTemplate", "prefixTemplateInput"], suffixTemplateInput: ["suffixTemplate", "suffixTemplateInput"] }, queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdFormFieldPrefixTemplateDirective, descendants: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdFormFieldSuffixTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ard-form-field-frame\" [ngClass]=\"ngClasses\">\r\n <div class=\"ard-form-field-overlay\"></div>\r\n <div class=\"ard-form-field-prefix-container\" *ngIf=\"prefixTemplateInput ?? prefixTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"prefixTemplateInput ?? prefixTemplate\"></ng-template>\r\n </div>\r\n <div class=\"ard-form-field-content-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"ard-form-field-suffix-container\" *ngIf=\"suffixTemplateInput ?? suffixTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"suffixTemplateInput ?? suffixTemplate\"></ng-template>\r\n </div>\r\n</div>", styles: [".ard-form-field-frame{position:relative}.ard-form-field-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: { isFocused: { classPropertyName: "isFocused", publicName: "isFocused", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, prefixTemplateInput: { classPropertyName: "prefixTemplateInput", publicName: "prefixTemplate", isSignal: true, isRequired: false, transformFunction: null }, suffixTemplateInput: { classPropertyName: "suffixTemplateInput", publicName: "suffixTemplate", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdFormFieldPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdFormFieldSuffixTemplateDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ard-form-field-frame\"\n [ngClass]=\"ngClasses()\"\n>\n <div class=\"ard-form-field-overlay\"></div>\n @if (prefixTemplateInput() ?? prefixTemplate()) {\n <div class=\"ard-form-field-prefix-container\">\n <ng-template [ngTemplateOutlet]=\"prefixTemplateInput() ?? prefixTemplate()?.template ?? null\"></ng-template>\n </div>\n }\n <div class=\"ard-form-field-content-container\">\n <ng-content></ng-content>\n </div>\n @if (suffixTemplateInput() ?? suffixTemplate()) {\n <div class=\"ard-form-field-suffix-container\">\n <ng-template [ngTemplateOutlet]=\"suffixTemplateInput() ?? suffixTemplate()?.template ?? null\"></ng-template>\n </div>\n }\n</div>\n", styles: [".ard-form-field-frame{position:relative}.ard-form-field-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
40
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameComponent, decorators: [{
51
42
  type: Component,
52
- args: [{ selector: 'ard-form-field-frame', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ard-form-field-frame\" [ngClass]=\"ngClasses\">\r\n <div class=\"ard-form-field-overlay\"></div>\r\n <div class=\"ard-form-field-prefix-container\" *ngIf=\"prefixTemplateInput ?? prefixTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"prefixTemplateInput ?? prefixTemplate\"></ng-template>\r\n </div>\r\n <div class=\"ard-form-field-content-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"ard-form-field-suffix-container\" *ngIf=\"suffixTemplateInput ?? suffixTemplate\">\r\n <ng-template [ngTemplateOutlet]=\"suffixTemplateInput ?? suffixTemplate\"></ng-template>\r\n </div>\r\n</div>", styles: [".ard-form-field-frame{position:relative}.ard-form-field-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}\n"] }]
43
+ args: [{ selector: 'ard-form-field-frame', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ard-form-field-frame\"\n [ngClass]=\"ngClasses()\"\n>\n <div class=\"ard-form-field-overlay\"></div>\n @if (prefixTemplateInput() ?? prefixTemplate()) {\n <div class=\"ard-form-field-prefix-container\">\n <ng-template [ngTemplateOutlet]=\"prefixTemplateInput() ?? prefixTemplate()?.template ?? null\"></ng-template>\n </div>\n }\n <div class=\"ard-form-field-content-container\">\n <ng-content></ng-content>\n </div>\n @if (suffixTemplateInput() ?? suffixTemplate()) {\n <div class=\"ard-form-field-suffix-container\">\n <ng-template [ngTemplateOutlet]=\"suffixTemplateInput() ?? suffixTemplate()?.template ?? null\"></ng-template>\n </div>\n }\n</div>\n", styles: [".ard-form-field-frame{position:relative}.ard-form-field-overlay{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}\n"] }]
53
44
  }], propDecorators: { isFocused: [{
54
45
  type: Input
55
- }], appearance: [{
56
- type: Input
57
- }], variant: [{
58
- type: Input
59
- }], compact: [{
60
- type: Input
61
- }], prefixTemplateInput: [{
62
- type: Input,
63
- args: ['prefixTemplate']
64
- }], suffixTemplateInput: [{
65
- type: Input,
66
- args: ['suffixTemplate']
67
- }], prefixTemplate: [{
68
- type: ContentChild,
69
- args: [ArdFormFieldPrefixTemplateDirective]
70
- }], suffixTemplate: [{
71
- type: ContentChild,
72
- args: [ArdFormFieldSuffixTemplateDirective]
73
46
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBZSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVN6SCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0lBUDFFOztRQVFFLGlCQUFpQjtRQUNDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFN0MsY0FBYztRQUNkOztXQUVHO1FBQ00sZUFBVSxHQUEwQixxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDNUU7O1dBRUc7UUFDTSxZQUFPLEdBQXVCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUVsRTs7O1dBR0c7UUFDSyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBNEJsQyxtQkFBYyxHQUE0QixJQUFJLENBQUM7UUFFL0MsbUJBQWMsR0FBNEIsSUFBSSxDQUFDO0tBQ2hEO0lBOUJDLElBSUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxDQUFNO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU87WUFDTCxrQkFBa0IsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQyxlQUFlLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZTtTQUNqRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7OEdBeENVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDhVQTZDMUIsbUNBQW1DLGlGQUVuQyxtQ0FBbUMsdUVDN0RuRCx5cEJBV007OzJGREdPLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSTdCLFNBQVM7c0JBQTFCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBV0YsT0FBTztzQkFKVixLQUFLO2dCQXdCbUIsbUJBQW1CO3NCQUEzQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDRSxtQkFBbUI7c0JBQTNDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUV2QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsbUNBQW1DO2dCQUdqRCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XHJcbmltcG9ydCB7IF9EaXNhYmxhYmxlQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9kaXNhYmxhYmxlLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL2ZvY3VzYWJsZS1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1mb3JtLWZpZWxkLWZyYW1lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1Gb3JtRmllbGRGcmFtZUNvbXBvbmVudCBleHRlbmRzIF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIHtcclxuICAvLyEgZm9jdXNlZCBzdGF0ZVxyXG4gIEBJbnB1dCgpIG92ZXJyaWRlIGlzRm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIC8qKlxyXG4gICAqIFRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjb21wb25lbnQsIGFrYSB0aGUgc3R5bGluZy5cclxuICAgKi9cclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBGb3JtRWxlbWVudEFwcGVhcmFuY2UgPSBGb3JtRWxlbWVudEFwcGVhcmFuY2UuT3V0bGluZWQ7XHJcbiAgLyoqXHJcbiAgICogVGhlIHZhcmlhbnQgb2YgdGhlIGNvbXBvbmVudCwgYWthIHRoZSBzaGFwZS5cclxuICAgKi9cclxuICBASW5wdXQoKSB2YXJpYW50OiBGb3JtRWxlbWVudFZhcmlhbnQgPSBGb3JtRWxlbWVudFZhcmlhbnQuUm91bmRlZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgY29tcGFjdCBzdHlsaW5nIG9yIG5vdC5cclxuICAgKi9cclxuICBwcml2YXRlIF9jb21wYWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgY29tcGFjdCBzdHlsaW5nIG9yIG5vdC5cclxuICAgKi9cclxuICBnZXQgY29tcGFjdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9jb21wYWN0O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgY29tcGFjdCBzdHlsaW5nIG9yIG5vdC5cclxuICAgKi9cclxuICBzZXQgY29tcGFjdCh2OiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbXBhY3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgfVxyXG5cclxuICBnZXQgbmdDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBgYXJkLWFwcGVhcmFuY2UtJHt0aGlzLmFwcGVhcmFuY2V9YCxcclxuICAgICAgYGFyZC12YXJpYW50LSR7dGhpcy52YXJpYW50fWAsXHJcbiAgICAgIHRoaXMuY29tcGFjdCA/ICdhcmQtY29tcGFjdCcgOiAnJyxcclxuICAgICAgdGhpcy5pc0ZvY3VzZWQgPyAnYXJkLWZvY3VzZWQnIDogJ2FyZC11bmZvY3VzZWQnLFxyXG4gICAgXS5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvLyEgcHJlZml4ICYgc3VmZml4XHJcbiAgQElucHV0KCdwcmVmaXhUZW1wbGF0ZScpIHByZWZpeFRlbXBsYXRlSW5wdXQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgnc3VmZml4VGVtcGxhdGUnKSBzdWZmaXhUZW1wbGF0ZUlucHV0PzogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAQ29udGVudENoaWxkKEFyZEZvcm1GaWVsZFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlKVxyXG4gIHByZWZpeFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcbiAgQENvbnRlbnRDaGlsZChBcmRGb3JtRmllbGRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSlcclxuICBzdWZmaXhUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZC1mcmFtZVwiIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFyZC1mb3JtLWZpZWxkLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZC1wcmVmaXgtY29udGFpbmVyXCIgKm5nSWY9XCJwcmVmaXhUZW1wbGF0ZUlucHV0ID8/IHByZWZpeFRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZWZpeFRlbXBsYXRlSW5wdXQgPz8gcHJlZml4VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGQtY29udGVudC1jb250YWluZXJcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZC1zdWZmaXgtY29udGFpbmVyXCIgKm5nSWY9XCJzdWZmaXhUZW1wbGF0ZUlucHV0ID8/IHN1ZmZpeFRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN1ZmZpeFRlbXBsYXRlSW5wdXQgPz8gc3VmZml4VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFTekgsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHVCQUF1QjtJQVAxRTs7UUFRRSxpQkFBaUI7UUFDQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXBDLGNBQWM7UUFDZDs7V0FFRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQXdCLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25GOztXQUVHO1FBQ00sWUFBTyxHQUFHLEtBQUssQ0FBcUIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekU7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuRixjQUFTLEdBQUcsUUFBUSxDQUFTLEdBQUcsRUFBRSxDQUN6QztZQUNFLGtCQUFrQixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDckMsZUFBZSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQ2pELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNaLENBQUM7UUFFRixtQkFBbUI7UUFDVix3QkFBbUIsR0FBRyxLQUFLLENBQTZCLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDaEcsd0JBQW1CLEdBQUcsS0FBSyxDQUE2QixTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLG1CQUFjLEdBQUcsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDbkUsbUJBQWMsR0FBRyxZQUFZLENBQUMsbUNBQW1DLENBQUMsQ0FBQztLQUM3RTs4R0FqQ1ksNkJBQTZCO2tHQUE3Qiw2QkFBNkIsczdCQStCRCxtQ0FBbUMsaUdBQ25DLG1DQUFtQyx1RkN2RDVFLGlzQkFtQkE7OzJGRElhLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSTdCLFNBQVM7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL2ZvY3VzYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FyZC1mb3JtLWZpZWxkLWZyYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtZnJhbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLWZyYW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1Gb3JtRmllbGRGcmFtZUNvbXBvbmVudCBleHRlbmRzIF9Gb2N1c2FibGVDb21wb25lbnRCYXNlIHtcbiAgLy8hIGZvY3VzZWQgc3RhdGVcbiAgQElucHV0KCkgb3ZlcnJpZGUgaXNGb2N1c2VkID0gZmFsc2U7XG5cbiAgLy8hIGFwcGVhcmFuY2VcbiAgLyoqXG4gICAqIFRoZSBhcHBlYXJhbmNlIG9mIHRoZSBjb21wb25lbnQsIGFrYSB0aGUgc3R5bGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KEZvcm1FbGVtZW50QXBwZWFyYW5jZS5PdXRsaW5lZCk7XG4gIC8qKlxuICAgKiBUaGUgdmFyaWFudCBvZiB0aGUgY29tcG9uZW50LCBha2EgdGhlIHNoYXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PEZvcm1FbGVtZW50VmFyaWFudD4oRm9ybUVsZW1lbnRWYXJpYW50LlJvdW5kZWQpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgY29tcGFjdCBzdHlsaW5nIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxuICAgIFtcbiAgICAgIGBhcmQtYXBwZWFyYW5jZS0ke3RoaXMuYXBwZWFyYW5jZSgpfWAsXG4gICAgICBgYXJkLXZhcmlhbnQtJHt0aGlzLnZhcmlhbnQoKX1gLFxuICAgICAgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJycsXG4gICAgICB0aGlzLmlzRm9jdXNlZCA/ICdhcmQtZm9jdXNlZCcgOiAnYXJkLXVuZm9jdXNlZCcsXG4gICAgXS5qb2luKCcgJylcbiAgKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIHJlYWRvbmx5IHByZWZpeFRlbXBsYXRlSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+Pj4odW5kZWZpbmVkLCB7IGFsaWFzOiAncHJlZml4VGVtcGxhdGUnIH0pO1xuICByZWFkb25seSBzdWZmaXhUZW1wbGF0ZUlucHV0ID0gaW5wdXQ8TnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj4+KHVuZGVmaW5lZCwgeyBhbGlhczogJ3N1ZmZpeFRlbXBsYXRlJyB9KTtcbiAgcmVhZG9ubHkgcHJlZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkRm9ybUZpZWxkUHJlZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xuICByZWFkb25seSBzdWZmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRGb3JtRmllbGRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXJkLWZvcm0tZmllbGQtZnJhbWVcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhcmQtZm9ybS1maWVsZC1vdmVybGF5XCI+PC9kaXY+XG4gIEBpZiAocHJlZml4VGVtcGxhdGVJbnB1dCgpID8/IHByZWZpeFRlbXBsYXRlKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGQtcHJlZml4LWNvbnRhaW5lclwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZWZpeFRlbXBsYXRlSW5wdXQoKSA/PyBwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZSA/PyBudWxsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiYXJkLWZvcm0tZmllbGQtY29udGVudC1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICBAaWYgKHN1ZmZpeFRlbXBsYXRlSW5wdXQoKSA/PyBzdWZmaXhUZW1wbGF0ZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImFyZC1mb3JtLWZpZWxkLXN1ZmZpeC1jb250YWluZXJcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWZmaXhUZW1wbGF0ZUlucHV0KCkgPz8gc3VmZml4VGVtcGxhdGUoKT8udGVtcGxhdGUgPz8gbnVsbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
@@ -4,10 +4,10 @@ export class ArdFormFieldPrefixTemplateDirective {
4
4
  constructor(template) {
5
5
  this.template = template;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdFormFieldPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: ArdFormFieldPrefixTemplateDirective, selector: "ard-form-field-frame > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdFormFieldPrefixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdFormFieldPrefixTemplateDirective, selector: "ard-form-field-frame > ng-template[ard-prefix-tmp]", ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdFormFieldPrefixTemplateDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdFormFieldPrefixTemplateDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{ selector: 'ard-form-field-frame > ng-template[ard-prefix-tmp]' }]
13
13
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
@@ -15,11 +15,11 @@ export class ArdFormFieldSuffixTemplateDirective {
15
15
  constructor(template) {
16
16
  this.template = template;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdFormFieldSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: ArdFormFieldSuffixTemplateDirective, selector: "ard-form-field-frame > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdFormFieldSuffixTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdFormFieldSuffixTemplateDirective, selector: "ard-form-field-frame > ng-template[ard-suffix-tmp]", ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdFormFieldSuffixTemplateDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdFormFieldSuffixTemplateDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{ selector: 'ard-form-field-frame > ng-template[ard-suffix-tmp]' }]
24
24
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9mb3JtLWZpZWxkLWZyYW1lL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUd2RCxNQUFNLE9BQU8sbUNBQW1DO0lBQzlDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsbUNBQW1DO2tHQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0RBQW9ELEVBQUU7O0FBTTdFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ1QyxtQ0FBbUM7a0dBQW5DLG1DQUFtQzs7MkZBQW5DLG1DQUFtQztrQkFEL0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvREFBb0QsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1mb3JtLWZpZWxkLWZyYW1lID4gbmctdGVtcGxhdGVbYXJkLXByZWZpeC10bXBdJyB9KVxyXG5leHBvcnQgY2xhc3MgQXJkRm9ybUZpZWxkUHJlZml4VGVtcGxhdGVEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5kZWZpbmVkPikge31cclxufVxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWZvcm0tZmllbGQtZnJhbWUgPiBuZy10ZW1wbGF0ZVthcmQtc3VmZml4LXRtcF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBBcmRGb3JtRmllbGRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxyXG59XHJcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9mb3JtLWZpZWxkLWZyYW1lL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUd2RCxNQUFNLE9BQU8sbUNBQW1DO0lBQzlDLFlBQW1CLFFBQWdDO1FBQWhDLGFBQVEsR0FBUixRQUFRLENBQXdCO0lBQUcsQ0FBQzs4R0FENUMsbUNBQW1DO2tHQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBRC9DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0RBQW9ELEVBQUU7O0FBTTdFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsWUFBbUIsUUFBZ0M7UUFBaEMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7SUFBRyxDQUFDOzhHQUQ1QyxtQ0FBbUM7a0dBQW5DLG1DQUFtQzs7MkZBQW5DLG1DQUFtQztrQkFEL0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvREFBb0QsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnYXJkLWZvcm0tZmllbGQtZnJhbWUgPiBuZy10ZW1wbGF0ZVthcmQtcHJlZml4LXRtcF0nIH0pXG5leHBvcnQgY2xhc3MgQXJkRm9ybUZpZWxkUHJlZml4VGVtcGxhdGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVuZGVmaW5lZD4pIHt9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2FyZC1mb3JtLWZpZWxkLWZyYW1lID4gbmctdGVtcGxhdGVbYXJkLXN1ZmZpeC10bXBdJyB9KVxuZXhwb3J0IGNsYXNzIEFyZEZvcm1GaWVsZFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmRlZmluZWQ+KSB7fVxufVxuIl19
@@ -4,11 +4,11 @@ import { ArdiumFormFieldFrameComponent } from './form-field-frame.component';
4
4
  import { ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective } from './form-field-frame.directives';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ArdiumFormFieldFrameModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameModule, declarations: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective], imports: [CommonModule], exports: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameModule, imports: [CommonModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameModule, declarations: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective], imports: [CommonModule], exports: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameModule, imports: [CommonModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumFormFieldFrameModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFormFieldFrameModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
16
16
  exports: [ArdiumFormFieldFrameComponent, ArdFormFieldPrefixTemplateDirective, ArdFormFieldSuffixTemplateDirective],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBT3pILE1BQU0sT0FBTywwQkFBMEI7OEdBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLGlCQUp0Qiw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsYUFDNUcsWUFBWSxhQUNaLDZCQUE2QixFQUFFLG1DQUFtQyxFQUFFLG1DQUFtQzsrR0FFdEcsMEJBQTBCLFlBSDNCLFlBQVk7OzJGQUdYLDBCQUEwQjtrQkFMdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBQztvQkFDdkgsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBQztpQkFDbkgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FyZGl1bUZvcm1GaWVsZEZyYW1lQ29tcG9uZW50LCBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBcmRpdW1Gb3JtRmllbGRGcmFtZUNvbXBvbmVudCwgQXJkRm9ybUZpZWxkUHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIEFyZEZvcm1GaWVsZFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUZvcm1GaWVsZEZyYW1lTW9kdWxlIHt9XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBT3pILE1BQU0sT0FBTywwQkFBMEI7OEdBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLGlCQUp0Qiw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsYUFDNUcsWUFBWSxhQUNaLDZCQUE2QixFQUFFLG1DQUFtQyxFQUFFLG1DQUFtQzsrR0FFdEcsMEJBQTBCLFlBSDNCLFlBQVk7OzJGQUdYLDBCQUEwQjtrQkFMdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBQztvQkFDdkgsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxtQ0FBbUMsRUFBRSxtQ0FBbUMsQ0FBQztpQkFDbkgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFyZGl1bUZvcm1GaWVsZEZyYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWZyYW1lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQtZnJhbWUuZGlyZWN0aXZlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FyZGl1bUZvcm1GaWVsZEZyYW1lQ29tcG9uZW50LCBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0FyZGl1bUZvcm1GaWVsZEZyYW1lQ29tcG9uZW50LCBBcmRGb3JtRmllbGRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSwgQXJkRm9ybUZpZWxkU3VmZml4VGVtcGxhdGVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './form-field-frame.module';
2
+ export * from './form-field-frame.component';
3
+ export * from './form-field-frame.directives';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2Zvcm0tZmllbGQtZnJhbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQtZnJhbWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1mcmFtZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLWZyYW1lLmRpcmVjdGl2ZXMnO1xuIl19