valtech-components 2.0.404 → 2.0.406

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 (280) hide show
  1. package/README.md +71 -0
  2. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +4 -4
  3. package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
  4. package/esm2022/lib/components/atoms/box/box.component.mjs +4 -4
  5. package/esm2022/lib/components/atoms/box/types.mjs +1 -1
  6. package/esm2022/lib/components/atoms/button/button.component.mjs +4 -4
  7. package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
  8. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +343 -0
  9. package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
  10. package/esm2022/lib/components/atoms/display/display.component.mjs +4 -4
  11. package/esm2022/lib/components/atoms/display/types.mjs +1 -1
  12. package/esm2022/lib/components/atoms/divider/divider.component.mjs +4 -4
  13. package/esm2022/lib/components/atoms/divider/types.mjs +1 -1
  14. package/esm2022/lib/components/atoms/fab/fab.component.mjs +152 -0
  15. package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
  16. package/esm2022/lib/components/atoms/href/href.component.mjs +4 -4
  17. package/esm2022/lib/components/atoms/href/types.mjs +1 -1
  18. package/esm2022/lib/components/atoms/icon/icon.component.mjs +4 -4
  19. package/esm2022/lib/components/atoms/icon/types.mjs +1 -1
  20. package/esm2022/lib/components/atoms/image/image.component.mjs +6 -6
  21. package/esm2022/lib/components/atoms/image/types.mjs +1 -1
  22. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +245 -0
  23. package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
  24. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +4 -4
  25. package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
  26. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
  27. package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
  28. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +417 -0
  29. package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
  30. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
  31. package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
  32. package/esm2022/lib/components/atoms/text/text.component.mjs +4 -4
  33. package/esm2022/lib/components/atoms/text/types.mjs +1 -1
  34. package/esm2022/lib/components/atoms/title/title.component.mjs +4 -4
  35. package/esm2022/lib/components/atoms/title/types.mjs +1 -1
  36. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +139 -0
  37. package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
  38. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +4 -4
  39. package/esm2022/lib/components/molecules/action-header/types.mjs +1 -1
  40. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +4 -4
  41. package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
  42. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +137 -0
  43. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +4 -4
  45. package/esm2022/lib/components/molecules/button-group/types.mjs +1 -1
  46. package/esm2022/lib/components/molecules/card/card.component.mjs +5 -5
  47. package/esm2022/lib/components/molecules/card/types.mjs +1 -1
  48. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +4 -4
  49. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +174 -0
  50. package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +4 -4
  52. package/esm2022/lib/components/molecules/code-display/types.mjs +1 -1
  53. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -4
  54. package/esm2022/lib/components/molecules/command-display/types.mjs +1 -1
  55. package/esm2022/lib/components/molecules/comment/comment.component.mjs +634 -0
  56. package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
  57. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +4 -4
  58. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +4 -4
  59. package/esm2022/lib/components/molecules/content-loader/types.mjs +1 -1
  60. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +368 -0
  61. package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
  62. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
  63. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +418 -0
  64. package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
  65. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +4 -4
  66. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -4
  67. package/esm2022/lib/components/molecules/expandable-text/types.mjs +1 -1
  68. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +4 -4
  69. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +279 -0
  70. package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
  71. package/esm2022/lib/components/molecules/hint/hint.component.mjs +4 -4
  72. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +4 -4
  73. package/esm2022/lib/components/molecules/info/info.component.mjs +4 -4
  74. package/esm2022/lib/components/molecules/info/types.mjs +1 -1
  75. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +4 -4
  76. package/esm2022/lib/components/molecules/language-selector/types.mjs +1 -1
  77. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +4 -4
  78. package/esm2022/lib/components/molecules/layered-card/types.mjs +1 -1
  79. package/esm2022/lib/components/molecules/link/link.component.mjs +4 -4
  80. package/esm2022/lib/components/molecules/link/types.mjs +1 -1
  81. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +4 -4
  82. package/esm2022/lib/components/molecules/links-cake/types.mjs +1 -1
  83. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +5 -5
  84. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +4 -4
  85. package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
  86. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +4 -4
  87. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +4 -4
  88. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +377 -0
  89. package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
  90. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
  91. package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
  92. package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +486 -0
  93. package/esm2022/lib/components/molecules/participant-card/types.mjs +21 -0
  94. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +4 -4
  95. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +336 -0
  96. package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
  97. package/esm2022/lib/components/molecules/pill/pill.component.mjs +4 -4
  98. package/esm2022/lib/components/molecules/pill/types.mjs +1 -1
  99. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +4 -4
  100. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -4
  101. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +1 -1
  102. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +5 -5
  103. package/esm2022/lib/components/molecules/popover-selector/types.mjs +1 -1
  104. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +4 -4
  105. package/esm2022/lib/components/molecules/progress-status/types.mjs +1 -1
  106. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +4 -4
  107. package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
  108. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
  109. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +5 -5
  110. package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +484 -0
  111. package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +23 -0
  112. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +148 -0
  113. package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
  114. package/esm2022/lib/components/molecules/rating/rating.component.mjs +149 -0
  115. package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
  116. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +4 -4
  117. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +145 -0
  118. package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
  119. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -5
  120. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +5 -5
  121. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +277 -0
  122. package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
  123. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +165 -0
  124. package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
  125. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +239 -0
  126. package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
  127. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +135 -0
  128. package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
  129. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +4 -4
  130. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +204 -0
  131. package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
  132. package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +497 -0
  133. package/esm2022/lib/components/molecules/ticket-grid/types.mjs +11 -0
  134. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
  135. package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
  136. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +4 -4
  137. package/esm2022/lib/components/molecules/title-block/types.mjs +1 -1
  138. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +89 -0
  139. package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
  140. package/esm2022/lib/components/molecules/winner-display/types.mjs +9 -0
  141. package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +370 -0
  142. package/esm2022/lib/components/organisms/article/article.component.mjs +4 -4
  143. package/esm2022/lib/components/organisms/article/types.mjs +1 -1
  144. package/esm2022/lib/components/organisms/banner/banner.component.mjs +4 -4
  145. package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
  146. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +578 -0
  147. package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
  148. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +853 -0
  149. package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
  150. package/esm2022/lib/components/organisms/footer/footer.component.mjs +4 -4
  151. package/esm2022/lib/components/organisms/footer/types.mjs +1 -1
  152. package/esm2022/lib/components/organisms/form/factory.mjs +1 -1
  153. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +4 -4
  154. package/esm2022/lib/components/organisms/form/form.component.mjs +4 -4
  155. package/esm2022/lib/components/organisms/header/header.component.mjs +4 -4
  156. package/esm2022/lib/components/organisms/header/types.mjs +1 -1
  157. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +4 -4
  158. package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
  159. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +4 -4
  160. package/esm2022/lib/components/organisms/no-content/types.mjs +1 -1
  161. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +4 -4
  162. package/esm2022/lib/components/organisms/toolbar/types.mjs +1 -1
  163. package/esm2022/lib/components/organisms/wizard/types.mjs +1 -1
  164. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +4 -4
  165. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +4 -4
  166. package/esm2022/lib/components/templates/layout/layout.component.mjs +4 -4
  167. package/esm2022/lib/components/templates/simple/simple.component.mjs +5 -5
  168. package/esm2022/lib/components/templates/simple/types.mjs +1 -1
  169. package/esm2022/lib/components/types.mjs +22 -16
  170. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +180 -0
  171. package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
  172. package/esm2022/lib/services/download.service.mjs +4 -4
  173. package/esm2022/lib/services/icons.service.mjs +4 -4
  174. package/esm2022/lib/services/in-app-browser.service.mjs +4 -4
  175. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +1 -1
  176. package/esm2022/lib/services/lang-provider/content.mjs +1 -1
  177. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -4
  178. package/esm2022/lib/services/lang-provider/types.mjs +1 -1
  179. package/esm2022/lib/services/link-processor.service.mjs +4 -4
  180. package/esm2022/lib/services/local-storage.service.mjs +1 -1
  181. package/esm2022/lib/services/modal/modal.service.mjs +213 -0
  182. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
  183. package/esm2022/lib/services/modal/types.mjs +26 -0
  184. package/esm2022/lib/services/navigation.service.mjs +4 -4
  185. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
  186. package/esm2022/lib/services/qr-generator/types.mjs +46 -0
  187. package/esm2022/lib/services/theme.service.mjs +4 -4
  188. package/esm2022/lib/services/toast.service.mjs +4 -4
  189. package/esm2022/lib/services/types.mjs +1 -1
  190. package/esm2022/lib/shared/constants/storage.mjs +1 -1
  191. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +4 -4
  192. package/esm2022/lib/shared/utils/content.mjs +1 -1
  193. package/esm2022/lib/shared/utils/dom.mjs +1 -1
  194. package/esm2022/lib/shared/utils/form-defaults.mjs +1 -1
  195. package/esm2022/lib/shared/utils/simple-content.mjs +1 -1
  196. package/esm2022/lib/shared/utils/styles.mjs +1 -1
  197. package/esm2022/lib/shared/utils/text.mjs +1 -1
  198. package/esm2022/public-api.mjs +73 -3
  199. package/esm2022/valtech-components.mjs +1 -1
  200. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs +136 -0
  201. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs.map +1 -0
  202. package/fesm2022/valtech-components.mjs +14847 -4292
  203. package/fesm2022/valtech-components.mjs.map +1 -1
  204. package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
  205. package/lib/components/atoms/countdown/types.d.ts +108 -0
  206. package/lib/components/atoms/fab/fab.component.d.ts +16 -0
  207. package/lib/components/atoms/fab/types.d.ts +45 -0
  208. package/lib/components/atoms/price-tag/price-tag.component.d.ts +16 -0
  209. package/lib/components/atoms/price-tag/types.d.ts +59 -0
  210. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
  211. package/lib/components/atoms/progress-ring/types.d.ts +24 -0
  212. package/lib/components/atoms/qr-code/qr-code.component.d.ts +36 -0
  213. package/lib/components/atoms/qr-code/types.d.ts +124 -0
  214. package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
  215. package/lib/components/atoms/skeleton/types.d.ts +29 -0
  216. package/lib/components/molecules/accordion/accordion.component.d.ts +19 -0
  217. package/lib/components/molecules/accordion/types.d.ts +47 -0
  218. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
  219. package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
  220. package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
  221. package/lib/components/molecules/chip-group/types.d.ts +65 -0
  222. package/lib/components/molecules/comment/comment.component.d.ts +42 -0
  223. package/lib/components/molecules/comment/types.d.ts +171 -0
  224. package/lib/components/molecules/currency-input/currency-input.component.d.ts +43 -0
  225. package/lib/components/molecules/currency-input/types.d.ts +96 -0
  226. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +42 -0
  227. package/lib/components/molecules/date-range-input/types.d.ts +109 -0
  228. package/lib/components/molecules/glow-card/glow-card.component.d.ts +51 -0
  229. package/lib/components/molecules/glow-card/types.d.ts +92 -0
  230. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +34 -0
  231. package/lib/components/molecules/number-stepper/types.d.ts +88 -0
  232. package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
  233. package/lib/components/molecules/pagination/types.d.ts +41 -0
  234. package/lib/components/molecules/participant-card/participant-card.component.d.ts +26 -0
  235. package/lib/components/molecules/participant-card/types.d.ts +132 -0
  236. package/lib/components/molecules/phone-input/phone-input.component.d.ts +38 -0
  237. package/lib/components/molecules/phone-input/types.d.ts +98 -0
  238. package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
  239. package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +22 -0
  240. package/lib/components/molecules/raffle-status-card/types.d.ts +108 -0
  241. package/lib/components/molecules/range-input/range-input.component.d.ts +30 -0
  242. package/lib/components/molecules/range-input/types.d.ts +59 -0
  243. package/lib/components/molecules/rating/rating.component.d.ts +17 -0
  244. package/lib/components/molecules/rating/types.d.ts +41 -0
  245. package/lib/components/molecules/segment-control/segment-control.component.d.ts +30 -0
  246. package/lib/components/molecules/segment-control/types.d.ts +46 -0
  247. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
  248. package/lib/components/molecules/share-buttons/types.d.ts +108 -0
  249. package/lib/components/molecules/stats-card/stats-card.component.d.ts +14 -0
  250. package/lib/components/molecules/stats-card/types.d.ts +41 -0
  251. package/lib/components/molecules/stepper/stepper.component.d.ts +21 -0
  252. package/lib/components/molecules/stepper/types.d.ts +66 -0
  253. package/lib/components/molecules/tabs/tabs.component.d.ts +17 -0
  254. package/lib/components/molecules/tabs/types.d.ts +45 -0
  255. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +27 -0
  256. package/lib/components/molecules/textarea-input/types.d.ts +74 -0
  257. package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +41 -0
  258. package/lib/components/molecules/ticket-grid/types.d.ts +122 -0
  259. package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
  260. package/lib/components/molecules/timeline/types.d.ts +39 -0
  261. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +24 -0
  262. package/lib/components/molecules/toggle-input/types.d.ts +30 -0
  263. package/lib/components/molecules/winner-display/types.d.ts +103 -0
  264. package/lib/components/molecules/winner-display/winner-display.component.d.ts +37 -0
  265. package/lib/components/organisms/article/article.component.d.ts +1 -1
  266. package/lib/components/organisms/comment-section/comment-section.component.d.ts +52 -0
  267. package/lib/components/organisms/comment-section/types.d.ts +144 -0
  268. package/lib/components/organisms/data-table/data-table.component.d.ts +46 -0
  269. package/lib/components/organisms/data-table/types.d.ts +205 -0
  270. package/lib/components/types.d.ts +21 -15
  271. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
  272. package/lib/services/confirmation-dialog/types.d.ts +61 -0
  273. package/lib/services/modal/modal.service.d.ts +98 -0
  274. package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
  275. package/lib/services/modal/types.d.ts +155 -0
  276. package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
  277. package/lib/services/qr-generator/types.d.ts +141 -0
  278. package/package.json +9 -2
  279. package/public-api.d.ts +72 -2
  280. package/LICENSE +0 -21
