@ardium-ui/ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +25 -0
  2. package/esm2022/ardium-ui-ui.mjs +5 -0
  3. package/esm2022/lib/_internal/boolean-component.mjs +108 -0
  4. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +12 -0
  5. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +18 -0
  6. package/esm2022/lib/_internal/disablable-component.mjs +44 -0
  7. package/esm2022/lib/_internal/focusable-component.mjs +91 -0
  8. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +436 -0
  9. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +349 -0
  10. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +155 -0
  11. package/esm2022/lib/_internal/models/pagination.model.mjs +124 -0
  12. package/esm2022/lib/_internal/ngmodel-component.mjs +42 -0
  13. package/esm2022/lib/_internal/queue.mjs +59 -0
  14. package/esm2022/lib/_internal/selectable-list-component.mjs +304 -0
  15. package/esm2022/lib/badge/badge.directive.mjs +123 -0
  16. package/esm2022/lib/badge/badge.module.mjs +18 -0
  17. package/esm2022/lib/badge/badge.types.mjs +16 -0
  18. package/esm2022/lib/buttons/_button-base.mjs +45 -0
  19. package/esm2022/lib/buttons/button/button.component.mjs +49 -0
  20. package/esm2022/lib/buttons/button/button.module.mjs +18 -0
  21. package/esm2022/lib/buttons/fab/fab.component.mjs +40 -0
  22. package/esm2022/lib/buttons/fab/fab.module.mjs +18 -0
  23. package/esm2022/lib/buttons/general-button.types.mjs +55 -0
  24. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +37 -0
  25. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +18 -0
  26. package/esm2022/lib/calendar/calendar.component.mjs +982 -0
  27. package/esm2022/lib/calendar/calendar.directives.mjs +107 -0
  28. package/esm2022/lib/calendar/calendar.helpers.mjs +47 -0
  29. package/esm2022/lib/calendar/calendar.module.mjs +21 -0
  30. package/esm2022/lib/calendar/calendar.types.mjs +11 -0
  31. package/esm2022/lib/card/card.children.mjs +97 -0
  32. package/esm2022/lib/card/card.component.mjs +40 -0
  33. package/esm2022/lib/card/card.module.mjs +59 -0
  34. package/esm2022/lib/card/card.types.mjs +9 -0
  35. package/esm2022/lib/checkbox/checkbox.component.mjs +73 -0
  36. package/esm2022/lib/checkbox/checkbox.module.mjs +18 -0
  37. package/esm2022/lib/checkbox/checkbox.types.mjs +6 -0
  38. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +139 -0
  39. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +19 -0
  40. package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +7 -0
  41. package/esm2022/lib/chip/chip.component.mjs +55 -0
  42. package/esm2022/lib/chip/chip.module.mjs +21 -0
  43. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +80 -0
  44. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +77 -0
  45. package/esm2022/lib/color/color-display/color-display.component.mjs +48 -0
  46. package/esm2022/lib/color/color-display/color-display.module.mjs +18 -0
  47. package/esm2022/lib/color/color-display/color-display.types.mjs +9 -0
  48. package/esm2022/lib/color/color-picker/color-picker.component.mjs +484 -0
  49. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +55 -0
  50. package/esm2022/lib/color/color-picker/color-picker.module.mjs +43 -0
  51. package/esm2022/lib/color/color-picker/color-picker.types.mjs +11 -0
  52. package/esm2022/lib/dialog/dialog.component.mjs +167 -0
  53. package/esm2022/lib/dialog/dialog.directives.mjs +14 -0
  54. package/esm2022/lib/dialog/dialog.module.mjs +21 -0
  55. package/esm2022/lib/dialog/dialog.types.mjs +6 -0
  56. package/esm2022/lib/divider/divider.component.mjs +26 -0
  57. package/esm2022/lib/divider/divider.module.mjs +18 -0
  58. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +130 -0
  59. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +18 -0
  60. package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +10 -0
  61. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +82 -0
  62. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +42 -0
  63. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +58 -0
  64. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +153 -0
  65. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +73 -0
  66. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +21 -0
  67. package/esm2022/lib/file-inputs/file-input-base.mjs +187 -0
  68. package/esm2022/lib/file-inputs/file-input-types.mjs +2 -0
  69. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +74 -0
  70. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +25 -0
  71. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +19 -0
  72. package/esm2022/lib/icon/icon.component.mjs +85 -0
  73. package/esm2022/lib/icon/icon.module.mjs +19 -0
  74. package/esm2022/lib/icon/icon.pipe.mjs +18 -0
  75. package/esm2022/lib/inputs/color-input/color-input.component.mjs +421 -0
  76. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +101 -0
  77. package/esm2022/lib/inputs/color-input/color-input.module.mjs +85 -0
  78. package/esm2022/lib/inputs/color-input/color-input.types.mjs +2 -0
  79. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +218 -0
  80. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +217 -0
  81. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +18 -0
  82. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +15 -0
  83. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +8 -0
  84. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +234 -0
  85. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +36 -0
  86. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +21 -0
  87. package/esm2022/lib/inputs/hex-input.model.mjs +106 -0
  88. package/esm2022/lib/inputs/input/input.component.mjs +344 -0
  89. package/esm2022/lib/inputs/input/input.directives.mjs +58 -0
  90. package/esm2022/lib/inputs/input/input.module.mjs +47 -0
  91. package/esm2022/lib/inputs/input-transformers.mjs +66 -0
  92. package/esm2022/lib/inputs/input-types.mjs +6 -0
  93. package/esm2022/lib/inputs/input-utils.mjs +205 -0
  94. package/esm2022/lib/inputs/number-input/number-input.component.mjs +289 -0
  95. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +14 -0
  96. package/esm2022/lib/inputs/number-input/number-input.module.mjs +21 -0
  97. package/esm2022/lib/inputs/password-input/password-input.component.mjs +222 -0
  98. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +49 -0
  99. package/esm2022/lib/inputs/password-input/password-input.module.mjs +41 -0
  100. package/esm2022/lib/inputs/password-input/password-input.types.mjs +2 -0
  101. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +219 -0
  102. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +36 -0
  103. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +37 -0
  104. package/esm2022/lib/kbd/kbd.component.mjs +42 -0
  105. package/esm2022/lib/kbd/kbd.module.mjs +19 -0
  106. package/esm2022/lib/kbd/kbd.pipe.mjs +17 -0
  107. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +55 -0
  108. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +19 -0
  109. package/esm2022/lib/modal/modal.component.mjs +120 -0
  110. package/esm2022/lib/modal/modal.module.mjs +21 -0
  111. package/esm2022/lib/option/option.component.mjs +77 -0
  112. package/esm2022/lib/option/option.module.mjs +18 -0
  113. package/esm2022/lib/progress-bar/progress-bar.component.mjs +95 -0
  114. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +14 -0
  115. package/esm2022/lib/progress-bar/progress-bar.module.mjs +19 -0
  116. package/esm2022/lib/progress-bar/progress-bar.types.mjs +19 -0
  117. package/esm2022/lib/progress-circle/progress-circle.component.mjs +94 -0
  118. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +14 -0
  119. package/esm2022/lib/progress-circle/progress-circle.module.mjs +19 -0
  120. package/esm2022/lib/progress-circle/progress-circle.types.mjs +10 -0
  121. package/esm2022/lib/radio/radio/radio.component.mjs +53 -0
  122. package/esm2022/lib/radio/radio-group.component.mjs +207 -0
  123. package/esm2022/lib/radio/radio.module.mjs +19 -0
  124. package/esm2022/lib/search-functions.mjs +64 -0
  125. package/esm2022/lib/segment/segment.component.mjs +168 -0
  126. package/esm2022/lib/segment/segment.directives.mjs +14 -0
  127. package/esm2022/lib/segment/segment.module.mjs +19 -0
  128. package/esm2022/lib/segment/segment.types.mjs +12 -0
  129. package/esm2022/lib/select/select.component.mjs +1160 -0
  130. package/esm2022/lib/select/select.directive.mjs +171 -0
  131. package/esm2022/lib/select/select.module.mjs +112 -0
  132. package/esm2022/lib/select/select.types.mjs +2 -0
  133. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +46 -0
  134. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +18 -0
  135. package/esm2022/lib/slider/abstract-slider.mjs +330 -0
  136. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +143 -0
  137. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +18 -0
  138. package/esm2022/lib/slider/slider.component.mjs +93 -0
  139. package/esm2022/lib/slider/slider.directive.mjs +16 -0
  140. package/esm2022/lib/slider/slider.module.mjs +20 -0
  141. package/esm2022/lib/slider/slider.types.mjs +10 -0
  142. package/esm2022/lib/snackbar/index.mjs +5 -0
  143. package/esm2022/lib/snackbar/snackbar-ref.mjs +51 -0
  144. package/esm2022/lib/snackbar/snackbar.component.mjs +48 -0
  145. package/esm2022/lib/snackbar/snackbar.service.mjs +227 -0
  146. package/esm2022/lib/snackbar/snackbar.token.mjs +20 -0
  147. package/esm2022/lib/snackbar/snackbar.types.mjs +25 -0
  148. package/esm2022/lib/spinner/spinner.component.mjs +22 -0
  149. package/esm2022/lib/spinner/spinner.module.mjs +18 -0
  150. package/esm2022/lib/star/star-button/star-button.component.mjs +53 -0
  151. package/esm2022/lib/star/star-button/star-button.module.mjs +19 -0
  152. package/esm2022/lib/star/star-display/star-display.component.mjs +66 -0
  153. package/esm2022/lib/star/star-display/star-display.module.mjs +19 -0
  154. package/esm2022/lib/star/star-input/star-input.component.mjs +221 -0
  155. package/esm2022/lib/star/star-input/star-input.module.mjs +19 -0
  156. package/esm2022/lib/star/star.component.mjs +28 -0
  157. package/esm2022/lib/star/star.module.mjs +18 -0
  158. package/esm2022/lib/star/star.types.mjs +23 -0
  159. package/esm2022/lib/statebox/statebox.component.mjs +158 -0
  160. package/esm2022/lib/statebox/statebox.module.mjs +18 -0
  161. package/esm2022/lib/statebox/statebox.types.mjs +2 -0
  162. package/esm2022/lib/table/table-item-storage.mjs +560 -0
  163. package/esm2022/lib/table/table.component.mjs +468 -0
  164. package/esm2022/lib/table/table.directives.mjs +64 -0
  165. package/esm2022/lib/table/table.module.mjs +46 -0
  166. package/esm2022/lib/table/table.types.mjs +30 -0
  167. package/esm2022/lib/table/utils.mjs +18 -0
  168. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +64 -0
  169. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +19 -0
  170. package/esm2022/lib/table-pagination/table-pagination.component.mjs +172 -0
  171. package/esm2022/lib/table-pagination/table-pagination.module.mjs +21 -0
  172. package/esm2022/lib/table-pagination/table-pagination.types.mjs +7 -0
  173. package/esm2022/lib/types/alignment.types.mjs +10 -0
  174. package/esm2022/lib/types/colors.types.mjs +43 -0
  175. package/esm2022/lib/types/item-storage.types.mjs +6 -0
  176. package/esm2022/lib/types/theming.types.mjs +48 -0
  177. package/esm2022/lib/types/utility.types.mjs +5 -0
  178. package/esm2022/public-api.mjs +194 -0
  179. package/fesm2022/ardium-ui-ui.mjs +14316 -0
  180. package/fesm2022/ardium-ui-ui.mjs.map +1 -0
  181. package/index.d.ts +5 -0
  182. package/lib/_internal/boolean-component.d.ts +50 -0
  183. package/lib/_internal/clear-button/clear-button.component.d.ts +6 -0
  184. package/lib/_internal/clear-button/clear-button.module.d.ts +8 -0
  185. package/lib/_internal/disablable-component.d.ts +11 -0
  186. package/lib/_internal/focusable-component.d.ts +52 -0
  187. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +87 -0
  188. package/lib/_internal/item-storages/simple-item-storage.d.ts +159 -0
  189. package/lib/_internal/item-storages/simplest-item-storage.d.ts +70 -0
  190. package/lib/_internal/models/pagination.model.d.ts +53 -0
  191. package/lib/_internal/ngmodel-component.d.ts +42 -0
  192. package/lib/_internal/queue.d.ts +21 -0
  193. package/lib/_internal/selectable-list-component.d.ts +71 -0
  194. package/lib/badge/badge.directive.d.ts +31 -0
  195. package/lib/badge/badge.module.d.ts +8 -0
  196. package/lib/badge/badge.types.d.ts +17 -0
  197. package/lib/buttons/_button-base.d.ts +18 -0
  198. package/lib/buttons/button/button.component.d.ts +15 -0
  199. package/lib/buttons/button/button.module.d.ts +8 -0
  200. package/lib/buttons/fab/fab.component.d.ts +12 -0
  201. package/lib/buttons/fab/fab.module.d.ts +8 -0
  202. package/lib/buttons/general-button.types.d.ts +57 -0
  203. package/lib/buttons/icon-button/icon-button.component.d.ts +13 -0
  204. package/lib/buttons/icon-button/icon-button.module.d.ts +8 -0
  205. package/lib/calendar/calendar.component.d.ts +155 -0
  206. package/lib/calendar/calendar.directives.d.ts +51 -0
  207. package/lib/calendar/calendar.helpers.d.ts +15 -0
  208. package/lib/calendar/calendar.module.d.ts +11 -0
  209. package/lib/calendar/calendar.types.d.ts +80 -0
  210. package/lib/card/card.children.d.ts +43 -0
  211. package/lib/card/card.component.d.ts +13 -0
  212. package/lib/card/card.module.d.ts +9 -0
  213. package/lib/card/card.types.d.ts +10 -0
  214. package/lib/checkbox/checkbox.component.d.ts +21 -0
  215. package/lib/checkbox/checkbox.module.d.ts +8 -0
  216. package/lib/checkbox/checkbox.types.d.ts +6 -0
  217. package/lib/checkbox-list/checkbox-list.component.d.ts +50 -0
  218. package/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
  219. package/lib/checkbox-list/checkbox-list.types.d.ts +7 -0
  220. package/lib/chip/chip.component.d.ts +18 -0
  221. package/lib/chip/chip.module.d.ts +11 -0
  222. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +24 -0
  223. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +24 -0
  224. package/lib/color/color-display/color-display.component.d.ts +17 -0
  225. package/lib/color/color-display/color-display.module.d.ts +8 -0
  226. package/lib/color/color-display/color-display.types.d.ts +9 -0
  227. package/lib/color/color-picker/color-picker.component.d.ts +125 -0
  228. package/lib/color/color-picker/color-picker.directives.d.ts +27 -0
  229. package/lib/color/color-picker/color-picker.module.d.ts +13 -0
  230. package/lib/color/color-picker/color-picker.types.d.ts +21 -0
  231. package/lib/dialog/dialog.component.d.ts +44 -0
  232. package/lib/dialog/dialog.directives.d.ts +9 -0
  233. package/lib/dialog/dialog.module.d.ts +11 -0
  234. package/lib/dialog/dialog.types.d.ts +28 -0
  235. package/lib/divider/divider.component.d.ts +8 -0
  236. package/lib/divider/divider.module.d.ts +8 -0
  237. package/lib/dropdown-panel/dropdown-panel.component.d.ts +37 -0
  238. package/lib/dropdown-panel/dropdown-panel.module.d.ts +8 -0
  239. package/lib/dropdown-panel/dropdown-panel.types.d.ts +12 -0
  240. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +22 -0
  241. package/lib/file-inputs/file-drop-area/file-drop-area.directives.d.ts +21 -0
  242. package/lib/file-inputs/file-drop-area/file-drop-area.module.d.ts +12 -0
  243. package/lib/file-inputs/file-input/file-input.component.d.ts +41 -0
  244. package/lib/file-inputs/file-input/file-input.directives.d.ts +39 -0
  245. package/lib/file-inputs/file-input/file-input.module.d.ts +11 -0
  246. package/lib/file-inputs/file-input-base.d.ts +43 -0
  247. package/lib/file-inputs/file-input-types.d.ts +10 -0
  248. package/lib/form-field-frame/form-field-frame.component.d.ts +32 -0
  249. package/lib/form-field-frame/form-field-frame.directives.d.ts +14 -0
  250. package/lib/form-field-frame/form-field-frame.module.d.ts +9 -0
  251. package/lib/icon/icon.component.d.ts +32 -0
  252. package/lib/icon/icon.module.d.ts +9 -0
  253. package/lib/icon/icon.pipe.d.ts +7 -0
  254. package/lib/inputs/color-input/color-input.component.d.ts +147 -0
  255. package/lib/inputs/color-input/color-input.directives.d.ts +52 -0
  256. package/lib/inputs/color-input/color-input.module.d.ts +16 -0
  257. package/lib/inputs/color-input/color-input.types.d.ts +5 -0
  258. package/lib/inputs/digit-input/digit-input.component.d.ts +50 -0
  259. package/lib/inputs/digit-input/digit-input.model.d.ts +26 -0
  260. package/lib/inputs/digit-input/digit-input.module.d.ts +8 -0
  261. package/lib/inputs/digit-input/digit-input.types.d.ts +27 -0
  262. package/lib/inputs/digit-input/digit-input.utils.d.ts +17 -0
  263. package/lib/inputs/hex-input/hex-input.component.d.ts +60 -0
  264. package/lib/inputs/hex-input/hex-input.directives.d.ts +20 -0
  265. package/lib/inputs/hex-input/hex-input.module.d.ts +11 -0
  266. package/lib/inputs/hex-input.model.d.ts +27 -0
  267. package/lib/inputs/input/input.component.d.ts +79 -0
  268. package/lib/inputs/input/input.directives.d.ts +33 -0
  269. package/lib/inputs/input/input.module.d.ts +13 -0
  270. package/lib/inputs/input-transformers.d.ts +24 -0
  271. package/lib/inputs/input-types.d.ts +6 -0
  272. package/lib/inputs/input-utils.d.ts +58 -0
  273. package/lib/inputs/number-input/number-input.component.d.ts +70 -0
  274. package/lib/inputs/number-input/number-input.directives.d.ts +8 -0
  275. package/lib/inputs/number-input/number-input.module.d.ts +11 -0
  276. package/lib/inputs/password-input/password-input.component.d.ts +54 -0
  277. package/lib/inputs/password-input/password-input.directives.d.ts +27 -0
  278. package/lib/inputs/password-input/password-input.module.d.ts +11 -0
  279. package/lib/inputs/password-input/password-input.types.d.ts +3 -0
  280. package/lib/inputs/simple-input/simple-input.component.d.ts +58 -0
  281. package/lib/inputs/simple-input/simple-input.directives.d.ts +20 -0
  282. package/lib/inputs/simple-input/simple-input.module.d.ts +11 -0
  283. package/lib/kbd/kbd.component.d.ts +15 -0
  284. package/lib/kbd/kbd.module.d.ts +9 -0
  285. package/lib/kbd/kbd.pipe.d.ts +7 -0
  286. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +18 -0
  287. package/lib/kbd-shortcut/kbd-shortcut.module.d.ts +9 -0
  288. package/lib/modal/modal.component.d.ts +36 -0
  289. package/lib/modal/modal.module.d.ts +11 -0
  290. package/lib/option/option.component.d.ts +29 -0
  291. package/lib/option/option.module.d.ts +8 -0
  292. package/lib/progress-bar/progress-bar.component.d.ts +26 -0
  293. package/lib/progress-bar/progress-bar.directive.d.ts +9 -0
  294. package/lib/progress-bar/progress-bar.module.d.ts +9 -0
  295. package/lib/progress-bar/progress-bar.types.d.ts +26 -0
  296. package/lib/progress-circle/progress-circle.component.d.ts +28 -0
  297. package/lib/progress-circle/progress-circle.directive.d.ts +9 -0
  298. package/lib/progress-circle/progress-circle.module.d.ts +9 -0
  299. package/lib/progress-circle/progress-circle.types.d.ts +17 -0
  300. package/lib/radio/radio/radio.component.d.ts +23 -0
  301. package/lib/radio/radio-group.component.d.ts +43 -0
  302. package/lib/radio/radio.module.d.ts +9 -0
  303. package/lib/search-functions.d.ts +10 -0
  304. package/lib/segment/segment.component.d.ts +48 -0
  305. package/lib/segment/segment.directives.d.ts +9 -0
  306. package/lib/segment/segment.module.d.ts +9 -0
  307. package/lib/segment/segment.types.d.ts +16 -0
  308. package/lib/select/select.component.d.ts +255 -0
  309. package/lib/select/select.directive.d.ts +94 -0
  310. package/lib/select/select.module.d.ts +14 -0
  311. package/lib/select/select.types.d.ts +109 -0
  312. package/lib/slide-toggle/slide-toggle.component.d.ts +14 -0
  313. package/lib/slide-toggle/slide-toggle.module.d.ts +8 -0
  314. package/lib/slider/abstract-slider.d.ts +88 -0
  315. package/lib/slider/range-slider/range-slider.component.d.ts +29 -0
  316. package/lib/slider/range-slider/range-slider.module.d.ts +8 -0
  317. package/lib/slider/slider.component.d.ts +18 -0
  318. package/lib/slider/slider.directive.d.ts +9 -0
  319. package/lib/slider/slider.module.d.ts +10 -0
  320. package/lib/slider/slider.types.d.ts +28 -0
  321. package/lib/snackbar/index.d.ts +4 -0
  322. package/lib/snackbar/snackbar-ref.d.ts +37 -0
  323. package/lib/snackbar/snackbar.component.d.ts +16 -0
  324. package/lib/snackbar/snackbar.service.d.ts +31 -0
  325. package/lib/snackbar/snackbar.token.d.ts +5 -0
  326. package/lib/snackbar/snackbar.types.d.ts +48 -0
  327. package/lib/spinner/spinner.component.d.ts +8 -0
  328. package/lib/spinner/spinner.module.d.ts +8 -0
  329. package/lib/star/star-button/star-button.component.d.ts +16 -0
  330. package/lib/star/star-button/star-button.module.d.ts +9 -0
  331. package/lib/star/star-display/star-display.component.d.ts +16 -0
  332. package/lib/star/star-display/star-display.module.d.ts +9 -0
  333. package/lib/star/star-input/star-input.component.d.ts +51 -0
  334. package/lib/star/star-input/star-input.module.d.ts +9 -0
  335. package/lib/star/star.component.d.ts +10 -0
  336. package/lib/star/star.module.d.ts +8 -0
  337. package/lib/star/star.types.d.ts +30 -0
  338. package/lib/statebox/statebox.component.d.ts +31 -0
  339. package/lib/statebox/statebox.module.d.ts +8 -0
  340. package/lib/statebox/statebox.types.d.ts +22 -0
  341. package/lib/table/table-item-storage.d.ts +266 -0
  342. package/lib/table/table.component.d.ts +127 -0
  343. package/lib/table/table.directives.d.ts +35 -0
  344. package/lib/table/table.module.d.ts +12 -0
  345. package/lib/table/table.types.d.ts +83 -0
  346. package/lib/table/utils.d.ts +4 -0
  347. package/lib/table-from-csv/table-from-csv.component.d.ts +16 -0
  348. package/lib/table-from-csv/table-from-csv.module.d.ts +9 -0
  349. package/lib/table-pagination/table-pagination.component.d.ts +48 -0
  350. package/lib/table-pagination/table-pagination.module.d.ts +11 -0
  351. package/lib/table-pagination/table-pagination.types.d.ts +9 -0
  352. package/lib/types/alignment.types.d.ts +11 -0
  353. package/lib/types/colors.types.d.ts +71 -0
  354. package/lib/types/item-storage.types.d.ts +98 -0
  355. package/lib/types/theming.types.d.ts +61 -0
  356. package/lib/types/utility.types.d.ts +11 -0
  357. package/package.json +36 -0
  358. package/prebuilt-themes/default/badge.css +208 -0
  359. package/prebuilt-themes/default/badge.css.map +1 -0
  360. package/prebuilt-themes/default/buttons/button.css +290 -0
  361. package/prebuilt-themes/default/buttons/button.css.map +1 -0
  362. package/prebuilt-themes/default/buttons/fab.css +307 -0
  363. package/prebuilt-themes/default/buttons/fab.css.map +1 -0
  364. package/prebuilt-themes/default/buttons/icon-button.css +288 -0
  365. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -0
  366. package/prebuilt-themes/default/calendar.css +293 -0
  367. package/prebuilt-themes/default/calendar.css.map +1 -0
  368. package/prebuilt-themes/default/card.css +122 -0
  369. package/prebuilt-themes/default/card.css.map +1 -0
  370. package/prebuilt-themes/default/checkbox-list.css +65 -0
  371. package/prebuilt-themes/default/checkbox-list.css.map +1 -0
  372. package/prebuilt-themes/default/checkbox.css +365 -0
  373. package/prebuilt-themes/default/checkbox.css.map +1 -0
  374. package/prebuilt-themes/default/chips.css +367 -0
  375. package/prebuilt-themes/default/chips.css.map +1 -0
  376. package/prebuilt-themes/default/color-display.css +29 -0
  377. package/prebuilt-themes/default/color-display.css.map +1 -0
  378. package/prebuilt-themes/default/color-picker.css +106 -0
  379. package/prebuilt-themes/default/color-picker.css.map +1 -0
  380. package/prebuilt-themes/default/core.css +84 -0
  381. package/prebuilt-themes/default/core.css.map +1 -0
  382. package/prebuilt-themes/default/dialog.css +18 -0
  383. package/prebuilt-themes/default/dialog.css.map +1 -0
  384. package/prebuilt-themes/default/divider.css +11 -0
  385. package/prebuilt-themes/default/divider.css.map +1 -0
  386. package/prebuilt-themes/default/dropdown-panel.css +37 -0
  387. package/prebuilt-themes/default/dropdown-panel.css.map +1 -0
  388. package/prebuilt-themes/default/file-drop-area.css +279 -0
  389. package/prebuilt-themes/default/file-drop-area.css.map +1 -0
  390. package/prebuilt-themes/default/form-field-frame.css +84 -0
  391. package/prebuilt-themes/default/form-field-frame.css.map +1 -0
  392. package/prebuilt-themes/default/inputs/color-input.css +139 -0
  393. package/prebuilt-themes/default/inputs/color-input.css.map +1 -0
  394. package/prebuilt-themes/default/inputs/digit-input.css +45 -0
  395. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -0
  396. package/prebuilt-themes/default/inputs/file-input.css +169 -0
  397. package/prebuilt-themes/default/inputs/file-input.css.map +1 -0
  398. package/prebuilt-themes/default/inputs/hex-input.css +119 -0
  399. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -0
  400. package/prebuilt-themes/default/inputs/input.css +139 -0
  401. package/prebuilt-themes/default/inputs/input.css.map +1 -0
  402. package/prebuilt-themes/default/inputs/number-input.css +150 -0
  403. package/prebuilt-themes/default/inputs/number-input.css.map +1 -0
  404. package/prebuilt-themes/default/inputs/password-input.css +73 -0
  405. package/prebuilt-themes/default/inputs/password-input.css.map +1 -0
  406. package/prebuilt-themes/default/inputs/search-bar.css +114 -0
  407. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -0
  408. package/prebuilt-themes/default/inputs/simple-input.css +114 -0
  409. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -0
  410. package/prebuilt-themes/default/kbd-shortcut.css +12 -0
  411. package/prebuilt-themes/default/kbd-shortcut.css.map +1 -0
  412. package/prebuilt-themes/default/kbd.css +17 -0
  413. package/prebuilt-themes/default/kbd.css.map +1 -0
  414. package/prebuilt-themes/default/modal.css +73 -0
  415. package/prebuilt-themes/default/modal.css.map +1 -0
  416. package/prebuilt-themes/default/progress-bar.css +267 -0
  417. package/prebuilt-themes/default/progress-bar.css.map +1 -0
  418. package/prebuilt-themes/default/progress-circle.css +167 -0
  419. package/prebuilt-themes/default/progress-circle.css.map +1 -0
  420. package/prebuilt-themes/default/radio.css +226 -0
  421. package/prebuilt-themes/default/radio.css.map +1 -0
  422. package/prebuilt-themes/default/segment.css +391 -0
  423. package/prebuilt-themes/default/segment.css.map +1 -0
  424. package/prebuilt-themes/default/select.css +275 -0
  425. package/prebuilt-themes/default/select.css.map +1 -0
  426. package/prebuilt-themes/default/slide-toggle.css +264 -0
  427. package/prebuilt-themes/default/slide-toggle.css.map +1 -0
  428. package/prebuilt-themes/default/slider.css +354 -0
  429. package/prebuilt-themes/default/slider.css.map +1 -0
  430. package/prebuilt-themes/default/snackbar.css +183 -0
  431. package/prebuilt-themes/default/snackbar.css.map +1 -0
  432. package/prebuilt-themes/default/spinner.css +151 -0
  433. package/prebuilt-themes/default/spinner.css.map +1 -0
  434. package/prebuilt-themes/default/stars.css +291 -0
  435. package/prebuilt-themes/default/stars.css.map +1 -0
  436. package/prebuilt-themes/default/statebox.css +235 -0
  437. package/prebuilt-themes/default/statebox.css.map +1 -0
  438. package/prebuilt-themes/default/table-pagination.css +48 -0
  439. package/prebuilt-themes/default/table-pagination.css.map +1 -0
  440. package/prebuilt-themes/default/table.css +418 -0
  441. package/prebuilt-themes/default/table.css.map +1 -0
  442. package/public-api.d.ts +145 -0
  443. package/themes/_variables.scss +121 -0
  444. package/themes/default/_clear-button.scss +73 -0
  445. package/themes/default/_coloring.scss +137 -0
  446. package/themes/default/_dropdown-arrow.scss +12 -0
  447. package/themes/default/_mixins.scss +70 -0
  448. package/themes/default/badge.scss +94 -0
  449. package/themes/default/buttons/_button-mixins.scss +144 -0
  450. package/themes/default/buttons/button.scss +62 -0
  451. package/themes/default/buttons/fab.scss +72 -0
  452. package/themes/default/buttons/icon-button.scss +59 -0
  453. package/themes/default/calendar.scss +182 -0
  454. package/themes/default/card.scss +126 -0
  455. package/themes/default/checkbox-list.scss +83 -0
  456. package/themes/default/checkbox.scss +109 -0
  457. package/themes/default/chips.scss +206 -0
  458. package/themes/default/color-display.scss +41 -0
  459. package/themes/default/color-picker.scss +111 -0
  460. package/themes/default/core.scss +96 -0
  461. package/themes/default/dialog.scss +16 -0
  462. package/themes/default/divider.scss +13 -0
  463. package/themes/default/dropdown-panel.scss +45 -0
  464. package/themes/default/file-drop-area.scss +162 -0
  465. package/themes/default/form-field-frame.scss +78 -0
  466. package/themes/default/inputs/_shared.scss +46 -0
  467. package/themes/default/inputs/color-input.scss +46 -0
  468. package/themes/default/inputs/digit-input.scss +56 -0
  469. package/themes/default/inputs/file-input.scss +78 -0
  470. package/themes/default/inputs/hex-input.scss +27 -0
  471. package/themes/default/inputs/input.scss +52 -0
  472. package/themes/default/inputs/number-input.scss +121 -0
  473. package/themes/default/inputs/password-input.scss +43 -0
  474. package/themes/default/inputs/search-bar.scss +19 -0
  475. package/themes/default/inputs/simple-input.scss +19 -0
  476. package/themes/default/kbd-shortcut.scss +13 -0
  477. package/themes/default/kbd.scss +20 -0
  478. package/themes/default/modal.scss +93 -0
  479. package/themes/default/progress-bar.scss +166 -0
  480. package/themes/default/progress-circle.scss +56 -0
  481. package/themes/default/radio.scss +112 -0
  482. package/themes/default/segment.scss +339 -0
  483. package/themes/default/select.scss +253 -0
  484. package/themes/default/slide-toggle.scss +151 -0
  485. package/themes/default/slider.scss +224 -0
  486. package/themes/default/snackbar.scss +60 -0
  487. package/themes/default/spinner.scss +21 -0
  488. package/themes/default/stars.scss +122 -0
  489. package/themes/default/statebox.scss +109 -0
  490. package/themes/default/table-pagination.scss +56 -0
  491. package/themes/default/table.scss +403 -0
