@updevs/components 1.0.0-alpha.99 → 1.0.0-beta.1

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 (688) hide show
  1. package/fesm2022/updevs-components-badge.mjs +21 -21
  2. package/fesm2022/updevs-components-badge.mjs.map +1 -1
  3. package/fesm2022/updevs-components-button.mjs +39 -39
  4. package/fesm2022/updevs-components-button.mjs.map +1 -1
  5. package/fesm2022/updevs-components-calendar.mjs +41 -41
  6. package/fesm2022/updevs-components-calendar.mjs.map +1 -1
  7. package/fesm2022/updevs-components-card.mjs +24 -20
  8. package/fesm2022/updevs-components-card.mjs.map +1 -1
  9. package/fesm2022/updevs-components-drag-and-drop.mjs +17 -17
  10. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -1
  11. package/fesm2022/updevs-components-dropdown.mjs +10 -10
  12. package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
  13. package/fesm2022/updevs-components-form-controls-abstractions.mjs +19 -19
  14. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -1
  15. package/fesm2022/updevs-components-form-controls-checkbox.mjs +16 -16
  16. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -1
  17. package/fesm2022/updevs-components-form-controls-date-picker.mjs +8 -8
  18. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
  19. package/fesm2022/updevs-components-form-controls-file-upload.mjs +26 -26
  20. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -1
  21. package/fesm2022/updevs-components-form-controls-input.mjs +16 -14
  22. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
  23. package/fesm2022/updevs-components-form-controls-radio.mjs +8 -8
  24. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -1
  25. package/fesm2022/updevs-components-form-controls-select.mjs +52 -48
  26. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -1
  27. package/fesm2022/updevs-components-form-controls-textarea.mjs +15 -15
  28. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -1
  29. package/fesm2022/updevs-components-form-controls-time-picker.mjs +12 -12
  30. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -1
  31. package/fesm2022/updevs-components-form.mjs +31 -31
  32. package/fesm2022/updevs-components-form.mjs.map +1 -1
  33. package/fesm2022/updevs-components-layout.mjs +112 -110
  34. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  35. package/fesm2022/updevs-components-link.mjs +8 -8
  36. package/fesm2022/updevs-components-link.mjs.map +1 -1
  37. package/fesm2022/updevs-components-list.mjs +8 -8
  38. package/fesm2022/updevs-components-list.mjs.map +1 -1
  39. package/fesm2022/updevs-components-modal.mjs +25 -24
  40. package/fesm2022/updevs-components-modal.mjs.map +1 -1
  41. package/fesm2022/updevs-components-paginator.mjs +36 -36
  42. package/fesm2022/updevs-components-paginator.mjs.map +1 -1
  43. package/fesm2022/updevs-components-popover.mjs +13 -12
  44. package/fesm2022/updevs-components-popover.mjs.map +1 -1
  45. package/fesm2022/updevs-components-pricing.mjs +22 -22
  46. package/fesm2022/updevs-components-pricing.mjs.map +1 -1
  47. package/fesm2022/updevs-components-table.mjs +181 -208
  48. package/fesm2022/updevs-components-table.mjs.map +1 -1
  49. package/fesm2022/updevs-components.mjs +4 -4
  50. package/package.json +67 -111
  51. package/types/updevs-components-badge.d.ts +44 -0
  52. package/types/updevs-components-button.d.ts +75 -0
  53. package/types/updevs-components-calendar.d.ts +175 -0
  54. package/{card/card.component.d.ts → types/updevs-components-card.d.ts} +50 -12
  55. package/types/updevs-components-drag-and-drop.d.ts +74 -0
  56. package/{dropdown/dropdown.component.d.ts → types/updevs-components-dropdown.d.ts} +52 -8
  57. package/types/updevs-components-form-controls-abstractions.d.ts +49 -0
  58. package/types/updevs-components-form-controls-checkbox.d.ts +33 -0
  59. package/{form-controls/date-picker/date-picker.component.d.ts → types/updevs-components-form-controls-date-picker.d.ts} +17 -3
  60. package/types/updevs-components-form-controls-file-upload.d.ts +69 -0
  61. package/{form-controls/input/input.component.d.ts → types/updevs-components-form-controls-input.d.ts} +33 -7
  62. package/{form-controls/radio/radio.component.d.ts → types/updevs-components-form-controls-radio.d.ts} +14 -2
  63. package/types/updevs-components-form-controls-select.d.ts +200 -0
  64. package/types/updevs-components-form-controls-textarea.d.ts +31 -0
  65. package/types/updevs-components-form-controls-time-picker.d.ts +164 -0
  66. package/types/updevs-components-form.d.ts +356 -0
  67. package/types/updevs-components-layout.d.ts +490 -0
  68. package/{link/link.component.d.ts → types/updevs-components-link.d.ts} +16 -4
  69. package/types/updevs-components-list.d.ts +107 -0
  70. package/types/updevs-components-modal.d.ts +155 -0
  71. package/types/updevs-components-paginator.d.ts +58 -0
  72. package/types/updevs-components-popover.d.ts +63 -0
  73. package/types/updevs-components-pricing.d.ts +91 -0
  74. package/types/updevs-components-table.d.ts +619 -0
  75. package/types/updevs-components.d.ts +44 -0
  76. package/badge/badge-config.model.d.ts +0 -14
  77. package/badge/badge.component.d.ts +0 -23
  78. package/badge/badge.config.d.ts +0 -12
  79. package/badge/index.d.ts +0 -1
  80. package/badge/public-api.d.ts +0 -3
  81. package/badge/upd-badge.module.d.ts +0 -8
  82. package/button/button.component.d.ts +0 -62
  83. package/button/index.d.ts +0 -1
  84. package/button/public-api.d.ts +0 -2
  85. package/button/upd-button.module.d.ts +0 -10
  86. package/calendar/calendar.component.d.ts +0 -63
  87. package/calendar/index.d.ts +0 -1
  88. package/calendar/models/calendar-date.model.d.ts +0 -10
  89. package/calendar/models/calendar-month.model.d.ts +0 -7
  90. package/calendar/models/calendar-selected.model.d.ts +0 -5
  91. package/calendar/models/calendar-user-event.model.d.ts +0 -4
  92. package/calendar/models/calendar-year.model.d.ts +0 -6
  93. package/calendar/models/date-range.model.d.ts +0 -22
  94. package/calendar/models/enums/calendar-view.enum.d.ts +0 -5
  95. package/calendar/models/public-api.d.ts +0 -7
  96. package/calendar/public-api.d.ts +0 -5
  97. package/calendar/services/calendar-range-strategy.service.d.ts +0 -35
  98. package/calendar/services/calendar-signals.service.d.ts +0 -24
  99. package/calendar/services/public-api.d.ts +0 -1
  100. package/calendar/types/calendar-view.type.d.ts +0 -1
  101. package/calendar/types/public-api.d.ts +0 -1
  102. package/calendar/upd-calendar.module.d.ts +0 -13
  103. package/card/directives/card-actions.directive.d.ts +0 -7
  104. package/card/directives/card-footer.directive.d.ts +0 -7
  105. package/card/directives/card-header.directive.d.ts +0 -7
  106. package/card/directives/card-image.directive.d.ts +0 -7
  107. package/card/directives/public-api.d.ts +0 -4
  108. package/card/index.d.ts +0 -1
  109. package/card/public-api.d.ts +0 -4
  110. package/card/types/card-state.type.d.ts +0 -1
  111. package/card/types/card-style.type.d.ts +0 -1
  112. package/card/types/hover-effect.type.d.ts +0 -1
  113. package/card/types/public-api.d.ts +0 -5
  114. package/card/types/ribbon-style.type.d.ts +0 -1
  115. package/card/types/status-position.type.d.ts +0 -1
  116. package/card/upd-card.module.d.ts +0 -14
  117. package/drag-and-drop/drag-and-drop.component.d.ts +0 -26
  118. package/drag-and-drop/index.d.ts +0 -1
  119. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +0 -8
  120. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +0 -10
  121. package/drag-and-drop/models/drag-and-drop-item.d.ts +0 -7
  122. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +0 -13
  123. package/drag-and-drop/models/drag-and-drop.config.d.ts +0 -6
  124. package/drag-and-drop/models/public-api.d.ts +0 -4
  125. package/drag-and-drop/public-api.d.ts +0 -3
  126. package/drag-and-drop/upd-drag-and-drop.module.d.ts +0 -9
  127. package/dropdown/index.d.ts +0 -1
  128. package/dropdown/models/dropdown-action-clicked.model.d.ts +0 -6
  129. package/dropdown/models/dropdown-item.d.ts +0 -25
  130. package/dropdown/models/dropdown-item.type.d.ts +0 -1
  131. package/dropdown/models/public-api.d.ts +0 -4
  132. package/dropdown/models/toolbar.type.d.ts +0 -1
  133. package/dropdown/public-api.d.ts +0 -3
  134. package/dropdown/upd-dropdown.module.d.ts +0 -12
  135. package/esm2022/badge/badge-config.model.mjs +0 -14
  136. package/esm2022/badge/badge.component.mjs +0 -48
  137. package/esm2022/badge/badge.config.mjs +0 -2
  138. package/esm2022/badge/index.mjs +0 -2
  139. package/esm2022/badge/public-api.mjs +0 -4
  140. package/esm2022/badge/upd-badge.module.mjs +0 -24
  141. package/esm2022/badge/updevs-components-badge.mjs +0 -5
  142. package/esm2022/button/button.component.mjs +0 -157
  143. package/esm2022/button/index.mjs +0 -2
  144. package/esm2022/button/public-api.mjs +0 -3
  145. package/esm2022/button/upd-button.module.mjs +0 -32
  146. package/esm2022/button/updevs-components-button.mjs +0 -5
  147. package/esm2022/calendar/assets/i18n/en.json +0 -16
  148. package/esm2022/calendar/assets/i18n/pt.json +0 -16
  149. package/esm2022/calendar/calendar.component.mjs +0 -318
  150. package/esm2022/calendar/index.mjs +0 -2
  151. package/esm2022/calendar/models/calendar-date.model.mjs +0 -2
  152. package/esm2022/calendar/models/calendar-month.model.mjs +0 -2
  153. package/esm2022/calendar/models/calendar-selected.model.mjs +0 -2
  154. package/esm2022/calendar/models/calendar-user-event.model.mjs +0 -2
  155. package/esm2022/calendar/models/calendar-year.model.mjs +0 -2
  156. package/esm2022/calendar/models/date-range.model.mjs +0 -18
  157. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +0 -7
  158. package/esm2022/calendar/models/public-api.mjs +0 -8
  159. package/esm2022/calendar/public-api.mjs +0 -6
  160. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +0 -99
  161. package/esm2022/calendar/services/calendar-signals.service.mjs +0 -47
  162. package/esm2022/calendar/services/public-api.mjs +0 -2
  163. package/esm2022/calendar/types/calendar-view.type.mjs +0 -2
  164. package/esm2022/calendar/types/public-api.mjs +0 -2
  165. package/esm2022/calendar/upd-calendar.module.mjs +0 -52
  166. package/esm2022/calendar/updevs-components-calendar.mjs +0 -5
  167. package/esm2022/card/card.component.mjs +0 -136
  168. package/esm2022/card/directives/card-actions.directive.mjs +0 -16
  169. package/esm2022/card/directives/card-footer.directive.mjs +0 -16
  170. package/esm2022/card/directives/card-header.directive.mjs +0 -16
  171. package/esm2022/card/directives/card-image.directive.mjs +0 -16
  172. package/esm2022/card/directives/public-api.mjs +0 -5
  173. package/esm2022/card/index.mjs +0 -2
  174. package/esm2022/card/public-api.mjs +0 -5
  175. package/esm2022/card/types/card-state.type.mjs +0 -2
  176. package/esm2022/card/types/card-style.type.mjs +0 -2
  177. package/esm2022/card/types/hover-effect.type.mjs +0 -2
  178. package/esm2022/card/types/public-api.mjs +0 -6
  179. package/esm2022/card/types/ribbon-style.type.mjs +0 -2
  180. package/esm2022/card/types/status-position.type.mjs +0 -2
  181. package/esm2022/card/upd-card.module.mjs +0 -50
  182. package/esm2022/card/updevs-components-card.mjs +0 -5
  183. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +0 -134
  184. package/esm2022/drag-and-drop/index.mjs +0 -2
  185. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +0 -2
  186. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +0 -9
  187. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +0 -2
  188. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +0 -14
  189. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +0 -2
  190. package/esm2022/drag-and-drop/models/public-api.mjs +0 -5
  191. package/esm2022/drag-and-drop/public-api.mjs +0 -4
  192. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +0 -28
  193. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +0 -5
  194. package/esm2022/dropdown/dropdown.component.mjs +0 -203
  195. package/esm2022/dropdown/index.mjs +0 -2
  196. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +0 -2
  197. package/esm2022/dropdown/models/dropdown-item.mjs +0 -2
  198. package/esm2022/dropdown/models/dropdown-item.type.mjs +0 -2
  199. package/esm2022/dropdown/models/public-api.mjs +0 -5
  200. package/esm2022/dropdown/models/toolbar.type.mjs +0 -2
  201. package/esm2022/dropdown/public-api.mjs +0 -4
  202. package/esm2022/dropdown/upd-dropdown.module.mjs +0 -40
  203. package/esm2022/dropdown/updevs-components-dropdown.mjs +0 -5
  204. package/esm2022/form/assets/i18n/en.json +0 -17
  205. package/esm2022/form/assets/i18n/pt.json +0 -17
  206. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +0 -180
  207. package/esm2022/form/form.component.mjs +0 -180
  208. package/esm2022/form/index.mjs +0 -2
  209. package/esm2022/form/models/attachment-rule.model.mjs +0 -2
  210. package/esm2022/form/models/button-field.model.mjs +0 -2
  211. package/esm2022/form/models/button-group-field.model.mjs +0 -2
  212. package/esm2022/form/models/checkbox-field.model.mjs +0 -2
  213. package/esm2022/form/models/checkbox-group-field.model.mjs +0 -2
  214. package/esm2022/form/models/dynamic-field.model.mjs +0 -2
  215. package/esm2022/form/models/enums/attachment-type.enum.mjs +0 -15
  216. package/esm2022/form/models/enums/dynamic-field.type.mjs +0 -17
  217. package/esm2022/form/models/enums/public-api.mjs +0 -3
  218. package/esm2022/form/models/file-upload-field.model.mjs +0 -2
  219. package/esm2022/form/models/form-config.mjs +0 -2
  220. package/esm2022/form/models/form-row.model.mjs +0 -2
  221. package/esm2022/form/models/form-update-on.type.mjs +0 -2
  222. package/esm2022/form/models/input-field.model.mjs +0 -2
  223. package/esm2022/form/models/masked-input-field.model.mjs +0 -2
  224. package/esm2022/form/models/public-api.mjs +0 -19
  225. package/esm2022/form/models/radio-field.model.mjs +0 -2
  226. package/esm2022/form/models/radio-group-field.model.mjs +0 -2
  227. package/esm2022/form/models/select-field.model.mjs +0 -2
  228. package/esm2022/form/models/single-select-field.model.mjs +0 -2
  229. package/esm2022/form/models/textarea-field.model.mjs +0 -2
  230. package/esm2022/form/models/validator-config.mjs +0 -2
  231. package/esm2022/form/public-api.mjs +0 -4
  232. package/esm2022/form/tools/errors-helper.mjs +0 -54
  233. package/esm2022/form/upd-form.module.mjs +0 -84
  234. package/esm2022/form/updevs-components-form.mjs +0 -5
  235. package/esm2022/form-controls/abstractions/base-control.mjs +0 -99
  236. package/esm2022/form-controls/abstractions/index.mjs +0 -2
  237. package/esm2022/form-controls/abstractions/public-api.mjs +0 -2
  238. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +0 -5
  239. package/esm2022/form-controls/checkbox/checkbox.component.mjs +0 -63
  240. package/esm2022/form-controls/checkbox/index.mjs +0 -2
  241. package/esm2022/form-controls/checkbox/public-api.mjs +0 -3
  242. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +0 -32
  243. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +0 -5
  244. package/esm2022/form-controls/date-picker/date-picker.component.mjs +0 -132
  245. package/esm2022/form-controls/date-picker/index.mjs +0 -2
  246. package/esm2022/form-controls/date-picker/public-api.mjs +0 -3
  247. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +0 -40
  248. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +0 -5
  249. package/esm2022/form-controls/file-upload/assets/i18n/en.json +0 -15
  250. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +0 -15
  251. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +0 -2
  252. package/esm2022/form-controls/file-upload/file-upload.component.mjs +0 -177
  253. package/esm2022/form-controls/file-upload/index.mjs +0 -2
  254. package/esm2022/form-controls/file-upload/public-api.mjs +0 -4
  255. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +0 -48
  256. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +0 -5
  257. package/esm2022/form-controls/input/directives/input-append.directive.mjs +0 -16
  258. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +0 -16
  259. package/esm2022/form-controls/input/directives/public-api.mjs +0 -3
  260. package/esm2022/form-controls/input/index.mjs +0 -2
  261. package/esm2022/form-controls/input/input.component.mjs +0 -205
  262. package/esm2022/form-controls/input/public-api.mjs +0 -5
  263. package/esm2022/form-controls/input/types/input.type.mjs +0 -2
  264. package/esm2022/form-controls/input/types/loader-position.type.mjs +0 -2
  265. package/esm2022/form-controls/input/types/public-api.mjs +0 -3
  266. package/esm2022/form-controls/input/upd-input.module.mjs +0 -46
  267. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +0 -5
  268. package/esm2022/form-controls/radio/index.mjs +0 -2
  269. package/esm2022/form-controls/radio/public-api.mjs +0 -3
  270. package/esm2022/form-controls/radio/radio.component.mjs +0 -62
  271. package/esm2022/form-controls/radio/upd-radio.module.mjs +0 -32
  272. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +0 -5
  273. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +0 -109
  274. package/esm2022/form-controls/select/components/single/select.component.mjs +0 -190
  275. package/esm2022/form-controls/select/index.mjs +0 -2
  276. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +0 -246
  277. package/esm2022/form-controls/select/models/defaults.mjs +0 -8
  278. package/esm2022/form-controls/select/models/public-api.mjs +0 -4
  279. package/esm2022/form-controls/select/models/select-item.mjs +0 -2
  280. package/esm2022/form-controls/select/models/types.mjs +0 -2
  281. package/esm2022/form-controls/select/public-api.mjs +0 -5
  282. package/esm2022/form-controls/select/upd-select.module.mjs +0 -57
  283. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +0 -5
  284. package/esm2022/form-controls/textarea/index.mjs +0 -2
  285. package/esm2022/form-controls/textarea/public-api.mjs +0 -3
  286. package/esm2022/form-controls/textarea/textarea.component.mjs +0 -51
  287. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +0 -24
  288. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +0 -5
  289. package/esm2022/form-controls/time-picker/assets/i18n/en.json +0 -5
  290. package/esm2022/form-controls/time-picker/assets/i18n/pt.json +0 -5
  291. package/esm2022/form-controls/time-picker/index.mjs +0 -2
  292. package/esm2022/form-controls/time-picker/public-api.mjs +0 -4
  293. package/esm2022/form-controls/time-picker/time-picker.component.mjs +0 -130
  294. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +0 -124
  295. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +0 -61
  296. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +0 -5
  297. package/esm2022/index.mjs +0 -2
  298. package/esm2022/layout/abstractions/base-page.component.mjs +0 -23
  299. package/esm2022/layout/abstractions/base.layout.mjs +0 -31
  300. package/esm2022/layout/abstractions/public-api.mjs +0 -2
  301. package/esm2022/layout/assets/i18n/en.json +0 -27
  302. package/esm2022/layout/assets/i18n/pt.json +0 -27
  303. package/esm2022/layout/index.mjs +0 -2
  304. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +0 -22
  305. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +0 -50
  306. package/esm2022/layout/layouts/public-api.mjs +0 -5
  307. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +0 -17
  308. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +0 -78
  309. package/esm2022/layout/models/login-page-config.model.mjs +0 -20
  310. package/esm2022/layout/models/login-page.config.mjs +0 -2
  311. package/esm2022/layout/models/public-api.mjs +0 -3
  312. package/esm2022/layout/models/security-layout-config.model.mjs +0 -10
  313. package/esm2022/layout/models/security-layout.config.mjs +0 -2
  314. package/esm2022/layout/models/upd-layout-config.model.mjs +0 -24
  315. package/esm2022/layout/models/upd-layout.config.mjs +0 -2
  316. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +0 -28
  317. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +0 -73
  318. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +0 -11
  319. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +0 -110
  320. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +0 -11
  321. package/esm2022/layout/pages/auth-flow/public-api.mjs +0 -6
  322. package/esm2022/layout/pages/public-api.mjs +0 -2
  323. package/esm2022/layout/partials/footer/footer.component.mjs +0 -52
  324. package/esm2022/layout/partials/footer/footer.module.mjs +0 -28
  325. package/esm2022/layout/partials/footer/public-api.mjs +0 -3
  326. package/esm2022/layout/partials/header/header-style.type.mjs +0 -2
  327. package/esm2022/layout/partials/header/header.component.mjs +0 -140
  328. package/esm2022/layout/partials/header/header.module.mjs +0 -40
  329. package/esm2022/layout/partials/header/public-api.mjs +0 -4
  330. package/esm2022/layout/partials/page-header/page-header.component.mjs +0 -15
  331. package/esm2022/layout/partials/page-header/public-api.mjs +0 -2
  332. package/esm2022/layout/partials/public-api.mjs +0 -5
  333. package/esm2022/layout/partials/sidebar/public-api.mjs +0 -2
  334. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +0 -234
  335. package/esm2022/layout/public-api.mjs +0 -8
  336. package/esm2022/layout/services/public-api.mjs +0 -2
  337. package/esm2022/layout/services/upd-layout-config.service.mjs +0 -21
  338. package/esm2022/layout/tools/layout.constants.mjs +0 -15
  339. package/esm2022/layout/upd-layout.module.mjs +0 -47
  340. package/esm2022/layout/updevs-components-layout.mjs +0 -5
  341. package/esm2022/lib/index.mjs +0 -2
  342. package/esm2022/lib/models/public-api.mjs +0 -2
  343. package/esm2022/lib/models/row-column-size.mjs +0 -2
  344. package/esm2022/lib/public-api.mjs +0 -5
  345. package/esm2022/lib/tools/column-size.helper.mjs +0 -12
  346. package/esm2022/lib/tools/public-api.mjs +0 -2
  347. package/esm2022/lib/types/component-size.type.mjs +0 -2
  348. package/esm2022/lib/types/horizontal-vertical.type.mjs +0 -2
  349. package/esm2022/lib/types/public-api.mjs +0 -4
  350. package/esm2022/lib/types/validation-status.type.mjs +0 -2
  351. package/esm2022/lib/upd-components.module.mjs +0 -14
  352. package/esm2022/link/index.mjs +0 -2
  353. package/esm2022/link/link.component.mjs +0 -51
  354. package/esm2022/link/public-api.mjs +0 -4
  355. package/esm2022/link/target.type.mjs +0 -2
  356. package/esm2022/link/upd-link.module.mjs +0 -24
  357. package/esm2022/link/updevs-components-link.mjs +0 -5
  358. package/esm2022/list/assets/i18n/en.json +0 -9
  359. package/esm2022/list/assets/i18n/pt.json +0 -9
  360. package/esm2022/list/index.mjs +0 -2
  361. package/esm2022/list/list.component.mjs +0 -117
  362. package/esm2022/list/models/badge-position.type.mjs +0 -2
  363. package/esm2022/list/models/list-item.mjs +0 -2
  364. package/esm2022/list/models/list-item.model.mjs +0 -20
  365. package/esm2022/list/models/public-api.mjs +0 -3
  366. package/esm2022/list/public-api.mjs +0 -4
  367. package/esm2022/list/upd-list.module.mjs +0 -44
  368. package/esm2022/list/updevs-components-list.mjs +0 -5
  369. package/esm2022/modal/assets/i18n/en.json +0 -17
  370. package/esm2022/modal/assets/i18n/pt.json +0 -17
  371. package/esm2022/modal/components/modal-container/modal-container.component.mjs +0 -216
  372. package/esm2022/modal/index.mjs +0 -2
  373. package/esm2022/modal/models/base.modal.mjs +0 -14
  374. package/esm2022/modal/models/modal-config.model.mjs +0 -20
  375. package/esm2022/modal/models/modal-ref.mjs +0 -2
  376. package/esm2022/modal/models/modal.config.mjs +0 -2
  377. package/esm2022/modal/models/public-api.mjs +0 -4
  378. package/esm2022/modal/public-api.mjs +0 -4
  379. package/esm2022/modal/services/modal-alert.service.mjs +0 -99
  380. package/esm2022/modal/services/modal.service.mjs +0 -30
  381. package/esm2022/modal/services/public-api.mjs +0 -3
  382. package/esm2022/modal/types/modal-footer-style.type.mjs +0 -2
  383. package/esm2022/modal/types/modal-size.type.mjs +0 -2
  384. package/esm2022/modal/upd-modal.module.mjs +0 -90
  385. package/esm2022/modal/updevs-components-modal.mjs +0 -5
  386. package/esm2022/paginator/assets/i18n/en.json +0 -15
  387. package/esm2022/paginator/assets/i18n/pt.json +0 -15
  388. package/esm2022/paginator/index.mjs +0 -2
  389. package/esm2022/paginator/paginator.component.mjs +0 -66
  390. package/esm2022/paginator/public-api.mjs +0 -3
  391. package/esm2022/paginator/upd-paginator.module.mjs +0 -47
  392. package/esm2022/paginator/updevs-components-paginator.mjs +0 -5
  393. package/esm2022/popover/index.mjs +0 -2
  394. package/esm2022/popover/popover.component.mjs +0 -65
  395. package/esm2022/popover/popover.directive.mjs +0 -120
  396. package/esm2022/popover/public-api.mjs +0 -4
  397. package/esm2022/popover/upd-popover.module.mjs +0 -29
  398. package/esm2022/popover/updevs-components-popover.mjs +0 -5
  399. package/esm2022/pricing/index.mjs +0 -2
  400. package/esm2022/pricing/models/price-item-feature.model.mjs +0 -2
  401. package/esm2022/pricing/models/price-item-features-group.model.mjs +0 -2
  402. package/esm2022/pricing/models/price-item-tag.model.mjs +0 -2
  403. package/esm2022/pricing/models/price-item.model.mjs +0 -2
  404. package/esm2022/pricing/models/public-api.mjs +0 -5
  405. package/esm2022/pricing/pricing-cards/pricing-cards.component.mjs +0 -27
  406. package/esm2022/pricing/pricing-table/pricing-table.component.mjs +0 -57
  407. package/esm2022/pricing/public-api.mjs +0 -5
  408. package/esm2022/pricing/upd-pricing.module.mjs +0 -49
  409. package/esm2022/pricing/updevs-components-pricing.mjs +0 -5
  410. package/esm2022/public-api.mjs +0 -2
  411. package/esm2022/table/abstractions/base-column.model.mjs +0 -52
  412. package/esm2022/table/abstractions/base.column.mjs +0 -84
  413. package/esm2022/table/abstractions/filters-operands.service.mjs +0 -3
  414. package/esm2022/table/abstractions/public-api.mjs +0 -4
  415. package/esm2022/table/assets/i18n/en.json +0 -74
  416. package/esm2022/table/assets/i18n/pt.json +0 -74
  417. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +0 -26
  418. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +0 -13
  419. package/esm2022/table/components/columns/number-column/number-column.component.mjs +0 -13
  420. package/esm2022/table/components/columns/text-column/text-column.component.mjs +0 -31
  421. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +0 -36
  422. package/esm2022/table/components/filter-row/filter-row.component.mjs +0 -124
  423. package/esm2022/table/components/save-search/save-search.component.mjs +0 -72
  424. package/esm2022/table/components/search-section/search-section.component.mjs +0 -84
  425. package/esm2022/table/directives/public-api.mjs +0 -2
  426. package/esm2022/table/directives/table-column.directive.mjs +0 -54
  427. package/esm2022/table/index.mjs +0 -2
  428. package/esm2022/table/models/columns/boolean-column.model.mjs +0 -22
  429. package/esm2022/table/models/columns/custom-column.model.mjs +0 -11
  430. package/esm2022/table/models/columns/date-time-column.model.mjs +0 -16
  431. package/esm2022/table/models/columns/guid-column.model.mjs +0 -13
  432. package/esm2022/table/models/columns/image-column.model.mjs +0 -11
  433. package/esm2022/table/models/columns/number-column.model.mjs +0 -17
  434. package/esm2022/table/models/columns/public-api.mjs +0 -8
  435. package/esm2022/table/models/columns/text-column.model.mjs +0 -11
  436. package/esm2022/table/models/enums/column-type.enum.mjs +0 -15
  437. package/esm2022/table/models/enums/public-api.mjs +0 -2
  438. package/esm2022/table/models/filter-item.model.mjs +0 -2
  439. package/esm2022/table/models/filter-operand.config.mjs +0 -2
  440. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +0 -25
  441. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +0 -25
  442. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +0 -31
  443. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +0 -31
  444. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +0 -16
  445. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +0 -25
  446. package/esm2022/table/models/operands-lists/select-filter-operands-list.model.mjs +0 -12
  447. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +0 -45
  448. package/esm2022/table/models/public-api.mjs +0 -5
  449. package/esm2022/table/models/saved-view.model.mjs +0 -2
  450. package/esm2022/table/models/table-config.model.mjs +0 -40
  451. package/esm2022/table/models/table.config.mjs +0 -2
  452. package/esm2022/table/models/upd-table-config.model.mjs +0 -9
  453. package/esm2022/table/models/upd-table.config.mjs +0 -2
  454. package/esm2022/table/public-api.mjs +0 -6
  455. package/esm2022/table/services/current-search-request.service.mjs +0 -280
  456. package/esm2022/table/services/default-filters-operands.service.mjs +0 -64
  457. package/esm2022/table/services/storages/saved-views.storage.mjs +0 -56
  458. package/esm2022/table/services/stores/filters-operands.store.mjs +0 -19
  459. package/esm2022/table/services/upd-table-config.service.mjs +0 -18
  460. package/esm2022/table/table.component.mjs +0 -435
  461. package/esm2022/table/tools/filters.tools.mjs +0 -75
  462. package/esm2022/table/tools/table.constants.mjs +0 -15
  463. package/esm2022/table/upd-table.module.mjs +0 -150
  464. package/esm2022/table/updevs-components-table.mjs +0 -5
  465. package/esm2022/updevs-components.mjs +0 -5
  466. package/form/components/dynamic-field/dynamic-field.component.d.ts +0 -65
  467. package/form/form.component.d.ts +0 -64
  468. package/form/index.d.ts +0 -1
  469. package/form/models/attachment-rule.model.d.ts +0 -35
  470. package/form/models/button-field.model.d.ts +0 -5
  471. package/form/models/button-group-field.model.d.ts +0 -5
  472. package/form/models/checkbox-field.model.d.ts +0 -4
  473. package/form/models/checkbox-group-field.model.d.ts +0 -6
  474. package/form/models/dynamic-field.model.d.ts +0 -56
  475. package/form/models/enums/attachment-type.enum.d.ts +0 -13
  476. package/form/models/enums/dynamic-field.type.d.ts +0 -15
  477. package/form/models/enums/public-api.d.ts +0 -2
  478. package/form/models/file-upload-field.model.d.ts +0 -16
  479. package/form/models/form-config.d.ts +0 -2
  480. package/form/models/form-row.model.d.ts +0 -10
  481. package/form/models/form-update-on.type.d.ts +0 -1
  482. package/form/models/input-field.model.d.ts +0 -9
  483. package/form/models/masked-input-field.model.d.ts +0 -6
  484. package/form/models/public-api.d.ts +0 -18
  485. package/form/models/radio-field.model.d.ts +0 -4
  486. package/form/models/radio-group-field.model.d.ts +0 -6
  487. package/form/models/select-field.model.d.ts +0 -29
  488. package/form/models/single-select-field.model.d.ts +0 -4
  489. package/form/models/textarea-field.model.d.ts +0 -10
  490. package/form/models/validator-config.d.ts +0 -5
  491. package/form/public-api.d.ts +0 -3
  492. package/form/tools/errors-helper.d.ts +0 -11
  493. package/form/upd-form.module.d.ts +0 -22
  494. package/form-controls/abstractions/base-control.d.ts +0 -47
  495. package/form-controls/abstractions/index.d.ts +0 -2
  496. package/form-controls/abstractions/public-api.d.ts +0 -2
  497. package/form-controls/checkbox/checkbox.component.d.ts +0 -21
  498. package/form-controls/checkbox/index.d.ts +0 -1
  499. package/form-controls/checkbox/public-api.d.ts +0 -2
  500. package/form-controls/checkbox/upd-checkbox.module.d.ts +0 -10
  501. package/form-controls/date-picker/index.d.ts +0 -1
  502. package/form-controls/date-picker/public-api.d.ts +0 -2
  503. package/form-controls/date-picker/upd-date-picker.module.d.ts +0 -12
  504. package/form-controls/file-upload/file-upload-changed.event.d.ts +0 -4
  505. package/form-controls/file-upload/file-upload.component.d.ts +0 -48
  506. package/form-controls/file-upload/index.d.ts +0 -1
  507. package/form-controls/file-upload/public-api.d.ts +0 -3
  508. package/form-controls/file-upload/upd-file-upload.module.d.ts +0 -14
  509. package/form-controls/input/directives/input-append.directive.d.ts +0 -7
  510. package/form-controls/input/directives/input-prepend.directive.d.ts +0 -7
  511. package/form-controls/input/directives/public-api.d.ts +0 -2
  512. package/form-controls/input/index.d.ts +0 -1
  513. package/form-controls/input/public-api.d.ts +0 -4
  514. package/form-controls/input/types/input.type.d.ts +0 -1
  515. package/form-controls/input/types/loader-position.type.d.ts +0 -1
  516. package/form-controls/input/types/public-api.d.ts +0 -2
  517. package/form-controls/input/upd-input.module.d.ts +0 -13
  518. package/form-controls/radio/index.d.ts +0 -1
  519. package/form-controls/radio/public-api.d.ts +0 -2
  520. package/form-controls/radio/upd-radio.module.d.ts +0 -10
  521. package/form-controls/select/components/multiple/select-multiple.component.d.ts +0 -31
  522. package/form-controls/select/components/single/select.component.d.ts +0 -35
  523. package/form-controls/select/index.d.ts +0 -1
  524. package/form-controls/select/models/abstractions/base-select.component.d.ts +0 -88
  525. package/form-controls/select/models/defaults.d.ts +0 -8
  526. package/form-controls/select/models/public-api.d.ts +0 -3
  527. package/form-controls/select/models/select-item.d.ts +0 -25
  528. package/form-controls/select/models/types.d.ts +0 -4
  529. package/form-controls/select/public-api.d.ts +0 -4
  530. package/form-controls/select/upd-select.module.d.ts +0 -16
  531. package/form-controls/textarea/index.d.ts +0 -1
  532. package/form-controls/textarea/public-api.d.ts +0 -2
  533. package/form-controls/textarea/textarea.component.d.ts +0 -21
  534. package/form-controls/textarea/upd-textarea.module.d.ts +0 -8
  535. package/form-controls/time-picker/index.d.ts +0 -1
  536. package/form-controls/time-picker/public-api.d.ts +0 -3
  537. package/form-controls/time-picker/time-picker.component.d.ts +0 -78
  538. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +0 -69
  539. package/form-controls/time-picker/upd-time-picker.module.d.ts +0 -17
  540. package/index.d.ts +0 -2
  541. package/layout/abstractions/base-page.component.d.ts +0 -12
  542. package/layout/abstractions/base.layout.d.ts +0 -15
  543. package/layout/abstractions/public-api.d.ts +0 -1
  544. package/layout/index.d.ts +0 -1
  545. package/layout/layouts/blank-layout/blank-layout.component.d.ts +0 -9
  546. package/layout/layouts/blank-layout/blank-layout.module.d.ts +0 -15
  547. package/layout/layouts/public-api.d.ts +0 -4
  548. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +0 -6
  549. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +0 -21
  550. package/layout/models/login-page-config.model.d.ts +0 -46
  551. package/layout/models/login-page.config.d.ts +0 -44
  552. package/layout/models/public-api.d.ts +0 -2
  553. package/layout/models/security-layout-config.model.d.ts +0 -12
  554. package/layout/models/security-layout.config.d.ts +0 -10
  555. package/layout/models/upd-layout-config.model.d.ts +0 -48
  556. package/layout/models/upd-layout.config.d.ts +0 -46
  557. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +0 -12
  558. package/layout/pages/auth-flow/auth-flow.module.d.ts +0 -20
  559. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +0 -5
  560. package/layout/pages/auth-flow/login/login.component.d.ts +0 -26
  561. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +0 -5
  562. package/layout/pages/auth-flow/public-api.d.ts +0 -5
  563. package/layout/pages/public-api.d.ts +0 -1
  564. package/layout/partials/footer/footer.component.d.ts +0 -34
  565. package/layout/partials/footer/footer.module.d.ts +0 -9
  566. package/layout/partials/footer/public-api.d.ts +0 -2
  567. package/layout/partials/header/header-style.type.d.ts +0 -1
  568. package/layout/partials/header/header.component.d.ts +0 -51
  569. package/layout/partials/header/header.module.d.ts +0 -12
  570. package/layout/partials/header/public-api.d.ts +0 -3
  571. package/layout/partials/page-header/page-header.component.d.ts +0 -7
  572. package/layout/partials/page-header/public-api.d.ts +0 -1
  573. package/layout/partials/public-api.d.ts +0 -4
  574. package/layout/partials/sidebar/public-api.d.ts +0 -1
  575. package/layout/partials/sidebar/sidebar.component.d.ts +0 -46
  576. package/layout/public-api.d.ts +0 -7
  577. package/layout/services/public-api.d.ts +0 -1
  578. package/layout/services/upd-layout-config.service.d.ts +0 -15
  579. package/layout/tools/layout.constants.d.ts +0 -15
  580. package/layout/upd-layout.module.d.ts +0 -19
  581. package/lib/index.d.ts +0 -2
  582. package/lib/models/public-api.d.ts +0 -2
  583. package/lib/models/row-column-size.d.ts +0 -23
  584. package/lib/public-api.d.ts +0 -5
  585. package/lib/tools/column-size.helper.d.ts +0 -6
  586. package/lib/tools/public-api.d.ts +0 -2
  587. package/lib/types/component-size.type.d.ts +0 -2
  588. package/lib/types/horizontal-vertical.type.d.ts +0 -2
  589. package/lib/types/public-api.d.ts +0 -4
  590. package/lib/types/validation-status.type.d.ts +0 -2
  591. package/lib/upd-components.module.d.ts +0 -7
  592. package/link/index.d.ts +0 -1
  593. package/link/public-api.d.ts +0 -3
  594. package/link/target.type.d.ts +0 -1
  595. package/link/upd-link.module.d.ts +0 -8
  596. package/list/index.d.ts +0 -1
  597. package/list/list.component.d.ts +0 -47
  598. package/list/models/badge-position.type.d.ts +0 -1
  599. package/list/models/list-item.d.ts +0 -21
  600. package/list/models/list-item.model.d.ts +0 -26
  601. package/list/models/public-api.d.ts +0 -2
  602. package/list/public-api.d.ts +0 -3
  603. package/list/upd-list.module.d.ts +0 -13
  604. package/modal/components/modal-container/modal-container.component.d.ts +0 -74
  605. package/modal/index.d.ts +0 -1
  606. package/modal/models/base.modal.d.ts +0 -8
  607. package/modal/models/modal-config.model.d.ts +0 -32
  608. package/modal/models/modal-ref.d.ts +0 -6
  609. package/modal/models/modal.config.d.ts +0 -30
  610. package/modal/models/public-api.d.ts +0 -3
  611. package/modal/public-api.d.ts +0 -3
  612. package/modal/services/modal-alert.service.d.ts +0 -22
  613. package/modal/services/modal.service.d.ts +0 -12
  614. package/modal/services/public-api.d.ts +0 -2
  615. package/modal/types/modal-footer-style.type.d.ts +0 -1
  616. package/modal/types/modal-size.type.d.ts +0 -1
  617. package/modal/upd-modal.module.d.ts +0 -18
  618. package/paginator/index.d.ts +0 -1
  619. package/paginator/paginator.component.d.ts +0 -42
  620. package/paginator/public-api.d.ts +0 -2
  621. package/paginator/upd-paginator.module.d.ts +0 -14
  622. package/popover/index.d.ts +0 -1
  623. package/popover/popover.component.d.ts +0 -22
  624. package/popover/popover.directive.d.ts +0 -33
  625. package/popover/public-api.d.ts +0 -3
  626. package/popover/upd-popover.module.d.ts +0 -9
  627. package/pricing/index.d.ts +0 -1
  628. package/pricing/models/price-item-feature.model.d.ts +0 -7
  629. package/pricing/models/price-item-features-group.model.d.ts +0 -5
  630. package/pricing/models/price-item-tag.model.d.ts +0 -6
  631. package/pricing/models/price-item.model.d.ts +0 -22
  632. package/pricing/models/public-api.d.ts +0 -4
  633. package/pricing/pricing-cards/pricing-cards.component.d.ts +0 -12
  634. package/pricing/pricing-table/pricing-table.component.d.ts +0 -30
  635. package/pricing/public-api.d.ts +0 -4
  636. package/pricing/upd-pricing.module.d.ts +0 -14
  637. package/public-api.d.ts +0 -2
  638. package/table/abstractions/base-column.model.d.ts +0 -29
  639. package/table/abstractions/base.column.d.ts +0 -26
  640. package/table/abstractions/filters-operands.service.d.ts +0 -8
  641. package/table/abstractions/public-api.d.ts +0 -3
  642. package/table/components/columns/boolean-column/boolean-column.component.d.ts +0 -9
  643. package/table/components/columns/date-time-column/date-time-column.component.d.ts +0 -7
  644. package/table/components/columns/number-column/number-column.component.d.ts +0 -7
  645. package/table/components/columns/text-column/text-column.component.d.ts +0 -9
  646. package/table/components/columns-manager/columns-manager.component.d.ts +0 -15
  647. package/table/components/filter-row/filter-row.component.d.ts +0 -41
  648. package/table/components/save-search/save-search.component.d.ts +0 -17
  649. package/table/components/search-section/search-section.component.d.ts +0 -33
  650. package/table/directives/public-api.d.ts +0 -1
  651. package/table/directives/table-column.directive.d.ts +0 -14
  652. package/table/index.d.ts +0 -1
  653. package/table/models/columns/boolean-column.model.d.ts +0 -15
  654. package/table/models/columns/custom-column.model.d.ts +0 -5
  655. package/table/models/columns/date-time-column.model.d.ts +0 -8
  656. package/table/models/columns/guid-column.model.d.ts +0 -4
  657. package/table/models/columns/image-column.model.d.ts +0 -6
  658. package/table/models/columns/number-column.model.d.ts +0 -8
  659. package/table/models/columns/public-api.d.ts +0 -7
  660. package/table/models/columns/text-column.model.d.ts +0 -6
  661. package/table/models/enums/column-type.enum.d.ts +0 -13
  662. package/table/models/enums/public-api.d.ts +0 -1
  663. package/table/models/filter-item.model.d.ts +0 -7
  664. package/table/models/filter-operand.config.d.ts +0 -9
  665. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +0 -6
  666. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +0 -6
  667. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +0 -5
  668. package/table/models/operands-lists/filter-operands-list.config.d.ts +0 -5
  669. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +0 -6
  670. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +0 -6
  671. package/table/models/operands-lists/select-filter-operands-list.model.d.ts +0 -6
  672. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +0 -6
  673. package/table/models/public-api.d.ts +0 -4
  674. package/table/models/saved-view.model.d.ts +0 -11
  675. package/table/models/table-config.model.d.ts +0 -44
  676. package/table/models/table.config.d.ts +0 -42
  677. package/table/models/upd-table-config.model.d.ts +0 -6
  678. package/table/models/upd-table.config.d.ts +0 -6
  679. package/table/public-api.d.ts +0 -5
  680. package/table/services/current-search-request.service.d.ts +0 -174
  681. package/table/services/default-filters-operands.service.d.ts +0 -17
  682. package/table/services/storages/saved-views.storage.d.ts +0 -19
  683. package/table/services/stores/filters-operands.store.d.ts +0 -11
  684. package/table/services/upd-table-config.service.d.ts +0 -12
  685. package/table/table.component.d.ts +0 -77
  686. package/table/tools/filters.tools.d.ts +0 -9
  687. package/table/tools/table.constants.d.ts +0 -15
  688. package/table/upd-table.module.d.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"updevs-components-form-controls-select.mjs","sources":["../../../../libs/components/form-controls/select/src/models/defaults.ts","../../../../libs/components/form-controls/select/src/models/abstractions/base-select.component.ts","../../../../libs/components/form-controls/select/src/components/single/select.component.ts","../../../../libs/components/form-controls/select/src/components/single/select.component.html","../../../../libs/components/form-controls/select/src/components/multiple/select-multiple.component.ts","../../../../libs/components/form-controls/select/src/components/multiple/select-multiple.component.html","../../../../libs/components/form-controls/select/src/upd-select.module.ts","../../../../libs/components/form-controls/select/src/updevs-components-form-controls-select.ts"],"sourcesContent":["import { HorizontalVerticalType } from '@updevs/components';\n\nexport class Defaults {\n static dropdownMaxHeight = 300;\n static typeaheadDebounce = 200;\n static shouldAutoSearch = true;\n static shouldCloseOnOutsideClick = true;\n static layout: HorizontalVerticalType = 'vertical';\n}\n","import {\n Directive,\n HostBinding,\n ElementRef,\n OnInit,\n inject,\n NgZone,\n Renderer2,\n RendererStyleFlags2,\n input,\n viewChild,\n computed,\n effect,\n afterNextRender,\n Injector,\n output,\n signal\n} from '@angular/core';\nimport { DomEventsService, PositioningService, ComputePositionResult } from '@updevs/sdk/layout';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseSearchStore, ObservableSearchType } from '@updevs/sdk/stores';\nimport { HorizontalVerticalType, ColumnSizeHelper } from '@updevs/components';\nimport { ListItem } from '@updevs/components/list';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { tap, debounceTime, Subject } from 'rxjs';\n\nimport { SelectItem } from '../select-item';\nimport { Defaults } from '../defaults';\nimport { GetItemByIdType, ParentLoaderType } from '../types';\n\nimport Utils = Tools.Utils;\n\n@Directive()\nexport abstract class BaseSelectComponent extends BaseControl implements OnInit {\n @HostBinding('class') get wrapperClasses() {\n return this.hostWrapperClasses();\n }\n\n readonly componentBox = viewChild('componentBox', { read: ElementRef });\n readonly searchBox = viewChild('searchBox', { read: ElementRef });\n readonly searchBoxChild = viewChild('searchBoxChild', { read: ElementRef });\n readonly list = viewChild('list', { read: ElementRef });\n\n readonly dropdownOpenStatusChange = output<boolean>();\n /**\n * Select items.\n * If provided, the select will be considered static.\n */\n readonly items = input<SelectItem[]>();\n /**\n * Store used to load/filter the items.\n */\n readonly store = input<BaseSearchStore>();\n /**\n * Observable used to load/filter the items.\n */\n readonly observable = input<ObservableSearchType>();\n /**\n * Name of the property in the object that represents the ID/key of the option.\n * **Note:** used only for remote data.\n */\n readonly itemKey = input<string>();\n /**\n * Name of the property in the object that represents the value/description of the option.\n * **Note:** used only for remote data.\n */\n readonly itemValue = input<string>();\n /**\n * Maximum height of the dropdown.\n */\n readonly dropdownMaxHeight = input(Defaults.dropdownMaxHeight);\n readonly typeaheadDebounce = input(Defaults.typeaheadDebounce);\n readonly shouldAutoSearch = input(Defaults.shouldAutoSearch);\n readonly shouldCloseOnOutsideClick = input(Defaults.shouldCloseOnOutsideClick);\n readonly layout = input<HorizontalVerticalType>(Defaults.layout);\n /**\n * Value coming from a parent field when the rule `AttachmentTypeEnum.ParentLoad` is active.\n * `upd-select` can use it to fetch the dependent list.\n */\n readonly parentValue = input();\n readonly parentSelectedId = input<OptionalType<any>>();\n readonly parentDependentLoader = input<ParentLoaderType>();\n readonly getItemById = input<GetItemByIdType>();\n\n layoutClasses = computed(() => this.layout() === 'horizontal' ? ['col', 'align-self-center'] : []);\n isLoading = false;\n localItems = signal<SelectItem[]>([]);\n listItems: ListItem[] = [];\n dropdownClasses = 'select-dropdown-content remove-top-radius';\n get isDropdownOpen(): boolean {\n return this._isDropdownOpen;\n }\n set isDropdownOpen(value: boolean) {\n this._isDropdownOpen = value;\n\n this.dropdownOpenStatusChange.emit(value);\n\n if (value) {\n this.dropdownClasses += ' select-dropdown-content-open';\n } else {\n this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');\n }\n }\n get labelSizeClasses(): string {\n if (this.layout() !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n }\n\n protected _currentTerm?: string;\n protected _localBackupItems: SelectItem[] = [];\n\n private hasInternalList = false;\n private _isDropdownOpen = false;\n private hostWrapperClasses = computed(() => this.layout() === 'horizontal' ? 'row' : '');\n private previousParentValue?: any;\n private readonly searchInputSubject = new Subject<string>();\n private readonly renderer = inject(Renderer2);\n private readonly ngZone = inject(NgZone);\n private readonly domEventsService = inject(DomEventsService);\n private readonly positioningService = inject(PositioningService);\n private readonly injector = inject(Injector);\n\n protected constructor() {\n super();\n\n effect(() => {\n if (!!this.items()) {\n this._setupLocalItems(this.items()!);\n }\n\n if (this.parentValue() !== this.previousParentValue) {\n this.previousParentValue = this.parentValue();\n\n this.clearSelection();\n this.search();\n }\n }, { allowSignalWrites: true });\n }\n\n ngOnInit(): void {\n this.hasInternalList = !this.observable() && !this.store() && !this.parentDependentLoader();\n\n if (this.shouldAutoSearch()) {\n if (this.hasInternalList) {\n this._setupLocalItems(this.items()!);\n } else {\n this.searchExternal();\n }\n }\n\n if (this.hasInternalList) {\n return;\n }\n\n const typeaheadSubscription = this.searchInputSubject\n .pipe(\n tap(value => this._currentTerm = value),\n debounceTime(this.typeaheadDebounce())\n )\n .subscribe(() => this.searchExternal());\n\n this.addSubscriptions(typeaheadSubscription);\n }\n\n openDropdown(): void {\n if (this.isDisabled()) {\n return;\n }\n\n this.isDropdownOpen = true;\n\n if (this.shouldCloseOnOutsideClick()) {\n const outsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => this.isDropdownOpen = false),\n this.list()?.nativeElement,\n true,\n this.componentBox()?.nativeElement,\n this.searchBox()?.nativeElement\n );\n this.addSubscriptions(outsideClickSub);\n }\n\n afterNextRender(() => {\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.componentBox()!, this.list()!, { placement: 'bottom' })\n .subscribe(resp => this.updatePosition(resp))\n );\n }, { injector: this.injector });\n }\n\n search(term?: string): void {\n if (this.hasInternalList) {\n this._currentTerm = term;\n this.searchLocal();\n } else {\n this.searchInputSubject.next(term || '');\n }\n }\n\n protected _setupLocalItems(items: SelectItem[]): void {\n const copiedItems: SelectItem[] = Utils.deepCopy(items);\n\n this.localItems.set(copiedItems);\n\n this._localBackupItems = Utils.deepCopy(items);\n const tempItems: ListItem[] = [];\n\n for (const item of this._localBackupItems) {\n const listItem = this.getListItem(item);\n item.listItem = Object.assign(listItem, {});\n\n tempItems.push(listItem);\n }\n\n this.listItems = [...tempItems];\n this.isLoading = false;\n }\n\n private searchLocal(): void {\n if (!this._currentTerm) {\n this.listItems = Utils.deepCopy(this._localBackupItems.map(li => li.listItem!));\n this.localItems.set(Utils.deepCopy(this._localBackupItems));\n\n return;\n }\n\n this.ngZone.run(() =>\n this.listItems = Utils\n .deepCopy<SelectItem[]>(this._localBackupItems)\n .filter(si => {\n let hasChildrenInSearch = false;\n\n if ((si.children?.length || 0) > 0) {\n hasChildrenInSearch = si.children!.filter(\n ci => ci.text!.toLowerCase().includes(this._currentTerm!.toLowerCase())\n ).length > 0;\n }\n\n return si.text!.toLowerCase().includes(this._currentTerm!.toLowerCase()) || hasChildrenInSearch;\n })\n .map(si => {\n const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);\n\n if ((bkpItem?.children?.length || 0) > 0) {\n si.children = [...bkpItem!.children!].filter(\n ci => ci.text!.toLowerCase().includes(this._currentTerm!.toLowerCase())\n );\n }\n\n return this.getListItem(si);\n })\n );\n }\n\n private searchExternal(): void {\n this.isLoading = true;\n const request = { description: this._currentTerm };\n const parentLoader = this.parentDependentLoader();\n const parentId = this.parentSelectedId() ?? this.parentValue();\n\n if (!!parentLoader && !!parentId) {\n parentLoader(parentId, this._currentTerm).subscribe({\n next: (items: SelectItem[]) => this._setupLocalItems(items),\n error: () => this._setupLocalItems([])\n });\n return;\n }\n\n const observable = !!this.observable()\n ? this.observable()!(request, this.parentValue())\n : this.store()!.search(request, this.parentValue());\n\n observable.subscribe(r => {\n const items: SelectItem[] = [];\n\n r.records.forEach(item => {\n items.push({\n value: item[this.itemKey()!],\n text: item[this.itemValue()!],\n objectData: item\n });\n });\n this._setupLocalItems(items);\n });\n }\n\n private getListItem(item: SelectItem): ListItem {\n let listItem: ListItem;\n\n if (!!item.listItem) {\n listItem = item.listItem;\n listItem.id = item.value;\n listItem.text = item.text;\n } else {\n listItem = {\n id: item.value,\n text: item.text\n };\n }\n\n if ((item.children?.length || 0) > 0) {\n listItem.children = [...item.children!].map(c => this.getListItem(c));\n }\n\n return listItem;\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const componentBox = this.componentBox()!.nativeElement.getBoundingClientRect();\n const searchBoxChildElement = this.searchBoxChild()?.nativeElement;\n const ddElement = this.list()!.nativeElement;\n\n this.renderer.setStyle(searchBoxChildElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y + searchBoxChildElement.scrollHeight}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', 0, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);\n }\n\n abstract clearSelection(): void;\n abstract onSelectItem(item: ListItem): void;\n}\n","import { Component, ViewEncapsulation, computed, effect, input, model, output } from '@angular/core';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { ListItem } from '@updevs/components/list';\nimport { Observable } from 'rxjs';\n\nimport { BaseSelectComponent } from '../../models/abstractions/base-select.component';\nimport { SelectItem } from '../../models/select-item';\nimport { ParentLoaderType } from '../../models/types';\n\n@Component({\n selector: 'upd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectComponent extends BaseSelectComponent {\n /**\n * If true, it'll use the default style of the OS, no search capabilities.\n */\n readonly useSystemStyle = input(false);\n readonly shouldShowClearButton = input(true);\n readonly shouldTruncateSelectedText = input<OptionalType<boolean>>(true);\n readonly isCompact = input(false);\n readonly value = model<any>();\n\n readonly shouldShowHintWithoutLabel = computed(() => !this.labelText && (!!this.hintText || !!this.hintTemplate()));\n\n /**\n * Triggered when an item is selected.\n */\n readonly selectedItem = output<OptionalType<SelectItem>>();\n\n currentSelection?: SelectItem;\n get canTruncateText(): boolean {\n return this.shouldTruncateSelectedText() === true || this.shouldTruncateSelectedText() === undefined;\n }\n\n private isFetchingMissingItem = false;\n\n constructor() {\n super();\n\n // This effect is the single source of truth for syncing the value with the selection.\n effect(() => {\n const val = this.value();\n const items = this.localItems();\n const getItemFn = this.getItemById();\n\n // eslint-disable-next-line no-null/no-null\n if (val === undefined || val === null) {\n this.currentSelection = undefined;\n return;\n }\n\n // eslint-disable-next-line eqeqeq\n let item = items.find(i => i.value == val);\n\n if (!item) {\n for (const i of items) {\n if ((i.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n item = i.children?.find(c => c.value == val);\n\n if (!!item) {\n break;\n }\n }\n }\n }\n\n if (!!item) {\n this.currentSelection = item;\n this.isFetchingMissingItem = false;\n } else if (!!getItemFn) {\n this.fetchMissingItem(val, getItemFn);\n } else {\n this.currentSelection = undefined;\n }\n });\n\n effect(() => {\n const parentId = this.parentSelectedId();\n const loader = this.parentDependentLoader();\n const val = this.value();\n // eslint-disable-next-line eqeqeq\n const hasCurrent = val !== undefined && this.localItems().some(i => i.value == val);\n\n if (!!parentId && !!loader && !hasCurrent && !this.isFetchingMissingItem) {\n this.loadDependentData(parentId, loader);\n } else if (!parentId && !!loader) {\n this.clearData();\n }\n });\n }\n\n override onSelectItem(item: ListItem): void {\n this._currentTerm = item.text;\n this.isDropdownOpen = false;\n let selectedItem: OptionalType<SelectItem>;\n\n for (const localBackupItem of this._localBackupItems) {\n if ((localBackupItem.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n selectedItem = localBackupItem.children?.find(c => c.value == item.id);\n\n if (!!selectedItem) {\n break;\n }\n // eslint-disable-next-line eqeqeq\n } else if (localBackupItem.value == item.id) {\n selectedItem = localBackupItem;\n break;\n }\n }\n\n this.value.set(selectedItem?.value);\n this.selectedItem.emit(selectedItem);\n this._updateFormControl(selectedItem?.value, true);\n }\n\n override search(term?: string): void {\n const parentId = this.parentSelectedId();\n const loader = this.parentDependentLoader();\n\n if (!!parentId && !!loader) {\n this.loadDependentData(parentId, loader, term);\n } else {\n super.search(term);\n }\n }\n\n override clearSelection(isInternalCall = false): void {\n if (this.isDisabled() && !isInternalCall) {\n return;\n }\n\n this._currentTerm = undefined;\n\n this.value.set(undefined);\n this.selectedItem.emit(undefined);\n this._updateFormControl(undefined, true);\n }\n\n onSystemSelect(event: any): void {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.localItems().find(c => c.value == event.target.value);\n\n this.value.set(selectedItem?.value);\n this.selectedItem.emit(selectedItem);\n this._updateFormControl(selectedItem?.value, true);\n }\n\n protected _getValue(): any {\n return this.value();\n }\n\n protected _updateValue(value: any): void {\n this.value.set(value);\n }\n\n private loadDependentData(parentId: any, loader: ParentLoaderType, term?: string): void {\n loader(parentId, term).subscribe({\n next: (items) => {\n this._setupLocalItems(items);\n const val = this.value();\n\n // eslint-disable-next-line eqeqeq\n if (val !== undefined && !items.some(i => i.value == val) && !this.getItemById()) {\n this.clearSelection(true);\n }\n },\n error: () => {\n this._setupLocalItems([]);\n this.clearSelection(true);\n }\n });\n }\n\n private clearData(): void {\n this._setupLocalItems([]);\n this.clearSelection(true);\n }\n\n private fetchMissingItem(id: any, getItemFn: (id: any) => Observable<SelectItem>): void {\n this.isFetchingMissingItem = true;\n getItemFn(id).subscribe({\n next: (item) => {\n if (!!item) {\n // eslint-disable-next-line eqeqeq\n if (this.value() == id) {\n this.currentSelection = item;\n }\n\n const currentItems = this.localItems();\n\n // eslint-disable-next-line eqeqeq\n if (!currentItems.find(i => i.value == item.value)) {\n this._setupLocalItems([...currentItems, item]);\n }\n // eslint-disable-next-line eqeqeq\n } else if (this.value() == id) {\n this.currentSelection = undefined;\n }\n\n this.isFetchingMissingItem = false;\n this.selectedItem.emit(this.currentSelection);\n },\n error: () => {\n // eslint-disable-next-line eqeqeq\n if (this.value() == id) {\n this.currentSelection = undefined;\n }\n\n this.isFetchingMissingItem = false;\n }\n });\n }\n}\n","@if (!!labelText) {\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n </div>\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n }\n}\n\n@if (!useSystemStyle()) {\n <div class=\"dropdown\" [attr.id]=\"name()\" [ngClass]=\"layoutClasses()\">\n @if (shouldShowHintWithoutLabel()) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder()\" [isInputGroupFlat]=\"true\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight() + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n} @else {\n @if (shouldShowHintWithoutLabel()) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"contentDefaultStyleTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentDefaultStyleTpl\"></ng-template>\n }\n}\n\n<ng-template #hintTpl>\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #contentTpl>\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\" [class.disabled]=\"isDisabled()\"\n [class.pe-none]=\"isDisabled()\" [class.select-cursor-default]=\"!isDisabled()\"\n [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\" (click)=\"openDropdown()\">\n @if (!!currentSelection) {\n <span [ngClass]=\"canTruncateText ? 'd-block text-truncate' : ''\">{{ currentSelection.text }}</span>\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection && shouldShowClearButton()) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\" [class.select-cursor-pointer]=\"!isDisabled()\"\n [iconModel]=\"{tablerIcon:'x', tablerIconSize: 16}\">\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\" [class.select-cursor-pointer]=\"!isDisabled()\"\n [iconModel]=\"{tablerIcon:'chevron-down', tablerIconSize: 16}\">\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #contentDefaultStyleTpl>\n <select class=\"form-select\" [class.compact]=\"isCompact()\" [attr.placeholder]=\"placeholder()\" [attr.name]=\"name()\"\n [class.select-cursor-pointer]=\"!isDisabled()\" [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\"\n [class.disabled]=\"isDisabled()\" (change)=\"onSystemSelect($event)\">\n @for (item of localItems(); track item) {\n @if ((item.children?.length || 0) > 0) {\n <optgroup [label]=\"item.text\">\n @for (child of item.children; track child) {\n <option [attr.selected]=\"!!currentSelection && child.value === currentSelection.value ? true : undefined\"\n [value]=\"child.value\">\n {{ child.text }}\n </option>\n }\n </optgroup>\n } @else {\n <option [attr.selected]=\"!!currentSelection && item.value === currentSelection.value ? true : undefined\"\n [value]=\"item.value\">\n {{ item.text }}\n </option>\n }\n }\n </select>\n</ng-template>\n","import { Component, ViewEncapsulation, EventEmitter, Output, input, effect } from '@angular/core';\nimport { ListItem } from '@updevs/components/list';\n\nimport { BaseSelectComponent } from '../../models/abstractions/base-select.component';\nimport { SelectItem } from '../../models/select-item';\n\n@Component({\n selector: 'upd-select-multiple',\n templateUrl: './select-multiple.component.html',\n styleUrls: ['./select-multiple.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectMultipleComponent extends BaseSelectComponent {\n /**\n * Returns the selected items.\n * Triggered when items are selected.\n */\n @Output() readonly selectedItems = new EventEmitter<SelectItem[]>();\n /**\n * Returns the selected Ids.\n * Triggered when items are selected.\n */\n @Output() readonly selectedIds = new EventEmitter<any[]>();\n\n /**\n * An array of primitive values to set the selection programmatically.\n */\n readonly selectedValues = input<SelectItem[]>();\n\n currentSelection: SelectItem[] = [];\n\n constructor() {\n super();\n\n effect(() => {\n const values = this.selectedValues();\n\n if (!!values && values.length > 0) {\n this.currentSelection = this._localBackupItems.filter(item => values.includes(item.value));\n this.updateActiveItemsOnList();\n }\n });\n }\n\n clearSelection(): void {\n this.currentSelection = [];\n this._currentTerm = undefined;\n\n this.updateActiveItemsOnList();\n this._updateFormControl([], true);\n }\n\n onSelectItem(item: ListItem): void {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.currentSelection.find(cs => cs.value == item.id);\n\n if (!!selectedItem) {\n this.onRemoveItem(selectedItem);\n return;\n }\n\n for (const localBackupItem of this._localBackupItems) {\n if ((localBackupItem.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n const child = localBackupItem.children?.find(c => c.value == item.id);\n\n if (!!child) {\n this.currentSelection.push(child);\n break;\n }\n // eslint-disable-next-line eqeqeq\n } else if (localBackupItem.value == item.id) {\n this.currentSelection.push(localBackupItem);\n break;\n }\n }\n\n this.updateActiveItemsOnList();\n\n const currentSelectedIds = this.currentSelection.map(cs => cs.value);\n\n this.selectedItems.emit(this.currentSelection);\n this.selectedIds.emit(currentSelectedIds);\n this._updateFormControl(currentSelectedIds, true);\n }\n\n onRemoveItem(item: SelectItem): void {\n // eslint-disable-next-line eqeqeq\n const idx = this.currentSelection.findIndex(cs => cs.value == item.value);\n\n this.currentSelection.splice(idx, 1);\n this.updateActiveItemsOnList();\n this._updateFormControl(this.currentSelection.map(cs => cs.value), true);\n }\n\n protected _getValue(): any {\n return this.currentSelection.map(item => item.value);\n }\n\n protected _updateValue(value: any): void {\n if (!Array.isArray(value)) {\n this.currentSelection = [];\n return;\n }\n\n this.currentSelection = this._localBackupItems.filter(item => value.includes(item.value));\n this.updateActiveItemsOnList();\n }\n\n private updateActiveItemsOnList(): void {\n for (const backupItem of this._localBackupItems) {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.currentSelection.find(cs => cs.value == backupItem.value);\n\n if (!!backupItem.listItem) {\n backupItem.listItem.isActive = !!selectedItem;\n }\n }\n\n this._setupLocalItems(this._localBackupItems);\n }\n}\n","@if (!!labelText) {\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n </div>\n <div class=\"col-auto\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n } @else {\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n }\n}\n\n<div class=\"dropdown\" [attr.id]=\"name()\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\" [class.disabled]=\"isDisabled()\"\n [class.pe-none]=\"isDisabled()\" [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\" (click)=\"openDropdown()\">\n @for (sel of currentSelection; track sel) {\n <span class=\"badge bg-primary select-multiple-value\">{{ sel.text }}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span>&nbsp;\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (currentSelection.length > 0) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"chevron-down\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder()\" [isInputGroupFlat]=\"true\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight() + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule } from '@jsverse/transloco';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\nimport { UpdListModule } from '@updevs/components/list';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdInputModule } from '@updevs/components/form-controls/input';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { SelectComponent } from './components/single/select.component';\nimport { SelectMultipleComponent } from './components/multiple/select-multiple.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdCoreLayoutModule,\n UpdListModule,\n UpdInputModule,\n UpdIconsModule,\n UpdButtonModule,\n UpdPopoverModule,\n TranslocoModule\n ],\n declarations: [\n SelectComponent,\n SelectMultipleComponent\n ],\n exports: [\n SelectComponent,\n SelectMultipleComponent\n ]\n})\nexport class UpdSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MAEa,QAAQ,CAAA;aACV,IAAiB,CAAA,iBAAA,GAAG,GAAG,CAAC;aACxB,IAAiB,CAAA,iBAAA,GAAG,GAAG,CAAC;aACxB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;aACxB,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC;aACjC,IAAM,CAAA,MAAA,GAA2B,UAAU,CAAC;;;ACwBvD,IAAO,KAAK,GAAG,KAAK,CAAC,KAAK;AAGpB,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;AACzD,IAAA,IAA0B,cAAc,GAAA;AACpC,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;;AAsDpC,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,eAAe;;IAE/B,IAAI,cAAc,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAE5B,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAEzC,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,eAAe,IAAI,+BAA+B;;aACpD;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;;;AAGhG,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,EAAE;AAChC,YAAA,OAAO,YAAY;;AAGvB,QAAA,OAAO,gBAAgB,CAAC,UAAU,CAC9B,gBAAgB,EAChB,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAC1D;;AAiBL,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QA3FF,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9D,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACxD,IAAc,CAAA,cAAA,GAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAClE,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAE9C,IAAwB,CAAA,wBAAA,GAAG,MAAM,EAAW;AACrD;;;AAGG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,EAAgB;AACtC;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,EAAmB;AACzC;;AAEG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,EAAwB;AACnD;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,EAAU;AAClC;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,KAAK,EAAU;AACpC;;AAEG;AACM,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AACrD,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;AACrD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AACnD,QAAA,IAAA,CAAA,yBAAyB,GAAG,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAyB,QAAQ,CAAC,MAAM,CAAC;AAChE;;;AAGG;QACM,IAAW,CAAA,WAAA,GAAG,KAAK,EAAE;QACrB,IAAgB,CAAA,gBAAA,GAAG,KAAK,EAAqB;QAC7C,IAAqB,CAAA,qBAAA,GAAG,KAAK,EAAoB;QACjD,IAAW,CAAA,WAAA,GAAG,KAAK,EAAmB;QAE/C,IAAa,CAAA,aAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC;QAClG,IAAS,CAAA,SAAA,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAe,EAAE,CAAC;QACrC,IAAS,CAAA,SAAA,GAAe,EAAE;QAC1B,IAAe,CAAA,eAAA,GAAG,2CAA2C;QA2BnD,IAAiB,CAAA,iBAAA,GAAiB,EAAE;QAEtC,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAkB,CAAA,kBAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,GAAG,KAAK,GAAG,EAAE,CAAC;AAEvE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,OAAO,EAAU;AAC1C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAKxC,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC;;YAGxC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,mBAAmB,EAAE;AACjD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE;gBAE7C,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;;AAErB,SAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;;IAGnC,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAE3F,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC;;iBACjC;gBACH,IAAI,CAAC,cAAc,EAAE;;;AAI7B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB;;AAGJ,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC;aAC9B,IAAI,CACD,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,EACvC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAEzC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAE3C,QAAA,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;;IAGhD,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACnB;;AAGJ,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAE1B,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YAClC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CACnE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EACxD,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,EAC1B,IAAI,EACJ,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAClC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAClC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;;QAG1C,eAAe,CAAC,MAAK;YACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAC1B,IAAI,CAAC;AACA,iBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,EAAG,EAAE,IAAI,CAAC,IAAI,EAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC3E,iBAAA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACpD;SACJ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAGnC,IAAA,MAAM,CAAC,IAAa,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,WAAW,EAAE;;aACf;YACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;;;AAItC,IAAA,gBAAgB,CAAC,KAAmB,EAAA;QAC1C,MAAM,WAAW,GAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEvD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;QAEhC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9C,MAAM,SAAS,GAAe,EAAE;AAEhC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAE3C,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAG5B,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;IAGlB,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,QAAS,CAAC,CAAC;AAC/E,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE3D;;AAGJ,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MACZ,IAAI,CAAC,SAAS,GAAG;AACZ,aAAA,QAAQ,CAAe,IAAI,CAAC,iBAAiB;aAC7C,MAAM,CAAC,EAAE,IAAG;YACT,IAAI,mBAAmB,GAAG,KAAK;AAE/B,YAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AAChC,gBAAA,mBAAmB,GAAG,EAAE,CAAC,QAAS,CAAC,MAAM,CACrC,EAAE,IAAI,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAC1E,CAAC,MAAM,GAAG,CAAC;;AAGhB,YAAA,OAAO,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,IAAI,mBAAmB;AACnG,SAAC;aACA,GAAG,CAAC,EAAE,IAAG;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;AAE1E,YAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AACtC,gBAAA,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAQ,CAAC,QAAS,CAAC,CAAC,MAAM,CACxC,EAAE,IAAI,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAC1E;;AAGL,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC9B,CAAC,CACT;;IAGG,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;AAClD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;QAE9D,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC9B,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;gBAChD,IAAI,EAAE,CAAC,KAAmB,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC3D,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE;AACxC,aAAA,CAAC;YACF;;AAGJ,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU;AAChC,cAAE,IAAI,CAAC,UAAU,EAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;AAChD,cAAE,IAAI,CAAC,KAAK,EAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAEvD,QAAA,UAAU,CAAC,SAAS,CAAC,CAAC,IAAG;YACrB,MAAM,KAAK,GAAiB,EAAE;AAE9B,YAAA,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAG;gBACrB,KAAK,CAAC,IAAI,CAAC;AACP,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAG,CAAC;AAC5B,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC;AAC7B,oBAAA,UAAU,EAAE;AACf,iBAAA,CAAC;AACN,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAChC,SAAC,CAAC;;AAGE,IAAA,WAAW,CAAC,IAAgB,EAAA;AAChC,QAAA,IAAI,QAAkB;AAEtB,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ;AACxB,YAAA,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK;AACxB,YAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;;aACtB;AACH,YAAA,QAAQ,GAAG;gBACP,EAAE,EAAE,IAAI,CAAC,KAAK;gBACd,IAAI,EAAE,IAAI,CAAC;aACd;;AAGL,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAClC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAGzE,QAAA,OAAO,QAAQ;;AAGX,IAAA,cAAc,CAAC,MAA6B,EAAA;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAG,CAAC,aAAa;QAE5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC1H,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,CAAC,GAAG,qBAAqB,CAAC,YAAY,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;AAC7H,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;;8GAjShG,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,0sEAKqB,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAChB,UAAU,EACA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,uGAC9B,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FARlC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC;wDAE6B,cAAc,EAAA,CAAA;sBAAvC,WAAW;uBAAC,OAAO;;;ACpBlB,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAkBpD,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,0BAA0B,EAAE,KAAK,SAAS;;AAKxG,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAxBX;;AAEG;AACM,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAwB,IAAI,CAAC;AAC/D,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAK,CAAA,KAAA,GAAG,KAAK,EAAO;QAEpB,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAEnH;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,MAAM,EAA4B;QAOlD,IAAqB,CAAA,qBAAA,GAAG,KAAK;;QAMjC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AACxB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;;YAGpC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;gBACjC;;;AAIJ,YAAA,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAE1C,IAAI,CAAC,IAAI,EAAE;AACP,gBAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACnB,oBAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;AAE/B,wBAAA,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;AAE5C,wBAAA,IAAI,CAAC,CAAC,IAAI,EAAE;4BACR;;;;;AAMhB,YAAA,IAAI,CAAC,CAAC,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;;AAC/B,iBAAA,IAAI,CAAC,CAAC,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC;;iBAClC;AACH,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAEzC,SAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC3C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;;YAExB,MAAM,UAAU,GAAG,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;AAEnF,YAAA,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;;AACrC,iBAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,SAAS,EAAE;;AAExB,SAAC,CAAC;;AAGG,IAAA,YAAY,CAAC,IAAc,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,YAAsC;AAE1C,QAAA,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;AAE7C,gBAAA,YAAY,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAEtE,gBAAA,IAAI,CAAC,CAAC,YAAY,EAAE;oBAChB;;;;iBAGD,IAAI,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE;gBACzC,YAAY,GAAG,eAAe;gBAC9B;;;QAIR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;;AAG7C,IAAA,MAAM,CAAC,IAAa,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;QAE3C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;;aAC3C;AACH,YAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;;;IAIjB,cAAc,CAAC,cAAc,GAAG,KAAK,EAAA;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;YACtC;;AAGJ,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAE7B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;;AAG5C,IAAA,cAAc,CAAC,KAAU,EAAA;;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;;IAG5C,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;;AAGb,IAAA,YAAY,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGjB,IAAA,iBAAiB,CAAC,QAAa,EAAE,MAAwB,EAAE,IAAa,EAAA;AAC5E,QAAA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,KAAK,KAAI;AACZ,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC5B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;;gBAGxB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AAC9E,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;aAEhC;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACzB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;AAEhC,SAAA,CAAC;;IAGE,SAAS,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;IAGrB,gBAAgB,CAAC,EAAO,EAAE,SAA8C,EAAA;AAC5E,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,QAAA,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AACpB,YAAA,IAAI,EAAE,CAAC,IAAI,KAAI;AACX,gBAAA,IAAI,CAAC,CAAC,IAAI,EAAE;;AAER,oBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AACpB,wBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;;AAGhC,oBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;;AAGtC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;wBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC;;;;AAG/C,qBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AAC3B,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAGrC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAChD;YACD,KAAK,EAAE,MAAK;;AAER,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AACpB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAGrC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;;AAEzC,SAAA,CAAC;;8GAxMG,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,o4BCf5B,49KAqHA,EAAA,MAAA,EAAA,CAAA,25BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDtGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,49KAAA,EAAA,MAAA,EAAA,CAAA,25BAAA,CAAA,EAAA;;;AEDnC,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AAmB5D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAnBX;;;AAGG;AACgB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAgB;AACnE;;;AAGG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAS;AAE1D;;AAEG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,EAAgB;QAE/C,IAAgB,CAAA,gBAAA,GAAiB,EAAE;QAK/B,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;YAEpC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1F,IAAI,CAAC,uBAAuB,EAAE;;AAEtC,SAAC,CAAC;;IAGN,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;QAE7B,IAAI,CAAC,uBAAuB,EAAE;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC;;AAGrC,IAAA,YAAY,CAAC,IAAc,EAAA;;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAE1E,QAAA,IAAI,CAAC,CAAC,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC/B;;AAGJ,QAAA,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;gBAE7C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAErE,gBAAA,IAAI,CAAC,CAAC,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;oBACjC;;;;iBAGD,IAAI,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE;AACzC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC3C;;;QAIR,IAAI,CAAC,uBAAuB,EAAE;AAE9B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC;QAEpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzC,QAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC;;AAGrD,IAAA,YAAY,CAAC,IAAgB,EAAA;;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAEzE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;;IAGlE,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;;AAG9C,IAAA,YAAY,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;YAC1B;;QAGJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzF,IAAI,CAAC,uBAAuB,EAAE;;IAG1B,uBAAuB,GAAA;AAC3B,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;;YAE7C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;AAEnF,YAAA,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACvB,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY;;;AAIrD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;;8GA3GxC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,0TCZpC,0kGA6DA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDjDa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0kGAAA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA;wDAOlB,aAAa,EAAA,CAAA;sBAA/B;gBAKkB,WAAW,EAAA,CAAA;sBAA7B;;;MEWQ,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBARpB,eAAe;AACf,YAAA,uBAAuB,aAXvB,YAAY;YACZ,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;YACd,eAAe;YACf,gBAAgB;AAChB,YAAA,eAAe,aAOf,eAAe;YACf,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAlBpB,YAAY;YACZ,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;YACd,eAAe;YACf,gBAAgB;YAChB,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAWV,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB;AACH,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,eAAe;wBACf;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,eAAe;wBACf;AACH;AACJ,iBAAA;;;AChCD;;AAEG;;;;"}