@@ -0,0 +1,148 @@
1
+ import { Component, Input, inject, Output, EventEmitter } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { IonRange, IonLabel } from '@ionic/angular/standalone';
4
+ import { CommonModule } from '@angular/common';
5
+ import { ComponentStates } from '../../types';
6
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ /**
10
+ * val-range-input
11
+ *
12
+ * A range/slider input for numeric values, integrated with Angular forms.
13
+ * Supports single value or dual knobs for range selection.
14
+ *
15
+ * @example Single value
16
+ * <val-range-input [props]="{
17
+ * control: volumeControl,
18
+ * min: 0,
19
+ * max: 100,
20
+ * step: 5,
21
+ * pin: true,
22
+ * label: 'Volume'
23
+ * }"></val-range-input>
24
+ *
25
+ * @example Dual knobs for price range
26
+ * <val-range-input [props]="{
27
+ * control: priceControl,
28
+ * min: 0,
29
+ * max: 1000,
30
+ * dualKnobs: true,
31
+ * pin: true,
32
+ * pinFormatter: (v) => '$' + v,
33
+ * startLabel: '$0',
34
+ * endLabel: '$1000'
35
+ * }"></val-range-input>
36
+ *
37
+ * @input props: RangeInputMetadata - Configuration for the range input
38
+ * @output rangeChange: RangeValue - Emits when the range value changes
39
+ */
40
+ export class RangeInputComponent {
41
+ constructor() {
42
+ /**
43
+ * Emits the new value when the range changes.
44
+ */
45
+ this.rangeChange = new EventEmitter();
46
+ this.states = ComponentStates;
47
+ this.displayLabel = '';
48
+ this.langService = inject(LangService);
49
+ this.defaultPinFormatter = (value) => `${value}`;
50
+ }
51
+ ngOnInit() {
52
+ this.setupLabel();
53
+ }
54
+ ngOnDestroy() {
55
+ this.subscription?.unsubscribe();
56
+ }
57
+ onRangeChange(event) {
58
+ const value = event.detail.value;
59
+ this.rangeChange.emit(value);
60
+ // Update lower/upper controls if using dual knobs
61
+ if (this.props.dualKnobs && typeof value === 'object') {
62
+ if (this.props.lowerControl) {
63
+ this.props.lowerControl.setValue(value.lower);
64
+ }
65
+ if (this.props.upperControl) {
66
+ this.props.upperControl.setValue(value.upper);
67
+ }
68
+ }
69
+ }
70
+ setupLabel() {
71
+ if (this.props.label) {
72
+ this.displayLabel = this.props.label;
73
+ }
74
+ else if (this.props.contentKey && this.props.contentClass) {
75
+ this.subscription = this.langService
76
+ .getContent(this.props.contentClass, this.props.contentKey, this.props.contentFallback)
77
+ .subscribe((content) => {
78
+ this.displayLabel = content;
79
+ });
80
+ }
81
+ else if (this.props.contentFallback) {
82
+ this.displayLabel = this.props.contentFallback;
83
+ }
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RangeInputComponent, isStandalone: true, selector: "val-range-input", inputs: { props: "props" }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: `
87
+ @if (displayLabel) {
88
+ <ion-label>{{ displayLabel }}</ion-label>
89
+ }
90
+ <ion-range
91
+ [formControl]="props.control"
92
+ [min]="props.min ?? 0"
93
+ [max]="props.max ?? 100"
94
+ [step]="props.step ?? 1"
95
+ [pin]="props.pin ?? false"
96
+ [pinFormatter]="props.pinFormatter || defaultPinFormatter"
97
+ [ticks]="props.ticks ?? false"
98
+ [snaps]="props.snaps ?? false"
99
+ [color]="props.color || 'primary'"
100
+ [disabled]="props.state === states.DISABLED || props.disabled"
101
+ [debounce]="props.debounce ?? 0"
102
+ [dualKnobs]="props.dualKnobs ?? false"
103
+ (ionChange)="onRangeChange($event)"
104
+ >
105
+ @if (props.startLabel) {
106
+ <ion-label slot="start">{{ props.startLabel }}</ion-label>
107
+ }
108
+ @if (props.endLabel) {
109
+ <ion-label slot="end">{{ props.endLabel }}</ion-label>
110
+ }
111
+ </ion-range>
112
+ `, isInline: true, styles: [":host{display:block}ion-label{margin-bottom:8px;display:block;font-weight:500}ion-range{--bar-height: 4px;--bar-border-radius: 4px;--knob-size: 20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonRange, selector: "ion-range", inputs: ["activeBarStart", "color", "debounce", "disabled", "dualKnobs", "label", "labelPlacement", "max", "min", "mode", "name", "pin", "pinFormatter", "snaps", "step", "ticks", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }] }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeInputComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'val-range-input', standalone: true, imports: [CommonModule, ReactiveFormsModule, IonRange, IonLabel], template: `
117
+ @if (displayLabel) {
118
+ <ion-label>{{ displayLabel }}</ion-label>
119
+ }
120
+ <ion-range
121
+ [formControl]="props.control"
122
+ [min]="props.min ?? 0"
123
+ [max]="props.max ?? 100"
124
+ [step]="props.step ?? 1"
125
+ [pin]="props.pin ?? false"
126
+ [pinFormatter]="props.pinFormatter || defaultPinFormatter"
127
+ [ticks]="props.ticks ?? false"
128
+ [snaps]="props.snaps ?? false"
129
+ [color]="props.color || 'primary'"
130
+ [disabled]="props.state === states.DISABLED || props.disabled"
131
+ [debounce]="props.debounce ?? 0"
132
+ [dualKnobs]="props.dualKnobs ?? false"
133
+ (ionChange)="onRangeChange($event)"
134
+ >
135
+ @if (props.startLabel) {
136
+ <ion-label slot="start">{{ props.startLabel }}</ion-label>
137
+ }
138
+ @if (props.endLabel) {
139
+ <ion-label slot="end">{{ props.endLabel }}</ion-label>
140
+ }
141
+ </ion-range>
142
+ `, styles: [":host{display:block}ion-label{margin-bottom:8px;display:block;font-weight:500}ion-range{--bar-height: 4px;--bar-border-radius: 4px;--knob-size: 20px}\n"] }]
143
+ }], propDecorators: { props: [{
144
+ type: Input
145
+ }], rangeChange: [{
146
+ type: Output
147
+ }] } });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYW5nZS1pbnB1dC9yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7QUFtQ3BGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBaEVoQztRQXVFRTs7V0FFRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFaEUsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUN6QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUVsQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUcxQyx3QkFBbUIsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQztLQXNDN0Q7SUFwQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQjtRQUM5QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixrREFBa0Q7UUFDbEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVztpQkFDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO2lCQUN0RixTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7K0dBdkRVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGdKQTVEcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJULGdPQTNCUyxZQUFZLDhCQUFFLG1CQUFtQiwwVEFBRSxRQUFRLG1QQUFFLFFBQVE7OzRGQTZEcEQsbUJBQW1CO2tCQWhFL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxZQUN0RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7OEJBdUNRLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIGluamVjdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25SYW5nZSwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJhbmdlSW5wdXRNZXRhZGF0YSwgUmFuZ2VWYWx1ZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yYW5nZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvblJhbmdlLCBJb25MYWJlbF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChkaXNwbGF5TGFiZWwpIHtcbiAgICAgIDxpb24tbGFiZWw+e3sgZGlzcGxheUxhYmVsIH19PC9pb24tbGFiZWw+XG4gICAgfVxuICAgIDxpb24tcmFuZ2VcbiAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgIFttaW5dPVwicHJvcHMubWluID8/IDBcIlxuICAgICAgW21heF09XCJwcm9wcy5tYXggPz8gMTAwXCJcbiAgICAgIFtzdGVwXT1cInByb3BzLnN0ZXAgPz8gMVwiXG4gICAgICBbcGluXT1cInByb3BzLnBpbiA/PyBmYWxzZVwiXG4gICAgICBbcGluRm9ybWF0dGVyXT1cInByb3BzLnBpbkZvcm1hdHRlciB8fCBkZWZhdWx0UGluRm9ybWF0dGVyXCJcbiAgICAgIFt0aWNrc109XCJwcm9wcy50aWNrcyA/PyBmYWxzZVwiXG4gICAgICBbc25hcHNdPVwicHJvcHMuc25hcHMgPz8gZmFsc2VcIlxuICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICBbZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRCB8fCBwcm9wcy5kaXNhYmxlZFwiXG4gICAgICBbZGVib3VuY2VdPVwicHJvcHMuZGVib3VuY2UgPz8gMFwiXG4gICAgICBbZHVhbEtub2JzXT1cInByb3BzLmR1YWxLbm9icyA/PyBmYWxzZVwiXG4gICAgICAoaW9uQ2hhbmdlKT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy5zdGFydExhYmVsKSB7XG4gICAgICAgIDxpb24tbGFiZWwgc2xvdD1cInN0YXJ0XCI+e3sgcHJvcHMuc3RhcnRMYWJlbCB9fTwvaW9uLWxhYmVsPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9wcy5lbmRMYWJlbCkge1xuICAgICAgICA8aW9uLWxhYmVsIHNsb3Q9XCJlbmRcIj57eyBwcm9wcy5lbmRMYWJlbCB9fTwvaW9uLWxhYmVsPlxuICAgICAgfVxuICAgIDwvaW9uLXJhbmdlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXJhbmdlLWlucHV0XG4gKlxuICogQSByYW5nZS9zbGlkZXIgaW5wdXQgZm9yIG51bWVyaWMgdmFsdWVzLCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3Jtcy5cbiAqIFN1cHBvcnRzIHNpbmdsZSB2YWx1ZSBvciBkdWFsIGtub2JzIGZvciByYW5nZSBzZWxlY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgU2luZ2xlIHZhbHVlXG4gKiA8dmFsLXJhbmdlLWlucHV0IFtwcm9wc109XCJ7XG4gKiAgIGNvbnRyb2w6IHZvbHVtZUNvbnRyb2wsXG4gKiAgIG1pbjogMCxcbiAqICAgbWF4OiAxMDAsXG4gKiAgIHN0ZXA6IDUsXG4gKiAgIHBpbjogdHJ1ZSxcbiAqICAgbGFiZWw6ICdWb2x1bWUnXG4gKiB9XCI+PC92YWwtcmFuZ2UtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgRHVhbCBrbm9icyBmb3IgcHJpY2UgcmFuZ2VcbiAqIDx2YWwtcmFuZ2UtaW5wdXQgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogcHJpY2VDb250cm9sLFxuICogICBtaW46IDAsXG4gKiAgIG1heDogMTAwMCxcbiAqICAgZHVhbEtub2JzOiB0cnVlLFxuICogICBwaW46IHRydWUsXG4gKiAgIHBpbkZvcm1hdHRlcjogKHYpID0+ICckJyArIHYsXG4gKiAgIHN0YXJ0TGFiZWw6ICckMCcsXG4gKiAgIGVuZExhYmVsOiAnJDEwMDAnXG4gKiB9XCI+PC92YWwtcmFuZ2UtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBSYW5nZUlucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcmFuZ2UgaW5wdXRcbiAqIEBvdXRwdXQgcmFuZ2VDaGFuZ2U6IFJhbmdlVmFsdWUgLSBFbWl0cyB3aGVuIHRoZSByYW5nZSB2YWx1ZSBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBSYW5nZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtSYW5nZUlucHV0TWV0YWRhdGF9XG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUmFuZ2VJbnB1dE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgbmV3IHZhbHVlIHdoZW4gdGhlIHJhbmdlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IFJhbmdlVmFsdWU+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuICBkaXNwbGF5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgbGFuZ1NlcnZpY2UgPSBpbmplY3QoTGFuZ1NlcnZpY2UpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBkZWZhdWx0UGluRm9ybWF0dGVyID0gKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcgPT4gYCR7dmFsdWV9YDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHVwTGFiZWwoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25SYW5nZUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZTtcbiAgICB0aGlzLnJhbmdlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG4gICAgLy8gVXBkYXRlIGxvd2VyL3VwcGVyIGNvbnRyb2xzIGlmIHVzaW5nIGR1YWwga25vYnNcbiAgICBpZiAodGhpcy5wcm9wcy5kdWFsS25vYnMgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKHRoaXMucHJvcHMubG93ZXJDb250cm9sKSB7XG4gICAgICAgIHRoaXMucHJvcHMubG93ZXJDb250cm9sLnNldFZhbHVlKHZhbHVlLmxvd2VyKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLnVwcGVyQ29udHJvbCkge1xuICAgICAgICB0aGlzLnByb3BzLnVwcGVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS51cHBlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cExhYmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmxhYmVsKSB7XG4gICAgICB0aGlzLmRpc3BsYXlMYWJlbCA9IHRoaXMucHJvcHMubGFiZWw7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmNvbnRlbnRLZXkgJiYgdGhpcy5wcm9wcy5jb250ZW50Q2xhc3MpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5sYW5nU2VydmljZVxuICAgICAgICAuZ2V0Q29udGVudCh0aGlzLnByb3BzLmNvbnRlbnRDbGFzcywgdGhpcy5wcm9wcy5jb250ZW50S2V5LCB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjaylcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGxheUxhYmVsID0gY29udGVudDtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjaykge1xuICAgICAgdGhpcy5kaXNwbGF5TGFiZWwgPSB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JhbmdlLWlucHV0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIHRoZSByYW5nZS9zbGlkZXIgaW5wdXQgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlSW5wdXRNZXRhZGF0YSB7XG4gIC8qKiBBc3NvY2lhdGVkIGZvcm0gY29udHJvbCBmb3Igc2luZ2xlIHZhbHVlICovXG4gIGNvbnRyb2w6IEZvcm1Db250cm9sPG51bWJlcj47XG4gIC8qKiBVbmlxdWUgdG9rZW4gZm9yIHRoZSBpbnB1dCAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqIERpc3BsYXkgbGFiZWwgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBNaW5pbXVtIHZhbHVlICovXG4gIG1pbj86IG51bWJlcjtcbiAgLyoqIE1heGltdW0gdmFsdWUgKi9cbiAgbWF4PzogbnVtYmVyO1xuICAvKiogU3RlcCBpbmNyZW1lbnQgKi9cbiAgc3RlcD86IG51bWJlcjtcbiAgLyoqIFNob3cgcGluIHdpdGggY3VycmVudCB2YWx1ZSAqL1xuICBwaW4/OiBib29sZWFuO1xuICAvKiogUGluIGZvcm1hdCBmdW5jdGlvbiAqL1xuICBwaW5Gb3JtYXR0ZXI/OiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuICAvKiogU2hvdyB0aWNrIG1hcmtzICovXG4gIHRpY2tzPzogYm9vbGVhbjtcbiAgLyoqIFNuYXAgdG8gdGlja3MgKi9cbiAgc25hcHM/OiBib29sZWFuO1xuICAvKiogUmFuZ2UgY29sb3IgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIENvbXBvbmVudCBzdGF0ZSAqL1xuICBzdGF0ZT86IENvbXBvbmVudFN0YXRlO1xuICAvKiogRW5hYmxlL2Rpc2FibGUgcmFuZ2UgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogRGVib3VuY2UgdGltZSBmb3IgaW9uQ2hhbmdlIGV2ZW50IChtcykgKi9cbiAgZGVib3VuY2U/OiBudW1iZXI7XG4gIC8qKiBEdWFsIGtub2JzIGZvciByYW5nZSBzZWxlY3Rpb24gKi9cbiAgZHVhbEtub2JzPzogYm9vbGVhbjtcbiAgLyoqIENvbnRyb2wgZm9yIGxvd2VyIGJvdW5kIChvbmx5IHdpdGggZHVhbEtub2JzKSAqL1xuICBsb3dlckNvbnRyb2w/OiBGb3JtQ29udHJvbDxudW1iZXI+O1xuICAvKiogQ29udHJvbCBmb3IgdXBwZXIgYm91bmQgKG9ubHkgd2l0aCBkdWFsS25vYnMpICovXG4gIHVwcGVyQ29udHJvbD86IEZvcm1Db250cm9sPG51bWJlcj47XG4gIC8qKiBTaG93IHN0YXJ0IGxhYmVsIChtaW4gdmFsdWUgb3IgY3VzdG9tKSAqL1xuICBzdGFydExhYmVsPzogc3RyaW5nO1xuICAvKiogU2hvdyBlbmQgbGFiZWwgKG1heCB2YWx1ZSBvciBjdXN0b20pICovXG4gIGVuZExhYmVsPzogc3RyaW5nO1xuICAvKiogUmVhY3RpdmUgY29udGVudCBrZXkgZm9yIGxhYmVsICovXG4gIGNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgY2xhc3MgbmFtZSBmb3IgY29udGVudCBsb29rdXAgKi9cbiAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAvKiogRmFsbGJhY2sgdGV4dCBpZiBjb250ZW50S2V5IGlzIG5vdCBmb3VuZCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVmFsdWUgZW1pdHRlZCBieSByYW5nZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VWYWx1ZSB7XG4gIGxvd2VyPzogbnVtYmVyO1xuICB1cHBlcj86IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,149 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { IonIcon } from '@ionic/angular/standalone';
3
+ import { CommonModule } from '@angular/common';
4
+ import { addIcons } from 'ionicons';
5
+ import { star, starOutline, starHalf, heart, heartOutline, heartHalf } from 'ionicons/icons';
6
+ import * as i0 from "@angular/core";
7
+ addIcons({ star, starOutline, starHalf, heart, heartOutline, heartHalf });
8
+ /**
9
+ * val-rating
10
+ *
11
+ * A star rating component for feedback and reviews.
12
+ * Supports half stars and custom icons.
13
+ *
14
+ * @example Basic usage
15
+ * <val-rating [props]="{
16
+ * value: 3.5,
17
+ * max: 5,
18
+ * allowHalf: true
19
+ * }" (ratingChange)="onRatingChange($event)"></val-rating>
20
+ *
21
+ * @example Readonly with hearts
22
+ * <val-rating [props]="{
23
+ * value: 4,
24
+ * icon: 'heart',
25
+ * iconEmpty: 'heart-outline',
26
+ * readonly: true,
27
+ * color: 'danger',
28
+ * showValue: true
29
+ * }"></val-rating>
30
+ *
31
+ * @input props: RatingMetadata - Configuration for the rating
32
+ * @output ratingChange: RatingChangeEvent - Emits when rating changes
33
+ */
34
+ export class RatingComponent {
35
+ constructor() {
36
+ this.ratingChange = new EventEmitter();
37
+ this.hoverValue = null;
38
+ }
39
+ get displayValue() {
40
+ return this.hoverValue !== null ? this.hoverValue : this.props.value;
41
+ }
42
+ getStars() {
43
+ const max = this.props.max || 5;
44
+ return Array.from({ length: max }, (_, i) => i + 1);
45
+ }
46
+ getStarIcon(position) {
47
+ const value = this.hoverValue !== null ? this.hoverValue : this.props.value;
48
+ const baseIcon = this.props.icon || 'star';
49
+ const emptyIcon = this.props.iconEmpty || `${baseIcon}-outline`;
50
+ const halfIcon = this.props.iconHalf || `${baseIcon}-half`;
51
+ if (position <= value) {
52
+ return baseIcon;
53
+ }
54
+ else if (this.props.allowHalf && position - 0.5 <= value) {
55
+ return halfIcon;
56
+ }
57
+ return emptyIcon;
58
+ }
59
+ getStarColor(position) {
60
+ const value = this.hoverValue !== null ? this.hoverValue : this.props.value;
61
+ const isFilled = position <= value || (this.props.allowHalf && position - 0.5 <= value);
62
+ return isFilled ? (this.props.color || 'warning') : (this.props.emptyColor || 'medium');
63
+ }
64
+ onStarClick(position) {
65
+ if (this.props.readonly || this.props.disabled)
66
+ return;
67
+ let newValue = position;
68
+ // Toggle half value if clicking same star and allowHalf is true
69
+ if (this.props.allowHalf && position === Math.ceil(this.props.value)) {
70
+ if (this.props.value === position) {
71
+ newValue = position - 0.5;
72
+ }
73
+ else if (this.props.value === position - 0.5) {
74
+ newValue = 0;
75
+ }
76
+ }
77
+ else if (position === this.props.value) {
78
+ // Click same star again to clear
79
+ newValue = 0;
80
+ }
81
+ if (newValue !== this.props.value) {
82
+ this.ratingChange.emit({
83
+ value: newValue,
84
+ previousValue: this.props.value,
85
+ });
86
+ }
87
+ }
88
+ onStarHover(position) {
89
+ if (this.props.readonly || this.props.disabled)
90
+ return;
91
+ this.hoverValue = position;
92
+ }
93
+ onStarLeave() {
94
+ this.hoverValue = null;
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RatingComponent, isStandalone: true, selector: "val-rating", inputs: { props: "props" }, outputs: { ratingChange: "ratingChange" }, ngImport: i0, template: `
98
+ <div
99
+ class="rating-container"
100
+ [class.readonly]="props.readonly"
101
+ [class.disabled]="props.disabled"
102
+ [class]="'size-' + (props.size || 'medium')"
103
+ >
104
+ @for (i of getStars(); track i) {
105
+ <ion-icon
106
+ [name]="getStarIcon(i)"
107
+ [color]="getStarColor(i)"
108
+ [class.clickable]="!props.readonly && !props.disabled"
109
+ (click)="onStarClick(i)"
110
+ (mouseenter)="onStarHover(i)"
111
+ (mouseleave)="onStarLeave()"
112
+ ></ion-icon>
113
+ }
114
+ @if (props.showValue) {
115
+ <span class="rating-value">{{ displayValue }}</span>
116
+ }
117
+ </div>
118
+ `, isInline: true, styles: [":host{display:inline-block}.rating-container{display:inline-flex;align-items:center;gap:4px}.rating-container.readonly{pointer-events:none}.rating-container.disabled{opacity:.5;pointer-events:none}.rating-container.size-small ion-icon{font-size:16px}.rating-container.size-medium ion-icon{font-size:24px}.rating-container.size-large ion-icon{font-size:32px}ion-icon{transition:transform .15s ease,color .15s ease}ion-icon.clickable{cursor:pointer}ion-icon.clickable:hover{transform:scale(1.2)}.rating-value{margin-left:8px;font-weight:600;color:var(--ion-color-dark)}.size-small .rating-value{font-size:12px}.size-medium .rating-value{font-size:14px}.size-large .rating-value{font-size:18px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RatingComponent, decorators: [{
121
+ type: Component,
122
+ args: [{ selector: 'val-rating', standalone: true, imports: [CommonModule, IonIcon], template: `
123
+ <div
124
+ class="rating-container"
125
+ [class.readonly]="props.readonly"
126
+ [class.disabled]="props.disabled"
127
+ [class]="'size-' + (props.size || 'medium')"
128
+ >
129
+ @for (i of getStars(); track i) {
130
+ <ion-icon
131
+ [name]="getStarIcon(i)"
132
+ [color]="getStarColor(i)"
133
+ [class.clickable]="!props.readonly && !props.disabled"
134
+ (click)="onStarClick(i)"
135
+ (mouseenter)="onStarHover(i)"
136
+ (mouseleave)="onStarLeave()"
137
+ ></ion-icon>
138
+ }
139
+ @if (props.showValue) {
140
+ <span class="rating-value">{{ displayValue }}</span>
141
+ }
142
+ </div>
143
+ `, styles: [":host{display:inline-block}.rating-container{display:inline-flex;align-items:center;gap:4px}.rating-container.readonly{pointer-events:none}.rating-container.disabled{opacity:.5;pointer-events:none}.rating-container.size-small ion-icon{font-size:16px}.rating-container.size-medium ion-icon{font-size:24px}.rating-container.size-large ion-icon{font-size:32px}ion-icon{transition:transform .15s ease,color .15s ease}ion-icon.clickable{cursor:pointer}ion-icon.clickable:hover{transform:scale(1.2)}.rating-value{margin-left:8px;font-weight:600;color:var(--ion-color-dark)}.size-small .rating-value{font-size:12px}.size-medium .rating-value{font-size:14px}.size-large .rating-value{font-size:18px}\n"] }]
144
+ }], propDecorators: { props: [{
145
+ type: Input
146
+ }], ratingChange: [{
147
+ type: Output
148
+ }] } });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdGLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztBQThCMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQXRENUI7UUF5RFksaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUUvRCxlQUFVLEdBQWtCLElBQUksQ0FBQztLQWdFbEM7SUE5REMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDdkUsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxHQUFHLFFBQVEsVUFBVSxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEdBQUcsUUFBUSxPQUFPLENBQUM7UUFFM0QsSUFBSSxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksUUFBUSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMzRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFnQjtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUUsTUFBTSxRQUFRLEdBQUcsUUFBUSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLFFBQVEsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLENBQUM7UUFDeEYsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFdkQsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXhCLGdFQUFnRTtRQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLEdBQUcsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUM1QixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUMvQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLGlDQUFpQztZQUNqQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxRQUFRO2dCQUNmLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDaEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzsrR0FwRVUsZUFBZTttR0FBZixlQUFlLDZJQWxEaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVCw4dkJBdEJTLFlBQVksK0JBQUUsT0FBTzs7NEZBbURwQixlQUFlO2tCQXREM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUOzhCQThCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmF0aW5nTWV0YWRhdGEsIFJhdGluZ0NoYW5nZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IHN0YXIsIHN0YXJPdXRsaW5lLCBzdGFySGFsZiwgaGVhcnQsIGhlYXJ0T3V0bGluZSwgaGVhcnRIYWxmIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5hZGRJY29ucyh7IHN0YXIsIHN0YXJPdXRsaW5lLCBzdGFySGFsZiwgaGVhcnQsIGhlYXJ0T3V0bGluZSwgaGVhcnRIYWxmIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcmF0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyYXRpbmctY29udGFpbmVyXCJcbiAgICAgIFtjbGFzcy5yZWFkb25seV09XCJwcm9wcy5yZWFkb25seVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzXT1cIidzaXplLScgKyAocHJvcHMuc2l6ZSB8fCAnbWVkaXVtJylcIlxuICAgID5cbiAgICAgIEBmb3IgKGkgb2YgZ2V0U3RhcnMoKTsgdHJhY2sgaSkge1xuICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICBbbmFtZV09XCJnZXRTdGFySWNvbihpKVwiXG4gICAgICAgICAgW2NvbG9yXT1cImdldFN0YXJDb2xvcihpKVwiXG4gICAgICAgICAgW2NsYXNzLmNsaWNrYWJsZV09XCIhcHJvcHMucmVhZG9ubHkgJiYgIXByb3BzLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TdGFyQ2xpY2soaSlcIlxuICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uU3RhckhvdmVyKGkpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJvblN0YXJMZWF2ZSgpXCJcbiAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICB9XG4gICAgICBAaWYgKHByb3BzLnNob3dWYWx1ZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInJhdGluZy12YWx1ZVwiPnt7IGRpc3BsYXlWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcmF0aW5nXG4gKlxuICogQSBzdGFyIHJhdGluZyBjb21wb25lbnQgZm9yIGZlZWRiYWNrIGFuZCByZXZpZXdzLlxuICogU3VwcG9ydHMgaGFsZiBzdGFycyBhbmQgY3VzdG9tIGljb25zLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiA8dmFsLXJhdGluZyBbcHJvcHNdPVwie1xuICogICB2YWx1ZTogMy41LFxuICogICBtYXg6IDUsXG4gKiAgIGFsbG93SGFsZjogdHJ1ZVxuICogfVwiIChyYXRpbmdDaGFuZ2UpPVwib25SYXRpbmdDaGFuZ2UoJGV2ZW50KVwiPjwvdmFsLXJhdGluZz5cbiAqXG4gKiBAZXhhbXBsZSBSZWFkb25seSB3aXRoIGhlYXJ0c1xuICogPHZhbC1yYXRpbmcgW3Byb3BzXT1cIntcbiAqICAgdmFsdWU6IDQsXG4gKiAgIGljb246ICdoZWFydCcsXG4gKiAgIGljb25FbXB0eTogJ2hlYXJ0LW91dGxpbmUnLFxuICogICByZWFkb25seTogdHJ1ZSxcbiAqICAgY29sb3I6ICdkYW5nZXInLFxuICogICBzaG93VmFsdWU6IHRydWVcbiAqIH1cIj48L3ZhbC1yYXRpbmc+XG4gKlxuICogQGlucHV0IHByb3BzOiBSYXRpbmdNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSByYXRpbmdcbiAqIEBvdXRwdXQgcmF0aW5nQ2hhbmdlOiBSYXRpbmdDaGFuZ2VFdmVudCAtIEVtaXRzIHdoZW4gcmF0aW5nIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJhdGluZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb3BzOiBSYXRpbmdNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcmF0aW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSYXRpbmdDaGFuZ2VFdmVudD4oKTtcblxuICBob3ZlclZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBnZXQgZGlzcGxheVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaG92ZXJWYWx1ZSAhPT0gbnVsbCA/IHRoaXMuaG92ZXJWYWx1ZSA6IHRoaXMucHJvcHMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFycygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5wcm9wcy5tYXggfHwgNTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogbWF4IH0sIChfLCBpKSA9PiBpICsgMSk7XG4gIH1cblxuICBnZXRTdGFySWNvbihwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaG92ZXJWYWx1ZSAhPT0gbnVsbCA/IHRoaXMuaG92ZXJWYWx1ZSA6IHRoaXMucHJvcHMudmFsdWU7XG4gICAgY29uc3QgYmFzZUljb24gPSB0aGlzLnByb3BzLmljb24gfHwgJ3N0YXInO1xuICAgIGNvbnN0IGVtcHR5SWNvbiA9IHRoaXMucHJvcHMuaWNvbkVtcHR5IHx8IGAke2Jhc2VJY29ufS1vdXRsaW5lYDtcbiAgICBjb25zdCBoYWxmSWNvbiA9IHRoaXMucHJvcHMuaWNvbkhhbGYgfHwgYCR7YmFzZUljb259LWhhbGZgO1xuXG4gICAgaWYgKHBvc2l0aW9uIDw9IHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUljb247XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmFsbG93SGFsZiAmJiBwb3NpdGlvbiAtIDAuNSA8PSB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGhhbGZJY29uO1xuICAgIH1cbiAgICByZXR1cm4gZW1wdHlJY29uO1xuICB9XG5cbiAgZ2V0U3RhckNvbG9yKHBvc2l0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ob3ZlclZhbHVlICE9PSBudWxsID8gdGhpcy5ob3ZlclZhbHVlIDogdGhpcy5wcm9wcy52YWx1ZTtcbiAgICBjb25zdCBpc0ZpbGxlZCA9IHBvc2l0aW9uIDw9IHZhbHVlIHx8ICh0aGlzLnByb3BzLmFsbG93SGFsZiAmJiBwb3NpdGlvbiAtIDAuNSA8PSB2YWx1ZSk7XG4gICAgcmV0dXJuIGlzRmlsbGVkID8gKHRoaXMucHJvcHMuY29sb3IgfHwgJ3dhcm5pbmcnKSA6ICh0aGlzLnByb3BzLmVtcHR5Q29sb3IgfHwgJ21lZGl1bScpO1xuICB9XG5cbiAgb25TdGFyQ2xpY2socG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnJlYWRvbmx5IHx8IHRoaXMucHJvcHMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGxldCBuZXdWYWx1ZSA9IHBvc2l0aW9uO1xuXG4gICAgLy8gVG9nZ2xlIGhhbGYgdmFsdWUgaWYgY2xpY2tpbmcgc2FtZSBzdGFyIGFuZCBhbGxvd0hhbGYgaXMgdHJ1ZVxuICAgIGlmICh0aGlzLnByb3BzLmFsbG93SGFsZiAmJiBwb3NpdGlvbiA9PT0gTWF0aC5jZWlsKHRoaXMucHJvcHMudmFsdWUpKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSA9PT0gcG9zaXRpb24pIHtcbiAgICAgICAgbmV3VmFsdWUgPSBwb3NpdGlvbiAtIDAuNTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy52YWx1ZSA9PT0gcG9zaXRpb24gLSAwLjUpIHtcbiAgICAgICAgbmV3VmFsdWUgPSAwO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPT09IHRoaXMucHJvcHMudmFsdWUpIHtcbiAgICAgIC8vIENsaWNrIHNhbWUgc3RhciBhZ2FpbiB0byBjbGVhclxuICAgICAgbmV3VmFsdWUgPSAwO1xuICAgIH1cblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5wcm9wcy52YWx1ZSkge1xuICAgICAgdGhpcy5yYXRpbmdDaGFuZ2UuZW1pdCh7XG4gICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcbiAgICAgICAgcHJldmlvdXNWYWx1ZTogdGhpcy5wcm9wcy52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uU3RhckhvdmVyKHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5yZWFkb25seSB8fCB0aGlzLnByb3BzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5ob3ZlclZhbHVlID0gcG9zaXRpb247XG4gIH1cblxuICBvblN0YXJMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhvdmVyVmFsdWUgPSBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3JhdGluZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIHRoZSByYXRpbmcgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJhdGluZ01ldGFkYXRhIHtcbiAgLyoqIEN1cnJlbnQgcmF0aW5nIHZhbHVlICovXG4gIHZhbHVlOiBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIHJhdGluZyB2YWx1ZSAqL1xuICBtYXg/OiBudW1iZXI7XG4gIC8qKiBJY29uIG5hbWUgZm9yIGZpbGxlZCBzdGF0ZSAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKiogSWNvbiBuYW1lIGZvciBlbXB0eSBzdGF0ZSAqL1xuICBpY29uRW1wdHk/OiBzdHJpbmc7XG4gIC8qKiBJY29uIG5hbWUgZm9yIGhhbGYgc3RhdGUgKi9cbiAgaWNvbkhhbGY/OiBzdHJpbmc7XG4gIC8qKiBBbGxvdyBoYWxmIHZhbHVlcyAqL1xuICBhbGxvd0hhbGY/OiBib29sZWFuO1xuICAvKiogUmVhZG9ubHkgbW9kZSAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIC8qKiBEaXNhYmxlZCBzdGF0ZSAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBSYXRpbmcgY29sb3IgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIEVtcHR5IGljb24gY29sb3IgKi9cbiAgZW1wdHlDb2xvcj86IENvbG9yO1xuICAvKiogU2l6ZSB2YXJpYW50ICovXG4gIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICAvKiogU2hvdyBudW1lcmljIHZhbHVlICovXG4gIHNob3dWYWx1ZT86IGJvb2xlYW47XG4gIC8qKiBVbmlxdWUgdG9rZW4gaWRlbnRpZmllciAqL1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gcmF0aW5nIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF0aW5nQ2hhbmdlRXZlbnQge1xuICAvKiogTmV3IHJhdGluZyB2YWx1ZSAqL1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKiogUHJldmlvdXMgcmF0aW5nIHZhbHVlICovXG4gIHByZXZpb3VzVmFsdWU6IG51bWJlcjtcbn1cbiJdfQ==
@@ -39,8 +39,8 @@ export class SearchbarComponent {
39
39
  onBlur() {
40
40
  this.blurEvent.emit();
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchbarComponent, isStandalone: true, selector: "val-searchbar", inputs: { disabled: "disabled" }, outputs: { filterEvent: "filterEvent", focusEvent: "focusEvent", blurEvent: "blurEvent" }, ngImport: i0, template: `
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SearchbarComponent, isStandalone: true, selector: "val-searchbar", inputs: { disabled: "disabled" }, outputs: { filterEvent: "filterEvent", focusEvent: "focusEvent", blurEvent: "blurEvent" }, ngImport: i0, template: `
44
44
  <ion-searchbar
45
45
  mode="ios"
46
46
  debounce="500"
@@ -55,7 +55,7 @@ export class SearchbarComponent {
55
55
  </ion-searchbar>
56
56
  `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-searchbar{--cancel-button-color: var(--ion-color-dark);--background: var(--ion-color-light);font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "component", type: IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "name", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchbarComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchbarComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'val-searchbar', standalone: true, imports: [IonSearchbar], template: `
61
61
  <ion-searchbar
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
80
80
  }], blurEvent: [{
81
81
  type: Output
82
82
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NlYXJjaGJhci9zZWFyY2hiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQXNCekQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQXFCN0I7UUFmQTs7V0FFRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVuRDs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhEOztXQUVHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEMsQ0FBQztJQUVoQixRQUFRLENBQUMsTUFBVztRQUNsQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbENVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNNQTdCbkI7Ozs7Ozs7Ozs7Ozs7R0FhVCxxdUZBZFMsWUFBWTs7NEZBOEJYLGtCQUFrQjtrQkFqQzlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7O0dBYVQ7d0RBb0JRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uU2VhcmNoYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zZWFyY2hiYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSW9uU2VhcmNoYmFyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXNlYXJjaGJhclxuICAgICAgbW9kZT1cImlvc1wiXG4gICAgICBkZWJvdW5jZT1cIjUwMFwiXG4gICAgICBwbGFjZWhvbGRlcj1cIkLDunNxdWVkYVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbj1cImZvY3VzXCJcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ9XCJDYW5jZWxhclwiXG4gICAgICAoaW9uSW5wdXQpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAoaW9uRm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICA+XG4gICAgPC9pb24tc2VhcmNoYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1zZWFyY2hiYXJcbiAqXG4gKiBBIHNlYXJjaCBiYXIgY29tcG9uZW50IHdpdGggZGVib3VuY2UgYW5kIGV2ZW50IGVtaXR0ZXJzIGZvciBmaWx0ZXJpbmcsIGZvY3VzLCBhbmQgYmx1ci5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1zZWFyY2hiYXIgKGZpbHRlckV2ZW50KT1cIm9uRmlsdGVyKCRldmVudClcIiAoZm9jdXNFdmVudCk9XCJvbkZvY3VzKClcIiAoYmx1ckV2ZW50KT1cIm9uQmx1cigpXCI+PC92YWwtc2VhcmNoYmFyPlxuICpcbiAqIEBpbnB1dCBkaXNhYmxlZCAtIFdoZXRoZXIgdGhlIHNlYXJjaGJhciBpcyBkaXNhYmxlZC5cbiAqIEBvdXRwdXQgZmlsdGVyRXZlbnQgLSBFbWl0cyB0aGUgc2VhcmNoIHRlcm0gb24gaW5wdXQuXG4gKiBAb3V0cHV0IGZvY3VzRXZlbnQgLSBFbWl0cyB3aGVuIHRoZSBzZWFyY2hiYXIgZ2FpbnMgZm9jdXMuXG4gKiBAb3V0cHV0IGJsdXJFdmVudCAtIEVtaXRzIHdoZW4gdGhlIHNlYXJjaGJhciBsb3NlcyBmb2N1cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaGJhckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2hiYXIgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHNlYXJjaCB0ZXJtIG9uIGlucHV0LlxuICAgKi9cbiAgQE91dHB1dCgpIGZpbHRlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHNlYXJjaGJhciBnYWlucyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSBmb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBzZWFyY2hiYXIgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBAT3V0cHV0KCkgYmx1ckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvblNlYXJjaCgkZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSAkZXZlbnQuZGV0YWlsLnZhbHVlO1xuICAgIHRoaXMuZmlsdGVyRXZlbnQuZW1pdChzZWFyY2hUZXJtKTtcbiAgfVxuXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c0V2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBc0J6RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBcUI3QjtRQWZBOztXQUVHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5EOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFaEQ7O1dBRUc7UUFDTyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoQyxDQUFDO0lBRWhCLFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FsQ1Usa0JBQWtCO21HQUFsQixrQkFBa0Isc01BN0JuQjs7Ozs7Ozs7Ozs7OztHQWFULHF1RkFkUyxZQUFZOzs0RkE4Qlgsa0JBQWtCO2tCQWpDOUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2I7Ozs7Ozs7Ozs7Ozs7R0FhVDt3REFvQlEsUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25TZWFyY2hiYXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlYXJjaGJhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25TZWFyY2hiYXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tc2VhcmNoYmFyXG4gICAgICBtb2RlPVwiaW9zXCJcbiAgICAgIGRlYm91bmNlPVwiNTAwXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiQsO6c3F1ZWRhXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uPVwiZm9jdXNcIlxuICAgICAgY2FuY2VsQnV0dG9uVGV4dD1cIkNhbmNlbGFyXCJcbiAgICAgIChpb25JbnB1dCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIChpb25Gb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgID5cbiAgICA8L2lvbi1zZWFyY2hiYXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaGJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlYXJjaGJhclxuICpcbiAqIEEgc2VhcmNoIGJhciBjb21wb25lbnQgd2l0aCBkZWJvdW5jZSBhbmQgZXZlbnQgZW1pdHRlcnMgZm9yIGZpbHRlcmluZywgZm9jdXMsIGFuZCBibHVyLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXNlYXJjaGJhciAoZmlsdGVyRXZlbnQpPVwib25GaWx0ZXIoJGV2ZW50KVwiIChmb2N1c0V2ZW50KT1cIm9uRm9jdXMoKVwiIChibHVyRXZlbnQpPVwib25CbHVyKClcIj48L3ZhbC1zZWFyY2hiYXI+XG4gKlxuICogQGlucHV0IGRpc2FibGVkIC0gV2hldGhlciB0aGUgc2VhcmNoYmFyIGlzIGRpc2FibGVkLlxuICogQG91dHB1dCBmaWx0ZXJFdmVudCAtIEVtaXRzIHRoZSBzZWFyY2ggdGVybSBvbiBpbnB1dC5cbiAqIEBvdXRwdXQgZm9jdXNFdmVudCAtIEVtaXRzIHdoZW4gdGhlIHNlYXJjaGJhciBnYWlucyBmb2N1cy5cbiAqIEBvdXRwdXQgYmx1ckV2ZW50IC0gRW1pdHMgd2hlbiB0aGUgc2VhcmNoYmFyIGxvc2VzIGZvY3VzLlxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoYmFyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaGJhciBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VhcmNoIHRlcm0gb24gaW5wdXQuXG4gICAqL1xuICBAT3V0cHV0KCkgZmlsdGVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgc2VhcmNoYmFyIGdhaW5zIGZvY3VzLlxuICAgKi9cbiAgQE91dHB1dCgpIGZvY3VzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIHNlYXJjaGJhciBsb3NlcyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSBibHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG9uU2VhcmNoKCRldmVudDogYW55KSB7XG4gICAgY29uc3Qgc2VhcmNoVGVybSA9ICRldmVudC5kZXRhaWwudmFsdWU7XG4gICAgdGhpcy5maWx0ZXJFdmVudC5lbWl0KHNlYXJjaFRlcm0pO1xuICB9XG5cbiAgb25Gb2N1cygpIHtcbiAgICB0aGlzLmZvY3VzRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,145 @@
1
+ import { Component, Input, inject, Output, EventEmitter } from '@angular/core';
2
+ import { IonSegment, IonSegmentButton, IonLabel, IonIcon } from '@ionic/angular/standalone';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ComponentStates } from '../../types';
5
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
6
+ import { addIcons } from 'ionicons';
7
+ import { list, grid, apps, menu, settings, home, search, person, heart, star } from 'ionicons/icons';
8
+ import * as i0 from "@angular/core";
9
+ // Register common icons
10
+ addIcons({ list, grid, apps, menu, settings, home, search, person, heart, star });
11
+ /**
12
+ * val-segment-control
13
+ *
14
+ * A segmented control for switching between views or options.
15
+ * Commonly used for list/grid toggles, tab-like navigation inline.
16
+ *
17
+ * @example Basic usage
18
+ * <val-segment-control [props]="{
19
+ * options: [
20
+ * { value: 'list', label: 'List', icon: 'list' },
21
+ * { value: 'grid', label: 'Grid', icon: 'grid' }
22
+ * ],
23
+ * value: 'list'
24
+ * }" (segmentChange)="onViewChange($event)"></val-segment-control>
25
+ *
26
+ * @example With reactive content
27
+ * <val-segment-control [props]="{
28
+ * options: [
29
+ * { value: 'all', contentKey: 'allItems', contentClass: 'FilterComponent' },
30
+ * { value: 'favorites', contentKey: 'favorites', contentClass: 'FilterComponent' }
31
+ * ],
32
+ * value: 'all',
33
+ * color: 'secondary'
34
+ * }"></val-segment-control>
35
+ *
36
+ * @input props: SegmentControlMetadata - Configuration for the segment control
37
+ * @output segmentChange: string - Emits the selected value when changed
38
+ */
39
+ export class SegmentControlComponent {
40
+ constructor() {
41
+ /**
42
+ * Emits the selected value when the segment changes.
43
+ */
44
+ this.segmentChange = new EventEmitter();
45
+ this.states = ComponentStates;
46
+ this.optionLabels = new Map();
47
+ this.langService = inject(LangService);
48
+ this.subscriptions = [];
49
+ }
50
+ ngOnInit() {
51
+ this.setupOptionLabels();
52
+ }
53
+ ngOnDestroy() {
54
+ this.subscriptions.forEach((sub) => sub.unsubscribe());
55
+ }
56
+ onSegmentChange(event) {
57
+ const value = event.detail.value;
58
+ this.segmentChange.emit(value);
59
+ }
60
+ getOptionLabel(option) {
61
+ if (option.label) {
62
+ return option.label;
63
+ }
64
+ return this.optionLabels.get(option.value) || option.contentFallback || '';
65
+ }
66
+ setupOptionLabels() {
67
+ this.props.options.forEach((option) => {
68
+ if (option.label) {
69
+ this.optionLabels.set(option.value, option.label);
70
+ }
71
+ else if (option.contentKey && option.contentClass) {
72
+ const sub = this.langService
73
+ .getContent(option.contentClass, option.contentKey, option.contentFallback)
74
+ .subscribe((content) => {
75
+ this.optionLabels.set(option.value, content);
76
+ });
77
+ this.subscriptions.push(sub);
78
+ }
79
+ else if (option.contentFallback) {
80
+ this.optionLabels.set(option.value, option.contentFallback);
81
+ }
82
+ });
83
+ }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SegmentControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SegmentControlComponent, isStandalone: true, selector: "val-segment-control", inputs: { props: "props" }, outputs: { segmentChange: "segmentChange" }, ngImport: i0, template: `
86
+ <ion-segment
87
+ [value]="props.value"
88
+ [color]="props.color || 'primary'"
89
+ [disabled]="props.state === states.DISABLED || props.disabled"
90
+ [scrollable]="props.scrollable ?? false"
91
+ [swipeGesture]="props.swipeGesture ?? true"
92
+ [mode]="props.mode"
93
+ (ionChange)="onSegmentChange($event)"
94
+ >
95
+ @for (option of props.options; track option.value) {
96
+ <ion-segment-button
97
+ [value]="option.value"
98
+ [disabled]="option.disabled"
99
+ [layout]="option.layout || 'icon-top'"
100
+ >
101
+ @if (option.icon) {
102
+ <ion-icon [name]="option.icon"></ion-icon>
103
+ }
104
+ @if (getOptionLabel(option)) {
105
+ <ion-label>{{ getOptionLabel(option) }}</ion-label>
106
+ }
107
+ </ion-segment-button>
108
+ }
109
+ </ion-segment>
110
+ `, isInline: true, styles: [":host{display:block}ion-segment{--background: var(--ion-color-light);border-radius:8px}ion-segment-button{--indicator-box-shadow: none;--indicator-color: var(--ion-color-primary);--color: var(--ion-color-medium);--color-checked: var(--ion-color-primary-contrast);--border-radius: 6px;min-width:80px;text-transform:none;font-weight:500}ion-icon{font-size:18px}ion-label{font-size:13px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: IonSegmentButton, selector: "ion-segment-button", inputs: ["contentId", "disabled", "layout", "mode", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SegmentControlComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'val-segment-control', standalone: true, imports: [CommonModule, IonSegment, IonSegmentButton, IonLabel, IonIcon], template: `
115
+ <ion-segment
116
+ [value]="props.value"
117
+ [color]="props.color || 'primary'"
118
+ [disabled]="props.state === states.DISABLED || props.disabled"
119
+ [scrollable]="props.scrollable ?? false"
120
+ [swipeGesture]="props.swipeGesture ?? true"
121
+ [mode]="props.mode"
122
+ (ionChange)="onSegmentChange($event)"
123
+ >
124
+ @for (option of props.options; track option.value) {
125
+ <ion-segment-button
126
+ [value]="option.value"
127
+ [disabled]="option.disabled"
128
+ [layout]="option.layout || 'icon-top'"
129
+ >
130
+ @if (option.icon) {
131
+ <ion-icon [name]="option.icon"></ion-icon>
132
+ }
133
+ @if (getOptionLabel(option)) {
134
+ <ion-label>{{ getOptionLabel(option) }}</ion-label>
135
+ }
136
+ </ion-segment-button>
137
+ }
138
+ </ion-segment>
139
+ `, styles: [":host{display:block}ion-segment{--background: var(--ion-color-light);border-radius:8px}ion-segment-button{--indicator-box-shadow: none;--indicator-color: var(--ion-color-primary);--color: var(--ion-color-medium);--color-checked: var(--ion-color-primary-contrast);--border-radius: 6px;min-width:80px;text-transform:none;font-weight:500}ion-icon{font-size:18px}ion-label{font-size:13px}\n"] }]
140
+ }], propDecorators: { props: [{
141
+ type: Input
142
+ }], segmentChange: [{
143
+ type: Output
144
+ }] } });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckcsd0JBQXdCO0FBQ3hCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFrQ2xGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBNURwQztRQW1FRTs7V0FFRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVyRCxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBQ3pCLGlCQUFZLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFdEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0tBc0M1QztJQXBDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFrQjtRQUNoQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXFCO1FBQ2xDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7SUFDN0UsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVztxQkFDekIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDO3FCQUMxRSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FyRFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsd0pBeER4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVCwyY0ExQlMsWUFBWSwrQkFBRSxVQUFVLHVKQUFFLGdCQUFnQixxSUFBRSxRQUFRLDZGQUFFLE9BQU87OzRGQXlENUQsdUJBQXVCO2tCQTVEbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFlBQzlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJUOzhCQW9DUSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBpbmplY3QsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25TZWdtZW50LCBJb25TZWdtZW50QnV0dG9uLCBJb25MYWJlbCwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VnbWVudENvbnRyb2xNZXRhZGF0YSwgU2VnbWVudE9wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGxpc3QsIGdyaWQsIGFwcHMsIG1lbnUsIHNldHRpbmdzLCBob21lLCBzZWFyY2gsIHBlcnNvbiwgaGVhcnQsIHN0YXIgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbi8vIFJlZ2lzdGVyIGNvbW1vbiBpY29uc1xuYWRkSWNvbnMoeyBsaXN0LCBncmlkLCBhcHBzLCBtZW51LCBzZXR0aW5ncywgaG9tZSwgc2VhcmNoLCBwZXJzb24sIGhlYXJ0LCBzdGFyIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VnbWVudC1jb250cm9sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uU2VnbWVudCwgSW9uU2VnbWVudEJ1dHRvbiwgSW9uTGFiZWwsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tc2VnbWVudFxuICAgICAgW3ZhbHVlXT1cInByb3BzLnZhbHVlXCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRUQgfHwgcHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW3Njcm9sbGFibGVdPVwicHJvcHMuc2Nyb2xsYWJsZSA/PyBmYWxzZVwiXG4gICAgICBbc3dpcGVHZXN0dXJlXT1cInByb3BzLnN3aXBlR2VzdHVyZSA/PyB0cnVlXCJcbiAgICAgIFttb2RlXT1cInByb3BzLm1vZGVcIlxuICAgICAgKGlvbkNoYW5nZSk9XCJvblNlZ21lbnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzLm9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuICAgICAgICA8aW9uLXNlZ21lbnQtYnV0dG9uXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgW2xheW91dF09XCJvcHRpb24ubGF5b3V0IHx8ICdpY29uLXRvcCdcIlxuICAgICAgICA+XG4gICAgICAgICAgQGlmIChvcHRpb24uaWNvbikge1xuICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cIm9wdGlvbi5pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChnZXRPcHRpb25MYWJlbChvcHRpb24pKSB7XG4gICAgICAgICAgICA8aW9uLWxhYmVsPnt7IGdldE9wdGlvbkxhYmVsKG9wdGlvbikgfX08L2lvbi1sYWJlbD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLXNlZ21lbnQtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvaW9uLXNlZ21lbnQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlZ21lbnQtY29udHJvbFxuICpcbiAqIEEgc2VnbWVudGVkIGNvbnRyb2wgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIHZpZXdzIG9yIG9wdGlvbnMuXG4gKiBDb21tb25seSB1c2VkIGZvciBsaXN0L2dyaWQgdG9nZ2xlcywgdGFiLWxpa2UgbmF2aWdhdGlvbiBpbmxpbmUuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIDx2YWwtc2VnbWVudC1jb250cm9sIFtwcm9wc109XCJ7XG4gKiAgIG9wdGlvbnM6IFtcbiAqICAgICB7IHZhbHVlOiAnbGlzdCcsIGxhYmVsOiAnTGlzdCcsIGljb246ICdsaXN0JyB9LFxuICogICAgIHsgdmFsdWU6ICdncmlkJywgbGFiZWw6ICdHcmlkJywgaWNvbjogJ2dyaWQnIH1cbiAqICAgXSxcbiAqICAgdmFsdWU6ICdsaXN0J1xuICogfVwiIChzZWdtZW50Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCI+PC92YWwtc2VnbWVudC1jb250cm9sPlxuICpcbiAqIEBleGFtcGxlIFdpdGggcmVhY3RpdmUgY29udGVudFxuICogPHZhbC1zZWdtZW50LWNvbnRyb2wgW3Byb3BzXT1cIntcbiAqICAgb3B0aW9uczogW1xuICogICAgIHsgdmFsdWU6ICdhbGwnLCBjb250ZW50S2V5OiAnYWxsSXRlbXMnLCBjb250ZW50Q2xhc3M6ICdGaWx0ZXJDb21wb25lbnQnIH0sXG4gKiAgICAgeyB2YWx1ZTogJ2Zhdm9yaXRlcycsIGNvbnRlbnRLZXk6ICdmYXZvcml0ZXMnLCBjb250ZW50Q2xhc3M6ICdGaWx0ZXJDb21wb25lbnQnIH1cbiAqICAgXSxcbiAqICAgdmFsdWU6ICdhbGwnLFxuICogICBjb2xvcjogJ3NlY29uZGFyeSdcbiAqIH1cIj48L3ZhbC1zZWdtZW50LWNvbnRyb2w+XG4gKlxuICogQGlucHV0IHByb3BzOiBTZWdtZW50Q29udHJvbE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNlZ21lbnQgY29udHJvbFxuICogQG91dHB1dCBzZWdtZW50Q2hhbmdlOiBzdHJpbmcgLSBFbWl0cyB0aGUgc2VsZWN0ZWQgdmFsdWUgd2hlbiBjaGFuZ2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWdtZW50Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7U2VnbWVudENvbnRyb2xNZXRhZGF0YX1cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBTZWdtZW50Q29udHJvbE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgdmFsdWUgd2hlbiB0aGUgc2VnbWVudCBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpIHNlZ21lbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG4gIG9wdGlvbkxhYmVsczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcblxuICBwcml2YXRlIGxhbmdTZXJ2aWNlID0gaW5qZWN0KExhbmdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBPcHRpb25MYWJlbHMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIG9uU2VnbWVudENoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZTtcbiAgICB0aGlzLnNlZ21lbnRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBnZXRPcHRpb25MYWJlbChvcHRpb246IFNlZ21lbnRPcHRpb24pOiBzdHJpbmcge1xuICAgIGlmIChvcHRpb24ubGFiZWwpIHtcbiAgICAgIHJldHVybiBvcHRpb24ubGFiZWw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9wdGlvbkxhYmVscy5nZXQob3B0aW9uLnZhbHVlKSB8fCBvcHRpb24uY29udGVudEZhbGxiYWNrIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cE9wdGlvbkxhYmVscygpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBpZiAob3B0aW9uLmxhYmVsKSB7XG4gICAgICAgIHRoaXMub3B0aW9uTGFiZWxzLnNldChvcHRpb24udmFsdWUsIG9wdGlvbi5sYWJlbCk7XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5jb250ZW50S2V5ICYmIG9wdGlvbi5jb250ZW50Q2xhc3MpIHtcbiAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5sYW5nU2VydmljZVxuICAgICAgICAgIC5nZXRDb250ZW50KG9wdGlvbi5jb250ZW50Q2xhc3MsIG9wdGlvbi5jb250ZW50S2V5LCBvcHRpb24uY29udGVudEZhbGxiYWNrKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uTGFiZWxzLnNldChvcHRpb24udmFsdWUsIGNvbnRlbnQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgfSBlbHNlIGlmIChvcHRpb24uY29udGVudEZhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMub3B0aW9uTGFiZWxzLnNldChvcHRpb24udmFsdWUsIG9wdGlvbi5jb250ZW50RmFsbGJhY2spO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NlZ21lbnQtY29udHJvbC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLyoqXG4gKiBPcHRpb24gZm9yIHNlZ21lbnQgY29udHJvbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWdtZW50T3B0aW9uIHtcbiAgLyoqIFVuaXF1ZSB2YWx1ZSBmb3IgdGhlIG9wdGlvbiAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogRGlzcGxheSBsYWJlbCAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIEljb24gbmFtZSAoSW9uaWNvbnMpICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBvcHRpb24gaXMgZGlzYWJsZWQgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTGF5b3V0IGRpcmVjdGlvbiBmb3IgaWNvbiBhbmQgbGFiZWwgKi9cbiAgbGF5b3V0PzogJ2ljb24tc3RhcnQnIHwgJ2ljb24tZW5kJyB8ICdpY29uLXRvcCcgfCAnaWNvbi1ib3R0b20nO1xuICAvKiogUmVhY3RpdmUgY29udGVudCBrZXkgZm9yIGxhYmVsICovXG4gIGNvbnRlbnRLZXk/OiBzdHJpbmc7XG4gIC8qKiBDb21wb25lbnQgY2xhc3MgbmFtZSBmb3IgY29udGVudCBsb29rdXAgKi9cbiAgY29udGVudENsYXNzPzogc3RyaW5nO1xuICAvKiogRmFsbGJhY2sgdGV4dCBpZiBjb250ZW50S2V5IGlzIG5vdCBmb3VuZCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIHRoZSBzZWdtZW50IGNvbnRyb2wgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlZ21lbnRDb250cm9sTWV0YWRhdGEge1xuICAvKiogQXZhaWxhYmxlIG9wdGlvbnMgKi9cbiAgb3B0aW9uczogU2VnbWVudE9wdGlvbltdO1xuICAvKiogQ3VycmVudGx5IHNlbGVjdGVkIHZhbHVlICovXG4gIHZhbHVlPzogc3RyaW5nO1xuICAvKiogU2VnbWVudCBjb2xvciAqL1xuICBjb2xvcj86IENvbG9yO1xuICAvKiogQ29tcG9uZW50IHN0YXRlICovXG4gIHN0YXRlPzogQ29tcG9uZW50U3RhdGU7XG4gIC8qKiBFbmFibGUvZGlzYWJsZSBlbnRpcmUgc2VnbWVudCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBTY3JvbGwgc2VnbWVudHMgaG9yaXpvbnRhbGx5ICovXG4gIHNjcm9sbGFibGU/OiBib29sZWFuO1xuICAvKiogU3dpcGUgdG8gY2hhbmdlIHNlZ21lbnRzIChpT1Mgb25seSkgKi9cbiAgc3dpcGVHZXN0dXJlPzogYm9vbGVhbjtcbiAgLyoqIE1vZGUgc3R5bGUgKi9cbiAgbW9kZT86ICdpb3MnIHwgJ21kJztcbiAgLyoqIFVuaXF1ZSB0b2tlbiBpZGVudGlmaWVyICovXG4gIHRva2VuPzogc3RyaW5nO1xufVxuIl19
@@ -28,8 +28,8 @@ export class SearchSelectorComponent {
28
28
  }
29
29
  this.customModalOptions.header = this.props.label;
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SearchSelectorComponent, isStandalone: true, selector: "val-select-input", inputs: { props: "props" }, ngImport: i0, template: `
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SearchSelectorComponent, isStandalone: true, selector: "val-select-input", inputs: { props: "props" }, ngImport: i0, template: `
33
33
  <ion-select
34
34
  [formControl]="props.control"
35
35
  [label]="props.label"
@@ -43,9 +43,9 @@ export class SearchSelectorComponent {
43
43
  <ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
44
44
  }
45
45
  </ion-select>
46
- `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
46
+ `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchSelectorComponent, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ selector: 'val-select-input', standalone: true, imports: [ReactiveFormsModule, IonSelect, IonSelectOption], template: `
51
51
  <ion-select
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
65
65
  }], ctorParameters: () => [], propDecorators: { props: [{
66
66
  type: Input
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQXdCdkU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEM7UUFOQSx1QkFBa0IsR0FBRztZQUNuQixNQUFNLEVBQUUsWUFBWTtZQUNwQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQ3JCLGlCQUFpQixFQUFFLEdBQUc7U0FDdkIsQ0FBQztJQUVhLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQzsrR0F4QlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsd0dBM0J4Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVCx5RUFmUyxtQkFBbUIsMFRBQUUsU0FBUyx1VEFBRSxlQUFlOzs0RkE0QjlDLHVCQUF1QjtrQkEvQm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsWUFDaEQ7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7d0RBc0JRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zZWxlY3QtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tc2VsZWN0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwicHJvcHMuY29udHJvbFwiXG4gICAgICBbbGFiZWxdPVwicHJvcHMubGFiZWxcIlxuICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwiY3VzdG9tTW9kYWxPcHRpb25zXCJcbiAgICAgIGludGVyZmFjZT1cIm1vZGFsXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJbcHJvcHMucGxhY2Vob2xkZXJdXCJcbiAgICAgIGNhbmNlbFRleHQ9XCJDYW5jZWxhclwiXG4gICAgICBva1RleHQ9XCJPa1wiXG4gICAgPlxuICAgICAgQGZvciAobyBvZiBwcm9wcy5vcHRpb25zOyB0cmFjayBvLmlkKSB7XG4gICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiby5pZFwiPnt7IG8ubmFtZSB9fTwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9pb24tc2VsZWN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1zZWxlY3QtaW5wdXRcbiAqXG4gKiBBIHNlbGVjdC9kcm9wZG93biBpbnB1dCBpbnRlZ3JhdGVkIHdpdGggQW5ndWxhciBmb3JtcywgdXNpbmcgSW9uaWMncyBzZWxlY3QgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIGxhYmVsOiAnQ2hvb3NlJywgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wdGlvbiAxJyB9XSB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzZWxlY3QgaW5wdXQgKGZvcm0gY29udHJvbCwgbGFiZWwsIG9wdGlvbnMsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBJbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0lucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBsYWJlbCAtIFRoZSBsYWJlbCBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IG9wdGlvbnMgLSBUaGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIHRoZSBzZWxlY3QuXG4gICAqIEBwcm9wZXJ0eSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0ZXh0LlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgY3VzdG9tTW9kYWxPcHRpb25zID0ge1xuICAgIGhlYWRlcjogJ1NlbGVjY2lvbmUnLFxuICAgIGJyZWFrcG9pbnRzOiBbMCwgMC42XSxcbiAgICBpbml0aWFsQnJlYWtwb2ludDogMC42LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wcm9wcz8ud2l0aERlZmF1bHQgfHwgdGhpcy5wcm9wcz8udmFsdWUpIHtcbiAgICAgIGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sKHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICB0aGlzLmN1c3RvbU1vZGFsT3B0aW9ucy5oZWFkZXIgPSB0aGlzLnByb3BzLmxhYmVsO1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBd0J2RTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBaUJsQztRQU5BLHVCQUFrQixHQUFHO1lBQ25CLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO0lBRWEsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNwRCxDQUFDOytHQXhCVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3R0EzQnhCOzs7Ozs7Ozs7Ozs7OztHQWNULHlFQWZTLG1CQUFtQiwwVEFBRSxTQUFTLGtWQUFFLGVBQWU7OzRGQTRCOUMsdUJBQXVCO2tCQS9CbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxZQUNoRDs7Ozs7Ozs7Ozs7Ozs7R0FjVDt3REFzQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlbGVjdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1zZWxlY3RcbiAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJwcm9wcy5sYWJlbFwiXG4gICAgICBbaW50ZXJmYWNlT3B0aW9uc109XCJjdXN0b21Nb2RhbE9wdGlvbnNcIlxuICAgICAgaW50ZXJmYWNlPVwibW9kYWxcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIltwcm9wcy5wbGFjZWhvbGRlcl1cIlxuICAgICAgY2FuY2VsVGV4dD1cIkNhbmNlbGFyXCJcbiAgICAgIG9rVGV4dD1cIk9rXCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHByb3BzLm9wdGlvbnM7IHRyYWNrIG8uaWQpIHtcbiAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvLmlkXCI+e3sgby5uYW1lIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgbGFiZWw6ICdDaG9vc2UnLCBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3B0aW9uIDEnIH1dIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNlbGVjdCBpbnB1dCAoZm9ybSBjb250cm9sLCBsYWJlbCwgb3B0aW9ucywgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBjdXN0b21Nb2RhbE9wdGlvbnMgPSB7XG4gICAgaGVhZGVyOiAnU2VsZWNjaW9uZScsXG4gICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIHRoaXMuY3VzdG9tTW9kYWxPcHRpb25zLmhlYWRlciA9IHRoaXMucHJvcHMubGFiZWw7XG4gIH1cbn1cbiJdfQ==