@@ -0,0 +1,25 @@
1
+ export const ArdSnackbarAlignment = {
2
+ TopLeft: 'top-left',
3
+ TopCenter: 'top-center',
4
+ TopRight: 'top-right',
5
+ BottomLeft: 'bottom-left',
6
+ BottomCenter: 'bottom-center',
7
+ BottomRight: 'bottom-right',
8
+ };
9
+ export const ArdSnackbarOriginRelation = {
10
+ Inside: 'inside',
11
+ Outside: 'outside',
12
+ };
13
+ export const ArdSnackbarQueueHandling = {
14
+ Default: 'default',
15
+ Skip: 'skip',
16
+ Overwrite: 'overwrite',
17
+ };
18
+ export const ArdSnackbarType = {
19
+ None: 'none',
20
+ Danger: 'danger',
21
+ Warning: 'warn',
22
+ Success: 'success',
23
+ Info: 'info',
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NuYWNrYmFyL3NuYWNrYmFyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFdBQVcsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFHWCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztDQUNaLENBQUM7QUFHWCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0NBQ2hCLENBQUM7QUFLWCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsTUFBTTtJQUNmLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxNQUFNO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQXJkU25hY2tiYXJBbGlnbm1lbnQgPSB7XG4gICAgVG9wTGVmdDogJ3RvcC1sZWZ0JyxcbiAgICBUb3BDZW50ZXI6ICd0b3AtY2VudGVyJyxcbiAgICBUb3BSaWdodDogJ3RvcC1yaWdodCcsXG4gICAgQm90dG9tTGVmdDogJ2JvdHRvbS1sZWZ0JyxcbiAgICBCb3R0b21DZW50ZXI6ICdib3R0b20tY2VudGVyJyxcbiAgICBCb3R0b21SaWdodDogJ2JvdHRvbS1yaWdodCcsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQXJkU25hY2tiYXJBbGlnbm1lbnQgPSAodHlwZW9mIEFyZFNuYWNrYmFyQWxpZ25tZW50KVtrZXlvZiB0eXBlb2YgQXJkU25hY2tiYXJBbGlnbm1lbnRdO1xuXG5leHBvcnQgY29uc3QgQXJkU25hY2tiYXJPcmlnaW5SZWxhdGlvbiA9IHtcbiAgICBJbnNpZGU6ICdpbnNpZGUnLFxuICAgIE91dHNpZGU6ICdvdXRzaWRlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBBcmRTbmFja2Jhck9yaWdpblJlbGF0aW9uID0gKHR5cGVvZiBBcmRTbmFja2Jhck9yaWdpblJlbGF0aW9uKVtrZXlvZiB0eXBlb2YgQXJkU25hY2tiYXJPcmlnaW5SZWxhdGlvbl07XG5cbmV4cG9ydCBjb25zdCBBcmRTbmFja2JhclF1ZXVlSGFuZGxpbmcgPSB7XG4gICAgRGVmYXVsdDogJ2RlZmF1bHQnLFxuICAgIFNraXA6ICdza2lwJyxcbiAgICBPdmVyd3JpdGU6ICdvdmVyd3JpdGUnLFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEFyZFNuYWNrYmFyUXVldWVIYW5kbGluZyA9ICh0eXBlb2YgQXJkU25hY2tiYXJRdWV1ZUhhbmRsaW5nKVtrZXlvZiB0eXBlb2YgQXJkU25hY2tiYXJRdWV1ZUhhbmRsaW5nXTtcblxuZXhwb3J0IHR5cGUgQXJkU25hY2tiYXJPcmlnaW48VCA9IGFueT4gPSBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8VD47XG5cbmV4cG9ydCBjb25zdCBBcmRTbmFja2JhclR5cGUgPSB7XG4gICAgTm9uZTogJ25vbmUnLFxuICAgIERhbmdlcjogJ2RhbmdlcicsXG4gICAgV2FybmluZzogJ3dhcm4nLFxuICAgIFN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICBJbmZvOiAnaW5mbycsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQXJkU25hY2tiYXJUeXBlID0gKHR5cGVvZiBBcmRTbmFja2JhclR5cGUpW2tleW9mIHR5cGVvZiBBcmRTbmFja2JhclR5cGVdO1xuXG5leHBvcnQgdHlwZSBBcmRTbmFja2JhckRhdGEgPSB7IG1lc3NhZ2U6IHN0cmluZzsgYWN0aW9uPzogc3RyaW5nIH07XG5cbmV4cG9ydCB0eXBlIEFyZFNuYWNrYmFyT3B0aW9ucyA9IHtcbiAgICBkYXRhPzogQXJkU25hY2tiYXJEYXRhO1xuICAgIHBsYWNlbWVudD86IHtcbiAgICAgICAgYWxpZ24/OiBBcmRTbmFja2JhckFsaWdubWVudDtcbiAgICAgICAgb3JpZ2luPzogQXJkU25hY2tiYXJPcmlnaW47XG4gICAgICAgIG9yaWdpblJlbGF0aW9uPzogQXJkU25hY2tiYXJPcmlnaW5SZWxhdGlvbjtcbiAgICB9O1xuICAgIGR1cmF0aW9uPzogbnVtYmVyO1xuICAgIGNvbG9yPzogQ29tcG9uZW50Q29sb3I7XG4gICAgdHlwZT86IEFyZFNuYWNrYmFyVHlwZTtcbiAgICBxdWV1ZUhhbmRsaW5nPzogQXJkU25hY2tiYXJRdWV1ZUhhbmRsaW5nO1xuICAgIHBhbmVsQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn07XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { SimpleComponentColor } from '../types/colors.types';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ArdiumSpinnerComponent {
6
+ constructor() {
7
+ //! appearance
8
+ this.color = SimpleComponentColor.Primary;
9
+ }
10
+ get ngClasses() {
11
+ return [`ard-color-${this.color}`].join(' ');
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumSpinnerComponent, selector: "ard-spinner", inputs: { color: "color" }, ngImport: i0, template: "<svg class=\"ard-spinner\" [ngClass]=\"ngClasses\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle class=\"ard-spinner-circle\" cx=\"50\" cy=\"50\" r=\"20\"></circle>\r\n</svg>", styles: [".ard-spinner{animation:rotator var(--ard-_spinner-duration) linear infinite}@keyframes rotator{to{transform:rotate(360deg)}}.ard-spinner-circle{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash var(--ard-_spinner-duration) ease-in-out infinite 0s;stroke-linecap:round;fill:none;stroke-width:3}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:75,200;stroke-dashoffset:-35}to{stroke-dasharray:75,200;stroke-dashoffset:-124}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'ard-spinner', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg class=\"ard-spinner\" [ngClass]=\"ngClasses\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle class=\"ard-spinner-circle\" cx=\"50\" cy=\"50\" r=\"20\"></circle>\r\n</svg>", styles: [".ard-spinner{animation:rotator var(--ard-_spinner-duration) linear infinite}@keyframes rotator{to{transform:rotate(360deg)}}.ard-spinner-circle{stroke-dasharray:1,200;stroke-dashoffset:0;animation:dash var(--ard-_spinner-duration) ease-in-out infinite 0s;stroke-linecap:round;fill:none;stroke-width:3}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:75,200;stroke-dashoffset:-35}to{stroke-dasharray:75,200;stroke-dashoffset:-124}}\n"] }]
19
+ }], propDecorators: { color: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBUzdELE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRSSxjQUFjO1FBQ0wsVUFBSyxHQUF5QixvQkFBb0IsQ0FBQyxPQUFPLENBQUM7S0FLdkU7SUFIRyxJQUFJLFNBQVM7UUFDVCxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FOUSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrRUNWbkMsK01BRU07OzJGRFFPLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2ltcGxlQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FyZC1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVNwaW5uZXJDb21wb25lbnQge1xuICAgIC8vISBhcHBlYXJhbmNlXG4gICAgQElucHV0KCkgY29sb3I6IFNpbXBsZUNvbXBvbmVudENvbG9yID0gU2ltcGxlQ29tcG9uZW50Q29sb3IuUHJpbWFyeTtcblxuICAgIGdldCBuZ0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcn1gXS5qb2luKCcgJyk7XG4gICAgfVxufVxuIiwiPHN2ZyBjbGFzcz1cImFyZC1zcGlubmVyXCIgW25nQ2xhc3NdPVwibmdDbGFzc2VzXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgPGNpcmNsZSBjbGFzcz1cImFyZC1zcGlubmVyLWNpcmNsZVwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCI+PC9jaXJjbGU+XHJcbjwvc3ZnPiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ArdiumSpinnerComponent } from './spinner.component';
4
+ import * as i0 from "@angular/core";
5
+ export class ArdiumSpinnerModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerModule, declarations: [ArdiumSpinnerComponent], imports: [CommonModule], exports: [ArdiumSpinnerComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumSpinnerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [ArdiumSpinnerComponent],
14
+ imports: [CommonModule],
15
+ exports: [ArdiumSpinnerComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTzdELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUpiLHNCQUFzQixhQUMzQixZQUFZLGFBQ1osc0JBQXNCOytHQUV2QixtQkFBbUIsWUFIbEIsWUFBWTs7MkZBR2IsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXJkaXVtU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vc3Bpbm5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FyZGl1bVNwaW5uZXJDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtBcmRpdW1TcGlubmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtU3Bpbm5lck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { ClickStrategy } from '../../types/utility.types';
4
+ import { _BooleanComponentBase } from '../../_internal/boolean-component';
5
+ import { StarColor } from '../star.types';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "../star.component";
9
+ export class ArdiumStarButtonComponent extends _BooleanComponentBase {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.wrapperClasses = '';
13
+ this.clickStrategy = ClickStrategy.Default;
14
+ //* appearance
15
+ this.color = StarColor.Star;
16
+ }
17
+ get ngClasses() {
18
+ return [`ard-color-${this.color}`].join(' ');
19
+ }
20
+ get starFillState() {
21
+ return this.selected ? 'filled' : 'none';
22
+ }
23
+ onClick() {
24
+ if (this.clickStrategy == 'none')
25
+ return;
26
+ this.toggleSelected();
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumStarButtonComponent, selector: "ard-star-button", inputs: { wrapperClasses: "wrapperClasses", clickStrategy: "clickStrategy", color: "color" }, providers: [
30
+ {
31
+ provide: NG_VALUE_ACCESSOR,
32
+ useExisting: forwardRef(() => ArdiumStarButtonComponent),
33
+ multi: true,
34
+ },
35
+ ], usesInheritance: true, ngImport: i0, template: "<button #focusableElement\r\n class=\"ard-star-button\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n (click)=\"onClick()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [tabindex]=\"tabIndex\"\r\n>\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-star [fill]=\"starFillState\" [color]=\"color\"></ard-star>\r\n</button>", styles: [".ard-star-button{border:none;background:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ArdiumStarComponent, selector: "ard-star", inputs: ["wrapperClasses", "fill", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'ard-star-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
40
+ {
41
+ provide: NG_VALUE_ACCESSOR,
42
+ useExisting: forwardRef(() => ArdiumStarButtonComponent),
43
+ multi: true,
44
+ },
45
+ ], template: "<button #focusableElement\r\n class=\"ard-star-button\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n (click)=\"onClick()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [tabindex]=\"tabIndex\"\r\n>\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-star [fill]=\"starFillState\" [color]=\"color\"></ard-star>\r\n</button>", styles: [".ard-star-button{border:none;background:transparent}\n"] }]
46
+ }], propDecorators: { wrapperClasses: [{
47
+ type: Input
48
+ }], clickStrategy: [{
49
+ type: Input
50
+ }], color: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zdGFyL3N0YXItYnV0dG9uL3N0YXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc3Rhci9zdGFyLWJ1dHRvbi9zdGFyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBaUIxQyxNQUFNLE9BQU8seUJBQTBCLFNBQVEscUJBQXFCO0lBZHBFOztRQWVhLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFFOUQsY0FBYztRQUNMLFVBQUssR0FBYyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBYzlDO0lBWkcsSUFBSSxTQUFTO1FBQ1QsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLE1BQU07WUFBRSxPQUFPO1FBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQWxCUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix3SUFSdkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osaURDbkJMLDhhQVlTOzsyRkRTSSx5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0ksaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQUdRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsaWNrU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcbmltcG9ydCB7IF9Cb29sZWFuQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGFyQ29sb3IgfSBmcm9tICcuLi9zdGFyLnR5cGVzJztcbmltcG9ydCB7IFN0YXJGaWxsTW9kZSB9IGZyb20gJy4vLi4vc3Rhci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXJkLXN0YXItYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1TdGFyQnV0dG9uQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVN0YXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgd3JhcHBlckNsYXNzZXM6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGNsaWNrU3RyYXRlZ3k6IENsaWNrU3RyYXRlZ3kgPSBDbGlja1N0cmF0ZWd5LkRlZmF1bHQ7XG5cbiAgICAvLyogYXBwZWFyYW5jZVxuICAgIEBJbnB1dCgpIGNvbG9yOiBTdGFyQ29sb3IgPSBTdGFyQ29sb3IuU3RhcjtcblxuICAgIGdldCBuZ0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcn1gXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXJGaWxsU3RhdGUoKTogU3RhckZpbGxNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPyAnZmlsbGVkJyA6ICdub25lJztcbiAgICB9XG5cbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGlja1N0cmF0ZWd5ID09ICdub25lJykgcmV0dXJuO1xuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkKCk7XG4gICAgfVxufVxuIiwiPGJ1dHRvbiAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgY2xhc3M9XCJhcmQtc3Rhci1idXR0b25cIlxyXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzXCJcclxuICAgIFtjbGFzc109XCJ3cmFwcGVyQ2xhc3Nlc1wiXHJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCJcclxuICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxyXG4gICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgPGFyZC1zdGFyIFtmaWxsXT1cInN0YXJGaWxsU3RhdGVcIiBbY29sb3JdPVwiY29sb3JcIj48L2FyZC1zdGFyPlxyXG48L2J1dHRvbj4iXX0=
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ArdiumStarButtonComponent } from './star-button.component';
4
+ import { ArdiumStarModule } from '../star.module';
5
+ import * as i0 from "@angular/core";
6
+ export class ArdiumStarButtonModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonModule, declarations: [ArdiumStarButtonComponent], imports: [CommonModule, ArdiumStarModule], exports: [ArdiumStarButtonComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonModule, imports: [CommonModule, ArdiumStarModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarButtonModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [ArdiumStarButtonComponent],
15
+ imports: [CommonModule, ArdiumStarModule],
16
+ exports: [ArdiumStarButtonComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1idXR0b24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zdGFyL3N0YXItYnV0dG9uL3N0YXItYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsaUJBSmhCLHlCQUF5QixhQUM5QixZQUFZLEVBQUUsZ0JBQWdCLGFBQzlCLHlCQUF5QjsrR0FFMUIsc0JBQXNCLFlBSHJCLFlBQVksRUFBRSxnQkFBZ0I7OzJGQUcvQixzQkFBc0I7a0JBTGxDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcmRpdW1TdGFyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdGFyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJkaXVtU3Rhck1vZHVsZSB9IGZyb20gJy4uL3N0YXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtBcmRpdW1TdGFyQnV0dG9uQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcmRpdW1TdGFyTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQXJkaXVtU3RhckJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVN0YXJCdXR0b25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { isArray } from 'simple-bool';
3
+ import { StarColor } from './../star.types';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../star.component";
7
+ export class ArdiumStarDisplayComponent {
8
+ constructor() {
9
+ this.wrapperClasses = '';
10
+ //* appearance
11
+ this.color = StarColor.Star;
12
+ //* stars
13
+ this.starArray = this.setStarArrayFromNumber(0);
14
+ this.max = 5;
15
+ this.value = 0;
16
+ }
17
+ get ngClasses() {
18
+ return [`ard-color-${this.color}`].join(' ');
19
+ }
20
+ setStarArrayFromArray(starArr) {
21
+ this.starArray = [...starArr];
22
+ while (this.starArray.length < this.max) {
23
+ this.starArray.push('none');
24
+ }
25
+ }
26
+ setStarArrayFromNumber(stars) {
27
+ this.starArray = [];
28
+ while (this.starArray.length < this.max) {
29
+ if (stars >= 1) {
30
+ this.starArray.push('filled');
31
+ }
32
+ else if (Math.round(stars) == 1) {
33
+ this.starArray.push('half');
34
+ }
35
+ else {
36
+ this.starArray.push('none');
37
+ }
38
+ stars--;
39
+ }
40
+ return this.starArray;
41
+ }
42
+ ngOnChanges(changes) {
43
+ if (changes['max'] || changes['value']) {
44
+ if (isArray(this.value)) {
45
+ this.setStarArrayFromArray(this.value);
46
+ }
47
+ else
48
+ this.setStarArrayFromNumber(this.value);
49
+ }
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumStarDisplayComponent, selector: "ard-star-display", inputs: { wrapperClasses: "wrapperClasses", color: "color", max: "max", value: "value" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"ard-star-display\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n>\r\n <ard-star\r\n *ngFor=\"let fillMode of starArray\"\r\n [fill]=\"fillMode\"\r\n [color]=\"color\"\r\n ></ard-star>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ArdiumStarComponent, selector: "ard-star", inputs: ["wrapperClasses", "fill", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'ard-star-display', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ard-star-display\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n>\r\n <ard-star\r\n *ngFor=\"let fillMode of starArray\"\r\n [fill]=\"fillMode\"\r\n [color]=\"color\"\r\n ></ard-star>\r\n</div>" }]
57
+ }], propDecorators: { wrapperClasses: [{
58
+ type: Input
59
+ }], color: [{
60
+ type: Input
61
+ }], max: [{
62
+ type: Input
63
+ }], value: [{
64
+ type: Input
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1kaXNwbGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc3Rhci9zdGFyLWRpc3BsYXkvc3Rhci1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc3Rhci9zdGFyLWRpc3BsYXkvc3Rhci1kaXNwbGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTMUQsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQVFhLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBRXJDLGNBQWM7UUFDTCxVQUFLLEdBQWMsU0FBUyxDQUFDLElBQUksQ0FBQztRQU0zQyxTQUFTO1FBQ1QsY0FBUyxHQUFtQixJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixVQUFLLEdBQTRCLENBQUMsQ0FBQztLQTZCL0M7SUFwQ0csSUFBSSxTQUFTO1FBQ1QsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFPRCxxQkFBcUIsQ0FBQyxPQUF1QjtRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBQ0Qsc0JBQXNCLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUM7O2dCQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDOzhHQXpDUSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1S0NYdkMsa1FBU007OzJGREVPLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsY0FBYztzQkFBdEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgU3RhckNvbG9yLCBTdGFyRmlsbE1vZGUgfSBmcm9tICcuLy4uL3N0YXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FyZC1zdGFyLWRpc3BsYXknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGFyLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXItZGlzcGxheS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVN0YXJEaXNwbGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSB3cmFwcGVyQ2xhc3Nlczogc3RyaW5nID0gJyc7XG5cbiAgICAvLyogYXBwZWFyYW5jZVxuICAgIEBJbnB1dCgpIGNvbG9yOiBTdGFyQ29sb3IgPSBTdGFyQ29sb3IuU3RhcjtcblxuICAgIGdldCBuZ0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcn1gXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgLy8qIHN0YXJzXG4gICAgc3RhckFycmF5OiBTdGFyRmlsbE1vZGVbXSA9IHRoaXMuc2V0U3RhckFycmF5RnJvbU51bWJlcigwKTtcbiAgICBASW5wdXQoKSBtYXg6IG51bWJlciA9IDU7XG4gICAgQElucHV0KCkgdmFsdWU6IG51bWJlciB8IFN0YXJGaWxsTW9kZVtdID0gMDtcblxuICAgIHNldFN0YXJBcnJheUZyb21BcnJheShzdGFyQXJyOiBTdGFyRmlsbE1vZGVbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXJBcnJheSA9IFsuLi5zdGFyQXJyXTtcbiAgICAgICAgd2hpbGUgKHRoaXMuc3RhckFycmF5Lmxlbmd0aCA8IHRoaXMubWF4KSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJBcnJheS5wdXNoKCdub25lJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0U3RhckFycmF5RnJvbU51bWJlcihzdGFyczogbnVtYmVyKTogU3RhckZpbGxNb2RlW10ge1xuICAgICAgICB0aGlzLnN0YXJBcnJheSA9IFtdO1xuICAgICAgICB3aGlsZSAodGhpcy5zdGFyQXJyYXkubGVuZ3RoIDwgdGhpcy5tYXgpIHtcbiAgICAgICAgICAgIGlmIChzdGFycyA+PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFyQXJyYXkucHVzaCgnZmlsbGVkJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKE1hdGgucm91bmQoc3RhcnMpID09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJBcnJheS5wdXNoKCdoYWxmJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhckFycmF5LnB1c2goJ25vbmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0YXJzLS07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhckFycmF5O1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydtYXgnXSB8fCBjaGFuZ2VzWyd2YWx1ZSddKSB7XG4gICAgICAgICAgICBpZiAoaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhckFycmF5RnJvbUFycmF5KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHRoaXMuc2V0U3RhckFycmF5RnJvbU51bWJlcih0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhcmQtc3Rhci1kaXNwbGF5XCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiXHJcbiAgICBbY2xhc3NdPVwid3JhcHBlckNsYXNzZXNcIlxyXG4+XHJcbiAgICA8YXJkLXN0YXJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZmlsbE1vZGUgb2Ygc3RhckFycmF5XCJcclxuICAgICAgICBbZmlsbF09XCJmaWxsTW9kZVwiXHJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgID48L2FyZC1zdGFyPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ArdiumStarDisplayComponent } from './star-display.component';
4
+ import { ArdiumStarModule } from '../star.module';
5
+ import * as i0 from "@angular/core";
6
+ export class ArdiumStarDisplayModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayModule, declarations: [ArdiumStarDisplayComponent], imports: [CommonModule, ArdiumStarModule], exports: [ArdiumStarDisplayComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayModule, imports: [CommonModule, ArdiumStarModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarDisplayModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [ArdiumStarDisplayComponent],
15
+ imports: [CommonModule, ArdiumStarModule],
16
+ exports: [ArdiumStarDisplayComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1kaXNwbGF5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc3Rhci9zdGFyLWRpc3BsYXkvc3Rhci1kaXNwbGF5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsaUJBSmpCLDBCQUEwQixhQUMvQixZQUFZLEVBQUUsZ0JBQWdCLGFBQzlCLDBCQUEwQjsrR0FFM0IsdUJBQXVCLFlBSHRCLFlBQVksRUFBRSxnQkFBZ0I7OzJGQUcvQix1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcmRpdW1TdGFyRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vc3Rhci1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcmRpdW1TdGFyTW9kdWxlIH0gZnJvbSAnLi4vc3Rhci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FyZGl1bVN0YXJEaXNwbGF5Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcmRpdW1TdGFyTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQXJkaXVtU3RhckRpc3BsYXlDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1TdGFyRGlzcGxheU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,221 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, HostListener, ViewEncapsulation, ViewChildren, forwardRef, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { _NgModelComponentBase } from './../../_internal/ngmodel-component';
4
+ import { StarColor } from './../star.types';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "../star-button/star-button.component";
8
+ export class ArdiumStarInputComponent extends _NgModelComponentBase {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.wrapperClasses = '';
12
+ //* appearance
13
+ this.color = StarColor.Star;
14
+ //* events
15
+ this.changeEvent = new EventEmitter();
16
+ this.highlightEvent = new EventEmitter();
17
+ this.value = 0;
18
+ this.valueChange = new EventEmitter();
19
+ //* stars
20
+ this.max = 5;
21
+ this.starArray = this.createFirstStarArray();
22
+ this._currentHoverIndex = null;
23
+ //* focus handlers
24
+ this._isFocusEventSuppressed = false;
25
+ this._isBlurEventSuppressed = false;
26
+ this._wasComponentBlurred = true;
27
+ this._currentFocusIndex = null;
28
+ }
29
+ get ngClasses() {
30
+ return [`ard-color-${this.color}`].join(' ');
31
+ }
32
+ setStarArrayFromNumber(targetIndex) {
33
+ targetIndex = Math.round(targetIndex);
34
+ this.starArray.forEach((v, i) => {
35
+ if (i < targetIndex) {
36
+ v.filled = true;
37
+ v.isInValue = true;
38
+ }
39
+ else if (i < this.value) {
40
+ v.filled = false;
41
+ v.isInValue = true;
42
+ }
43
+ else {
44
+ v.filled = false;
45
+ v.isInValue = false;
46
+ }
47
+ });
48
+ }
49
+ createFirstStarArray() {
50
+ let arr = new Array(this.max);
51
+ for (let i = 0; i < this.max; i++) {
52
+ arr[i] = { filled: false, isInValue: false };
53
+ }
54
+ return arr;
55
+ }
56
+ ngOnChanges(changes) {
57
+ if (changes['max']) {
58
+ this.starArray = this.createFirstStarArray();
59
+ }
60
+ if (changes['value']) {
61
+ this.setStarArrayFromNumber(this.value);
62
+ }
63
+ }
64
+ //* implement ControlValueAccessor's writeValue
65
+ writeValue(v) {
66
+ this.setStarArrayFromNumber(v);
67
+ }
68
+ onStarClick(index) {
69
+ this.value = index + 1;
70
+ this.setStarArrayFromNumber(this.value);
71
+ this._emitChange();
72
+ }
73
+ onStarHighlight(index) {
74
+ if (this._currentHoverIndex == index)
75
+ return;
76
+ this._currentHoverIndex = index;
77
+ this.setStarArrayFromNumber(index + 1);
78
+ this.highlightEvent.emit(index + 1);
79
+ }
80
+ setDisplayToValue() {
81
+ this._currentHoverIndex = null;
82
+ this.setStarArrayFromNumber(this.value);
83
+ }
84
+ _emitChange() {
85
+ this._onChangeRegistered?.(this.value);
86
+ this.changeEvent.emit(this.value);
87
+ this.valueChange.emit(this.value);
88
+ }
89
+ onStarButtonFocus(index) {
90
+ this._currentFocusIndex = index;
91
+ this._wasComponentBlurred = false;
92
+ if (this._isFocusEventSuppressed) {
93
+ this._isFocusEventSuppressed = false;
94
+ return;
95
+ }
96
+ this.focusEvent.emit();
97
+ }
98
+ onStarButtonBlur() {
99
+ this._currentFocusIndex = null;
100
+ if (this._isBlurEventSuppressed) {
101
+ this._isBlurEventSuppressed = false;
102
+ return;
103
+ }
104
+ this._wasComponentBlurred = true;
105
+ this.blurEvent.emit();
106
+ }
107
+ focusStarButtonByIndex(index) {
108
+ if (!this.starButtonInstances)
109
+ return;
110
+ this.starButtonInstances.get(index).focus();
111
+ }
112
+ focusNextStarButton(offset) {
113
+ if (!this.starButtonInstances || this._currentFocusIndex == null)
114
+ return;
115
+ let nextIndex = this._currentFocusIndex + offset;
116
+ nextIndex = Math.min(nextIndex, this.max - 1);
117
+ nextIndex = Math.max(nextIndex, 0);
118
+ this.focusStarButtonByIndex(nextIndex);
119
+ }
120
+ _suppressFocusEvents() {
121
+ this._isFocusEventSuppressed = true;
122
+ this._isBlurEventSuppressed = true;
123
+ }
124
+ focus() {
125
+ this.focusStarButtonByIndex(0);
126
+ }
127
+ blur() {
128
+ if (!this.starButtonInstances || this._currentFocusIndex == null)
129
+ return;
130
+ this.starButtonInstances.get(this._currentFocusIndex).blur();
131
+ }
132
+ //* key press handlers
133
+ onKeyPress(event) {
134
+ switch (event.code) {
135
+ case 'Tab': {
136
+ this._onTabPress(event);
137
+ return;
138
+ }
139
+ case 'ArrowRight': {
140
+ this._onArrowRightPress(event);
141
+ return;
142
+ }
143
+ case 'ArrowLeft': {
144
+ this._onArrowLeftPress(event);
145
+ return;
146
+ }
147
+ case 'Home': {
148
+ this._onHomePress(event);
149
+ return;
150
+ }
151
+ case 'End': {
152
+ this._onEndPress(event);
153
+ return;
154
+ }
155
+ }
156
+ }
157
+ _onArrowRightPress(event) {
158
+ event.preventDefault();
159
+ this._suppressFocusEvents();
160
+ this.focusNextStarButton(+1);
161
+ }
162
+ _onArrowLeftPress(event) {
163
+ event.preventDefault();
164
+ this._suppressFocusEvents();
165
+ this.focusNextStarButton(-1);
166
+ }
167
+ _onHomePress(event) {
168
+ event.preventDefault();
169
+ this._suppressFocusEvents();
170
+ this.focusStarButtonByIndex(0);
171
+ }
172
+ _onEndPress(event) {
173
+ event.preventDefault();
174
+ this._suppressFocusEvents();
175
+ this._onTabPress(event);
176
+ }
177
+ _onTabPress(event) {
178
+ this.focusStarButtonByIndex(this.max - 1);
179
+ }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
181
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumStarInputComponent, selector: "ard-star-input", inputs: { wrapperClasses: "wrapperClasses", color: "color", value: "value", max: "max" }, outputs: { changeEvent: "change", highlightEvent: "highlight", valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeyPress($event)" } }, providers: [
182
+ {
183
+ provide: NG_VALUE_ACCESSOR,
184
+ useExisting: forwardRef(() => ArdiumStarInputComponent),
185
+ multi: true,
186
+ },
187
+ ], viewQueries: [{ propertyName: "starButtonInstances", predicate: ["starButton"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ard-star-input\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n (mouseleave)=\"setDisplayToValue()\"\r\n>\r\n <ard-star-button\r\n *ngFor=\"let object of starArray; let index = index\"\r\n #starButton\r\n [class.ard-star-not-in-value]=\"!(object.isInValue)\"\r\n [color]=\"object.isInValue ? color : 'none'\"\r\n clickStrategy=\"none\"\r\n [selected]=\"object.filled\"\r\n (click)=\"onStarClick(index)\"\r\n (focus)=\"onStarButtonFocus(index)\"\r\n (blur)=\"onStarButtonBlur()\"\r\n (mouseenter)=\"onStarHighlight(index)\"\r\n [tabIndex]=\"tabIndex\"\r\n ></ard-star-button>\r\n</div>", styles: [".ard-star-input{width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ArdiumStarButtonComponent, selector: "ard-star-button", inputs: ["wrapperClasses", "clickStrategy", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputComponent, decorators: [{
190
+ type: Component,
191
+ args: [{ selector: 'ard-star-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
192
+ {
193
+ provide: NG_VALUE_ACCESSOR,
194
+ useExisting: forwardRef(() => ArdiumStarInputComponent),
195
+ multi: true,
196
+ },
197
+ ], template: "<div class=\"ard-star-input\"\r\n [ngClass]=\"ngClasses\"\r\n [class]=\"wrapperClasses\"\r\n (mouseleave)=\"setDisplayToValue()\"\r\n>\r\n <ard-star-button\r\n *ngFor=\"let object of starArray; let index = index\"\r\n #starButton\r\n [class.ard-star-not-in-value]=\"!(object.isInValue)\"\r\n [color]=\"object.isInValue ? color : 'none'\"\r\n clickStrategy=\"none\"\r\n [selected]=\"object.filled\"\r\n (click)=\"onStarClick(index)\"\r\n (focus)=\"onStarButtonFocus(index)\"\r\n (blur)=\"onStarButtonBlur()\"\r\n (mouseenter)=\"onStarHighlight(index)\"\r\n [tabIndex]=\"tabIndex\"\r\n ></ard-star-button>\r\n</div>", styles: [".ard-star-input{width:max-content}\n"] }]
198
+ }], propDecorators: { wrapperClasses: [{
199
+ type: Input
200
+ }], color: [{
201
+ type: Input
202
+ }], starButtonInstances: [{
203
+ type: ViewChildren,
204
+ args: ['starButton']
205
+ }], changeEvent: [{
206
+ type: Output,
207
+ args: ['change']
208
+ }], highlightEvent: [{
209
+ type: Output,
210
+ args: ['highlight']
211
+ }], value: [{
212
+ type: Input
213
+ }], valueChange: [{
214
+ type: Output
215
+ }], max: [{
216
+ type: Input
217
+ }], onKeyPress: [{
218
+ type: HostListener,
219
+ args: ['keydown', ['$event']]
220
+ }] } });
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N0YXIvc3Rhci1pbnB1dC9zdGFyLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc3Rhci9zdGFyLWlucHV0L3N0YXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxFQUNaLGlCQUFpQixFQUNqQixZQUFZLEVBR1osVUFBVSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFxQjVDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFkbkU7O1FBZWEsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFckMsY0FBYztRQUNMLFVBQUssR0FBYyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBUzNDLFVBQVU7UUFDUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXhELFVBQUssR0FBVyxDQUFDLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5ELFNBQVM7UUFDQSxRQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBc0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUF5Q25ELHVCQUFrQixHQUFrQixJQUFJLENBQUM7UUFpQmpE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QU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSiw0S0NyQ0wsbXNCQWtCTTs7MkZEcUJPLHdCQUF3QjtrQkFkcEMsU0FBUzsrQkFDSSxnQkFBZ0IsaUJBR1gsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBR1EsY0FBYztzQkFBdEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT04sbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLFlBQVk7Z0JBSVIsV0FBVztzQkFBNUIsTUFBTTt1QkFBQyxRQUFRO2dCQUNLLGNBQWM7c0JBQWxDLE1BQU07dUJBQUMsV0FBVztnQkFFVixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHRSxHQUFHO3NCQUFYLEtBQUs7Z0JBOEdOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBRdWVyeUxpc3QsXG4gICAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBcmRpdW1TdGFyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc3Rhci1idXR0b24vc3Rhci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vLi4vLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IFN0YXJDb2xvciB9IGZyb20gJy4vLi4vc3Rhci50eXBlcyc7XG5cbnR5cGUgU3RhcklucHV0T2JqZWN0ID0ge1xuICAgIGZpbGxlZDogYm9vbGVhbjtcbiAgICBpc0luVmFsdWU6IGJvb2xlYW47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FyZC1zdGFyLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3Rhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtU3RhcklucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVN0YXJJbnB1dENvbXBvbmVudCBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIHdyYXBwZXJDbGFzc2VzOiBzdHJpbmcgPSAnJztcblxuICAgIC8vKiBhcHBlYXJhbmNlXG4gICAgQElucHV0KCkgY29sb3I6IFN0YXJDb2xvciA9IFN0YXJDb2xvci5TdGFyO1xuXG4gICAgZ2V0IG5nQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yfWBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkcmVuKCdzdGFyQnV0dG9uJylcbiAgICBzdGFyQnV0dG9uSW5zdGFuY2VzITogUXVlcnlMaXN0PEFyZGl1bVN0YXJCdXR0b25Db21wb25lbnQ+O1xuXG4gICAgLy8qIGV2ZW50c1xuICAgIEBPdXRwdXQoJ2NoYW5nZScpIGNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgnaGlnaGxpZ2h0JykgaGlnaGxpZ2h0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgPSAwO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLy8qIHN0YXJzXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXIgPSA1O1xuICAgIHN0YXJBcnJheTogU3RhcklucHV0T2JqZWN0W10gPSB0aGlzLmNyZWF0ZUZpcnN0U3RhckFycmF5KCk7XG5cbiAgICBzZXRTdGFyQXJyYXlGcm9tTnVtYmVyKHRhcmdldEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGFyZ2V0SW5kZXggPSBNYXRoLnJvdW5kKHRhcmdldEluZGV4KTtcbiAgICAgICAgdGhpcy5zdGFyQXJyYXkuZm9yRWFjaCgodiwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKGkgPCB0YXJnZXRJbmRleCkge1xuICAgICAgICAgICAgICAgIHYuZmlsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB2LmlzSW5WYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGkgPCB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdi5maWxsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB2LmlzSW5WYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHYuZmlsbGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdi5pc0luVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNyZWF0ZUZpcnN0U3RhckFycmF5KCk6IFN0YXJJbnB1dE9iamVjdFtdIHtcbiAgICAgICAgbGV0IGFyciA9IG5ldyBBcnJheSh0aGlzLm1heCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5tYXg7IGkrKykge1xuICAgICAgICAgICAgYXJyW2ldID0geyBmaWxsZWQ6IGZhbHNlLCBpc0luVmFsdWU6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snbWF4J10pIHtcbiAgICAgICAgICAgIHRoaXMuc3RhckFycmF5ID0gdGhpcy5jcmVhdGVGaXJzdFN0YXJBcnJheSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd2YWx1ZSddKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXJBcnJheUZyb21OdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8qIGltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3NvcidzIHdyaXRlVmFsdWVcbiAgICB3cml0ZVZhbHVlKHY6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFN0YXJBcnJheUZyb21OdW1iZXIodik7XG4gICAgfVxuICAgIG9uU3RhckNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGluZGV4ICsgMTtcbiAgICAgICAgdGhpcy5zZXRTdGFyQXJyYXlGcm9tTnVtYmVyKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2N1cnJlbnRIb3ZlckluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBvblN0YXJIaWdobGlnaHQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudEhvdmVySW5kZXggPT0gaW5kZXgpIHJldHVybjtcbiAgICAgICAgdGhpcy5fY3VycmVudEhvdmVySW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5zZXRTdGFyQXJyYXlGcm9tTnVtYmVyKGluZGV4ICsgMSk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0RXZlbnQuZW1pdChpbmRleCArIDEpO1xuICAgIH1cbiAgICBzZXREaXNwbGF5VG9WYWx1ZSgpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudEhvdmVySW5kZXggPSBudWxsO1xuICAgICAgICB0aGlzLnNldFN0YXJBcnJheUZyb21OdW1iZXIodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8vKiBmb2N1cyBoYW5kbGVyc1xuICAgIHByaXZhdGUgX2lzRm9jdXNFdmVudFN1cHByZXNzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0JsdXJFdmVudFN1cHByZXNzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF93YXNDb21wb25lbnRCbHVycmVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9jdXJyZW50Rm9jdXNJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgb25TdGFyQnV0dG9uRm9jdXMoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9jdXJyZW50Rm9jdXNJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLl93YXNDb21wb25lbnRCbHVycmVkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLl9pc0ZvY3VzRXZlbnRTdXBwcmVzc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9pc0ZvY3VzRXZlbnRTdXBwcmVzc2VkID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c0V2ZW50LmVtaXQoKTtcbiAgICB9XG4gICAgb25TdGFyQnV0dG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudEZvY3VzSW5kZXggPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5faXNCbHVyRXZlbnRTdXBwcmVzc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9pc0JsdXJFdmVudFN1cHByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93YXNDb21wb25lbnRCbHVycmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ibHVyRXZlbnQuZW1pdCgpO1xuICAgIH1cbiAgICBmb2N1c1N0YXJCdXR0b25CeUluZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0YXJCdXR0b25JbnN0YW5jZXMpIHJldHVybjtcbiAgICAgICAgdGhpcy5zdGFyQnV0dG9uSW5zdGFuY2VzLmdldChpbmRleCkhLmZvY3VzKCk7XG4gICAgfVxuICAgIGZvY3VzTmV4dFN0YXJCdXR0b24ob2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0YXJCdXR0b25JbnN0YW5jZXMgfHwgdGhpcy5fY3VycmVudEZvY3VzSW5kZXggPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgIGxldCBuZXh0SW5kZXggPSB0aGlzLl9jdXJyZW50Rm9jdXNJbmRleCArIG9mZnNldDtcbiAgICAgICAgbmV4dEluZGV4ID0gTWF0aC5taW4obmV4dEluZGV4LCB0aGlzLm1heCAtIDEpO1xuICAgICAgICBuZXh0SW5kZXggPSBNYXRoLm1heChuZXh0SW5kZXgsIDApO1xuXG4gICAgICAgIHRoaXMuZm9jdXNTdGFyQnV0dG9uQnlJbmRleChuZXh0SW5kZXgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zdXBwcmVzc0ZvY3VzRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc0ZvY3VzRXZlbnRTdXBwcmVzc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5faXNCbHVyRXZlbnRTdXBwcmVzc2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c1N0YXJCdXR0b25CeUluZGV4KDApO1xuICAgIH1cbiAgICBvdmVycmlkZSBibHVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc3RhckJ1dHRvbkluc3RhbmNlcyB8fCB0aGlzLl9jdXJyZW50Rm9jdXNJbmRleCA9PSBudWxsKSByZXR1cm47XG4gICAgICAgIHRoaXMuc3RhckJ1dHRvbkluc3RhbmNlcy5nZXQodGhpcy5fY3VycmVudEZvY3VzSW5kZXgpIS5ibHVyKCk7XG4gICAgfVxuXG4gICAgLy8qIGtleSBwcmVzcyBoYW5kbGVyc1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25UYWJQcmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkFycm93UmlnaHRQcmVzcyhldmVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQXJyb3dMZWZ0UHJlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25Ib21lUHJlc3MoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkVuZFByZXNzKGV2ZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfb25BcnJvd1JpZ2h0UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fc3VwcHJlc3NGb2N1c0V2ZW50cygpO1xuICAgICAgICB0aGlzLmZvY3VzTmV4dFN0YXJCdXR0b24oKzEpO1xuICAgIH1cbiAgICBwcml2YXRlIF9vbkFycm93TGVmdFByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuX3N1cHByZXNzRm9jdXNFdmVudHMoKTtcbiAgICAgICAgdGhpcy5mb2N1c05leHRTdGFyQnV0dG9uKC0xKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb25Ib21lUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fc3VwcHJlc3NGb2N1c0V2ZW50cygpO1xuICAgICAgICB0aGlzLmZvY3VzU3RhckJ1dHRvbkJ5SW5kZXgoMCk7XG4gICAgfVxuICAgIHByaXZhdGUgX29uRW5kUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fc3VwcHJlc3NGb2N1c0V2ZW50cygpO1xuICAgICAgICB0aGlzLl9vblRhYlByZXNzKGV2ZW50KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb25UYWJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzU3RhckJ1dHRvbkJ5SW5kZXgodGhpcy5tYXggLSAxKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXJkLXN0YXItaW5wdXRcIlxyXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzXCJcclxuICAgIFtjbGFzc109XCJ3cmFwcGVyQ2xhc3Nlc1wiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJzZXREaXNwbGF5VG9WYWx1ZSgpXCJcclxuPlxyXG4gICAgPGFyZC1zdGFyLWJ1dHRvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvYmplY3Qgb2Ygc3RhckFycmF5OyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgI3N0YXJCdXR0b25cclxuICAgICAgICBbY2xhc3MuYXJkLXN0YXItbm90LWluLXZhbHVlXT1cIiEob2JqZWN0LmlzSW5WYWx1ZSlcIlxyXG4gICAgICAgIFtjb2xvcl09XCJvYmplY3QuaXNJblZhbHVlID8gY29sb3IgOiAnbm9uZSdcIlxyXG4gICAgICAgIGNsaWNrU3RyYXRlZ3k9XCJub25lXCJcclxuICAgICAgICBbc2VsZWN0ZWRdPVwib2JqZWN0LmZpbGxlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uU3RhckNsaWNrKGluZGV4KVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uU3RhckJ1dHRvbkZvY3VzKGluZGV4KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25TdGFyQnV0dG9uQmx1cigpXCJcclxuICAgICAgICAobW91c2VlbnRlcik9XCJvblN0YXJIaWdobGlnaHQoaW5kZXgpXCJcclxuICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgPjwvYXJkLXN0YXItYnV0dG9uPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { ArdiumStarButtonModule } from '../star-button/star-button.module';
4
+ import { ArdiumStarInputComponent } from './star-input.component';
5
+ import * as i0 from "@angular/core";
6
+ export class ArdiumStarInputModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputModule, declarations: [ArdiumStarInputComponent], imports: [CommonModule, ArdiumStarButtonModule], exports: [ArdiumStarInputComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputModule, imports: [CommonModule, ArdiumStarButtonModule] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarInputModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [ArdiumStarInputComponent],
15
+ imports: [CommonModule, ArdiumStarButtonModule],
16
+ exports: [ArdiumStarInputComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N0YXIvc3Rhci1pbnB1dC9zdGFyLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsaUJBSmYsd0JBQXdCLGFBQzdCLFlBQVksRUFBRSxzQkFBc0IsYUFDcEMsd0JBQXdCOytHQUV6QixxQkFBcUIsWUFIcEIsWUFBWSxFQUFFLHNCQUFzQjs7MkZBR3JDLHFCQUFxQjtrQkFMakMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFyZGl1bVN0YXJCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9zdGFyLWJ1dHRvbi9zdGFyLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXJkaXVtU3RhcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zdGFyLWlucHV0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQXJkaXVtU3RhcklucHV0Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcmRpdW1TdGFyQnV0dG9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQXJkaXVtU3RhcklucHV0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtU3RhcklucHV0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { StarColor, StarFillMode } from './star.types';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ArdiumStarComponent {
6
+ constructor() {
7
+ this.wrapperClasses = '';
8
+ this.fill = StarFillMode.Filled;
9
+ //* appearance
10
+ this.color = StarColor.Star;
11
+ }
12
+ get ngClasses() {
13
+ return [`ard-color-${this.color}`, `ard-star-fill-${this.fill}`].join(' ');
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: ArdiumStarComponent, selector: "ard-star", inputs: { wrapperClasses: "wrapperClasses", fill: "fill", color: "color" }, ngImport: i0, template: "<div\r\n class=\"ard-star\"\r\n [class]=\"wrapperClasses\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-star-icon ard-star-selected\"></div>\r\n <div class=\"ard-star-icon ard-star-half\"></div>\r\n <div class=\"ard-star-icon ard-star-unselected\"></div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'ard-star', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-star\"\r\n [class]=\"wrapperClasses\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-star-icon ard-star-selected\"></div>\r\n <div class=\"ard-star-icon ard-star-half\"></div>\r\n <div class=\"ard-star-icon ard-star-unselected\"></div>\r\n</div>" }]
21
+ }], propDecorators: { wrapperClasses: [{
22
+ type: Input
23
+ }], fill: [{
24
+ type: Input
25
+ }], color: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N0YXIvc3Rhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N0YXIvc3Rhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBU3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRYSxtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQWlCLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFFbEQsY0FBYztRQUNMLFVBQUssR0FBYyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBSzlDO0lBSEcsSUFBSSxTQUFTO1FBQ1QsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLGlCQUFpQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs4R0FUUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0SENWaEMscVNBUU07OzJGREVPLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxVQUFVLGlCQUdMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhckNvbG9yLCBTdGFyRmlsbE1vZGUgfSBmcm9tICcuL3N0YXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FyZC1zdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Rhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3Rhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVN0YXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHdyYXBwZXJDbGFzc2VzOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBmaWxsOiBTdGFyRmlsbE1vZGUgPSBTdGFyRmlsbE1vZGUuRmlsbGVkO1xuXG4gICAgLy8qIGFwcGVhcmFuY2VcbiAgICBASW5wdXQoKSBjb2xvcjogU3RhckNvbG9yID0gU3RhckNvbG9yLlN0YXI7XG5cbiAgICBnZXQgbmdDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbYGFyZC1jb2xvci0ke3RoaXMuY29sb3J9YCwgYGFyZC1zdGFyLWZpbGwtJHt0aGlzLmZpbGx9YF0uam9pbignICcpO1xuICAgIH1cbn1cbiIsIjxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXN0YXJcIlxyXG4gICAgW2NsYXNzXT1cIndyYXBwZXJDbGFzc2VzXCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtc3Rhci1pY29uIGFyZC1zdGFyLXNlbGVjdGVkXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXN0YXItaWNvbiBhcmQtc3Rhci1oYWxmXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXN0YXItaWNvbiBhcmQtc3Rhci11bnNlbGVjdGVkXCI+PC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ArdiumStarComponent } from './star.component';
4
+ import * as i0 from "@angular/core";
5
+ export class ArdiumStarModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarModule, declarations: [ArdiumStarComponent], imports: [CommonModule], exports: [ArdiumStarComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ArdiumStarModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [ArdiumStarComponent],
14
+ imports: [CommonModule],
15
+ exports: [ArdiumStarComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N0YXIvc3Rhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUpWLG1CQUFtQixhQUN4QixZQUFZLGFBQ1osbUJBQW1COytHQUVwQixnQkFBZ0IsWUFIZixZQUFZOzsyRkFHYixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBcmRpdW1TdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGFyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQXJkaXVtU3RhckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZXhwb3J0czogW0FyZGl1bVN0YXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1TdGFyTW9kdWxlIHt9XG4iXX0=