1
+ {"version":3,"file":"updevs-components-form-controls-select.mjs","sources":["../../../../libs/components/form-controls/select/src/models/defaults.ts","../../../../libs/components/form-controls/select/src/models/abstractions/base-select.component.ts","../../../../libs/components/form-controls/select/src/components/single/select.component.ts","../../../../libs/components/form-controls/select/src/components/single/select.component.html","../../../../libs/components/form-controls/select/src/components/multiple/select-multiple.component.ts","../../../../libs/components/form-controls/select/src/components/multiple/select-multiple.component.html","../../../../libs/components/form-controls/select/src/upd-select.module.ts","../../../../libs/components/form-controls/select/src/updevs-components-form-controls-select.ts"],"sourcesContent":["import { HorizontalVerticalType } from '@updevs/components';\n\nexport class Defaults {\n static dropdownMaxHeight = 300;\n static typeaheadDebounce = 200;\n static shouldAutoSearch = true;\n static shouldCloseOnOutsideClick = true;\n static layout: HorizontalVerticalType = 'vertical';\n}\n","import {\n Directive,\n HostBinding,\n ElementRef,\n OnInit,\n inject,\n NgZone,\n Renderer2,\n RendererStyleFlags2,\n input,\n viewChild,\n computed,\n effect,\n afterNextRender,\n Injector,\n output,\n signal\n} from '@angular/core';\nimport { DomEventsService, PositioningService, ComputePositionResult } from '@updevs/sdk/layout';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseSearchStore, ObservableSearchType } from '@updevs/sdk/stores';\nimport { HorizontalVerticalType, ColumnSizeHelper } from '@updevs/components';\nimport { ListItem } from '@updevs/components/list';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { tap, debounceTime, Subject } from 'rxjs';\n\nimport { SelectItem } from '../select-item';\nimport { Defaults } from '../defaults';\nimport { GetItemByIdType, ParentLoaderType } from '../types';\n\nimport Utils = Tools.Utils;\n\n@Directive({ standalone: false })\nexport abstract class BaseSelectComponent extends BaseControl implements OnInit {\n @HostBinding('class') get wrapperClasses() {\n return this.hostWrapperClasses();\n }\n\n readonly componentBox = viewChild('componentBox', { read: ElementRef });\n readonly searchBox = viewChild('searchBox', { read: ElementRef });\n readonly searchBoxChild = viewChild('searchBoxChild', { read: ElementRef });\n readonly list = viewChild('list', { read: ElementRef });\n\n readonly dropdownOpenStatusChange = output<boolean>();\n /**\n * Select items.\n * If provided, the select will be considered static.\n */\n readonly items = input<SelectItem[]>();\n /**\n * Store used to load/filter the items.\n */\n readonly store = input<BaseSearchStore>();\n /**\n * Observable used to load/filter the items.\n */\n readonly observable = input<ObservableSearchType>();\n /**\n * Name of the property in the object that represents the ID/key of the option.\n * **Note:** used only for remote data.\n */\n readonly itemKey = input<string>();\n /**\n * Name of the property in the object that represents the value/description of the option.\n * **Note:** used only for remote data.\n */\n readonly itemValue = input<string>();\n /**\n * Maximum height of the dropdown.\n */\n readonly dropdownMaxHeight = input(Defaults.dropdownMaxHeight);\n readonly typeaheadDebounce = input(Defaults.typeaheadDebounce);\n readonly shouldAutoSearch = input(Defaults.shouldAutoSearch);\n readonly shouldCloseOnOutsideClick = input(Defaults.shouldCloseOnOutsideClick);\n readonly layout = input<HorizontalVerticalType>(Defaults.layout);\n /**\n * Value coming from a parent field when the rule `AttachmentTypeEnum.ParentLoad` is active.\n * `upd-select` can use it to fetch the dependent list.\n */\n readonly parentValue = input();\n readonly parentSelectedId = input<OptionalType<any>>();\n readonly parentDependentLoader = input<ParentLoaderType>();\n readonly getItemById = input<GetItemByIdType>();\n\n layoutClasses = computed(() => this.layout() === 'horizontal' ? ['col', 'align-self-center'] : []);\n isLoading = false;\n localItems = signal<SelectItem[]>([]);\n listItems: ListItem[] = [];\n dropdownClasses = 'select-dropdown-content remove-top-radius';\n get isDropdownOpen(): boolean {\n return this._isDropdownOpen;\n }\n set isDropdownOpen(value: boolean) {\n this._isDropdownOpen = value;\n\n this.dropdownOpenStatusChange.emit(value);\n\n if (value) {\n this.dropdownClasses += ' select-dropdown-content-open';\n } else {\n this.dropdownClasses = this.dropdownClasses.replace(' select-dropdown-content-open', '');\n }\n }\n get labelSizeClasses(): string {\n if (this.layout() !== 'horizontal') {\n return 'form-label';\n }\n\n return ColumnSizeHelper.getClasses(\n 'col-form-label',\n ColumnSizeHelper.getSizeClasses(this.labelColSize(), 3)\n );\n }\n\n protected _currentTerm?: string;\n protected _localBackupItems: SelectItem[] = [];\n\n private hasInternalList = false;\n private _isDropdownOpen = false;\n private hostWrapperClasses = computed(() => this.layout() === 'horizontal' ? 'row' : '');\n private previousParentValue?: any;\n private readonly searchInputSubject = new Subject<string>();\n private readonly renderer = inject(Renderer2);\n private readonly ngZone = inject(NgZone);\n private readonly domEventsService = inject(DomEventsService);\n private readonly positioningService = inject(PositioningService);\n private readonly injector = inject(Injector);\n\n protected constructor() {\n super();\n\n effect(() => {\n if (!!this.items()) {\n this._setupLocalItems(this.items()!);\n }\n\n if (this.parentValue() !== this.previousParentValue) {\n this.previousParentValue = this.parentValue();\n\n this.clearSelection();\n this.search();\n }\n }, { allowSignalWrites: true });\n }\n\n ngOnInit(): void {\n this.hasInternalList = !this.observable() && !this.store() && !this.parentDependentLoader();\n\n if (this.shouldAutoSearch()) {\n if (this.hasInternalList) {\n this._setupLocalItems(this.items()!);\n } else {\n this.searchExternal();\n }\n }\n\n if (this.hasInternalList) {\n return;\n }\n\n const typeaheadSubscription = this.searchInputSubject\n .pipe(\n tap(value => this._currentTerm = value),\n debounceTime(this.typeaheadDebounce())\n )\n .subscribe(() => this.searchExternal());\n\n this.addSubscriptions(typeaheadSubscription);\n }\n\n openDropdown(): void {\n if (this.isDisabled()) {\n return;\n }\n\n this.isDropdownOpen = true;\n\n if (this.shouldCloseOnOutsideClick()) {\n const outsideClickSub = this.domEventsService.startOutsideClickListener(\n () => this.ngZone.run(() => this.isDropdownOpen = false),\n this.list()?.nativeElement,\n true,\n this.componentBox()?.nativeElement,\n this.searchBox()?.nativeElement\n );\n this.addSubscriptions(outsideClickSub);\n }\n\n afterNextRender(() => {\n this.ngZone.runOutsideAngular(() =>\n this.positioningService\n .computePosition(this.componentBox()!, this.list()!, { placement: 'bottom' })\n .subscribe(resp => this.updatePosition(resp))\n );\n }, { injector: this.injector });\n }\n\n search(term?: string): void {\n if (this.hasInternalList) {\n this._currentTerm = term;\n this.searchLocal();\n } else {\n this.searchInputSubject.next(term || '');\n }\n }\n\n protected _setupLocalItems(items: SelectItem[]): void {\n const copiedItems: SelectItem[] = Utils.deepCopy(items);\n\n this._localBackupItems = Utils.deepCopy(items);\n const tempItems: ListItem[] = [];\n\n for (const item of this._localBackupItems) {\n const listItem = this.getListItem(item);\n item.listItem = Object.assign(listItem, {});\n\n tempItems.push(listItem);\n }\n\n this.listItems = [...tempItems];\n this.isLoading = false;\n\n // Defer the signal update to the next microtask to avoid NG0100\n // ExpressionChangedAfterItHasBeenCheckedError when this method is\n // called synchronously from an HTTP response during change detection.\n Promise.resolve().then(() => this.localItems.set(copiedItems));\n }\n\n private searchLocal(): void {\n if (!this._currentTerm) {\n this.listItems = Utils.deepCopy(this._localBackupItems.map(li => li.listItem!));\n this.localItems.set(Utils.deepCopy(this._localBackupItems));\n\n return;\n }\n\n this.ngZone.run(() =>\n this.listItems = Utils\n .deepCopy<SelectItem[]>(this._localBackupItems)\n .filter(si => {\n let hasChildrenInSearch = false;\n\n if ((si.children?.length || 0) > 0) {\n hasChildrenInSearch = si.children!.filter(\n ci => ci.text!.toLowerCase().includes(this._currentTerm!.toLowerCase())\n ).length > 0;\n }\n\n return si.text!.toLowerCase().includes(this._currentTerm!.toLowerCase()) || hasChildrenInSearch;\n })\n .map(si => {\n const bkpItem = this._localBackupItems.find(lbi => lbi.value === si.value);\n\n if ((bkpItem?.children?.length || 0) > 0) {\n si.children = [...bkpItem!.children!].filter(\n ci => ci.text!.toLowerCase().includes(this._currentTerm!.toLowerCase())\n );\n }\n\n return this.getListItem(si);\n })\n );\n }\n\n private searchExternal(): void {\n this.isLoading = true;\n const request = { description: this._currentTerm };\n const parentLoader = this.parentDependentLoader();\n const parentId = this.parentSelectedId() ?? this.parentValue();\n\n if (!!parentLoader && !!parentId) {\n parentLoader(parentId, this._currentTerm).subscribe({\n next: (items: SelectItem[]) => this._setupLocalItems(items),\n error: () => this._setupLocalItems([])\n });\n return;\n }\n\n const observable = !!this.observable()\n ? this.observable()!(request, this.parentValue())\n : this.store()!.search(request, this.parentValue());\n\n observable.subscribe(r => {\n const items: SelectItem[] = [];\n\n r.records.forEach(item => {\n items.push({\n value: item[this.itemKey()!],\n text: item[this.itemValue()!],\n objectData: item\n });\n });\n this._setupLocalItems(items);\n });\n }\n\n private getListItem(item: SelectItem): ListItem {\n let listItem: ListItem;\n\n if (!!item.listItem) {\n listItem = item.listItem;\n listItem.id = item.value;\n listItem.text = item.text;\n } else {\n listItem = {\n id: item.value,\n text: item.text\n };\n }\n\n if ((item.children?.length || 0) > 0) {\n listItem.children = [...item.children!].map(c => this.getListItem(c));\n }\n\n return listItem;\n }\n\n private updatePosition(result: ComputePositionResult): void {\n const componentBox = this.componentBox()!.nativeElement.getBoundingClientRect();\n const searchBoxChildElement = this.searchBoxChild()?.nativeElement;\n const ddElement = this.list()!.nativeElement;\n\n this.renderer.setStyle(searchBoxChildElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'top', `${result.y + searchBoxChildElement.scrollHeight}px`, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'left', 0, RendererStyleFlags2.Important);\n this.renderer.setStyle(ddElement, 'width', `${Math.abs(componentBox.width)}px`, RendererStyleFlags2.Important);\n }\n\n abstract clearSelection(): void;\n abstract onSelectItem(item: ListItem): void;\n}\n","import { Component, ViewEncapsulation, computed, effect, input, model, output } from '@angular/core';\nimport { OptionalType } from '@updevs/sdk/types';\nimport { ListItem } from '@updevs/components/list';\nimport { Observable } from 'rxjs';\n\nimport { BaseSelectComponent } from '../../models/abstractions/base-select.component';\nimport { SelectItem } from '../../models/select-item';\nimport { ParentLoaderType } from '../../models/types';\n\n@Component({\n standalone: false,\n selector: 'upd-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectComponent extends BaseSelectComponent {\n /**\n * If true, it'll use the default style of the OS, no search capabilities.\n */\n readonly useSystemStyle = input(false);\n readonly shouldShowClearButton = input(true);\n readonly shouldTruncateSelectedText = input<OptionalType<boolean>>(true);\n readonly isCompact = input(false);\n readonly value = model<any>();\n\n readonly shouldShowHintWithoutLabel = computed(() => !this.labelText && (!!this.hintText || !!this.hintTemplate()));\n\n /**\n * Triggered when an item is selected.\n */\n readonly selectedItem = output<OptionalType<SelectItem>>();\n\n currentSelection?: SelectItem;\n get canTruncateText(): boolean {\n return this.shouldTruncateSelectedText() === true || this.shouldTruncateSelectedText() === undefined;\n }\n\n private isFetchingMissingItem = false;\n\n constructor() {\n super();\n\n // This effect is the single source of truth for syncing the value with the selection.\n effect(() => {\n const val = this.value();\n const items = this.localItems();\n const getItemFn = this.getItemById();\n\n // eslint-disable-next-line no-null/no-null\n if (val === undefined || val === null) {\n this.currentSelection = undefined;\n return;\n }\n\n // eslint-disable-next-line eqeqeq\n let item = items.find(i => i.value == val);\n\n if (!item) {\n for (const i of items) {\n if ((i.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n item = i.children?.find(c => c.value == val);\n\n if (!!item) {\n break;\n }\n }\n }\n }\n\n if (!!item) {\n this.currentSelection = item;\n this.isFetchingMissingItem = false;\n } else if (!!getItemFn) {\n this.fetchMissingItem(val, getItemFn);\n } else {\n this.currentSelection = undefined;\n }\n });\n\n effect(() => {\n const parentId = this.parentSelectedId();\n const loader = this.parentDependentLoader();\n const val = this.value();\n // eslint-disable-next-line eqeqeq\n const hasCurrent = val !== undefined && this.localItems().some(i => i.value == val);\n\n if (!!parentId && !!loader && !hasCurrent && !this.isFetchingMissingItem) {\n this.loadDependentData(parentId, loader);\n } else if (!parentId && !!loader) {\n this.clearData();\n }\n });\n }\n\n override onSelectItem(item: ListItem): void {\n this._currentTerm = item.text;\n this.isDropdownOpen = false;\n let selectedItem: OptionalType<SelectItem>;\n\n for (const localBackupItem of this._localBackupItems) {\n if ((localBackupItem.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n selectedItem = localBackupItem.children?.find(c => c.value == item.id);\n\n if (!!selectedItem) {\n break;\n }\n // eslint-disable-next-line eqeqeq\n } else if (localBackupItem.value == item.id) {\n selectedItem = localBackupItem;\n break;\n }\n }\n\n this.value.set(selectedItem?.value);\n this.selectedItem.emit(selectedItem);\n this._updateFormControl(selectedItem?.value, true);\n }\n\n override search(term?: string): void {\n const parentId = this.parentSelectedId();\n const loader = this.parentDependentLoader();\n\n if (!!parentId && !!loader) {\n this.loadDependentData(parentId, loader, term);\n } else {\n super.search(term);\n }\n }\n\n override clearSelection(isInternalCall = false): void {\n if (this.isDisabled() && !isInternalCall) {\n return;\n }\n\n this._currentTerm = undefined;\n\n this.value.set(undefined);\n this.selectedItem.emit(undefined);\n this._updateFormControl(undefined, true);\n }\n\n onSystemSelect(event: any): void {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.localItems().find(c => c.value == event.target.value);\n\n this.value.set(selectedItem?.value);\n this.selectedItem.emit(selectedItem);\n this._updateFormControl(selectedItem?.value, true);\n }\n\n protected _getValue(): any {\n return this.value();\n }\n\n protected _updateValue(value: any): void {\n this.value.set(value);\n }\n\n private loadDependentData(parentId: any, loader: ParentLoaderType, term?: string): void {\n loader(parentId, term).subscribe({\n next: (items) => {\n this._setupLocalItems(items);\n const val = this.value();\n\n // eslint-disable-next-line eqeqeq\n if (val !== undefined && !items.some(i => i.value == val) && !this.getItemById()) {\n this.clearSelection(true);\n }\n },\n error: () => {\n this._setupLocalItems([]);\n this.clearSelection(true);\n }\n });\n }\n\n private clearData(): void {\n this._setupLocalItems([]);\n this.clearSelection(true);\n }\n\n private fetchMissingItem(id: any, getItemFn: (id: any) => Observable<SelectItem>): void {\n this.isFetchingMissingItem = true;\n getItemFn(id).subscribe({\n next: (item) => {\n if (!!item) {\n // eslint-disable-next-line eqeqeq\n if (this.value() == id) {\n this.currentSelection = item;\n }\n\n const currentItems = this.localItems();\n\n // eslint-disable-next-line eqeqeq\n if (!currentItems.find(i => i.value == item.value)) {\n this._setupLocalItems([...currentItems, item]);\n }\n // eslint-disable-next-line eqeqeq\n } else if (this.value() == id) {\n this.currentSelection = undefined;\n }\n\n this.isFetchingMissingItem = false;\n this.selectedItem.emit(this.currentSelection);\n },\n error: () => {\n // eslint-disable-next-line eqeqeq\n if (this.value() == id) {\n this.currentSelection = undefined;\n }\n\n this.isFetchingMissingItem = false;\n }\n });\n }\n}\n","@if (!!labelText) {\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n </div>\n <div class=\"col-auto\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n }\n}\n\n@if (!useSystemStyle()) {\n <div class=\"dropdown\" [attr.id]=\"name()\" [ngClass]=\"layoutClasses()\">\n @if (shouldShowHintWithoutLabel()) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n }\n\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder()\" [isInputGroupFlat]=\"true\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight() + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n </div>\n} @else {\n @if (shouldShowHintWithoutLabel()) {\n <div class=\"row g-2\">\n <div class=\"col\">\n <ng-template [ngTemplateOutlet]=\"contentDefaultStyleTpl\"></ng-template>\n </div>\n <div class=\"col-auto align-self-center\">\n <ng-template [ngTemplateOutlet]=\"hintTpl\"></ng-template>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentDefaultStyleTpl\"></ng-template>\n }\n}\n\n<ng-template #hintTpl>\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\" [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n</ng-template>\n\n<ng-template #contentTpl>\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\" [class.disabled]=\"isDisabled()\"\n [class.pe-none]=\"isDisabled()\" [class.select-cursor-default]=\"!isDisabled()\"\n [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\" (click)=\"openDropdown()\">\n @if (!!currentSelection) {\n <span [ngClass]=\"canTruncateText ? 'd-block text-truncate' : ''\">{{ currentSelection.text }}</span>\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (!!currentSelection && shouldShowClearButton()) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\" [class.select-cursor-pointer]=\"!isDisabled()\"\n [iconModel]=\"{tablerIcon:'x', tablerIconSize: 16}\">\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\" [class.select-cursor-pointer]=\"!isDisabled()\"\n [iconModel]=\"{tablerIcon:'chevron-down', tablerIconSize: 16}\">\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #contentDefaultStyleTpl>\n <select class=\"form-select\" [class.compact]=\"isCompact()\" [attr.placeholder]=\"placeholder()\" [attr.name]=\"name()\"\n [class.select-cursor-pointer]=\"!isDisabled()\" [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\"\n [class.disabled]=\"isDisabled()\" (change)=\"onSystemSelect($event)\">\n @for (item of localItems(); track item) {\n @if ((item.children?.length || 0) > 0) {\n <optgroup [label]=\"item.text\">\n @for (child of item.children; track child) {\n <option [attr.selected]=\"!!currentSelection && child.value === currentSelection.value ? true : undefined\"\n [value]=\"child.value\">\n {{ child.text }}\n </option>\n }\n </optgroup>\n } @else {\n <option [attr.selected]=\"!!currentSelection && item.value === currentSelection.value ? true : undefined\"\n [value]=\"item.value\">\n {{ item.text }}\n </option>\n }\n }\n </select>\n</ng-template>\n","import { Component, ViewEncapsulation, EventEmitter, Output, input, effect } from '@angular/core';\nimport { ListItem } from '@updevs/components/list';\n\nimport { BaseSelectComponent } from '../../models/abstractions/base-select.component';\nimport { SelectItem } from '../../models/select-item';\n\n@Component({\n standalone: false,\n selector: 'upd-select-multiple',\n templateUrl: './select-multiple.component.html',\n styleUrls: ['./select-multiple.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SelectMultipleComponent extends BaseSelectComponent {\n /**\n * Returns the selected items.\n * Triggered when items are selected.\n */\n @Output() readonly selectedItems = new EventEmitter<SelectItem[]>();\n /**\n * Returns the selected Ids.\n * Triggered when items are selected.\n */\n @Output() readonly selectedIds = new EventEmitter<any[]>();\n\n /**\n * An array of primitive values to set the selection programmatically.\n */\n readonly selectedValues = input<SelectItem[]>();\n\n currentSelection: SelectItem[] = [];\n\n constructor() {\n super();\n\n effect(() => {\n const values = this.selectedValues();\n\n if (!!values && values.length > 0) {\n this.currentSelection = this._localBackupItems.filter(item => values.includes(item.value));\n this.updateActiveItemsOnList();\n }\n });\n }\n\n clearSelection(): void {\n this.currentSelection = [];\n this._currentTerm = undefined;\n\n this.updateActiveItemsOnList();\n this._updateFormControl([], true);\n }\n\n onSelectItem(item: ListItem): void {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.currentSelection.find(cs => cs.value == item.id);\n\n if (!!selectedItem) {\n this.onRemoveItem(selectedItem);\n return;\n }\n\n for (const localBackupItem of this._localBackupItems) {\n if ((localBackupItem.children?.length || 0) > 0) {\n // eslint-disable-next-line eqeqeq\n const child = localBackupItem.children?.find(c => c.value == item.id);\n\n if (!!child) {\n this.currentSelection.push(child);\n break;\n }\n // eslint-disable-next-line eqeqeq\n } else if (localBackupItem.value == item.id) {\n this.currentSelection.push(localBackupItem);\n break;\n }\n }\n\n this.updateActiveItemsOnList();\n\n const currentSelectedIds = this.currentSelection.map(cs => cs.value);\n\n this.selectedItems.emit(this.currentSelection);\n this.selectedIds.emit(currentSelectedIds);\n this._updateFormControl(currentSelectedIds, true);\n }\n\n onRemoveItem(item: SelectItem): void {\n // eslint-disable-next-line eqeqeq\n const idx = this.currentSelection.findIndex(cs => cs.value == item.value);\n\n this.currentSelection.splice(idx, 1);\n this.updateActiveItemsOnList();\n this._updateFormControl(this.currentSelection.map(cs => cs.value), true);\n }\n\n protected _getValue(): any {\n return this.currentSelection.map(item => item.value);\n }\n\n protected _updateValue(value: any): void {\n if (!Array.isArray(value)) {\n this.currentSelection = [];\n return;\n }\n\n this.currentSelection = this._localBackupItems.filter(item => value.includes(item.value));\n this.updateActiveItemsOnList();\n }\n\n private updateActiveItemsOnList(): void {\n for (const backupItem of this._localBackupItems) {\n // eslint-disable-next-line eqeqeq\n const selectedItem = this.currentSelection.find(cs => cs.value == backupItem.value);\n\n if (!!backupItem.listItem) {\n backupItem.listItem.isActive = !!selectedItem;\n }\n }\n\n this._setupLocalItems(this._localBackupItems);\n }\n}\n","@if (!!labelText) {\n @if (!!hintText || !!hintTemplate()) {\n <div class=\"row g-2\">\n <div class=\"col-auto\">\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n </div>\n <div class=\"col-auto\">\n <span class=\"form-help\" [updPopover]=\"hintText\" [updPopoverTemplate]=\"hintTemplate()\"\n [updPopoverActAsTooltip]=\"hintAsTooltip()\">\n ?\n </span>\n </div>\n </div>\n } @else {\n <label [ngClass]=\"labelSizeClasses\">{{ labelText }}</label>\n }\n}\n\n<div class=\"dropdown\" [attr.id]=\"name()\">\n <div #componentBox class=\"input-group input-group-flat\">\n <div class=\"form-control\" [class.remove-bottom-radius]=\"isDropdownOpen\" [class.disabled]=\"isDisabled()\"\n [class.pe-none]=\"isDisabled()\" [attr.disabled]=\"isDisabled() ? 'disabled' : undefined\" (click)=\"openDropdown()\">\n @for (sel of currentSelection; track sel) {\n <span class=\"badge bg-primary select-multiple-value\">{{ sel.text }}\n <upd-button [isIcon]=\"true\" [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onRemoveItem(sel)\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button></span>&nbsp;\n }\n </div>\n <div class=\"input-group-text\" [class.remove-bottom-radius]=\"isDropdownOpen\">\n @if (currentSelection.length > 0) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"clearSelection()\"\n customClasses=\"link-secondary\">\n <upd-icon tablerIcon=\"x\"></upd-icon>\n </upd-button>\n }\n @if (!isLoading) {\n <upd-button [shouldIgnoreBtnClass]=\"true\" [isDisabled]=\"isDisabled()\" (clicked)=\"openDropdown()\"\n customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"chevron-down\"></upd-icon>\n </upd-button>\n } @else {\n <div class=\"select-loader-wrapper\">\n <div class=\"spinner-border spinner-border-sm text-muted select-loader\" role=\"status\"></div>\n </div>\n }\n </div>\n </div>\n <div #searchBox>\n <div #searchBoxChild [style.visibility]=\"isDropdownOpen ? 'visible' : 'hidden'\" class=\"select-search-box\">\n <upd-input [placeholder]=\"placeholder()\" [isInputGroupFlat]=\"true\" (valueChange)=\"search($event)\">\n <ng-template updInputPrepend>\n <upd-icon tablerIcon=\"search\"></upd-icon>\n </ng-template>\n </upd-input>\n </div>\n </div>\n <upd-list #list [items]=\"listItems\" [maxHeight]=\"dropdownMaxHeight() + 'px'\" (selectedItem)=\"onSelectItem($event)\"\n [wrapperClasses]=\"dropdownClasses\" [isVisible]=\"isDropdownOpen\" [shouldOverflow]=\"true\" [shouldDisplayItemsCounter]=\"true\">\n </upd-list>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslocoModule } from '@jsverse/transloco';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdCoreLayoutModule } from '@updevs/sdk/layout';\nimport { UpdListModule } from '@updevs/components/list';\nimport { UpdButtonModule } from '@updevs/components/button';\nimport { UpdInputModule } from '@updevs/components/form-controls/input';\nimport { UpdPopoverModule } from '@updevs/components/popover';\n\nimport { SelectComponent } from './components/single/select.component';\nimport { SelectMultipleComponent } from './components/multiple/select-multiple.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdCoreLayoutModule,\n UpdListModule,\n UpdInputModule,\n UpdIconsModule,\n UpdButtonModule,\n UpdPopoverModule,\n TranslocoModule\n ],\n declarations: [\n SelectComponent,\n SelectMultipleComponent\n ],\n exports: [\n SelectComponent,\n SelectMultipleComponent\n ]\n})\nexport class UpdSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MAEa,QAAQ,CAAA;aACV,IAAiB,CAAA,iBAAA,GAAG,GAAG,CAAC;aACxB,IAAiB,CAAA,iBAAA,GAAG,GAAG,CAAC;aACxB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;aACxB,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC;aACjC,IAAM,CAAA,MAAA,GAA2B,UAAU,CAAC;;;ACwBvD,IAAO,KAAK,GAAG,KAAK,CAAC,KAAK;AAGpB,MAAgB,mBAAoB,SAAQ,WAAW,CAAA;AACzD,IAAA,IAA0B,cAAc,GAAA;AACpC,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;;AAsDpC,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,eAAe;;IAE/B,IAAI,cAAc,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAE5B,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAEzC,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,eAAe,IAAI,+BAA+B;;aACpD;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;;;AAGhG,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,EAAE;AAChC,YAAA,OAAO,YAAY;;AAGvB,QAAA,OAAO,gBAAgB,CAAC,UAAU,CAC9B,gBAAgB,EAChB,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAC1D;;AAiBL,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QA3FF,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC,cAAc,yDAAI,IAAI,EAAE,UAAU,EAAA,CAAG;QAC9D,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC,WAAW,sDAAI,IAAI,EAAE,UAAU,EAAA,CAAG;QACxD,IAAc,CAAA,cAAA,GAAG,SAAS,CAAC,gBAAgB,2DAAI,IAAI,EAAE,UAAU,EAAA,CAAG;QAClE,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC,MAAM,iDAAI,IAAI,EAAE,UAAU,EAAA,CAAG;QAE9C,IAAwB,CAAA,wBAAA,GAAG,MAAM,EAAW;AACrD;;;AAGG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAgB;AACtC;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAmB;AACzC;;AAEG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAwB;AACnD;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAClC;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACpC;;AAEG;AACM,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,6DAAC;AACrD,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,6DAAC;AACrD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAgB,4DAAC;AACnD,QAAA,IAAA,CAAA,yBAAyB,GAAG,KAAK,CAAC,QAAQ,CAAC,yBAAyB,qEAAC;AACrE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAyB,QAAQ,CAAC,MAAM,kDAAC;AAChE;;;AAGG;QACM,IAAW,CAAA,WAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;QACrB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAqB;QAC7C,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;QACjD,IAAW,CAAA,WAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAmB;QAE/C,IAAa,CAAA,aAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAClG,IAAS,CAAA,SAAA,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAe,EAAE,sDAAC;QACrC,IAAS,CAAA,SAAA,GAAe,EAAE;QAC1B,IAAe,CAAA,eAAA,GAAG,2CAA2C;QA2BnD,IAAiB,CAAA,iBAAA,GAAiB,EAAE;QAEtC,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAkB,CAAA,kBAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,YAAY,GAAG,KAAK,GAAG,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEvE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,OAAO,EAAU;AAC1C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAKxC,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC;;YAGxC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,mBAAmB,EAAE;AACjD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE;gBAE7C,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;;AAErB,SAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;;IAGnC,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAE3F,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC;;iBACjC;gBACH,IAAI,CAAC,cAAc,EAAE;;;AAI7B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB;;AAGJ,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC;aAC9B,IAAI,CACD,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,EACvC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAEzC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAE3C,QAAA,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;;IAGhD,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACnB;;AAGJ,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAE1B,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YAClC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CACnE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EACxD,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,EAC1B,IAAI,EACJ,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAClC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAClC;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;;QAG1C,eAAe,CAAC,MAAK;YACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAC1B,IAAI,CAAC;AACA,iBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,EAAG,EAAE,IAAI,CAAC,IAAI,EAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC3E,iBAAA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACpD;SACJ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAGnC,IAAA,MAAM,CAAC,IAAa,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,WAAW,EAAE;;aACf;YACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;;;AAItC,IAAA,gBAAgB,CAAC,KAAmB,EAAA;QAC1C,MAAM,WAAW,GAAiB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEvD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9C,MAAM,SAAS,GAAe,EAAE;AAEhC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAE3C,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAG5B,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;;AAKtB,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;;IAG1D,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,QAAS,CAAC,CAAC;AAC/E,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE3D;;AAGJ,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MACZ,IAAI,CAAC,SAAS,GAAG;AACZ,aAAA,QAAQ,CAAe,IAAI,CAAC,iBAAiB;aAC7C,MAAM,CAAC,EAAE,IAAG;YACT,IAAI,mBAAmB,GAAG,KAAK;AAE/B,YAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AAChC,gBAAA,mBAAmB,GAAG,EAAE,CAAC,QAAS,CAAC,MAAM,CACrC,EAAE,IAAI,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAC1E,CAAC,MAAM,GAAG,CAAC;;AAGhB,YAAA,OAAO,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,IAAI,mBAAmB;AACnG,SAAC;aACA,GAAG,CAAC,EAAE,IAAG;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;AAE1E,YAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AACtC,gBAAA,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAQ,CAAC,QAAS,CAAC,CAAC,MAAM,CACxC,EAAE,IAAI,EAAE,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,CAAC,WAAW,EAAE,CAAC,CAC1E;;AAGL,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC9B,CAAC,CACT;;IAGG,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;AAClD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;QAE9D,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC9B,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;gBAChD,IAAI,EAAE,CAAC,KAAmB,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAC3D,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE;AACxC,aAAA,CAAC;YACF;;AAGJ,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU;AAChC,cAAE,IAAI,CAAC,UAAU,EAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;AAChD,cAAE,IAAI,CAAC,KAAK,EAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAEvD,QAAA,UAAU,CAAC,SAAS,CAAC,CAAC,IAAG;YACrB,MAAM,KAAK,GAAiB,EAAE;AAE9B,YAAA,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAG;gBACrB,KAAK,CAAC,IAAI,CAAC;AACP,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAG,CAAC;AAC5B,oBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC;AAC7B,oBAAA,UAAU,EAAE;AACf,iBAAA,CAAC;AACN,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAChC,SAAC,CAAC;;AAGE,IAAA,WAAW,CAAC,IAAgB,EAAA;AAChC,QAAA,IAAI,QAAkB;AAEtB,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ;AACxB,YAAA,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK;AACxB,YAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;;aACtB;AACH,YAAA,QAAQ,GAAG;gBACP,EAAE,EAAE,IAAI,CAAC,KAAK;gBACd,IAAI,EAAE,IAAI,CAAC;aACd;;AAGL,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YAClC,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;AAGzE,QAAA,OAAO,QAAQ;;AAGX,IAAA,cAAc,CAAC,MAA6B,EAAA;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAG,CAAC,aAAa;QAE5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC1H,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,CAAC,GAAG,qBAAqB,CAAC,YAAY,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;AAC7H,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;;8GApShG,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+tEAKqB,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAChB,UAAU,EACA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,uGAC9B,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FARlC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC,SAAS;mBAAC,EAAE,UAAU,EAAE,KAAK,EAAE;;sBAE3B,WAAW;uBAAC,OAAO;AAIc,aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAA,GAAA,EAAE,IAAI,EAAE,UAAU,EAAE,EACvC,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAA,GAAA,EAAE,IAAI,EAAE,UAAU,EAAE,EAC5B,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAA,GAAA,EAAE,IAAI,EAAE,UAAU,EAAE,EAChD,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAA,GAAA,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AC1BpD,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAkBpD,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,0BAA0B,EAAE,KAAK,SAAS;;AAKxG,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAxBX;;AAEG;AACM,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,KAAK,0DAAC;AAC7B,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,IAAI,iEAAC;AACnC,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAwB,IAAI,sEAAC;AAC/D,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;QACxB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAO;QAEpB,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,4BAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEnH;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,MAAM,EAA4B;QAOlD,IAAqB,CAAA,qBAAA,GAAG,KAAK;;QAMjC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AACxB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;;YAGpC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;gBACjC;;;AAIJ,YAAA,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;YAE1C,IAAI,CAAC,IAAI,EAAE;AACP,gBAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACnB,oBAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;AAE/B,wBAAA,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;AAE5C,wBAAA,IAAI,CAAC,CAAC,IAAI,EAAE;4BACR;;;;;AAMhB,YAAA,IAAI,CAAC,CAAC,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;;AAC/B,iBAAA,IAAI,CAAC,CAAC,SAAS,EAAE;AACpB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC;;iBAClC;AACH,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAEzC,SAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC3C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;;YAExB,MAAM,UAAU,GAAG,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;AAEnF,YAAA,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;;AACrC,iBAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,SAAS,EAAE;;AAExB,SAAC,CAAC;;AAGG,IAAA,YAAY,CAAC,IAAc,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,YAAsC;AAE1C,QAAA,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;AAE7C,gBAAA,YAAY,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAEtE,gBAAA,IAAI,CAAC,CAAC,YAAY,EAAE;oBAChB;;;;iBAGD,IAAI,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE;gBACzC,YAAY,GAAG,eAAe;gBAC9B;;;QAIR,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;;AAG7C,IAAA,MAAM,CAAC,IAAa,EAAA;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE;QAE3C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;;aAC3C;AACH,YAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;;;IAIjB,cAAc,CAAC,cAAc,GAAG,KAAK,EAAA;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;YACtC;;AAGJ,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAE7B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;;AAG5C,IAAA,cAAc,CAAC,KAAU,EAAA;;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;;IAG5C,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;;AAGb,IAAA,YAAY,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGjB,IAAA,iBAAiB,CAAC,QAAa,EAAE,MAAwB,EAAE,IAAa,EAAA;AAC5E,QAAA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,KAAK,KAAI;AACZ,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC5B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;;gBAGxB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AAC9E,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;aAEhC;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACzB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;AAEhC,SAAA,CAAC;;IAGE,SAAS,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;IAGrB,gBAAgB,CAAC,EAAO,EAAE,SAA8C,EAAA;AAC5E,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,QAAA,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AACpB,YAAA,IAAI,EAAE,CAAC,IAAI,KAAI;AACX,gBAAA,IAAI,CAAC,CAAC,IAAI,EAAE;;AAER,oBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AACpB,wBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;;AAGhC,oBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;;AAGtC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;wBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC;;;;AAG/C,qBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AAC3B,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAGrC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAChD;YACD,KAAK,EAAE,MAAK;;AAER,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;AACpB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;AAGrC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;;AAEzC,SAAA,CAAC;;8GAxMG,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,y5BChB5B,49KAqHA,EAAA,MAAA,EAAA,CAAA,25BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDrGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,EACP,QAAA,EAAA,YAAY,EAGP,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,49KAAA,EAAA,MAAA,EAAA,CAAA,25BAAA,CAAA,EAAA;;;AEDnC,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AAmB5D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAnBX;;;AAGG;AACgB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAgB;AACnE;;;AAGG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAS;AAE1D;;AAEG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAgB;QAE/C,IAAgB,CAAA,gBAAA,GAAiB,EAAE;QAK/B,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;YAEpC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1F,IAAI,CAAC,uBAAuB,EAAE;;AAEtC,SAAC,CAAC;;IAGN,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;QAE7B,IAAI,CAAC,uBAAuB,EAAE;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC;;AAGrC,IAAA,YAAY,CAAC,IAAc,EAAA;;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAE1E,QAAA,IAAI,CAAC,CAAC,YAAY,EAAE;AAChB,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC/B;;AAGJ,QAAA,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;;gBAE7C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;AAErE,gBAAA,IAAI,CAAC,CAAC,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;oBACjC;;;;iBAGD,IAAI,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE;AACzC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC3C;;;QAIR,IAAI,CAAC,uBAAuB,EAAE;AAE9B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC;QAEpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACzC,QAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC;;AAGrD,IAAA,YAAY,CAAC,IAAgB,EAAA;;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAEzE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;;IAGlE,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;;AAG9C,IAAA,YAAY,CAAC,KAAU,EAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;YAC1B;;QAGJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzF,IAAI,CAAC,uBAAuB,EAAE;;IAG1B,uBAAuB,GAAA;AAC3B,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;;YAE7C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;AAEnF,YAAA,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACvB,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY;;;AAIrD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;;8GA3GxC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+UCbpC,0kGA6DA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDhDa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,EACP,QAAA,EAAA,qBAAqB,EAGhB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0kGAAA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA;;sBAOpC;;sBAKA;;;MEUQ,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBARpB,eAAe;AACf,YAAA,uBAAuB,aAXvB,YAAY;YACZ,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;YACd,eAAe;YACf,gBAAgB;AAChB,YAAA,eAAe,aAOf,eAAe;YACf,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAlBpB,YAAY;YACZ,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;YACd,eAAe;YACf,gBAAgB;YAChB,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAWV,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB;AACH,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,eAAe;wBACf;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,eAAe;wBACf;AACH;AACJ,iBAAA;;;AChCD;;AAEG;;;;"}
@@ -8,12 +8,12 @@ class TextareaComponent extends BaseControl {
8
8
  constructor() {
9
9
  super(...arguments);
10
10
  this.hostWrapperClasses = '';
11
- this.value = model();
12
- this.customClasses = input();
13
- this.wrapperClasses = input();
14
- this.maxLength = input();
15
- this.rows = input();
16
- this.displayCharactersCount = input(false);
11
+ this.value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
12
+ this.customClasses = input(...(ngDevMode ? [undefined, { debugName: "customClasses" }] : []));
13
+ this.wrapperClasses = input(...(ngDevMode ? [undefined, { debugName: "wrapperClasses" }] : []));
14
+ this.maxLength = input(...(ngDevMode ? [undefined, { debugName: "maxLength" }] : []));
15
+ this.rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : []));
16
+ this.displayCharactersCount = input(false, ...(ngDevMode ? [{ debugName: "displayCharactersCount" }] : []));
17
17
  this.classes = [];
18
18
  }
