@lucca-front/ng 7.2.0 → 8.0.0-alpha.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 (1126) hide show
  1. package/animations/lucca-front-ng-animations.d.ts +1 -0
  2. package/animations/package.json +6 -10
  3. package/api/lib/api.module.d.ts +5 -0
  4. package/api/lib/select/api-select.module.d.ts +8 -0
  5. package/api/lib/select/feeder/api-feeder.component.d.ts +3 -0
  6. package/api/lib/select/feeder/api-feeder.module.d.ts +6 -0
  7. package/api/lib/select/input/api-select-input.component.d.ts +7 -6
  8. package/api/lib/select/input/api-select-input.module.d.ts +9 -0
  9. package/api/lib/select/pager/api-pager.component.d.ts +3 -0
  10. package/api/lib/select/pager/api-pager.module.d.ts +6 -0
  11. package/api/lib/select/searcher/api-searcher.component.d.ts +7 -3
  12. package/api/lib/select/searcher/api-searcher.model.d.ts +4 -5
  13. package/api/lib/select/searcher/api-searcher.module.d.ts +9 -0
  14. package/api/lib/service/api-hybrid.service.d.ts +3 -0
  15. package/api/lib/service/api-service.model.d.ts +2 -3
  16. package/api/lib/service/api-v3.service.d.ts +3 -0
  17. package/api/lib/service/api-v4.service.d.ts +3 -0
  18. package/api/lucca-front-ng-api.d.ts +1 -0
  19. package/api/package.json +6 -10
  20. package/core/lib/date/native/native-date.adapter.d.ts +3 -0
  21. package/core/lib/date/string/string-date.adapter.d.ts +3 -0
  22. package/core/lucca-front-ng-core.d.ts +1 -0
  23. package/core/package.json +6 -10
  24. package/date/lib/adapter/date-adapter.module.d.ts +5 -0
  25. package/date/lib/adapter/date-adapter.pipe.d.ts +3 -0
  26. package/date/lib/calendar/calendar-input.component.d.ts +6 -3
  27. package/date/lib/calendar/calendar-input.module.d.ts +7 -0
  28. package/date/lib/calendar/calendar-item.class.d.ts +1 -1
  29. package/date/lib/calendar/calendar-item.factory.d.ts +3 -0
  30. package/date/lib/date.module.d.ts +9 -0
  31. package/date/lib/input/date-input.directive.d.ts +3 -0
  32. package/date/lib/input/date-input.intl.d.ts +3 -0
  33. package/date/lib/input/date-input.module.d.ts +5 -0
  34. package/date/lib/picker/date-picker.component.d.ts +3 -0
  35. package/date/lib/picker/date-picker.module.d.ts +11 -0
  36. package/date/lib/select/date-select-input.component.d.ts +3 -0
  37. package/date/lib/select/date-select-input.intl.d.ts +3 -0
  38. package/date/lib/select/date-select-input.module.d.ts +9 -0
  39. package/date/lucca-front-ng-date.d.ts +1 -1
  40. package/date/package.json +6 -10
  41. package/department/lib/department.module.d.ts +5 -0
  42. package/department/lib/select/department-select.module.d.ts +6 -0
  43. package/department/lib/select/feeder/department-feeder.component.d.ts +3 -0
  44. package/department/lib/select/feeder/department-feeder.module.d.ts +6 -0
  45. package/department/lib/select/input/department-select-input.component.d.ts +8 -7
  46. package/department/lib/select/input/department-select-input.intl.d.ts +3 -0
  47. package/department/lib/select/input/department-select-input.module.d.ts +10 -0
  48. package/department/lib/service/department-v3.service.d.ts +3 -0
  49. package/department/lucca-front-ng-department.d.ts +1 -0
  50. package/department/package.json +6 -10
  51. package/dropdown/lib/dropdown.module.d.ts +7 -0
  52. package/dropdown/lib/item/dropdown-item.directive.d.ts +3 -0
  53. package/dropdown/lib/item/dropdown-item.module.d.ts +5 -0
  54. package/dropdown/lib/panel/dropdown-panel.component.d.ts +3 -0
  55. package/dropdown/lib/panel/dropdown-panel.module.d.ts +6 -0
  56. package/dropdown/lib/trigger/dropdown-trigger.directive.d.ts +3 -0
  57. package/dropdown/lib/trigger/dropdown-trigger.module.d.ts +6 -0
  58. package/dropdown/lucca-front-ng-dropdown.d.ts +1 -0
  59. package/dropdown/package.json +6 -10
  60. package/{animations/esm2015/index.js → esm2020/animations/index.mjs} +0 -0
  61. package/{animations/esm2015/lib/animation.factory.js → esm2020/animations/lib/animation.factory.mjs} +0 -0
  62. package/{animations/esm2015/lib/fade.animation.js → esm2020/animations/lib/fade.animation.mjs} +0 -0
  63. package/{animations/esm2015/lib/index.js → esm2020/animations/lib/index.mjs} +0 -0
  64. package/{animations/esm2015/lib/scale.animation.js → esm2020/animations/lib/scale.animation.mjs} +0 -0
  65. package/{animations/esm2015/lib/slide.animation.js → esm2020/animations/lib/slide.animation.mjs} +0 -0
  66. package/{animations/esm2015/lucca-front-ng-animations.js → esm2020/animations/lucca-front-ng-animations.mjs} +0 -0
  67. package/{animations/esm2015/public-api.js → esm2020/animations/public-api.mjs} +0 -0
  68. package/{api/esm2015/index.js → esm2020/api/index.mjs} +0 -0
  69. package/{api/esm2015/lib/api.model.js → esm2020/api/lib/api.model.mjs} +0 -0
  70. package/esm2020/api/lib/api.module.mjs +22 -0
  71. package/{api/esm2015/lib/index.js → esm2020/api/lib/index.mjs} +0 -0
  72. package/esm2020/api/lib/select/api-select.module.mjs +43 -0
  73. package/esm2020/api/lib/select/feeder/api-feeder.component.mjs +78 -0
  74. package/{api/esm2015/lib/select/feeder/api-feeder.model.js → esm2020/api/lib/select/feeder/api-feeder.model.mjs} +0 -0
  75. package/esm2020/api/lib/select/feeder/api-feeder.module.mjs +26 -0
  76. package/{api/esm2015/lib/select/feeder/index.js → esm2020/api/lib/select/feeder/index.mjs} +0 -0
  77. package/{api/esm2015/lib/select/index.js → esm2020/api/lib/select/index.mjs} +0 -0
  78. package/esm2020/api/lib/select/input/api-select-input.component.mjs +48 -0
  79. package/esm2020/api/lib/select/input/api-select-input.module.mjs +44 -0
  80. package/{api/esm2015/lib/select/input/index.js → esm2020/api/lib/select/input/index.mjs} +0 -0
  81. package/esm2020/api/lib/select/pager/api-pager.component.mjs +89 -0
  82. package/{api/esm2015/lib/select/pager/api-pager.model.js → esm2020/api/lib/select/pager/api-pager.model.mjs} +0 -0
  83. package/esm2020/api/lib/select/pager/api-pager.module.mjs +26 -0
  84. package/{api/esm2015/lib/select/pager/index.js → esm2020/api/lib/select/pager/index.mjs} +0 -0
  85. package/esm2020/api/lib/select/searcher/api-searcher.component.mjs +210 -0
  86. package/esm2020/api/lib/select/searcher/api-searcher.model.mjs +69 -0
  87. package/esm2020/api/lib/select/searcher/api-searcher.module.mjs +42 -0
  88. package/{api/esm2015/lib/select/searcher/index.js → esm2020/api/lib/select/searcher/index.mjs} +0 -0
  89. package/esm2020/api/lib/service/api-hybrid.service.mjs +59 -0
  90. package/esm2020/api/lib/service/api-service.model.mjs +3 -0
  91. package/esm2020/api/lib/service/api-v3.service.mjs +65 -0
  92. package/esm2020/api/lib/service/api-v4.service.mjs +55 -0
  93. package/{api/esm2015/lib/service/index.js → esm2020/api/lib/service/index.mjs} +0 -0
  94. package/{api/esm2015/lucca-front-ng-api.js → esm2020/api/lucca-front-ng-api.mjs} +0 -0
  95. package/{api/esm2015/public-api.js → esm2020/api/public-api.mjs} +0 -0
  96. package/{core/esm2015/index.js → esm2020/core/index.mjs} +0 -0
  97. package/{core/esm2015/lib/date/date-adapter.class.js → esm2020/core/lib/date/date-adapter.class.mjs} +0 -0
  98. package/{core/esm2015/lib/date/date-adapter.interface.js → esm2020/core/lib/date/date-adapter.interface.mjs} +0 -0
  99. package/{core/esm2015/lib/date/date-granularity.enum.js → esm2020/core/lib/date/date-granularity.enum.mjs} +0 -0
  100. package/{core/esm2015/lib/date/index.js → esm2020/core/lib/date/index.mjs} +0 -0
  101. package/{core/esm2015/lib/date/native/index.js → esm2020/core/lib/date/native/index.mjs} +0 -0
  102. package/esm2020/core/lib/date/native/native-date.adapter.mjs +228 -0
  103. package/{core/esm2015/lib/date/native/native-date.option.js → esm2020/core/lib/date/native/native-date.option.mjs} +0 -0
  104. package/{core/esm2015/lib/date/string/index.js → esm2020/core/lib/date/string/index.mjs} +0 -0
  105. package/esm2020/core/lib/date/string/string-date.adapter.mjs +81 -0
  106. package/{core/esm2015/lib/event/index.js → esm2020/core/lib/event/index.mjs} +0 -0
  107. package/{core/esm2015/lib/event/on-close.subscriber.js → esm2020/core/lib/event/on-close.subscriber.mjs} +0 -0
  108. package/{core/esm2015/lib/event/on-open.subscriber.js → esm2020/core/lib/event/on-open.subscriber.mjs} +0 -0
  109. package/{core/esm2015/lib/event/on-scroll-bottom.subscriber.js → esm2020/core/lib/event/on-scroll-bottom.subscriber.mjs} +0 -0
  110. package/{core/esm2015/lib/group/group.interface.js → esm2020/core/lib/group/group.interface.mjs} +0 -0
  111. package/{core/esm2015/lib/group/index.js → esm2020/core/lib/group/index.mjs} +0 -0
  112. package/{core/esm2015/lib/id/id.generator.js → esm2020/core/lib/id/id.generator.mjs} +0 -0
  113. package/{core/esm2015/lib/id/index.js → esm2020/core/lib/id/index.mjs} +0 -0
  114. package/{core/esm2015/lib/index.js → esm2020/core/lib/index.mjs} +0 -0
  115. package/{core/esm2015/lib/translate/index.js → esm2020/core/lib/translate/index.mjs} +0 -0
  116. package/esm2020/core/lib/translate/intl.model.mjs +13 -0
  117. package/{core/esm2015/lib/translate/translation.model.js → esm2020/core/lib/translate/translation.model.mjs} +0 -0
  118. package/{core/esm2015/lib/tree/index.js → esm2020/core/lib/tree/index.mjs} +0 -0
  119. package/{core/esm2015/lib/tree/tree.model.js → esm2020/core/lib/tree/tree.model.mjs} +0 -0
  120. package/{core/esm2015/lucca-front-ng-core.js → esm2020/core/lucca-front-ng-core.mjs} +0 -0
  121. package/{core/esm2015/public-api.js → esm2020/core/public-api.mjs} +0 -0
  122. package/{date/esm2015/index.js → esm2020/date/index.mjs} +0 -0
  123. package/esm2020/date/lib/adapter/date-adapter.module.mjs +20 -0
  124. package/esm2020/date/lib/adapter/date-adapter.pipe.mjs +24 -0
  125. package/{date/esm2015/lib/adapter/index.js → esm2020/date/lib/adapter/index.mjs} +0 -0
  126. package/esm2020/date/lib/calendar/calendar-input.component.mjs +331 -0
  127. package/esm2020/date/lib/calendar/calendar-input.module.mjs +36 -0
  128. package/esm2020/date/lib/calendar/calendar-item.class.mjs +41 -0
  129. package/esm2020/date/lib/calendar/calendar-item.factory.mjs +38 -0
  130. package/{date/esm2015/lib/calendar/calendar-item.interface.js → esm2020/date/lib/calendar/calendar-item.interface.mjs} +0 -0
  131. package/{date/esm2015/lib/calendar/index.js → esm2020/date/lib/calendar/index.mjs} +0 -0
  132. package/esm2020/date/lib/date.module.mjs +50 -0
  133. package/{date/esm2015/lib/index.js → esm2020/date/lib/index.mjs} +0 -0
  134. package/esm2020/date/lib/input/date-input.directive.mjs +138 -0
  135. package/esm2020/date/lib/input/date-input.intl.mjs +21 -0
  136. package/esm2020/date/lib/input/date-input.module.mjs +31 -0
  137. package/{date/esm2015/lib/input/date-input.token.js → esm2020/date/lib/input/date-input.token.mjs} +0 -0
  138. package/{date/esm2015/lib/input/date-input.translate.js → esm2020/date/lib/input/date-input.translate.mjs} +0 -0
  139. package/{date/esm2015/lib/input/index.js → esm2020/date/lib/input/index.mjs} +0 -0
  140. package/esm2020/date/lib/picker/date-picker.component.mjs +104 -0
  141. package/esm2020/date/lib/picker/date-picker.module.mjs +46 -0
  142. package/{date/esm2015/lib/picker/index.js → esm2020/date/lib/picker/index.mjs} +0 -0
  143. package/esm2020/date/lib/select/date-select-input.component.mjs +100 -0
  144. package/esm2020/date/lib/select/date-select-input.intl.mjs +21 -0
  145. package/esm2020/date/lib/select/date-select-input.module.mjs +54 -0
  146. package/{date/esm2015/lib/select/date-select-input.token.js → esm2020/date/lib/select/date-select-input.token.mjs} +0 -0
  147. package/{date/esm2015/lib/select/date-select-input.translate.js → esm2020/date/lib/select/date-select-input.translate.mjs} +0 -0
  148. package/{date/esm2015/lib/select/index.js → esm2020/date/lib/select/index.mjs} +0 -0
  149. package/esm2020/date/lucca-front-ng-date.mjs +5 -0
  150. package/{date/esm2015/public-api.js → esm2020/date/public-api.mjs} +0 -0
  151. package/{department/esm2015/index.js → esm2020/department/index.mjs} +0 -0
  152. package/{department/esm2015/lib/department.model.js → esm2020/department/lib/department.model.mjs} +0 -0
  153. package/esm2020/department/lib/department.module.mjs +22 -0
  154. package/{department/esm2015/lib/index.js → esm2020/department/lib/index.mjs} +0 -0
  155. package/esm2020/department/lib/select/department-select.module.mjs +29 -0
  156. package/esm2020/department/lib/select/feeder/department-feeder.component.mjs +72 -0
  157. package/esm2020/department/lib/select/feeder/department-feeder.module.mjs +26 -0
  158. package/{department/esm2015/lib/select/feeder/index.js → esm2020/department/lib/select/feeder/index.mjs} +0 -0
  159. package/{department/esm2015/lib/select/index.js → esm2020/department/lib/select/index.mjs} +0 -0
  160. package/esm2020/department/lib/select/input/department-select-input.component.mjs +51 -0
  161. package/esm2020/department/lib/select/input/department-select-input.intl.mjs +21 -0
  162. package/esm2020/department/lib/select/input/department-select-input.module.mjs +64 -0
  163. package/{department/esm2015/lib/select/input/department-select-input.token.js → esm2020/department/lib/select/input/department-select-input.token.mjs} +0 -0
  164. package/{department/esm2015/lib/select/input/department-select-input.translate.js → esm2020/department/lib/select/input/department-select-input.translate.mjs} +0 -0
  165. package/{department/esm2015/lib/select/input/index.js → esm2020/department/lib/select/input/index.mjs} +0 -0
  166. package/{department/esm2015/lib/service/department-service.model.js → esm2020/department/lib/service/department-service.model.mjs} +0 -0
  167. package/esm2020/department/lib/service/department-v3.service.mjs +37 -0
  168. package/{department/esm2015/lib/service/index.js → esm2020/department/lib/service/index.mjs} +0 -0
  169. package/{department/esm2015/lucca-front-ng-department.js → esm2020/department/lucca-front-ng-department.mjs} +0 -0
  170. package/{department/esm2015/public-api.js → esm2020/department/public-api.mjs} +0 -0
  171. package/esm2020/dropdown/lib/dropdown.module.mjs +36 -0
  172. package/{dropdown/esm2015/lib/index.js → esm2020/dropdown/lib/index.mjs} +0 -0
  173. package/esm2020/dropdown/lib/item/dropdown-item.directive.mjs +55 -0
  174. package/{dropdown/esm2015/lib/item/dropdown-item.model.js → esm2020/dropdown/lib/item/dropdown-item.model.mjs} +0 -0
  175. package/esm2020/dropdown/lib/item/dropdown-item.module.mjs +21 -0
  176. package/{dropdown/esm2015/lib/item/index.js → esm2020/dropdown/lib/item/index.mjs} +0 -0
  177. package/esm2020/dropdown/lib/panel/dropdown-panel.component.mjs +109 -0
  178. package/{dropdown/esm2015/lib/panel/dropdown-panel.model.js → esm2020/dropdown/lib/panel/dropdown-panel.model.mjs} +0 -0
  179. package/esm2020/dropdown/lib/panel/dropdown-panel.module.mjs +26 -0
  180. package/{dropdown/esm2015/lib/panel/index.js → esm2020/dropdown/lib/panel/index.mjs} +0 -0
  181. package/esm2020/dropdown/lib/trigger/dropdown-trigger.directive.mjs +105 -0
  182. package/esm2020/dropdown/lib/trigger/dropdown-trigger.module.mjs +26 -0
  183. package/{dropdown/esm2015/lib/trigger/index.js → esm2020/dropdown/lib/trigger/index.mjs} +0 -0
  184. package/{dropdown/esm2015/lucca-front-ng-dropdown.js → esm2020/dropdown/lucca-front-ng-dropdown.mjs} +0 -0
  185. package/{dropdown/esm2015/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
  186. package/{establishment/esm2015/index.js → esm2020/establishment/index.mjs} +0 -0
  187. package/{establishment/esm2015/lib/establishment.model.js → esm2020/establishment/lib/establishment.model.mjs} +0 -0
  188. package/esm2020/establishment/lib/establishment.module.mjs +22 -0
  189. package/{establishment/esm2015/lib/index.js → esm2020/establishment/lib/index.mjs} +0 -0
  190. package/esm2020/establishment/lib/select/establishment-select.module.mjs +50 -0
  191. package/esm2020/establishment/lib/select/for-legal-units/for-legal-units.directive.mjs +49 -0
  192. package/esm2020/establishment/lib/select/for-legal-units/for-legal-units.module.mjs +16 -0
  193. package/{establishment/esm2015/lib/select/for-legal-units/index.js → esm2020/establishment/lib/select/for-legal-units/index.mjs} +0 -0
  194. package/{establishment/esm2015/lib/select/index.js → esm2020/establishment/lib/select/index.mjs} +0 -0
  195. package/esm2020/establishment/lib/select/input/establishment-select-input.component.mjs +122 -0
  196. package/esm2020/establishment/lib/select/input/establishment-select-input.intl.mjs +21 -0
  197. package/esm2020/establishment/lib/select/input/establishment-select-input.module.mjs +64 -0
  198. package/{establishment/esm2015/lib/select/input/establishment-select-input.token.js → esm2020/establishment/lib/select/input/establishment-select-input.token.mjs} +0 -0
  199. package/{establishment/esm2015/lib/select/input/establishment-select-input.translate.js → esm2020/establishment/lib/select/input/establishment-select-input.translate.mjs} +0 -0
  200. package/{establishment/esm2015/lib/select/input/index.js → esm2020/establishment/lib/select/input/index.mjs} +0 -0
  201. package/{establishment/esm2015/lib/select/legal-unit-selector/index.js → esm2020/establishment/lib/select/legal-unit-selector/index.mjs} +0 -0
  202. package/esm2020/establishment/lib/select/legal-unit-selector/legal-unit-selector.directive.mjs +102 -0
  203. package/esm2020/establishment/lib/select/legal-unit-selector/legal-unit-selector.module.mjs +18 -0
  204. package/esm2020/establishment/lib/select/searcher/establishment-searcher.component.mjs +169 -0
  205. package/esm2020/establishment/lib/select/searcher/establishment-searcher.module.mjs +38 -0
  206. package/{establishment/esm2015/lib/select/searcher/index.js → esm2020/establishment/lib/select/searcher/index.mjs} +0 -0
  207. package/esm2020/establishment/lib/select/select-all/establishment-select-all.component.mjs +90 -0
  208. package/esm2020/establishment/lib/select/select-all/establishment-select-all.module.mjs +40 -0
  209. package/{establishment/esm2015/lib/select/select-all/establishment-select-all.translate.js → esm2020/establishment/lib/select/select-all/establishment-select-all.translate.mjs} +0 -0
  210. package/{establishment/esm2015/lib/select/select-all/index.js → esm2020/establishment/lib/select/select-all/index.mjs} +0 -0
  211. package/{establishment/esm2015/lib/service/establishment-service.model.js → esm2020/establishment/lib/service/establishment-service.model.mjs} +0 -0
  212. package/esm2020/establishment/lib/service/establishment.service.mjs +33 -0
  213. package/{establishment/esm2015/lib/service/index.js → esm2020/establishment/lib/service/index.mjs} +0 -0
  214. package/{establishment/esm2015/lib/service/legal-unit-service.model.js → esm2020/establishment/lib/service/legal-unit-service.model.mjs} +0 -0
  215. package/esm2020/establishment/lib/service/legal-unit.service.mjs +33 -0
  216. package/{establishment/esm2015/lucca-front-ng-establishment.js → esm2020/establishment/lucca-front-ng-establishment.mjs} +0 -0
  217. package/{establishment/esm2015/public-api.js → esm2020/establishment/public-api.mjs} +0 -0
  218. package/{formly/esm2015/index.js → esm2020/formly/index.mjs} +0 -0
  219. package/{formly/esm2015/lib/formly.config.js → esm2020/formly/lib/formly.config.mjs} +0 -0
  220. package/esm2020/formly/lib/formly.module.mjs +110 -0
  221. package/{formly/esm2015/lib/index.js → esm2020/formly/lib/index.mjs} +0 -0
  222. package/esm2020/formly/lib/types/api.mjs +33 -0
  223. package/esm2020/formly/lib/types/checkbox.mjs +21 -0
  224. package/esm2020/formly/lib/types/date.mjs +21 -0
  225. package/esm2020/formly/lib/types/department.mjs +21 -0
  226. package/esm2020/formly/lib/types/establishment.mjs +21 -0
  227. package/{formly/esm2015/lib/types/index.js → esm2020/formly/lib/types/index.mjs} +0 -0
  228. package/esm2020/formly/lib/types/input.mjs +25 -0
  229. package/esm2020/formly/lib/types/qualification.mjs +21 -0
  230. package/esm2020/formly/lib/types/radios.mjs +24 -0
  231. package/esm2020/formly/lib/types/select.mjs +27 -0
  232. package/esm2020/formly/lib/types/textarea.mjs +21 -0
  233. package/esm2020/formly/lib/types/user.mjs +21 -0
  234. package/esm2020/formly/lib/wrappers/checkbox-layout.mjs +31 -0
  235. package/esm2020/formly/lib/wrappers/error.mjs +62 -0
  236. package/esm2020/formly/lib/wrappers/helper.mjs +27 -0
  237. package/esm2020/formly/lib/wrappers/icon.mjs +35 -0
  238. package/{formly/esm2015/lib/wrappers/index.js → esm2020/formly/lib/wrappers/index.mjs} +0 -0
  239. package/esm2020/formly/lib/wrappers/radiosfield-layout.mjs +31 -0
  240. package/esm2020/formly/lib/wrappers/suffix.mjs +30 -0
  241. package/esm2020/formly/lib/wrappers/textfield-layout.mjs +42 -0
  242. package/{formly/esm2015/lucca-front-ng-formly.js → esm2020/formly/lucca-front-ng-formly.mjs} +0 -0
  243. package/{formly/esm2015/public-api.js → esm2020/formly/public-api.mjs} +0 -0
  244. package/{input/esm2015/index.js → esm2020/input/index.mjs} +0 -0
  245. package/esm2020/input/lib/clearer/clearer.component.mjs +32 -0
  246. package/{input/esm2015/lib/clearer/clearer.model.js → esm2020/input/lib/clearer/clearer.model.mjs} +0 -0
  247. package/esm2020/input/lib/clearer/clearer.module.mjs +26 -0
  248. package/{input/esm2015/lib/clearer/index.js → esm2020/input/lib/clearer/index.mjs} +0 -0
  249. package/{input/esm2015/lib/displayer/index.js → esm2020/input/lib/displayer/index.mjs} +0 -0
  250. package/esm2020/input/lib/displayer/input-displayer.directive.mjs +58 -0
  251. package/{input/esm2015/lib/displayer/input-displayer.model.js → esm2020/input/lib/displayer/input-displayer.model.mjs} +0 -0
  252. package/esm2020/input/lib/displayer/input-displayer.module.mjs +17 -0
  253. package/{input/esm2015/lib/index.js → esm2020/input/lib/index.mjs} +0 -0
  254. package/esm2020/input/lib/input.directive.mjs +41 -0
  255. package/esm2020/input/lib/input.model.mjs +48 -0
  256. package/esm2020/input/lib/input.module.mjs +35 -0
  257. package/{input/esm2015/lucca-front-ng-input.js → esm2020/input/lucca-front-ng-input.mjs} +0 -0
  258. package/{input/esm2015/public-api.js → esm2020/input/public-api.mjs} +0 -0
  259. package/esm2020/lucca-front-ng.mjs +5 -0
  260. package/{material/esm2015/index.js → esm2020/material/index.mjs} +0 -0
  261. package/{material/esm2015/lib/index.js → esm2020/material/lib/index.mjs} +0 -0
  262. package/esm2020/material/lib/module.mjs +12 -0
  263. package/{material/esm2015/lucca-front-ng-material.js → esm2020/material/lucca-front-ng-material.mjs} +0 -0
  264. package/{material/esm2015/public-api.js → esm2020/material/public-api.mjs} +0 -0
  265. package/{modal/esm2015/index.js → esm2020/modal/index.mjs} +0 -0
  266. package/{modal/esm2015/lib/index.js → esm2020/modal/lib/index.mjs} +0 -0
  267. package/{modal/esm2015/lib/modal-config.default.js → esm2020/modal/lib/modal-config.default.mjs} +0 -0
  268. package/{modal/esm2015/lib/modal-config.model.js → esm2020/modal/lib/modal-config.model.mjs} +0 -0
  269. package/esm2020/modal/lib/modal-panel.component.mjs +130 -0
  270. package/esm2020/modal/lib/modal-ref.factory.mjs +50 -0
  271. package/{modal/esm2015/lib/modal-ref.model.js → esm2020/modal/lib/modal-ref.model.mjs} +0 -0
  272. package/esm2020/modal/lib/modal.intl.mjs +21 -0
  273. package/{modal/esm2015/lib/modal.model.js → esm2020/modal/lib/modal.model.mjs} +0 -0
  274. package/esm2020/modal/lib/modal.module.mjs +65 -0
  275. package/esm2020/modal/lib/modal.service.mjs +23 -0
  276. package/{modal/esm2015/lib/modal.token.js → esm2020/modal/lib/modal.token.mjs} +0 -0
  277. package/{modal/esm2015/lib/modal.translate.js → esm2020/modal/lib/modal.translate.mjs} +0 -0
  278. package/esm2020/modal/lucca-front-ng-modal.mjs +5 -0
  279. package/{modal/esm2015/public-api.js → esm2020/modal/public-api.mjs} +0 -0
  280. package/{number/esm2015/index.js → esm2020/number/index.mjs} +0 -0
  281. package/{number/esm2015/lib/index.js → esm2020/number/lib/index.mjs} +0 -0
  282. package/esm2020/number/lib/number.module.mjs +18 -0
  283. package/esm2020/number/lib/number.pipe.mjs +35 -0
  284. package/{number/esm2015/lucca-front-ng-number.js → esm2020/number/lucca-front-ng-number.mjs} +0 -0
  285. package/{number/esm2015/public-api.js → esm2020/number/public-api.mjs} +0 -0
  286. package/{option/esm2015/index.js → esm2020/option/index.mjs} +0 -0
  287. package/{option/esm2015/lib/index.js → esm2020/option/lib/index.mjs} +0 -0
  288. package/{option/esm2015/lib/item/index.js → esm2020/option/lib/item/index.mjs} +0 -0
  289. package/esm2020/option/lib/item/option-item.component.mjs +59 -0
  290. package/{option/esm2015/lib/item/option-item.model.js → esm2020/option/lib/item/option-item.model.mjs} +0 -0
  291. package/esm2020/option/lib/item/option-item.module.mjs +20 -0
  292. package/esm2020/option/lib/item/tree-option-item.component.mjs +117 -0
  293. package/esm2020/option/lib/item/tree-option-item.intl.mjs +21 -0
  294. package/{option/esm2015/lib/item/tree-option-item.model.js → esm2020/option/lib/item/tree-option-item.model.mjs} +0 -0
  295. package/esm2020/option/lib/item/tree-option-item.module.mjs +43 -0
  296. package/{option/esm2015/lib/item/tree-option-item.token.js → esm2020/option/lib/item/tree-option-item.token.mjs} +0 -0
  297. package/{option/esm2015/lib/item/tree-option-item.translate.js → esm2020/option/lib/item/tree-option-item.translate.mjs} +0 -0
  298. package/{option/esm2015/lib/operator/feeder/index.js → esm2020/option/lib/operator/feeder/index.mjs} +0 -0
  299. package/esm2020/option/lib/operator/feeder/option-feeder.component.mjs +33 -0
  300. package/esm2020/option/lib/operator/feeder/option-feeder.module.mjs +21 -0
  301. package/esm2020/option/lib/operator/feeder/tree-option-feeder.component.mjs +33 -0
  302. package/esm2020/option/lib/operator/feeder/tree-option-feeder.module.mjs +20 -0
  303. package/esm2020/option/lib/operator/for-groups/for-groups.directive.mjs +80 -0
  304. package/esm2020/option/lib/operator/for-groups/for-groups.module.mjs +21 -0
  305. package/{option/esm2015/lib/operator/for-groups/index.js → esm2020/option/lib/operator/for-groups/index.mjs} +0 -0
  306. package/esm2020/option/lib/operator/for-options/for-options.directive.mjs +49 -0
  307. package/esm2020/option/lib/operator/for-options/for-options.module.mjs +21 -0
  308. package/esm2020/option/lib/operator/for-options/for-tree-options.directive.mjs +28 -0
  309. package/esm2020/option/lib/operator/for-options/for-tree-options.module.mjs +21 -0
  310. package/{option/esm2015/lib/operator/for-options/index.js → esm2020/option/lib/operator/for-options/index.mjs} +0 -0
  311. package/{option/esm2015/lib/operator/index.js → esm2020/option/lib/operator/index.mjs} +0 -0
  312. package/{option/esm2015/lib/operator/option-operator.model.js → esm2020/option/lib/operator/option-operator.model.mjs} +0 -0
  313. package/esm2020/option/lib/operator/option-operator.module.mjs +50 -0
  314. package/{option/esm2015/lib/operator/pager/index.js → esm2020/option/lib/operator/pager/index.mjs} +0 -0
  315. package/esm2020/option/lib/operator/pager/option-pager.component.mjs +52 -0
  316. package/esm2020/option/lib/operator/pager/option-pager.module.mjs +20 -0
  317. package/esm2020/option/lib/operator/pager/tree-option-pager.component.mjs +68 -0
  318. package/esm2020/option/lib/operator/pager/tree-option-pager.module.mjs +21 -0
  319. package/{option/esm2015/lib/operator/searcher/index.js → esm2020/option/lib/operator/searcher/index.mjs} +0 -0
  320. package/esm2020/option/lib/operator/searcher/option-searcher.component.mjs +65 -0
  321. package/esm2020/option/lib/operator/searcher/option-searcher.module.mjs +34 -0
  322. package/esm2020/option/lib/operator/searcher/tree-option-searcher.component.mjs +80 -0
  323. package/esm2020/option/lib/operator/searcher/tree-option-searcher.module.mjs +34 -0
  324. package/{option/esm2015/lib/operator/tree-option-operator.model.js → esm2020/option/lib/operator/tree-option-operator.model.mjs} +0 -0
  325. package/esm2020/option/lib/operator/tree-option-operator.module.mjs +43 -0
  326. package/esm2020/option/lib/option.module.mjs +50 -0
  327. package/{option/esm2015/lib/picker/index.js → esm2020/option/lib/picker/index.mjs} +0 -0
  328. package/esm2020/option/lib/picker/option-picker-advanced.component.mjs +142 -0
  329. package/esm2020/option/lib/picker/option-picker.component.mjs +289 -0
  330. package/esm2020/option/lib/picker/option-picker.model.mjs +69 -0
  331. package/esm2020/option/lib/picker/option-picker.module.mjs +49 -0
  332. package/esm2020/option/lib/picker/tree-option-picker-advanced.component.mjs +138 -0
  333. package/esm2020/option/lib/picker/tree-option-picker.component.mjs +171 -0
  334. package/esm2020/option/lib/picker/tree-option-picker.model.mjs +4 -0
  335. package/esm2020/option/lib/picker/tree-option-picker.module.mjs +43 -0
  336. package/{option/esm2015/lib/placeholder/index.js → esm2020/option/lib/placeholder/index.mjs} +0 -0
  337. package/esm2020/option/lib/placeholder/option-placeholder.component.mjs +24 -0
  338. package/esm2020/option/lib/placeholder/option-placeholder.intl.mjs +21 -0
  339. package/esm2020/option/lib/placeholder/option-placeholder.module.mjs +30 -0
  340. package/{option/esm2015/lib/placeholder/option-placeholder.token.js → esm2020/option/lib/placeholder/option-placeholder.token.mjs} +0 -0
  341. package/{option/esm2015/lib/placeholder/option-placeholder.translate.js → esm2020/option/lib/placeholder/option-placeholder.translate.mjs} +0 -0
  342. package/{option/esm2015/lib/selector/all/index.js → esm2020/option/lib/selector/all/index.mjs} +0 -0
  343. package/esm2020/option/lib/selector/all/select-all.component.mjs +63 -0
  344. package/esm2020/option/lib/selector/all/select-all.intl.mjs +21 -0
  345. package/esm2020/option/lib/selector/all/select-all.module.mjs +30 -0
  346. package/{option/esm2015/lib/selector/all/select-all.token.js → esm2020/option/lib/selector/all/select-all.token.mjs} +0 -0
  347. package/{option/esm2015/lib/selector/all/select-all.translate.js → esm2020/option/lib/selector/all/select-all.translate.mjs} +0 -0
  348. package/esm2020/option/lib/selector/all/tree-select-all.component.mjs +68 -0
  349. package/esm2020/option/lib/selector/all/tree-select-all.module.mjs +30 -0
  350. package/{option/esm2015/lib/selector/index.js → esm2020/option/lib/selector/index.mjs} +0 -0
  351. package/{option/esm2015/lib/selector/option-selector.model.js → esm2020/option/lib/selector/option-selector.model.mjs} +0 -0
  352. package/esm2020/option/lib/selector/option-selector.module.mjs +22 -0
  353. package/{option/esm2015/lib/selector/tree-option-selector.model.js → esm2020/option/lib/selector/tree-option-selector.model.mjs} +0 -0
  354. package/esm2020/option/lib/selector/tree-option-selector.module.mjs +22 -0
  355. package/esm2020/option/lib/tree-option.module.mjs +43 -0
  356. package/{option/esm2015/lucca-front-ng-option.js → esm2020/option/lucca-front-ng-option.mjs} +0 -0
  357. package/{option/esm2015/public-api.js → esm2020/option/public-api.mjs} +0 -0
  358. package/{picker/esm2015/index.js → esm2020/picker/index.mjs} +0 -0
  359. package/{picker/esm2015/lib/index.js → esm2020/picker/lib/index.mjs} +0 -0
  360. package/esm2020/picker/lib/input-picker.model.mjs +4 -0
  361. package/{picker/esm2015/lucca-front-ng-picker.js → esm2020/picker/lucca-front-ng-picker.mjs} +0 -0
  362. package/{picker/esm2015/public-api.js → esm2020/picker/public-api.mjs} +0 -0
  363. package/{popover/esm2015/index.js → esm2020/popover/index.mjs} +0 -0
  364. package/{popover/esm2015/lib/animation/index.js → esm2020/popover/lib/animation/index.mjs} +0 -0
  365. package/{popover/esm2015/lib/animation/popover.animation.js → esm2020/popover/lib/animation/popover.animation.mjs} +0 -0
  366. package/{popover/esm2015/lib/index.js → esm2020/popover/lib/index.mjs} +0 -0
  367. package/{popover/esm2015/lib/panel/index.js → esm2020/popover/lib/panel/index.mjs} +0 -0
  368. package/esm2020/popover/lib/panel/popover-panel.component.mjs +121 -0
  369. package/esm2020/popover/lib/panel/popover-panel.model.mjs +96 -0
  370. package/esm2020/popover/lib/panel/popover-panel.module.mjs +34 -0
  371. package/esm2020/popover/lib/popover.module.mjs +36 -0
  372. package/{popover/esm2015/lib/target/index.js → esm2020/popover/lib/target/index.mjs} +0 -0
  373. package/esm2020/popover/lib/target/popover-target.directive.mjs +42 -0
  374. package/{popover/esm2015/lib/target/popover-target.error.js → esm2020/popover/lib/target/popover-target.error.mjs} +0 -0
  375. package/{popover/esm2015/lib/target/popover-target.model.js → esm2020/popover/lib/target/popover-target.model.mjs} +0 -0
  376. package/esm2020/popover/lib/target/popover-target.module.mjs +30 -0
  377. package/{popover/esm2015/lib/trigger/index.js → esm2020/popover/lib/trigger/index.mjs} +0 -0
  378. package/esm2020/popover/lib/trigger/popover-trigger.directive.mjs +155 -0
  379. package/{popover/esm2015/lib/trigger/popover-trigger.error.js → esm2020/popover/lib/trigger/popover-trigger.error.mjs} +0 -0
  380. package/esm2020/popover/lib/trigger/popover-trigger.model.mjs +406 -0
  381. package/esm2020/popover/lib/trigger/popover-trigger.module.mjs +38 -0
  382. package/{popover/esm2015/lucca-front-ng-popover.js → esm2020/popover/lucca-front-ng-popover.mjs} +0 -0
  383. package/{popover/esm2015/public-api.js → esm2020/popover/public-api.mjs} +0 -0
  384. package/{popup/esm2015/index.js → esm2020/popup/index.mjs} +0 -0
  385. package/{popup/esm2015/lib/index.js → esm2020/popup/lib/index.mjs} +0 -0
  386. package/{popup/esm2015/lib/popup-config.default.js → esm2020/popup/lib/popup-config.default.mjs} +0 -0
  387. package/{popup/esm2015/lib/popup-config.model.js → esm2020/popup/lib/popup-config.model.mjs} +0 -0
  388. package/esm2020/popup/lib/popup-ref.factory.mjs +28 -0
  389. package/esm2020/popup/lib/popup-ref.model.mjs +118 -0
  390. package/{popup/esm2015/lib/popup.model.js → esm2020/popup/lib/popup.model.mjs} +0 -0
  391. package/esm2020/popup/lib/popup.module.mjs +33 -0
  392. package/esm2020/popup/lib/popup.service.mjs +27 -0
  393. package/{popup/esm2015/lib/popup.token.js → esm2020/popup/lib/popup.token.mjs} +0 -0
  394. package/{popup/esm2015/lucca-front-ng-popup.js → esm2020/popup/lucca-front-ng-popup.mjs} +0 -0
  395. package/{popup/esm2015/public-api.js → esm2020/popup/public-api.mjs} +0 -0
  396. package/esm2020/public_api.mjs +2 -0
  397. package/{qualification/esm2015/index.js → esm2020/qualification/index.mjs} +0 -0
  398. package/{qualification/esm2015/lib/index.js → esm2020/qualification/lib/index.mjs} +0 -0
  399. package/{qualification/esm2015/lib/qualification.model.js → esm2020/qualification/lib/qualification.model.mjs} +0 -0
  400. package/esm2020/qualification/lib/qualification.module.mjs +22 -0
  401. package/{qualification/esm2015/lib/select/index.js → esm2020/qualification/lib/select/index.mjs} +0 -0
  402. package/{qualification/esm2015/lib/select/input/index.js → esm2020/qualification/lib/select/input/index.mjs} +0 -0
  403. package/esm2020/qualification/lib/select/input/qualification-select-input.component.mjs +61 -0
  404. package/esm2020/qualification/lib/select/input/qualification-select-input.intl.mjs +21 -0
  405. package/esm2020/qualification/lib/select/input/qualification-select-input.module.mjs +55 -0
  406. package/{qualification/esm2015/lib/select/input/qualification-select-input.token.js → esm2020/qualification/lib/select/input/qualification-select-input.token.mjs} +0 -0
  407. package/{qualification/esm2015/lib/select/input/qualification-select-input.translate.js → esm2020/qualification/lib/select/input/qualification-select-input.translate.mjs} +0 -0
  408. package/esm2020/qualification/lib/select/qualification-select.module.mjs +22 -0
  409. package/{qualification/esm2015/lucca-front-ng-qualification.js → esm2020/qualification/lucca-front-ng-qualification.mjs} +0 -0
  410. package/{qualification/esm2015/public-api.js → esm2020/qualification/public-api.mjs} +0 -0
  411. package/{safe-content/esm2015/index.js → esm2020/safe-content/index.mjs} +0 -0
  412. package/{safe-content/esm2015/lib/index.js → esm2020/safe-content/lib/index.mjs} +0 -0
  413. package/{safe-content/esm2015/lib/safe-content.model.js → esm2020/safe-content/lib/safe-content.model.mjs} +0 -0
  414. package/esm2020/safe-content/lib/safe-content.module.mjs +19 -0
  415. package/esm2020/safe-content/lib/safe-content.pipe.mjs +25 -0
  416. package/{safe-content/esm2015/lucca-front-ng-safe-content.js → esm2020/safe-content/lucca-front-ng-safe-content.mjs} +0 -0
  417. package/{safe-content/esm2015/public-api.js → esm2020/safe-content/public-api.mjs} +0 -0
  418. package/{scroll/esm2015/index.js → esm2020/scroll/index.mjs} +0 -0
  419. package/{scroll/esm2015/lib/index.js → esm2020/scroll/lib/index.mjs} +0 -0
  420. package/esm2020/scroll/lib/scroll.directive.mjs +75 -0
  421. package/{scroll/esm2015/lib/scroll.model.js → esm2020/scroll/lib/scroll.model.mjs} +0 -0
  422. package/esm2020/scroll/lib/scroll.module.mjs +20 -0
  423. package/esm2020/scroll/lucca-front-ng-scroll.mjs +5 -0
  424. package/{scroll/esm2015/public-api.js → esm2020/scroll/public-api.mjs} +0 -0
  425. package/{select/esm2015/index.js → esm2020/select/index.mjs} +0 -0
  426. package/{select/esm2015/lib/index.js → esm2020/select/lib/index.mjs} +0 -0
  427. package/{select/esm2015/lib/input/index.js → esm2020/select/lib/input/index.mjs} +0 -0
  428. package/esm2020/select/lib/input/select-input.component.mjs +229 -0
  429. package/esm2020/select/lib/input/select-input.model.mjs +167 -0
  430. package/esm2020/select/lib/input/select-input.module.mjs +30 -0
  431. package/esm2020/select/lib/select.module.mjs +22 -0
  432. package/{select/esm2015/lucca-front-ng-select.js → esm2020/select/lucca-front-ng-select.mjs} +0 -0
  433. package/{select/esm2015/public-api.js → esm2020/select/public-api.mjs} +0 -0
  434. package/{sidepanel/esm2015/index.js → esm2020/sidepanel/index.mjs} +0 -0
  435. package/{sidepanel/esm2015/lib/index.js → esm2020/sidepanel/lib/index.mjs} +0 -0
  436. package/{sidepanel/esm2015/lib/sidepanel-config.default.js → esm2020/sidepanel/lib/sidepanel-config.default.mjs} +0 -0
  437. package/{sidepanel/esm2015/lib/sidepanel-config.model.js → esm2020/sidepanel/lib/sidepanel-config.model.mjs} +0 -0
  438. package/esm2020/sidepanel/lib/sidepanel-panel.component.mjs +37 -0
  439. package/esm2020/sidepanel/lib/sidepanel-ref.factory.mjs +49 -0
  440. package/{sidepanel/esm2015/lib/sidepanel-ref.model.js → esm2020/sidepanel/lib/sidepanel-ref.model.mjs} +0 -0
  441. package/esm2020/sidepanel/lib/sidepanel.intl.mjs +21 -0
  442. package/{sidepanel/esm2015/lib/sidepanel.model.js → esm2020/sidepanel/lib/sidepanel.model.mjs} +0 -0
  443. package/esm2020/sidepanel/lib/sidepanel.module.mjs +65 -0
  444. package/esm2020/sidepanel/lib/sidepanel.service.mjs +23 -0
  445. package/{sidepanel/esm2015/lib/sidepanel.token.js → esm2020/sidepanel/lib/sidepanel.token.mjs} +0 -0
  446. package/{sidepanel/esm2015/lib/sidepanel.translate.js → esm2020/sidepanel/lib/sidepanel.translate.mjs} +0 -0
  447. package/{sidepanel/esm2015/lucca-front-ng-sidepanel.js → esm2020/sidepanel/lucca-front-ng-sidepanel.mjs} +0 -0
  448. package/{sidepanel/esm2015/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
  449. package/{tooltip/esm2015/index.js → esm2020/tooltip/index.mjs} +0 -0
  450. package/{tooltip/esm2015/lib/animation/index.js → esm2020/tooltip/lib/animation/index.mjs} +0 -0
  451. package/{tooltip/esm2015/lib/animation/tooltip.animation.js → esm2020/tooltip/lib/animation/tooltip.animation.mjs} +0 -0
  452. package/{tooltip/esm2015/lib/index.js → esm2020/tooltip/lib/index.mjs} +0 -0
  453. package/{tooltip/esm2015/lib/panel/index.js → esm2020/tooltip/lib/panel/index.mjs} +0 -0
  454. package/esm2020/tooltip/lib/panel/tooltip-panel.component.mjs +53 -0
  455. package/esm2020/tooltip/lib/panel/tooltip-panel.module.mjs +33 -0
  456. package/esm2020/tooltip/lib/tooltip.module.mjs +29 -0
  457. package/{tooltip/esm2015/lib/trigger/index.js → esm2020/tooltip/lib/trigger/index.mjs} +0 -0
  458. package/esm2020/tooltip/lib/trigger/tooltip-trigger.directive.mjs +141 -0
  459. package/esm2020/tooltip/lib/trigger/tooltip-trigger.module.mjs +26 -0
  460. package/{tooltip/esm2015/lucca-front-ng-tooltip.js → esm2020/tooltip/lucca-front-ng-tooltip.mjs} +0 -0
  461. package/{tooltip/esm2015/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  462. package/{user/esm2015/index.js → esm2020/user/index.mjs} +0 -0
  463. package/{user/esm2015/lib/display/display-format.model.js → esm2020/user/lib/display/display-format.model.mjs} +0 -0
  464. package/{user/esm2015/lib/display/index.js → esm2020/user/lib/display/index.mjs} +0 -0
  465. package/esm2020/user/lib/display/user-display.module.mjs +19 -0
  466. package/esm2020/user/lib/display/user-display.pipe.mjs +62 -0
  467. package/{user/esm2015/lib/index.js → esm2020/user/lib/index.mjs} +0 -0
  468. package/{user/esm2015/lib/picture/index.js → esm2020/user/lib/picture/index.mjs} +0 -0
  469. package/esm2020/user/lib/picture/user-picture.component.mjs +66 -0
  470. package/esm2020/user/lib/picture/user-picture.module.mjs +19 -0
  471. package/{user/esm2015/lib/select/homonyms/index.js → esm2020/user/lib/select/homonyms/index.mjs} +0 -0
  472. package/esm2020/user/lib/select/homonyms/user-homonyms.component.mjs +68 -0
  473. package/esm2020/user/lib/select/homonyms/user-homonyms.module.mjs +30 -0
  474. package/esm2020/user/lib/select/homonyms/user-homonyms.service.mjs +47 -0
  475. package/{user/esm2015/lib/select/index.js → esm2020/user/lib/select/index.mjs} +0 -0
  476. package/{user/esm2015/lib/select/input/index.js → esm2020/user/lib/select/input/index.mjs} +0 -0
  477. package/esm2020/user/lib/select/input/user-select-input.component.mjs +69 -0
  478. package/esm2020/user/lib/select/input/user-select-input.intl.mjs +21 -0
  479. package/esm2020/user/lib/select/input/user-select-input.module.mjs +66 -0
  480. package/{user/esm2015/lib/select/input/user-select-input.token.js → esm2020/user/lib/select/input/user-select-input.token.mjs} +0 -0
  481. package/{user/esm2015/lib/select/input/user-select-input.translate.js → esm2020/user/lib/select/input/user-select-input.translate.mjs} +0 -0
  482. package/{user/esm2015/lib/select/me/index.js → esm2020/user/lib/select/me/index.mjs} +0 -0
  483. package/esm2020/user/lib/select/me/me-option.directive.mjs +97 -0
  484. package/esm2020/user/lib/select/me/me-option.module.mjs +22 -0
  485. package/{user/esm2015/lib/select/searcher/index.js → esm2020/user/lib/select/searcher/index.mjs} +0 -0
  486. package/esm2020/user/lib/select/searcher/user-searcher.component.mjs +180 -0
  487. package/esm2020/user/lib/select/searcher/user-searcher.intl.mjs +21 -0
  488. package/esm2020/user/lib/select/searcher/user-searcher.module.mjs +48 -0
  489. package/{user/esm2015/lib/select/searcher/user-searcher.token.js → esm2020/user/lib/select/searcher/user-searcher.token.mjs} +0 -0
  490. package/{user/esm2015/lib/select/searcher/user-searcher.translate.js → esm2020/user/lib/select/searcher/user-searcher.translate.mjs} +0 -0
  491. package/esm2020/user/lib/select/user-select.module.mjs +43 -0
  492. package/{user/esm2015/lib/service/index.js → esm2020/user/lib/service/index.mjs} +0 -0
  493. package/{user/esm2015/lib/service/user-service.model.js → esm2020/user/lib/service/user-service.model.mjs} +0 -0
  494. package/esm2020/user/lib/service/user-v3.service.mjs +48 -0
  495. package/{user/esm2015/lib/tile/index.js → esm2020/user/lib/tile/index.mjs} +0 -0
  496. package/esm2020/user/lib/tile/user-tile.component.mjs +67 -0
  497. package/esm2020/user/lib/tile/user-tile.module.mjs +20 -0
  498. package/{user/esm2015/lib/user.model.js → esm2020/user/lib/user.model.mjs} +0 -0
  499. package/esm2020/user/lib/user.module.mjs +43 -0
  500. package/{user/esm2015/lucca-front-ng-user.js → esm2020/user/lucca-front-ng-user.mjs} +0 -0
  501. package/{user/esm2015/public-api.js → esm2020/user/public-api.mjs} +0 -0
  502. package/establishment/lib/establishment.module.d.ts +5 -0
  503. package/establishment/lib/select/establishment-select.module.d.ts +9 -0
  504. package/establishment/lib/select/for-legal-units/for-legal-units.directive.d.ts +3 -2
  505. package/establishment/lib/select/for-legal-units/for-legal-units.module.d.ts +5 -0
  506. package/establishment/lib/select/input/establishment-select-input.component.d.ts +4 -1
  507. package/establishment/lib/select/input/establishment-select-input.intl.d.ts +3 -0
  508. package/establishment/lib/select/input/establishment-select-input.module.d.ts +13 -0
  509. package/establishment/lib/select/legal-unit-selector/legal-unit-selector.directive.d.ts +3 -0
  510. package/establishment/lib/select/legal-unit-selector/legal-unit-selector.module.d.ts +6 -0
  511. package/establishment/lib/select/searcher/establishment-searcher.component.d.ts +3 -0
  512. package/establishment/lib/select/searcher/establishment-searcher.module.d.ts +9 -0
  513. package/establishment/lib/select/select-all/establishment-select-all.component.d.ts +3 -1
  514. package/establishment/lib/select/select-all/establishment-select-all.module.d.ts +8 -0
  515. package/establishment/lib/service/establishment.service.d.ts +3 -0
  516. package/establishment/lib/service/legal-unit.service.d.ts +3 -0
  517. package/establishment/lucca-front-ng-establishment.d.ts +1 -0
  518. package/establishment/package.json +6 -10
  519. package/fesm2015/lucca-front-ng-animations.mjs +276 -0
  520. package/fesm2015/lucca-front-ng-animations.mjs.map +1 -0
  521. package/fesm2015/lucca-front-ng-api.mjs +901 -0
  522. package/fesm2015/lucca-front-ng-api.mjs.map +1 -0
  523. package/fesm2015/lucca-front-ng-core.mjs +414 -0
  524. package/fesm2015/lucca-front-ng-core.mjs.map +1 -0
  525. package/fesm2015/lucca-front-ng-date.mjs +1070 -0
  526. package/fesm2015/lucca-front-ng-date.mjs.map +1 -0
  527. package/fesm2015/lucca-front-ng-department.mjs +327 -0
  528. package/fesm2015/lucca-front-ng-department.mjs.map +1 -0
  529. package/fesm2015/lucca-front-ng-dropdown.mjs +370 -0
  530. package/fesm2015/lucca-front-ng-dropdown.mjs.map +1 -0
  531. package/fesm2015/lucca-front-ng-establishment.mjs +854 -0
  532. package/fesm2015/lucca-front-ng-establishment.mjs.map +1 -0
  533. package/fesm2015/lucca-front-ng-formly.mjs +624 -0
  534. package/fesm2015/lucca-front-ng-formly.mjs.map +1 -0
  535. package/fesm2015/lucca-front-ng-input.mjs +260 -0
  536. package/fesm2015/lucca-front-ng-input.mjs.map +1 -0
  537. package/fesm2015/lucca-front-ng-material.mjs +23 -0
  538. package/fesm2015/lucca-front-ng-material.mjs.map +1 -0
  539. package/fesm2015/lucca-front-ng-modal.mjs +320 -0
  540. package/fesm2015/lucca-front-ng-modal.mjs.map +1 -0
  541. package/fesm2015/lucca-front-ng-number.mjs +62 -0
  542. package/fesm2015/lucca-front-ng-number.mjs.map +1 -0
  543. package/fesm2015/lucca-front-ng-option.mjs +2267 -0
  544. package/fesm2015/lucca-front-ng-option.mjs.map +1 -0
  545. package/fesm2015/lucca-front-ng-picker.mjs +15 -0
  546. package/fesm2015/lucca-front-ng-picker.mjs.map +1 -0
  547. package/fesm2015/lucca-front-ng-popover.mjs +1031 -0
  548. package/fesm2015/lucca-front-ng-popover.mjs.map +1 -0
  549. package/fesm2015/lucca-front-ng-popup.mjs +220 -0
  550. package/fesm2015/lucca-front-ng-popup.mjs.map +1 -0
  551. package/fesm2015/lucca-front-ng-qualification.mjs +195 -0
  552. package/fesm2015/lucca-front-ng-qualification.mjs.map +1 -0
  553. package/fesm2015/lucca-front-ng-safe-content.mjs +52 -0
  554. package/fesm2015/lucca-front-ng-safe-content.mjs.map +1 -0
  555. package/fesm2015/lucca-front-ng-scroll.mjs +103 -0
  556. package/fesm2015/lucca-front-ng-scroll.mjs.map +1 -0
  557. package/fesm2015/lucca-front-ng-select.mjs +452 -0
  558. package/fesm2015/lucca-front-ng-select.mjs.map +1 -0
  559. package/fesm2015/lucca-front-ng-sidepanel.mjs +226 -0
  560. package/fesm2015/lucca-front-ng-sidepanel.mjs.map +1 -0
  561. package/fesm2015/lucca-front-ng-tooltip.mjs +297 -0
  562. package/fesm2015/lucca-front-ng-tooltip.mjs.map +1 -0
  563. package/fesm2015/lucca-front-ng-user.mjs +1028 -0
  564. package/fesm2015/lucca-front-ng-user.mjs.map +1 -0
  565. package/fesm2015/lucca-front-ng.mjs +6 -0
  566. package/fesm2015/lucca-front-ng.mjs.map +1 -0
  567. package/fesm2020/lucca-front-ng-animations.mjs +276 -0
  568. package/fesm2020/lucca-front-ng-animations.mjs.map +1 -0
  569. package/fesm2020/lucca-front-ng-api.mjs +887 -0
  570. package/fesm2020/lucca-front-ng-api.mjs.map +1 -0
  571. package/fesm2020/lucca-front-ng-core.mjs +410 -0
  572. package/fesm2020/lucca-front-ng-core.mjs.map +1 -0
  573. package/fesm2020/lucca-front-ng-date.mjs +1060 -0
  574. package/fesm2020/lucca-front-ng-date.mjs.map +1 -0
  575. package/fesm2020/lucca-front-ng-department.mjs +320 -0
  576. package/fesm2020/lucca-front-ng-department.mjs.map +1 -0
  577. package/fesm2020/lucca-front-ng-dropdown.mjs +370 -0
  578. package/fesm2020/lucca-front-ng-dropdown.mjs.map +1 -0
  579. package/fesm2020/lucca-front-ng-establishment.mjs +842 -0
  580. package/fesm2020/lucca-front-ng-establishment.mjs.map +1 -0
  581. package/fesm2020/lucca-front-ng-formly.mjs +624 -0
  582. package/fesm2020/lucca-front-ng-formly.mjs.map +1 -0
  583. package/fesm2020/lucca-front-ng-input.mjs +260 -0
  584. package/fesm2020/lucca-front-ng-input.mjs.map +1 -0
  585. package/fesm2020/lucca-front-ng-material.mjs +23 -0
  586. package/fesm2020/lucca-front-ng-material.mjs.map +1 -0
  587. package/fesm2020/lucca-front-ng-modal.mjs +310 -0
  588. package/fesm2020/lucca-front-ng-modal.mjs.map +1 -0
  589. package/fesm2020/lucca-front-ng-number.mjs +60 -0
  590. package/fesm2020/lucca-front-ng-number.mjs.map +1 -0
  591. package/fesm2020/lucca-front-ng-option.mjs +2237 -0
  592. package/fesm2020/lucca-front-ng-option.mjs.map +1 -0
  593. package/fesm2020/lucca-front-ng-picker.mjs +15 -0
  594. package/fesm2020/lucca-front-ng-picker.mjs.map +1 -0
  595. package/fesm2020/lucca-front-ng-popover.mjs +1031 -0
  596. package/fesm2020/lucca-front-ng-popover.mjs.map +1 -0
  597. package/fesm2020/lucca-front-ng-popup.mjs +218 -0
  598. package/fesm2020/lucca-front-ng-popup.mjs.map +1 -0
  599. package/fesm2020/lucca-front-ng-qualification.mjs +191 -0
  600. package/fesm2020/lucca-front-ng-qualification.mjs.map +1 -0
  601. package/fesm2020/lucca-front-ng-safe-content.mjs +52 -0
  602. package/fesm2020/lucca-front-ng-safe-content.mjs.map +1 -0
  603. package/fesm2020/lucca-front-ng-scroll.mjs +103 -0
  604. package/fesm2020/lucca-front-ng-scroll.mjs.map +1 -0
  605. package/fesm2020/lucca-front-ng-select.mjs +452 -0
  606. package/fesm2020/lucca-front-ng-select.mjs.map +1 -0
  607. package/fesm2020/lucca-front-ng-sidepanel.mjs +218 -0
  608. package/fesm2020/lucca-front-ng-sidepanel.mjs.map +1 -0
  609. package/fesm2020/lucca-front-ng-tooltip.mjs +296 -0
  610. package/fesm2020/lucca-front-ng-tooltip.mjs.map +1 -0
  611. package/fesm2020/lucca-front-ng-user.mjs +1015 -0
  612. package/fesm2020/lucca-front-ng-user.mjs.map +1 -0
  613. package/fesm2020/lucca-front-ng.mjs +6 -0
  614. package/fesm2020/lucca-front-ng.mjs.map +1 -0
  615. package/formly/lib/formly.module.d.ts +34 -0
  616. package/formly/lib/types/api.d.ts +3 -0
  617. package/formly/lib/types/checkbox.d.ts +3 -0
  618. package/formly/lib/types/date.d.ts +3 -0
  619. package/formly/lib/types/department.d.ts +3 -0
  620. package/formly/lib/types/establishment.d.ts +3 -0
  621. package/formly/lib/types/input.d.ts +3 -0
  622. package/formly/lib/types/qualification.d.ts +3 -0
  623. package/formly/lib/types/radios.d.ts +3 -0
  624. package/formly/lib/types/select.d.ts +3 -0
  625. package/formly/lib/types/textarea.d.ts +3 -0
  626. package/formly/lib/types/user.d.ts +3 -0
  627. package/formly/lib/wrappers/checkbox-layout.d.ts +3 -0
  628. package/formly/lib/wrappers/error.d.ts +5 -0
  629. package/formly/lib/wrappers/helper.d.ts +3 -0
  630. package/formly/lib/wrappers/icon.d.ts +3 -0
  631. package/formly/lib/wrappers/radiosfield-layout.d.ts +3 -0
  632. package/formly/lib/wrappers/suffix.d.ts +3 -0
  633. package/formly/lib/wrappers/textfield-layout.d.ts +3 -0
  634. package/formly/lucca-front-ng-formly.d.ts +1 -0
  635. package/formly/package.json +6 -10
  636. package/input/lib/clearer/clearer.component.d.ts +3 -0
  637. package/input/lib/clearer/clearer.module.d.ts +6 -0
  638. package/input/lib/displayer/input-displayer.directive.d.ts +3 -0
  639. package/input/lib/displayer/input-displayer.module.d.ts +5 -0
  640. package/input/lib/input.directive.d.ts +3 -0
  641. package/input/lib/input.model.d.ts +3 -3
  642. package/input/lib/input.module.d.ts +7 -0
  643. package/input/lucca-front-ng-input.d.ts +1 -0
  644. package/input/package.json +6 -10
  645. package/lucca-front-ng.d.ts +2 -1
  646. package/material/lib/module.d.ts +4 -0
  647. package/material/lucca-front-ng-material.d.ts +1 -0
  648. package/material/package.json +6 -10
  649. package/material/style/main-v11.overridable.scss +1 -1
  650. package/material/style/main-v11.scss +1 -1
  651. package/material/style/main.overridable.scss +1 -1
  652. package/material/style/main.scss +1 -1
  653. package/modal/lib/modal-panel.component.d.ts +7 -0
  654. package/modal/lib/modal-ref.factory.d.ts +9 -6
  655. package/modal/lib/modal.intl.d.ts +3 -0
  656. package/modal/lib/modal.module.d.ts +9 -0
  657. package/modal/lib/modal.service.d.ts +3 -0
  658. package/modal/lucca-front-ng-modal.d.ts +5 -0
  659. package/modal/package.json +7 -11
  660. package/number/lib/number.module.d.ts +6 -0
  661. package/number/lib/number.pipe.d.ts +3 -0
  662. package/number/lucca-front-ng-number.d.ts +1 -0
  663. package/number/package.json +6 -10
  664. package/option/lib/item/option-item.component.d.ts +3 -0
  665. package/option/lib/item/option-item.module.d.ts +5 -0
  666. package/option/lib/item/tree-option-item.component.d.ts +3 -0
  667. package/option/lib/item/tree-option-item.intl.d.ts +3 -0
  668. package/option/lib/item/tree-option-item.module.d.ts +7 -0
  669. package/option/lib/operator/feeder/option-feeder.component.d.ts +3 -0
  670. package/option/lib/operator/feeder/option-feeder.module.d.ts +5 -0
  671. package/option/lib/operator/feeder/tree-option-feeder.component.d.ts +3 -0
  672. package/option/lib/operator/feeder/tree-option-feeder.module.d.ts +5 -0
  673. package/option/lib/operator/for-groups/for-groups.directive.d.ts +3 -0
  674. package/option/lib/operator/for-groups/for-groups.module.d.ts +5 -0
  675. package/option/lib/operator/for-options/for-options.directive.d.ts +3 -0
  676. package/option/lib/operator/for-options/for-options.module.d.ts +5 -0
  677. package/option/lib/operator/for-options/for-tree-options.directive.d.ts +3 -0
  678. package/option/lib/operator/for-options/for-tree-options.module.d.ts +5 -0
  679. package/option/lib/operator/option-operator.module.d.ts +9 -0
  680. package/option/lib/operator/pager/option-pager.component.d.ts +3 -0
  681. package/option/lib/operator/pager/option-pager.module.d.ts +5 -0
  682. package/option/lib/operator/pager/tree-option-pager.component.d.ts +3 -0
  683. package/option/lib/operator/pager/tree-option-pager.module.d.ts +5 -0
  684. package/option/lib/operator/searcher/option-searcher.component.d.ts +3 -0
  685. package/option/lib/operator/searcher/option-searcher.module.d.ts +8 -0
  686. package/option/lib/operator/searcher/tree-option-searcher.component.d.ts +3 -0
  687. package/option/lib/operator/searcher/tree-option-searcher.module.d.ts +8 -0
  688. package/option/lib/operator/tree-option-operator.module.d.ts +8 -0
  689. package/option/lib/option.module.d.ts +9 -0
  690. package/option/lib/picker/option-picker-advanced.component.d.ts +9 -5
  691. package/option/lib/picker/option-picker.component.d.ts +12 -7
  692. package/option/lib/picker/option-picker.model.d.ts +5 -5
  693. package/option/lib/picker/option-picker.module.d.ts +11 -0
  694. package/option/lib/picker/tree-option-picker-advanced.component.d.ts +9 -5
  695. package/option/lib/picker/tree-option-picker.component.d.ts +11 -7
  696. package/option/lib/picker/tree-option-picker.model.d.ts +3 -3
  697. package/option/lib/picker/tree-option-picker.module.d.ts +10 -0
  698. package/option/lib/placeholder/option-placeholder.component.d.ts +3 -0
  699. package/option/lib/placeholder/option-placeholder.intl.d.ts +3 -0
  700. package/option/lib/placeholder/option-placeholder.module.d.ts +5 -0
  701. package/option/lib/selector/all/select-all.component.d.ts +3 -0
  702. package/option/lib/selector/all/select-all.intl.d.ts +3 -0
  703. package/option/lib/selector/all/select-all.module.d.ts +5 -0
  704. package/option/lib/selector/all/tree-select-all.component.d.ts +3 -0
  705. package/option/lib/selector/all/tree-select-all.module.d.ts +5 -0
  706. package/option/lib/selector/option-selector.module.d.ts +5 -0
  707. package/option/lib/selector/tree-option-selector.module.d.ts +5 -0
  708. package/option/lib/tree-option.module.d.ts +8 -0
  709. package/option/lucca-front-ng-option.d.ts +1 -0
  710. package/option/package.json +6 -10
  711. package/package.json +209 -12
  712. package/picker/lib/input-picker.model.d.ts +1 -1
  713. package/picker/lucca-front-ng-picker.d.ts +1 -0
  714. package/picker/package.json +6 -10
  715. package/popover/lib/panel/popover-panel.component.d.ts +3 -0
  716. package/popover/lib/panel/popover-panel.module.d.ts +8 -0
  717. package/popover/lib/popover.module.d.ts +7 -0
  718. package/popover/lib/target/popover-target.directive.d.ts +3 -0
  719. package/popover/lib/target/popover-target.module.d.ts +7 -0
  720. package/popover/lib/trigger/popover-trigger.directive.d.ts +3 -0
  721. package/popover/lib/trigger/popover-trigger.model.d.ts +7 -7
  722. package/popover/lib/trigger/popover-trigger.module.d.ts +9 -0
  723. package/popover/lucca-front-ng-popover.d.ts +1 -0
  724. package/popover/package.json +6 -10
  725. package/popup/lib/popup-ref.factory.d.ts +3 -0
  726. package/popup/lib/popup-ref.model.d.ts +3 -4
  727. package/popup/lib/popup.module.d.ts +5 -0
  728. package/popup/lib/popup.service.d.ts +3 -0
  729. package/popup/lucca-front-ng-popup.d.ts +1 -0
  730. package/popup/package.json +6 -10
  731. package/public_api.d.ts +2 -0
  732. package/qualification/lib/qualification.module.d.ts +5 -0
  733. package/qualification/lib/select/input/qualification-select-input.component.d.ts +4 -1
  734. package/qualification/lib/select/input/qualification-select-input.intl.d.ts +3 -0
  735. package/qualification/lib/select/input/qualification-select-input.module.d.ts +10 -0
  736. package/qualification/lib/select/qualification-select.module.d.ts +5 -0
  737. package/qualification/lucca-front-ng-qualification.d.ts +1 -0
  738. package/qualification/package.json +6 -10
  739. package/safe-content/lib/safe-content.module.d.ts +6 -0
  740. package/safe-content/lib/safe-content.pipe.d.ts +3 -0
  741. package/safe-content/lucca-front-ng-safe-content.d.ts +1 -0
  742. package/safe-content/package.json +6 -10
  743. package/schematics/collection.json +9 -0
  744. package/schematics/ng-add/file-content.js +17 -0
  745. package/schematics/ng-add/index.js +29 -0
  746. package/schematics/ng-add/tasks.js +42 -0
  747. package/scroll/lib/scroll.directive.d.ts +3 -0
  748. package/scroll/lib/scroll.module.d.ts +5 -0
  749. package/scroll/lucca-front-ng-scroll.d.ts +5 -0
  750. package/scroll/package.json +7 -11
  751. package/select/lib/input/select-input.component.d.ts +9 -4
  752. package/select/lib/input/select-input.model.d.ts +1 -1
  753. package/select/lib/input/select-input.module.d.ts +7 -0
  754. package/select/lib/select.module.d.ts +5 -0
  755. package/select/lucca-front-ng-select.d.ts +1 -0
  756. package/select/package.json +6 -10
  757. package/sidepanel/lib/sidepanel-panel.component.d.ts +5 -0
  758. package/sidepanel/lib/sidepanel-ref.factory.d.ts +9 -6
  759. package/sidepanel/lib/sidepanel.intl.d.ts +3 -0
  760. package/sidepanel/lib/sidepanel.module.d.ts +9 -0
  761. package/sidepanel/lib/sidepanel.service.d.ts +3 -0
  762. package/sidepanel/lucca-front-ng-sidepanel.d.ts +1 -0
  763. package/sidepanel/package.json +6 -10
  764. package/tooltip/lib/panel/tooltip-panel.component.d.ts +3 -0
  765. package/tooltip/lib/panel/tooltip-panel.module.d.ts +7 -0
  766. package/tooltip/lib/tooltip.module.d.ts +6 -0
  767. package/tooltip/lib/trigger/tooltip-trigger.directive.d.ts +3 -0
  768. package/tooltip/lib/trigger/tooltip-trigger.module.d.ts +6 -0
  769. package/tooltip/lucca-front-ng-tooltip.d.ts +1 -0
  770. package/tooltip/package.json +6 -10
  771. package/user/lib/display/user-display.module.d.ts +6 -0
  772. package/user/lib/display/user-display.pipe.d.ts +3 -0
  773. package/user/lib/picture/user-picture.component.d.ts +3 -0
  774. package/user/lib/picture/user-picture.module.d.ts +7 -0
  775. package/user/lib/select/homonyms/user-homonyms.component.d.ts +3 -0
  776. package/user/lib/select/homonyms/user-homonyms.module.d.ts +7 -0
  777. package/user/lib/select/homonyms/user-homonyms.service.d.ts +3 -0
  778. package/user/lib/select/input/user-select-input.component.d.ts +4 -2
  779. package/user/lib/select/input/user-select-input.intl.d.ts +3 -0
  780. package/user/lib/select/input/user-select-input.module.d.ts +12 -0
  781. package/user/lib/select/me/me-option.directive.d.ts +4 -1
  782. package/user/lib/select/me/me-option.module.d.ts +5 -0
  783. package/user/lib/select/searcher/user-searcher.component.d.ts +3 -0
  784. package/user/lib/select/searcher/user-searcher.intl.d.ts +3 -0
  785. package/user/lib/select/searcher/user-searcher.module.d.ts +9 -0
  786. package/user/lib/select/user-select.module.d.ts +8 -0
  787. package/user/lib/service/user-v3.service.d.ts +3 -0
  788. package/user/lib/tile/user-tile.component.d.ts +3 -0
  789. package/user/lib/tile/user-tile.module.d.ts +8 -0
  790. package/user/lib/user.module.d.ts +8 -0
  791. package/user/lucca-front-ng-user.d.ts +1 -0
  792. package/user/package.json +6 -10
  793. package/README.md +0 -1
  794. package/animations/bundles/lucca-front-ng-animations.umd.js +0 -611
  795. package/animations/bundles/lucca-front-ng-animations.umd.js.map +0 -1
  796. package/animations/fesm2015/lucca-front-ng-animations.js +0 -276
  797. package/animations/fesm2015/lucca-front-ng-animations.js.map +0 -1
  798. package/animations/lucca-front-ng-animations.metadata.json +0 -1
  799. package/api/bundles/lucca-front-ng-api.umd.js +0 -1268
  800. package/api/bundles/lucca-front-ng-api.umd.js.map +0 -1
  801. package/api/esm2015/lib/api.module.js +0 -15
  802. package/api/esm2015/lib/select/api-select.module.js +0 -24
  803. package/api/esm2015/lib/select/feeder/api-feeder.component.js +0 -52
  804. package/api/esm2015/lib/select/feeder/api-feeder.module.js +0 -19
  805. package/api/esm2015/lib/select/input/api-select-input.component.js +0 -45
  806. package/api/esm2015/lib/select/input/api-select-input.module.js +0 -28
  807. package/api/esm2015/lib/select/pager/api-pager.component.js +0 -58
  808. package/api/esm2015/lib/select/pager/api-pager.module.js +0 -19
  809. package/api/esm2015/lib/select/searcher/api-searcher.component.js +0 -142
  810. package/api/esm2015/lib/select/searcher/api-searcher.model.js +0 -69
  811. package/api/esm2015/lib/select/searcher/api-searcher.module.js +0 -27
  812. package/api/esm2015/lib/service/api-hybrid.service.js +0 -59
  813. package/api/esm2015/lib/service/api-service.model.js +0 -3
  814. package/api/esm2015/lib/service/api-v3.service.js +0 -65
  815. package/api/esm2015/lib/service/api-v4.service.js +0 -55
  816. package/api/fesm2015/lucca-front-ng-api.js +0 -704
  817. package/api/fesm2015/lucca-front-ng-api.js.map +0 -1
  818. package/api/lucca-front-ng-api.metadata.json +0 -1
  819. package/bundles/lucca-front-ng.umd.js +0 -32
  820. package/bundles/lucca-front-ng.umd.js.map +0 -1
  821. package/core/bundles/lucca-front-ng-core.umd.js +0 -759
  822. package/core/bundles/lucca-front-ng-core.umd.js.map +0 -1
  823. package/core/esm2015/lib/date/native/native-date.adapter.js +0 -221
  824. package/core/esm2015/lib/date/string/string-date.adapter.js +0 -78
  825. package/core/esm2015/lib/translate/intl.model.js +0 -13
  826. package/core/fesm2015/lucca-front-ng-core.js +0 -401
  827. package/core/fesm2015/lucca-front-ng-core.js.map +0 -1
  828. package/core/lucca-front-ng-core.metadata.json +0 -1
  829. package/date/bundles/lucca-front-ng-date.umd.js +0 -1360
  830. package/date/bundles/lucca-front-ng-date.umd.js.map +0 -1
  831. package/date/esm2015/lib/adapter/date-adapter.module.js +0 -15
  832. package/date/esm2015/lib/adapter/date-adapter.pipe.js +0 -23
  833. package/date/esm2015/lib/calendar/calendar-input.component.js +0 -322
  834. package/date/esm2015/lib/calendar/calendar-input.module.js +0 -25
  835. package/date/esm2015/lib/calendar/calendar-item.class.js +0 -41
  836. package/date/esm2015/lib/calendar/calendar-item.factory.js +0 -38
  837. package/date/esm2015/lib/date.module.js +0 -27
  838. package/date/esm2015/lib/input/date-input.directive.js +0 -118
  839. package/date/esm2015/lib/input/date-input.intl.js +0 -16
  840. package/date/esm2015/lib/input/date-input.module.js +0 -25
  841. package/date/esm2015/lib/picker/date-picker.component.js +0 -91
  842. package/date/esm2015/lib/picker/date-picker.module.js +0 -29
  843. package/date/esm2015/lib/select/date-select-input.component.js +0 -88
  844. package/date/esm2015/lib/select/date-select-input.intl.js +0 -16
  845. package/date/esm2015/lib/select/date-select-input.module.js +0 -36
  846. package/date/esm2015/lucca-front-ng-date.js +0 -6
  847. package/date/fesm2015/lucca-front-ng-date.js +0 -933
  848. package/date/fesm2015/lucca-front-ng-date.js.map +0 -1
  849. package/date/lucca-front-ng-date.metadata.json +0 -1
  850. package/department/bundles/lucca-front-ng-department.umd.js +0 -623
  851. package/department/bundles/lucca-front-ng-department.umd.js.map +0 -1
  852. package/department/esm2015/lib/department.module.js +0 -15
  853. package/department/esm2015/lib/select/department-select.module.js +0 -18
  854. package/department/esm2015/lib/select/feeder/department-feeder.component.js +0 -50
  855. package/department/esm2015/lib/select/feeder/department-feeder.module.js +0 -19
  856. package/department/esm2015/lib/select/input/department-select-input.component.js +0 -48
  857. package/department/esm2015/lib/select/input/department-select-input.intl.js +0 -16
  858. package/department/esm2015/lib/select/input/department-select-input.module.js +0 -39
  859. package/department/esm2015/lib/service/department-v3.service.js +0 -38
  860. package/department/fesm2015/lucca-front-ng-department.js +0 -246
  861. package/department/fesm2015/lucca-front-ng-department.js.map +0 -1
  862. package/department/lucca-front-ng-department.metadata.json +0 -1
  863. package/dropdown/bundles/lucca-front-ng-dropdown.umd.js +0 -706
  864. package/dropdown/bundles/lucca-front-ng-dropdown.umd.js.map +0 -1
  865. package/dropdown/esm2015/lib/dropdown.module.js +0 -21
  866. package/dropdown/esm2015/lib/item/dropdown-item.directive.js +0 -45
  867. package/dropdown/esm2015/lib/item/dropdown-item.module.js +0 -16
  868. package/dropdown/esm2015/lib/panel/dropdown-panel.component.js +0 -102
  869. package/dropdown/esm2015/lib/panel/dropdown-panel.module.js +0 -19
  870. package/dropdown/esm2015/lib/trigger/dropdown-trigger.directive.js +0 -86
  871. package/dropdown/esm2015/lib/trigger/dropdown-trigger.module.js +0 -19
  872. package/dropdown/fesm2015/lucca-front-ng-dropdown.js +0 -305
  873. package/dropdown/fesm2015/lucca-front-ng-dropdown.js.map +0 -1
  874. package/dropdown/lucca-front-ng-dropdown.metadata.json +0 -1
  875. package/esm2015/index.js +0 -2
  876. package/esm2015/lib/index.js +0 -2
  877. package/esm2015/lib/module.js +0 -10
  878. package/esm2015/lucca-front-ng.js +0 -5
  879. package/esm2015/public-api.js +0 -5
  880. package/establishment/bundles/lucca-front-ng-establishment.umd.js +0 -1104
  881. package/establishment/bundles/lucca-front-ng-establishment.umd.js.map +0 -1
  882. package/establishment/esm2015/lib/establishment.module.js +0 -15
  883. package/establishment/esm2015/lib/select/establishment-select.module.js +0 -27
  884. package/establishment/esm2015/lib/select/for-legal-units/for-legal-units.directive.js +0 -46
  885. package/establishment/esm2015/lib/select/for-legal-units/for-legal-units.module.js +0 -11
  886. package/establishment/esm2015/lib/select/input/establishment-select-input.component.js +0 -86
  887. package/establishment/esm2015/lib/select/input/establishment-select-input.intl.js +0 -16
  888. package/establishment/esm2015/lib/select/input/establishment-select-input.module.js +0 -40
  889. package/establishment/esm2015/lib/select/legal-unit-selector/legal-unit-selector.directive.js +0 -73
  890. package/establishment/esm2015/lib/select/legal-unit-selector/legal-unit-selector.module.js +0 -13
  891. package/establishment/esm2015/lib/select/searcher/establishment-searcher.component.js +0 -127
  892. package/establishment/esm2015/lib/select/searcher/establishment-searcher.module.js +0 -25
  893. package/establishment/esm2015/lib/select/select-all/establishment-select-all.component.js +0 -67
  894. package/establishment/esm2015/lib/select/select-all/establishment-select-all.module.js +0 -29
  895. package/establishment/esm2015/lib/service/establishment.service.js +0 -33
  896. package/establishment/esm2015/lib/service/legal-unit.service.js +0 -33
  897. package/establishment/fesm2015/lucca-front-ng-establishment.js +0 -637
  898. package/establishment/fesm2015/lucca-front-ng-establishment.js.map +0 -1
  899. package/establishment/lucca-front-ng-establishment.metadata.json +0 -1
  900. package/fesm2015/lucca-front-ng.js +0 -21
  901. package/fesm2015/lucca-front-ng.js.map +0 -1
  902. package/formly/bundles/lucca-front-ng-formly.umd.js +0 -1126
  903. package/formly/bundles/lucca-front-ng-formly.umd.js.map +0 -1
  904. package/formly/esm2015/lib/formly.module.js +0 -61
  905. package/formly/esm2015/lib/types/api.js +0 -30
  906. package/formly/esm2015/lib/types/checkbox.js +0 -18
  907. package/formly/esm2015/lib/types/date.js +0 -18
  908. package/formly/esm2015/lib/types/department.js +0 -18
  909. package/formly/esm2015/lib/types/establishment.js +0 -18
  910. package/formly/esm2015/lib/types/input.js +0 -21
  911. package/formly/esm2015/lib/types/qualification.js +0 -18
  912. package/formly/esm2015/lib/types/radios.js +0 -21
  913. package/formly/esm2015/lib/types/select.js +0 -21
  914. package/formly/esm2015/lib/types/textarea.js +0 -18
  915. package/formly/esm2015/lib/types/user.js +0 -18
  916. package/formly/esm2015/lib/wrappers/checkbox-layout.js +0 -31
  917. package/formly/esm2015/lib/wrappers/error.js +0 -59
  918. package/formly/esm2015/lib/wrappers/helper.js +0 -27
  919. package/formly/esm2015/lib/wrappers/icon.js +0 -35
  920. package/formly/esm2015/lib/wrappers/radiosfield-layout.js +0 -31
  921. package/formly/esm2015/lib/wrappers/suffix.js +0 -30
  922. package/formly/esm2015/lib/wrappers/textfield-layout.js +0 -42
  923. package/formly/fesm2015/lucca-front-ng-formly.js +0 -583
  924. package/formly/fesm2015/lucca-front-ng-formly.js.map +0 -1
  925. package/formly/lucca-front-ng-formly.metadata.json +0 -1
  926. package/index.d.ts +0 -1
  927. package/input/bundles/lucca-front-ng-input.umd.js +0 -604
  928. package/input/bundles/lucca-front-ng-input.umd.js.map +0 -1
  929. package/input/esm2015/lib/clearer/clearer.component.js +0 -31
  930. package/input/esm2015/lib/clearer/clearer.module.js +0 -19
  931. package/input/esm2015/lib/displayer/input-displayer.directive.js +0 -49
  932. package/input/esm2015/lib/displayer/input-displayer.module.js +0 -12
  933. package/input/esm2015/lib/input.directive.js +0 -42
  934. package/input/esm2015/lib/input.model.js +0 -48
  935. package/input/esm2015/lib/input.module.js +0 -23
  936. package/input/fesm2015/lucca-front-ng-input.js +0 -232
  937. package/input/fesm2015/lucca-front-ng-input.js.map +0 -1
  938. package/input/lucca-front-ng-input.metadata.json +0 -1
  939. package/lib/index.d.ts +0 -1
  940. package/lib/module.d.ts +0 -5
  941. package/lucca-front-ng.metadata.json +0 -1
  942. package/material/bundles/lucca-front-ng-material.umd.js +0 -29
  943. package/material/bundles/lucca-front-ng-material.umd.js.map +0 -1
  944. package/material/esm2015/lib/module.js +0 -7
  945. package/material/fesm2015/lucca-front-ng-material.js +0 -18
  946. package/material/fesm2015/lucca-front-ng-material.js.map +0 -1
  947. package/material/lucca-front-ng-material.metadata.json +0 -1
  948. package/modal/bundles/lucca-front-modal.umd.js +0 -685
  949. package/modal/bundles/lucca-front-modal.umd.js.map +0 -1
  950. package/modal/esm2015/lib/modal-panel.component.js +0 -136
  951. package/modal/esm2015/lib/modal-ref.factory.js +0 -54
  952. package/modal/esm2015/lib/modal.intl.js +0 -16
  953. package/modal/esm2015/lib/modal.module.js +0 -46
  954. package/modal/esm2015/lib/modal.service.js +0 -18
  955. package/modal/esm2015/lucca-front-modal.js +0 -5
  956. package/modal/fesm2015/lucca-front-modal.js +0 -293
  957. package/modal/fesm2015/lucca-front-modal.js.map +0 -1
  958. package/modal/lucca-front-modal.d.ts +0 -4
  959. package/modal/lucca-front-modal.metadata.json +0 -1
  960. package/number/bundles/lucca-front-ng-number.umd.js +0 -65
  961. package/number/bundles/lucca-front-ng-number.umd.js.map +0 -1
  962. package/number/esm2015/lib/number.module.js +0 -13
  963. package/number/esm2015/lib/number.pipe.js +0 -31
  964. package/number/fesm2015/lucca-front-ng-number.js +0 -52
  965. package/number/fesm2015/lucca-front-ng-number.js.map +0 -1
  966. package/number/lucca-front-ng-number.metadata.json +0 -1
  967. package/option/bundles/lucca-front-ng-option.umd.js +0 -2653
  968. package/option/bundles/lucca-front-ng-option.umd.js.map +0 -1
  969. package/option/esm2015/lib/item/option-item.component.js +0 -54
  970. package/option/esm2015/lib/item/option-item.module.js +0 -15
  971. package/option/esm2015/lib/item/tree-option-item.component.js +0 -101
  972. package/option/esm2015/lib/item/tree-option-item.intl.js +0 -16
  973. package/option/esm2015/lib/item/tree-option-item.module.js +0 -33
  974. package/option/esm2015/lib/operator/feeder/option-feeder.component.js +0 -29
  975. package/option/esm2015/lib/operator/feeder/option-feeder.module.js +0 -16
  976. package/option/esm2015/lib/operator/feeder/tree-option-feeder.component.js +0 -29
  977. package/option/esm2015/lib/operator/feeder/tree-option-feeder.module.js +0 -15
  978. package/option/esm2015/lib/operator/for-groups/for-groups.directive.js +0 -75
  979. package/option/esm2015/lib/operator/for-groups/for-groups.module.js +0 -16
  980. package/option/esm2015/lib/operator/for-options/for-options.directive.js +0 -46
  981. package/option/esm2015/lib/operator/for-options/for-options.module.js +0 -16
  982. package/option/esm2015/lib/operator/for-options/for-tree-options.directive.js +0 -18
  983. package/option/esm2015/lib/operator/for-options/for-tree-options.module.js +0 -16
  984. package/option/esm2015/lib/operator/option-operator.module.js +0 -27
  985. package/option/esm2015/lib/operator/pager/option-pager.component.js +0 -42
  986. package/option/esm2015/lib/operator/pager/option-pager.module.js +0 -16
  987. package/option/esm2015/lib/operator/pager/tree-option-pager.component.js +0 -58
  988. package/option/esm2015/lib/operator/pager/tree-option-pager.module.js +0 -16
  989. package/option/esm2015/lib/operator/searcher/option-searcher.component.js +0 -52
  990. package/option/esm2015/lib/operator/searcher/option-searcher.module.js +0 -23
  991. package/option/esm2015/lib/operator/searcher/tree-option-searcher.component.js +0 -67
  992. package/option/esm2015/lib/operator/searcher/tree-option-searcher.module.js +0 -23
  993. package/option/esm2015/lib/operator/tree-option-operator.module.js +0 -24
  994. package/option/esm2015/lib/option.module.js +0 -27
  995. package/option/esm2015/lib/picker/option-picker-advanced.component.js +0 -127
  996. package/option/esm2015/lib/picker/option-picker.component.js +0 -270
  997. package/option/esm2015/lib/picker/option-picker.model.js +0 -69
  998. package/option/esm2015/lib/picker/option-picker.module.js +0 -30
  999. package/option/esm2015/lib/picker/tree-option-picker-advanced.component.js +0 -123
  1000. package/option/esm2015/lib/picker/tree-option-picker.component.js +0 -163
  1001. package/option/esm2015/lib/picker/tree-option-picker.model.js +0 -4
  1002. package/option/esm2015/lib/picker/tree-option-picker.module.js +0 -28
  1003. package/option/esm2015/lib/placeholder/option-placeholder.component.js +0 -25
  1004. package/option/esm2015/lib/placeholder/option-placeholder.intl.js +0 -16
  1005. package/option/esm2015/lib/placeholder/option-placeholder.module.js +0 -24
  1006. package/option/esm2015/lib/selector/all/select-all.component.js +0 -54
  1007. package/option/esm2015/lib/selector/all/select-all.intl.js +0 -16
  1008. package/option/esm2015/lib/selector/all/select-all.module.js +0 -24
  1009. package/option/esm2015/lib/selector/all/tree-select-all.component.js +0 -59
  1010. package/option/esm2015/lib/selector/all/tree-select-all.module.js +0 -24
  1011. package/option/esm2015/lib/selector/option-selector.module.js +0 -15
  1012. package/option/esm2015/lib/selector/tree-option-selector.module.js +0 -15
  1013. package/option/esm2015/lib/tree-option.module.js +0 -24
  1014. package/option/fesm2015/lucca-front-ng-option.js +0 -1889
  1015. package/option/fesm2015/lucca-front-ng-option.js.map +0 -1
  1016. package/option/lucca-front-ng-option.metadata.json +0 -1
  1017. package/picker/bundles/lucca-front-ng-picker.umd.js +0 -346
  1018. package/picker/bundles/lucca-front-ng-picker.umd.js.map +0 -1
  1019. package/picker/esm2015/lib/input-picker.model.js +0 -4
  1020. package/picker/fesm2015/lucca-front-ng-picker.js +0 -15
  1021. package/picker/fesm2015/lucca-front-ng-picker.js.map +0 -1
  1022. package/picker/lucca-front-ng-picker.metadata.json +0 -1
  1023. package/popover/bundles/lucca-front-ng-popover.umd.js +0 -1489
  1024. package/popover/bundles/lucca-front-ng-popover.umd.js.map +0 -1
  1025. package/popover/esm2015/lib/panel/popover-panel.component.js +0 -106
  1026. package/popover/esm2015/lib/panel/popover-panel.model.js +0 -96
  1027. package/popover/esm2015/lib/panel/popover-panel.module.js +0 -23
  1028. package/popover/esm2015/lib/popover.module.js +0 -21
  1029. package/popover/esm2015/lib/target/popover-target.directive.js +0 -33
  1030. package/popover/esm2015/lib/target/popover-target.module.js +0 -21
  1031. package/popover/esm2015/lib/trigger/popover-trigger.directive.js +0 -116
  1032. package/popover/esm2015/lib/trigger/popover-trigger.model.js +0 -406
  1033. package/popover/esm2015/lib/trigger/popover-trigger.module.js +0 -25
  1034. package/popover/fesm2015/lucca-front-ng-popover.js +0 -925
  1035. package/popover/fesm2015/lucca-front-ng-popover.js.map +0 -1
  1036. package/popover/lucca-front-ng-popover.metadata.json +0 -1
  1037. package/popup/bundles/lucca-front-ng-popup.umd.js +0 -550
  1038. package/popup/bundles/lucca-front-ng-popup.umd.js.map +0 -1
  1039. package/popup/esm2015/lib/popup-ref.factory.js +0 -29
  1040. package/popup/esm2015/lib/popup-ref.model.js +0 -120
  1041. package/popup/esm2015/lib/popup.module.js +0 -24
  1042. package/popup/esm2015/lib/popup.service.js +0 -22
  1043. package/popup/fesm2015/lucca-front-ng-popup.js +0 -208
  1044. package/popup/fesm2015/lucca-front-ng-popup.js.map +0 -1
  1045. package/popup/lucca-front-ng-popup.metadata.json +0 -1
  1046. package/public-api.d.ts +0 -1
  1047. package/qualification/bundles/lucca-front-ng-qualification.umd.js +0 -501
  1048. package/qualification/bundles/lucca-front-ng-qualification.umd.js.map +0 -1
  1049. package/qualification/esm2015/lib/qualification.module.js +0 -15
  1050. package/qualification/esm2015/lib/select/input/qualification-select-input.component.js +0 -59
  1051. package/qualification/esm2015/lib/select/input/qualification-select-input.intl.js +0 -16
  1052. package/qualification/esm2015/lib/select/input/qualification-select-input.module.js +0 -37
  1053. package/qualification/esm2015/lib/select/qualification-select.module.js +0 -15
  1054. package/qualification/fesm2015/lucca-front-ng-qualification.js +0 -155
  1055. package/qualification/fesm2015/lucca-front-ng-qualification.js.map +0 -1
  1056. package/qualification/lucca-front-ng-qualification.metadata.json +0 -1
  1057. package/safe-content/bundles/lucca-front-ng-safe-content.umd.js +0 -59
  1058. package/safe-content/bundles/lucca-front-ng-safe-content.umd.js.map +0 -1
  1059. package/safe-content/esm2015/lib/safe-content.module.js +0 -14
  1060. package/safe-content/esm2015/lib/safe-content.pipe.js +0 -24
  1061. package/safe-content/fesm2015/lucca-front-ng-safe-content.js +0 -47
  1062. package/safe-content/fesm2015/lucca-front-ng-safe-content.js.map +0 -1
  1063. package/safe-content/lucca-front-ng-safe-content.metadata.json +0 -1
  1064. package/scroll/bundles/lucca-front-ngscroll.umd.js +0 -105
  1065. package/scroll/bundles/lucca-front-ngscroll.umd.js.map +0 -1
  1066. package/scroll/esm2015/lib/scroll.directive.js +0 -68
  1067. package/scroll/esm2015/lib/scroll.module.js +0 -16
  1068. package/scroll/esm2015/lucca-front-ngscroll.js +0 -5
  1069. package/scroll/fesm2015/lucca-front-ngscroll.js +0 -93
  1070. package/scroll/fesm2015/lucca-front-ngscroll.js.map +0 -1
  1071. package/scroll/lucca-front-ngscroll.d.ts +0 -4
  1072. package/scroll/lucca-front-ngscroll.metadata.json +0 -1
  1073. package/select/bundles/lucca-front-ng-select.umd.js +0 -806
  1074. package/select/bundles/lucca-front-ng-select.umd.js.map +0 -1
  1075. package/select/esm2015/lib/input/select-input.component.js +0 -188
  1076. package/select/esm2015/lib/input/select-input.model.js +0 -167
  1077. package/select/esm2015/lib/input/select-input.module.js +0 -21
  1078. package/select/esm2015/lib/select.module.js +0 -15
  1079. package/select/fesm2015/lucca-front-ng-select.js +0 -396
  1080. package/select/fesm2015/lucca-front-ng-select.js.map +0 -1
  1081. package/select/lucca-front-ng-select.metadata.json +0 -1
  1082. package/sidepanel/bundles/lucca-front-ng-sidepanel.umd.js +0 -560
  1083. package/sidepanel/bundles/lucca-front-ng-sidepanel.umd.js.map +0 -1
  1084. package/sidepanel/esm2015/lib/sidepanel-panel.component.js +0 -43
  1085. package/sidepanel/esm2015/lib/sidepanel-ref.factory.js +0 -53
  1086. package/sidepanel/esm2015/lib/sidepanel.intl.js +0 -16
  1087. package/sidepanel/esm2015/lib/sidepanel.module.js +0 -46
  1088. package/sidepanel/esm2015/lib/sidepanel.service.js +0 -18
  1089. package/sidepanel/fesm2015/lucca-front-ng-sidepanel.js +0 -201
  1090. package/sidepanel/fesm2015/lucca-front-ng-sidepanel.js.map +0 -1
  1091. package/sidepanel/lucca-front-ng-sidepanel.metadata.json +0 -1
  1092. package/tooltip/bundles/lucca-front-ng-tooltip.umd.js +0 -628
  1093. package/tooltip/bundles/lucca-front-ng-tooltip.umd.js.map +0 -1
  1094. package/tooltip/esm2015/lib/panel/tooltip-panel.component.js +0 -51
  1095. package/tooltip/esm2015/lib/panel/tooltip-panel.module.js +0 -24
  1096. package/tooltip/esm2015/lib/tooltip.module.js +0 -18
  1097. package/tooltip/esm2015/lib/trigger/tooltip-trigger.directive.js +0 -121
  1098. package/tooltip/esm2015/lib/trigger/tooltip-trigger.module.js +0 -19
  1099. package/tooltip/fesm2015/lucca-front-ng-tooltip.js +0 -250
  1100. package/tooltip/fesm2015/lucca-front-ng-tooltip.js.map +0 -1
  1101. package/tooltip/lucca-front-ng-tooltip.metadata.json +0 -1
  1102. package/user/bundles/lucca-front-ng-user.umd.js +0 -1330
  1103. package/user/bundles/lucca-front-ng-user.umd.js.map +0 -1
  1104. package/user/esm2015/lib/display/user-display.module.js +0 -14
  1105. package/user/esm2015/lib/display/user-display.pipe.js +0 -58
  1106. package/user/esm2015/lib/picture/user-picture.component.js +0 -70
  1107. package/user/esm2015/lib/picture/user-picture.module.js +0 -14
  1108. package/user/esm2015/lib/select/homonyms/user-homonyms.component.js +0 -46
  1109. package/user/esm2015/lib/select/homonyms/user-homonyms.module.js +0 -21
  1110. package/user/esm2015/lib/select/homonyms/user-homonyms.service.js +0 -47
  1111. package/user/esm2015/lib/select/input/user-select-input.component.js +0 -57
  1112. package/user/esm2015/lib/select/input/user-select-input.intl.js +0 -16
  1113. package/user/esm2015/lib/select/input/user-select-input.module.js +0 -43
  1114. package/user/esm2015/lib/select/me/me-option.directive.js +0 -68
  1115. package/user/esm2015/lib/select/me/me-option.module.js +0 -17
  1116. package/user/esm2015/lib/select/searcher/user-searcher.component.js +0 -135
  1117. package/user/esm2015/lib/select/searcher/user-searcher.intl.js +0 -16
  1118. package/user/esm2015/lib/select/searcher/user-searcher.module.js +0 -34
  1119. package/user/esm2015/lib/select/user-select.module.js +0 -24
  1120. package/user/esm2015/lib/service/user-v3.service.js +0 -48
  1121. package/user/esm2015/lib/tile/user-tile.component.js +0 -68
  1122. package/user/esm2015/lib/tile/user-tile.module.js +0 -15
  1123. package/user/esm2015/lib/user.module.js +0 -24
  1124. package/user/fesm2015/lucca-front-ng-user.js +0 -823
  1125. package/user/fesm2015/lucca-front-ng-user.js.map +0 -1
  1126. package/user/lucca-front-ng-user.metadata.json +0 -1
@@ -0,0 +1,50 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { LuOptionItemModule } from './item/index';
3
+ import { LuOptionPickerModule } from './picker/index';
4
+ import { LuOptionOperatorModule } from './operator/index';
5
+ import { LuOptionSelectorModule } from './selector/index';
6
+ import { LuOptionPlaceholderModule } from './placeholder/index';
7
+ import * as i0 from "@angular/core";
8
+ export class LuOptionModule {
9
+ }
10
+ LuOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ LuOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionModule, imports: [LuOptionItemModule,
12
+ LuOptionPickerModule,
13
+ LuOptionOperatorModule,
14
+ LuOptionSelectorModule,
15
+ LuOptionPlaceholderModule], exports: [LuOptionItemModule,
16
+ LuOptionPickerModule,
17
+ LuOptionOperatorModule,
18
+ LuOptionSelectorModule,
19
+ LuOptionPlaceholderModule] });
20
+ LuOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionModule, imports: [[
21
+ LuOptionItemModule,
22
+ LuOptionPickerModule,
23
+ LuOptionOperatorModule,
24
+ LuOptionSelectorModule,
25
+ LuOptionPlaceholderModule,
26
+ ], LuOptionItemModule,
27
+ LuOptionPickerModule,
28
+ LuOptionOperatorModule,
29
+ LuOptionSelectorModule,
30
+ LuOptionPlaceholderModule] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionModule, decorators: [{
32
+ type: NgModule,
33
+ args: [{
34
+ imports: [
35
+ LuOptionItemModule,
36
+ LuOptionPickerModule,
37
+ LuOptionOperatorModule,
38
+ LuOptionSelectorModule,
39
+ LuOptionPlaceholderModule,
40
+ ],
41
+ exports: [
42
+ LuOptionItemModule,
43
+ LuOptionPickerModule,
44
+ LuOptionOperatorModule,
45
+ LuOptionSelectorModule,
46
+ LuOptionPlaceholderModule,
47
+ ],
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL29wdGlvbi9zcmMvbGliL29wdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBa0JoRSxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLFlBZHpCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qix5QkFBeUIsYUFHekIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHlCQUF5Qjs0R0FHZCxjQUFjLFlBZmpCO1lBQ1Isa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtTQUN6QixFQUVBLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qix5QkFBeUI7MkZBR2QsY0FBYztrQkFoQjFCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFO3dCQUNSLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Isa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7cUJBQ3pCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTHVPcHRpb25JdGVtTW9kdWxlIH0gZnJvbSAnLi9pdGVtL2luZGV4JztcclxuaW1wb3J0IHsgTHVPcHRpb25QaWNrZXJNb2R1bGUgfSBmcm9tICcuL3BpY2tlci9pbmRleCc7XHJcbmltcG9ydCB7IEx1T3B0aW9uT3BlcmF0b3JNb2R1bGUgfSBmcm9tICcuL29wZXJhdG9yL2luZGV4JztcclxuaW1wb3J0IHsgTHVPcHRpb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4vc2VsZWN0b3IvaW5kZXgnO1xyXG5pbXBvcnQgeyBMdU9wdGlvblBsYWNlaG9sZGVyTW9kdWxlIH0gZnJvbSAnLi9wbGFjZWhvbGRlci9pbmRleCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtcclxuXHRcdEx1T3B0aW9uSXRlbU1vZHVsZSxcclxuXHRcdEx1T3B0aW9uUGlja2VyTW9kdWxlLFxyXG5cdFx0THVPcHRpb25PcGVyYXRvck1vZHVsZSxcclxuXHRcdEx1T3B0aW9uU2VsZWN0b3JNb2R1bGUsXHJcblx0XHRMdU9wdGlvblBsYWNlaG9sZGVyTW9kdWxlLFxyXG5cdF0sXHJcblx0ZXhwb3J0czogW1xyXG5cdFx0THVPcHRpb25JdGVtTW9kdWxlLFxyXG5cdFx0THVPcHRpb25QaWNrZXJNb2R1bGUsXHJcblx0XHRMdU9wdGlvbk9wZXJhdG9yTW9kdWxlLFxyXG5cdFx0THVPcHRpb25TZWxlY3Rvck1vZHVsZSxcclxuXHRcdEx1T3B0aW9uUGxhY2Vob2xkZXJNb2R1bGUsXHJcblx0XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEx1T3B0aW9uTW9kdWxlIHt9XHJcbiJdfQ==
@@ -0,0 +1,142 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, Directive, Inject, } from '@angular/core';
2
+ import { luTransformPopover } from '@lucca-front/ng/popover';
3
+ import { merge } from 'rxjs';
4
+ import { first, mapTo, startWith, shareReplay, mergeAll } from 'rxjs/operators';
5
+ import { ALuPickerPanel } from '@lucca-front/ng/picker';
6
+ import { ALuOptionOperator, } from '../operator/index';
7
+ import { ALuOnOpenSubscriber, ALuOnCloseSubscriber, ALuOnScrollBottomSubscriber, } from '@lucca-front/ng/core';
8
+ import { ALuOptionPickerComponent } from './option-picker.component';
9
+ import { ALuOptionSelector } from '../selector/index';
10
+ import { DOCUMENT } from '@angular/common';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common";
13
+ import * as i2 from "@lucca-front/ng/scroll";
14
+ import * as i3 from "@angular/cdk/a11y";
15
+ export class ALuOptionPickerAdvancedComponent extends ALuOptionPickerComponent {
16
+ constructor(_changeDetectorRef, document) {
17
+ super(_changeDetectorRef, document);
18
+ this._operators = [];
19
+ this._onOpenSubscribers = [];
20
+ this._onCloseSubscribers = [];
21
+ this._onScrollBottomSubscribers = [];
22
+ this._selectors = [];
23
+ }
24
+ set operatorsQL(ql) {
25
+ this._operatorsQL = ql;
26
+ }
27
+ set onOpenSubsQL(ql) {
28
+ this._onOpenSubscribers = ql.toArray();
29
+ }
30
+ set onCloseSubsQL(ql) {
31
+ this._onCloseSubscribers = ql.toArray();
32
+ }
33
+ set onScrollBottomSubsQL(ql) {
34
+ this._onScrollBottomSubscribers = ql.toArray();
35
+ }
36
+ set selectorsQL(ql) {
37
+ this._selectorsQL = ql;
38
+ }
39
+ onScrollBottom() {
40
+ this._onScrollBottomSubscribers.forEach(o => {
41
+ if (!o.onScrollBottom) {
42
+ return;
43
+ }
44
+ o.onScrollBottom();
45
+ });
46
+ }
47
+ onOpen() {
48
+ this._onOpenSubscribers.forEach(o => {
49
+ o.onOpen();
50
+ });
51
+ const operators = this._operators || [];
52
+ const lastOperator = operators[operators.length - 1];
53
+ if (lastOperator && lastOperator.outOptions$) {
54
+ this.loading$ = lastOperator.outOptions$.pipe(first(), mapTo(false), startWith(true), shareReplay());
55
+ }
56
+ super.onOpen();
57
+ }
58
+ onClose() {
59
+ this._onCloseSubscribers.forEach(o => {
60
+ o.onClose();
61
+ });
62
+ super.onClose();
63
+ }
64
+ setValue(value) {
65
+ super.setValue(value);
66
+ this._selectors.forEach(s => s.setValue(value));
67
+ }
68
+ initOperators() {
69
+ const operators = this._operatorsQL.toArray();
70
+ this._operators = operators;
71
+ let options$;
72
+ operators.forEach(operator => {
73
+ operator.inOptions$ = options$;
74
+ options$ = operator.outOptions$;
75
+ });
76
+ }
77
+ initSelectors() {
78
+ const selectors$ = this._selectorsQL.changes.pipe(startWith(this._selectorsQL.toArray()));
79
+ this._subs.add(selectors$.subscribe(selectors => {
80
+ this._selectors = selectors;
81
+ this._subs.add(merge(this._selectors.map(s => s.onSelectValue)).pipe(mergeAll()).subscribe(values => {
82
+ this._select(values);
83
+ }));
84
+ }));
85
+ }
86
+ ngAfterViewInit() {
87
+ super.ngAfterViewInit();
88
+ this.initOperators();
89
+ this.initSelectors();
90
+ }
91
+ }
92
+ ALuOptionPickerAdvancedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ALuOptionPickerAdvancedComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
93
+ ALuOptionPickerAdvancedComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ALuOptionPickerAdvancedComponent, queries: [{ propertyName: "operatorsQL", predicate: ALuOptionOperator, descendants: true }, { propertyName: "onOpenSubsQL", predicate: ALuOnOpenSubscriber, descendants: true }, { propertyName: "onCloseSubsQL", predicate: ALuOnCloseSubscriber, descendants: true }, { propertyName: "onScrollBottomSubsQL", predicate: ALuOnScrollBottomSubscriber, descendants: true }, { propertyName: "selectorsQL", predicate: ALuOptionSelector, descendants: true }], usesInheritance: true, ngImport: i0 });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ALuOptionPickerAdvancedComponent, decorators: [{
95
+ type: Directive
96
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
97
+ type: Inject,
98
+ args: [DOCUMENT]
99
+ }] }]; }, propDecorators: { operatorsQL: [{
100
+ type: ContentChildren,
101
+ args: [ALuOptionOperator, { descendants: true }]
102
+ }], onOpenSubsQL: [{
103
+ type: ContentChildren,
104
+ args: [ALuOnOpenSubscriber, { descendants: true }]
105
+ }], onCloseSubsQL: [{
106
+ type: ContentChildren,
107
+ args: [ALuOnCloseSubscriber, { descendants: true }]
108
+ }], onScrollBottomSubsQL: [{
109
+ type: ContentChildren,
110
+ args: [ALuOnScrollBottomSubscriber, { descendants: true }]
111
+ }], selectorsQL: [{
112
+ type: ContentChildren,
113
+ args: [ALuOptionSelector, { descendants: true }]
114
+ }] } });
115
+ /**
116
+ * advanced option picker panel
117
+ */
118
+ export class LuOptionPickerAdvancedComponent extends ALuOptionPickerAdvancedComponent {
119
+ constructor(_changeDetectorRef, document) {
120
+ super(_changeDetectorRef, document);
121
+ }
122
+ }
123
+ LuOptionPickerAdvancedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionPickerAdvancedComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
124
+ LuOptionPickerAdvancedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: LuOptionPickerAdvancedComponent, selector: "lu-option-picker-advanced", providers: [
125
+ {
126
+ provide: ALuPickerPanel,
127
+ useExisting: forwardRef(() => LuOptionPickerAdvancedComponent),
128
+ },
129
+ ], exportAs: ["LuOptionPickerAdvanced"], usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" role=\"dialog\" [ngClass]=\"panelClassesMap\" [class.mod-multiple]=\"multiple\"\r\n\t (click)=\"onClick()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" (mousedown)=\"onMouseDown($event)\">\r\n\t\t<div [class.is-loading]=\"loading$ | async\" class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [""], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.LuScrollDirective, selector: "[luScroll]", inputs: ["debounceTime"], outputs: ["onScroll", "onScrollTop", "onScrollBottom", "onScrollLeft", "onScrollRight"], exportAs: ["luScroll"] }, { type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionPickerAdvancedComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ selector: 'lu-option-picker-advanced', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], exportAs: 'LuOptionPickerAdvanced', providers: [
133
+ {
134
+ provide: ALuPickerPanel,
135
+ useExisting: forwardRef(() => LuOptionPickerAdvancedComponent),
136
+ },
137
+ ], template: "<ng-template>\r\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" role=\"dialog\" [ngClass]=\"panelClassesMap\" [class.mod-multiple]=\"multiple\"\r\n\t (click)=\"onClick()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" (mousedown)=\"onMouseDown($event)\">\r\n\t\t<div [class.is-loading]=\"loading$ | async\" class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [""] }]
138
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
139
+ type: Inject,
140
+ args: [DOCUMENT]
141
+ }] }]; } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXBpY2tlci1hZHZhbmNlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9vcHRpb24vc3JjL2xpYi9waWNrZXIvb3B0aW9uLXBpY2tlci1hZHZhbmNlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9vcHRpb24vc3JjL2xpYi9waWNrZXIvb3B0aW9uLXBpY2tlci1hZHZhbmNlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsVUFBVSxFQUdWLFNBQVMsRUFDVCxNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFTLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQ04saUJBQWlCLEdBRWpCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNOLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsMkJBQTJCLEdBSTNCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFHM0MsTUFBTSxPQUFnQixnQ0FDdEIsU0FBUSx3QkFBOEI7SUEwQnJDLFlBQ0Ms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dENvbXBvbmVudCxcclxuXHRDb250ZW50Q2hpbGRyZW4sXHJcblx0UXVlcnlMaXN0LFxyXG5cdGZvcndhcmRSZWYsXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHREaXJlY3RpdmUsXHJcblx0SW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsdVRyYW5zZm9ybVBvcG92ZXIgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvcG9wb3Zlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1lcmdlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0LCBtYXBUbywgc3RhcnRXaXRoLCBzaGFyZVJlcGxheSwgZGVsYXksIG1lcmdlQWxsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQUx1UGlja2VyUGFuZWwgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvcGlja2VyJztcclxuaW1wb3J0IHtcclxuXHRBTHVPcHRpb25PcGVyYXRvcixcclxuXHRJTHVPcHRpb25PcGVyYXRvcixcclxufSBmcm9tICcuLi9vcGVyYXRvci9pbmRleCc7XHJcbmltcG9ydCB7XHJcblx0QUx1T25PcGVuU3Vic2NyaWJlcixcclxuXHRBTHVPbkNsb3NlU3Vic2NyaWJlcixcclxuXHRBTHVPblNjcm9sbEJvdHRvbVN1YnNjcmliZXIsXHJcblx0SUx1T25PcGVuU3Vic2NyaWJlcixcclxuXHRJTHVPbkNsb3NlU3Vic2NyaWJlcixcclxuXHRJTHVPblNjcm9sbEJvdHRvbVN1YnNjcmliZXIsXHJcbn0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xyXG5pbXBvcnQgeyBBTHVPcHRpb25QaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbi1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQUx1T3B0aW9uU2VsZWN0b3IsIElMdU9wdGlvblNlbGVjdG9yIH0gZnJvbSAnLi4vc2VsZWN0b3IvaW5kZXgnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdU9wdGlvblBpY2tlckFkdmFuY2VkQ29tcG9uZW50PFQsIE8gZXh0ZW5kcyBpbXBvcnQoJy4uL2l0ZW0vb3B0aW9uLWl0ZW0ubW9kZWwnKS5JTHVPcHRpb25JdGVtPFQ+ID0gaW1wb3J0KCcuLi9pdGVtL29wdGlvbi1pdGVtLm1vZGVsJykuSUx1T3B0aW9uSXRlbTxUPj5cclxuZXh0ZW5kcyBBTHVPcHRpb25QaWNrZXJDb21wb25lbnQ8VCwgTz4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHRsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcblx0cHJvdGVjdGVkIF9vcGVyYXRvcnMgPSBbXTtcclxuXHRwcm90ZWN0ZWQgX29wZXJhdG9yc1FMOiBRdWVyeUxpc3Q8SUx1T3B0aW9uT3BlcmF0b3I8VD4+O1xyXG5cdEBDb250ZW50Q2hpbGRyZW4oQUx1T3B0aW9uT3BlcmF0b3IsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgc2V0IG9wZXJhdG9yc1FMKHFsOiBRdWVyeUxpc3Q8SUx1T3B0aW9uT3BlcmF0b3I8VD4+KSB7XHJcblx0XHR0aGlzLl9vcGVyYXRvcnNRTCA9IHFsO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX29uT3BlblN1YnNjcmliZXJzID0gW107XHJcblx0QENvbnRlbnRDaGlsZHJlbihBTHVPbk9wZW5TdWJzY3JpYmVyLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHNldCBvbk9wZW5TdWJzUUwocWw6IFF1ZXJ5TGlzdDxJTHVPbk9wZW5TdWJzY3JpYmVyPikge1xyXG5cdFx0dGhpcy5fb25PcGVuU3Vic2NyaWJlcnMgPSBxbC50b0FycmF5KCk7XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfb25DbG9zZVN1YnNjcmliZXJzID0gW107XHJcblx0QENvbnRlbnRDaGlsZHJlbihBTHVPbkNsb3NlU3Vic2NyaWJlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBzZXQgb25DbG9zZVN1YnNRTChxbDogUXVlcnlMaXN0PElMdU9uQ2xvc2VTdWJzY3JpYmVyPikge1xyXG5cdFx0dGhpcy5fb25DbG9zZVN1YnNjcmliZXJzID0gcWwudG9BcnJheSgpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX29uU2Nyb2xsQm90dG9tU3Vic2NyaWJlcnMgPSBbXTtcclxuXHRAQ29udGVudENoaWxkcmVuKEFMdU9uU2Nyb2xsQm90dG9tU3Vic2NyaWJlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBzZXQgb25TY3JvbGxCb3R0b21TdWJzUUwocWw6IFF1ZXJ5TGlzdDxJTHVPblNjcm9sbEJvdHRvbVN1YnNjcmliZXI+KSB7XHJcblx0XHR0aGlzLl9vblNjcm9sbEJvdHRvbVN1YnNjcmliZXJzID0gcWwudG9BcnJheSgpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX3NlbGVjdG9yczogSUx1T3B0aW9uU2VsZWN0b3I8VD5bXSA9IFtdO1xyXG5cdHByb3RlY3RlZCBfc2VsZWN0b3JzUUw6IFF1ZXJ5TGlzdDxJTHVPcHRpb25TZWxlY3RvcjxUPj47XHJcblx0QENvbnRlbnRDaGlsZHJlbihBTHVPcHRpb25TZWxlY3Rvciwge2Rlc2NlbmRhbnRzOiB0cnVlfSkgc2V0IHNlbGVjdG9yc1FMKHFsOiBRdWVyeUxpc3Q8SUx1T3B0aW9uU2VsZWN0b3I8VD4+KSB7XHJcblx0XHR0aGlzLl9zZWxlY3RvcnNRTCA9IHFsO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG5cdFx0QEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG5cdCkge1xyXG5cdFx0c3VwZXIoX2NoYW5nZURldGVjdG9yUmVmLCBkb2N1bWVudCk7XHJcblx0fVxyXG5cdG9uU2Nyb2xsQm90dG9tKCkge1xyXG5cdFx0dGhpcy5fb25TY3JvbGxCb3R0b21TdWJzY3JpYmVycy5mb3JFYWNoKG8gPT4ge1xyXG5cdFx0XHRpZiAoIW8ub25TY3JvbGxCb3R0b20pIHsgcmV0dXJuOyB9XHJcblx0XHRcdG8ub25TY3JvbGxCb3R0b20oKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHRvdmVycmlkZSBvbk9wZW4oKSB7XHJcblx0XHR0aGlzLl9vbk9wZW5TdWJzY3JpYmVycy5mb3JFYWNoKG8gPT4ge1xyXG5cdFx0XHRvLm9uT3BlbigpO1xyXG5cdFx0fSk7XHJcblx0XHRjb25zdCBvcGVyYXRvcnMgPSB0aGlzLl9vcGVyYXRvcnMgfHwgW107XHJcblx0XHRjb25zdCBsYXN0T3BlcmF0b3IgPSBvcGVyYXRvcnNbb3BlcmF0b3JzLmxlbmd0aCAtIDFdO1xyXG5cdFx0aWYgKGxhc3RPcGVyYXRvciAmJiBsYXN0T3BlcmF0b3Iub3V0T3B0aW9ucyQpIHtcclxuXHRcdFx0dGhpcy5sb2FkaW5nJCA9IGxhc3RPcGVyYXRvci5vdXRPcHRpb25zJC5waXBlKFxyXG5cdFx0XHRcdGZpcnN0KCksXHJcblx0XHRcdFx0bWFwVG8oZmFsc2UpLFxyXG5cdFx0XHRcdHN0YXJ0V2l0aCh0cnVlKSxcclxuXHRcdFx0XHRzaGFyZVJlcGxheSgpLFxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdFx0c3VwZXIub25PcGVuKCk7XHJcblx0fVxyXG5cdG92ZXJyaWRlIG9uQ2xvc2UoKSB7XHJcblx0XHR0aGlzLl9vbkNsb3NlU3Vic2NyaWJlcnMuZm9yRWFjaChvID0+IHtcclxuXHRcdFx0by5vbkNsb3NlKCk7XHJcblx0XHR9KTtcclxuXHRcdHN1cGVyLm9uQ2xvc2UoKTtcclxuXHR9XHJcblx0b3ZlcnJpZGUgc2V0VmFsdWUodmFsdWU6IFQgfCBUW10pIHtcclxuXHRcdHN1cGVyLnNldFZhbHVlKHZhbHVlKTtcclxuXHRcdHRoaXMuX3NlbGVjdG9ycy5mb3JFYWNoKHMgPT4gcy5zZXRWYWx1ZSh2YWx1ZSkpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgaW5pdE9wZXJhdG9ycygpIHtcclxuXHRcdGNvbnN0IG9wZXJhdG9ycyA9IHRoaXMuX29wZXJhdG9yc1FMLnRvQXJyYXkoKTtcclxuXHRcdHRoaXMuX29wZXJhdG9ycyA9IG9wZXJhdG9ycztcclxuXHRcdGxldCBvcHRpb25zJDogT2JzZXJ2YWJsZTxUW10+O1xyXG5cdFx0b3BlcmF0b3JzLmZvckVhY2gob3BlcmF0b3IgPT4ge1xyXG5cdFx0XHRvcGVyYXRvci5pbk9wdGlvbnMkID0gb3B0aW9ucyQ7XHJcblx0XHRcdG9wdGlvbnMkID0gb3BlcmF0b3Iub3V0T3B0aW9ucyQ7XHJcblx0XHR9KTtcclxuXHR9XHJcblx0cHJvdGVjdGVkIGluaXRTZWxlY3RvcnMoKSB7XHJcblx0XHRjb25zdCBzZWxlY3RvcnMkOiBPYnNlcnZhYmxlPElMdU9wdGlvblNlbGVjdG9yPFQ+W10+ID0gdGhpcy5fc2VsZWN0b3JzUUwuY2hhbmdlcy5waXBlKFxyXG5cdFx0XHRzdGFydFdpdGgodGhpcy5fc2VsZWN0b3JzUUwudG9BcnJheSgpKSxcclxuXHRcdCk7XHJcblx0XHR0aGlzLl9zdWJzLmFkZChcclxuXHRcdFx0c2VsZWN0b3JzJC5zdWJzY3JpYmUoc2VsZWN0b3JzID0+IHtcclxuXHRcdFx0XHR0aGlzLl9zZWxlY3RvcnMgPSBzZWxlY3RvcnM7XHJcblx0XHRcdFx0dGhpcy5fc3Vicy5hZGQoXHJcblx0XHRcdFx0XHRtZXJnZShcclxuXHRcdFx0XHRcdFx0dGhpcy5fc2VsZWN0b3JzLm1hcChzID0+IHMub25TZWxlY3RWYWx1ZSksXHJcblx0XHRcdFx0XHQpLnBpcGUoXHJcblx0XHRcdFx0XHRcdG1lcmdlQWxsKCksXHJcblx0XHRcdFx0XHQpLnN1YnNjcmliZSh2YWx1ZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl9zZWxlY3QodmFsdWVzKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHRvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblx0XHRzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuXHRcdHRoaXMuaW5pdE9wZXJhdG9ycygpO1xyXG5cdFx0dGhpcy5pbml0U2VsZWN0b3JzKCk7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuKiBhZHZhbmNlZCBvcHRpb24gcGlja2VyIHBhbmVsXHJcbiovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbHUtb3B0aW9uLXBpY2tlci1hZHZhbmNlZCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL29wdGlvbi1waWNrZXItYWR2YW5jZWQuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL29wdGlvbi1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRhbmltYXRpb25zOiBbbHVUcmFuc2Zvcm1Qb3BvdmVyXSxcclxuXHRleHBvcnRBczogJ0x1T3B0aW9uUGlja2VyQWR2YW5jZWQnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBBTHVQaWNrZXJQYW5lbCxcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTHVPcHRpb25QaWNrZXJBZHZhbmNlZENvbXBvbmVudCksXHJcblx0XHR9LFxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEx1T3B0aW9uUGlja2VyQWR2YW5jZWRDb21wb25lbnQ8VCA9IGFueSwgTyBleHRlbmRzIGltcG9ydCgnLi4vaXRlbS9vcHRpb24taXRlbS5tb2RlbCcpLklMdU9wdGlvbkl0ZW08VD4gPSBpbXBvcnQoJy4uL2l0ZW0vb3B0aW9uLWl0ZW0ubW9kZWwnKS5JTHVPcHRpb25JdGVtPFQ+PiBleHRlbmRzIEFMdU9wdGlvblBpY2tlckFkdmFuY2VkQ29tcG9uZW50PFQsIE8+IHtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogRG9jdW1lbnQsXHJcblx0KSB7XHJcblx0XHRzdXBlcihfY2hhbmdlRGV0ZWN0b3JSZWYsIGRvY3VtZW50KTtcclxuXHR9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJsdS1waWNrZXItcGFuZWwgbHUtb3B0aW9uLXBpY2tlci1wYW5lbFwiIHJvbGU9XCJkaWFsb2dcIiBbbmdDbGFzc109XCJwYW5lbENsYXNzZXNNYXBcIiBbY2xhc3MubW9kLW11bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuXHQgKGNsaWNrKT1cIm9uQ2xpY2soKVwiIChtb3VzZW92ZXIpPVwib25Nb3VzZU92ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCIgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCI+XHJcblx0XHQ8ZGl2IFtjbGFzcy5pcy1sb2FkaW5nXT1cImxvYWRpbmckIHwgYXN5bmNcIiBjbGFzcz1cImx1LXBpY2tlci1jb250ZW50XCIgW25nQ2xhc3NdPVwiY29udGVudENsYXNzZXNNYXBcIiBbY2RrVHJhcEZvY3VzXT1cInRyYXBGb2N1c1wiIGx1U2Nyb2xsIChvblNjcm9sbEJvdHRvbSk9XCJvblNjcm9sbEJvdHRvbSgpXCI+XHJcblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHRcdFx0PGRpdiAqbmdJZj1cImxvYWRpbmckIHwgYXN5bmNcIiBjbGFzcz1cImxvYWRpbmcgbHUtcGlja2VyLWxvYWRpbmdcIj48L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,289 @@
1
+ import { DOWN_ARROW, ENTER, UP_ARROW } from '@angular/cdk/keycodes';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, ContentChildren, Directive, EventEmitter, forwardRef, Inject, Input, Output, TemplateRef, ViewChild } from '@angular/core';
4
+ import { ALuPickerPanel } from '@lucca-front/ng/picker';
5
+ import { luTransformPopover } from '@lucca-front/ng/popover';
6
+ import { merge, of } from 'rxjs';
7
+ import { delay, map, share } from 'rxjs/operators';
8
+ import { ALuOptionItem } from '../item/option-item.model';
9
+ import { ALuOptionPicker } from './option-picker.model';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@angular/cdk/a11y";
13
+ export class ALuOptionPickerComponent extends ALuOptionPicker {
14
+ constructor(_changeDetectorRef, document) {
15
+ super();
16
+ this._changeDetectorRef = _changeDetectorRef;
17
+ this.document = document;
18
+ this.close = new EventEmitter();
19
+ this.open = new EventEmitter();
20
+ this.hovered = new EventEmitter();
21
+ this.onSelectValue = new EventEmitter();
22
+ this._defaultOverlayPaneClasses = ['mod-optionPicker'];
23
+ this._options = [];
24
+ this._highlightIndex = -1;
25
+ this._isOptionItemsInitialized = false;
26
+ this.overlayPaneClass = this._defaultOverlayPaneClasses;
27
+ }
28
+ /**
29
+ * This method takes classes set on the host lu-popover element and applies them on the
30
+ * popover template that displays in the overlay container. Otherwise, it's difficult
31
+ * to style the containing popover from outside the component.
32
+ * @param classes list of class names
33
+ */
34
+ set inputPanelClasses(classes) {
35
+ this.panelClasses = classes;
36
+ }
37
+ /**
38
+ * This method takes classes set on the host lu-popover element and applies them on the
39
+ * popover template that displays in the overlay container. Otherwise, it's difficult
40
+ * to style the containing popover from outside the component.
41
+ * @param classes list of class names
42
+ */
43
+ set inputContentClasses(classes) {
44
+ this.contentClasses = classes;
45
+ }
46
+ /**
47
+ * This method take a function that compare options from feeder and options from form value.
48
+ * By default, compare JSON values.
49
+ */
50
+ set inputOptionComparer(comparer) {
51
+ this.optionComparer = comparer;
52
+ }
53
+ set optionsQL(ql) {
54
+ this._optionsQL = ql;
55
+ }
56
+ _emitSelectValue(val) {
57
+ this.onSelectValue.emit(val);
58
+ }
59
+ ngOnDestroy() {
60
+ super.destroy();
61
+ }
62
+ _emitOpenEvent() {
63
+ this.open.emit();
64
+ }
65
+ _emitCloseEvent() {
66
+ this.close.emit();
67
+ }
68
+ _emitHoveredEvent(h) {
69
+ this.hovered.emit(h);
70
+ }
71
+ onOpen() {
72
+ super.onOpen();
73
+ this.highlightIndex = 0;
74
+ // this._initObserver();
75
+ this._applySelected();
76
+ }
77
+ set vcTemplateRef(tr) {
78
+ this.templateRef = tr;
79
+ }
80
+ // keydown
81
+ _handleKeydown(event) {
82
+ super._handleKeydown(event);
83
+ switch (event.keyCode) {
84
+ case ENTER:
85
+ this._selectHighlighted();
86
+ event.preventDefault();
87
+ event.stopPropagation();
88
+ break;
89
+ case UP_ARROW:
90
+ this._decrHighlight();
91
+ event.preventDefault();
92
+ event.stopPropagation();
93
+ break;
94
+ case DOWN_ARROW:
95
+ this._incrHighlight();
96
+ event.preventDefault();
97
+ event.stopPropagation();
98
+ break;
99
+ }
100
+ }
101
+ get highlightIndex() { return this._highlightIndex; }
102
+ set highlightIndex(i) {
103
+ this._highlightIndex = i;
104
+ this._applyHighlight(true);
105
+ }
106
+ _initHighlight() {
107
+ this._subs.add(this._options$.subscribe(options => {
108
+ const optionCount = options.length;
109
+ const newHighlight = Math.max(Math.min(this.highlightIndex, optionCount - 1), -1);
110
+ if (newHighlight !== this.highlightIndex) {
111
+ this.highlightIndex = newHighlight;
112
+ }
113
+ }));
114
+ setTimeout(() => {
115
+ this.highlightIndex = -1;
116
+ }, 1);
117
+ }
118
+ _incrHighlight() {
119
+ const optionCount = this._options.length;
120
+ this.highlightIndex = Math.max(Math.min(this.highlightIndex + 1, optionCount - 1), -1);
121
+ }
122
+ _decrHighlight() {
123
+ this.highlightIndex = Math.max(this.highlightIndex - 1, -1);
124
+ }
125
+ _applyHighlight(reScroll = false) {
126
+ if (!this.isOpen) {
127
+ return;
128
+ }
129
+ // const highlightClass = 'is-highlighted';
130
+ const options = this._options;
131
+ // remove `is-highlighted` class from all other options
132
+ options.forEach(option => option.highlighted = false);
133
+ // apply `is-highlighted` to current highlight
134
+ const highlightedOption = options[this.highlightIndex];
135
+ if (!!highlightedOption) {
136
+ highlightedOption.highlighted = true;
137
+ // scroll to let the highlighted option visible
138
+ if (reScroll) {
139
+ setTimeout(() => {
140
+ this._scrollToHighlight(highlightedOption.element.nativeElement);
141
+ }, 1);
142
+ }
143
+ }
144
+ this._changeDetectorRef.markForCheck();
145
+ }
146
+ _scrollToHighlight(targetElt) {
147
+ if (!targetElt) {
148
+ return;
149
+ }
150
+ const contentElt = this.document.querySelector('.lu-picker-content');
151
+ if (!contentElt) {
152
+ return;
153
+ }
154
+ const headerElt = this.document.querySelector('.lu-picker-content .lu-picker-header');
155
+ const headerHeight = headerElt ? headerElt.offsetHeight : 0;
156
+ const footerElt = this.document.querySelector('.lu-picker-content .lu-picker-footer');
157
+ const footerHeight = footerElt ? footerElt.offsetHeight : 0;
158
+ // highlighted option is too high
159
+ if (contentElt.scrollTop + headerHeight > targetElt.offsetTop) {
160
+ contentElt.scrollTop = targetElt.offsetTop - headerHeight;
161
+ return;
162
+ }
163
+ // highlight option is too low
164
+ const offsetHeight = contentElt.offsetHeight;
165
+ if (contentElt.scrollTop + offsetHeight - footerHeight < targetElt.offsetTop + targetElt.offsetHeight) {
166
+ contentElt.scrollTop = targetElt.offsetTop + targetElt.offsetHeight - offsetHeight + footerHeight;
167
+ return;
168
+ }
169
+ }
170
+ _selectHighlighted() {
171
+ const options = this._options ? this._options : [];
172
+ const highlightedOption = options[this.highlightIndex];
173
+ if (!!highlightedOption) {
174
+ this._toggle(highlightedOption);
175
+ }
176
+ }
177
+ _initSelected() {
178
+ this._subs.add(this._options$.subscribe(() => {
179
+ this._applySelected();
180
+ }));
181
+ }
182
+ _applySelected() {
183
+ if (!this._options) {
184
+ return;
185
+ }
186
+ // const selectedClass = 'is-selected';
187
+ const options = this._options;
188
+ // remove `is-selected` class from all other options
189
+ options.forEach(option => option.selected = false);
190
+ // add `is-selected` to all selected indexes
191
+ const selectedIndexes = [];
192
+ if (!this.multiple) {
193
+ const selectedIndex = this._options.findIndex(o => this.optionComparer(o.value, this._value));
194
+ if (selectedIndex !== -1) {
195
+ selectedIndexes.push(selectedIndex);
196
+ }
197
+ if (selectedIndex !== -1 && this.highlightIndex === -1) {
198
+ this.highlightIndex = selectedIndex;
199
+ }
200
+ }
201
+ else {
202
+ const values = this._value || [];
203
+ const matchingIndexes = this._options.map(o => values.some(v => this.optionComparer(o.value, v))).map((f, i) => f ? i : null)
204
+ .filter(i => i !== null);
205
+ selectedIndexes.push(...matchingIndexes);
206
+ // selectedIndexes.push(
207
+ // ...values
208
+ // .map(v => this._options.findIndex(o => this.optionComparer(o.value, v)))
209
+ // .filter(i => i !== -1)
210
+ // );
211
+ }
212
+ selectedIndexes.forEach(i => {
213
+ const option = options[i];
214
+ if (!!option) {
215
+ option.selected = true;
216
+ }
217
+ });
218
+ }
219
+ initItems() {
220
+ const items$ = merge(of(this._optionsQL), this._optionsQL.changes)
221
+ .pipe(map(q => q.toArray()), delay(0), share());
222
+ items$.subscribe(o => this._options = o || []);
223
+ this._options$ = items$;
224
+ this._initHighlight();
225
+ this._initSelected();
226
+ }
227
+ ngAfterViewInit() {
228
+ this.initItems();
229
+ }
230
+ }
231
+ ALuOptionPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ALuOptionPickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
232
+ ALuOptionPickerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ALuOptionPickerComponent, inputs: { inputPanelClasses: ["panel-classes", "inputPanelClasses"], inputContentClasses: ["content-classes", "inputContentClasses"], inputOptionComparer: ["option-comparer", "inputOptionComparer"] }, outputs: { close: "close", open: "open", hovered: "hovered", onSelectValue: "onSelectValue" }, queries: [{ propertyName: "optionsQL", predicate: ALuOptionItem, descendants: true }], viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ALuOptionPickerComponent, decorators: [{
234
+ type: Directive
235
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
236
+ type: Inject,
237
+ args: [DOCUMENT]
238
+ }] }]; }, propDecorators: { inputPanelClasses: [{
239
+ type: Input,
240
+ args: ['panel-classes']
241
+ }], inputContentClasses: [{
242
+ type: Input,
243
+ args: ['content-classes']
244
+ }], inputOptionComparer: [{
245
+ type: Input,
246
+ args: ['option-comparer']
247
+ }], close: [{
248
+ type: Output
249
+ }], open: [{
250
+ type: Output
251
+ }], hovered: [{
252
+ type: Output
253
+ }], onSelectValue: [{
254
+ type: Output
255
+ }], optionsQL: [{
256
+ type: ContentChildren,
257
+ args: [ALuOptionItem, { descendants: true }]
258
+ }], vcTemplateRef: [{
259
+ type: ViewChild,
260
+ args: [TemplateRef, { static: true }]
261
+ }] } });
262
+ /**
263
+ * basic option picker panel
264
+ */
265
+ export class LuOptionPickerComponent extends ALuOptionPickerComponent {
266
+ constructor(_changeDetectorRef, document) {
267
+ super(_changeDetectorRef, document);
268
+ }
269
+ }
270
+ LuOptionPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionPickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
271
+ LuOptionPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: LuOptionPickerComponent, selector: "lu-option-picker", providers: [
272
+ {
273
+ provide: ALuPickerPanel,
274
+ useExisting: forwardRef(() => LuOptionPickerComponent),
275
+ },
276
+ ], exportAs: ["LuOptionPicker"], usesInheritance: true, ngImport: i0, template: "<ng-template>\r\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" role=\"dialog\" [ngClass]=\"panelClassesMap\" [class.mod-multiple]=\"multiple\"\r\n\t(click)=\"onClick()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" (mousedown)=\"onMouseDown($event)\">\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [""], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush });
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: LuOptionPickerComponent, decorators: [{
278
+ type: Component,
279
+ args: [{ selector: 'lu-option-picker', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], exportAs: 'LuOptionPicker', providers: [
280
+ {
281
+ provide: ALuPickerPanel,
282
+ useExisting: forwardRef(() => LuOptionPickerComponent),
283
+ },
284
+ ], template: "<ng-template>\r\n\t<div class=\"lu-picker-panel lu-option-picker-panel\" role=\"dialog\" [ngClass]=\"panelClassesMap\" [class.mod-multiple]=\"multiple\"\r\n\t(click)=\"onClick()\" (mouseover)=\"onMouseOver()\" (mouseleave)=\"onMouseLeave()\" (mousedown)=\"onMouseDown($event)\">\r\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\r\n\t\t\t<ng-content></ng-content>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [""] }]
285
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
286
+ type: Inject,
287
+ args: [DOCUMENT]
288
+ }] }]; } });
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9vcHRpb24vc3JjL2xpYi9waWNrZXIvb3B0aW9uLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9vcHRpb24vc3JjL2xpYi9waWNrZXIvb3B0aW9uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNTLHVCQUF1QixFQUFxQixTQUFTLEVBQ3BFLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBYSxXQUFXLEVBQUUsU0FBUyxFQUN6SCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFHaEcsTUFBTSxPQUFnQix3QkFDckIsU0FBUSxlQUFxQjtJQStDN0IsWUFDVyxrQkFBcUMsRUFDbkIsUUFBa0I7UUFFOUMsS0FBSyxFQUFFLENBQUM7UUFIRSx1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U0FBUzsrQkFDQyxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLGtCQUFrQixDQUFDLFlBQ3RCLGdCQUFnQixhQUNmO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzt5QkFDdEQ7cUJBQ0Q7MEZBSzRCLFFBQVE7MEJBQW5DLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPV05fQVJST1csIEVOVEVSLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuXHRBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCxcclxuXHRDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFMdVBpY2tlclBhbmVsIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3BpY2tlcic7XHJcbmltcG9ydCB7IGx1VHJhbnNmb3JtUG9wb3ZlciB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBTHVPcHRpb25JdGVtIH0gZnJvbSAnLi4vaXRlbS9vcHRpb24taXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IEFMdU9wdGlvblBpY2tlciwgSUx1T3B0aW9uUGlja2VyUGFuZWwsIEx1T3B0aW9uQ29tcGFyZXIgfSBmcm9tICcuL29wdGlvbi1waWNrZXIubW9kZWwnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBTHVPcHRpb25QaWNrZXJDb21wb25lbnQ8VCwgTyBleHRlbmRzIGltcG9ydCgnLi4vaXRlbS9vcHRpb24taXRlbS5tb2RlbCcpLklMdU9wdGlvbkl0ZW08VD4gPSBpbXBvcnQoJy4uL2l0ZW0vb3B0aW9uLWl0ZW0ubW9kZWwnKS5JTHVPcHRpb25JdGVtPFQ+PlxyXG5cdGV4dGVuZHMgQUx1T3B0aW9uUGlja2VyPFQsIE8+XHJcblx0aW1wbGVtZW50cyBJTHVPcHRpb25QaWNrZXJQYW5lbDxUPiwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCB0YWtlcyBjbGFzc2VzIHNldCBvbiB0aGUgaG9zdCBsdS1wb3BvdmVyIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSBvbiB0aGVcclxuXHQgKiBwb3BvdmVyIHRlbXBsYXRlIHRoYXQgZGlzcGxheXMgaW4gdGhlIG92ZXJsYXkgY29udGFpbmVyLiAgT3RoZXJ3aXNlLCBpdCdzIGRpZmZpY3VsdFxyXG5cdCAqIHRvIHN0eWxlIHRoZSBjb250YWluaW5nIHBvcG92ZXIgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnQuXHJcblx0ICogQHBhcmFtIGNsYXNzZXMgbGlzdCBvZiBjbGFzcyBuYW1lc1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgncGFuZWwtY2xhc3NlcycpXHJcblx0c2V0IGlucHV0UGFuZWxDbGFzc2VzKGNsYXNzZXM6IHN0cmluZykge1xyXG5cdFx0dGhpcy5wYW5lbENsYXNzZXMgPSBjbGFzc2VzO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCB0YWtlcyBjbGFzc2VzIHNldCBvbiB0aGUgaG9zdCBsdS1wb3BvdmVyIGVsZW1lbnQgYW5kIGFwcGxpZXMgdGhlbSBvbiB0aGVcclxuXHQgKiBwb3BvdmVyIHRlbXBsYXRlIHRoYXQgZGlzcGxheXMgaW4gdGhlIG92ZXJsYXkgY29udGFpbmVyLiBPdGhlcndpc2UsIGl0J3MgZGlmZmljdWx0XHJcblx0ICogdG8gc3R5bGUgdGhlIGNvbnRhaW5pbmcgcG9wb3ZlciBmcm9tIG91dHNpZGUgdGhlIGNvbXBvbmVudC5cclxuXHQgKiBAcGFyYW0gY2xhc3NlcyBsaXN0IG9mIGNsYXNzIG5hbWVzXHJcblx0ICovXHJcblx0QElucHV0KCdjb250ZW50LWNsYXNzZXMnKVxyXG5cdHNldCBpbnB1dENvbnRlbnRDbGFzc2VzKGNsYXNzZXM6IHN0cmluZykge1xyXG5cdFx0dGhpcy5jb250ZW50Q2xhc3NlcyA9IGNsYXNzZXM7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUaGlzIG1ldGhvZCB0YWtlIGEgZnVuY3Rpb24gdGhhdCBjb21wYXJlIG9wdGlvbnMgZnJvbSBmZWVkZXIgYW5kIG9wdGlvbnMgZnJvbSBmb3JtIHZhbHVlLlxyXG5cdCAqIEJ5IGRlZmF1bHQsIGNvbXBhcmUgSlNPTiB2YWx1ZXMuXHJcblx0ICovXHJcblx0QElucHV0KCdvcHRpb24tY29tcGFyZXInKVxyXG5cdHNldCBpbnB1dE9wdGlvbkNvbXBhcmVyKGNvbXBhcmVyOiBMdU9wdGlvbkNvbXBhcmVyPFQ+KSB7XHJcblx0XHR0aGlzLm9wdGlvbkNvbXBhcmVyID0gY29tcGFyZXI7XHJcblx0fVxyXG5cclxuXHJcblx0QE91dHB1dCgpIG92ZXJyaWRlIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cdEBPdXRwdXQoKSBvdmVycmlkZSBvcGVuID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cdEBPdXRwdXQoKSBvdmVycmlkZSBob3ZlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cdEBPdXRwdXQoKSBvdmVycmlkZSBvblNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2lzT3B0aW9uSXRlbXNJbml0aWFsaXplZDogYm9vbGVhbjtcclxuXHRwcm90ZWN0ZWQgX2RlZmF1bHRPdmVybGF5UGFuZUNsYXNzZXMgPSBbJ21vZC1vcHRpb25QaWNrZXInXTtcclxuXHJcblx0cHJvdGVjdGVkIF9vcHRpb25zOiBPW10gPSBbXTtcclxuXHRwcm90ZWN0ZWQgX29wdGlvbnNRTDogUXVlcnlMaXN0PE8+O1xyXG5cdEBDb250ZW50Q2hpbGRyZW4oQUx1T3B0aW9uSXRlbSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBzZXQgb3B0aW9uc1FMKHFsOiBRdWVyeUxpc3Q8Tz4pIHtcclxuXHRcdHRoaXMuX29wdGlvbnNRTCA9IHFsO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIHByb3RlY3RlZCBkb2N1bWVudDogRG9jdW1lbnQsXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5faXNPcHRpb25JdGVtc0luaXRpYWxpemVkID0gZmFsc2U7XHJcblx0XHR0aGlzLm92ZXJsYXlQYW5lQ2xhc3MgPSB0aGlzLl9kZWZhdWx0T3ZlcmxheVBhbmVDbGFzc2VzO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9lbWl0U2VsZWN0VmFsdWUodmFsOiBUKSB7XHJcblx0XHR0aGlzLm9uU2VsZWN0VmFsdWUuZW1pdCh2YWwpO1xyXG5cdH1cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHN1cGVyLmRlc3Ryb3koKTtcclxuXHR9XHJcblx0X2VtaXRPcGVuRXZlbnQoKTogdm9pZCB7XHJcblx0XHR0aGlzLm9wZW4uZW1pdCgpO1xyXG5cdH1cclxuXHRfZW1pdENsb3NlRXZlbnQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmNsb3NlLmVtaXQoKTtcclxuXHR9XHJcblx0X2VtaXRIb3ZlcmVkRXZlbnQoaCk6IHZvaWQge1xyXG5cdFx0dGhpcy5ob3ZlcmVkLmVtaXQoaCk7XHJcblx0fVxyXG5cdG92ZXJyaWRlIG9uT3BlbigpIHtcclxuXHRcdHN1cGVyLm9uT3BlbigpO1xyXG5cdFx0dGhpcy5oaWdobGlnaHRJbmRleCA9IDA7XHJcblx0XHQvLyB0aGlzLl9pbml0T2JzZXJ2ZXIoKTtcclxuXHRcdHRoaXMuX2FwcGx5U2VsZWN0ZWQoKTtcclxuXHR9XHJcblx0QFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRzZXQgdmNUZW1wbGF0ZVJlZih0cjogVGVtcGxhdGVSZWY8YW55Pikge1xyXG5cdFx0dGhpcy50ZW1wbGF0ZVJlZiA9IHRyO1xyXG5cdH1cclxuXHJcblx0Ly8ga2V5ZG93blxyXG5cdG92ZXJyaWRlIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcblx0XHRzdXBlci5faGFuZGxlS2V5ZG93bihldmVudCk7XHJcblx0XHRzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcclxuXHRcdFx0Y2FzZSBFTlRFUjpcclxuXHRcdFx0XHR0aGlzLl9zZWxlY3RIaWdobGlnaHRlZCgpO1xyXG5cdFx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgVVBfQVJST1c6XHJcblx0XHRcdFx0dGhpcy5fZGVjckhpZ2hsaWdodCgpO1xyXG5cdFx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgRE9XTl9BUlJPVzpcclxuXHRcdFx0XHR0aGlzLl9pbmNySGlnaGxpZ2h0KCk7XHJcblx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHR9XHJcblx0cHJvdGVjdGVkIF9oaWdobGlnaHRJbmRleCA9IC0xO1xyXG5cdGdldCBoaWdobGlnaHRJbmRleCgpIHsgcmV0dXJuIHRoaXMuX2hpZ2hsaWdodEluZGV4OyB9XHJcblx0c2V0IGhpZ2hsaWdodEluZGV4KGk6IG51bWJlcikge1xyXG5cdFx0dGhpcy5faGlnaGxpZ2h0SW5kZXggPSBpO1xyXG5cdFx0dGhpcy5fYXBwbHlIaWdobGlnaHQodHJ1ZSk7XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfaW5pdEhpZ2hsaWdodCgpIHtcclxuXHRcdHRoaXMuX3N1YnMuYWRkKHRoaXMuX29wdGlvbnMkLnN1YnNjcmliZShvcHRpb25zID0+IHtcclxuXHRcdFx0Y29uc3Qgb3B0aW9uQ291bnQgPSBvcHRpb25zLmxlbmd0aDtcclxuXHRcdFx0Y29uc3QgbmV3SGlnaGxpZ2h0ID0gTWF0aC5tYXgoTWF0aC5taW4odGhpcy5oaWdobGlnaHRJbmRleCwgb3B0aW9uQ291bnQgLSAxKSwgLTEpO1xyXG5cdFx0XHRpZiAobmV3SGlnaGxpZ2h0ICE9PSB0aGlzLmhpZ2hsaWdodEluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5oaWdobGlnaHRJbmRleCA9IG5ld0hpZ2hsaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fSkpO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdHRoaXMuaGlnaGxpZ2h0SW5kZXggPSAtMTtcclxuXHRcdH0sIDEpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2luY3JIaWdobGlnaHQoKSB7XHJcblx0XHRjb25zdCBvcHRpb25Db3VudCA9IHRoaXMuX29wdGlvbnMubGVuZ3RoO1xyXG5cdFx0dGhpcy5oaWdobGlnaHRJbmRleCA9IE1hdGgubWF4KE1hdGgubWluKHRoaXMuaGlnaGxpZ2h0SW5kZXggKyAxLCBvcHRpb25Db3VudCAtIDEpLCAtMSk7XHJcblx0fVxyXG5cdHByb3RlY3RlZCBfZGVjckhpZ2hsaWdodCgpIHtcclxuXHRcdHRoaXMuaGlnaGxpZ2h0SW5kZXggPSBNYXRoLm1heCh0aGlzLmhpZ2hsaWdodEluZGV4IC0gMSwgLTEpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2FwcGx5SGlnaGxpZ2h0KHJlU2Nyb2xsID0gZmFsc2UpIHtcclxuXHRcdGlmICghdGhpcy5pc09wZW4pIHsgcmV0dXJuOyB9XHJcblx0XHQvLyBjb25zdCBoaWdobGlnaHRDbGFzcyA9ICdpcy1oaWdobGlnaHRlZCc7XHJcblx0XHRjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9ucztcclxuXHRcdC8vIHJlbW92ZSBgaXMtaGlnaGxpZ2h0ZWRgIGNsYXNzIGZyb20gYWxsIG90aGVyIG9wdGlvbnNcclxuXHRcdG9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLmhpZ2hsaWdodGVkID0gZmFsc2UpO1xyXG5cdFx0Ly8gYXBwbHkgYGlzLWhpZ2hsaWdodGVkYCB0byBjdXJyZW50IGhpZ2hsaWdodFxyXG5cdFx0Y29uc3QgaGlnaGxpZ2h0ZWRPcHRpb24gPSBvcHRpb25zW3RoaXMuaGlnaGxpZ2h0SW5kZXhdO1xyXG5cdFx0aWYgKCEhaGlnaGxpZ2h0ZWRPcHRpb24pIHtcclxuXHRcdFx0aGlnaGxpZ2h0ZWRPcHRpb24uaGlnaGxpZ2h0ZWQgPSB0cnVlO1xyXG5cdFx0XHQvLyBzY3JvbGwgdG8gbGV0IHRoZSBoaWdobGlnaHRlZCBvcHRpb24gdmlzaWJsZVxyXG5cdFx0XHRpZiAocmVTY3JvbGwpIHtcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuX3Njcm9sbFRvSGlnaGxpZ2h0KGhpZ2hsaWdodGVkT3B0aW9uLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcblx0XHRcdFx0fSwgMSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX3Njcm9sbFRvSGlnaGxpZ2h0KHRhcmdldEVsdDogSFRNTEVsZW1lbnQpIHtcclxuXHRcdGlmICghdGFyZ2V0RWx0KSB7IHJldHVybjsgfVxyXG5cdFx0Y29uc3QgY29udGVudEVsdCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5sdS1waWNrZXItY29udGVudCcpO1xyXG5cdFx0aWYgKCFjb250ZW50RWx0KSB7IHJldHVybjsgfVxyXG5cdFx0Y29uc3QgaGVhZGVyRWx0ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmx1LXBpY2tlci1jb250ZW50IC5sdS1waWNrZXItaGVhZGVyJyk7XHJcblx0XHRjb25zdCBoZWFkZXJIZWlnaHQgPSBoZWFkZXJFbHQgPyBoZWFkZXJFbHQub2Zmc2V0SGVpZ2h0IDogMDtcclxuXHRcdGNvbnN0IGZvb3RlckVsdCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5sdS1waWNrZXItY29udGVudCAubHUtcGlja2VyLWZvb3RlcicpO1xyXG5cdFx0Y29uc3QgZm9vdGVySGVpZ2h0ID0gZm9vdGVyRWx0ID8gZm9vdGVyRWx0Lm9mZnNldEhlaWdodCA6IDA7XHJcblx0XHQvLyBoaWdobGlnaHRlZCBvcHRpb24gaXMgdG9vIGhpZ2hcclxuXHRcdGlmIChjb250ZW50RWx0LnNjcm9sbFRvcCArIGhlYWRlckhlaWdodCA+IHRhcmdldEVsdC5vZmZzZXRUb3ApIHtcclxuXHRcdFx0Y29udGVudEVsdC5zY3JvbGxUb3AgPSB0YXJnZXRFbHQub2Zmc2V0VG9wIC0gaGVhZGVySGVpZ2h0O1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHQvLyBoaWdobGlnaHQgb3B0aW9uIGlzIHRvbyBsb3dcclxuXHRcdGNvbnN0IG9mZnNldEhlaWdodCA9IGNvbnRlbnRFbHQub2Zmc2V0SGVpZ2h0O1xyXG5cdFx0aWYgKGNvbnRlbnRFbHQuc2Nyb2xsVG9wICsgb2Zmc2V0SGVpZ2h0IC0gZm9vdGVySGVpZ2h0IDwgdGFyZ2V0RWx0Lm9mZnNldFRvcCArIHRhcmdldEVsdC5vZmZzZXRIZWlnaHQpIHtcclxuXHRcdFx0Y29udGVudEVsdC5zY3JvbGxUb3AgPSB0YXJnZXRFbHQub2Zmc2V0VG9wICsgdGFyZ2V0RWx0Lm9mZnNldEhlaWdodCAtIG9mZnNldEhlaWdodCArIGZvb3RlckhlaWdodDtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX3NlbGVjdEhpZ2hsaWdodGVkKCkge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgPyB0aGlzLl9vcHRpb25zIDogW107XHJcblx0XHRjb25zdCBoaWdobGlnaHRlZE9wdGlvbiA9IG9wdGlvbnNbdGhpcy5oaWdobGlnaHRJbmRleF07XHJcblx0XHRpZiAoISFoaWdobGlnaHRlZE9wdGlvbikge1xyXG5cdFx0XHR0aGlzLl90b2dnbGUoaGlnaGxpZ2h0ZWRPcHRpb24pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwcm90ZWN0ZWQgX2luaXRTZWxlY3RlZCgpIHtcclxuXHRcdHRoaXMuX3N1YnMuYWRkKHRoaXMuX29wdGlvbnMkLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdHRoaXMuX2FwcGx5U2VsZWN0ZWQoKTtcclxuXHRcdH0pKTtcclxuXHR9XHJcblx0cHJvdGVjdGVkIF9hcHBseVNlbGVjdGVkKCkge1xyXG5cdFx0aWYgKCF0aGlzLl9vcHRpb25zKSB7IHJldHVybjsgfVxyXG5cdFx0Ly8gY29uc3Qgc2VsZWN0ZWRDbGFzcyA9ICdpcy1zZWxlY3RlZCc7XHJcblxyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuX29wdGlvbnM7XHJcblx0XHQvLyByZW1vdmUgYGlzLXNlbGVjdGVkYCBjbGFzcyBmcm9tIGFsbCBvdGhlciBvcHRpb25zXHJcblx0XHRvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IG9wdGlvbi5zZWxlY3RlZCA9IGZhbHNlKTtcclxuXHJcblx0XHQvLyBhZGQgYGlzLXNlbGVjdGVkYCB0byBhbGwgc2VsZWN0ZWQgaW5kZXhlc1xyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRJbmRleGVzOiBudW1iZXJbXSA9IFtdO1xyXG5cdFx0aWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcblx0XHRcdGNvbnN0IHNlbGVjdGVkSW5kZXggPSB0aGlzLl9vcHRpb25zLmZpbmRJbmRleChvID0+IHRoaXMub3B0aW9uQ29tcGFyZXIoby52YWx1ZSwgdGhpcy5fdmFsdWUgYXMgVCkpO1xyXG5cdFx0XHRpZiAoc2VsZWN0ZWRJbmRleCAhPT0gLTEpIHsgc2VsZWN0ZWRJbmRleGVzLnB1c2goc2VsZWN0ZWRJbmRleCk7IH1cclxuXHRcdFx0aWYgKHNlbGVjdGVkSW5kZXggIT09IC0xICYmIHRoaXMuaGlnaGxpZ2h0SW5kZXggPT09IC0xKSB7IHRoaXMuaGlnaGxpZ2h0SW5kZXggPSBzZWxlY3RlZEluZGV4OyB9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCB2YWx1ZXMgPSA8VFtdPnRoaXMuX3ZhbHVlIHx8IFtdO1xyXG5cdFx0XHRjb25zdCBtYXRjaGluZ0luZGV4ZXMgPSB0aGlzLl9vcHRpb25zLm1hcChcclxuXHRcdFx0XHRvID0+IHZhbHVlcy5zb21lKHYgPT4gdGhpcy5vcHRpb25Db21wYXJlcihvLnZhbHVlLCB2KSksXHJcblx0XHRcdCkubWFwKChmLCBpKSA9PiBmID8gaSA6IG51bGwpXHJcblx0XHRcdFx0LmZpbHRlcihpID0+IGkgIT09IG51bGwpO1xyXG5cdFx0XHRzZWxlY3RlZEluZGV4ZXMucHVzaCguLi5tYXRjaGluZ0luZGV4ZXMpO1xyXG5cdFx0XHQvLyBzZWxlY3RlZEluZGV4ZXMucHVzaChcclxuXHRcdFx0Ly8gXHQuLi52YWx1ZXNcclxuXHRcdFx0Ly8gXHQubWFwKHYgPT4gdGhpcy5fb3B0aW9ucy5maW5kSW5kZXgobyA9PiB0aGlzLm9wdGlvbkNvbXBhcmVyKG8udmFsdWUsIHYpKSlcclxuXHRcdFx0Ly8gXHQuZmlsdGVyKGkgPT4gaSAhPT0gLTEpXHJcblx0XHRcdC8vICk7XHJcblx0XHR9XHJcblx0XHRzZWxlY3RlZEluZGV4ZXMuZm9yRWFjaChpID0+IHtcclxuXHRcdFx0Y29uc3Qgb3B0aW9uID0gb3B0aW9uc1tpXTtcclxuXHRcdFx0aWYgKCEhb3B0aW9uKSB7XHJcblx0XHRcdFx0b3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgaW5pdEl0ZW1zKCkge1xyXG5cclxuXHRcdGNvbnN0IGl0ZW1zJCA9IG1lcmdlKG9mKHRoaXMuX29wdGlvbnNRTCksIHRoaXMuX29wdGlvbnNRTC5jaGFuZ2VzKVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXA8UXVlcnlMaXN0PE8+LCBPW10+KHEgPT4gcS50b0FycmF5KCkpLFxyXG5cdFx0XHRcdGRlbGF5KDApLFxyXG5cdFx0XHRcdHNoYXJlKCksXHJcblx0XHRcdCk7XHJcblx0XHRpdGVtcyQuc3Vic2NyaWJlKG8gPT4gdGhpcy5fb3B0aW9ucyA9IG8gfHwgW10pO1xyXG5cdFx0dGhpcy5fb3B0aW9ucyQgPSBpdGVtcyQ7XHJcblx0XHR0aGlzLl9pbml0SGlnaGxpZ2h0KCk7XHJcblx0XHR0aGlzLl9pbml0U2VsZWN0ZWQoKTtcclxuXHR9XHJcblx0bmdBZnRlclZpZXdJbml0KCkge1xyXG5cdFx0dGhpcy5pbml0SXRlbXMoKTtcclxuXHR9XHJcbn1cclxuLyoqXHJcbiogYmFzaWMgb3B0aW9uIHBpY2tlciBwYW5lbFxyXG4qL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2x1LW9wdGlvbi1waWNrZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9vcHRpb24tcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9vcHRpb24tcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0YW5pbWF0aW9uczogW2x1VHJhbnNmb3JtUG9wb3Zlcl0sXHJcblx0ZXhwb3J0QXM6ICdMdU9wdGlvblBpY2tlcicsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IEFMdVBpY2tlclBhbmVsLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMdU9wdGlvblBpY2tlckNvbXBvbmVudCksXHJcblx0XHR9LFxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEx1T3B0aW9uUGlja2VyQ29tcG9uZW50PFQsIE8gZXh0ZW5kcyBpbXBvcnQoJy4uL2l0ZW0vb3B0aW9uLWl0ZW0ubW9kZWwnKS5JTHVPcHRpb25JdGVtPFQ+ID0gaW1wb3J0KCcuLi9pdGVtL29wdGlvbi1pdGVtLm1vZGVsJykuSUx1T3B0aW9uSXRlbTxUPj4gZXh0ZW5kcyBBTHVPcHRpb25QaWNrZXJDb21wb25lbnQ8VCwgTz4ge1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0X2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBEb2N1bWVudCxcclxuXHQpIHtcclxuXHRcdHN1cGVyKF9jaGFuZ2VEZXRlY3RvclJlZiwgZG9jdW1lbnQpO1xyXG5cdH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGU+XHJcblx0PGRpdiBjbGFzcz1cImx1LXBpY2tlci1wYW5lbCBsdS1vcHRpb24tcGlja2VyLXBhbmVsXCIgcm9sZT1cImRpYWxvZ1wiIFtuZ0NsYXNzXT1cInBhbmVsQ2xhc3Nlc01hcFwiIFtjbGFzcy5tb2QtbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG5cdChjbGljayk9XCJvbkNsaWNrKClcIiAobW91c2VvdmVyKT1cIm9uTW91c2VPdmVyKClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImx1LXBpY2tlci1jb250ZW50XCIgW25nQ2xhc3NdPVwiY29udGVudENsYXNzZXNNYXBcIiBbY2RrVHJhcEZvY3VzXT1cInRyYXBGb2N1c1wiPlxyXG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19