19
19
  ngOnInit() {
@@ -40,23 +40,23 @@ class TextareaComponent extends BaseControl {
40
40
  const lClasses = ['form-control'];
41
41
  this.classes = [...lClasses, ...(this.customClasses() || '').split(' ')];
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: TextareaComponent, selector: "upd-textarea", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, displayCharactersCount: { classPropertyName: "displayCharactersCount", publicName: "displayCharactersCount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class": "this.hostWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: TextareaComponent, isStandalone: false, selector: "upd-textarea", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, displayCharactersCount: { classPropertyName: "displayCharactersCount", publicName: "displayCharactersCount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class": "this.hostWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TextareaComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TextareaComponent, decorators: [{
47
47
  type: Component,
48
- args: [{ selector: 'upd-textarea', encapsulation: ViewEncapsulation.None, template: "@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n" }]
48
+ args: [{ standalone: false, selector: 'upd-textarea', encapsulation: ViewEncapsulation.None, template: "@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n" }]
49
49
  }], propDecorators: { hostWrapperClasses: [{
50
50
  type: HostBinding,
51
51
  args: ['class']
52
- }] } });
52
+ }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], customClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "customClasses", required: false }] }], wrapperClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrapperClasses", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], displayCharactersCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayCharactersCount", required: false }] }] } });
53
53
 
54
54
  class UpdTextareaModule {
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
56
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdTextareaModule, declarations: [TextareaComponent], imports: [CommonModule], exports: [TextareaComponent] }); }
57
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTextareaModule, imports: [CommonModule] }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
56
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdTextareaModule, declarations: [TextareaComponent], imports: [CommonModule], exports: [TextareaComponent] }); }
57
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTextareaModule, imports: [CommonModule] }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTextareaModule, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTextareaModule, decorators: [{
60
60
  type: NgModule,
61
61
  args: [{
62
62
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"updevs-components-form-controls-textarea.mjs","sources":["../../../../libs/components/form-controls/textarea/src/textarea.component.ts","../../../../libs/components/form-controls/textarea/src/textarea.component.html","../../../../libs/components/form-controls/textarea/src/upd-textarea.module.ts","../../../../libs/components/form-controls/textarea/src/updevs-components-form-controls-textarea.ts"],"sourcesContent":["import { Component, ViewEncapsulation, HostBinding, OnInit, OnChanges, input, model } from '@angular/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\n\n@Component({\n selector: 'upd-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TextareaComponent extends BaseControl implements OnInit, OnChanges {\n @HostBinding('class') hostWrapperClasses = '';\n\n value = model<string>();\n customClasses = input<string>();\n wrapperClasses = input<string>();\n maxLength = input<number>();\n rows = input<number>();\n displayCharactersCount = input(false);\n classes: string[] = [];\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(): void {\n this.updateClasses();\n }\n\n updateValue(event?: any): void {\n if (!event && !event.target) {\n return;\n }\n\n const val = (event.target as HTMLTextAreaElement).value;\n\n this.value.set(val);\n this._updateFormControl(val, true);\n }\n\n protected _getValue(): any {\n return this.value();\n }\n\n protected _updateValue(value: any): void {\n this.value.set(value ?? '');\n }\n\n private updateClasses(): void {\n const lClasses: string[] = ['form-control'];\n this.classes = [...lClasses, ...(this.customClasses() || '').split(' ')];\n }\n}\n","@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TextareaComponent } from './textarea.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n TextareaComponent\n ],\n exports: [\n TextareaComponent\n ]\n})\nexport class UpdTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updevs-components-form-controls-textarea.mjs","sources":["../../../../libs/components/form-controls/textarea/src/textarea.component.ts","../../../../libs/components/form-controls/textarea/src/textarea.component.html","../../../../libs/components/form-controls/textarea/src/upd-textarea.module.ts","../../../../libs/components/form-controls/textarea/src/updevs-components-form-controls-textarea.ts"],"sourcesContent":["import { Component, ViewEncapsulation, HostBinding, OnInit, OnChanges, input, model } from '@angular/core';\nimport { BaseControl } from '@updevs/components/form-controls/abstractions';\n\n@Component({\n standalone: false,\n selector: 'upd-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TextareaComponent extends BaseControl implements OnInit, OnChanges {\n @HostBinding('class') hostWrapperClasses = '';\n\n value = model<string>();\n customClasses = input<string>();\n wrapperClasses = input<string>();\n maxLength = input<number>();\n rows = input<number>();\n displayCharactersCount = input(false);\n classes: string[] = [];\n\n ngOnInit(): void {\n this.updateClasses();\n }\n\n ngOnChanges(): void {\n this.updateClasses();\n }\n\n updateValue(event?: any): void {\n if (!event && !event.target) {\n return;\n }\n\n const val = (event.target as HTMLTextAreaElement).value;\n\n this.value.set(val);\n this._updateFormControl(val, true);\n }\n\n protected _getValue(): any {\n return this.value();\n }\n\n protected _updateValue(value: any): void {\n this.value.set(value ?? '');\n }\n\n private updateClasses(): void {\n const lClasses: string[] = ['form-control'];\n this.classes = [...lClasses, ...(this.customClasses() || '').split(' ')];\n }\n}\n","@if (!!labelText || displayCharactersCount()) {\n <label class=\"form-label\">\n {{ labelText }}\n @if (displayCharactersCount() && !!maxLength()) {\n <span class=\"form-label-description\">{{ value()?.length || 0 }}/{{ maxLength() }}</span>\n }\n </label>\n}\n\n<textarea [attr.maxlength]=\"maxLength()\" [disabled]=\"isDisabled()\" [ngClass]=\"classes\" [placeholder]=\"placeholderText\"\n [value]=\"value() || ''\" [attr.name]=\"name()\" [attr.readonly]=\"isDisabled() ? '' : undefined\" [attr.rows]=\"rows()\"\n (input)=\"updateValue($event)\">\n</textarea>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TextareaComponent } from './textarea.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n TextareaComponent\n ],\n exports: [\n TextareaComponent\n ]\n})\nexport class UpdTextareaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -131,12 +131,12 @@ class TimeSelectorComponent {
131
131
  list.push(i);
132
132
  }
133
133
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TimeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: TimeSelectorComponent, selector: "upd-time-selector", inputs: { shouldSelectSeconds: "shouldSelectSeconds", shouldUse24hFormat: "shouldUse24hFormat", startingHour: "startingHour", endingHour: "endingHour", hourInterval: "hourInterval", startingMinute: "startingMinute", endingMinute: "endingMinute", minuteInterval: "minuteInterval", startingSecond: "startingSecond", endingSecond: "endingSecond", secondInterval: "secondInterval", customHours: "customHours", customMinutes: "customMinutes", customSeconds: "customSeconds" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex\">\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (h of hoursList; track h) {\n <li>\n <div class=\"cell\">{{ h.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (m of minutesList; track m) {\n <li>\n <div class=\"cell\">{{ m.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n @if (shouldSelectSeconds) {\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (s of secondsList; track s) {\n <li>\n <div class=\"cell\">{{ s.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n }\n @if (!shouldUse24hFormat) {\n <div class=\"time-items-list\">\n <ul class=\"list\">\n <li>\n <div class=\"cell\">{{ 'AM' | transloco }}</div>\n <div class=\"cell\">{{ 'PM' | transloco }}</div>\n </li>\n </ul>\n </div>\n }\n</div>\n<div>\n <upd-button>{{ 'Select' | transloco }}</upd-button>\n</div>\n", styles: [".time-dots-separator{display:flex;align-items:center}.time-items-list{padding-left:15px;padding-right:15px;display:flex;justify-items:center;flex:auto;height:240px}.time-items-list .list{position:relative;flex:1 0 auto;margin:0;padding:0;overflow-y:auto;text-align:center;list-style:none}.time-items-list .list li{margin-top:0;display:block;height:40px;cursor:pointer}.time-items-list .list li .-item{display:block;cursor:pointer;transition:color .3s}.list{-ms-overflow-style:none;scrollbar-width:none}.list::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }] }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TimeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: TimeSelectorComponent, isStandalone: false, selector: "upd-time-selector", inputs: { shouldSelectSeconds: "shouldSelectSeconds", shouldUse24hFormat: "shouldUse24hFormat", startingHour: "startingHour", endingHour: "endingHour", hourInterval: "hourInterval", startingMinute: "startingMinute", endingMinute: "endingMinute", minuteInterval: "minuteInterval", startingSecond: "startingSecond", endingSecond: "endingSecond", secondInterval: "secondInterval", customHours: "customHours", customMinutes: "customMinutes", customSeconds: "customSeconds" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex\">\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (h of hoursList; track h) {\n <li>\n <div class=\"cell\">{{ h.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (m of minutesList; track m) {\n <li>\n <div class=\"cell\">{{ m.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n @if (shouldSelectSeconds) {\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (s of secondsList; track s) {\n <li>\n <div class=\"cell\">{{ s.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n }\n @if (!shouldUse24hFormat) {\n <div class=\"time-items-list\">\n <ul class=\"list\">\n <li>\n <div class=\"cell\">{{ 'AM' | transloco }}</div>\n <div class=\"cell\">{{ 'PM' | transloco }}</div>\n </li>\n </ul>\n </div>\n }\n</div>\n<div>\n <upd-button>{{ 'Select' | transloco }}</upd-button>\n</div>\n", styles: [".time-dots-separator{display:flex;align-items:center}.time-items-list{padding-left:15px;padding-right:15px;display:flex;justify-items:center;flex:auto;height:240px}.time-items-list .list{position:relative;flex:1 0 auto;margin:0;padding:0;overflow-y:auto;text-align:center;list-style:none}.time-items-list .list li{margin-top:0;display:block;height:40px;cursor:pointer}.time-items-list .list li .-item{display:block;cursor:pointer;transition:color .3s}.list{-ms-overflow-style:none;scrollbar-width:none}.list::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }] }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TimeSelectorComponent, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TimeSelectorComponent, decorators: [{
138
138
  type: Component,
139
- args: [{ selector: 'upd-time-selector', template: "<div class=\"d-flex\">\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (h of hoursList; track h) {\n <li>\n <div class=\"cell\">{{ h.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (m of minutesList; track m) {\n <li>\n <div class=\"cell\">{{ m.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n @if (shouldSelectSeconds) {\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (s of secondsList; track s) {\n <li>\n <div class=\"cell\">{{ s.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n }\n @if (!shouldUse24hFormat) {\n <div class=\"time-items-list\">\n <ul class=\"list\">\n <li>\n <div class=\"cell\">{{ 'AM' | transloco }}</div>\n <div class=\"cell\">{{ 'PM' | transloco }}</div>\n </li>\n </ul>\n </div>\n }\n</div>\n<div>\n <upd-button>{{ 'Select' | transloco }}</upd-button>\n</div>\n", styles: [".time-dots-separator{display:flex;align-items:center}.time-items-list{padding-left:15px;padding-right:15px;display:flex;justify-items:center;flex:auto;height:240px}.time-items-list .list{position:relative;flex:1 0 auto;margin:0;padding:0;overflow-y:auto;text-align:center;list-style:none}.time-items-list .list li{margin-top:0;display:block;height:40px;cursor:pointer}.time-items-list .list li .-item{display:block;cursor:pointer;transition:color .3s}.list{-ms-overflow-style:none;scrollbar-width:none}.list::-webkit-scrollbar{display:none}\n"] }]
139
+ args: [{ standalone: false, selector: 'upd-time-selector', template: "<div class=\"d-flex\">\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (h of hoursList; track h) {\n <li>\n <div class=\"cell\">{{ h.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (m of minutesList; track m) {\n <li>\n <div class=\"cell\">{{ m.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n @if (shouldSelectSeconds) {\n <div class=\"time-dots-separator\">\n <span>:</span>\n </div>\n <div class=\"time-items-list\">\n <ul class=\"list\">\n @for (s of secondsList; track s) {\n <li>\n <div class=\"cell\">{{ s.toString().padStart(2, '0') }}</div>\n </li>\n }\n </ul>\n </div>\n }\n @if (!shouldUse24hFormat) {\n <div class=\"time-items-list\">\n <ul class=\"list\">\n <li>\n <div class=\"cell\">{{ 'AM' | transloco }}</div>\n <div class=\"cell\">{{ 'PM' | transloco }}</div>\n </li>\n </ul>\n </div>\n }\n</div>\n<div>\n <upd-button>{{ 'Select' | transloco }}</upd-button>\n</div>\n", styles: [".time-dots-separator{display:flex;align-items:center}.time-items-list{padding-left:15px;padding-right:15px;display:flex;justify-items:center;flex:auto;height:240px}.time-items-list .list{position:relative;flex:1 0 auto;margin:0;padding:0;overflow-y:auto;text-align:center;list-style:none}.time-items-list .list li{margin-top:0;display:block;height:40px;cursor:pointer}.time-items-list .list li .-item{display:block;cursor:pointer;transition:color .3s}.list{-ms-overflow-style:none;scrollbar-width:none}.list::-webkit-scrollbar{display:none}\n"] }]
140
140
  }], propDecorators: { shouldSelectSeconds: [{
141
141
  type: Input
142
142
  }], shouldUse24hFormat: [{
@@ -247,12 +247,12 @@ class TimePickerComponent {
247
247
  this.maxWidth = finalWidth;
248
248
  console.log('max w', this.maxWidth);
249
249
  }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
251
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: TimePickerComponent, selector: "upd-time-picker", inputs: { dropdownMaxHeight: "dropdownMaxHeight", showMask: "showMask", shouldSelectSeconds: "shouldSelectSeconds", shouldUse24hFormat: "shouldUse24hFormat", startingHour: "startingHour", endingHour: "endingHour", hourInterval: "hourInterval", startingMinute: "startingMinute", endingMinute: "endingMinute", minuteInterval: "minuteInterval", startingSecond: "startingSecond", endingSecond: "endingSecond", secondInterval: "secondInterval", customHours: "customHours", customMinutes: "customMinutes", customSeconds: "customSeconds" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<upd-input #input [mask]=\"inputMask\" [maskConfig]=\"{showMaskTyped:showMask}\" [isInputGroupFlat]=\"true\">\n <ng-template updInputAppend>\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"calendar-time\"></upd-icon>\n </upd-button>\n </ng-template>\n</upd-input>\n<upd-dropdown [isOpen]=\"isDropdownOpen\" [dropdownReference]=\"inputRef\" [maxHeight]=\"dropdownMaxHeight\" [maxWidth]=\"maxWidth\"\n wrapperClasses=\"overflow-x-hidden\">\n <div class=\"time-options-wrapper\" [style.max-width.px]=\"maxWidth\">\n <upd-time-selector [shouldSelectSeconds]=\"shouldSelectSeconds\" [shouldUse24hFormat]=\"shouldUse24hFormat\"\n [startingHour]=\"startingHour\" [endingHour]=\"endingHour\" [hourInterval]=\"hourInterval\"\n [startingMinute]=\"startingMinute\" [endingMinute]=\"endingMinute\" [minuteInterval]=\"minuteInterval\"\n [startingSecond]=\"startingSecond\" [endingSecond]=\"endingSecond\" [secondInterval]=\"secondInterval\"\n [customHours]=\"customHours\" [customMinutes]=\"customMinutes\" [customSeconds]=\"customSeconds\"></upd-time-selector>\n </div>\n</upd-dropdown>\n", styles: [".time-options-wrapper{padding:10px 20px 15px;width:100%;border-radius:6px;font-size:25px;font-weight:500;text-align:center;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: i1$2.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i1$2.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i4.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }, { kind: "component", type: TimeSelectorComponent, selector: "upd-time-selector", inputs: ["shouldSelectSeconds", "shouldUse24hFormat", "startingHour", "endingHour", "hourInterval", "startingMinute", "endingMinute", "minuteInterval", "startingSecond", "endingSecond", "secondInterval", "customHours", "customMinutes", "customSeconds"] }] }); }
250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.4", type: TimePickerComponent, isStandalone: false, selector: "upd-time-picker", inputs: { dropdownMaxHeight: "dropdownMaxHeight", showMask: "showMask", shouldSelectSeconds: "shouldSelectSeconds", shouldUse24hFormat: "shouldUse24hFormat", startingHour: "startingHour", endingHour: "endingHour", hourInterval: "hourInterval", startingMinute: "startingMinute", endingMinute: "endingMinute", minuteInterval: "minuteInterval", startingSecond: "startingSecond", endingSecond: "endingSecond", secondInterval: "secondInterval", customHours: "customHours", customMinutes: "customMinutes", customSeconds: "customSeconds" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<upd-input #input [mask]=\"inputMask\" [maskConfig]=\"{showMaskTyped:showMask}\" [isInputGroupFlat]=\"true\">\n <ng-template updInputAppend>\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"calendar-time\"></upd-icon>\n </upd-button>\n </ng-template>\n</upd-input>\n<upd-dropdown [isOpen]=\"isDropdownOpen\" [dropdownReference]=\"inputRef\" [maxHeight]=\"dropdownMaxHeight\" [maxWidth]=\"maxWidth\"\n wrapperClasses=\"overflow-x-hidden\">\n <div class=\"time-options-wrapper\" [style.max-width.px]=\"maxWidth\">\n <upd-time-selector [shouldSelectSeconds]=\"shouldSelectSeconds\" [shouldUse24hFormat]=\"shouldUse24hFormat\"\n [startingHour]=\"startingHour\" [endingHour]=\"endingHour\" [hourInterval]=\"hourInterval\"\n [startingMinute]=\"startingMinute\" [endingMinute]=\"endingMinute\" [minuteInterval]=\"minuteInterval\"\n [startingSecond]=\"startingSecond\" [endingSecond]=\"endingSecond\" [secondInterval]=\"secondInterval\"\n [customHours]=\"customHours\" [customMinutes]=\"customMinutes\" [customSeconds]=\"customSeconds\"></upd-time-selector>\n </div>\n</upd-dropdown>\n", styles: [".time-options-wrapper{padding:10px 20px 15px;width:100%;border-radius:6px;font-size:25px;font-weight:500;text-align:center;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: i1$2.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i1$2.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title", "stopPropagation"], outputs: ["clicked"] }, { kind: "component", type: i4.DropdownComponent, selector: "upd-dropdown", inputs: ["items", "header", "isOpen", "shouldCloseOnOutsideClick", "arrowType", "wrapperClasses", "elementsExcludedFromOutsideClick", "minHeight", "maxHeight", "minWidth", "maxWidth", "dropdownReference", "dropdownReferencePosition", "textOverflowStrategy"], outputs: ["isOpenChange", "selectedItem", "checkboxChanged"] }, { kind: "component", type: TimeSelectorComponent, selector: "upd-time-selector", inputs: ["shouldSelectSeconds", "shouldUse24hFormat", "startingHour", "endingHour", "hourInterval", "startingMinute", "endingMinute", "minuteInterval", "startingSecond", "endingSecond", "secondInterval", "customHours", "customMinutes", "customSeconds"] }] }); }
252
252
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TimePickerComponent, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: TimePickerComponent, decorators: [{
254
254
  type: Component,
255
- args: [{ selector: 'upd-time-picker', template: "<upd-input #input [mask]=\"inputMask\" [maskConfig]=\"{showMaskTyped:showMask}\" [isInputGroupFlat]=\"true\">\n <ng-template updInputAppend>\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"calendar-time\"></upd-icon>\n </upd-button>\n </ng-template>\n</upd-input>\n<upd-dropdown [isOpen]=\"isDropdownOpen\" [dropdownReference]=\"inputRef\" [maxHeight]=\"dropdownMaxHeight\" [maxWidth]=\"maxWidth\"\n wrapperClasses=\"overflow-x-hidden\">\n <div class=\"time-options-wrapper\" [style.max-width.px]=\"maxWidth\">\n <upd-time-selector [shouldSelectSeconds]=\"shouldSelectSeconds\" [shouldUse24hFormat]=\"shouldUse24hFormat\"\n [startingHour]=\"startingHour\" [endingHour]=\"endingHour\" [hourInterval]=\"hourInterval\"\n [startingMinute]=\"startingMinute\" [endingMinute]=\"endingMinute\" [minuteInterval]=\"minuteInterval\"\n [startingSecond]=\"startingSecond\" [endingSecond]=\"endingSecond\" [secondInterval]=\"secondInterval\"\n [customHours]=\"customHours\" [customMinutes]=\"customMinutes\" [customSeconds]=\"customSeconds\"></upd-time-selector>\n </div>\n</upd-dropdown>\n", styles: [".time-options-wrapper{padding:10px 20px 15px;width:100%;border-radius:6px;font-size:25px;font-weight:500;text-align:center;-webkit-user-select:none;user-select:none}\n"] }]
255
+ args: [{ standalone: false, selector: 'upd-time-picker', template: "<upd-input #input [mask]=\"inputMask\" [maskConfig]=\"{showMaskTyped:showMask}\" [isInputGroupFlat]=\"true\">\n <ng-template updInputAppend>\n <upd-button [shouldIgnoreBtnClass]=\"true\" (clicked)=\"openDropdown()\" customClasses=\"link-secondary ms-2\">\n <upd-icon tablerIcon=\"calendar-time\"></upd-icon>\n </upd-button>\n </ng-template>\n</upd-input>\n<upd-dropdown [isOpen]=\"isDropdownOpen\" [dropdownReference]=\"inputRef\" [maxHeight]=\"dropdownMaxHeight\" [maxWidth]=\"maxWidth\"\n wrapperClasses=\"overflow-x-hidden\">\n <div class=\"time-options-wrapper\" [style.max-width.px]=\"maxWidth\">\n <upd-time-selector [shouldSelectSeconds]=\"shouldSelectSeconds\" [shouldUse24hFormat]=\"shouldUse24hFormat\"\n [startingHour]=\"startingHour\" [endingHour]=\"endingHour\" [hourInterval]=\"hourInterval\"\n [startingMinute]=\"startingMinute\" [endingMinute]=\"endingMinute\" [minuteInterval]=\"minuteInterval\"\n [startingSecond]=\"startingSecond\" [endingSecond]=\"endingSecond\" [secondInterval]=\"secondInterval\"\n [customHours]=\"customHours\" [customMinutes]=\"customMinutes\" [customSeconds]=\"customSeconds\"></upd-time-selector>\n </div>\n</upd-dropdown>\n", styles: [".time-options-wrapper{padding:10px 20px 15px;width:100%;border-radius:6px;font-size:25px;font-weight:500;text-align:center;-webkit-user-select:none;user-select:none}\n"] }]
256
256
  }], propDecorators: { inputRef: [{
257
257
  type: ViewChild,
258
258
  args: ['input', { read: ElementRef }]
@@ -296,8 +296,8 @@ class UpdTimePickerModule {
296
296
  translocoService.setTranslation(en$1, 'en');
297
297
  translocoService.setTranslation(pt$1, 'pt');
298
298
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTimePickerModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
300
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdTimePickerModule, declarations: [TimePickerComponent,
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTimePickerModule, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
300
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.4", ngImport: i0, type: UpdTimePickerModule, declarations: [TimePickerComponent,
301
301
  TimeSelectorComponent], imports: [CommonModule,
302
302
  TranslocoModule,
303
303
  UpdInputModule,
@@ -306,7 +306,7 @@ class UpdTimePickerModule {
306
306
  UpdListModule,
307
307
  UpdDropdownModule], exports: [TimePickerComponent,
308
308
  TimeSelectorComponent] }); }
309
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTimePickerModule, imports: [CommonModule,
309
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTimePickerModule, imports: [CommonModule,
310
310
  TranslocoModule,
311
311
  UpdInputModule,
312
312
  UpdIconsModule,
@@ -314,7 +314,7 @@ class UpdTimePickerModule {
314
314
  UpdListModule,
315
315
  UpdDropdownModule] }); }
316
316
  }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdTimePickerModule, decorators: [{
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: UpdTimePickerModule, decorators: [{
318
318
  type: NgModule,
319
319
  args: [{
320
320
  imports: [